123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377 |
- ! 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) {
- var e = {},
- n = {},
- i = t.match(/Firefox\/([\d.]+)/),
- r = t.match(/MSIE\s([\d.]+)/) || t.match(/Trident\/.+?rv:(([\d.]+))/),
- o = t.match(/Edge\/([\d.]+)/),
- a = /micromessenger/i.test(t);
- return i && (n.firefox = !0, n.version = i[1]), r && (n.ie = !0, n.version = r[1]), o && (n.edge = !0, n
- .version = o[1]), a && (n.weChat = !0), {
- browser: n,
- os: e,
- node: !1,
- canvasSupported: !!document.createElement("canvas").getContext,
- svgSupported: "undefined" != typeof SVGRect,
- touchEventsSupported: "ontouchstart" in window && !n.ie && !n.edge,
- pointerEventsSupported: "onpointerdown" in window && (n.edge || n.ie && n.version >= 11),
- domSupported: "undefined" != typeof document
- }
- }
- function n(t, e) {
- "createCanvas" === t && (Mp = null), bp[t] = e
- }
- function i(t) {
- if (null == t || "object" != typeof t) return t;
- var e = t,
- n = gp.call(t);
- if ("[object Array]" === n) {
- if (!B(t)) {
- e = [];
- for (var r = 0, o = t.length; o > r; r++) e[r] = i(t[r])
- }
- } else if (pp[n]) {
- if (!B(t)) {
- var a = t.constructor;
- if (t.constructor.from) e = a.from(t);
- else {
- e = new a(t.length);
- for (var r = 0, o = t.length; o > r; r++) e[r] = i(t[r])
- }
- }
- } else if (!fp[n] && !B(t) && !C(t)) {
- e = {};
- for (var s in t) t.hasOwnProperty(s) && (e[s] = i(t[s]))
- }
- return e
- }
- function r(t, e, n) {
- if (!S(e) || !S(t)) return n ? i(e) : t;
- for (var o in e)
- if (e.hasOwnProperty(o)) {
- var a = t[o],
- s = e[o];
- !S(s) || !S(a) || _(s) || _(a) || C(s) || C(a) || M(s) || M(a) || B(s) || B(a) ? !n && o in t || (t[
- o] = i(e[o], !0)) : r(a, s, n)
- } return t
- }
- function o(t, e) {
- for (var n = t[0], i = 1, o = t.length; o > i; i++) n = r(n, t[i], e);
- return n
- }
- function a(t, e) {
- for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]);
- return t
- }
- function s(t, e, n) {
- for (var i in e) e.hasOwnProperty(i) && (n ? null != e[i] : null == t[i]) && (t[i] = e[i]);
- return t
- }
- function l() {
- return Mp || (Mp = Sp().getContext("2d")), Mp
- }
- function u(t, e) {
- if (t) {
- if (t.indexOf) return t.indexOf(e);
- for (var n = 0, i = t.length; i > n; n++)
- if (t[n] === e) return n
- }
- return -1
- }
- function h(t, e) {
- function n() {}
- var i = t.prototype;
- n.prototype = e.prototype, t.prototype = new n;
- for (var r in i) i.hasOwnProperty(r) && (t.prototype[r] = i[r]);
- t.prototype.constructor = t, t.superClass = e
- }
- function c(t, e, n) {
- t = "prototype" in t ? t.prototype : t, e = "prototype" in e ? e.prototype : e, s(t, e, n)
- }
- function d(t) {
- return t ? "string" == typeof t ? !1 : "number" == typeof t.length : void 0
- }
- function f(t, e, n) {
- if (t && e)
- if (t.forEach && t.forEach === mp) t.forEach(e, n);
- else if (t.length === +t.length)
- for (var i = 0, r = t.length; r > i; i++) e.call(n, t[i], i, t);
- else
- for (var o in t) t.hasOwnProperty(o) && e.call(n, t[o], o, t)
- }
- function p(t, e, n) {
- if (t && e) {
- if (t.map && t.map === _p) return t.map(e, n);
- for (var i = [], r = 0, o = t.length; o > r; r++) i.push(e.call(n, t[r], r, t));
- return i
- }
- }
- function g(t, e, n, i) {
- if (t && e) {
- if (t.reduce && t.reduce === wp) return t.reduce(e, n, i);
- for (var r = 0, o = t.length; o > r; r++) n = e.call(i, n, t[r], r, t);
- return n
- }
- }
- function v(t, e, n) {
- if (t && e) {
- if (t.filter && t.filter === yp) return t.filter(e, n);
- for (var i = [], r = 0, o = t.length; o > r; r++) e.call(n, t[r], r, t) && i.push(t[r]);
- return i
- }
- }
- function m(t, e, n) {
- if (t && e)
- for (var i = 0, r = t.length; r > i; i++)
- if (e.call(n, t[i], i, t)) return t[i]
- }
- function y(t, e) {
- var n = xp.call(arguments, 2);
- return function() {
- return t.apply(e, n.concat(xp.call(arguments)))
- }
- }
- function x(t) {
- var e = xp.call(arguments, 1);
- return function() {
- return t.apply(this, e.concat(xp.call(arguments)))
- }
- }
- function _(t) {
- return "[object Array]" === gp.call(t)
- }
- function w(t) {
- return "function" == typeof t
- }
- function b(t) {
- return "[object String]" === gp.call(t)
- }
- function S(t) {
- var e = typeof t;
- return "function" === e || !!t && "object" === e
- }
- function M(t) {
- return !!fp[gp.call(t)]
- }
- function I(t) {
- return !!pp[gp.call(t)]
- }
- function C(t) {
- return "object" == typeof t && "number" == typeof t.nodeType && "object" == typeof t.ownerDocument
- }
- function T(t) {
- return t !== t
- }
- function A() {
- for (var t = 0, e = arguments.length; e > t; t++)
- if (null != arguments[t]) return arguments[t]
- }
- function D(t, e) {
- return null != t ? t : e
- }
- function k(t, e, n) {
- return null != t ? t : null != e ? e : n
- }
- function P() {
- return Function.call.apply(xp, arguments)
- }
- function O(t) {
- if ("number" == typeof t) return [t, t, t, t];
- var e = t.length;
- return 2 === e ? [t[0], t[1], t[0], t[1]] : 3 === e ? [t[0], t[1], t[2], t[1]] : t
- }
- function L(t, e) {
- if (!t) throw new Error(e)
- }
- function z(t) {
- return null == t ? null : "function" == typeof t.trim ? t.trim() : t.replace(
- /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")
- }
- function E(t) {
- t[Ip] = !0
- }
- function B(t) {
- return t[Ip]
- }
- function R(t) {
- function e(t, e) {
- n ? i.set(t, e) : i.set(e, t)
- }
- var n = _(t);
- this.data = {};
- var i = this;
- t instanceof R ? t.each(e) : t && f(t, e)
- }
- function N(t) {
- return new R(t)
- }
- function F(t, e) {
- for (var n = new t.constructor(t.length + e.length), i = 0; i < t.length; i++) n[i] = t[i];
- var r = t.length;
- for (i = 0; i < e.length; i++) n[i + r] = e[i];
- return n
- }
- function V() {}
- function W(t, e) {
- var n = new Tp(2);
- return null == t && (t = 0), null == e && (e = 0), n[0] = t, n[1] = e, n
- }
- function H(t, e) {
- return t[0] = e[0], t[1] = e[1], t
- }
- function G(t) {
- var e = new Tp(2);
- return e[0] = t[0], e[1] = t[1], e
- }
- function Z(t, e, n) {
- return t[0] = e, t[1] = n, t
- }
- function X(t, e, n) {
- return t[0] = e[0] + n[0], t[1] = e[1] + n[1], t
- }
- function Y(t, e, n, i) {
- return t[0] = e[0] + n[0] * i, t[1] = e[1] + n[1] * i, t
- }
- function U(t, e, n) {
- return t[0] = e[0] - n[0], t[1] = e[1] - n[1], t
- }
- function j(t) {
- return Math.sqrt(q(t))
- }
- function q(t) {
- return t[0] * t[0] + t[1] * t[1]
- }
- function K(t, e, n) {
- return t[0] = e[0] * n[0], t[1] = e[1] * n[1], t
- }
- function $(t, e, n) {
- return t[0] = e[0] / n[0], t[1] = e[1] / n[1], t
- }
- function Q(t, e) {
- return t[0] * e[0] + t[1] * e[1]
- }
- function J(t, e, n) {
- return t[0] = e[0] * n, t[1] = e[1] * n, t
- }
- function te(t, e) {
- var n = j(e);
- return 0 === n ? (t[0] = 0, t[1] = 0) : (t[0] = e[0] / n, t[1] = e[1] / n), t
- }
- function ee(t, e) {
- return Math.sqrt((t[0] - e[0]) * (t[0] - e[0]) + (t[1] - e[1]) * (t[1] - e[1]))
- }
- function ne(t, e) {
- return (t[0] - e[0]) * (t[0] - e[0]) + (t[1] - e[1]) * (t[1] - e[1])
- }
- function ie(t, e) {
- return t[0] = -e[0], t[1] = -e[1], t
- }
- function re(t, e, n, i) {
- return t[0] = e[0] + i * (n[0] - e[0]), t[1] = e[1] + i * (n[1] - e[1]), t
- }
- function oe(t, e, n) {
- var i = e[0],
- r = e[1];
- return t[0] = n[0] * i + n[2] * r + n[4], t[1] = n[1] * i + n[3] * r + n[5], t
- }
- function ae(t, e, n) {
- return t[0] = Math.min(e[0], n[0]), t[1] = Math.min(e[1], n[1]), t
- }
- function se(t, e, n) {
- return t[0] = Math.max(e[0], n[0]), t[1] = Math.max(e[1], n[1]), t
- }
- function le() {
- this.on("mousedown", this._dragStart, this), this.on("mousemove", this._drag, this), this.on("mouseup", this
- ._dragEnd, this)
- }
- function ue(t, e) {
- return {
- target: t,
- topTarget: e && e.topTarget
- }
- }
- function he(t, e) {
- var n = t._$eventProcessor;
- return null != e && n && n.normalizeQuery && (e = n.normalizeQuery(e)), e
- }
- function ce(t, e, n, i, r, o) {
- var a = t._$handlers;
- if ("function" == typeof n && (r = i, i = n, n = null), !i || !e) return t;
- n = he(t, n), a[e] || (a[e] = []);
- for (var s = 0; s < a[e].length; s++)
- if (a[e][s].h === i) return t;
- var l = {
- h: i,
- one: o,
- query: n,
- ctx: r || t,
- callAtLast: i.zrEventfulCallAtLast
- },
- u = a[e].length - 1,
- h = a[e][u];
- return h && h.callAtLast ? a[e].splice(u, 0, l) : a[e].push(l), t
- }
- function de(t, e, n, i, r, o) {
- var a = i + "-" + r,
- s = t.length;
- if (o.hasOwnProperty(a)) return o[a];
- if (1 === e) {
- var l = Math.round(Math.log((1 << s) - 1 & ~r) / Ep);
- return t[n][l]
- }
- for (var u = i | 1 << n, h = n + 1; i & 1 << h;) h++;
- for (var c = 0, d = 0, f = 0; s > d; d++) {
- var p = 1 << d;
- p & r || (c += (f % 2 ? -1 : 1) * t[n][d] * de(t, e - 1, h, u, r | p, o), f++)
- }
- return o[a] = c, c
- }
- function fe(t, e) {
- var n = [
- [t[0], t[1], 1, 0, 0, 0, -e[0] * t[0], -e[0] * t[1]],
- [0, 0, 0, t[0], t[1], 1, -e[1] * t[0], -e[1] * t[1]],
- [t[2], t[3], 1, 0, 0, 0, -e[2] * t[2], -e[2] * t[3]],
- [0, 0, 0, t[2], t[3], 1, -e[3] * t[2], -e[3] * t[3]],
- [t[4], t[5], 1, 0, 0, 0, -e[4] * t[4], -e[4] * t[5]],
- [0, 0, 0, t[4], t[5], 1, -e[5] * t[4], -e[5] * t[5]],
- [t[6], t[7], 1, 0, 0, 0, -e[6] * t[6], -e[6] * t[7]],
- [0, 0, 0, t[6], t[7], 1, -e[7] * t[6], -e[7] * t[7]]
- ],
- i = {},
- r = de(n, 8, 0, 0, 0, i);
- if (0 !== r) {
- for (var o = [], a = 0; 8 > a; a++)
- for (var s = 0; 8 > s; s++) null == o[s] && (o[s] = 0), o[s] += ((a + s) % 2 ? -1 : 1) * de(n, 7,
- 0 === a ? 1 : 0, 1 << a, 1 << s, i) / r * e[a];
- return function(t, e, n) {
- var i = e * o[6] + n * o[7] + 1;
- t[0] = (e * o[0] + n * o[1] + o[2]) / i, t[1] = (e * o[3] + n * o[4] + o[5]) / i
- }
- }
- }
- function pe(t, e, n, i, r) {
- return ge(Rp, e, i, r, !0) && ge(t, n, Rp[0], Rp[1])
- }
- function ge(t, e, n, i, r) {
- if (e.getBoundingClientRect && dp.domSupported && !ye(e)) {
- var o = e[Bp] || (e[Bp] = {}),
- a = ve(e, o),
- s = me(a, o, r);
- if (s) return s(t, n, i), !0
- }
- return !1
- }
- function ve(t, e) {
- var n = e.markers;
- if (n) return n;
- n = e.markers = [];
- for (var i = ["left", "right"], r = ["top", "bottom"], o = 0; 4 > o; o++) {
- var a = document.createElement("div"),
- s = a.style,
- l = o % 2,
- u = (o >> 1) % 2;
- s.cssText = ["position: absolute", "visibility: hidden", "padding: 0", "margin: 0", "border-width: 0",
- "user-select: none", "width:0", "height:0", i[l] + ":0", r[u] + ":0", i[1 - l] + ":auto", r[1 -
- u] + ":auto", ""
- ].join("!important;"), t.appendChild(a), n.push(a)
- }
- return n
- }
- function me(t, e, n) {
- for (var i = n ? "invTrans" : "trans", r = e[i], o = e.srcCoords, a = !0, s = [], l = [], u = 0; 4 >
- u; u++) {
- var h = t[u].getBoundingClientRect(),
- c = 2 * u,
- d = h.left,
- f = h.top;
- s.push(d, f), a = a && o && d === o[c] && f === o[c + 1], l.push(t[u].offsetLeft, t[u].offsetTop)
- }
- return a && r ? r : (e.srcCoords = s, e[i] = n ? fe(l, s) : fe(s, l))
- }
- function ye(t) {
- return "CANVAS" === t.nodeName.toUpperCase()
- }
- function xe(t, e, n, i) {
- return n = n || {}, i || !dp.canvasSupported ? _e(t, e, n) : dp.browser.firefox && null != e.layerX && e
- .layerX !== e.offsetX ? (n.zrX = e.layerX, n.zrY = e.layerY) : null != e.offsetX ? (n.zrX = e.offsetX, n
- .zrY = e.offsetY) : _e(t, e, n), n
- }
- function _e(t, e, n) {
- if (dp.domSupported && t.getBoundingClientRect) {
- var i = e.clientX,
- r = e.clientY;
- if (ye(t)) {
- var o = t.getBoundingClientRect();
- return n.zrX = i - o.left, void(n.zrY = r - o.top)
- }
- if (ge(Vp, t, i, r)) return n.zrX = Vp[0], void(n.zrY = Vp[1])
- }
- n.zrX = n.zrY = 0
- }
- function we(t) {
- return t || window.event
- }
- function be(t, e, n) {
- if (e = we(e), null != e.zrX) return e;
- var i = e.type,
- r = i && i.indexOf("touch") >= 0;
- if (r) {
- var o = "touchend" !== i ? e.targetTouches[0] : e.changedTouches[0];
- o && xe(t, o, e, n)
- } else xe(t, e, e, n), e.zrDelta = e.wheelDelta ? e.wheelDelta / 120 : -(e.detail || 0) / 3;
- var a = e.button;
- return null == e.which && void 0 !== a && Fp.test(e.type) && (e.which = 1 & a ? 1 : 2 & a ? 3 : 4 & a ? 2 :
- 0), e
- }
- function Se(t, e, n, i) {
- Np ? t.addEventListener(e, n, i) : t.attachEvent("on" + e, n)
- }
- function Me(t, e, n, i) {
- Np ? t.removeEventListener(e, n, i) : t.detachEvent("on" + e, n)
- }
- function Ie(t) {
- return 2 === t.which || 3 === t.which
- }
- function Ce(t) {
- var e = t[1][0] - t[0][0],
- n = t[1][1] - t[0][1];
- return Math.sqrt(e * e + n * n)
- }
- function Te(t) {
- return [(t[0][0] + t[1][0]) / 2, (t[0][1] + t[1][1]) / 2]
- }
- function Ae(t, e, n) {
- return {
- type: t,
- event: n,
- target: e.target,
- topTarget: e.topTarget,
- cancelBubble: !1,
- offsetX: n.zrX,
- offsetY: n.zrY,
- gestureEvent: n.gestureEvent,
- pinchX: n.pinchX,
- pinchY: n.pinchY,
- pinchScale: n.pinchScale,
- wheelDelta: n.zrDelta,
- zrByTouch: n.zrByTouch,
- which: n.which,
- stop: De
- }
- }
- function De() {
- Wp(this.event)
- }
- function ke() {}
- function Pe(t, e, n) {
- if (t[t.rectHover ? "rectContain" : "contain"](e, n)) {
- for (var i, r = t; r;) {
- if (r.clipPath && !r.clipPath.contain(e, n)) return !1;
- r.silent && (i = !0), r = r.parent
- }
- return i ? Zp : !0
- }
- return !1
- }
- function Oe(t, e, n) {
- var i = t.painter;
- return 0 > e || e > i.getWidth() || 0 > n || n > i.getHeight()
- }
- function Le() {
- var t = new Up(6);
- return ze(t), t
- }
- function ze(t) {
- return t[0] = 1, t[1] = 0, t[2] = 0, t[3] = 1, t[4] = 0, t[5] = 0, t
- }
- function Ee(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 Be(t, e, n) {
- var i = e[0] * n[0] + e[2] * n[1],
- r = e[1] * n[0] + e[3] * n[1],
- o = e[0] * n[2] + e[2] * n[3],
- a = e[1] * n[2] + e[3] * n[3],
- s = e[0] * n[4] + e[2] * n[5] + e[4],
- l = e[1] * n[4] + e[3] * n[5] + e[5];
- return t[0] = i, t[1] = r, t[2] = o, t[3] = a, t[4] = s, t[5] = l, t
- }
- function Re(t, e, n) {
- return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4] + n[0], t[5] = e[5] + n[1], t
- }
- function Ne(t, e, n) {
- var i = e[0],
- r = e[2],
- o = e[4],
- a = e[1],
- s = e[3],
- l = e[5],
- u = Math.sin(n),
- h = Math.cos(n);
- return t[0] = i * h + a * u, t[1] = -i * u + a * h, t[2] = r * h + s * u, t[3] = -r * u + h * s, t[4] = h *
- o + u * l, t[5] = h * l - u * o, t
- }
- function Fe(t, e, n) {
- var i = n[0],
- r = n[1];
- return t[0] = e[0] * i, t[1] = e[1] * r, t[2] = e[2] * i, t[3] = e[3] * r, t[4] = e[4] * i, t[5] = e[5] * r,
- t
- }
- function Ve(t, e) {
- var n = e[0],
- i = e[2],
- r = e[4],
- o = e[1],
- a = e[3],
- s = e[5],
- l = n * a - o * i;
- return l ? (l = 1 / l, t[0] = a * l, t[1] = -o * l, t[2] = -i * l, t[3] = n * l, t[4] = (i * s - a * r) * l,
- t[5] = (o * r - n * s) * l, t) : null
- }
- function We(t) {
- var e = Le();
- return Ee(e, t), e
- }
- function He(t) {
- return t > Kp || -Kp > t
- }
- function Ge(t) {
- this._target = t.target, this._life = t.life || 1e3, this._delay = t.delay || 0, this._initialized = !1,
- this.loop = null == t.loop ? !1 : 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 Ze(t) {
- return t = Math.round(t), 0 > t ? 0 : t > 255 ? 255 : t
- }
- function Xe(t) {
- return t = Math.round(t), 0 > t ? 0 : t > 360 ? 360 : t
- }
- function Ye(t) {
- return 0 > t ? 0 : t > 1 ? 1 : t
- }
- function Ue(t) {
- return Ze(t.length && "%" === t.charAt(t.length - 1) ? parseFloat(t) / 100 * 255 : parseInt(t, 10))
- }
- function je(t) {
- return Ye(t.length && "%" === t.charAt(t.length - 1) ? parseFloat(t) / 100 : parseFloat(t))
- }
- function qe(t, e, n) {
- return 0 > n ? n += 1 : n > 1 && (n -= 1), 1 > 6 * n ? t + (e - t) * n * 6 : 1 > 2 * n ? e : 2 > 3 * n ? t +
- (e - t) * (2 / 3 - n) * 6 : t
- }
- function Ke(t, e, n) {
- return t + (e - t) * n
- }
- function $e(t, e, n, i, r) {
- return t[0] = e, t[1] = n, t[2] = i, t[3] = r, t
- }
- function Qe(t, e) {
- return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t
- }
- function Je(t, e) {
- hg && Qe(hg, e), hg = ug.put(t, hg || e.slice())
- }
- function tn(t, e) {
- if (t) {
- e = e || [];
- var n = ug.get(t);
- if (n) return Qe(e, n);
- t += "";
- var i = t.replace(/ /g, "").toLowerCase();
- if (i in lg) return Qe(e, lg[i]), Je(t, e), e;
- if ("#" !== i.charAt(0)) {
- var r = i.indexOf("("),
- o = i.indexOf(")");
- if (-1 !== r && o + 1 === i.length) {
- var a = i.substr(0, r),
- s = i.substr(r + 1, o - (r + 1)).split(","),
- l = 1;
- switch (a) {
- case "rgba":
- if (4 !== s.length) return void $e(e, 0, 0, 0, 1);
- l = je(s.pop());
- case "rgb":
- return 3 !== s.length ? void $e(e, 0, 0, 0, 1) : ($e(e, Ue(s[0]), Ue(s[1]), Ue(s[2]),
- l), Je(t, e), e);
- case "hsla":
- return 4 !== s.length ? void $e(e, 0, 0, 0, 1) : (s[3] = je(s[3]), en(s, e), Je(t, e),
- e);
- case "hsl":
- return 3 !== s.length ? void $e(e, 0, 0, 0, 1) : (en(s, e), Je(t, e), e);
- default:
- return
- }
- }
- $e(e, 0, 0, 0, 1)
- } else {
- if (4 === i.length) {
- var u = parseInt(i.substr(1), 16);
- return u >= 0 && 4095 >= u ? ($e(e, (3840 & u) >> 4 | (3840 & u) >> 8, 240 & u | (240 & u) >> 4,
- 15 & u | (15 & u) << 4, 1), Je(t, e), e) : void $e(e, 0, 0, 0, 1)
- }
- if (7 === i.length) {
- var u = parseInt(i.substr(1), 16);
- return u >= 0 && 16777215 >= u ? ($e(e, (16711680 & u) >> 16, (65280 & u) >> 8, 255 & u, 1), Je(
- t, e), e) : void $e(e, 0, 0, 0, 1)
- }
- }
- }
- }
- function en(t, e) {
- var n = (parseFloat(t[0]) % 360 + 360) % 360 / 360,
- i = je(t[1]),
- r = je(t[2]),
- o = .5 >= r ? r * (i + 1) : r + i - r * i,
- a = 2 * r - o;
- return e = e || [], $e(e, Ze(255 * qe(a, o, n + 1 / 3)), Ze(255 * qe(a, o, n)), Ze(255 * qe(a, o, n - 1 /
- 3)), 1), 4 === t.length && (e[3] = t[3]), e
- }
- function nn(t) {
- if (t) {
- var e, n, i = t[0] / 255,
- r = t[1] / 255,
- o = t[2] / 255,
- a = Math.min(i, r, o),
- s = Math.max(i, r, o),
- l = s - a,
- u = (s + a) / 2;
- if (0 === l) e = 0, n = 0;
- else {
- n = .5 > u ? l / (s + a) : l / (2 - s - a);
- var h = ((s - i) / 6 + l / 2) / l,
- c = ((s - r) / 6 + l / 2) / l,
- d = ((s - o) / 6 + l / 2) / l;
- i === s ? e = d - c : r === s ? e = 1 / 3 + h - d : o === s && (e = 2 / 3 + c - h), 0 > e && (e +=
- 1), e > 1 && (e -= 1)
- }
- var f = [360 * e, n, u];
- return null != t[3] && f.push(t[3]), f
- }
- }
- function rn(t, e) {
- var n = tn(t);
- if (n) {
- for (var i = 0; 3 > i; i++) n[i] = 0 > e ? n[i] * (1 - e) | 0 : (255 - n[i]) * e + n[i] | 0, n[i] >
- 255 ? n[i] = 255 : t[i] < 0 && (n[i] = 0);
- return hn(n, 4 === n.length ? "rgba" : "rgb")
- }
- }
- function on(t) {
- var e = tn(t);
- return e ? ((1 << 24) + (e[0] << 16) + (e[1] << 8) + +e[2]).toString(16).slice(1) : void 0
- }
- function an(t, e, n) {
- if (e && e.length && t >= 0 && 1 >= t) {
- n = n || [];
- var i = t * (e.length - 1),
- r = Math.floor(i),
- o = Math.ceil(i),
- a = e[r],
- s = e[o],
- l = i - r;
- return n[0] = Ze(Ke(a[0], s[0], l)), n[1] = Ze(Ke(a[1], s[1], l)), n[2] = Ze(Ke(a[2], s[2], l)), n[3] =
- Ye(Ke(a[3], s[3], l)), n
- }
- }
- function sn(t, e, n) {
- if (e && e.length && t >= 0 && 1 >= t) {
- var i = t * (e.length - 1),
- r = Math.floor(i),
- o = Math.ceil(i),
- a = tn(e[r]),
- s = tn(e[o]),
- l = i - r,
- u = hn([Ze(Ke(a[0], s[0], l)), Ze(Ke(a[1], s[1], l)), Ze(Ke(a[2], s[2], l)), Ye(Ke(a[3], s[3], l))],
- "rgba");
- return n ? {
- color: u,
- leftIndex: r,
- rightIndex: o,
- value: i
- } : u
- }
- }
- function ln(t, e, n, i) {
- return t = tn(t), t ? (t = nn(t), null != e && (t[0] = Xe(e)), null != n && (t[1] = je(n)), null != i && (t[
- 2] = je(i)), hn(en(t), "rgba")) : void 0
- }
- function un(t, e) {
- return t = tn(t), t && null != e ? (t[3] = Ye(e), hn(t, "rgba")) : void 0
- }
- function hn(t, e) {
- if (t && t.length) {
- var n = t[0] + "," + t[1] + "," + t[2];
- return ("rgba" === e || "hsva" === e || "hsla" === e) && (n += "," + t[3]), e + "(" + n + ")"
- }
- }
- function cn(t, e) {
- return t[e]
- }
- function dn(t, e, n) {
- t[e] = n
- }
- function fn(t, e, n) {
- return (e - t) * n + t
- }
- function pn(t, e, n) {
- return n > .5 ? e : t
- }
- function gn(t, e, n, i, r) {
- var o = t.length;
- if (1 === r)
- for (var a = 0; o > a; a++) i[a] = fn(t[a], e[a], n);
- else
- for (var s = o && t[0].length, a = 0; o > a; a++)
- for (var l = 0; s > l; l++) i[a][l] = fn(t[a][l], e[a][l], n)
- }
- function vn(t, e, n) {
- var i = t.length,
- r = e.length;
- if (i !== r) {
- var o = i > r;
- if (o) t.length = r;
- else
- for (var a = i; r > a; a++) t.push(1 === n ? e[a] : pg.call(e[a]))
- }
- for (var s = t[0] && t[0].length, a = 0; a < t.length; a++)
- if (1 === n) isNaN(t[a]) && (t[a] = e[a]);
- else
- for (var l = 0; s > l; l++) isNaN(t[a][l]) && (t[a][l] = e[a][l])
- }
- function mn(t, e, n) {
- if (t === e) return !0;
- var i = t.length;
- if (i !== e.length) return !1;
- if (1 === n) {
- for (var r = 0; i > r; r++)
- if (t[r] !== e[r]) return !1
- } else
- for (var o = t[0].length, r = 0; i > r; r++)
- for (var a = 0; o > a; a++)
- if (t[r][a] !== e[r][a]) return !1;
- return !0
- }
- function yn(t, e, n, i, r, o, a, s, l) {
- var u = t.length;
- if (1 === l)
- for (var h = 0; u > h; h++) s[h] = xn(t[h], e[h], n[h], i[h], r, o, a);
- else
- for (var c = t[0].length, h = 0; u > h; h++)
- for (var d = 0; c > d; d++) s[h][d] = xn(t[h][d], e[h][d], n[h][d], i[h][d], r, o, a)
- }
- function xn(t, e, n, i, r, o, a) {
- var s = .5 * (n - t),
- l = .5 * (i - e);
- return (2 * (e - n) + s + l) * a + (-3 * (e - n) - 2 * s - l) * o + s * r + e
- }
- function _n(t) {
- if (d(t)) {
- var e = t.length;
- if (d(t[0])) {
- for (var n = [], i = 0; e > i; i++) n.push(pg.call(t[i]));
- return n
- }
- return pg.call(t)
- }
- return t
- }
- function wn(t) {
- return t[0] = Math.floor(t[0]), t[1] = Math.floor(t[1]), t[2] = Math.floor(t[2]), "rgba(" + t.join(",") +
- ")"
- }
- function bn(t) {
- var e = t[t.length - 1].value;
- return d(e && e[0]) ? 2 : 1
- }
- function Sn(t, e, n, i, r, o) {
- var a = t._getter,
- s = t._setter,
- l = "spline" === e,
- u = i.length;
- if (u) {
- var h, c = i[0].value,
- f = d(c),
- p = !1,
- g = !1,
- v = f ? bn(i) : 0;
- i.sort(function(t, e) {
- return t.time - e.time
- }), h = i[u - 1].time;
- for (var m = [], y = [], x = i[0].value, _ = !0, w = 0; u > w; w++) {
- m.push(i[w].time / h);
- var b = i[w].value;
- if (f && mn(b, x, v) || !f && b === x || (_ = !1), x = b, "string" == typeof b) {
- var S = tn(b);
- S ? (b = S, p = !0) : g = !0
- }
- y.push(b)
- }
- if (o || !_) {
- for (var M = y[u - 1], w = 0; u - 1 > w; w++) f ? vn(y[w], M, v) : !isNaN(y[w]) || isNaN(M) || g ||
- p || (y[w] = M);
- f && vn(a(t._target, r), M, v);
- var I, C, T, A, D, k, P = 0,
- O = 0;
- if (p) var L = [0, 0, 0, 0];
- var z = function(t, e) {
- var n;
- if (0 > e) n = 0;
- else if (O > e) {
- for (I = Math.min(P + 1, u - 1), n = I; n >= 0 && !(m[n] <= e); n--);
- n = Math.min(n, u - 2)
- } else {
- for (n = P; u > n && !(m[n] > e); n++);
- n = Math.min(n - 1, u - 2)
- }
- P = n, O = e;
- var i = m[n + 1] - m[n];
- if (0 !== i)
- if (C = (e - m[n]) / i, l)
- if (A = y[n], T = y[0 === n ? n : n - 1], D = y[n > u - 2 ? u - 1 : n + 1], k = y[
- n > u - 3 ? u - 1 : n + 2], f) yn(T, A, D, k, C, C * C, C * C * C, a(t, r),
- v);
- else {
- var o;
- if (p) o = yn(T, A, D, k, C, C * C, C * C * C, L, 1), o = wn(L);
- else {
- if (g) return pn(A, D, C);
- o = xn(T, A, D, k, C, C * C, C * C * C)
- }
- s(t, r, o)
- }
- else if (f) gn(y[n], y[n + 1], C, a(t, r), v);
- else {
- var o;
- if (p) gn(y[n], y[n + 1], C, L, 1), o = wn(L);
- else {
- if (g) return pn(y[n], y[n + 1], C);
- o = fn(y[n], y[n + 1], C)
- }
- s(t, r, o)
- }
- },
- E = new Ge({
- target: t._target,
- life: h,
- loop: t._loop,
- delay: t._delay,
- onframe: z,
- ondestroy: n
- });
- return e && "spline" !== e && (E.easing = e), E
- }
- }
- }
- function Mn(t, e, n, i, r, o, a, s) {
- function l() {
- h--, h || o && o()
- }
- b(i) ? (o = r, r = i, i = 0) : w(r) ? (o = r, r = "linear", i = 0) : w(i) ? (o = i, i = 0) : w(n) ? (o = n,
- n = 500) : n || (n = 500), t.stopAnimation(), In(t, "", t, e, n, i, s);
- var u = t.animators.slice(),
- h = u.length;
- h || o && o();
- for (var c = 0; c < u.length; c++) u[c].done(l).start(r, a)
- }
- function In(t, e, n, i, r, o, a) {
- var s = {},
- l = 0;
- for (var u in i) i.hasOwnProperty(u) && (null != n[u] ? S(i[u]) && !d(i[u]) ? In(t, e ? e + "." + u : u, n[
- u], i[u], r, o, a) : (a ? (s[u] = n[u], Cn(t, e, u, i[u])) : s[u] = i[u], l++) : null == i[u] ||
- a || Cn(t, e, u, i[u]));
- l > 0 && t.animate(e, !1).when(null == r ? 500 : r, s).delay(o || 0)
- }
- function Cn(t, e, n, i) {
- if (e) {
- var r = {};
- r[e] = {}, r[e][n] = i, t.attr(r)
- } else t.attr(n, i)
- }
- function Tn(t, e, n, i) {
- 0 > n && (t += n, n = -n), 0 > i && (e += i, i = -i), this.x = t, this.y = e, this.width = n, this.height =
- i
- }
- function An(t) {
- for (var e = 0; t >= Tg;) e |= 1 & t, t >>= 1;
- return t + e
- }
- function Dn(t, e, n, i) {
- var r = e + 1;
- if (r === n) return 1;
- if (i(t[r++], t[e]) < 0) {
- for (; n > r && i(t[r], t[r - 1]) < 0;) r++;
- kn(t, e, r)
- } else
- for (; n > r && i(t[r], t[r - 1]) >= 0;) r++;
- return r - e
- }
- function kn(t, e, n) {
- for (n--; n > e;) {
- var i = t[e];
- t[e++] = t[n], t[n--] = i
- }
- }
- function Pn(t, e, n, i, r) {
- for (i === e && i++; n > i; i++) {
- for (var o, a = t[i], s = e, l = i; l > s;) o = s + l >>> 1, r(a, t[o]) < 0 ? l = o : s = o + 1;
- var u = i - 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] = a
- }
- }
- function On(t, e, n, i, r, o) {
- var a = 0,
- s = 0,
- l = 1;
- if (o(t, e[n + r]) > 0) {
- for (s = i - r; s > l && o(t, e[n + r + l]) > 0;) a = l, l = (l << 1) + 1, 0 >= l && (l = s);
- l > s && (l = s), a += r, l += r
- } else {
- for (s = r + 1; s > l && o(t, e[n + r - l]) <= 0;) a = l, l = (l << 1) + 1, 0 >= l && (l = s);
- l > s && (l = s);
- var u = a;
- a = r - l, l = r - u
- }
- for (a++; l > a;) {
- var h = a + (l - a >>> 1);
- o(t, e[n + h]) > 0 ? a = h + 1 : l = h
- }
- return l
- }
- function Ln(t, e, n, i, r, o) {
- var a = 0,
- s = 0,
- l = 1;
- if (o(t, e[n + r]) < 0) {
- for (s = r + 1; s > l && o(t, e[n + r - l]) < 0;) a = l, l = (l << 1) + 1, 0 >= l && (l = s);
- l > s && (l = s);
- var u = a;
- a = r - l, l = r - u
- } else {
- for (s = i - r; s > l && o(t, e[n + r + l]) >= 0;) a = l, l = (l << 1) + 1, 0 >= l && (l = s);
- l > s && (l = s), a += r, l += r
- }
- for (a++; l > a;) {
- var h = a + (l - a >>> 1);
- o(t, e[n + h]) < 0 ? l = h : a = h + 1
- }
- return l
- }
- function zn(t, e) {
- function n(t, e) {
- l[c] = t, u[c] = e, c += 1
- }
- function i() {
- for (; c > 1;) {
- var t = c - 2;
- if (t >= 1 && u[t - 1] <= u[t] + u[t + 1] || t >= 2 && u[t - 2] <= u[t] + u[t - 1]) u[t - 1] < u[t +
- 1] && t--;
- else if (u[t] > u[t + 1]) break;
- o(t)
- }
- }
- function r() {
- for (; c > 1;) {
- var t = c - 2;
- t > 0 && u[t - 1] < u[t + 1] && t--, o(t)
- }
- }
- function o(n) {
- var i = l[n],
- r = u[n],
- o = l[n + 1],
- h = u[n + 1];
- u[n] = r + h, n === c - 3 && (l[n + 1] = l[n + 2], u[n + 1] = u[n + 2]), c--;
- var d = Ln(t[o], t, i, r, 0, e);
- i += d, r -= d, 0 !== r && (h = On(t[i + r - 1], t, o, h, h - 1, e), 0 !== h && (h >= r ? a(i, r, o,
- h) : s(i, r, o, h)))
- }
- function a(n, i, r, o) {
- var a = 0;
- for (a = 0; i > a; a++) d[a] = t[n + a];
- var s = 0,
- l = r,
- u = n;
- if (t[u++] = t[l++], 0 !== --o) {
- if (1 === i) {
- for (a = 0; o > a; a++) t[u + a] = t[l + a];
- return void(t[u + o] = d[s])
- }
- for (var c, f, p, g = h;;) {
- c = 0, f = 0, p = !1;
- do
- if (e(t[l], d[s]) < 0) {
- if (t[u++] = t[l++], f++, c = 0, 0 === --o) {
- p = !0;
- break
- }
- } else if (t[u++] = d[s++], c++, f = 0, 1 === --i) {
- p = !0;
- break
- } while (g > (c | f));
- if (p) break;
- do {
- if (c = Ln(t[l], d, s, i, 0, e), 0 !== c) {
- for (a = 0; c > a; a++) t[u + a] = d[s + a];
- if (u += c, s += c, i -= c, 1 >= i) {
- p = !0;
- break
- }
- }
- if (t[u++] = t[l++], 0 === --o) {
- p = !0;
- break
- }
- if (f = On(d[s], t, l, o, 0, e), 0 !== f) {
- for (a = 0; f > a; a++) t[u + a] = t[l + a];
- if (u += f, l += f, o -= f, 0 === o) {
- p = !0;
- break
- }
- }
- if (t[u++] = d[s++], 1 === --i) {
- p = !0;
- break
- }
- g--
- } while (c >= Ag || f >= Ag);
- if (p) break;
- 0 > g && (g = 0), g += 2
- }
- if (h = g, 1 > h && (h = 1), 1 === i) {
- for (a = 0; o > a; a++) t[u + a] = t[l + a];
- t[u + o] = d[s]
- } else {
- if (0 === i) throw new Error;
- for (a = 0; i > a; a++) t[u + a] = d[s + a]
- }
- } else
- for (a = 0; i > a; a++) t[u + a] = d[s + a]
- }
- function s(n, i, r, o) {
- var a = 0;
- for (a = 0; o > a; a++) d[a] = t[r + a];
- var s = n + i - 1,
- l = o - 1,
- u = r + o - 1,
- c = 0,
- f = 0;
- if (t[u--] = t[s--], 0 !== --i) {
- if (1 === o) {
- for (u -= i, s -= i, f = u + 1, c = s + 1, a = i - 1; a >= 0; a--) t[f + a] = t[c + a];
- return void(t[u] = d[l])
- }
- for (var p = h;;) {
- var g = 0,
- v = 0,
- m = !1;
- do
- if (e(d[l], t[s]) < 0) {
- if (t[u--] = t[s--], g++, v = 0, 0 === --i) {
- m = !0;
- break
- }
- } else if (t[u--] = d[l--], v++, g = 0, 1 === --o) {
- m = !0;
- break
- } while (p > (g | v));
- if (m) break;
- do {
- if (g = i - Ln(d[l], t, n, i, i - 1, e), 0 !== g) {
- for (u -= g, s -= g, i -= g, f = u + 1, c = s + 1, a = g - 1; a >= 0; a--) t[f + a] = t[
- c + a];
- if (0 === i) {
- m = !0;
- break
- }
- }
- if (t[u--] = d[l--], 1 === --o) {
- m = !0;
- break
- }
- if (v = o - On(t[s], d, 0, o, o - 1, e), 0 !== v) {
- for (u -= v, l -= v, o -= v, f = u + 1, c = l + 1, a = 0; v > a; a++) t[f + a] = d[c +
- a];
- if (1 >= o) {
- m = !0;
- break
- }
- }
- if (t[u--] = t[s--], 0 === --i) {
- m = !0;
- break
- }
- p--
- } while (g >= Ag || v >= Ag);
- if (m) break;
- 0 > p && (p = 0), p += 2
- }
- if (h = p, 1 > h && (h = 1), 1 === o) {
- for (u -= i, s -= i, f = u + 1, c = s + 1, a = i - 1; a >= 0; a--) t[f + a] = t[c + a];
- t[u] = d[l]
- } else {
- if (0 === o) throw new Error;
- for (c = u - (o - 1), a = 0; o > a; a++) t[c + a] = d[a]
- }
- } else
- for (c = u - (o - 1), a = 0; o > a; a++) t[c + a] = d[a]
- }
- var l, u, h = Ag,
- c = 0,
- d = [];
- l = [], u = [], this.mergeRuns = i, this.forceMergeRuns = r, this.pushRun = n
- }
- function En(t, e, n, i) {
- n || (n = 0), i || (i = t.length);
- var r = i - n;
- if (!(2 > r)) {
- var o = 0;
- if (Tg > r) return o = Dn(t, n, i, e), void Pn(t, n, i, n + o, e);
- var a = new zn(t, e),
- s = An(r);
- do {
- if (o = Dn(t, n, i, e), s > o) {
- var l = r;
- l > s && (l = s), Pn(t, n, n + l, n + o, e), o = l
- }
- a.pushRun(n, o), a.mergeRuns(), r -= o, n += o
- } while (0 !== r);
- a.forceMergeRuns()
- }
- }
- function Bn(t, e) {
- return t.zlevel === e.zlevel ? t.z === e.z ? t.z2 - e.z2 : t.z - e.z : t.zlevel - e.zlevel
- }
- function Rn(t, e, n) {
- var i = null == e.x ? 0 : e.x,
- r = null == e.x2 ? 1 : e.x2,
- o = null == e.y ? 0 : e.y,
- a = null == e.y2 ? 0 : e.y2;
- e.global || (i = i * n.width + n.x, r = r * n.width + n.x, o = o * n.height + n.y, a = a * n.height + n.y),
- i = isNaN(i) ? 0 : i, r = isNaN(r) ? 1 : r, o = isNaN(o) ? 0 : o, a = isNaN(a) ? 0 : a;
- var s = t.createLinearGradient(i, o, r, a);
- return s
- }
- function Nn(t, e, n) {
- var i = n.width,
- r = n.height,
- o = Math.min(i, r),
- a = null == e.x ? .5 : e.x,
- s = null == e.y ? .5 : e.y,
- l = null == e.r ? .5 : e.r;
- e.global || (a = a * i + n.x, s = s * r + n.y, l *= o);
- var u = t.createRadialGradient(a, s, 0, a, s, l);
- return u
- }
- function Fn() {
- return !1
- }
- function Vn(t, e, n) {
- var i = Sp(),
- r = e.getWidth(),
- o = e.getHeight(),
- a = i.style;
- return a && (a.position = "absolute", a.left = 0, a.top = 0, a.width = r + "px", a.height = o + "px", i
- .setAttribute("data-zr-dom-id", t)), i.width = r * n, i.height = o * n, i
- }
- function Wn(t) {
- if ("string" == typeof t) {
- var e = Hg.get(t);
- return e && e.image
- }
- return t
- }
- function Hn(t, e, n, i, r) {
- if (t) {
- if ("string" == typeof t) {
- if (e && e.__zrImageSrc === t || !n) return e;
- var o = Hg.get(t),
- a = {
- hostEl: n,
- cb: i,
- cbPayload: r
- };
- return o ? (e = o.image, !Zn(e) && o.pending.push(a)) : (e = new Image, e.onload = e.onerror = Gn,
- Hg.put(t, e.__cachedImgObj = {
- image: e,
- pending: [a]
- }), e.src = e.__zrImageSrc = t), e
- }
- return t
- }
- return e
- }
- function Gn() {
- var t = this.__cachedImgObj;
- this.onload = this.onerror = this.__cachedImgObj = null;
- for (var e = 0; e < t.pending.length; e++) {
- var n = t.pending[e],
- i = n.cb;
- i && i(this, n.cbPayload), n.hostEl.dirty()
- }
- t.pending.length = 0
- }
- function Zn(t) {
- return t && t.width && t.height
- }
- function Xn(t, e) {
- e = e || Ug;
- var n = t + ":" + e;
- if (Gg[n]) return Gg[n];
- for (var i = (t + "").split("\n"), r = 0, o = 0, a = i.length; a > o; o++) r = Math.max(ii(i[o], e).width,
- r);
- return Zg > Xg && (Zg = 0, Gg = {}), Zg++, Gg[n] = r, r
- }
- function Yn(t, e, n, i, r, o, a, s) {
- return a ? jn(t, e, n, i, r, o, a, s) : Un(t, e, n, i, r, o, s)
- }
- function Un(t, e, n, i, r, o, a) {
- var s = ri(t, e, r, o, a),
- l = Xn(t, e);
- r && (l += r[1] + r[3]);
- var u = s.outerHeight,
- h = qn(0, l, n),
- c = Kn(0, u, i),
- d = new Tn(h, c, l, u);
- return d.lineHeight = s.lineHeight, d
- }
- function jn(t, e, n, i, r, o, a, s) {
- var l = oi(t, {
- rich: a,
- truncate: s,
- font: e,
- textAlign: n,
- textPadding: r,
- textLineHeight: o
- }),
- u = l.outerWidth,
- h = l.outerHeight,
- c = qn(0, u, n),
- d = Kn(0, h, i);
- return new Tn(c, d, u, h)
- }
- function qn(t, e, n) {
- return "right" === n ? t -= e : "center" === n && (t -= e / 2), t
- }
- function Kn(t, e, n) {
- return "middle" === n ? t -= e / 2 : "bottom" === n && (t -= e), t
- }
- function $n(t, e, n) {
- var i = e.textPosition,
- r = e.textDistance,
- o = n.x,
- a = n.y;
- r = r || 0;
- var s = n.height,
- l = n.width,
- u = s / 2,
- h = "left",
- c = "top";
- switch (i) {
- case "left":
- o -= r, a += u, h = "right", c = "middle";
- break;
- case "right":
- o += r + l, a += u, c = "middle";
- break;
- case "top":
- o += l / 2, a -= r, h = "center", c = "bottom";
- break;
- case "bottom":
- o += l / 2, a += s + r, h = "center";
- break;
- case "inside":
- o += l / 2, a += u, h = "center", c = "middle";
- break;
- case "insideLeft":
- o += r, a += u, c = "middle";
- break;
- case "insideRight":
- o += l - r, a += u, h = "right", c = "middle";
- break;
- case "insideTop":
- o += l / 2, a += r, h = "center";
- break;
- case "insideBottom":
- o += l / 2, a += s - r, h = "center", c = "bottom";
- break;
- case "insideTopLeft":
- o += r, a += r;
- break;
- case "insideTopRight":
- o += l - r, a += r, h = "right";
- break;
- case "insideBottomLeft":
- o += r, a += s - r, c = "bottom";
- break;
- case "insideBottomRight":
- o += l - r, a += s - r, h = "right", c = "bottom"
- }
- return t = t || {}, t.x = o, t.y = a, t.textAlign = h, t.textVerticalAlign = c, t
- }
- function Qn(t, e, n, i, r) {
- if (!e) return "";
- var o = (t + "").split("\n");
- r = Jn(e, n, i, r);
- for (var a = 0, s = o.length; s > a; a++) o[a] = ti(o[a], r);
- return o.join("\n")
- }
- function Jn(t, e, n, i) {
- i = a({}, i), i.font = e;
- var n = D(n, "...");
- i.maxIterations = D(i.maxIterations, 2);
- var r = i.minChar = D(i.minChar, 0);
- i.cnCharWidth = Xn("国", e);
- var o = i.ascCharWidth = Xn("a", e);
- i.placeholder = D(i.placeholder, "");
- for (var s = t = Math.max(0, t - 1), l = 0; r > l && s >= o; l++) s -= o;
- var u = Xn(n, e);
- return u > s && (n = "", u = 0), s = t - u, i.ellipsis = n, i.ellipsisWidth = u, i.contentWidth = s, i
- .containerWidth = t, i
- }
- function ti(t, e) {
- var n = e.containerWidth,
- i = e.font,
- r = e.contentWidth;
- if (!n) return "";
- var o = Xn(t, i);
- if (n >= o) return t;
- for (var a = 0;; a++) {
- if (r >= o || a >= e.maxIterations) {
- t += e.ellipsis;
- break
- }
- var s = 0 === a ? ei(t, r, e.ascCharWidth, e.cnCharWidth) : o > 0 ? Math.floor(t.length * r / o) : 0;
- t = t.substr(0, s), o = Xn(t, i)
- }
- return "" === t && (t = e.placeholder), t
- }
- function ei(t, e, n, i) {
- for (var r = 0, o = 0, a = t.length; a > o && e > r; o++) {
- var s = t.charCodeAt(o);
- r += s >= 0 && 127 >= s ? n : i
- }
- return o
- }
- function ni(t) {
- return Xn("国", t)
- }
- function ii(t, e) {
- return jg.measureText(t, e)
- }
- function ri(t, e, n, i, r) {
- null != t && (t += "");
- var o = D(i, ni(e)),
- a = t ? t.split("\n") : [],
- s = a.length * o,
- l = s,
- u = !0;
- if (n && (l += n[0] + n[2]), t && r) {
- u = !1;
- var h = r.outerHeight,
- c = r.outerWidth;
- if (null != h && l > h) t = "", a = [];
- else if (null != c)
- for (var d = Jn(c - (n ? n[1] + n[3] : 0), e, r.ellipsis, {
- minChar: r.minChar,
- placeholder: r.placeholder
- }), f = 0, p = a.length; p > f; f++) a[f] = ti(a[f], d)
- }
- return {
- lines: a,
- height: s,
- outerHeight: l,
- lineHeight: o,
- canCacheByTextString: u
- }
- }
- function oi(t, e) {
- var n = {
- lines: [],
- width: 0,
- height: 0
- };
- if (null != t && (t += ""), !t) return n;
- for (var i, r = Yg.lastIndex = 0; null != (i = Yg.exec(t));) {
- var o = i.index;
- o > r && ai(n, t.substring(r, o)), ai(n, i[2], i[1]), r = Yg.lastIndex
- }
- r < t.length && ai(n, t.substring(r, t.length));
- var a = n.lines,
- s = 0,
- l = 0,
- u = [],
- h = e.textPadding,
- c = e.truncate,
- d = c && c.outerWidth,
- f = c && c.outerHeight;
- h && (null != d && (d -= h[1] + h[3]), null != f && (f -= h[0] + h[2]));
- for (var p = 0; p < a.length; p++) {
- for (var g = a[p], v = 0, m = 0, y = 0; y < g.tokens.length; y++) {
- var x = g.tokens[y],
- _ = x.styleName && e.rich[x.styleName] || {},
- w = x.textPadding = _.textPadding,
- b = x.font = _.font || e.font,
- S = x.textHeight = D(_.textHeight, ni(b));
- if (w && (S += w[0] + w[2]), x.height = S, x.lineHeight = k(_.textLineHeight, e.textLineHeight, S),
- x.textAlign = _ && _.textAlign || e.textAlign, x.textVerticalAlign = _ && _.textVerticalAlign ||
- "middle", null != f && s + x.lineHeight > f) return {
- lines: [],
- width: 0,
- height: 0
- };
- x.textWidth = Xn(x.text, b);
- var M = _.textWidth,
- I = null == M || "auto" === M;
- if ("string" == typeof M && "%" === M.charAt(M.length - 1)) x.percentWidth = M, u.push(x), M = 0;
- else {
- if (I) {
- M = x.textWidth;
- var C = _.textBackgroundColor,
- T = C && C.image;
- T && (T = Wn(T), Zn(T) && (M = Math.max(M, T.width * S / T.height)))
- }
- var A = w ? w[1] + w[3] : 0;
- M += A;
- var P = null != d ? d - m : null;
- null != P && M > P && (!I || A > P ? (x.text = "", x.textWidth = M = 0) : (x.text = Qn(x.text,
- P - A, b, c.ellipsis, {
- minChar: c.minChar
- }), x.textWidth = Xn(x.text, b), M = x.textWidth + A))
- }
- m += x.width = M, _ && (v = Math.max(v, x.lineHeight))
- }
- g.width = m, g.lineHeight = v, s += v, l = Math.max(l, m)
- }
- n.outerWidth = n.width = D(e.textWidth, l), n.outerHeight = n.height = D(e.textHeight, s), h && (n
- .outerWidth += h[1] + h[3], n.outerHeight += h[0] + h[2]);
- for (var p = 0; p < u.length; p++) {
- var x = u[p],
- O = x.percentWidth;
- x.width = parseInt(O, 10) / 100 * l
- }
- return n
- }
- function ai(t, e, n) {
- for (var i = "" === e, r = e.split("\n"), o = t.lines, a = 0; a < r.length; a++) {
- var s = r[a],
- l = {
- styleName: n,
- text: s,
- isLineHolder: !s && !i
- };
- if (a) o.push({
- tokens: [l]
- });
- else {
- var u = (o[o.length - 1] || (o[0] = {
- tokens: []
- })).tokens,
- h = u.length;
- 1 === h && u[0].isLineHolder ? u[0] = l : (s || !h || i) && u.push(l)
- }
- }
- }
- function si(t) {
- var e = (t.fontSize || t.fontFamily) && [t.fontStyle, t.fontWeight, (t.fontSize || 12) + "px", t
- .fontFamily || "sans-serif"
- ].join(" ");
- return e && z(e) || t.textFont || t.font
- }
- function li(t, e) {
- var n, i, r, o, a = e.x,
- s = e.y,
- l = e.width,
- u = e.height,
- h = e.r;
- 0 > l && (a += l, l = -l), 0 > u && (s += u, u = -u), "number" == typeof h ? n = i = r = o = h :
- h instanceof Array ? 1 === h.length ? n = i = r = o = h[0] : 2 === h.length ? (n = r = h[0], i = o = h[
- 1]) : 3 === h.length ? (n = h[0], i = o = h[1], r = h[2]) : (n = h[0], i = h[1], r = h[2], o = h[
- 3]) : n = i = r = o = 0;
- var c;
- n + i > l && (c = n + i, n *= l / c, i *= l / c), r + o > l && (c = r + o, r *= l / c, o *= l / c), i + r >
- u && (c = i + r, i *= u / c, r *= u / c), n + o > u && (c = n + o, n *= u / c, o *= u / c), t.moveTo(a +
- n, s), t.lineTo(a + l - i, s), 0 !== i && t.arc(a + l - i, s + i, i, -Math.PI / 2, 0), t.lineTo(a +
- l, s + u - r), 0 !== r && t.arc(a + l - r, s + u - r, r, 0, Math.PI / 2), t.lineTo(a + o, s + u),
- 0 !== o && t.arc(a + o, s + u - o, o, Math.PI / 2, Math.PI), t.lineTo(a, s + n), 0 !== n && t.arc(a + n,
- s + n, n, Math.PI, 1.5 * Math.PI)
- }
- function ui(t) {
- return hi(t), f(t.rich, hi), t
- }
- function hi(t) {
- if (t) {
- t.font = si(t);
- var e = t.textAlign;
- "middle" === e && (e = "center"), t.textAlign = null == e || Kg[e] ? e : "left";
- var n = t.textVerticalAlign || t.textBaseline;
- "center" === n && (n = "middle"), t.textVerticalAlign = null == n || $g[n] ? n : "top";
- var i = t.textPadding;
- i && (t.textPadding = O(t.textPadding))
- }
- }
- function ci(t, e, n, i, r, o) {
- i.rich ? fi(t, e, n, i, r, o) : di(t, e, n, i, r, o)
- }
- function di(t, e, n, i, r, o) {
- var a, s = mi(i),
- l = !1,
- u = e.__attrCachedBy === Og.PLAIN_TEXT;
- o !== Lg ? (o && (a = o.style, l = !s && u && a), e.__attrCachedBy = s ? Og.NONE : Og.PLAIN_TEXT) : u && (e
- .__attrCachedBy = Og.NONE);
- var h = i.font || qg;
- l && h === (a.font || qg) || (e.font = h);
- var c = t.__computedFont;
- t.__styleFont !== h && (t.__styleFont = h, c = t.__computedFont = e.font);
- var d = i.textPadding,
- f = i.textLineHeight,
- p = t.__textCotentBlock;
- (!p || t.__dirtyText) && (p = t.__textCotentBlock = ri(n, c, d, f, i.truncate));
- var g = p.outerHeight,
- v = p.lines,
- m = p.lineHeight,
- y = _i(tv, t, i, r),
- x = y.baseX,
- _ = y.baseY,
- w = y.textAlign || "left",
- b = y.textVerticalAlign;
- gi(e, i, r, x, _);
- var S = Kn(_, g, b),
- M = x,
- I = S;
- if (s || d) {
- var C = Xn(n, c),
- T = C;
- d && (T += d[1] + d[3]);
- var A = qn(x, T, w);
- s && yi(t, e, i, A, S, T, g), d && (M = Ii(x, w, d), I += d[0])
- }
- e.textAlign = w, e.textBaseline = "middle", e.globalAlpha = i.opacity || 1;
- for (var D = 0; D < Qg.length; D++) {
- var k = Qg[D],
- P = k[0],
- O = k[1],
- L = i[P];
- l && L === a[P] || (e[O] = Pg(e, O, L || k[2]))
- }
- I += m / 2;
- var z = i.textStrokeWidth,
- E = l ? a.textStrokeWidth : null,
- B = !l || z !== E,
- R = !l || B || i.textStroke !== a.textStroke,
- N = bi(i.textStroke, z),
- F = Si(i.textFill);
- if (N && (B && (e.lineWidth = z), R && (e.strokeStyle = N)), F && (l && i.textFill === a.textFill || (e
- .fillStyle = F)), 1 === v.length) N && e.strokeText(v[0], M, I), F && e.fillText(v[0], M, I);
- else
- for (var D = 0; D < v.length; D++) N && e.strokeText(v[D], M, I), F && e.fillText(v[D], M, I), I += m
- }
- function fi(t, e, n, i, r, o) {
- o !== Lg && (e.__attrCachedBy = Og.NONE);
- var a = t.__textCotentBlock;
- (!a || t.__dirtyText) && (a = t.__textCotentBlock = oi(n, i)), pi(t, e, a, i, r)
- }
- function pi(t, e, n, i, r) {
- var o = n.width,
- a = n.outerWidth,
- s = n.outerHeight,
- l = i.textPadding,
- u = _i(tv, t, i, r),
- h = u.baseX,
- c = u.baseY,
- d = u.textAlign,
- f = u.textVerticalAlign;
- gi(e, i, r, h, c);
- var p = qn(h, a, d),
- g = Kn(c, s, f),
- v = p,
- m = g;
- l && (v += l[3], m += l[0]);
- var y = v + o;
- mi(i) && yi(t, e, i, p, g, a, s);
- for (var x = 0; x < n.lines.length; x++) {
- for (var _, w = n.lines[x], b = w.tokens, S = b.length, M = w.lineHeight, I = w.width, C = 0, T = v, A =
- y, D = S - 1; S > C && (_ = b[C], !_.textAlign || "left" === _.textAlign);) vi(t, e, _, i, M, m,
- T, "left"), I -= _.width, T += _.width, C++;
- for (; D >= 0 && (_ = b[D], "right" === _.textAlign);) vi(t, e, _, i, M, m, A, "right"), I -= _.width,
- A -= _.width, D--;
- for (T += (o - (T - v) - (y - A) - I) / 2; D >= C;) _ = b[C], vi(t, e, _, i, M, m, T + _.width / 2,
- "center"), T += _.width, C++;
- m += M
- }
- }
- function gi(t, e, n, i, r) {
- if (n && e.textRotation) {
- var o = e.textOrigin;
- "center" === o ? (i = n.width / 2 + n.x, r = n.height / 2 + n.y) : o && (i = o[0] + n.x, r = o[1] + n
- .y), t.translate(i, r), t.rotate(-e.textRotation), t.translate(-i, -r)
- }
- }
- function vi(t, e, n, i, r, o, a, s) {
- var l = i.rich[n.styleName] || {};
- l.text = n.text;
- var u = n.textVerticalAlign,
- h = o + r / 2;
- "top" === u ? h = o + n.height / 2 : "bottom" === u && (h = o + r - n.height / 2), !n.isLineHolder && mi(
- l) && yi(t, e, l, "right" === s ? a - n.width : "center" === s ? a - n.width / 2 : a, h - n.height / 2,
- n.width, n.height);
- var c = n.textPadding;
- c && (a = Ii(a, s, c), h -= n.height / 2 - c[2] - n.textHeight / 2), wi(e, "shadowBlur", k(l.textShadowBlur,
- i.textShadowBlur, 0)), wi(e, "shadowColor", l.textShadowColor || i.textShadowColor ||
- "transparent"), wi(e, "shadowOffsetX", k(l.textShadowOffsetX, i.textShadowOffsetX, 0)), wi(e,
- "shadowOffsetY", k(l.textShadowOffsetY, i.textShadowOffsetY, 0)), wi(e, "textAlign", s), wi(e,
- "textBaseline", "middle"), wi(e, "font", n.font || qg);
- var d = bi(l.textStroke || i.textStroke, p),
- f = Si(l.textFill || i.textFill),
- p = D(l.textStrokeWidth, i.textStrokeWidth);
- d && (wi(e, "lineWidth", p), wi(e, "strokeStyle", d), e.strokeText(n.text, a, h)), f && (wi(e, "fillStyle",
- f), e.fillText(n.text, a, h))
- }
- function mi(t) {
- return !!(t.textBackgroundColor || t.textBorderWidth && t.textBorderColor)
- }
- function yi(t, e, n, i, r, o, a) {
- var s = n.textBackgroundColor,
- l = n.textBorderWidth,
- u = n.textBorderColor,
- h = b(s);
- if (wi(e, "shadowBlur", n.textBoxShadowBlur || 0), wi(e, "shadowColor", n.textBoxShadowColor ||
- "transparent"), wi(e, "shadowOffsetX", n.textBoxShadowOffsetX || 0), wi(e, "shadowOffsetY", n
- .textBoxShadowOffsetY || 0), h || l && u) {
- e.beginPath();
- var c = n.textBorderRadius;
- c ? li(e, {
- x: i,
- y: r,
- width: o,
- height: a,
- r: c
- }) : e.rect(i, r, o, a), e.closePath()
- }
- if (h)
- if (wi(e, "fillStyle", s), null != n.fillOpacity) {
- var d = e.globalAlpha;
- e.globalAlpha = n.fillOpacity * n.opacity, e.fill(), e.globalAlpha = d
- } else e.fill();
- else if (S(s)) {
- var f = s.image;
- f = Hn(f, null, t, xi, s), f && Zn(f) && e.drawImage(f, i, r, o, a)
- }
- if (l && u)
- if (wi(e, "lineWidth", l), wi(e, "strokeStyle", u), null != n.strokeOpacity) {
- var d = e.globalAlpha;
- e.globalAlpha = n.strokeOpacity * n.opacity, e.stroke(), e.globalAlpha = d
- } else e.stroke()
- }
- function xi(t, e) {
- e.image = t
- }
- function _i(t, e, n, i) {
- var r = n.x || 0,
- o = n.y || 0,
- a = n.textAlign,
- s = n.textVerticalAlign;
- if (i) {
- var l = n.textPosition;
- if (l instanceof Array) r = i.x + Mi(l[0], i.width), o = i.y + Mi(l[1], i.height);
- else {
- var u = e && e.calculateTextPosition ? e.calculateTextPosition(Jg, n, i) : $n(Jg, n, i);
- r = u.x, o = u.y, a = a || u.textAlign, s = s || u.textVerticalAlign
- }
- var h = n.textOffset;
- h && (r += h[0], o += h[1])
- }
- return t = t || {}, t.baseX = r, t.baseY = o, t.textAlign = a, t.textVerticalAlign = s, t
- }
- function wi(t, e, n) {
- return t[e] = Pg(t, e, n), t[e]
- }
- function bi(t, e) {
- return null == t || 0 >= e || "transparent" === t || "none" === t ? null : t.image || t.colorStops ?
- "#000" : t
- }
- function Si(t) {
- return null == t || "none" === t ? null : t.image || t.colorStops ? "#000" : t
- }
- function Mi(t, e) {
- return "string" == typeof t ? t.lastIndexOf("%") >= 0 ? parseFloat(t) / 100 * e : parseFloat(t) : t
- }
- function Ii(t, e, n) {
- return "right" === e ? t - n[1] : "center" === e ? t + n[3] / 2 - n[1] / 2 : t + n[3]
- }
- function Ci(t, e) {
- return null != t && (t || e.textBackgroundColor || e.textBorderWidth && e.textBorderColor || e.textPadding)
- }
- function Ti(t) {
- t = t || {}, bg.call(this, t);
- for (var e in t) t.hasOwnProperty(e) && "style" !== e && (this[e] = t[e]);
- this.style = new Eg(t.style, this), this._rect = null, this.__clipPaths = null
- }
- function Ai(t) {
- Ti.call(this, t)
- }
- function Di(t) {
- return parseInt(t, 10)
- }
- function ki(t) {
- return t ? t.__builtin__ ? !0 : "function" != typeof t.resize || "function" != typeof t.refresh ? !1 : !0 :
- !1
- }
- function Pi(t, e, n) {
- return sv.copy(t.getBoundingRect()), t.transform && sv.applyTransform(t.transform), lv.width = e, lv
- .height = n, !sv.intersect(lv)
- }
- function Oi(t, e) {
- if (t === e) return !1;
- if (!t || !e || t.length !== e.length) return !0;
- for (var n = 0; n < t.length; n++)
- if (t[n] !== e[n]) return !0;
- return !1
- }
- function Li(t, e) {
- for (var n = 0; n < t.length; n++) {
- var i = t[n];
- i.setTransform(e), e.beginPath(), i.buildPath(e, i.shape), e.clip(), i.restoreTransform(e)
- }
- }
- function zi(t, e) {
- var n = document.createElement("div");
- return n.style.cssText = ["position:relative", "width:" + t + "px", "height:" + e + "px", "padding:0",
- "margin:0", "border-width:0"
- ].join(";") + ";", n
- }
- function Ei(t) {
- return "mousewheel" === t && dp.browser.firefox ? "DOMMouseScroll" : t
- }
- function Bi(t) {
- var e = t.pointerType;
- return "pen" === e || "touch" === e
- }
- function Ri(t) {
- t.touching = !0, null != t.touchTimer && (clearTimeout(t.touchTimer), t.touchTimer = null), t.touchTimer =
- setTimeout(function() {
- t.touching = !1, t.touchTimer = null
- }, 700)
- }
- function Ni(t) {
- t && (t.zrByTouch = !0)
- }
- function Fi(t, e) {
- return be(t.dom, new Wi(t, e), !0)
- }
- function Vi(t, e) {
- for (var n = e, i = !1; n && 9 !== n.nodeType && !(i = n.domBelongToZr || n !== e && n === t.painterRoot);)
- n = n.parentNode;
- return i
- }
- function Wi(t, e) {
- this.type = e.type, this.target = this.currentTarget = t.dom, this.pointerType = e.pointerType, this
- .clientX = e.clientX, this.clientY = e.clientY
- }
- function Hi(t, e) {
- var n = e.domHandlers;
- dp.pointerEventsSupported ? f(fv.pointer, function(i) {
- Zi(e, i, function(e) {
- n[i].call(t, e)
- })
- }) : (dp.touchEventsSupported && f(fv.touch, function(i) {
- Zi(e, i, function(r) {
- n[i].call(t, r), Ri(e)
- })
- }), f(fv.mouse, function(i) {
- Zi(e, i, function(r) {
- r = we(r), e.touching || n[i].call(t, r)
- })
- }))
- }
- function Gi(t, e) {
- function n(n) {
- function i(i) {
- i = we(i), Vi(t, i.target) || (i = Fi(t, i), e.domHandlers[n].call(t, i))
- }
- Zi(e, n, i, {
- capture: !0
- })
- }
- dp.pointerEventsSupported ? f(pv.pointer, n) : dp.touchEventsSupported || f(pv.mouse, n)
- }
- function Zi(t, e, n, i) {
- t.mounted[e] = n, t.listenerOpts[e] = i, Se(t.domTarget, Ei(e), n, i)
- }
- function Xi(t) {
- var e = t.mounted;
- for (var n in e) e.hasOwnProperty(n) && Me(t.domTarget, Ei(n), e[n], t.listenerOpts[n]);
- t.mounted = {}
- }
- function Yi(t, e) {
- if (t._mayPointerCapture = null, dv && t._pointerCapturing ^ e) {
- t._pointerCapturing = e;
- var n = t._globalHandlerScope;
- e ? Gi(t, n) : Xi(n)
- }
- }
- function Ui(t, e) {
- this.domTarget = t, this.domHandlers = e, this.mounted = {}, this.listenerOpts = {}, this.touchTimer = null,
- this.touching = !1
- }
- function ji(t, e) {
- zp.call(this), this.dom = t, this.painterRoot = e, this._localHandlerScope = new Ui(t, vv), dv && (this
- ._globalHandlerScope = new Ui(document, mv)), this._pointerCapturing = !1, this._mayPointerCapture =
- null, Hi(this, this._localHandlerScope)
- }
- function qi(t, e) {
- var n = new Sv(hp(), t, e);
- return wv[n.id] = n, n
- }
- function Ki(t) {
- if (t) t.dispose();
- else {
- for (var e in wv) wv.hasOwnProperty(e) && wv[e].dispose();
- wv = {}
- }
- return this
- }
- function $i(t) {
- return wv[t]
- }
- function Qi(t, e) {
- _v[t] = e
- }
- function Ji(t) {
- delete wv[t]
- }
- function tr(t) {
- return t instanceof Array ? t : null == t ? [] : [t]
- }
- function er(t, e, n) {
- if (t) {
- t[e] = t[e] || {}, t.emphasis = t.emphasis || {}, t.emphasis[e] = t.emphasis[e] || {};
- for (var i = 0, r = n.length; r > i; i++) {
- var o = n[i];
- !t.emphasis[e].hasOwnProperty(o) && t[e].hasOwnProperty(o) && (t.emphasis[e][o] = t[e][o])
- }
- }
- }
- function nr(t) {
- return !Cv(t) || Tv(t) || t instanceof Date ? t : t.value
- }
- function ir(t) {
- return Cv(t) && !(t instanceof Array)
- }
- function rr(t, e) {
- e = (e || []).slice();
- var n = p(t || [], function(t) {
- return {
- exist: t
- }
- });
- return Iv(e, function(t, i) {
- if (Cv(t)) {
- for (var r = 0; r < n.length; r++)
- if (!n[r].option && null != t.id && n[r].exist.id === t.id + "") return n[r].option = t,
- void(e[i] = null);
- for (var r = 0; r < n.length; r++) {
- var o = n[r].exist;
- if (!(n[r].option || null != o.id && null != t.id || null == t.name || sr(t) || sr(o) ||
- o.name !== t.name + "")) return n[r].option = t, void(e[i] = null)
- }
- }
- }), Iv(e, function(t) {
- if (Cv(t)) {
- for (var e = 0; e < n.length; e++) {
- var i = n[e].exist;
- if (!n[e].option && !sr(i) && null == t.id) {
- n[e].option = t;
- break
- }
- }
- e >= n.length && n.push({
- option: t
- })
- }
- }), n
- }
- function or(t) {
- var e = N();
- Iv(t, function(t) {
- var n = t.exist;
- n && e.set(n.id, t)
- }), Iv(t, function(t) {
- var n = t.option;
- L(!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 = {})
- }), Iv(t, function(t, n) {
- var i = t.exist,
- r = t.option,
- o = t.keyInfo;
- if (Cv(r)) {
- if (o.name = null != r.name ? r.name + "" : i ? i.name : Av + n, i) o.id = i.id;
- else if (null != r.id) o.id = r.id + "";
- else {
- var a = 0;
- do o.id = "\x00" + o.name + "\x00" + a++; while (e.get(o.id))
- }
- e.set(o.id, t)
- }
- })
- }
- function ar(t) {
- var e = t.name;
- return !(!e || !e.indexOf(Av))
- }
- function sr(t) {
- return Cv(t) && t.id && 0 === (t.id + "").indexOf("\x00_ec_\x00")
- }
- function lr(t, e) {
- return null != e.dataIndexInside ? e.dataIndexInside : null != e.dataIndex ? _(e.dataIndex) ? p(e.dataIndex,
- function(e) {
- return t.indexOfRawIndex(e)
- }) : t.indexOfRawIndex(e.dataIndex) : null != e.name ? _(e.name) ? p(e.name, function(e) {
- return t.indexOfName(e)
- }) : t.indexOfName(e.name) : void 0
- }
- function ur() {
- var t = "__\x00ec_inner_" + kv++ + "_" + Math.random().toFixed(5);
- return function(e) {
- return e[t] || (e[t] = {})
- }
- }
- function hr(t, e, n) {
- if (b(e)) {
- var i = {};
- i[e + "Index"] = 0, e = i
- }
- var r = n && n.defaultMainType;
- !r || cr(e, r + "Index") || cr(e, r + "Id") || cr(e, r + "Name") || (e[r + "Index"] = 0);
- var o = {};
- return Iv(e, function(i, r) {
- var i = e[r];
- if ("dataIndex" === r || "dataIndexInside" === r) return void(o[r] = i);
- var a = r.match(/^(\w+)(Index|Id|Name)$/) || [],
- s = a[1],
- l = (a[2] || "").toLowerCase();
- if (!(!s || !l || null == i || "index" === l && "none" === i || n && n.includeMainTypes && u(n
- .includeMainTypes, s) < 0)) {
- var h = {
- mainType: s
- };
- ("index" !== l || "all" !== i) && (h[l] = i);
- var c = t.queryComponents(h);
- o[s + "Models"] = c, o[s + "Model"] = c[0]
- }
- }), o
- }
- function cr(t, e) {
- return t && t.hasOwnProperty(e)
- }
- function dr(t, e, n) {
- t.setAttribute ? t.setAttribute(e, n) : t[e] = n
- }
- function fr(t, e) {
- return t.getAttribute ? t.getAttribute(e) : t[e]
- }
- function pr(t) {
- return "auto" === t ? dp.domSupported ? "html" : "richText" : t || "html"
- }
- function gr(t) {
- var e = {
- main: "",
- sub: ""
- };
- return t && (t = t.split(Pv), e.main = t[0] || "", e.sub = t[1] || ""), e
- }
- function vr(t) {
- L(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t), 'componentType "' + t + '" illegal')
- }
- function mr(t, e) {
- t.$constructor = t, t.extend = function(t) {
- lp && f(e, function(e) {
- t[e] || console.warn("Method `" + e + "` should be implemented" + (t.type ? " in " + t
- .type : "") + ".")
- });
- var n = this,
- i = function() {
- t.$constructor ? t.$constructor.apply(this, arguments) : n.apply(this, arguments)
- };
- return a(i.prototype, t), i.extend = this.extend, i.superCall = xr, i.superApply = _r, h(i, this), i
- .superClass = n, i
- }
- }
- function yr(t) {
- var e = ["__\x00is_clz", Lv++, Math.random().toFixed(3)].join("_");
- t.prototype[e] = !0, lp && L(!t.isInstance, 'The method "is" can not be defined.'), t.isInstance = function(
- t) {
- return !(!t || !t[e])
- }
- }
- function xr(t, e) {
- var n = P(arguments, 2);
- return this.superClass.prototype[e].apply(t, n)
- }
- function _r(t, e, n) {
- return this.superClass.prototype[e].apply(t, n)
- }
- function wr(t, e) {
- function n(t) {
- var e = i[t.main];
- return e && e[Ov] || (e = i[t.main] = {}, e[Ov] = !0), e
- }
- e = e || {};
- var i = {};
- if (t.registerClass = function(t, e) {
- if (e)
- if (vr(e), e = gr(e), e.sub) {
- if (e.sub !== Ov) {
- var r = n(e);
- r[e.sub] = t
- }
- } else lp && i[e.main] && console.warn(e.main + " exists."), i[e.main] = t;
- return t
- }, t.getClass = function(t, e, n) {
- var r = i[t];
- if (r && r[Ov] && (r = e ? r[e] : null), n && !r) throw new Error(e ? "Component " + t + "." + (e ||
- "") + " not exists. Load it first." : t + ".type should be specified.");
- return r
- }, t.getClassesByMainType = function(t) {
- t = gr(t);
- var e = [],
- n = i[t.main];
- return n && n[Ov] ? f(n, function(t, n) {
- n !== Ov && e.push(t)
- }) : e.push(n), e
- }, t.hasClass = function(t) {
- return t = gr(t), !!i[t.main]
- }, t.getAllClassMainTypes = function() {
- var t = [];
- return f(i, function(e, n) {
- t.push(n)
- }), t
- }, t.hasSubTypes = function(t) {
- t = gr(t);
- var e = i[t.main];
- return e && e[Ov]
- }, t.parseClassType = gr, e.registerWhenExtend) {
- var r = t.extend;
- r && (t.extend = function(e) {
- var n = r.call(this, e);
- return t.registerClass(n, e.type)
- })
- }
- return t
- }
- function br(t) {
- return t > -Wv && Wv > t
- }
- function Sr(t) {
- return t > Wv || -Wv > t
- }
- function Mr(t, e, n, i, r) {
- var o = 1 - r;
- return o * o * (o * t + 3 * r * e) + r * r * (r * i + 3 * o * n)
- }
- function Ir(t, e, n, i, r) {
- var o = 1 - r;
- return 3 * (((e - t) * o + 2 * (n - e) * r) * o + (i - n) * r * r)
- }
- function Cr(t, e, n, i, r, o) {
- var a = i + 3 * (e - n) - t,
- s = 3 * (n - 2 * e + t),
- l = 3 * (e - t),
- u = t - r,
- h = s * s - 3 * a * l,
- c = s * l - 9 * a * u,
- d = l * l - 3 * s * u,
- f = 0;
- if (br(h) && br(c))
- if (br(s)) o[0] = 0;
- else {
- var p = -l / s;
- p >= 0 && 1 >= p && (o[f++] = p)
- }
- else {
- var g = c * c - 4 * h * d;
- if (br(g)) {
- var v = c / h,
- p = -s / a + v,
- m = -v / 2;
- p >= 0 && 1 >= p && (o[f++] = p), m >= 0 && 1 >= m && (o[f++] = m)
- } else if (g > 0) {
- var y = Vv(g),
- x = h * s + 1.5 * a * (-c + y),
- _ = h * s + 1.5 * a * (-c - y);
- x = 0 > x ? -Fv(-x, Zv) : Fv(x, Zv), _ = 0 > _ ? -Fv(-_, Zv) : Fv(_, Zv);
- var p = (-s - (x + _)) / (3 * a);
- p >= 0 && 1 >= p && (o[f++] = p)
- } else {
- var w = (2 * h * s - 3 * a * c) / (2 * Vv(h * h * h)),
- b = Math.acos(w) / 3,
- S = Vv(h),
- M = Math.cos(b),
- p = (-s - 2 * S * M) / (3 * a),
- m = (-s + S * (M + Gv * Math.sin(b))) / (3 * a),
- I = (-s + S * (M - Gv * Math.sin(b))) / (3 * a);
- p >= 0 && 1 >= p && (o[f++] = p), m >= 0 && 1 >= m && (o[f++] = m), I >= 0 && 1 >= I && (o[f++] = I)
- }
- }
- return f
- }
- function Tr(t, e, n, i, r) {
- var o = 6 * n - 12 * e + 6 * t,
- a = 9 * e + 3 * i - 3 * t - 9 * n,
- s = 3 * e - 3 * t,
- l = 0;
- if (br(a)) {
- if (Sr(o)) {
- var u = -s / o;
- u >= 0 && 1 >= u && (r[l++] = u)
- }
- } else {
- var h = o * o - 4 * a * s;
- if (br(h)) r[0] = -o / (2 * a);
- else if (h > 0) {
- var c = Vv(h),
- u = (-o + c) / (2 * a),
- d = (-o - c) / (2 * a);
- u >= 0 && 1 >= u && (r[l++] = u), d >= 0 && 1 >= d && (r[l++] = d)
- }
- }
- return l
- }
- function Ar(t, e, n, i, r, o) {
- var a = (e - t) * r + t,
- s = (n - e) * r + e,
- l = (i - n) * r + n,
- u = (s - a) * r + a,
- h = (l - s) * r + s,
- c = (h - u) * r + u;
- o[0] = t, o[1] = a, o[2] = u, o[3] = c, o[4] = c, o[5] = h, o[6] = l, o[7] = i
- }
- function Dr(t, e, n, i, r, o, a, s, l, u, h) {
- var c, d, f, p, g, v = .005,
- m = 1 / 0;
- Xv[0] = l, Xv[1] = u;
- for (var y = 0; 1 > y; y += .05) Yv[0] = Mr(t, n, r, a, y), Yv[1] = Mr(e, i, o, s, y), p = Pp(Xv, Yv), m >
- p && (c = y, m = p);
- m = 1 / 0;
- for (var x = 0; 32 > x && !(Hv > v); x++) d = c - v, f = c + v, Yv[0] = Mr(t, n, r, a, d), Yv[1] = Mr(e, i,
- o, s, d), p = Pp(Yv, Xv), d >= 0 && m > p ? (c = d, m = p) : (Uv[0] = Mr(t, n, r, a, f), Uv[1] = Mr(
- e, i, o, s, f), g = Pp(Uv, Xv), 1 >= f && m > g ? (c = f, m = g) : v *= .5);
- return h && (h[0] = Mr(t, n, r, a, c), h[1] = Mr(e, i, o, s, c)), Vv(m)
- }
- function kr(t, e, n, i) {
- var r = 1 - i;
- return r * (r * t + 2 * i * e) + i * i * n
- }
- function Pr(t, e, n, i) {
- return 2 * ((1 - i) * (e - t) + i * (n - e))
- }
- function Or(t, e, n, i, r) {
- var o = t - 2 * e + n,
- a = 2 * (e - t),
- s = t - i,
- l = 0;
- if (br(o)) {
- if (Sr(a)) {
- var u = -s / a;
- u >= 0 && 1 >= u && (r[l++] = u)
- }
- } else {
- var h = a * a - 4 * o * s;
- if (br(h)) {
- var u = -a / (2 * o);
- u >= 0 && 1 >= u && (r[l++] = u)
- } else if (h > 0) {
- var c = Vv(h),
- u = (-a + c) / (2 * o),
- d = (-a - c) / (2 * o);
- u >= 0 && 1 >= u && (r[l++] = u), d >= 0 && 1 >= d && (r[l++] = d)
- }
- }
- return l
- }
- function Lr(t, e, n) {
- var i = t + n - 2 * e;
- return 0 === i ? .5 : (t - e) / i
- }
- function zr(t, e, n, i, r) {
- var o = (e - t) * i + t,
- a = (n - e) * i + e,
- s = (a - o) * i + o;
- r[0] = t, r[1] = o, r[2] = s, r[3] = s, r[4] = a, r[5] = n
- }
- function Er(t, e, n, i, r, o, a, s, l) {
- var u, h = .005,
- c = 1 / 0;
- Xv[0] = a, Xv[1] = s;
- for (var d = 0; 1 > d; d += .05) {
- Yv[0] = kr(t, n, r, d), Yv[1] = kr(e, i, o, d);
- var f = Pp(Xv, Yv);
- c > f && (u = d, c = f)
- }
- c = 1 / 0;
- for (var p = 0; 32 > p && !(Hv > h); p++) {
- var g = u - h,
- v = u + h;
- Yv[0] = kr(t, n, r, g), Yv[1] = kr(e, i, o, g);
- var f = Pp(Yv, Xv);
- if (g >= 0 && c > f) u = g, c = f;
- else {
- Uv[0] = kr(t, n, r, v), Uv[1] = kr(e, i, o, v);
- var m = Pp(Uv, Xv);
- 1 >= v && c > m ? (u = v, c = m) : h *= .5
- }
- }
- return l && (l[0] = kr(t, n, r, u), l[1] = kr(e, i, o, u)), Vv(c)
- }
- function Br(t, e, n) {
- if (0 !== t.length) {
- var i, r = t[0],
- o = r[0],
- a = r[0],
- s = r[1],
- l = r[1];
- for (i = 1; i < t.length; i++) r = t[i], o = jv(o, r[0]), a = qv(a, r[0]), s = jv(s, r[1]), l = qv(l, r[
- 1]);
- e[0] = o, e[1] = s, n[0] = a, n[1] = l
- }
- }
- function Rr(t, e, n, i, r, o) {
- r[0] = jv(t, n), r[1] = jv(e, i), o[0] = qv(t, n), o[1] = qv(e, i)
- }
- function Nr(t, e, n, i, r, o, a, s, l, u) {
- var h, c = Tr,
- d = Mr,
- f = c(t, n, r, a, nm);
- for (l[0] = 1 / 0, l[1] = 1 / 0, u[0] = -1 / 0, u[1] = -1 / 0, h = 0; f > h; h++) {
- var p = d(t, n, r, a, nm[h]);
- l[0] = jv(p, l[0]), u[0] = qv(p, u[0])
- }
- for (f = c(e, i, o, s, im), h = 0; f > h; h++) {
- var g = d(e, i, o, s, im[h]);
- l[1] = jv(g, l[1]), u[1] = qv(g, u[1])
- }
- l[0] = jv(t, l[0]), u[0] = qv(t, u[0]), l[0] = jv(a, l[0]), u[0] = qv(a, u[0]), l[1] = jv(e, l[1]), u[1] =
- qv(e, u[1]), l[1] = jv(s, l[1]), u[1] = qv(s, u[1])
- }
- function Fr(t, e, n, i, r, o, a, s) {
- var l = Lr,
- u = kr,
- h = qv(jv(l(t, n, r), 1), 0),
- c = qv(jv(l(e, i, o), 1), 0),
- d = u(t, n, r, h),
- f = u(e, i, o, c);
- a[0] = jv(t, r, d), a[1] = jv(e, o, f), s[0] = qv(t, r, d), s[1] = qv(e, o, f)
- }
- function Vr(t, e, n, i, r, o, a, s, l) {
- var u = ae,
- h = se,
- c = Math.abs(r - o);
- if (1e-4 > c % Qv && c > 1e-4) return s[0] = t - n, s[1] = e - i, l[0] = t + n, void(l[1] = e + i);
- if (Jv[0] = $v(r) * n + t, Jv[1] = Kv(r) * i + e, tm[0] = $v(o) * n + t, tm[1] = Kv(o) * i + e, u(s, Jv,
- tm), h(l, Jv, tm), r %= Qv, 0 > r && (r += Qv), o %= Qv, 0 > o && (o += Qv), r > o && !a ? o += Qv : o >
- r && a && (r += Qv), a) {
- var d = o;
- o = r, r = d
- }
- for (var f = 0; o > f; f += Math.PI / 2) f > r && (em[0] = $v(f) * n + t, em[1] = Kv(f) * i + e, u(s, em,
- s), h(l, em, l))
- }
- function Wr(t, e, n, i, r, o, a) {
- if (0 === r) return !1;
- var s = r,
- l = 0,
- u = t;
- if (a > e + s && a > i + s || e - s > a && i - s > a || o > t + s && o > n + s || t - s > o && n - s > o)
- return !1;
- if (t === n) return Math.abs(o - t) <= s / 2;
- l = (e - i) / (t - n), u = (t * i - n * e) / (t - n);
- var h = l * o - a + u,
- c = h * h / (l * l + 1);
- return s / 2 * s / 2 >= c
- }
- function Hr(t, e, n, i, r, o, a, s, l, u, h) {
- if (0 === l) return !1;
- var c = l;
- if (h > e + c && h > i + c && h > o + c && h > s + c || e - c > h && i - c > h && o - c > h && s - c > h ||
- u > t + c && u > n + c && u > r + c && u > a + c || t - c > u && n - c > u && r - c > u && a - c > u)
- return !1;
- var d = Dr(t, e, n, i, r, o, a, s, u, h, null);
- return c / 2 >= d
- }
- function Gr(t, e, n, i, r, o, a, s, l) {
- if (0 === a) return !1;
- var u = a;
- if (l > e + u && l > i + u && l > o + u || e - u > l && i - u > l && o - u > l || s > t + u && s > n + u &&
- s > r + u || t - u > s && n - u > s && r - u > s) return !1;
- var h = Er(t, e, n, i, r, o, s, l, null);
- return u / 2 >= h
- }
- function Zr(t) {
- return t %= mm, 0 > t && (t += mm), t
- }
- function Xr(t, e, n, i, r, o, a, s, l) {
- if (0 === a) return !1;
- var u = a;
- s -= t, l -= e;
- var h = Math.sqrt(s * s + l * l);
- if (h - u > n || n > h + u) return !1;
- if (Math.abs(i - r) % ym < 1e-4) return !0;
- if (o) {
- var c = i;
- i = Zr(r), r = Zr(c)
- } else i = Zr(i), r = Zr(r);
- i > r && (r += ym);
- var d = Math.atan2(l, s);
- return 0 > d && (d += ym), d >= i && r >= d || d + ym >= i && r >= d + ym
- }
- function Yr(t, e, n, i, r, o) {
- if (o > e && o > i || e > o && i > o) return 0;
- if (i === e) return 0;
- var a = e > i ? 1 : -1,
- s = (o - e) / (i - e);
- (1 === s || 0 === s) && (a = e > i ? .5 : -.5);
- var l = s * (n - t) + t;
- return l === r ? 1 / 0 : l > r ? a : 0
- }
- function Ur(t, e) {
- return Math.abs(t - e) < wm
- }
- function jr() {
- var t = Sm[0];
- Sm[0] = Sm[1], Sm[1] = t
- }
- function qr(t, e, n, i, r, o, a, s, l, u) {
- if (u > e && u > i && u > o && u > s || e > u && i > u && o > u && s > u) return 0;
- var h = Cr(e, i, o, s, u, bm);
- if (0 === h) return 0;
- for (var c, d, f = 0, p = -1, g = 0; h > g; g++) {
- var v = bm[g],
- m = 0 === v || 1 === v ? .5 : 1,
- y = Mr(t, n, r, a, v);
- l > y || (0 > p && (p = Tr(e, i, o, s, Sm), Sm[1] < Sm[0] && p > 1 && jr(), c = Mr(e, i, o, s, Sm[0]),
- p > 1 && (d = Mr(e, i, o, s, Sm[1]))), f += 2 === p ? v < Sm[0] ? e > c ? m : -m : v < Sm[
- 1] ? c > d ? m : -m : d > s ? m : -m : v < Sm[0] ? e > c ? m : -m : c > s ? m : -m)
- }
- return f
- }
- function Kr(t, e, n, i, r, o, a, s) {
- if (s > e && s > i && s > o || e > s && i > s && o > s) return 0;
- var l = Or(e, i, o, s, bm);
- if (0 === l) return 0;
- var u = Lr(e, i, o);
- if (u >= 0 && 1 >= u) {
- for (var h = 0, c = kr(e, i, o, u), d = 0; l > d; d++) {
- var f = 0 === bm[d] || 1 === bm[d] ? .5 : 1,
- p = kr(t, n, r, bm[d]);
- a > p || (h += bm[d] < u ? e > c ? f : -f : c > o ? f : -f)
- }
- return h
- }
- var f = 0 === bm[0] || 1 === bm[0] ? .5 : 1,
- p = kr(t, n, r, bm[0]);
- return a > p ? 0 : e > o ? f : -f
- }
- function $r(t, e, n, i, r, o, a, s) {
- if (s -= e, s > n || -n > s) return 0;
- var l = Math.sqrt(n * n - s * s);
- bm[0] = -l, bm[1] = l;
- var u = Math.abs(i - r);
- if (1e-4 > u) return 0;
- if (1e-4 > u % _m) {
- i = 0, r = _m;
- var h = o ? 1 : -1;
- return a >= bm[0] + t && a <= bm[1] + t ? h : 0
- }
- if (o) {
- var l = i;
- i = Zr(r), r = Zr(l)
- } else i = Zr(i), r = Zr(r);
- i > r && (r += _m);
- for (var c = 0, d = 0; 2 > d; d++) {
- var f = bm[d];
- if (f + t > a) {
- var p = Math.atan2(s, f),
- h = o ? 1 : -1;
- 0 > p && (p = _m + p), (p >= i && r >= p || p + _m >= i && r >= p + _m) && (p > Math.PI / 2 && p <
- 1.5 * Math.PI && (h = -h), c += h)
- }
- }
- return c
- }
- function Qr(t, e, n, i, r) {
- for (var o = 0, a = 0, s = 0, l = 0, u = 0, h = 0; h < t.length;) {
- var c = t[h++];
- switch (c === xm.M && h > 1 && (n || (o += Yr(a, s, l, u, i, r))), 1 === h && (a = t[h], s = t[h + 1],
- l = a, u = s), c) {
- case xm.M:
- l = t[h++], u = t[h++], a = l, s = u;
- break;
- case xm.L:
- if (n) {
- if (Wr(a, s, t[h], t[h + 1], e, i, r)) return !0
- } else o += Yr(a, s, t[h], t[h + 1], i, r) || 0;
- a = t[h++], s = t[h++];
- break;
- case xm.C:
- if (n) {
- if (Hr(a, s, t[h++], t[h++], t[h++], t[h++], t[h], t[h + 1], e, i, r)) return !0
- } else o += qr(a, s, t[h++], t[h++], t[h++], t[h++], t[h], t[h + 1], i, r) || 0;
- a = t[h++], s = t[h++];
- break;
- case xm.Q:
- if (n) {
- if (Gr(a, s, t[h++], t[h++], t[h], t[h + 1], e, i, r)) return !0
- } else o += Kr(a, s, t[h++], t[h++], t[h], t[h + 1], i, r) || 0;
- a = t[h++], s = t[h++];
- break;
- case xm.A:
- var d = t[h++],
- f = t[h++],
- p = t[h++],
- g = t[h++],
- v = t[h++],
- m = t[h++];
- h += 1;
- var y = 1 - t[h++],
- x = Math.cos(v) * p + d,
- _ = Math.sin(v) * g + f;
- h > 1 ? o += Yr(a, s, x, _, i, r) : (l = x, u = _);
- var w = (i - d) * g / p + d;
- if (n) {
- if (Xr(d, f, g, v, v + m, y, e, w, r)) return !0
- } else o += $r(d, f, g, v, v + m, y, w, r);
- a = Math.cos(v + m) * p + d, s = Math.sin(v + m) * g + f;
- break;
- case xm.R:
- l = a = t[h++], u = s = t[h++];
- var b = t[h++],
- S = t[h++],
- x = l + b,
- _ = u + S;
- if (n) {
- if (Wr(l, u, x, u, e, i, r) || Wr(x, u, x, _, e, i, r) || Wr(x, _, l, _, e, i, r) || Wr(l,
- _, l, u, e, i, r)) return !0
- } else o += Yr(x, u, x, _, i, r), o += Yr(l, _, l, u, i, r);
- break;
- case xm.Z:
- if (n) {
- if (Wr(a, s, l, u, e, i, r)) return !0
- } else o += Yr(a, s, l, u, i, r);
- a = l, s = u
- }
- }
- return n || Ur(s, u) || (o += Yr(a, s, l, u, i, r) || 0), 0 !== o
- }
- function Jr(t, e, n) {
- return Qr(t, 0, !1, e, n)
- }
- function to(t, e, n, i) {
- return Qr(t, e, !0, n, i)
- }
- function eo(t) {
- Ti.call(this, t), this.path = null
- }
- function no(t, e, n, i, r, o, a, s, l, u, h) {
- var c = l * (Em / 180),
- d = zm(c) * (t - n) / 2 + Lm(c) * (e - i) / 2,
- f = -1 * Lm(c) * (t - n) / 2 + zm(c) * (e - i) / 2,
- p = d * d / (a * a) + f * f / (s * s);
- p > 1 && (a *= Om(p), s *= Om(p));
- var g = (r === o ? -1 : 1) * Om((a * a * s * s - a * a * f * f - s * s * d * d) / (a * a * f * f + s * s *
- d * d)) || 0,
- v = g * a * f / s,
- m = g * -s * d / a,
- y = (t + n) / 2 + zm(c) * v - Lm(c) * m,
- x = (e + i) / 2 + Lm(c) * v + zm(c) * m,
- _ = Nm([1, 0], [(d - v) / a, (f - m) / s]),
- w = [(d - v) / a, (f - m) / s],
- b = [(-1 * d - v) / a, (-1 * f - m) / s],
- S = Nm(w, b);
- Rm(w, b) <= -1 && (S = Em), Rm(w, b) >= 1 && (S = 0), 0 === o && S > 0 && (S -= 2 * Em), 1 === o && 0 > S &&
- (S += 2 * Em), h.addData(u, y, x, a, s, _, S, c, o)
- }
- function io(t) {
- if (!t) return new vm;
- for (var e, n = 0, i = 0, r = n, o = i, a = new vm, s = vm.CMD, l = t.match(Fm), u = 0; u < l.length; u++) {
- for (var h, c = l[u], d = c.charAt(0), f = c.match(Vm) || [], p = f.length, g = 0; p > g; g++) f[g] =
- parseFloat(f[g]);
- for (var v = 0; p > v;) {
- var m, y, x, _, w, b, S, M = n,
- I = i;
- switch (d) {
- case "l":
- n += f[v++], i += f[v++], h = s.L, a.addData(h, n, i);
- break;
- case "L":
- n = f[v++], i = f[v++], h = s.L, a.addData(h, n, i);
- break;
- case "m":
- n += f[v++], i += f[v++], h = s.M, a.addData(h, n, i), r = n, o = i, d = "l";
- break;
- case "M":
- n = f[v++], i = f[v++], h = s.M, a.addData(h, n, i), r = n, o = i, d = "L";
- break;
- case "h":
- n += f[v++], h = s.L, a.addData(h, n, i);
- break;
- case "H":
- n = f[v++], h = s.L, a.addData(h, n, i);
- break;
- case "v":
- i += f[v++], h = s.L, a.addData(h, n, i);
- break;
- case "V":
- i = f[v++], h = s.L, a.addData(h, n, i);
- break;
- case "C":
- h = s.C, a.addData(h, f[v++], f[v++], f[v++], f[v++], f[v++], f[v++]), n = f[v - 2], i = f[
- v - 1];
- break;
- case "c":
- h = s.C, a.addData(h, f[v++] + n, f[v++] + i, f[v++] + n, f[v++] + i, f[v++] + n, f[v++] +
- i), n += f[v - 2], i += f[v - 1];
- break;
- case "S":
- m = n, y = i;
- var C = a.len(),
- T = a.data;
- e === s.C && (m += n - T[C - 4], y += i - T[C - 3]), h = s.C, M = f[v++], I = f[v++], n = f[
- v++], i = f[v++], a.addData(h, m, y, M, I, n, i);
- break;
- case "s":
- m = n, y = i;
- var C = a.len(),
- T = a.data;
- e === s.C && (m += n - T[C - 4], y += i - T[C - 3]), h = s.C, M = n + f[v++], I = i + f[
- v++], n += f[v++], i += f[v++], a.addData(h, m, y, M, I, n, i);
- break;
- case "Q":
- M = f[v++], I = f[v++], n = f[v++], i = f[v++], h = s.Q, a.addData(h, M, I, n, i);
- break;
- case "q":
- M = f[v++] + n, I = f[v++] + i, n += f[v++], i += f[v++], h = s.Q, a.addData(h, M, I, n, i);
- break;
- case "T":
- m = n, y = i;
- var C = a.len(),
- T = a.data;
- e === s.Q && (m += n - T[C - 4], y += i - T[C - 3]), n = f[v++], i = f[v++], h = s.Q, a
- .addData(h, m, y, n, i);
- break;
- case "t":
- m = n, y = i;
- var C = a.len(),
- T = a.data;
- e === s.Q && (m += n - T[C - 4], y += i - T[C - 3]), n += f[v++], i += f[v++], h = s.Q, a
- .addData(h, m, y, n, i);
- break;
- case "A":
- x = f[v++], _ = f[v++], w = f[v++], b = f[v++], S = f[v++], M = n, I = i, n = f[v++], i = f[
- v++], h = s.A, no(M, I, n, i, b, S, x, _, w, h, a);
- break;
- case "a":
- x = f[v++], _ = f[v++], w = f[v++], b = f[v++], S = f[v++], M = n, I = i, n += f[v++], i +=
- f[v++], h = s.A, no(M, I, n, i, b, S, x, _, w, h, a)
- }
- }("z" === d || "Z" === d) && (h = s.Z, a.addData(h), n = r, i = o), e = h
- }
- return a.toStatic(), a
- }
- function ro(t, e) {
- var n = io(t);
- return e = e || {}, e.buildPath = function(t) {
- if (t.setData) {
- t.setData(n.data);
- var e = t.getContext();
- e && t.rebuildPath(e)
- } else {
- var e = t;
- n.rebuildPath(e)
- }
- }, e.applyTransform = function(t) {
- Pm(n, t), this.dirty(!0)
- }, e
- }
- function oo(t, e) {
- return new eo(ro(t, e))
- }
- function ao(t, e) {
- return eo.extend(ro(t, e))
- }
- function so(t, e) {
- for (var n = [], i = t.length, r = 0; i > r; r++) {
- var o = t[r];
- o.path || o.createPathProxy(), o.__dirtyPath && o.buildPath(o.path, o.shape, !0), n.push(o.path)
- }
- var a = new eo(e);
- return a.createPathProxy(), a.buildPath = function(t) {
- t.appendPath(n);
- var e = t.getContext();
- e && t.rebuildPath(e)
- }, a
- }
- function lo(t, e, n, i, r, o, a) {
- var s = .5 * (n - t),
- l = .5 * (i - e);
- return (2 * (e - n) + s + l) * a + (-3 * (e - n) - 2 * s - l) * o + s * r + e
- }
- function uo(t, e, n) {
- var i = e.points,
- r = e.smooth;
- if (i && i.length >= 2) {
- if (r && "spline" !== r) {
- var o = jm(i, r, n, e.smoothConstraint);
- t.moveTo(i[0][0], i[0][1]);
- for (var a = i.length, s = 0;
- (n ? a : a - 1) > s; s++) {
- var l = o[2 * s],
- u = o[2 * s + 1],
- h = i[(s + 1) % a];
- t.bezierCurveTo(l[0], l[1], u[0], u[1], h[0], h[1])
- }
- } else {
- "spline" === r && (i = Um(i, n)), t.moveTo(i[0][0], i[0][1]);
- for (var s = 1, c = i.length; c > s; s++) t.lineTo(i[s][0], i[s][1])
- }
- n && t.closePath()
- }
- }
- function ho(t, e, n) {
- if (e) {
- var i = e.x1,
- r = e.x2,
- o = e.y1,
- a = e.y2;
- t.x1 = i, t.x2 = r, t.y1 = o, t.y2 = a;
- var s = n && n.lineWidth;
- s && ($m(2 * i) === $m(2 * r) && (t.x1 = t.x2 = fo(i, s, !0)), $m(2 * o) === $m(2 * a) && (t.y1 = t.y2 =
- fo(o, s, !0)))
- }
- }
- function co(t, e, n) {
- if (e) {
- var i = e.x,
- r = e.y,
- o = e.width,
- a = e.height;
- t.x = i, t.y = r, t.width = o, t.height = a;
- var s = n && n.lineWidth;
- s && (t.x = fo(i, s, !0), t.y = fo(r, s, !0), t.width = Math.max(fo(i + o, s, !1) - t.x, 0 === o ? 0 :
- 1), t.height = Math.max(fo(r + a, s, !1) - t.y, 0 === a ? 0 : 1))
- }
- }
- function fo(t, e, n) {
- if (!e) return t;
- var i = $m(2 * t);
- return (i + $m(e)) % 2 === 0 ? i / 2 : (i + (n ? 1 : -1)) / 2
- }
- function po(t, e, n) {
- var i = t.cpx2,
- r = t.cpy2;
- return null === i || null === r ? [(n ? Ir : Mr)(t.x1, t.cpx1, t.cpx2, t.x2, e), (n ? Ir : Mr)(t.y1, t.cpy1,
- t.cpy2, t.y2, e)] : [(n ? Pr : kr)(t.x1, t.cpx1, t.x2, e), (n ? Pr : kr)(t.y1, t.cpy1, t.y2, e)]
- }
- function go(t) {
- Ti.call(this, t), this._displayables = [], this._temporaryDisplayables = [], this._cursor = 0, this
- .notClear = !0
- }
- function vo(t) {
- return eo.extend(t)
- }
- function mo(t, e) {
- return ao(t, e)
- }
- function yo(t, e) {
- xy[t] = e
- }
- function xo(t) {
- return xy.hasOwnProperty(t) ? xy[t] : void 0
- }
- function _o(t, e, n, i) {
- var r = oo(t, e);
- return n && ("center" === i && (n = bo(n, r.getBoundingRect())), So(r, n)), r
- }
- function wo(t, e, n) {
- var i = new Ai({
- style: {
- image: t,
- x: e.x,
- y: e.y,
- width: e.width,
- height: e.height
- },
- onload: function(t) {
- if ("center" === n) {
- var r = {
- width: t.width,
- height: t.height
- };
- i.setStyle(bo(e, r))
- }
- }
- });
- return i
- }
- function bo(t, e) {
- var n, i = e.width / e.height,
- r = t.height * i;
- r <= t.width ? n = t.height : (r = t.width, n = r / i);
- var o = t.x + t.width / 2,
- a = t.y + t.height / 2;
- return {
- x: o - r / 2,
- y: a - n / 2,
- width: r,
- height: n
- }
- }
- function So(t, e) {
- if (t.applyTransform) {
- var n = t.getBoundingRect(),
- i = n.calculateTransform(e);
- t.applyTransform(i)
- }
- }
- function Mo(t) {
- return ho(t.shape, t.shape, t.style), t
- }
- function Io(t) {
- return co(t.shape, t.shape, t.style), t
- }
- function Co(t) {
- return null != t && "none" !== t
- }
- function To(t) {
- if ("string" != typeof t) return t;
- var e = by.get(t);
- return e || (e = rn(t, -.1), 1e4 > Sy && (by.set(t, e), Sy++)), e
- }
- function Ao(t) {
- if (t.__hoverStlDirty) {
- t.__hoverStlDirty = !1;
- var e = t.__hoverStl;
- if (!e) return void(t.__cachedNormalStl = t.__cachedNormalZ2 = null);
- var n = t.__cachedNormalStl = {};
- t.__cachedNormalZ2 = t.z2;
- var i = t.style;
- for (var r in e) null != e[r] && (n[r] = i[r]);
- n.fill = i.fill, n.stroke = i.stroke
- }
- }
- function Do(t) {
- var e = t.__hoverStl;
- if (e && !t.__highlighted) {
- var n = t.__zr,
- i = t.useHoverLayer && n && "canvas" === n.painter.type;
- if (t.__highlighted = i ? "layer" : "plain", !(t.isGroup || !n && t.useHoverLayer)) {
- var r = t,
- o = t.style;
- i && (r = n.addHover(t), o = r.style), Qo(o), i || Ao(r), o.extendFrom(e), ko(o, e, "fill"), ko(o,
- e, "stroke"), $o(o), i || (t.dirty(!1), t.z2 += fy)
- }
- }
- }
- function ko(t, e, n) {
- !Co(e[n]) && Co(t[n]) && (t[n] = To(t[n]))
- }
- function Po(t) {
- var e = t.__highlighted;
- if (e && (t.__highlighted = !1, !t.isGroup))
- if ("layer" === e) t.__zr && t.__zr.removeHover(t);
- else {
- var n = t.style,
- i = t.__cachedNormalStl;
- i && (Qo(n), t.setStyle(i), $o(n));
- var r = t.__cachedNormalZ2;
- null != r && t.z2 - r === fy && (t.z2 = r)
- }
- }
- function Oo(t, e, n) {
- var i, r = vy,
- o = vy;
- t.__highlighted && (r = gy, i = !0), e(t, n), t.__highlighted && (o = gy, i = !0), t.isGroup && t.traverse(
- function(t) {
- !t.isGroup && e(t, n)
- }), i && t.__highDownOnUpdate && t.__highDownOnUpdate(r, o)
- }
- function Lo(t, e) {
- e = t.__hoverStl = e !== !1 && (t.hoverStyle || e || {}), t.__hoverStlDirty = !0, t.__highlighted && (t
- .__cachedNormalStl = null, Po(t), Do(t))
- }
- function zo(t) {
- !No(this, t) && !this.__highByOuter && Oo(this, Do)
- }
- function Eo(t) {
- !No(this, t) && !this.__highByOuter && Oo(this, Po)
- }
- function Bo(t) {
- this.__highByOuter |= 1 << (t || 0), Oo(this, Do)
- }
- function Ro(t) {
- !(this.__highByOuter &= ~(1 << (t || 0))) && Oo(this, Po)
- }
- function No(t, e) {
- return t.__highDownSilentOnTouch && e.zrByTouch
- }
- function Fo(t, e) {
- Vo(t, !0), Oo(t, Lo, e)
- }
- function Vo(t, e) {
- var n = e === !1;
- if (t.__highDownSilentOnTouch = t.highDownSilentOnTouch, t.__highDownOnUpdate = t.highDownOnUpdate, !n || t
- .__highDownDispatcher) {
- var i = n ? "off" : "on";
- t[i]("mouseover", zo)[i]("mouseout", Eo), t[i]("emphasis", Bo)[i]("normal", Ro), t.__highByOuter = t
- .__highByOuter || 0, t.__highDownDispatcher = !n
- }
- }
- function Wo(t) {
- return !(!t || !t.__highDownDispatcher)
- }
- function Ho(t) {
- var e = yy[t];
- return null == e && 32 >= my && (e = yy[t] = my++), e
- }
- function Go(t, e, n, i, r, o, a) {
- r = r || dy;
- var s, l = r.labelFetcher,
- u = r.labelDataIndex,
- h = r.labelDimIndex,
- c = r.labelProp,
- d = n.getShallow("show"),
- f = i.getShallow("show");
- (d || f) && (l && (s = l.getFormattedLabel(u, "normal", null, h, c)), null == s && (s = w(r.defaultText) ? r
- .defaultText(u, r) : r.defaultText));
- var p = d ? s : null,
- g = f ? D(l ? l.getFormattedLabel(u, "emphasis", null, h, c) : null, s) : null;
- (null != p || null != g) && (Xo(t, n, o, r), Xo(e, i, a, r, !0)), t.text = p, e.text = g
- }
- function Zo(t, e, n) {
- var i = t.style;
- e && (Qo(i), t.setStyle(e), $o(i)), i = t.__hoverStl, n && i && (Qo(i), a(i, n), $o(i))
- }
- function Xo(t, e, n, i, r) {
- return Uo(t, e, i, r), n && a(t, n), t
- }
- function Yo(t, e, n) {
- var i, r = {
- isRectText: !0
- };
- n === !1 ? i = !0 : r.autoColor = n, Uo(t, e, r, i)
- }
- function Uo(t, e, n, i) {
- if (n = n || dy, n.isRectText) {
- var r;
- n.getTextPosition ? r = n.getTextPosition(e, i) : (r = e.getShallow("position") || (i ? null :
- "inside"), "outside" === r && (r = "top")), t.textPosition = r, t.textOffset = e.getShallow(
- "offset");
- var o = e.getShallow("rotate");
- null != o && (o *= Math.PI / 180), t.textRotation = o, t.textDistance = D(e.getShallow("distance"), i ?
- null : 5)
- }
- var a, s = e.ecModel,
- l = s && s.option.textStyle,
- u = jo(e);
- if (u) {
- a = {};
- for (var h in u)
- if (u.hasOwnProperty(h)) {
- var c = e.getModel(["rich", h]);
- qo(a[h] = {}, c, l, n, i)
- }
- }
- return t.rich = a, qo(t, e, l, n, i, !0), n.forceRich && !n.textStyle && (n.textStyle = {}), t
- }
- function jo(t) {
- for (var e; t && t !== t.ecModel;) {
- var n = (t.option || dy).rich;
- if (n) {
- e = e || {};
- for (var i in n) n.hasOwnProperty(i) && (e[i] = 1)
- }
- t = t.parentModel
- }
- return e
- }
- function qo(t, e, n, i, r, o) {
- n = !r && n || dy, t.textFill = Ko(e.getShallow("color"), i) || n.color, t.textStroke = Ko(e.getShallow(
- "textBorderColor"), i) || n.textBorderColor, t.textStrokeWidth = D(e.getShallow("textBorderWidth"),
- n.textBorderWidth), r || (o && (t.insideRollbackOpt = i, $o(t)), null == t.textFill && (t.textFill =
- i.autoColor)), t.fontStyle = e.getShallow("fontStyle") || n.fontStyle, t.fontWeight = e.getShallow(
- "fontWeight") || n.fontWeight, t.fontSize = e.getShallow("fontSize") || n.fontSize, t.fontFamily = e
- .getShallow("fontFamily") || n.fontFamily, t.textAlign = e.getShallow("align"), t.textVerticalAlign = e
- .getShallow("verticalAlign") || e.getShallow("baseline"), t.textLineHeight = e.getShallow("lineHeight"),
- t.textWidth = e.getShallow("width"), t.textHeight = e.getShallow("height"), t.textTag = e.getShallow(
- "tag"), o && i.disableBox || (t.textBackgroundColor = Ko(e.getShallow("backgroundColor"), i), t
- .textPadding = e.getShallow("padding"), t.textBorderColor = Ko(e.getShallow("borderColor"), i), t
- .textBorderWidth = e.getShallow("borderWidth"), t.textBorderRadius = e.getShallow("borderRadius"), t
- .textBoxShadowColor = e.getShallow("shadowColor"), t.textBoxShadowBlur = e.getShallow("shadowBlur"),
- t.textBoxShadowOffsetX = e.getShallow("shadowOffsetX"), t.textBoxShadowOffsetY = e.getShallow(
- "shadowOffsetY")), t.textShadowColor = e.getShallow("textShadowColor") || n.textShadowColor, t
- .textShadowBlur = e.getShallow("textShadowBlur") || n.textShadowBlur, t.textShadowOffsetX = e
- .getShallow("textShadowOffsetX") || n.textShadowOffsetX, t.textShadowOffsetY = e.getShallow(
- "textShadowOffsetY") || n.textShadowOffsetY
- }
- function Ko(t, e) {
- return "auto" !== t ? t : e && e.autoColor ? e.autoColor : null
- }
- function $o(t) {
- var e, n = t.textPosition,
- i = t.insideRollbackOpt;
- if (i && null == t.textFill) {
- var r = i.autoColor,
- o = i.isRectText,
- a = i.useInsideStyle,
- s = a !== !1 && (a === !0 || o && n && "string" == typeof n && n.indexOf("inside") >= 0),
- l = !s && null != r;
- (s || l) && (e = {
- textFill: t.textFill,
- textStroke: t.textStroke,
- textStrokeWidth: t.textStrokeWidth
- }), s && (t.textFill = "#fff", null == t.textStroke && (t.textStroke = r, null == t.textStrokeWidth && (
- t.textStrokeWidth = 2))), l && (t.textFill = r)
- }
- t.insideRollback = e
- }
- function Qo(t) {
- var e = t.insideRollback;
- e && (t.textFill = e.textFill, t.textStroke = e.textStroke, t.textStrokeWidth = e.textStrokeWidth, t
- .insideRollback = null)
- }
- function Jo(t, e) {
- var n = e && e.getModel("textStyle");
- return z([t.fontStyle || n && n.getShallow("fontStyle") || "", t.fontWeight || n && n.getShallow(
- "fontWeight") || "", (t.fontSize || n && n.getShallow("fontSize") || 12) + "px", t
- .fontFamily || n && n.getShallow("fontFamily") || "sans-serif"
- ].join(" "))
- }
- function ta(t, e, n, i, r, o) {
- "function" == typeof r && (o = r, r = null);
- var a = i && i.isAnimationEnabled();
- if (a) {
- var s = t ? "Update" : "",
- l = i.getShallow("animationDuration" + s),
- u = i.getShallow("animationEasing" + s),
- h = i.getShallow("animationDelay" + s);
- "function" == typeof h && (h = h(r, i.getAnimationDelayParams ? i.getAnimationDelayParams(e, r) :
- null)), "function" == typeof l && (l = l(r)), l > 0 ? e.animateTo(n, l, h || 0, u, o, !!o) : (e
- .stopAnimation(), e.attr(n), o && o())
- } else e.stopAnimation(), e.attr(n), o && o()
- }
- function ea(t, e, n, i, r) {
- ta(!0, t, e, n, i, r)
- }
- function na(t, e, n, i, r) {
- ta(!1, t, e, n, i, r)
- }
- function ia(t, e) {
- for (var n = ze([]); t && t !== e;) Be(n, t.getLocalTransform(), n), t = t.parent;
- return n
- }
- function ra(t, e, n) {
- return e && !d(e) && (e = $p.getLocalTransform(e)), n && (e = Ve([], e)), oe([], t, e)
- }
- function oa(t, e, n) {
- var i = 0 === e[4] || 0 === e[5] || 0 === e[0] ? 1 : Math.abs(2 * e[4] / e[0]),
- r = 0 === e[4] || 0 === e[5] || 0 === e[2] ? 1 : Math.abs(2 * e[4] / e[2]),
- o = ["left" === t ? -i : "right" === t ? i : 0, "top" === t ? -r : "bottom" === t ? r : 0];
- return o = ra(o, e, n), Math.abs(o[0]) > Math.abs(o[1]) ? o[0] > 0 ? "right" : "left" : o[1] > 0 ?
- "bottom" : "top"
- }
- function aa(t, e, n) {
- function i(t) {
- var e = {};
- return t.traverse(function(t) {
- !t.isGroup && t.anid && (e[t.anid] = t)
- }), e
- }
- function r(t) {
- var e = {
- position: G(t.position),
- rotation: t.rotation
- };
- return t.shape && (e.shape = a({}, t.shape)), e
- }
- if (t && e) {
- var o = i(t);
- e.traverse(function(t) {
- if (!t.isGroup && t.anid) {
- var e = o[t.anid];
- if (e) {
- var i = r(t);
- t.attr(r(e)), ea(t, i, n, t.dataIndex)
- }
- }
- })
- }
- }
- function sa(t, e) {
- return p(t, function(t) {
- var n = t[0];
- n = hy(n, e.x), n = cy(n, e.x + e.width);
- var i = t[1];
- return i = hy(i, e.y), i = cy(i, e.y + e.height), [n, i]
- })
- }
- function la(t, e) {
- var n = hy(t.x, e.x),
- i = cy(t.x + t.width, e.x + e.width),
- r = hy(t.y, e.y),
- o = cy(t.y + t.height, e.y + e.height);
- return i >= n && o >= r ? {
- x: n,
- y: r,
- width: i - n,
- height: o - r
- } : void 0
- }
- function ua(t, e, n) {
- e = a({
- rectHover: !0
- }, e);
- var i = e.style = {
- strokeNoScale: !0
- };
- return n = n || {
- x: -1,
- y: -1,
- width: 2,
- height: 2
- }, t ? 0 === t.indexOf("image://") ? (i.image = t.slice(8), s(i, n), new Ai(e)) : _o(t.replace(
- "path://", ""), e, n, "center") : void 0
- }
- function ha(t, e, n, i, r) {
- for (var o = 0, a = r[r.length - 1]; o < r.length; o++) {
- var s = r[o];
- if (ca(t, e, n, i, s[0], s[1], a[0], a[1])) return !0;
- a = s
- }
- }
- function ca(t, e, n, i, r, o, a, s) {
- var l = n - t,
- u = i - e,
- h = a - r,
- c = s - o,
- d = da(h, c, l, u);
- if (fa(d)) return !1;
- var f = t - r,
- p = e - o,
- g = da(f, p, l, u) / d;
- if (0 > g || g > 1) return !1;
- var v = da(f, p, h, c) / d;
- return 0 > v || v > 1 ? !1 : !0
- }
- function da(t, e, n, i) {
- return t * i - n * e
- }
- function fa(t) {
- return 1e-6 >= t && t >= -1e-6
- }
- function pa(t, e, n) {
- this.parentModel = e, this.ecModel = n, this.option = t
- }
- function ga(t, e, n) {
- for (var i = 0; i < e.length && (!e[i] || (t = t && "object" == typeof t ? t[e[i]] : null, null != t)); i++)
- ;
- return null == t && n && (t = n.get(e)), t
- }
- function va(t, e) {
- var n = ky(t).getParent;
- return n ? n.call(t, e) : t.parentModel
- }
- function ma(t) {
- return [t || "", Py++, Math.random().toFixed(5)].join("_")
- }
- function ya(t) {
- var e = {};
- return t.registerSubTypeDefaulter = function(t, n) {
- t = gr(t), e[t.main] = n
- }, t.determineSubType = function(n, i) {
- var r = i.type;
- if (!r) {
- var o = gr(n).main;
- t.hasSubTypes(n) && e[o] && (r = e[o](i))
- }
- return r
- }, t
- }
- function xa(t, e) {
- function n(t) {
- var n = {},
- o = [];
- return f(t, function(a) {
- var s = i(n, a),
- l = s.originalDeps = e(a),
- h = r(l, t);
- s.entryCount = h.length, 0 === s.entryCount && o.push(a), f(h, function(t) {
- u(s.predecessor, t) < 0 && s.predecessor.push(t);
- var e = i(n, t);
- u(e.successor, t) < 0 && e.successor.push(a)
- })
- }), {
- graph: n,
- noEntryList: o
- }
- }
- function i(t, e) {
- return t[e] || (t[e] = {
- predecessor: [],
- successor: []
- }), t[e]
- }
- function r(t, e) {
- var n = [];
- return f(t, function(t) {
- u(e, t) >= 0 && n.push(t)
- }), n
- }
- t.topologicalTravel = function(t, e, i, r) {
- function o(t) {
- l[t].entryCount--, 0 === l[t].entryCount && u.push(t)
- }
- function a(t) {
- h[t] = !0, o(t)
- }
- if (t.length) {
- var s = n(e),
- l = s.graph,
- u = s.noEntryList,
- h = {};
- for (f(t, function(t) {
- h[t] = !0
- }); u.length;) {
- var c = u.pop(),
- d = l[c],
- p = !!h[c];
- p && (i.call(r, c, d.originalDeps.slice()), delete h[c]), f(d.successor, p ? a : o)
- }
- f(h, function() {
- throw new Error("Circle dependency may exists")
- })
- }
- }
- }
- function _a(t) {
- return t.replace(/^\s+|\s+$/g, "")
- }
- function wa(t, e, n, i) {
- var r = e[1] - e[0],
- o = n[1] - n[0];
- if (0 === r) return 0 === o ? n[0] : (n[0] + n[1]) / 2;
- if (i)
- if (r > 0) {
- if (t <= e[0]) return n[0];
- if (t >= e[1]) return n[1]
- } else {
- if (t >= e[0]) return n[0];
- if (t <= e[1]) return n[1]
- }
- else {
- if (t === e[0]) return n[0];
- if (t === e[1]) return n[1]
- }
- return (t - e[0]) / r * o + n[0]
- }
- function ba(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 ? _a(t).match(/%$/) ? parseFloat(t) / 100 * e : parseFloat(t) : null == t ? 0 /
- 0 : +t
- }
- function Sa(t, e, n) {
- return null == e && (e = 10), e = Math.min(Math.max(0, e), 20), t = (+t).toFixed(e), n ? t : +t
- }
- function Ma(t) {
- return t.sort(function(t, e) {
- return t - e
- }), t
- }
- function Ia(t) {
- if (t = +t, isNaN(t)) return 0;
- for (var e = 1, n = 0; Math.round(t * e) / e !== t;) e *= 10, n++;
- return n
- }
- function Ca(t) {
- var e = t.toString(),
- n = e.indexOf("e");
- if (n > 0) {
- var i = +e.slice(n + 1);
- return 0 > i ? -i : 0
- }
- var r = e.indexOf(".");
- return 0 > r ? 0 : e.length - 1 - r
- }
- function Ta(t, e) {
- var n = Math.log,
- i = Math.LN10,
- r = Math.floor(n(t[1] - t[0]) / i),
- o = Math.round(n(Math.abs(e[1] - e[0])) / i),
- a = Math.min(Math.max(-r + o, 0), 20);
- return isFinite(a) ? a : 20
- }
- function Aa(t, e, n) {
- if (!t[e]) return 0;
- var i = g(t, function(t, e) {
- return t + (isNaN(e) ? 0 : e)
- }, 0);
- if (0 === i) return 0;
- for (var r = Math.pow(10, n), o = p(t, function(t) {
- return (isNaN(t) ? 0 : t) / i * r * 100
- }), a = 100 * r, s = p(o, function(t) {
- return Math.floor(t)
- }), l = g(s, function(t, e) {
- return t + e
- }, 0), u = p(o, function(t, e) {
- return t - s[e]
- }); a > l;) {
- for (var h = Number.NEGATIVE_INFINITY, c = null, d = 0, f = u.length; f > d; ++d) u[d] > h && (h = u[d],
- c = d);
- ++s[c], u[c] = 0, ++l
- }
- return s[e] / r
- }
- function Da(t) {
- var e = 2 * Math.PI;
- return (t % e + e) % e
- }
- function ka(t) {
- return t > -Oy && Oy > t
- }
- function Pa(t) {
- if (t instanceof Date) return t;
- if ("string" == typeof t) {
- var e = zy.exec(t);
- if (!e) return new Date(0 / 0);
- if (e[8]) {
- var n = +e[4] || 0;
- return "Z" !== e[8].toUpperCase() && (n -= e[8].slice(0, 3)), new Date(Date.UTC(+e[1], +(e[2] ||
- 1) - 1, +e[3] || 1, n, +(e[5] || 0), +e[6] || 0, +e[7] || 0))
- }
- return new Date(+e[1], +(e[2] || 1) - 1, +e[3] || 1, +e[4] || 0, +(e[5] || 0), +e[6] || 0, +e[7] || 0)
- }
- return new Date(null == t ? 0 / 0 : Math.round(t))
- }
- function Oa(t) {
- return Math.pow(10, La(t))
- }
- function La(t) {
- if (0 === t) return 0;
- var e = Math.floor(Math.log(t) / Math.LN10);
- return t / Math.pow(10, e) >= 10 && e++, e
- }
- function za(t, e) {
- var n, i = La(t),
- r = Math.pow(10, i),
- o = t / r;
- return n = e ? 1.5 > o ? 1 : 2.5 > o ? 2 : 4 > o ? 3 : 7 > o ? 5 : 10 : 1 > o ? 1 : 2 > o ? 2 : 3 > o ? 3 :
- 5 > o ? 5 : 10, t = n * r, i >= -20 ? +t.toFixed(0 > i ? -i : 0) : t
- }
- function Ea(t, e) {
- var n = (t.length - 1) * e + 1,
- i = Math.floor(n),
- r = +t[i - 1],
- o = n - i;
- return o ? r + o * (t[i] - r) : r
- }
- function Ba(t) {
- function e(t, n, i) {
- return t.interval[i] < n.interval[i] || t.interval[i] === n.interval[i] && (t.close[i] - n.close[i] ===
- (i ? -1 : 1) || !i && e(t, n, 1))
- }
- t.sort(function(t, n) {
- return e(t, n, 0) ? -1 : 1
- });
- for (var n = -1 / 0, i = 1, r = 0; r < t.length;) {
- for (var o = t[r].interval, a = t[r].close, s = 0; 2 > s; s++) o[s] <= n && (o[s] = n, a[s] = s ? 1 :
- 1 - i), n = o[s], i = a[s];
- o[0] === o[1] && a[0] * a[1] !== 1 ? t.splice(r, 1) : r++
- }
- return t
- }
- function Ra(t) {
- return t - parseFloat(t) >= 0
- }
- function Na(t) {
- return isNaN(t) ? "-" : (t = (t + "").split("."), t[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, "$1,") + (t
- .length > 1 ? "." + t[1] : ""))
- }
- function Fa(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 Va(t) {
- return null == t ? "" : (t + "").replace(Ry, function(t, e) {
- return Ny[e]
- })
- }
- function Wa(t, e, n) {
- _(e) || (e = [e]);
- var i = e.length;
- if (!i) return "";
- for (var r = e[0].$vars || [], o = 0; o < r.length; o++) {
- var a = Fy[o];
- t = t.replace(Vy(a), Vy(a, 0))
- }
- for (var s = 0; i > s; s++)
- for (var l = 0; l < r.length; l++) {
- var u = e[s][r[l]];
- t = t.replace(Vy(Fy[l], s), n ? Va(u) : u)
- }
- return t
- }
- function Ha(t, e, n) {
- return f(e, function(e, i) {
- t = t.replace("{" + i + "}", n ? Va(e) : e)
- }), t
- }
- function Ga(t, e) {
- t = b(t) ? {
- color: t,
- extraCssText: e
- } : t || {};
- var n = t.color,
- i = t.type,
- e = t.extraCssText,
- r = t.renderMode || "html",
- o = t.markerId || "X";
- return n ? "html" === r ? "subItem" === i ?
- '<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:' +
- Va(n) + ";" + (e || "") + '"></span>' :
- '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:' +
- Va(n) + ";" + (e || "") + '"></span>' : {
- renderMode: r,
- content: "{marker" + o + "|} ",
- style: {
- color: n
- }
- } : ""
- }
- function Za(t, e) {
- return t += "", "0000".substr(0, e - t.length) + t
- }
- function Xa(t, e, n) {
- ("week" === t || "month" === t || "quarter" === t || "half-year" === t || "year" === t) && (t =
- "MM-dd\nyyyy");
- var i = Pa(e),
- r = n ? "UTC" : "",
- o = i["get" + r + "FullYear"](),
- a = i["get" + r + "Month"]() + 1,
- s = i["get" + r + "Date"](),
- l = i["get" + r + "Hours"](),
- u = i["get" + r + "Minutes"](),
- h = i["get" + r + "Seconds"](),
- c = i["get" + r + "Milliseconds"]();
- return t = t.replace("MM", Za(a, 2)).replace("M", a).replace("yyyy", o).replace("yy", o % 100).replace("dd",
- Za(s, 2)).replace("d", s).replace("hh", Za(l, 2)).replace("h", l).replace("mm", Za(u, 2)).replace(
- "m", u).replace("ss", Za(h, 2)).replace("s", h).replace("SSS", Za(c, 3))
- }
- function Ya(t) {
- return t ? t.charAt(0).toUpperCase() + t.substr(1) : t
- }
- function Ua(t) {
- return Yn(t.text, t.font, t.textAlign, t.textVerticalAlign, t.textPadding, t.textLineHeight, t.rich, t
- .truncate)
- }
- function ja(t, e, n, i, r, o, a, s) {
- return Yn(t, e, n, i, r, s, o, a)
- }
- function qa(t, e) {
- if ("_blank" === e || "blank" === e) {
- var n = window.open();
- n.opener = null, n.location = t
- } else window.open(t, e)
- }
- function Ka(t, e, n, i, r) {
- var o = 0,
- a = 0;
- null == i && (i = 1 / 0), null == r && (r = 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 v = f.width + (g ? -g.x + f.x : 0);
- h = o + v, h > i || l.newline ? (o = 0, h = v, a += s + n, s = f.height) : s = Math.max(s, f
- .height)
- } else {
- var m = f.height + (g ? -g.y + f.y : 0);
- c = a + m, c > r || l.newline ? (o += s + n, a = 0, c = m, s = f.width) : s = Math.max(s, f
- .width)
- }
- l.newline || (d[0] = o, d[1] = a, "horizontal" === t ? o = h + n : a = c + n)
- })
- }
- function $a(t, e, n) {
- n = By(n || 0);
- var i = e.width,
- r = e.height,
- o = ba(t.left, i),
- a = ba(t.top, r),
- s = ba(t.right, i),
- l = ba(t.bottom, r),
- u = ba(t.width, i),
- h = ba(t.height, r),
- c = n[2] + n[0],
- d = n[1] + n[3],
- f = t.aspect;
- switch (isNaN(u) && (u = i - s - d - o), isNaN(h) && (h = r - l - c - a), null != f && (isNaN(u) && isNaN(
- h) && (f > i / r ? u = .8 * i : h = .8 * r), isNaN(u) && (u = f * h), isNaN(h) && (h = u / f)),
- isNaN(o) && (o = i - s - u - d), isNaN(a) && (a = r - l - h - c), t.left || t.right) {
- case "center":
- o = i / 2 - u / 2 - n[3];
- break;
- case "right":
- o = i - u - d
- }
- switch (t.top || t.bottom) {
- case "middle":
- case "center":
- a = r / 2 - h / 2 - n[0];
- break;
- case "bottom":
- a = r - h - c
- }
- o = o || 0, a = a || 0, isNaN(u) && (u = i - d - o - (s || 0)), isNaN(h) && (h = r - c - a - (l || 0));
- var p = new Tn(o + n[3], a + n[0], u, h);
- return p.margin = n, p
- }
- function Qa(t, e, n) {
- function i(n, i) {
- var a = {},
- l = 0,
- u = {},
- h = 0,
- c = 2;
- if (Gy(n, function(e) {
- u[e] = t[e]
- }), Gy(n, function(t) {
- r(e, t) && (a[t] = u[t] = e[t]), o(a, t) && l++, o(u, t) && h++
- }), s[i]) return o(e, n[1]) ? u[n[2]] = null : o(e, n[2]) && (u[n[1]] = null), u;
- if (h !== c && l) {
- if (l >= c) return a;
- for (var d = 0; d < n.length; d++) {
- var f = n[d];
- if (!r(a, f) && r(t, f)) {
- a[f] = t[f];
- break
- }
- }
- return a
- }
- return u
- }
- function r(t, e) {
- return t.hasOwnProperty(e)
- }
- function o(t, e) {
- return null != t[e] && "auto" !== t[e]
- }
- function a(t, e, n) {
- Gy(t, function(t) {
- e[t] = n[t]
- })
- }!S(n) && (n = {});
- var s = n.ignoreSize;
- !_(s) && (s = [s, s]);
- var l = i(Xy[0], 0),
- u = i(Xy[1], 1);
- a(Xy[0], t, l), a(Xy[1], t, u)
- }
- function Ja(t) {
- return ts({}, t)
- }
- function ts(t, e) {
- return e && t && Gy(Zy, function(n) {
- e.hasOwnProperty(n) && (t[n] = e[n])
- }), t
- }
- function es(t) {
- var e = [];
- return f(qy.getClassesByMainType(t), function(t) {
- e = e.concat(t.prototype.dependencies || [])
- }), e = p(e, function(t) {
- return gr(t).main
- }), "dataset" !== t && u(e, "dataset") <= 0 && e.unshift("dataset"), e
- }
- function ns(t, e) {
- for (var n = t.length, i = 0; n > i; i++)
- if (t[i].length > e) return t[i];
- return t[n - 1]
- }
- function is(t) {
- this.fromDataset = t.fromDataset, this.data = t.data || (t.sourceFormat === ix ? {} : []), this
- .sourceFormat = t.sourceFormat || rx, this.seriesLayoutBy = t.seriesLayoutBy || ax, this
- .dimensionsDefine = t.dimensionsDefine, this.encodeDefine = t.encodeDefine && N(t.encodeDefine), this
- .startIndex = t.startIndex || 0, this.dimensionsDetectCount = t.dimensionsDetectCount
- }
- function rs(t) {
- var e = t.option.source,
- n = rx;
- if (I(e)) n = ox;
- else if (_(e)) {
- 0 === e.length && (n = ex);
- for (var i = 0, r = e.length; r > i; i++) {
- var o = e[i];
- if (null != o) {
- if (_(o)) {
- n = ex;
- break
- }
- if (S(o)) {
- n = nx;
- break
- }
- }
- }
- } else if (S(e)) {
- for (var a in e)
- if (e.hasOwnProperty(a) && d(e[a])) {
- n = ix;
- break
- }
- } else if (null != e) throw new Error("Invalid data");
- ux(t).sourceFormat = n
- }
- function os(t) {
- return ux(t).source
- }
- function as(t) {
- ux(t).datasetMap = N()
- }
- function ss(t) {
- var e = t.option,
- n = e.data,
- i = I(n) ? ox : tx,
- r = !1,
- o = e.seriesLayoutBy,
- a = e.sourceHeader,
- s = e.dimensions,
- l = fs(t);
- if (l) {
- var u = l.option;
- n = u.source, i = ux(l).sourceFormat, r = !0, o = o || u.seriesLayoutBy, null == a && (a = u
- .sourceHeader), s = s || u.dimensions
- }
- var h = ls(n, i, o, a, s);
- ux(t).source = new is({
- data: n,
- fromDataset: r,
- seriesLayoutBy: o,
- sourceFormat: i,
- dimensionsDefine: h.dimensionsDefine,
- startIndex: h.startIndex,
- dimensionsDetectCount: h.dimensionsDetectCount,
- encodeDefine: e.encode
- })
- }
- function ls(t, e, n, i, r) {
- if (!t) return {
- dimensionsDefine: us(r)
- };
- var o, a;
- if (e === ex) "auto" === i || null == i ? hs(function(t) {
- null != t && "-" !== t && (b(t) ? null == a && (a = 1) : a = 0)
- }, n, t, 10) : a = i ? 1 : 0, r || 1 !== a || (r = [], hs(function(t, e) {
- r[e] = null != t ? t : ""
- }, n, t)), o = r ? r.length : n === sx ? t.length : t[0] ? t[0].length : null;
- else if (e === nx) r || (r = cs(t));
- else if (e === ix) r || (r = [], f(t, function(t, e) {
- r.push(e)
- }));
- else if (e === tx) {
- var s = nr(t[0]);
- o = _(s) && s.length || 1
- } else e === ox && lp && L(!!r, "dimensions must be given if data is TypedArray.");
- return {
- startIndex: a,
- dimensionsDefine: us(r),
- dimensionsDetectCount: o
- }
- }
- function us(t) {
- if (t) {
- var e = N();
- return p(t, function(t) {
- if (t = a({}, S(t) ? t : {
- name: t
- }), null == t.name) return t;
- t.name += "", null == t.displayName && (t.displayName = t.name);
- var n = e.get(t.name);
- return n ? t.name += "-" + n.count++ : e.set(t.name, {
- count: 1
- }), t
- })
- }
- }
- function hs(t, e, n, i) {
- if (null == i && (i = 1 / 0), e === sx)
- for (var r = 0; r < n.length && i > r; r++) t(n[r] ? n[r][0] : null, r);
- else
- for (var o = n[0] || [], r = 0; r < o.length && i > r; r++) t(o[r], r)
- }
- function cs(t) {
- for (var e, n = 0; n < t.length && !(e = t[n++]););
- if (e) {
- var i = [];
- return f(e, function(t, e) {
- i.push(e)
- }), i
- }
- }
- function ds(t, e, n) {
- function i(t, e, n) {
- for (var i = 0; n > i; i++) t.push(e + i)
- }
- function r(t) {
- var e = t.dimsDef;
- return e ? e.length : 1
- }
- var o = {},
- a = fs(e);
- if (!a || !t) return o;
- var s, l, u = [],
- h = [],
- c = e.ecModel,
- d = ux(c).datasetMap,
- p = a.uid + "_" + n.seriesLayoutBy;
- t = t.slice(), f(t, function(e, n) {
- !S(e) && (t[n] = {
- name: e
- }), "ordinal" === e.type && null == s && (s = n, l = r(t[n])), o[e.name] = []
- });
- var g = d.get(p) || d.set(p, {
- categoryWayDim: l,
- valueWayDim: 0
- });
- return f(t, function(t, e) {
- var n = t.name,
- a = r(t);
- if (null == s) {
- var l = g.valueWayDim;
- i(o[n], l, a), i(h, l, a), g.valueWayDim += a
- } else if (s === e) i(o[n], 0, a), i(u, 0, a);
- else {
- var l = g.categoryWayDim;
- i(o[n], l, a), i(h, l, a), g.categoryWayDim += a
- }
- }), u.length && (o.itemName = u), h.length && (o.seriesName = h), o
- }
- function fs(t) {
- var e = t.option,
- n = e.data;
- return n ? void 0 : t.ecModel.getComponent("dataset", e.datasetIndex || 0)
- }
- function ps(t, e) {
- return gs(t.data, t.sourceFormat, t.seriesLayoutBy, t.dimensionsDefine, t.startIndex, e)
- }
- function gs(t, e, n, i, r, o) {
- function a(t) {
- var e = b(t);
- return null != t && isFinite(t) && "" !== t ? e ? lx.Might : lx.Not : e && "-" !== t ? lx.Must : void 0
- }
- var s, l = 5;
- if (I(t)) return lx.Not;
- var u, h;
- if (i) {
- var c = i[o];
- S(c) ? (u = c.name, h = c.type) : b(c) && (u = c)
- }
- if (null != h) return "ordinal" === h ? lx.Must : lx.Not;
- if (e === ex)
- if (n === sx) {
- for (var d = t[o], f = 0; f < (d || []).length && l > f; f++)
- if (null != (s = a(d[r + f]))) return s
- } else
- for (var f = 0; f < t.length && l > f; f++) {
- var p = t[r + f];
- if (p && null != (s = a(p[o]))) return s
- } else if (e === nx) {
- if (!u) return lx.Not;
- for (var f = 0; f < t.length && l > f; f++) {
- var g = t[f];
- if (g && null != (s = a(g[u]))) return s
- }
- } else if (e === ix) {
- if (!u) return lx.Not;
- var d = t[u];
- if (!d || I(d)) return lx.Not;
- for (var f = 0; f < d.length && l > f; f++)
- if (null != (s = a(d[f]))) return s
- } else if (e === tx)
- for (var f = 0; f < t.length && l > f; f++) {
- var g = t[f],
- v = nr(g);
- if (!_(v)) return lx.Not;
- if (null != (s = a(v[o]))) return s
- }
- return lx.Not
- }
- function vs(t, e) {
- if (e) {
- var n = e.seiresIndex,
- i = e.seriesId,
- r = e.seriesName;
- return null != n && t.componentIndex !== n || null != i && t.id !== i || null != r && t.name !== r
- }
- }
- function ms(t, e) {
- var n = t.color && !t.colorLayer;
- f(e, function(e, o) {
- "colorLayer" === o && n || qy.hasClass(o) || ("object" == typeof e ? t[o] = t[o] ? r(t[o], e, !
- 1) : i(e) : null == t[o] && (t[o] = e))
- })
- }
- function ys(t) {
- t = t, this.option = {}, this.option[hx] = 1, this._componentsMap = N({
- series: []
- }), this._seriesIndices, this._seriesIndicesMap, ms(t, this._theme.option), r(t, $y, !1), this
- .mergeOption(t)
- }
- function xs(t, e) {
- _(e) || (e = e ? [e] : []);
- var n = {};
- return f(e, function(e) {
- n[e] = (t.get(e) || []).slice()
- }), n
- }
- function _s(t, e, n) {
- var i = e.type ? e.type : n ? n.subType : qy.determineSubType(t, e);
- return i
- }
- function ws(t, e) {
- t._seriesIndicesMap = N(t._seriesIndices = p(e, function(t) {
- return t.componentIndex
- }) || [])
- }
- function bs(t, e) {
- return e.hasOwnProperty("subType") ? v(t, function(t) {
- return t.subType === e.subType
- }) : t
- }
- function Ss(t) {
- if (lp && !t._seriesIndices) throw new Error("Option should contains series.")
- }
- function Ms(t) {
- f(dx, function(e) {
- this[e] = y(t[e], t)
- }, this)
- }
- function Is() {
- this._coordinateSystems = []
- }
- function Cs(t) {
- this._api = t, this._timelineOptions = [], this._mediaList = [], this._mediaDefault, this
- ._currentMediaIndices = [], this._optionBackup, this._newBaseOption
- }
- function Ts(t, e, n) {
- var i, r, o = [],
- a = [],
- s = t.timeline;
- if (t.baseOption && (r = t.baseOption), (s || t.options) && (r = r || {}, o = (t.options || []).slice()), t
- .media) {
- r = r || {};
- var l = t.media;
- px(l, function(t) {
- t && t.option && (t.query ? a.push(t) : i || (i = t))
- })
- }
- return r || (r = t), r.timeline || (r.timeline = s), px([r].concat(o).concat(p(a, function(t) {
- return t.option
- })), function(t) {
- px(e, function(e) {
- e(t, n)
- })
- }), {
- baseOption: r,
- timelineOptions: o,
- mediaDefault: i,
- mediaList: a
- }
- }
- function As(t, e, n) {
- var i = {
- width: e,
- height: n,
- aspectratio: e / n
- },
- r = !0;
- return f(t, function(t, e) {
- var n = e.match(yx);
- if (n && n[1] && n[2]) {
- var o = n[1],
- a = n[2].toLowerCase();
- Ds(i[a], t, o) || (r = !1)
- }
- }), r
- }
- function Ds(t, e, n) {
- return "min" === n ? t >= e : "max" === n ? e >= t : t === e
- }
- function ks(t, e) {
- return t.join(",") === e.join(",")
- }
- function Ps(t, e) {
- e = e || {}, px(e, function(e, n) {
- if (null != e) {
- var i = t[n];
- if (qy.hasClass(n)) {
- e = tr(e), i = tr(i);
- var r = rr(i, e);
- t[n] = vx(r, function(t) {
- return t.option && t.exist ? mx(t.exist, t.option, !0) : t.exist || t.option
- })
- } else t[n] = mx(i, e, !0)
- }
- })
- }
- function Os(t) {
- var e = t && t.itemStyle;
- if (e)
- for (var n = 0, i = bx.length; i > n; n++) {
- var o = bx[n],
- a = e.normal,
- s = e.emphasis;
- a && a[o] && (t[o] = t[o] || {}, t[o].normal ? r(t[o].normal, a[o]) : t[o].normal = a[o], a[o] =
- null), s && s[o] && (t[o] = t[o] || {}, t[o].emphasis ? r(t[o].emphasis, s[o]) : t[o]
- .emphasis = s[o], s[o] = null)
- }
- }
- function Ls(t, e, n) {
- if (t && t[e] && (t[e].normal || t[e].emphasis)) {
- var i = t[e].normal,
- r = t[e].emphasis;
- i && (n ? (t[e].normal = t[e].emphasis = null, s(t[e], i)) : t[e] = i), r && (t.emphasis = t.emphasis ||
- {}, t.emphasis[e] = r)
- }
- }
- function zs(t) {
- Ls(t, "itemStyle"), Ls(t, "lineStyle"), Ls(t, "areaStyle"), Ls(t, "label"), Ls(t, "labelLine"), Ls(t,
- "upperLabel"), Ls(t, "edgeLabel")
- }
- function Es(t, e) {
- var n = _x(t) && t[e],
- i = _x(n) && n.textStyle;
- if (i)
- for (var r = 0, o = Dv.length; o > r; r++) {
- var e = Dv[r];
- i.hasOwnProperty(e) && (n[e] = i[e])
- }
- }
- function Bs(t) {
- t && (zs(t), Es(t, "label"), t.emphasis && Es(t.emphasis, "label"))
- }
- function Rs(t) {
- if (_x(t)) {
- Os(t), zs(t), Es(t, "label"), Es(t, "upperLabel"), Es(t, "edgeLabel"), t.emphasis && (Es(t.emphasis,
- "label"), Es(t.emphasis, "upperLabel"), Es(t.emphasis, "edgeLabel"));
- var e = t.markPoint;
- e && (Os(e), Bs(e));
- var n = t.markLine;
- n && (Os(n), Bs(n));
- var i = t.markArea;
- i && Bs(i);
- var r = t.data;
- if ("graph" === t.type) {
- r = r || t.nodes;
- var o = t.links || t.edges;
- if (o && !I(o))
- for (var a = 0; a < o.length; a++) Bs(o[a]);
- f(t.categories, function(t) {
- zs(t)
- })
- }
- if (r && !I(r))
- for (var a = 0; a < r.length; a++) Bs(r[a]);
- var e = t.markPoint;
- if (e && e.data)
- for (var s = e.data, a = 0; a < s.length; a++) Bs(s[a]);
- var n = t.markLine;
- if (n && n.data)
- for (var l = n.data, a = 0; a < l.length; a++) _(l[a]) ? (Bs(l[a][0]), Bs(l[a][1])) : Bs(l[a]);
- "gauge" === t.type ? (Es(t, "axisLabel"), Es(t, "title"), Es(t, "detail")) : "treemap" === t.type ? (Ls(
- t.breadcrumb, "itemStyle"), f(t.levels, function(t) {
- zs(t)
- })) : "tree" === t.type && zs(t.leaves)
- }
- }
- function Ns(t) {
- return _(t) ? t : t ? [t] : []
- }
- function Fs(t) {
- return (_(t) ? t[0] : t) || {}
- }
- function Vs(t, e) {
- e = e.split(",");
- for (var n = t, i = 0; i < e.length && (n = n && n[e[i]], null != n); i++);
- return n
- }
- function Ws(t, e, n, i) {
- e = e.split(",");
- for (var r, o = t, a = 0; a < e.length - 1; a++) r = e[a], null == o[r] && (o[r] = {}), o = o[r];
- (i || null == o[e[a]]) && (o[e[a]] = n)
- }
- function Hs(t) {
- f(Mx, function(e) {
- e[0] in t && !(e[1] in t) && (t[e[1]] = t[e[0]])
- })
- }
- function Gs(t) {
- f(t, function(e, n) {
- var i = [],
- r = [0 / 0, 0 / 0],
- o = [e.stackResultDimension, e.stackedOverDimension],
- a = e.data,
- s = e.isStackedByIndex,
- l = a.map(o, function(o, l, u) {
- var h = a.get(e.stackedDimension, u);
- if (isNaN(h)) return r;
- var c, d;
- s ? d = a.getRawIndex(u) : c = a.get(e.stackedByDimension, u);
- for (var f = 0 / 0, p = n - 1; p >= 0; p--) {
- var g = t[p];
- if (s || (d = g.data.rawIndexOf(g.stackedByDimension, c)), d >= 0) {
- var v = g.data.getByRawIndex(g.stackResultDimension, d);
- if (h >= 0 && v > 0 || 0 >= h && 0 > v) {
- h += v, f = v;
- break
- }
- }
- }
- return i[0] = h, i[1] = f, i
- });
- a.hostModel.setData(l), e.data = l
- })
- }
- function Zs(t, e) {
- is.isInstance(t) || (t = is.seriesDataToSource(t)), this._source = t;
- var n = this._data = t.data,
- i = t.sourceFormat;
- if (i === ox) {
- if (lp && null == e) throw new Error("Typed array data must specify dimension size");
- this._offset = 0, this._dimSize = e, this._data = n
- }
- var r = Dx[i === ex ? i + "_" + t.seriesLayoutBy : i];
- lp && L(r, "Invalide sourceFormat: " + i), a(this, r)
- }
- function Xs() {
- return this._data.length
- }
- function Ys(t) {
- return this._data[t]
- }
- function Us(t) {
- for (var e = 0; e < t.length; e++) this._data.push(t[e])
- }
- function js(t, e, n) {
- return null != n ? t[n] : t
- }
- function qs(t, e, n, i) {
- return Ks(t[i], this._dimensionInfos[e])
- }
- function Ks(t, e) {
- var n = e && e.type;
- if ("ordinal" === n) {
- var i = e && e.ordinalMeta;
- return i ? i.parseAndCollect(t) : t
- }
- return "time" === n && "number" != typeof t && null != t && "-" !== t && (t = +Pa(t)), null == t || "" ===
- t ? 0 / 0 : +t
- }
- function $s(t, e, n) {
- if (t) {
- var i = t.getRawDataItem(e);
- if (null != i) {
- var r, o, a = t.getProvider().getSource().sourceFormat,
- s = t.getDimensionInfo(n);
- return s && (r = s.name, o = s.index), kx[a](i, e, o, r)
- }
- }
- }
- function Qs(t) {
- return new Js(t)
- }
- function Js(t) {
- t = t || {}, this._reset = t.reset, this._plan = t.plan, this._count = t.count, this._onDirty = t.onDirty,
- this._dirty = !0, this.context
- }
- function tl(t, e, n, i, r, o) {
- Ex.reset(n, i, r, o), t._callingProgress = e, t._callingProgress({
- start: n,
- end: i,
- count: i - n,
- next: Ex.next
- }, t.context)
- }
- function el(t, e) {
- t._dueIndex = t._outputDueEnd = t._dueEnd = 0, t._settedOutputEnd = null;
- var n, i;
- !e && t._reset && (n = t._reset(t.context), n && n.progress && (i = n.forceFirstProgress, n = n.progress),
- _(n) && !n.length && (n = null)), t._progress = n, t._modBy = t._modDataCount = null;
- var r = t._downstream;
- return r && r.dirty(), i
- }
- function nl(t) {
- var e = t.name;
- ar(t) || (t.name = il(t) || e)
- }
- function il(t) {
- var e = t.getRawData(),
- n = e.mapDimension("seriesName", !0),
- i = [];
- return f(n, function(t) {
- var n = e.getDimensionInfo(t);
- n.displayName && i.push(n.displayName)
- }), i.join(" ")
- }
- function rl(t) {
- return t.model.getRawData().count()
- }
- function ol(t) {
- var e = t.model;
- return e.setData(e.getRawData().cloneShallow()), al
- }
- function al(t, e) {
- e.outputData && t.end > e.outputData.count() && e.model.getRawData().cloneShallow(e.outputData)
- }
- function sl(t, e) {
- f(t.CHANGABLE_METHODS, function(n) {
- t.wrapMethod(n, x(ll, e))
- })
- }
- function ll(t) {
- var e = ul(t);
- e && e.setOutputEnd(this.count())
- }
- function ul(t) {
- var e = (t.ecModel || {}).scheduler,
- n = e && e.getPipeline(t.uid);
- if (n) {
- var i = n.currentTask;
- if (i) {
- var r = i.agentStubMap;
- r && (i = r.get(t.uid))
- }
- return i
- }
- }
- function hl() {
- this.group = new Cg, this.uid = ma("viewChart"), this.renderTask = Qs({
- plan: fl,
- reset: pl
- }), this.renderTask.context = {
- view: this
- }
- }
- function cl(t, e, n) {
- if (t && (t.trigger(e, n), t.isGroup && !Wo(t)))
- for (var i = 0, r = t.childCount(); r > i; i++) cl(t.childAt(i), e, n)
- }
- function dl(t, e, n) {
- var i = lr(t, e),
- r = e && null != e.highlightKey ? Ho(e.highlightKey) : null;
- null != i ? f(tr(i), function(e) {
- cl(t.getItemGraphicEl(e), n, r)
- }) : t.eachItemGraphicEl(function(t) {
- cl(t, n, r)
- })
- }
- function fl(t) {
- return Hx(t.model)
- }
- function pl(t) {
- var e = t.model,
- n = t.ecModel,
- i = t.api,
- r = t.payload,
- o = e.pipelineContext.progressiveRender,
- a = t.view,
- s = r && Wx(r).updateMethod,
- l = o ? "incrementalPrepareRender" : s && a[s] ? s : "render";
- return "render" !== l && a[l](e, n, i, r), Zx[l]
- }
- function gl(t, e, n) {
- function i() {
- h = (new Date).getTime(), c = null, t.apply(a, s || [])
- }
- var r, o, a, s, l, u = 0,
- h = 0,
- c = null;
- e = e || 0;
- var d = function() {
- r = (new Date).getTime(), a = this, s = arguments;
- var t = l || e,
- d = l || n;
- l = null, o = r - (d ? u : h) - t, clearTimeout(c), d ? c = setTimeout(i, t) : o >= 0 ? i() : c =
- setTimeout(i, -o), u = r
- };
- return d.clear = function() {
- c && (clearTimeout(c), c = null)
- }, d.debounceNextCall = function(t) {
- l = t
- }, d
- }
- function vl(t, e, n, i) {
- var r = t[e];
- if (r) {
- var o = r[Xx] || r,
- a = r[Ux],
- s = r[Yx];
- if (s !== n || a !== i) {
- if (null == n || !i) return t[e] = o;
- r = t[e] = gl(o, n, "debounce" === i), r[Xx] = o, r[Ux] = i, r[Yx] = n
- }
- return r
- }
- }
- function ml(t, e) {
- var n = t[e];
- n && n[Xx] && (t[e] = n[Xx])
- }
- function yl(t, e, n, i) {
- this.ecInstance = t, this.api = e, this.unfinished;
- var n = this._dataProcessorHandlers = n.slice(),
- i = this._visualHandlers = i.slice();
- this._allHandlers = n.concat(i), this._stageTaskMap = N()
- }
- function xl(t, e, n, i, r) {
- function o(t, e) {
- return t.setDirty && (!t.dirtyMap || t.dirtyMap.get(e.__pipeline.id))
- }
- r = r || {};
- var a;
- f(e, function(e) {
- if (!r.visualType || r.visualType === e.visualType) {
- var s = t._stageTaskMap.get(e.uid),
- l = s.seriesTaskMap,
- u = s.overallTask;
- if (u) {
- var h, c = u.agentStubMap;
- c.each(function(t) {
- o(r, t) && (t.dirty(), h = !0)
- }), h && u.dirty(), t_(u, i);
- var d = t.getPerformArgs(u, r.block);
- c.each(function(t) {
- t.perform(d)
- }), a |= u.perform(d)
- } else l && l.each(function(s) {
- o(r, s) && s.dirty();
- var l = t.getPerformArgs(s, r.block);
- l.skip = !e.performRawSeries && n.isSeriesFiltered(s.context.model), t_(s, i),
- a |= s.perform(l)
- })
- }
- }), t.unfinished |= a
- }
- function _l(t, e, n, i, r) {
- function o(n) {
- var o = n.uid,
- s = a.get(o) || a.set(o, Qs({
- plan: Cl,
- reset: Tl,
- count: Dl
- }));
- s.context = {
- model: n,
- ecModel: i,
- api: r,
- useClearVisual: e.isVisual && !e.isLayout,
- plan: e.plan,
- reset: e.reset,
- scheduler: t
- }, kl(t, n, s)
- }
- var a = n.seriesTaskMap || (n.seriesTaskMap = N()),
- s = e.seriesType,
- l = e.getTargetSeries;
- e.createOnAllSeries ? i.eachRawSeries(o) : s ? i.eachRawSeriesByType(s, o) : l && l(i, r).each(o);
- var u = t._pipelineMap;
- a.each(function(t, e) {
- u.get(e) || (t.dispose(), a.removeKey(e))
- })
- }
- function wl(t, e, n, i, r) {
- function o(e) {
- var n = e.uid,
- i = s.get(n);
- i || (i = s.set(n, Qs({
- reset: Sl,
- onDirty: Il
- })), a.dirty()), i.context = {
- model: e,
- overallProgress: h,
- modifyOutputEnd: c
- }, i.agent = a, i.__block = h, kl(t, e, i)
- }
- var a = n.overallTask = n.overallTask || Qs({
- reset: bl
- });
- a.context = {
- ecModel: i,
- api: r,
- overallReset: e.overallReset,
- scheduler: t
- };
- var s = a.agentStubMap = a.agentStubMap || N(),
- l = e.seriesType,
- u = e.getTargetSeries,
- h = !0,
- c = e.modifyOutputEnd;
- l ? i.eachRawSeriesByType(l, o) : u ? u(i, r).each(o) : (h = !1, f(i.getSeries(), o));
- var d = t._pipelineMap;
- s.each(function(t, e) {
- d.get(e) || (t.dispose(), a.dirty(), s.removeKey(e))
- })
- }
- function bl(t) {
- t.overallReset(t.ecModel, t.api, t.payload)
- }
- function Sl(t) {
- return t.overallProgress && Ml
- }
- function Ml() {
- this.agent.dirty(), this.getDownstream().dirty()
- }
- function Il() {
- this.agent && this.agent.dirty()
- }
- function Cl(t) {
- return t.plan && t.plan(t.model, t.ecModel, t.api, t.payload)
- }
- function Tl(t) {
- t.useClearVisual && t.data.clearAllVisual();
- var e = t.resetDefines = tr(t.reset(t.model, t.ecModel, t.api, t.payload));
- return e.length > 1 ? p(e, function(t, e) {
- return Al(e)
- }) : e_
- }
- function Al(t) {
- return function(e, n) {
- var i = n.data,
- r = n.resetDefines[t];
- if (r && r.dataEach)
- for (var o = e.start; o < e.end; o++) r.dataEach(i, o);
- else r && r.progress && r.progress(e, i)
- }
- }
- function Dl(t) {
- return t.data.count()
- }
- function kl(t, e, n) {
- var i = e.uid,
- r = t._pipelineMap.get(i);
- !r.head && (r.head = n), r.tail && r.tail.pipe(n), r.tail = n, n.__idxInPipeline = r.count++, n.__pipeline =
- r
- }
- function Pl(t) {
- n_ = null;
- try {
- t(i_, r_)
- } catch (e) {}
- return n_
- }
- function Ol(t, e) {
- for (var n in e.prototype) t[n] = V
- }
- function Ll(t) {
- if (b(t)) {
- var e = new DOMParser;
- t = e.parseFromString(t, "text/xml")
- }
- for (9 === t.nodeType && (t = t.firstChild);
- "svg" !== t.nodeName.toLowerCase() || 1 !== t.nodeType;) t = t.nextSibling;
- return t
- }
- function zl() {
- this._defs = {}, this._root = null, this._isDefine = !1, this._isText = !1
- }
- function El(t, e) {
- for (var n = t.firstChild; n;) {
- if (1 === n.nodeType) {
- var i = n.getAttribute("offset");
- i = i.indexOf("%") > 0 ? parseInt(i, 10) / 100 : i ? parseFloat(i) : 0;
- var r = n.getAttribute("stop-color") || "#000000";
- e.addColorStop(i, r)
- }
- n = n.nextSibling
- }
- }
- function Bl(t, e) {
- t && t.__inheritedStyle && (e.__inheritedStyle || (e.__inheritedStyle = {}), s(e.__inheritedStyle, t
- .__inheritedStyle))
- }
- function Rl(t) {
- for (var e = z(t).split(d_), n = [], i = 0; i < e.length; i += 2) {
- var r = parseFloat(e[i]),
- o = parseFloat(e[i + 1]);
- n.push([r, o])
- }
- return n
- }
- function Nl(t, e, n, i) {
- var r = e.__inheritedStyle || {},
- o = "text" === e.type;
- if (1 === t.nodeType && (Vl(t, e), a(r, Wl(t)), !i))
- for (var s in g_)
- if (g_.hasOwnProperty(s)) {
- var l = t.getAttribute(s);
- null != l && (r[g_[s]] = l)
- } var u = o ? "textFill" : "fill",
- h = o ? "textStroke" : "stroke";
- e.style = e.style || new Eg;
- var c = e.style;
- null != r.fill && c.set(u, Fl(r.fill, n)), null != r.stroke && c.set(h, Fl(r.stroke, n)), f(["lineWidth",
- "opacity", "fillOpacity", "strokeOpacity", "miterLimit", "fontSize"
- ], function(t) {
- var e = "lineWidth" === t && o ? "textStrokeWidth" : t;
- null != r[t] && c.set(e, parseFloat(r[t]))
- }), r.textBaseline && "auto" !== r.textBaseline || (r.textBaseline = "alphabetic"), "alphabetic" === r
- .textBaseline && (r.textBaseline = "bottom"), "start" === r.textAlign && (r.textAlign = "left"),
- "end" === r.textAlign && (r.textAlign = "right"), f(["lineDashOffset", "lineCap", "lineJoin",
- "fontWeight", "fontFamily", "fontStyle", "textAlign", "textBaseline"
- ], function(t) {
- null != r[t] && c.set(t, r[t])
- }), r.lineDash && (e.style.lineDash = z(r.lineDash).split(d_)), c[h] && "none" !== c[h] && (e[h] = !0),
- e.__inheritedStyle = r
- }
- function Fl(t, e) {
- var n = e && t && t.match(v_);
- if (n) {
- var i = z(n[1]),
- r = e[i];
- return r
- }
- return t
- }
- function Vl(t, e) {
- var n = t.getAttribute("transform");
- if (n) {
- n = n.replace(/,/g, " ");
- var i = null,
- r = [];
- n.replace(m_, function(t, e, n) {
- r.push(e, n)
- });
- for (var o = r.length - 1; o > 0; o -= 2) {
- var a = r[o],
- s = r[o - 1];
- switch (i = i || Le(), s) {
- case "translate":
- a = z(a).split(d_), Re(i, i, [parseFloat(a[0]), parseFloat(a[1] || 0)]);
- break;
- case "scale":
- a = z(a).split(d_), Fe(i, i, [parseFloat(a[0]), parseFloat(a[1] || a[0])]);
- break;
- case "rotate":
- a = z(a).split(d_), Ne(i, i, parseFloat(a[0]));
- break;
- case "skew":
- a = z(a).split(d_), console.warn("Skew transform is not supported yet");
- break;
- case "matrix":
- var a = z(a).split(d_);
- i[0] = parseFloat(a[0]), i[1] = parseFloat(a[1]), i[2] = parseFloat(a[2]), i[3] =
- parseFloat(a[3]), i[4] = parseFloat(a[4]), i[5] = parseFloat(a[5])
- }
- }
- e.setLocalTransform(i)
- }
- }
- function Wl(t) {
- var e = t.getAttribute("style"),
- n = {};
- if (!e) return n;
- var i = {};
- y_.lastIndex = 0;
- for (var r; null != (r = y_.exec(e));) i[r[1]] = r[2];
- for (var o in g_) g_.hasOwnProperty(o) && null != i[o] && (n[g_[o]] = i[o]);
- return n
- }
- function Hl(t, e, n) {
- var i = e / t.width,
- r = n / t.height,
- o = Math.min(i, r),
- a = [o, o],
- s = [-(t.x + t.width / 2) * o + e / 2, -(t.y + t.height / 2) * o + n / 2];
- return {
- scale: a,
- position: s
- }
- }
- function Gl(t, e) {
- return function(n, i, r) {
- return !e && this._disposed ? void au(this.id) : (n = n && n.toLowerCase(), void zp.prototype[t]
- .call(this, n, i, r))
- }
- }
- function Zl() {
- zp.call(this)
- }
- function Xl(t, e, n) {
- function r(t, e) {
- return t.__prio - e.__prio
- }
- n = n || {}, "string" == typeof e && (e = tw[e]), this.id, this.group, this._dom = t;
- var o = "canvas";
- lp && (o = ("undefined" == typeof window ? global : window).__ECHARTS__DEFAULT__RENDERER__ || o);
- var a = this._zr = qi(t, {
- renderer: n.renderer || o,
- devicePixelRatio: n.devicePixelRatio,
- width: n.width,
- height: n.height
- });
- this._throttledZrFlush = gl(y(a.flush, a), 17);
- var e = i(e);
- e && Cx(e, !0), this._theme = e, this._chartsViews = [], this._chartsMap = {}, this._componentsViews = [],
- this._componentsMap = {}, this._coordSysMgr = new Is;
- var s = this._api = hu(this);
- En(J_, r), En(K_, r), this._scheduler = new yl(this, s, K_, J_), zp.call(this, this._ecEventProcessor =
- new cu), this._messageCenter = new Zl, this._initEvents(), this.resize = y(this.resize, this), this
- ._pendingActions = [], a.animation.on("frame", this._onframe, this), Jl(a, this), E(this)
- }
- function Yl(t, e, n) {
- if (this._disposed) return void au(this.id);
- var i, r = this._model,
- o = this._coordSysMgr.getCoordinateSystems();
- e = hr(r, e);
- for (var a = 0; a < o.length; a++) {
- var s = o[a];
- if (s[t] && null != (i = s[t](r, e, n))) return i
- }
- lp && console.warn("No coordinate system that supports " + t + " found by the given finder.")
- }
- function Ul(t) {
- var e = t._model,
- n = t._scheduler;
- n.restorePipelines(e), n.prepareStageTasks(), tu(t, "component", e, n), tu(t, "chart", e, n), n.plan()
- }
- function jl(t, e, n, i, r) {
- function o(i) {
- i && i.__alive && i[e] && i[e](i.__model, a, t._api, n)
- }
- var a = t._model;
- if (!i) return void S_(t._componentsViews.concat(t._chartsViews), o);
- var s = {};
- s[i + "Id"] = n[i + "Id"], s[i + "Index"] = n[i + "Index"], s[i + "Name"] = n[i + "Name"];
- var l = {
- mainType: i,
- query: s
- };
- r && (l.subType = r);
- var u = n.excludeSeriesId;
- null != u && (u = N(tr(u))), a && a.eachComponent(l, function(e) {
- u && null != u.get(e.id) || o(t["series" === i ? "_chartsMap" : "_componentsMap"][e.__viewId])
- }, t)
- }
- function ql(t, e) {
- var n = t._chartsMap,
- i = t._scheduler;
- e.eachSeries(function(t) {
- i.updateStreamModes(t, n[t.__viewId])
- })
- }
- function Kl(t, e) {
- var n = t.type,
- i = t.escapeConnect,
- r = j_[n],
- o = r.actionInfo,
- l = (o.update || "update").split(":"),
- u = l.pop();
- l = null != l[0] && C_(l[0]), this[H_] = !0;
- var h = [t],
- c = !1;
- t.batch && (c = !0, h = p(t.batch, function(e) {
- return e = s(a({}, e), t), e.batch = null, e
- }));
- var d, f = [],
- g = "highlight" === n || "downplay" === n;
- S_(h, function(t) {
- d = r.action(t, this._model, this._api), d = d || a({}, t), d.type = o.event || d.type, f.push(
- d), g ? jl(this, u, t, "series") : l && jl(this, u, t, l.main, l.sub)
- }, this), "none" === u || g || l || (this[G_] ? (Ul(this), Y_.update.call(this, t), this[G_] = !1) : Y_[
- u].call(this, t)), d = c ? {
- type: o.event || n,
- escapeConnect: i,
- batch: f
- } : f[0], this[H_] = !1, !e && this._messageCenter.trigger(d.type, d)
- }
- function $l(t) {
- for (var e = this._pendingActions; e.length;) {
- var n = e.shift();
- Kl.call(this, n, t)
- }
- }
- function Ql(t) {
- !t && this.trigger("updated")
- }
- function Jl(t, e) {
- t.on("rendered", function() {
- e.trigger("rendered"), !t.animation.isFinished() || e[G_] || e._scheduler.unfinished || e
- ._pendingActions.length || e.trigger("finished")
- })
- }
- function tu(t, e, n, i) {
- function r(t) {
- var e = "_ec_" + t.id + "_" + t.type,
- r = s[e];
- if (!r) {
- var h = C_(t.type),
- c = o ? Nx.getClass(h.main, h.sub) : hl.getClass(h.sub);
- lp && b_(c, h.sub + " does not exist."), r = new c, r.init(n, u), s[e] = r, a.push(r), l.add(r
- .group)
- }
- t.__viewId = r.__id = e, r.__alive = !0, r.__model = t, r.group.__ecComponentInfo = {
- mainType: t.mainType,
- index: t.componentIndex
- }, !o && i.prepareView(r, t, n, u)
- }
- for (var o = "component" === e, a = o ? t._componentsViews : t._chartsViews, s = o ? t._componentsMap : t
- ._chartsMap, l = t._zr, u = t._api, h = 0; h < a.length; h++) a[h].__alive = !1;
- o ? n.eachComponent(function(t, e) {
- "series" !== t && r(e)
- }) : n.eachSeries(r);
- for (var h = 0; h < a.length;) {
- var c = a[h];
- c.__alive ? h++ : (!o && c.renderTask.dispose(), l.remove(c.group), c.dispose(n, u), a.splice(h, 1),
- delete s[c.__id], c.__id = c.group.__ecComponentInfo = null)
- }
- }
- function eu(t) {
- t.clearColorPalette(), t.eachSeries(function(t) {
- t.clearColorPalette()
- })
- }
- function nu(t, e, n, i) {
- iu(t, e, n, i), S_(t._chartsViews, function(t) {
- t.__alive = !1
- }), ru(t, e, n, i), S_(t._chartsViews, function(t) {
- t.__alive || t.remove(e, n)
- })
- }
- function iu(t, e, n, i, r) {
- S_(r || t._componentsViews, function(t) {
- var r = t.__model;
- t.render(r, e, n, i), uu(r, t)
- })
- }
- function ru(t, e, n, i, r) {
- var o, a = t._scheduler;
- e.eachSeries(function(e) {
- var n = t._chartsMap[e.__viewId];
- n.__alive = !0;
- var s = n.renderTask;
- a.updatePayload(s, i), r && r.get(e.uid) && s.dirty(), o |= s.perform(a.getPerformArgs(s)), n
- .group.silent = !!e.get("silent"), uu(e, n), lu(e, n)
- }), a.unfinished |= o, su(t, e), Kx(t._zr.dom, e)
- }
- function ou(t, e) {
- S_(Q_, function(n) {
- n(t, e)
- })
- }
- function au(t) {
- lp && console.warn("Instance " + t + " has been disposed")
- }
- function su(t, e) {
- var n = t._zr,
- i = n.storage,
- r = 0;
- i.traverse(function() {
- r++
- }), r > e.get("hoverLayerThreshold") && !dp.node && e.eachSeries(function(e) {
- if (!e.preventUsingHoverLayer) {
- var n = t._chartsMap[e.__viewId];
- n.__alive && n.group.traverse(function(t) {
- t.useHoverLayer = !0
- })
- }
- })
- }
- function lu(t, e) {
- var n = t.get("blendMode") || null;
- lp && !dp.canvasSupported && n && "source-over" !== n && console.warn("Only canvas support blendMode"), e
- .group.traverse(function(t) {
- t.isGroup || t.style.blend !== n && t.setStyle("blend", n), t.eachPendingDisplayable && t
- .eachPendingDisplayable(function(t) {
- t.setStyle("blend", n)
- })
- })
- }
- function uu(t, e) {
- var n = t.get("z"),
- i = t.get("zlevel");
- e.group.traverse(function(t) {
- "group" !== t.type && (null != n && (t.z = n), null != i && (t.zlevel = i))
- })
- }
- function hu(t) {
- var e = t._coordSysMgr;
- return a(new Ms(t), {
- getCoordinateSystems: y(e.getCoordinateSystems, e),
- getComponentByElement: function(e) {
- for (; e;) {
- var n = e.__ecComponentInfo;
- if (null != n) return t._model.getComponent(n.mainType, n.index);
- e = e.parent
- }
- }
- })
- }
- function cu() {
- this.eventInfo
- }
- function du(t) {
- function e(t, e) {
- for (var n = 0; n < t.length; n++) {
- var i = t[n];
- i[o] = e
- }
- }
- var n = 0,
- i = 1,
- r = 2,
- o = "__connectUpdateStatus";
- S_(q_, function(a, s) {
- t._messageCenter.on(s, function(a) {
- if (iw[t.group] && t[o] !== n) {
- if (a && a.escapeConnect) return;
- var s = t.makeActionFromEvent(a),
- l = [];
- S_(nw, function(e) {
- e !== t && e.group === t.group && l.push(e)
- }), e(l, n), S_(l, function(t) {
- t[o] !== i && t.dispatchAction(s)
- }), e(l, r)
- }
- })
- })
- }
- function fu(t, e, n) {
- if (lp) {
- if (bv.replace(".", "") - 0 < A_.zrender.replace(".", "") - 0) throw new Error("zrender/src " + bv +
- " is too old for ECharts " + T_ + ". Current version need ZRender " + A_.zrender + "+");
- if (!t) throw new Error("Initialize failed: invalid dom.")
- }
- var i = mu(t);
- if (i) return lp && console.warn("There is a chart instance already initialized on the dom."), i;
- lp && (!C(t) || "CANVAS" === t.nodeName.toUpperCase() || (t.clientWidth || n && null != n.width) && (t
- .clientHeight || n && null != n.height) || console.warn(
- "Can't get DOM width or height. Please check dom.clientWidth and dom.clientHeight. They should not be 0.For example, you may need to call this in the callback of window.onload."
- ));
- var r = new Xl(t, e, n);
- return r.id = "ec_" + rw++, nw[r.id] = r, dr(t, aw, r.id), du(r), r
- }
- function pu(t) {
- if (_(t)) {
- var e = t;
- t = null, S_(e, function(e) {
- null != e.group && (t = e.group)
- }), t = t || "g_" + ow++, S_(e, function(e) {
- e.group = t
- })
- }
- return iw[t] = !0, t
- }
- function gu(t) {
- iw[t] = !1
- }
- function vu(t) {
- "string" == typeof t ? t = nw[t] : t instanceof Xl || (t = mu(t)), t instanceof Xl && !t.isDisposed() && t
- .dispose()
- }
- function mu(t) {
- return nw[fr(t, aw)]
- }
- function yu(t) {
- return nw[t]
- }
- function xu(t, e) {
- tw[t] = e
- }
- function _u(t) {
- $_.push(t)
- }
- function wu(t, e) {
- Au(K_, t, e, k_)
- }
- function bu(t) {
- Q_.push(t)
- }
- function Su(t, e, n) {
- "function" == typeof e && (n = e, e = "");
- var i = I_(t) ? t.type : [t, t = {
- event: e
- }][0];
- t.event = (t.event || i).toLowerCase(), e = t.event, b_(Z_.test(i) && Z_.test(e)), j_[i] || (j_[i] = {
- action: n,
- actionInfo: t
- }), q_[e] = i
- }
- function Mu(t, e) {
- Is.register(t, e)
- }
- function Iu(t) {
- var e = Is.get(t);
- return e ? e.getDimensionsInfo ? e.getDimensionsInfo() : e.dimensions.slice() : void 0
- }
- function Cu(t, e) {
- Au(J_, t, e, z_, "layout")
- }
- function Tu(t, e) {
- Au(J_, t, e, R_, "visual")
- }
- function Au(t, e, n, i, r) {
- if ((M_(e) || I_(e)) && (n = e, e = i), lp) {
- if (isNaN(e) || null == e) throw new Error("Illegal priority");
- S_(t, function(t) {
- b_(t.__raw !== n)
- })
- }
- var o = yl.wrapStageHandler(n, r);
- return o.__prio = e, o.__raw = n, t.push(o), o
- }
- function Du(t, e) {
- ew[t] = e
- }
- function ku(t) {
- return qy.extend(t)
- }
- function Pu(t) {
- return Nx.extend(t)
- }
- function Ou(t) {
- return Rx.extend(t)
- }
- function Lu(t) {
- return hl.extend(t)
- }
- function zu(t) {
- n("createCanvas", t)
- }
- function Eu(t, e, n) {
- __.registerMap(t, e, n)
- }
- function Bu(t) {
- var e = __.retrieveMap(t);
- return e && e[0] && {
- geoJson: e[0].geoJSON,
- specialAreas: e[0].specialAreas
- }
- }
- function Ru(t) {
- return t
- }
- function Nu(t, e, n, i, r) {
- this._old = t, this._new = e, this._oldKeyGetter = n || Ru, this._newKeyGetter = i || Ru, this.context = r
- }
- function Fu(t, e, n, i, r) {
- for (var o = 0; o < t.length; o++) {
- var a = "_ec_" + r[i](t[o], o),
- s = e[a];
- null == s ? (n.push(a), e[a] = o) : (s.length || (e[a] = s = [s]), s.push(o))
- }
- }
- function Vu(t) {
- var e = {},
- n = e.encode = {},
- i = N(),
- r = [],
- o = [],
- a = e.userOutput = {
- dimensionNames: t.dimensions.slice(),
- encode: {}
- };
- f(t.dimensions, function(e) {
- var s = t.getDimensionInfo(e),
- l = s.coordDim;
- if (l) {
- lp && L(null == uw.get(l));
- var u = s.coordDimIndex;
- Wu(n, l)[u] = e, s.isExtraCoord || (i.set(l, 1), Gu(s.type) && (r[0] = e), Wu(a.encode, l)[
- u] = s.index), s.defaultTooltip && o.push(e)
- }
- uw.each(function(t, e) {
- var i = Wu(n, e),
- r = s.otherDims[e];
- null != r && r !== !1 && (i[r] = s.name)
- })
- });
- var s = [],
- l = {};
- i.each(function(t, e) {
- var i = n[e];
- l[e] = i[0], s = s.concat(i)
- }), e.dataDimsOnCoord = s, e.encodeFirstDimNotExtra = l;
- var u = n.label;
- u && u.length && (r = u.slice());
- var h = n.tooltip;
- return h && h.length ? o = h.slice() : o.length || (o = r.slice()), n.defaultedLabel = r, n
- .defaultedTooltip = o, e
- }
- function Wu(t, e) {
- return t.hasOwnProperty(e) || (t[e] = []), t[e]
- }
- function Hu(t) {
- return "category" === t ? "ordinal" : "time" === t ? "time" : "float"
- }
- function Gu(t) {
- return !("ordinal" === t || "time" === t)
- }
- function Zu(t) {
- null != t && a(this, t), this.otherDims = {}
- }
- function Xu(t) {
- return t._rawCount > 65535 ? gw : mw
- }
- function Yu(t) {
- var e = t.constructor;
- return e === Array ? t.slice() : new e(t)
- }
- function Uu(t, e) {
- f(yw.concat(e.__wrappedMethods || []), function(n) {
- e.hasOwnProperty(n) && (t[n] = e[n])
- }), t.__wrappedMethods = e.__wrappedMethods, f(xw, function(n) {
- t[n] = i(e[n])
- }), t._calculationInfo = a(e._calculationInfo)
- }
- function ju(t, e, n, i, r) {
- var o = pw[e.type],
- a = i - 1,
- s = e.name,
- l = t[s][a];
- if (l && l.length < n) {
- for (var u = new o(Math.min(r - a * n, n)), h = 0; h < l.length; h++) u[h] = l[h];
- t[s][a] = u
- }
- for (var c = i * n; r > c; c += n) t[s].push(new o(Math.min(r - c, n)))
- }
- function qu(t) {
- var e = t._invertedIndicesMap;
- f(e, function(n, i) {
- var r = t._dimensionInfos[i],
- o = r.ordinalMeta;
- if (o) {
- n = e[i] = new vw(o.categories.length);
- for (var a = 0; a < n.length; a++) n[a] = dw;
- for (var a = 0; a < t._count; a++) n[t.get(i, a)] = a
- }
- })
- }
- function Ku(t, e, n) {
- var i;
- if (null != e) {
- var r = t._chunkSize,
- o = Math.floor(n / r),
- a = n % r,
- s = t.dimensions[e],
- l = t._storage[s][o];
- if (l) {
- i = l[a];
- var u = t._dimensionInfos[s].ordinalMeta;
- u && u.categories.length && (i = u.categories[i])
- }
- }
- return i
- }
- function $u(t) {
- return t
- }
- function Qu(t) {
- return t < this._count && t >= 0 ? this._indices[t] : -1
- }
- function Ju(t, e) {
- var n = t._idList[e];
- return null == n && (n = Ku(t, t._idDimIdx, e)), null == n && (n = fw + e), n
- }
- function th(t) {
- return _(t) || (t = [t]), t
- }
- function eh(t, e) {
- for (var n = 0; n < e.length; n++) t._dimensionInfos[e[n]] || console.error("Unkown dimension " + e[n])
- }
- function nh(t, e) {
- var n = t.dimensions,
- i = new _w(p(n, t.getDimensionInfo, t), t.hostModel);
- Uu(i, t);
- for (var r = i._storage = {}, o = t._storage, a = 0; a < n.length; a++) {
- var s = n[a];
- o[s] && (u(e, s) >= 0 ? (r[s] = ih(o[s]), i._rawExtent[s] = rh(), i._extent[s] = null) : r[s] = o[s])
- }
- return i
- }
- function ih(t) {
- for (var e = new Array(t.length), n = 0; n < t.length; n++) e[n] = Yu(t[n]);
- return e
- }
- function rh() {
- return [1 / 0, -1 / 0]
- }
- function oh(t, e, n) {
- function r(t, e, n) {
- null != uw.get(e) ? t.otherDims[e] = n : (t.coordDim = e, t.coordDimIndex = n, u.set(e, !0))
- }
- is.isInstance(e) || (e = is.seriesDataToSource(e)), n = n || {}, t = (t || []).slice();
- for (var o = (n.dimsDef || []).slice(), l = N(), u = N(), h = [], c = ah(e, t, o, n.dimCount), d = 0; c >
- d; d++) {
- var p = o[d] = a({}, S(o[d]) ? o[d] : {
- name: o[d]
- }),
- g = p.name,
- v = h[d] = new Zu;
- null != g && null == l.get(g) && (v.name = v.displayName = g, l.set(g, d)), null != p.type && (v.type =
- p.type), null != p.displayName && (v.displayName = p.displayName)
- }
- var m = n.encodeDef;
- !m && n.encodeDefaulter && (m = n.encodeDefaulter(e, c)), m = N(m), m.each(function(t, e) {
- if (t = tr(t).slice(), 1 === t.length && !b(t[0]) && t[0] < 0) return void m.set(e, !1);
- var n = m.set(e, []);
- f(t, function(t, i) {
- b(t) && (t = l.get(t)), null != t && c > t && (n[i] = t, r(h[t], e, i))
- })
- });
- var y = 0;
- f(t, function(t) {
- var e, t, n, o;
- if (b(t)) e = t, t = {};
- else {
- e = t.name;
- var a = t.ordinalMeta;
- t.ordinalMeta = null, t = i(t), t.ordinalMeta = a, n = t.dimsDef, o = t.otherDims, t.name =
- t.coordDim = t.coordDimIndex = t.dimsDef = t.otherDims = null
- }
- var l = m.get(e);
- if (l !== !1) {
- var l = tr(l);
- if (!l.length)
- for (var u = 0; u < (n && n.length || 1); u++) {
- for (; y < h.length && null != h[y].coordDim;) y++;
- y < h.length && l.push(y++)
- }
- f(l, function(i, a) {
- var l = h[i];
- if (r(s(l, t), e, a), null == l.name && n) {
- var u = n[a];
- !S(u) && (u = {
- name: u
- }), l.name = l.displayName = u.name, l.defaultTooltip = u.defaultTooltip
- }
- o && s(l.otherDims, o)
- })
- }
- });
- var x = n.generateCoord,
- _ = n.generateCoordCount,
- w = null != _;
- _ = x ? _ || 1 : 0;
- for (var M = x || "value", I = 0; c > I; I++) {
- var v = h[I] = h[I] || new Zu,
- C = v.coordDim;
- null == C && (v.coordDim = sh(M, u, w), v.coordDimIndex = 0, (!x || 0 >= _) && (v.isExtraCoord = !0),
- _--), null == v.name && (v.name = sh(v.coordDim, l)), null != v.type || ps(e, I, v.name) !== lx
- .Must && (!v.isExtraCoord || null == v.otherDims.itemName && null == v.otherDims.seriesName) || (v
- .type = "ordinal")
- }
- return h
- }
- function ah(t, e, n, i) {
- var r = Math.max(t.dimensionsDetectCount || 1, e.length, n.length, i || 0);
- return f(e, function(t) {
- var e = t.dimsDef;
- e && (r = Math.max(r, e.length))
- }), r
- }
- function sh(t, e, n) {
- if (n || null != e.get(t)) {
- for (var i = 0; null != e.get(t + i);) i++;
- t += i
- }
- return e.set(t, !0), t
- }
- function lh(t) {
- this.coordSysName = t, this.coordSysDims = [], this.axisMap = N(), this.categoryAxisMap = N(), this
- .firstCategoryDimIndex = null
- }
- function uh(t) {
- var e = t.get("coordinateSystem"),
- n = new lh(e),
- i = Mw[e];
- return i ? (i(t, n, n.axisMap, n.categoryAxisMap), n) : void 0
- }
- function hh(t) {
- return "category" === t.get("type")
- }
- function ch(t, e, n) {
- n = n || {};
- var i, r, o, a, s = n.byIndex,
- l = n.stackedCoordDimension,
- u = !(!t || !t.get("stack"));
- if (f(e, function(t, n) {
- b(t) && (e[n] = t = {
- name: t
- }), u && !t.isExtraCoord && (s || i || !t.ordinalMeta || (i = t), r || "ordinal" === t
- .type || "time" === t.type || l && l !== t.coordDim || (r = t))
- }), !r || s || i || (s = !0), r) {
- o = "__\x00ecstackresult", a = "__\x00ecstackedover", i && (i.createInvertedIndices = !0);
- var h = r.coordDim,
- c = r.type,
- d = 0;
- f(e, function(t) {
- t.coordDim === h && d++
- }), e.push({
- name: o,
- coordDim: h,
- coordDimIndex: d,
- type: c,
- isExtraCoord: !0,
- isCalculationCoord: !0
- }), d++, e.push({
- name: a,
- coordDim: a,
- coordDimIndex: d,
- type: c,
- isExtraCoord: !0,
- isCalculationCoord: !0
- })
- }
- return {
- stackedDimension: r && r.name,
- stackedByDimension: i && i.name,
- isStackedByIndex: s,
- stackedOverDimension: a,
- stackResultDimension: o
- }
- }
- function dh(t, e) {
- return !!e && e === t.getCalculationInfo("stackedDimension")
- }
- function fh(t, e) {
- return dh(t, e) ? t.getCalculationInfo("stackResultDimension") : e
- }
- function ph(t, e, n) {
- n = n || {}, is.isInstance(t) || (t = is.seriesDataToSource(t));
- var i, r = e.get("coordinateSystem"),
- o = Is.get(r),
- a = uh(e);
- a && (i = p(a.coordSysDims, function(t) {
- var e = {
- name: t
- },
- n = a.axisMap.get(t);
- if (n) {
- var i = n.get("type");
- e.type = Hu(i)
- }
- return e
- })), i || (i = o && (o.getDimensionsInfo ? o.getDimensionsInfo() : o.dimensions.slice()) || ["x", "y"]);
- var s, l, u = Sw(t, {
- coordDimensions: i,
- generateCoord: n.generateCoord,
- encodeDefaulter: n.useEncodeDefaulter ? x(ds, i, e) : null
- });
- a && f(u, function(t, e) {
- var n = t.coordDim,
- i = a.categoryAxisMap.get(n);
- i && (null == s && (s = e), t.ordinalMeta = i.getOrdinalMeta()), null != t.otherDims.itemName &&
- (l = !0)
- }), l || null == s || (u[s].otherDims.itemName = 0);
- var h = ch(e, u),
- c = new _w(u, e);
- c.setCalculationInfo(h);
- var d = null != s && gh(t) ? function(t, e, n, i) {
- return i === s ? n : this.defaultDimValueGetter(t, e, n, i)
- } : null;
- return c.hasItemOption = !1, c.initData(t, null, d), c
- }
- function gh(t) {
- if (t.sourceFormat === tx) {
- var e = vh(t.data || []);
- return null != e && !_(nr(e))
- }
- }
- function vh(t) {
- for (var e = 0; e < t.length && null == t[e];) e++;
- return t[e]
- }
- function mh(t) {
- this._setting = t || {}, this._extent = [1 / 0, -1 / 0], this._interval = 0, this.init && this.init.apply(
- this, arguments)
- }
- function yh(t) {
- this.categories = t.categories || [], this._needCollect = t.needCollect, this._deduplication = t
- .deduplication, this._map
- }
- function xh(t) {
- return t._map || (t._map = N(t.categories))
- }
- function _h(t) {
- return S(t) && null != t.value ? t.value : t + ""
- }
- function wh(t, e, n, i) {
- var r = {},
- o = t[1] - t[0],
- a = r.interval = za(o / e, !0);
- null != n && n > a && (a = r.interval = n), null != i && a > i && (a = r.interval = i);
- var s = r.intervalPrecision = bh(a),
- l = r.niceTickExtent = [Aw(Math.ceil(t[0] / a) * a, s), Aw(Math.floor(t[1] / a) * a, s)];
- return Mh(l, t), r
- }
- function bh(t) {
- return Ca(t) + 2
- }
- function Sh(t, e, n) {
- t[e] = Math.max(Math.min(t[e], n[1]), n[0])
- }
- function Mh(t, e) {
- !isFinite(t[0]) && (t[0] = e[0]), !isFinite(t[1]) && (t[1] = e[1]), Sh(t, 0, e), Sh(t, 1, e), t[0] > t[1] &&
- (t[0] = t[1])
- }
- function Ih(t) {
- return t.get("stack") || Pw + t.seriesIndex
- }
- function Ch(t) {
- return t.dim + t.index
- }
- function Th(t, e) {
- var n = [];
- return e.eachSeriesByType(t, function(t) {
- Oh(t) && !Lh(t) && n.push(t)
- }), n
- }
- function Ah(t) {
- var e = {};
- f(t, function(t) {
- var n = t.coordinateSystem,
- i = n.getBaseAxis();
- if ("time" === i.type || "value" === i.type)
- for (var r = t.getData(), o = i.dim + "_" + i.index, a = r.mapDimension(i.dim), s = 0, l = r
- .count(); l > s; ++s) {
- var u = r.get(a, s);
- e[o] ? e[o].push(u) : e[o] = [u]
- }
- });
- var n = [];
- for (var i in e)
- if (e.hasOwnProperty(i)) {
- var r = e[i];
- if (r) {
- r.sort(function(t, e) {
- return t - e
- });
- for (var o = null, a = 1; a < r.length; ++a) {
- var s = r[a] - r[a - 1];
- s > 0 && (o = null === o ? s : Math.min(o, s))
- }
- n[i] = o
- }
- } return n
- }
- function Dh(t) {
- var e = Ah(t),
- n = [];
- return f(t, function(t) {
- var i, r = t.coordinateSystem,
- o = r.getBaseAxis(),
- a = o.getExtent();
- if ("category" === o.type) i = o.getBandWidth();
- else if ("value" === o.type || "time" === o.type) {
- var s = o.dim + "_" + o.index,
- l = e[s],
- u = Math.abs(a[1] - a[0]),
- h = o.scale.getExtent(),
- c = Math.abs(h[1] - h[0]);
- i = l ? u / c * l : u
- } else {
- var d = t.getData();
- i = Math.abs(a[1] - a[0]) / d.count()
- }
- var f = ba(t.get("barWidth"), i),
- p = ba(t.get("barMaxWidth"), i),
- g = ba(t.get("barMinWidth") || 1, i),
- v = t.get("barGap"),
- m = t.get("barCategoryGap");
- n.push({
- bandWidth: i,
- barWidth: f,
- barMaxWidth: p,
- barMinWidth: g,
- barGap: v,
- barCategoryGap: m,
- axisKey: Ch(o),
- stackId: Ih(t)
- })
- }), kh(n)
- }
- function kh(t) {
- var e = {};
- f(t, function(t) {
- var n = t.axisKey,
- i = t.bandWidth,
- r = e[n] || {
- bandWidth: i,
- remainedWidth: i,
- autoWidthCount: 0,
- categoryGap: "20%",
- gap: "30%",
- stacks: {}
- },
- o = r.stacks;
- e[n] = r;
- var a = t.stackId;
- o[a] || r.autoWidthCount++, o[a] = o[a] || {
- width: 0,
- maxWidth: 0
- };
- var s = t.barWidth;
- s && !o[a].width && (o[a].width = s, s = Math.min(r.remainedWidth, s), r.remainedWidth -= s);
- var l = t.barMaxWidth;
- l && (o[a].maxWidth = l);
- var u = t.barMinWidth;
- u && (o[a].minWidth = u);
- var h = t.barGap;
- null != h && (r.gap = h);
- var c = t.barCategoryGap;
- null != c && (r.categoryGap = c)
- });
- var n = {};
- return f(e, function(t, e) {
- n[e] = {};
- var i = t.stacks,
- r = t.bandWidth,
- o = ba(t.categoryGap, r),
- a = ba(t.gap, 1),
- s = t.remainedWidth,
- l = t.autoWidthCount,
- u = (s - o) / (l + (l - 1) * a);
- u = Math.max(u, 0), f(i, function(t) {
- var e = t.maxWidth,
- n = t.minWidth;
- if (t.width) {
- var i = t.width;
- e && (i = Math.min(i, e)), n && (i = Math.max(i, n)), t.width = i, s -= i + a *
- i, l--
- } else {
- var i = u;
- e && i > e && (i = Math.min(e, s)), n && n > i && (i = n), i !== u && (t.width =
- i, s -= i + a * i, l--)
- }
- }), u = (s - o) / (l + (l - 1) * a), u = Math.max(u, 0);
- var h, c = 0;
- f(i, function(t) {
- t.width || (t.width = u), h = t, c += t.width * (1 + a)
- }), h && (c -= h.width * a);
- var d = -c / 2;
- f(i, function(t, i) {
- n[e][i] = n[e][i] || {
- bandWidth: r,
- offset: d,
- width: t.width
- }, d += t.width * (1 + a)
- })
- }), n
- }
- function Ph(t, e, n) {
- if (t && e) {
- var i = t[Ch(e)];
- return null != i && null != n && (i = i[Ih(n)]), i
- }
- }
- function Oh(t) {
- return t.coordinateSystem && "cartesian2d" === t.coordinateSystem.type
- }
- function Lh(t) {
- return t.pipelineContext && t.pipelineContext.large
- }
- function zh(t, e) {
- return e.toGlobalCoord(e.dataToCoord("log" === e.type ? 1 : 0))
- }
- function Eh(t, e) {
- return Uw(t, Yw(e))
- }
- function Bh(t, e) {
- var n, i, r, o = t.type,
- a = e.getMin(),
- s = e.getMax(),
- l = t.getExtent();
- "ordinal" === o ? n = e.getCategories().length : (i = e.get("boundaryGap"), _(i) || (i = [i || 0, i || 0]),
- "boolean" == typeof i[0] && (lp && console.warn(
- 'Boolean type for boundaryGap is only allowed for ordinal axis. Please use string in percentage instead, e.g., "20%". Currently, boundaryGap is set to be 0.'
- ), i = [0, 0]), i[0] = ba(i[0], 1), i[1] = ba(i[1], 1), r = l[1] - l[0] || Math.abs(l[0])),
- "dataMin" === a ? a = l[0] : "function" == typeof a && (a = a({
- min: l[0],
- max: l[1]
- })), "dataMax" === s ? s = l[1] : "function" == typeof s && (s = s({
- min: l[0],
- max: l[1]
- }));
- var u = null != a,
- h = null != s;
- null == a && (a = "ordinal" === o ? n ? 0 : 0 / 0 : l[0] - i[0] * r), null == s && (s = "ordinal" === o ?
- n ? n - 1 : 0 / 0 : l[1] + i[1] * r), (null == a || !isFinite(a)) && (a = 0 / 0), (null == s || !
- isFinite(s)) && (s = 0 / 0), t.setBlank(T(a) || T(s) || "ordinal" === o && !t.getOrdinalMeta()
- .categories.length), e.getNeedCrossZero() && (a > 0 && s > 0 && !u && (a = 0), 0 > a && 0 > s && !
- h && (s = 0));
- var c = e.ecModel;
- if (c && "time" === o) {
- var d, p = Th("bar", c);
- if (f(p, function(t) {
- d |= t.getBaseAxis() === e.axis
- }), d) {
- var g = Dh(p),
- v = Rh(a, s, e, g);
- a = v.min, s = v.max
- }
- }
- return {
- extent: [a, s],
- fixMin: u,
- fixMax: h
- }
- }
- function Rh(t, e, n, i) {
- var r = n.axis.getExtent(),
- o = r[1] - r[0],
- a = Ph(i, n.axis);
- if (void 0 === a) return {
- min: t,
- max: e
- };
- var s = 1 / 0;
- f(a, function(t) {
- s = Math.min(t.offset, s)
- });
- var l = -1 / 0;
- f(a, 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 = 1 - (s + l) / o,
- d = h / c - h;
- return e += d * (l / u), t -= d * (s / u), {
- min: t,
- max: e
- }
- }
- function Nh(t, e) {
- var n = Bh(t, e),
- i = n.extent,
- r = e.get("splitNumber");
- "log" === t.type && (t.base = e.get("logBase"));
- var o = t.type;
- t.setExtent(i[0], i[1]), t.niceExtent({
- splitNumber: r,
- fixMin: n.fixMin,
- fixMax: n.fixMax,
- minInterval: "interval" === o || "time" === o ? e.get("minInterval") : null,
- maxInterval: "interval" === o || "time" === o ? e.get("maxInterval") : null
- });
- var a = e.get("interval");
- null != a && t.setInterval && t.setInterval(a)
- }
- function Fh(t, e) {
- if (e = e || t.get("type")) switch (e) {
- case "category":
- return new Tw(t.getOrdinalMeta ? t.getOrdinalMeta() : t.getCategories(), [1 / 0, -1 / 0]);
- case "value":
- return new kw;
- default:
- return (mh.getClass(e) || kw).create(t)
- }
- }
- function Vh(t) {
- var e = t.scale.getExtent(),
- n = e[0],
- i = e[1];
- return !(n > 0 && i > 0 || 0 > n && 0 > i)
- }
- function Wh(t) {
- var e = t.getLabelModel().get("formatter"),
- n = "category" === t.type ? t.scale.getExtent()[0] : null;
- return "string" == typeof e ? e = function(e) {
- return function(n) {
- return n = t.scale.getLabel(n), e.replace("{value}", null != n ? n : "")
- }
- }(e) : "function" == typeof e ? function(i, r) {
- return null != n && (r = i - n), e(Hh(t, i), r)
- } : function(e) {
- return t.scale.getLabel(e)
- }
- }
- function Hh(t, e) {
- return "category" === t.type ? t.scale.getLabel(e) : e
- }
- function Gh(t) {
- var e = t.model,
- n = t.scale;
- if (e.get("axisLabel.show") && !n.isBlank()) {
- var i, r, o = "category" === t.type,
- a = n.getExtent();
- o ? r = n.count() : (i = n.getTicks(), r = i.length);
- var s, l = t.getLabelModel(),
- u = Wh(t),
- h = 1;
- r > 40 && (h = Math.ceil(r / 40));
- for (var c = 0; r > c; c += h) {
- var d = i ? i[c] : a[0] + c,
- f = u(d),
- p = l.getTextRect(f),
- g = Zh(p, l.get("rotate") || 0);
- s ? s.union(g) : s = g
- }
- return s
- }
- }
- function Zh(t, e) {
- var n = e * Math.PI / 180,
- i = t.plain(),
- r = i.width,
- o = i.height,
- a = r * Math.cos(n) + o * Math.sin(n),
- s = r * Math.sin(n) + o * Math.cos(n),
- l = new Tn(i.x, i.y, a, s);
- return l
- }
- function Xh(t) {
- var e = t.get("interval");
- return null == e ? "auto" : e
- }
- function Yh(t) {
- return "category" === t.type && 0 === Xh(t.getLabelModel())
- }
- function Uh(t, e) {
- if ("image" !== this.type) {
- var n = this.style,
- i = this.shape;
- i && "line" === i.symbolType ? n.stroke = t : this.__isEmptyBrush ? (n.stroke = t, n.fill = e ||
- "#fff") : (n.fill && (n.fill = t), n.stroke && (n.stroke = t)), this.dirty(!1)
- }
- }
- function jh(t, e, n, i, r, o, a) {
- var s = 0 === t.indexOf("empty");
- s && (t = t.substr(5, 1).toLowerCase() + t.substr(6));
- var l;
- return l = 0 === t.indexOf("image://") ? wo(t.slice(8), new Tn(e, n, i, r), a ? "center" : "cover") : 0 ===
- t.indexOf("path://") ? _o(t.slice(7), {}, new Tn(e, n, i, r), a ? "center" : "cover") : new sb({
- shape: {
- symbolType: t,
- x: e,
- y: n,
- width: i,
- height: r
- }
- }), l.__isEmptyBrush = s, l.setColor = Uh, l.setColor(o), l
- }
- function qh(t) {
- return ph(t.getSource(), t)
- }
- function Kh(t, e) {
- var n = e;
- pa.isInstance(e) || (n = new pa(e), c(n, Jw));
- var i = Fh(n);
- return i.setExtent(t[0], t[1]), Nh(i, n), i
- }
- function $h(t) {
- c(t, Jw)
- }
- function Qh(t, e) {
- return Math.abs(t - e) < hb
- }
- function Jh(t, e, n) {
- var i = 0,
- r = t[0];
- if (!r) return !1;
- for (var o = 1; o < t.length; o++) {
- var a = t[o];
- i += Yr(r[0], r[1], a[0], a[1], e, n), r = a
- }
- var s = t[0];
- return Qh(r[0], s[0]) && Qh(r[1], s[1]) || (i += Yr(r[0], r[1], s[0], s[1], e, n)), 0 !== i
- }
- function tc(t, e, n) {
- if (this.name = t, this.geometries = e, n) n = [n[0], n[1]];
- else {
- var i = this.getBoundingRect();
- n = [i.x + i.width / 2, i.y + i.height / 2]
- }
- this.center = n
- }
- function ec(t) {
- if (!t.UTF8Encoding) return t;
- var e = t.UTF8Scale;
- null == e && (e = 1024);
- for (var n = t.features, i = 0; i < n.length; i++)
- for (var r = n[i], o = r.geometry, a = o.coordinates, s = o.encodeOffsets, l = 0; l < a.length; l++) {
- var u = a[l];
- if ("Polygon" === o.type) a[l] = nc(u, s[l], e);
- else if ("MultiPolygon" === o.type)
- for (var h = 0; h < u.length; h++) {
- var c = u[h];
- u[h] = nc(c, s[l][h], e)
- }
- }
- return t.UTF8Encoding = !1, t
- }
- function nc(t, e, n) {
- for (var i = [], r = e[0], o = e[1], a = 0; a < t.length; a += 2) {
- var s = t.charCodeAt(a) - 64,
- l = t.charCodeAt(a + 1) - 64;
- s = s >> 1 ^ -(1 & s), l = l >> 1 ^ -(1 & l), s += r, l += o, r = s, o = l, i.push([s / n, l / n])
- }
- return i
- }
- function ic(t) {
- return "category" === t.type ? oc(t) : lc(t)
- }
- function rc(t, e) {
- return "category" === t.type ? sc(t, e) : {
- ticks: t.scale.getTicks()
- }
- }
- function oc(t) {
- var e = t.getLabelModel(),
- n = ac(t, e);
- return !e.get("show") || t.scale.isBlank() ? {
- labels: [],
- labelCategoryInterval: n.labelCategoryInterval
- } : n
- }
- function ac(t, e) {
- var n = uc(t, "labels"),
- i = Xh(e),
- r = hc(n, i);
- if (r) return r;
- var o, a;
- return w(i) ? o = vc(t, i) : (a = "auto" === i ? dc(t) : i, o = gc(t, a)), cc(n, i, {
- labels: o,
- labelCategoryInterval: a
- })
- }
- function sc(t, e) {
- var n = uc(t, "ticks"),
- i = Xh(e),
- r = hc(n, i);
- if (r) return r;
- var o, a;
- if ((!e.get("show") || t.scale.isBlank()) && (o = []), w(i)) o = vc(t, i, !0);
- else if ("auto" === i) {
- var s = ac(t, t.getLabelModel());
- a = s.labelCategoryInterval, o = p(s.labels, function(t) {
- return t.tickValue
- })
- } else a = i, o = gc(t, a, !0);
- return cc(n, i, {
- ticks: o,
- tickCategoryInterval: a
- })
- }
- function lc(t) {
- var e = t.scale.getTicks(),
- n = Wh(t);
- return {
- labels: p(e, function(e, i) {
- return {
- formattedLabel: n(e, i),
- rawLabel: t.scale.getLabel(e),
- tickValue: e
- }
- })
- }
- }
- function uc(t, e) {
- return db(t)[e] || (db(t)[e] = [])
- }
- function hc(t, e) {
- for (var n = 0; n < t.length; n++)
- if (t[n].key === e) return t[n].value
- }
- function cc(t, e, n) {
- return t.push({
- key: e,
- value: n
- }), n
- }
- function dc(t) {
- var e = db(t).autoInterval;
- return null != e ? e : db(t).autoInterval = t.calculateCategoryInterval()
- }
- function fc(t) {
- var e = pc(t),
- n = Wh(t),
- i = (e.axisRotate - e.labelRotate) / 180 * Math.PI,
- r = t.scale,
- o = r.getExtent(),
- a = r.count();
- if (o[1] - o[0] < 1) return 0;
- var s = 1;
- a > 40 && (s = Math.max(1, Math.floor(a / 40)));
- for (var l = o[0], u = t.dataToCoord(l + 1) - t.dataToCoord(l), h = Math.abs(u * Math.cos(i)), c = Math.abs(
- u * Math.sin(i)), d = 0, f = 0; l <= o[1]; l += s) {
- var p = 0,
- g = 0,
- v = Yn(n(l), e.font, "center", "top");
- p = 1.3 * v.width, g = 1.3 * v.height, d = Math.max(d, p, 7), f = Math.max(f, g, 7)
- }
- var m = d / h,
- y = f / c;
- isNaN(m) && (m = 1 / 0), isNaN(y) && (y = 1 / 0);
- var x = Math.max(0, Math.floor(Math.min(m, y))),
- _ = db(t.model),
- w = t.getExtent(),
- b = _.lastAutoInterval,
- S = _.lastTickCount;
- return null != b && null != S && Math.abs(b - x) <= 1 && Math.abs(S - a) <= 1 && b > x && _.axisExtend0 ===
- w[0] && _.axisExtend1 === w[1] ? x = b : (_.lastTickCount = a, _.lastAutoInterval = x, _.axisExtend0 =
- w[0], _.axisExtend1 = w[1]), x
- }
- function pc(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 gc(t, e, n) {
- function i(t) {
- l.push(n ? t : {
- formattedLabel: r(t),
- rawLabel: o.getLabel(t),
- tickValue: t
- })
- }
- var r = Wh(t),
- o = t.scale,
- a = o.getExtent(),
- s = t.getLabelModel(),
- l = [],
- u = Math.max((e || 0) + 1, 1),
- h = a[0],
- c = o.count();
- 0 !== h && u > 1 && c / u > 2 && (h = Math.round(Math.ceil(h / u) * u));
- var d = Yh(t),
- f = s.get("showMinLabel") || d,
- p = s.get("showMaxLabel") || d;
- f && h !== a[0] && i(a[0]);
- for (var g = h; g <= a[1]; g += u) i(g);
- return p && g - u !== a[1] && i(a[1]), l
- }
- function vc(t, e, n) {
- var i = t.scale,
- r = Wh(t),
- o = [];
- return f(i.getTicks(), function(t) {
- var a = i.getLabel(t);
- e(t, a) && o.push(n ? t : {
- formattedLabel: r(t),
- rawLabel: a,
- tickValue: t
- })
- }), o
- }
- function mc(t, e) {
- var n = t[1] - t[0],
- i = e,
- r = n / i / 2;
- t[0] += r, t[1] -= r
- }
- function yc(t, e, n, i) {
- function r(t, e) {
- return t = Sa(t), e = Sa(e), d ? t > e : e > t
- }
- var o = e.length;
- if (t.onBand && !n && o) {
- var a, s, l = t.getExtent();
- if (1 === o) e[0].coord = l[0], a = e[1] = {
- coord: l[0]
- };
- else {
- var u = e[o - 1].tickValue - e[0].tickValue,
- h = (e[o - 1].coord - e[0].coord) / u;
- f(e, function(t) {
- t.coord -= h / 2
- });
- var c = t.scale.getExtent();
- s = 1 + c[1] - e[o - 1].tickValue, a = {
- coord: e[o - 1].coord + h * s
- }, e.push(a)
- }
- var d = l[0] > l[1];
- r(e[0].coord, l[0]) && (i ? e[0].coord = l[0] : e.shift()), i && r(l[0], e[0].coord) && e.unshift({
- coord: l[0]
- }), r(l[1], a.coord) && (i ? a.coord = l[1] : e.pop()), i && r(a.coord, l[1]) && e.push({
- coord: l[1]
- })
- }
- }
- function xc(t, e) {
- var n = t.mapDimension("defaultedLabel", !0),
- i = n.length;
- if (1 === i) return $s(t, e, n[0]);
- if (i) {
- for (var r = [], o = 0; o < n.length; o++) {
- var a = $s(t, e, n[o]);
- r.push(a)
- }
- return r.join(" ")
- }
- }
- function _c(t, e, n) {
- Cg.call(this), this.updateData(t, e, n)
- }
- function wc(t) {
- return [t[0] / 2, t[1] / 2]
- }
- function bc(t, e) {
- this.parent.drift(t, e)
- }
- function Sc(t, e) {
- if (!this.incremental && !this.useHoverLayer)
- if ("emphasis" === e) {
- var n = this.__symbolOriginalScale,
- i = n[1] / n[0],
- r = {
- scale: [Math.max(1.1 * n[0], n[0] + 3), Math.max(1.1 * n[1], n[1] + 3 * i)]
- };
- this.animateTo(r, 400, "elasticOut")
- } else "normal" === e && this.animateTo({
- scale: this.__symbolOriginalScale
- }, 400, "elasticOut")
- }
- function Mc(t) {
- this.group = new Cg, this._symbolCtor = t || _c
- }
- function Ic(t, e, n, i) {
- return !(!e || isNaN(e[0]) || isNaN(e[1]) || i.isIgnore && i.isIgnore(n) || i.clipShape && !i.clipShape
- .contain(e[0], e[1]) || "none" === t.getItemVisual(n, "symbol"))
- }
- function Cc(t) {
- return null == t || S(t) || (t = {
- isIgnore: t
- }), t || {}
- }
- function Tc(t) {
- var e = t.hostModel;
- return {
- itemStyle: e.getModel("itemStyle").getItemStyle(["color"]),
- hoverItemStyle: e.getModel("emphasis.itemStyle").getItemStyle(),
- symbolRotate: e.get("symbolRotate"),
- symbolOffset: e.get("symbolOffset"),
- hoverAnimation: e.get("hoverAnimation"),
- labelModel: e.getModel("label"),
- hoverLabelModel: e.getModel("emphasis.label"),
- cursorStyle: e.get("cursor")
- }
- }
- function Ac(t, e, n) {
- var i, r = t.getBaseAxis(),
- o = t.getOtherAxis(r),
- a = Dc(o, n),
- s = r.dim,
- l = o.dim,
- u = e.mapDimension(l),
- h = e.mapDimension(s),
- c = "x" === l || "radius" === l ? 1 : 0,
- d = p(t.dimensions, function(t) {
- return e.mapDimension(t)
- }),
- f = e.getCalculationInfo("stackResultDimension");
- return (i |= dh(e, d[0])) && (d[0] = f), (i |= dh(e, d[1])) && (d[1] = f), {
- dataDimsForPoint: d,
- valueStart: a,
- valueAxisDim: l,
- baseAxisDim: s,
- stacked: !!i,
- valueDim: u,
- baseDim: h,
- baseDataOffset: c,
- stackedOverDimension: e.getCalculationInfo("stackedOverDimension")
- }
- }
- function Dc(t, e) {
- var n = 0,
- i = t.scale.getExtent();
- return "start" === e ? n = i[0] : "end" === e ? n = i[1] : i[0] > 0 ? n = i[0] : i[1] < 0 && (n = i[1]), n
- }
- function kc(t, e, n, i) {
- var r = 0 / 0;
- t.stacked && (r = n.get(n.getCalculationInfo("stackedOverDimension"), i)), isNaN(r) && (r = t.valueStart);
- var o = t.baseDataOffset,
- a = [];
- return a[o] = n.get(t.baseDim, i), a[1 - o] = r, e.dataToPoint(a)
- }
- function Pc(t, e) {
- var n = [];
- return e.diff(t).add(function(t) {
- n.push({
- cmd: "+",
- idx: t
- })
- }).update(function(t, e) {
- n.push({
- cmd: "=",
- idx: e,
- idx1: t
- })
- }).remove(function(t) {
- n.push({
- cmd: "-",
- idx: t
- })
- }).execute(), n
- }
- function Oc(t) {
- return isNaN(t[0]) || isNaN(t[1])
- }
- function Lc(t, e, n, i, r, o, a, s, l, u) {
- return "none" !== u && u ? zc.apply(this, arguments) : Ec.apply(this, arguments)
- }
- function zc(t, e, n, i, r, o, a, s, l, u, h) {
- for (var c = 0, d = n, f = 0; i > f; f++) {
- var p = e[d];
- if (d >= r || 0 > d) break;
- if (Oc(p)) {
- if (h) {
- d += o;
- continue
- }
- break
- }
- if (d === n) t[o > 0 ? "moveTo" : "lineTo"](p[0], p[1]);
- else if (l > 0) {
- var g = e[c],
- v = "y" === u ? 1 : 0,
- m = (p[v] - g[v]) * l;
- Db(Pb, g), Pb[v] = g[v] + m, Db(Ob, p), Ob[v] = p[v] - m, t.bezierCurveTo(Pb[0], Pb[1], Ob[0], Ob[
- 1], p[0], p[1])
- } else t.lineTo(p[0], p[1]);
- c = d, d += o
- }
- return f
- }
- function Ec(t, e, n, i, r, o, a, s, l, u, h) {
- for (var c = 0, d = n, f = 0; i > f; f++) {
- var p = e[d];
- if (d >= r || 0 > d) break;
- if (Oc(p)) {
- if (h) {
- d += o;
- continue
- }
- break
- }
- if (d === n) t[o > 0 ? "moveTo" : "lineTo"](p[0], p[1]), Db(Pb, p);
- else if (l > 0) {
- var g = d + o,
- v = e[g];
- if (h)
- for (; v && Oc(e[g]);) g += o, v = e[g];
- var m = .5,
- y = e[c],
- v = e[g];
- if (!v || Oc(v)) Db(Ob, p);
- else {
- Oc(v) && !h && (v = p), U(kb, v, 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] - v[w])
- } else x = kp(p, y), _ = kp(p, v);
- m = _ / (_ + x), Ab(Ob, p, kb, -l * (1 - m))
- }
- Cb(Pb, Pb, s), Tb(Pb, Pb, a), Cb(Ob, Ob, s), Tb(Ob, Ob, a), t.bezierCurveTo(Pb[0], Pb[1], Ob[0], Ob[
- 1], p[0], p[1]), Ab(Pb, p, kb, l * m)
- } else t.lineTo(p[0], p[1]);
- c = d, d += o
- }
- return f
- }
- function Bc(t, e) {
- var n = [1 / 0, 1 / 0],
- i = [-1 / 0, -1 / 0];
- if (e)
- for (var r = 0; r < t.length; r++) {
- var o = t[r];
- o[0] < n[0] && (n[0] = o[0]), o[1] < n[1] && (n[1] = o[1]), o[0] > i[0] && (i[0] = o[0]), o[1] > i[
- 1] && (i[1] = o[1])
- }
- return {
- min: e ? n : i,
- max: e ? i : n
- }
- }
- function Rc(t, e, n) {
- var i = t.getArea(),
- r = t.getBaseAxis().isHorizontal(),
- o = i.x,
- a = i.y,
- s = i.width,
- l = i.height,
- u = n.get("lineStyle.width") || 2;
- o -= u / 2, a -= u / 2, s += u, l += u, o = Math.floor(o), s = Math.round(s);
- var h = new Jm({
- shape: {
- x: o,
- y: a,
- width: s,
- height: l
- }
- });
- return e && (h.shape[r ? "width" : "height"] = 0, na(h, {
- shape: {
- width: s,
- height: l
- }
- }, n)), h
- }
- function Nc(t, e, n) {
- var i = t.getArea(),
- r = new Xm({
- shape: {
- cx: Sa(t.cx, 1),
- cy: Sa(t.cy, 1),
- r0: Sa(i.r0, 1),
- r: Sa(i.r, 1),
- startAngle: i.startAngle,
- endAngle: i.endAngle,
- clockwise: i.clockwise
- }
- });
- return e && (r.shape.endAngle = i.startAngle, na(r, {
- shape: {
- endAngle: i.endAngle
- }
- }, n)), r
- }
- function Fc(t, e) {
- if (t.length === e.length) {
- for (var n = 0; n < t.length; n++) {
- var i = t[n],
- r = e[n];
- if (i[0] !== r[0] || i[1] !== r[1]) return
- }
- return !0
- }
- }
- function Vc(t, e) {
- var n = [],
- i = [],
- r = [],
- o = [];
- return Br(t, n, i), Br(e, r, o), Math.max(Math.abs(n[0] - r[0]), Math.abs(n[1] - r[1]), Math.abs(i[0] - o[
- 0]), Math.abs(i[1] - o[1]))
- }
- function Wc(t) {
- return "number" == typeof t ? t : t ? .5 : 0
- }
- function Hc(t, e, n) {
- if (!n.valueDim) return [];
- for (var i = [], r = 0, o = e.count(); o > r; r++) i.push(kc(n, t, e, r));
- return i
- }
- function Gc(t, e, n) {
- for (var i = e.getBaseAxis(), r = "x" === i.dim || "radius" === i.dim ? 0 : 1, o = [], a = 0; a < t.length -
- 1; a++) {
- var s = t[a + 1],
- l = t[a];
- o.push(l);
- var u = [];
- switch (n) {
- case "end":
- u[r] = s[r], u[1 - r] = l[1 - r], o.push(u);
- break;
- case "middle":
- var h = (l[r] + s[r]) / 2,
- c = [];
- u[r] = c[r] = h, u[1 - r] = l[1 - r], c[1 - r] = s[1 - r], o.push(u), o.push(c);
- break;
- default:
- u[r] = l[r], u[1 - r] = s[1 - r], o.push(u)
- }
- }
- return t[a] && o.push(t[a]), o
- }
- function Zc(t, e) {
- var n = t.getVisual("visualMeta");
- if (n && n.length && t.count()) {
- if ("cartesian2d" !== e.type) return void(lp && console.warn(
- "Visual map on line style is only supported on cartesian2d."));
- for (var i, r, o = n.length - 1; o >= 0; o--) {
- var a = n[o].dimension,
- s = t.dimensions[a],
- l = t.getDimensionInfo(s);
- if (i = l && l.coordDim, "x" === i || "y" === i) {
- r = n[o];
- break
- }
- }
- if (!r) return void(lp && console.warn("Visual map on line style only support x or y dimension."));
- var u = e.getAxis(i),
- h = p(r.stops, function(t) {
- return {
- coord: u.toGlobalCoord(u.dataToCoord(t.value)),
- color: t.color
- }
- }),
- c = h.length,
- d = r.outerColors.slice();
- c && h[0].coord > h[c - 1].coord && (h.reverse(), d.reverse());
- var g = 10,
- v = h[0].coord - g,
- m = h[c - 1].coord + g,
- y = m - v;
- if (.001 > y) return "transparent";
- f(h, function(t) {
- t.offset = (t.coord - v) / y
- }), h.push({
- offset: c ? h[c - 1].offset : .5,
- color: d[1] || "transparent"
- }), h.unshift({
- offset: c ? h[0].offset : .5,
- color: d[0] || "transparent"
- });
- var x = new sy(0, 0, 0, 0, h, !0);
- return x[i] = v, x[i + "2"] = m, x
- }
- }
- function Xc(t, e, n) {
- var i = t.get("showAllSymbol"),
- r = "auto" === i;
- if (!i || r) {
- var o = n.getAxesByScale("ordinal")[0];
- if (o && (!r || !Yc(o, e))) {
- var a = e.mapDimension(o.dim),
- s = {};
- return f(o.getViewLabels(), function(t) {
- s[t.tickValue] = 1
- }),
- function(t) {
- return !s.hasOwnProperty(e.get(a, t))
- }
- }
- }
- }
- function Yc(t, e) {
- var n = t.getExtent(),
- i = Math.abs(n[1] - n[0]) / t.scale.count();
- isNaN(i) && (i = 0);
- for (var r = e.count(), o = Math.max(1, Math.round(r / 5)), a = 0; r > a; a += o)
- if (1.5 * _c.getSymbolSize(e, a)[t.isHorizontal() ? 1 : 0] > i) return !1;
- return !0
- }
- function Uc(t, e, n) {
- if ("cartesian2d" === t.type) {
- var i = t.getBaseAxis().isHorizontal(),
- r = Rc(t, e, n);
- if (!n.get("clip", !0)) {
- var o = r.shape,
- a = Math.max(o.width, o.height);
- i ? (o.y -= a, o.height += 2 * a) : (o.x -= a, o.width += 2 * a)
- }
- return r
- }
- return Nc(t, e, n)
- }
- function jc(t) {
- return this._axes[t]
- }
- function qc(t) {
- Vb.call(this, t)
- }
- function Kc(t, e) {
- return e.type || (e.data ? "category" : "value")
- }
- function $c(t, e) {
- return t.getCoordSysModel() === e
- }
- function Qc(t, e, n) {
- this._coordsMap = {}, this._coordsList = [], this._axesMap = {}, this._axesList = [], this._initCartesian(t,
- e, n), this.model = t
- }
- function Jc(t, e, n, i) {
- function r(t) {
- return t.dim + "_" + t.index
- }
- n.getAxesOnZeroOf = function() {
- return o ? [o] : []
- };
- var o, a = t[e],
- s = n.model,
- l = s.get("axisLine.onZero"),
- u = s.get("axisLine.onZeroAxisIndex");
- if (l) {
- if (null != u) td(a[u]) && (o = a[u]);
- else
- for (var h in a)
- if (a.hasOwnProperty(h) && td(a[h]) && !i[r(a[h])]) {
- o = a[h];
- break
- } o && (i[r(o)] = !0)
- }
- }
- function td(t) {
- return t && "category" !== t.type && "time" !== t.type && Vh(t)
- }
- function ed(t, e) {
- var n = t.getExtent(),
- i = n[0] + n[1];
- t.toGlobalCoord = "x" === t.dim ? function(t) {
- return t + e
- } : function(t) {
- return i - t + e
- }, t.toLocalCoord = "x" === t.dim ? function(t) {
- return t - e
- } : function(t) {
- return i - t + e
- }
- }
- function nd(t) {
- return p(qb, function(e) {
- var n = t.getReferringComponents(e)[0];
- if (lp && !n) throw new Error(e + ' "' + A(t.get(e + "Index"), t.get(e + "Id"), 0) +
- '" not found');
- return n
- })
- }
- function id(t) {
- return "cartesian2d" === t.get("coordinateSystem")
- }
- function rd(t, e, n, i) {
- var r, o, a = Da(n - t.rotation),
- s = i[0] > i[1],
- l = "start" === e && !s || "start" !== e && s;
- return ka(a - Kb / 2) ? (o = l ? "bottom" : "top", r = "center") : ka(a - 1.5 * Kb) ? (o = l ? "top" :
- "bottom", r = "center") : (o = "middle", r = 1.5 * Kb > a && a > Kb / 2 ? l ? "left" : "right" : l ?
- "right" : "left"), {
- rotation: a,
- textAlign: r,
- textVerticalAlign: o
- }
- }
- function od(t, e, n) {
- if (!Yh(t.axis)) {
- var i = t.get("axisLabel.showMinLabel"),
- r = t.get("axisLabel.showMaxLabel");
- e = e || [], n = n || [];
- var o = e[0],
- a = e[1],
- s = e[e.length - 1],
- l = e[e.length - 2],
- u = n[0],
- h = n[1],
- c = n[n.length - 1],
- d = n[n.length - 2];
- i === !1 ? (ad(o), ad(u)) : sd(o, a) && (i ? (ad(a), ad(h)) : (ad(o), ad(u))), r === !1 ? (ad(s), ad(
- c)) : sd(l, s) && (r ? (ad(l), ad(d)) : (ad(s), ad(c)))
- }
- }
- function ad(t) {
- t && (t.ignore = !0)
- }
- function sd(t, e) {
- var n = t && t.getBoundingRect().clone(),
- i = e && e.getBoundingRect().clone();
- if (n && i) {
- var r = ze([]);
- return Ne(r, r, -t.rotation), n.applyTransform(Be([], r, t.getLocalTransform())), i.applyTransform(Be(
- [], r, e.getLocalTransform())), n.intersect(i)
- }
- }
- function ld(t) {
- return "middle" === t || "center" === t
- }
- function ud(t, e, n, i, r) {
- for (var o = [], a = [], s = [], l = 0; l < t.length; l++) {
- var u = t[l].coord;
- a[0] = u, a[1] = 0, s[0] = u, s[1] = n, e && (oe(a, a, e), oe(s, s, e));
- var h = new ey({
- anid: r + "_" + t[l].tickValue,
- subPixelOptimize: !0,
- shape: {
- x1: a[0],
- y1: a[1],
- x2: s[0],
- y2: s[1]
- },
- style: i,
- z2: 2,
- silent: !0
- });
- o.push(h)
- }
- return o
- }
- function hd(t, e, n) {
- var i = e.axis,
- r = e.getModel("axisTick");
- if (r.get("show") && !i.scale.isBlank()) {
- for (var o = r.getModel("lineStyle"), a = n.tickDirection * r.get("length"), l = i.getTicksCoords(), u =
- ud(l, t._transform, a, s(o.getLineStyle(), {
- stroke: e.get("axisLine.lineStyle.color")
- }), "ticks"), h = 0; h < u.length; h++) t.group.add(u[h]);
- return u
- }
- }
- function cd(t, e, n) {
- var i = e.axis,
- r = e.getModel("minorTick");
- if (r.get("show") && !i.scale.isBlank()) {
- var o = i.getMinorTicksCoords();
- if (o.length)
- for (var a = r.getModel("lineStyle"), l = n.tickDirection * r.get("length"), u = s(a.getLineStyle(),
- s(e.getModel("axisTick").getLineStyle(), {
- stroke: e.get("axisLine.lineStyle.color")
- })), h = 0; h < o.length; h++)
- for (var c = ud(o[h], t._transform, l, u, "minorticks_" + h), d = 0; d < c.length; d++) t.group
- .add(c[d])
- }
- }
- function dd(t, e, n) {
- var i = e.axis,
- r = A(n.axisLabelShow, e.get("axisLabel.show"));
- if (r && !i.scale.isBlank()) {
- var o = e.getModel("axisLabel"),
- a = o.get("margin"),
- s = i.getViewLabels(),
- l = (A(n.labelRotate, o.get("rotate")) || 0) * Kb / 180,
- u = tS(n.rotation, l, n.labelDirection),
- h = e.getCategories && e.getCategories(!0),
- c = [],
- d = eS(e),
- p = e.get("triggerEvent");
- return f(s, function(r, s) {
- var l = r.tickValue,
- f = r.formattedLabel,
- g = r.rawLabel,
- v = o;
- h && h[l] && h[l].textStyle && (v = new pa(h[l].textStyle, o, e.ecModel));
- var m = v.getTextColor() || e.get("axisLine.lineStyle.color"),
- y = i.dataToCoord(l),
- x = [y, n.labelOffset + n.labelDirection * a],
- _ = new Wm({
- anid: "label_" + l,
- position: x,
- rotation: u.rotation,
- silent: d,
- z2: 10
- });
- Xo(_.style, v, {
- text: f,
- textAlign: v.getShallow("align", !0) || u.textAlign,
- textVerticalAlign: v.getShallow("verticalAlign", !0) || v.getShallow("baseline",
- !0) || u.textVerticalAlign,
- textFill: "function" == typeof m ? m("category" === i.type ? g : "value" === i
- .type ? l + "" : l, s) : m
- }), p && (_.eventData = Jb(e), _.eventData.targetType = "axisLabel", _.eventData.value =
- g), t._dumbGroup.add(_), _.updateTransform(), c.push(_), t.group.add(_), _
- .decomposeTransform()
- }), c
- }
- }
- function fd(t, e) {
- var n = {
- axesInfo: {},
- seriesInvolved: !1,
- coordSysAxesInfo: {},
- coordSysMap: {}
- };
- return pd(n, t, e), n.seriesInvolved && vd(n, t), n
- }
- function pd(t, e, n) {
- var i = e.getComponent("tooltip"),
- r = e.getComponent("axisPointer"),
- o = r.get("link", !0) || [],
- a = [];
- nS(n.getCoordinateSystems(), function(n) {
- function s(i, s, l) {
- var h = l.model.getModel("axisPointer", r),
- d = h.get("show");
- if (d && ("auto" !== d || i || bd(h))) {
- null == s && (s = h.get("triggerTooltip")), h = i ? gd(l, c, r, e, i, s) : h;
- var f = h.get("snap"),
- p = Sd(l.model),
- g = s || f || "category" === l.type,
- v = t.axesInfo[p] = {
- key: p,
- axis: l,
- coordSys: n,
- axisPointerModel: h,
- triggerTooltip: s,
- involveSeries: g,
- snap: f,
- useHandle: bd(h),
- seriesModels: []
- };
- u[p] = v, t.seriesInvolved |= g;
- var m = md(o, l);
- if (null != m) {
- var y = a[m] || (a[m] = {
- axesInfo: {}
- });
- y.axesInfo[p] = v, y.mapper = o[m].mapper, v.linkGroup = y
- }
- }
- }
- if (n.axisPointerEnabled) {
- var l = Sd(n.model),
- u = t.coordSysAxesInfo[l] = {};
- t.coordSysMap[l] = n;
- var h = n.model,
- c = h.getModel("tooltip", i);
- if (nS(n.getAxes(), iS(s, !1, null)), n.getTooltipAxes && i && c.get("show")) {
- var d = "axis" === c.get("trigger"),
- f = "cross" === c.get("axisPointer.type"),
- p = n.getTooltipAxes(c.get("axisPointer.axis"));
- (d || f) && nS(p.baseAxes, iS(s, f ? "cross" : !0, d)), f && nS(p.otherAxes, iS(s,
- "cross", !1))
- }
- }
- })
- }
- function gd(t, e, n, r, o, a) {
- var l = e.getModel("axisPointer"),
- u = {};
- nS(["type", "snap", "lineStyle", "shadowStyle", "label", "animation", "animationDurationUpdate",
- "animationEasingUpdate", "z"
- ], function(t) {
- u[t] = i(l.get(t))
- }), u.snap = "category" !== t.type && !!a, "cross" === l.get("type") && (u.type = "line");
- var h = u.label || (u.label = {});
- if (null == h.show && (h.show = !1), "cross" === o) {
- var c = l.get("label.show");
- if (h.show = null != c ? c : !0, !a) {
- var d = u.lineStyle = l.get("crossStyle");
- d && s(h, d.textStyle)
- }
- }
- return t.model.getModel("axisPointer", new pa(u, n, r))
- }
- function vd(t, e) {
- e.eachSeries(function(e) {
- var n = e.coordinateSystem,
- i = e.get("tooltip.trigger", !0),
- r = e.get("tooltip.show", !0);
- n && "none" !== i && i !== !1 && "item" !== i && r !== !1 && e.get("axisPointer.show", !0) !== !
- 1 && nS(t.coordSysAxesInfo[Sd(n.model)], function(t) {
- var i = t.axis;
- n.getAxis(i.dim) === i && (t.seriesModels.push(e), null == t.seriesDataCount && (t
- .seriesDataCount = 0), t.seriesDataCount += e.getData().count())
- })
- }, this)
- }
- function md(t, e) {
- for (var n = e.model, i = e.dim, r = 0; r < t.length; r++) {
- var o = t[r] || {};
- if (yd(o[i + "AxisId"], n.id) || yd(o[i + "AxisIndex"], n.componentIndex) || yd(o[i + "AxisName"], n
- .name)) return r
- }
- }
- function yd(t, e) {
- return "all" === t || _(t) && u(t, e) >= 0 || t === e
- }
- function xd(t) {
- var e = _d(t);
- if (e) {
- var n = e.axisPointerModel,
- i = e.axis.scale,
- r = n.option,
- o = n.get("status"),
- a = n.get("value");
- null != a && (a = i.parse(a));
- var s = bd(n);
- null == o && (r.status = s ? "show" : "hide");
- var l = i.getExtent().slice();
- l[0] > l[1] && l.reverse(), (null == a || a > l[1]) && (a = l[1]), a < l[0] && (a = l[0]), r.value = a,
- s && (r.status = e.axis.scale.isBlank() ? "hide" : "show")
- }
- }
- function _d(t) {
- var e = (t.ecModel.getComponent("axisPointer") || {}).coordSysAxesInfo;
- return e && e.axesInfo[Sd(t)]
- }
- function wd(t) {
- var e = _d(t);
- return e && e.axisPointerModel
- }
- function bd(t) {
- return !!t.get("handle.show")
- }
- function Sd(t) {
- return t.type + "||" + t.id
- }
- function Md(t, e, n, i, r, o) {
- var a = rS.getAxisPointerClass(t.axisPointerClass);
- if (a) {
- var s = wd(e);
- s ? (t._axisPointer || (t._axisPointer = new a)).render(e, s, i, o) : Id(t, i)
- }
- }
- function Id(t, e, n) {
- var i = t._axisPointer;
- i && i.dispose(e, n), t._axisPointer = null
- }
- function Cd(t, e, n) {
- n = n || {};
- var i = t.coordinateSystem,
- r = e.axis,
- o = {},
- a = r.getAxesOnZeroOf()[0],
- s = r.position,
- l = a ? "onZero" : s,
- u = r.dim,
- h = i.getRect(),
- c = [h.x, h.x + h.width, h.y, h.y + h.height],
- d = {
- left: 0,
- right: 1,
- top: 0,
- bottom: 1,
- onZero: 2
- },
- f = e.get("offset") || 0,
- p = "x" === u ? [c[2] - f, c[3] + f] : [c[0] - f, c[1] + f];
- if (a) {
- var g = a.toGlobalCoord(a.dataToCoord(0));
- p[d.onZero] = Math.max(Math.min(g, p[1]), p[0])
- }
- o.position = ["y" === u ? p[d[l]] : c[0], "x" === u ? p[d[l]] : c[3]], o.rotation = Math.PI / 2 * ("x" ===
- u ? 0 : 1);
- var v = {
- top: -1,
- bottom: 1,
- left: -1,
- right: 1
- };
- o.labelDirection = o.tickDirection = o.nameDirection = v[s], o.labelOffset = a ? p[d[s]] - p[d.onZero] : 0,
- e.get("axisTick.inside") && (o.tickDirection = -o.tickDirection), A(n.labelInside, e.get(
- "axisLabel.inside")) && (o.labelDirection = -o.labelDirection);
- var m = e.get("axisLabel.rotate");
- return o.labelRotate = "top" === l ? -m : m, o.z2 = 1, o
- }
- function Td(t, e, n, i) {
- var r = n.axis;
- if (!r.scale.isBlank()) {
- var o = n.getModel("splitArea"),
- a = o.getModel("areaStyle"),
- l = a.get("color"),
- u = i.coordinateSystem.getRect(),
- h = r.getTicksCoords({
- tickModel: o,
- clamp: !0
- });
- if (h.length) {
- var c = l.length,
- d = t.__splitAreaColors,
- f = N(),
- p = 0;
- if (d)
- for (var g = 0; g < h.length; g++) {
- var v = d.get(h[g].tickValue);
- if (null != v) {
- p = (v + (c - 1) * g) % c;
- break
- }
- }
- var m = r.toGlobalCoord(h[0].coord),
- y = a.getAreaStyle();
- l = _(l) ? l : [l];
- for (var g = 1; g < h.length; g++) {
- var x, w, b, S, M = r.toGlobalCoord(h[g].coord);
- r.isHorizontal() ? (x = m, w = u.y, b = M - x, S = u.height, m = x + b) : (x = u.x, w = m, b = u
- .width, S = M - w, m = w + S);
- var I = h[g - 1].tickValue;
- null != I && f.set(I, p), e.add(new Jm({
- anid: null != I ? "area_" + I : null,
- shape: {
- x: x,
- y: w,
- width: b,
- height: S
- },
- style: s({
- fill: l[p]
- }, y),
- silent: !0
- })), p = (p + 1) % c
- }
- t.__splitAreaColors = f
- }
- }
- }
- function Ad(t) {
- t.__splitAreaColors = null
- }
- function Dd(t, e, n) {
- var i, r = {},
- o = "toggleSelected" === t;
- return n.eachComponent("legend", function(n) {
- o && null != i ? n[i ? "select" : "unSelect"](e.name) : "allSelect" === t || "inverseSelect" ===
- t ? n[t]() : (n[t](e.name), i = n.isSelected(e.name));
- var a = n.getData();
- f(a, function(t) {
- var e = t.get("name");
- if ("\n" !== e && "" !== e) {
- var i = n.isSelected(e);
- r[e] = r.hasOwnProperty(e) ? r[e] && i : i
- }
- })
- }), "allSelect" === t || "inverseSelect" === t ? {
- selected: r
- } : {
- name: e.name,
- selected: r
- }
- }
- function kd(t, e) {
- var n = By(e.get("padding")),
- i = e.getItemStyle(["color", "opacity"]);
- i.fill = e.get("backgroundColor");
- var t = new Jm({
- shape: {
- x: t.x - n[3],
- y: t.y - n[0],
- width: t.width + n[1] + n[3],
- height: t.height + n[0] + n[2],
- r: e.get("borderRadius")
- },
- style: i,
- silent: !0,
- z2: -1
- });
- return t
- }
- function Pd(t, e, n, i, r, o) {
- var a;
- return "line" !== e && e.indexOf("empty") < 0 ? (a = n.getItemStyle(), t.style.stroke = i, o || (a.stroke =
- r)) : a = n.getItemStyle(["borderWidth", "borderColor"]), t.setStyle(a)
- }
- function Od(t, e, n, i) {
- zd(t, e, n, i), n.dispatchAction({
- type: "legendToggleSelect",
- name: null != t ? t : e
- }), Ld(t, e, n, i)
- }
- function Ld(t, e, n, i) {
- var r = n.getZr().storage.getDisplayList()[0];
- r && r.useHoverLayer || n.dispatchAction({
- type: "highlight",
- seriesName: t,
- name: e,
- excludeSeriesId: i
- })
- }
- function zd(t, e, n, i) {
- var r = n.getZr().storage.getDisplayList()[0];
- r && r.useHoverLayer || n.dispatchAction({
- type: "downplay",
- seriesName: t,
- name: e,
- excludeSeriesId: i
- })
- }
- function Ed(t, e, n) {
- var i = t.getOrient(),
- r = [1, 1];
- r[i.index] = 0, Qa(e, n, {
- type: "box",
- ignoreSize: r
- })
- }
- function Bd(t, e, n, i, r) {
- var o = t.axis;
- if (!o.scale.isBlank() && o.containData(e)) {
- if (!t.involveSeries) return void n.showPointer(t, e);
- var s = Rd(e, t),
- l = s.payloadBatch,
- u = s.snapToValue;
- l[0] && null == r.seriesIndex && a(r, l[0]), !i && t.snap && o.containData(u) && null != u && (e = u), n
- .showPointer(t, e, l, r), n.showTooltip(t, s, u)
- }
- }
- function Rd(t, e) {
- var n = e.axis,
- i = n.dim,
- r = t,
- o = [],
- a = Number.MAX_VALUE,
- s = -1;
- return SS(e.seriesModels, function(e) {
- var l, u, h = e.getData().mapDimension(i, !0);
- if (e.getAxisTooltipData) {
- var c = e.getAxisTooltipData(h, t, n);
- u = c.dataIndices, l = c.nestestValue
- } else {
- if (u = e.getData().indicesOfNearest(h[0], t, "category" === n.type ? .5 : null), !u.length)
- return;
- l = e.getData().get(h[0], u[0])
- }
- if (null != l && isFinite(l)) {
- var d = t - l,
- f = Math.abs(d);
- a >= f && ((a > f || d >= 0 && 0 > s) && (a = f, s = d, r = l, o.length = 0), SS(u,
- function(t) {
- o.push({
- seriesIndex: e.seriesIndex,
- dataIndexInside: t,
- dataIndex: e.getData().getRawIndex(t)
- })
- }))
- }
- }), {
- payloadBatch: o,
- snapToValue: r
- }
- }
- function Nd(t, e, n, i) {
- t[e.key] = {
- value: n,
- payloadBatch: i
- }
- }
- function Fd(t, e, n, i) {
- var r = n.payloadBatch,
- o = e.axis,
- a = o.model,
- s = e.axisPointerModel;
- if (e.triggerTooltip && r.length) {
- var l = e.coordSys.model,
- u = Sd(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: o.dim,
- axisIndex: a.componentIndex,
- axisType: a.type,
- axisId: a.id,
- value: i,
- valueLabelOpt: {
- precision: s.get("label.precision"),
- formatter: s.get("label.formatter")
- },
- seriesDataIndices: r.slice()
- })
- }
- }
- function Vd(t, e, n) {
- var i = n.axesInfo = [];
- SS(e, function(e, n) {
- var r = e.axisPointerModel.option,
- o = t[n];
- o ? (!e.useHandle && (r.status = "show"), r.value = o.value, r.seriesDataIndices = (o
- .payloadBatch || []).slice()) : !e.useHandle && (r.status = "hide"), "show" === r
- .status && i.push({
- axisDim: e.axis.dim,
- axisIndex: e.axis.model.componentIndex,
- value: r.value
- })
- })
- }
- function Wd(t, e, n, i) {
- if (Xd(e) || !t.list.length) return void i({
- type: "hideTip"
- });
- var r = ((t.list[0].dataByAxis[0] || {}).seriesDataIndices || [])[0] || {};
- i({
- type: "showTip",
- escapeConnect: !0,
- x: e[0],
- y: e[1],
- tooltipOption: n.tooltipOption,
- position: n.position,
- dataIndexInside: r.dataIndexInside,
- dataIndex: r.dataIndex,
- seriesIndex: r.seriesIndex,
- dataByCoordSys: t.list
- })
- }
- function Hd(t, e, n) {
- var i = n.getZr(),
- r = "axisPointerLastHighlights",
- o = IS(i)[r] || {},
- a = IS(i)[r] = {};
- SS(t, function(t) {
- var e = t.axisPointerModel.option;
- "show" === e.status && SS(e.seriesDataIndices, function(t) {
- var e = t.seriesIndex + " | " + t.dataIndex;
- a[e] = t
- })
- });
- var s = [],
- l = [];
- f(o, function(t, e) {
- !a[e] && l.push(t)
- }), f(a, function(t, e) {
- !o[e] && s.push(t)
- }), l.length && n.dispatchAction({
- type: "downplay",
- escapeConnect: !0,
- batch: l
- }), s.length && n.dispatchAction({
- type: "highlight",
- escapeConnect: !0,
- batch: s
- })
- }
- function Gd(t, e) {
- for (var n = 0; n < (t || []).length; n++) {
- var i = t[n];
- if (e.axis.dim === i.axisDim && e.axis.model.componentIndex === i.axisIndex) return i
- }
- }
- function Zd(t) {
- var e = t.axis.model,
- n = {},
- i = n.axisDim = t.axis.dim;
- return n.axisIndex = n[i + "AxisIndex"] = e.componentIndex, n.axisName = n[i + "AxisName"] = e.name, n
- .axisId = n[i + "AxisId"] = e.id, n
- }
- function Xd(t) {
- return !t || null == t[0] || isNaN(t[0]) || null == t[1] || isNaN(t[1])
- }
- function Yd(t, e, n) {
- if (!dp.node) {
- var i = e.getZr();
- TS(i).records || (TS(i).records = {}), Ud(i, e);
- var r = TS(i).records[t] || (TS(i).records[t] = {});
- r.handler = n
- }
- }
- function Ud(t, e) {
- function n(n, i) {
- t.on(n, function(n) {
- var r = $d(e);
- AS(TS(t).records, function(t) {
- t && i(t, n, r.dispatchAction)
- }), jd(r.pendings, e)
- })
- }
- TS(t).initialized || (TS(t).initialized = !0, n("click", x(Kd, "click")), n("mousemove", x(Kd,
- "mousemove")), n("globalout", qd))
- }
- function jd(t, e) {
- var n, i = t.showTip.length,
- r = t.hideTip.length;
- i ? n = t.showTip[i - 1] : r && (n = t.hideTip[r - 1]), n && (n.dispatchAction = null, e.dispatchAction(n))
- }
- function qd(t, e, n) {
- t.handler("leave", null, n)
- }
- function Kd(t, e, n, i) {
- e.handler(t, n, i)
- }
- function $d(t) {
- var e = {
- showTip: [],
- hideTip: []
- },
- n = function(i) {
- var r = e[i.type];
- r ? r.push(i) : (i.dispatchAction = n, t.dispatchAction(i))
- };
- return {
- dispatchAction: n,
- pendings: e
- }
- }
- function Qd(t, e) {
- if (!dp.node) {
- var n = e.getZr(),
- i = (TS(n).records || {})[t];
- i && (TS(n).records[t] = null)
- }
- }
- function Jd() {}
- function tf(t, e, n, i) {
- ef(kS(n).lastProp, i) || (kS(n).lastProp = i, e ? ea(n, i, t) : (n.stopAnimation(), n.attr(i)))
- }
- function ef(t, e) {
- if (S(t) && S(e)) {
- var n = !0;
- return f(e, function(e, i) {
- n = n && ef(t[i], e)
- }), !!n
- }
- return t === e
- }
- function nf(t, e) {
- t[e.get("label.show") ? "show" : "hide"]()
- }
- function rf(t) {
- return {
- position: t.position.slice(),
- rotation: t.rotation || 0
- }
- }
- function of(t, e, n) {
- var i = e.get("z"),
- r = e.get("zlevel");
- t && t.traverse(function(t) {
- "group" !== t.type && (null != i && (t.z = i), null != r && (t.zlevel = r), t.silent = n)
- })
- }
- function af(t) {
- var e, n = t.get("type"),
- i = t.getModel(n + "Style");
- return "line" === n ? (e = i.getLineStyle(), e.fill = null) : "shadow" === n && (e = i.getAreaStyle(), e
- .stroke = null), e
- }
- function sf(t, e, n, i, r) {
- var o = n.get("value"),
- a = uf(o, e.axis, e.ecModel, n.get("seriesDataIndices"), {
- precision: n.get("label.precision"),
- formatter: n.get("label.formatter")
- }),
- s = n.getModel("label"),
- l = By(s.get("padding") || 0),
- u = s.getFont(),
- h = Yn(a, u),
- c = r.position,
- d = h.width + l[1] + l[3],
- f = h.height + l[0] + l[2],
- p = r.align;
- "right" === p && (c[0] -= d), "center" === p && (c[0] -= d / 2);
- var g = r.verticalAlign;
- "bottom" === g && (c[1] -= f), "middle" === g && (c[1] -= f / 2), lf(c, d, f, i);
- var v = s.get("backgroundColor");
- v && "auto" !== v || (v = e.get("axisLine.lineStyle.color")), t.label = {
- shape: {
- x: 0,
- y: 0,
- width: d,
- height: f,
- r: s.get("borderRadius")
- },
- position: c.slice(),
- style: {
- text: a,
- textFont: u,
- textFill: s.getTextColor(),
- textPosition: "inside",
- textPadding: l,
- fill: v,
- stroke: s.get("borderColor") || "transparent",
- lineWidth: s.get("borderWidth") || 0,
- shadowBlur: s.get("shadowBlur"),
- shadowColor: s.get("shadowColor"),
- shadowOffsetX: s.get("shadowOffsetX"),
- shadowOffsetY: s.get("shadowOffsetY")
- },
- z2: 10
- }
- }
- function lf(t, e, n, i) {
- var r = i.getWidth(),
- o = i.getHeight();
- t[0] = Math.min(t[0] + e, r) - e, t[1] = Math.min(t[1] + n, o) - n, t[0] = Math.max(t[0], 0), t[1] = Math
- .max(t[1], 0)
- }
- function uf(t, e, n, i, r) {
- t = e.scale.parse(t);
- var o = e.scale.getLabel(t, {
- precision: r.precision
- }),
- a = r.formatter;
- if (a) {
- var s = {
- value: Hh(e, t),
- axisDimension: e.dim,
- axisIndex: e.index,
- seriesData: []
- };
- f(i, function(t) {
- var e = n.getSeriesByIndex(t.seriesIndex),
- i = t.dataIndexInside,
- r = e && e.getDataParams(i);
- r && s.seriesData.push(r)
- }), b(a) ? o = a.replace("{value}", o) : w(a) && (o = a(s))
- }
- return o
- }
- function hf(t, e, n) {
- var i = Le();
- return Ne(i, i, n.rotation), Re(i, i, n.position), ra([t.dataToCoord(e), (n.labelOffset || 0) + (n
- .labelDirection || 1) * (n.labelMargin || 0)], i)
- }
- function cf(t, e, n, i, r, o) {
- var a = $b.innerTextLayout(n.rotation, 0, n.labelDirection);
- n.labelMargin = r.get("label.margin"), sf(e, i, r, o, {
- position: hf(i.axis, t, n),
- align: a.textAlign,
- verticalAlign: a.textVerticalAlign
- })
- }
- function df(t, e, n) {
- return n = n || 0, {
- x1: t[n],
- y1: t[1 - n],
- x2: e[n],
- y2: e[1 - n]
- }
- }
- function ff(t, e, n) {
- return n = n || 0, {
- x: t[n],
- y: t[1 - n],
- width: e[n],
- height: e[1 - n]
- }
- }
- function pf(t, e) {
- var n = {};
- return n[e.dim + "AxisIndex"] = e.index, t.getCartesian(n)
- }
- function gf(t) {
- return "x" === t.dim ? 0 : 1
- }
- function vf(t) {
- var e = "cubic-bezier(0.23, 1, 0.32, 1)",
- n = "left " + t + "s " + e + ",top " + t + "s " + e;
- return p(RS, function(t) {
- return t + "transition:" + n
- }).join(";")
- }
- function mf(t) {
- var e = [],
- n = t.get("fontSize"),
- i = t.getTextColor();
- return i && e.push("color:" + i), e.push("font:" + t.getFont()), n && e.push("line-height:" + Math.round(3 *
- n / 2) + "px"), ES(["decoration", "align"], function(n) {
- var i = t.get(n);
- i && e.push("text-" + n + ":" + i)
- }), e.join(";")
- }
- function yf(t) {
- var e = [],
- n = t.get("transitionDuration"),
- i = t.get("backgroundColor"),
- r = t.getModel("textStyle"),
- o = t.get("padding");
- return n && e.push(vf(n)), i && (dp.canvasSupported ? e.push("background-Color:" + i) : (e.push(
- "background-Color:#" + on(i)), e.push("filter:alpha(opacity=70)"))), ES(["width", "color",
- "radius"],
- function(n) {
- var i = "border-" + n,
- r = BS(i),
- o = t.get(r);
- null != o && e.push(i + ":" + o + ("color" === n ? "" : "px"))
- }), e.push(mf(r)), null != o && e.push("padding:" + By(o).join("px ") + "px"), e.join(";") + ";"
- }
- function xf(t, e, n, i, r) {
- var o = e && e.painter;
- if (n) {
- var a = o && o.getViewportRoot();
- a && pe(t, a, document.body, i, r)
- } else {
- t[0] = i, t[1] = r;
- var s = o && o.getViewportRootOffset();
- s && (t[0] += s.offsetLeft, t[1] += s.offsetTop)
- }
- }
- function _f(t, e, n) {
- if (dp.wxa) return null;
- var i = document.createElement("div");
- i.domBelongToZr = !0, this.el = i;
- var r = this._zr = e.getZr(),
- o = this._appendToBody = n && n.appendToBody;
- this._styleCoord = [0, 0], xf(this._styleCoord, r, o, e.getWidth() / 2, e.getHeight() / 2), o ? document
- .body.appendChild(i) : t.appendChild(i), this._container = t, this._show = !1, this._hideTimeout;
- var a = this;
- i.onmouseenter = function() {
- a._enterable && (clearTimeout(a._hideTimeout), a._show = !0), a._inContent = !0
- }, i.onmousemove = function(t) {
- if (t = t || window.event, !a._enterable) {
- var e = r.handler,
- n = r.painter.getViewportRoot();
- be(n, t, !0), e.dispatch("mousemove", t)
- }
- }, i.onmouseleave = function() {
- a._enterable && a._show && a.hideLater(a._hideDelay), a._inContent = !1
- }
- }
- function wf(t) {
- this._zr = t.getZr(), this._show = !1, this._hideTimeout
- }
- function bf(t) {
- for (var e = t.pop(); t.length;) {
- var n = t.pop();
- n && (pa.isInstance(n) && (n = n.get("tooltip", !0)), "string" == typeof n && (n = {
- formatter: n
- }), e = new pa(n, e, e.ecModel))
- }
- return e
- }
- function Sf(t, e) {
- return t.dispatchAction || y(e.dispatchAction, e)
- }
- function Mf(t, e, n, i, r, o, a) {
- var s = n.getOuterSize(),
- l = s.width,
- u = s.height;
- return null != o && (t + l + o > i ? t -= l + o : t += o), null != a && (e + u + a > r ? e -= u + a : e +=
- a), [t, e]
- }
- function If(t, e, n, i, r) {
- var o = n.getOuterSize(),
- a = o.width,
- s = o.height;
- return t = Math.min(t + a, i) - a, e = Math.min(e + s, r) - s, t = Math.max(t, 0), e = Math.max(e, 0), [t,
- e]
- }
- function Cf(t, e, n) {
- var i = n[0],
- r = n[1],
- o = 5,
- a = 0,
- s = 0,
- l = e.width,
- u = e.height;
- switch (t) {
- case "inside":
- a = e.x + l / 2 - i / 2, s = e.y + u / 2 - r / 2;
- break;
- case "top":
- a = e.x + l / 2 - i / 2, s = e.y - r - o;
- break;
- case "bottom":
- a = e.x + l / 2 - i / 2, s = e.y + u + o;
- break;
- case "left":
- a = e.x - i - o, s = e.y + u / 2 - r / 2;
- break;
- case "right":
- a = e.x + l + o, s = e.y + u / 2 - r / 2
- }
- return [a, s]
- }
- function Tf(t) {
- return "center" === t || "middle" === t
- }
- function Af(t) {
- return u(ZS, t) >= 0
- }
- function Df(t, e) {
- t = t.slice();
- var n = p(t, Ya);
- e = (e || []).slice();
- var i = p(e, Ya);
- return function(r, o) {
- f(t, function(t, a) {
- for (var s = {
- name: t,
- capital: n[a]
- }, l = 0; l < e.length; l++) s[e[l]] = t + i[l];
- r.call(o, s)
- })
- }
- }
- function kf(t, e, n) {
- function i(t, e) {
- return u(e.nodes, t) >= 0
- }
- function r(t, i) {
- var r = !1;
- return e(function(e) {
- f(n(t, e) || [], function(t) {
- i.records[e.name][t] && (r = !0)
- })
- }), r
- }
- function o(t, i) {
- i.nodes.push(t), e(function(e) {
- f(n(t, e) || [], function(t) {
- i.records[e.name][t] = !0
- })
- })
- }
- return function(n) {
- function a(t) {
- !i(t, s) && r(t, s) && (o(t, s), l = !0)
- }
- var s = {
- nodes: [],
- records: {}
- };
- if (e(function(t) {
- s.records[t.name] = {}
- }), !n) return s;
- o(n, s);
- var l;
- do l = !1, t(a); while (l);
- return s
- }
- }
- function Pf(t, e) {
- var n = t[e] - t[1 - e];
- return {
- span: Math.abs(n),
- sign: n > 0 ? -1 : 0 > n ? 1 : e ? -1 : 1
- }
- }
- function Of(t, e) {
- return Math.min(null != e[1] ? e[1] : 1 / 0, Math.max(null != e[0] ? e[0] : -1 / 0, t))
- }
- function Lf(t, e, n) {
- var i = [1 / 0, -1 / 0];
- return US(n, function(t) {
- var n = t.getData();
- n && US(n.mapDimension(e, !0), function(t) {
- var e = n.getApproximateExtent(t);
- e[0] < i[0] && (i[0] = e[0]), e[1] > i[1] && (i[1] = e[1])
- })
- }), i[1] < i[0] && (i = [0 / 0, 0 / 0]), zf(t, i), i
- }
- function zf(t, e) {
- var n = t.getAxisModel(),
- i = n.getMin(!0),
- r = "category" === n.get("type"),
- o = r && n.getCategories().length;
- null != i && "dataMin" !== i && "function" != typeof i ? e[0] = i : r && (e[0] = o > 0 ? 0 : 0 / 0);
- var a = n.getMax(!0);
- return null != a && "dataMax" !== a && "function" != typeof a ? e[1] = a : r && (e[1] = o > 0 ? o - 1 : 0 /
- 0), n.get("scale", !0) || (e[0] > 0 && (e[0] = 0), e[1] < 0 && (e[1] = 0)), e
- }
- function Ef(t, e) {
- var n = t.getAxisModel(),
- i = t._percentWindow,
- r = t._valueWindow;
- if (i) {
- var o = Ta(r, [0, 500]);
- o = Math.min(o, 20);
- var a = e || 0 === i[0] && 100 === i[1];
- n.setRange(a ? null : +r[0].toFixed(o), a ? null : +r[1].toFixed(o))
- }
- }
- function Bf(t) {
- var e = t._minMaxSpan = {},
- n = t._dataZoomModel,
- i = t._dataExtent;
- US(["min", "max"], function(r) {
- var o = n.get(r + "Span"),
- a = n.get(r + "ValueSpan");
- null != a && (a = t.getAxisModel().axis.scale.parse(a)), null != a ? o = wa(i[0] + a, i, [0,
- 100], !0) : null != o && (a = wa(o, [0, 100], i, !0) - i[0]), e[r + "Span"] = o, e[r +
- "ValueSpan"] = a
- })
- }
- function Rf(t) {
- var e = {};
- return KS(["start", "end", "startValue", "endValue", "throttle"], function(n) {
- t.hasOwnProperty(n) && (e[n] = t[n])
- }), e
- }
- function Nf(t, e) {
- var n = t._rangePropMode,
- i = t.get("rangeMode");
- KS([
- ["start", "startValue"],
- ["end", "endValue"]
- ], function(t, r) {
- var o = null != e[t[0]],
- a = null != e[t[1]];
- o && !a ? n[r] = "percent" : !o && a ? n[r] = "value" : i ? n[r] = i[r] : o && (n[r] =
- "percent")
- })
- }
- function Ff(t) {
- var e = {
- x: "y",
- y: "x",
- radius: "angle",
- angle: "radius"
- };
- return e[t]
- }
- function Vf(t) {
- return "vertical" === t ? "ns-resize" : "ew-resize"
- }
- function Wf(t, e) {
- return !!Hf(t)[e]
- }
- function Hf(t) {
- return t[fM] || (t[fM] = {})
- }
- function Gf(t) {
- this.pointerChecker, this._zr = t, this._opt = {};
- var e = y,
- n = e(Zf, this),
- r = e(Xf, this),
- o = e(Yf, this),
- a = e(Uf, this),
- l = e(jf, this);
- zp.call(this), this.setPointerChecker = function(t) {
- this.pointerChecker = t
- }, this.enable = function(e, u) {
- this.disable(), this._opt = s(i(u) || {}, {
- zoomOnMouseWheel: !0,
- moveOnMouseMove: !0,
- moveOnMouseWheel: !1,
- preventDefaultMouseMove: !0
- }), null == e && (e = !0), (e === !0 || "move" === e || "pan" === e) && (t.on("mousedown", n), t
- .on("mousemove", r), t.on("mouseup", o)), (e === !0 || "scale" === e || "zoom" === e) && (t
- .on("mousewheel", a), t.on("pinch", l))
- }, this.disable = function() {
- t.off("mousedown", n), t.off("mousemove", r), t.off("mouseup", o), t.off("mousewheel", a), t.off(
- "pinch", l)
- }, this.dispose = this.disable, this.isDragging = function() {
- return this._dragging
- }, this.isPinching = function() {
- return this._pinching
- }
- }
- function Zf(t) {
- if (!(Ie(t) || t.target && t.target.draggable)) {
- var e = t.offsetX,
- n = t.offsetY;
- this.pointerChecker && this.pointerChecker(t, e, n) && (this._x = e, this._y = n, this._dragging = !0)
- }
- }
- function Xf(t) {
- if (this._dragging && $f("moveOnMouseMove", t, this._opt) && "pinch" !== t.gestureEvent && !Wf(this._zr,
- "globalPan")) {
- var e = t.offsetX,
- n = t.offsetY,
- i = this._x,
- r = this._y,
- o = e - i,
- a = n - r;
- this._x = e, this._y = n, this._opt.preventDefaultMouseMove && Wp(t.event), Kf(this, "pan",
- "moveOnMouseMove", t, {
- dx: o,
- dy: a,
- oldX: i,
- oldY: r,
- newX: e,
- newY: n
- })
- }
- }
- function Yf(t) {
- Ie(t) || (this._dragging = !1)
- }
- function Uf(t) {
- var e = $f("zoomOnMouseWheel", t, this._opt),
- n = $f("moveOnMouseWheel", t, this._opt),
- i = t.wheelDelta,
- r = Math.abs(i),
- o = t.offsetX,
- a = t.offsetY;
- if (0 !== i && (e || n)) {
- if (e) {
- var s = r > 3 ? 1.4 : r > 1 ? 1.2 : 1.1,
- l = i > 0 ? s : 1 / s;
- qf(this, "zoom", "zoomOnMouseWheel", t, {
- scale: l,
- originX: o,
- originY: a
- })
- }
- if (n) {
- var u = Math.abs(i),
- h = (i > 0 ? 1 : -1) * (u > 3 ? .4 : u > 1 ? .15 : .05);
- qf(this, "scrollMove", "moveOnMouseWheel", t, {
- scrollDelta: h,
- originX: o,
- originY: a
- })
- }
- }
- }
- function jf(t) {
- if (!Wf(this._zr, "globalPan")) {
- var e = t.pinchScale > 1 ? 1.1 : 1 / 1.1;
- qf(this, "zoom", null, t, {
- scale: e,
- originX: t.pinchX,
- originY: t.pinchY
- })
- }
- }
- function qf(t, e, n, i, r) {
- t.pointerChecker && t.pointerChecker(i, r.originX, r.originY) && (Wp(i.event), Kf(t, e, n, i, r))
- }
- function Kf(t, e, n, i, r) {
- r.isAvailableBehavior = y($f, null, n, i), t.trigger(e, r)
- }
- function $f(t, e, n) {
- var i = n[t];
- return !t || i && (!b(i) || e.event[i + "Key"])
- }
- function Qf(t, e) {
- var n = ep(t),
- i = e.dataZoomId,
- r = e.coordId;
- f(n, function(t) {
- var n = t.dataZoomInfos;
- n[i] && u(e.allCoordIds, r) < 0 && (delete n[i], t.count--)
- }), ip(n);
- var o = n[r];
- o || (o = n[r] = {
- coordId: r,
- dataZoomInfos: {},
- count: 0
- }, o.controller = np(t, o), o.dispatchAction = x(rp, t)), !o.dataZoomInfos[i] && o.count++, o
- .dataZoomInfos[i] = e;
- var a = op(o.dataZoomInfos);
- o.controller.enable(a.controlType, a.opt), o.controller.setPointerChecker(e.containsPoint), vl(o,
- "dispatchAction", e.dataZoomModel.get("throttle", !0), "fixRate")
- }
- function Jf(t, e) {
- var n = ep(t);
- f(n, function(t) {
- t.controller.dispose();
- var n = t.dataZoomInfos;
- n[e] && (delete n[e], t.count--)
- }), ip(n)
- }
- function tp(t) {
- return t.type + "\x00_" + t.id
- }
- function ep(t) {
- var e = t.getZr();
- return e[pM] || (e[pM] = {})
- }
- function np(t, e) {
- var n = new Gf(t.getZr());
- return f(["pan", "zoom", "scrollMove"], function(t) {
- n.on(t, function(n) {
- var i = [];
- f(e.dataZoomInfos, function(r) {
- if (n.isAvailableBehavior(r.dataZoomModel.option)) {
- var o = (r.getRange || {})[t],
- a = o && o(e.controller, n);
- !r.dataZoomModel.get("disabled", !0) && a && i.push({
- dataZoomId: r.dataZoomId,
- start: a[0],
- end: a[1]
- })
- }
- }), i.length && e.dispatchAction(i)
- })
- }), n
- }
- function ip(t) {
- f(t, function(e, n) {
- e.count || (e.controller.dispose(), delete t[n])
- })
- }
- function rp(t, e) {
- t.dispatchAction({
- type: "dataZoom",
- batch: e
- })
- }
- function op(t) {
- var e, n = "type_",
- i = {
- type_true: 2,
- type_move: 1,
- type_false: 0,
- type_undefined: -1
- },
- r = !0;
- return f(t, function(t) {
- var o = t.dataZoomModel,
- a = o.get("disabled", !0) ? !1 : o.get("zoomLock", !0) ? "move" : !0;
- i[n + a] > i[n + e] && (e = a), r &= o.get("preventDefaultMouseMove", !0)
- }), {
- controlType: e,
- opt: {
- zoomOnMouseWheel: !0,
- moveOnMouseMove: !0,
- moveOnMouseWheel: !0,
- preventDefaultMouseMove: !!r
- }
- }
- }
- function ap(t) {
- return function(e, n, i, r) {
- var o = this._range,
- a = o.slice(),
- s = e.axisModels[0];
- if (s) {
- var l = t(a, s, e, n, i, r);
- return YS(l, a, [0, 100], "all"), this._range = a, o[0] !== a[0] || o[1] !== a[1] ? a : void 0
- }
- }
- }
- var sp;
- "undefined" != typeof window ? sp = window.__DEV__ : "undefined" != typeof global && (sp = global.__DEV__),
- "undefined" == typeof sp && (sp = !0);
- var lp = sp,
- up = 2311,
- hp = function() {
- return up++
- },
- cp = {};
- cp = "object" == typeof wx && "function" == typeof wx.getSystemInfoSync ? {
- browser: {},
- os: {},
- node: !1,
- wxa: !0,
- canvasSupported: !0,
- svgSupported: !1,
- touchEventsSupported: !0,
- domSupported: !1
- } : "undefined" == typeof document && "undefined" != typeof self ? {
- browser: {},
- os: {},
- node: !1,
- worker: !0,
- canvasSupported: !0,
- domSupported: !1
- } : "undefined" == typeof navigator ? {
- browser: {},
- os: {},
- node: !0,
- worker: !1,
- canvasSupported: !0,
- svgSupported: !0,
- domSupported: !1
- } : e(navigator.userAgent);
- var dp = cp,
- fp = {
- "[object Function]": 1,
- "[object RegExp]": 1,
- "[object Date]": 1,
- "[object Error]": 1,
- "[object CanvasGradient]": 1,
- "[object CanvasPattern]": 1,
- "[object Image]": 1,
- "[object Canvas]": 1
- },
- pp = {
- "[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
- },
- gp = Object.prototype.toString,
- vp = Array.prototype,
- mp = vp.forEach,
- yp = vp.filter,
- xp = vp.slice,
- _p = vp.map,
- wp = vp.reduce,
- bp = {},
- Sp = function() {
- return bp.createCanvas()
- };
- bp.createCanvas = function() {
- return document.createElement("canvas")
- };
- var Mp, Ip = "__ec_primitive__";
- R.prototype = {
- constructor: R,
- 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 = y(t, e));
- for (var n in this.data) this.data.hasOwnProperty(n) && t(this.data[n], n)
- },
- removeKey: function(t) {
- delete this.data[t]
- }
- };
- var Cp = (Object.freeze || Object)({
- $override: n,
- clone: i,
- merge: r,
- mergeAll: o,
- extend: a,
- defaults: s,
- createCanvas: Sp,
- getContext: l,
- indexOf: u,
- inherits: h,
- mixin: c,
- isArrayLike: d,
- each: f,
- map: p,
- reduce: g,
- filter: v,
- find: m,
- bind: y,
- curry: x,
- isArray: _,
- isFunction: w,
- isString: b,
- isObject: S,
- isBuiltInObject: M,
- isTypedArray: I,
- isDom: C,
- eqNaN: T,
- retrieve: A,
- retrieve2: D,
- retrieve3: k,
- slice: P,
- normalizeCssArray: O,
- assert: L,
- trim: z,
- setAsPrimitive: E,
- isPrimitive: B,
- createHashMap: N,
- concatArray: F,
- noop: V
- }),
- Tp = "undefined" == typeof Float32Array ? Array : Float32Array,
- Ap = j,
- Dp = q,
- kp = ee,
- Pp = ne,
- Op = (Object.freeze || Object)({
- create: W,
- copy: H,
- clone: G,
- set: Z,
- add: X,
- scaleAndAdd: Y,
- sub: U,
- len: j,
- length: Ap,
- lenSquare: q,
- lengthSquare: Dp,
- mul: K,
- div: $,
- dot: Q,
- scale: J,
- normalize: te,
- distance: ee,
- dist: kp,
- distanceSquare: ne,
- distSquare: Pp,
- negate: ie,
- lerp: re,
- applyTransform: oe,
- min: ae,
- max: se
- });
- le.prototype = {
- constructor: le,
- _dragStart: function(t) {
- for (var e = t.target; e && !e.draggable;) e = e.parent;
- e && (this._draggingTarget = e, e.dragging = !0, this._x = t.offsetX, this._y = t.offsetY, this
- .dispatchToElement(ue(e, t), "dragstart", t.event))
- },
- _drag: function(t) {
- var e = this._draggingTarget;
- if (e) {
- var n = t.offsetX,
- i = t.offsetY,
- r = n - this._x,
- o = i - this._y;
- this._x = n, this._y = i, e.drift(r, o, t), this.dispatchToElement(ue(e, t), "drag", t
- .event);
- var a = this.findHover(n, i, e).target,
- s = this._dropTarget;
- this._dropTarget = a, e !== a && (s && a !== s && this.dispatchToElement(ue(s, t),
- "dragleave", t.event), a && a !== s && this.dispatchToElement(ue(a, t),
- "dragenter", t.event))
- }
- },
- _dragEnd: function(t) {
- var e = this._draggingTarget;
- e && (e.dragging = !1), this.dispatchToElement(ue(e, t), "dragend", t.event), this
- ._dropTarget && this.dispatchToElement(ue(this._dropTarget, t), "drop", t.event), this
- ._draggingTarget = null, this._dropTarget = null
- }
- };
- var Lp = Array.prototype.slice,
- zp = function(t) {
- this._$handlers = {}, this._$eventProcessor = t
- };
- zp.prototype = {
- constructor: zp,
- one: function(t, e, n, i) {
- return ce(this, t, e, n, i, !0)
- },
- on: function(t, e, n, i) {
- return ce(this, t, e, n, i, !1)
- },
- isSilent: function(t) {
- var e = this._$handlers;
- return !e[t] || !e[t].length
- },
- off: function(t, e) {
- var n = this._$handlers;
- if (!t) return this._$handlers = {}, this;
- if (e) {
- if (n[t]) {
- for (var i = [], r = 0, o = n[t].length; o > r; r++) n[t][r].h !== e && i.push(n[t][r]);
- n[t] = i
- }
- n[t] && 0 === n[t].length && delete n[t]
- } else delete n[t];
- return this
- },
- trigger: function(t) {
- var e = this._$handlers[t],
- n = this._$eventProcessor;
- if (e) {
- var i = arguments,
- r = i.length;
- r > 3 && (i = Lp.call(i, 1));
- for (var o = e.length, a = 0; o > a;) {
- var s = e[a];
- if (n && n.filter && null != s.query && !n.filter(t, s.query)) a++;
- else {
- switch (r) {
- case 1:
- s.h.call(s.ctx);
- break;
- case 2:
- s.h.call(s.ctx, i[1]);
- break;
- case 3:
- s.h.call(s.ctx, i[1], i[2]);
- break;
- default:
- s.h.apply(s.ctx, i)
- }
- s.one ? (e.splice(a, 1), o--) : a++
- }
- }
- }
- return n && n.afterTrigger && n.afterTrigger(t), this
- },
- triggerWithContext: function(t) {
- var e = this._$handlers[t],
- n = this._$eventProcessor;
- if (e) {
- var i = arguments,
- r = i.length;
- r > 4 && (i = Lp.call(i, 1, i.length - 1));
- for (var o = i[i.length - 1], a = e.length, s = 0; a > s;) {
- var l = e[s];
- if (n && n.filter && null != l.query && !n.filter(t, l.query)) s++;
- else {
- switch (r) {
- case 1:
- l.h.call(o);
- break;
- case 2:
- l.h.call(o, i[1]);
- break;
- case 3:
- l.h.call(o, i[1], i[2]);
- break;
- default:
- l.h.apply(o, i)
- }
- l.one ? (e.splice(s, 1), a--) : s++
- }
- }
- }
- return n && n.afterTrigger && n.afterTrigger(t), this
- }
- };
- var Ep = Math.log(2),
- Bp = "___zrEVENTSAVED",
- Rp = [],
- Np = "undefined" != typeof window && !!window.addEventListener,
- Fp = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
- Vp = [],
- Wp = Np ? function(t) {
- t.preventDefault(), t.stopPropagation(), t.cancelBubble = !0
- } : function(t) {
- t.returnValue = !1, t.cancelBubble = !0
- },
- Hp = function() {
- this._track = []
- };
- Hp.prototype = {
- constructor: Hp,
- recognize: function(t, e, n) {
- return this._doTrack(t, e, n), this._recognize(t)
- },
- clear: function() {
- return this._track.length = 0, this
- },
- _doTrack: function(t, e, n) {
- var i = t.touches;
- if (i) {
- for (var r = {
- points: [],
- touches: [],
- target: e,
- event: t
- }, o = 0, a = i.length; a > o; o++) {
- var s = i[o],
- l = xe(n, s, {});
- r.points.push([l.zrX, l.zrY]), r.touches.push(s)
- }
- this._track.push(r)
- }
- },
- _recognize: function(t) {
- for (var e in Gp)
- if (Gp.hasOwnProperty(e)) {
- var n = Gp[e](this._track, t);
- if (n) return n
- }
- }
- };
- var Gp = {
- pinch: function(t, e) {
- var n = t.length;
- if (n) {
- var i = (t[n - 1] || {}).points,
- r = (t[n - 2] || {}).points || i;
- if (r && r.length > 1 && i && i.length > 1) {
- var o = Ce(i) / Ce(r);
- !isFinite(o) && (o = 1), e.pinchScale = o;
- var a = Te(i);
- return e.pinchX = a[0], e.pinchY = a[1], {
- type: "pinch",
- target: t[0].target,
- event: e
- }
- }
- }
- }
- },
- Zp = "silent";
- ke.prototype.dispose = function() {};
- var Xp = ["click", "dblclick", "mousewheel", "mouseout", "mouseup", "mousedown", "mousemove", "contextmenu"],
- Yp = function(t, e, n, i) {
- zp.call(this), this.storage = t, this.painter = e, this.painterRoot = i, n = n || new ke, this.proxy =
- null, this._hovered = {}, this._lastTouchMoment, this._lastX, this._lastY, this._gestureMgr, le
- .call(this), this.setHandlerProxy(n)
- };
- Yp.prototype = {
- constructor: Yp,
- setHandlerProxy: function(t) {
- this.proxy && this.proxy.dispose(), t && (f(Xp, function(e) {
- t.on && t.on(e, this[e], this)
- }, this), t.handler = this), this.proxy = t
- },
- mousemove: function(t) {
- var e = t.zrX,
- n = t.zrY,
- i = Oe(this, e, n),
- r = this._hovered,
- o = r.target;
- o && !o.__zr && (r = this.findHover(r.x, r.y), o = r.target);
- var a = this._hovered = i ? {
- x: e,
- y: n
- } : this.findHover(e, n),
- s = a.target,
- l = this.proxy;
- l.setCursor && l.setCursor(s ? s.cursor : "default"), o && s !== o && this.dispatchToElement(r,
- "mouseout", t), this.dispatchToElement(a, "mousemove", t), s && s !== o && this
- .dispatchToElement(a, "mouseover", t)
- },
- mouseout: function(t) {
- var e = t.zrEventControl,
- n = t.zrIsToLocalDOM;
- "only_globalout" !== e && this.dispatchToElement(this._hovered, "mouseout", t),
- "no_globalout" !== e && !n && this.trigger("globalout", {
- type: "globalout",
- event: t
- })
- },
- resize: function() {
- this._hovered = {}
- },
- dispatch: function(t, e) {
- var n = this[t];
- n && n.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, n) {
- t = t || {};
- var i = t.target;
- if (!i || !i.silent) {
- for (var r = "on" + e, o = Ae(e, t, n); i && (i[r] && (o.cancelBubble = i[r].call(i, o)), i
- .trigger(e, o), i = i.parent, !o.cancelBubble););
- o.cancelBubble || (this.trigger(e, o), this.painter && this.painter.eachOtherLayer(function(
- t) {
- "function" == typeof t[r] && t[r].call(t, o), t.trigger && t.trigger(e, o)
- }))
- }
- },
- findHover: function(t, e, n) {
- for (var i = this.storage.getDisplayList(), r = {
- x: t,
- y: e
- }, o = i.length - 1; o >= 0; o--) {
- var a;
- if (i[o] !== n && !i[o].ignore && (a = Pe(i[o], t, e)) && (!r.topTarget && (r.topTarget = i[
- o]), a !== Zp)) {
- r.target = i[o];
- break
- }
- }
- return r
- },
- processGesture: function(t, e) {
- this._gestureMgr || (this._gestureMgr = new Hp);
- var n = this._gestureMgr;
- "start" === e && n.clear();
- var i = n.recognize(t, this.findHover(t.zrX, t.zrY, null).target, this.proxy.dom);
- if ("end" === e && n.clear(), i) {
- var r = i.type;
- t.gestureEvent = r, this.dispatchToElement({
- target: i.target
- }, r, i.event)
- }
- }
- }, f(["click", "mousedown", "mouseup", "mousewheel", "dblclick", "contextmenu"], function(t) {
- Yp.prototype[t] = function(e) {
- var n, i, r = e.zrX,
- o = e.zrY,
- a = Oe(this, r, o);
- if ("mouseup" === t && a || (n = this.findHover(r, o), i = n.target), "mousedown" === t)
- this._downEl = i, this._downPoint = [e.zrX, e.zrY], this._upEl = i;
- else if ("mouseup" === t) this._upEl = i;
- else if ("click" === t) {
- if (this._downEl !== this._upEl || !this._downPoint || kp(this._downPoint, [e.zrX, e
- .zrY]) > 4) return;
- this._downPoint = null
- }
- this.dispatchToElement(n, t, e)
- }
- }), c(Yp, zp), c(Yp, le);
- var Up = "undefined" == typeof Float32Array ? Array : Float32Array,
- jp = (Object.freeze || Object)({
- create: Le,
- identity: ze,
- copy: Ee,
- mul: Be,
- translate: Re,
- rotate: Ne,
- scale: Fe,
- invert: Ve,
- clone: We
- }),
- qp = ze,
- Kp = 5e-5,
- $p = function(t) {
- 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
- },
- Qp = $p.prototype;
- Qp.transform = null, Qp.needLocalTransform = function() {
- return He(this.rotation) || He(this.position[0]) || He(this.position[1]) || He(this.scale[0] - 1) || He(
- this.scale[1] - 1)
- };
- var Jp = [];
- Qp.updateTransform = function() {
- var t = this.parent,
- e = t && t.transform,
- n = this.needLocalTransform(),
- i = this.transform;
- if (!n && !e) return void(i && qp(i));
- i = i || Le(), n ? this.getLocalTransform(i) : qp(i), e && (n ? Be(i, t.transform, i) : Ee(i, t
- .transform)), this.transform = i;
- var r = this.globalScaleRatio;
- if (null != r && 1 !== r) {
- this.getGlobalScale(Jp);
- var o = Jp[0] < 0 ? -1 : 1,
- a = Jp[1] < 0 ? -1 : 1,
- s = ((Jp[0] - o) * r + o) / Jp[0] || 0,
- l = ((Jp[1] - a) * r + a) / Jp[1] || 0;
- i[0] *= s, i[1] *= s, i[2] *= l, i[3] *= l
- }
- this.invTransform = this.invTransform || Le(), Ve(this.invTransform, i)
- }, Qp.getLocalTransform = function(t) {
- return $p.getLocalTransform(this, t)
- }, Qp.setTransform = function(t) {
- var e = this.transform,
- n = t.dpr || 1;
- e ? t.setTransform(n * e[0], n * e[1], n * e[2], n * e[3], n * e[4], n * e[5]) : t.setTransform(n, 0, 0,
- n, 0, 0)
- }, Qp.restoreTransform = function(t) {
- var e = t.dpr || 1;
- t.setTransform(e, 0, 0, e, 0, 0)
- };
- var tg = [],
- eg = Le();
- Qp.setLocalTransform = function(t) {
- if (t) {
- var e = t[0] * t[0] + t[1] * t[1],
- n = t[2] * t[2] + t[3] * t[3],
- i = this.position,
- r = this.scale;
- He(e - 1) && (e = Math.sqrt(e)), He(n - 1) && (n = Math.sqrt(n)), t[0] < 0 && (e = -e), t[3] < 0 &&
- (n = -n), i[0] = t[4], i[1] = t[5], r[0] = e, r[1] = n, this.rotation = Math.atan2(-t[1] / n, t[
- 0] / e)
- }
- }, Qp.decomposeTransform = function() {
- if (this.transform) {
- var t = this.parent,
- e = this.transform;
- t && t.transform && (Be(tg, t.invTransform, e), e = tg);
- var n = this.origin;
- n && (n[0] || n[1]) && (eg[4] = n[0], eg[5] = n[1], Be(tg, e, eg), tg[4] -= n[0], tg[5] -= n[1], e =
- tg), this.setLocalTransform(e)
- }
- }, Qp.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)
- }, Qp.transformCoordToLocal = function(t, e) {
- var n = [t, e],
- i = this.invTransform;
- return i && oe(n, n, i), n
- }, Qp.transformCoordToGlobal = function(t, e) {
- var n = [t, e],
- i = this.transform;
- return i && oe(n, n, i), n
- }, $p.getLocalTransform = function(t, e) {
- e = e || [], qp(e);
- var n = t.origin,
- i = t.scale || [1, 1],
- r = t.rotation || 0,
- o = t.position || [0, 0];
- return n && (e[4] -= n[0], e[5] -= n[1]), Fe(e, e, i), r && Ne(e, e, r), n && (e[4] += n[0], e[5] += n[
- 1]), e[4] += o[0], e[5] += o[1], e
- };
- var ng = {
- 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 * (-Math.pow(
- 2, -10 * (t - 1)) + 2)
- },
- 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, n = .1,
- i = .4;
- return 0 === t ? 0 : 1 === t ? 1 : (!n || 1 > n ? (n = 1, e = i / 4) : e = i * Math.asin(1 /
- n) / (2 * Math.PI), -(n * Math.pow(2, 10 * (t -= 1)) * Math.sin(2 * (t - e) * Math.PI /
- i)))
- },
- elasticOut: function(t) {
- var e, n = .1,
- i = .4;
- return 0 === t ? 0 : 1 === t ? 1 : (!n || 1 > n ? (n = 1, e = i / 4) : e = i * Math.asin(1 /
- n) / (2 * Math.PI), n * Math.pow(2, -10 * t) * Math.sin(2 * (t - e) * Math.PI / i) + 1)
- },
- elasticInOut: function(t) {
- var e, n = .1,
- i = .4;
- return 0 === t ? 0 : 1 === t ? 1 : (!n || 1 > n ? (n = 1, e = i / 4) : e = i * Math.asin(1 /
- n) / (2 * Math.PI), (t *= 2) < 1 ? -.5 * n * Math.pow(2, 10 * (t -= 1)) * Math.sin(2 * (
- t - e) * Math.PI / i) : n * Math.pow(2, -10 * (t -= 1)) * Math.sin(2 * (t - e) *
- Math.PI / i) * .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 ? .5 * t * t * ((e + 1) * t - e) : .5 * ((t -= 2) * t * ((e + 1) * t + e) +
- 2)
- },
- bounceIn: function(t) {
- return 1 - ng.bounceOut(1 - t)
- },
- bounceOut: function(t) {
- return 1 / 2.75 > t ? 7.5625 * t * t : 2 / 2.75 > t ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 :
- 2.5 / 2.75 > t ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) *
- t + .984375
- },
- bounceInOut: function(t) {
- return .5 > t ? .5 * ng.bounceIn(2 * t) : .5 * ng.bounceOut(2 * t - 1) + .5
- }
- };
- Ge.prototype = {
- constructor: Ge,
- step: function(t, e) {
- if (this._initialized || (this._startTime = t + this._delay, this._initialized = !0), this
- ._paused) return void(this._pausedTime += e);
- var n = (t - this._startTime - this._pausedTime) / this._life;
- if (!(0 > n)) {
- n = Math.min(n, 1);
- var i = this.easing,
- r = "string" == typeof i ? ng[i] : i,
- o = "function" == typeof r ? r(n) : n;
- return this.fire("frame", o), 1 === n ? 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) {
- t = "on" + t, this[t] && this[t](this._target, e)
- },
- pause: function() {
- this._paused = !0
- },
- resume: function() {
- this._paused = !1
- }
- };
- var ig = function() {
- this.head = null, this.tail = null, this._len = 0
- },
- rg = ig.prototype;
- rg.insert = function(t) {
- var e = new og(t);
- return this.insertEntry(e), e
- }, rg.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++
- }, rg.remove = function(t) {
- var e = t.prev,
- n = t.next;
- e ? e.next = n : this.head = n, n ? n.prev = e : this.tail = e, t.next = t.prev = null, this._len--
- }, rg.len = function() {
- return this._len
- }, rg.clear = function() {
- this.head = this.tail = null, this._len = 0
- };
- var og = function(t) {
- this.value = t, this.next, this.prev
- },
- ag = function(t) {
- this._list = new ig, this._map = {}, this._maxSize = t || 10, this._lastRemovedEntry = null
- },
- sg = ag.prototype;
- sg.put = function(t, e) {
- var n = this._list,
- i = this._map,
- r = null;
- if (null == i[t]) {
- var o = n.len(),
- a = this._lastRemovedEntry;
- if (o >= this._maxSize && o > 0) {
- var s = n.head;
- n.remove(s), delete i[s.key], r = s.value, this._lastRemovedEntry = s
- }
- a ? a.value = e : a = new og(e), a.key = t, n.insertEntry(a), i[t] = a
- }
- return r
- }, sg.get = function(t) {
- var e = this._map[t],
- n = this._list;
- return null != e ? (e !== n.tail && (n.remove(e), n.insertEntry(e)), e.value) : void 0
- }, sg.clear = function() {
- this._list.clear(), this._map = {}
- };
- var lg = {
- 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]
- },
- ug = new ag(20),
- hg = null,
- cg = an,
- dg = sn,
- fg = (Object.freeze || Object)({
- parse: tn,
- lift: rn,
- toHex: on,
- fastLerp: an,
- fastMapToColor: cg,
- lerp: sn,
- mapToColor: dg,
- modifyHSL: ln,
- modifyAlpha: un,
- stringify: hn
- }),
- pg = Array.prototype.slice,
- gg = function(t, e, n, i) {
- this._tracks = {}, this._target = t, this._loop = e || !1, this._getter = n || cn, this._setter = i ||
- dn, this._clipCount = 0, this._delay = 0, this._doneList = [], this._onframeList = [], this
- ._clipList = []
- };
- gg.prototype = {
- when: function(t, e) {
- var n = this._tracks;
- for (var i in e)
- if (e.hasOwnProperty(i)) {
- if (!n[i]) {
- n[i] = [];
- var r = this._getter(this._target, i);
- if (null == r) continue;
- 0 !== t && n[i].push({
- time: 0,
- value: _n(r)
- })
- }
- n[i].push({
- time: t,
- value: e[i]
- })
- } return this
- },
- during: function(t) {
- return this._onframeList.push(t), this
- },
- pause: function() {
- for (var t = 0; t < this._clipList.length; t++) this._clipList[t].pause();
- this._paused = !0
- },
- resume: function() {
- for (var t = 0; t < this._clipList.length; t++) this._clipList[t].resume();
- this._paused = !1
- },
- isPaused: function() {
- return !!this._paused
- },
- _doneCallback: function() {
- this._tracks = {}, this._clipList.length = 0;
- for (var t = this._doneList, e = t.length, n = 0; e > n; n++) t[n].call(this)
- },
- start: function(t, e) {
- var n, i = this,
- r = 0,
- o = function() {
- r--, r || i._doneCallback()
- };
- for (var a in this._tracks)
- if (this._tracks.hasOwnProperty(a)) {
- var s = Sn(this, t, o, this._tracks[a], a, e);
- s && (this._clipList.push(s), r++, this.animation && this.animation.addClip(s), n = s)
- } if (n) {
- var l = n.onframe;
- n.onframe = function(t, e) {
- l(t, e);
- for (var n = 0; n < i._onframeList.length; n++) i._onframeList[n](t, e)
- }
- }
- return r || this._doneCallback(), this
- },
- stop: function(t) {
- for (var e = this._clipList, n = this.animation, i = 0; i < e.length; i++) {
- var r = e[i];
- t && r.onframe(this._target, 1), n && n.removeClip(r)
- }
- e.length = 0
- },
- delay: function(t) {
- return this._delay = t, this
- },
- done: function(t) {
- return t && this._doneList.push(t), this
- },
- getClips: function() {
- return this._clipList
- }
- };
- var vg = 1;
- "undefined" != typeof window && (vg = Math.max(window.devicePixelRatio || 1, 1));
- var mg = 0,
- yg = vg,
- xg = function() {};
- 1 === mg && (xg = console.error);
- var _g = xg,
- wg = function() {
- this.animators = []
- };
- wg.prototype = {
- constructor: wg,
- animate: function(t, e) {
- var n, i = !1,
- r = this,
- o = this.__zr;
- if (t) {
- var a = t.split("."),
- s = r;
- i = "shape" === a[0];
- for (var l = 0, h = a.length; h > l; l++) s && (s = s[a[l]]);
- s && (n = s)
- } else n = r;
- if (!n) return void _g('Property "' + t + '" is not existed in element ' + r.id);
- var c = r.animators,
- d = new gg(n, e);
- return d.during(function() {
- r.dirty(i)
- }).done(function() {
- c.splice(u(c, d), 1)
- }), c.push(d), o && o.animation.addAnimator(d), d
- },
- stopAnimation: function(t) {
- for (var e = this.animators, n = e.length, i = 0; n > i; i++) e[i].stop(t);
- return e.length = 0, this
- },
- animateTo: function(t, e, n, i, r, o) {
- Mn(this, t, e, n, i, r, o)
- },
- animateFrom: function(t, e, n, i, r, o) {
- Mn(this, t, e, n, i, r, o, !0)
- }
- };
- var bg = function(t) {
- $p.call(this, t), zp.call(this, t), wg.call(this, t), this.id = t.id || hp()
- };
- bg.prototype = {
- type: "element",
- name: "",
- __zr: null,
- ignore: !1,
- clipPath: null,
- isGroup: !1,
- drift: function(t, e) {
- switch (this.draggable) {
- case "horizontal":
- e = 0;
- break;
- case "vertical":
- t = 0
- }
- var n = this.transform;
- n || (n = this.transform = [1, 0, 0, 1, 0, 0]), n[4] += t, n[5] += e, this.decomposeTransform(),
- this.dirty(!1)
- },
- beforeUpdate: function() {},
- afterUpdate: function() {},
- update: function() {
- this.updateTransform()
- },
- traverse: function() {},
- attrKV: function(t, e) {
- if ("position" === t || "scale" === t || "origin" === t) {
- if (e) {
- var n = this[t];
- n || (n = this[t] = []), n[0] = e[0], n[1] = e[1]
- }
- } else this[t] = e
- },
- hide: function() {
- this.ignore = !0, this.__zr && this.__zr.refresh()
- },
- show: function() {
- this.ignore = !1, this.__zr && this.__zr.refresh()
- },
- attr: function(t, e) {
- if ("string" == typeof t) this.attrKV(t, e);
- else if (S(t))
- for (var n in t) t.hasOwnProperty(n) && this.attrKV(n, t[n]);
- return this.dirty(!1), this
- },
- setClipPath: function(t) {
- var e = this.__zr;
- e && t.addSelfToZr(e), this.clipPath && this.clipPath !== t && this.removeClipPath(), this
- .clipPath = t, t.__zr = e, t.__clipTarget = this, this.dirty(!1)
- },
- removeClipPath: function() {
- var t = this.clipPath;
- t && (t.__zr && t.removeSelfFromZr(t.__zr), t.__zr = null, t.__clipTarget = null, this
- .clipPath = null, this.dirty(!1))
- },
- addSelfToZr: function(t) {
- this.__zr = t;
- var e = this.animators;
- if (e)
- for (var n = 0; n < e.length; n++) t.animation.addAnimator(e[n]);
- this.clipPath && this.clipPath.addSelfToZr(t)
- },
- removeSelfFromZr: function(t) {
- this.__zr = null;
- var e = this.animators;
- if (e)
- for (var n = 0; n < e.length; n++) t.animation.removeAnimator(e[n]);
- this.clipPath && this.clipPath.removeSelfFromZr(t)
- }
- }, c(bg, wg), c(bg, $p), c(bg, zp);
- var Sg = oe,
- Mg = Math.min,
- Ig = Math.max;
- Tn.prototype = {
- constructor: Tn,
- union: function(t) {
- var e = Mg(t.x, this.x),
- n = Mg(t.y, this.y);
- this.width = Ig(t.x + t.width, this.x + this.width) - e, this.height = Ig(t.y + t.height, this
- .y + this.height) - n, this.x = e, this.y = n
- },
- applyTransform: function() {
- var t = [],
- e = [],
- n = [],
- i = [];
- return function(r) {
- if (r) {
- t[0] = n[0] = this.x, t[1] = i[1] = this.y, e[0] = i[0] = this.x + this.width, e[
- 1] = n[1] = this.y + this.height, Sg(t, t, r), Sg(e, e, r), Sg(n, n, r), Sg(i,
- i, r), this.x = Mg(t[0], e[0], n[0], i[0]), this.y = Mg(t[1], e[1], n[1], i[
- 1]);
- var o = Ig(t[0], e[0], n[0], i[0]),
- a = Ig(t[1], e[1], n[1], i[1]);
- this.width = o - this.x, this.height = a - this.y
- }
- }
- }(),
- calculateTransform: function(t) {
- var e = this,
- n = t.width / e.width,
- i = t.height / e.height,
- r = Le();
- return Re(r, r, [-e.x, -e.y]), Fe(r, r, [n, i]), Re(r, r, [t.x, t.y]), r
- },
- intersect: function(t) {
- if (!t) return !1;
- t instanceof Tn || (t = Tn.create(t));
- var e = this,
- n = e.x,
- i = e.x + e.width,
- r = e.y,
- o = e.y + e.height,
- a = t.x,
- s = t.x + t.width,
- l = t.y,
- u = t.y + t.height;
- return !(a > i || n > s || l > o || r > u)
- },
- contain: function(t, e) {
- var n = this;
- return t >= n.x && t <= n.x + n.width && e >= n.y && e <= n.y + n.height
- },
- clone: function() {
- return new Tn(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
- }
- }
- }, Tn.create = function(t) {
- return new Tn(t.x, t.y, t.width, t.height)
- };
- var Cg = function(t) {
- t = t || {}, bg.call(this, t);
- for (var e in t) t.hasOwnProperty(e) && (this[e] = t[e]);
- this._children = [], this.__storage = null, this.__dirty = !0
- };
- Cg.prototype = {
- constructor: Cg,
- 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, n = 0; n < e.length; n++)
- if (e[n].name === t) return e[n]
- },
- childCount: function() {
- return this._children.length
- },
- add: function(t) {
- return t && t !== this && t.parent !== this && (this._children.push(t), this._doAdd(t)), this
- },
- addBefore: function(t, e) {
- if (t && t !== this && t.parent !== this && e && e.parent === this) {
- var n = this._children,
- i = n.indexOf(e);
- i >= 0 && (n.splice(i, 0, t), this._doAdd(t))
- }
- return this
- },
- _doAdd: function(t) {
- t.parent && t.parent.remove(t), t.parent = this;
- var e = this.__storage,
- n = this.__zr;
- e && e !== t.__storage && (e.addToStorage(t), t instanceof Cg && t.addChildrenToStorage(e)),
- n && n.refresh()
- },
- remove: function(t) {
- var e = this.__zr,
- n = this.__storage,
- i = this._children,
- r = u(i, t);
- return 0 > r ? this : (i.splice(r, 1), t.parent = null, n && (n.delFromStorage(t),
- t instanceof Cg && t.delChildrenFromStorage(n)), e && e.refresh(), this)
- },
- removeAll: function() {
- var t, e, n = this._children,
- i = this.__storage;
- for (e = 0; e < n.length; e++) t = n[e], i && (i.delFromStorage(t), t instanceof Cg && t
- .delChildrenFromStorage(i)), t.parent = null;
- return n.length = 0, this
- },
- eachChild: function(t, e) {
- for (var n = this._children, i = 0; i < n.length; i++) {
- var r = n[i];
- t.call(e, r, i)
- }
- return this
- },
- traverse: function(t, e) {
- for (var n = 0; n < this._children.length; n++) {
- var i = this._children[n];
- t.call(e, i), "group" === i.type && i.traverse(t, e)
- }
- return this
- },
- addChildrenToStorage: function(t) {
- for (var e = 0; e < this._children.length; e++) {
- var n = this._children[e];
- t.addToStorage(n), n instanceof Cg && n.addChildrenToStorage(t)
- }
- },
- delChildrenFromStorage: function(t) {
- for (var e = 0; e < this._children.length; e++) {
- var n = this._children[e];
- t.delFromStorage(n), n instanceof Cg && n.delChildrenFromStorage(t)
- }
- },
- dirty: function() {
- return this.__dirty = !0, this.__zr && this.__zr.refresh(), this
- },
- getBoundingRect: function(t) {
- for (var e = null, n = new Tn(0, 0, 0, 0), i = t || this._children, r = [], o = 0; o < i
- .length; o++) {
- var a = i[o];
- if (!a.ignore && !a.invisible) {
- var s = a.getBoundingRect(),
- l = a.getLocalTransform(r);
- l ? (n.copy(s), n.applyTransform(l), e = e || n.clone(), e.union(n)) : (e = e || s
- .clone(), e.union(s))
- }
- }
- return e || n
- }
- }, h(Cg, bg);
- var Tg = 32,
- Ag = 7,
- Dg = function() {
- this._roots = [], this._displayList = [], this._displayListLen = 0
- };
- Dg.prototype = {
- constructor: Dg,
- traverse: function(t, e) {
- for (var n = 0; n < this._roots.length; n++) this._roots[n].traverse(t, e)
- },
- getDisplayList: function(t, e) {
- return e = e || !1, t && this.updateDisplayList(e), this._displayList
- },
- updateDisplayList: function(t) {
- this._displayListLen = 0;
- for (var e = this._roots, n = this._displayList, i = 0, r = e.length; r > i; i++) this
- ._updateAndAddDisplayable(e[i], null, t);
- n.length = this._displayListLen, dp.canvasSupported && En(n, Bn)
- },
- _updateAndAddDisplayable: function(t, e, n) {
- if (!t.ignore || n) {
- t.beforeUpdate(), t.__dirty && t.update(), t.afterUpdate();
- var i = t.clipPath;
- if (i) {
- e = e ? e.slice() : [];
- for (var r = i, o = t; r;) r.parent = o, r.updateTransform(), e.push(r), o = r, r = r
- .clipPath
- }
- if (t.isGroup) {
- for (var a = t._children, s = 0; s < a.length; s++) {
- var l = a[s];
- t.__dirty && (l.__dirty = !0), this._updateAndAddDisplayable(l, e, n)
- }
- t.__dirty = !1
- } else t.__clipPaths = e, this._displayList[this._displayListLen++] = t
- }
- },
- addRoot: function(t) {
- t.__storage !== this && (t instanceof Cg && t.addChildrenToStorage(this), this.addToStorage(t),
- this._roots.push(t))
- },
- delRoot: function(t) {
- if (null == t) {
- for (var e = 0; e < this._roots.length; e++) {
- var n = this._roots[e];
- n instanceof Cg && n.delChildrenFromStorage(this)
- }
- return this._roots = [], this._displayList = [], void(this._displayListLen = 0)
- }
- if (t instanceof Array)
- for (var e = 0, i = t.length; i > e; e++) this.delRoot(t[e]);
- else {
- var r = u(this._roots, t);
- r >= 0 && (this.delFromStorage(t), this._roots.splice(r, 1), t instanceof Cg && 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: Bn
- };
- var kg = {
- shadowBlur: 1,
- shadowOffsetX: 1,
- shadowOffsetY: 1,
- textShadowBlur: 1,
- textShadowOffsetX: 1,
- textShadowOffsetY: 1,
- textBoxShadowBlur: 1,
- textBoxShadowOffsetX: 1,
- textBoxShadowOffsetY: 1
- },
- Pg = function(t, e, n) {
- return kg.hasOwnProperty(e) ? n *= t.dpr : n
- },
- Og = {
- NONE: 0,
- STYLE_BIND: 1,
- PLAIN_TEXT: 2
- },
- Lg = 9,
- zg = [
- ["shadowBlur", 0],
- ["shadowOffsetX", 0],
- ["shadowOffsetY", 0],
- ["shadowColor", "#000"],
- ["lineCap", "butt"],
- ["lineJoin", "miter"],
- ["miterLimit", 10]
- ],
- Eg = function(t) {
- this.extendFrom(t, !1)
- };
- Eg.prototype = {
- constructor: Eg,
- 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, n) {
- var i = this,
- r = n && n.style,
- o = !r || t.__attrCachedBy !== Og.STYLE_BIND;
- t.__attrCachedBy = Og.STYLE_BIND;
- for (var a = 0; a < zg.length; a++) {
- var s = zg[a],
- l = s[0];
- (o || i[l] !== r[l]) && (t[l] = Pg(t, l, i[l] || s[1]))
- }
- if ((o || i.fill !== r.fill) && (t.fillStyle = i.fill), (o || i.stroke !== r.stroke) && (t
- .strokeStyle = i.stroke), (o || i.opacity !== r.opacity) && (t.globalAlpha = null == i
- .opacity ? 1 : i.opacity), (o || i.blend !== r.blend) && (t.globalCompositeOperation = i
- .blend || "source-over"), this.hasStroke()) {
- var u = i.lineWidth;
- t.lineWidth = u / (this.strokeNoScale && e && e.getLineScale ? e.getLineScale() : 1)
- }
- },
- hasFill: function() {
- var t = this.fill;
- return null != t && "none" !== t
- },
- hasStroke: function() {
- var t = this.stroke;
- return null != t && "none" !== t && this.lineWidth > 0
- },
- extendFrom: function(t, e) {
- if (t)
- for (var n in t) !t.hasOwnProperty(n) || e !== !0 && (e === !1 ? this.hasOwnProperty(n) :
- null == t[n]) || (this[n] = t[n])
- },
- 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, n) {
- for (var i = "radial" === e.type ? Nn : Rn, r = i(t, e, n), o = e.colorStops, a = 0; a < o
- .length; a++) r.addColorStop(o[a].offset, o[a].color);
- return r
- }
- };
- for (var Bg = Eg.prototype, Rg = 0; Rg < zg.length; Rg++) {
- var Ng = zg[Rg];
- Ng[0] in Bg || (Bg[Ng[0]] = Ng[1])
- }
- Eg.getGradient = Bg.getGradient;
- var Fg = function(t, e) {
- this.image = t, this.repeat = e, this.type = "pattern"
- };
- Fg.prototype.getCanvasPattern = function(t) {
- return t.createPattern(this.image, this.repeat || "repeat")
- };
- var Vg = function(t, e, n) {
- var i;
- n = n || yg, "string" == typeof t ? i = Vn(t, e, n) : S(t) && (i = t, t = i.id), this.id = t, this.dom =
- i;
- var r = i.style;
- r && (i.onselectstart = Fn, r["-webkit-user-select"] = "none", r["user-select"] = "none", r[
- "-webkit-touch-callout"] = "none", r["-webkit-tap-highlight-color"] = "rgba(0,0,0,0)", r
- .padding = 0, r.margin = 0, r["border-width"] = 0), this.domBack = null, this.ctxBack = null,
- this.painter = e, this.config = null, this.clearColor = 0, this.motionBlur = !1, this
- .lastFrameAlpha = .7, this.dpr = n
- };
- Vg.prototype = {
- constructor: Vg,
- __dirty: !0,
- __used: !1,
- __drawIndex: 0,
- __startIndex: 0,
- __endIndex: 0,
- incremental: !1,
- getElementCount: function() {
- return this.__endIndex - this.__startIndex
- },
- initContext: function() {
- this.ctx = this.dom.getContext("2d"), this.ctx.dpr = this.dpr
- },
- createBackBuffer: function() {
- var t = this.dpr;
- this.domBack = Vn("back-" + this.id, this.painter, t), this.ctxBack = this.domBack.getContext(
- "2d"), 1 !== t && this.ctxBack.scale(t, t)
- },
- resize: function(t, e) {
- var n = this.dpr,
- i = this.dom,
- r = i.style,
- o = this.domBack;
- r && (r.width = t + "px", r.height = e + "px"), i.width = t * n, i.height = e * n, o && (o
- .width = t * n, o.height = e * n, 1 !== n && this.ctxBack.scale(n, n))
- },
- clear: function(t, e) {
- var n = this.dom,
- i = this.ctx,
- r = n.width,
- o = n.height,
- e = e || this.clearColor,
- a = this.motionBlur && !t,
- s = this.lastFrameAlpha,
- l = this.dpr;
- if (a && (this.domBack || this.createBackBuffer(), this.ctxBack.globalCompositeOperation =
- "copy", this.ctxBack.drawImage(n, 0, 0, r / l, o / l)), i.clearRect(0, 0, r, o), e &&
- "transparent" !== e) {
- var u;
- e.colorStops ? (u = e.__canvasGradient || Eg.getGradient(i, e, {
- x: 0,
- y: 0,
- width: r,
- height: o
- }), e.__canvasGradient = u) : e.image && (u = Fg.prototype.getCanvasPattern.call(e, i)),
- i.save(), i.fillStyle = u || e, i.fillRect(0, 0, r, o), i.restore()
- }
- if (a) {
- var h = this.domBack;
- i.save(), i.globalAlpha = s, i.drawImage(h, 0, 0, r, o), i.restore()
- }
- }
- };
- var Wg = "undefined" != typeof window && (window.requestAnimationFrame && window.requestAnimationFrame.bind(
- window) || window.msRequestAnimationFrame && window.msRequestAnimationFrame.bind(window) || window
- .mozRequestAnimationFrame || window.webkitRequestAnimationFrame) || function(t) {
- setTimeout(t, 16)
- },
- Hg = new ag(50),
- Gg = {},
- Zg = 0,
- Xg = 5e3,
- Yg = /\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,
- Ug = "12px sans-serif",
- jg = {};
- jg.measureText = function(t, e) {
- var n = l();
- return n.font = e || Ug, n.measureText(t)
- };
- var qg = Ug,
- Kg = {
- left: 1,
- right: 1,
- center: 1
- },
- $g = {
- top: 1,
- bottom: 1,
- middle: 1
- },
- Qg = [
- ["textShadowBlur", "shadowBlur", 0],
- ["textShadowOffsetX", "shadowOffsetX", 0],
- ["textShadowOffsetY", "shadowOffsetY", 0],
- ["textShadowColor", "shadowColor", "transparent"]
- ],
- Jg = {},
- tv = {},
- ev = new Tn,
- nv = function() {};
- nv.prototype = {
- constructor: nv,
- drawRectText: function(t, e) {
- var n = this.style;
- e = n.textRect || e, this.__dirty && ui(n, !0);
- var i = n.text;
- if (null != i && (i += ""), Ci(i, n)) {
- t.save();
- var r = this.transform;
- n.transformText ? this.setTransform(t) : r && (ev.copy(e), ev.applyTransform(r), e = ev),
- ci(this, t, i, n, e, Lg), t.restore()
- }
- }
- }, Ti.prototype = {
- constructor: Ti,
- type: "displayable",
- __dirty: !0,
- invisible: !1,
- z: 0,
- z2: 0,
- zlevel: 0,
- draggable: !1,
- dragging: !1,
- silent: !1,
- culling: !1,
- cursor: "pointer",
- rectHover: !1,
- progressive: !1,
- incremental: !1,
- globalScaleRatio: 1,
- beforeBrush: function() {},
- afterBrush: function() {},
- brush: function() {},
- getBoundingRect: function() {},
- contain: function(t, e) {
- return this.rectContain(t, e)
- },
- traverse: function(t, e) {
- t.call(e, this)
- },
- rectContain: function(t, e) {
- var n = this.transformCoordToLocal(t, e),
- i = this.getBoundingRect();
- return i.contain(n[0], n[1])
- },
- dirty: function() {
- this.__dirty = this.__dirtyText = !0, this._rect = null, this.__zr && this.__zr.refresh()
- },
- animateStyle: function(t) {
- return this.animate("style", t)
- },
- attrKV: function(t, e) {
- "style" !== t ? bg.prototype.attrKV.call(this, t, e) : this.style.set(e)
- },
- setStyle: function(t, e) {
- return this.style.set(t, e), this.dirty(!1), this
- },
- useStyle: function(t) {
- return this.style = new Eg(t, this), this.dirty(!1), this
- },
- calculateTextPosition: null
- }, h(Ti, bg), c(Ti, nv), Ai.prototype = {
- constructor: Ai,
- type: "image",
- brush: function(t, e) {
- var n = this.style,
- i = n.image;
- n.bind(t, this, e);
- var r = this._image = Hn(i, this._image, this, this.onload);
- if (r && Zn(r)) {
- var o = n.x || 0,
- a = n.y || 0,
- s = n.width,
- l = n.height,
- u = r.width / r.height;
- if (null == s && null != l ? s = l * u : null == l && null != s ? l = s / u : null == s &&
- null == l && (s = r.width, l = r.height), this.setTransform(t), n.sWidth && n.sHeight) {
- var h = n.sx || 0,
- c = n.sy || 0;
- t.drawImage(r, h, c, n.sWidth, n.sHeight, o, a, s, l)
- } else if (n.sx && n.sy) {
- var h = n.sx,
- c = n.sy,
- d = s - h,
- f = l - c;
- t.drawImage(r, h, c, d, f, o, a, s, l)
- } else t.drawImage(r, o, a, s, l);
- null != n.text && (this.restoreTransform(t), this.drawRectText(t, this.getBoundingRect()))
- }
- },
- getBoundingRect: function() {
- var t = this.style;
- return this._rect || (this._rect = new Tn(t.x || 0, t.y || 0, t.width || 0, t.height || 0)),
- this._rect
- }
- }, h(Ai, Ti);
- var iv = 1e5,
- rv = 314159,
- ov = .01,
- av = .001,
- sv = new Tn(0, 0, 0, 0),
- lv = new Tn(0, 0, 0, 0),
- uv = function(t, e, n) {
- this.type = "canvas";
- var i = !t.nodeName || "CANVAS" === t.nodeName.toUpperCase();
- this._opts = n = a({}, n || {}), this.dpr = n.devicePixelRatio || yg, this._singleCanvas = i, this
- .root = t;
- var r = t.style;
- r && (r["-webkit-tap-highlight-color"] = "transparent", r["-webkit-user-select"] = r["user-select"] = r[
- "-webkit-touch-callout"] = "none", t.innerHTML = ""), this.storage = e;
- var o = this._zlevelList = [],
- s = this._layers = {};
- if (this._layerConfig = {}, this._needsManuallyCompositing = !1, i) {
- var l = t.width,
- u = t.height;
- null != n.width && (l = n.width), null != n.height && (u = n.height), this.dpr = n
- .devicePixelRatio || 1, t.width = l * this.dpr, t.height = u * this.dpr, this._width = l, this
- ._height = u;
- var h = new Vg(t, this, this.dpr);
- h.__builtin__ = !0, h.initContext(), s[rv] = h, h.zlevel = rv, o.push(rv), this._domRoot = t
- } else {
- this._width = this._getSize(0), this._height = this._getSize(1);
- var c = this._domRoot = zi(this._width, this._height);
- t.appendChild(c)
- }
- this._hoverlayer = null, this._hoverElements = []
- };
- uv.prototype = {
- constructor: uv,
- getType: function() {
- return "canvas"
- },
- isSingleCanvas: function() {
- return this._singleCanvas
- },
- getViewportRoot: function() {
- return this._domRoot
- },
- getViewportRootOffset: function() {
- var t = this.getViewportRoot();
- return t ? {
- offsetLeft: t.offsetLeft || 0,
- offsetTop: t.offsetTop || 0
- } : void 0
- },
- refresh: function(t) {
- var e = this.storage.getDisplayList(!0),
- n = this._zlevelList;
- this._redrawId = Math.random(), this._paintList(e, t, this._redrawId);
- for (var i = 0; i < n.length; i++) {
- var r = n[i],
- o = this._layers[r];
- if (!o.__builtin__ && o.refresh) {
- var a = 0 === i ? this._backgroundColor : null;
- o.refresh(a)
- }
- }
- return this.refreshHover(), this
- },
- addHover: function(t, e) {
- if (!t.__hoverMir) {
- var n = new t.constructor({
- style: t.style,
- shape: t.shape,
- z: t.z,
- z2: t.z2,
- silent: t.silent
- });
- return n.__from = t, t.__hoverMir = n, e && n.setStyle(e), this._hoverElements.push(n), n
- }
- },
- removeHover: function(t) {
- var e = t.__hoverMir,
- n = this._hoverElements,
- i = u(n, e);
- i >= 0 && n.splice(i, 1), t.__hoverMir = null
- },
- clearHover: function() {
- for (var t = this._hoverElements, e = 0; e < t.length; e++) {
- var n = t[e].__from;
- n && (n.__hoverMir = null)
- }
- t.length = 0
- },
- refreshHover: function() {
- var t = this._hoverElements,
- e = t.length,
- n = this._hoverlayer;
- if (n && n.clear(), e) {
- En(t, this.storage.displayableSortFunc), n || (n = this._hoverlayer = this.getLayer(iv));
- var i = {};
- n.ctx.save();
- for (var r = 0; e > r;) {
- var o = t[r],
- a = o.__from;
- a && a.__zr ? (r++, a.invisible || (o.transform = a.transform, o.invTransform = a
- .invTransform, o.__clipPaths = a.__clipPaths, this._doPaintEl(o, n, !0, i))) : (
- t.splice(r, 1), a.__hoverMir = null, e--)
- }
- n.ctx.restore()
- }
- },
- getHoverLayer: function() {
- return this.getLayer(iv)
- },
- _paintList: function(t, e, n) {
- if (this._redrawId === n) {
- e = e || !1, this._updateLayerStatus(t);
- var i = this._doPaintList(t, e);
- if (this._needsManuallyCompositing && this._compositeManually(), !i) {
- var r = this;
- Wg(function() {
- r._paintList(t, e, n)
- })
- }
- }
- },
- _compositeManually: function() {
- var t = this.getLayer(rv).ctx,
- e = this._domRoot.width,
- n = this._domRoot.height;
- t.clearRect(0, 0, e, n), this.eachBuiltinLayer(function(i) {
- i.virtual && t.drawImage(i.dom, 0, 0, e, n)
- })
- },
- _doPaintList: function(t, e) {
- for (var n = [], i = 0; i < this._zlevelList.length; i++) {
- var r = this._zlevelList[i],
- o = this._layers[r];
- o.__builtin__ && o !== this._hoverlayer && (o.__dirty || e) && n.push(o)
- }
- for (var a = !0, s = 0; s < n.length; s++) {
- var o = n[s],
- l = o.ctx,
- u = {};
- l.save();
- var h = e ? o.__startIndex : o.__drawIndex,
- c = !e && o.incremental && Date.now,
- d = c && Date.now(),
- p = o.zlevel === this._zlevelList[0] ? this._backgroundColor : null;
- if (o.__startIndex === o.__endIndex) o.clear(!1, p);
- else if (h === o.__startIndex) {
- var g = t[h];
- g.incremental && g.notClear && !e || o.clear(!1, p)
- } - 1 === h && (console.error("For some unknown reason. drawIndex is -1"), h = o
- .__startIndex);
- for (var v = h; v < o.__endIndex; v++) {
- var m = t[v];
- if (this._doPaintEl(m, o, e, u), m.__dirty = m.__dirtyText = !1, c) {
- var y = Date.now() - d;
- if (y > 15) break
- }
- }
- o.__drawIndex = v, o.__drawIndex < o.__endIndex && (a = !1), u.prevElClipPaths && l
- .restore(), l.restore()
- }
- return dp.wxa && f(this._layers, function(t) {
- t && t.ctx && t.ctx.draw && t.ctx.draw()
- }), a
- },
- _doPaintEl: function(t, e, n, i) {
- var r = e.ctx,
- o = t.transform;
- if (!(!e.__dirty && !n || t.invisible || 0 === t.style.opacity || o && !o[0] && !o[3] || t
- .culling && Pi(t, this._width, this._height))) {
- var a = t.__clipPaths,
- s = i.prevElClipPaths;
- (!s || Oi(a, s)) && (s && (r.restore(), i.prevElClipPaths = null, i.prevEl = null), a && (r
- .save(), Li(a, r), i.prevElClipPaths = a)), t.beforeBrush && t.beforeBrush(r), t.brush(
- r, i.prevEl || null), i.prevEl = t, t.afterBrush && t.afterBrush(r)
- }
- },
- getLayer: function(t, e) {
- this._singleCanvas && !this._needsManuallyCompositing && (t = rv);
- var n = this._layers[t];
- return n || (n = new Vg("zr_" + t, this, this.dpr), n.zlevel = t, n.__builtin__ = !0, this
- ._layerConfig[t] ? r(n, this._layerConfig[t], !0) : this._layerConfig[t - ov] && r(n,
- this._layerConfig[t - ov], !0), e && (n.virtual = e), this.insertLayer(t, n), n
- .initContext()), n
- },
- insertLayer: function(t, e) {
- var n = this._layers,
- i = this._zlevelList,
- r = i.length,
- o = null,
- a = -1,
- s = this._domRoot;
- if (n[t]) return void _g("ZLevel " + t + " has been used already");
- if (!ki(e)) return void _g("Layer of zlevel " + t + " is not valid");
- if (r > 0 && t > i[0]) {
- for (a = 0; r - 1 > a && !(i[a] < t && i[a + 1] > t); a++);
- o = n[i[a]]
- }
- if (i.splice(a + 1, 0, t), n[t] = e, !e.virtual)
- if (o) {
- var l = o.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)
- },
- eachLayer: function(t, e) {
- var n, i, r = this._zlevelList;
- for (i = 0; i < r.length; i++) n = r[i], t.call(e, this._layers[n], n)
- },
- eachBuiltinLayer: function(t, e) {
- var n, i, r, o = this._zlevelList;
- for (r = 0; r < o.length; r++) i = o[r], n = this._layers[i], n.__builtin__ && t.call(e, n, i)
- },
- eachOtherLayer: function(t, e) {
- var n, i, r, o = this._zlevelList;
- for (r = 0; r < o.length; r++) i = o[r], n = this._layers[i], n.__builtin__ || t.call(e, n, i)
- },
- getLayers: function() {
- return this._layers
- },
- _updateLayerStatus: function(t) {
- function e(t) {
- o && (o.__endIndex !== t && (o.__dirty = !0), o.__endIndex = t)
- }
- if (this.eachBuiltinLayer(function(t) {
- t.__dirty = t.__used = !1
- }), this._singleCanvas)
- for (var n = 1; n < t.length; n++) {
- var i = t[n];
- if (i.zlevel !== t[n - 1].zlevel || i.incremental) {
- this._needsManuallyCompositing = !0;
- break
- }
- }
- for (var r, o = null, a = 0, n = 0; n < t.length; n++) {
- var s, i = t[n],
- l = i.zlevel;
- r !== l && (r = l, a = 0), i.incremental ? (s = this.getLayer(l + av, this
- ._needsManuallyCompositing), s.incremental = !0, a = 1) : s = this.getLayer(l + (a >
- 0 ? ov : 0), this._needsManuallyCompositing), s.__builtin__ || _g("ZLevel " + l +
- " has been used by unkown layer " + s.id), s !== o && (s.__used = !0, s
- .__startIndex !== n && (s.__dirty = !0), s.__startIndex = n, s.__drawIndex = s
- .incremental ? -1 : n, e(n), o = s), i.__dirty && (s.__dirty = !0, s.incremental &&
- s.__drawIndex < 0 && (s.__drawIndex = n))
- }
- e(n), this.eachBuiltinLayer(function(t) {
- !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 n = this._layerConfig;
- n[t] ? r(n[t], e, !0) : n[t] = e;
- for (var i = 0; i < this._zlevelList.length; i++) {
- var o = this._zlevelList[i];
- if (o === t || o === t + ov) {
- var a = this._layers[o];
- r(a, n[t], !0)
- }
- }
- }
- },
- delLayer: function(t) {
- var e = this._layers,
- n = this._zlevelList,
- i = e[t];
- i && (i.dom.parentNode.removeChild(i.dom), delete e[t], n.splice(u(n, t), 1))
- },
- resize: function(t, e) {
- if (this._domRoot.style) {
- var n = this._domRoot;
- n.style.display = "none";
- var i = this._opts;
- if (null != t && (i.width = t), null != e && (i.height = e), t = this._getSize(0), e = this
- ._getSize(1), n.style.display = "", this._width !== t || e !== this._height) {
- n.style.width = t + "px", n.style.height = e + "px";
- for (var r in this._layers) this._layers.hasOwnProperty(r) && this._layers[r].resize(t,
- e);
- f(this._progressiveLayers, function(n) {
- n.resize(t, e)
- }), this.refresh(!0)
- }
- this._width = t, this._height = e
- } else {
- if (null == t || null == e) return;
- this._width = t, this._height = e, this.getLayer(rv).resize(t, e)
- }
- return this
- },
- clearLayer: function(t) {
- var e = this._layers[t];
- e && e.clear()
- },
- dispose: function() {
- this.root.innerHTML = "", this.root = this.storage = this._domRoot = this._layers = null
- },
- getRenderedCanvas: function(t) {
- if (t = t || {}, this._singleCanvas && !this._compositeManually) return this._layers[rv].dom;
- var e = new Vg("image", this, t.pixelRatio || this.dpr);
- if (e.initContext(), e.clear(!1, t.backgroundColor || this._backgroundColor), t.pixelRatio <=
- this.dpr) {
- this.refresh();
- var n = e.dom.width,
- i = e.dom.height,
- r = e.ctx;
- this.eachLayer(function(t) {
- t.__builtin__ ? r.drawImage(t.dom, 0, 0, n, i) : t.renderToCanvas && (e.ctx
- .save(), t.renderToCanvas(e.ctx), e.ctx.restore())
- })
- } else
- for (var o = {}, a = this.storage.getDisplayList(!0), s = 0; s < a.length; s++) {
- var l = a[s];
- this._doPaintEl(l, e, !0, o)
- }
- return e.dom
- },
- getWidth: function() {
- return this._width
- },
- getHeight: function() {
- return this._height
- },
- _getSize: function(t) {
- var e = this._opts,
- n = ["width", "height"][t],
- i = ["clientWidth", "clientHeight"][t],
- r = ["paddingLeft", "paddingTop"][t],
- o = ["paddingRight", "paddingBottom"][t];
- if (null != e[n] && "auto" !== e[n]) return parseFloat(e[n]);
- var a = this.root,
- s = document.defaultView.getComputedStyle(a);
- return (a[i] || Di(s[n]) || Di(a.style[n])) - (Di(s[r]) || 0) - (Di(s[o]) || 0) | 0
- },
- pathToImage: function(t, e) {
- e = e || this.dpr;
- var n = document.createElement("canvas"),
- i = n.getContext("2d"),
- r = t.getBoundingRect(),
- o = t.style,
- a = o.shadowBlur * e,
- s = o.shadowOffsetX * e,
- l = o.shadowOffsetY * e,
- u = o.hasStroke() ? o.lineWidth : 0,
- h = Math.max(u / 2, -s + a),
- c = Math.max(u / 2, s + a),
- d = Math.max(u / 2, -l + a),
- f = Math.max(u / 2, l + a),
- p = r.width + h + c,
- g = r.height + d + f;
- n.width = p * e, n.height = g * e, i.scale(e, e), i.clearRect(0, 0, p, g), i.dpr = e;
- var v = {
- position: t.position,
- rotation: t.rotation,
- scale: t.scale
- };
- t.position = [h - r.x, d - r.y], t.rotation = 0, t.scale = [1, 1], t.updateTransform(), t && t
- .brush(i);
- var m = Ai,
- y = new m({
- style: {
- x: 0,
- y: 0,
- image: n
- }
- });
- return null != v.position && (y.position = t.position = v.position), null != v.rotation && (y
- .rotation = t.rotation = v.rotation), null != v.scale && (y.scale = t.scale = v.scale),
- y
- }
- };
- var hv = function(t) {
- t = t || {}, this.stage = t.stage || {}, this.onframe = t.onframe || function() {}, this._clips = [],
- this._running = !1, this._time, this._pausedTime, this._pauseStart, this._paused = !1, zp.call(this)
- };
- hv.prototype = {
- constructor: hv,
- addClip: function(t) {
- this._clips.push(t)
- },
- addAnimator: function(t) {
- t.animation = this;
- for (var e = t.getClips(), n = 0; n < e.length; n++) this.addClip(e[n])
- },
- removeClip: function(t) {
- var e = u(this._clips, t);
- e >= 0 && this._clips.splice(e, 1)
- },
- removeAnimator: function(t) {
- for (var e = t.getClips(), n = 0; n < e.length; n++) this.removeClip(e[n]);
- t.animation = null
- },
- _update: function() {
- for (var t = (new Date).getTime() - this._pausedTime, e = t - this._time, n = this._clips, i = n
- .length, r = [], o = [], a = 0; i > a; a++) {
- var s = n[a],
- l = s.step(t, e);
- l && (r.push(l), o.push(s))
- }
- for (var a = 0; i > a;) n[a]._needsRemove ? (n[a] = n[i - 1], n.pop(), i--) : a++;
- i = r.length;
- for (var a = 0; i > a; a++) o[a].fire(r[a]);
- this._time = t, this.onframe(e), this.trigger("frame", e), this.stage.update && this.stage
- .update()
- },
- _startLoop: function() {
- function t() {
- e._running && (Wg(t), !e._paused && e._update())
- }
- var e = this;
- this._running = !0, Wg(t)
- },
- start: function() {
- this._time = (new Date).getTime(), this._pausedTime = 0, this._startLoop()
- },
- stop: function() {
- this._running = !1
- },
- pause: function() {
- this._paused || (this._pauseStart = (new Date).getTime(), this._paused = !0)
- },
- resume: function() {
- this._paused && (this._pausedTime += (new Date).getTime() - this._pauseStart, this._paused = !1)
- },
- clear: function() {
- this._clips = []
- },
- isFinished: function() {
- return !this._clips.length
- },
- animate: function(t, e) {
- e = e || {};
- var n = new gg(t, e.loop, e.getter, e.setter);
- return this.addAnimator(n), n
- }
- }, c(hv, zp);
- var cv = 300,
- dv = dp.domSupported,
- fv = function() {
- var t = ["click", "dblclick", "mousewheel", "mouseout", "mouseup", "mousedown", "mousemove",
- "contextmenu"
- ],
- e = ["touchstart", "touchend", "touchmove"],
- n = {
- pointerdown: 1,
- pointerup: 1,
- pointermove: 1,
- pointerout: 1
- },
- i = p(t, function(t) {
- var e = t.replace("mouse", "pointer");
- return n.hasOwnProperty(e) ? e : t
- });
- return {
- mouse: t,
- touch: e,
- pointer: i
- }
- }(),
- pv = {
- mouse: ["mousemove", "mouseup"],
- pointer: ["pointermove", "pointerup"]
- },
- gv = Wi.prototype;
- gv.stopPropagation = gv.stopImmediatePropagation = gv.preventDefault = V;
- var vv = {
- mousedown: function(t) {
- t = be(this.dom, t), this._mayPointerCapture = [t.zrX, t.zrY], this.trigger("mousedown", t)
- },
- mousemove: function(t) {
- t = be(this.dom, t);
- var e = this._mayPointerCapture;
- !e || t.zrX === e[0] && t.zrY === e[1] || Yi(this, !0), this.trigger("mousemove", t)
- },
- mouseup: function(t) {
- t = be(this.dom, t), Yi(this, !1), this.trigger("mouseup", t)
- },
- mouseout: function(t) {
- t = be(this.dom, t), this._pointerCapturing && (t.zrEventControl = "no_globalout");
- var e = t.toElement || t.relatedTarget;
- t.zrIsToLocalDOM = Vi(this, e), this.trigger("mouseout", t)
- },
- touchstart: function(t) {
- t = be(this.dom, t), Ni(t), this._lastTouchMoment = new Date, this.handler.processGesture(t,
- "start"), vv.mousemove.call(this, t), vv.mousedown.call(this, t)
- },
- touchmove: function(t) {
- t = be(this.dom, t), Ni(t), this.handler.processGesture(t, "change"), vv.mousemove.call(this, t)
- },
- touchend: function(t) {
- t = be(this.dom, t), Ni(t), this.handler.processGesture(t, "end"), vv.mouseup.call(this, t), +
- new Date - this._lastTouchMoment < cv && vv.click.call(this, t)
- },
- pointerdown: function(t) {
- vv.mousedown.call(this, t)
- },
- pointermove: function(t) {
- Bi(t) || vv.mousemove.call(this, t)
- },
- pointerup: function(t) {
- vv.mouseup.call(this, t)
- },
- pointerout: function(t) {
- Bi(t) || vv.mouseout.call(this, t)
- }
- };
- f(["click", "mousewheel", "dblclick", "contextmenu"], function(t) {
- vv[t] = function(e) {
- e = be(this.dom, e), this.trigger(t, e)
- }
- });
- var mv = {
- pointermove: function(t) {
- Bi(t) || mv.mousemove.call(this, t)
- },
- pointerup: function(t) {
- mv.mouseup.call(this, t)
- },
- mousemove: function(t) {
- this.trigger("mousemove", t)
- },
- mouseup: function(t) {
- var e = this._pointerCapturing;
- Yi(this, !1), this.trigger("mouseup", t), e && (t.zrEventControl = "only_globalout", this
- .trigger("mouseout", t))
- }
- },
- yv = ji.prototype;
- yv.dispose = function() {
- Xi(this._localHandlerScope), dv && Xi(this._globalHandlerScope)
- }, yv.setCursor = function(t) {
- this.dom.style && (this.dom.style.cursor = t || "default")
- }, c(ji, zp);
- var xv = !dp.canvasSupported,
- _v = {
- canvas: uv
- },
- wv = {},
- bv = "4.3.1",
- Sv = function(t, e, n) {
- n = n || {}, this.dom = e, this.id = t;
- var i = this,
- r = new Dg,
- o = n.renderer;
- if (xv) {
- if (!_v.vml) throw new Error("You need to require 'zrender/vml/vml' to support IE8");
- o = "vml"
- } else o && _v[o] || (o = "canvas");
- var a = new _v[o](e, r, n, t);
- this.storage = r, this.painter = a;
- var s = dp.node || dp.worker ? null : new ji(a.getViewportRoot(), a.root);
- this.handler = new Yp(r, a, s, a.root), this.animation = new hv({
- stage: {
- update: y(this.flush, this)
- }
- }), this.animation.start(), this._needsRefresh;
- var l = r.delFromStorage,
- u = r.addToStorage;
- r.delFromStorage = function(t) {
- l.call(r, t), t && t.removeSelfFromZr(i)
- }, r.addToStorage = function(t) {
- u.call(r, t), t.addSelfToZr(i)
- }
- };
- Sv.prototype = {
- constructor: Sv,
- getId: function() {
- return this.id
- },
- add: function(t) {
- this.storage.addRoot(t), this._needsRefresh = !0
- },
- remove: function(t) {
- this.storage.delRoot(t), this._needsRefresh = !0
- },
- configLayer: function(t, e) {
- this.painter.configLayer && this.painter.configLayer(t, e), this._needsRefresh = !0
- },
- setBackgroundColor: function(t) {
- this.painter.setBackgroundColor && this.painter.setBackgroundColor(t), this._needsRefresh = !0
- },
- refreshImmediately: function() {
- this._needsRefresh = this._needsRefreshHover = !1, this.painter.refresh(), this._needsRefresh =
- this._needsRefreshHover = !1
- },
- refresh: function() {
- this._needsRefresh = !0
- },
- flush: function() {
- var t;
- this._needsRefresh && (t = !0, this.refreshImmediately()), this._needsRefreshHover && (t = !0,
- this.refreshHoverImmediately()), t && this.trigger("rendered")
- },
- addHover: function(t, e) {
- if (this.painter.addHover) {
- var n = this.painter.addHover(t, e);
- return this.refreshHover(), n
- }
- },
- removeHover: function(t) {
- this.painter.removeHover && (this.painter.removeHover(t), this.refreshHover())
- },
- clearHover: function() {
- this.painter.clearHover && (this.painter.clearHover(), this.refreshHover())
- },
- refreshHover: function() {
- this._needsRefreshHover = !0
- },
- refreshHoverImmediately: function() {
- this._needsRefreshHover = !1, this.painter.refreshHover && this.painter.refreshHover()
- },
- resize: function(t) {
- t = t || {}, this.painter.resize(t.width, t.height), this.handler.resize()
- },
- clearAnimation: function() {
- this.animation.clear()
- },
- getWidth: function() {
- return this.painter.getWidth()
- },
- getHeight: function() {
- return this.painter.getHeight()
- },
- pathToImage: function(t, e) {
- return this.painter.pathToImage(t, e)
- },
- setCursorStyle: function(t) {
- this.handler.setCursorStyle(t)
- },
- findHover: function(t, e) {
- return this.handler.findHover(t, e)
- },
- on: function(t, e, n) {
- this.handler.on(t, e, n)
- },
- off: function(t, e) {
- this.handler.off(t, e)
- },
- trigger: function(t, e) {
- this.handler.trigger(t, e)
- },
- clear: function() {
- this.storage.delRoot(), this.painter.clear()
- },
- dispose: function() {
- this.animation.stop(), this.clear(), this.storage.dispose(), this.painter.dispose(), this
- .handler.dispose(), this.animation = this.storage = this.painter = this.handler = null, Ji(
- this.id)
- }
- };
- var Mv = (Object.freeze || Object)({
- version: bv,
- init: qi,
- dispose: Ki,
- getInstance: $i,
- registerPainter: Qi
- }),
- Iv = f,
- Cv = S,
- Tv = _,
- Av = "series\x00",
- Dv = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "rich", "tag", "color", "textBorderColor",
- "textBorderWidth", "width", "height", "lineHeight", "align", "verticalAlign", "baseline", "shadowColor",
- "shadowBlur", "shadowOffsetX", "shadowOffsetY", "textShadowColor", "textShadowBlur",
- "textShadowOffsetX", "textShadowOffsetY", "backgroundColor", "borderColor", "borderWidth",
- "borderRadius", "padding"
- ],
- kv = 0,
- Pv = ".",
- Ov = "___EC__COMPONENT__CONTAINER___",
- Lv = 0,
- zv = function(t) {
- for (var e = 0; e < t.length; e++) t[e][1] || (t[e][1] = t[e][0]);
- return function(e, n, i) {
- for (var r = {}, o = 0; o < t.length; o++) {
- var a = t[o][1];
- if (!(n && u(n, a) >= 0 || i && u(i, a) < 0)) {
- var s = e.getShallow(a);
- null != s && (r[t[o][0]] = s)
- }
- }
- return r
- }
- },
- Ev = zv([
- ["lineWidth", "width"],
- ["stroke", "color"],
- ["opacity"],
- ["shadowBlur"],
- ["shadowOffsetX"],
- ["shadowOffsetY"],
- ["shadowColor"]
- ]),
- Bv = {
- getLineStyle: function(t) {
- var e = Ev(this, t);
- return e.lineDash = this.getLineDash(e.lineWidth), e
- },
- getLineDash: function(t) {
- null == t && (t = 1);
- var e = this.get("type"),
- n = Math.max(t, 2),
- i = 4 * t;
- return "solid" === e || null == e ? !1 : "dashed" === e ? [i, i] : [n, n]
- }
- },
- Rv = zv([
- ["fill", "color"],
- ["shadowBlur"],
- ["shadowOffsetX"],
- ["shadowOffsetY"],
- ["opacity"],
- ["shadowColor"]
- ]),
- Nv = {
- getAreaStyle: function(t, e) {
- return Rv(this, t, e)
- }
- },
- Fv = Math.pow,
- Vv = Math.sqrt,
- Wv = 1e-8,
- Hv = 1e-4,
- Gv = Vv(3),
- Zv = 1 / 3,
- Xv = W(),
- Yv = W(),
- Uv = W(),
- jv = Math.min,
- qv = Math.max,
- Kv = Math.sin,
- $v = Math.cos,
- Qv = 2 * Math.PI,
- Jv = W(),
- tm = W(),
- em = W(),
- nm = [],
- im = [],
- rm = {
- M: 1,
- L: 2,
- C: 3,
- Q: 4,
- A: 5,
- Z: 6,
- R: 7
- },
- om = [],
- am = [],
- sm = [],
- lm = [],
- um = Math.min,
- hm = Math.max,
- cm = Math.cos,
- dm = Math.sin,
- fm = Math.sqrt,
- pm = Math.abs,
- gm = "undefined" != typeof Float32Array,
- vm = function(t) {
- this._saveData = !t, this._saveData && (this.data = []), this._ctx = null
- };
- vm.prototype = {
- constructor: vm,
- _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, n) {
- n = n || 0, this._ux = pm(n / yg / t) || 0, this._uy = pm(n / yg / 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(rm.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 n = pm(t - this._xi) > this._ux || pm(e - this._yi) > this._uy || this._len < 5;
- return this.addData(rm.L, t, e), this._ctx && n && (this._needsDash() ? this._dashedLineTo(t,
- e) : this._ctx.lineTo(t, e)), n && (this._xi = t, this._yi = e), this
- },
- bezierCurveTo: function(t, e, n, i, r, o) {
- return this.addData(rm.C, t, e, n, i, r, o), this._ctx && (this._needsDash() ? this
- ._dashedBezierTo(t, e, n, i, r, o) : this._ctx.bezierCurveTo(t, e, n, i, r, o)), this
- ._xi = r, this._yi = o, this
- },
- quadraticCurveTo: function(t, e, n, i) {
- return this.addData(rm.Q, t, e, n, i), this._ctx && (this._needsDash() ? this
- ._dashedQuadraticTo(t, e, n, i) : this._ctx.quadraticCurveTo(t, e, n, i)), this._xi = n,
- this._yi = i, this
- },
- arc: function(t, e, n, i, r, o) {
- return this.addData(rm.A, t, e, n, n, i, r - i, 0, o ? 0 : 1), this._ctx && this._ctx.arc(t, e,
- n, i, r, o), this._xi = cm(r) * n + t, this._yi = dm(r) * n + e, this
- },
- arcTo: function(t, e, n, i, r) {
- return this._ctx && this._ctx.arcTo(t, e, n, i, r), this
- },
- rect: function(t, e, n, i) {
- return this._ctx && this._ctx.rect(t, e, n, i), this.addData(rm.R, t, e, n, i), this
- },
- closePath: function() {
- this.addData(rm.Z);
- var t = this._ctx,
- e = this._x0,
- n = this._y0;
- return t && (this._needsDash() && this._dashedLineTo(e, n), t.closePath()), this._xi = e, this
- ._yi = n, 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, n = 0; n < t.length; n++) e += t[n];
- this._dashSum = e
- }
- return this
- },
- setLineDashOffset: function(t) {
- return this._dashOffset = t, this
- },
- len: function() {
- return this._len
- },
- setData: function(t) {
- var e = t.length;
- this.data && this.data.length === e || !gm || (this.data = new Float32Array(e));
- for (var n = 0; e > n; n++) this.data[n] = t[n];
- this._len = e
- },
- appendPath: function(t) {
- t instanceof Array || (t = [t]);
- for (var e = t.length, n = 0, i = this._len, r = 0; e > r; r++) n += t[r].len();
- gm && this.data instanceof Float32Array && (this.data = new Float32Array(i + n));
- for (var r = 0; e > r; r++)
- for (var o = t[r].data, a = 0; a < o.length; a++) this.data[i++] = o[a];
- this._len = i
- },
- addData: function(t) {
- if (this._saveData) {
- var e = this.data;
- this._len + arguments.length > e.length && (this._expandData(), e = this.data);
- for (var n = 0; n < arguments.length; n++) e[this._len++] = arguments[n];
- this._prevCmd = t
- }
- },
- _expandData: function() {
- if (!(this.data instanceof Array)) {
- for (var t = [], e = 0; e < this._len; e++) t[e] = this.data[e];
- this.data = t
- }
- },
- _needsDash: function() {
- return this._lineDash
- },
- _dashedLineTo: function(t, e) {
- var n, i, r = this._dashSum,
- o = this._dashOffset,
- a = this._lineDash,
- s = this._ctx,
- l = this._xi,
- u = this._yi,
- h = t - l,
- c = e - u,
- d = fm(h * h + c * c),
- f = l,
- p = u,
- g = a.length;
- for (h /= d, c /= d, 0 > o && (o = r + o), o %= r, f -= o * h, p -= o * c; h > 0 && t >= f ||
- 0 > h && f >= t || 0 === h && (c > 0 && e >= p || 0 > c && p >= e);) i = this._dashIdx, n =
- a[i], f += h * n, p += c * n, this._dashIdx = (i + 1) % g, h > 0 && l > f || 0 > h && f >
- l || c > 0 && u > p || 0 > c && p > u || s[i % 2 ? "moveTo" : "lineTo"](h >= 0 ? um(f, t) :
- hm(f, t), c >= 0 ? um(p, e) : hm(p, e));
- h = f - t, c = p - e, this._dashOffset = -fm(h * h + c * c)
- },
- _dashedBezierTo: function(t, e, n, i, r, o) {
- var a, s, l, u, h, c = this._dashSum,
- d = this._dashOffset,
- f = this._lineDash,
- p = this._ctx,
- g = this._xi,
- v = this._yi,
- m = Mr,
- y = 0,
- x = this._dashIdx,
- _ = f.length,
- w = 0;
- for (0 > d && (d = c + d), d %= c, a = 0; 1 > a; a += .1) s = m(g, t, n, r, a + .1) - m(g, t, n,
- r, a), l = m(v, e, i, o, a + .1) - m(v, e, i, o, a), y += fm(s * s + l * l);
- for (; _ > x && (w += f[x], !(w > d)); x++);
- for (a = (w - d) / y; 1 >= a;) u = m(g, t, n, r, a), h = m(v, e, i, o, a), x % 2 ? p.moveTo(u,
- h) : p.lineTo(u, h), a += f[x] / y, x = (x + 1) % _;
- x % 2 !== 0 && p.lineTo(r, o), s = r - u, l = o - h, this._dashOffset = -fm(s * s + l * l)
- },
- _dashedQuadraticTo: function(t, e, n, i) {
- var r = n,
- o = i;
- n = (n + 2 * t) / 3, i = (i + 2 * e) / 3, t = (this._xi + 2 * t) / 3, e = (this._yi + 2 * e) /
- 3, this._dashedBezierTo(t, e, n, i, r, o)
- },
- toStatic: function() {
- var t = this.data;
- t instanceof Array && (t.length = this._len, gm && (this.data = new Float32Array(t)))
- },
- getBoundingRect: function() {
- om[0] = om[1] = sm[0] = sm[1] = Number.MAX_VALUE, am[0] = am[1] = lm[0] = lm[1] = -Number
- .MAX_VALUE;
- for (var t = this.data, e = 0, n = 0, i = 0, r = 0, o = 0; o < t.length;) {
- var a = t[o++];
- switch (1 === o && (e = t[o], n = t[o + 1], i = e, r = n), a) {
- case rm.M:
- i = t[o++], r = t[o++], e = i, n = r, sm[0] = i, sm[1] = r, lm[0] = i, lm[1] = r;
- break;
- case rm.L:
- Rr(e, n, t[o], t[o + 1], sm, lm), e = t[o++], n = t[o++];
- break;
- case rm.C:
- Nr(e, n, t[o++], t[o++], t[o++], t[o++], t[o], t[o + 1], sm, lm), e = t[o++], n = t[
- o++];
- break;
- case rm.Q:
- Fr(e, n, t[o++], t[o++], t[o], t[o + 1], sm, lm), e = t[o++], n = t[o++];
- break;
- case rm.A:
- var s = t[o++],
- l = t[o++],
- u = t[o++],
- h = t[o++],
- c = t[o++],
- d = t[o++] + c;
- o += 1;
- var f = 1 - t[o++];
- 1 === o && (i = cm(c) * u + s, r = dm(c) * h + l), Vr(s, l, u, h, c, d, f, sm, lm),
- e = cm(d) * u + s, n = dm(d) * h + l;
- break;
- case rm.R:
- i = e = t[o++], r = n = t[o++];
- var p = t[o++],
- g = t[o++];
- Rr(i, r, i + p, r + g, sm, lm);
- break;
- case rm.Z:
- e = i, n = r
- }
- ae(om, om, sm), se(am, am, lm)
- }
- return 0 === o && (om[0] = om[1] = am[0] = am[1] = 0), new Tn(om[0], om[1], am[0] - om[0], am[
- 1] - om[1])
- },
- rebuildPath: function(t) {
- for (var e, n, i, r, o, a, s = this.data, l = this._ux, u = this._uy, h = this._len, c = 0; h >
- c;) {
- var d = s[c++];
- switch (1 === c && (i = s[c], r = s[c + 1], e = i, n = r), d) {
- case rm.M:
- e = i = s[c++], n = r = s[c++], t.moveTo(i, r);
- break;
- case rm.L:
- o = s[c++], a = s[c++], (pm(o - i) > l || pm(a - r) > u || c === h - 1) && (t
- .lineTo(o, a), i = o, r = a);
- break;
- case rm.C:
- t.bezierCurveTo(s[c++], s[c++], s[c++], s[c++], s[c++], s[c++]), i = s[c - 2], r =
- s[c - 1];
- break;
- case rm.Q:
- t.quadraticCurveTo(s[c++], s[c++], s[c++], s[c++]), i = s[c - 2], r = s[c - 1];
- break;
- case rm.A:
- var f = s[c++],
- p = s[c++],
- g = s[c++],
- v = s[c++],
- m = s[c++],
- y = s[c++],
- x = s[c++],
- _ = s[c++],
- w = g > v ? g : v,
- b = g > v ? 1 : g / v,
- S = g > v ? v / g : 1,
- M = Math.abs(g - v) > .001,
- I = m + y;
- M ? (t.translate(f, p), t.rotate(x), t.scale(b, S), t.arc(0, 0, w, m, I, 1 - _), t
- .scale(1 / b, 1 / S), t.rotate(-x), t.translate(-f, -p)) : t.arc(f, p, w, m,
- I, 1 - _), 1 === c && (e = cm(m) * g + f, n = dm(m) * v + p), i = cm(I) *
- g + f, r = dm(I) * v + p;
- break;
- case rm.R:
- e = i = s[c], n = r = s[c + 1], t.rect(s[c++], s[c++], s[c++], s[c++]);
- break;
- case rm.Z:
- t.closePath(), i = e, r = n
- }
- }
- }
- }, vm.CMD = rm;
- var mm = 2 * Math.PI,
- ym = 2 * Math.PI,
- xm = vm.CMD,
- _m = 2 * Math.PI,
- wm = 1e-4,
- bm = [-1, -1, -1],
- Sm = [-1, -1],
- Mm = Fg.prototype.getCanvasPattern,
- Im = Math.abs,
- Cm = new vm(!0);
- eo.prototype = {
- constructor: eo,
- type: "path",
- __dirtyPath: !0,
- strokeContainThreshold: 5,
- segmentIgnoreThreshold: 0,
- subPixelOptimize: !1,
- brush: function(t, e) {
- var n = this.style,
- i = this.path || Cm,
- r = n.hasStroke(),
- o = n.hasFill(),
- a = n.fill,
- s = n.stroke,
- l = o && !!a.colorStops,
- u = r && !!s.colorStops,
- h = o && !!a.image,
- c = r && !!s.image;
- if (n.bind(t, this, e), this.setTransform(t), this.__dirty) {
- var d;
- l && (d = d || this.getBoundingRect(), this._fillGradient = n.getGradient(t, a, d)), u && (
- d = d || this.getBoundingRect(), this._strokeGradient = n.getGradient(t, s, d))
- }
- l ? t.fillStyle = this._fillGradient : h && (t.fillStyle = Mm.call(a, t)), u ? t.strokeStyle =
- this._strokeGradient : c && (t.strokeStyle = Mm.call(s, t));
- var f = n.lineDash,
- p = n.lineDashOffset,
- g = !!t.setLineDash,
- v = this.getGlobalScale();
- if (i.setScale(v[0], v[1], this.segmentIgnoreThreshold), this.__dirtyPath || f && !g && r ? (i
- .beginPath(t), f && !g && (i.setLineDash(f), i.setLineDashOffset(p)), this.buildPath(i,
- this.shape, !1), this.path && (this.__dirtyPath = !1)) : (t.beginPath(), this.path
- .rebuildPath(t)), o)
- if (null != n.fillOpacity) {
- var m = t.globalAlpha;
- t.globalAlpha = n.fillOpacity * n.opacity, i.fill(t), t.globalAlpha = m
- } else i.fill(t);
- if (f && g && (t.setLineDash(f), t.lineDashOffset = p), r)
- if (null != n.strokeOpacity) {
- var m = t.globalAlpha;
- t.globalAlpha = n.strokeOpacity * n.opacity, i.stroke(t), t.globalAlpha = m
- } else i.stroke(t);
- f && g && t.setLineDash([]), null != n.text && (this.restoreTransform(t), this.drawRectText(t,
- this.getBoundingRect()))
- },
- buildPath: function() {},
- createPathProxy: function() {
- this.path = new vm
- },
- getBoundingRect: function() {
- var t = this._rect,
- e = this.style,
- n = !t;
- if (n) {
- var i = this.path;
- i || (i = this.path = new vm), this.__dirtyPath && (i.beginPath(), this.buildPath(i, this
- .shape, !1)), t = i.getBoundingRect()
- }
- if (this._rect = t, e.hasStroke()) {
- var r = this._rectWithStroke || (this._rectWithStroke = t.clone());
- if (this.__dirty || n) {
- r.copy(t);
- var o = e.lineWidth,
- a = e.strokeNoScale ? this.getLineScale() : 1;
- e.hasFill() || (o = Math.max(o, this.strokeContainThreshold || 4)), a > 1e-10 && (r
- .width += o / a, r.height += o / a, r.x -= o / a / 2, r.y -= o / a / 2)
- }
- return r
- }
- return t
- },
- contain: function(t, e) {
- var n = this.transformCoordToLocal(t, e),
- i = this.getBoundingRect(),
- r = this.style;
- if (t = n[0], e = n[1], i.contain(t, e)) {
- var o = this.path.data;
- if (r.hasStroke()) {
- var a = r.lineWidth,
- s = r.strokeNoScale ? this.getLineScale() : 1;
- if (s > 1e-10 && (r.hasFill() || (a = Math.max(a, this.strokeContainThreshold)), to(o,
- a / s, t, e))) return !0
- }
- if (r.hasFill()) return Jr(o, 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) : Ti.prototype
- .attrKV.call(this, t, e)
- },
- setShape: function(t, e) {
- var n = this.shape;
- if (n) {
- if (S(t))
- for (var i in t) t.hasOwnProperty(i) && (n[i] = t[i]);
- else n[t] = e;
- this.dirty(!0)
- }
- return this
- },
- getLineScale: function() {
- var t = this.transform;
- return t && Im(t[0] - 1) > 1e-10 && Im(t[3] - 1) > 1e-10 ? Math.sqrt(Im(t[0] * t[3] - t[2] * t[
- 1])) : 1
- }
- }, eo.extend = function(t) {
- var e = function(e) {
- eo.call(this, e), t.style && this.style.extendFrom(t.style, !1);
- var n = t.shape;
- if (n) {
- this.shape = this.shape || {};
- var i = this.shape;
- for (var r in n) !i.hasOwnProperty(r) && n.hasOwnProperty(r) && (i[r] = n[r])
- }
- t.init && t.init.call(this, e)
- };
- h(e, eo);
- for (var n in t) "style" !== n && "shape" !== n && (e.prototype[n] = t[n]);
- return e
- }, h(eo, Ti);
- var Tm = vm.CMD,
- Am = [
- [],
- [],
- []
- ],
- Dm = Math.sqrt,
- km = Math.atan2,
- Pm = function(t, e) {
- var n, i, r, o, a, s, l = t.data,
- u = Tm.M,
- h = Tm.C,
- c = Tm.L,
- d = Tm.R,
- f = Tm.A,
- p = Tm.Q;
- for (r = 0, o = 0; r < l.length;) {
- switch (n = l[r++], o = r, i = 0, n) {
- case u:
- i = 1;
- break;
- case c:
- i = 1;
- break;
- case h:
- i = 3;
- break;
- case p:
- i = 2;
- break;
- case f:
- var g = e[4],
- v = e[5],
- m = Dm(e[0] * e[0] + e[1] * e[1]),
- y = Dm(e[2] * e[2] + e[3] * e[3]),
- x = km(-e[1] / y, e[0] / m);
- l[r] *= m, l[r++] += g, l[r] *= y, l[r++] += v, l[r++] *= m, l[r++] *= y, l[r++] += x, l[
- r++] += x, r += 2, o = r;
- break;
- case d:
- s[0] = l[r++], s[1] = l[r++], oe(s, s, e), l[o++] = s[0], l[o++] = s[1], s[0] += l[r++], s[
- 1] += l[r++], oe(s, s, e), l[o++] = s[0], l[o++] = s[1]
- }
- for (a = 0; i > a; a++) {
- var s = Am[a];
- s[0] = l[r++], s[1] = l[r++], oe(s, s, e), l[o++] = s[0], l[o++] = s[1]
- }
- }
- },
- Om = Math.sqrt,
- Lm = Math.sin,
- zm = Math.cos,
- Em = Math.PI,
- Bm = function(t) {
- return Math.sqrt(t[0] * t[0] + t[1] * t[1])
- },
- Rm = function(t, e) {
- return (t[0] * e[0] + t[1] * e[1]) / (Bm(t) * Bm(e))
- },
- Nm = function(t, e) {
- return (t[0] * e[1] < t[1] * e[0] ? -1 : 1) * Math.acos(Rm(t, e))
- },
- Fm = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,
- Vm = /-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g,
- Wm = function(t) {
- Ti.call(this, t)
- };
- Wm.prototype = {
- constructor: Wm,
- type: "text",
- brush: function(t, e) {
- var n = this.style;
- this.__dirty && ui(n, !0), n.fill = n.stroke = n.shadowBlur = n.shadowColor = n.shadowOffsetX =
- n.shadowOffsetY = null;
- var i = n.text;
- return null != i && (i += ""), Ci(i, n) ? (this.setTransform(t), ci(this, t, i, n, null, e),
- void this.restoreTransform(t)) : void(t.__attrCachedBy = Og.NONE)
- },
- getBoundingRect: function() {
- var t = this.style;
- if (this.__dirty && ui(t, !0), !this._rect) {
- var e = t.text;
- null != e ? e += "" : e = "";
- var n = Yn(t.text + "", t.font, t.textAlign, t.textVerticalAlign, t.textPadding, t
- .textLineHeight, t.rich);
- if (n.x += t.x || 0, n.y += t.y || 0, bi(t.textStroke, t.textStrokeWidth)) {
- var i = t.textStrokeWidth;
- n.x -= i / 2, n.y -= i / 2, n.width += i, n.height += i
- }
- this._rect = n
- }
- return this._rect
- }
- }, h(Wm, Ti);
- var Hm = eo.extend({
- type: "circle",
- shape: {
- cx: 0,
- cy: 0,
- r: 0
- },
- buildPath: function(t, e, n) {
- n && t.moveTo(e.cx + e.r, e.cy), t.arc(e.cx, e.cy, e.r, 0, 2 * Math.PI, !0)
- }
- }),
- Gm = [
- ["shadowBlur", 0],
- ["shadowColor", "#000"],
- ["shadowOffsetX", 0],
- ["shadowOffsetY", 0]
- ],
- Zm = function(t) {
- return dp.browser.ie && dp.browser.version >= 11 ? function() {
- var e, n = this.__clipPaths,
- i = this.style;
- if (n)
- for (var r = 0; r < n.length; r++) {
- var o = n[r],
- a = o && o.shape,
- s = o && o.type;
- if (a && ("sector" === s && a.startAngle === a.endAngle || "rect" === s && (!a.width ||
- !a.height))) {
- for (var l = 0; l < Gm.length; l++) Gm[l][2] = i[Gm[l][0]], i[Gm[l][0]] = Gm[l][1];
- e = !0;
- break
- }
- }
- if (t.apply(this, arguments), e)
- for (var l = 0; l < Gm.length; l++) i[Gm[l][0]] = Gm[l][2]
- } : t
- },
- Xm = eo.extend({
- type: "sector",
- shape: {
- cx: 0,
- cy: 0,
- r0: 0,
- r: 0,
- startAngle: 0,
- endAngle: 2 * Math.PI,
- clockwise: !0
- },
- brush: Zm(eo.prototype.brush),
- buildPath: function(t, e) {
- var n = e.cx,
- i = e.cy,
- r = Math.max(e.r0 || 0, 0),
- o = Math.max(e.r, 0),
- a = e.startAngle,
- s = e.endAngle,
- l = e.clockwise,
- u = Math.cos(a),
- h = Math.sin(a);
- t.moveTo(u * r + n, h * r + i), t.lineTo(u * o + n, h * o + i), t.arc(n, i, o, a, s, !l), t
- .lineTo(Math.cos(s) * r + n, Math.sin(s) * r + i), 0 !== r && t.arc(n, i, r, s, a, l), t
- .closePath()
- }
- }),
- Ym = eo.extend({
- type: "ring",
- shape: {
- cx: 0,
- cy: 0,
- r: 0,
- r0: 0
- },
- buildPath: function(t, e) {
- var n = e.cx,
- i = e.cy,
- r = 2 * Math.PI;
- t.moveTo(n + e.r, i), t.arc(n, i, e.r, 0, r, !1), t.moveTo(n + e.r0, i), t.arc(n, i, e.r0,
- 0, r, !0)
- }
- }),
- Um = function(t, e) {
- for (var n = t.length, i = [], r = 0, o = 1; n > o; o++) r += ee(t[o - 1], t[o]);
- var a = r / 2;
- a = n > a ? n : a;
- for (var o = 0; a > o; o++) {
- var s, l, u, h = o / (a - 1) * (e ? n : n - 1),
- c = Math.floor(h),
- d = h - c,
- f = t[c % n];
- e ? (s = t[(c - 1 + n) % n], l = t[(c + 1) % n], u = t[(c + 2) % n]) : (s = t[0 === c ? c : c - 1],
- l = t[c > n - 2 ? n - 1 : c + 1], u = t[c > n - 3 ? n - 1 : c + 2]);
- var p = d * d,
- g = d * p;
- i.push([lo(s[0], f[0], l[0], u[0], d, p, g), lo(s[1], f[1], l[1], u[1], d, p, g)])
- }
- return i
- },
- jm = function(t, e, n, i) {
- var r, o, a, s, l = [],
- u = [],
- h = [],
- c = [];
- if (i) {
- a = [1 / 0, 1 / 0], s = [-1 / 0, -1 / 0];
- for (var d = 0, f = t.length; f > d; d++) ae(a, a, t[d]), se(s, s, t[d]);
- ae(a, a, i[0]), se(s, s, i[1])
- }
- for (var d = 0, f = t.length; f > d; d++) {
- var p = t[d];
- if (n) r = t[d ? d - 1 : f - 1], o = t[(d + 1) % f];
- else {
- if (0 === d || d === f - 1) {
- l.push(G(t[d]));
- continue
- }
- r = t[d - 1], o = t[d + 1]
- }
- U(u, o, r), J(u, u, e);
- var g = ee(p, r),
- v = ee(p, o),
- m = g + v;
- 0 !== m && (g /= m, v /= m), J(h, u, -g), J(c, u, v);
- var y = X([], p, h),
- x = X([], p, c);
- i && (se(y, y, a), ae(y, y, s), se(x, x, a), ae(x, x, s)), l.push(y), l.push(x)
- }
- return n && l.push(l.shift()), l
- },
- qm = eo.extend({
- type: "polygon",
- shape: {
- points: null,
- smooth: !1,
- smoothConstraint: null
- },
- buildPath: function(t, e) {
- uo(t, e, !0)
- }
- }),
- Km = eo.extend({
- type: "polyline",
- shape: {
- points: null,
- smooth: !1,
- smoothConstraint: null
- },
- style: {
- stroke: "#000",
- fill: null
- },
- buildPath: function(t, e) {
- uo(t, e, !1)
- }
- }),
- $m = Math.round,
- Qm = {},
- Jm = eo.extend({
- type: "rect",
- shape: {
- r: 0,
- x: 0,
- y: 0,
- width: 0,
- height: 0
- },
- buildPath: function(t, e) {
- var n, i, r, o;
- this.subPixelOptimize ? (co(Qm, e, this.style), n = Qm.x, i = Qm.y, r = Qm.width, o = Qm
- .height, Qm.r = e.r, e = Qm) : (n = e.x, i = e.y, r = e.width, o = e.height), e.r ?
- li(t, e) : t.rect(n, i, r, o), t.closePath()
- }
- }),
- ty = {},
- ey = eo.extend({
- type: "line",
- shape: {
- x1: 0,
- y1: 0,
- x2: 0,
- y2: 0,
- percent: 1
- },
- style: {
- stroke: "#000",
- fill: null
- },
- buildPath: function(t, e) {
- var n, i, r, o;
- this.subPixelOptimize ? (ho(ty, e, this.style), n = ty.x1, i = ty.y1, r = ty.x2, o = ty
- .y2) : (n = e.x1, i = e.y1, r = e.x2, o = e.y2);
- var a = e.percent;
- 0 !== a && (t.moveTo(n, i), 1 > a && (r = n * (1 - a) + r * a, o = i * (1 - a) + o * a), t
- .lineTo(r, o))
- },
- pointAt: function(t) {
- var e = this.shape;
- return [e.x1 * (1 - t) + e.x2 * t, e.y1 * (1 - t) + e.y2 * t]
- }
- }),
- ny = [],
- iy = eo.extend({
- type: "bezier-curve",
- shape: {
- x1: 0,
- y1: 0,
- x2: 0,
- y2: 0,
- cpx1: 0,
- cpy1: 0,
- percent: 1
- },
- style: {
- stroke: "#000",
- fill: null
- },
- buildPath: function(t, e) {
- var n = e.x1,
- i = e.y1,
- r = e.x2,
- o = e.y2,
- a = e.cpx1,
- s = e.cpy1,
- l = e.cpx2,
- u = e.cpy2,
- h = e.percent;
- 0 !== h && (t.moveTo(n, i), null == l || null == u ? (1 > h && (zr(n, a, r, h, ny), a = ny[
- 1], r = ny[2], zr(i, s, o, h, ny), s = ny[1], o = ny[2]), t
- .quadraticCurveTo(a, s, r, o)) : (1 > h && (Ar(n, a, l, r, h, ny), a = ny[1],
- l = ny[2], r = ny[3], Ar(i, s, u, o, h, ny), s = ny[1], u = ny[2], o = ny[3]
- ), t.bezierCurveTo(a, s, l, u, r, o)))
- },
- pointAt: function(t) {
- return po(this.shape, t, !1)
- },
- tangentAt: function(t) {
- var e = po(this.shape, t, !0);
- return te(e, e)
- }
- }),
- ry = eo.extend({
- type: "arc",
- shape: {
- cx: 0,
- cy: 0,
- r: 0,
- startAngle: 0,
- endAngle: 2 * Math.PI,
- clockwise: !0
- },
- style: {
- stroke: "#000",
- fill: null
- },
- buildPath: function(t, e) {
- var n = e.cx,
- i = e.cy,
- r = Math.max(e.r, 0),
- o = e.startAngle,
- a = e.endAngle,
- s = e.clockwise,
- l = Math.cos(o),
- u = Math.sin(o);
- t.moveTo(l * r + n, u * r + i), t.arc(n, i, r, o, a, !s)
- }
- }),
- oy = eo.extend({
- type: "compound",
- shape: {
- paths: null
- },
- _updatePathDirty: function() {
- for (var t = this.__dirtyPath, e = this.shape.paths, n = 0; n < e.length; n++) t = t || e[n]
- .__dirtyPath;
- this.__dirtyPath = t, this.__dirty = this.__dirty || t
- },
- beforeBrush: function() {
- this._updatePathDirty();
- for (var t = this.shape.paths || [], e = this.getGlobalScale(), n = 0; n < t.length; n++) t[
- n].path || t[n].createPathProxy(), t[n].path.setScale(e[0], e[1], t[n]
- .segmentIgnoreThreshold)
- },
- buildPath: function(t, e) {
- for (var n = e.paths || [], i = 0; i < n.length; i++) n[i].buildPath(t, n[i].shape, !0)
- },
- afterBrush: function() {
- for (var t = this.shape.paths || [], e = 0; e < t.length; e++) t[e].__dirtyPath = !1
- },
- getBoundingRect: function() {
- return this._updatePathDirty(), eo.prototype.getBoundingRect.call(this)
- }
- }),
- ay = function(t) {
- this.colorStops = t || []
- };
- ay.prototype = {
- constructor: ay,
- addColorStop: function(t, e) {
- this.colorStops.push({
- offset: t,
- color: e
- })
- }
- };
- var sy = function(t, e, n, i, r, o) {
- this.x = null == t ? 0 : t, this.y = null == e ? 0 : e, this.x2 = null == n ? 1 : n, this.y2 = null ==
- i ? 0 : i, this.type = "linear", this.global = o || !1, ay.call(this, r)
- };
- sy.prototype = {
- constructor: sy
- }, h(sy, ay);
- var ly = function(t, e, n, i, r) {
- this.x = null == t ? .5 : t, this.y = null == e ? .5 : e, this.r = null == n ? .5 : n, this.type =
- "radial", this.global = r || !1, ay.call(this, i)
- };
- ly.prototype = {
- constructor: ly
- }, h(ly, ay), go.prototype.incremental = !0, go.prototype.clearDisplaybles = function() {
- this._displayables = [], this._temporaryDisplayables = [], this._cursor = 0, this.dirty(), this
- .notClear = !1
- }, go.prototype.addDisplayable = function(t, e) {
- e ? this._temporaryDisplayables.push(t) : this._displayables.push(t), this.dirty()
- }, go.prototype.addDisplayables = function(t, e) {
- e = e || !1;
- for (var n = 0; n < t.length; n++) this.addDisplayable(t[n], e)
- }, go.prototype.eachPendingDisplayable = function(t) {
- for (var e = this._cursor; e < this._displayables.length; e++) t && t(this._displayables[e]);
- for (var e = 0; e < this._temporaryDisplayables.length; e++) t && t(this._temporaryDisplayables[e])
- }, go.prototype.update = function() {
- this.updateTransform();
- for (var t = this._cursor; t < this._displayables.length; t++) {
- var e = this._displayables[t];
- e.parent = this, e.update(), e.parent = null
- }
- for (var t = 0; t < this._temporaryDisplayables.length; t++) {
- var e = this._temporaryDisplayables[t];
- e.parent = this, e.update(), e.parent = null
- }
- }, go.prototype.brush = function(t) {
- for (var e = this._cursor; e < this._displayables.length; e++) {
- var n = this._displayables[e];
- n.beforeBrush && n.beforeBrush(t), n.brush(t, e === this._cursor ? null : this._displayables[e -
- 1]), n.afterBrush && n.afterBrush(t)
- }
- this._cursor = e;
- for (var e = 0; e < this._temporaryDisplayables.length; e++) {
- var n = this._temporaryDisplayables[e];
- n.beforeBrush && n.beforeBrush(t), n.brush(t, 0 === e ? null : this._temporaryDisplayables[e - 1]),
- n.afterBrush && n.afterBrush(t)
- }
- this._temporaryDisplayables = [], this.notClear = !0
- };
- var uy = [];
- go.prototype.getBoundingRect = function() {
- if (!this._rect) {
- for (var t = new Tn(1 / 0, 1 / 0, -1 / 0, -1 / 0), e = 0; e < this._displayables.length; e++) {
- var n = this._displayables[e],
- i = n.getBoundingRect().clone();
- n.needLocalTransform() && i.applyTransform(n.getLocalTransform(uy)), t.union(i)
- }
- this._rect = t
- }
- return this._rect
- }, go.prototype.contain = function(t, e) {
- var n = this.transformCoordToLocal(t, e),
- i = this.getBoundingRect();
- if (i.contain(n[0], n[1]))
- for (var r = 0; r < this._displayables.length; r++) {
- var o = this._displayables[r];
- if (o.contain(t, e)) return !0
- }
- return !1
- }, h(go, Ti);
- var hy = Math.max,
- cy = Math.min,
- dy = {},
- fy = 1,
- py = {
- color: "textFill",
- textBorderColor: "textStroke",
- textBorderWidth: "textStrokeWidth"
- },
- gy = "emphasis",
- vy = "normal",
- my = 1,
- yy = {},
- xy = {},
- _y = so,
- wy = fo,
- by = N(),
- Sy = 0;
- yo("circle", Hm), yo("sector", Xm), yo("ring", Ym), yo("polygon", qm), yo("polyline", Km), yo("rect", Jm), yo(
- "line", ey), yo("bezierCurve", iy), yo("arc", ry);
- var My = (Object.freeze || Object)({
- Z2_EMPHASIS_LIFT: fy,
- CACHED_LABEL_STYLE_PROPERTIES: py,
- extendShape: vo,
- extendPath: mo,
- registerShape: yo,
- getShapeClass: xo,
- makePath: _o,
- makeImage: wo,
- mergePath: _y,
- resizePath: So,
- subPixelOptimizeLine: Mo,
- subPixelOptimizeRect: Io,
- subPixelOptimize: wy,
- setElementHoverStyle: Lo,
- setHoverStyle: Fo,
- setAsHighDownDispatcher: Vo,
- isHighDownDispatcher: Wo,
- getHighlightDigit: Ho,
- setLabelStyle: Go,
- modifyLabelStyle: Zo,
- setTextStyle: Xo,
- setText: Yo,
- getFont: Jo,
- updateProps: ea,
- initProps: na,
- getTransform: ia,
- applyTransform: ra,
- transformDirection: oa,
- groupTransition: aa,
- clipPointsByRect: sa,
- clipRectByRect: la,
- createIcon: ua,
- linePolygonIntersect: ha,
- lineLineIntersect: ca,
- Group: Cg,
- Image: Ai,
- Text: Wm,
- Circle: Hm,
- Sector: Xm,
- Ring: Ym,
- Polygon: qm,
- Polyline: Km,
- Rect: Jm,
- Line: ey,
- BezierCurve: iy,
- Arc: ry,
- IncrementalDisplayable: go,
- CompoundPath: oy,
- LinearGradient: sy,
- RadialGradient: ly,
- BoundingRect: Tn
- }),
- Iy = ["textStyle", "color"],
- Cy = {
- getTextColor: function(t) {
- var e = this.ecModel;
- return this.getShallow("color") || (!t && e ? e.get(Iy) : null)
- },
- getFont: function() {
- return Jo({
- fontStyle: this.getShallow("fontStyle"),
- fontWeight: this.getShallow("fontWeight"),
- fontSize: this.getShallow("fontSize"),
- fontFamily: this.getShallow("fontFamily")
- }, this.ecModel)
- },
- getTextRect: function(t) {
- return Yn(t, this.getFont(), this.getShallow("align"), this.getShallow("verticalAlign") || this
- .getShallow("baseline"), this.getShallow("padding"), this.getShallow("lineHeight"), this
- .getShallow("rich"), this.getShallow("truncateText"))
- }
- },
- Ty = zv([
- ["fill", "color"],
- ["stroke", "borderColor"],
- ["lineWidth", "borderWidth"],
- ["opacity"],
- ["shadowBlur"],
- ["shadowOffsetX"],
- ["shadowOffsetY"],
- ["shadowColor"],
- ["textPosition"],
- ["textAlign"]
- ]),
- Ay = {
- getItemStyle: function(t, e) {
- var n = Ty(this, t, e),
- i = this.getBorderLineDash();
- return i && (n.lineDash = i), n
- },
- getBorderLineDash: function() {
- var t = this.get("borderType");
- return "solid" === t || null == t ? null : "dashed" === t ? [5, 5] : [1, 1]
- }
- },
- Dy = c,
- ky = ur();
- pa.prototype = {
- constructor: pa,
- init: null,
- mergeOption: function(t) {
- r(this.option, t, !0)
- },
- get: function(t, e) {
- return null == t ? this.option : ga(this.option, this.parsePath(t), !e && va(this, t))
- },
- getShallow: function(t, e) {
- var n = this.option,
- i = null == n ? n : n[t],
- r = !e && va(this, t);
- return null == i && r && (i = r.getShallow(t)), i
- },
- getModel: function(t, e) {
- var n, i = null == t ? this.option : ga(this.option, t = this.parsePath(t));
- return e = e || (n = va(this, t)) && n.getModel(t), new pa(i, e, this.ecModel)
- },
- isEmpty: function() {
- return null == this.option
- },
- restoreData: function() {},
- clone: function() {
- var t = this.constructor;
- return new t(i(this.option))
- },
- setReadOnly: function() {},
- parsePath: function(t) {
- return "string" == typeof t && (t = t.split(".")), t
- },
- customizeGetParent: function(t) {
- ky(this).getParent = t
- },
- isAnimationEnabled: function() {
- if (!dp.node) {
- if (null != this.option.animation) return !!this.option.animation;
- if (this.parentModel) return this.parentModel.isAnimationEnabled()
- }
- }
- }, mr(pa), yr(pa), Dy(pa, Bv), Dy(pa, Nv), Dy(pa, Cy), Dy(pa, Ay);
- var Py = 0,
- Oy = 1e-4,
- Ly = 9007199254740991,
- zy =
- /^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/,
- Ey = (Object.freeze || Object)({
- linearMap: wa,
- parsePercent: ba,
- round: Sa,
- asc: Ma,
- getPrecision: Ia,
- getPrecisionSafe: Ca,
- getPixelPrecision: Ta,
- getPercentWithPrecision: Aa,
- MAX_SAFE_INTEGER: Ly,
- remRadian: Da,
- isRadianAroundZero: ka,
- parseDate: Pa,
- quantity: Oa,
- quantityExponent: La,
- nice: za,
- quantile: Ea,
- reformIntervals: Ba,
- isNumeric: Ra
- }),
- By = O,
- Ry = /([&<>"'])/g,
- Ny = {
- "&": "&",
- "<": "<",
- ">": ">",
- '"': """,
- "'": "'"
- },
- Fy = ["a", "b", "c", "d", "e", "f", "g"],
- Vy = function(t, e) {
- return "{" + t + (null == e ? "" : e) + "}"
- },
- Wy = Qn,
- Hy = (Object.freeze || Object)({
- addCommas: Na,
- toCamelCase: Fa,
- normalizeCssArray: By,
- encodeHTML: Va,
- formatTpl: Wa,
- formatTplSimple: Ha,
- getTooltipMarker: Ga,
- formatTime: Xa,
- capitalFirst: Ya,
- truncateText: Wy,
- getTextBoundingRect: Ua,
- getTextRect: ja,
- windowOpen: qa
- }),
- Gy = f,
- Zy = ["left", "right", "top", "bottom", "width", "height"],
- Xy = [
- ["width", "left", "right"],
- ["height", "top", "bottom"]
- ],
- Yy = Ka,
- Uy = (x(Ka, "vertical"), x(Ka, "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")
- }
- }
- }),
- jy = ur(),
- qy = pa.extend({
- type: "component",
- id: "",
- name: "",
- mainType: "",
- subType: "",
- componentIndex: 0,
- defaultOption: null,
- ecModel: null,
- dependentModels: [],
- uid: null,
- layoutMode: null,
- $constructor: function(t, e, n, i) {
- pa.call(this, t, e, n, i), this.uid = ma("ec_cpt_model")
- },
- init: function(t, e, n) {
- this.mergeDefaultAndTheme(t, n)
- },
- mergeDefaultAndTheme: function(t, e) {
- var n = this.layoutMode,
- i = n ? Ja(t) : {},
- o = e.getTheme();
- r(t, o.get(this.mainType)), r(t, this.getDefaultOption()), n && Qa(t, i, n)
- },
- mergeOption: function(t) {
- r(this.option, t, !0);
- var e = this.layoutMode;
- e && Qa(this.option, t, e)
- },
- optionUpdated: function() {},
- getDefaultOption: function() {
- var t = jy(this);
- if (!t.defaultOption) {
- for (var e = [], n = this.constructor; n;) {
- var i = n.prototype.defaultOption;
- i && e.push(i), n = n.superClass
- }
- for (var o = {}, a = e.length - 1; a >= 0; a--) o = r(o, e[a], !0);
- t.defaultOption = o
- }
- return t.defaultOption
- },
- getReferringComponents: function(t) {
- return this.ecModel.queryComponents({
- mainType: t,
- index: this.get(t + "Index", !0),
- id: this.get(t + "Id", !0)
- })
- }
- });
- wr(qy, {
- registerWhenExtend: !0
- }), ya(qy), xa(qy, es), c(qy, Uy);
- var Ky = "";
- "undefined" != typeof navigator && (Ky = navigator.platform || "");
- var $y = {
- color: ["#c23531", "#2f4554", "#61a0a8", "#d48265", "#91c7ae", "#749f83", "#ca8622", "#bda29a",
- "#6e7074", "#546570", "#c4ccd3"
- ],
- gradientColor: ["#f6efa6", "#d88273", "#bf444c"],
- textStyle: {
- fontFamily: Ky.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
- },
- Qy = ur(),
- Jy = {
- clearColorPalette: function() {
- Qy(this).colorIdx = 0, Qy(this).colorNameMap = {}
- },
- getColorFromPalette: function(t, e, n) {
- e = e || this;
- var i = Qy(e),
- r = i.colorIdx || 0,
- o = i.colorNameMap = i.colorNameMap || {};
- if (o.hasOwnProperty(t)) return o[t];
- var a = tr(this.get("color", !0)),
- s = this.get("colorLayer", !0),
- l = null != n && s ? ns(s, n) : a;
- if (l = l || a, l && l.length) {
- var u = l[r];
- return t && (o[t] = u), i.colorIdx = (r + 1) % l.length, u
- }
- }
- },
- tx = "original",
- ex = "arrayRows",
- nx = "objectRows",
- ix = "keyedColumns",
- rx = "unknown",
- ox = "typedArray",
- ax = "column",
- sx = "row";
- is.seriesDataToSource = function(t) {
- return new is({
- data: t,
- sourceFormat: I(t) ? ox : tx,
- fromDataset: !1
- })
- }, yr(is);
- var lx = {
- Must: 1,
- Might: 2,
- Not: 3
- },
- ux = ur(),
- hx = "\x00_ec_inner",
- cx = pa.extend({
- init: function(t, e, n, i) {
- n = n || {}, this.option = null, this._theme = new pa(n), this._optionManager = i
- },
- setOption: function(t, e) {
- L(!(hx in t), "please use chart.getOption()"), this._optionManager.setOption(t, e), this
- .resetOption(null)
- },
- resetOption: function(t) {
- var e = !1,
- n = this._optionManager;
- if (!t || "recreate" === t) {
- var i = n.mountOption("recreate" === t);
- this.option && "recreate" !== t ? (this.restoreData(), this.mergeOption(i)) : ys.call(
- this, i), e = !0
- }
- if (("timeline" === t || "media" === t) && this.restoreData(), !t || "recreate" === t ||
- "timeline" === t) {
- var r = n.getTimelineOption(this);
- r && (this.mergeOption(r), e = !0)
- }
- if (!t || "recreate" === t || "media" === t) {
- var o = n.getMediaOption(this, this._api);
- o.length && f(o, function(t) {
- this.mergeOption(t, e = !0)
- }, this)
- }
- return e
- },
- mergeOption: function(t) {
- function e(e, i) {
- var r = tr(t[e]),
- s = rr(o.get(e), r);
- or(s), f(s, function(t) {
- var n = t.option;
- S(n) && (t.keyInfo.mainType = e, t.keyInfo.subType = _s(e, n, t.exist))
- });
- var l = xs(o, i);
- n[e] = [], o.set(e, []), f(s, function(t, i) {
- var r = t.exist,
- s = t.option;
- if (L(S(s) || r, "Empty component definition"), s) {
- var u = qy.getClass(e, t.keyInfo.subType, !0);
- if (r && r.constructor === u) r.name = t.keyInfo.name, r.mergeOption(s,
- this), r.optionUpdated(s, !1);
- else {
- var h = a({
- dependentModels: l,
- componentIndex: i
- }, t.keyInfo);
- r = new u(s, this, this, h), a(r, h), r.init(s, this, this, h), r
- .optionUpdated(null, !0)
- }
- } else r.mergeOption({}, this), r.optionUpdated({}, !1);
- o.get(e)[i] = r, n[e][i] = r.option
- }, this), "series" === e && ws(this, o.get("series"))
- }
- var n = this.option,
- o = this._componentsMap,
- s = [];
- as(this), f(t, function(t, e) {
- null != t && (qy.hasClass(e) ? e && s.push(e) : n[e] = null == n[e] ? i(t) : r(
- n[e], t, !0))
- }), qy.topologicalTravel(s, qy.getAllClassMainTypes(), e, this), this
- ._seriesIndicesMap = N(this._seriesIndices = this._seriesIndices || [])
- },
- getOption: function() {
- var t = i(this.option);
- return f(t, function(e, n) {
- if (qy.hasClass(n)) {
- for (var e = tr(e), i = e.length - 1; i >= 0; i--) sr(e[i]) && e.splice(i,
- 1);
- t[n] = e
- }
- }), delete t[hx], t
- },
- getTheme: function() {
- return this._theme
- },
- getComponent: function(t, e) {
- var n = this._componentsMap.get(t);
- return n ? n[e || 0] : void 0
- },
- queryComponents: function(t) {
- var e = t.mainType;
- if (!e) return [];
- var n = t.index,
- i = t.id,
- r = t.name,
- o = this._componentsMap.get(e);
- if (!o || !o.length) return [];
- var a;
- if (null != n) _(n) || (n = [n]), a = v(p(n, function(t) {
- return o[t]
- }), function(t) {
- return !!t
- });
- else if (null != i) {
- var s = _(i);
- a = v(o, function(t) {
- return s && u(i, t.id) >= 0 || !s && t.id === i
- })
- } else if (null != r) {
- var l = _(r);
- a = v(o, function(t) {
- return l && u(r, t.name) >= 0 || !l && t.name === r
- })
- } else a = o.slice();
- return bs(a, t)
- },
- findComponents: function(t) {
- function e(t) {
- var e = r + "Index",
- n = r + "Id",
- i = r + "Name";
- return !t || null == t[e] && null == t[n] && null == t[i] ? null : {
- mainType: r,
- index: t[e],
- id: t[n],
- name: t[i]
- }
- }
- function n(e) {
- return t.filter ? v(e, t.filter) : e
- }
- var i = t.query,
- r = t.mainType,
- o = e(i),
- a = o ? this.queryComponents(o) : this._componentsMap.get(r);
- return n(bs(a, t))
- },
- eachComponent: function(t, e, n) {
- var i = this._componentsMap;
- if ("function" == typeof t) n = e, e = t, i.each(function(t, i) {
- f(t, function(t, r) {
- e.call(n, i, t, r)
- })
- });
- else if (b(t)) f(i.get(t), e, n);
- else if (S(t)) {
- var r = this.findComponents(t);
- f(r, e, n)
- }
- },
- getSeriesByName: function(t) {
- var e = this._componentsMap.get("series");
- return v(e, function(e) {
- return e.name === t
- })
- },
- getSeriesByIndex: function(t) {
- return this._componentsMap.get("series")[t]
- },
- getSeriesByType: function(t) {
- var e = this._componentsMap.get("series");
- return v(e, 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) {
- Ss(this), f(this._seriesIndices, function(n) {
- var i = this._componentsMap.get("series")[n];
- t.call(e, i, n)
- }, this)
- },
- eachRawSeries: function(t, e) {
- f(this._componentsMap.get("series"), t, e)
- },
- eachSeriesByType: function(t, e, n) {
- Ss(this), f(this._seriesIndices, function(i) {
- var r = this._componentsMap.get("series")[i];
- r.subType === t && e.call(n, r, i)
- }, this)
- },
- eachRawSeriesByType: function(t, e, n) {
- return f(this.getSeriesByType(t), e, n)
- },
- isSeriesFiltered: function(t) {
- return Ss(this), null == this._seriesIndicesMap.get(t.componentIndex)
- },
- getCurrentSeriesIndices: function() {
- return (this._seriesIndices || []).slice()
- },
- filterSeries: function(t, e) {
- Ss(this);
- var n = v(this._componentsMap.get("series"), t, e);
- ws(this, n)
- },
- restoreData: function(t) {
- var e = this._componentsMap;
- ws(this, e.get("series"));
- var n = [];
- e.each(function(t, e) {
- n.push(e)
- }), qy.topologicalTravel(n, qy.getAllClassMainTypes(), function(n) {
- f(e.get(n), function(e) {
- ("series" !== n || !vs(e, t)) && e.restoreData()
- })
- })
- }
- });
- c(cx, Jy);
- var dx = ["getDom", "getZr", "getWidth", "getHeight", "getDevicePixelRatio", "dispatchAction", "isDisposed",
- "on", "off", "getDataURL", "getConnectedDataURL", "getModel", "getOption", "getViewOfComponentModel",
- "getViewOfSeriesModel"
- ],
- fx = {};
- Is.prototype = {
- constructor: Is,
- create: function(t, e) {
- var n = [];
- f(fx, function(i) {
- var r = i.create(t, e);
- n = n.concat(r || [])
- }), this._coordinateSystems = n
- },
- update: function(t, e) {
- f(this._coordinateSystems, function(n) {
- n.update && n.update(t, e)
- })
- },
- getCoordinateSystems: function() {
- return this._coordinateSystems.slice()
- }
- }, Is.register = function(t, e) {
- fx[t] = e
- }, Is.get = function(t) {
- return fx[t]
- };
- var px = f,
- gx = i,
- vx = p,
- mx = r,
- yx = /^(min|max)?(.+)$/;
- Cs.prototype = {
- constructor: Cs,
- setOption: function(t, e) {
- t && f(tr(t.series), function(t) {
- t && t.data && I(t.data) && E(t.data)
- }), t = gx(t);
- var n = this._optionBackup,
- i = Ts.call(this, t, e, !n);
- this._newBaseOption = i.baseOption, n ? (Ps(n.baseOption, i.baseOption), i.timelineOptions
- .length && (n.timelineOptions = i.timelineOptions), i.mediaList.length && (n.mediaList =
- i.mediaList), i.mediaDefault && (n.mediaDefault = i.mediaDefault)) : this
- ._optionBackup = i
- },
- mountOption: function(t) {
- var e = this._optionBackup;
- return this._timelineOptions = vx(e.timelineOptions, gx), this._mediaList = vx(e.mediaList, gx),
- this._mediaDefault = gx(e.mediaDefault), this._currentMediaIndices = [], gx(t ? e
- .baseOption : this._newBaseOption)
- },
- getTimelineOption: function(t) {
- var e, n = this._timelineOptions;
- if (n.length) {
- var i = t.getComponent("timeline");
- i && (e = gx(n[i.getCurrentIndex()], !0))
- }
- return e
- },
- getMediaOption: function() {
- var t = this._api.getWidth(),
- e = this._api.getHeight(),
- n = this._mediaList,
- i = this._mediaDefault,
- r = [],
- o = [];
- if (!n.length && !i) return o;
- for (var a = 0, s = n.length; s > a; a++) As(n[a].query, t, e) && r.push(a);
- return !r.length && i && (r = [-1]), r.length && !ks(r, this._currentMediaIndices) && (o = vx(r,
- function(t) {
- return gx(-1 === t ? i.option : n[t].option)
- })), this._currentMediaIndices = r, o
- }
- };
- var xx = f,
- _x = S,
- bx = ["areaStyle", "lineStyle", "nodeStyle", "linkStyle", "chordStyle", "label", "labelLine"],
- Sx = function(t, e) {
- xx(Ns(t.series), function(t) {
- _x(t) && Rs(t)
- });
- var n = ["xAxis", "yAxis", "radiusAxis", "angleAxis", "singleAxis", "parallelAxis", "radar"];
- e && n.push("valueAxis", "categoryAxis", "logAxis", "timeAxis"), xx(n, function(e) {
- xx(Ns(t[e]), function(t) {
- t && (Es(t, "axisLabel"), Es(t.axisPointer, "label"))
- })
- }), xx(Ns(t.parallel), function(t) {
- var e = t && t.parallelAxisDefault;
- Es(e, "axisLabel"), Es(e && e.axisPointer, "label")
- }), xx(Ns(t.calendar), function(t) {
- Ls(t, "itemStyle"), Es(t, "dayLabel"), Es(t, "monthLabel"), Es(t, "yearLabel")
- }), xx(Ns(t.radar), function(t) {
- Es(t, "name")
- }), xx(Ns(t.geo), function(t) {
- _x(t) && (Bs(t), xx(Ns(t.regions), function(t) {
- Bs(t)
- }))
- }), xx(Ns(t.timeline), function(t) {
- Bs(t), Ls(t, "label"), Ls(t, "itemStyle"), Ls(t, "controlStyle", !0);
- var e = t.data;
- _(e) && f(e, function(t) {
- S(t) && (Ls(t, "label"), Ls(t, "itemStyle"))
- })
- }), xx(Ns(t.toolbox), function(t) {
- Ls(t, "iconStyle"), xx(t.feature, function(t) {
- Ls(t, "iconStyle")
- })
- }), Es(Fs(t.axisPointer), "label"), Es(Fs(t.tooltip).axisPointer, "label")
- },
- Mx = [
- ["x", "left"],
- ["y", "top"],
- ["x2", "right"],
- ["y2", "bottom"]
- ],
- Ix = ["grid", "geo", "parallel", "legend", "toolbox", "title", "visualMap", "dataZoom", "timeline"],
- Cx = function(t, e) {
- Sx(t, e), t.series = tr(t.series), f(t.series, function(t) {
- if (S(t)) {
- var e = t.type;
- if ("line" === e) null != t.clipOverflow && (t.clip = t.clipOverflow);
- else if ("pie" === e || "gauge" === e) null != t.clockWise && (t.clockwise = t
- .clockWise);
- else if ("gauge" === e) {
- var n = Vs(t, "pointer.color");
- null != n && Ws(t, "itemStyle.color", n)
- }
- Hs(t)
- }
- }), t.dataRange && (t.visualMap = t.dataRange), f(Ix, function(e) {
- var n = t[e];
- n && (_(n) || (n = [n]), f(n, function(t) {
- Hs(t)
- }))
- })
- },
- Tx = function(t) {
- var e = N();
- t.eachSeries(function(t) {
- var n = t.get("stack");
- if (n) {
- var i = e.get(n) || e.set(n, []),
- r = t.getData(),
- o = {
- stackResultDimension: r.getCalculationInfo("stackResultDimension"),
- stackedOverDimension: r.getCalculationInfo("stackedOverDimension"),
- stackedDimension: r.getCalculationInfo("stackedDimension"),
- stackedByDimension: r.getCalculationInfo("stackedByDimension"),
- isStackedByIndex: r.getCalculationInfo("isStackedByIndex"),
- data: r,
- seriesModel: t
- };
- if (!o.stackedDimension || !o.isStackedByIndex && !o.stackedByDimension) return;
- i.length && r.setCalculationInfo("stackedOnSeries", i[i.length - 1].seriesModel), i
- .push(o)
- }
- }), e.each(Gs)
- },
- Ax = Zs.prototype;
- Ax.pure = !1, Ax.persistent = !0, Ax.getSource = function() {
- return this._source
- };
- var Dx = {
- arrayRows_column: {
- pure: !0,
- count: function() {
- return Math.max(0, this._data.length - this._source.startIndex)
- },
- getItem: function(t) {
- return this._data[t + this._source.startIndex]
- },
- appendData: Us
- },
- arrayRows_row: {
- pure: !0,
- count: function() {
- var t = this._data[0];
- return t ? Math.max(0, t.length - this._source.startIndex) : 0
- },
- getItem: function(t) {
- t += this._source.startIndex;
- for (var e = [], n = this._data, i = 0; i < n.length; i++) {
- var r = n[i];
- e.push(r ? r[t] : null)
- }
- return e
- },
- appendData: function() {
- throw new Error('Do not support appendData when set seriesLayoutBy: "row".')
- }
- },
- objectRows: {
- pure: !0,
- count: Xs,
- getItem: Ys,
- appendData: Us
- },
- keyedColumns: {
- pure: !0,
- count: function() {
- var t = this._source.dimensionsDefine[0].name,
- e = this._data[t];
- return e ? e.length : 0
- },
- getItem: function(t) {
- for (var e = [], n = this._source.dimensionsDefine, i = 0; i < n.length; i++) {
- var r = this._data[n[i].name];
- e.push(r ? r[t] : null)
- }
- return e
- },
- appendData: function(t) {
- var e = this._data;
- f(t, function(t, n) {
- for (var i = e[n] || (e[n] = []), r = 0; r < (t || []).length; r++) i.push(t[r])
- })
- }
- },
- original: {
- count: Xs,
- getItem: Ys,
- appendData: Us
- },
- typedArray: {
- persistent: !1,
- pure: !0,
- count: function() {
- return this._data ? this._data.length / this._dimSize : 0
- },
- getItem: function(t, e) {
- t -= this._offset, e = e || [];
- for (var n = this._dimSize * t, i = 0; i < this._dimSize; i++) e[i] = this._data[n + i];
- return e
- },
- appendData: function(t) {
- lp && L(I(t), "Added data must be TypedArray if data in initialization is TypedArray"), this
- ._data = t
- },
- clean: function() {
- this._offset += this.count(), this._data = null
- }
- }
- },
- kx = {
- arrayRows: js,
- objectRows: function(t, e, n, i) {
- return null != n ? t[i] : t
- },
- keyedColumns: js,
- original: function(t, e, n) {
- var i = nr(t);
- return null != n && i instanceof Array ? i[n] : i
- },
- typedArray: js
- },
- Px = {
- arrayRows: qs,
- objectRows: function(t, e) {
- return Ks(t[e], this._dimensionInfos[e])
- },
- keyedColumns: qs,
- original: function(t, e, n, i) {
- var r = t && (null == t.value ? t : t.value);
- return !this._rawData.pure && ir(t) && (this.hasItemOption = !0), Ks(r instanceof Array ? r[i] :
- r, this._dimensionInfos[e])
- },
- typedArray: function(t, e, n, i) {
- return t[i]
- }
- },
- Ox = /\{@(.+?)\}/g,
- Lx = {
- getDataParams: function(t, e) {
- var n = this.getData(e),
- i = this.getRawValue(t, e),
- r = n.getRawIndex(t),
- o = n.getName(t),
- a = n.getRawDataItem(t),
- s = n.getItemVisual(t, "color"),
- l = n.getItemVisual(t, "borderColor"),
- u = this.ecModel.getComponent("tooltip"),
- h = u && u.get("renderMode"),
- c = pr(h),
- d = this.mainType,
- f = "series" === d,
- p = n.userOutput;
- return {
- componentType: d,
- componentSubType: this.subType,
- componentIndex: this.componentIndex,
- seriesType: f ? this.subType : null,
- seriesIndex: this.seriesIndex,
- seriesId: f ? this.id : null,
- seriesName: f ? this.name : null,
- name: o,
- dataIndex: r,
- data: a,
- dataType: e,
- value: i,
- color: s,
- borderColor: l,
- dimensionNames: p ? p.dimensionNames : null,
- encode: p ? p.encode : null,
- marker: Ga({
- color: s,
- renderMode: c
- }),
- $vars: ["seriesName", "name", "value"]
- }
- },
- getFormattedLabel: function(t, e, n, i, r) {
- e = e || "normal";
- var o = this.getData(n),
- a = o.getItemModel(t),
- s = this.getDataParams(t, n);
- null != i && s.value instanceof Array && (s.value = s.value[i]);
- var l = a.get("normal" === e ? [r || "label", "formatter"] : [e, r || "label", "formatter"]);
- if ("function" == typeof l) return s.status = e, s.dimensionIndex = i, l(s);
- if ("string" == typeof l) {
- var u = Wa(l, s);
- return u.replace(Ox, function(e, n) {
- var i = n.length;
- return "[" === n.charAt(0) && "]" === n.charAt(i - 1) && (n = +n.slice(1, i -
- 1)), $s(o, t, n)
- })
- }
- },
- getRawValue: function(t, e) {
- return $s(this.getData(e), t)
- },
- formatTooltip: function() {}
- },
- zx = Js.prototype;
- zx.perform = function(t) {
- function e(t) {
- return !(t >= 1) && (t = 1), t
- }
- var n = this._upstream,
- i = t && t.skip;
- if (this._dirty && n) {
- var r = this.context;
- r.data = r.outputData = n.context.outputData
- }
- this.__pipeline && (this.__pipeline.currentTask = this);
- var o;
- this._plan && !i && (o = this._plan(this.context));
- var a = e(this._modBy),
- s = this._modDataCount || 0,
- l = e(t && t.modBy),
- u = t && t.modDataCount || 0;
- (a !== l || s !== u) && (o = "reset");
- var h;
- (this._dirty || "reset" === o) && (this._dirty = !1, h = el(this, i)), this._modBy = l, this
- ._modDataCount = u;
- var c = t && t.step;
- if (n ? (lp && L(null != n._outputDueEnd), this._dueEnd = n._outputDueEnd) : (lp && L(!this._progress ||
- this._count), this._dueEnd = 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 (!i && (h || f > d)) {
- var p = this._progress;
- if (_(p))
- for (var g = 0; g < p.length; g++) tl(this, p[g], d, f, l, u);
- else tl(this, p, d, f, l, u)
- }
- this._dueIndex = f;
- var v = null != this._settedOutputEnd ? this._settedOutputEnd : f;
- lp && L(v >= this._outputDueEnd), this._outputDueEnd = v
- } else this._dueIndex = this._outputDueEnd = null != this._settedOutputEnd ? this._settedOutputEnd :
- this._dueEnd;
- return this.unfinished()
- };
- var Ex = function() {
- function t() {
- return n > i ? i++ : null
- }
- function e() {
- var t = i % a * r + Math.ceil(i / a),
- e = i >= n ? null : o > t ? t : i;
- return i++, e
- }
- var n, i, r, o, a, s = {
- reset: function(l, u, h, c) {
- i = l, n = u, r = h, o = c, a = Math.ceil(o / r), s.next = r > 1 && o > 0 ? e : t
- }
- };
- return s
- }();
- zx.dirty = function() {
- this._dirty = !0, this._onDirty && this._onDirty(this.context)
- }, zx.unfinished = function() {
- return this._progress && this._dueIndex < this._dueEnd
- }, zx.pipe = function(t) {
- lp && L(t && !t._disposed && t !== this), (this._downstream !== t || this._dirty) && (this._downstream =
- t, t._upstream = this, t.dirty())
- }, zx.dispose = function() {
- this._disposed || (this._upstream && (this._upstream._downstream = null), this._downstream && (this
- ._downstream._upstream = null), this._dirty = !1, this._disposed = !0)
- }, zx.getUpstream = function() {
- return this._upstream
- }, zx.getDownstream = function() {
- return this._downstream
- }, zx.setOutputEnd = function(t) {
- this._outputDueEnd = this._settedOutputEnd = t
- };
- var Bx = ur(),
- Rx = qy.extend({
- type: "series.__base__",
- seriesIndex: 0,
- coordinateSystem: null,
- defaultOption: null,
- legendVisualProvider: null,
- visualColorAccessPath: "itemStyle.color",
- visualBorderColorAccessPath: "itemStyle.borderColor",
- layoutMode: null,
- init: function(t, e, n) {
- this.seriesIndex = this.componentIndex, this.dataTask = Qs({
- count: rl,
- reset: ol
- }), this.dataTask.context = {
- model: this
- }, this.mergeDefaultAndTheme(t, n), ss(this);
- var i = this.getInitialData(t, n);
- sl(i, this), this.dataTask.context.data = i, lp && L(i,
- "getInitialData returned invalid data."), Bx(this).dataBeforeProcessed = i, nl(this)
- },
- mergeDefaultAndTheme: function(t, e) {
- var n = this.layoutMode,
- i = n ? Ja(t) : {},
- o = this.subType;
- qy.hasClass(o) && (o += "Series"), r(t, e.getTheme().get(this.subType)), r(t, this
- .getDefaultOption()), er(t, "label", ["show"]), this.fillDataTextStyle(t.data), n &&
- Qa(t, i, n)
- },
- mergeOption: function(t, e) {
- t = r(this.option, t, !0), this.fillDataTextStyle(t.data);
- var n = this.layoutMode;
- n && Qa(this.option, t, n), ss(this);
- var i = this.getInitialData(t, e);
- sl(i, this), this.dataTask.dirty(), this.dataTask.context.data = i, Bx(this)
- .dataBeforeProcessed = i, nl(this)
- },
- fillDataTextStyle: function(t) {
- if (t && !I(t))
- for (var e = ["show"], n = 0; n < t.length; n++) t[n] && t[n].label && er(t[n], "label",
- e)
- },
- getInitialData: function() {},
- appendData: function(t) {
- var e = this.getRawData();
- e.appendData(t.data)
- },
- getData: function(t) {
- var e = ul(this);
- if (e) {
- var n = e.context.data;
- return null == t ? n : n.getLinkedData(t)
- }
- return Bx(this).data
- },
- setData: function(t) {
- var e = ul(this);
- if (e) {
- var n = e.context;
- n.data !== t && e.modifyOutputEnd && e.setOutputEnd(t.count()), n.outputData = t, e !==
- this.dataTask && (n.data = t)
- }
- Bx(this).data = t
- },
- getSource: function() {
- return os(this)
- },
- getRawData: function() {
- return Bx(this).dataBeforeProcessed
- },
- getBaseAxis: function() {
- var t = this.coordinateSystem;
- return t && t.getBaseAxis && t.getBaseAxis()
- },
- formatTooltip: function(t, e, n, i) {
- function r(n) {
- function r(t, n) {
- var r = c.getDimensionInfo(n);
- if (r && r.otherDims.tooltip !== !1) {
- var d = r.type,
- f = "sub" + a.seriesIndex + "at" + h,
- p = Ga({
- color: y,
- type: "subItem",
- renderMode: i,
- markerId: f
- }),
- g = "string" == typeof p ? p : p.content,
- v = (o ? g + Va(r.displayName || "-") + ": " : "") + Va("ordinal" === d ?
- t + "" : "time" === d ? e ? "" : Xa("yyyy/MM/dd hh:mm:ss", t) : Na(t));
- v && s.push(v), l && (u[f] = y, ++h)
- }
- }
- var o = g(n, function(t, e, n) {
- var i = c.getDimensionInfo(n);
- return t |= i && i.tooltip !== !1 && null != i.displayName
- }, 0),
- s = [];
- d.length ? f(d, function(e) {
- r($s(c, t, e), e)
- }) : f(n, r);
- var p = o ? l ? "\n" : "<br/>" : "",
- v = p + s.join(p || ", ");
- return {
- renderMode: i,
- content: v,
- style: u
- }
- }
- function o(t) {
- return {
- renderMode: i,
- content: Va(Na(t)),
- style: u
- }
- }
- var a = this;
- i = i || "html";
- var s = "html" === i ? "<br/>" : "\n",
- l = "richText" === i,
- u = {},
- h = 0,
- c = this.getData(),
- d = c.mapDimension("defaultedTooltip", !0),
- p = d.length,
- v = this.getRawValue(t),
- m = _(v),
- y = c.getItemVisual(t, "color");
- S(y) && y.colorStops && (y = (y.colorStops[0] || {}).color), y = y || "transparent";
- var x = p > 1 || m && !p ? r(v) : o(p ? $s(c, t, d[0]) : m ? v[0] : v),
- w = x.content,
- b = a.seriesIndex + "at" + h,
- M = Ga({
- color: y,
- type: "item",
- renderMode: i,
- markerId: b
- });
- u[b] = y, ++h;
- var I = c.getName(t),
- C = this.name;
- ar(this) || (C = ""), C = C ? Va(C) + (e ? ": " : s) : "";
- var T = "string" == typeof M ? M : M.content,
- A = e ? T + C + w : C + T + (I ? Va(I) + ": " + w : w);
- return {
- html: A,
- markers: u
- }
- },
- isAnimationEnabled: function() {
- if (dp.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, n) {
- var i = this.ecModel,
- r = Jy.getColorFromPalette.call(this, t, e, n);
- return r || (r = i.getColorFromPalette(t, e, n)), r
- },
- 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
- });
- c(Rx, Lx), c(Rx, Jy);
- var Nx = function() {
- this.group = new Cg, this.uid = ma("viewComponent")
- };
- Nx.prototype = {
- constructor: Nx,
- init: function() {},
- render: function() {},
- dispose: function() {},
- filterForExposedEvent: null
- };
- var Fx = Nx.prototype;
- Fx.updateView = Fx.updateLayout = Fx.updateVisual = function() {}, mr(Nx), wr(Nx, {
- registerWhenExtend: !0
- });
- var Vx = function() {
- var t = ur();
- return function(e) {
- var n = t(e),
- i = e.pipelineContext,
- r = n.large,
- o = n.progressiveRender,
- a = n.large = i && i.large,
- s = n.progressiveRender = i && i.progressiveRender;
- return !!(r ^ a || o ^ s) && "reset"
- }
- },
- Wx = ur(),
- Hx = Vx();
- hl.prototype = {
- type: "chart",
- init: function() {},
- render: function() {},
- highlight: function(t, e, n, i) {
- dl(t.getData(), i, "emphasis")
- },
- downplay: function(t, e, n, i) {
- dl(t.getData(), i, "normal")
- },
- remove: function() {
- this.group.removeAll()
- },
- dispose: function() {},
- incrementalPrepareRender: null,
- incrementalRender: null,
- updateTransform: null,
- filterForExposedEvent: null
- };
- var Gx = hl.prototype;
- Gx.updateView = Gx.updateLayout = Gx.updateVisual = function(t, e, n, i) {
- this.render(t, e, n, i)
- }, mr(hl, ["dispose"]), wr(hl, {
- registerWhenExtend: !0
- }), hl.markUpdateMethod = function(t, e) {
- Wx(t).updateMethod = e
- };
- var Zx = {
- 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)
- }
- }
- },
- Xx = "\x00__throttleOriginMethod",
- Yx = "\x00__throttleRate",
- Ux = "\x00__throttleType",
- jx = {
- createOnAllSeries: !0,
- performRawSeries: !0,
- reset: function(t, e) {
- var n = t.getData(),
- i = (t.visualColorAccessPath || "itemStyle.color").split("."),
- r = t.get(i),
- o = !w(r) || r instanceof ay ? null : r;
- (!r || o) && (r = t.getColorFromPalette(t.name, null, e.getSeriesCount())), n.setVisual("color",
- r);
- var a = (t.visualBorderColorAccessPath || "itemStyle.borderColor").split("."),
- s = t.get(a);
- if (n.setVisual("borderColor", s), !e.isSeriesFiltered(t)) {
- o && n.each(function(e) {
- n.setItemVisual(e, "color", o(t.getDataParams(e)))
- });
- var l = function(t, e) {
- var n = t.getItemModel(e),
- r = n.get(i, !0),
- o = n.get(a, !0);
- null != r && t.setItemVisual(e, "color", r), null != o && t.setItemVisual(e,
- "borderColor", o)
- };
- return {
- dataEach: n.hasItemOption ? l : null
- }
- }
- }
- },
- qx = {
- legend: {
- selector: {
- all: "全选",
- inverse: "反选"
- }
- },
- 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: ""
- }
- }
- }
- },
- Kx = function(t, e) {
- function n(t, e) {
- if ("string" != typeof t) return t;
- var n = t;
- return f(e, function(t, e) {
- n = n.replace(new RegExp("\\{\\s*" + e + "\\s*\\}", "g"), t)
- }), n
- }
- function i(t) {
- var e = a.get(t);
- if (null == e) {
- for (var n = t.split("."), i = qx.aria, r = 0; r < n.length; ++r) i = i[n[r]];
- return i
- }
- return e
- }
- function r() {
- var t = e.getModel("title").option;
- return t && t.length && (t = t[0]), t && t.text
- }
- function o(t) {
- return qx.series.typeNames[t] || "自定义图"
- }
- var a = e.getModel("aria");
- if (a.get("show")) {
- if (a.get("description")) return void t.setAttribute("aria-label", a.get("description"));
- var s = 0;
- e.eachSeries(function() {
- ++s
- }, this);
- var l, u = a.get("data.maxCount") || 10,
- h = a.get("series.maxCount") || 10,
- c = Math.min(s, h);
- if (!(1 > s)) {
- var d = r();
- l = d ? n(i("general.withTitle"), {
- title: d
- }) : i("general.withoutTitle");
- var p = [],
- g = s > 1 ? "series.multiple.prefix" : "series.single.prefix";
- l += n(i(g), {
- seriesCount: s
- }), e.eachSeries(function(t, e) {
- if (c > e) {
- var r, a = t.get("name"),
- l = "series." + (s > 1 ? "multiple" : "single") + ".";
- r = i(a ? l + "withName" : l + "withoutName"), r = n(r, {
- seriesId: t.seriesIndex,
- seriesName: t.get("name"),
- seriesType: o(t.subType)
- });
- var h = t.getData();
- window.data = h, r += h.count() > u ? n(i("data.partialData"), {
- displayCnt: u
- }) : i("data.allData");
- for (var d = [], f = 0; f < h.count(); f++)
- if (u > f) {
- var g = h.getName(f),
- v = $s(h, f);
- d.push(n(i(g ? "data.withName" : "data.withoutName"), {
- name: g,
- value: v
- }))
- } r += d.join(i("data.separator.middle")) + i("data.separator.end"), p.push(
- r)
- }
- }), l += p.join(i("series.multiple.separator.middle")) + i("series.multiple.separator.end"),
- t.setAttribute("aria-label", l)
- }
- }
- },
- $x = Math.PI,
- Qx = function(t, e) {
- e = e || {}, s(e, {
- text: "loading",
- textColor: "#000",
- fontSize: "12px",
- maskColor: "rgba(255, 255, 255, 0.8)",
- showSpinner: !0,
- color: "#c23531",
- spinnerRadius: 10,
- lineWidth: 5,
- zlevel: 0
- });
- var n = new Cg,
- i = new Jm({
- style: {
- fill: e.maskColor
- },
- zlevel: e.zlevel,
- z: 1e4
- });
- n.add(i);
- var r = e.fontSize + " sans-serif",
- o = new Jm({
- style: {
- fill: "none",
- text: e.text,
- font: r,
- textPosition: "right",
- textDistance: 10,
- textFill: e.textColor
- },
- zlevel: e.zlevel,
- z: 10001
- });
- if (n.add(o), e.showSpinner) {
- var a = new ry({
- shape: {
- startAngle: -$x / 2,
- endAngle: -$x / 2 + .1,
- r: e.spinnerRadius
- },
- style: {
- stroke: e.color,
- lineCap: "round",
- lineWidth: e.lineWidth
- },
- zlevel: e.zlevel,
- z: 10001
- });
- a.animateShape(!0).when(1e3, {
- endAngle: 3 * $x / 2
- }).start("circularInOut"), a.animateShape(!0).when(1e3, {
- startAngle: 3 * $x / 2
- }).delay(300).start("circularInOut"), n.add(a)
- }
- return n.resize = function() {
- var n = Xn(e.text, r),
- s = e.showSpinner ? e.spinnerRadius : 0,
- l = (t.getWidth() - 2 * s - (e.showSpinner && n ? 10 : 0) - n) / 2 - (e.showSpinner ? 0 :
- n / 2),
- u = t.getHeight() / 2;
- e.showSpinner && a.setShape({
- cx: l,
- cy: u
- }), o.setShape({
- x: l - s,
- y: u - s,
- width: 2 * s,
- height: 2 * s
- }), i.setShape({
- x: 0,
- y: 0,
- width: t.getWidth(),
- height: t.getHeight()
- })
- }, n.resize(), n
- },
- Jx = yl.prototype;
- Jx.restoreData = function(t, e) {
- t.restoreData(e), this._stageTaskMap.each(function(t) {
- var e = t.overallTask;
- e && e.dirty()
- })
- }, Jx.getPerformArgs = function(t, e) {
- if (t.__pipeline) {
- var n = this._pipelineMap.get(t.__pipeline.id),
- i = n.context,
- r = !e && n.progressiveEnabled && (!i || i.progressiveRender) && t.__idxInPipeline > n
- .blockIndex,
- o = r ? n.step : null,
- a = i && i.modDataCount,
- s = null != a ? Math.ceil(a / o) : null;
- return {
- step: o,
- modBy: s,
- modDataCount: a
- }
- }
- }, Jx.getPipeline = function(t) {
- return this._pipelineMap.get(t)
- }, Jx.updateStreamModes = function(t, e) {
- var n = this._pipelineMap.get(t.uid),
- i = t.getData(),
- r = i.count(),
- o = n.progressiveEnabled && e.incrementalPrepareRender && r >= n.threshold,
- a = t.get("large") && r >= t.get("largeThreshold"),
- s = "mod" === t.get("progressiveChunkMode") ? r : null;
- t.pipelineContext = n.context = {
- progressiveRender: o,
- modDataCount: s,
- large: a
- }
- }, Jx.restorePipelines = function(t) {
- var e = this,
- n = e._pipelineMap = N();
- t.eachSeries(function(t) {
- var i = t.getProgressive(),
- r = t.uid;
- n.set(r, {
- id: r,
- head: null,
- tail: null,
- threshold: t.getProgressiveThreshold(),
- progressiveEnabled: i && !(t.preventIncremental && t.preventIncremental()),
- blockIndex: -1,
- step: Math.round(i || 700),
- count: 0
- }), kl(e, t, t.dataTask)
- })
- }, Jx.prepareStageTasks = function() {
- var t = this._stageTaskMap,
- e = this.ecInstance.getModel(),
- n = this.api;
- f(this._allHandlers, function(i) {
- var r = t.get(i.uid) || t.set(i.uid, []);
- i.reset && _l(this, i, r, e, n), i.overallReset && wl(this, i, r, e, n)
- }, this)
- }, Jx.prepareView = function(t, e, n, i) {
- var r = t.renderTask,
- o = r.context;
- o.model = e, o.ecModel = n, o.api = i, r.__block = !t.incrementalPrepareRender, kl(this, e, r)
- }, Jx.performDataProcessorTasks = function(t, e) {
- xl(this, this._dataProcessorHandlers, t, e, {
- block: !0
- })
- }, Jx.performVisualTasks = function(t, e, n) {
- xl(this, this._visualHandlers, t, e, n)
- }, Jx.performSeriesTasks = function(t) {
- var e;
- t.eachSeries(function(t) {
- e |= t.dataTask.perform()
- }), this.unfinished |= e
- }, Jx.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 t_ = Jx.updatePayload = function(t, e) {
- "remain" !== e && (t.context.payload = e)
- },
- e_ = Al(0);
- yl.wrapStageHandler = function(t, e) {
- return w(t) && (t = {
- overallReset: t,
- seriesType: Pl(t)
- }), t.uid = ma("stageHandler"), e && (t.visualType = e), t
- };
- var n_, i_ = {},
- r_ = {};
- Ol(i_, cx), Ol(r_, Ms), i_.eachSeriesByType = i_.eachRawSeriesByType = function(t) {
- n_ = t
- }, i_.eachComponent = function(t) {
- "series" === t.mainType && t.subType && (n_ = t.subType)
- };
- var o_ = ["#37A2DA", "#32C5E9", "#67E0E3", "#9FE6B8", "#FFDB5C", "#ff9f7f", "#fb7293", "#E062AE", "#E690D1",
- "#e7bcf3", "#9d96f5", "#8378EA", "#96BFFF"
- ],
- a_ = {
- color: o_,
- colorLayer: [
- ["#37A2DA", "#ffd85c", "#fd7b5f"],
- ["#37A2DA", "#67E0E3", "#FFDB5C", "#ff9f7f", "#E062AE", "#9d96f5"],
- ["#37A2DA", "#32C5E9", "#9FE6B8", "#FFDB5C", "#ff9f7f", "#fb7293", "#e7bcf3", "#8378EA",
- "#96BFFF"
- ], o_
- ]
- },
- s_ = "#eee",
- l_ = function() {
- return {
- axisLine: {
- lineStyle: {
- color: s_
- }
- },
- axisTick: {
- lineStyle: {
- color: s_
- }
- },
- axisLabel: {
- textStyle: {
- color: s_
- }
- },
- splitLine: {
- lineStyle: {
- type: "dashed",
- color: "#aaa"
- }
- },
- splitArea: {
- areaStyle: {
- color: s_
- }
- }
- }
- },
- u_ = ["#dd6b66", "#759aa0", "#e69d87", "#8dc1a9", "#ea7e53", "#eedd78", "#73a373", "#73b9bc", "#7289ab",
- "#91ca8c", "#f49f42"
- ],
- h_ = {
- color: u_,
- backgroundColor: "#333",
- tooltip: {
- axisPointer: {
- lineStyle: {
- color: s_
- },
- crossStyle: {
- color: s_
- },
- label: {
- color: "#000"
- }
- }
- },
- legend: {
- textStyle: {
- color: s_
- }
- },
- textStyle: {
- color: s_
- },
- title: {
- textStyle: {
- color: s_
- }
- },
- toolbox: {
- iconStyle: {
- normal: {
- borderColor: s_
- }
- }
- },
- dataZoom: {
- textStyle: {
- color: s_
- }
- },
- visualMap: {
- textStyle: {
- color: s_
- }
- },
- timeline: {
- lineStyle: {
- color: s_
- },
- itemStyle: {
- normal: {
- color: u_[1]
- }
- },
- label: {
- normal: {
- textStyle: {
- color: s_
- }
- }
- },
- controlStyle: {
- normal: {
- color: s_,
- borderColor: s_
- }
- }
- },
- timeAxis: l_(),
- logAxis: l_(),
- valueAxis: l_(),
- categoryAxis: l_(),
- line: {
- symbol: "circle"
- },
- graph: {
- color: u_
- },
- gauge: {
- title: {
- textStyle: {
- color: s_
- }
- }
- },
- candlestick: {
- itemStyle: {
- normal: {
- color: "#FD1050",
- color0: "#0CF49B",
- borderColor: "#FD1050",
- borderColor0: "#0CF49B"
- }
- }
- }
- };
- h_.categoryAxis.splitLine.show = !1, qy.extend({
- type: "dataset",
- defaultOption: {
- seriesLayoutBy: ax,
- sourceHeader: null,
- dimensions: null,
- source: null
- },
- optionUpdated: function() {
- rs(this)
- }
- }), Nx.extend({
- type: "dataset"
- });
- var c_ = eo.extend({
- type: "ellipse",
- shape: {
- cx: 0,
- cy: 0,
- rx: 0,
- ry: 0
- },
- buildPath: function(t, e) {
- var n = .5522848,
- i = e.cx,
- r = e.cy,
- o = e.rx,
- a = e.ry,
- s = o * n,
- l = a * n;
- t.moveTo(i - o, r), t.bezierCurveTo(i - o, r - l, i - s, r - a, i, r - a), t.bezierCurveTo(
- i + s, r - a, i + o, r - l, i + o, r), t.bezierCurveTo(i + o, r + l, i + s, r + a,
- i, r + a), t.bezierCurveTo(i - s, r + a, i - o, r + l, i - o, r), t.closePath()
- }
- }),
- d_ = /[\s,]+/;
- zl.prototype.parse = function(t, e) {
- e = e || {};
- var n = Ll(t);
- if (!n) throw new Error("Illegal svg");
- var i = new Cg;
- this._root = i;
- var r = n.getAttribute("viewBox") || "",
- o = parseFloat(n.getAttribute("width") || e.width),
- a = parseFloat(n.getAttribute("height") || e.height);
- isNaN(o) && (o = null), isNaN(a) && (a = null), Nl(n, i, null, !0);
- for (var s = n.firstChild; s;) this._parseNode(s, i), s = s.nextSibling;
- var l, u;
- if (r) {
- var h = z(r).split(d_);
- 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 != o && null != a && (u = Hl(l, o, a), !e.ignoreViewBox)) {
- var c = i;
- i = new Cg, i.add(c), c.scale = u.scale.slice(), c.position = u.position.slice()
- }
- return e.ignoreRootClip || null == o || null == a || i.setClipPath(new Jm({
- shape: {
- x: 0,
- y: 0,
- width: o,
- height: a
- }
- })), {
- root: i,
- width: o,
- height: a,
- viewBoxRect: l,
- viewBoxTransform: u
- }
- }, zl.prototype._parseNode = function(t, e) {
- var n = t.nodeName.toLowerCase();
- "defs" === n ? this._isDefine = !0 : "text" === n && (this._isText = !0);
- var i;
- if (this._isDefine) {
- var r = p_[n];
- if (r) {
- var o = r.call(this, t),
- a = t.getAttribute("id");
- a && (this._defs[a] = o)
- }
- } else {
- var r = f_[n];
- r && (i = r.call(this, t, e), e.add(i))
- }
- for (var s = t.firstChild; s;) 1 === s.nodeType && this._parseNode(s, i), 3 === s.nodeType && this
- ._isText && this._parseText(s, i), s = s.nextSibling;
- "defs" === n ? this._isDefine = !1 : "text" === n && (this._isText = !1)
- }, zl.prototype._parseText = function(t, e) {
- if (1 === t.nodeType) {
- var n = t.getAttribute("dx") || 0,
- i = t.getAttribute("dy") || 0;
- this._textX += parseFloat(n), this._textY += parseFloat(i)
- }
- var r = new Wm({
- style: {
- text: t.textContent,
- transformText: !0
- },
- position: [this._textX || 0, this._textY || 0]
- });
- Bl(e, r), Nl(t, r, this._defs);
- var o = r.style.fontSize;
- o && 9 > o && (r.style.fontSize = 9, r.scale = r.scale || [1, 1], r.scale[0] *= o / 9, r.scale[1] *= o /
- 9);
- var a = r.getBoundingRect();
- return this._textX += a.width, e.add(r), r
- };
- var f_ = {
- g: function(t, e) {
- var n = new Cg;
- return Bl(e, n), Nl(t, n, this._defs), n
- },
- rect: function(t, e) {
- var n = new Jm;
- return Bl(e, n), Nl(t, n, this._defs), n.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)
- }), n
- },
- circle: function(t, e) {
- var n = new Hm;
- return Bl(e, n), Nl(t, n, this._defs), n.setShape({
- cx: parseFloat(t.getAttribute("cx") || 0),
- cy: parseFloat(t.getAttribute("cy") || 0),
- r: parseFloat(t.getAttribute("r") || 0)
- }), n
- },
- line: function(t, e) {
- var n = new ey;
- return Bl(e, n), Nl(t, n, this._defs), n.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)
- }), n
- },
- ellipse: function(t, e) {
- var n = new c_;
- return Bl(e, n), Nl(t, n, this._defs), n.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)
- }), n
- },
- polygon: function(t, e) {
- var n = t.getAttribute("points");
- n && (n = Rl(n));
- var i = new qm({
- shape: {
- points: n || []
- }
- });
- return Bl(e, i), Nl(t, i, this._defs), i
- },
- polyline: function(t, e) {
- var n = new eo;
- Bl(e, n), Nl(t, n, this._defs);
- var i = t.getAttribute("points");
- i && (i = Rl(i));
- var r = new Km({
- shape: {
- points: i || []
- }
- });
- return r
- },
- image: function(t, e) {
- var n = new Ai;
- return Bl(e, n), Nl(t, n, this._defs), n.setStyle({
- image: t.getAttribute("xlink:href"),
- x: t.getAttribute("x"),
- y: t.getAttribute("y"),
- width: t.getAttribute("width"),
- height: t.getAttribute("height")
- }), n
- },
- text: function(t, e) {
- var n = t.getAttribute("x") || 0,
- i = t.getAttribute("y") || 0,
- r = t.getAttribute("dx") || 0,
- o = t.getAttribute("dy") || 0;
- this._textX = parseFloat(n) + parseFloat(r), this._textY = parseFloat(i) + parseFloat(o);
- var a = new Cg;
- return Bl(e, a), Nl(t, a, this._defs), a
- },
- tspan: function(t, e) {
- var n = t.getAttribute("x"),
- i = t.getAttribute("y");
- null != n && (this._textX = parseFloat(n)), null != i && (this._textY = parseFloat(i));
- var r = t.getAttribute("dx") || 0,
- o = t.getAttribute("dy") || 0,
- a = new Cg;
- return Bl(e, a), Nl(t, a, this._defs), this._textX += r, this._textY += o, a
- },
- path: function(t, e) {
- var n = t.getAttribute("d") || "",
- i = oo(n);
- return Bl(e, i), Nl(t, i, this._defs), i
- }
- },
- p_ = {
- lineargradient: function(t) {
- var e = parseInt(t.getAttribute("x1") || 0, 10),
- n = parseInt(t.getAttribute("y1") || 0, 10),
- i = parseInt(t.getAttribute("x2") || 10, 10),
- r = parseInt(t.getAttribute("y2") || 0, 10),
- o = new sy(e, n, i, r);
- return El(t, o), o
- },
- radialgradient: function() {}
- },
- g_ = {
- 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"
- },
- v_ = /url\(\s*#(.*?)\)/,
- m_ = /(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g,
- y_ = /([^\s:;]+)\s*:\s*([^:;]+)/g,
- x_ = N(),
- __ = {
- registerMap: function(t, e, n) {
- var i;
- return _(e) ? i = e : e.svg ? i = [{
- type: "svg",
- source: e.svg,
- specialAreas: e.specialAreas
- }] : (e.geoJson && !e.features && (n = e.specialAreas, e = e.geoJson), i = [{
- type: "geoJSON",
- source: e,
- specialAreas: n
- }]), f(i, function(t) {
- var e = t.type;
- "geoJson" === e && (e = t.type = "geoJSON");
- var n = w_[e];
- lp && L(n, "Illegal map type: " + e), n(t)
- }), x_.set(t, i)
- },
- retrieveMap: function(t) {
- return x_.get(t)
- }
- },
- w_ = {
- geoJSON: function(t) {
- var e = t.source;
- t.geoJSON = b(e) ? "undefined" != typeof JSON && JSON.parse ? JSON.parse(e) : new Function(
- "return (" + e + ");")() : e
- },
- svg: function(t) {
- t.svgXML = Ll(t.source)
- }
- },
- b_ = L,
- S_ = f,
- M_ = w,
- I_ = S,
- C_ = qy.parseClassType,
- T_ = "4.8.0",
- A_ = {
- zrender: "4.3.1"
- },
- D_ = 1,
- k_ = 1e3,
- P_ = 800,
- O_ = 900,
- L_ = 5e3,
- z_ = 1e3,
- E_ = 1100,
- B_ = 2e3,
- R_ = 3e3,
- N_ = 3500,
- F_ = 4e3,
- V_ = 5e3,
- W_ = {
- PROCESSOR: {
- FILTER: k_,
- SERIES_FILTER: P_,
- STATISTIC: L_
- },
- VISUAL: {
- LAYOUT: z_,
- PROGRESSIVE_LAYOUT: E_,
- GLOBAL: B_,
- CHART: R_,
- POST_CHART_LAYOUT: N_,
- COMPONENT: F_,
- BRUSH: V_
- }
- },
- H_ = "__flagInMainProcess",
- G_ = "__optionUpdated",
- Z_ = /^[a-zA-Z0-9_]+$/;
- Zl.prototype.on = Gl("on", !0), Zl.prototype.off = Gl("off", !0), Zl.prototype.one = Gl("one", !0), c(Zl, zp);
- var X_ = Xl.prototype;
- X_._onframe = function() {
- if (!this._disposed) {
- var t = this._scheduler;
- if (this[G_]) {
- var e = this[G_].silent;
- this[H_] = !0, Ul(this), Y_.update.call(this), this[H_] = !1, this[G_] = !1, $l.call(this, e),
- Ql.call(this, e)
- } else if (t.unfinished) {
- var n = D_,
- i = this._model,
- r = this._api;
- t.unfinished = !1;
- do {
- var o = +new Date;
- t.performSeriesTasks(i), t.performDataProcessorTasks(i), ql(this, i), t.performVisualTasks(
- i), ru(this, this._model, r, "remain"), n -= +new Date - o
- } while (n > 0 && t.unfinished);
- t.unfinished || this._zr.flush()
- }
- }
- }, X_.getDom = function() {
- return this._dom
- }, X_.getZr = function() {
- return this._zr
- }, X_.setOption = function(t, e, n) {
- if (lp && b_(!this[H_], "`setOption` should not be called during main process."), this._disposed)
- return void au(this.id);
- var i;
- if (I_(e) && (n = e.lazyUpdate, i = e.silent, e = e.notMerge), this[H_] = !0, !this._model || e) {
- var r = new Cs(this._api),
- o = this._theme,
- a = this._model = new cx;
- a.scheduler = this._scheduler, a.init(null, null, o, r)
- }
- this._model.setOption(t, $_), n ? (this[G_] = {
- silent: i
- }, this[H_] = !1) : (Ul(this), Y_.update.call(this), this._zr.flush(), this[G_] = !1, this[H_] = !1,
- $l.call(this, i), Ql.call(this, i))
- }, X_.setTheme = function() {
- console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")
- }, X_.getModel = function() {
- return this._model
- }, X_.getOption = function() {
- return this._model && this._model.getOption()
- }, X_.getWidth = function() {
- return this._zr.getWidth()
- }, X_.getHeight = function() {
- return this._zr.getHeight()
- }, X_.getDevicePixelRatio = function() {
- return this._zr.painter.dpr || window.devicePixelRatio || 1
- }, X_.getRenderedCanvas = function(t) {
- if (dp.canvasSupported) {
- t = t || {}, t.pixelRatio = t.pixelRatio || 1, t.backgroundColor = t.backgroundColor || this._model
- .get("backgroundColor");
- var e = this._zr;
- return e.painter.getRenderedCanvas(t)
- }
- }, X_.getSvgDataURL = function() {
- if (dp.svgSupported) {
- var t = this._zr,
- e = t.storage.getDisplayList();
- return f(e, function(t) {
- t.stopAnimation(!0)
- }), t.painter.toDataURL()
- }
- }, X_.getDataURL = function(t) {
- if (this._disposed) return void au(this.id);
- t = t || {};
- var e = t.excludeComponents,
- n = this._model,
- i = [],
- r = this;
- S_(e, function(t) {
- n.eachComponent({
- mainType: t
- }, function(t) {
- var e = r._componentsMap[t.__viewId];
- e.group.ignore || (i.push(e), e.group.ignore = !0)
- })
- });
- var o = "svg" === this._zr.painter.getType() ? this.getSvgDataURL() : this.getRenderedCanvas(t)
- .toDataURL("image/" + (t && t.type || "png"));
- return S_(i, function(t) {
- t.group.ignore = !1
- }), o
- }, X_.getConnectedDataURL = function(t) {
- if (this._disposed) return void au(this.id);
- if (dp.canvasSupported) {
- var e = "svg" === t.type,
- n = this.group,
- r = Math.min,
- o = Math.max,
- a = 1 / 0;
- if (iw[n]) {
- var s = a,
- l = a,
- u = -a,
- h = -a,
- c = [],
- d = t && t.pixelRatio || 1;
- f(nw, function(a) {
- if (a.group === n) {
- var d = e ? a.getZr().painter.getSvgDom().innerHTML : a.getRenderedCanvas(i(t)),
- f = a.getDom().getBoundingClientRect();
- s = r(f.left, s), l = r(f.top, l), u = o(f.right, u), h = o(f.bottom, h), c
- .push({
- dom: d,
- left: f.left,
- top: f.top
- })
- }
- }), s *= d, l *= d, u *= d, h *= d;
- var p = u - s,
- g = h - l,
- v = Sp(),
- m = qi(v, {
- renderer: e ? "svg" : "canvas"
- });
- if (m.resize({
- width: p,
- height: g
- }), e) {
- var y = "";
- return S_(c, function(t) {
- var e = t.left - s,
- n = t.top - l;
- y += '<g transform="translate(' + e + "," + n + ')">' + t.dom + "</g>"
- }), m.painter.getSvgRoot().innerHTML = y, t.connectedBackgroundColor && m.painter
- .setBackgroundColor(t.connectedBackgroundColor), m.refreshImmediately(), m.painter
- .toDataURL()
- }
- return t.connectedBackgroundColor && m.add(new Jm({
- shape: {
- x: 0,
- y: 0,
- width: p,
- height: g
- },
- style: {
- fill: t.connectedBackgroundColor
- }
- })), S_(c, function(t) {
- var e = new Ai({
- style: {
- x: t.left * d - s,
- y: t.top * d - l,
- image: t.dom
- }
- });
- m.add(e)
- }), m.refreshImmediately(), v.toDataURL("image/" + (t && t.type || "png"))
- }
- return this.getDataURL(t)
- }
- }, X_.convertToPixel = x(Yl, "convertToPixel"), X_.convertFromPixel = x(Yl, "convertFromPixel"), X_
- .containPixel = function(t, e) {
- if (this._disposed) return void au(this.id);
- var n, i = this._model;
- return t = hr(i, t), f(t, function(t, i) {
- i.indexOf("Models") >= 0 && f(t, function(t) {
- var r = t.coordinateSystem;
- if (r && r.containPoint) n |= !!r.containPoint(e);
- else if ("seriesModels" === i) {
- var o = this._chartsMap[t.__viewId];
- o && o.containPoint ? n |= o.containPoint(e, t) : lp && console.warn(i +
- ": " + (o ? "The found component do not support containPoint." :
- "No view mapping to the found component."))
- } else lp && console.warn(i + ": containPoint is not supported")
- }, this)
- }, this), !!n
- }, X_.getVisual = function(t, e) {
- var n = this._model;
- t = hr(n, t, {
- defaultMainType: "series"
- });
- var i = t.seriesModel;
- lp && (i || console.warn("There is no specified seires model"));
- var r = i.getData(),
- o = t.hasOwnProperty("dataIndexInside") ? t.dataIndexInside : t.hasOwnProperty("dataIndex") ? r
- .indexOfRawIndex(t.dataIndex) : null;
- return null != o ? r.getItemVisual(o, e) : r.getVisual(e)
- }, X_.getViewOfComponentModel = function(t) {
- return this._componentsMap[t.__viewId]
- }, X_.getViewOfSeriesModel = function(t) {
- return this._chartsMap[t.__viewId]
- };
- var Y_ = {
- prepareAndUpdate: function(t) {
- Ul(this), Y_.update.call(this, t)
- },
- update: function(t) {
- var e = this._model,
- n = this._api,
- i = this._zr,
- r = this._coordSysMgr,
- o = this._scheduler;
- if (e) {
- o.restoreData(e, t), o.performSeriesTasks(e), r.create(e, n), o.performDataProcessorTasks(e,
- t), ql(this, e), r.update(e, n), eu(e), o.performVisualTasks(e, t), nu(this, e, n,
- t);
- var a = e.get("backgroundColor") || "transparent";
- if (dp.canvasSupported) i.setBackgroundColor(a);
- else {
- var s = tn(a);
- a = hn(s, "rgb"), 0 === s[3] && (a = "transparent")
- }
- ou(e, n)
- }
- },
- updateTransform: function(t) {
- var e = this._model,
- n = this,
- i = this._api;
- if (e) {
- var r = [];
- e.eachComponent(function(o, a) {
- var s = n.getViewOfComponentModel(a);
- if (s && s.__alive)
- if (s.updateTransform) {
- var l = s.updateTransform(a, e, i, t);
- l && l.update && r.push(s)
- } else r.push(s)
- });
- var o = N();
- e.eachSeries(function(r) {
- var a = n._chartsMap[r.__viewId];
- if (a.updateTransform) {
- var s = a.updateTransform(r, e, i, t);
- s && s.update && o.set(r.uid, 1)
- } else o.set(r.uid, 1)
- }), eu(e), this._scheduler.performVisualTasks(e, t, {
- setDirty: !0,
- dirtyMap: o
- }), ru(n, e, i, t, o), ou(e, this._api)
- }
- },
- updateView: function(t) {
- var e = this._model;
- e && (hl.markUpdateMethod(t, "updateView"), eu(e), this._scheduler.performVisualTasks(e, t, {
- setDirty: !0
- }), nu(this, this._model, this._api, t), ou(e, this._api))
- },
- updateVisual: function(t) {
- Y_.update.call(this, t)
- },
- updateLayout: function(t) {
- Y_.update.call(this, t)
- }
- };
- X_.resize = function(t) {
- if (lp && b_(!this[H_], "`resize` should not be called during main process."), this._disposed)
- return void au(this.id);
- this._zr.resize(t);
- var e = this._model;
- if (this._loadingFX && this._loadingFX.resize(), e) {
- var n = e.resetOption("media"),
- i = t && t.silent;
- this[H_] = !0, n && Ul(this), Y_.update.call(this), this[H_] = !1, $l.call(this, i), Ql.call(this,
- i)
- }
- }, X_.showLoading = function(t, e) {
- if (this._disposed) return void au(this.id);
- if (I_(t) && (e = t, t = ""), t = t || "default", this.hideLoading(), !ew[t]) return void(lp && console
- .warn("Loading effects " + t + " not exists."));
- var n = ew[t](this._api, e),
- i = this._zr;
- this._loadingFX = n, i.add(n)
- }, X_.hideLoading = function() {
- return this._disposed ? void au(this.id) : (this._loadingFX && this._zr.remove(this._loadingFX), void(
- this._loadingFX = null))
- }, X_.makeActionFromEvent = function(t) {
- var e = a({}, t);
- return e.type = q_[t.type], e
- }, X_.dispatchAction = function(t, e) {
- if (this._disposed) return void au(this.id);
- if (I_(e) || (e = {
- silent: !!e
- }), j_[t.type] && this._model) {
- if (this[H_]) return void this._pendingActions.push(t);
- Kl.call(this, t, e.silent), e.flush ? this._zr.flush(!0) : e.flush !== !1 && dp.browser.weChat &&
- this._throttledZrFlush(), $l.call(this, e.silent), Ql.call(this, e.silent)
- }
- }, X_.appendData = function(t) {
- if (this._disposed) return void au(this.id);
- var e = t.seriesIndex,
- n = this.getModel(),
- i = n.getSeriesByIndex(e);
- lp && b_(t.data && i), i.appendData(t), this._scheduler.unfinished = !0
- }, X_.on = Gl("on", !1), X_.off = Gl("off", !1), X_.one = Gl("one", !1);
- var U_ = ["click", "dblclick", "mouseover", "mouseout", "mousemove", "mousedown", "mouseup", "globalout",
- "contextmenu"
- ];
- X_._initEvents = function() {
- S_(U_, function(t) {
- var e = function(e) {
- var n, i = this.getModel(),
- r = e.target,
- o = "globalout" === t;
- if (o) n = {};
- else if (r && null != r.dataIndex) {
- var s = r.dataModel || i.getSeriesByIndex(r.seriesIndex);
- n = s && s.getDataParams(r.dataIndex, r.dataType, r) || {}
- } else r && r.eventData && (n = a({}, r.eventData));
- if (n) {
- var l = n.componentType,
- u = n.componentIndex;
- ("markLine" === l || "markPoint" === l || "markArea" === l) && (l = "series",
- u = n.seriesIndex);
- var h = l && null != u && i.getComponent(l, u),
- c = h && this["series" === h.mainType ? "_chartsMap" : "_componentsMap"][h
- .__viewId
- ];
- lp && (o || h && c || console.warn("model or view can not be found by params")),
- n.event = e, n.type = t, this._ecEventProcessor.eventInfo = {
- targetEl: r,
- packedEvent: n,
- model: h,
- view: c
- }, this.trigger(t, n)
- }
- };
- e.zrEventfulCallAtLast = !0, this._zr.on(t, e, this)
- }, this), S_(q_, function(t, e) {
- this._messageCenter.on(e, function(t) {
- this.trigger(e, t)
- }, this)
- }, this)
- }, X_.isDisposed = function() {
- return this._disposed
- }, X_.clear = function() {
- return this._disposed ? void au(this.id) : void this.setOption({
- series: []
- }, !0)
- }, X_.dispose = function() {
- if (this._disposed) return void au(this.id);
- this._disposed = !0, dr(this.getDom(), aw, "");
- var t = this._api,
- e = this._model;
- S_(this._componentsViews, function(n) {
- n.dispose(e, t)
- }), S_(this._chartsViews, function(n) {
- n.dispose(e, t)
- }), this._zr.dispose(), delete nw[this.id]
- }, c(Xl, zp), cu.prototype = {
- constructor: cu,
- normalizeQuery: function(t) {
- var e = {},
- n = {},
- i = {};
- if (b(t)) {
- var r = C_(t);
- e.mainType = r.main || null, e.subType = r.sub || null
- } else {
- var o = ["Index", "Name", "Id"],
- a = {
- name: 1,
- dataIndex: 1,
- dataType: 1
- };
- f(t, function(t, r) {
- for (var s = !1, l = 0; l < o.length; l++) {
- var u = o[l],
- h = r.lastIndexOf(u);
- if (h > 0 && h === r.length - u.length) {
- var c = r.slice(0, h);
- "data" !== c && (e.mainType = c, e[u.toLowerCase()] = t, s = !0)
- }
- }
- a.hasOwnProperty(r) && (n[r] = t, s = !0), s || (i[r] = t)
- })
- }
- return {
- cptQuery: e,
- dataQuery: n,
- otherQuery: i
- }
- },
- filter: function(t, e) {
- function n(t, e, n, i) {
- return null == t[n] || e[i || n] === t[n]
- }
- var i = this.eventInfo;
- if (!i) return !0;
- var r = i.targetEl,
- o = i.packedEvent,
- a = i.model,
- s = i.view;
- if (!a || !s) return !0;
- var l = e.cptQuery,
- u = e.dataQuery;
- return n(l, a, "mainType") && n(l, a, "subType") && n(l, a, "index", "componentIndex") && n(l,
- a, "name") && n(l, a, "id") && n(u, o, "name") && n(u, o, "dataIndex") && n(u, o,
- "dataType") && (!s.filterForExposedEvent || s.filterForExposedEvent(t, e.otherQuery, r,
- o))
- },
- afterTrigger: function() {
- this.eventInfo = null
- }
- };
- var j_ = {},
- q_ = {},
- K_ = [],
- $_ = [],
- Q_ = [],
- J_ = [],
- tw = {},
- ew = {},
- nw = {},
- iw = {},
- rw = new Date - 0,
- ow = new Date - 0,
- aw = "_echarts_instance_",
- sw = gu;
- Tu(B_, jx), _u(Cx), wu(O_, Tx), Du("default", Qx), Su({
- type: "highlight",
- event: "highlight",
- update: "highlight"
- }, V), Su({
- type: "downplay",
- event: "downplay",
- update: "downplay"
- }, V), xu("light", a_), xu("dark", h_);
- var lw = {};
- Nu.prototype = {
- constructor: Nu,
- 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, e = this._old,
- n = this._new,
- i = {},
- r = {},
- o = [],
- a = [];
- for (Fu(e, i, o, "_oldKeyGetter", this), Fu(n, r, a, "_newKeyGetter", this), t = 0; t < e
- .length; t++) {
- var s = o[t],
- l = r[s];
- if (null != l) {
- var u = l.length;
- u ? (1 === u && (r[s] = null), l = l.shift()) : r[s] = null, this._update && this
- ._update(l, t)
- } else this._remove && this._remove(t)
- }
- for (var t = 0; t < a.length; t++) {
- var s = a[t];
- if (r.hasOwnProperty(s)) {
- var l = r[s];
- if (null == l) continue;
- if (l.length)
- for (var h = 0, u = l.length; u > h; h++) this._add && this._add(l[h]);
- else this._add && this._add(l)
- }
- }
- }
- };
- var uw = N(["tooltip", "label", "itemName", "itemId", "seriesName"]),
- hw = S,
- cw = "undefined",
- dw = -1,
- fw = "e\x00\x00",
- pw = {
- "float": typeof Float64Array === cw ? Array : Float64Array,
- "int": typeof Int32Array === cw ? Array : Int32Array,
- ordinal: Array,
- number: Array,
- time: Array
- },
- gw = typeof Uint32Array === cw ? Array : Uint32Array,
- vw = typeof Int32Array === cw ? Array : Int32Array,
- mw = typeof Uint16Array === cw ? Array : Uint16Array,
- yw = ["hasItemOption", "_nameList", "_idList", "_invertedIndicesMap", "_rawData", "_chunkSize",
- "_chunkCount", "_dimValueGetter", "_count", "_rawCount", "_nameDimIdx", "_idDimIdx"
- ],
- xw = ["_extent", "_approximateExtent", "_rawExtent"],
- _w = function(t, e) {
- t = t || ["x", "y"];
- for (var n = {}, i = [], r = {}, o = 0; o < t.length; o++) {
- var a = t[o];
- b(a) ? a = new Zu({
- name: a
- }) : a instanceof Zu || (a = new Zu(a));
- var s = a.name;
- a.type = a.type || "float", a.coordDim || (a.coordDim = s, a.coordDimIndex = 0), a.otherDims = a
- .otherDims || {}, i.push(s), n[s] = a, a.index = o, a.createInvertedIndices && (r[s] = [])
- }
- this.dimensions = i, this._dimensionInfos = n, this.hostModel = e, this.dataType, this._indices = null,
- this._count = 0, this._rawCount = 0, this._storage = {}, this._nameList = [], this._idList = [],
- this._optionModels = [], this._visual = {}, this._layout = {}, this._itemVisuals = [], this
- .hasItemVisual = {}, this._itemLayouts = [], this._graphicEls = [], this._chunkSize = 1e5, this
- ._chunkCount = 0, this._rawData, this._rawExtent = {}, this._extent = {}, this
- ._approximateExtent = {}, this._dimensionsSummary = Vu(this), this._invertedIndicesMap = r, this
- ._calculationInfo = {}, this.userOutput = this._dimensionsSummary.userOutput
- },
- ww = _w.prototype;
- ww.type = "list", ww.hasItemOption = !0, ww.getDimension = function(t) {
- return ("number" == typeof t || !isNaN(t) && !this._dimensionInfos.hasOwnProperty(t)) && (t = this
- .dimensions[t]), t
- }, ww.getDimensionInfo = function(t) {
- return this._dimensionInfos[this.getDimension(t)]
- }, ww.getDimensionsOnCoord = function() {
- return this._dimensionsSummary.dataDimsOnCoord.slice()
- }, ww.mapDimension = function(t, e) {
- var n = this._dimensionsSummary;
- if (null == e) return n.encodeFirstDimNotExtra[t];
- var i = n.encode[t];
- return e === !0 ? (i || []).slice() : i && i[e]
- }, ww.initData = function(t, e, n) {
- var i = is.isInstance(t) || d(t);
- if (i && (t = new Zs(t, this.dimensions.length)), lp && !i && ("function" != typeof t.getItem ||
- "function" != typeof t.count)) throw new Error("Inavlid data provider.");
- this._rawData = t, this._storage = {}, this._indices = null, this._nameList = e || [], this
- ._idList = [], this._nameRepeatCount = {}, n || (this.hasItemOption = !1), this.defaultDimValueGetter =
- Px[this._rawData.getSource().sourceFormat], this._dimValueGetter = n = n || this
- .defaultDimValueGetter, this._dimValueGetterArrayRows = Px.arrayRows, this._rawExtent = {}, this
- ._initDataFromProvider(0, t.count()), t.pure && (this.hasItemOption = !1)
- }, ww.getProvider = function() {
- return this._rawData
- }, ww.appendData = function(t) {
- lp && L(!this._indices, "appendData can only be called on raw data.");
- var e = this._rawData,
- n = this.count();
- e.appendData(t);
- var i = e.count();
- e.persistent || (i += n), this._initDataFromProvider(n, i)
- }, ww.appendValues = function(t, e) {
- for (var n = this._chunkSize, i = this._storage, r = this.dimensions, o = r.length, a = this._rawExtent,
- s = this.count(), l = s + Math.max(t.length, e ? e.length : 0), u = this._chunkCount, h = 0; o >
- h; h++) {
- var c = r[h];
- a[c] || (a[c] = rh()), i[c] || (i[c] = []), ju(i, this._dimensionInfos[c], n, u, l), this
- ._chunkCount = i[c].length
- }
- for (var d = new Array(o), f = s; l > f; f++) {
- for (var p = f - s, g = Math.floor(f / n), v = f % n, m = 0; o > m; m++) {
- var c = r[m],
- y = this._dimValueGetterArrayRows(t[p] || d, c, p, m);
- i[c][g][v] = y;
- var x = a[c];
- y < x[0] && (x[0] = y), y > x[1] && (x[1] = y)
- }
- e && (this._nameList[f] = e[p])
- }
- this._rawCount = this._count = l, this._extent = {}, qu(this)
- }, ww._initDataFromProvider = function(t, e) {
- if (!(t >= e)) {
- for (var n, i = this._chunkSize, r = this._rawData, o = this._storage, a = this.dimensions, s = a
- .length, l = this._dimensionInfos, u = this._nameList, h = this._idList, c = this
- ._rawExtent, d = this._nameRepeatCount = {}, f = this._chunkCount, p = 0; s > p; p++) {
- var g = a[p];
- c[g] || (c[g] = rh());
- var v = l[g];
- 0 === v.otherDims.itemName && (n = this._nameDimIdx = p), 0 === v.otherDims.itemId && (this
- ._idDimIdx = p), o[g] || (o[g] = []), ju(o, v, i, f, e), this._chunkCount = o[g].length
- }
- for (var m = new Array(s), y = t; e > y; y++) {
- m = r.getItem(y, m);
- for (var x = Math.floor(y / i), _ = y % i, w = 0; s > w; w++) {
- var g = a[w],
- b = o[g][x],
- S = this._dimValueGetter(m, g, y, w);
- b[_] = S;
- var M = c[g];
- S < M[0] && (M[0] = S), S > M[1] && (M[1] = S)
- }
- if (!r.pure) {
- var I = u[y];
- if (m && null == I)
- if (null != m.name) u[y] = I = m.name;
- else if (null != n) {
- var C = a[n],
- T = o[C][x];
- if (T) {
- I = T[_];
- var A = l[C].ordinalMeta;
- A && A.categories.length && (I = A.categories[I])
- }
- }
- var D = null == m ? null : m.id;
- null == D && null != I && (d[I] = d[I] || 0, D = I, d[I] > 0 && (D += "__ec__" + d[I]), d[
- I]++), null != D && (h[y] = D)
- }
- }!r.persistent && r.clean && r.clean(), this._rawCount = this._count = e, this._extent = {}, qu(
- this)
- }
- }, ww.count = function() {
- return this._count
- }, ww.getIndices = function() {
- var t, e = this._indices;
- if (e) {
- var n = e.constructor,
- i = this._count;
- if (n === Array) {
- t = new n(i);
- for (var r = 0; i > r; r++) t[r] = e[r]
- } else t = new n(e.buffer, 0, i)
- } else
- for (var n = Xu(this), t = new n(this.count()), r = 0; r < t.length; r++) t[r] = r;
- return t
- }, ww.get = function(t, e) {
- if (!(e >= 0 && e < this._count)) return 0 / 0;
- var n = this._storage;
- if (!n[t]) return 0 / 0;
- e = this.getRawIndex(e);
- var i = Math.floor(e / this._chunkSize),
- r = e % this._chunkSize,
- o = n[t][i],
- a = o[r];
- return a
- }, ww.getByRawIndex = function(t, e) {
- if (!(e >= 0 && e < this._rawCount)) return 0 / 0;
- var n = this._storage[t];
- if (!n) return 0 / 0;
- var i = Math.floor(e / this._chunkSize),
- r = e % this._chunkSize,
- o = n[i];
- return o[r]
- }, ww._getFast = function(t, e) {
- var n = Math.floor(e / this._chunkSize),
- i = e % this._chunkSize,
- r = this._storage[t][n];
- return r[i]
- }, ww.getValues = function(t, e) {
- var n = [];
- _(t) || (e = t, t = this.dimensions);
- for (var i = 0, r = t.length; r > i; i++) n.push(this.get(t[i], e));
- return n
- }, ww.hasValue = function(t) {
- for (var e = this._dimensionsSummary.dataDimsOnCoord, n = 0, i = e.length; i > n; n++)
- if (isNaN(this.get(e[n], t))) return !1;
- return !0
- }, ww.getDataExtent = function(t) {
- t = this.getDimension(t);
- var e = this._storage[t],
- n = rh();
- if (!e) return n;
- var i, r = this.count(),
- o = !this._indices;
- if (o) return this._rawExtent[t].slice();
- if (i = this._extent[t]) return i.slice();
- i = n;
- for (var a = i[0], s = i[1], l = 0; r > l; l++) {
- var u = this._getFast(t, this.getRawIndex(l));
- a > u && (a = u), u > s && (s = u)
- }
- return i = [a, s], this._extent[t] = i, i
- }, ww.getApproximateExtent = function(t) {
- return t = this.getDimension(t), this._approximateExtent[t] || this.getDataExtent(t)
- }, ww.setApproximateExtent = function(t, e) {
- e = this.getDimension(e), this._approximateExtent[e] = t.slice()
- }, ww.getCalculationInfo = function(t) {
- return this._calculationInfo[t]
- }, ww.setCalculationInfo = function(t, e) {
- hw(t) ? a(this._calculationInfo, t) : this._calculationInfo[t] = e
- }, ww.getSum = function(t) {
- var e = this._storage[t],
- n = 0;
- if (e)
- for (var i = 0, r = this.count(); r > i; i++) {
- var o = this.get(t, i);
- isNaN(o) || (n += o)
- }
- return n
- }, ww.getMedian = function(t) {
- var e = [];
- this.each(t, function(t) {
- isNaN(t) || e.push(t)
- });
- var n = [].concat(e).sort(function(t, e) {
- return t - e
- }),
- i = this.count();
- return 0 === i ? 0 : i % 2 === 1 ? n[(i - 1) / 2] : (n[i / 2] + n[i / 2 - 1]) / 2
- }, ww.rawIndexOf = function(t, e) {
- var n = t && this._invertedIndicesMap[t];
- if (lp && !n) throw new Error("Do not supported yet");
- var i = n[e];
- return null == i || isNaN(i) ? dw : i
- }, ww.indexOfName = function(t) {
- for (var e = 0, n = this.count(); n > e; e++)
- if (this.getName(e) === t) return e;
- return -1
- }, ww.indexOfRawIndex = function(t) {
- if (t >= this._rawCount || 0 > t) return -1;
- if (!this._indices) return t;
- var e = this._indices,
- n = e[t];
- if (null != n && n < this._count && n === t) return t;
- for (var i = 0, r = this._count - 1; r >= i;) {
- var o = (i + r) / 2 | 0;
- if (e[o] < t) i = o + 1;
- else {
- if (!(e[o] > t)) return o;
- r = o - 1
- }
- }
- return -1
- }, ww.indicesOfNearest = function(t, e, n) {
- var i = this._storage,
- r = i[t],
- o = [];
- if (!r) return o;
- null == n && (n = 1 / 0);
- for (var a = 1 / 0, s = -1, l = 0, u = 0, h = this.count(); h > u; u++) {
- var c = e - this.get(t, u),
- d = Math.abs(c);
- n >= d && ((a > d || d === a && c >= 0 && 0 > s) && (a = d, s = c, l = 0), c === s && (o[l++] = u))
- }
- return o.length = l, o
- }, ww.getRawIndex = $u, ww.getRawDataItem = function(t) {
- if (this._rawData.persistent) return this._rawData.getItem(this.getRawIndex(t));
- for (var e = [], n = 0; n < this.dimensions.length; n++) {
- var i = this.dimensions[n];
- e.push(this.get(i, t))
- }
- return e
- }, ww.getName = function(t) {
- var e = this.getRawIndex(t);
- return this._nameList[e] || Ku(this, this._nameDimIdx, e) || ""
- }, ww.getId = function(t) {
- return Ju(this, this.getRawIndex(t))
- }, ww.each = function(t, e, n, i) {
- if (this._count) {
- "function" == typeof t && (i = n, n = e, e = t, t = []), n = n || i || this, t = p(th(t), this
- .getDimension, this), lp && eh(this, t);
- for (var r = t.length, o = 0; o < this.count(); o++) switch (r) {
- case 0:
- e.call(n, o);
- break;
- case 1:
- e.call(n, this.get(t[0], o), o);
- break;
- case 2:
- e.call(n, this.get(t[0], o), this.get(t[1], o), o);
- break;
- default:
- for (var a = 0, s = []; r > a; a++) s[a] = this.get(t[a], o);
- s[a] = o, e.apply(n, s)
- }
- }
- }, ww.filterSelf = function(t, e, n, i) {
- if (this._count) {
- "function" == typeof t && (i = n, n = e, e = t, t = []), n = n || i || this, t = p(th(t), this
- .getDimension, this), lp && eh(this, t);
- for (var r = this.count(), o = Xu(this), a = new o(r), s = [], l = t.length, u = 0, h = t[0], c =
- 0; r > c; c++) {
- var d, f = this.getRawIndex(c);
- if (0 === l) d = e.call(n, c);
- else if (1 === l) {
- var g = this._getFast(h, f);
- d = e.call(n, g, c)
- } else {
- for (var v = 0; l > v; v++) s[v] = this._getFast(h, f);
- s[v] = c, d = e.apply(n, s)
- }
- d && (a[u++] = f)
- }
- return r > u && (this._indices = a), this._count = u, this._extent = {}, this.getRawIndex = this
- ._indices ? Qu : $u, this
- }
- }, ww.selectRange = function(t) {
- if (this._count) {
- var e = [];
- for (var n in t) t.hasOwnProperty(n) && e.push(n);
- lp && eh(this, e);
- var i = e.length;
- if (i) {
- var r = this.count(),
- o = Xu(this),
- a = new o(r),
- s = 0,
- l = e[0],
- u = t[l][0],
- h = t[l][1],
- c = !1;
- if (!this._indices) {
- var d = 0;
- if (1 === i) {
- for (var f = this._storage[e[0]], p = 0; p < this._chunkCount; p++)
- for (var g = f[p], v = Math.min(this._count - p * this._chunkSize, this._chunkSize),
- m = 0; v > m; m++) {
- var y = g[m];
- (y >= u && h >= y || isNaN(y)) && (a[s++] = d), d++
- }
- c = !0
- } else if (2 === i) {
- for (var f = this._storage[l], x = this._storage[e[1]], _ = t[e[1]][0], w = t[e[1]][1],
- p = 0; p < this._chunkCount; p++)
- for (var g = f[p], b = x[p], v = Math.min(this._count - p * this._chunkSize, this
- ._chunkSize), m = 0; v > m; m++) {
- var y = g[m],
- S = b[m];
- (y >= u && h >= y || isNaN(y)) && (S >= _ && w >= S || isNaN(S)) && (a[s++] =
- d), d++
- }
- c = !0
- }
- }
- if (!c)
- if (1 === i)
- for (var m = 0; r > m; m++) {
- var M = this.getRawIndex(m),
- y = this._getFast(l, M);
- (y >= u && h >= y || isNaN(y)) && (a[s++] = M)
- } else
- for (var m = 0; r > m; m++) {
- for (var I = !0, M = this.getRawIndex(m), p = 0; i > p; p++) {
- var C = e[p],
- y = this._getFast(n, M);
- (y < t[C][0] || y > t[C][1]) && (I = !1)
- }
- I && (a[s++] = this.getRawIndex(m))
- }
- return r > s && (this._indices = a), this._count = s, this._extent = {}, this.getRawIndex = this
- ._indices ? Qu : $u, this
- }
- }
- }, ww.mapArray = function(t, e, n, i) {
- "function" == typeof t && (i = n, n = e, e = t, t = []), n = n || i || this;
- var r = [];
- return this.each(t, function() {
- r.push(e && e.apply(this, arguments))
- }, n), r
- }, ww.map = function(t, e, n, i) {
- n = n || i || this, t = p(th(t), this.getDimension, this), lp && eh(this, t);
- var r = nh(this, t);
- r._indices = this._indices, r.getRawIndex = r._indices ? Qu : $u;
- for (var o = r._storage, a = [], s = this._chunkSize, l = t.length, u = this.count(), h = [], c = r
- ._rawExtent, d = 0; u > d; d++) {
- for (var f = 0; l > f; f++) h[f] = this.get(t[f], d);
- h[l] = d;
- var g = e && e.apply(n, h);
- if (null != g) {
- "object" != typeof g && (a[0] = g, g = a);
- for (var v = this.getRawIndex(d), m = Math.floor(v / s), y = v % s, x = 0; x < g.length; x++) {
- var _ = t[x],
- w = g[x],
- b = c[_],
- S = o[_];
- S && (S[m][y] = w), w < b[0] && (b[0] = w), w > b[1] && (b[1] = w)
- }
- }
- }
- return r
- }, ww.downSample = function(t, e, n, i) {
- for (var r = nh(this, [t]), o = r._storage, a = [], s = Math.floor(1 / e), l = o[t], u = this.count(),
- h = this._chunkSize, c = r._rawExtent[t], d = new(Xu(this))(u), f = 0, p = 0; u > p; p += s) {
- s > u - p && (s = u - p, a.length = s);
- for (var g = 0; s > g; g++) {
- var v = this.getRawIndex(p + g),
- m = Math.floor(v / h),
- y = v % h;
- a[g] = l[m][y]
- }
- var x = n(a),
- _ = this.getRawIndex(Math.min(p + i(a, x) || 0, u - 1)),
- w = Math.floor(_ / h),
- b = _ % h;
- l[w][b] = x, x < c[0] && (c[0] = x), x > c[1] && (c[1] = x), d[f++] = _
- }
- return r._count = f, r._indices = d, r.getRawIndex = Qu, r
- }, ww.getItemModel = function(t) {
- var e = this.hostModel;
- return new pa(this.getRawDataItem(t), e, e && e.ecModel)
- }, ww.diff = function(t) {
- var e = this;
- return new Nu(t ? t.getIndices() : [], this.getIndices(), function(e) {
- return Ju(t, e)
- }, function(t) {
- return Ju(e, t)
- })
- }, ww.getVisual = function(t) {
- var e = this._visual;
- return e && e[t]
- }, ww.setVisual = function(t, e) {
- if (hw(t))
- for (var n in t) t.hasOwnProperty(n) && this.setVisual(n, t[n]);
- else this._visual = this._visual || {}, this._visual[t] = e
- }, ww.setLayout = function(t, e) {
- if (hw(t))
- for (var n in t) t.hasOwnProperty(n) && this.setLayout(n, t[n]);
- else this._layout[t] = e
- }, ww.getLayout = function(t) {
- return this._layout[t]
- }, ww.getItemLayout = function(t) {
- return this._itemLayouts[t]
- }, ww.setItemLayout = function(t, e, n) {
- this._itemLayouts[t] = n ? a(this._itemLayouts[t] || {}, e) : e
- }, ww.clearItemLayouts = function() {
- this._itemLayouts.length = 0
- }, ww.getItemVisual = function(t, e, n) {
- var i = this._itemVisuals[t],
- r = i && i[e];
- return null != r || n ? r : this.getVisual(e)
- }, ww.setItemVisual = function(t, e, n) {
- var i = this._itemVisuals[t] || {},
- r = this.hasItemVisual;
- if (this._itemVisuals[t] = i, hw(e))
- for (var o in e) e.hasOwnProperty(o) && (i[o] = e[o], r[o] = !0);
- else i[e] = n, r[e] = !0
- }, ww.clearAllVisual = function() {
- this._visual = {}, this._itemVisuals = [], this.hasItemVisual = {}
- };
- var bw = function(t) {
- t.seriesIndex = this.seriesIndex, t.dataIndex = this.dataIndex, t.dataType = this.dataType
- };
- ww.setItemGraphicEl = function(t, e) {
- var n = this.hostModel;
- e && (e.dataIndex = t, e.dataType = this.dataType, e.seriesIndex = n && n.seriesIndex, "group" === e
- .type && e.traverse(bw, e)), this._graphicEls[t] = e
- }, ww.getItemGraphicEl = function(t) {
- return this._graphicEls[t]
- }, ww.eachItemGraphicEl = function(t, e) {
- f(this._graphicEls, function(n, i) {
- n && t && t.call(e, n, i)
- })
- }, ww.cloneShallow = function(t) {
- if (!t) {
- var e = p(this.dimensions, this.getDimensionInfo, this);
- t = new _w(e, this.hostModel)
- }
- if (t._storage = this._storage, Uu(t, this), this._indices) {
- var n = this._indices.constructor;
- t._indices = new n(this._indices)
- } else t._indices = null;
- return t.getRawIndex = t._indices ? Qu : $u, t
- }, ww.wrapMethod = function(t, e) {
- var n = this[t];
- "function" == typeof n && (this.__wrappedMethods = this.__wrappedMethods || [], this.__wrappedMethods
- .push(t), this[t] = function() {
- var t = n.apply(this, arguments);
- return e.apply(this, [t].concat(P(arguments)))
- })
- }, ww.TRANSFERABLE_METHODS = ["cloneShallow", "downSample", "map"], ww.CHANGABLE_METHODS = ["filterSelf",
- "selectRange"
- ];
- var Sw = function(t, e) {
- return e = e || {}, oh(e.coordDimensions || [], t, {
- dimsDef: e.dimensionsDefine || t.dimensionsDefine,
- encodeDef: e.encodeDefine || t.encodeDefine,
- dimCount: e.dimensionsCount,
- encodeDefaulter: e.encodeDefaulter,
- generateCoord: e.generateCoord,
- generateCoordCount: e.generateCoordCount
- })
- },
- Mw = {
- cartesian2d: function(t, e, n, i) {
- var r = t.getReferringComponents("xAxis")[0],
- o = t.getReferringComponents("yAxis")[0];
- if (lp) {
- if (!r) throw new Error('xAxis "' + A(t.get("xAxisIndex"), t.get("xAxisId"), 0) +
- '" not found');
- if (!o) throw new Error('yAxis "' + A(t.get("xAxisIndex"), t.get("yAxisId"), 0) +
- '" not found')
- }
- e.coordSysDims = ["x", "y"], n.set("x", r), n.set("y", o), hh(r) && (i.set("x", r), e
- .firstCategoryDimIndex = 0), hh(o) && (i.set("y", o), null == e.firstCategoryDimIndex &
- (e.firstCategoryDimIndex = 1))
- },
- singleAxis: function(t, e, n, i) {
- var r = t.getReferringComponents("singleAxis")[0];
- if (lp && !r) throw new Error("singleAxis should be specified.");
- e.coordSysDims = ["single"], n.set("single", r), hh(r) && (i.set("single", r), e
- .firstCategoryDimIndex = 0)
- },
- polar: function(t, e, n, i) {
- var r = t.getReferringComponents("polar")[0],
- o = r.findAxisModel("radiusAxis"),
- a = r.findAxisModel("angleAxis");
- if (lp) {
- if (!a) throw new Error("angleAxis option not found");
- if (!o) throw new Error("radiusAxis option not found")
- }
- e.coordSysDims = ["radius", "angle"], n.set("radius", o), n.set("angle", a), hh(o) && (i.set(
- "radius", o), e.firstCategoryDimIndex = 0), hh(a) && (i.set("angle", a), null == e
- .firstCategoryDimIndex && (e.firstCategoryDimIndex = 1))
- },
- geo: function(t, e) {
- e.coordSysDims = ["lng", "lat"]
- },
- parallel: function(t, e, n, i) {
- var r = t.ecModel,
- o = r.getComponent("parallel", t.get("parallelIndex")),
- a = e.coordSysDims = o.dimensions.slice();
- f(o.parallelAxisIndex, function(t, o) {
- var s = r.getComponent("parallelAxis", t),
- l = a[o];
- n.set(l, s), hh(s) && null == e.firstCategoryDimIndex && (i.set(l, s), e
- .firstCategoryDimIndex = o)
- })
- }
- };
- mh.prototype.parse = function(t) {
- return t
- }, mh.prototype.getSetting = function(t) {
- return this._setting[t]
- }, mh.prototype.contain = function(t) {
- var e = this._extent;
- return t >= e[0] && t <= e[1]
- }, mh.prototype.normalize = function(t) {
- var e = this._extent;
- return e[1] === e[0] ? .5 : (t - e[0]) / (e[1] - e[0])
- }, mh.prototype.scale = function(t) {
- var e = this._extent;
- return t * (e[1] - e[0]) + e[0]
- }, mh.prototype.unionExtent = function(t) {
- var e = this._extent;
- t[0] < e[0] && (e[0] = t[0]), t[1] > e[1] && (e[1] = t[1])
- }, mh.prototype.unionExtentFromData = function(t, e) {
- this.unionExtent(t.getApproximateExtent(e))
- }, mh.prototype.getExtent = function() {
- return this._extent.slice()
- }, mh.prototype.setExtent = function(t, e) {
- var n = this._extent;
- isNaN(t) || (n[0] = t), isNaN(e) || (n[1] = e)
- }, mh.prototype.isBlank = function() {
- return this._isBlank
- }, mh.prototype.setBlank = function(t) {
- this._isBlank = t
- }, mh.prototype.getLabel = null, mr(mh), wr(mh, {
- registerWhenExtend: !0
- }), yh.createByAxisModel = function(t) {
- var e = t.option,
- n = e.data,
- i = n && p(n, _h);
- return new yh({
- categories: i,
- needCollect: !i,
- deduplication: e.dedplication !== !1
- })
- };
- var Iw = yh.prototype;
- Iw.getOrdinal = function(t) {
- return xh(this).get(t)
- }, Iw.parseAndCollect = function(t) {
- var e, n = this._needCollect;
- if ("string" != typeof t && !n) return t;
- if (n && !this._deduplication) return e = this.categories.length, this.categories[e] = t, e;
- var i = xh(this);
- return e = i.get(t), null == e && (n ? (e = this.categories.length, this.categories[e] = t, i.set(t,
- e)) : e = 0 / 0), e
- };
- var Cw = mh.prototype,
- Tw = mh.extend({
- type: "ordinal",
- init: function(t, e) {
- (!t || _(t)) && (t = new yh({
- 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), Cw.contain.call(this, t) && null != this._ordinalMeta.categories[
- t]
- },
- normalize: function(t) {
- return Cw.normalize.call(this, this.parse(t))
- },
- scale: function(t) {
- return Math.round(Cw.scale.call(this, t))
- },
- getTicks: function() {
- for (var t = [], e = this._extent, n = e[0]; n <= e[1];) t.push(n), n++;
- return t
- },
- getLabel: function(t) {
- return this.isBlank() ? void 0 : 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: V,
- niceExtent: V
- });
- Tw.create = function() {
- return new Tw
- };
- var Aw = Sa,
- Dw = Sa,
- kw = mh.extend({
- type: "interval",
- _interval: 0,
- _intervalPrecision: 2,
- setExtent: function(t, e) {
- var n = this._extent;
- isNaN(t) || (n[0] = parseFloat(t)), isNaN(e) || (n[1] = parseFloat(e))
- },
- unionExtent: function(t) {
- var e = this._extent;
- t[0] < e[0] && (e[0] = t[0]), t[1] > e[1] && (e[1] = t[1]), kw.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 = bh(t)
- },
- getTicks: function(t) {
- var e = this._interval,
- n = this._extent,
- i = this._niceExtent,
- r = this._intervalPrecision,
- o = [];
- if (!e) return o;
- var a = 1e4;
- n[0] < i[0] && o.push(t ? Dw(i[0] - e, r) : n[0]);
- for (var s = i[0]; s <= i[1] && (o.push(s), s = Dw(s + e, r), s !== o[o.length - 1]);)
- if (o.length > a) return [];
- var l = o.length ? o[o.length - 1] : i[1];
- return n[1] > l && o.push(t ? Dw(l + e, r) : n[1]), o
- },
- getMinorTicks: function(t) {
- for (var e = this.getTicks(!0), n = [], i = this.getExtent(), r = 1; r < e.length; r++) {
- for (var o = e[r], a = e[r - 1], s = 0, l = [], u = o - a, h = u / t; t - 1 > s;) {
- var c = Sa(a + (s + 1) * h);
- c > i[0] && c < i[1] && l.push(c), s++
- }
- n.push(l)
- }
- return n
- },
- getLabel: function(t, e) {
- if (null == t) return "";
- var n = e && e.precision;
- return null == n ? n = Ca(t) || 0 : "auto" === n && (n = this._intervalPrecision), t = Dw(t,
- n, !0), Na(t)
- },
- niceTicks: function(t, e, n) {
- t = t || 5;
- var i = this._extent,
- r = i[1] - i[0];
- if (isFinite(r)) {
- 0 > r && (r = -r, i.reverse());
- var o = wh(i, t, e, n);
- this._intervalPrecision = o.intervalPrecision, this._interval = o.interval, this
- ._niceExtent = o.niceTickExtent
- }
- },
- niceExtent: function(t) {
- var e = this._extent;
- if (e[0] === e[1])
- if (0 !== e[0]) {
- var n = e[0];
- t.fixMax ? e[0] -= n / 2 : (e[1] += n / 2, e[0] -= n / 2)
- } else e[1] = 1;
- var i = e[1] - e[0];
- isFinite(i) || (e[0] = 0, e[1] = 1), this.niceTicks(t.splitNumber, t.minInterval, t
- .maxInterval);
- var r = this._interval;
- t.fixMin || (e[0] = Dw(Math.floor(e[0] / r) * r)), t.fixMax || (e[1] = Dw(Math.ceil(e[1] /
- r) * r))
- }
- });
- kw.create = function() {
- return new kw
- };
- var Pw = "__ec_stack_",
- Ow = .5,
- Lw = "undefined" != typeof Float32Array ? Float32Array : Array,
- zw = ({
- seriesType: "bar",
- plan: Vx(),
- reset: function(t) {
- function e(t, e) {
- for (var n, d = t.count, f = new Lw(2 * d), p = new Lw(2 * d), g = new Lw(d), v = [],
- m = [], y = 0, x = 0; null != (n = t.next());) m[h] = e.get(s, n), m[1 - h] = e
- .get(l, n), v = i.dataToPoint(m, null, v), p[y] = u ? r.x + r.width : v[0], f[y++] =
- v[0], p[y] = u ? v[1] : r.y + r.height, f[y++] = v[1], g[x++] = n;
- e.setLayout({
- largePoints: f,
- largeDataIndices: g,
- largeBackgroundPoints: p,
- barWidth: c,
- valueAxisStart: zh(o, a, !1),
- backgroundStart: u ? r.x : r.y,
- valueAxisHorizontal: u
- })
- }
- if (Oh(t) && Lh(t)) {
- var n = t.getData(),
- i = t.coordinateSystem,
- r = i.grid.getRect(),
- o = i.getBaseAxis(),
- a = i.getOtherAxis(o),
- s = n.mapDimension(a.dim),
- l = n.mapDimension(o.dim),
- u = a.isHorizontal(),
- h = u ? 0 : 1,
- c = Ph(Dh([t]), o, t).width;
- return c > Ow || (c = Ow), {
- progress: e
- }
- }
- }
- }, kw.prototype),
- Ew = Math.ceil,
- Bw = Math.floor,
- Rw = 1e3,
- Nw = 60 * Rw,
- Fw = 60 * Nw,
- Vw = 24 * Fw,
- Ww = function(t, e, n, i) {
- for (; i > n;) {
- var r = n + i >>> 1;
- t[r][1] < e ? n = r + 1 : i = r
- }
- return n
- },
- Hw = kw.extend({
- type: "time",
- getLabel: function(t) {
- var e = this._stepLvl,
- n = new Date(t);
- return Xa(e[0], n, this.getSetting("useUTC"))
- },
- niceExtent: function(t) {
- var e = this._extent;
- if (e[0] === e[1] && (e[0] -= Vw, e[1] += Vw), e[1] === -1 / 0 && 1 / 0 === e[0]) {
- var n = new Date;
- e[1] = +new Date(n.getFullYear(), n.getMonth(), n.getDate()), e[0] = e[1] - Vw
- }
- this.niceTicks(t.splitNumber, t.minInterval, t.maxInterval);
- var i = this._interval;
- t.fixMin || (e[0] = Sa(Bw(e[0] / i) * i)), t.fixMax || (e[1] = Sa(Ew(e[1] / i) * i))
- },
- niceTicks: function(t, e, n) {
- t = t || 10;
- var i = this._extent,
- r = i[1] - i[0],
- o = r / t;
- null != e && e > o && (o = e), null != n && o > n && (o = n);
- var a = Gw.length,
- s = Ww(Gw, o, 0, a),
- l = Gw[Math.min(s, a - 1)],
- u = l[1];
- if ("year" === l[0]) {
- var h = r / u,
- c = za(h / t, !0);
- u *= c
- }
- var d = this.getSetting("useUTC") ? 0 : 60 * new Date(+i[0] || +i[1]).getTimezoneOffset() *
- 1e3,
- f = [Math.round(Ew((i[0] - d) / u) * u + d), Math.round(Bw((i[1] - d) / u) * u + d)];
- Mh(f, i), this._stepLvl = l, this._interval = u, this._niceExtent = f
- },
- parse: function(t) {
- return +Pa(t)
- }
- });
- f(["contain", "normalize"], function(t) {
- Hw.prototype[t] = function(e) {
- return zw[t].call(this, this.parse(e))
- }
- });
- var Gw = [
- ["hh:mm:ss", Rw],
- ["hh:mm:ss", 5 * Rw],
- ["hh:mm:ss", 10 * Rw],
- ["hh:mm:ss", 15 * Rw],
- ["hh:mm:ss", 30 * Rw],
- ["hh:mm\nMM-dd", Nw],
- ["hh:mm\nMM-dd", 5 * Nw],
- ["hh:mm\nMM-dd", 10 * Nw],
- ["hh:mm\nMM-dd", 15 * Nw],
- ["hh:mm\nMM-dd", 30 * Nw],
- ["hh:mm\nMM-dd", Fw],
- ["hh:mm\nMM-dd", 2 * Fw],
- ["hh:mm\nMM-dd", 6 * Fw],
- ["hh:mm\nMM-dd", 12 * Fw],
- ["MM-dd\nyyyy", Vw],
- ["MM-dd\nyyyy", 2 * Vw],
- ["MM-dd\nyyyy", 3 * Vw],
- ["MM-dd\nyyyy", 4 * Vw],
- ["MM-dd\nyyyy", 5 * Vw],
- ["MM-dd\nyyyy", 6 * Vw],
- ["week", 7 * Vw],
- ["MM-dd\nyyyy", 10 * Vw],
- ["week", 14 * Vw],
- ["week", 21 * Vw],
- ["month", 31 * Vw],
- ["week", 42 * Vw],
- ["month", 62 * Vw],
- ["week", 70 * Vw],
- ["quarter", 95 * Vw],
- ["month", 31 * Vw * 4],
- ["month", 31 * Vw * 5],
- ["half-year", 380 * Vw / 2],
- ["month", 31 * Vw * 8],
- ["month", 31 * Vw * 10],
- ["year", 380 * Vw]
- ];
- Hw.create = function(t) {
- return new Hw({
- useUTC: t.ecModel.get("useUTC")
- })
- };
- var Zw = mh.prototype,
- Xw = kw.prototype,
- Yw = Ca,
- Uw = Sa,
- jw = Math.floor,
- qw = Math.ceil,
- Kw = Math.pow,
- $w = Math.log,
- Qw = mh.extend({
- type: "log",
- base: 10,
- $constructor: function() {
- mh.apply(this, arguments), this._originalScale = new kw
- },
- getTicks: function(t) {
- var e = this._originalScale,
- n = this._extent,
- i = e.getExtent();
- return p(Xw.getTicks.call(this, t), function(t) {
- var r = Sa(Kw(this.base, t));
- return r = t === n[0] && e.__fixMin ? Eh(r, i[0]) : r, r = t === n[1] && e
- .__fixMax ? Eh(r, i[1]) : r
- }, this)
- },
- getMinorTicks: Xw.getMinorTicks,
- getLabel: Xw.getLabel,
- scale: function(t) {
- return t = Zw.scale.call(this, t), Kw(this.base, t)
- },
- setExtent: function(t, e) {
- var n = this.base;
- t = $w(t) / $w(n), e = $w(e) / $w(n), Xw.setExtent.call(this, t, e)
- },
- getExtent: function() {
- var t = this.base,
- e = Zw.getExtent.call(this);
- e[0] = Kw(t, e[0]), e[1] = Kw(t, e[1]);
- var n = this._originalScale,
- i = n.getExtent();
- return n.__fixMin && (e[0] = Eh(e[0], i[0])), n.__fixMax && (e[1] = Eh(e[1], i[1])), e
- },
- unionExtent: function(t) {
- this._originalScale.unionExtent(t);
- var e = this.base;
- t[0] = $w(t[0]) / $w(e), t[1] = $w(t[1]) / $w(e), Zw.unionExtent.call(this, t)
- },
- unionExtentFromData: function(t, e) {
- this.unionExtent(t.getApproximateExtent(e))
- },
- niceTicks: function(t) {
- t = t || 10;
- var e = this._extent,
- n = e[1] - e[0];
- if (!(1 / 0 === n || 0 >= n)) {
- var i = Oa(n),
- r = t / n * i;
- for (.5 >= r && (i *= 10); !isNaN(i) && Math.abs(i) < 1 && Math.abs(i) > 0;) i *= 10;
- var o = [Sa(qw(e[0] / i) * i), Sa(jw(e[1] / i) * i)];
- this._interval = i, this._niceExtent = o
- }
- },
- niceExtent: function(t) {
- Xw.niceExtent.call(this, t);
- var e = this._originalScale;
- e.__fixMin = t.fixMin, e.__fixMax = t.fixMax
- }
- });
- f(["contain", "normalize"], function(t) {
- Qw.prototype[t] = function(e) {
- return e = $w(e) / $w(this.base), Zw[t].call(this, e)
- }
- }), Qw.create = function() {
- return new Qw
- };
- var Jw = {
- getMin: function(t) {
- var e = this.option,
- n = t || null == e.rangeStart ? e.min : e.rangeStart;
- return this.axis && null != n && "dataMin" !== n && "function" != typeof n && !T(n) && (n = this
- .axis.scale.parse(n)), n
- },
- getMax: function(t) {
- var e = this.option,
- n = t || null == e.rangeEnd ? e.max : e.rangeEnd;
- return this.axis && null != n && "dataMax" !== n && "function" != typeof n && !T(n) && (n = this
- .axis.scale.parse(n)), n
- },
- getNeedCrossZero: function() {
- var t = this.option;
- return null != t.rangeStart || null != t.rangeEnd ? !1 : !t.scale
- },
- getCoordSysModel: V,
- setRange: function(t, e) {
- this.option.rangeStart = t, this.option.rangeEnd = e
- },
- resetRange: function() {
- this.option.rangeStart = this.option.rangeEnd = null
- }
- },
- tb = vo({
- type: "triangle",
- shape: {
- cx: 0,
- cy: 0,
- width: 0,
- height: 0
- },
- buildPath: function(t, e) {
- var n = e.cx,
- i = e.cy,
- r = e.width / 2,
- o = e.height / 2;
- t.moveTo(n, i - o), t.lineTo(n + r, i + o), t.lineTo(n - r, i + o), t.closePath()
- }
- }),
- eb = vo({
- type: "diamond",
- shape: {
- cx: 0,
- cy: 0,
- width: 0,
- height: 0
- },
- buildPath: function(t, e) {
- var n = e.cx,
- i = e.cy,
- r = e.width / 2,
- o = e.height / 2;
- t.moveTo(n, i - o), t.lineTo(n + r, i), t.lineTo(n, i + o), t.lineTo(n - r, i), t
- .closePath()
- }
- }),
- nb = vo({
- type: "pin",
- shape: {
- x: 0,
- y: 0,
- width: 0,
- height: 0
- },
- buildPath: function(t, e) {
- var n = e.x,
- i = e.y,
- r = e.width / 5 * 3,
- o = Math.max(r, e.height),
- a = r / 2,
- s = a * a / (o - a),
- l = i - o + a + s,
- u = Math.asin(s / a),
- h = Math.cos(u) * a,
- c = Math.sin(u),
- d = Math.cos(u),
- f = .6 * a,
- p = .7 * a;
- t.moveTo(n - h, l + s), t.arc(n, l, a, Math.PI - u, 2 * Math.PI + u), t.bezierCurveTo(n +
- h - c * f, l + s + d * f, n, i - p, n, i), t.bezierCurveTo(n, i - p, n - h + c * f,
- l + s + d * f, n - h, l + s), t.closePath()
- }
- }),
- ib = vo({
- type: "arrow",
- shape: {
- x: 0,
- y: 0,
- width: 0,
- height: 0
- },
- buildPath: function(t, e) {
- var n = e.height,
- i = e.width,
- r = e.x,
- o = e.y,
- a = i / 3 * 2;
- t.moveTo(r, o), t.lineTo(r + a, o + n), t.lineTo(r, o + n / 4 * 3), t.lineTo(r - a, o + n),
- t.lineTo(r, o), t.closePath()
- }
- }),
- rb = {
- line: ey,
- rect: Jm,
- roundRect: Jm,
- square: Jm,
- circle: Hm,
- diamond: eb,
- pin: nb,
- arrow: ib,
- triangle: tb
- },
- ob = {
- line: function(t, e, n, i, r) {
- r.x1 = t, r.y1 = e + i / 2, r.x2 = t + n, r.y2 = e + i / 2
- },
- rect: function(t, e, n, i, r) {
- r.x = t, r.y = e, r.width = n, r.height = i
- },
- roundRect: function(t, e, n, i, r) {
- r.x = t, r.y = e, r.width = n, r.height = i, r.r = Math.min(n, i) / 4
- },
- square: function(t, e, n, i, r) {
- var o = Math.min(n, i);
- r.x = t, r.y = e, r.width = o, r.height = o
- },
- circle: function(t, e, n, i, r) {
- r.cx = t + n / 2, r.cy = e + i / 2, r.r = Math.min(n, i) / 2
- },
- diamond: function(t, e, n, i, r) {
- r.cx = t + n / 2, r.cy = e + i / 2, r.width = n, r.height = i
- },
- pin: function(t, e, n, i, r) {
- r.x = t + n / 2, r.y = e + i / 2, r.width = n, r.height = i
- },
- arrow: function(t, e, n, i, r) {
- r.x = t + n / 2, r.y = e + i / 2, r.width = n, r.height = i
- },
- triangle: function(t, e, n, i, r) {
- r.cx = t + n / 2, r.cy = e + i / 2, r.width = n, r.height = i
- }
- },
- ab = {};
- f(rb, function(t, e) {
- ab[e] = new t
- });
- var sb = vo({
- type: "symbol",
- shape: {
- symbolType: "",
- x: 0,
- y: 0,
- width: 0,
- height: 0
- },
- calculateTextPosition: function(t, e, n) {
- var i = $n(t, e, n),
- r = this.shape;
- return r && "pin" === r.symbolType && "inside" === e.textPosition && (i.y = n.y + .4 * n
- .height), i
- },
- buildPath: function(t, e, n) {
- var i = e.symbolType;
- if ("none" !== i) {
- var r = ab[i];
- r || (i = "rect", r = ab[i]), ob[i](e.x, e.y, e.width, e.height, r.shape), r.buildPath(
- t, r.shape, n)
- }
- }
- }),
- lb = {
- isDimensionStacked: dh,
- enableDataStack: ch,
- getStackedDimension: fh
- },
- ub = (Object.freeze || Object)({
- createList: qh,
- getLayoutRect: $a,
- dataStack: lb,
- createScale: Kh,
- mixinAxisModelCommonMethods: $h,
- completeDimensions: oh,
- createDimensions: Sw,
- createSymbol: jh
- }),
- hb = 1e-8;
- tc.prototype = {
- constructor: tc,
- properties: null,
- getBoundingRect: function() {
- var t = this._rect;
- if (t) return t;
- for (var e = Number.MAX_VALUE, n = [e, e], i = [-e, -e], r = [], o = [], a = this.geometries,
- s = 0; s < a.length; s++)
- if ("polygon" === a[s].type) {
- var l = a[s].exterior;
- Br(l, r, o), ae(n, n, r), se(i, i, o)
- } return 0 === s && (n[0] = n[1] = i[0] = i[1] = 0), this._rect = new Tn(n[0], n[1], i[0] -
- n[0], i[1] - n[1])
- },
- contain: function(t) {
- var e = this.getBoundingRect(),
- n = this.geometries;
- if (!e.contain(t[0], t[1])) return !1;
- t: for (var i = 0, r = n.length; r > i; i++)
- if ("polygon" === n[i].type) {
- var o = n[i].exterior,
- a = n[i].interiors;
- if (Jh(o, t[0], t[1])) {
- for (var s = 0; s < (a ? a.length : 0); s++)
- if (Jh(a[s])) continue t;
- return !0
- }
- }
- return !1
- },
- transformTo: function(t, e, n, i) {
- var r = this.getBoundingRect(),
- o = r.width / r.height;
- n ? i || (i = n / o) : n = o * i;
- for (var a = new Tn(t, e, n, i), s = r.calculateTransform(a), l = this.geometries, u = 0; u < l
- .length; u++)
- if ("polygon" === l[u].type) {
- for (var h = l[u].exterior, c = l[u].interiors, d = 0; d < h.length; d++) oe(h[d], h[d],
- s);
- for (var f = 0; f < (c ? c.length : 0); f++)
- for (var d = 0; d < c[f].length; d++) oe(c[f][d], c[f][d], s)
- } r = this._rect, r.copy(a), this.center = [r.x + r.width / 2, r.y + r.height / 2]
- },
- cloneShallow: function(t) {
- null == t && (t = this.name);
- var e = new tc(t, this.geometries, this.center);
- return e._rect = this._rect, e.transformTo = null, e
- }
- };
- var cb = function(t, e) {
- return ec(t), p(v(t.features, function(t) {
- return t.geometry && t.properties && t.geometry.coordinates.length > 0
- }), function(t) {
- var n = t.properties,
- i = t.geometry,
- r = i.coordinates,
- o = [];
- "Polygon" === i.type && o.push({
- type: "polygon",
- exterior: r[0],
- interiors: r.slice(1)
- }), "MultiPolygon" === i.type && f(r, function(t) {
- t[0] && o.push({
- type: "polygon",
- exterior: t[0],
- interiors: t.slice(1)
- })
- });
- var a = new tc(n[e || "name"], o, n.cp);
- return a.properties = n, a
- })
- },
- db = ur(),
- fb = [0, 1],
- pb = function(t, e, n) {
- this.dim = t, this.scale = e, this._extent = n || [0, 0], this.inverse = !1, this.onBand = !1
- };
- pb.prototype = {
- constructor: pb,
- contain: function(t) {
- var e = this._extent,
- n = Math.min(e[0], e[1]),
- i = Math.max(e[0], e[1]);
- return t >= n && i >= t
- },
- containData: function(t) {
- return this.scale.contain(t)
- },
- getExtent: function() {
- return this._extent.slice()
- },
- getPixelPrecision: function(t) {
- return Ta(t || this.scale.getExtent(), this._extent)
- },
- setExtent: function(t, e) {
- var n = this._extent;
- n[0] = t, n[1] = e
- },
- dataToCoord: function(t, e) {
- var n = this._extent,
- i = this.scale;
- return t = i.normalize(t), this.onBand && "ordinal" === i.type && (n = n.slice(), mc(n, i
- .count())), wa(t, fb, n, e)
- },
- coordToData: function(t, e) {
- var n = this._extent,
- i = this.scale;
- this.onBand && "ordinal" === i.type && (n = n.slice(), mc(n, i.count()));
- var r = wa(t, n, fb, e);
- return this.scale.scale(r)
- },
- pointToData: function() {},
- getTicksCoords: function(t) {
- t = t || {};
- var e = t.tickModel || this.getTickModel(),
- n = rc(this, e),
- i = n.ticks,
- r = p(i, function(t) {
- return {
- coord: this.dataToCoord(t),
- tickValue: t
- }
- }, this),
- o = e.get("alignWithLabel");
- return yc(this, r, o, t.clamp), r
- },
- getMinorTicksCoords: function() {
- if ("ordinal" === this.scale.type) return [];
- var t = this.model.getModel("minorTick"),
- e = t.get("splitNumber");
- e > 0 && 100 > e || (e = 5);
- var n = this.scale.getMinorTicks(e),
- i = p(n, function(t) {
- return p(t, function(t) {
- return {
- coord: this.dataToCoord(t),
- tickValue: t
- }
- }, this)
- }, this);
- return i
- },
- getViewLabels: function() {
- return ic(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(),
- n = e[1] - e[0] + (this.onBand ? 1 : 0);
- 0 === n && (n = 1);
- var i = Math.abs(t[1] - t[0]);
- return Math.abs(i) / n
- },
- isHorizontal: null,
- getRotate: null,
- calculateCategoryInterval: function() {
- return fc(this)
- }
- };
- var gb = cb,
- vb = {};
- f(["map", "each", "filter", "indexOf", "inherits", "reduce", "filter", "bind", "curry", "isArray", "isString",
- "isObject", "isFunction", "extend", "defaults", "clone", "merge"
- ], function(t) {
- vb[t] = Cp[t]
- });
- var mb = {};
- f(["extendShape", "extendPath", "makePath", "makeImage", "mergePath", "resizePath", "createIcon",
- "setHoverStyle", "setLabelStyle", "setTextStyle", "setText", "getFont", "updateProps", "initProps",
- "getTransform", "clipPointsByRect", "clipRectByRect", "registerShape", "getShapeClass", "Group",
- "Image", "Text", "Circle", "Sector", "Ring", "Polygon", "Polyline", "Rect", "Line", "BezierCurve",
- "Arc", "IncrementalDisplayable", "CompoundPath", "LinearGradient", "RadialGradient", "BoundingRect"
- ], function(t) {
- mb[t] = My[t]
- }), Rx.extend({
- type: "series.line",
- dependencies: ["grid", "polar"],
- getInitialData: function(t) {
- if (lp) {
- var e = t.coordinateSystem;
- if ("polar" !== e && "cartesian2d" !== e) throw new Error(
- "Line not support coordinateSystem besides cartesian and polar")
- }
- return ph(this.getSource(), this, {
- useEncodeDefaulter: !0
- })
- },
- defaultOption: {
- zlevel: 0,
- z: 2,
- coordinateSystem: "cartesian2d",
- legendHoverLink: !0,
- hoverAnimation: !0,
- clip: !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 yb = _c.prototype,
- xb = _c.getSymbolSize = function(t, e) {
- var n = t.getItemVisual(e, "symbolSize");
- return n instanceof Array ? n.slice() : [+n, +n]
- };
- yb._createSymbol = function(t, e, n, i, r) {
- this.removeAll();
- var o = e.getItemVisual(n, "color"),
- a = jh(t, -1, -1, 2, 2, o, r);
- a.attr({
- z2: 100,
- culling: !0,
- scale: wc(i)
- }), a.drift = bc, this._symbolType = t, this.add(a)
- }, yb.stopSymbolAnimation = function(t) {
- this.childAt(0).stopAnimation(t)
- }, yb.getSymbolPath = function() {
- return this.childAt(0)
- }, yb.getScale = function() {
- return this.childAt(0).scale
- }, yb.highlight = function() {
- this.childAt(0).trigger("emphasis")
- }, yb.downplay = function() {
- this.childAt(0).trigger("normal")
- }, yb.setZ = function(t, e) {
- var n = this.childAt(0);
- n.zlevel = t, n.z = e
- }, yb.setDraggable = function(t) {
- var e = this.childAt(0);
- e.draggable = t, e.cursor = t ? "move" : e.cursor
- }, yb.updateData = function(t, e, n) {
- this.silent = !1;
- var i = t.getItemVisual(e, "symbol") || "circle",
- r = t.hostModel,
- o = xb(t, e),
- a = i !== this._symbolType;
- if (a) {
- var s = t.getItemVisual(e, "symbolKeepAspect");
- this._createSymbol(i, t, e, o, s)
- } else {
- var l = this.childAt(0);
- l.silent = !1, ea(l, {
- scale: wc(o)
- }, r, e)
- }
- if (this._updateCommon(t, e, o, n), a) {
- var l = this.childAt(0),
- u = n && n.fadeIn,
- h = {
- scale: l.scale.slice()
- };
- u && (h.style = {
- opacity: l.style.opacity
- }), l.scale = [0, 0], u && (l.style.opacity = 0), na(l, h, r, e)
- }
- this._seriesModel = r
- };
- var _b = ["itemStyle"],
- wb = ["emphasis", "itemStyle"],
- bb = ["label"],
- Sb = ["emphasis", "label"];
- yb._updateCommon = function(t, e, n, i) {
- function r(e) {
- return b ? t.getName(e) : xc(t, e)
- }
- var o = this.childAt(0),
- s = t.hostModel,
- l = t.getItemVisual(e, "color");
- "image" !== o.type ? o.useStyle({
- strokeNoScale: !0
- }) : o.setStyle({
- opacity: null,
- shadowBlur: null,
- shadowOffsetX: null,
- shadowOffsetY: null,
- shadowColor: null
- });
- var u = i && i.itemStyle,
- h = i && i.hoverItemStyle,
- c = i && i.symbolOffset,
- d = i && i.labelModel,
- f = i && i.hoverLabelModel,
- p = i && i.hoverAnimation,
- g = i && i.cursorStyle;
- if (!i || t.hasItemOption) {
- var v = i && i.itemModel ? i.itemModel : t.getItemModel(e);
- u = v.getModel(_b).getItemStyle(["color"]), h = v.getModel(wb).getItemStyle(), c = v.getShallow(
- "symbolOffset"), d = v.getModel(bb), f = v.getModel(Sb), p = v.getShallow("hoverAnimation"),
- g = v.getShallow("cursor")
- } else h = a({}, h);
- var m = o.style,
- y = t.getItemVisual(e, "symbolRotate");
- o.attr("rotation", (y || 0) * Math.PI / 180 || 0), c && o.attr("position", [ba(c[0], n[0]), ba(c[1], n[
- 1])]), g && o.attr("cursor", g), o.setColor(l, i && i.symbolInnerColor), o.setStyle(u);
- var x = t.getItemVisual(e, "opacity");
- null != x && (m.opacity = x);
- var _ = t.getItemVisual(e, "liftZ"),
- w = o.__z2Origin;
- null != _ ? null == w && (o.__z2Origin = o.z2, o.z2 += _) : null != w && (o.z2 = w, o.__z2Origin =
- null);
- var b = i && i.useNameLabel;
- Go(m, h, d, f, {
- labelFetcher: s,
- labelDataIndex: e,
- defaultText: r,
- isRectText: !0,
- autoColor: l
- }), o.__symbolOriginalScale = wc(n), o.hoverStyle = h, o.highDownOnUpdate = p && s
- .isAnimationEnabled() ? Sc : null, Fo(o)
- }, yb.fadeOut = function(t, e) {
- var n = this.childAt(0);
- this.silent = n.silent = !0, !(e && e.keepLabel) && (n.style.text = null), ea(n, {
- style: {
- opacity: 0
- },
- scale: [0, 0]
- }, this._seriesModel, this.dataIndex, t)
- }, h(_c, Cg);
- var Mb = Mc.prototype;
- Mb.updateData = function(t, e) {
- e = Cc(e);
- var n = this.group,
- i = t.hostModel,
- r = this._data,
- o = this._symbolCtor,
- a = Tc(t);
- r || n.removeAll(), t.diff(r).add(function(i) {
- var r = t.getItemLayout(i);
- if (Ic(t, r, i, e)) {
- var s = new o(t, i, a);
- s.attr("position", r), t.setItemGraphicEl(i, s), n.add(s)
- }
- }).update(function(s, l) {
- var u = r.getItemGraphicEl(l),
- h = t.getItemLayout(s);
- return Ic(t, h, s, e) ? (u ? (u.updateData(t, s, a), ea(u, {
- position: h
- }, i)) : (u = new o(t, s), u.attr("position", h)), n.add(u), void t
- .setItemGraphicEl(s, u)) : void n.remove(u)
- }).remove(function(t) {
- var e = r.getItemGraphicEl(t);
- e && e.fadeOut(function() {
- n.remove(e)
- })
- }).execute(), this._data = t
- }, Mb.isPersistent = function() {
- return !0
- }, Mb.updateLayout = function() {
- var t = this._data;
- t && t.eachItemGraphicEl(function(e, n) {
- var i = t.getItemLayout(n);
- e.attr("position", i)
- })
- }, Mb.incrementalPrepareUpdate = function(t) {
- this._seriesScope = Tc(t), this._data = null, this.group.removeAll()
- }, Mb.incrementalUpdate = function(t, e, n) {
- function i(t) {
- t.isGroup || (t.incremental = t.useHoverLayer = !0)
- }
- n = Cc(n);
- for (var r = t.start; r < t.end; r++) {
- var o = e.getItemLayout(r);
- if (Ic(e, o, r, n)) {
- var a = new this._symbolCtor(e, r, this._seriesScope);
- a.traverse(i), a.attr("position", o), this.group.add(a), e.setItemGraphicEl(r, a)
- }
- }
- }, Mb.remove = function(t) {
- var e = this.group,
- n = this._data;
- n && t ? n.eachItemGraphicEl(function(t) {
- t.fadeOut(function() {
- e.remove(t)
- })
- }) : e.removeAll()
- };
- var Ib = function(t, e, n, i, r, o, a, s) {
- for (var l = Pc(t, e), u = [], h = [], c = [], d = [], f = [], p = [], g = [], v = Ac(r, e, a), m = Ac(
- o, t, s), y = 0; y < l.length; y++) {
- var x = l[y],
- _ = !0;
- switch (x.cmd) {
- case "=":
- var w = t.getItemLayout(x.idx),
- b = e.getItemLayout(x.idx1);
- (isNaN(w[0]) || isNaN(w[1])) && (w = b.slice()), u.push(w), h.push(b), c.push(n[x.idx]), d
- .push(i[x.idx1]), g.push(e.getRawIndex(x.idx1));
- break;
- case "+":
- var S = x.idx;
- u.push(r.dataToPoint([e.get(v.dataDimsForPoint[0], S), e.get(v.dataDimsForPoint[1], S)])), h
- .push(e.getItemLayout(S).slice()), c.push(kc(v, r, e, S)), d.push(i[S]), g.push(e
- .getRawIndex(S));
- break;
- case "-":
- var S = x.idx,
- M = t.getRawIndex(S);
- M !== S ? (u.push(t.getItemLayout(S)), h.push(o.dataToPoint([t.get(m.dataDimsForPoint[0],
- S), t.get(m.dataDimsForPoint[1], S)
- ])), c.push(n[S]), d.push(kc(m, o, t, S)), g.push(M)) : _ = !1
- }
- _ && (f.push(x), p.push(p.length))
- }
- p.sort(function(t, e) {
- return g[t] - g[e]
- });
- for (var I = [], C = [], T = [], A = [], D = [], y = 0; y < p.length; y++) {
- var S = p[y];
- I[y] = u[S], C[y] = h[S], T[y] = c[S], A[y] = d[S], D[y] = f[S]
- }
- return {
- current: I,
- next: C,
- stackedOnCurrent: T,
- stackedOnNext: A,
- status: D
- }
- },
- Cb = ae,
- Tb = se,
- Ab = Y,
- Db = H,
- kb = [],
- Pb = [],
- Ob = [],
- Lb = eo.extend({
- type: "ec-polyline",
- shape: {
- points: [],
- smooth: 0,
- smoothConstraint: !0,
- smoothMonotone: null,
- connectNulls: !1
- },
- style: {
- fill: null,
- stroke: "#000"
- },
- brush: Zm(eo.prototype.brush),
- buildPath: function(t, e) {
- var n = e.points,
- i = 0,
- r = n.length,
- o = Bc(n, e.smoothConstraint);
- if (e.connectNulls) {
- for (; r > 0 && Oc(n[r - 1]); r--);
- for (; r > i && Oc(n[i]); i++);
- }
- for (; r > i;) i += Lc(t, n, i, r, r, 1, o.min, o.max, e.smooth, e.smoothMonotone, e
- .connectNulls) + 1
- }
- }),
- zb = eo.extend({
- type: "ec-polygon",
- shape: {
- points: [],
- stackedOnPoints: [],
- smooth: 0,
- stackedOnSmooth: 0,
- smoothConstraint: !0,
- smoothMonotone: null,
- connectNulls: !1
- },
- brush: Zm(eo.prototype.brush),
- buildPath: function(t, e) {
- var n = e.points,
- i = e.stackedOnPoints,
- r = 0,
- o = n.length,
- a = e.smoothMonotone,
- s = Bc(n, e.smoothConstraint),
- l = Bc(i, e.smoothConstraint);
- if (e.connectNulls) {
- for (; o > 0 && Oc(n[o - 1]); o--);
- for (; o > r && Oc(n[r]); r++);
- }
- for (; o > r;) {
- var u = Lc(t, n, r, o, o, 1, s.min, s.max, e.smooth, a, e.connectNulls);
- Lc(t, i, r + u - 1, u, o, -1, l.min, l.max, e.stackedOnSmooth, a, e.connectNulls), r +=
- u + 1, t.closePath()
- }
- }
- });
- hl.extend({
- type: "line",
- init: function() {
- var t = new Cg,
- e = new Mc;
- this.group.add(e.group), this._symbolDraw = e, this._lineGroup = t
- },
- render: function(t, e, n) {
- var i = t.coordinateSystem,
- r = this.group,
- o = t.getData(),
- a = t.getModel("lineStyle"),
- l = t.getModel("areaStyle"),
- u = o.mapArray(o.getItemLayout),
- h = "polar" === i.type,
- c = this._coordSys,
- d = this._symbolDraw,
- f = this._polyline,
- p = this._polygon,
- g = this._lineGroup,
- v = t.get("animation"),
- m = !l.isEmpty(),
- y = l.get("origin"),
- x = Ac(i, o, y),
- _ = Hc(i, o, x),
- w = t.get("showSymbol"),
- b = w && !h && Xc(t, o, i),
- S = this._data;
- S && S.eachItemGraphicEl(function(t, e) {
- t.__temp && (r.remove(t), S.setItemGraphicEl(e, null))
- }), w || d.remove(), r.add(g);
- var M, I = !h && t.get("step");
- i && i.getArea && t.get("clip", !0) && (M = i.getArea(), null != M.width ? (M.x -= .1, M
- .y -= .1, M.width += .2, M.height += .2) : M.r0 && (M.r0 -= .5, M.r1 += .5)), this
- ._clipShapeForSymbol = M, f && c.type === i.type && I === this._step ? (m && !p ? p =
- this._newPolygon(u, _, i, v) : p && !m && (g.remove(p), p = this._polygon = null), g
- .setClipPath(Uc(i, !1, t)), w && d.updateData(o, {
- isIgnore: b,
- clipShape: M
- }), o.eachItemGraphicEl(function(t) {
- t.stopAnimation(!0)
- }), Fc(this._stackedOnPoints, _) && Fc(this._points, u) || (v ? this
- ._updateAnimation(o, _, i, n, I, y) : (I && (u = Gc(u, i, I), _ = Gc(_, i, I)),
- f.setShape({
- points: u
- }), p && p.setShape({
- points: u,
- stackedOnPoints: _
- })))) : (w && d.updateData(o, {
- isIgnore: b,
- clipShape: M
- }), I && (u = Gc(u, i, I), _ = Gc(_, i, I)), f = this._newPolyline(u, i, v), m && (
- p = this._newPolygon(u, _, i, v)), g.setClipPath(Uc(i, !0, t)));
- var C = Zc(o, i) || o.getVisual("color");
- f.useStyle(s(a.getLineStyle(), {
- fill: "none",
- stroke: C,
- lineJoin: "bevel"
- }));
- var T = t.get("smooth");
- if (T = Wc(t.get("smooth")), f.setShape({
- smooth: T,
- smoothMonotone: t.get("smoothMonotone"),
- connectNulls: t.get("connectNulls")
- }), p) {
- var A = o.getCalculationInfo("stackedOnSeries"),
- D = 0;
- p.useStyle(s(l.getAreaStyle(), {
- fill: C,
- opacity: .7,
- lineJoin: "bevel"
- })), A && (D = Wc(A.get("smooth"))), p.setShape({
- smooth: T,
- stackedOnSmooth: D,
- smoothMonotone: t.get("smoothMonotone"),
- connectNulls: t.get("connectNulls")
- })
- }
- this._data = o, this._coordSys = i, this._stackedOnPoints = _, this._points = u, this
- ._step = I, this._valueOrigin = y
- },
- dispose: function() {},
- highlight: function(t, e, n, i) {
- var r = t.getData(),
- o = lr(r, i);
- if (!(o instanceof Array) && null != o && o >= 0) {
- var a = r.getItemGraphicEl(o);
- if (!a) {
- var s = r.getItemLayout(o);
- if (!s) return;
- if (this._clipShapeForSymbol && !this._clipShapeForSymbol.contain(s[0], s[1]))
- return;
- a = new _c(r, o), a.position = s, a.setZ(t.get("zlevel"), t.get("z")), a.ignore =
- isNaN(s[0]) || isNaN(s[1]), a.__temp = !0, r.setItemGraphicEl(o, a), a
- .stopSymbolAnimation(!0), this.group.add(a)
- }
- a.highlight()
- } else hl.prototype.highlight.call(this, t, e, n, i)
- },
- downplay: function(t, e, n, i) {
- var r = t.getData(),
- o = lr(r, i);
- if (null != o && o >= 0) {
- var a = r.getItemGraphicEl(o);
- a && (a.__temp ? (r.setItemGraphicEl(o, null), this.group.remove(a)) : a.downplay())
- } else hl.prototype.downplay.call(this, t, e, n, i)
- },
- _newPolyline: function(t) {
- var e = this._polyline;
- return e && this._lineGroup.remove(e), e = new Lb({
- shape: {
- points: t
- },
- silent: !0,
- z2: 10
- }), this._lineGroup.add(e), this._polyline = e, e
- },
- _newPolygon: function(t, e) {
- var n = this._polygon;
- return n && this._lineGroup.remove(n), n = new zb({
- shape: {
- points: t,
- stackedOnPoints: e
- },
- silent: !0
- }), this._lineGroup.add(n), this._polygon = n, n
- },
- _updateAnimation: function(t, e, n, i, r, o) {
- var a = this._polyline,
- s = this._polygon,
- l = t.hostModel,
- u = Ib(this._data, t, this._stackedOnPoints, e, this._coordSys, n, this._valueOrigin,
- o),
- h = u.current,
- c = u.stackedOnCurrent,
- d = u.next,
- f = u.stackedOnNext;
- if (r && (h = Gc(u.current, n, r), c = Gc(u.stackedOnCurrent, n, r), d = Gc(u.next, n, r),
- f = Gc(u.stackedOnNext, n, r)), Vc(h, d) > 3e3 || s && Vc(c, f) > 3e3) return a
- .setShape({
- points: d
- }), void(s && s.setShape({
- points: d,
- stackedOnPoints: f
- }));
- a.shape.__points = u.current, a.shape.points = h, ea(a, {
- shape: {
- points: d
- }
- }, l), s && (s.setShape({
- points: h,
- stackedOnPoints: c
- }), ea(s, {
- shape: {
- points: d,
- stackedOnPoints: f
- }
- }, l));
- for (var p = [], g = u.status, v = 0; v < g.length; v++) {
- var m = g[v].cmd;
- if ("=" === m) {
- var y = t.getItemGraphicEl(g[v].idx1);
- y && p.push({
- el: y,
- ptIdx: v
- })
- }
- }
- a.animators && a.animators.length && a.animators[0].during(function() {
- for (var t = 0; t < p.length; t++) {
- var e = p[t].el;
- e.attr("position", a.shape.__points[p[t].ptIdx])
- }
- })
- },
- remove: function() {
- var t = this.group,
- e = this._data;
- this._lineGroup.removeAll(), this._symbolDraw.remove(!0), e && e.eachItemGraphicEl(function(
- n, i) {
- n.__temp && (t.remove(n), e.setItemGraphicEl(i, null))
- }), this._polyline = this._polygon = this._coordSys = this._points = this
- ._stackedOnPoints = this._data = null
- }
- });
- var Eb = function(t, e, n) {
- return {
- seriesType: t,
- performRawSeries: !0,
- reset: function(t, i) {
- function r(e, n) {
- if (f) {
- var i = t.getRawValue(n),
- r = t.getDataParams(n);
- h && e.setItemVisual(n, "symbol", a(i, r)), c && e.setItemVisual(n, "symbolSize", s(
- i, r)), d && e.setItemVisual(n, "symbolRotate", u(i, r))
- }
- if (e.hasItemOption) {
- var o = e.getItemModel(n),
- l = o.getShallow("symbol", !0),
- p = o.getShallow("symbolSize", !0),
- g = o.getShallow("symbolRotate", !0),
- v = o.getShallow("symbolKeepAspect", !0);
- null != l && e.setItemVisual(n, "symbol", l), null != p && e.setItemVisual(n,
- "symbolSize", p), null != g && e.setItemVisual(n, "symbolRotate", g),
- null != v && e.setItemVisual(n, "symbolKeepAspect", v)
- }
- }
- var o = t.getData(),
- a = t.get("symbol"),
- s = t.get("symbolSize"),
- l = t.get("symbolKeepAspect"),
- u = t.get("symbolRotate"),
- h = w(a),
- c = w(s),
- d = w(u),
- f = h || c || d,
- p = !h && a ? a : e,
- g = c ? null : s;
- return o.setVisual({
- legendSymbol: n || p,
- symbol: p,
- symbolSize: g,
- symbolKeepAspect: l,
- symbolRotate: u
- }), i.isSeriesFiltered(t) ? void 0 : {
- dataEach: o.hasItemOption || f ? r : null
- }
- }
- }
- },
- Bb = function(t) {
- return {
- seriesType: t,
- plan: Vx(),
- reset: function(t) {
- function e(t, e) {
- for (var n = t.end - t.start, r = o && new Float32Array(n * s), l = t.start, u = 0,
- h = [], c = []; l < t.end; l++) {
- var d;
- if (1 === s) {
- var f = e.get(a[0], l);
- d = !isNaN(f) && i.dataToPoint(f, null, c)
- } else {
- var f = h[0] = e.get(a[0], l),
- p = h[1] = e.get(a[1], l);
- d = !isNaN(f) && !isNaN(p) && i.dataToPoint(h, null, c)
- }
- o ? (r[u++] = d ? d[0] : 0 / 0, r[u++] = d ? d[1] : 0 / 0) : e.setItemLayout(l, d &&
- d.slice() || [0 / 0, 0 / 0])
- }
- o && e.setLayout("symbolPoints", r)
- }
- var n = t.getData(),
- i = t.coordinateSystem,
- r = t.pipelineContext,
- o = r.large;
- if (i) {
- var a = p(i.dimensions, function(t) {
- return n.mapDimension(t)
- }).slice(0, 2),
- s = a.length,
- l = n.getCalculationInfo("stackResultDimension");
- return dh(n, a[0]) && (a[0] = l), dh(n, a[1]) && (a[1] = l), s && {
- progress: e
- }
- }
- }
- }
- },
- Rb = {
- average: function(t) {
- for (var e = 0, n = 0, i = 0; i < t.length; i++) isNaN(t[i]) || (e += t[i], n++);
- return 0 === n ? 0 / 0 : e / n
- },
- sum: function(t) {
- for (var e = 0, n = 0; n < t.length; n++) e += t[n] || 0;
- return e
- },
- max: function(t) {
- for (var e = -1 / 0, n = 0; n < t.length; n++) t[n] > e && (e = t[n]);
- return isFinite(e) ? e : 0 / 0
- },
- min: function(t) {
- for (var e = 1 / 0, n = 0; n < t.length; n++) t[n] < e && (e = t[n]);
- return isFinite(e) ? e : 0 / 0
- },
- nearest: function(t) {
- return t[0]
- }
- },
- Nb = function(t) {
- return Math.round(t.length / 2)
- },
- Fb = function(t) {
- return {
- seriesType: t,
- modifyOutputEnd: !0,
- reset: function(t) {
- var e = t.getData(),
- n = t.get("sampling"),
- i = t.coordinateSystem;
- if ("cartesian2d" === i.type && n) {
- var r = i.getBaseAxis(),
- o = i.getOtherAxis(r),
- a = r.getExtent(),
- s = a[1] - a[0],
- l = Math.round(e.count() / s);
- if (l > 1) {
- var u;
- "string" == typeof n ? u = Rb[n] : "function" == typeof n && (u = n), u && t
- .setData(e.downSample(e.mapDimension(o.dim), 1 / l, u, Nb))
- }
- }
- }
- }
- },
- Vb = function(t) {
- this._axes = {}, this._dimList = [], this.name = t || ""
- };
- Vb.prototype = {
- constructor: Vb,
- type: "cartesian",
- getAxis: function(t) {
- return this._axes[t]
- },
- getAxes: function() {
- return p(this._dimList, jc, this)
- },
- getAxesByScale: function(t) {
- return t = t.toLowerCase(), v(this.getAxes(), function(e) {
- return e.scale.type === t
- })
- },
- addAxis: function(t) {
- var e = t.dim;
- this._axes[e] = t, this._dimList.push(e)
- },
- dataToCoord: function(t) {
- return this._dataCoordConvert(t, "dataToCoord")
- },
- coordToData: function(t) {
- return this._dataCoordConvert(t, "coordToData")
- },
- _dataCoordConvert: function(t, e) {
- for (var n = this._dimList, i = t instanceof Array ? [] : {}, r = 0; r < n.length; r++) {
- var o = n[r],
- a = this._axes[o];
- i[o] = a[e](t[o])
- }
- return i
- }
- }, qc.prototype = {
- constructor: qc,
- type: "cartesian2d",
- dimensions: ["x", "y"],
- getBaseAxis: function() {
- return this.getAxesByScale("ordinal")[0] || this.getAxesByScale("time")[0] || this.getAxis("x")
- },
- containPoint: function(t) {
- var e = this.getAxis("x"),
- n = this.getAxis("y");
- return e.contain(e.toLocalCoord(t[0])) && n.contain(n.toLocalCoord(t[1]))
- },
- containData: function(t) {
- return this.getAxis("x").containData(t[0]) && this.getAxis("y").containData(t[1])
- },
- dataToPoint: function(t, e, n) {
- var i = this.getAxis("x"),
- r = this.getAxis("y");
- return n = n || [], n[0] = i.toGlobalCoord(i.dataToCoord(t[0])), n[1] = r.toGlobalCoord(r
- .dataToCoord(t[1])), n
- },
- clampData: function(t, e) {
- var n = this.getAxis("x").scale,
- i = this.getAxis("y").scale,
- r = n.getExtent(),
- o = i.getExtent(),
- a = n.parse(t[0]),
- s = i.parse(t[1]);
- return e = e || [], e[0] = Math.min(Math.max(Math.min(r[0], r[1]), a), Math.max(r[0], r[1])), e[
- 1] = Math.min(Math.max(Math.min(o[0], o[1]), s), Math.max(o[0], o[1])), e
- },
- pointToData: function(t, e) {
- var n = this.getAxis("x"),
- i = this.getAxis("y");
- return e = e || [], e[0] = n.coordToData(n.toLocalCoord(t[0])), e[1] = i.coordToData(i
- .toLocalCoord(t[1])), e
- },
- getOtherAxis: function(t) {
- return this.getAxis("x" === t.dim ? "y" : "x")
- },
- getArea: function() {
- var t = this.getAxis("x").getGlobalExtent(),
- e = this.getAxis("y").getGlobalExtent(),
- n = Math.min(t[0], t[1]),
- i = Math.min(e[0], e[1]),
- r = Math.max(t[0], t[1]) - n,
- o = Math.max(e[0], e[1]) - i,
- a = new Tn(n, i, r, o);
- return a
- }
- }, h(qc, Vb);
- var Wb = function(t, e, n, i, r) {
- pb.call(this, t, e, n), this.type = i || "value", this.position = r || "bottom"
- };
- Wb.prototype = {
- constructor: Wb,
- index: 0,
- getAxesOnZeroOf: null,
- model: null,
- isHorizontal: function() {
- var t = this.position;
- return "top" === t || "bottom" === t
- },
- getGlobalExtent: function(t) {
- var e = this.getExtent();
- return e[0] = this.toGlobalCoord(e[0]), e[1] = this.toGlobalCoord(e[1]), t && e[0] > e[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
- }, h(Wb, pb);
- var Hb = {
- 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)"]
- }
- }
- },
- Gb = {};
- Gb.categoryAxis = r({
- boundaryGap: !0,
- deduplication: null,
- splitLine: {
- show: !1
- },
- axisTick: {
- alignWithLabel: !1,
- interval: "auto"
- },
- axisLabel: {
- interval: "auto"
- }
- }, Hb), Gb.valueAxis = r({
- boundaryGap: [0, 0],
- splitNumber: 5,
- minorTick: {
- show: !1,
- splitNumber: 5,
- length: 3,
- lineStyle: {}
- },
- minorSplitLine: {
- show: !1,
- lineStyle: {
- color: "#eee",
- width: 1
- }
- }
- }, Hb), Gb.timeAxis = s({
- scale: !0,
- min: "dataMin",
- max: "dataMax"
- }, Gb.valueAxis), Gb.logAxis = s({
- scale: !0,
- logBase: 10
- }, Gb.valueAxis);
- var Zb = ["value", "category", "time", "log"],
- Xb = function(t, e, n, i) {
- f(Zb, function(a) {
- e.extend({
- type: t + "Axis." + a,
- mergeDefaultAndTheme: function(e, i) {
- var o = this.layoutMode,
- s = o ? Ja(e) : {},
- l = i.getTheme();
- r(e, l.get(a + "Axis")), r(e, this.getDefaultOption()), e.type = n(t,
- e), o && Qa(e, s, o)
- },
- optionUpdated: function() {
- var t = this.option;
- "category" === t.type && (this.__ordinalMeta = yh.createByAxisModel(
- this))
- },
- getCategories: function(t) {
- var e = this.option;
- return "category" === e.type ? t ? e.data : this.__ordinalMeta
- .categories : void 0
- },
- getOrdinalMeta: function() {
- return this.__ordinalMeta
- },
- defaultOption: o([{}, Gb[a + "Axis"], i], !0)
- })
- }), qy.registerSubTypeDefaulter(t + "Axis", x(n, t))
- },
- Yb = qy.extend({
- type: "cartesian2dAxis",
- axis: null,
- init: function() {
- Yb.superApply(this, "init", arguments), this.resetRange()
- },
- mergeOption: function() {
- Yb.superApply(this, "mergeOption", arguments), this.resetRange()
- },
- restoreData: function() {
- Yb.superApply(this, "restoreData", arguments), this.resetRange()
- },
- getCoordSysModel: function() {
- return this.ecModel.queryComponents({
- mainType: "grid",
- index: this.option.gridIndex,
- id: this.option.gridId
- })[0]
- }
- });
- r(Yb.prototype, Jw);
- var Ub = {
- offset: 0
- };
- Xb("x", Yb, Kc, Ub), Xb("y", Yb, Kc, Ub), qy.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 jb = Qc.prototype;
- jb.type = "grid", jb.axisPointerEnabled = !0, jb.getRect = function() {
- return this._rect
- }, jb.update = function(t, e) {
- var n = this._axesMap;
- this._updateScale(t, this.model), f(n.x, function(t) {
- Nh(t.scale, t.model)
- }), f(n.y, function(t) {
- Nh(t.scale, t.model)
- });
- var i = {};
- f(n.x, function(t) {
- Jc(n, "y", t, i)
- }), f(n.y, function(t) {
- Jc(n, "x", t, i)
- }), this.resize(this.model, e)
- }, jb.resize = function(t, e, n) {
- function i() {
- f(o, function(t) {
- var e = t.isHorizontal(),
- n = e ? [0, r.width] : [0, r.height],
- i = t.inverse ? 1 : 0;
- t.setExtent(n[i], n[1 - i]), ed(t, e ? r.x : r.y)
- })
- }
- var r = $a(t.getBoxLayoutParams(), {
- width: e.getWidth(),
- height: e.getHeight()
- });
- this._rect = r;
- var o = this._axesList;
- i(), !n && t.get("containLabel") && (f(o, function(t) {
- if (!t.model.get("axisLabel.inside")) {
- var e = Gh(t);
- if (e) {
- var n = t.isHorizontal() ? "height" : "width",
- i = t.model.get("axisLabel.margin");
- r[n] -= e[n] + i, "top" === t.position ? r.y += e.height + i : "left" === t
- .position && (r.x += e.width + i)
- }
- }
- }), i())
- }, jb.getAxis = function(t, e) {
- var n = this._axesMap[t];
- if (null != n) {
- if (null == e)
- for (var i in n)
- if (n.hasOwnProperty(i)) return n[i];
- return n[e]
- }
- }, jb.getAxes = function() {
- return this._axesList.slice()
- }, jb.getCartesian = function(t, e) {
- if (null != t && null != e) {
- var n = "x" + t + "y" + e;
- return this._coordsMap[n]
- }
- S(t) && (e = t.yAxisIndex, t = t.xAxisIndex);
- for (var i = 0, r = this._coordsList; i < r.length; i++)
- if (r[i].getAxis("x").index === t || r[i].getAxis("y").index === e) return r[i]
- }, jb.getCartesians = function() {
- return this._coordsList.slice()
- }, jb.convertToPixel = function(t, e, n) {
- var i = this._findConvertTarget(t, e);
- return i.cartesian ? i.cartesian.dataToPoint(n) : i.axis ? i.axis.toGlobalCoord(i.axis.dataToCoord(n)) :
- null
- }, jb.convertFromPixel = function(t, e, n) {
- var i = this._findConvertTarget(t, e);
- return i.cartesian ? i.cartesian.pointToData(n) : i.axis ? i.axis.coordToData(i.axis.toLocalCoord(n)) :
- null
- }, jb._findConvertTarget = function(t, e) {
- var n, i, r = e.seriesModel,
- o = e.xAxisModel || r && r.getReferringComponents("xAxis")[0],
- a = e.yAxisModel || r && r.getReferringComponents("yAxis")[0],
- s = e.gridModel,
- l = this._coordsList;
- if (r) n = r.coordinateSystem, u(l, n) < 0 && (n = null);
- else if (o && a) n = this.getCartesian(o.componentIndex, a.componentIndex);
- else if (o) i = this.getAxis("x", o.componentIndex);
- else if (a) i = this.getAxis("y", a.componentIndex);
- else if (s) {
- var h = s.coordinateSystem;
- h === this && (n = this._coordsList[0])
- }
- return {
- cartesian: n,
- axis: i
- }
- }, jb.containPoint = function(t) {
- var e = this._coordsList[0];
- return e ? e.containPoint(t) : void 0
- }, jb._initCartesian = function(t, e) {
- function n(n) {
- return function(a, s) {
- if ($c(a, t, e)) {
- var l = a.get("position");
- "x" === n ? "top" !== l && "bottom" !== l && (l = i.bottom ? "top" : "bottom") :
- "left" !== l && "right" !== l && (l = i.left ? "right" : "left"), i[l] = !0;
- var u = new Wb(n, Fh(a), [0, 0], a.get("type"), l),
- h = "category" === u.type;
- u.onBand = h && a.get("boundaryGap"), u.inverse = a.get("inverse"), a.axis = u, u
- .model = a, u.grid = this, u.index = s, this._axesList.push(u), r[n][s] = u, o[n]++
- }
- }
- }
- var i = {
- left: !1,
- right: !1,
- top: !1,
- bottom: !1
- },
- r = {
- x: {},
- y: {}
- },
- o = {
- x: 0,
- y: 0
- };
- return e.eachComponent("xAxis", n("x"), this), e.eachComponent("yAxis", n("y"), this), o.x && o.y ? (
- this._axesMap = r, void f(r.x, function(e, n) {
- f(r.y, function(i, r) {
- var o = "x" + n + "y" + r,
- a = new qc(o);
- a.grid = this, a.model = t, this._coordsMap[o] = a, this._coordsList.push(
- a), a.addAxis(e), a.addAxis(i)
- }, this)
- }, this)) : (this._axesMap = {}, void(this._axesList = []))
- }, jb._updateScale = function(t, e) {
- function n(t, e) {
- f(t.mapDimension(e.dim, !0), function(n) {
- e.scale.unionExtentFromData(t, fh(t, n))
- })
- }
- f(this._axesList, function(t) {
- t.scale.setExtent(1 / 0, -1 / 0)
- }), t.eachSeries(function(i) {
- if (id(i)) {
- var r = nd(i, t),
- o = r[0],
- a = r[1];
- if (!$c(o, e, t) || !$c(a, e, t)) return;
- var s = this.getCartesian(o.componentIndex, a.componentIndex),
- l = i.getData(),
- u = s.getAxis("x"),
- h = s.getAxis("y");
- "list" === l.type && (n(l, u, i), n(l, h, i))
- }
- }, this)
- }, jb.getTooltipAxes = function(t) {
- var e = [],
- n = [];
- return f(this.getCartesians(), function(i) {
- var r = null != t && "auto" !== t ? i.getAxis(t) : i.getBaseAxis(),
- o = i.getOtherAxis(r);
- u(e, r) < 0 && e.push(r), u(n, o) < 0 && n.push(o)
- }), {
- baseAxes: e,
- otherAxes: n
- }
- };
- var qb = ["xAxis", "yAxis"];
- Qc.create = function(t, e) {
- var n = [];
- return t.eachComponent("grid", function(i, r) {
- var o = new Qc(i, t, e);
- o.name = "grid_" + r, o.resize(i, e, !0), i.coordinateSystem = o, n.push(o)
- }), t.eachSeries(function(e) {
- if (id(e)) {
- var n = nd(e, t),
- i = n[0],
- r = n[1],
- o = i.getCoordSysModel();
- if (lp) {
- if (!o) throw new Error('Grid "' + A(i.get("gridIndex"), i.get("gridId"), 0) +
- '" not found');
- if (i.getCoordSysModel() !== r.getCoordSysModel()) throw new Error(
- "xAxis and yAxis must use the same grid")
- }
- var a = o.coordinateSystem;
- e.coordinateSystem = a.getCartesian(i.componentIndex, r.componentIndex)
- }
- }), n
- }, Qc.dimensions = Qc.prototype.dimensions = qc.prototype.dimensions, Is.register("cartesian2d", Qc);
- var Kb = Math.PI,
- $b = function(t, e) {
- this.opt = e, this.axisModel = t, s(e, {
- labelOffset: 0,
- nameDirection: 1,
- tickDirection: 1,
- labelDirection: 1,
- silent: !0
- }), this.group = new Cg;
- var n = new Cg({
- position: e.position.slice(),
- rotation: e.rotation
- });
- n.updateTransform(), this._transform = n.transform, this._dumbGroup = n
- };
- $b.prototype = {
- constructor: $b,
- hasBuilder: function(t) {
- return !!Qb[t]
- },
- add: function(t) {
- Qb[t].call(this)
- },
- getGroup: function() {
- return this.group
- }
- };
- var Qb = {
- axisLine: function() {
- var t = this.opt,
- e = this.axisModel;
- if (e.get("axisLine.show")) {
- var n = this.axisModel.axis.getExtent(),
- i = this._transform,
- r = [n[0], 0],
- o = [n[1], 0];
- i && (oe(r, r, i), oe(o, o, i));
- var s = a({
- lineCap: "round"
- }, e.getModel("axisLine.lineStyle").getLineStyle());
- this.group.add(new ey({
- anid: "line",
- subPixelOptimize: !0,
- shape: {
- x1: r[0],
- y1: r[1],
- x2: o[0],
- y2: o[1]
- },
- style: s,
- strokeContainThreshold: t.strokeContainThreshold || 5,
- silent: !0,
- z2: 1
- }));
- var l = e.get("axisLine.symbol"),
- u = e.get("axisLine.symbolSize"),
- h = e.get("axisLine.symbolOffset") || 0;
- if ("number" == typeof h && (h = [h, h]), null != l) {
- "string" == typeof l && (l = [l, l]), ("string" == typeof u || "number" == typeof u) &&
- (u = [u, u]);
- var c = u[0],
- d = u[1];
- f([{
- rotate: t.rotation + Math.PI / 2,
- offset: h[0],
- r: 0
- }, {
- rotate: t.rotation - Math.PI / 2,
- offset: h[1],
- r: Math.sqrt((r[0] - o[0]) * (r[0] - o[0]) + (r[1] - o[1]) * (r[1] - o[
- 1]))
- }], function(e, n) {
- if ("none" !== l[n] && null != l[n]) {
- var i = jh(l[n], -c / 2, -d / 2, c, d, s.stroke, !0),
- o = e.r + e.offset,
- a = [r[0] + o * Math.cos(t.rotation), r[1] - o * Math.sin(t
- .rotation)];
- i.attr({
- rotation: e.rotate,
- position: a,
- silent: !0,
- z2: 11
- }), this.group.add(i)
- }
- }, this)
- }
- }
- },
- axisTickLabel: function() {
- var t = this.axisModel,
- e = this.opt,
- n = hd(this, t, e),
- i = dd(this, t, e);
- od(t, i, n), cd(this, t, e)
- },
- axisName: function() {
- var t = this.opt,
- e = this.axisModel,
- n = A(t.axisName, e.get("name"));
- if (n) {
- var i, r = e.get("nameLocation"),
- o = t.nameDirection,
- s = e.getModel("nameTextStyle"),
- l = e.get("nameGap") || 0,
- u = this.axisModel.axis.getExtent(),
- h = u[0] > u[1] ? -1 : 1,
- c = ["start" === r ? u[0] - h * l : "end" === r ? u[1] + h * l : (u[0] + u[1]) / 2, ld(
- r) ? t.labelOffset + o * l : 0],
- d = e.get("nameRotate");
- null != d && (d = d * Kb / 180);
- var f;
- ld(r) ? i = tS(t.rotation, null != d ? d : t.rotation, o) : (i = rd(t, r, d || 0, u), f = t
- .axisNameAvailableWidth, null != f && (f = Math.abs(f / Math.sin(i.rotation)), !
- isFinite(f) && (f = null)));
- var p = s.getFont(),
- g = e.get("nameTruncate", !0) || {},
- v = g.ellipsis,
- m = A(t.nameTruncateMaxWidth, g.maxWidth, f),
- y = null != v && null != m ? Wy(n, m, p, v, {
- minChar: 2,
- placeholder: g.placeholder
- }) : n,
- x = e.get("tooltip", !0),
- _ = e.mainType,
- w = {
- componentType: _,
- name: n,
- $vars: ["name"]
- };
- w[_ + "Index"] = e.componentIndex;
- var b = new Wm({
- anid: "name",
- __fullText: n,
- __truncatedText: y,
- position: c,
- rotation: i.rotation,
- silent: eS(e),
- z2: 1,
- tooltip: x && x.show ? a({
- content: n,
- formatter: function() {
- return n
- },
- formatterParams: w
- }, x) : null
- });
- Xo(b.style, s, {
- text: y,
- textFont: p,
- textFill: s.getTextColor() || e.get("axisLine.lineStyle.color"),
- textAlign: s.get("align") || i.textAlign,
- textVerticalAlign: s.get("verticalAlign") || i.textVerticalAlign
- }), e.get("triggerEvent") && (b.eventData = Jb(e), b.eventData.targetType = "axisName",
- b.eventData.name = n), this._dumbGroup.add(b), b.updateTransform(), this.group.add(
- b), b.decomposeTransform()
- }
- }
- },
- Jb = $b.makeAxisEventDataBase = function(t) {
- var e = {
- componentType: t.mainType,
- componentIndex: t.componentIndex
- };
- return e[t.mainType + "Index"] = t.componentIndex, e
- },
- tS = $b.innerTextLayout = function(t, e, n) {
- var i, r, o = Da(e - t);
- return ka(o) ? (r = n > 0 ? "top" : "bottom", i = "center") : ka(o - Kb) ? (r = n > 0 ? "bottom" :
- "top", i = "center") : (r = "middle", i = o > 0 && Kb > o ? n > 0 ? "right" : "left" : n > 0 ?
- "left" : "right"), {
- rotation: o,
- textAlign: i,
- textVerticalAlign: r
- }
- },
- eS = $b.isLabelSilent = function(t) {
- var e = t.get("tooltip");
- return t.get("silent") || !(t.get("triggerEvent") || e && e.show)
- },
- nS = f,
- iS = x,
- rS = Pu({
- type: "axis",
- _axisPointer: null,
- axisPointerClass: null,
- render: function(t, e, n, i) {
- this.axisPointerClass && xd(t), rS.superApply(this, "render", arguments), Md(this, t, e, n,
- i, !0)
- },
- updateAxisPointer: function(t, e, n, i) {
- Md(this, t, e, n, i, !1)
- },
- remove: function(t, e) {
- var n = this._axisPointer;
- n && n.remove(e), rS.superApply(this, "remove", arguments)
- },
- dispose: function(t, e) {
- Id(this, e), rS.superApply(this, "dispose", arguments)
- }
- }),
- oS = [];
- rS.registerAxisPointerClass = function(t, e) {
- if (lp && oS[t]) throw new Error("axisPointer " + t + " exists");
- oS[t] = e
- }, rS.getAxisPointerClass = function(t) {
- return t && oS[t]
- };
- var aS = ["axisLine", "axisTickLabel", "axisName"],
- sS = ["splitArea", "splitLine", "minorSplitLine"],
- lS = rS.extend({
- type: "cartesianAxis",
- axisPointerClass: "CartesianAxisPointer",
- render: function(t, e, n, i) {
- this.group.removeAll();
- var r = this._axisGroup;
- if (this._axisGroup = new Cg, this.group.add(this._axisGroup), t.get("show")) {
- var o = t.getCoordSysModel(),
- a = Cd(o, t),
- s = new $b(t, a);
- f(aS, s.add, s), this._axisGroup.add(s.getGroup()), f(sS, function(e) {
- t.get(e + ".show") && this["_" + e](t, o)
- }, this), aa(r, this._axisGroup, t), lS.superCall(this, "render", t, e, n, i)
- }
- },
- remove: function() {
- Ad(this)
- },
- _splitLine: function(t, e) {
- var n = t.axis;
- if (!n.scale.isBlank()) {
- var i = t.getModel("splitLine"),
- r = i.getModel("lineStyle"),
- o = r.get("color");
- o = _(o) ? o : [o];
- for (var a = e.coordinateSystem.getRect(), l = n.isHorizontal(), u = 0, h = n
- .getTicksCoords({
- tickModel: i
- }), c = [], d = [], f = r.getLineStyle(), p = 0; p < h.length; p++) {
- var g = n.toGlobalCoord(h[p].coord);
- l ? (c[0] = g, c[1] = a.y, d[0] = g, d[1] = a.y + a.height) : (c[0] = a.x, c[1] = g,
- d[0] = a.x + a.width, d[1] = g);
- var v = u++ % o.length,
- m = h[p].tickValue;
- this._axisGroup.add(new ey({
- anid: null != m ? "line_" + h[p].tickValue : null,
- subPixelOptimize: !0,
- shape: {
- x1: c[0],
- y1: c[1],
- x2: d[0],
- y2: d[1]
- },
- style: s({
- stroke: o[v]
- }, f),
- silent: !0
- }))
- }
- }
- },
- _minorSplitLine: function(t, e) {
- var n = t.axis,
- i = t.getModel("minorSplitLine"),
- r = i.getModel("lineStyle"),
- o = e.coordinateSystem.getRect(),
- a = n.isHorizontal(),
- s = n.getMinorTicksCoords();
- if (s.length)
- for (var l = [], u = [], h = r.getLineStyle(), c = 0; c < s.length; c++)
- for (var d = 0; d < s[c].length; d++) {
- var f = n.toGlobalCoord(s[c][d].coord);
- a ? (l[0] = f, l[1] = o.y, u[0] = f, u[1] = o.y + o.height) : (l[0] = o.x, l[
- 1] = f, u[0] = o.x + o.width, u[1] = f), this._axisGroup.add(new ey({
- anid: "minor_line_" + s[c][d].tickValue,
- subPixelOptimize: !0,
- shape: {
- x1: l[0],
- y1: l[1],
- x2: u[0],
- y2: u[1]
- },
- style: h,
- silent: !0
- }))
- }
- },
- _splitArea: function(t, e) {
- Td(this, this._axisGroup, t, e)
- }
- });
- lS.extend({
- type: "xAxis"
- }), lS.extend({
- type: "yAxis"
- }), Pu({
- type: "grid",
- render: function(t) {
- this.group.removeAll(), t.get("show") && this.group.add(new Jm({
- shape: t.coordinateSystem.getRect(),
- style: s({
- fill: t.get("backgroundColor")
- }, t.getItemStyle()),
- silent: !0,
- z2: -1
- }))
- }
- }), _u(function(t) {
- t.xAxis && t.yAxis && !t.grid && (t.grid = {})
- }), Tu(Eb("line", "circle", "line")), Cu(Bb("line")), wu(W_.PROCESSOR.STATISTIC, Fb("line")), ku({
- type: "title",
- layoutMode: {
- type: "box",
- ignoreSize: !0
- },
- defaultOption: {
- zlevel: 0,
- z: 6,
- show: !0,
- text: "",
- target: "blank",
- subtext: "",
- subtarget: "blank",
- left: 0,
- top: 0,
- backgroundColor: "rgba(0,0,0,0)",
- borderColor: "#ccc",
- borderWidth: 0,
- padding: 5,
- itemGap: 10,
- textStyle: {
- fontSize: 18,
- fontWeight: "bolder",
- color: "#333"
- },
- subtextStyle: {
- color: "#aaa"
- }
- }
- }), Pu({
- type: "title",
- render: function(t, e, n) {
- if (this.group.removeAll(), t.get("show")) {
- var i = this.group,
- r = t.getModel("textStyle"),
- o = t.getModel("subtextStyle"),
- a = t.get("textAlign"),
- s = D(t.get("textBaseline"), t.get("textVerticalAlign")),
- l = new Wm({
- style: Xo({}, r, {
- text: t.get("text"),
- textFill: r.getTextColor()
- }, {
- disableBox: !0
- }),
- z2: 10
- }),
- u = l.getBoundingRect(),
- h = t.get("subtext"),
- c = new Wm({
- style: Xo({}, o, {
- text: h,
- textFill: o.getTextColor(),
- y: u.height + t.get("itemGap"),
- textVerticalAlign: "top"
- }, {
- disableBox: !0
- }),
- z2: 10
- }),
- d = t.get("link"),
- f = t.get("sublink"),
- p = t.get("triggerEvent", !0);
- l.silent = !d && !p, c.silent = !f && !p, d && l.on("click", function() {
- qa(d, "_" + t.get("target"))
- }), f && c.on("click", function() {
- qa(d, "_" + t.get("subtarget"))
- }), l.eventData = c.eventData = p ? {
- componentType: "title",
- componentIndex: t.componentIndex
- } : null, i.add(l), h && i.add(c);
- var g = i.getBoundingRect(),
- v = t.getBoxLayoutParams();
- v.width = g.width, v.height = g.height;
- var m = $a(v, {
- width: n.getWidth(),
- height: n.getHeight()
- }, t.get("padding"));
- a || (a = t.get("left") || t.get("right"), "middle" === a && (a = "center"), "right" ===
- a ? m.x += m.width : "center" === a && (m.x += m.width / 2)), s || (s = t.get(
- "top") || t.get("bottom"), "center" === s && (s = "middle"), "bottom" ===
- s ? m.y += m.height : "middle" === s && (m.y += m.height / 2), s = s || "top"),
- i.attr("position", [m.x, m.y]);
- var y = {
- textAlign: a,
- textVerticalAlign: s
- };
- l.setStyle(y), c.setStyle(y), g = i.getBoundingRect();
- var x = m.margin,
- _ = t.getItemStyle(["color", "opacity"]);
- _.fill = t.get("backgroundColor");
- var w = new Jm({
- shape: {
- x: g.x - x[3],
- y: g.y - x[0],
- width: g.width + x[1] + x[3],
- height: g.height + x[0] + x[2],
- r: t.get("borderRadius")
- },
- style: _,
- subPixelOptimize: !0,
- silent: !0
- });
- i.add(w)
- }
- }
- });
- var uS = qx.legend.selector,
- hS = {
- all: {
- type: "all",
- title: i(uS.all)
- },
- inverse: {
- type: "inverse",
- title: i(uS.inverse)
- }
- },
- cS = ku({
- type: "legend.plain",
- dependencies: ["series"],
- layoutMode: {
- type: "box",
- ignoreSize: !0
- },
- init: function(t, e, n) {
- this.mergeDefaultAndTheme(t, n), t.selected = t.selected || {}, this._updateSelector(t)
- },
- mergeOption: function(t) {
- cS.superCall(this, "mergeOption", t), this._updateSelector(t)
- },
- _updateSelector: function(t) {
- var e = t.selector;
- e === !0 && (e = t.selector = ["all", "inverse"]), _(e) && f(e, function(t, n) {
- b(t) && (t = {
- type: t
- }), e[n] = r(t, hS[t.type])
- })
- },
- optionUpdated: function() {
- this._updateData(this.ecModel);
- var t = this._data;
- if (t[0] && "single" === this.get("selectedMode")) {
- for (var e = !1, n = 0; n < t.length; n++) {
- var i = t[n].get("name");
- if (this.isSelected(i)) {
- this.select(i), e = !0;
- break
- }
- }!e && this.select(t[0].get("name"))
- }
- },
- _updateData: function(t) {
- var e = [],
- n = [];
- t.eachRawSeries(function(i) {
- var r = i.name;
- n.push(r);
- var o;
- if (i.legendVisualProvider) {
- var a = i.legendVisualProvider,
- s = a.getAllNames();
- t.isSeriesFiltered(i) || (n = n.concat(s)), s.length ? e = e.concat(s) :
- o = !0
- } else o = !0;
- o && ar(i) && e.push(i.name)
- }), this._availableNames = n;
- var i = this.get("data") || e,
- r = p(i, function(t) {
- return ("string" == typeof t || "number" == typeof t) && (t = {
- name: t
- }), new pa(t, this, this.ecModel)
- }, this);
- this._data = r
- },
- getData: function() {
- return this._data
- },
- select: function(t) {
- var e = this.option.selected,
- n = this.get("selectedMode");
- if ("single" === n) {
- var i = this._data;
- f(i, function(t) {
- e[t.get("name")] = !1
- })
- }
- e[t] = !0
- },
- unSelect: function(t) {
- "single" !== this.get("selectedMode") && (this.option.selected[t] = !1)
- },
- toggleSelected: function(t) {
- var e = this.option.selected;
- e.hasOwnProperty(t) || (e[t] = !0), this[e[t] ? "unSelect" : "select"](t)
- },
- allSelect: function() {
- var t = this._data,
- e = this.option.selected;
- f(t, function(t) {
- e[t.get("name", !0)] = !0
- })
- },
- inverseSelect: function() {
- var t = this._data,
- e = this.option.selected;
- f(t, function(t) {
- var n = t.get("name", !0);
- e.hasOwnProperty(n) || (e[n] = !0), e[n] = !e[n]
- })
- },
- isSelected: function(t) {
- var e = this.option.selected;
- return !(e.hasOwnProperty(t) && !e[t]) && u(this._availableNames, t) >= 0
- },
- getOrient: function() {
- return "vertical" === this.get("orient") ? {
- index: 1,
- name: "vertical"
- } : {
- index: 0,
- name: "horizontal"
- }
- },
- 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",
- inactiveBorderColor: "#ccc",
- itemStyle: {
- borderWidth: 0
- },
- textStyle: {
- color: "#333"
- },
- selectedMode: !0,
- selector: !1,
- selectorLabel: {
- show: !0,
- borderRadius: 10,
- padding: [3, 5, 3, 5],
- fontSize: 12,
- fontFamily: " sans-serif",
- color: "#666",
- borderWidth: 1,
- borderColor: "#666"
- },
- emphasis: {
- selectorLabel: {
- show: !0,
- color: "#eee",
- backgroundColor: "#666"
- }
- },
- selectorPosition: "auto",
- selectorItemGap: 7,
- selectorButtonGap: 10,
- tooltip: {
- show: !1
- }
- }
- });
- Su("legendToggleSelect", "legendselectchanged", x(Dd, "toggleSelected")), Su("legendAllSelect",
- "legendselectall", x(Dd, "allSelect")), Su("legendInverseSelect", "legendinverseselect", x(Dd,
- "inverseSelect")), Su("legendSelect", "legendselected", x(Dd, "select")), Su("legendUnSelect",
- "legendunselected", x(Dd, "unSelect"));
- var dS = x,
- fS = f,
- pS = Cg,
- gS = Pu({
- type: "legend.plain",
- newlineDisabled: !1,
- init: function() {
- this.group.add(this._contentGroup = new pS), this._backgroundEl, this.group.add(this
- ._selectorGroup = new pS), this._isFirstRender = !0
- },
- getContentGroup: function() {
- return this._contentGroup
- },
- getSelectorGroup: function() {
- return this._selectorGroup
- },
- render: function(t, e, n) {
- var i = this._isFirstRender;
- if (this._isFirstRender = !1, this.resetInner(), t.get("show", !0)) {
- var r = t.get("align"),
- o = t.get("orient");
- r && "auto" !== r || (r = "right" === t.get("left") && "vertical" === o ? "right" :
- "left");
- var a = t.get("selector", !0),
- l = t.get("selectorPosition", !0);
- !a || l && "auto" !== l || (l = "horizontal" === o ? "end" : "start"), this.renderInner(
- r, t, e, n, a, o, l);
- var u = t.getBoxLayoutParams(),
- h = {
- width: n.getWidth(),
- height: n.getHeight()
- },
- c = t.get("padding"),
- d = $a(u, h, c),
- f = this.layoutInner(t, r, d, i, a, l),
- p = $a(s({
- width: f.width,
- height: f.height
- }, u), h, c);
- this.group.attr("position", [p.x - f.x, p.y - f.y]), this.group.add(this._backgroundEl =
- kd(f, t))
- }
- },
- resetInner: function() {
- this.getContentGroup().removeAll(), this._backgroundEl && this.group.remove(this
- ._backgroundEl), this.getSelectorGroup().removeAll()
- },
- renderInner: function(t, e, n, i, r, o, a) {
- var s = this.getContentGroup(),
- l = N(),
- u = e.get("selectedMode"),
- h = [];
- n.eachRawSeries(function(t) {
- !t.get("legendHoverLink") && h.push(t.id)
- }), fS(e.getData(), function(r, o) {
- var a = r.get("name");
- if (!this.newlineDisabled && ("" === a || "\n" === a)) return void s.add(
- new pS({
- newline: !0
- }));
- var c = n.getSeriesByName(a)[0];
- if (!l.get(a)) {
- if (c) {
- var d = c.getData(),
- f = d.getVisual("color"),
- p = d.getVisual("borderColor");
- "function" == typeof f && (f = f(c.getDataParams(0))), "function" ==
- typeof p && (p = p(c.getDataParams(0)));
- var g = d.getVisual("legendSymbol") || "roundRect",
- v = d.getVisual("symbol"),
- m = this._createItem(a, o, r, e, g, v, t, f, p, u);
- m.on("click", dS(Od, a, null, i, h)).on("mouseover", dS(Ld, c.name,
- null, i, h)).on("mouseout", dS(zd, c.name, null, i, h)), l.set(
- a, !0)
- } else n.eachRawSeries(function(n) {
- if (!l.get(a) && n.legendVisualProvider) {
- var s = n.legendVisualProvider;
- if (!s.containName(a)) return;
- var c = s.indexOfName(a),
- d = s.getItemVisual(c, "color"),
- f = s.getItemVisual(c, "borderColor"),
- p = "roundRect",
- g = this._createItem(a, o, r, e, p, null, t, d, f, u);
- g.on("click", dS(Od, null, a, i, h)).on("mouseover", dS(Ld,
- null, a, i, h)).on("mouseout", dS(zd, null, a, i,
- h)), l.set(a, !0)
- }
- }, this);
- lp && (l.get(a) || console.warn(a +
- " series not exists. Legend data should be same with series name or data name."
- ))
- }
- }, this), r && this._createSelector(r, e, i, o, a)
- },
- _createSelector: function(t, e, n) {
- function i(t) {
- var i = t.type,
- o = new Wm({
- style: {
- x: 0,
- y: 0,
- align: "center",
- verticalAlign: "middle"
- },
- onclick: function() {
- n.dispatchAction({
- type: "all" === i ? "legendAllSelect" :
- "legendInverseSelect"
- })
- }
- });
- r.add(o);
- var a = e.getModel("selectorLabel"),
- s = e.getModel("emphasis.selectorLabel");
- Go(o.style, o.hoverStyle = {}, a, s, {
- defaultText: t.title,
- isRectText: !1
- }), Fo(o)
- }
- var r = this.getSelectorGroup();
- fS(t, function(t) {
- i(t)
- })
- },
- _createItem: function(t, e, n, i, r, o, s, l, u, h) {
- var c = i.get("itemWidth"),
- d = i.get("itemHeight"),
- f = i.get("inactiveColor"),
- p = i.get("inactiveBorderColor"),
- g = i.get("symbolKeepAspect"),
- v = i.getModel("itemStyle"),
- m = i.isSelected(t),
- y = new pS,
- x = n.getModel("textStyle"),
- _ = n.get("icon"),
- w = n.getModel("tooltip"),
- b = w.parentModel;
- r = _ || r;
- var S = jh(r, 0, 0, c, d, m ? l : f, null == g ? !0 : g);
- if (y.add(Pd(S, r, v, u, p, m)), !_ && o && (o !== r || "none" === o)) {
- var M = .8 * d;
- "none" === o && (o = "circle");
- var I = jh(o, (c - M) / 2, (d - M) / 2, M, M, m ? l : f, null == g ? !0 : g);
- y.add(Pd(I, o, v, u, p, m))
- }
- var C = "left" === s ? c + 5 : -5,
- T = s,
- A = i.get("formatter"),
- D = t;
- "string" == typeof A && A ? D = A.replace("{name}", null != t ? t : "") : "function" ==
- typeof A && (D = A(t)), y.add(new Wm({
- style: Xo({}, x, {
- text: D,
- x: C,
- y: d / 2,
- textFill: m ? x.getTextColor() : f,
- textAlign: T,
- textVerticalAlign: "middle"
- })
- }));
- var k = new Jm({
- shape: y.getBoundingRect(),
- invisible: !0,
- tooltip: w.get("show") ? a({
- content: t,
- formatter: b.get("formatter", !0) || function() {
- return t
- },
- formatterParams: {
- componentType: "legend",
- legendIndex: i.componentIndex,
- name: t,
- $vars: ["name"]
- }
- }, w.option) : null
- });
- return y.add(k), y.eachChild(function(t) {
- t.silent = !0
- }), k.silent = !h, this.getContentGroup().add(y), Fo(y), y.__legendDataIndex = e, y
- },
- layoutInner: function(t, e, n, i, r, o) {
- var a = this.getContentGroup(),
- s = this.getSelectorGroup();
- Yy(t.get("orient"), a, t.get("itemGap"), n.width, n.height);
- var l = a.getBoundingRect(),
- u = [-l.x, -l.y];
- if (r) {
- Yy("horizontal", s, t.get("selectorItemGap", !0));
- var h = s.getBoundingRect(),
- c = [-h.x, -h.y],
- d = t.get("selectorButtonGap", !0),
- f = t.getOrient().index,
- p = 0 === f ? "width" : "height",
- g = 0 === f ? "height" : "width",
- v = 0 === f ? "y" : "x";
- "end" === o ? c[f] += l[p] + d : u[f] += h[p] + d, c[1 - f] += l[g] / 2 - h[g] / 2, s
- .attr("position", c), a.attr("position", u);
- var m = {
- x: 0,
- y: 0
- };
- return m[p] = l[p] + d + h[p], m[g] = Math.max(l[g], h[g]), m[v] = Math.min(0, h[v] + c[
- 1 - f]), m
- }
- return a.attr("position", u), this.group.getBoundingRect()
- },
- remove: function() {
- this.getContentGroup().removeAll(), this._isFirstRender = !0
- }
- }),
- vS = function(t) {
- var e = t.findComponents({
- mainType: "legend"
- });
- e && e.length && t.filterSeries(function(t) {
- for (var n = 0; n < e.length; n++)
- if (!e[n].isSelected(t.name)) return !1;
- return !0
- })
- };
- wu(W_.PROCESSOR.SERIES_FILTER, vS), qy.registerSubTypeDefaulter("legend", function() {
- return "plain"
- });
- var mS = cS.extend({
- type: "legend.scroll",
- setScrollDataIndex: function(t) {
- this.option.scrollDataIndex = t
- },
- defaultOption: {
- scrollDataIndex: 0,
- pageButtonItemGap: 5,
- pageButtonGap: null,
- pageButtonPosition: "end",
- pageFormatter: "{current}/{total}",
- pageIcons: {
- horizontal: ["M0,0L12,-10L12,10z", "M0,0L-12,-10L-12,10z"],
- vertical: ["M0,0L20,0L10,-20z", "M0,0L20,0L10,20z"]
- },
- pageIconColor: "#2f4554",
- pageIconInactiveColor: "#aaa",
- pageIconSize: 15,
- pageTextStyle: {
- color: "#333"
- },
- animationDurationUpdate: 800
- },
- init: function(t, e, n, i) {
- var r = Ja(t);
- mS.superCall(this, "init", t, e, n, i), Ed(this, t, r)
- },
- mergeOption: function(t, e) {
- mS.superCall(this, "mergeOption", t, e), Ed(this, this.option, t)
- }
- }),
- yS = Cg,
- xS = ["width", "height"],
- _S = ["x", "y"],
- wS = gS.extend({
- type: "legend.scroll",
- newlineDisabled: !0,
- init: function() {
- wS.superCall(this, "init"), this._currentIndex = 0, this.group.add(this._containerGroup =
- new yS), this._containerGroup.add(this.getContentGroup()), this.group.add(this
- ._controllerGroup = new yS), this._showController
- },
- resetInner: function() {
- wS.superCall(this, "resetInner"), this._controllerGroup.removeAll(), this._containerGroup
- .removeClipPath(), this._containerGroup.__rectSize = null
- },
- renderInner: function(t, e, n, i, r, o, a) {
- function s(t, n) {
- var r = t + "DataIndex",
- o = ua(e.get("pageIcons", !0)[e.getOrient().name][n], {
- onclick: y(l._pageGo, l, r, e, i)
- }, {
- x: -h[0] / 2,
- y: -h[1] / 2,
- width: h[0],
- height: h[1]
- });
- o.name = t, u.add(o)
- }
- var l = this;
- wS.superCall(this, "renderInner", t, e, n, i, r, o, a);
- var u = this._controllerGroup,
- h = e.get("pageIconSize", !0);
- _(h) || (h = [h, h]), s("pagePrev", 0);
- var c = e.getModel("pageTextStyle");
- u.add(new Wm({
- name: "pageText",
- style: {
- textFill: c.getTextColor(),
- font: c.getFont(),
- textVerticalAlign: "middle",
- textAlign: "center"
- },
- silent: !0
- })), s("pageNext", 1)
- },
- layoutInner: function(t, e, n, r, o, a) {
- var s = this.getSelectorGroup(),
- l = t.getOrient().index,
- u = xS[l],
- h = _S[l],
- c = xS[1 - l],
- d = _S[1 - l];
- o && Yy("horizontal", s, t.get("selectorItemGap", !0));
- var f = t.get("selectorButtonGap", !0),
- p = s.getBoundingRect(),
- g = [-p.x, -p.y],
- v = i(n);
- o && (v[u] = n[u] - p[u] - f);
- var m = this._layoutContentAndController(t, r, v, l, u, c, d);
- if (o) {
- if ("end" === a) g[l] += m[u] + f;
- else {
- var y = p[u] + f;
- g[l] -= y, m[h] -= y
- }
- m[u] += p[u] + f, g[1 - l] += m[d] + m[c] / 2 - p[c] / 2, m[c] = Math.max(m[c], p[c]),
- m[d] = Math.min(m[d], p[d] + g[1 - l]), s.attr("position", g)
- }
- return m
- },
- _layoutContentAndController: function(t, e, n, i, r, o, a) {
- var s = this.getContentGroup(),
- l = this._containerGroup,
- u = this._controllerGroup;
- Yy(t.get("orient"), s, t.get("itemGap"), i ? n.width : null, i ? null : n.height), Yy(
- "horizontal", u, t.get("pageButtonItemGap", !0));
- var h = s.getBoundingRect(),
- c = u.getBoundingRect(),
- d = this._showController = h[r] > n[r],
- f = [-h.x, -h.y];
- e || (f[i] = s.position[i]);
- var p = [0, 0],
- g = [-c.x, -c.y],
- v = D(t.get("pageButtonGap", !0), t.get("itemGap", !0));
- if (d) {
- var m = t.get("pageButtonPosition", !0);
- "end" === m ? g[i] += n[r] - c[r] : p[i] += c[r] + v
- }
- g[1 - i] += h[o] / 2 - c[o] / 2, s.attr("position", f), l.attr("position", p), u.attr(
- "position", g);
- var y = {
- x: 0,
- y: 0
- };
- if (y[r] = d ? n[r] : h[r], y[o] = Math.max(h[o], c[o]), y[a] = Math.min(0, c[a] + g[1 -
- i]), l.__rectSize = n[r], d) {
- var x = {
- x: 0,
- y: 0
- };
- x[r] = Math.max(n[r] - c[r] - v, 0), x[o] = y[o], l.setClipPath(new Jm({
- shape: x
- })), l.__rectSize = x[r]
- } else u.eachChild(function(t) {
- t.attr({
- invisible: !0,
- silent: !0
- })
- });
- var _ = this._getPageInfo(t);
- return null != _.pageIndex && ea(s, {
- position: _.contentPosition
- }, d ? t : !1), this._updatePageInfoView(t, _), y
- },
- _pageGo: function(t, e, n) {
- var i = this._getPageInfo(e)[t];
- null != i && n.dispatchAction({
- type: "legendScroll",
- scrollDataIndex: i,
- legendId: e.id
- })
- },
- _updatePageInfoView: function(t, e) {
- var n = this._controllerGroup;
- f(["pagePrev", "pageNext"], function(i) {
- var r = null != e[i + "DataIndex"],
- o = n.childOfName(i);
- o && (o.setStyle("fill", r ? t.get("pageIconColor", !0) : t.get(
- "pageIconInactiveColor", !0)), o.cursor = r ? "pointer" : "default")
- });
- var i = n.childOfName("pageText"),
- r = t.get("pageFormatter"),
- o = e.pageIndex,
- a = null != o ? o + 1 : 0,
- s = e.pageCount;
- i && r && i.setStyle("text", b(r) ? r.replace("{current}", a).replace("{total}", s) : r({
- current: a,
- total: s
- }))
- },
- _getPageInfo: function(t) {
- function e(t) {
- if (t) {
- var e = t.getBoundingRect(),
- n = e[l] + t.position[a];
- return {
- s: n,
- e: n + e[s],
- i: t.__legendDataIndex
- }
- }
- }
- function n(t, e) {
- return t.e >= e && t.s <= e + o
- }
- var i = t.get("scrollDataIndex", !0),
- r = this.getContentGroup(),
- o = this._containerGroup.__rectSize,
- a = t.getOrient().index,
- s = xS[a],
- l = _S[a],
- u = this._findTargetItemIndex(i),
- h = r.children(),
- c = h[u],
- d = h.length,
- f = d ? 1 : 0,
- p = {
- contentPosition: r.position.slice(),
- pageCount: f,
- pageIndex: f - 1,
- pagePrevDataIndex: null,
- pageNextDataIndex: null
- };
- if (!c) return p;
- var g = e(c);
- p.contentPosition[a] = -g.s;
- for (var v = u + 1, m = g, y = g, x = null; d >= v; ++v) x = e(h[v]), (!x && y.e > m.s +
- o || x && !n(x, m.s)) && (m = y.i > m.i ? y : x, m && (null == p
- .pageNextDataIndex && (p.pageNextDataIndex = m.i), ++p.pageCount)), y = x;
- for (var v = u - 1, m = g, y = g, x = null; v >= -1; --v) x = e(h[v]), x && n(y, x.s) || !(m
- .i < y.i) || (y = m, null == p.pagePrevDataIndex && (p.pagePrevDataIndex = m.i), ++p
- .pageCount, ++p.pageIndex), m = x;
- return p
- },
- _findTargetItemIndex: function(t) {
- if (!this._showController) return 0;
- var e, n, i = this.getContentGroup();
- return i.eachChild(function(i, r) {
- var o = i.__legendDataIndex;
- null == n && null != o && (n = r), o === t && (e = r)
- }), null != e ? e : n
- }
- });
- Su("legendScroll", "legendscroll", function(t, e) {
- var n = t.scrollDataIndex;
- null != n && e.eachComponent({
- mainType: "legend",
- subType: "scroll",
- query: t
- }, function(t) {
- t.setScrollDataIndex(n)
- })
- });
- var bS = function(t, e) {
- var n, i = [],
- r = t.seriesIndex;
- if (null == r || !(n = e.getSeriesByIndex(r))) return {
- point: []
- };
- var o = n.getData(),
- a = lr(o, t);
- if (null == a || 0 > a || _(a)) return {
- point: []
- };
- var s = o.getItemGraphicEl(a),
- l = n.coordinateSystem;
- if (n.getTooltipPosition) i = n.getTooltipPosition(a) || [];
- else if (l && l.dataToPoint) i = l.dataToPoint(o.getValues(p(l.dimensions, function(t) {
- return o.mapDimension(t)
- }), a, !0)) || [];
- else if (s) {
- var u = s.getBoundingRect().clone();
- u.applyTransform(s.transform), i = [u.x + u.width / 2, u.y + u.height / 2]
- }
- return {
- point: i,
- el: s
- }
- },
- SS = f,
- MS = x,
- IS = ur(),
- CS = function(t, e, n) {
- var i = t.currTrigger,
- r = [t.x, t.y],
- o = t,
- a = t.dispatchAction || y(n.dispatchAction, n),
- s = e.getComponent("axisPointer").coordSysAxesInfo;
- if (s) {
- Xd(r) && (r = bS({
- seriesIndex: o.seriesIndex,
- dataIndex: o.dataIndex
- }, e).point);
- var l = Xd(r),
- u = o.axesInfo,
- h = s.axesInfo,
- c = "leave" === i || Xd(r),
- d = {},
- f = {},
- p = {
- list: [],
- map: {}
- },
- g = {
- showPointer: MS(Nd, f),
- showTooltip: MS(Fd, p)
- };
- SS(s.coordSysMap, function(t, e) {
- var n = l || t.containPoint(r);
- SS(s.coordSysAxesInfo[e], function(t) {
- var e = t.axis,
- i = Gd(u, t);
- if (!c && n && (!u || i)) {
- var o = i && i.value;
- null != o || l || (o = e.pointToData(r)), null != o && Bd(t, o, g, !1,
- d)
- }
- })
- });
- var v = {};
- return SS(h, function(t, e) {
- var n = t.linkGroup;
- n && !f[e] && SS(n.axesInfo, function(e, i) {
- var r = f[i];
- if (e !== t && r) {
- var o = r.value;
- n.mapper && (o = t.axis.scale.parse(n.mapper(o, Zd(e), Zd(t)))), v[t
- .key] = o
- }
- })
- }), SS(v, function(t, e) {
- Bd(h[e], t, g, !0, d)
- }), Vd(f, h, d), Wd(p, r, t, a), Hd(h, a, n), d
- }
- },
- TS = (ku({
- type: "axisPointer",
- coordSysAxesInfo: null,
- defaultOption: {
- show: "auto",
- triggerOn: null,
- zlevel: 0,
- z: 50,
- type: "line",
- snap: !1,
- triggerTooltip: !0,
- value: null,
- status: null,
- link: [],
- animation: null,
- animationDurationUpdate: 200,
- lineStyle: {
- color: "#aaa",
- width: 1,
- type: "solid"
- },
- shadowStyle: {
- color: "rgba(150,150,150,0.3)"
- },
- label: {
- show: !0,
- formatter: null,
- precision: "auto",
- margin: 3,
- color: "#fff",
- padding: [5, 7, 5, 7],
- backgroundColor: "auto",
- borderColor: null,
- borderWidth: 0,
- shadowBlur: 3,
- shadowColor: "#aaa"
- },
- handle: {
- show: !1,
- icon: "M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",
- size: 45,
- margin: 50,
- color: "#333",
- shadowBlur: 3,
- shadowColor: "#aaa",
- shadowOffsetX: 0,
- shadowOffsetY: 2,
- throttle: 40
- }
- }
- }), ur()),
- AS = f,
- DS = Pu({
- type: "axisPointer",
- render: function(t, e, n) {
- var i = e.getComponent("tooltip"),
- r = t.get("triggerOn") || i && i.get("triggerOn") || "mousemove|click";
- Yd("axisPointer", n, function(t, e, n) {
- "none" !== r && ("leave" === t || r.indexOf(t) >= 0) && n({
- type: "updateAxisPointer",
- currTrigger: t,
- x: e && e.offsetX,
- y: e && e.offsetY
- })
- })
- },
- remove: function(t, e) {
- Qd(e.getZr(), "axisPointer"), DS.superApply(this._model, "remove", arguments)
- },
- dispose: function(t, e) {
- Qd("axisPointer", e), DS.superApply(this._model, "dispose", arguments)
- }
- }),
- kS = ur(),
- PS = i,
- OS = y;
- Jd.prototype = {
- _group: null,
- _lastGraphicKey: null,
- _handle: null,
- _dragging: !1,
- _lastValue: null,
- _lastStatus: null,
- _payloadInfo: null,
- animationThreshold: 15,
- render: function(t, e, n, i) {
- var r = e.get("value"),
- o = e.get("status");
- if (this._axisModel = t, this._axisPointerModel = e, this._api = n, i || this._lastValue !==
- r || this._lastStatus !== o) {
- this._lastValue = r, this._lastStatus = o;
- var a = this._group,
- s = this._handle;
- if (!o || "hide" === o) return a && a.hide(), void(s && s.hide());
- a && a.show(), s && s.show();
- var l = {};
- this.makeElOption(l, r, t, e, n);
- var u = l.graphicKey;
- u !== this._lastGraphicKey && this.clear(n), this._lastGraphicKey = u;
- var h = this._moveAnimation = this.determineAnimation(t, e);
- if (a) {
- var c = x(tf, e, h);
- this.updatePointerEl(a, l, c, e), this.updateLabelEl(a, l, c, e)
- } else a = this._group = new Cg, this.createPointerEl(a, l, t, e), this.createLabelEl(a, l,
- t, e), n.getZr().add(a);
- of(a, e, !0), this._renderHandle(r)
- }
- },
- remove: function(t) {
- this.clear(t)
- },
- dispose: function(t) {
- this.clear(t)
- },
- determineAnimation: function(t, e) {
- var n = e.get("animation"),
- i = t.axis,
- r = "category" === i.type,
- o = e.get("snap");
- if (!o && !r) return !1;
- if ("auto" === n || null == n) {
- var a = this.animationThreshold;
- if (r && i.getBandWidth() > a) return !0;
- if (o) {
- var s = _d(t).seriesDataCount,
- l = i.getExtent();
- return Math.abs(l[0] - l[1]) / s > a
- }
- return !1
- }
- return n === !0
- },
- makeElOption: function() {},
- createPointerEl: function(t, e) {
- var n = e.pointer;
- if (n) {
- var i = kS(t).pointerEl = new My[n.type](PS(e.pointer));
- t.add(i)
- }
- },
- createLabelEl: function(t, e, n, i) {
- if (e.label) {
- var r = kS(t).labelEl = new Jm(PS(e.label));
- t.add(r), nf(r, i)
- }
- },
- updatePointerEl: function(t, e, n) {
- var i = kS(t).pointerEl;
- i && e.pointer && (i.setStyle(e.pointer.style), n(i, {
- shape: e.pointer.shape
- }))
- },
- updateLabelEl: function(t, e, n, i) {
- var r = kS(t).labelEl;
- r && (r.setStyle(e.label.style), n(r, {
- shape: e.label.shape,
- position: e.label.position
- }), nf(r, i))
- },
- _renderHandle: function(t) {
- if (!this._dragging && this.updateHandleTransform) {
- var e = this._axisPointerModel,
- n = this._api.getZr(),
- i = this._handle,
- r = e.getModel("handle"),
- o = e.get("status");
- if (!r.get("show") || !o || "hide" === o) return i && n.remove(i), void(this._handle =
- null);
- var a;
- this._handle || (a = !0, i = this._handle = ua(r.get("icon"), {
- cursor: "move",
- draggable: !0,
- onmousemove: function(t) {
- Wp(t.event)
- },
- onmousedown: OS(this._onHandleDragMove, this, 0, 0),
- drift: OS(this._onHandleDragMove, this),
- ondragend: OS(this._onHandleDragEnd, this)
- }), n.add(i)), of(i, e, !1);
- var s = ["color", "borderColor", "borderWidth", "opacity", "shadowColor", "shadowBlur",
- "shadowOffsetX", "shadowOffsetY"
- ];
- i.setStyle(r.getItemStyle(null, s));
- var l = r.get("size");
- _(l) || (l = [l, l]), i.attr("scale", [l[0] / 2, l[1] / 2]), vl(this,
- "_doDispatchAxisPointer", r.get("throttle") || 0, "fixRate"), this
- ._moveHandleToValue(t, a)
- }
- },
- _moveHandleToValue: function(t, e) {
- tf(this._axisPointerModel, !e && this._moveAnimation, this._handle, rf(this.getHandleTransform(
- t, this._axisModel, this._axisPointerModel)))
- },
- _onHandleDragMove: function(t, e) {
- var n = this._handle;
- if (n) {
- this._dragging = !0;
- var i = this.updateHandleTransform(rf(n), [t, e], this._axisModel, this._axisPointerModel);
- this._payloadInfo = i, n.stopAnimation(), n.attr(rf(i)), kS(n).lastProp = null, this
- ._doDispatchAxisPointer()
- }
- },
- _doDispatchAxisPointer: function() {
- var t = this._handle;
- if (t) {
- var e = this._payloadInfo,
- n = this._axisModel;
- this._api.dispatchAction({
- type: "updateAxisPointer",
- x: e.cursorPoint[0],
- y: e.cursorPoint[1],
- tooltipOption: e.tooltipOption,
- axesInfo: [{
- axisDim: n.axis.dim,
- axisIndex: n.componentIndex
- }]
- })
- }
- },
- _onHandleDragEnd: function() {
- this._dragging = !1;
- var t = this._handle;
- if (t) {
- 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(),
- n = this._group,
- i = this._handle;
- e && n && (this._lastGraphicKey = null, n && e.remove(n), i && e.remove(i), this._group = null,
- this._handle = null, this._payloadInfo = null)
- },
- doClear: function() {},
- buildLabel: function(t, e, n) {
- return n = n || 0, {
- x: t[n],
- y: t[1 - n],
- width: e[n],
- height: e[1 - n]
- }
- }
- }, Jd.prototype.constructor = Jd, mr(Jd);
- var LS = Jd.extend({
- makeElOption: function(t, e, n, i, r) {
- var o = n.axis,
- a = o.grid,
- s = i.get("type"),
- l = pf(a, o).getOtherAxis(o).getGlobalExtent(),
- u = o.toGlobalCoord(o.dataToCoord(e, !0));
- if (s && "none" !== s) {
- var h = af(i),
- c = zS[s](o, u, l);
- c.style = h, t.graphicKey = c.type, t.pointer = c
- }
- var d = Cd(a.model, n);
- cf(e, t, d, n, i, r)
- },
- getHandleTransform: function(t, e, n) {
- var i = Cd(e.axis.grid.model, e, {
- labelInside: !1
- });
- return i.labelMargin = n.get("handle.margin"), {
- position: hf(e.axis, t, i),
- rotation: i.rotation + (i.labelDirection < 0 ? Math.PI : 0)
- }
- },
- updateHandleTransform: function(t, e, n) {
- var i = n.axis,
- r = i.grid,
- o = i.getGlobalExtent(!0),
- a = pf(r, i).getOtherAxis(i).getGlobalExtent(),
- s = "x" === i.dim ? 0 : 1,
- l = t.position;
- l[s] += e[s], l[s] = Math.min(o[1], l[s]), l[s] = Math.max(o[0], l[s]);
- var u = (a[1] + a[0]) / 2,
- h = [u, u];
- h[s] = l[s];
- var c = [{
- verticalAlign: "middle"
- }, {
- align: "center"
- }];
- return {
- position: l,
- rotation: t.rotation,
- cursorPoint: h,
- tooltipOption: c[s]
- }
- }
- }),
- zS = {
- line: function(t, e, n) {
- var i = df([e, n[0]], [e, n[1]], gf(t));
- return {
- type: "Line",
- subPixelOptimize: !0,
- shape: i
- }
- },
- shadow: function(t, e, n) {
- var i = Math.max(1, t.getBandWidth()),
- r = n[1] - n[0];
- return {
- type: "Rect",
- shape: ff([e - i / 2, n[0]], [i, r], gf(t))
- }
- }
- };
- rS.registerAxisPointerClass("CartesianAxisPointer", LS), _u(function(t) {
- if (t) {
- (!t.axisPointer || 0 === t.axisPointer.length) && (t.axisPointer = {});
- var e = t.axisPointer.link;
- e && !_(e) && (t.axisPointer.link = [e])
- }
- }), wu(W_.PROCESSOR.STATISTIC, function(t, e) {
- t.getComponent("axisPointer").coordSysAxesInfo = fd(t, e)
- }), Su({
- type: "updateAxisPointer",
- event: "updateAxisPointer",
- update: ":updateAxisPointer"
- }, CS), ku({
- type: "tooltip",
- dependencies: ["axisPointer"],
- defaultOption: {
- zlevel: 0,
- z: 60,
- show: !0,
- showContent: !0,
- trigger: "item",
- triggerOn: "mousemove|click",
- alwaysShowContent: !1,
- displayMode: "single",
- renderMode: "auto",
- confine: !1,
- showDelay: 0,
- hideDelay: 100,
- transitionDuration: .4,
- enterable: !1,
- backgroundColor: "rgba(50,50,50,0.7)",
- borderColor: "#333",
- borderRadius: 4,
- borderWidth: 0,
- padding: 5,
- extraCssText: "",
- axisPointer: {
- type: "line",
- axis: "auto",
- animation: "auto",
- animationDurationUpdate: 200,
- animationEasingUpdate: "exponentialOut",
- crossStyle: {
- color: "#999",
- width: 1,
- type: "dashed",
- textStyle: {}
- }
- },
- textStyle: {
- color: "#fff",
- fontSize: 14
- }
- }
- });
- var ES = f,
- BS = Fa,
- RS = ["", "-webkit-", "-moz-", "-o-"],
- NS = "position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;";
- _f.prototype = {
- constructor: _f,
- _enterable: !0,
- update: function() {
- var t = this._container,
- e = t.currentStyle || document.defaultView.getComputedStyle(t),
- n = t.style;
- "absolute" !== n.position && "absolute" !== e.position && (n.position = "relative")
- },
- show: function(t) {
- clearTimeout(this._hideTimeout);
- var e = this.el,
- n = this._styleCoord;
- e.style.cssText = NS + yf(t) + ";left:" + n[0] + "px;top:" + n[1] + "px;" + (t.get(
- "extraCssText") || ""), e.style.display = e.innerHTML ? "block" : "none", e.style
- .pointerEvents = this._enterable ? "auto" : "none", this._show = !0
- },
- setContent: function(t) {
- this.el.innerHTML = null == t ? "" : t
- },
- setEnterable: function(t) {
- this._enterable = t
- },
- getSize: function() {
- var t = this.el;
- return [t.clientWidth, t.clientHeight]
- },
- moveTo: function(t, e) {
- var n = this._styleCoord;
- xf(n, this._zr, this._appendToBody, t, e);
- var i = this.el.style;
- i.left = n[0] + "px", i.top = n[1] + "px"
- },
- hide: function() {
- this.el.style.display = "none", this._show = !1
- },
- hideLater: function(t) {
- !this._show || this._inContent && this._enterable || (t ? (this._hideDelay = t, this._show = !1,
- this._hideTimeout = setTimeout(y(this.hide, this), t)) : this.hide())
- },
- isShow: function() {
- return this._show
- },
- dispose: function() {
- this.el.parentNode.removeChild(this.el)
- },
- getOuterSize: function() {
- var t = this.el.clientWidth,
- e = this.el.clientHeight;
- if (document.defaultView && document.defaultView.getComputedStyle) {
- var n = document.defaultView.getComputedStyle(this.el);
- n && (t += parseInt(n.borderLeftWidth, 10) + parseInt(n.borderRightWidth, 10), e +=
- parseInt(n.borderTopWidth, 10) + parseInt(n.borderBottomWidth, 10))
- }
- return {
- width: t,
- height: e
- }
- }
- }, wf.prototype = {
- constructor: wf,
- _enterable: !0,
- update: function() {},
- show: function() {
- this._hideTimeout && clearTimeout(this._hideTimeout), this.el.attr("show", !0), this._show = !0
- },
- setContent: function(t, e, n) {
- this.el && this._zr.remove(this.el);
- for (var i = {}, r = t, o = "{marker", a = "|}", s = r.indexOf(o); s >= 0;) {
- var l = r.indexOf(a),
- u = r.substr(s + o.length, l - s - o.length);
- i["marker" + u] = u.indexOf("sub") > -1 ? {
- textWidth: 4,
- textHeight: 4,
- textBorderRadius: 2,
- textBackgroundColor: e[u],
- textOffset: [3, 0]
- } : {
- textWidth: 10,
- textHeight: 10,
- textBorderRadius: 5,
- textBackgroundColor: e[u]
- }, r = r.substr(l + 1), s = r.indexOf("{marker")
- }
- this.el = new Wm({
- style: {
- rich: i,
- text: t,
- textLineHeight: 20,
- textBackgroundColor: n.get("backgroundColor"),
- textBorderRadius: n.get("borderRadius"),
- textFill: n.get("textStyle.color"),
- textPadding: n.get("padding")
- },
- z: n.get("z")
- }), this._zr.add(this.el);
- var h = this;
- this.el.on("mouseover", function() {
- h._enterable && (clearTimeout(h._hideTimeout), h._show = !0), h._inContent = !0
- }), this.el.on("mouseout", function() {
- h._enterable && h._show && h.hideLater(h._hideDelay), h._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(), this._show = !1
- },
- hideLater: function(t) {
- !this._show || this._inContent && this._enterable || (t ? (this._hideDelay = t, this._show = !1,
- this._hideTimeout = setTimeout(y(this.hide, this), t)) : this.hide())
- },
- isShow: function() {
- return this._show
- },
- getOuterSize: function() {
- var t = this.getSize();
- return {
- width: t[0],
- height: t[1]
- }
- }
- };
- var FS = y,
- VS = f,
- WS = ba,
- HS = new Jm({
- shape: {
- x: -1,
- y: -1,
- width: 2,
- height: 2
- }
- });
- Pu({
- type: "tooltip",
- init: function(t, e) {
- if (!dp.node) {
- var n = t.getComponent("tooltip"),
- i = n.get("renderMode");
- this._renderMode = pr(i);
- var r;
- "html" === this._renderMode ? (r = new _f(e.getDom(), e, {
- appendToBody: n.get("appendToBody", !0)
- }), this._newLine = "<br/>") : (r = new wf(e), this._newLine = "\n"), this
- ._tooltipContent = r
- }
- },
- render: function(t, e, n) {
- if (!dp.node) {
- this.group.removeAll(), this._tooltipModel = t, this._ecModel = e, this._api = n, this
- ._lastDataByCoordSys = null, this._alwaysShowContent = t.get("alwaysShowContent");
- var i = this._tooltipContent;
- i.update(), i.setEnterable(t.get("enterable")), this._initGlobalListener(), this
- ._keepShow()
- }
- },
- _initGlobalListener: function() {
- var t = this._tooltipModel,
- e = t.get("triggerOn");
- Yd("itemTooltip", this._api, FS(function(t, n, i) {
- "none" !== e && (e.indexOf(t) >= 0 ? this._tryShow(n, i) : "leave" === t &&
- this._hide(i))
- }, this))
- },
- _keepShow: function() {
- var t = this._tooltipModel,
- e = this._ecModel,
- n = this._api;
- if (null != this._lastX && null != this._lastY && "none" !== t.get("triggerOn")) {
- var i = this;
- clearTimeout(this._refreshUpdateTimeout), this._refreshUpdateTimeout = setTimeout(
- function() {
- !n.isDisposed() && i.manuallyShowTip(t, e, n, {
- x: i._lastX,
- y: i._lastY
- })
- })
- }
- },
- manuallyShowTip: function(t, e, n, i) {
- if (i.from !== this.uid && !dp.node) {
- var r = Sf(i, n);
- this._ticket = "";
- var o = i.dataByCoordSys;
- if (i.tooltip && null != i.x && null != i.y) {
- var a = HS;
- a.position = [i.x, i.y], a.update(), a.tooltip = i.tooltip, this._tryShow({
- offsetX: i.x,
- offsetY: i.y,
- target: a
- }, r)
- } else if (o) this._tryShow({
- offsetX: i.x,
- offsetY: i.y,
- position: i.position,
- dataByCoordSys: i.dataByCoordSys,
- tooltipOption: i.tooltipOption
- }, r);
- else if (null != i.seriesIndex) {
- if (this._manuallyAxisShowTip(t, e, n, i)) return;
- var s = bS(i, e),
- l = s.point[0],
- u = s.point[1];
- null != l && null != u && this._tryShow({
- offsetX: l,
- offsetY: u,
- position: i.position,
- target: s.el
- }, r)
- } else null != i.x && null != i.y && (n.dispatchAction({
- type: "updateAxisPointer",
- x: i.x,
- y: i.y
- }), this._tryShow({
- offsetX: i.x,
- offsetY: i.y,
- position: i.position,
- target: n.getZr().findHover(i.x, i.y).target
- }, r))
- }
- },
- manuallyHideTip: function(t, e, n, i) {
- var r = this._tooltipContent;
- !this._alwaysShowContent && this._tooltipModel && r.hideLater(this._tooltipModel.get(
- "hideDelay")), this._lastX = this._lastY = null, i.from !== this.uid && this._hide(
- Sf(i, n))
- },
- _manuallyAxisShowTip: function(t, e, n, i) {
- var r = i.seriesIndex,
- o = i.dataIndex,
- a = e.getComponent("axisPointer").coordSysAxesInfo;
- if (null != r && null != o && null != a) {
- var s = e.getSeriesByIndex(r);
- if (s) {
- var l = s.getData(),
- t = bf([l.getItemModel(o), s, (s.coordinateSystem || {}).model, t]);
- if ("axis" === t.get("trigger")) return n.dispatchAction({
- type: "updateAxisPointer",
- seriesIndex: r,
- dataIndex: o,
- position: i.position
- }), !0
- }
- }
- },
- _tryShow: function(t, e) {
- var n = t.target,
- i = this._tooltipModel;
- if (i) {
- this._lastX = t.offsetX, this._lastY = t.offsetY;
- var r = t.dataByCoordSys;
- r && r.length ? this._showAxisTooltip(r, t) : n && null != n.dataIndex ? (this
- ._lastDataByCoordSys = null, this._showSeriesItemTooltip(t, n, e)) : n && n
- .tooltip ? (this._lastDataByCoordSys = null, this._showComponentItemTooltip(t, n,
- e)) : (this._lastDataByCoordSys = null, this._hide(e))
- }
- },
- _showOrMove: function(t, e) {
- var n = t.get("showDelay");
- e = y(e, this), clearTimeout(this._showTimout), n > 0 ? this._showTimout = setTimeout(e,
- n) : e()
- },
- _showAxisTooltip: function(t, e) {
- var n = this._ecModel,
- i = this._tooltipModel,
- o = [e.offsetX, e.offsetY],
- a = [],
- s = [],
- l = bf([e.tooltipOption, i]),
- u = this._renderMode,
- h = this._newLine,
- c = {};
- VS(t, function(t) {
- VS(t.dataByAxis, function(t) {
- var e = n.getComponent(t.axisDim + "Axis", t.axisIndex),
- i = t.value,
- o = [];
- if (e && null != i) {
- var l = uf(i, e.axis, n, t.seriesDataIndices, t.valueLabelOpt);
- f(t.seriesDataIndices, function(a) {
- var h = n.getSeriesByIndex(a.seriesIndex),
- d = a.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 = Hh(e.axis, i), f
- .axisValueLabel = l, f) {
- s.push(f);
- var p, g = h.formatTooltip(d, !0, null, u);
- if (S(g)) {
- p = g.html;
- var v = g.markers;
- r(c, v)
- } else p = g;
- o.push(p)
- }
- });
- var d = l;
- a.push("html" !== u ? o.join(h) : (d ? Va(d) + h : "") + o.join(
- h))
- }
- })
- }, this), a.reverse(), a = a.join(this._newLine + this._newLine);
- var d = e.position;
- this._showOrMove(l, function() {
- this._updateContentNotChangedOnAxis(t) ? this._updatePosition(l, d, o[0], o[1],
- this._tooltipContent, s) : this._showTooltipContent(l, a, s, Math
- .random(), o[0], o[1], d, void 0, c)
- })
- },
- _showSeriesItemTooltip: function(t, e, n) {
- var i = this._ecModel,
- r = e.seriesIndex,
- o = i.getSeriesByIndex(r),
- a = e.dataModel || o,
- s = e.dataIndex,
- l = e.dataType,
- u = a.getData(l),
- h = bf([u.getItemModel(s), a, o && (o.coordinateSystem || {}).model, this
- ._tooltipModel]),
- c = h.get("trigger");
- if (null == c || "item" === c) {
- var d, f, p = a.getDataParams(s, l),
- g = a.formatTooltip(s, !1, l, this._renderMode);
- S(g) ? (d = g.html, f = g.markers) : (d = g, f = null);
- var v = "item_" + a.name + "_" + s;
- this._showOrMove(h, function() {
- this._showTooltipContent(h, d, p, v, t.offsetX, t.offsetY, t.position, t
- .target, f)
- }), n({
- type: "showTip",
- dataIndexInside: s,
- dataIndex: u.getRawIndex(s),
- seriesIndex: r,
- from: this.uid
- })
- }
- },
- _showComponentItemTooltip: function(t, e, n) {
- var i = e.tooltip;
- if ("string" == typeof i) {
- var r = i;
- i = {
- content: r,
- formatter: r
- }
- }
- var o = new pa(i, this._tooltipModel, this._ecModel),
- a = o.get("content"),
- s = Math.random();
- this._showOrMove(o, function() {
- this._showTooltipContent(o, a, o.get("formatterParams") || {}, s, t.offsetX, t
- .offsetY, t.position, e)
- }), n({
- type: "showTip",
- from: this.uid
- })
- },
- _showTooltipContent: function(t, e, n, i, r, o, a, s, l) {
- if (this._ticket = "", t.get("showContent") && t.get("show")) {
- var u = this._tooltipContent,
- h = t.get("formatter");
- a = a || t.get("position");
- var c = e;
- if (h && "string" == typeof h) c = Wa(h, n, !0);
- else if ("function" == typeof h) {
- var d = FS(function(e, i) {
- e === this._ticket && (u.setContent(i, l, t), this._updatePosition(t, a,
- r, o, u, n, s))
- }, this);
- this._ticket = i, c = h(n, i, d)
- }
- u.setContent(c, l, t), u.show(t), this._updatePosition(t, a, r, o, u, n, s)
- }
- },
- _updatePosition: function(t, e, n, i, r, o, a) {
- var s = this._api.getWidth(),
- l = this._api.getHeight();
- e = e || t.get("position");
- var u = r.getSize(),
- h = t.get("align"),
- c = t.get("verticalAlign"),
- d = a && a.getBoundingRect().clone();
- if (a && d.applyTransform(a.transform), "function" == typeof e && (e = e([n, i], o, r.el,
- d, {
- viewSize: [s, l],
- contentSize: u.slice()
- })), _(e)) n = WS(e[0], s), i = WS(e[1], l);
- else if (S(e)) {
- e.width = u[0], e.height = u[1];
- var f = $a(e, {
- width: s,
- height: l
- });
- n = f.x, i = f.y, h = null, c = null
- } else if ("string" == typeof e && a) {
- var p = Cf(e, d, u);
- n = p[0], i = p[1]
- } else {
- var p = Mf(n, i, r, s, l, h ? null : 20, c ? null : 20);
- n = p[0], i = p[1]
- }
- if (h && (n -= Tf(h) ? u[0] / 2 : "right" === h ? u[0] : 0), c && (i -= Tf(c) ? u[1] / 2 :
- "bottom" === c ? u[1] : 0), t.get("confine")) {
- var p = If(n, i, r, s, l);
- n = p[0], i = p[1]
- }
- r.moveTo(n, i)
- },
- _updateContentNotChangedOnAxis: function(t) {
- var e = this._lastDataByCoordSys,
- n = !!e && e.length === t.length;
- return n && VS(e, function(e, i) {
- var r = e.dataByAxis || {},
- o = t[i] || {},
- a = o.dataByAxis || [];
- n &= r.length === a.length, n && VS(r, function(t, e) {
- var i = a[e] || {},
- r = t.seriesDataIndices || [],
- o = i.seriesDataIndices || [];
- n &= t.value === i.value && t.axisType === i.axisType && t
- .axisId === i.axisId && r.length === o.length, n && VS(r,
- function(t, e) {
- var i = o[e];
- n &= t.seriesIndex === i.seriesIndex && t.dataIndex ===
- i.dataIndex
- })
- })
- }), this._lastDataByCoordSys = t, !!n
- },
- _hide: function(t) {
- this._lastDataByCoordSys = null, t({
- type: "hideTip",
- from: this.uid
- })
- },
- dispose: function(t, e) {
- dp.node || (this._tooltipContent.dispose(), Qd("itemTooltip", e))
- }
- }), Su({
- type: "showTip",
- event: "showTip",
- update: "tooltip:manuallyShowTip"
- }, function() {}), Su({
- type: "hideTip",
- event: "hideTip",
- update: "tooltip:manuallyHideTip"
- }, function() {}), qy.registerSubTypeDefaulter("dataZoom", function() {
- return "slider"
- });
- var GS = ["x", "y", "z", "radius", "angle", "single"],
- ZS = ["cartesian2d", "polar", "singleAxis"],
- XS = Df(GS, ["axisIndex", "axis", "index", "id"]),
- YS = function(t, e, n, i, r, o) {
- t = t || 0;
- var a = n[1] - n[0];
- if (null != r && (r = Of(r, [0, a])), null != o && (o = Math.max(o, null != r ? r : 0)), "all" === i) {
- var s = Math.abs(e[1] - e[0]);
- s = Of(s, [0, a]), r = o = Of(s, [r, o]), i = 0
- }
- e[0] = Of(e[0], n), e[1] = Of(e[1], n);
- var l = Pf(e, i);
- e[i] += t;
- var u = r || 0,
- h = n.slice();
- l.sign < 0 ? h[0] += u : h[1] -= u, e[i] = Of(e[i], h);
- var c = Pf(e, i);
- null != r && (c.sign !== l.sign || c.span < r) && (e[1 - i] = e[i] + l.sign * r);
- var c = Pf(e, i);
- return null != o && c.span > o && (e[1 - i] = e[i] + c.sign * o), e
- },
- US = f,
- jS = Ma,
- qS = function(t, e, n, i) {
- this._dimName = t, this._axisIndex = e, this._valueWindow, this._percentWindow, this._dataExtent, this
- ._minMaxSpan, this.ecModel = i, this._dataZoomModel = n
- };
- qS.prototype = {
- constructor: qS,
- hostedBy: function(t) {
- return this._dataZoomModel === t
- },
- getDataValueWindow: function() {
- return this._valueWindow.slice()
- },
- getDataPercentWindow: function() {
- return this._percentWindow.slice()
- },
- getTargetSeriesModels: function() {
- var t = [],
- e = this.ecModel;
- return e.eachSeries(function(n) {
- if (Af(n.get("coordinateSystem"))) {
- var i = this._dimName,
- r = e.queryComponents({
- mainType: i + "Axis",
- index: n.get(i + "AxisIndex"),
- id: n.get(i + "AxisId")
- })[0];
- this._axisIndex === (r && r.componentIndex) && t.push(n)
- }
- }, this), t
- },
- getAxisModel: function() {
- return this.ecModel.getComponent(this._dimName + "Axis", this._axisIndex)
- },
- getOtherAxisModel: function() {
- var t, e, n = this._dimName,
- i = this.ecModel,
- r = this.getAxisModel(),
- o = "x" === n || "y" === n;
- o ? (e = "gridIndex", t = "x" === n ? "y" : "x") : (e = "polarIndex", t = "angle" === n ?
- "radius" : "angle");
- var a;
- return i.eachComponent(t + "Axis", function(t) {
- (t.get(e) || 0) === (r.get(e) || 0) && (a = t)
- }), a
- },
- getMinMaxSpan: function() {
- return i(this._minMaxSpan)
- },
- calculateDataWindow: function(t) {
- function e(t, e, n, i, r) {
- var a = r ? "Span" : "ValueSpan";
- YS(0, t, n, "all", h["min" + a], h["max" + a]);
- for (var s = 0; 2 > s; s++) e[s] = wa(t[s], n, i, !0), r && (e[s] = o.parse(e[s]))
- }
- var n, i = this._dataExtent,
- r = this.getAxisModel(),
- o = r.axis.scale,
- a = this._dataZoomModel.getRangePropMode(),
- s = [0, 100],
- l = [],
- u = [];
- US(["start", "end"], function(e, r) {
- var h = t[e],
- c = t[e + "Value"];
- "percent" === a[r] ? (null == h && (h = s[r]), c = o.parse(wa(h, s, i))) : (n = !0,
- c = null == c ? i[r] : o.parse(c), h = wa(c, i, s)), u[r] = c, l[r] = h
- }), jS(u), jS(l);
- var h = this._minMaxSpan;
- return n ? e(u, l, i, s, !1) : e(l, u, s, i, !0), {
- valueWindow: u,
- percentWindow: l
- }
- },
- reset: function(t) {
- if (t === this._dataZoomModel) {
- var e = this.getTargetSeriesModels();
- this._dataExtent = Lf(this, this._dimName, e), Bf(this);
- var n = this.calculateDataWindow(t.settledOption);
- this._valueWindow = n.valueWindow, this._percentWindow = n.percentWindow, Ef(this)
- }
- },
- restore: function(t) {
- t === this._dataZoomModel && (this._valueWindow = this._percentWindow = null, Ef(this, !0))
- },
- filterData: function(t) {
- function e(t) {
- return t >= o[0] && t <= o[1]
- }
- if (t === this._dataZoomModel) {
- var n = this._dimName,
- i = this.getTargetSeriesModels(),
- r = t.get("filterMode"),
- o = this._valueWindow;
- "none" !== r && US(i, function(t) {
- var i = t.getData(),
- a = i.mapDimension(n, !0);
- a.length && ("weakFilter" === r ? i.filterSelf(function(t) {
- for (var e, n, r, s = 0; s < a.length; s++) {
- var l = i.get(a[s], t),
- u = !isNaN(l),
- h = l < o[0],
- c = l > o[1];
- if (u && !h && !c) return !0;
- u && (r = !0), h && (e = !0), c && (n = !0)
- }
- return r && e && n
- }) : US(a, function(n) {
- if ("empty" === r) t.setData(i = i.map(n, function(t) {
- return e(t) ? t : 0 / 0
- }));
- else {
- var a = {};
- a[n] = o, i.selectRange(a)
- }
- }), US(a, function(t) {
- i.setApproximateExtent(o, t)
- }))
- })
- }
- }
- };
- var KS = f,
- $S = XS,
- QS = ku({
- 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, n) {
- this._dataIntervalByAxis = {}, this._dataInfo = {}, this._axisProxies = {}, this
- .textStyleModel, this._autoThrottle = !0, this._rangePropMode = ["percent", "percent"];
- var i = Rf(t);
- this.settledOption = i, this.mergeDefaultAndTheme(t, n), this.doInit(i)
- },
- mergeOption: function(t) {
- var e = Rf(t);
- r(this.option, t, !0), r(this.settledOption, e, !0), this.doInit(e)
- },
- doInit: function(t) {
- var e = this.option;
- dp.canvasSupported || (e.realtime = !1), this._setDefaultThrottle(t), Nf(this, t);
- var n = this.settledOption;
- KS([
- ["start", "startValue"],
- ["end", "endValue"]
- ], function(t, i) {
- "value" === this._rangePropMode[i] && (e[t[0]] = n[t[0]] = null)
- }, this), this.textStyleModel = this.getModel("textStyle"), this._resetTarget(), this
- ._giveAxisProxies()
- },
- _giveAxisProxies: function() {
- var t = this._axisProxies;
- this.eachTargetAxis(function(e, n, i, r) {
- var o = this.dependentModels[e.axis][n],
- a = o.__dzAxisProxy || (o.__dzAxisProxy = new qS(e.name, n, this, r));
- t[e.name + "_" + n] = a
- }, this)
- },
- _resetTarget: function() {
- var t = this.option,
- e = this._judgeAutoMode();
- $S(function(e) {
- var n = e.axisIndex;
- t[n] = tr(t[n])
- }, this), "axisIndex" === e ? this._autoSetAxisIndex() : "orient" === e && this
- ._autoSetOrient()
- },
- _judgeAutoMode: function() {
- var t = this.option,
- e = !1;
- $S(function(n) {
- null != t[n.axisIndex] && (e = !0)
- }, this);
- var n = t.orient;
- return null == n && e ? "orient" : e ? void 0 : (null == n && (t.orient = "horizontal"),
- "axisIndex")
- },
- _autoSetAxisIndex: function() {
- var t = !0,
- e = this.get("orient", !0),
- n = this.option,
- i = this.dependentModels;
- if (t) {
- var r = "vertical" === e ? "y" : "x";
- i[r + "Axis"].length ? (n[r + "AxisIndex"] = [0], t = !1) : KS(i.singleAxis, function(
- i) {
- t && i.get("orient", !0) === e && (n.singleAxisIndex = [i.componentIndex],
- t = !1)
- })
- }
- t && $S(function(e) {
- if (t) {
- var i = [],
- r = this.dependentModels[e.axis];
- if (r.length && !i.length)
- for (var o = 0, a = r.length; a > o; o++) "category" === r[o].get(
- "type") && i.push(o);
- n[e.axisIndex] = i, i.length && (t = !1)
- }
- }, this), t && this.ecModel.eachSeries(function(t) {
- this._isSeriesHasAllAxesTypeOf(t, "value") && $S(function(e) {
- var i = n[e.axisIndex],
- r = t.get(e.axisIndex),
- o = t.get(e.axisId),
- a = t.ecModel.queryComponents({
- mainType: e.axis,
- index: r,
- id: o
- })[0];
- if (lp && !a) throw new Error(e.axis + ' "' + A(r, o, 0) +
- '" not found');
- r = a.componentIndex, u(i, r) < 0 && i.push(r)
- })
- }, this)
- },
- _autoSetOrient: function() {
- var t;
- this.eachTargetAxis(function(e) {
- !t && (t = e.name)
- }, this), this.option.orient = "y" === t ? "vertical" : "horizontal"
- },
- _isSeriesHasAllAxesTypeOf: function(t, e) {
- var n = !0;
- return $S(function(i) {
- var r = t.get(i.axisIndex),
- o = this.dependentModels[i.axis][r];
- o && o.get("type") === e || (n = !1)
- }, this), n
- },
- _setDefaultThrottle: function(t) {
- if (t.hasOwnProperty("throttle") && (this._autoThrottle = !1), this._autoThrottle) {
- var e = this.ecModel.option;
- this.option.throttle = e.animation && e.animationDurationUpdate > 0 ? 100 : 20
- }
- },
- getFirstTargetAxisModel: function() {
- var t;
- return $S(function(e) {
- if (null == t) {
- var n = this.get(e.axisIndex);
- n.length && (t = this.dependentModels[e.axis][n[0]])
- }
- }, this), t
- },
- eachTargetAxis: function(t, e) {
- var n = this.ecModel;
- $S(function(i) {
- KS(this.get(i.axisIndex), function(r) {
- t.call(e, i, r, this, n)
- }, this)
- }, this)
- },
- getAxisProxy: function(t, e) {
- return this._axisProxies[t + "_" + e]
- },
- getAxisModel: function(t, e) {
- var n = this.getAxisProxy(t, e);
- return n && n.getAxisModel()
- },
- setRawRange: function(t) {
- var e = this.option,
- n = this.settledOption;
- KS([
- ["start", "startValue"],
- ["end", "endValue"]
- ], function(i) {
- (null != t[i[0]] || null != t[i[1]]) && (e[i[0]] = n[i[0]] = t[i[0]], e[i[1]] =
- n[i[1]] = t[i[1]])
- }, this), Nf(this, t)
- },
- setCalculatedRange: function(t) {
- var e = this.option;
- KS(["start", "startValue", "end", "endValue"], function(n) {
- e[n] = t[n]
- })
- },
- getPercentRange: function() {
- var t = this.findRepresentativeAxisProxy();
- return t ? t.getDataPercentWindow() : void 0
- },
- getValueRange: function(t, e) {
- if (null != t || null != e) return this.getAxisProxy(t, e).getDataValueWindow();
- var n = this.findRepresentativeAxisProxy();
- return n ? n.getDataValueWindow() : void 0
- },
- findRepresentativeAxisProxy: function(t) {
- if (t) return t.__dzAxisProxy;
- var e = this._axisProxies;
- for (var n in e)
- if (e.hasOwnProperty(n) && e[n].hostedBy(this)) return e[n];
- for (var n in e)
- if (e.hasOwnProperty(n) && !e[n].hostedBy(this)) return e[n]
- },
- getRangePropMode: function() {
- return this._rangePropMode.slice()
- }
- }),
- JS = Nx.extend({
- type: "dataZoom",
- render: function(t, e, n) {
- this.dataZoomModel = t, this.ecModel = e, this.api = n
- },
- getTargetCoordInfo: function() {
- function t(t, e, n, i) {
- for (var r, o = 0; o < n.length; o++)
- if (n[o].model === t) {
- r = n[o];
- break
- } r || n.push(r = {
- model: t,
- axisModels: [],
- coordIndex: i
- }), r.axisModels.push(e)
- }
- var e = this.dataZoomModel,
- n = this.ecModel,
- i = {};
- return e.eachTargetAxis(function(e, r) {
- var o = n.getComponent(e.axis, r);
- if (o) {
- var a = o.getCoordSysModel();
- a && t(a, o, i[a.mainType] || (i[a.mainType] = []), a.componentIndex)
- }
- }, this), i
- }
- }),
- tM = (QS.extend({
- type: "dataZoom.slider",
- layoutMode: "box",
- defaultOption: {
- show: !0,
- right: "ph",
- top: "ph",
- width: "ph",
- height: "ph",
- left: null,
- bottom: null,
- backgroundColor: "rgba(47,69,84,0)",
- dataBackground: {
- lineStyle: {
- color: "#2f4554",
- width: .5,
- opacity: .3
- },
- areaStyle: {
- color: "rgba(47,69,84,0.3)",
- opacity: .3
- }
- },
- borderColor: "#ddd",
- fillerColor: "rgba(167,183,204,0.4)",
- handleIcon: "M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z",
- handleSize: "100%",
- handleStyle: {
- color: "#a7b7cc"
- },
- labelPrecision: null,
- labelFormatter: null,
- showDetail: !0,
- showDataShadow: "auto",
- realtime: !0,
- zoomLock: !1,
- textStyle: {
- color: "#333"
- }
- }
- }), Jm),
- eM = wa,
- nM = Ma,
- iM = y,
- rM = f,
- oM = 7,
- aM = 1,
- sM = 30,
- lM = "horizontal",
- uM = "vertical",
- hM = 5,
- cM = ["line", "bar", "candlestick", "scatter"],
- dM = JS.extend({
- type: "dataZoom.slider",
- init: function(t, e) {
- this._displayables = {}, this._orient, this._range, this._handleEnds, this._size, this
- ._handleWidth, this._handleHeight, this._location, this._dragging, this._dataShadowInfo,
- this.api = e
- },
- render: function(t, e, n, i) {
- return dM.superApply(this, "render", arguments), vl(this, "_dispatchZoomAction", this
- .dataZoomModel.get("throttle"), "fixRate"), this._orient = t.get("orient"), this
- .dataZoomModel.get("show") === !1 ? void this.group.removeAll() : (i && "dataZoom" === i
- .type && i.from === this.uid || this._buildView(), void this._updateView())
- },
- remove: function() {
- dM.superApply(this, "remove", arguments), ml(this, "_dispatchZoomAction")
- },
- dispose: function() {
- dM.superApply(this, "dispose", arguments), ml(this, "_dispatchZoomAction")
- },
- _buildView: function() {
- var t = this.group;
- t.removeAll(), this._resetLocation(), this._resetInterval();
- var e = this._displayables.barGroup = new Cg;
- this._renderBackground(), this._renderHandle(), this._renderDataShadow(), t.add(e), this
- ._positionGroup()
- },
- _resetLocation: function() {
- var t = this.dataZoomModel,
- e = this.api,
- n = this._findCoordRect(),
- i = {
- width: e.getWidth(),
- height: e.getHeight()
- },
- r = this._orient === lM ? {
- right: i.width - n.x - n.width,
- top: i.height - sM - oM,
- width: n.width,
- height: sM
- } : {
- right: oM,
- top: n.y,
- width: sM,
- height: n.height
- },
- o = Ja(t.option);
- f(["right", "top", "width", "height"], function(t) {
- "ph" === o[t] && (o[t] = r[t])
- });
- var a = $a(o, i, t.padding);
- this._location = {
- x: a.x,
- y: a.y
- }, this._size = [a.width, a.height], this._orient === uM && this._size.reverse()
- },
- _positionGroup: function() {
- var t = this.group,
- e = this._location,
- n = this._orient,
- i = this.dataZoomModel.getFirstTargetAxisModel(),
- r = i && i.get("inverse"),
- o = this._displayables.barGroup,
- a = (this._dataShadowInfo || {}).otherAxisInverse;
- o.attr(n !== lM || r ? n === lM && r ? {
- scale: a ? [-1, 1] : [-1, -1]
- } : n !== uM || r ? {
- scale: a ? [-1, -1] : [-1, 1],
- rotation: Math.PI / 2
- } : {
- scale: a ? [1, -1] : [1, 1],
- rotation: Math.PI / 2
- } : {
- scale: a ? [1, 1] : [1, -1]
- });
- var s = t.getBoundingRect([o]);
- t.attr("position", [e.x - s.x, e.y - s.y])
- },
- _getViewExtent: function() {
- return [0, this._size[0]]
- },
- _renderBackground: function() {
- var t = this.dataZoomModel,
- e = this._size,
- n = this._displayables.barGroup;
- n.add(new tM({
- silent: !0,
- shape: {
- x: 0,
- y: 0,
- width: e[0],
- height: e[1]
- },
- style: {
- fill: t.get("backgroundColor")
- },
- z2: -40
- })), n.add(new tM({
- shape: {
- x: 0,
- y: 0,
- width: e[0],
- height: e[1]
- },
- style: {
- fill: "transparent"
- },
- z2: 0,
- onclick: y(this._onClickPanelClick, this)
- }))
- },
- _renderDataShadow: function() {
- var t = this._dataShadowInfo = this._prepareDataShadowInfo();
- if (t) {
- var e = this._size,
- n = t.series,
- i = n.getRawData(),
- r = n.getShadowDim ? n.getShadowDim() : t.otherDim;
- if (null != r) {
- var o = i.getDataExtent(r),
- a = .3 * (o[1] - o[0]);
- o = [o[0] - a, o[1] + a];
- var l, u = [0, e[1]],
- h = [0, e[0]],
- c = [
- [e[0], 0],
- [0, 0]
- ],
- d = [],
- f = h[1] / (i.count() - 1),
- p = 0,
- g = Math.round(i.count() / e[0]);
- i.each([r], function(t, e) {
- if (g > 0 && e % g) return void(p += f);
- var n = null == t || isNaN(t) || "" === t,
- i = n ? 0 : eM(t, o, u, !0);
- n && !l && e ? (c.push([c[c.length - 1][0], 0]), d.push([d[d.length - 1]
- [0], 0
- ])) : !n && l && (c.push([p, 0]), d.push([p, 0])), c.push([p, i]), d
- .push([p, i]), p += f, l = n
- });
- var v = this.dataZoomModel;
- this._displayables.barGroup.add(new qm({
- shape: {
- points: c
- },
- style: s({
- fill: v.get("dataBackgroundColor")
- }, v.getModel("dataBackground.areaStyle").getAreaStyle()),
- silent: !0,
- z2: -20
- })), this._displayables.barGroup.add(new Km({
- shape: {
- points: d
- },
- style: v.getModel("dataBackground.lineStyle").getLineStyle(),
- silent: !0,
- z2: -19
- }))
- }
- }
- },
- _prepareDataShadowInfo: function() {
- var t = this.dataZoomModel,
- e = t.get("showDataShadow");
- if (e !== !1) {
- var n, i = this.ecModel;
- return t.eachTargetAxis(function(r, o) {
- var a = t.getAxisProxy(r.name, o).getTargetSeriesModels();
- f(a, function(t) {
- if (!(n || e !== !0 && u(cM, t.get("type")) < 0)) {
- var a, s = i.getComponent(r.axis, o).axis,
- l = Ff(r.name),
- h = t.coordinateSystem;
- null != l && h.getOtherAxis && (a = h.getOtherAxis(s)
- .inverse), l = t.getData().mapDimension(l), n = {
- thisAxis: s,
- series: t,
- thisDim: r.name,
- otherDim: l,
- otherAxisInverse: a
- }
- }
- }, this)
- }, this), n
- }
- },
- _renderHandle: function() {
- var t = this._displayables,
- e = t.handles = [],
- n = t.handleLabels = [],
- i = this._displayables.barGroup,
- r = this._size,
- o = this.dataZoomModel;
- i.add(t.filler = new tM({
- draggable: !0,
- cursor: Vf(this._orient),
- drift: iM(this._onDragMove, this, "all"),
- ondragstart: iM(this._showDataInfo, this, !0),
- ondragend: iM(this._onDragEnd, this),
- onmouseover: iM(this._showDataInfo, this, !0),
- onmouseout: iM(this._showDataInfo, this, !1),
- style: {
- fill: o.get("fillerColor"),
- textPosition: "inside"
- }
- })), i.add(new tM({
- silent: !0,
- subPixelOptimize: !0,
- shape: {
- x: 0,
- y: 0,
- width: r[0],
- height: r[1]
- },
- style: {
- stroke: o.get("dataBackgroundColor") || o.get("borderColor"),
- lineWidth: aM,
- fill: "rgba(0,0,0,0)"
- }
- })), rM([0, 1], function(t) {
- var r = ua(o.get("handleIcon"), {
- cursor: Vf(this._orient),
- draggable: !0,
- drift: iM(this._onDragMove, this, t),
- ondragend: iM(this._onDragEnd, this),
- onmouseover: iM(this._showDataInfo, this, !0),
- onmouseout: iM(this._showDataInfo, this, !1)
- }, {
- x: -1,
- y: 0,
- width: 2,
- height: 2
- }),
- a = r.getBoundingRect();
- this._handleHeight = ba(o.get("handleSize"), this._size[1]), this._handleWidth =
- a.width / a.height * this._handleHeight, r.setStyle(o.getModel(
- "handleStyle").getItemStyle());
- var s = o.get("handleColor");
- null != s && (r.style.fill = s), i.add(e[t] = r);
- var l = o.textStyleModel;
- this.group.add(n[t] = new Wm({
- 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 = [eM(t[0], [0, 100], e, !0), eM(t[1], [0, 100], e, !0)]
- },
- _updateInterval: function(t, e) {
- var n = this.dataZoomModel,
- i = this._handleEnds,
- r = this._getViewExtent(),
- o = n.findRepresentativeAxisProxy().getMinMaxSpan(),
- a = [0, 100];
- YS(e, i, r, n.get("zoomLock") ? "all" : t, null != o.minSpan ? eM(o.minSpan, a, r, !0) :
- null, null != o.maxSpan ? eM(o.maxSpan, a, r, !0) : null);
- var s = this._range,
- l = this._range = nM([eM(i[0], r, a, !0), eM(i[1], r, a, !0)]);
- return !s || s[0] !== l[0] || s[1] !== l[1]
- },
- _updateView: function(t) {
- var e = this._displayables,
- n = this._handleEnds,
- i = nM(n.slice()),
- r = this._size;
- rM([0, 1], function(t) {
- var i = e.handles[t],
- o = this._handleHeight;
- i.attr({
- scale: [o / 2, o / 2],
- position: [n[t], r[1] / 2 - o / 2]
- })
- }, this), e.filler.setShape({
- x: i[0],
- y: 0,
- width: i[1] - i[0],
- height: r[1]
- }), this._updateDataInfo(t)
- },
- _updateDataInfo: function(t) {
- function e(t) {
- var e = ia(i.handles[t].parent, this.group),
- n = oa(0 === t ? "right" : "left", e),
- s = this._handleWidth / 2 + hM,
- l = ra([c[t] + (0 === t ? -s : s), this._size[1] / 2], e);
- r[t].setStyle({
- x: l[0],
- y: l[1],
- textVerticalAlign: o === lM ? "middle" : n,
- textAlign: o === lM ? n : "center",
- text: a[t]
- })
- }
- var n = this.dataZoomModel,
- i = this._displayables,
- r = i.handleLabels,
- o = this._orient,
- a = ["", ""];
- if (n.get("showDetail")) {
- var s = n.findRepresentativeAxisProxy();
- if (s) {
- var l = s.getAxisModel().axis,
- u = this._range,
- h = t ? s.calculateDataWindow({
- start: u[0],
- end: u[1]
- }).valueWindow : s.getDataValueWindow();
- a = [this._formatLabel(h[0], l), this._formatLabel(h[1], l)]
- }
- }
- var c = nM(this._handleEnds.slice());
- e.call(this, 0), e.call(this, 1)
- },
- _formatLabel: function(t, e) {
- var n = this.dataZoomModel,
- i = n.get("labelFormatter"),
- r = n.get("labelPrecision");
- (null == r || "auto" === r) && (r = e.getPixelPrecision());
- var o = null == t || isNaN(t) ? "" : "category" === e.type || "time" === e.type ? e.scale
- .getLabel(Math.round(t)) : t.toFixed(Math.min(r, 20));
- return w(i) ? i(t, o) : b(i) ? i.replace("{value}", o) : o
- },
- _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, n, i) {
- this._dragging = !0, Wp(i.event);
- var r = this._displayables.barGroup.getLocalTransform(),
- o = ra([e, n], r, !0),
- a = this._updateInterval(t, o[0]),
- s = this.dataZoomModel.get("realtime");
- this._updateView(!s), a && s && this._dispatchZoomAction()
- },
- _onDragEnd: function() {
- this._dragging = !1, this._showDataInfo(!1);
- var t = this.dataZoomModel.get("realtime");
- !t && this._dispatchZoomAction()
- },
- _onClickPanelClick: function(t) {
- var e = this._size,
- n = this._displayables.barGroup.transformCoordToLocal(t.offsetX, t.offsetY);
- if (!(n[0] < 0 || n[0] > e[0] || n[1] < 0 || n[1] > e[1])) {
- var i = this._handleEnds,
- r = (i[0] + i[1]) / 2,
- o = this._updateInterval("all", n[0] - r);
- this._updateView(), o && 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 (rM(this.getTargetCoordInfo(), function(e) {
- if (!t && e.length) {
- var n = e[0].model.coordinateSystem;
- t = n.getRect && n.getRect()
- }
- }), !t) {
- var e = this.api.getWidth(),
- n = this.api.getHeight();
- t = {
- x: .2 * e,
- y: .2 * n,
- width: .6 * e,
- height: .6 * n
- }
- }
- return t
- }
- });
- wu({
- getTargetSeries: function(t) {
- var e = N();
- return t.eachComponent("dataZoom", function(t) {
- t.eachTargetAxis(function(t, n, i) {
- var r = i.getAxisProxy(t.name, n);
- f(r.getTargetSeriesModels(), function(t) {
- e.set(t.uid, t)
- })
- })
- }), e
- },
- modifyOutputEnd: !0,
- overallReset: function(t, e) {
- t.eachComponent("dataZoom", function(t) {
- t.eachTargetAxis(function(t, n, i) {
- i.getAxisProxy(t.name, n).reset(i, e)
- }), t.eachTargetAxis(function(t, n, i) {
- i.getAxisProxy(t.name, n).filterData(i, e)
- })
- }), t.eachComponent("dataZoom", function(t) {
- var e = t.findRepresentativeAxisProxy(),
- n = e.getDataPercentWindow(),
- i = e.getDataValueWindow();
- t.setCalculatedRange({
- start: n[0],
- end: n[1],
- startValue: i[0],
- endValue: i[1]
- })
- })
- }
- }), Su("dataZoom", function(t, e) {
- var n = kf(y(e.eachComponent, e, "dataZoom"), XS, function(t, e) {
- return t.get(e.axisIndex)
- }),
- i = [];
- e.eachComponent({
- mainType: "dataZoom",
- query: t
- }, function(t) {
- i.push.apply(i, n(t).nodes)
- }), f(i, function(e) {
- e.setRawRange({
- start: t.start,
- end: t.end,
- startValue: t.startValue,
- endValue: t.endValue
- })
- })
- }), QS.extend({
- type: "dataZoom.inside",
- defaultOption: {
- disabled: !1,
- zoomLock: !1,
- zoomOnMouseWheel: !0,
- moveOnMouseMove: !0,
- moveOnMouseWheel: !1,
- preventDefaultMouseMove: !0
- }
- });
- var fM = "\x00_ec_interaction_mutex";
- Su({
- type: "takeGlobalCursor",
- event: "globalCursorTaken",
- update: "update"
- }, function() {}), c(Gf, zp);
- var pM = "\x00_ec_dataZoom_roams",
- gM = y,
- vM = JS.extend({
- type: "dataZoom.inside",
- init: function() {
- this._range
- },
- render: function(t, e, n) {
- vM.superApply(this, "render", arguments), this._range = t.getPercentRange(), f(this
- .getTargetCoordInfo(),
- function(e, i) {
- var r = p(e, function(t) {
- return tp(t.model)
- });
- f(e, function(e) {
- var o = e.model,
- a = {};
- f(["pan", "zoom", "scrollMove"], function(t) {
- a[t] = gM(mM[t], this, e, i)
- }, this), Qf(n, {
- coordId: tp(o),
- allCoordIds: r,
- containsPoint: function(t, e, n) {
- return o.coordinateSystem.containPoint([e, n])
- },
- dataZoomId: t.id,
- dataZoomModel: t,
- getRange: a
- })
- }, this)
- }, this)
- },
- dispose: function() {
- Jf(this.api, this.dataZoomModel.id), vM.superApply(this, "dispose", arguments), this
- ._range = null
- }
- }),
- mM = {
- zoom: function(t, e, n, i) {
- var r = this._range,
- o = r.slice(),
- a = t.axisModels[0];
- if (a) {
- var s = yM[e](null, [i.originX, i.originY], a, n, t),
- l = (s.signal > 0 ? s.pixelStart + s.pixelLength - s.pixel : s.pixel - s.pixelStart) / s
- .pixelLength * (o[1] - o[0]) + o[0],
- u = Math.max(1 / i.scale, 0);
- o[0] = (o[0] - l) * u + l, o[1] = (o[1] - l) * u + l;
- var h = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();
- return YS(0, o, [0, 100], 0, h.minSpan, h.maxSpan), this._range = o, r[0] !== o[0] || r[
- 1] !== o[1] ? o : void 0
- }
- },
- pan: ap(function(t, e, n, i, r, o) {
- var a = yM[i]([o.oldX, o.oldY], [o.newX, o.newY], e, r, n);
- return a.signal * (t[1] - t[0]) * a.pixel / a.pixelLength
- }),
- scrollMove: ap(function(t, e, n, i, r, o) {
- var a = yM[i]([0, 0], [o.scrollDelta, o.scrollDelta], e, r, n);
- return a.signal * (t[1] - t[0]) * o.scrollDelta
- })
- },
- yM = {
- grid: function(t, e, n, i, r) {
- var o = n.axis,
- a = {},
- s = r.model.coordinateSystem.getRect();
- return t = t || [0, 0], "x" === o.dim ? (a.pixel = e[0] - t[0], a.pixelLength = s.width, a
- .pixelStart = s.x, a.signal = o.inverse ? 1 : -1) : (a.pixel = e[1] - t[1], a
- .pixelLength = s.height, a.pixelStart = s.y, a.signal = o.inverse ? -1 : 1), a
- },
- polar: function(t, e, n, i, r) {
- var o = n.axis,
- a = {},
- s = r.model.coordinateSystem,
- l = s.getRadiusAxis().getExtent(),
- u = s.getAngleAxis().getExtent();
- return t = t ? s.pointToCoord(t) : [0, 0], e = s.pointToCoord(e), "radiusAxis" === n.mainType ?
- (a.pixel = e[0] - t[0], a.pixelLength = l[1] - l[0], a.pixelStart = l[0], a.signal = o
- .inverse ? 1 : -1) : (a.pixel = e[1] - t[1], a.pixelLength = u[1] - u[0], a.pixelStart =
- u[0], a.signal = o.inverse ? -1 : 1), a
- },
- singleAxis: function(t, e, n, i, r) {
- var o = n.axis,
- a = r.model.coordinateSystem.getRect(),
- s = {};
- return t = t || [0, 0], "horizontal" === o.orient ? (s.pixel = e[0] - t[0], s.pixelLength = a
- .width, s.pixelStart = a.x, s.signal = o.inverse ? 1 : -1) : (s.pixel = e[1] - t[1], s
- .pixelLength = a.height, s.pixelStart = a.y, s.signal = o.inverse ? -1 : 1), s
- }
- };
- t.version = T_, t.dependencies = A_, t.PRIORITY = W_, t.init = fu, t.connect = pu, t.disConnect = gu, t
- .disconnect = sw, t.dispose = vu, t.getInstanceByDom = mu, t.getInstanceById = yu, t.registerTheme = xu, t
- .registerPreprocessor = _u, t.registerProcessor = wu, t.registerPostUpdate = bu, t.registerAction = Su, t
- .registerCoordinateSystem = Mu, t.getCoordinateSystemDimensions = Iu, t.registerLayout = Cu, t
- .registerVisual = Tu, t.registerLoading = Du, t.extendComponentModel = ku, t.extendComponentView = Pu, t
- .extendSeriesModel = Ou, t.extendChartView = Lu, t.setCanvasCreator = zu, t.registerMap = Eu, t.getMap = Bu,
- t.dataTool = lw, t.zrender = Mv, t.number = Ey, t.format = Hy, t.throttle = gl, t.helper = ub, t.matrix =
- jp, t.vector = Op, t.color = fg, t.parseGeoJSON = cb, t.parseGeoJson = gb, t.util = vb, t.graphic = mb, t
- .List = _w, t.Model = pa, t.Axis = pb, t.env = dp
- });
|