123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890 |
- import {
- Animator_default,
- BoundingRect_default,
- CompoundPath_default,
- DARK_MODE_THRESHOLD,
- Displayable_default,
- Element_default,
- Eventful_default,
- Image_default,
- LRU_default,
- PathProxy_default,
- Path_default,
- Point_default,
- REDRAW_BIT,
- Rect_default,
- Text_default,
- Transformable_default,
- __extends,
- add,
- applyTransform,
- assert,
- bind,
- brushSingle,
- calculateTextPosition,
- clone,
- clone3 as clone2,
- concatArray,
- createHashMap,
- cubicAt,
- cubicDerivativeAt,
- cubicSubdivide,
- curry,
- defaults,
- dist,
- distance,
- each,
- env_default,
- eqNaN,
- extend,
- filter,
- getBoundingRect,
- guid,
- hasOwn,
- identity,
- indexOf,
- inherits,
- invert,
- isArray,
- isArrayLike,
- isDom,
- isFunction,
- isGradientObject,
- isNumber,
- isObject,
- isRegExp,
- isString,
- isStringSafe,
- isTypedArray,
- keys,
- lift,
- lum,
- map,
- max,
- merge,
- min,
- mixin,
- mul,
- noop,
- normalize,
- normalizeCssArray,
- parsePercent,
- platformApi,
- quadraticAt,
- quadraticDerivativeAt,
- quadraticSubdivide,
- reduce,
- requestAnimationFrame_default,
- retrieve2,
- scale2 as scale,
- setAsPrimitive,
- setPlatformAPI,
- slice,
- sub,
- subPixelOptimize,
- subPixelOptimizeLine,
- subPixelOptimizeRect,
- trim,
- windingLine
- } from "./chunk-NFL6MJ5K.js";
- import {
- __export,
- init_define_APP_INFO
- } from "./chunk-XY75H3MP.js";
- // node_modules/echarts/lib/model/Model.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/util/clazz.js
- init_define_APP_INFO();
- // node_modules/echarts/node_modules/tslib/tslib.es6.js
- init_define_APP_INFO();
- var extendStatics = function(d, b) {
- extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
- d2.__proto__ = b2;
- } || function(d2, b2) {
- for (var p in b2)
- if (Object.prototype.hasOwnProperty.call(b2, p))
- d2[p] = b2[p];
- };
- return extendStatics(d, b);
- };
- function __extends2(d, b) {
- if (typeof b !== "function" && b !== null)
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
- extendStatics(d, b);
- function __() {
- this.constructor = d;
- }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- }
- // node_modules/echarts/lib/util/clazz.js
- var TYPE_DELIMITER = ".";
- var IS_CONTAINER = "___EC__COMPONENT__CONTAINER___";
- var IS_EXTENDED_CLASS = "___EC__EXTENDED_CLASS___";
- function parseClassType(componentType) {
- var ret = {
- main: "",
- sub: ""
- };
- if (componentType) {
- var typeArr = componentType.split(TYPE_DELIMITER);
- ret.main = typeArr[0] || "";
- ret.sub = typeArr[1] || "";
- }
- return ret;
- }
- function checkClassType(componentType) {
- assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(componentType), 'componentType "' + componentType + '" illegal');
- }
- function isExtendedClass(clz) {
- return !!(clz && clz[IS_EXTENDED_CLASS]);
- }
- function enableClassExtend(rootClz, mandatoryMethods) {
- rootClz.$constructor = rootClz;
- rootClz.extend = function(proto2) {
- if (true) {
- each(mandatoryMethods, function(method) {
- if (!proto2[method]) {
- console.warn("Method `" + method + "` should be implemented" + (proto2.type ? " in " + proto2.type : "") + ".");
- }
- });
- }
- var superClass = this;
- var ExtendedClass;
- if (isESClass(superClass)) {
- ExtendedClass = function(_super) {
- __extends2(class_1, _super);
- function class_1() {
- return _super.apply(this, arguments) || this;
- }
- return class_1;
- }(superClass);
- } else {
- ExtendedClass = function() {
- (proto2.$constructor || superClass).apply(this, arguments);
- };
- inherits(ExtendedClass, this);
- }
- extend(ExtendedClass.prototype, proto2);
- ExtendedClass[IS_EXTENDED_CLASS] = true;
- ExtendedClass.extend = this.extend;
- ExtendedClass.superCall = superCall;
- ExtendedClass.superApply = superApply;
- ExtendedClass.superClass = superClass;
- return ExtendedClass;
- };
- }
- function isESClass(fn) {
- return isFunction(fn) && /^class\s/.test(Function.prototype.toString.call(fn));
- }
- function mountExtend(SubClz, SupperClz) {
- SubClz.extend = SupperClz.extend;
- }
- var classBase = Math.round(Math.random() * 10);
- function enableClassCheck(target) {
- var classAttr = ["__\0is_clz", classBase++].join("_");
- target.prototype[classAttr] = true;
- if (true) {
- assert(!target.isInstance, 'The method "is" can not be defined.');
- }
- target.isInstance = function(obj) {
- return !!(obj && obj[classAttr]);
- };
- }
- function superCall(context, methodName) {
- var args = [];
- for (var _i = 2; _i < arguments.length; _i++) {
- args[_i - 2] = arguments[_i];
- }
- return this.superClass.prototype[methodName].apply(context, args);
- }
- function superApply(context, methodName, args) {
- return this.superClass.prototype[methodName].apply(context, args);
- }
- function enableClassManagement(target) {
- var storage = {};
- target.registerClass = function(clz) {
- var componentFullType = clz.type || clz.prototype.type;
- if (componentFullType) {
- checkClassType(componentFullType);
- clz.prototype.type = componentFullType;
- var componentTypeInfo = parseClassType(componentFullType);
- if (!componentTypeInfo.sub) {
- if (true) {
- if (storage[componentTypeInfo.main]) {
- console.warn(componentTypeInfo.main + " exists.");
- }
- }
- storage[componentTypeInfo.main] = clz;
- } else if (componentTypeInfo.sub !== IS_CONTAINER) {
- var container = makeContainer(componentTypeInfo);
- container[componentTypeInfo.sub] = clz;
- }
- }
- return clz;
- };
- target.getClass = function(mainType, subType, throwWhenNotFound) {
- var clz = storage[mainType];
- if (clz && clz[IS_CONTAINER]) {
- clz = subType ? clz[subType] : null;
- }
- if (throwWhenNotFound && !clz) {
- throw new Error(!subType ? mainType + ".type should be specified." : "Component " + mainType + "." + (subType || "") + " is used but not imported.");
- }
- return clz;
- };
- target.getClassesByMainType = function(componentType) {
- var componentTypeInfo = parseClassType(componentType);
- var result = [];
- var obj = storage[componentTypeInfo.main];
- if (obj && obj[IS_CONTAINER]) {
- each(obj, function(o, type) {
- type !== IS_CONTAINER && result.push(o);
- });
- } else {
- result.push(obj);
- }
- return result;
- };
- target.hasClass = function(componentType) {
- var componentTypeInfo = parseClassType(componentType);
- return !!storage[componentTypeInfo.main];
- };
- target.getAllClassMainTypes = function() {
- var types = [];
- each(storage, function(obj, type) {
- types.push(type);
- });
- return types;
- };
- target.hasSubTypes = function(componentType) {
- var componentTypeInfo = parseClassType(componentType);
- var obj = storage[componentTypeInfo.main];
- return obj && obj[IS_CONTAINER];
- };
- function makeContainer(componentTypeInfo) {
- var container = storage[componentTypeInfo.main];
- if (!container || !container[IS_CONTAINER]) {
- container = storage[componentTypeInfo.main] = {};
- container[IS_CONTAINER] = true;
- }
- return container;
- }
- }
- // node_modules/echarts/lib/model/mixin/areaStyle.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/model/mixin/makeStyleMapper.js
- init_define_APP_INFO();
- function makeStyleMapper(properties, ignoreParent) {
- for (var i = 0; i < properties.length; i++) {
- if (!properties[i][1]) {
- properties[i][1] = properties[i][0];
- }
- }
- ignoreParent = ignoreParent || false;
- return function(model, excludes, includes) {
- var style = {};
- for (var i2 = 0; i2 < properties.length; i2++) {
- var propName = properties[i2][1];
- if (excludes && indexOf(excludes, propName) >= 0 || includes && indexOf(includes, propName) < 0) {
- continue;
- }
- var val = model.getShallow(propName, ignoreParent);
- if (val != null) {
- style[properties[i2][0]] = val;
- }
- }
- return style;
- };
- }
- // node_modules/echarts/lib/model/mixin/areaStyle.js
- var AREA_STYLE_KEY_MAP = [
- ["fill", "color"],
- ["shadowBlur"],
- ["shadowOffsetX"],
- ["shadowOffsetY"],
- ["opacity"],
- ["shadowColor"]
- ];
- var getAreaStyle = makeStyleMapper(AREA_STYLE_KEY_MAP);
- var AreaStyleMixin = function() {
- function AreaStyleMixin2() {
- }
- AreaStyleMixin2.prototype.getAreaStyle = function(excludes, includes) {
- return getAreaStyle(this, excludes, includes);
- };
- return AreaStyleMixin2;
- }();
- // node_modules/echarts/lib/model/mixin/textStyle.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/label/labelStyle.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/util/states.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/util/innerStore.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/util/model.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/util/number.js
- init_define_APP_INFO();
- var RADIAN_EPSILON = 1e-4;
- var ROUND_SUPPORTED_PRECISION_MAX = 20;
- function _trim(str) {
- return str.replace(/^\s+|\s+$/g, "");
- }
- function linearMap(val, domain, range, clamp2) {
- var d0 = domain[0];
- var d1 = domain[1];
- var r0 = range[0];
- var r1 = range[1];
- var subDomain = d1 - d0;
- var subRange = r1 - r0;
- if (subDomain === 0) {
- return subRange === 0 ? r0 : (r0 + r1) / 2;
- }
- if (clamp2) {
- if (subDomain > 0) {
- if (val <= d0) {
- return r0;
- } else if (val >= d1) {
- return r1;
- }
- } else {
- if (val >= d0) {
- return r0;
- } else if (val <= d1) {
- return r1;
- }
- }
- } else {
- if (val === d0) {
- return r0;
- }
- if (val === d1) {
- return r1;
- }
- }
- return (val - d0) / subDomain * subRange + r0;
- }
- function parsePercent2(percent, all) {
- switch (percent) {
- case "center":
- case "middle":
- percent = "50%";
- break;
- case "left":
- case "top":
- percent = "0%";
- break;
- case "right":
- case "bottom":
- percent = "100%";
- break;
- }
- if (isString(percent)) {
- if (_trim(percent).match(/%$/)) {
- return parseFloat(percent) / 100 * all;
- }
- return parseFloat(percent);
- }
- return percent == null ? NaN : +percent;
- }
- function round(x, precision, returnStr) {
- if (precision == null) {
- precision = 10;
- }
- precision = Math.min(Math.max(0, precision), ROUND_SUPPORTED_PRECISION_MAX);
- x = (+x).toFixed(precision);
- return returnStr ? x : +x;
- }
- function asc(arr) {
- arr.sort(function(a, b) {
- return a - b;
- });
- return arr;
- }
- function getPrecision(val) {
- val = +val;
- if (isNaN(val)) {
- return 0;
- }
- if (val > 1e-14) {
- var e2 = 1;
- for (var i = 0; i < 15; i++, e2 *= 10) {
- if (Math.round(val * e2) / e2 === val) {
- return i;
- }
- }
- }
- return getPrecisionSafe(val);
- }
- function getPrecisionSafe(val) {
- var str = val.toString().toLowerCase();
- var eIndex = str.indexOf("e");
- var exp = eIndex > 0 ? +str.slice(eIndex + 1) : 0;
- var significandPartLen = eIndex > 0 ? eIndex : str.length;
- var dotIndex = str.indexOf(".");
- var decimalPartLen = dotIndex < 0 ? 0 : significandPartLen - 1 - dotIndex;
- return Math.max(0, decimalPartLen - exp);
- }
- function getPixelPrecision(dataExtent, pixelExtent) {
- var log2 = Math.log;
- var LN10 = Math.LN10;
- var dataQuantity = Math.floor(log2(dataExtent[1] - dataExtent[0]) / LN10);
- var sizeQuantity = Math.round(log2(Math.abs(pixelExtent[1] - pixelExtent[0])) / LN10);
- var precision = Math.min(Math.max(-dataQuantity + sizeQuantity, 0), 20);
- return !isFinite(precision) ? 20 : precision;
- }
- function getPercentWithPrecision(valueList, idx, precision) {
- if (!valueList[idx]) {
- return 0;
- }
- var sum = reduce(valueList, function(acc, val) {
- return acc + (isNaN(val) ? 0 : val);
- }, 0);
- if (sum === 0) {
- return 0;
- }
- var digits = Math.pow(10, precision);
- var votesPerQuota = map(valueList, function(val) {
- return (isNaN(val) ? 0 : val) / sum * digits * 100;
- });
- var targetSeats = digits * 100;
- var seats = map(votesPerQuota, function(votes) {
- return Math.floor(votes);
- });
- var currentSum = reduce(seats, function(acc, val) {
- return acc + val;
- }, 0);
- var remainder = map(votesPerQuota, function(votes, idx2) {
- return votes - seats[idx2];
- });
- while (currentSum < targetSeats) {
- var max2 = Number.NEGATIVE_INFINITY;
- var maxId = null;
- for (var i = 0, len = remainder.length; i < len; ++i) {
- if (remainder[i] > max2) {
- max2 = remainder[i];
- maxId = i;
- }
- }
- ++seats[maxId];
- remainder[maxId] = 0;
- ++currentSum;
- }
- return seats[idx] / digits;
- }
- function addSafe(val0, val1) {
- var maxPrecision = Math.max(getPrecision(val0), getPrecision(val1));
- var sum = val0 + val1;
- return maxPrecision > ROUND_SUPPORTED_PRECISION_MAX ? sum : round(sum, maxPrecision);
- }
- var MAX_SAFE_INTEGER = 9007199254740991;
- function remRadian(radian) {
- var pi2 = Math.PI * 2;
- return (radian % pi2 + pi2) % pi2;
- }
- function isRadianAroundZero(val) {
- return val > -RADIAN_EPSILON && val < RADIAN_EPSILON;
- }
- var TIME_REG = /^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;
- function parseDate(value) {
- if (value instanceof Date) {
- return value;
- } else if (isString(value)) {
- var match = TIME_REG.exec(value);
- if (!match) {
- return new Date(NaN);
- }
- if (!match[8]) {
- return new Date(+match[1], +(match[2] || 1) - 1, +match[3] || 1, +match[4] || 0, +(match[5] || 0), +match[6] || 0, match[7] ? +match[7].substring(0, 3) : 0);
- } else {
- var hour = +match[4] || 0;
- if (match[8].toUpperCase() !== "Z") {
- hour -= +match[8].slice(0, 3);
- }
- return new Date(Date.UTC(+match[1], +(match[2] || 1) - 1, +match[3] || 1, hour, +(match[5] || 0), +match[6] || 0, match[7] ? +match[7].substring(0, 3) : 0));
- }
- } else if (value == null) {
- return new Date(NaN);
- }
- return new Date(Math.round(value));
- }
- function quantity(val) {
- return Math.pow(10, quantityExponent(val));
- }
- function quantityExponent(val) {
- if (val === 0) {
- return 0;
- }
- var exp = Math.floor(Math.log(val) / Math.LN10);
- if (val / Math.pow(10, exp) >= 10) {
- exp++;
- }
- return exp;
- }
- function nice(val, round2) {
- var exponent = quantityExponent(val);
- var exp10 = Math.pow(10, exponent);
- var f = val / exp10;
- var nf;
- if (round2) {
- if (f < 1.5) {
- nf = 1;
- } else if (f < 2.5) {
- nf = 2;
- } else if (f < 4) {
- nf = 3;
- } else if (f < 7) {
- nf = 5;
- } else {
- nf = 10;
- }
- } else {
- if (f < 1) {
- nf = 1;
- } else if (f < 2) {
- nf = 2;
- } else if (f < 3) {
- nf = 3;
- } else if (f < 5) {
- nf = 5;
- } else {
- nf = 10;
- }
- }
- val = nf * exp10;
- return exponent >= -20 ? +val.toFixed(exponent < 0 ? -exponent : 0) : val;
- }
- function quantile(ascArr, p) {
- var H = (ascArr.length - 1) * p + 1;
- var h = Math.floor(H);
- var v = +ascArr[h - 1];
- var e2 = H - h;
- return e2 ? v + e2 * (ascArr[h] - v) : v;
- }
- function reformIntervals(list) {
- list.sort(function(a, b) {
- return littleThan(a, b, 0) ? -1 : 1;
- });
- var curr = -Infinity;
- var currClose = 1;
- for (var i = 0; i < list.length; ) {
- var interval = list[i].interval;
- var close_1 = list[i].close;
- for (var lg = 0; lg < 2; lg++) {
- if (interval[lg] <= curr) {
- interval[lg] = curr;
- close_1[lg] = !lg ? 1 - currClose : 1;
- }
- curr = interval[lg];
- currClose = close_1[lg];
- }
- if (interval[0] === interval[1] && close_1[0] * close_1[1] !== 1) {
- list.splice(i, 1);
- } else {
- i++;
- }
- }
- return list;
- function littleThan(a, b, lg2) {
- return a.interval[lg2] < b.interval[lg2] || a.interval[lg2] === b.interval[lg2] && (a.close[lg2] - b.close[lg2] === (!lg2 ? 1 : -1) || !lg2 && littleThan(a, b, 1));
- }
- }
- function numericToNumber(val) {
- var valFloat = parseFloat(val);
- return valFloat == val && (valFloat !== 0 || !isString(val) || val.indexOf("x") <= 0) ? valFloat : NaN;
- }
- function isNumeric(val) {
- return !isNaN(numericToNumber(val));
- }
- function getRandomIdBase() {
- return Math.round(Math.random() * 9);
- }
- function getGreatestCommonDividor(a, b) {
- if (b === 0) {
- return a;
- }
- return getGreatestCommonDividor(b, a % b);
- }
- function getLeastCommonMultiple(a, b) {
- if (a == null) {
- return b;
- }
- if (b == null) {
- return a;
- }
- return a * b / getGreatestCommonDividor(a, b);
- }
- // node_modules/echarts/lib/util/log.js
- init_define_APP_INFO();
- var ECHARTS_PREFIX = "[ECharts] ";
- var storedLogs = {};
- var hasConsole = typeof console !== "undefined" && console.warn && console.log;
- function outputLog(type, str, onlyOnce) {
- if (hasConsole) {
- if (onlyOnce) {
- if (storedLogs[str]) {
- return;
- }
- storedLogs[str] = true;
- }
- console[type](ECHARTS_PREFIX + str);
- }
- }
- function log(str, onlyOnce) {
- outputLog("log", str, onlyOnce);
- }
- function warn(str, onlyOnce) {
- outputLog("warn", str, onlyOnce);
- }
- function error(str, onlyOnce) {
- outputLog("error", str, onlyOnce);
- }
- function deprecateLog(str) {
- if (true) {
- outputLog("warn", "DEPRECATED: " + str, true);
- }
- }
- function deprecateReplaceLog(oldOpt, newOpt, scope) {
- if (true) {
- deprecateLog((scope ? "[" + scope + "]" : "") + (oldOpt + " is deprecated, use " + newOpt + " instead."));
- }
- }
- function makePrintable() {
- var hintInfo = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- hintInfo[_i] = arguments[_i];
- }
- var msg = "";
- if (true) {
- var makePrintableStringIfPossible_1 = function(val) {
- return val === void 0 ? "undefined" : val === Infinity ? "Infinity" : val === -Infinity ? "-Infinity" : eqNaN(val) ? "NaN" : val instanceof Date ? "Date(" + val.toISOString() + ")" : isFunction(val) ? "function () { ... }" : isRegExp(val) ? val + "" : null;
- };
- msg = map(hintInfo, function(arg) {
- if (isString(arg)) {
- return arg;
- } else {
- var printableStr = makePrintableStringIfPossible_1(arg);
- if (printableStr != null) {
- return printableStr;
- } else if (typeof JSON !== "undefined" && JSON.stringify) {
- try {
- return JSON.stringify(arg, function(n, val) {
- var printableStr2 = makePrintableStringIfPossible_1(val);
- return printableStr2 == null ? val : printableStr2;
- });
- } catch (err) {
- return "?";
- }
- } else {
- return "?";
- }
- }
- }).join(" ");
- }
- return msg;
- }
- function throwError(msg) {
- throw new Error(msg);
- }
- // node_modules/echarts/lib/util/model.js
- function interpolateNumber(p0, p1, percent) {
- return (p1 - p0) * percent + p0;
- }
- var DUMMY_COMPONENT_NAME_PREFIX = "series\0";
- var INTERNAL_COMPONENT_ID_PREFIX = "\0_ec_\0";
- function normalizeToArray(value) {
- return value instanceof Array ? value : value == null ? [] : [value];
- }
- function defaultEmphasis(opt, key, subOpts) {
- if (opt) {
- opt[key] = opt[key] || {};
- opt.emphasis = opt.emphasis || {};
- opt.emphasis[key] = opt.emphasis[key] || {};
- for (var i = 0, len = subOpts.length; i < len; i++) {
- var subOptName = subOpts[i];
- if (!opt.emphasis[key].hasOwnProperty(subOptName) && opt[key].hasOwnProperty(subOptName)) {
- opt.emphasis[key][subOptName] = opt[key][subOptName];
- }
- }
- }
- }
- var TEXT_STYLE_OPTIONS = ["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"];
- function getDataItemValue(dataItem) {
- return isObject(dataItem) && !isArray(dataItem) && !(dataItem instanceof Date) ? dataItem.value : dataItem;
- }
- function isDataItemOption(dataItem) {
- return isObject(dataItem) && !(dataItem instanceof Array);
- }
- function mappingToExists(existings, newCmptOptions, mode) {
- var isNormalMergeMode = mode === "normalMerge";
- var isReplaceMergeMode = mode === "replaceMerge";
- var isReplaceAllMode = mode === "replaceAll";
- existings = existings || [];
- newCmptOptions = (newCmptOptions || []).slice();
- var existingIdIdxMap = createHashMap();
- each(newCmptOptions, function(cmptOption, index) {
- if (!isObject(cmptOption)) {
- newCmptOptions[index] = null;
- return;
- }
- if (true) {
- if (cmptOption.id != null && !isValidIdOrName(cmptOption.id)) {
- warnInvalidateIdOrName(cmptOption.id);
- }
- if (cmptOption.name != null && !isValidIdOrName(cmptOption.name)) {
- warnInvalidateIdOrName(cmptOption.name);
- }
- }
- });
- var result = prepareResult(existings, existingIdIdxMap, mode);
- if (isNormalMergeMode || isReplaceMergeMode) {
- mappingById(result, existings, existingIdIdxMap, newCmptOptions);
- }
- if (isNormalMergeMode) {
- mappingByName(result, newCmptOptions);
- }
- if (isNormalMergeMode || isReplaceMergeMode) {
- mappingByIndex(result, newCmptOptions, isReplaceMergeMode);
- } else if (isReplaceAllMode) {
- mappingInReplaceAllMode(result, newCmptOptions);
- }
- makeIdAndName(result);
- return result;
- }
- function prepareResult(existings, existingIdIdxMap, mode) {
- var result = [];
- if (mode === "replaceAll") {
- return result;
- }
- for (var index = 0; index < existings.length; index++) {
- var existing = existings[index];
- if (existing && existing.id != null) {
- existingIdIdxMap.set(existing.id, index);
- }
- result.push({
- existing: mode === "replaceMerge" || isComponentIdInternal(existing) ? null : existing,
- newOption: null,
- keyInfo: null,
- brandNew: null
- });
- }
- return result;
- }
- function mappingById(result, existings, existingIdIdxMap, newCmptOptions) {
- each(newCmptOptions, function(cmptOption, index) {
- if (!cmptOption || cmptOption.id == null) {
- return;
- }
- var optionId = makeComparableKey(cmptOption.id);
- var existingIdx = existingIdIdxMap.get(optionId);
- if (existingIdx != null) {
- var resultItem = result[existingIdx];
- assert(!resultItem.newOption, 'Duplicated option on id "' + optionId + '".');
- resultItem.newOption = cmptOption;
- resultItem.existing = existings[existingIdx];
- newCmptOptions[index] = null;
- }
- });
- }
- function mappingByName(result, newCmptOptions) {
- each(newCmptOptions, function(cmptOption, index) {
- if (!cmptOption || cmptOption.name == null) {
- return;
- }
- for (var i = 0; i < result.length; i++) {
- var existing = result[i].existing;
- if (!result[i].newOption && existing && (existing.id == null || cmptOption.id == null) && !isComponentIdInternal(cmptOption) && !isComponentIdInternal(existing) && keyExistAndEqual("name", existing, cmptOption)) {
- result[i].newOption = cmptOption;
- newCmptOptions[index] = null;
- return;
- }
- }
- });
- }
- function mappingByIndex(result, newCmptOptions, brandNew) {
- each(newCmptOptions, function(cmptOption) {
- if (!cmptOption) {
- return;
- }
- var resultItem;
- var nextIdx = 0;
- while ((resultItem = result[nextIdx]) && (resultItem.newOption || isComponentIdInternal(resultItem.existing) || resultItem.existing && cmptOption.id != null && !keyExistAndEqual("id", cmptOption, resultItem.existing))) {
- nextIdx++;
- }
- if (resultItem) {
- resultItem.newOption = cmptOption;
- resultItem.brandNew = brandNew;
- } else {
- result.push({
- newOption: cmptOption,
- brandNew,
- existing: null,
- keyInfo: null
- });
- }
- nextIdx++;
- });
- }
- function mappingInReplaceAllMode(result, newCmptOptions) {
- each(newCmptOptions, function(cmptOption) {
- result.push({
- newOption: cmptOption,
- brandNew: true,
- existing: null,
- keyInfo: null
- });
- });
- }
- function makeIdAndName(mapResult) {
- var idMap = createHashMap();
- each(mapResult, function(item) {
- var existing = item.existing;
- existing && idMap.set(existing.id, item);
- });
- each(mapResult, function(item) {
- var opt = item.newOption;
- assert(!opt || opt.id == null || !idMap.get(opt.id) || idMap.get(opt.id) === item, "id duplicates: " + (opt && opt.id));
- opt && opt.id != null && idMap.set(opt.id, item);
- !item.keyInfo && (item.keyInfo = {});
- });
- each(mapResult, function(item, index) {
- var existing = item.existing;
- var opt = item.newOption;
- var keyInfo = item.keyInfo;
- if (!isObject(opt)) {
- return;
- }
- keyInfo.name = opt.name != null ? makeComparableKey(opt.name) : existing ? existing.name : DUMMY_COMPONENT_NAME_PREFIX + index;
- if (existing) {
- keyInfo.id = makeComparableKey(existing.id);
- } else if (opt.id != null) {
- keyInfo.id = makeComparableKey(opt.id);
- } else {
- var idNum = 0;
- do {
- keyInfo.id = "\0" + keyInfo.name + "\0" + idNum++;
- } while (idMap.get(keyInfo.id));
- }
- idMap.set(keyInfo.id, item);
- });
- }
- function keyExistAndEqual(attr, obj1, obj2) {
- var key1 = convertOptionIdName(obj1[attr], null);
- var key2 = convertOptionIdName(obj2[attr], null);
- return key1 != null && key2 != null && key1 === key2;
- }
- function makeComparableKey(val) {
- if (true) {
- if (val == null) {
- throw new Error();
- }
- }
- return convertOptionIdName(val, "");
- }
- function convertOptionIdName(idOrName, defaultValue) {
- if (idOrName == null) {
- return defaultValue;
- }
- return isString(idOrName) ? idOrName : isNumber(idOrName) || isStringSafe(idOrName) ? idOrName + "" : defaultValue;
- }
- function warnInvalidateIdOrName(idOrName) {
- if (true) {
- warn("`" + idOrName + "` is invalid id or name. Must be a string or number.");
- }
- }
- function isValidIdOrName(idOrName) {
- return isStringSafe(idOrName) || isNumeric(idOrName);
- }
- function isNameSpecified(componentModel) {
- var name = componentModel.name;
- return !!(name && name.indexOf(DUMMY_COMPONENT_NAME_PREFIX));
- }
- function isComponentIdInternal(cmptOption) {
- return cmptOption && cmptOption.id != null && makeComparableKey(cmptOption.id).indexOf(INTERNAL_COMPONENT_ID_PREFIX) === 0;
- }
- function makeInternalComponentId(idSuffix) {
- return INTERNAL_COMPONENT_ID_PREFIX + idSuffix;
- }
- function setComponentTypeToKeyInfo(mappingResult, mainType, componentModelCtor) {
- each(mappingResult, function(item) {
- var newOption = item.newOption;
- if (isObject(newOption)) {
- item.keyInfo.mainType = mainType;
- item.keyInfo.subType = determineSubType(mainType, newOption, item.existing, componentModelCtor);
- }
- });
- }
- function determineSubType(mainType, newCmptOption, existComponent, componentModelCtor) {
- var subType = newCmptOption.type ? newCmptOption.type : existComponent ? existComponent.subType : componentModelCtor.determineSubType(mainType, newCmptOption);
- return subType;
- }
- function compressBatches(batchA, batchB) {
- var mapA = {};
- var mapB = {};
- makeMap(batchA || [], mapA);
- makeMap(batchB || [], mapB, mapA);
- return [mapToArray(mapA), mapToArray(mapB)];
- function makeMap(sourceBatch, map3, otherMap) {
- for (var i = 0, len = sourceBatch.length; i < len; i++) {
- var seriesId = convertOptionIdName(sourceBatch[i].seriesId, null);
- if (seriesId == null) {
- return;
- }
- var dataIndices = normalizeToArray(sourceBatch[i].dataIndex);
- var otherDataIndices = otherMap && otherMap[seriesId];
- for (var j = 0, lenj = dataIndices.length; j < lenj; j++) {
- var dataIndex = dataIndices[j];
- if (otherDataIndices && otherDataIndices[dataIndex]) {
- otherDataIndices[dataIndex] = null;
- } else {
- (map3[seriesId] || (map3[seriesId] = {}))[dataIndex] = 1;
- }
- }
- }
- }
- function mapToArray(map3, isData) {
- var result = [];
- for (var i in map3) {
- if (map3.hasOwnProperty(i) && map3[i] != null) {
- if (isData) {
- result.push(+i);
- } else {
- var dataIndices = mapToArray(map3[i], true);
- dataIndices.length && result.push({
- seriesId: i,
- dataIndex: dataIndices
- });
- }
- }
- }
- return result;
- }
- }
- function queryDataIndex(data, payload) {
- if (payload.dataIndexInside != null) {
- return payload.dataIndexInside;
- } else if (payload.dataIndex != null) {
- return isArray(payload.dataIndex) ? map(payload.dataIndex, function(value) {
- return data.indexOfRawIndex(value);
- }) : data.indexOfRawIndex(payload.dataIndex);
- } else if (payload.name != null) {
- return isArray(payload.name) ? map(payload.name, function(value) {
- return data.indexOfName(value);
- }) : data.indexOfName(payload.name);
- }
- }
- function makeInner() {
- var key = "__ec_inner_" + innerUniqueIndex++;
- return function(hostObj) {
- return hostObj[key] || (hostObj[key] = {});
- };
- }
- var innerUniqueIndex = getRandomIdBase();
- function parseFinder(ecModel, finderInput, opt) {
- var _a2 = preParseFinder(finderInput, opt), mainTypeSpecified = _a2.mainTypeSpecified, queryOptionMap = _a2.queryOptionMap, others = _a2.others;
- var result = others;
- var defaultMainType = opt ? opt.defaultMainType : null;
- if (!mainTypeSpecified && defaultMainType) {
- queryOptionMap.set(defaultMainType, {});
- }
- queryOptionMap.each(function(queryOption, mainType) {
- var queryResult = queryReferringComponents(ecModel, mainType, queryOption, {
- useDefault: defaultMainType === mainType,
- enableAll: opt && opt.enableAll != null ? opt.enableAll : true,
- enableNone: opt && opt.enableNone != null ? opt.enableNone : true
- });
- result[mainType + "Models"] = queryResult.models;
- result[mainType + "Model"] = queryResult.models[0];
- });
- return result;
- }
- function preParseFinder(finderInput, opt) {
- var finder;
- if (isString(finderInput)) {
- var obj = {};
- obj[finderInput + "Index"] = 0;
- finder = obj;
- } else {
- finder = finderInput;
- }
- var queryOptionMap = createHashMap();
- var others = {};
- var mainTypeSpecified = false;
- each(finder, function(value, key) {
- if (key === "dataIndex" || key === "dataIndexInside") {
- others[key] = value;
- return;
- }
- var parsedKey = key.match(/^(\w+)(Index|Id|Name)$/) || [];
- var mainType = parsedKey[1];
- var queryType = (parsedKey[2] || "").toLowerCase();
- if (!mainType || !queryType || opt && opt.includeMainTypes && indexOf(opt.includeMainTypes, mainType) < 0) {
- return;
- }
- mainTypeSpecified = mainTypeSpecified || !!mainType;
- var queryOption = queryOptionMap.get(mainType) || queryOptionMap.set(mainType, {});
- queryOption[queryType] = value;
- });
- return {
- mainTypeSpecified,
- queryOptionMap,
- others
- };
- }
- var SINGLE_REFERRING = {
- useDefault: true,
- enableAll: false,
- enableNone: false
- };
- var MULTIPLE_REFERRING = {
- useDefault: false,
- enableAll: true,
- enableNone: true
- };
- function queryReferringComponents(ecModel, mainType, userOption, opt) {
- opt = opt || SINGLE_REFERRING;
- var indexOption = userOption.index;
- var idOption = userOption.id;
- var nameOption = userOption.name;
- var result = {
- models: null,
- specified: indexOption != null || idOption != null || nameOption != null
- };
- if (!result.specified) {
- var firstCmpt = void 0;
- result.models = opt.useDefault && (firstCmpt = ecModel.getComponent(mainType)) ? [firstCmpt] : [];
- return result;
- }
- if (indexOption === "none" || indexOption === false) {
- assert(opt.enableNone, '`"none"` or `false` is not a valid value on index option.');
- result.models = [];
- return result;
- }
- if (indexOption === "all") {
- assert(opt.enableAll, '`"all"` is not a valid value on index option.');
- indexOption = idOption = nameOption = null;
- }
- result.models = ecModel.queryComponents({
- mainType,
- index: indexOption,
- id: idOption,
- name: nameOption
- });
- return result;
- }
- function setAttribute(dom, key, value) {
- dom.setAttribute ? dom.setAttribute(key, value) : dom[key] = value;
- }
- function getAttribute(dom, key) {
- return dom.getAttribute ? dom.getAttribute(key) : dom[key];
- }
- function getTooltipRenderMode(renderModeOption) {
- if (renderModeOption === "auto") {
- return env_default.domSupported ? "html" : "richText";
- } else {
- return renderModeOption || "html";
- }
- }
- function groupData(array, getKey) {
- var buckets = createHashMap();
- var keys2 = [];
- each(array, function(item) {
- var key = getKey(item);
- (buckets.get(key) || (keys2.push(key), buckets.set(key, []))).push(item);
- });
- return {
- keys: keys2,
- buckets
- };
- }
- function interpolateRawValues(data, precision, sourceValue, targetValue, percent) {
- var isAutoPrecision = precision == null || precision === "auto";
- if (targetValue == null) {
- return targetValue;
- }
- if (isNumber(targetValue)) {
- var value = interpolateNumber(sourceValue || 0, targetValue, percent);
- return round(value, isAutoPrecision ? Math.max(getPrecision(sourceValue || 0), getPrecision(targetValue)) : precision);
- } else if (isString(targetValue)) {
- return percent < 1 ? sourceValue : targetValue;
- } else {
- var interpolated = [];
- var leftArr = sourceValue;
- var rightArr = targetValue;
- var length_1 = Math.max(leftArr ? leftArr.length : 0, rightArr.length);
- for (var i = 0; i < length_1; ++i) {
- var info = data.getDimensionInfo(i);
- if (info && info.type === "ordinal") {
- interpolated[i] = (percent < 1 && leftArr ? leftArr : rightArr)[i];
- } else {
- var leftVal = leftArr && leftArr[i] ? leftArr[i] : 0;
- var rightVal = rightArr[i];
- var value = interpolateNumber(leftVal, rightVal, percent);
- interpolated[i] = round(value, isAutoPrecision ? Math.max(getPrecision(leftVal), getPrecision(rightVal)) : precision);
- }
- }
- return interpolated;
- }
- }
- // node_modules/echarts/lib/util/innerStore.js
- var getECData = makeInner();
- var setCommonECData = function(seriesIndex, dataType, dataIdx, el) {
- if (el) {
- var ecData = getECData(el);
- ecData.dataIndex = dataIdx;
- ecData.dataType = dataType;
- ecData.seriesIndex = seriesIndex;
- if (el.type === "group") {
- el.traverse(function(child) {
- var childECData = getECData(child);
- childECData.seriesIndex = seriesIndex;
- childECData.dataIndex = dataIdx;
- childECData.dataType = dataType;
- });
- }
- }
- };
- // node_modules/echarts/lib/util/states.js
- var _highlightNextDigit = 1;
- var _highlightKeyMap = {};
- var getSavedStates = makeInner();
- var getComponentStates = makeInner();
- var HOVER_STATE_NORMAL = 0;
- var HOVER_STATE_BLUR = 1;
- var HOVER_STATE_EMPHASIS = 2;
- var SPECIAL_STATES = ["emphasis", "blur", "select"];
- var DISPLAY_STATES = ["normal", "emphasis", "blur", "select"];
- var Z2_EMPHASIS_LIFT = 10;
- var Z2_SELECT_LIFT = 9;
- var HIGHLIGHT_ACTION_TYPE = "highlight";
- var DOWNPLAY_ACTION_TYPE = "downplay";
- var SELECT_ACTION_TYPE = "select";
- var UNSELECT_ACTION_TYPE = "unselect";
- var TOGGLE_SELECT_ACTION_TYPE = "toggleSelect";
- function hasFillOrStroke(fillOrStroke) {
- return fillOrStroke != null && fillOrStroke !== "none";
- }
- var liftedColorCache = new LRU_default(100);
- function liftColor(color) {
- if (isString(color)) {
- var liftedColor = liftedColorCache.get(color);
- if (!liftedColor) {
- liftedColor = lift(color, -0.1);
- liftedColorCache.put(color, liftedColor);
- }
- return liftedColor;
- } else if (isGradientObject(color)) {
- var ret = extend({}, color);
- ret.colorStops = map(color.colorStops, function(stop2) {
- return {
- offset: stop2.offset,
- color: lift(stop2.color, -0.1)
- };
- });
- return ret;
- }
- return color;
- }
- function doChangeHoverState(el, stateName, hoverStateEnum) {
- if (el.onHoverStateChange && (el.hoverState || 0) !== hoverStateEnum) {
- el.onHoverStateChange(stateName);
- }
- el.hoverState = hoverStateEnum;
- }
- function singleEnterEmphasis(el) {
- doChangeHoverState(el, "emphasis", HOVER_STATE_EMPHASIS);
- }
- function singleLeaveEmphasis(el) {
- if (el.hoverState === HOVER_STATE_EMPHASIS) {
- doChangeHoverState(el, "normal", HOVER_STATE_NORMAL);
- }
- }
- function singleEnterBlur(el) {
- doChangeHoverState(el, "blur", HOVER_STATE_BLUR);
- }
- function singleLeaveBlur(el) {
- if (el.hoverState === HOVER_STATE_BLUR) {
- doChangeHoverState(el, "normal", HOVER_STATE_NORMAL);
- }
- }
- function singleEnterSelect(el) {
- el.selected = true;
- }
- function singleLeaveSelect(el) {
- el.selected = false;
- }
- function updateElementState(el, updater, commonParam) {
- updater(el, commonParam);
- }
- function traverseUpdateState(el, updater, commonParam) {
- updateElementState(el, updater, commonParam);
- el.isGroup && el.traverse(function(child) {
- updateElementState(child, updater, commonParam);
- });
- }
- function setStatesFlag(el, stateName) {
- switch (stateName) {
- case "emphasis":
- el.hoverState = HOVER_STATE_EMPHASIS;
- break;
- case "normal":
- el.hoverState = HOVER_STATE_NORMAL;
- break;
- case "blur":
- el.hoverState = HOVER_STATE_BLUR;
- break;
- case "select":
- el.selected = true;
- }
- }
- function getFromStateStyle(el, props, toStateName, defaultValue) {
- var style = el.style;
- var fromState = {};
- for (var i = 0; i < props.length; i++) {
- var propName = props[i];
- var val = style[propName];
- fromState[propName] = val == null ? defaultValue && defaultValue[propName] : val;
- }
- for (var i = 0; i < el.animators.length; i++) {
- var animator = el.animators[i];
- if (animator.__fromStateTransition && animator.__fromStateTransition.indexOf(toStateName) < 0 && animator.targetName === "style") {
- animator.saveTo(fromState, props);
- }
- }
- return fromState;
- }
- function createEmphasisDefaultState(el, stateName, targetStates, state) {
- var hasSelect = targetStates && indexOf(targetStates, "select") >= 0;
- var cloned = false;
- if (el instanceof Path_default) {
- var store = getSavedStates(el);
- var fromFill = hasSelect ? store.selectFill || store.normalFill : store.normalFill;
- var fromStroke = hasSelect ? store.selectStroke || store.normalStroke : store.normalStroke;
- if (hasFillOrStroke(fromFill) || hasFillOrStroke(fromStroke)) {
- state = state || {};
- var emphasisStyle = state.style || {};
- if (emphasisStyle.fill === "inherit") {
- cloned = true;
- state = extend({}, state);
- emphasisStyle = extend({}, emphasisStyle);
- emphasisStyle.fill = fromFill;
- } else if (!hasFillOrStroke(emphasisStyle.fill) && hasFillOrStroke(fromFill)) {
- cloned = true;
- state = extend({}, state);
- emphasisStyle = extend({}, emphasisStyle);
- emphasisStyle.fill = liftColor(fromFill);
- } else if (!hasFillOrStroke(emphasisStyle.stroke) && hasFillOrStroke(fromStroke)) {
- if (!cloned) {
- state = extend({}, state);
- emphasisStyle = extend({}, emphasisStyle);
- }
- emphasisStyle.stroke = liftColor(fromStroke);
- }
- state.style = emphasisStyle;
- }
- }
- if (state) {
- if (state.z2 == null) {
- if (!cloned) {
- state = extend({}, state);
- }
- var z2EmphasisLift = el.z2EmphasisLift;
- state.z2 = el.z2 + (z2EmphasisLift != null ? z2EmphasisLift : Z2_EMPHASIS_LIFT);
- }
- }
- return state;
- }
- function createSelectDefaultState(el, stateName, state) {
- if (state) {
- if (state.z2 == null) {
- state = extend({}, state);
- var z2SelectLift = el.z2SelectLift;
- state.z2 = el.z2 + (z2SelectLift != null ? z2SelectLift : Z2_SELECT_LIFT);
- }
- }
- return state;
- }
- function createBlurDefaultState(el, stateName, state) {
- var hasBlur = indexOf(el.currentStates, stateName) >= 0;
- var currentOpacity = el.style.opacity;
- var fromState = !hasBlur ? getFromStateStyle(el, ["opacity"], stateName, {
- opacity: 1
- }) : null;
- state = state || {};
- var blurStyle = state.style || {};
- if (blurStyle.opacity == null) {
- state = extend({}, state);
- blurStyle = extend({
- opacity: hasBlur ? currentOpacity : fromState.opacity * 0.1
- }, blurStyle);
- state.style = blurStyle;
- }
- return state;
- }
- function elementStateProxy(stateName, targetStates) {
- var state = this.states[stateName];
- if (this.style) {
- if (stateName === "emphasis") {
- return createEmphasisDefaultState(this, stateName, targetStates, state);
- } else if (stateName === "blur") {
- return createBlurDefaultState(this, stateName, state);
- } else if (stateName === "select") {
- return createSelectDefaultState(this, stateName, state);
- }
- }
- return state;
- }
- function setDefaultStateProxy(el) {
- el.stateProxy = elementStateProxy;
- var textContent = el.getTextContent();
- var textGuide = el.getTextGuideLine();
- if (textContent) {
- textContent.stateProxy = elementStateProxy;
- }
- if (textGuide) {
- textGuide.stateProxy = elementStateProxy;
- }
- }
- function enterEmphasisWhenMouseOver(el, e2) {
- !shouldSilent(el, e2) && !el.__highByOuter && traverseUpdateState(el, singleEnterEmphasis);
- }
- function leaveEmphasisWhenMouseOut(el, e2) {
- !shouldSilent(el, e2) && !el.__highByOuter && traverseUpdateState(el, singleLeaveEmphasis);
- }
- function enterEmphasis(el, highlightDigit) {
- el.__highByOuter |= 1 << (highlightDigit || 0);
- traverseUpdateState(el, singleEnterEmphasis);
- }
- function leaveEmphasis(el, highlightDigit) {
- !(el.__highByOuter &= ~(1 << (highlightDigit || 0))) && traverseUpdateState(el, singleLeaveEmphasis);
- }
- function enterBlur(el) {
- traverseUpdateState(el, singleEnterBlur);
- }
- function leaveBlur(el) {
- traverseUpdateState(el, singleLeaveBlur);
- }
- function enterSelect(el) {
- traverseUpdateState(el, singleEnterSelect);
- }
- function leaveSelect(el) {
- traverseUpdateState(el, singleLeaveSelect);
- }
- function shouldSilent(el, e2) {
- return el.__highDownSilentOnTouch && e2.zrByTouch;
- }
- function allLeaveBlur(api) {
- var model = api.getModel();
- var leaveBlurredSeries = [];
- var allComponentViews = [];
- model.eachComponent(function(componentType, componentModel) {
- var componentStates = getComponentStates(componentModel);
- var isSeries2 = componentType === "series";
- var view = isSeries2 ? api.getViewOfSeriesModel(componentModel) : api.getViewOfComponentModel(componentModel);
- !isSeries2 && allComponentViews.push(view);
- if (componentStates.isBlured) {
- view.group.traverse(function(child) {
- singleLeaveBlur(child);
- });
- isSeries2 && leaveBlurredSeries.push(componentModel);
- }
- componentStates.isBlured = false;
- });
- each(allComponentViews, function(view) {
- if (view && view.toggleBlurSeries) {
- view.toggleBlurSeries(leaveBlurredSeries, false, model);
- }
- });
- }
- function blurSeries(targetSeriesIndex, focus, blurScope, api) {
- var ecModel = api.getModel();
- blurScope = blurScope || "coordinateSystem";
- function leaveBlurOfIndices(data, dataIndices) {
- for (var i = 0; i < dataIndices.length; i++) {
- var itemEl = data.getItemGraphicEl(dataIndices[i]);
- itemEl && leaveBlur(itemEl);
- }
- }
- if (targetSeriesIndex == null) {
- return;
- }
- if (!focus || focus === "none") {
- return;
- }
- var targetSeriesModel = ecModel.getSeriesByIndex(targetSeriesIndex);
- var targetCoordSys = targetSeriesModel.coordinateSystem;
- if (targetCoordSys && targetCoordSys.master) {
- targetCoordSys = targetCoordSys.master;
- }
- var blurredSeries = [];
- ecModel.eachSeries(function(seriesModel) {
- var sameSeries = targetSeriesModel === seriesModel;
- var coordSys = seriesModel.coordinateSystem;
- if (coordSys && coordSys.master) {
- coordSys = coordSys.master;
- }
- var sameCoordSys = coordSys && targetCoordSys ? coordSys === targetCoordSys : sameSeries;
- if (!(blurScope === "series" && !sameSeries || blurScope === "coordinateSystem" && !sameCoordSys || focus === "series" && sameSeries)) {
- var view = api.getViewOfSeriesModel(seriesModel);
- view.group.traverse(function(child) {
- singleEnterBlur(child);
- });
- if (isArrayLike(focus)) {
- leaveBlurOfIndices(seriesModel.getData(), focus);
- } else if (isObject(focus)) {
- var dataTypes = keys(focus);
- for (var d = 0; d < dataTypes.length; d++) {
- leaveBlurOfIndices(seriesModel.getData(dataTypes[d]), focus[dataTypes[d]]);
- }
- }
- blurredSeries.push(seriesModel);
- getComponentStates(seriesModel).isBlured = true;
- }
- });
- ecModel.eachComponent(function(componentType, componentModel) {
- if (componentType === "series") {
- return;
- }
- var view = api.getViewOfComponentModel(componentModel);
- if (view && view.toggleBlurSeries) {
- view.toggleBlurSeries(blurredSeries, true, ecModel);
- }
- });
- }
- function blurComponent(componentMainType, componentIndex, api) {
- if (componentMainType == null || componentIndex == null) {
- return;
- }
- var componentModel = api.getModel().getComponent(componentMainType, componentIndex);
- if (!componentModel) {
- return;
- }
- getComponentStates(componentModel).isBlured = true;
- var view = api.getViewOfComponentModel(componentModel);
- if (!view || !view.focusBlurEnabled) {
- return;
- }
- view.group.traverse(function(child) {
- singleEnterBlur(child);
- });
- }
- function blurSeriesFromHighlightPayload(seriesModel, payload, api) {
- var seriesIndex = seriesModel.seriesIndex;
- var data = seriesModel.getData(payload.dataType);
- if (!data) {
- if (true) {
- error("Unknown dataType " + payload.dataType);
- }
- return;
- }
- var dataIndex = queryDataIndex(data, payload);
- dataIndex = (isArray(dataIndex) ? dataIndex[0] : dataIndex) || 0;
- var el = data.getItemGraphicEl(dataIndex);
- if (!el) {
- var count = data.count();
- var current = 0;
- while (!el && current < count) {
- el = data.getItemGraphicEl(current++);
- }
- }
- if (el) {
- var ecData = getECData(el);
- blurSeries(seriesIndex, ecData.focus, ecData.blurScope, api);
- } else {
- var focus_1 = seriesModel.get(["emphasis", "focus"]);
- var blurScope = seriesModel.get(["emphasis", "blurScope"]);
- if (focus_1 != null) {
- blurSeries(seriesIndex, focus_1, blurScope, api);
- }
- }
- }
- function findComponentHighDownDispatchers(componentMainType, componentIndex, name, api) {
- var ret = {
- focusSelf: false,
- dispatchers: null
- };
- if (componentMainType == null || componentMainType === "series" || componentIndex == null || name == null) {
- return ret;
- }
- var componentModel = api.getModel().getComponent(componentMainType, componentIndex);
- if (!componentModel) {
- return ret;
- }
- var view = api.getViewOfComponentModel(componentModel);
- if (!view || !view.findHighDownDispatchers) {
- return ret;
- }
- var dispatchers = view.findHighDownDispatchers(name);
- var focusSelf;
- for (var i = 0; i < dispatchers.length; i++) {
- if (!isHighDownDispatcher(dispatchers[i])) {
- error("param should be highDownDispatcher");
- }
- if (getECData(dispatchers[i]).focus === "self") {
- focusSelf = true;
- break;
- }
- }
- return {
- focusSelf,
- dispatchers
- };
- }
- function handleGlobalMouseOverForHighDown(dispatcher, e2, api) {
- if (!isHighDownDispatcher(dispatcher)) {
- error("param should be highDownDispatcher");
- }
- var ecData = getECData(dispatcher);
- var _a2 = findComponentHighDownDispatchers(ecData.componentMainType, ecData.componentIndex, ecData.componentHighDownName, api), dispatchers = _a2.dispatchers, focusSelf = _a2.focusSelf;
- if (dispatchers) {
- if (focusSelf) {
- blurComponent(ecData.componentMainType, ecData.componentIndex, api);
- }
- each(dispatchers, function(dispatcher2) {
- return enterEmphasisWhenMouseOver(dispatcher2, e2);
- });
- } else {
- blurSeries(ecData.seriesIndex, ecData.focus, ecData.blurScope, api);
- if (ecData.focus === "self") {
- blurComponent(ecData.componentMainType, ecData.componentIndex, api);
- }
- enterEmphasisWhenMouseOver(dispatcher, e2);
- }
- }
- function handleGlobalMouseOutForHighDown(dispatcher, e2, api) {
- if (!isHighDownDispatcher(dispatcher)) {
- error("param should be highDownDispatcher");
- }
- allLeaveBlur(api);
- var ecData = getECData(dispatcher);
- var dispatchers = findComponentHighDownDispatchers(ecData.componentMainType, ecData.componentIndex, ecData.componentHighDownName, api).dispatchers;
- if (dispatchers) {
- each(dispatchers, function(dispatcher2) {
- return leaveEmphasisWhenMouseOut(dispatcher2, e2);
- });
- } else {
- leaveEmphasisWhenMouseOut(dispatcher, e2);
- }
- }
- function toggleSelectionFromPayload(seriesModel, payload, api) {
- if (!isSelectChangePayload(payload)) {
- return;
- }
- var dataType = payload.dataType;
- var data = seriesModel.getData(dataType);
- var dataIndex = queryDataIndex(data, payload);
- if (!isArray(dataIndex)) {
- dataIndex = [dataIndex];
- }
- seriesModel[payload.type === TOGGLE_SELECT_ACTION_TYPE ? "toggleSelect" : payload.type === SELECT_ACTION_TYPE ? "select" : "unselect"](dataIndex, dataType);
- }
- function updateSeriesElementSelection(seriesModel) {
- var allData = seriesModel.getAllData();
- each(allData, function(_a2) {
- var data = _a2.data, type = _a2.type;
- data.eachItemGraphicEl(function(el, idx) {
- seriesModel.isSelected(idx, type) ? enterSelect(el) : leaveSelect(el);
- });
- });
- }
- function getAllSelectedIndices(ecModel) {
- var ret = [];
- ecModel.eachSeries(function(seriesModel) {
- var allData = seriesModel.getAllData();
- each(allData, function(_a2) {
- var data = _a2.data, type = _a2.type;
- var dataIndices = seriesModel.getSelectedDataIndices();
- if (dataIndices.length > 0) {
- var item = {
- dataIndex: dataIndices,
- seriesIndex: seriesModel.seriesIndex
- };
- if (type != null) {
- item.dataType = type;
- }
- ret.push(item);
- }
- });
- });
- return ret;
- }
- function enableHoverEmphasis(el, focus, blurScope) {
- setAsHighDownDispatcher(el, true);
- traverseUpdateState(el, setDefaultStateProxy);
- enableHoverFocus(el, focus, blurScope);
- }
- function disableHoverEmphasis(el) {
- setAsHighDownDispatcher(el, false);
- }
- function toggleHoverEmphasis(el, focus, blurScope, isDisabled) {
- isDisabled ? disableHoverEmphasis(el) : enableHoverEmphasis(el, focus, blurScope);
- }
- function enableHoverFocus(el, focus, blurScope) {
- var ecData = getECData(el);
- if (focus != null) {
- ecData.focus = focus;
- ecData.blurScope = blurScope;
- } else if (ecData.focus) {
- ecData.focus = null;
- }
- }
- var OTHER_STATES = ["emphasis", "blur", "select"];
- var defaultStyleGetterMap = {
- itemStyle: "getItemStyle",
- lineStyle: "getLineStyle",
- areaStyle: "getAreaStyle"
- };
- function setStatesStylesFromModel(el, itemModel, styleType, getter) {
- styleType = styleType || "itemStyle";
- for (var i = 0; i < OTHER_STATES.length; i++) {
- var stateName = OTHER_STATES[i];
- var model = itemModel.getModel([stateName, styleType]);
- var state = el.ensureState(stateName);
- state.style = getter ? getter(model) : model[defaultStyleGetterMap[styleType]]();
- }
- }
- function setAsHighDownDispatcher(el, asDispatcher) {
- var disable = asDispatcher === false;
- var extendedEl = el;
- if (el.highDownSilentOnTouch) {
- extendedEl.__highDownSilentOnTouch = el.highDownSilentOnTouch;
- }
- if (!disable || extendedEl.__highDownDispatcher) {
- extendedEl.__highByOuter = extendedEl.__highByOuter || 0;
- extendedEl.__highDownDispatcher = !disable;
- }
- }
- function isHighDownDispatcher(el) {
- return !!(el && el.__highDownDispatcher);
- }
- function enableComponentHighDownFeatures(el, componentModel, componentHighDownName) {
- var ecData = getECData(el);
- ecData.componentMainType = componentModel.mainType;
- ecData.componentIndex = componentModel.componentIndex;
- ecData.componentHighDownName = componentHighDownName;
- }
- function getHighlightDigit(highlightKey) {
- var highlightDigit = _highlightKeyMap[highlightKey];
- if (highlightDigit == null && _highlightNextDigit <= 32) {
- highlightDigit = _highlightKeyMap[highlightKey] = _highlightNextDigit++;
- }
- return highlightDigit;
- }
- function isSelectChangePayload(payload) {
- var payloadType = payload.type;
- return payloadType === SELECT_ACTION_TYPE || payloadType === UNSELECT_ACTION_TYPE || payloadType === TOGGLE_SELECT_ACTION_TYPE;
- }
- function isHighDownPayload(payload) {
- var payloadType = payload.type;
- return payloadType === HIGHLIGHT_ACTION_TYPE || payloadType === DOWNPLAY_ACTION_TYPE;
- }
- function savePathStates(el) {
- var store = getSavedStates(el);
- store.normalFill = el.style.fill;
- store.normalStroke = el.style.stroke;
- var selectState = el.states.select || {};
- store.selectFill = selectState.style && selectState.style.fill || null;
- store.selectStroke = selectState.style && selectState.style.stroke || null;
- }
- // node_modules/echarts/lib/util/graphic.js
- var graphic_exports = {};
- __export(graphic_exports, {
- Arc: () => Arc_default,
- BezierCurve: () => BezierCurve_default,
- BoundingRect: () => BoundingRect_default,
- Circle: () => Circle_default,
- CompoundPath: () => CompoundPath_default,
- Ellipse: () => Ellipse_default,
- Group: () => Group_default,
- Image: () => Image_default,
- IncrementalDisplayable: () => IncrementalDisplayable_default,
- Line: () => Line_default,
- LinearGradient: () => LinearGradient_default,
- OrientedBoundingRect: () => OrientedBoundingRect_default,
- Path: () => Path_default,
- Point: () => Point_default,
- Polygon: () => Polygon_default,
- Polyline: () => Polyline_default,
- RadialGradient: () => RadialGradient_default,
- Rect: () => Rect_default,
- Ring: () => Ring_default,
- Sector: () => Sector_default,
- Text: () => Text_default,
- applyTransform: () => applyTransform2,
- clipPointsByRect: () => clipPointsByRect,
- clipRectByRect: () => clipRectByRect,
- createIcon: () => createIcon,
- extendPath: () => extendPath,
- extendShape: () => extendShape,
- getShapeClass: () => getShapeClass,
- getTransform: () => getTransform,
- groupTransition: () => groupTransition,
- initProps: () => initProps,
- isElementRemoved: () => isElementRemoved,
- lineLineIntersect: () => lineLineIntersect,
- linePolygonIntersect: () => linePolygonIntersect,
- makeImage: () => makeImage,
- makePath: () => makePath,
- mergePath: () => mergePath2,
- registerShape: () => registerShape,
- removeElement: () => removeElement,
- removeElementWithFadeOut: () => removeElementWithFadeOut,
- resizePath: () => resizePath,
- setTooltipConfig: () => setTooltipConfig,
- subPixelOptimize: () => subPixelOptimize2,
- subPixelOptimizeLine: () => subPixelOptimizeLine2,
- subPixelOptimizeRect: () => subPixelOptimizeRect2,
- transformDirection: () => transformDirection,
- traverseElements: () => traverseElements,
- updateProps: () => updateProps
- });
- init_define_APP_INFO();
- // node_modules/zrender/lib/tool/path.js
- init_define_APP_INFO();
- // node_modules/zrender/lib/tool/transformPath.js
- init_define_APP_INFO();
- var CMD = PathProxy_default.CMD;
- var points = [[], [], []];
- var mathSqrt = Math.sqrt;
- var mathAtan2 = Math.atan2;
- function transformPath(path, m2) {
- if (!m2) {
- return;
- }
- var data = path.data;
- var len = path.len();
- var cmd;
- var nPoint;
- var i;
- var j;
- var k;
- var p;
- var M = CMD.M;
- var C = CMD.C;
- var L = CMD.L;
- var R = CMD.R;
- var A = CMD.A;
- var Q = CMD.Q;
- for (i = 0, j = 0; i < len; ) {
- cmd = data[i++];
- j = i;
- nPoint = 0;
- switch (cmd) {
- case M:
- nPoint = 1;
- break;
- case L:
- nPoint = 1;
- break;
- case C:
- nPoint = 3;
- break;
- case Q:
- nPoint = 2;
- break;
- case A:
- var x = m2[4];
- var y = m2[5];
- var sx = mathSqrt(m2[0] * m2[0] + m2[1] * m2[1]);
- var sy = mathSqrt(m2[2] * m2[2] + m2[3] * m2[3]);
- var angle = mathAtan2(-m2[1] / sy, m2[0] / sx);
- data[i] *= sx;
- data[i++] += x;
- data[i] *= sy;
- data[i++] += y;
- data[i++] *= sx;
- data[i++] *= sy;
- data[i++] += angle;
- data[i++] += angle;
- i += 2;
- j = i;
- break;
- case R:
- p[0] = data[i++];
- p[1] = data[i++];
- applyTransform(p, p, m2);
- data[j++] = p[0];
- data[j++] = p[1];
- p[0] += data[i++];
- p[1] += data[i++];
- applyTransform(p, p, m2);
- data[j++] = p[0];
- data[j++] = p[1];
- }
- for (k = 0; k < nPoint; k++) {
- var p_1 = points[k];
- p_1[0] = data[i++];
- p_1[1] = data[i++];
- applyTransform(p_1, p_1, m2);
- data[j++] = p_1[0];
- data[j++] = p_1[1];
- }
- }
- path.increaseVersion();
- }
- // node_modules/zrender/lib/tool/path.js
- var mathSqrt2 = Math.sqrt;
- var mathSin = Math.sin;
- var mathCos = Math.cos;
- var PI = Math.PI;
- function vMag(v) {
- return Math.sqrt(v[0] * v[0] + v[1] * v[1]);
- }
- function vRatio(u, v) {
- return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v));
- }
- function vAngle(u, v) {
- return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));
- }
- function processArc(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg, cmd, path) {
- var psi = psiDeg * (PI / 180);
- var xp = mathCos(psi) * (x1 - x2) / 2 + mathSin(psi) * (y1 - y2) / 2;
- var yp = -1 * mathSin(psi) * (x1 - x2) / 2 + mathCos(psi) * (y1 - y2) / 2;
- var lambda = xp * xp / (rx * rx) + yp * yp / (ry * ry);
- if (lambda > 1) {
- rx *= mathSqrt2(lambda);
- ry *= mathSqrt2(lambda);
- }
- var f = (fa === fs ? -1 : 1) * mathSqrt2((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) / (rx * rx * (yp * yp) + ry * ry * (xp * xp))) || 0;
- var cxp = f * rx * yp / ry;
- var cyp = f * -ry * xp / rx;
- var cx = (x1 + x2) / 2 + mathCos(psi) * cxp - mathSin(psi) * cyp;
- var cy = (y1 + y2) / 2 + mathSin(psi) * cxp + mathCos(psi) * cyp;
- var theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);
- var u = [(xp - cxp) / rx, (yp - cyp) / ry];
- var v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];
- var dTheta = vAngle(u, v);
- if (vRatio(u, v) <= -1) {
- dTheta = PI;
- }
- if (vRatio(u, v) >= 1) {
- dTheta = 0;
- }
- if (dTheta < 0) {
- var n = Math.round(dTheta / PI * 1e6) / 1e6;
- dTheta = PI * 2 + n % 2 * PI;
- }
- path.addData(cmd, cx, cy, rx, ry, theta, dTheta, psi, fs);
- }
- var commandReg = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig;
- var numberReg = /-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;
- function createPathProxyFromString(data) {
- var path = new PathProxy_default();
- if (!data) {
- return path;
- }
- var cpx = 0;
- var cpy = 0;
- var subpathX = cpx;
- var subpathY = cpy;
- var prevCmd;
- var CMD2 = PathProxy_default.CMD;
- var cmdList = data.match(commandReg);
- if (!cmdList) {
- return path;
- }
- for (var l = 0; l < cmdList.length; l++) {
- var cmdText = cmdList[l];
- var cmdStr = cmdText.charAt(0);
- var cmd = void 0;
- var p = cmdText.match(numberReg) || [];
- var pLen = p.length;
- for (var i = 0; i < pLen; i++) {
- p[i] = parseFloat(p[i]);
- }
- var off = 0;
- while (off < pLen) {
- var ctlPtx = void 0;
- var ctlPty = void 0;
- var rx = void 0;
- var ry = void 0;
- var psi = void 0;
- var fa = void 0;
- var fs = void 0;
- var x1 = cpx;
- var y1 = cpy;
- var len = void 0;
- var pathData = void 0;
- switch (cmdStr) {
- case "l":
- cpx += p[off++];
- cpy += p[off++];
- cmd = CMD2.L;
- path.addData(cmd, cpx, cpy);
- break;
- case "L":
- cpx = p[off++];
- cpy = p[off++];
- cmd = CMD2.L;
- path.addData(cmd, cpx, cpy);
- break;
- case "m":
- cpx += p[off++];
- cpy += p[off++];
- cmd = CMD2.M;
- path.addData(cmd, cpx, cpy);
- subpathX = cpx;
- subpathY = cpy;
- cmdStr = "l";
- break;
- case "M":
- cpx = p[off++];
- cpy = p[off++];
- cmd = CMD2.M;
- path.addData(cmd, cpx, cpy);
- subpathX = cpx;
- subpathY = cpy;
- cmdStr = "L";
- break;
- case "h":
- cpx += p[off++];
- cmd = CMD2.L;
- path.addData(cmd, cpx, cpy);
- break;
- case "H":
- cpx = p[off++];
- cmd = CMD2.L;
- path.addData(cmd, cpx, cpy);
- break;
- case "v":
- cpy += p[off++];
- cmd = CMD2.L;
- path.addData(cmd, cpx, cpy);
- break;
- case "V":
- cpy = p[off++];
- cmd = CMD2.L;
- path.addData(cmd, cpx, cpy);
- break;
- case "C":
- cmd = CMD2.C;
- path.addData(cmd, p[off++], p[off++], p[off++], p[off++], p[off++], p[off++]);
- cpx = p[off - 2];
- cpy = p[off - 1];
- break;
- case "c":
- cmd = CMD2.C;
- path.addData(cmd, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy);
- cpx += p[off - 2];
- cpy += p[off - 1];
- break;
- case "S":
- ctlPtx = cpx;
- ctlPty = cpy;
- len = path.len();
- pathData = path.data;
- if (prevCmd === CMD2.C) {
- ctlPtx += cpx - pathData[len - 4];
- ctlPty += cpy - pathData[len - 3];
- }
- cmd = CMD2.C;
- x1 = p[off++];
- y1 = p[off++];
- cpx = p[off++];
- cpy = p[off++];
- path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);
- break;
- case "s":
- ctlPtx = cpx;
- ctlPty = cpy;
- len = path.len();
- pathData = path.data;
- if (prevCmd === CMD2.C) {
- ctlPtx += cpx - pathData[len - 4];
- ctlPty += cpy - pathData[len - 3];
- }
- cmd = CMD2.C;
- x1 = cpx + p[off++];
- y1 = cpy + p[off++];
- cpx += p[off++];
- cpy += p[off++];
- path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);
- break;
- case "Q":
- x1 = p[off++];
- y1 = p[off++];
- cpx = p[off++];
- cpy = p[off++];
- cmd = CMD2.Q;
- path.addData(cmd, x1, y1, cpx, cpy);
- break;
- case "q":
- x1 = p[off++] + cpx;
- y1 = p[off++] + cpy;
- cpx += p[off++];
- cpy += p[off++];
- cmd = CMD2.Q;
- path.addData(cmd, x1, y1, cpx, cpy);
- break;
- case "T":
- ctlPtx = cpx;
- ctlPty = cpy;
- len = path.len();
- pathData = path.data;
- if (prevCmd === CMD2.Q) {
- ctlPtx += cpx - pathData[len - 4];
- ctlPty += cpy - pathData[len - 3];
- }
- cpx = p[off++];
- cpy = p[off++];
- cmd = CMD2.Q;
- path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);
- break;
- case "t":
- ctlPtx = cpx;
- ctlPty = cpy;
- len = path.len();
- pathData = path.data;
- if (prevCmd === CMD2.Q) {
- ctlPtx += cpx - pathData[len - 4];
- ctlPty += cpy - pathData[len - 3];
- }
- cpx += p[off++];
- cpy += p[off++];
- cmd = CMD2.Q;
- path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);
- break;
- case "A":
- rx = p[off++];
- ry = p[off++];
- psi = p[off++];
- fa = p[off++];
- fs = p[off++];
- x1 = cpx, y1 = cpy;
- cpx = p[off++];
- cpy = p[off++];
- cmd = CMD2.A;
- processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path);
- break;
- case "a":
- rx = p[off++];
- ry = p[off++];
- psi = p[off++];
- fa = p[off++];
- fs = p[off++];
- x1 = cpx, y1 = cpy;
- cpx += p[off++];
- cpy += p[off++];
- cmd = CMD2.A;
- processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path);
- break;
- }
- }
- if (cmdStr === "z" || cmdStr === "Z") {
- cmd = CMD2.Z;
- path.addData(cmd);
- cpx = subpathX;
- cpy = subpathY;
- }
- prevCmd = cmd;
- }
- path.toStatic();
- return path;
- }
- var SVGPath = function(_super) {
- __extends(SVGPath2, _super);
- function SVGPath2() {
- return _super !== null && _super.apply(this, arguments) || this;
- }
- SVGPath2.prototype.applyTransform = function(m2) {
- };
- return SVGPath2;
- }(Path_default);
- function isPathProxy(path) {
- return path.setData != null;
- }
- function createPathOptions(str, opts) {
- var pathProxy = createPathProxyFromString(str);
- var innerOpts = extend({}, opts);
- innerOpts.buildPath = function(path) {
- if (isPathProxy(path)) {
- path.setData(pathProxy.data);
- var ctx = path.getContext();
- if (ctx) {
- path.rebuildPath(ctx, 1);
- }
- } else {
- var ctx = path;
- pathProxy.rebuildPath(ctx, 1);
- }
- };
- innerOpts.applyTransform = function(m2) {
- transformPath(pathProxy, m2);
- this.dirtyShape();
- };
- return innerOpts;
- }
- function createFromString(str, opts) {
- return new SVGPath(createPathOptions(str, opts));
- }
- function extendFromString(str, defaultOpts) {
- var innerOpts = createPathOptions(str, defaultOpts);
- var Sub = function(_super) {
- __extends(Sub2, _super);
- function Sub2(opts) {
- var _this = _super.call(this, opts) || this;
- _this.applyTransform = innerOpts.applyTransform;
- _this.buildPath = innerOpts.buildPath;
- return _this;
- }
- return Sub2;
- }(SVGPath);
- return Sub;
- }
- function mergePath(pathEls, opts) {
- var pathList = [];
- var len = pathEls.length;
- for (var i = 0; i < len; i++) {
- var pathEl = pathEls[i];
- pathList.push(pathEl.getUpdatedPathProxy(true));
- }
- var pathBundle = new Path_default(opts);
- pathBundle.createPathProxy();
- pathBundle.buildPath = function(path) {
- if (isPathProxy(path)) {
- path.appendPath(pathList);
- var ctx = path.getContext();
- if (ctx) {
- path.rebuildPath(ctx, 1);
- }
- }
- };
- return pathBundle;
- }
- // node_modules/zrender/lib/graphic/Group.js
- init_define_APP_INFO();
- var Group = function(_super) {
- __extends(Group2, _super);
- function Group2(opts) {
- var _this = _super.call(this) || this;
- _this.isGroup = true;
- _this._children = [];
- _this.attr(opts);
- return _this;
- }
- Group2.prototype.childrenRef = function() {
- return this._children;
- };
- Group2.prototype.children = function() {
- return this._children.slice();
- };
- Group2.prototype.childAt = function(idx) {
- return this._children[idx];
- };
- Group2.prototype.childOfName = function(name) {
- var children = this._children;
- for (var i = 0; i < children.length; i++) {
- if (children[i].name === name) {
- return children[i];
- }
- }
- };
- Group2.prototype.childCount = function() {
- return this._children.length;
- };
- Group2.prototype.add = function(child) {
- if (child) {
- if (child !== this && child.parent !== this) {
- this._children.push(child);
- this._doAdd(child);
- }
- if (true) {
- if (child.__hostTarget) {
- throw "This elemenet has been used as an attachment";
- }
- }
- }
- return this;
- };
- Group2.prototype.addBefore = function(child, nextSibling) {
- if (child && child !== this && child.parent !== this && nextSibling && nextSibling.parent === this) {
- var children = this._children;
- var idx = children.indexOf(nextSibling);
- if (idx >= 0) {
- children.splice(idx, 0, child);
- this._doAdd(child);
- }
- }
- return this;
- };
- Group2.prototype.replace = function(oldChild, newChild) {
- var idx = indexOf(this._children, oldChild);
- if (idx >= 0) {
- this.replaceAt(newChild, idx);
- }
- return this;
- };
- Group2.prototype.replaceAt = function(child, index) {
- var children = this._children;
- var old = children[index];
- if (child && child !== this && child.parent !== this && child !== old) {
- children[index] = child;
- old.parent = null;
- var zr = this.__zr;
- if (zr) {
- old.removeSelfFromZr(zr);
- }
- this._doAdd(child);
- }
- return this;
- };
- Group2.prototype._doAdd = function(child) {
- if (child.parent) {
- child.parent.remove(child);
- }
- child.parent = this;
- var zr = this.__zr;
- if (zr && zr !== child.__zr) {
- child.addSelfToZr(zr);
- }
- zr && zr.refresh();
- };
- Group2.prototype.remove = function(child) {
- var zr = this.__zr;
- var children = this._children;
- var idx = indexOf(children, child);
- if (idx < 0) {
- return this;
- }
- children.splice(idx, 1);
- child.parent = null;
- if (zr) {
- child.removeSelfFromZr(zr);
- }
- zr && zr.refresh();
- return this;
- };
- Group2.prototype.removeAll = function() {
- var children = this._children;
- var zr = this.__zr;
- for (var i = 0; i < children.length; i++) {
- var child = children[i];
- if (zr) {
- child.removeSelfFromZr(zr);
- }
- child.parent = null;
- }
- children.length = 0;
- return this;
- };
- Group2.prototype.eachChild = function(cb, context) {
- var children = this._children;
- for (var i = 0; i < children.length; i++) {
- var child = children[i];
- cb.call(context, child, i);
- }
- return this;
- };
- Group2.prototype.traverse = function(cb, context) {
- for (var i = 0; i < this._children.length; i++) {
- var child = this._children[i];
- var stopped = cb.call(context, child);
- if (child.isGroup && !stopped) {
- child.traverse(cb, context);
- }
- }
- return this;
- };
- Group2.prototype.addSelfToZr = function(zr) {
- _super.prototype.addSelfToZr.call(this, zr);
- for (var i = 0; i < this._children.length; i++) {
- var child = this._children[i];
- child.addSelfToZr(zr);
- }
- };
- Group2.prototype.removeSelfFromZr = function(zr) {
- _super.prototype.removeSelfFromZr.call(this, zr);
- for (var i = 0; i < this._children.length; i++) {
- var child = this._children[i];
- child.removeSelfFromZr(zr);
- }
- };
- Group2.prototype.getBoundingRect = function(includeChildren) {
- var tmpRect = new BoundingRect_default(0, 0, 0, 0);
- var children = includeChildren || this._children;
- var tmpMat = [];
- var rect = null;
- for (var i = 0; i < children.length; i++) {
- var child = children[i];
- if (child.ignore || child.invisible) {
- continue;
- }
- var childRect = child.getBoundingRect();
- var transform = child.getLocalTransform(tmpMat);
- if (transform) {
- BoundingRect_default.applyTransform(tmpRect, childRect, transform);
- rect = rect || tmpRect.clone();
- rect.union(tmpRect);
- } else {
- rect = rect || childRect.clone();
- rect.union(childRect);
- }
- }
- return rect || tmpRect;
- };
- return Group2;
- }(Element_default);
- Group.prototype.type = "group";
- var Group_default = Group;
- // node_modules/zrender/lib/graphic/shape/Circle.js
- init_define_APP_INFO();
- var CircleShape = function() {
- function CircleShape2() {
- this.cx = 0;
- this.cy = 0;
- this.r = 0;
- }
- return CircleShape2;
- }();
- var Circle = function(_super) {
- __extends(Circle2, _super);
- function Circle2(opts) {
- return _super.call(this, opts) || this;
- }
- Circle2.prototype.getDefaultShape = function() {
- return new CircleShape();
- };
- Circle2.prototype.buildPath = function(ctx, shape) {
- ctx.moveTo(shape.cx + shape.r, shape.cy);
- ctx.arc(shape.cx, shape.cy, shape.r, 0, Math.PI * 2);
- };
- return Circle2;
- }(Path_default);
- Circle.prototype.type = "circle";
- var Circle_default = Circle;
- // node_modules/zrender/lib/graphic/shape/Ellipse.js
- init_define_APP_INFO();
- var EllipseShape = function() {
- function EllipseShape2() {
- this.cx = 0;
- this.cy = 0;
- this.rx = 0;
- this.ry = 0;
- }
- return EllipseShape2;
- }();
- var Ellipse = function(_super) {
- __extends(Ellipse2, _super);
- function Ellipse2(opts) {
- return _super.call(this, opts) || this;
- }
- Ellipse2.prototype.getDefaultShape = function() {
- return new EllipseShape();
- };
- Ellipse2.prototype.buildPath = function(ctx, shape) {
- var k = 0.5522848;
- var x = shape.cx;
- var y = shape.cy;
- var a = shape.rx;
- var b = shape.ry;
- var ox = a * k;
- var oy = b * k;
- ctx.moveTo(x - a, y);
- ctx.bezierCurveTo(x - a, y - oy, x - ox, y - b, x, y - b);
- ctx.bezierCurveTo(x + ox, y - b, x + a, y - oy, x + a, y);
- ctx.bezierCurveTo(x + a, y + oy, x + ox, y + b, x, y + b);
- ctx.bezierCurveTo(x - ox, y + b, x - a, y + oy, x - a, y);
- ctx.closePath();
- };
- return Ellipse2;
- }(Path_default);
- Ellipse.prototype.type = "ellipse";
- var Ellipse_default = Ellipse;
- // node_modules/zrender/lib/graphic/shape/Sector.js
- init_define_APP_INFO();
- // node_modules/zrender/lib/graphic/helper/roundSector.js
- init_define_APP_INFO();
- var PI2 = Math.PI;
- var PI22 = PI2 * 2;
- var mathSin2 = Math.sin;
- var mathCos2 = Math.cos;
- var mathACos = Math.acos;
- var mathATan2 = Math.atan2;
- var mathAbs = Math.abs;
- var mathSqrt3 = Math.sqrt;
- var mathMax = Math.max;
- var mathMin = Math.min;
- var e = 1e-4;
- function intersect(x0, y0, x1, y1, x2, y2, x3, y3) {
- var dx10 = x1 - x0;
- var dy10 = y1 - y0;
- var dx32 = x3 - x2;
- var dy32 = y3 - y2;
- var t = dy32 * dx10 - dx32 * dy10;
- if (t * t < e) {
- return;
- }
- t = (dx32 * (y0 - y2) - dy32 * (x0 - x2)) / t;
- return [x0 + t * dx10, y0 + t * dy10];
- }
- function computeCornerTangents(x0, y0, x1, y1, radius, cr, clockwise) {
- var x01 = x0 - x1;
- var y01 = y0 - y1;
- var lo = (clockwise ? cr : -cr) / mathSqrt3(x01 * x01 + y01 * y01);
- var ox = lo * y01;
- var oy = -lo * x01;
- var x11 = x0 + ox;
- var y11 = y0 + oy;
- var x10 = x1 + ox;
- var y10 = y1 + oy;
- var x00 = (x11 + x10) / 2;
- var y00 = (y11 + y10) / 2;
- var dx = x10 - x11;
- var dy = y10 - y11;
- var d2 = dx * dx + dy * dy;
- var r = radius - cr;
- var s = x11 * y10 - x10 * y11;
- var d = (dy < 0 ? -1 : 1) * mathSqrt3(mathMax(0, r * r * d2 - s * s));
- var cx0 = (s * dy - dx * d) / d2;
- var cy0 = (-s * dx - dy * d) / d2;
- var cx1 = (s * dy + dx * d) / d2;
- var cy1 = (-s * dx + dy * d) / d2;
- var dx0 = cx0 - x00;
- var dy0 = cy0 - y00;
- var dx1 = cx1 - x00;
- var dy1 = cy1 - y00;
- if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) {
- cx0 = cx1;
- cy0 = cy1;
- }
- return {
- cx: cx0,
- cy: cy0,
- x0: -ox,
- y0: -oy,
- x1: cx0 * (radius / r - 1),
- y1: cy0 * (radius / r - 1)
- };
- }
- function normalizeCornerRadius(cr) {
- var arr;
- if (isArray(cr)) {
- var len = cr.length;
- if (!len) {
- return cr;
- }
- if (len === 1) {
- arr = [cr[0], cr[0], 0, 0];
- } else if (len === 2) {
- arr = [cr[0], cr[0], cr[1], cr[1]];
- } else if (len === 3) {
- arr = cr.concat(cr[2]);
- } else {
- arr = cr;
- }
- } else {
- arr = [cr, cr, cr, cr];
- }
- return arr;
- }
- function buildPath(ctx, shape) {
- var _a2;
- var radius = mathMax(shape.r, 0);
- var innerRadius = mathMax(shape.r0 || 0, 0);
- var hasRadius = radius > 0;
- var hasInnerRadius = innerRadius > 0;
- if (!hasRadius && !hasInnerRadius) {
- return;
- }
- if (!hasRadius) {
- radius = innerRadius;
- innerRadius = 0;
- }
- if (innerRadius > radius) {
- var tmp = radius;
- radius = innerRadius;
- innerRadius = tmp;
- }
- var startAngle = shape.startAngle, endAngle = shape.endAngle;
- if (isNaN(startAngle) || isNaN(endAngle)) {
- return;
- }
- var cx = shape.cx, cy = shape.cy;
- var clockwise = !!shape.clockwise;
- var arc = mathAbs(endAngle - startAngle);
- var mod = arc > PI22 && arc % PI22;
- mod > e && (arc = mod);
- if (!(radius > e)) {
- ctx.moveTo(cx, cy);
- } else if (arc > PI22 - e) {
- ctx.moveTo(cx + radius * mathCos2(startAngle), cy + radius * mathSin2(startAngle));
- ctx.arc(cx, cy, radius, startAngle, endAngle, !clockwise);
- if (innerRadius > e) {
- ctx.moveTo(cx + innerRadius * mathCos2(endAngle), cy + innerRadius * mathSin2(endAngle));
- ctx.arc(cx, cy, innerRadius, endAngle, startAngle, clockwise);
- }
- } else {
- var icrStart = void 0;
- var icrEnd = void 0;
- var ocrStart = void 0;
- var ocrEnd = void 0;
- var ocrs = void 0;
- var ocre = void 0;
- var icrs = void 0;
- var icre = void 0;
- var ocrMax = void 0;
- var icrMax = void 0;
- var limitedOcrMax = void 0;
- var limitedIcrMax = void 0;
- var xre = void 0;
- var yre = void 0;
- var xirs = void 0;
- var yirs = void 0;
- var xrs = radius * mathCos2(startAngle);
- var yrs = radius * mathSin2(startAngle);
- var xire = innerRadius * mathCos2(endAngle);
- var yire = innerRadius * mathSin2(endAngle);
- var hasArc = arc > e;
- if (hasArc) {
- var cornerRadius = shape.cornerRadius;
- if (cornerRadius) {
- _a2 = normalizeCornerRadius(cornerRadius), icrStart = _a2[0], icrEnd = _a2[1], ocrStart = _a2[2], ocrEnd = _a2[3];
- }
- var halfRd = mathAbs(radius - innerRadius) / 2;
- ocrs = mathMin(halfRd, ocrStart);
- ocre = mathMin(halfRd, ocrEnd);
- icrs = mathMin(halfRd, icrStart);
- icre = mathMin(halfRd, icrEnd);
- limitedOcrMax = ocrMax = mathMax(ocrs, ocre);
- limitedIcrMax = icrMax = mathMax(icrs, icre);
- if (ocrMax > e || icrMax > e) {
- xre = radius * mathCos2(endAngle);
- yre = radius * mathSin2(endAngle);
- xirs = innerRadius * mathCos2(startAngle);
- yirs = innerRadius * mathSin2(startAngle);
- if (arc < PI2) {
- var it_1 = intersect(xrs, yrs, xirs, yirs, xre, yre, xire, yire);
- if (it_1) {
- var x0 = xrs - it_1[0];
- var y0 = yrs - it_1[1];
- var x1 = xre - it_1[0];
- var y1 = yre - it_1[1];
- var a = 1 / mathSin2(mathACos((x0 * x1 + y0 * y1) / (mathSqrt3(x0 * x0 + y0 * y0) * mathSqrt3(x1 * x1 + y1 * y1))) / 2);
- var b = mathSqrt3(it_1[0] * it_1[0] + it_1[1] * it_1[1]);
- limitedOcrMax = mathMin(ocrMax, (radius - b) / (a + 1));
- limitedIcrMax = mathMin(icrMax, (innerRadius - b) / (a - 1));
- }
- }
- }
- }
- if (!hasArc) {
- ctx.moveTo(cx + xrs, cy + yrs);
- } else if (limitedOcrMax > e) {
- var crStart = mathMin(ocrStart, limitedOcrMax);
- var crEnd = mathMin(ocrEnd, limitedOcrMax);
- var ct0 = computeCornerTangents(xirs, yirs, xrs, yrs, radius, crStart, clockwise);
- var ct1 = computeCornerTangents(xre, yre, xire, yire, radius, crEnd, clockwise);
- ctx.moveTo(cx + ct0.cx + ct0.x0, cy + ct0.cy + ct0.y0);
- if (limitedOcrMax < ocrMax && crStart === crEnd) {
- ctx.arc(cx + ct0.cx, cy + ct0.cy, limitedOcrMax, mathATan2(ct0.y0, ct0.x0), mathATan2(ct1.y0, ct1.x0), !clockwise);
- } else {
- crStart > 0 && ctx.arc(cx + ct0.cx, cy + ct0.cy, crStart, mathATan2(ct0.y0, ct0.x0), mathATan2(ct0.y1, ct0.x1), !clockwise);
- ctx.arc(cx, cy, radius, mathATan2(ct0.cy + ct0.y1, ct0.cx + ct0.x1), mathATan2(ct1.cy + ct1.y1, ct1.cx + ct1.x1), !clockwise);
- crEnd > 0 && ctx.arc(cx + ct1.cx, cy + ct1.cy, crEnd, mathATan2(ct1.y1, ct1.x1), mathATan2(ct1.y0, ct1.x0), !clockwise);
- }
- } else {
- ctx.moveTo(cx + xrs, cy + yrs);
- ctx.arc(cx, cy, radius, startAngle, endAngle, !clockwise);
- }
- if (!(innerRadius > e) || !hasArc) {
- ctx.lineTo(cx + xire, cy + yire);
- } else if (limitedIcrMax > e) {
- var crStart = mathMin(icrStart, limitedIcrMax);
- var crEnd = mathMin(icrEnd, limitedIcrMax);
- var ct0 = computeCornerTangents(xire, yire, xre, yre, innerRadius, -crEnd, clockwise);
- var ct1 = computeCornerTangents(xrs, yrs, xirs, yirs, innerRadius, -crStart, clockwise);
- ctx.lineTo(cx + ct0.cx + ct0.x0, cy + ct0.cy + ct0.y0);
- if (limitedIcrMax < icrMax && crStart === crEnd) {
- ctx.arc(cx + ct0.cx, cy + ct0.cy, limitedIcrMax, mathATan2(ct0.y0, ct0.x0), mathATan2(ct1.y0, ct1.x0), !clockwise);
- } else {
- crEnd > 0 && ctx.arc(cx + ct0.cx, cy + ct0.cy, crEnd, mathATan2(ct0.y0, ct0.x0), mathATan2(ct0.y1, ct0.x1), !clockwise);
- ctx.arc(cx, cy, innerRadius, mathATan2(ct0.cy + ct0.y1, ct0.cx + ct0.x1), mathATan2(ct1.cy + ct1.y1, ct1.cx + ct1.x1), clockwise);
- crStart > 0 && ctx.arc(cx + ct1.cx, cy + ct1.cy, crStart, mathATan2(ct1.y1, ct1.x1), mathATan2(ct1.y0, ct1.x0), !clockwise);
- }
- } else {
- ctx.lineTo(cx + xire, cy + yire);
- ctx.arc(cx, cy, innerRadius, endAngle, startAngle, clockwise);
- }
- }
- ctx.closePath();
- }
- // node_modules/zrender/lib/graphic/shape/Sector.js
- var SectorShape = function() {
- function SectorShape2() {
- this.cx = 0;
- this.cy = 0;
- this.r0 = 0;
- this.r = 0;
- this.startAngle = 0;
- this.endAngle = Math.PI * 2;
- this.clockwise = true;
- this.cornerRadius = 0;
- }
- return SectorShape2;
- }();
- var Sector = function(_super) {
- __extends(Sector2, _super);
- function Sector2(opts) {
- return _super.call(this, opts) || this;
- }
- Sector2.prototype.getDefaultShape = function() {
- return new SectorShape();
- };
- Sector2.prototype.buildPath = function(ctx, shape) {
- buildPath(ctx, shape);
- };
- Sector2.prototype.isZeroArea = function() {
- return this.shape.startAngle === this.shape.endAngle || this.shape.r === this.shape.r0;
- };
- return Sector2;
- }(Path_default);
- Sector.prototype.type = "sector";
- var Sector_default = Sector;
- // node_modules/zrender/lib/graphic/shape/Ring.js
- init_define_APP_INFO();
- var RingShape = function() {
- function RingShape2() {
- this.cx = 0;
- this.cy = 0;
- this.r = 0;
- this.r0 = 0;
- }
- return RingShape2;
- }();
- var Ring = function(_super) {
- __extends(Ring2, _super);
- function Ring2(opts) {
- return _super.call(this, opts) || this;
- }
- Ring2.prototype.getDefaultShape = function() {
- return new RingShape();
- };
- Ring2.prototype.buildPath = function(ctx, shape) {
- var x = shape.cx;
- var y = shape.cy;
- var PI23 = Math.PI * 2;
- ctx.moveTo(x + shape.r, y);
- ctx.arc(x, y, shape.r, 0, PI23, false);
- ctx.moveTo(x + shape.r0, y);
- ctx.arc(x, y, shape.r0, 0, PI23, true);
- };
- return Ring2;
- }(Path_default);
- Ring.prototype.type = "ring";
- var Ring_default = Ring;
- // node_modules/zrender/lib/graphic/shape/Polygon.js
- init_define_APP_INFO();
- // node_modules/zrender/lib/graphic/helper/poly.js
- init_define_APP_INFO();
- // node_modules/zrender/lib/graphic/helper/smoothBezier.js
- init_define_APP_INFO();
- function smoothBezier(points2, smooth, isLoop, constraint) {
- var cps = [];
- var v = [];
- var v1 = [];
- var v2 = [];
- var prevPoint;
- var nextPoint;
- var min2;
- var max2;
- if (constraint) {
- min2 = [Infinity, Infinity];
- max2 = [-Infinity, -Infinity];
- for (var i = 0, len = points2.length; i < len; i++) {
- min(min2, min2, points2[i]);
- max(max2, max2, points2[i]);
- }
- min(min2, min2, constraint[0]);
- max(max2, max2, constraint[1]);
- }
- for (var i = 0, len = points2.length; i < len; i++) {
- var point = points2[i];
- if (isLoop) {
- prevPoint = points2[i ? i - 1 : len - 1];
- nextPoint = points2[(i + 1) % len];
- } else {
- if (i === 0 || i === len - 1) {
- cps.push(clone2(points2[i]));
- continue;
- } else {
- prevPoint = points2[i - 1];
- nextPoint = points2[i + 1];
- }
- }
- sub(v, nextPoint, prevPoint);
- scale(v, v, smooth);
- var d0 = distance(point, prevPoint);
- var d1 = distance(point, nextPoint);
- var sum = d0 + d1;
- if (sum !== 0) {
- d0 /= sum;
- d1 /= sum;
- }
- scale(v1, v, -d0);
- scale(v2, v, d1);
- var cp0 = add([], point, v1);
- var cp1 = add([], point, v2);
- if (constraint) {
- max(cp0, cp0, min2);
- min(cp0, cp0, max2);
- max(cp1, cp1, min2);
- min(cp1, cp1, max2);
- }
- cps.push(cp0);
- cps.push(cp1);
- }
- if (isLoop) {
- cps.push(cps.shift());
- }
- return cps;
- }
- // node_modules/zrender/lib/graphic/helper/poly.js
- function buildPath2(ctx, shape, closePath) {
- var smooth = shape.smooth;
- var points2 = shape.points;
- if (points2 && points2.length >= 2) {
- if (smooth) {
- var controlPoints = smoothBezier(points2, smooth, closePath, shape.smoothConstraint);
- ctx.moveTo(points2[0][0], points2[0][1]);
- var len = points2.length;
- for (var i = 0; i < (closePath ? len : len - 1); i++) {
- var cp1 = controlPoints[i * 2];
- var cp2 = controlPoints[i * 2 + 1];
- var p = points2[(i + 1) % len];
- ctx.bezierCurveTo(cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]);
- }
- } else {
- ctx.moveTo(points2[0][0], points2[0][1]);
- for (var i = 1, l = points2.length; i < l; i++) {
- ctx.lineTo(points2[i][0], points2[i][1]);
- }
- }
- closePath && ctx.closePath();
- }
- }
- // node_modules/zrender/lib/graphic/shape/Polygon.js
- var PolygonShape = function() {
- function PolygonShape2() {
- this.points = null;
- this.smooth = 0;
- this.smoothConstraint = null;
- }
- return PolygonShape2;
- }();
- var Polygon = function(_super) {
- __extends(Polygon2, _super);
- function Polygon2(opts) {
- return _super.call(this, opts) || this;
- }
- Polygon2.prototype.getDefaultShape = function() {
- return new PolygonShape();
- };
- Polygon2.prototype.buildPath = function(ctx, shape) {
- buildPath2(ctx, shape, true);
- };
- return Polygon2;
- }(Path_default);
- Polygon.prototype.type = "polygon";
- var Polygon_default = Polygon;
- // node_modules/zrender/lib/graphic/shape/Polyline.js
- init_define_APP_INFO();
- var PolylineShape = function() {
- function PolylineShape2() {
- this.points = null;
- this.percent = 1;
- this.smooth = 0;
- this.smoothConstraint = null;
- }
- return PolylineShape2;
- }();
- var Polyline = function(_super) {
- __extends(Polyline2, _super);
- function Polyline2(opts) {
- return _super.call(this, opts) || this;
- }
- Polyline2.prototype.getDefaultStyle = function() {
- return {
- stroke: "#000",
- fill: null
- };
- };
- Polyline2.prototype.getDefaultShape = function() {
- return new PolylineShape();
- };
- Polyline2.prototype.buildPath = function(ctx, shape) {
- buildPath2(ctx, shape, false);
- };
- return Polyline2;
- }(Path_default);
- Polyline.prototype.type = "polyline";
- var Polyline_default = Polyline;
- // node_modules/zrender/lib/graphic/shape/Line.js
- init_define_APP_INFO();
- var subPixelOptimizeOutputShape = {};
- var LineShape = function() {
- function LineShape2() {
- this.x1 = 0;
- this.y1 = 0;
- this.x2 = 0;
- this.y2 = 0;
- this.percent = 1;
- }
- return LineShape2;
- }();
- var Line = function(_super) {
- __extends(Line2, _super);
- function Line2(opts) {
- return _super.call(this, opts) || this;
- }
- Line2.prototype.getDefaultStyle = function() {
- return {
- stroke: "#000",
- fill: null
- };
- };
- Line2.prototype.getDefaultShape = function() {
- return new LineShape();
- };
- Line2.prototype.buildPath = function(ctx, shape) {
- var x1;
- var y1;
- var x2;
- var y2;
- if (this.subPixelOptimize) {
- var optimizedShape = subPixelOptimizeLine(subPixelOptimizeOutputShape, shape, this.style);
- x1 = optimizedShape.x1;
- y1 = optimizedShape.y1;
- x2 = optimizedShape.x2;
- y2 = optimizedShape.y2;
- } else {
- x1 = shape.x1;
- y1 = shape.y1;
- x2 = shape.x2;
- y2 = shape.y2;
- }
- var percent = shape.percent;
- if (percent === 0) {
- return;
- }
- ctx.moveTo(x1, y1);
- if (percent < 1) {
- x2 = x1 * (1 - percent) + x2 * percent;
- y2 = y1 * (1 - percent) + y2 * percent;
- }
- ctx.lineTo(x2, y2);
- };
- Line2.prototype.pointAt = function(p) {
- var shape = this.shape;
- return [
- shape.x1 * (1 - p) + shape.x2 * p,
- shape.y1 * (1 - p) + shape.y2 * p
- ];
- };
- return Line2;
- }(Path_default);
- Line.prototype.type = "line";
- var Line_default = Line;
- // node_modules/zrender/lib/graphic/shape/BezierCurve.js
- init_define_APP_INFO();
- var out = [];
- var BezierCurveShape = function() {
- function BezierCurveShape2() {
- this.x1 = 0;
- this.y1 = 0;
- this.x2 = 0;
- this.y2 = 0;
- this.cpx1 = 0;
- this.cpy1 = 0;
- this.percent = 1;
- }
- return BezierCurveShape2;
- }();
- function someVectorAt(shape, t, isTangent) {
- var cpx2 = shape.cpx2;
- var cpy2 = shape.cpy2;
- if (cpx2 != null || cpy2 != null) {
- return [
- (isTangent ? cubicDerivativeAt : cubicAt)(shape.x1, shape.cpx1, shape.cpx2, shape.x2, t),
- (isTangent ? cubicDerivativeAt : cubicAt)(shape.y1, shape.cpy1, shape.cpy2, shape.y2, t)
- ];
- } else {
- return [
- (isTangent ? quadraticDerivativeAt : quadraticAt)(shape.x1, shape.cpx1, shape.x2, t),
- (isTangent ? quadraticDerivativeAt : quadraticAt)(shape.y1, shape.cpy1, shape.y2, t)
- ];
- }
- }
- var BezierCurve = function(_super) {
- __extends(BezierCurve2, _super);
- function BezierCurve2(opts) {
- return _super.call(this, opts) || this;
- }
- BezierCurve2.prototype.getDefaultStyle = function() {
- return {
- stroke: "#000",
- fill: null
- };
- };
- BezierCurve2.prototype.getDefaultShape = function() {
- return new BezierCurveShape();
- };
- BezierCurve2.prototype.buildPath = function(ctx, shape) {
- var x1 = shape.x1;
- var y1 = shape.y1;
- var x2 = shape.x2;
- var y2 = shape.y2;
- var cpx1 = shape.cpx1;
- var cpy1 = shape.cpy1;
- var cpx2 = shape.cpx2;
- var cpy2 = shape.cpy2;
- var percent = shape.percent;
- if (percent === 0) {
- return;
- }
- ctx.moveTo(x1, y1);
- if (cpx2 == null || cpy2 == null) {
- if (percent < 1) {
- quadraticSubdivide(x1, cpx1, x2, percent, out);
- cpx1 = out[1];
- x2 = out[2];
- quadraticSubdivide(y1, cpy1, y2, percent, out);
- cpy1 = out[1];
- y2 = out[2];
- }
- ctx.quadraticCurveTo(cpx1, cpy1, x2, y2);
- } else {
- if (percent < 1) {
- cubicSubdivide(x1, cpx1, cpx2, x2, percent, out);
- cpx1 = out[1];
- cpx2 = out[2];
- x2 = out[3];
- cubicSubdivide(y1, cpy1, cpy2, y2, percent, out);
- cpy1 = out[1];
- cpy2 = out[2];
- y2 = out[3];
- }
- ctx.bezierCurveTo(cpx1, cpy1, cpx2, cpy2, x2, y2);
- }
- };
- BezierCurve2.prototype.pointAt = function(t) {
- return someVectorAt(this.shape, t, false);
- };
- BezierCurve2.prototype.tangentAt = function(t) {
- var p = someVectorAt(this.shape, t, true);
- return normalize(p, p);
- };
- return BezierCurve2;
- }(Path_default);
- BezierCurve.prototype.type = "bezier-curve";
- var BezierCurve_default = BezierCurve;
- // node_modules/zrender/lib/graphic/shape/Arc.js
- init_define_APP_INFO();
- var ArcShape = function() {
- function ArcShape2() {
- this.cx = 0;
- this.cy = 0;
- this.r = 0;
- this.startAngle = 0;
- this.endAngle = Math.PI * 2;
- this.clockwise = true;
- }
- return ArcShape2;
- }();
- var Arc = function(_super) {
- __extends(Arc2, _super);
- function Arc2(opts) {
- return _super.call(this, opts) || this;
- }
- Arc2.prototype.getDefaultStyle = function() {
- return {
- stroke: "#000",
- fill: null
- };
- };
- Arc2.prototype.getDefaultShape = function() {
- return new ArcShape();
- };
- Arc2.prototype.buildPath = function(ctx, shape) {
- var x = shape.cx;
- var y = shape.cy;
- var r = Math.max(shape.r, 0);
- var startAngle = shape.startAngle;
- var endAngle = shape.endAngle;
- var clockwise = shape.clockwise;
- var unitX = Math.cos(startAngle);
- var unitY = Math.sin(startAngle);
- ctx.moveTo(unitX * r + x, unitY * r + y);
- ctx.arc(x, y, r, startAngle, endAngle, !clockwise);
- };
- return Arc2;
- }(Path_default);
- Arc.prototype.type = "arc";
- var Arc_default = Arc;
- // node_modules/zrender/lib/graphic/LinearGradient.js
- init_define_APP_INFO();
- // node_modules/zrender/lib/graphic/Gradient.js
- init_define_APP_INFO();
- var Gradient = function() {
- function Gradient2(colorStops) {
- this.colorStops = colorStops || [];
- }
- Gradient2.prototype.addColorStop = function(offset, color) {
- this.colorStops.push({
- offset,
- color
- });
- };
- return Gradient2;
- }();
- var Gradient_default = Gradient;
- // node_modules/zrender/lib/graphic/LinearGradient.js
- var LinearGradient = function(_super) {
- __extends(LinearGradient2, _super);
- function LinearGradient2(x, y, x2, y2, colorStops, globalCoord) {
- var _this = _super.call(this, colorStops) || this;
- _this.x = x == null ? 0 : x;
- _this.y = y == null ? 0 : y;
- _this.x2 = x2 == null ? 1 : x2;
- _this.y2 = y2 == null ? 0 : y2;
- _this.type = "linear";
- _this.global = globalCoord || false;
- return _this;
- }
- return LinearGradient2;
- }(Gradient_default);
- var LinearGradient_default = LinearGradient;
- // node_modules/zrender/lib/graphic/RadialGradient.js
- init_define_APP_INFO();
- var RadialGradient = function(_super) {
- __extends(RadialGradient2, _super);
- function RadialGradient2(x, y, r, colorStops, globalCoord) {
- var _this = _super.call(this, colorStops) || this;
- _this.x = x == null ? 0.5 : x;
- _this.y = y == null ? 0.5 : y;
- _this.r = r == null ? 0.5 : r;
- _this.type = "radial";
- _this.global = globalCoord || false;
- return _this;
- }
- return RadialGradient2;
- }(Gradient_default);
- var RadialGradient_default = RadialGradient;
- // node_modules/zrender/lib/core/OrientedBoundingRect.js
- init_define_APP_INFO();
- var extent = [0, 0];
- var extent2 = [0, 0];
- var minTv = new Point_default();
- var maxTv = new Point_default();
- var OrientedBoundingRect = function() {
- function OrientedBoundingRect2(rect, transform) {
- this._corners = [];
- this._axes = [];
- this._origin = [0, 0];
- for (var i = 0; i < 4; i++) {
- this._corners[i] = new Point_default();
- }
- for (var i = 0; i < 2; i++) {
- this._axes[i] = new Point_default();
- }
- if (rect) {
- this.fromBoundingRect(rect, transform);
- }
- }
- OrientedBoundingRect2.prototype.fromBoundingRect = function(rect, transform) {
- var corners = this._corners;
- var axes = this._axes;
- var x = rect.x;
- var y = rect.y;
- var x2 = x + rect.width;
- var y2 = y + rect.height;
- corners[0].set(x, y);
- corners[1].set(x2, y);
- corners[2].set(x2, y2);
- corners[3].set(x, y2);
- if (transform) {
- for (var i = 0; i < 4; i++) {
- corners[i].transform(transform);
- }
- }
- Point_default.sub(axes[0], corners[1], corners[0]);
- Point_default.sub(axes[1], corners[3], corners[0]);
- axes[0].normalize();
- axes[1].normalize();
- for (var i = 0; i < 2; i++) {
- this._origin[i] = axes[i].dot(corners[0]);
- }
- };
- OrientedBoundingRect2.prototype.intersect = function(other, mtv) {
- var overlapped = true;
- var noMtv = !mtv;
- minTv.set(Infinity, Infinity);
- maxTv.set(0, 0);
- if (!this._intersectCheckOneSide(this, other, minTv, maxTv, noMtv, 1)) {
- overlapped = false;
- if (noMtv) {
- return overlapped;
- }
- }
- if (!this._intersectCheckOneSide(other, this, minTv, maxTv, noMtv, -1)) {
- overlapped = false;
- if (noMtv) {
- return overlapped;
- }
- }
- if (!noMtv) {
- Point_default.copy(mtv, overlapped ? minTv : maxTv);
- }
- return overlapped;
- };
- OrientedBoundingRect2.prototype._intersectCheckOneSide = function(self, other, minTv2, maxTv2, noMtv, inverse) {
- var overlapped = true;
- for (var i = 0; i < 2; i++) {
- var axis = this._axes[i];
- this._getProjMinMaxOnAxis(i, self._corners, extent);
- this._getProjMinMaxOnAxis(i, other._corners, extent2);
- if (extent[1] < extent2[0] || extent[0] > extent2[1]) {
- overlapped = false;
- if (noMtv) {
- return overlapped;
- }
- var dist0 = Math.abs(extent2[0] - extent[1]);
- var dist1 = Math.abs(extent[0] - extent2[1]);
- if (Math.min(dist0, dist1) > maxTv2.len()) {
- if (dist0 < dist1) {
- Point_default.scale(maxTv2, axis, -dist0 * inverse);
- } else {
- Point_default.scale(maxTv2, axis, dist1 * inverse);
- }
- }
- } else if (minTv2) {
- var dist0 = Math.abs(extent2[0] - extent[1]);
- var dist1 = Math.abs(extent[0] - extent2[1]);
- if (Math.min(dist0, dist1) < minTv2.len()) {
- if (dist0 < dist1) {
- Point_default.scale(minTv2, axis, dist0 * inverse);
- } else {
- Point_default.scale(minTv2, axis, -dist1 * inverse);
- }
- }
- }
- }
- return overlapped;
- };
- OrientedBoundingRect2.prototype._getProjMinMaxOnAxis = function(dim, corners, out2) {
- var axis = this._axes[dim];
- var origin = this._origin;
- var proj = corners[0].dot(axis) + origin[dim];
- var min2 = proj;
- var max2 = proj;
- for (var i = 1; i < corners.length; i++) {
- var proj_1 = corners[i].dot(axis) + origin[dim];
- min2 = Math.min(proj_1, min2);
- max2 = Math.max(proj_1, max2);
- }
- out2[0] = min2;
- out2[1] = max2;
- };
- return OrientedBoundingRect2;
- }();
- var OrientedBoundingRect_default = OrientedBoundingRect;
- // node_modules/zrender/lib/graphic/IncrementalDisplayable.js
- init_define_APP_INFO();
- var m = [];
- var IncrementalDisplayable = function(_super) {
- __extends(IncrementalDisplayable2, _super);
- function IncrementalDisplayable2() {
- var _this = _super !== null && _super.apply(this, arguments) || this;
- _this.notClear = true;
- _this.incremental = true;
- _this._displayables = [];
- _this._temporaryDisplayables = [];
- _this._cursor = 0;
- return _this;
- }
- IncrementalDisplayable2.prototype.traverse = function(cb, context) {
- cb.call(context, this);
- };
- IncrementalDisplayable2.prototype.useStyle = function() {
- this.style = {};
- };
- IncrementalDisplayable2.prototype.getCursor = function() {
- return this._cursor;
- };
- IncrementalDisplayable2.prototype.innerAfterBrush = function() {
- this._cursor = this._displayables.length;
- };
- IncrementalDisplayable2.prototype.clearDisplaybles = function() {
- this._displayables = [];
- this._temporaryDisplayables = [];
- this._cursor = 0;
- this.markRedraw();
- this.notClear = false;
- };
- IncrementalDisplayable2.prototype.clearTemporalDisplayables = function() {
- this._temporaryDisplayables = [];
- };
- IncrementalDisplayable2.prototype.addDisplayable = function(displayable, notPersistent) {
- if (notPersistent) {
- this._temporaryDisplayables.push(displayable);
- } else {
- this._displayables.push(displayable);
- }
- this.markRedraw();
- };
- IncrementalDisplayable2.prototype.addDisplayables = function(displayables, notPersistent) {
- notPersistent = notPersistent || false;
- for (var i = 0; i < displayables.length; i++) {
- this.addDisplayable(displayables[i], notPersistent);
- }
- };
- IncrementalDisplayable2.prototype.getDisplayables = function() {
- return this._displayables;
- };
- IncrementalDisplayable2.prototype.getTemporalDisplayables = function() {
- return this._temporaryDisplayables;
- };
- IncrementalDisplayable2.prototype.eachPendingDisplayable = function(cb) {
- for (var i = this._cursor; i < this._displayables.length; i++) {
- cb && cb(this._displayables[i]);
- }
- for (var i = 0; i < this._temporaryDisplayables.length; i++) {
- cb && cb(this._temporaryDisplayables[i]);
- }
- };
- IncrementalDisplayable2.prototype.update = function() {
- this.updateTransform();
- for (var i = this._cursor; i < this._displayables.length; i++) {
- var displayable = this._displayables[i];
- displayable.parent = this;
- displayable.update();
- displayable.parent = null;
- }
- for (var i = 0; i < this._temporaryDisplayables.length; i++) {
- var displayable = this._temporaryDisplayables[i];
- displayable.parent = this;
- displayable.update();
- displayable.parent = null;
- }
- };
- IncrementalDisplayable2.prototype.getBoundingRect = function() {
- if (!this._rect) {
- var rect = new BoundingRect_default(Infinity, Infinity, -Infinity, -Infinity);
- for (var i = 0; i < this._displayables.length; i++) {
- var displayable = this._displayables[i];
- var childRect = displayable.getBoundingRect().clone();
- if (displayable.needLocalTransform()) {
- childRect.applyTransform(displayable.getLocalTransform(m));
- }
- rect.union(childRect);
- }
- this._rect = rect;
- }
- return this._rect;
- };
- IncrementalDisplayable2.prototype.contain = function(x, y) {
- var localPos = this.transformCoordToLocal(x, y);
- var rect = this.getBoundingRect();
- if (rect.contain(localPos[0], localPos[1])) {
- for (var i = 0; i < this._displayables.length; i++) {
- var displayable = this._displayables[i];
- if (displayable.contain(x, y)) {
- return true;
- }
- }
- }
- return false;
- };
- return IncrementalDisplayable2;
- }(Displayable_default);
- var IncrementalDisplayable_default = IncrementalDisplayable;
- // node_modules/echarts/lib/animation/basicTrasition.js
- init_define_APP_INFO();
- var transitionStore = makeInner();
- function getAnimationConfig(animationType, animatableModel, dataIndex, extraOpts, extraDelayParams) {
- var animationPayload;
- if (animatableModel && animatableModel.ecModel) {
- var updatePayload = animatableModel.ecModel.getUpdatePayload();
- animationPayload = updatePayload && updatePayload.animation;
- }
- var animationEnabled = animatableModel && animatableModel.isAnimationEnabled();
- var isUpdate = animationType === "update";
- if (animationEnabled) {
- var duration = void 0;
- var easing = void 0;
- var delay = void 0;
- if (extraOpts) {
- duration = retrieve2(extraOpts.duration, 200);
- easing = retrieve2(extraOpts.easing, "cubicOut");
- delay = 0;
- } else {
- duration = animatableModel.getShallow(isUpdate ? "animationDurationUpdate" : "animationDuration");
- easing = animatableModel.getShallow(isUpdate ? "animationEasingUpdate" : "animationEasing");
- delay = animatableModel.getShallow(isUpdate ? "animationDelayUpdate" : "animationDelay");
- }
- if (animationPayload) {
- animationPayload.duration != null && (duration = animationPayload.duration);
- animationPayload.easing != null && (easing = animationPayload.easing);
- animationPayload.delay != null && (delay = animationPayload.delay);
- }
- if (isFunction(delay)) {
- delay = delay(dataIndex, extraDelayParams);
- }
- if (isFunction(duration)) {
- duration = duration(dataIndex);
- }
- var config = {
- duration: duration || 0,
- delay,
- easing
- };
- return config;
- } else {
- return null;
- }
- }
- function animateOrSetProps(animationType, el, props, animatableModel, dataIndex, cb, during) {
- var isFrom = false;
- var removeOpt;
- if (isFunction(dataIndex)) {
- during = cb;
- cb = dataIndex;
- dataIndex = null;
- } else if (isObject(dataIndex)) {
- cb = dataIndex.cb;
- during = dataIndex.during;
- isFrom = dataIndex.isFrom;
- removeOpt = dataIndex.removeOpt;
- dataIndex = dataIndex.dataIndex;
- }
- var isRemove = animationType === "leave";
- if (!isRemove) {
- el.stopAnimation("leave");
- }
- var animationConfig = getAnimationConfig(animationType, animatableModel, dataIndex, isRemove ? removeOpt || {} : null, animatableModel && animatableModel.getAnimationDelayParams ? animatableModel.getAnimationDelayParams(el, dataIndex) : null);
- if (animationConfig && animationConfig.duration > 0) {
- var duration = animationConfig.duration;
- var animationDelay = animationConfig.delay;
- var animationEasing = animationConfig.easing;
- var animateConfig = {
- duration,
- delay: animationDelay || 0,
- easing: animationEasing,
- done: cb,
- force: !!cb || !!during,
- setToFinal: !isRemove,
- scope: animationType,
- during
- };
- isFrom ? el.animateFrom(props, animateConfig) : el.animateTo(props, animateConfig);
- } else {
- el.stopAnimation();
- !isFrom && el.attr(props);
- during && during(1);
- cb && cb();
- }
- }
- function updateProps(el, props, animatableModel, dataIndex, cb, during) {
- animateOrSetProps("update", el, props, animatableModel, dataIndex, cb, during);
- }
- function initProps(el, props, animatableModel, dataIndex, cb, during) {
- animateOrSetProps("enter", el, props, animatableModel, dataIndex, cb, during);
- }
- function isElementRemoved(el) {
- if (!el.__zr) {
- return true;
- }
- for (var i = 0; i < el.animators.length; i++) {
- var animator = el.animators[i];
- if (animator.scope === "leave") {
- return true;
- }
- }
- return false;
- }
- function removeElement(el, props, animatableModel, dataIndex, cb, during) {
- if (isElementRemoved(el)) {
- return;
- }
- animateOrSetProps("leave", el, props, animatableModel, dataIndex, cb, during);
- }
- function fadeOutDisplayable(el, animatableModel, dataIndex, done) {
- el.removeTextContent();
- el.removeTextGuideLine();
- removeElement(el, {
- style: {
- opacity: 0
- }
- }, animatableModel, dataIndex, done);
- }
- function removeElementWithFadeOut(el, animatableModel, dataIndex) {
- function doRemove() {
- el.parent && el.parent.remove(el);
- }
- if (!el.isGroup) {
- fadeOutDisplayable(el, animatableModel, dataIndex, doRemove);
- } else {
- el.traverse(function(disp) {
- if (!disp.isGroup) {
- fadeOutDisplayable(disp, animatableModel, dataIndex, doRemove);
- }
- });
- }
- }
- function saveOldStyle(el) {
- transitionStore(el).oldStyle = el.style;
- }
- // node_modules/echarts/lib/util/graphic.js
- var mathMax2 = Math.max;
- var mathMin2 = Math.min;
- var _customShapeMap = {};
- function extendShape(opts) {
- return Path_default.extend(opts);
- }
- var extendPathFromString = extendFromString;
- function extendPath(pathData, opts) {
- return extendPathFromString(pathData, opts);
- }
- function registerShape(name, ShapeClass) {
- _customShapeMap[name] = ShapeClass;
- }
- function getShapeClass(name) {
- if (_customShapeMap.hasOwnProperty(name)) {
- return _customShapeMap[name];
- }
- }
- function makePath(pathData, opts, rect, layout2) {
- var path = createFromString(pathData, opts);
- if (rect) {
- if (layout2 === "center") {
- rect = centerGraphic(rect, path.getBoundingRect());
- }
- resizePath(path, rect);
- }
- return path;
- }
- function makeImage(imageUrl, rect, layout2) {
- var zrImg = new Image_default({
- style: {
- image: imageUrl,
- x: rect.x,
- y: rect.y,
- width: rect.width,
- height: rect.height
- },
- onload: function(img) {
- if (layout2 === "center") {
- var boundingRect = {
- width: img.width,
- height: img.height
- };
- zrImg.setStyle(centerGraphic(rect, boundingRect));
- }
- }
- });
- return zrImg;
- }
- function centerGraphic(rect, boundingRect) {
- var aspect = boundingRect.width / boundingRect.height;
- var width = rect.height * aspect;
- var height;
- if (width <= rect.width) {
- height = rect.height;
- } else {
- width = rect.width;
- height = width / aspect;
- }
- var cx = rect.x + rect.width / 2;
- var cy = rect.y + rect.height / 2;
- return {
- x: cx - width / 2,
- y: cy - height / 2,
- width,
- height
- };
- }
- var mergePath2 = mergePath;
- function resizePath(path, rect) {
- if (!path.applyTransform) {
- return;
- }
- var pathRect = path.getBoundingRect();
- var m2 = pathRect.calculateTransform(rect);
- path.applyTransform(m2);
- }
- function subPixelOptimizeLine2(param) {
- subPixelOptimizeLine(param.shape, param.shape, param.style);
- return param;
- }
- function subPixelOptimizeRect2(param) {
- subPixelOptimizeRect(param.shape, param.shape, param.style);
- return param;
- }
- var subPixelOptimize2 = subPixelOptimize;
- function getTransform(target, ancestor) {
- var mat = identity([]);
- while (target && target !== ancestor) {
- mul(mat, target.getLocalTransform(), mat);
- target = target.parent;
- }
- return mat;
- }
- function applyTransform2(target, transform, invert2) {
- if (transform && !isArrayLike(transform)) {
- transform = Transformable_default.getLocalTransform(transform);
- }
- if (invert2) {
- transform = invert([], transform);
- }
- return applyTransform([], target, transform);
- }
- function transformDirection(direction, transform, invert2) {
- var hBase = transform[4] === 0 || transform[5] === 0 || transform[0] === 0 ? 1 : Math.abs(2 * transform[4] / transform[0]);
- var vBase = transform[4] === 0 || transform[5] === 0 || transform[2] === 0 ? 1 : Math.abs(2 * transform[4] / transform[2]);
- var vertex = [direction === "left" ? -hBase : direction === "right" ? hBase : 0, direction === "top" ? -vBase : direction === "bottom" ? vBase : 0];
- vertex = applyTransform2(vertex, transform, invert2);
- return Math.abs(vertex[0]) > Math.abs(vertex[1]) ? vertex[0] > 0 ? "right" : "left" : vertex[1] > 0 ? "bottom" : "top";
- }
- function isNotGroup(el) {
- return !el.isGroup;
- }
- function isPath(el) {
- return el.shape != null;
- }
- function groupTransition(g1, g2, animatableModel) {
- if (!g1 || !g2) {
- return;
- }
- function getElMap(g) {
- var elMap = {};
- g.traverse(function(el) {
- if (isNotGroup(el) && el.anid) {
- elMap[el.anid] = el;
- }
- });
- return elMap;
- }
- function getAnimatableProps(el) {
- var obj = {
- x: el.x,
- y: el.y,
- rotation: el.rotation
- };
- if (isPath(el)) {
- obj.shape = extend({}, el.shape);
- }
- return obj;
- }
- var elMap1 = getElMap(g1);
- g2.traverse(function(el) {
- if (isNotGroup(el) && el.anid) {
- var oldEl = elMap1[el.anid];
- if (oldEl) {
- var newProp = getAnimatableProps(el);
- el.attr(getAnimatableProps(oldEl));
- updateProps(el, newProp, animatableModel, getECData(el).dataIndex);
- }
- }
- });
- }
- function clipPointsByRect(points2, rect) {
- return map(points2, function(point) {
- var x = point[0];
- x = mathMax2(x, rect.x);
- x = mathMin2(x, rect.x + rect.width);
- var y = point[1];
- y = mathMax2(y, rect.y);
- y = mathMin2(y, rect.y + rect.height);
- return [x, y];
- });
- }
- function clipRectByRect(targetRect, rect) {
- var x = mathMax2(targetRect.x, rect.x);
- var x2 = mathMin2(targetRect.x + targetRect.width, rect.x + rect.width);
- var y = mathMax2(targetRect.y, rect.y);
- var y2 = mathMin2(targetRect.y + targetRect.height, rect.y + rect.height);
- if (x2 >= x && y2 >= y) {
- return {
- x,
- y,
- width: x2 - x,
- height: y2 - y
- };
- }
- }
- function createIcon(iconStr, opt, rect) {
- var innerOpts = extend({
- rectHover: true
- }, opt);
- var style = innerOpts.style = {
- strokeNoScale: true
- };
- rect = rect || {
- x: -1,
- y: -1,
- width: 2,
- height: 2
- };
- if (iconStr) {
- return iconStr.indexOf("image://") === 0 ? (style.image = iconStr.slice(8), defaults(style, rect), new Image_default(innerOpts)) : makePath(iconStr.replace("path://", ""), innerOpts, rect, "center");
- }
- }
- function linePolygonIntersect(a1x, a1y, a2x, a2y, points2) {
- for (var i = 0, p2 = points2[points2.length - 1]; i < points2.length; i++) {
- var p = points2[i];
- if (lineLineIntersect(a1x, a1y, a2x, a2y, p[0], p[1], p2[0], p2[1])) {
- return true;
- }
- p2 = p;
- }
- }
- function lineLineIntersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y) {
- var mx = a2x - a1x;
- var my = a2y - a1y;
- var nx = b2x - b1x;
- var ny = b2y - b1y;
- var nmCrossProduct = crossProduct2d(nx, ny, mx, my);
- if (nearZero(nmCrossProduct)) {
- return false;
- }
- var b1a1x = a1x - b1x;
- var b1a1y = a1y - b1y;
- var q = crossProduct2d(b1a1x, b1a1y, mx, my) / nmCrossProduct;
- if (q < 0 || q > 1) {
- return false;
- }
- var p = crossProduct2d(b1a1x, b1a1y, nx, ny) / nmCrossProduct;
- if (p < 0 || p > 1) {
- return false;
- }
- return true;
- }
- function crossProduct2d(x1, y1, x2, y2) {
- return x1 * y2 - x2 * y1;
- }
- function nearZero(val) {
- return val <= 1e-6 && val >= -1e-6;
- }
- function setTooltipConfig(opt) {
- var itemTooltipOption = opt.itemTooltipOption;
- var componentModel = opt.componentModel;
- var itemName = opt.itemName;
- var itemTooltipOptionObj = isString(itemTooltipOption) ? {
- formatter: itemTooltipOption
- } : itemTooltipOption;
- var mainType = componentModel.mainType;
- var componentIndex = componentModel.componentIndex;
- var formatterParams = {
- componentType: mainType,
- name: itemName,
- $vars: ["name"]
- };
- formatterParams[mainType + "Index"] = componentIndex;
- var formatterParamsExtra = opt.formatterParamsExtra;
- if (formatterParamsExtra) {
- each(keys(formatterParamsExtra), function(key) {
- if (!hasOwn(formatterParams, key)) {
- formatterParams[key] = formatterParamsExtra[key];
- formatterParams.$vars.push(key);
- }
- });
- }
- var ecData = getECData(opt.el);
- ecData.componentMainType = mainType;
- ecData.componentIndex = componentIndex;
- ecData.tooltipConfig = {
- name: itemName,
- option: defaults({
- content: itemName,
- formatterParams
- }, itemTooltipOptionObj)
- };
- }
- function traverseElement(el, cb) {
- var stopped;
- if (el.isGroup) {
- stopped = cb(el);
- }
- if (!stopped) {
- el.traverse(cb);
- }
- }
- function traverseElements(els, cb) {
- if (els) {
- if (isArray(els)) {
- for (var i = 0; i < els.length; i++) {
- traverseElement(els[i], cb);
- }
- } else {
- traverseElement(els, cb);
- }
- }
- }
- registerShape("circle", Circle_default);
- registerShape("ellipse", Ellipse_default);
- registerShape("sector", Sector_default);
- registerShape("ring", Ring_default);
- registerShape("polygon", Polygon_default);
- registerShape("polyline", Polyline_default);
- registerShape("rect", Rect_default);
- registerShape("line", Line_default);
- registerShape("bezierCurve", BezierCurve_default);
- registerShape("arc", Arc_default);
- // node_modules/echarts/lib/label/labelStyle.js
- var EMPTY_OBJ = {};
- function setLabelText(label, labelTexts) {
- for (var i = 0; i < SPECIAL_STATES.length; i++) {
- var stateName = SPECIAL_STATES[i];
- var text = labelTexts[stateName];
- var state = label.ensureState(stateName);
- state.style = state.style || {};
- state.style.text = text;
- }
- var oldStates = label.currentStates.slice();
- label.clearStates(true);
- label.setStyle({
- text: labelTexts.normal
- });
- label.useStates(oldStates, true);
- }
- function getLabelText(opt, stateModels, interpolatedValue) {
- var labelFetcher = opt.labelFetcher;
- var labelDataIndex = opt.labelDataIndex;
- var labelDimIndex = opt.labelDimIndex;
- var normalModel = stateModels.normal;
- var baseText;
- if (labelFetcher) {
- baseText = labelFetcher.getFormattedLabel(labelDataIndex, "normal", null, labelDimIndex, normalModel && normalModel.get("formatter"), interpolatedValue != null ? {
- interpolatedValue
- } : null);
- }
- if (baseText == null) {
- baseText = isFunction(opt.defaultText) ? opt.defaultText(labelDataIndex, opt, interpolatedValue) : opt.defaultText;
- }
- var statesText = {
- normal: baseText
- };
- for (var i = 0; i < SPECIAL_STATES.length; i++) {
- var stateName = SPECIAL_STATES[i];
- var stateModel = stateModels[stateName];
- statesText[stateName] = retrieve2(labelFetcher ? labelFetcher.getFormattedLabel(labelDataIndex, stateName, null, labelDimIndex, stateModel && stateModel.get("formatter")) : null, baseText);
- }
- return statesText;
- }
- function setLabelStyle(targetEl, labelStatesModels, opt, stateSpecified) {
- opt = opt || EMPTY_OBJ;
- var isSetOnText = targetEl instanceof Text_default;
- var needsCreateText = false;
- for (var i = 0; i < DISPLAY_STATES.length; i++) {
- var stateModel = labelStatesModels[DISPLAY_STATES[i]];
- if (stateModel && stateModel.getShallow("show")) {
- needsCreateText = true;
- break;
- }
- }
- var textContent = isSetOnText ? targetEl : targetEl.getTextContent();
- if (needsCreateText) {
- if (!isSetOnText) {
- if (!textContent) {
- textContent = new Text_default();
- targetEl.setTextContent(textContent);
- }
- if (targetEl.stateProxy) {
- textContent.stateProxy = targetEl.stateProxy;
- }
- }
- var labelStatesTexts = getLabelText(opt, labelStatesModels);
- var normalModel = labelStatesModels.normal;
- var showNormal = !!normalModel.getShallow("show");
- var normalStyle = createTextStyle(normalModel, stateSpecified && stateSpecified.normal, opt, false, !isSetOnText);
- normalStyle.text = labelStatesTexts.normal;
- if (!isSetOnText) {
- targetEl.setTextConfig(createTextConfig(normalModel, opt, false));
- }
- for (var i = 0; i < SPECIAL_STATES.length; i++) {
- var stateName = SPECIAL_STATES[i];
- var stateModel = labelStatesModels[stateName];
- if (stateModel) {
- var stateObj = textContent.ensureState(stateName);
- var stateShow = !!retrieve2(stateModel.getShallow("show"), showNormal);
- if (stateShow !== showNormal) {
- stateObj.ignore = !stateShow;
- }
- stateObj.style = createTextStyle(stateModel, stateSpecified && stateSpecified[stateName], opt, true, !isSetOnText);
- stateObj.style.text = labelStatesTexts[stateName];
- if (!isSetOnText) {
- var targetElEmphasisState = targetEl.ensureState(stateName);
- targetElEmphasisState.textConfig = createTextConfig(stateModel, opt, true);
- }
- }
- }
- textContent.silent = !!normalModel.getShallow("silent");
- if (textContent.style.x != null) {
- normalStyle.x = textContent.style.x;
- }
- if (textContent.style.y != null) {
- normalStyle.y = textContent.style.y;
- }
- textContent.ignore = !showNormal;
- textContent.useStyle(normalStyle);
- textContent.dirty();
- if (opt.enableTextSetter) {
- labelInner(textContent).setLabelText = function(interpolatedValue) {
- var labelStatesTexts2 = getLabelText(opt, labelStatesModels, interpolatedValue);
- setLabelText(textContent, labelStatesTexts2);
- };
- }
- } else if (textContent) {
- textContent.ignore = true;
- }
- targetEl.dirty();
- }
- function getLabelStatesModels(itemModel, labelName) {
- labelName = labelName || "label";
- var statesModels = {
- normal: itemModel.getModel(labelName)
- };
- for (var i = 0; i < SPECIAL_STATES.length; i++) {
- var stateName = SPECIAL_STATES[i];
- statesModels[stateName] = itemModel.getModel([stateName, labelName]);
- }
- return statesModels;
- }
- function createTextStyle(textStyleModel, specifiedTextStyle, opt, isNotNormal, isAttached) {
- var textStyle = {};
- setTextStyleCommon(textStyle, textStyleModel, opt, isNotNormal, isAttached);
- specifiedTextStyle && extend(textStyle, specifiedTextStyle);
- return textStyle;
- }
- function createTextConfig(textStyleModel, opt, isNotNormal) {
- opt = opt || {};
- var textConfig = {};
- var labelPosition;
- var labelRotate = textStyleModel.getShallow("rotate");
- var labelDistance = retrieve2(textStyleModel.getShallow("distance"), isNotNormal ? null : 5);
- var labelOffset = textStyleModel.getShallow("offset");
- labelPosition = textStyleModel.getShallow("position") || (isNotNormal ? null : "inside");
- labelPosition === "outside" && (labelPosition = opt.defaultOutsidePosition || "top");
- if (labelPosition != null) {
- textConfig.position = labelPosition;
- }
- if (labelOffset != null) {
- textConfig.offset = labelOffset;
- }
- if (labelRotate != null) {
- labelRotate *= Math.PI / 180;
- textConfig.rotation = labelRotate;
- }
- if (labelDistance != null) {
- textConfig.distance = labelDistance;
- }
- textConfig.outsideFill = textStyleModel.get("color") === "inherit" ? opt.inheritColor || null : "auto";
- return textConfig;
- }
- function setTextStyleCommon(textStyle, textStyleModel, opt, isNotNormal, isAttached) {
- opt = opt || EMPTY_OBJ;
- var ecModel = textStyleModel.ecModel;
- var globalTextStyle = ecModel && ecModel.option.textStyle;
- var richItemNames = getRichItemNames(textStyleModel);
- var richResult;
- if (richItemNames) {
- richResult = {};
- for (var name_1 in richItemNames) {
- if (richItemNames.hasOwnProperty(name_1)) {
- var richTextStyle = textStyleModel.getModel(["rich", name_1]);
- setTokenTextStyle(richResult[name_1] = {}, richTextStyle, globalTextStyle, opt, isNotNormal, isAttached, false, true);
- }
- }
- }
- if (richResult) {
- textStyle.rich = richResult;
- }
- var overflow = textStyleModel.get("overflow");
- if (overflow) {
- textStyle.overflow = overflow;
- }
- var margin = textStyleModel.get("minMargin");
- if (margin != null) {
- textStyle.margin = margin;
- }
- setTokenTextStyle(textStyle, textStyleModel, globalTextStyle, opt, isNotNormal, isAttached, true, false);
- }
- function getRichItemNames(textStyleModel) {
- var richItemNameMap;
- while (textStyleModel && textStyleModel !== textStyleModel.ecModel) {
- var rich = (textStyleModel.option || EMPTY_OBJ).rich;
- if (rich) {
- richItemNameMap = richItemNameMap || {};
- var richKeys = keys(rich);
- for (var i = 0; i < richKeys.length; i++) {
- var richKey = richKeys[i];
- richItemNameMap[richKey] = 1;
- }
- }
- textStyleModel = textStyleModel.parentModel;
- }
- return richItemNameMap;
- }
- var TEXT_PROPS_WITH_GLOBAL = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "textShadowColor", "textShadowBlur", "textShadowOffsetX", "textShadowOffsetY"];
- var TEXT_PROPS_SELF = ["align", "lineHeight", "width", "height", "tag", "verticalAlign"];
- var TEXT_PROPS_BOX = ["padding", "borderWidth", "borderRadius", "borderDashOffset", "backgroundColor", "borderColor", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY"];
- function setTokenTextStyle(textStyle, textStyleModel, globalTextStyle, opt, isNotNormal, isAttached, isBlock, inRich) {
- globalTextStyle = !isNotNormal && globalTextStyle || EMPTY_OBJ;
- var inheritColor = opt && opt.inheritColor;
- var fillColor = textStyleModel.getShallow("color");
- var strokeColor = textStyleModel.getShallow("textBorderColor");
- var opacity = retrieve2(textStyleModel.getShallow("opacity"), globalTextStyle.opacity);
- if (fillColor === "inherit" || fillColor === "auto") {
- if (true) {
- if (fillColor === "auto") {
- deprecateReplaceLog("color: 'auto'", "color: 'inherit'");
- }
- }
- if (inheritColor) {
- fillColor = inheritColor;
- } else {
- fillColor = null;
- }
- }
- if (strokeColor === "inherit" || strokeColor === "auto") {
- if (true) {
- if (strokeColor === "auto") {
- deprecateReplaceLog("color: 'auto'", "color: 'inherit'");
- }
- }
- if (inheritColor) {
- strokeColor = inheritColor;
- } else {
- strokeColor = null;
- }
- }
- if (!isAttached) {
- fillColor = fillColor || globalTextStyle.color;
- strokeColor = strokeColor || globalTextStyle.textBorderColor;
- }
- if (fillColor != null) {
- textStyle.fill = fillColor;
- }
- if (strokeColor != null) {
- textStyle.stroke = strokeColor;
- }
- var textBorderWidth = retrieve2(textStyleModel.getShallow("textBorderWidth"), globalTextStyle.textBorderWidth);
- if (textBorderWidth != null) {
- textStyle.lineWidth = textBorderWidth;
- }
- var textBorderType = retrieve2(textStyleModel.getShallow("textBorderType"), globalTextStyle.textBorderType);
- if (textBorderType != null) {
- textStyle.lineDash = textBorderType;
- }
- var textBorderDashOffset = retrieve2(textStyleModel.getShallow("textBorderDashOffset"), globalTextStyle.textBorderDashOffset);
- if (textBorderDashOffset != null) {
- textStyle.lineDashOffset = textBorderDashOffset;
- }
- if (!isNotNormal && opacity == null && !inRich) {
- opacity = opt && opt.defaultOpacity;
- }
- if (opacity != null) {
- textStyle.opacity = opacity;
- }
- if (!isNotNormal && !isAttached) {
- if (textStyle.fill == null && opt.inheritColor) {
- textStyle.fill = opt.inheritColor;
- }
- }
- for (var i = 0; i < TEXT_PROPS_WITH_GLOBAL.length; i++) {
- var key = TEXT_PROPS_WITH_GLOBAL[i];
- var val = retrieve2(textStyleModel.getShallow(key), globalTextStyle[key]);
- if (val != null) {
- textStyle[key] = val;
- }
- }
- for (var i = 0; i < TEXT_PROPS_SELF.length; i++) {
- var key = TEXT_PROPS_SELF[i];
- var val = textStyleModel.getShallow(key);
- if (val != null) {
- textStyle[key] = val;
- }
- }
- if (textStyle.verticalAlign == null) {
- var baseline = textStyleModel.getShallow("baseline");
- if (baseline != null) {
- textStyle.verticalAlign = baseline;
- }
- }
- if (!isBlock || !opt.disableBox) {
- for (var i = 0; i < TEXT_PROPS_BOX.length; i++) {
- var key = TEXT_PROPS_BOX[i];
- var val = textStyleModel.getShallow(key);
- if (val != null) {
- textStyle[key] = val;
- }
- }
- var borderType = textStyleModel.getShallow("borderType");
- if (borderType != null) {
- textStyle.borderDash = borderType;
- }
- if ((textStyle.backgroundColor === "auto" || textStyle.backgroundColor === "inherit") && inheritColor) {
- if (true) {
- if (textStyle.backgroundColor === "auto") {
- deprecateReplaceLog("backgroundColor: 'auto'", "backgroundColor: 'inherit'");
- }
- }
- textStyle.backgroundColor = inheritColor;
- }
- if ((textStyle.borderColor === "auto" || textStyle.borderColor === "inherit") && inheritColor) {
- if (true) {
- if (textStyle.borderColor === "auto") {
- deprecateReplaceLog("borderColor: 'auto'", "borderColor: 'inherit'");
- }
- }
- textStyle.borderColor = inheritColor;
- }
- }
- }
- function getFont(opt, ecModel) {
- var gTextStyleModel = ecModel && ecModel.getModel("textStyle");
- return trim([
- opt.fontStyle || gTextStyleModel && gTextStyleModel.getShallow("fontStyle") || "",
- opt.fontWeight || gTextStyleModel && gTextStyleModel.getShallow("fontWeight") || "",
- (opt.fontSize || gTextStyleModel && gTextStyleModel.getShallow("fontSize") || 12) + "px",
- opt.fontFamily || gTextStyleModel && gTextStyleModel.getShallow("fontFamily") || "sans-serif"
- ].join(" "));
- }
- var labelInner = makeInner();
- function setLabelValueAnimation(label, labelStatesModels, value, getDefaultText) {
- if (!label) {
- return;
- }
- var obj = labelInner(label);
- obj.prevValue = obj.value;
- obj.value = value;
- var normalLabelModel = labelStatesModels.normal;
- obj.valueAnimation = normalLabelModel.get("valueAnimation");
- if (obj.valueAnimation) {
- obj.precision = normalLabelModel.get("precision");
- obj.defaultInterpolatedText = getDefaultText;
- obj.statesModels = labelStatesModels;
- }
- }
- function animateLabelValue(textEl, dataIndex, data, animatableModel, labelFetcher) {
- var labelInnerStore = labelInner(textEl);
- if (!labelInnerStore.valueAnimation || labelInnerStore.prevValue === labelInnerStore.value) {
- return;
- }
- var defaultInterpolatedText = labelInnerStore.defaultInterpolatedText;
- var currValue = retrieve2(labelInnerStore.interpolatedValue, labelInnerStore.prevValue);
- var targetValue = labelInnerStore.value;
- function during(percent) {
- var interpolated = interpolateRawValues(data, labelInnerStore.precision, currValue, targetValue, percent);
- labelInnerStore.interpolatedValue = percent === 1 ? null : interpolated;
- var labelText = getLabelText({
- labelDataIndex: dataIndex,
- labelFetcher,
- defaultText: defaultInterpolatedText ? defaultInterpolatedText(interpolated) : interpolated + ""
- }, labelInnerStore.statesModels, interpolated);
- setLabelText(textEl, labelText);
- }
- textEl.percent = 0;
- (labelInnerStore.prevValue == null ? initProps : updateProps)(textEl, {
- percent: 1
- }, animatableModel, dataIndex, null, during);
- }
- // node_modules/echarts/lib/model/mixin/textStyle.js
- var PATH_COLOR = ["textStyle", "color"];
- var textStyleParams = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "padding", "lineHeight", "rich", "width", "height", "overflow"];
- var tmpText = new Text_default();
- var TextStyleMixin = function() {
- function TextStyleMixin2() {
- }
- TextStyleMixin2.prototype.getTextColor = function(isEmphasis) {
- var ecModel = this.ecModel;
- return this.getShallow("color") || (!isEmphasis && ecModel ? ecModel.get(PATH_COLOR) : null);
- };
- TextStyleMixin2.prototype.getFont = function() {
- return getFont({
- fontStyle: this.getShallow("fontStyle"),
- fontWeight: this.getShallow("fontWeight"),
- fontSize: this.getShallow("fontSize"),
- fontFamily: this.getShallow("fontFamily")
- }, this.ecModel);
- };
- TextStyleMixin2.prototype.getTextRect = function(text) {
- var style = {
- text,
- verticalAlign: this.getShallow("verticalAlign") || this.getShallow("baseline")
- };
- for (var i = 0; i < textStyleParams.length; i++) {
- style[textStyleParams[i]] = this.getShallow(textStyleParams[i]);
- }
- tmpText.useStyle(style);
- tmpText.update();
- return tmpText.getBoundingRect();
- };
- return TextStyleMixin2;
- }();
- var textStyle_default = TextStyleMixin;
- // node_modules/echarts/lib/model/mixin/lineStyle.js
- init_define_APP_INFO();
- var LINE_STYLE_KEY_MAP = [
- ["lineWidth", "width"],
- ["stroke", "color"],
- ["opacity"],
- ["shadowBlur"],
- ["shadowOffsetX"],
- ["shadowOffsetY"],
- ["shadowColor"],
- ["lineDash", "type"],
- ["lineDashOffset", "dashOffset"],
- ["lineCap", "cap"],
- ["lineJoin", "join"],
- ["miterLimit"]
- ];
- var getLineStyle = makeStyleMapper(LINE_STYLE_KEY_MAP);
- var LineStyleMixin = function() {
- function LineStyleMixin2() {
- }
- LineStyleMixin2.prototype.getLineStyle = function(excludes) {
- return getLineStyle(this, excludes);
- };
- return LineStyleMixin2;
- }();
- // node_modules/echarts/lib/model/mixin/itemStyle.js
- init_define_APP_INFO();
- var ITEM_STYLE_KEY_MAP = [
- ["fill", "color"],
- ["stroke", "borderColor"],
- ["lineWidth", "borderWidth"],
- ["opacity"],
- ["shadowBlur"],
- ["shadowOffsetX"],
- ["shadowOffsetY"],
- ["shadowColor"],
- ["lineDash", "borderType"],
- ["lineDashOffset", "borderDashOffset"],
- ["lineCap", "borderCap"],
- ["lineJoin", "borderJoin"],
- ["miterLimit", "borderMiterLimit"]
- ];
- var getItemStyle = makeStyleMapper(ITEM_STYLE_KEY_MAP);
- var ItemStyleMixin = function() {
- function ItemStyleMixin2() {
- }
- ItemStyleMixin2.prototype.getItemStyle = function(excludes, includes) {
- return getItemStyle(this, excludes, includes);
- };
- return ItemStyleMixin2;
- }();
- // node_modules/echarts/lib/model/Model.js
- var Model = function() {
- function Model2(option, parentModel, ecModel) {
- this.parentModel = parentModel;
- this.ecModel = ecModel;
- this.option = option;
- }
- Model2.prototype.init = function(option, parentModel, ecModel) {
- var rest = [];
- for (var _i = 3; _i < arguments.length; _i++) {
- rest[_i - 3] = arguments[_i];
- }
- };
- Model2.prototype.mergeOption = function(option, ecModel) {
- merge(this.option, option, true);
- };
- Model2.prototype.get = function(path, ignoreParent) {
- if (path == null) {
- return this.option;
- }
- return this._doGet(this.parsePath(path), !ignoreParent && this.parentModel);
- };
- Model2.prototype.getShallow = function(key, ignoreParent) {
- var option = this.option;
- var val = option == null ? option : option[key];
- if (val == null && !ignoreParent) {
- var parentModel = this.parentModel;
- if (parentModel) {
- val = parentModel.getShallow(key);
- }
- }
- return val;
- };
- Model2.prototype.getModel = function(path, parentModel) {
- var hasPath = path != null;
- var pathFinal = hasPath ? this.parsePath(path) : null;
- var obj = hasPath ? this._doGet(pathFinal) : this.option;
- parentModel = parentModel || this.parentModel && this.parentModel.getModel(this.resolveParentPath(pathFinal));
- return new Model2(obj, parentModel, this.ecModel);
- };
- Model2.prototype.isEmpty = function() {
- return this.option == null;
- };
- Model2.prototype.restoreData = function() {
- };
- Model2.prototype.clone = function() {
- var Ctor = this.constructor;
- return new Ctor(clone(this.option));
- };
- Model2.prototype.parsePath = function(path) {
- if (typeof path === "string") {
- return path.split(".");
- }
- return path;
- };
- Model2.prototype.resolveParentPath = function(path) {
- return path;
- };
- Model2.prototype.isAnimationEnabled = function() {
- if (!env_default.node && this.option) {
- if (this.option.animation != null) {
- return !!this.option.animation;
- } else if (this.parentModel) {
- return this.parentModel.isAnimationEnabled();
- }
- }
- };
- Model2.prototype._doGet = function(pathArr, parentModel) {
- var obj = this.option;
- if (!pathArr) {
- return obj;
- }
- for (var i = 0; i < pathArr.length; i++) {
- if (!pathArr[i]) {
- continue;
- }
- obj = obj && typeof obj === "object" ? obj[pathArr[i]] : null;
- if (obj == null) {
- break;
- }
- }
- if (obj == null && parentModel) {
- obj = parentModel._doGet(this.resolveParentPath(pathArr), parentModel.parentModel);
- }
- return obj;
- };
- return Model2;
- }();
- enableClassExtend(Model);
- enableClassCheck(Model);
- mixin(Model, LineStyleMixin);
- mixin(Model, ItemStyleMixin);
- mixin(Model, AreaStyleMixin);
- mixin(Model, textStyle_default);
- var Model_default = Model;
- // node_modules/echarts/lib/data/SeriesData.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/data/DataDiffer.js
- init_define_APP_INFO();
- function dataIndexMapValueLength(valNumOrArrLengthMoreThan2) {
- return valNumOrArrLengthMoreThan2 == null ? 0 : valNumOrArrLengthMoreThan2.length || 1;
- }
- function defaultKeyGetter(item) {
- return item;
- }
- var DataDiffer = function() {
- function DataDiffer2(oldArr, newArr, oldKeyGetter, newKeyGetter, context, diffMode) {
- this._old = oldArr;
- this._new = newArr;
- this._oldKeyGetter = oldKeyGetter || defaultKeyGetter;
- this._newKeyGetter = newKeyGetter || defaultKeyGetter;
- this.context = context;
- this._diffModeMultiple = diffMode === "multiple";
- }
- DataDiffer2.prototype.add = function(func) {
- this._add = func;
- return this;
- };
- DataDiffer2.prototype.update = function(func) {
- this._update = func;
- return this;
- };
- DataDiffer2.prototype.updateManyToOne = function(func) {
- this._updateManyToOne = func;
- return this;
- };
- DataDiffer2.prototype.updateOneToMany = function(func) {
- this._updateOneToMany = func;
- return this;
- };
- DataDiffer2.prototype.updateManyToMany = function(func) {
- this._updateManyToMany = func;
- return this;
- };
- DataDiffer2.prototype.remove = function(func) {
- this._remove = func;
- return this;
- };
- DataDiffer2.prototype.execute = function() {
- this[this._diffModeMultiple ? "_executeMultiple" : "_executeOneToOne"]();
- };
- DataDiffer2.prototype._executeOneToOne = function() {
- var oldArr = this._old;
- var newArr = this._new;
- var newDataIndexMap = {};
- var oldDataKeyArr = new Array(oldArr.length);
- var newDataKeyArr = new Array(newArr.length);
- this._initIndexMap(oldArr, null, oldDataKeyArr, "_oldKeyGetter");
- this._initIndexMap(newArr, newDataIndexMap, newDataKeyArr, "_newKeyGetter");
- for (var i = 0; i < oldArr.length; i++) {
- var oldKey = oldDataKeyArr[i];
- var newIdxMapVal = newDataIndexMap[oldKey];
- var newIdxMapValLen = dataIndexMapValueLength(newIdxMapVal);
- if (newIdxMapValLen > 1) {
- var newIdx = newIdxMapVal.shift();
- if (newIdxMapVal.length === 1) {
- newDataIndexMap[oldKey] = newIdxMapVal[0];
- }
- this._update && this._update(newIdx, i);
- } else if (newIdxMapValLen === 1) {
- newDataIndexMap[oldKey] = null;
- this._update && this._update(newIdxMapVal, i);
- } else {
- this._remove && this._remove(i);
- }
- }
- this._performRestAdd(newDataKeyArr, newDataIndexMap);
- };
- DataDiffer2.prototype._executeMultiple = function() {
- var oldArr = this._old;
- var newArr = this._new;
- var oldDataIndexMap = {};
- var newDataIndexMap = {};
- var oldDataKeyArr = [];
- var newDataKeyArr = [];
- this._initIndexMap(oldArr, oldDataIndexMap, oldDataKeyArr, "_oldKeyGetter");
- this._initIndexMap(newArr, newDataIndexMap, newDataKeyArr, "_newKeyGetter");
- for (var i = 0; i < oldDataKeyArr.length; i++) {
- var oldKey = oldDataKeyArr[i];
- var oldIdxMapVal = oldDataIndexMap[oldKey];
- var newIdxMapVal = newDataIndexMap[oldKey];
- var oldIdxMapValLen = dataIndexMapValueLength(oldIdxMapVal);
- var newIdxMapValLen = dataIndexMapValueLength(newIdxMapVal);
- if (oldIdxMapValLen > 1 && newIdxMapValLen === 1) {
- this._updateManyToOne && this._updateManyToOne(newIdxMapVal, oldIdxMapVal);
- newDataIndexMap[oldKey] = null;
- } else if (oldIdxMapValLen === 1 && newIdxMapValLen > 1) {
- this._updateOneToMany && this._updateOneToMany(newIdxMapVal, oldIdxMapVal);
- newDataIndexMap[oldKey] = null;
- } else if (oldIdxMapValLen === 1 && newIdxMapValLen === 1) {
- this._update && this._update(newIdxMapVal, oldIdxMapVal);
- newDataIndexMap[oldKey] = null;
- } else if (oldIdxMapValLen > 1 && newIdxMapValLen > 1) {
- this._updateManyToMany && this._updateManyToMany(newIdxMapVal, oldIdxMapVal);
- newDataIndexMap[oldKey] = null;
- } else if (oldIdxMapValLen > 1) {
- for (var i_1 = 0; i_1 < oldIdxMapValLen; i_1++) {
- this._remove && this._remove(oldIdxMapVal[i_1]);
- }
- } else {
- this._remove && this._remove(oldIdxMapVal);
- }
- }
- this._performRestAdd(newDataKeyArr, newDataIndexMap);
- };
- DataDiffer2.prototype._performRestAdd = function(newDataKeyArr, newDataIndexMap) {
- for (var i = 0; i < newDataKeyArr.length; i++) {
- var newKey = newDataKeyArr[i];
- var newIdxMapVal = newDataIndexMap[newKey];
- var idxMapValLen = dataIndexMapValueLength(newIdxMapVal);
- if (idxMapValLen > 1) {
- for (var j = 0; j < idxMapValLen; j++) {
- this._add && this._add(newIdxMapVal[j]);
- }
- } else if (idxMapValLen === 1) {
- this._add && this._add(newIdxMapVal);
- }
- newDataIndexMap[newKey] = null;
- }
- };
- DataDiffer2.prototype._initIndexMap = function(arr, map3, keyArr, keyGetterName) {
- var cbModeMultiple = this._diffModeMultiple;
- for (var i = 0; i < arr.length; i++) {
- var key = "_ec_" + this[keyGetterName](arr[i], i);
- if (!cbModeMultiple) {
- keyArr[i] = key;
- }
- if (!map3) {
- continue;
- }
- var idxMapVal = map3[key];
- var idxMapValLen = dataIndexMapValueLength(idxMapVal);
- if (idxMapValLen === 0) {
- map3[key] = i;
- if (cbModeMultiple) {
- keyArr.push(key);
- }
- } else if (idxMapValLen === 1) {
- map3[key] = [idxMapVal, i];
- } else {
- idxMapVal.push(i);
- }
- }
- };
- return DataDiffer2;
- }();
- var DataDiffer_default = DataDiffer;
- // node_modules/echarts/lib/data/helper/dataProvider.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/data/Source.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/util/types.js
- init_define_APP_INFO();
- var VISUAL_DIMENSIONS = createHashMap(["tooltip", "label", "itemName", "itemId", "itemGroupId", "seriesName"]);
- var SOURCE_FORMAT_ORIGINAL = "original";
- var SOURCE_FORMAT_ARRAY_ROWS = "arrayRows";
- var SOURCE_FORMAT_OBJECT_ROWS = "objectRows";
- var SOURCE_FORMAT_KEYED_COLUMNS = "keyedColumns";
- var SOURCE_FORMAT_TYPED_ARRAY = "typedArray";
- var SOURCE_FORMAT_UNKNOWN = "unknown";
- var SERIES_LAYOUT_BY_COLUMN = "column";
- var SERIES_LAYOUT_BY_ROW = "row";
- // node_modules/echarts/lib/data/helper/sourceHelper.js
- init_define_APP_INFO();
- var BE_ORDINAL = {
- Must: 1,
- Might: 2,
- Not: 3
- };
- var innerGlobalModel = makeInner();
- function resetSourceDefaulter(ecModel) {
- innerGlobalModel(ecModel).datasetMap = createHashMap();
- }
- function makeSeriesEncodeForAxisCoordSys(coordDimensions, seriesModel, source) {
- var encode = {};
- var datasetModel = querySeriesUpstreamDatasetModel(seriesModel);
- if (!datasetModel || !coordDimensions) {
- return encode;
- }
- var encodeItemName = [];
- var encodeSeriesName = [];
- var ecModel = seriesModel.ecModel;
- var datasetMap = innerGlobalModel(ecModel).datasetMap;
- var key = datasetModel.uid + "_" + source.seriesLayoutBy;
- var baseCategoryDimIndex;
- var categoryWayValueDimStart;
- coordDimensions = coordDimensions.slice();
- each(coordDimensions, function(coordDimInfoLoose, coordDimIdx) {
- var coordDimInfo = isObject(coordDimInfoLoose) ? coordDimInfoLoose : coordDimensions[coordDimIdx] = {
- name: coordDimInfoLoose
- };
- if (coordDimInfo.type === "ordinal" && baseCategoryDimIndex == null) {
- baseCategoryDimIndex = coordDimIdx;
- categoryWayValueDimStart = getDataDimCountOnCoordDim(coordDimInfo);
- }
- encode[coordDimInfo.name] = [];
- });
- var datasetRecord = datasetMap.get(key) || datasetMap.set(key, {
- categoryWayDim: categoryWayValueDimStart,
- valueWayDim: 0
- });
- each(coordDimensions, function(coordDimInfo, coordDimIdx) {
- var coordDimName = coordDimInfo.name;
- var count = getDataDimCountOnCoordDim(coordDimInfo);
- if (baseCategoryDimIndex == null) {
- var start = datasetRecord.valueWayDim;
- pushDim(encode[coordDimName], start, count);
- pushDim(encodeSeriesName, start, count);
- datasetRecord.valueWayDim += count;
- } else if (baseCategoryDimIndex === coordDimIdx) {
- pushDim(encode[coordDimName], 0, count);
- pushDim(encodeItemName, 0, count);
- } else {
- var start = datasetRecord.categoryWayDim;
- pushDim(encode[coordDimName], start, count);
- pushDim(encodeSeriesName, start, count);
- datasetRecord.categoryWayDim += count;
- }
- });
- function pushDim(dimIdxArr, idxFrom, idxCount) {
- for (var i = 0; i < idxCount; i++) {
- dimIdxArr.push(idxFrom + i);
- }
- }
- function getDataDimCountOnCoordDim(coordDimInfo) {
- var dimsDef = coordDimInfo.dimsDef;
- return dimsDef ? dimsDef.length : 1;
- }
- encodeItemName.length && (encode.itemName = encodeItemName);
- encodeSeriesName.length && (encode.seriesName = encodeSeriesName);
- return encode;
- }
- function makeSeriesEncodeForNameBased(seriesModel, source, dimCount) {
- var encode = {};
- var datasetModel = querySeriesUpstreamDatasetModel(seriesModel);
- if (!datasetModel) {
- return encode;
- }
- var sourceFormat = source.sourceFormat;
- var dimensionsDefine = source.dimensionsDefine;
- var potentialNameDimIndex;
- if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS || sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {
- each(dimensionsDefine, function(dim, idx) {
- if ((isObject(dim) ? dim.name : dim) === "name") {
- potentialNameDimIndex = idx;
- }
- });
- }
- var idxResult = function() {
- var idxRes0 = {};
- var idxRes1 = {};
- var guessRecords = [];
- for (var i = 0, len = Math.min(5, dimCount); i < len; i++) {
- var guessResult = doGuessOrdinal(source.data, sourceFormat, source.seriesLayoutBy, dimensionsDefine, source.startIndex, i);
- guessRecords.push(guessResult);
- var isPureNumber = guessResult === BE_ORDINAL.Not;
- if (isPureNumber && idxRes0.v == null && i !== potentialNameDimIndex) {
- idxRes0.v = i;
- }
- if (idxRes0.n == null || idxRes0.n === idxRes0.v || !isPureNumber && guessRecords[idxRes0.n] === BE_ORDINAL.Not) {
- idxRes0.n = i;
- }
- if (fulfilled(idxRes0) && guessRecords[idxRes0.n] !== BE_ORDINAL.Not) {
- return idxRes0;
- }
- if (!isPureNumber) {
- if (guessResult === BE_ORDINAL.Might && idxRes1.v == null && i !== potentialNameDimIndex) {
- idxRes1.v = i;
- }
- if (idxRes1.n == null || idxRes1.n === idxRes1.v) {
- idxRes1.n = i;
- }
- }
- }
- function fulfilled(idxResult2) {
- return idxResult2.v != null && idxResult2.n != null;
- }
- return fulfilled(idxRes0) ? idxRes0 : fulfilled(idxRes1) ? idxRes1 : null;
- }();
- if (idxResult) {
- encode.value = [idxResult.v];
- var nameDimIndex = potentialNameDimIndex != null ? potentialNameDimIndex : idxResult.n;
- encode.itemName = [nameDimIndex];
- encode.seriesName = [nameDimIndex];
- }
- return encode;
- }
- function querySeriesUpstreamDatasetModel(seriesModel) {
- var thisData = seriesModel.get("data", true);
- if (!thisData) {
- return queryReferringComponents(seriesModel.ecModel, "dataset", {
- index: seriesModel.get("datasetIndex", true),
- id: seriesModel.get("datasetId", true)
- }, SINGLE_REFERRING).models[0];
- }
- }
- function queryDatasetUpstreamDatasetModels(datasetModel) {
- if (!datasetModel.get("transform", true) && !datasetModel.get("fromTransformResult", true)) {
- return [];
- }
- return queryReferringComponents(datasetModel.ecModel, "dataset", {
- index: datasetModel.get("fromDatasetIndex", true),
- id: datasetModel.get("fromDatasetId", true)
- }, SINGLE_REFERRING).models;
- }
- function guessOrdinal(source, dimIndex) {
- return doGuessOrdinal(source.data, source.sourceFormat, source.seriesLayoutBy, source.dimensionsDefine, source.startIndex, dimIndex);
- }
- function doGuessOrdinal(data, sourceFormat, seriesLayoutBy, dimensionsDefine, startIndex, dimIndex) {
- var result;
- var maxLoop = 5;
- if (isTypedArray(data)) {
- return BE_ORDINAL.Not;
- }
- var dimName;
- var dimType;
- if (dimensionsDefine) {
- var dimDefItem = dimensionsDefine[dimIndex];
- if (isObject(dimDefItem)) {
- dimName = dimDefItem.name;
- dimType = dimDefItem.type;
- } else if (isString(dimDefItem)) {
- dimName = dimDefItem;
- }
- }
- if (dimType != null) {
- return dimType === "ordinal" ? BE_ORDINAL.Must : BE_ORDINAL.Not;
- }
- if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {
- var dataArrayRows = data;
- if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {
- var sample = dataArrayRows[dimIndex];
- for (var i = 0; i < (sample || []).length && i < maxLoop; i++) {
- if ((result = detectValue(sample[startIndex + i])) != null) {
- return result;
- }
- }
- } else {
- for (var i = 0; i < dataArrayRows.length && i < maxLoop; i++) {
- var row = dataArrayRows[startIndex + i];
- if (row && (result = detectValue(row[dimIndex])) != null) {
- return result;
- }
- }
- }
- } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {
- var dataObjectRows = data;
- if (!dimName) {
- return BE_ORDINAL.Not;
- }
- for (var i = 0; i < dataObjectRows.length && i < maxLoop; i++) {
- var item = dataObjectRows[i];
- if (item && (result = detectValue(item[dimName])) != null) {
- return result;
- }
- }
- } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {
- var dataKeyedColumns = data;
- if (!dimName) {
- return BE_ORDINAL.Not;
- }
- var sample = dataKeyedColumns[dimName];
- if (!sample || isTypedArray(sample)) {
- return BE_ORDINAL.Not;
- }
- for (var i = 0; i < sample.length && i < maxLoop; i++) {
- if ((result = detectValue(sample[i])) != null) {
- return result;
- }
- }
- } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {
- var dataOriginal = data;
- for (var i = 0; i < dataOriginal.length && i < maxLoop; i++) {
- var item = dataOriginal[i];
- var val = getDataItemValue(item);
- if (!isArray(val)) {
- return BE_ORDINAL.Not;
- }
- if ((result = detectValue(val[dimIndex])) != null) {
- return result;
- }
- }
- }
- function detectValue(val2) {
- var beStr = isString(val2);
- if (val2 != null && isFinite(val2) && val2 !== "") {
- return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not;
- } else if (beStr && val2 !== "-") {
- return BE_ORDINAL.Must;
- }
- }
- return BE_ORDINAL.Not;
- }
- // node_modules/echarts/lib/data/Source.js
- var SourceImpl = function() {
- function SourceImpl2(fields) {
- this.data = fields.data || (fields.sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS ? {} : []);
- this.sourceFormat = fields.sourceFormat || SOURCE_FORMAT_UNKNOWN;
- this.seriesLayoutBy = fields.seriesLayoutBy || SERIES_LAYOUT_BY_COLUMN;
- this.startIndex = fields.startIndex || 0;
- this.dimensionsDetectedCount = fields.dimensionsDetectedCount;
- this.metaRawOption = fields.metaRawOption;
- var dimensionsDefine = this.dimensionsDefine = fields.dimensionsDefine;
- if (dimensionsDefine) {
- for (var i = 0; i < dimensionsDefine.length; i++) {
- var dim = dimensionsDefine[i];
- if (dim.type == null) {
- if (guessOrdinal(this, i) === BE_ORDINAL.Must) {
- dim.type = "ordinal";
- }
- }
- }
- }
- }
- return SourceImpl2;
- }();
- function isSourceInstance(val) {
- return val instanceof SourceImpl;
- }
- function createSource(sourceData, thisMetaRawOption, sourceFormat) {
- sourceFormat = sourceFormat || detectSourceFormat(sourceData);
- var seriesLayoutBy = thisMetaRawOption.seriesLayoutBy;
- var determined = determineSourceDimensions(sourceData, sourceFormat, seriesLayoutBy, thisMetaRawOption.sourceHeader, thisMetaRawOption.dimensions);
- var source = new SourceImpl({
- data: sourceData,
- sourceFormat,
- seriesLayoutBy,
- dimensionsDefine: determined.dimensionsDefine,
- startIndex: determined.startIndex,
- dimensionsDetectedCount: determined.dimensionsDetectedCount,
- metaRawOption: clone(thisMetaRawOption)
- });
- return source;
- }
- function createSourceFromSeriesDataOption(data) {
- return new SourceImpl({
- data,
- sourceFormat: isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL
- });
- }
- function cloneSourceShallow(source) {
- return new SourceImpl({
- data: source.data,
- sourceFormat: source.sourceFormat,
- seriesLayoutBy: source.seriesLayoutBy,
- dimensionsDefine: clone(source.dimensionsDefine),
- startIndex: source.startIndex,
- dimensionsDetectedCount: source.dimensionsDetectedCount
- });
- }
- function detectSourceFormat(data) {
- var sourceFormat = SOURCE_FORMAT_UNKNOWN;
- if (isTypedArray(data)) {
- sourceFormat = SOURCE_FORMAT_TYPED_ARRAY;
- } else if (isArray(data)) {
- if (data.length === 0) {
- sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;
- }
- for (var i = 0, len = data.length; i < len; i++) {
- var item = data[i];
- if (item == null) {
- continue;
- } else if (isArray(item)) {
- sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;
- break;
- } else if (isObject(item)) {
- sourceFormat = SOURCE_FORMAT_OBJECT_ROWS;
- break;
- }
- }
- } else if (isObject(data)) {
- for (var key in data) {
- if (hasOwn(data, key) && isArrayLike(data[key])) {
- sourceFormat = SOURCE_FORMAT_KEYED_COLUMNS;
- break;
- }
- }
- }
- return sourceFormat;
- }
- function determineSourceDimensions(data, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine) {
- var dimensionsDetectedCount;
- var startIndex;
- if (!data) {
- return {
- dimensionsDefine: normalizeDimensionsOption(dimensionsDefine),
- startIndex,
- dimensionsDetectedCount
- };
- }
- if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {
- var dataArrayRows = data;
- if (sourceHeader === "auto" || sourceHeader == null) {
- arrayRowsTravelFirst(function(val) {
- if (val != null && val !== "-") {
- if (isString(val)) {
- startIndex == null && (startIndex = 1);
- } else {
- startIndex = 0;
- }
- }
- }, seriesLayoutBy, dataArrayRows, 10);
- } else {
- startIndex = isNumber(sourceHeader) ? sourceHeader : sourceHeader ? 1 : 0;
- }
- if (!dimensionsDefine && startIndex === 1) {
- dimensionsDefine = [];
- arrayRowsTravelFirst(function(val, index) {
- dimensionsDefine[index] = val != null ? val + "" : "";
- }, seriesLayoutBy, dataArrayRows, Infinity);
- }
- dimensionsDetectedCount = dimensionsDefine ? dimensionsDefine.length : seriesLayoutBy === SERIES_LAYOUT_BY_ROW ? dataArrayRows.length : dataArrayRows[0] ? dataArrayRows[0].length : null;
- } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {
- if (!dimensionsDefine) {
- dimensionsDefine = objectRowsCollectDimensions(data);
- }
- } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {
- if (!dimensionsDefine) {
- dimensionsDefine = [];
- each(data, function(colArr, key) {
- dimensionsDefine.push(key);
- });
- }
- } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {
- var value0 = getDataItemValue(data[0]);
- dimensionsDetectedCount = isArray(value0) && value0.length || 1;
- } else if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {
- if (true) {
- assert(!!dimensionsDefine, "dimensions must be given if data is TypedArray.");
- }
- }
- return {
- startIndex,
- dimensionsDefine: normalizeDimensionsOption(dimensionsDefine),
- dimensionsDetectedCount
- };
- }
- function objectRowsCollectDimensions(data) {
- var firstIndex = 0;
- var obj;
- while (firstIndex < data.length && !(obj = data[firstIndex++])) {
- }
- if (obj) {
- var dimensions_1 = [];
- each(obj, function(value, key) {
- dimensions_1.push(key);
- });
- return dimensions_1;
- }
- }
- function normalizeDimensionsOption(dimensionsDefine) {
- if (!dimensionsDefine) {
- return;
- }
- var nameMap = createHashMap();
- return map(dimensionsDefine, function(rawItem, index) {
- rawItem = isObject(rawItem) ? rawItem : {
- name: rawItem
- };
- var item = {
- name: rawItem.name,
- displayName: rawItem.displayName,
- type: rawItem.type
- };
- if (item.name == null) {
- return item;
- }
- item.name += "";
- if (item.displayName == null) {
- item.displayName = item.name;
- }
- var exist = nameMap.get(item.name);
- if (!exist) {
- nameMap.set(item.name, {
- count: 1
- });
- } else {
- item.name += "-" + exist.count++;
- }
- return item;
- });
- }
- function arrayRowsTravelFirst(cb, seriesLayoutBy, data, maxLoop) {
- if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {
- for (var i = 0; i < data.length && i < maxLoop; i++) {
- cb(data[i] ? data[i][0] : null, i);
- }
- } else {
- var value0 = data[0] || [];
- for (var i = 0; i < value0.length && i < maxLoop; i++) {
- cb(value0[i], i);
- }
- }
- }
- function shouldRetrieveDataByName(source) {
- var sourceFormat = source.sourceFormat;
- return sourceFormat === SOURCE_FORMAT_OBJECT_ROWS || sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS;
- }
- // node_modules/echarts/lib/data/helper/dataProvider.js
- var _a;
- var _b;
- var _c;
- var providerMethods;
- var mountMethods;
- var DefaultDataProvider = function() {
- function DefaultDataProvider2(sourceParam, dimSize) {
- var source = !isSourceInstance(sourceParam) ? createSourceFromSeriesDataOption(sourceParam) : sourceParam;
- this._source = source;
- var data = this._data = source.data;
- if (source.sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {
- if (true) {
- if (dimSize == null) {
- throw new Error("Typed array data must specify dimension size");
- }
- }
- this._offset = 0;
- this._dimSize = dimSize;
- this._data = data;
- }
- mountMethods(this, data, source);
- }
- DefaultDataProvider2.prototype.getSource = function() {
- return this._source;
- };
- DefaultDataProvider2.prototype.count = function() {
- return 0;
- };
- DefaultDataProvider2.prototype.getItem = function(idx, out2) {
- return;
- };
- DefaultDataProvider2.prototype.appendData = function(newData) {
- };
- DefaultDataProvider2.prototype.clean = function() {
- };
- DefaultDataProvider2.protoInitialize = function() {
- var proto2 = DefaultDataProvider2.prototype;
- proto2.pure = false;
- proto2.persistent = true;
- }();
- DefaultDataProvider2.internalField = function() {
- var _a2;
- mountMethods = function(provider, data, source) {
- var sourceFormat = source.sourceFormat;
- var seriesLayoutBy = source.seriesLayoutBy;
- var startIndex = source.startIndex;
- var dimsDef = source.dimensionsDefine;
- var methods = providerMethods[getMethodMapKey(sourceFormat, seriesLayoutBy)];
- if (true) {
- assert(methods, "Invalide sourceFormat: " + sourceFormat);
- }
- extend(provider, methods);
- if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {
- provider.getItem = getItemForTypedArray;
- provider.count = countForTypedArray;
- provider.fillStorage = fillStorageForTypedArray;
- } else {
- var rawItemGetter = getRawSourceItemGetter(sourceFormat, seriesLayoutBy);
- provider.getItem = bind(rawItemGetter, null, data, startIndex, dimsDef);
- var rawCounter = getRawSourceDataCounter(sourceFormat, seriesLayoutBy);
- provider.count = bind(rawCounter, null, data, startIndex, dimsDef);
- }
- };
- var getItemForTypedArray = function(idx, out2) {
- idx = idx - this._offset;
- out2 = out2 || [];
- var data = this._data;
- var dimSize = this._dimSize;
- var offset = dimSize * idx;
- for (var i = 0; i < dimSize; i++) {
- out2[i] = data[offset + i];
- }
- return out2;
- };
- var fillStorageForTypedArray = function(start, end, storage, extent3) {
- var data = this._data;
- var dimSize = this._dimSize;
- for (var dim = 0; dim < dimSize; dim++) {
- var dimExtent = extent3[dim];
- var min2 = dimExtent[0] == null ? Infinity : dimExtent[0];
- var max2 = dimExtent[1] == null ? -Infinity : dimExtent[1];
- var count = end - start;
- var arr = storage[dim];
- for (var i = 0; i < count; i++) {
- var val = data[i * dimSize + dim];
- arr[start + i] = val;
- val < min2 && (min2 = val);
- val > max2 && (max2 = val);
- }
- dimExtent[0] = min2;
- dimExtent[1] = max2;
- }
- };
- var countForTypedArray = function() {
- return this._data ? this._data.length / this._dimSize : 0;
- };
- providerMethods = (_a2 = {}, _a2[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_COLUMN] = {
- pure: true,
- appendData: appendDataSimply
- }, _a2[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_ROW] = {
- pure: true,
- appendData: function() {
- throw new Error('Do not support appendData when set seriesLayoutBy: "row".');
- }
- }, _a2[SOURCE_FORMAT_OBJECT_ROWS] = {
- pure: true,
- appendData: appendDataSimply
- }, _a2[SOURCE_FORMAT_KEYED_COLUMNS] = {
- pure: true,
- appendData: function(newData) {
- var data = this._data;
- each(newData, function(newCol, key) {
- var oldCol = data[key] || (data[key] = []);
- for (var i = 0; i < (newCol || []).length; i++) {
- oldCol.push(newCol[i]);
- }
- });
- }
- }, _a2[SOURCE_FORMAT_ORIGINAL] = {
- appendData: appendDataSimply
- }, _a2[SOURCE_FORMAT_TYPED_ARRAY] = {
- persistent: false,
- pure: true,
- appendData: function(newData) {
- if (true) {
- assert(isTypedArray(newData), "Added data must be TypedArray if data in initialization is TypedArray");
- }
- this._data = newData;
- },
- clean: function() {
- this._offset += this.count();
- this._data = null;
- }
- }, _a2);
- function appendDataSimply(newData) {
- for (var i = 0; i < newData.length; i++) {
- this._data.push(newData[i]);
- }
- }
- }();
- return DefaultDataProvider2;
- }();
- var getItemSimply = function(rawData, startIndex, dimsDef, idx) {
- return rawData[idx];
- };
- var rawSourceItemGetterMap = (_a = {}, _a[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_COLUMN] = function(rawData, startIndex, dimsDef, idx) {
- return rawData[idx + startIndex];
- }, _a[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_ROW] = function(rawData, startIndex, dimsDef, idx, out2) {
- idx += startIndex;
- var item = out2 || [];
- var data = rawData;
- for (var i = 0; i < data.length; i++) {
- var row = data[i];
- item[i] = row ? row[idx] : null;
- }
- return item;
- }, _a[SOURCE_FORMAT_OBJECT_ROWS] = getItemSimply, _a[SOURCE_FORMAT_KEYED_COLUMNS] = function(rawData, startIndex, dimsDef, idx, out2) {
- var item = out2 || [];
- for (var i = 0; i < dimsDef.length; i++) {
- var dimName = dimsDef[i].name;
- if (true) {
- if (dimName == null) {
- throw new Error();
- }
- }
- var col = rawData[dimName];
- item[i] = col ? col[idx] : null;
- }
- return item;
- }, _a[SOURCE_FORMAT_ORIGINAL] = getItemSimply, _a);
- function getRawSourceItemGetter(sourceFormat, seriesLayoutBy) {
- var method = rawSourceItemGetterMap[getMethodMapKey(sourceFormat, seriesLayoutBy)];
- if (true) {
- assert(method, 'Do not support get item on "' + sourceFormat + '", "' + seriesLayoutBy + '".');
- }
- return method;
- }
- var countSimply = function(rawData, startIndex, dimsDef) {
- return rawData.length;
- };
- var rawSourceDataCounterMap = (_b = {}, _b[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_COLUMN] = function(rawData, startIndex, dimsDef) {
- return Math.max(0, rawData.length - startIndex);
- }, _b[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_ROW] = function(rawData, startIndex, dimsDef) {
- var row = rawData[0];
- return row ? Math.max(0, row.length - startIndex) : 0;
- }, _b[SOURCE_FORMAT_OBJECT_ROWS] = countSimply, _b[SOURCE_FORMAT_KEYED_COLUMNS] = function(rawData, startIndex, dimsDef) {
- var dimName = dimsDef[0].name;
- if (true) {
- if (dimName == null) {
- throw new Error();
- }
- }
- var col = rawData[dimName];
- return col ? col.length : 0;
- }, _b[SOURCE_FORMAT_ORIGINAL] = countSimply, _b);
- function getRawSourceDataCounter(sourceFormat, seriesLayoutBy) {
- var method = rawSourceDataCounterMap[getMethodMapKey(sourceFormat, seriesLayoutBy)];
- if (true) {
- assert(method, 'Do not suppport count on "' + sourceFormat + '", "' + seriesLayoutBy + '".');
- }
- return method;
- }
- var getRawValueSimply = function(dataItem, dimIndex, property) {
- return dataItem[dimIndex];
- };
- var rawSourceValueGetterMap = (_c = {}, _c[SOURCE_FORMAT_ARRAY_ROWS] = getRawValueSimply, _c[SOURCE_FORMAT_OBJECT_ROWS] = function(dataItem, dimIndex, property) {
- return dataItem[property];
- }, _c[SOURCE_FORMAT_KEYED_COLUMNS] = getRawValueSimply, _c[SOURCE_FORMAT_ORIGINAL] = function(dataItem, dimIndex, property) {
- var value = getDataItemValue(dataItem);
- return !(value instanceof Array) ? value : value[dimIndex];
- }, _c[SOURCE_FORMAT_TYPED_ARRAY] = getRawValueSimply, _c);
- function getRawSourceValueGetter(sourceFormat) {
- var method = rawSourceValueGetterMap[sourceFormat];
- if (true) {
- assert(method, 'Do not suppport get value on "' + sourceFormat + '".');
- }
- return method;
- }
- function getMethodMapKey(sourceFormat, seriesLayoutBy) {
- return sourceFormat === SOURCE_FORMAT_ARRAY_ROWS ? sourceFormat + "_" + seriesLayoutBy : sourceFormat;
- }
- function retrieveRawValue(data, dataIndex, dim) {
- if (!data) {
- return;
- }
- var dataItem = data.getRawDataItem(dataIndex);
- if (dataItem == null) {
- return;
- }
- var store = data.getStore();
- var sourceFormat = store.getSource().sourceFormat;
- if (dim != null) {
- var dimIndex = data.getDimensionIndex(dim);
- var property = store.getDimensionProperty(dimIndex);
- return getRawSourceValueGetter(sourceFormat)(dataItem, dimIndex, property);
- } else {
- var result = dataItem;
- if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {
- result = getDataItemValue(dataItem);
- }
- return result;
- }
- }
- // node_modules/echarts/lib/data/helper/dimensionHelper.js
- init_define_APP_INFO();
- var DimensionUserOuput = function() {
- function DimensionUserOuput2(encode, dimRequest) {
- this._encode = encode;
- this._schema = dimRequest;
- }
- DimensionUserOuput2.prototype.get = function() {
- return {
- fullDimensions: this._getFullDimensionNames(),
- encode: this._encode
- };
- };
- DimensionUserOuput2.prototype._getFullDimensionNames = function() {
- if (!this._cachedDimNames) {
- this._cachedDimNames = this._schema ? this._schema.makeOutputDimensionNames() : [];
- }
- return this._cachedDimNames;
- };
- return DimensionUserOuput2;
- }();
- function summarizeDimensions(data, schema) {
- var summary = {};
- var encode = summary.encode = {};
- var notExtraCoordDimMap = createHashMap();
- var defaultedLabel = [];
- var defaultedTooltip = [];
- var userOutputEncode = {};
- each(data.dimensions, function(dimName) {
- var dimItem = data.getDimensionInfo(dimName);
- var coordDim = dimItem.coordDim;
- if (coordDim) {
- if (true) {
- assert(VISUAL_DIMENSIONS.get(coordDim) == null);
- }
- var coordDimIndex = dimItem.coordDimIndex;
- getOrCreateEncodeArr(encode, coordDim)[coordDimIndex] = dimName;
- if (!dimItem.isExtraCoord) {
- notExtraCoordDimMap.set(coordDim, 1);
- if (mayLabelDimType(dimItem.type)) {
- defaultedLabel[0] = dimName;
- }
- getOrCreateEncodeArr(userOutputEncode, coordDim)[coordDimIndex] = data.getDimensionIndex(dimItem.name);
- }
- if (dimItem.defaultTooltip) {
- defaultedTooltip.push(dimName);
- }
- }
- VISUAL_DIMENSIONS.each(function(v, otherDim) {
- var encodeArr = getOrCreateEncodeArr(encode, otherDim);
- var dimIndex = dimItem.otherDims[otherDim];
- if (dimIndex != null && dimIndex !== false) {
- encodeArr[dimIndex] = dimItem.name;
- }
- });
- });
- var dataDimsOnCoord = [];
- var encodeFirstDimNotExtra = {};
- notExtraCoordDimMap.each(function(v, coordDim) {
- var dimArr = encode[coordDim];
- encodeFirstDimNotExtra[coordDim] = dimArr[0];
- dataDimsOnCoord = dataDimsOnCoord.concat(dimArr);
- });
- summary.dataDimsOnCoord = dataDimsOnCoord;
- summary.dataDimIndicesOnCoord = map(dataDimsOnCoord, function(dimName) {
- return data.getDimensionInfo(dimName).storeDimIndex;
- });
- summary.encodeFirstDimNotExtra = encodeFirstDimNotExtra;
- var encodeLabel = encode.label;
- if (encodeLabel && encodeLabel.length) {
- defaultedLabel = encodeLabel.slice();
- }
- var encodeTooltip = encode.tooltip;
- if (encodeTooltip && encodeTooltip.length) {
- defaultedTooltip = encodeTooltip.slice();
- } else if (!defaultedTooltip.length) {
- defaultedTooltip = defaultedLabel.slice();
- }
- encode.defaultedLabel = defaultedLabel;
- encode.defaultedTooltip = defaultedTooltip;
- summary.userOutput = new DimensionUserOuput(userOutputEncode, schema);
- return summary;
- }
- function getOrCreateEncodeArr(encode, dim) {
- if (!encode.hasOwnProperty(dim)) {
- encode[dim] = [];
- }
- return encode[dim];
- }
- function getDimensionTypeByAxis(axisType) {
- return axisType === "category" ? "ordinal" : axisType === "time" ? "time" : "float";
- }
- function mayLabelDimType(dimType) {
- return !(dimType === "ordinal" || dimType === "time");
- }
- // node_modules/echarts/lib/data/SeriesDimensionDefine.js
- init_define_APP_INFO();
- var SeriesDimensionDefine = function() {
- function SeriesDimensionDefine2(opt) {
- this.otherDims = {};
- if (opt != null) {
- extend(this, opt);
- }
- }
- return SeriesDimensionDefine2;
- }();
- var SeriesDimensionDefine_default = SeriesDimensionDefine;
- // node_modules/echarts/lib/data/DataStore.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/data/helper/dataValueHelper.js
- init_define_APP_INFO();
- function parseDataValue(value, opt) {
- var dimType = opt && opt.type;
- if (dimType === "ordinal") {
- return value;
- }
- if (dimType === "time" && !isNumber(value) && value != null && value !== "-") {
- value = +parseDate(value);
- }
- return value == null || value === "" ? NaN : +value;
- }
- var valueParserMap = createHashMap({
- "number": function(val) {
- return parseFloat(val);
- },
- "time": function(val) {
- return +parseDate(val);
- },
- "trim": function(val) {
- return isString(val) ? trim(val) : val;
- }
- });
- function getRawValueParser(type) {
- return valueParserMap.get(type);
- }
- var ORDER_COMPARISON_OP_MAP = {
- lt: function(lval, rval) {
- return lval < rval;
- },
- lte: function(lval, rval) {
- return lval <= rval;
- },
- gt: function(lval, rval) {
- return lval > rval;
- },
- gte: function(lval, rval) {
- return lval >= rval;
- }
- };
- var FilterOrderComparator = function() {
- function FilterOrderComparator2(op, rval) {
- if (!isNumber(rval)) {
- var errMsg = "";
- if (true) {
- errMsg = 'rvalue of "<", ">", "<=", ">=" can only be number in filter.';
- }
- throwError(errMsg);
- }
- this._opFn = ORDER_COMPARISON_OP_MAP[op];
- this._rvalFloat = numericToNumber(rval);
- }
- FilterOrderComparator2.prototype.evaluate = function(lval) {
- return isNumber(lval) ? this._opFn(lval, this._rvalFloat) : this._opFn(numericToNumber(lval), this._rvalFloat);
- };
- return FilterOrderComparator2;
- }();
- var SortOrderComparator = function() {
- function SortOrderComparator2(order, incomparable) {
- var isDesc = order === "desc";
- this._resultLT = isDesc ? 1 : -1;
- if (incomparable == null) {
- incomparable = isDesc ? "min" : "max";
- }
- this._incomparable = incomparable === "min" ? -Infinity : Infinity;
- }
- SortOrderComparator2.prototype.evaluate = function(lval, rval) {
- var lvalFloat = isNumber(lval) ? lval : numericToNumber(lval);
- var rvalFloat = isNumber(rval) ? rval : numericToNumber(rval);
- var lvalNotNumeric = isNaN(lvalFloat);
- var rvalNotNumeric = isNaN(rvalFloat);
- if (lvalNotNumeric) {
- lvalFloat = this._incomparable;
- }
- if (rvalNotNumeric) {
- rvalFloat = this._incomparable;
- }
- if (lvalNotNumeric && rvalNotNumeric) {
- var lvalIsStr = isString(lval);
- var rvalIsStr = isString(rval);
- if (lvalIsStr) {
- lvalFloat = rvalIsStr ? lval : 0;
- }
- if (rvalIsStr) {
- rvalFloat = lvalIsStr ? rval : 0;
- }
- }
- return lvalFloat < rvalFloat ? this._resultLT : lvalFloat > rvalFloat ? -this._resultLT : 0;
- };
- return SortOrderComparator2;
- }();
- var FilterEqualityComparator = function() {
- function FilterEqualityComparator2(isEq, rval) {
- this._rval = rval;
- this._isEQ = isEq;
- this._rvalTypeof = typeof rval;
- this._rvalFloat = numericToNumber(rval);
- }
- FilterEqualityComparator2.prototype.evaluate = function(lval) {
- var eqResult = lval === this._rval;
- if (!eqResult) {
- var lvalTypeof = typeof lval;
- if (lvalTypeof !== this._rvalTypeof && (lvalTypeof === "number" || this._rvalTypeof === "number")) {
- eqResult = numericToNumber(lval) === this._rvalFloat;
- }
- }
- return this._isEQ ? eqResult : !eqResult;
- };
- return FilterEqualityComparator2;
- }();
- function createFilterComparator(op, rval) {
- return op === "eq" || op === "ne" ? new FilterEqualityComparator(op === "eq", rval) : hasOwn(ORDER_COMPARISON_OP_MAP, op) ? new FilterOrderComparator(op, rval) : null;
- }
- // node_modules/echarts/lib/data/DataStore.js
- var UNDEFINED = "undefined";
- var CtorUint32Array = typeof Uint32Array === UNDEFINED ? Array : Uint32Array;
- var CtorUint16Array = typeof Uint16Array === UNDEFINED ? Array : Uint16Array;
- var CtorInt32Array = typeof Int32Array === UNDEFINED ? Array : Int32Array;
- var CtorFloat64Array = typeof Float64Array === UNDEFINED ? Array : Float64Array;
- var dataCtors = {
- "float": CtorFloat64Array,
- "int": CtorInt32Array,
- "ordinal": Array,
- "number": Array,
- "time": CtorFloat64Array
- };
- var defaultDimValueGetters;
- function getIndicesCtor(rawCount) {
- return rawCount > 65535 ? CtorUint32Array : CtorUint16Array;
- }
- function getInitialExtent() {
- return [Infinity, -Infinity];
- }
- function cloneChunk(originalChunk) {
- var Ctor = originalChunk.constructor;
- return Ctor === Array ? originalChunk.slice() : new Ctor(originalChunk);
- }
- function prepareStore(store, dimIdx, dimType, end, append) {
- var DataCtor = dataCtors[dimType || "float"];
- if (append) {
- var oldStore = store[dimIdx];
- var oldLen = oldStore && oldStore.length;
- if (!(oldLen === end)) {
- var newStore = new DataCtor(end);
- for (var j = 0; j < oldLen; j++) {
- newStore[j] = oldStore[j];
- }
- store[dimIdx] = newStore;
- }
- } else {
- store[dimIdx] = new DataCtor(end);
- }
- }
- var DataStore = function() {
- function DataStore2() {
- this._chunks = [];
- this._rawExtent = [];
- this._extent = [];
- this._count = 0;
- this._rawCount = 0;
- this._calcDimNameToIdx = createHashMap();
- }
- DataStore2.prototype.initData = function(provider, inputDimensions, dimValueGetter) {
- if (true) {
- assert(isFunction(provider.getItem) && isFunction(provider.count), "Invalid data provider.");
- }
- this._provider = provider;
- this._chunks = [];
- this._indices = null;
- this.getRawIndex = this._getRawIdxIdentity;
- var source = provider.getSource();
- var defaultGetter = this.defaultDimValueGetter = defaultDimValueGetters[source.sourceFormat];
- this._dimValueGetter = dimValueGetter || defaultGetter;
- this._rawExtent = [];
- var willRetrieveDataByName = shouldRetrieveDataByName(source);
- this._dimensions = map(inputDimensions, function(dim) {
- if (true) {
- if (willRetrieveDataByName) {
- assert(dim.property != null);
- }
- }
- return {
- type: dim.type,
- property: dim.property
- };
- });
- this._initDataFromProvider(0, provider.count());
- };
- DataStore2.prototype.getProvider = function() {
- return this._provider;
- };
- DataStore2.prototype.getSource = function() {
- return this._provider.getSource();
- };
- DataStore2.prototype.ensureCalculationDimension = function(dimName, type) {
- var calcDimNameToIdx = this._calcDimNameToIdx;
- var dimensions = this._dimensions;
- var calcDimIdx = calcDimNameToIdx.get(dimName);
- if (calcDimIdx != null) {
- if (dimensions[calcDimIdx].type === type) {
- return calcDimIdx;
- }
- } else {
- calcDimIdx = dimensions.length;
- }
- dimensions[calcDimIdx] = {
- type
- };
- calcDimNameToIdx.set(dimName, calcDimIdx);
- this._chunks[calcDimIdx] = new dataCtors[type || "float"](this._rawCount);
- this._rawExtent[calcDimIdx] = getInitialExtent();
- return calcDimIdx;
- };
- DataStore2.prototype.collectOrdinalMeta = function(dimIdx, ordinalMeta) {
- var chunk = this._chunks[dimIdx];
- var dim = this._dimensions[dimIdx];
- var rawExtents = this._rawExtent;
- var offset = dim.ordinalOffset || 0;
- var len = chunk.length;
- if (offset === 0) {
- rawExtents[dimIdx] = getInitialExtent();
- }
- var dimRawExtent = rawExtents[dimIdx];
- for (var i = offset; i < len; i++) {
- var val = chunk[i] = ordinalMeta.parseAndCollect(chunk[i]);
- if (!isNaN(val)) {
- dimRawExtent[0] = Math.min(val, dimRawExtent[0]);
- dimRawExtent[1] = Math.max(val, dimRawExtent[1]);
- }
- }
- dim.ordinalMeta = ordinalMeta;
- dim.ordinalOffset = len;
- dim.type = "ordinal";
- };
- DataStore2.prototype.getOrdinalMeta = function(dimIdx) {
- var dimInfo = this._dimensions[dimIdx];
- var ordinalMeta = dimInfo.ordinalMeta;
- return ordinalMeta;
- };
- DataStore2.prototype.getDimensionProperty = function(dimIndex) {
- var item = this._dimensions[dimIndex];
- return item && item.property;
- };
- DataStore2.prototype.appendData = function(data) {
- if (true) {
- assert(!this._indices, "appendData can only be called on raw data.");
- }
- var provider = this._provider;
- var start = this.count();
- provider.appendData(data);
- var end = provider.count();
- if (!provider.persistent) {
- end += start;
- }
- if (start < end) {
- this._initDataFromProvider(start, end, true);
- }
- return [start, end];
- };
- DataStore2.prototype.appendValues = function(values, minFillLen) {
- var chunks = this._chunks;
- var dimensions = this._dimensions;
- var dimLen = dimensions.length;
- var rawExtent = this._rawExtent;
- var start = this.count();
- var end = start + Math.max(values.length, minFillLen || 0);
- for (var i = 0; i < dimLen; i++) {
- var dim = dimensions[i];
- prepareStore(chunks, i, dim.type, end, true);
- }
- var emptyDataItem = [];
- for (var idx = start; idx < end; idx++) {
- var sourceIdx = idx - start;
- for (var dimIdx = 0; dimIdx < dimLen; dimIdx++) {
- var dim = dimensions[dimIdx];
- var val = defaultDimValueGetters.arrayRows.call(this, values[sourceIdx] || emptyDataItem, dim.property, sourceIdx, dimIdx);
- chunks[dimIdx][idx] = val;
- var dimRawExtent = rawExtent[dimIdx];
- val < dimRawExtent[0] && (dimRawExtent[0] = val);
- val > dimRawExtent[1] && (dimRawExtent[1] = val);
- }
- }
- this._rawCount = this._count = end;
- return {
- start,
- end
- };
- };
- DataStore2.prototype._initDataFromProvider = function(start, end, append) {
- var provider = this._provider;
- var chunks = this._chunks;
- var dimensions = this._dimensions;
- var dimLen = dimensions.length;
- var rawExtent = this._rawExtent;
- var dimNames = map(dimensions, function(dim2) {
- return dim2.property;
- });
- for (var i = 0; i < dimLen; i++) {
- var dim = dimensions[i];
- if (!rawExtent[i]) {
- rawExtent[i] = getInitialExtent();
- }
- prepareStore(chunks, i, dim.type, end, append);
- }
- if (provider.fillStorage) {
- provider.fillStorage(start, end, chunks, rawExtent);
- } else {
- var dataItem = [];
- for (var idx = start; idx < end; idx++) {
- dataItem = provider.getItem(idx, dataItem);
- for (var dimIdx = 0; dimIdx < dimLen; dimIdx++) {
- var dimStorage = chunks[dimIdx];
- var val = this._dimValueGetter(dataItem, dimNames[dimIdx], idx, dimIdx);
- dimStorage[idx] = val;
- var dimRawExtent = rawExtent[dimIdx];
- val < dimRawExtent[0] && (dimRawExtent[0] = val);
- val > dimRawExtent[1] && (dimRawExtent[1] = val);
- }
- }
- }
- if (!provider.persistent && provider.clean) {
- provider.clean();
- }
- this._rawCount = this._count = end;
- this._extent = [];
- };
- DataStore2.prototype.count = function() {
- return this._count;
- };
- DataStore2.prototype.get = function(dim, idx) {
- if (!(idx >= 0 && idx < this._count)) {
- return NaN;
- }
- var dimStore = this._chunks[dim];
- return dimStore ? dimStore[this.getRawIndex(idx)] : NaN;
- };
- DataStore2.prototype.getValues = function(dimensions, idx) {
- var values = [];
- var dimArr = [];
- if (idx == null) {
- idx = dimensions;
- dimensions = [];
- for (var i = 0; i < this._dimensions.length; i++) {
- dimArr.push(i);
- }
- } else {
- dimArr = dimensions;
- }
- for (var i = 0, len = dimArr.length; i < len; i++) {
- values.push(this.get(dimArr[i], idx));
- }
- return values;
- };
- DataStore2.prototype.getByRawIndex = function(dim, rawIdx) {
- if (!(rawIdx >= 0 && rawIdx < this._rawCount)) {
- return NaN;
- }
- var dimStore = this._chunks[dim];
- return dimStore ? dimStore[rawIdx] : NaN;
- };
- DataStore2.prototype.getSum = function(dim) {
- var dimData = this._chunks[dim];
- var sum = 0;
- if (dimData) {
- for (var i = 0, len = this.count(); i < len; i++) {
- var value = this.get(dim, i);
- if (!isNaN(value)) {
- sum += value;
- }
- }
- }
- return sum;
- };
- DataStore2.prototype.getMedian = function(dim) {
- var dimDataArray = [];
- this.each([dim], function(val) {
- if (!isNaN(val)) {
- dimDataArray.push(val);
- }
- });
- var sortedDimDataArray = dimDataArray.sort(function(a, b) {
- return a - b;
- });
- var len = this.count();
- return len === 0 ? 0 : len % 2 === 1 ? sortedDimDataArray[(len - 1) / 2] : (sortedDimDataArray[len / 2] + sortedDimDataArray[len / 2 - 1]) / 2;
- };
- DataStore2.prototype.indexOfRawIndex = function(rawIndex) {
- if (rawIndex >= this._rawCount || rawIndex < 0) {
- return -1;
- }
- if (!this._indices) {
- return rawIndex;
- }
- var indices = this._indices;
- var rawDataIndex = indices[rawIndex];
- if (rawDataIndex != null && rawDataIndex < this._count && rawDataIndex === rawIndex) {
- return rawIndex;
- }
- var left = 0;
- var right = this._count - 1;
- while (left <= right) {
- var mid = (left + right) / 2 | 0;
- if (indices[mid] < rawIndex) {
- left = mid + 1;
- } else if (indices[mid] > rawIndex) {
- right = mid - 1;
- } else {
- return mid;
- }
- }
- return -1;
- };
- DataStore2.prototype.indicesOfNearest = function(dim, value, maxDistance) {
- var chunks = this._chunks;
- var dimData = chunks[dim];
- var nearestIndices = [];
- if (!dimData) {
- return nearestIndices;
- }
- if (maxDistance == null) {
- maxDistance = Infinity;
- }
- var minDist = Infinity;
- var minDiff = -1;
- var nearestIndicesLen = 0;
- for (var i = 0, len = this.count(); i < len; i++) {
- var dataIndex = this.getRawIndex(i);
- var diff = value - dimData[dataIndex];
- var dist3 = Math.abs(diff);
- if (dist3 <= maxDistance) {
- if (dist3 < minDist || dist3 === minDist && diff >= 0 && minDiff < 0) {
- minDist = dist3;
- minDiff = diff;
- nearestIndicesLen = 0;
- }
- if (diff === minDiff) {
- nearestIndices[nearestIndicesLen++] = i;
- }
- }
- }
- nearestIndices.length = nearestIndicesLen;
- return nearestIndices;
- };
- DataStore2.prototype.getIndices = function() {
- var newIndices;
- var indices = this._indices;
- if (indices) {
- var Ctor = indices.constructor;
- var thisCount = this._count;
- if (Ctor === Array) {
- newIndices = new Ctor(thisCount);
- for (var i = 0; i < thisCount; i++) {
- newIndices[i] = indices[i];
- }
- } else {
- newIndices = new Ctor(indices.buffer, 0, thisCount);
- }
- } else {
- var Ctor = getIndicesCtor(this._rawCount);
- newIndices = new Ctor(this.count());
- for (var i = 0; i < newIndices.length; i++) {
- newIndices[i] = i;
- }
- }
- return newIndices;
- };
- DataStore2.prototype.filter = function(dims, cb) {
- if (!this._count) {
- return this;
- }
- var newStore = this.clone();
- var count = newStore.count();
- var Ctor = getIndicesCtor(newStore._rawCount);
- var newIndices = new Ctor(count);
- var value = [];
- var dimSize = dims.length;
- var offset = 0;
- var dim0 = dims[0];
- var chunks = newStore._chunks;
- for (var i = 0; i < count; i++) {
- var keep = void 0;
- var rawIdx = newStore.getRawIndex(i);
- if (dimSize === 0) {
- keep = cb(i);
- } else if (dimSize === 1) {
- var val = chunks[dim0][rawIdx];
- keep = cb(val, i);
- } else {
- var k = 0;
- for (; k < dimSize; k++) {
- value[k] = chunks[dims[k]][rawIdx];
- }
- value[k] = i;
- keep = cb.apply(null, value);
- }
- if (keep) {
- newIndices[offset++] = rawIdx;
- }
- }
- if (offset < count) {
- newStore._indices = newIndices;
- }
- newStore._count = offset;
- newStore._extent = [];
- newStore._updateGetRawIdx();
- return newStore;
- };
- DataStore2.prototype.selectRange = function(range) {
- var newStore = this.clone();
- var len = newStore._count;
- if (!len) {
- return this;
- }
- var dims = keys(range);
- var dimSize = dims.length;
- if (!dimSize) {
- return this;
- }
- var originalCount = newStore.count();
- var Ctor = getIndicesCtor(newStore._rawCount);
- var newIndices = new Ctor(originalCount);
- var offset = 0;
- var dim0 = dims[0];
- var min2 = range[dim0][0];
- var max2 = range[dim0][1];
- var storeArr = newStore._chunks;
- var quickFinished = false;
- if (!newStore._indices) {
- var idx = 0;
- if (dimSize === 1) {
- var dimStorage = storeArr[dims[0]];
- for (var i = 0; i < len; i++) {
- var val = dimStorage[i];
- if (val >= min2 && val <= max2 || isNaN(val)) {
- newIndices[offset++] = idx;
- }
- idx++;
- }
- quickFinished = true;
- } else if (dimSize === 2) {
- var dimStorage = storeArr[dims[0]];
- var dimStorage2 = storeArr[dims[1]];
- var min22 = range[dims[1]][0];
- var max22 = range[dims[1]][1];
- for (var i = 0; i < len; i++) {
- var val = dimStorage[i];
- var val2 = dimStorage2[i];
- if ((val >= min2 && val <= max2 || isNaN(val)) && (val2 >= min22 && val2 <= max22 || isNaN(val2))) {
- newIndices[offset++] = idx;
- }
- idx++;
- }
- quickFinished = true;
- }
- }
- if (!quickFinished) {
- if (dimSize === 1) {
- for (var i = 0; i < originalCount; i++) {
- var rawIndex = newStore.getRawIndex(i);
- var val = storeArr[dims[0]][rawIndex];
- if (val >= min2 && val <= max2 || isNaN(val)) {
- newIndices[offset++] = rawIndex;
- }
- }
- } else {
- for (var i = 0; i < originalCount; i++) {
- var keep = true;
- var rawIndex = newStore.getRawIndex(i);
- for (var k = 0; k < dimSize; k++) {
- var dimk = dims[k];
- var val = storeArr[dimk][rawIndex];
- if (val < range[dimk][0] || val > range[dimk][1]) {
- keep = false;
- }
- }
- if (keep) {
- newIndices[offset++] = newStore.getRawIndex(i);
- }
- }
- }
- }
- if (offset < originalCount) {
- newStore._indices = newIndices;
- }
- newStore._count = offset;
- newStore._extent = [];
- newStore._updateGetRawIdx();
- return newStore;
- };
- DataStore2.prototype.map = function(dims, cb) {
- var target = this.clone(dims);
- this._updateDims(target, dims, cb);
- return target;
- };
- DataStore2.prototype.modify = function(dims, cb) {
- this._updateDims(this, dims, cb);
- };
- DataStore2.prototype._updateDims = function(target, dims, cb) {
- var targetChunks = target._chunks;
- var tmpRetValue = [];
- var dimSize = dims.length;
- var dataCount = target.count();
- var values = [];
- var rawExtent = target._rawExtent;
- for (var i = 0; i < dims.length; i++) {
- rawExtent[dims[i]] = getInitialExtent();
- }
- for (var dataIndex = 0; dataIndex < dataCount; dataIndex++) {
- var rawIndex = target.getRawIndex(dataIndex);
- for (var k = 0; k < dimSize; k++) {
- values[k] = targetChunks[dims[k]][rawIndex];
- }
- values[dimSize] = dataIndex;
- var retValue = cb && cb.apply(null, values);
- if (retValue != null) {
- if (typeof retValue !== "object") {
- tmpRetValue[0] = retValue;
- retValue = tmpRetValue;
- }
- for (var i = 0; i < retValue.length; i++) {
- var dim = dims[i];
- var val = retValue[i];
- var rawExtentOnDim = rawExtent[dim];
- var dimStore = targetChunks[dim];
- if (dimStore) {
- dimStore[rawIndex] = val;
- }
- if (val < rawExtentOnDim[0]) {
- rawExtentOnDim[0] = val;
- }
- if (val > rawExtentOnDim[1]) {
- rawExtentOnDim[1] = val;
- }
- }
- }
- }
- };
- DataStore2.prototype.lttbDownSample = function(valueDimension, rate) {
- var target = this.clone([valueDimension], true);
- var targetStorage = target._chunks;
- var dimStore = targetStorage[valueDimension];
- var len = this.count();
- var sampledIndex = 0;
- var frameSize = Math.floor(1 / rate);
- var currentRawIndex = this.getRawIndex(0);
- var maxArea;
- var area;
- var nextRawIndex;
- var newIndices = new (getIndicesCtor(this._rawCount))(Math.min((Math.ceil(len / frameSize) + 2) * 2, len));
- newIndices[sampledIndex++] = currentRawIndex;
- for (var i = 1; i < len - 1; i += frameSize) {
- var nextFrameStart = Math.min(i + frameSize, len - 1);
- var nextFrameEnd = Math.min(i + frameSize * 2, len);
- var avgX = (nextFrameEnd + nextFrameStart) / 2;
- var avgY = 0;
- for (var idx = nextFrameStart; idx < nextFrameEnd; idx++) {
- var rawIndex = this.getRawIndex(idx);
- var y = dimStore[rawIndex];
- if (isNaN(y)) {
- continue;
- }
- avgY += y;
- }
- avgY /= nextFrameEnd - nextFrameStart;
- var frameStart = i;
- var frameEnd = Math.min(i + frameSize, len);
- var pointAX = i - 1;
- var pointAY = dimStore[currentRawIndex];
- maxArea = -1;
- nextRawIndex = frameStart;
- var firstNaNIndex = -1;
- var countNaN = 0;
- for (var idx = frameStart; idx < frameEnd; idx++) {
- var rawIndex = this.getRawIndex(idx);
- var y = dimStore[rawIndex];
- if (isNaN(y)) {
- countNaN++;
- if (firstNaNIndex < 0) {
- firstNaNIndex = rawIndex;
- }
- continue;
- }
- area = Math.abs((pointAX - avgX) * (y - pointAY) - (pointAX - idx) * (avgY - pointAY));
- if (area > maxArea) {
- maxArea = area;
- nextRawIndex = rawIndex;
- }
- }
- if (countNaN > 0 && countNaN < frameEnd - frameStart) {
- newIndices[sampledIndex++] = Math.min(firstNaNIndex, nextRawIndex);
- nextRawIndex = Math.max(firstNaNIndex, nextRawIndex);
- }
- newIndices[sampledIndex++] = nextRawIndex;
- currentRawIndex = nextRawIndex;
- }
- newIndices[sampledIndex++] = this.getRawIndex(len - 1);
- target._count = sampledIndex;
- target._indices = newIndices;
- target.getRawIndex = this._getRawIdx;
- return target;
- };
- DataStore2.prototype.downSample = function(dimension, rate, sampleValue, sampleIndex) {
- var target = this.clone([dimension], true);
- var targetStorage = target._chunks;
- var frameValues = [];
- var frameSize = Math.floor(1 / rate);
- var dimStore = targetStorage[dimension];
- var len = this.count();
- var rawExtentOnDim = target._rawExtent[dimension] = getInitialExtent();
- var newIndices = new (getIndicesCtor(this._rawCount))(Math.ceil(len / frameSize));
- var offset = 0;
- for (var i = 0; i < len; i += frameSize) {
- if (frameSize > len - i) {
- frameSize = len - i;
- frameValues.length = frameSize;
- }
- for (var k = 0; k < frameSize; k++) {
- var dataIdx = this.getRawIndex(i + k);
- frameValues[k] = dimStore[dataIdx];
- }
- var value = sampleValue(frameValues);
- var sampleFrameIdx = this.getRawIndex(Math.min(i + sampleIndex(frameValues, value) || 0, len - 1));
- dimStore[sampleFrameIdx] = value;
- if (value < rawExtentOnDim[0]) {
- rawExtentOnDim[0] = value;
- }
- if (value > rawExtentOnDim[1]) {
- rawExtentOnDim[1] = value;
- }
- newIndices[offset++] = sampleFrameIdx;
- }
- target._count = offset;
- target._indices = newIndices;
- target._updateGetRawIdx();
- return target;
- };
- DataStore2.prototype.each = function(dims, cb) {
- if (!this._count) {
- return;
- }
- var dimSize = dims.length;
- var chunks = this._chunks;
- for (var i = 0, len = this.count(); i < len; i++) {
- var rawIdx = this.getRawIndex(i);
- switch (dimSize) {
- case 0:
- cb(i);
- break;
- case 1:
- cb(chunks[dims[0]][rawIdx], i);
- break;
- case 2:
- cb(chunks[dims[0]][rawIdx], chunks[dims[1]][rawIdx], i);
- break;
- default:
- var k = 0;
- var value = [];
- for (; k < dimSize; k++) {
- value[k] = chunks[dims[k]][rawIdx];
- }
- value[k] = i;
- cb.apply(null, value);
- }
- }
- };
- DataStore2.prototype.getDataExtent = function(dim) {
- var dimData = this._chunks[dim];
- var initialExtent = getInitialExtent();
- if (!dimData) {
- return initialExtent;
- }
- var currEnd = this.count();
- var useRaw = !this._indices;
- var dimExtent;
- if (useRaw) {
- return this._rawExtent[dim].slice();
- }
- dimExtent = this._extent[dim];
- if (dimExtent) {
- return dimExtent.slice();
- }
- dimExtent = initialExtent;
- var min2 = dimExtent[0];
- var max2 = dimExtent[1];
- for (var i = 0; i < currEnd; i++) {
- var rawIdx = this.getRawIndex(i);
- var value = dimData[rawIdx];
- value < min2 && (min2 = value);
- value > max2 && (max2 = value);
- }
- dimExtent = [min2, max2];
- this._extent[dim] = dimExtent;
- return dimExtent;
- };
- DataStore2.prototype.getRawDataItem = function(idx) {
- var rawIdx = this.getRawIndex(idx);
- if (!this._provider.persistent) {
- var val = [];
- var chunks = this._chunks;
- for (var i = 0; i < chunks.length; i++) {
- val.push(chunks[i][rawIdx]);
- }
- return val;
- } else {
- return this._provider.getItem(rawIdx);
- }
- };
- DataStore2.prototype.clone = function(clonedDims, ignoreIndices) {
- var target = new DataStore2();
- var chunks = this._chunks;
- var clonedDimsMap = clonedDims && reduce(clonedDims, function(obj, dimIdx) {
- obj[dimIdx] = true;
- return obj;
- }, {});
- if (clonedDimsMap) {
- for (var i = 0; i < chunks.length; i++) {
- target._chunks[i] = !clonedDimsMap[i] ? chunks[i] : cloneChunk(chunks[i]);
- }
- } else {
- target._chunks = chunks;
- }
- this._copyCommonProps(target);
- if (!ignoreIndices) {
- target._indices = this._cloneIndices();
- }
- target._updateGetRawIdx();
- return target;
- };
- DataStore2.prototype._copyCommonProps = function(target) {
- target._count = this._count;
- target._rawCount = this._rawCount;
- target._provider = this._provider;
- target._dimensions = this._dimensions;
- target._extent = clone(this._extent);
- target._rawExtent = clone(this._rawExtent);
- };
- DataStore2.prototype._cloneIndices = function() {
- if (this._indices) {
- var Ctor = this._indices.constructor;
- var indices = void 0;
- if (Ctor === Array) {
- var thisCount = this._indices.length;
- indices = new Ctor(thisCount);
- for (var i = 0; i < thisCount; i++) {
- indices[i] = this._indices[i];
- }
- } else {
- indices = new Ctor(this._indices);
- }
- return indices;
- }
- return null;
- };
- DataStore2.prototype._getRawIdxIdentity = function(idx) {
- return idx;
- };
- DataStore2.prototype._getRawIdx = function(idx) {
- if (idx < this._count && idx >= 0) {
- return this._indices[idx];
- }
- return -1;
- };
- DataStore2.prototype._updateGetRawIdx = function() {
- this.getRawIndex = this._indices ? this._getRawIdx : this._getRawIdxIdentity;
- };
- DataStore2.internalField = function() {
- function getDimValueSimply(dataItem, property, dataIndex, dimIndex) {
- return parseDataValue(dataItem[dimIndex], this._dimensions[dimIndex]);
- }
- defaultDimValueGetters = {
- arrayRows: getDimValueSimply,
- objectRows: function(dataItem, property, dataIndex, dimIndex) {
- return parseDataValue(dataItem[property], this._dimensions[dimIndex]);
- },
- keyedColumns: getDimValueSimply,
- original: function(dataItem, property, dataIndex, dimIndex) {
- var value = dataItem && (dataItem.value == null ? dataItem : dataItem.value);
- return parseDataValue(value instanceof Array ? value[dimIndex] : value, this._dimensions[dimIndex]);
- },
- typedArray: function(dataItem, property, dataIndex, dimIndex) {
- return dataItem[dimIndex];
- }
- };
- }();
- return DataStore2;
- }();
- var DataStore_default = DataStore;
- // node_modules/echarts/lib/data/helper/SeriesDataSchema.js
- init_define_APP_INFO();
- var inner = makeInner();
- var dimTypeShort = {
- float: "f",
- int: "i",
- ordinal: "o",
- number: "n",
- time: "t"
- };
- var SeriesDataSchema = function() {
- function SeriesDataSchema2(opt) {
- this.dimensions = opt.dimensions;
- this._dimOmitted = opt.dimensionOmitted;
- this.source = opt.source;
- this._fullDimCount = opt.fullDimensionCount;
- this._updateDimOmitted(opt.dimensionOmitted);
- }
- SeriesDataSchema2.prototype.isDimensionOmitted = function() {
- return this._dimOmitted;
- };
- SeriesDataSchema2.prototype._updateDimOmitted = function(dimensionOmitted) {
- this._dimOmitted = dimensionOmitted;
- if (!dimensionOmitted) {
- return;
- }
- if (!this._dimNameMap) {
- this._dimNameMap = ensureSourceDimNameMap(this.source);
- }
- };
- SeriesDataSchema2.prototype.getSourceDimensionIndex = function(dimName) {
- return retrieve2(this._dimNameMap.get(dimName), -1);
- };
- SeriesDataSchema2.prototype.getSourceDimension = function(dimIndex) {
- var dimensionsDefine = this.source.dimensionsDefine;
- if (dimensionsDefine) {
- return dimensionsDefine[dimIndex];
- }
- };
- SeriesDataSchema2.prototype.makeStoreSchema = function() {
- var dimCount = this._fullDimCount;
- var willRetrieveDataByName = shouldRetrieveDataByName(this.source);
- var makeHashStrict = !shouldOmitUnusedDimensions(dimCount);
- var dimHash = "";
- var dims = [];
- for (var fullDimIdx = 0, seriesDimIdx = 0; fullDimIdx < dimCount; fullDimIdx++) {
- var property = void 0;
- var type = void 0;
- var ordinalMeta = void 0;
- var seriesDimDef = this.dimensions[seriesDimIdx];
- if (seriesDimDef && seriesDimDef.storeDimIndex === fullDimIdx) {
- property = willRetrieveDataByName ? seriesDimDef.name : null;
- type = seriesDimDef.type;
- ordinalMeta = seriesDimDef.ordinalMeta;
- seriesDimIdx++;
- } else {
- var sourceDimDef = this.getSourceDimension(fullDimIdx);
- if (sourceDimDef) {
- property = willRetrieveDataByName ? sourceDimDef.name : null;
- type = sourceDimDef.type;
- }
- }
- dims.push({
- property,
- type,
- ordinalMeta
- });
- if (willRetrieveDataByName && property != null && (!seriesDimDef || !seriesDimDef.isCalculationCoord)) {
- dimHash += makeHashStrict ? property.replace(/\`/g, "`1").replace(/\$/g, "`2") : property;
- }
- dimHash += "$";
- dimHash += dimTypeShort[type] || "f";
- if (ordinalMeta) {
- dimHash += ordinalMeta.uid;
- }
- dimHash += "$";
- }
- var source = this.source;
- var hash = [source.seriesLayoutBy, source.startIndex, dimHash].join("$$");
- return {
- dimensions: dims,
- hash
- };
- };
- SeriesDataSchema2.prototype.makeOutputDimensionNames = function() {
- var result = [];
- for (var fullDimIdx = 0, seriesDimIdx = 0; fullDimIdx < this._fullDimCount; fullDimIdx++) {
- var name_1 = void 0;
- var seriesDimDef = this.dimensions[seriesDimIdx];
- if (seriesDimDef && seriesDimDef.storeDimIndex === fullDimIdx) {
- if (!seriesDimDef.isCalculationCoord) {
- name_1 = seriesDimDef.name;
- }
- seriesDimIdx++;
- } else {
- var sourceDimDef = this.getSourceDimension(fullDimIdx);
- if (sourceDimDef) {
- name_1 = sourceDimDef.name;
- }
- }
- result.push(name_1);
- }
- return result;
- };
- SeriesDataSchema2.prototype.appendCalculationDimension = function(dimDef) {
- this.dimensions.push(dimDef);
- dimDef.isCalculationCoord = true;
- this._fullDimCount++;
- this._updateDimOmitted(true);
- };
- return SeriesDataSchema2;
- }();
- function isSeriesDataSchema(schema) {
- return schema instanceof SeriesDataSchema;
- }
- function createDimNameMap(dimsDef) {
- var dataDimNameMap = createHashMap();
- for (var i = 0; i < (dimsDef || []).length; i++) {
- var dimDefItemRaw = dimsDef[i];
- var userDimName = isObject(dimDefItemRaw) ? dimDefItemRaw.name : dimDefItemRaw;
- if (userDimName != null && dataDimNameMap.get(userDimName) == null) {
- dataDimNameMap.set(userDimName, i);
- }
- }
- return dataDimNameMap;
- }
- function ensureSourceDimNameMap(source) {
- var innerSource = inner(source);
- return innerSource.dimNameMap || (innerSource.dimNameMap = createDimNameMap(source.dimensionsDefine));
- }
- function shouldOmitUnusedDimensions(dimCount) {
- return dimCount > 30;
- }
- // node_modules/echarts/lib/data/SeriesData.js
- var isObject2 = isObject;
- var map2 = map;
- var CtorInt32Array2 = typeof Int32Array === "undefined" ? Array : Int32Array;
- var ID_PREFIX = "e\0\0";
- var INDEX_NOT_FOUND = -1;
- var TRANSFERABLE_PROPERTIES = ["hasItemOption", "_nameList", "_idList", "_invertedIndicesMap", "_dimSummary", "userOutput", "_rawData", "_dimValueGetter", "_nameDimIdx", "_idDimIdx", "_nameRepeatCount"];
- var CLONE_PROPERTIES = ["_approximateExtent"];
- var prepareInvertedIndex;
- var getId;
- var getIdNameFromStore;
- var normalizeDimensions;
- var transferProperties;
- var cloneListForMapAndSample;
- var makeIdFromName;
- var SeriesData = function() {
- function SeriesData2(dimensionsInput, hostModel) {
- this.type = "list";
- this._dimOmitted = false;
- this._nameList = [];
- this._idList = [];
- this._visual = {};
- this._layout = {};
- this._itemVisuals = [];
- this._itemLayouts = [];
- this._graphicEls = [];
- this._approximateExtent = {};
- this._calculationInfo = {};
- this.hasItemOption = false;
- this.TRANSFERABLE_METHODS = ["cloneShallow", "downSample", "lttbDownSample", "map"];
- this.CHANGABLE_METHODS = ["filterSelf", "selectRange"];
- this.DOWNSAMPLE_METHODS = ["downSample", "lttbDownSample"];
- var dimensions;
- var assignStoreDimIdx = false;
- if (isSeriesDataSchema(dimensionsInput)) {
- dimensions = dimensionsInput.dimensions;
- this._dimOmitted = dimensionsInput.isDimensionOmitted();
- this._schema = dimensionsInput;
- } else {
- assignStoreDimIdx = true;
- dimensions = dimensionsInput;
- }
- dimensions = dimensions || ["x", "y"];
- var dimensionInfos = {};
- var dimensionNames = [];
- var invertedIndicesMap = {};
- var needsHasOwn = false;
- var emptyObj = {};
- for (var i = 0; i < dimensions.length; i++) {
- var dimInfoInput = dimensions[i];
- var dimensionInfo = isString(dimInfoInput) ? new SeriesDimensionDefine_default({
- name: dimInfoInput
- }) : !(dimInfoInput instanceof SeriesDimensionDefine_default) ? new SeriesDimensionDefine_default(dimInfoInput) : dimInfoInput;
- var dimensionName = dimensionInfo.name;
- dimensionInfo.type = dimensionInfo.type || "float";
- if (!dimensionInfo.coordDim) {
- dimensionInfo.coordDim = dimensionName;
- dimensionInfo.coordDimIndex = 0;
- }
- var otherDims = dimensionInfo.otherDims = dimensionInfo.otherDims || {};
- dimensionNames.push(dimensionName);
- dimensionInfos[dimensionName] = dimensionInfo;
- if (emptyObj[dimensionName] != null) {
- needsHasOwn = true;
- }
- if (dimensionInfo.createInvertedIndices) {
- invertedIndicesMap[dimensionName] = [];
- }
- if (otherDims.itemName === 0) {
- this._nameDimIdx = i;
- }
- if (otherDims.itemId === 0) {
- this._idDimIdx = i;
- }
- if (true) {
- assert(assignStoreDimIdx || dimensionInfo.storeDimIndex >= 0);
- }
- if (assignStoreDimIdx) {
- dimensionInfo.storeDimIndex = i;
- }
- }
- this.dimensions = dimensionNames;
- this._dimInfos = dimensionInfos;
- this._initGetDimensionInfo(needsHasOwn);
- this.hostModel = hostModel;
- this._invertedIndicesMap = invertedIndicesMap;
- if (this._dimOmitted) {
- var dimIdxToName_1 = this._dimIdxToName = createHashMap();
- each(dimensionNames, function(dimName) {
- dimIdxToName_1.set(dimensionInfos[dimName].storeDimIndex, dimName);
- });
- }
- }
- SeriesData2.prototype.getDimension = function(dim) {
- var dimIdx = this._recognizeDimIndex(dim);
- if (dimIdx == null) {
- return dim;
- }
- dimIdx = dim;
- if (!this._dimOmitted) {
- return this.dimensions[dimIdx];
- }
- var dimName = this._dimIdxToName.get(dimIdx);
- if (dimName != null) {
- return dimName;
- }
- var sourceDimDef = this._schema.getSourceDimension(dimIdx);
- if (sourceDimDef) {
- return sourceDimDef.name;
- }
- };
- SeriesData2.prototype.getDimensionIndex = function(dim) {
- var dimIdx = this._recognizeDimIndex(dim);
- if (dimIdx != null) {
- return dimIdx;
- }
- if (dim == null) {
- return -1;
- }
- var dimInfo = this._getDimInfo(dim);
- return dimInfo ? dimInfo.storeDimIndex : this._dimOmitted ? this._schema.getSourceDimensionIndex(dim) : -1;
- };
- SeriesData2.prototype._recognizeDimIndex = function(dim) {
- if (isNumber(dim) || dim != null && !isNaN(dim) && !this._getDimInfo(dim) && (!this._dimOmitted || this._schema.getSourceDimensionIndex(dim) < 0)) {
- return +dim;
- }
- };
- SeriesData2.prototype._getStoreDimIndex = function(dim) {
- var dimIdx = this.getDimensionIndex(dim);
- if (true) {
- if (dimIdx == null) {
- throw new Error("Unkown dimension " + dim);
- }
- }
- return dimIdx;
- };
- SeriesData2.prototype.getDimensionInfo = function(dim) {
- return this._getDimInfo(this.getDimension(dim));
- };
- SeriesData2.prototype._initGetDimensionInfo = function(needsHasOwn) {
- var dimensionInfos = this._dimInfos;
- this._getDimInfo = needsHasOwn ? function(dimName) {
- return dimensionInfos.hasOwnProperty(dimName) ? dimensionInfos[dimName] : void 0;
- } : function(dimName) {
- return dimensionInfos[dimName];
- };
- };
- SeriesData2.prototype.getDimensionsOnCoord = function() {
- return this._dimSummary.dataDimsOnCoord.slice();
- };
- SeriesData2.prototype.mapDimension = function(coordDim, idx) {
- var dimensionsSummary = this._dimSummary;
- if (idx == null) {
- return dimensionsSummary.encodeFirstDimNotExtra[coordDim];
- }
- var dims = dimensionsSummary.encode[coordDim];
- return dims ? dims[idx] : null;
- };
- SeriesData2.prototype.mapDimensionsAll = function(coordDim) {
- var dimensionsSummary = this._dimSummary;
- var dims = dimensionsSummary.encode[coordDim];
- return (dims || []).slice();
- };
- SeriesData2.prototype.getStore = function() {
- return this._store;
- };
- SeriesData2.prototype.initData = function(data, nameList, dimValueGetter) {
- var _this = this;
- var store;
- if (data instanceof DataStore_default) {
- store = data;
- }
- if (!store) {
- var dimensions = this.dimensions;
- var provider = isSourceInstance(data) || isArrayLike(data) ? new DefaultDataProvider(data, dimensions.length) : data;
- store = new DataStore_default();
- var dimensionInfos = map2(dimensions, function(dimName) {
- return {
- type: _this._dimInfos[dimName].type,
- property: dimName
- };
- });
- store.initData(provider, dimensionInfos, dimValueGetter);
- }
- this._store = store;
- this._nameList = (nameList || []).slice();
- this._idList = [];
- this._nameRepeatCount = {};
- this._doInit(0, store.count());
- this._dimSummary = summarizeDimensions(this, this._schema);
- this.userOutput = this._dimSummary.userOutput;
- };
- SeriesData2.prototype.appendData = function(data) {
- var range = this._store.appendData(data);
- this._doInit(range[0], range[1]);
- };
- SeriesData2.prototype.appendValues = function(values, names) {
- var _a2 = this._store.appendValues(values, names.length), start = _a2.start, end = _a2.end;
- var shouldMakeIdFromName = this._shouldMakeIdFromName();
- this._updateOrdinalMeta();
- if (names) {
- for (var idx = start; idx < end; idx++) {
- var sourceIdx = idx - start;
- this._nameList[idx] = names[sourceIdx];
- if (shouldMakeIdFromName) {
- makeIdFromName(this, idx);
- }
- }
- }
- };
- SeriesData2.prototype._updateOrdinalMeta = function() {
- var store = this._store;
- var dimensions = this.dimensions;
- for (var i = 0; i < dimensions.length; i++) {
- var dimInfo = this._dimInfos[dimensions[i]];
- if (dimInfo.ordinalMeta) {
- store.collectOrdinalMeta(dimInfo.storeDimIndex, dimInfo.ordinalMeta);
- }
- }
- };
- SeriesData2.prototype._shouldMakeIdFromName = function() {
- var provider = this._store.getProvider();
- return this._idDimIdx == null && provider.getSource().sourceFormat !== SOURCE_FORMAT_TYPED_ARRAY && !provider.fillStorage;
- };
- SeriesData2.prototype._doInit = function(start, end) {
- if (start >= end) {
- return;
- }
- var store = this._store;
- var provider = store.getProvider();
- this._updateOrdinalMeta();
- var nameList = this._nameList;
- var idList = this._idList;
- var sourceFormat = provider.getSource().sourceFormat;
- var isFormatOriginal = sourceFormat === SOURCE_FORMAT_ORIGINAL;
- if (isFormatOriginal && !provider.pure) {
- var sharedDataItem = [];
- for (var idx = start; idx < end; idx++) {
- var dataItem = provider.getItem(idx, sharedDataItem);
- if (!this.hasItemOption && isDataItemOption(dataItem)) {
- this.hasItemOption = true;
- }
- if (dataItem) {
- var itemName = dataItem.name;
- if (nameList[idx] == null && itemName != null) {
- nameList[idx] = convertOptionIdName(itemName, null);
- }
- var itemId = dataItem.id;
- if (idList[idx] == null && itemId != null) {
- idList[idx] = convertOptionIdName(itemId, null);
- }
- }
- }
- }
- if (this._shouldMakeIdFromName()) {
- for (var idx = start; idx < end; idx++) {
- makeIdFromName(this, idx);
- }
- }
- prepareInvertedIndex(this);
- };
- SeriesData2.prototype.getApproximateExtent = function(dim) {
- return this._approximateExtent[dim] || this._store.getDataExtent(this._getStoreDimIndex(dim));
- };
- SeriesData2.prototype.setApproximateExtent = function(extent3, dim) {
- dim = this.getDimension(dim);
- this._approximateExtent[dim] = extent3.slice();
- };
- SeriesData2.prototype.getCalculationInfo = function(key) {
- return this._calculationInfo[key];
- };
- SeriesData2.prototype.setCalculationInfo = function(key, value) {
- isObject2(key) ? extend(this._calculationInfo, key) : this._calculationInfo[key] = value;
- };
- SeriesData2.prototype.getName = function(idx) {
- var rawIndex = this.getRawIndex(idx);
- var name = this._nameList[rawIndex];
- if (name == null && this._nameDimIdx != null) {
- name = getIdNameFromStore(this, this._nameDimIdx, rawIndex);
- }
- if (name == null) {
- name = "";
- }
- return name;
- };
- SeriesData2.prototype._getCategory = function(dimIdx, idx) {
- var ordinal = this._store.get(dimIdx, idx);
- var ordinalMeta = this._store.getOrdinalMeta(dimIdx);
- if (ordinalMeta) {
- return ordinalMeta.categories[ordinal];
- }
- return ordinal;
- };
- SeriesData2.prototype.getId = function(idx) {
- return getId(this, this.getRawIndex(idx));
- };
- SeriesData2.prototype.count = function() {
- return this._store.count();
- };
- SeriesData2.prototype.get = function(dim, idx) {
- var store = this._store;
- var dimInfo = this._dimInfos[dim];
- if (dimInfo) {
- return store.get(dimInfo.storeDimIndex, idx);
- }
- };
- SeriesData2.prototype.getByRawIndex = function(dim, rawIdx) {
- var store = this._store;
- var dimInfo = this._dimInfos[dim];
- if (dimInfo) {
- return store.getByRawIndex(dimInfo.storeDimIndex, rawIdx);
- }
- };
- SeriesData2.prototype.getIndices = function() {
- return this._store.getIndices();
- };
- SeriesData2.prototype.getDataExtent = function(dim) {
- return this._store.getDataExtent(this._getStoreDimIndex(dim));
- };
- SeriesData2.prototype.getSum = function(dim) {
- return this._store.getSum(this._getStoreDimIndex(dim));
- };
- SeriesData2.prototype.getMedian = function(dim) {
- return this._store.getMedian(this._getStoreDimIndex(dim));
- };
- SeriesData2.prototype.getValues = function(dimensions, idx) {
- var _this = this;
- var store = this._store;
- return isArray(dimensions) ? store.getValues(map2(dimensions, function(dim) {
- return _this._getStoreDimIndex(dim);
- }), idx) : store.getValues(dimensions);
- };
- SeriesData2.prototype.hasValue = function(idx) {
- var dataDimIndicesOnCoord = this._dimSummary.dataDimIndicesOnCoord;
- for (var i = 0, len = dataDimIndicesOnCoord.length; i < len; i++) {
- if (isNaN(this._store.get(dataDimIndicesOnCoord[i], idx))) {
- return false;
- }
- }
- return true;
- };
- SeriesData2.prototype.indexOfName = function(name) {
- for (var i = 0, len = this._store.count(); i < len; i++) {
- if (this.getName(i) === name) {
- return i;
- }
- }
- return -1;
- };
- SeriesData2.prototype.getRawIndex = function(idx) {
- return this._store.getRawIndex(idx);
- };
- SeriesData2.prototype.indexOfRawIndex = function(rawIndex) {
- return this._store.indexOfRawIndex(rawIndex);
- };
- SeriesData2.prototype.rawIndexOf = function(dim, value) {
- var invertedIndices = dim && this._invertedIndicesMap[dim];
- if (true) {
- if (!invertedIndices) {
- throw new Error("Do not supported yet");
- }
- }
- var rawIndex = invertedIndices[value];
- if (rawIndex == null || isNaN(rawIndex)) {
- return INDEX_NOT_FOUND;
- }
- return rawIndex;
- };
- SeriesData2.prototype.indicesOfNearest = function(dim, value, maxDistance) {
- return this._store.indicesOfNearest(this._getStoreDimIndex(dim), value, maxDistance);
- };
- SeriesData2.prototype.each = function(dims, cb, ctx) {
- "use strict";
- if (isFunction(dims)) {
- ctx = cb;
- cb = dims;
- dims = [];
- }
- var fCtx = ctx || this;
- var dimIndices = map2(normalizeDimensions(dims), this._getStoreDimIndex, this);
- this._store.each(dimIndices, fCtx ? bind(cb, fCtx) : cb);
- };
- SeriesData2.prototype.filterSelf = function(dims, cb, ctx) {
- "use strict";
- if (isFunction(dims)) {
- ctx = cb;
- cb = dims;
- dims = [];
- }
- var fCtx = ctx || this;
- var dimIndices = map2(normalizeDimensions(dims), this._getStoreDimIndex, this);
- this._store = this._store.filter(dimIndices, fCtx ? bind(cb, fCtx) : cb);
- return this;
- };
- SeriesData2.prototype.selectRange = function(range) {
- "use strict";
- var _this = this;
- var innerRange = {};
- var dims = keys(range);
- var dimIndices = [];
- each(dims, function(dim) {
- var dimIdx = _this._getStoreDimIndex(dim);
- innerRange[dimIdx] = range[dim];
- dimIndices.push(dimIdx);
- });
- this._store = this._store.selectRange(innerRange);
- return this;
- };
- SeriesData2.prototype.mapArray = function(dims, cb, ctx) {
- "use strict";
- if (isFunction(dims)) {
- ctx = cb;
- cb = dims;
- dims = [];
- }
- ctx = ctx || this;
- var result = [];
- this.each(dims, function() {
- result.push(cb && cb.apply(this, arguments));
- }, ctx);
- return result;
- };
- SeriesData2.prototype.map = function(dims, cb, ctx, ctxCompat) {
- "use strict";
- var fCtx = ctx || ctxCompat || this;
- var dimIndices = map2(normalizeDimensions(dims), this._getStoreDimIndex, this);
- var list = cloneListForMapAndSample(this);
- list._store = this._store.map(dimIndices, fCtx ? bind(cb, fCtx) : cb);
- return list;
- };
- SeriesData2.prototype.modify = function(dims, cb, ctx, ctxCompat) {
- var _this = this;
- var fCtx = ctx || ctxCompat || this;
- if (true) {
- each(normalizeDimensions(dims), function(dim) {
- var dimInfo = _this.getDimensionInfo(dim);
- if (!dimInfo.isCalculationCoord) {
- console.error("Danger: only stack dimension can be modified");
- }
- });
- }
- var dimIndices = map2(normalizeDimensions(dims), this._getStoreDimIndex, this);
- this._store.modify(dimIndices, fCtx ? bind(cb, fCtx) : cb);
- };
- SeriesData2.prototype.downSample = function(dimension, rate, sampleValue, sampleIndex) {
- var list = cloneListForMapAndSample(this);
- list._store = this._store.downSample(this._getStoreDimIndex(dimension), rate, sampleValue, sampleIndex);
- return list;
- };
- SeriesData2.prototype.lttbDownSample = function(valueDimension, rate) {
- var list = cloneListForMapAndSample(this);
- list._store = this._store.lttbDownSample(this._getStoreDimIndex(valueDimension), rate);
- return list;
- };
- SeriesData2.prototype.getRawDataItem = function(idx) {
- return this._store.getRawDataItem(idx);
- };
- SeriesData2.prototype.getItemModel = function(idx) {
- var hostModel = this.hostModel;
- var dataItem = this.getRawDataItem(idx);
- return new Model_default(dataItem, hostModel, hostModel && hostModel.ecModel);
- };
- SeriesData2.prototype.diff = function(otherList) {
- var thisList = this;
- return new DataDiffer_default(otherList ? otherList.getStore().getIndices() : [], this.getStore().getIndices(), function(idx) {
- return getId(otherList, idx);
- }, function(idx) {
- return getId(thisList, idx);
- });
- };
- SeriesData2.prototype.getVisual = function(key) {
- var visual = this._visual;
- return visual && visual[key];
- };
- SeriesData2.prototype.setVisual = function(kvObj, val) {
- this._visual = this._visual || {};
- if (isObject2(kvObj)) {
- extend(this._visual, kvObj);
- } else {
- this._visual[kvObj] = val;
- }
- };
- SeriesData2.prototype.getItemVisual = function(idx, key) {
- var itemVisual = this._itemVisuals[idx];
- var val = itemVisual && itemVisual[key];
- if (val == null) {
- return this.getVisual(key);
- }
- return val;
- };
- SeriesData2.prototype.hasItemVisual = function() {
- return this._itemVisuals.length > 0;
- };
- SeriesData2.prototype.ensureUniqueItemVisual = function(idx, key) {
- var itemVisuals = this._itemVisuals;
- var itemVisual = itemVisuals[idx];
- if (!itemVisual) {
- itemVisual = itemVisuals[idx] = {};
- }
- var val = itemVisual[key];
- if (val == null) {
- val = this.getVisual(key);
- if (isArray(val)) {
- val = val.slice();
- } else if (isObject2(val)) {
- val = extend({}, val);
- }
- itemVisual[key] = val;
- }
- return val;
- };
- SeriesData2.prototype.setItemVisual = function(idx, key, value) {
- var itemVisual = this._itemVisuals[idx] || {};
- this._itemVisuals[idx] = itemVisual;
- if (isObject2(key)) {
- extend(itemVisual, key);
- } else {
- itemVisual[key] = value;
- }
- };
- SeriesData2.prototype.clearAllVisual = function() {
- this._visual = {};
- this._itemVisuals = [];
- };
- SeriesData2.prototype.setLayout = function(key, val) {
- isObject2(key) ? extend(this._layout, key) : this._layout[key] = val;
- };
- SeriesData2.prototype.getLayout = function(key) {
- return this._layout[key];
- };
- SeriesData2.prototype.getItemLayout = function(idx) {
- return this._itemLayouts[idx];
- };
- SeriesData2.prototype.setItemLayout = function(idx, layout2, merge2) {
- this._itemLayouts[idx] = merge2 ? extend(this._itemLayouts[idx] || {}, layout2) : layout2;
- };
- SeriesData2.prototype.clearItemLayouts = function() {
- this._itemLayouts.length = 0;
- };
- SeriesData2.prototype.setItemGraphicEl = function(idx, el) {
- var seriesIndex = this.hostModel && this.hostModel.seriesIndex;
- setCommonECData(seriesIndex, this.dataType, idx, el);
- this._graphicEls[idx] = el;
- };
- SeriesData2.prototype.getItemGraphicEl = function(idx) {
- return this._graphicEls[idx];
- };
- SeriesData2.prototype.eachItemGraphicEl = function(cb, context) {
- each(this._graphicEls, function(el, idx) {
- if (el) {
- cb && cb.call(context, el, idx);
- }
- });
- };
- SeriesData2.prototype.cloneShallow = function(list) {
- if (!list) {
- list = new SeriesData2(this._schema ? this._schema : map2(this.dimensions, this._getDimInfo, this), this.hostModel);
- }
- transferProperties(list, this);
- list._store = this._store;
- return list;
- };
- SeriesData2.prototype.wrapMethod = function(methodName, injectFunction) {
- var originalMethod = this[methodName];
- if (!isFunction(originalMethod)) {
- return;
- }
- this.__wrappedMethods = this.__wrappedMethods || [];
- this.__wrappedMethods.push(methodName);
- this[methodName] = function() {
- var res = originalMethod.apply(this, arguments);
- return injectFunction.apply(this, [res].concat(slice(arguments)));
- };
- };
- SeriesData2.internalField = function() {
- prepareInvertedIndex = function(data) {
- var invertedIndicesMap = data._invertedIndicesMap;
- each(invertedIndicesMap, function(invertedIndices, dim) {
- var dimInfo = data._dimInfos[dim];
- var ordinalMeta = dimInfo.ordinalMeta;
- var store = data._store;
- if (ordinalMeta) {
- invertedIndices = invertedIndicesMap[dim] = new CtorInt32Array2(ordinalMeta.categories.length);
- for (var i = 0; i < invertedIndices.length; i++) {
- invertedIndices[i] = INDEX_NOT_FOUND;
- }
- for (var i = 0; i < store.count(); i++) {
- invertedIndices[store.get(dimInfo.storeDimIndex, i)] = i;
- }
- }
- });
- };
- getIdNameFromStore = function(data, dimIdx, idx) {
- return convertOptionIdName(data._getCategory(dimIdx, idx), null);
- };
- getId = function(data, rawIndex) {
- var id = data._idList[rawIndex];
- if (id == null && data._idDimIdx != null) {
- id = getIdNameFromStore(data, data._idDimIdx, rawIndex);
- }
- if (id == null) {
- id = ID_PREFIX + rawIndex;
- }
- return id;
- };
- normalizeDimensions = function(dimensions) {
- if (!isArray(dimensions)) {
- dimensions = dimensions != null ? [dimensions] : [];
- }
- return dimensions;
- };
- cloneListForMapAndSample = function(original) {
- var list = new SeriesData2(original._schema ? original._schema : map2(original.dimensions, original._getDimInfo, original), original.hostModel);
- transferProperties(list, original);
- return list;
- };
- transferProperties = function(target, source) {
- each(TRANSFERABLE_PROPERTIES.concat(source.__wrappedMethods || []), function(propName) {
- if (source.hasOwnProperty(propName)) {
- target[propName] = source[propName];
- }
- });
- target.__wrappedMethods = source.__wrappedMethods;
- each(CLONE_PROPERTIES, function(propName) {
- target[propName] = clone(source[propName]);
- });
- target._calculationInfo = extend({}, source._calculationInfo);
- };
- makeIdFromName = function(data, idx) {
- var nameList = data._nameList;
- var idList = data._idList;
- var nameDimIdx = data._nameDimIdx;
- var idDimIdx = data._idDimIdx;
- var name = nameList[idx];
- var id = idList[idx];
- if (name == null && nameDimIdx != null) {
- nameList[idx] = name = getIdNameFromStore(data, nameDimIdx, idx);
- }
- if (id == null && idDimIdx != null) {
- idList[idx] = id = getIdNameFromStore(data, idDimIdx, idx);
- }
- if (id == null && name != null) {
- var nameRepeatCount = data._nameRepeatCount;
- var nmCnt = nameRepeatCount[name] = (nameRepeatCount[name] || 0) + 1;
- id = name;
- if (nmCnt > 1) {
- id += "__ec__" + nmCnt;
- }
- idList[idx] = id;
- }
- };
- }();
- return SeriesData2;
- }();
- var SeriesData_default = SeriesData;
- // node_modules/echarts/lib/core/locale.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/i18n/langEN.js
- init_define_APP_INFO();
- var langEN_default = {
- time: {
- month: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
- monthAbbr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
- dayOfWeek: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
- dayOfWeekAbbr: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
- },
- legend: {
- selector: {
- all: "All",
- inverse: "Inv"
- }
- },
- toolbox: {
- brush: {
- title: {
- rect: "Box Select",
- polygon: "Lasso Select",
- lineX: "Horizontally Select",
- lineY: "Vertically Select",
- keep: "Keep Selections",
- clear: "Clear Selections"
- }
- },
- dataView: {
- title: "Data View",
- lang: ["Data View", "Close", "Refresh"]
- },
- dataZoom: {
- title: {
- zoom: "Zoom",
- back: "Zoom Reset"
- }
- },
- magicType: {
- title: {
- line: "Switch to Line Chart",
- bar: "Switch to Bar Chart",
- stack: "Stack",
- tiled: "Tile"
- }
- },
- restore: {
- title: "Restore"
- },
- saveAsImage: {
- title: "Save as Image",
- lang: ["Right Click to Save Image"]
- }
- },
- series: {
- typeNames: {
- pie: "Pie chart",
- bar: "Bar chart",
- line: "Line chart",
- scatter: "Scatter plot",
- effectScatter: "Ripple scatter plot",
- radar: "Radar chart",
- tree: "Tree",
- treemap: "Treemap",
- boxplot: "Boxplot",
- candlestick: "Candlestick",
- k: "K line chart",
- heatmap: "Heat map",
- map: "Map",
- parallel: "Parallel coordinate map",
- lines: "Line graph",
- graph: "Relationship graph",
- sankey: "Sankey diagram",
- funnel: "Funnel chart",
- gauge: "Gauge",
- pictorialBar: "Pictorial bar",
- themeRiver: "Theme River Map",
- sunburst: "Sunburst"
- }
- },
- aria: {
- general: {
- withTitle: 'This is a chart about "{title}"',
- withoutTitle: "This is a chart"
- },
- series: {
- single: {
- prefix: "",
- withName: " with type {seriesType} named {seriesName}.",
- withoutName: " with type {seriesType}."
- },
- multiple: {
- prefix: ". It consists of {seriesCount} series count.",
- withName: " The {seriesId} series is a {seriesType} representing {seriesName}.",
- withoutName: " The {seriesId} series is a {seriesType}.",
- separator: {
- middle: "",
- end: ""
- }
- }
- },
- data: {
- allData: "The data is as follows: ",
- partialData: "The first {displayCnt} items are: ",
- withName: "the data for {name} is {value}",
- withoutName: "{value}",
- separator: {
- middle: ", ",
- end: ". "
- }
- }
- }
- };
- // node_modules/echarts/lib/i18n/langZH.js
- init_define_APP_INFO();
- var langZH_default = {
- time: {
- month: ["\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00\u6708", "\u5341\u4E8C\u6708"],
- monthAbbr: ["1\u6708", "2\u6708", "3\u6708", "4\u6708", "5\u6708", "6\u6708", "7\u6708", "8\u6708", "9\u6708", "10\u6708", "11\u6708", "12\u6708"],
- dayOfWeek: ["\u661F\u671F\u65E5", "\u661F\u671F\u4E00", "\u661F\u671F\u4E8C", "\u661F\u671F\u4E09", "\u661F\u671F\u56DB", "\u661F\u671F\u4E94", "\u661F\u671F\u516D"],
- dayOfWeekAbbr: ["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"]
- },
- legend: {
- selector: {
- all: "\u5168\u9009",
- inverse: "\u53CD\u9009"
- }
- },
- toolbox: {
- brush: {
- title: {
- rect: "\u77E9\u5F62\u9009\u62E9",
- polygon: "\u5708\u9009",
- lineX: "\u6A2A\u5411\u9009\u62E9",
- lineY: "\u7EB5\u5411\u9009\u62E9",
- keep: "\u4FDD\u6301\u9009\u62E9",
- clear: "\u6E05\u9664\u9009\u62E9"
- }
- },
- dataView: {
- title: "\u6570\u636E\u89C6\u56FE",
- lang: ["\u6570\u636E\u89C6\u56FE", "\u5173\u95ED", "\u5237\u65B0"]
- },
- dataZoom: {
- title: {
- zoom: "\u533A\u57DF\u7F29\u653E",
- back: "\u533A\u57DF\u7F29\u653E\u8FD8\u539F"
- }
- },
- magicType: {
- title: {
- line: "\u5207\u6362\u4E3A\u6298\u7EBF\u56FE",
- bar: "\u5207\u6362\u4E3A\u67F1\u72B6\u56FE",
- stack: "\u5207\u6362\u4E3A\u5806\u53E0",
- tiled: "\u5207\u6362\u4E3A\u5E73\u94FA"
- }
- },
- restore: {
- title: "\u8FD8\u539F"
- },
- saveAsImage: {
- title: "\u4FDD\u5B58\u4E3A\u56FE\u7247",
- lang: ["\u53F3\u952E\u53E6\u5B58\u4E3A\u56FE\u7247"]
- }
- },
- series: {
- typeNames: {
- pie: "\u997C\u56FE",
- bar: "\u67F1\u72B6\u56FE",
- line: "\u6298\u7EBF\u56FE",
- scatter: "\u6563\u70B9\u56FE",
- effectScatter: "\u6D9F\u6F2A\u6563\u70B9\u56FE",
- radar: "\u96F7\u8FBE\u56FE",
- tree: "\u6811\u56FE",
- treemap: "\u77E9\u5F62\u6811\u56FE",
- boxplot: "\u7BB1\u578B\u56FE",
- candlestick: "K\u7EBF\u56FE",
- k: "K\u7EBF\u56FE",
- heatmap: "\u70ED\u529B\u56FE",
- map: "\u5730\u56FE",
- parallel: "\u5E73\u884C\u5750\u6807\u56FE",
- lines: "\u7EBF\u56FE",
- graph: "\u5173\u7CFB\u56FE",
- sankey: "\u6851\u57FA\u56FE",
- funnel: "\u6F0F\u6597\u56FE",
- gauge: "\u4EEA\u8868\u76D8\u56FE",
- pictorialBar: "\u8C61\u5F62\u67F1\u56FE",
- themeRiver: "\u4E3B\u9898\u6CB3\u6D41\u56FE",
- sunburst: "\u65ED\u65E5\u56FE"
- }
- },
- aria: {
- general: {
- withTitle: "\u8FD9\u662F\u4E00\u4E2A\u5173\u4E8E\u201C{title}\u201D\u7684\u56FE\u8868\u3002",
- withoutTitle: "\u8FD9\u662F\u4E00\u4E2A\u56FE\u8868\uFF0C"
- },
- series: {
- single: {
- prefix: "",
- withName: "\u56FE\u8868\u7C7B\u578B\u662F{seriesType}\uFF0C\u8868\u793A{seriesName}\u3002",
- withoutName: "\u56FE\u8868\u7C7B\u578B\u662F{seriesType}\u3002"
- },
- multiple: {
- prefix: "\u5B83\u7531{seriesCount}\u4E2A\u56FE\u8868\u7CFB\u5217\u7EC4\u6210\u3002",
- withName: "\u7B2C{seriesId}\u4E2A\u7CFB\u5217\u662F\u4E00\u4E2A\u8868\u793A{seriesName}\u7684{seriesType}\uFF0C",
- withoutName: "\u7B2C{seriesId}\u4E2A\u7CFB\u5217\u662F\u4E00\u4E2A{seriesType}\uFF0C",
- separator: {
- middle: "\uFF1B",
- end: "\u3002"
- }
- }
- },
- data: {
- allData: "\u5176\u6570\u636E\u662F\u2014\u2014",
- partialData: "\u5176\u4E2D\uFF0C\u524D{displayCnt}\u9879\u662F\u2014\u2014",
- withName: "{name}\u7684\u6570\u636E\u662F{value}",
- withoutName: "{value}",
- separator: {
- middle: "\uFF0C",
- end: ""
- }
- }
- }
- };
- // node_modules/echarts/lib/core/locale.js
- var LOCALE_ZH = "ZH";
- var LOCALE_EN = "EN";
- var DEFAULT_LOCALE = LOCALE_EN;
- var localeStorage = {};
- var localeModels = {};
- var SYSTEM_LANG = !env_default.domSupported ? DEFAULT_LOCALE : function() {
- var langStr = (document.documentElement.lang || navigator.language || navigator.browserLanguage).toUpperCase();
- return langStr.indexOf(LOCALE_ZH) > -1 ? LOCALE_ZH : DEFAULT_LOCALE;
- }();
- function registerLocale(locale, localeObj) {
- locale = locale.toUpperCase();
- localeModels[locale] = new Model_default(localeObj);
- localeStorage[locale] = localeObj;
- }
- function createLocaleObject(locale) {
- if (isString(locale)) {
- var localeObj = localeStorage[locale.toUpperCase()] || {};
- if (locale === LOCALE_ZH || locale === LOCALE_EN) {
- return clone(localeObj);
- } else {
- return merge(clone(localeObj), clone(localeStorage[DEFAULT_LOCALE]), false);
- }
- } else {
- return merge(clone(locale), clone(localeStorage[DEFAULT_LOCALE]), false);
- }
- }
- function getLocaleModel(lang) {
- return localeModels[lang];
- }
- function getDefaultLocaleModel() {
- return localeModels[DEFAULT_LOCALE];
- }
- registerLocale(LOCALE_EN, langEN_default);
- registerLocale(LOCALE_ZH, langZH_default);
- // node_modules/echarts/lib/model/Component.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/util/component.js
- init_define_APP_INFO();
- var base = Math.round(Math.random() * 10);
- function getUID(type) {
- return [type || "", base++].join("_");
- }
- function enableSubTypeDefaulter(target) {
- var subTypeDefaulters = {};
- target.registerSubTypeDefaulter = function(componentType, defaulter) {
- var componentTypeInfo = parseClassType(componentType);
- subTypeDefaulters[componentTypeInfo.main] = defaulter;
- };
- target.determineSubType = function(componentType, option) {
- var type = option.type;
- if (!type) {
- var componentTypeMain = parseClassType(componentType).main;
- if (target.hasSubTypes(componentType) && subTypeDefaulters[componentTypeMain]) {
- type = subTypeDefaulters[componentTypeMain](option);
- }
- }
- return type;
- };
- }
- function enableTopologicalTravel(entity, dependencyGetter) {
- entity.topologicalTravel = function(targetNameList, fullNameList, callback, context) {
- if (!targetNameList.length) {
- return;
- }
- var result = makeDepndencyGraph(fullNameList);
- var graph = result.graph;
- var noEntryList = result.noEntryList;
- var targetNameSet = {};
- each(targetNameList, function(name) {
- targetNameSet[name] = true;
- });
- while (noEntryList.length) {
- var currComponentType = noEntryList.pop();
- var currVertex = graph[currComponentType];
- var isInTargetNameSet = !!targetNameSet[currComponentType];
- if (isInTargetNameSet) {
- callback.call(context, currComponentType, currVertex.originalDeps.slice());
- delete targetNameSet[currComponentType];
- }
- each(currVertex.successor, isInTargetNameSet ? removeEdgeAndAdd : removeEdge);
- }
- each(targetNameSet, function() {
- var errMsg = "";
- if (true) {
- errMsg = makePrintable("Circular dependency may exists: ", targetNameSet, targetNameList, fullNameList);
- }
- throw new Error(errMsg);
- });
- function removeEdge(succComponentType) {
- graph[succComponentType].entryCount--;
- if (graph[succComponentType].entryCount === 0) {
- noEntryList.push(succComponentType);
- }
- }
- function removeEdgeAndAdd(succComponentType) {
- targetNameSet[succComponentType] = true;
- removeEdge(succComponentType);
- }
- };
- function makeDepndencyGraph(fullNameList) {
- var graph = {};
- var noEntryList = [];
- each(fullNameList, function(name) {
- var thisItem = createDependencyGraphItem(graph, name);
- var originalDeps = thisItem.originalDeps = dependencyGetter(name);
- var availableDeps = getAvailableDependencies(originalDeps, fullNameList);
- thisItem.entryCount = availableDeps.length;
- if (thisItem.entryCount === 0) {
- noEntryList.push(name);
- }
- each(availableDeps, function(dependentName) {
- if (indexOf(thisItem.predecessor, dependentName) < 0) {
- thisItem.predecessor.push(dependentName);
- }
- var thatItem = createDependencyGraphItem(graph, dependentName);
- if (indexOf(thatItem.successor, dependentName) < 0) {
- thatItem.successor.push(name);
- }
- });
- });
- return {
- graph,
- noEntryList
- };
- }
- function createDependencyGraphItem(graph, name) {
- if (!graph[name]) {
- graph[name] = {
- predecessor: [],
- successor: []
- };
- }
- return graph[name];
- }
- function getAvailableDependencies(originalDeps, fullNameList) {
- var availableDeps = [];
- each(originalDeps, function(dep) {
- indexOf(fullNameList, dep) >= 0 && availableDeps.push(dep);
- });
- return availableDeps;
- }
- }
- function inheritDefaultOption(superOption, subOption) {
- return merge(merge({}, superOption, true), subOption, true);
- }
- // node_modules/echarts/lib/util/layout.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/util/format.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/util/time.js
- init_define_APP_INFO();
- var ONE_SECOND = 1e3;
- var ONE_MINUTE = ONE_SECOND * 60;
- var ONE_HOUR = ONE_MINUTE * 60;
- var ONE_DAY = ONE_HOUR * 24;
- var ONE_YEAR = ONE_DAY * 365;
- var defaultLeveledFormatter = {
- year: "{yyyy}",
- month: "{MMM}",
- day: "{d}",
- hour: "{HH}:{mm}",
- minute: "{HH}:{mm}",
- second: "{HH}:{mm}:{ss}",
- millisecond: "{HH}:{mm}:{ss} {SSS}",
- none: "{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"
- };
- var fullDayFormatter = "{yyyy}-{MM}-{dd}";
- var fullLeveledFormatter = {
- year: "{yyyy}",
- month: "{yyyy}-{MM}",
- day: fullDayFormatter,
- hour: fullDayFormatter + " " + defaultLeveledFormatter.hour,
- minute: fullDayFormatter + " " + defaultLeveledFormatter.minute,
- second: fullDayFormatter + " " + defaultLeveledFormatter.second,
- millisecond: defaultLeveledFormatter.none
- };
- var primaryTimeUnits = ["year", "month", "day", "hour", "minute", "second", "millisecond"];
- var timeUnits = ["year", "half-year", "quarter", "month", "week", "half-week", "day", "half-day", "quarter-day", "hour", "minute", "second", "millisecond"];
- function pad(str, len) {
- str += "";
- return "0000".substr(0, len - str.length) + str;
- }
- function getPrimaryTimeUnit(timeUnit) {
- switch (timeUnit) {
- case "half-year":
- case "quarter":
- return "month";
- case "week":
- case "half-week":
- return "day";
- case "half-day":
- case "quarter-day":
- return "hour";
- default:
- return timeUnit;
- }
- }
- function isPrimaryTimeUnit(timeUnit) {
- return timeUnit === getPrimaryTimeUnit(timeUnit);
- }
- function getDefaultFormatPrecisionOfInterval(timeUnit) {
- switch (timeUnit) {
- case "year":
- case "month":
- return "day";
- case "millisecond":
- return "millisecond";
- default:
- return "second";
- }
- }
- function format(time, template, isUTC, lang) {
- var date = parseDate(time);
- var y = date[fullYearGetterName(isUTC)]();
- var M = date[monthGetterName(isUTC)]() + 1;
- var q = Math.floor((M - 1) / 3) + 1;
- var d = date[dateGetterName(isUTC)]();
- var e2 = date["get" + (isUTC ? "UTC" : "") + "Day"]();
- var H = date[hoursGetterName(isUTC)]();
- var h = (H - 1) % 12 + 1;
- var m2 = date[minutesGetterName(isUTC)]();
- var s = date[secondsGetterName(isUTC)]();
- var S = date[millisecondsGetterName(isUTC)]();
- var localeModel = lang instanceof Model_default ? lang : getLocaleModel(lang || SYSTEM_LANG) || getDefaultLocaleModel();
- var timeModel = localeModel.getModel("time");
- var month = timeModel.get("month");
- var monthAbbr = timeModel.get("monthAbbr");
- var dayOfWeek = timeModel.get("dayOfWeek");
- var dayOfWeekAbbr = timeModel.get("dayOfWeekAbbr");
- return (template || "").replace(/{yyyy}/g, y + "").replace(/{yy}/g, y % 100 + "").replace(/{Q}/g, q + "").replace(/{MMMM}/g, month[M - 1]).replace(/{MMM}/g, monthAbbr[M - 1]).replace(/{MM}/g, pad(M, 2)).replace(/{M}/g, M + "").replace(/{dd}/g, pad(d, 2)).replace(/{d}/g, d + "").replace(/{eeee}/g, dayOfWeek[e2]).replace(/{ee}/g, dayOfWeekAbbr[e2]).replace(/{e}/g, e2 + "").replace(/{HH}/g, pad(H, 2)).replace(/{H}/g, H + "").replace(/{hh}/g, pad(h + "", 2)).replace(/{h}/g, h + "").replace(/{mm}/g, pad(m2, 2)).replace(/{m}/g, m2 + "").replace(/{ss}/g, pad(s, 2)).replace(/{s}/g, s + "").replace(/{SSS}/g, pad(S, 3)).replace(/{S}/g, S + "");
- }
- function leveledFormat(tick, idx, formatter, lang, isUTC) {
- var template = null;
- if (isString(formatter)) {
- template = formatter;
- } else if (isFunction(formatter)) {
- template = formatter(tick.value, idx, {
- level: tick.level
- });
- } else {
- var defaults2 = extend({}, defaultLeveledFormatter);
- if (tick.level > 0) {
- for (var i = 0; i < primaryTimeUnits.length; ++i) {
- defaults2[primaryTimeUnits[i]] = "{primary|" + defaults2[primaryTimeUnits[i]] + "}";
- }
- }
- var mergedFormatter = formatter ? formatter.inherit === false ? formatter : defaults(formatter, defaults2) : defaults2;
- var unit = getUnitFromValue(tick.value, isUTC);
- if (mergedFormatter[unit]) {
- template = mergedFormatter[unit];
- } else if (mergedFormatter.inherit) {
- var targetId = timeUnits.indexOf(unit);
- for (var i = targetId - 1; i >= 0; --i) {
- if (mergedFormatter[unit]) {
- template = mergedFormatter[unit];
- break;
- }
- }
- template = template || defaults2.none;
- }
- if (isArray(template)) {
- var levelId = tick.level == null ? 0 : tick.level >= 0 ? tick.level : template.length + tick.level;
- levelId = Math.min(levelId, template.length - 1);
- template = template[levelId];
- }
- }
- return format(new Date(tick.value), template, isUTC, lang);
- }
- function getUnitFromValue(value, isUTC) {
- var date = parseDate(value);
- var M = date[monthGetterName(isUTC)]() + 1;
- var d = date[dateGetterName(isUTC)]();
- var h = date[hoursGetterName(isUTC)]();
- var m2 = date[minutesGetterName(isUTC)]();
- var s = date[secondsGetterName(isUTC)]();
- var S = date[millisecondsGetterName(isUTC)]();
- var isSecond = S === 0;
- var isMinute = isSecond && s === 0;
- var isHour = isMinute && m2 === 0;
- var isDay = isHour && h === 0;
- var isMonth = isDay && d === 1;
- var isYear = isMonth && M === 1;
- if (isYear) {
- return "year";
- } else if (isMonth) {
- return "month";
- } else if (isDay) {
- return "day";
- } else if (isHour) {
- return "hour";
- } else if (isMinute) {
- return "minute";
- } else if (isSecond) {
- return "second";
- } else {
- return "millisecond";
- }
- }
- function getUnitValue(value, unit, isUTC) {
- var date = isNumber(value) ? parseDate(value) : value;
- unit = unit || getUnitFromValue(value, isUTC);
- switch (unit) {
- case "year":
- return date[fullYearGetterName(isUTC)]();
- case "half-year":
- return date[monthGetterName(isUTC)]() >= 6 ? 1 : 0;
- case "quarter":
- return Math.floor((date[monthGetterName(isUTC)]() + 1) / 4);
- case "month":
- return date[monthGetterName(isUTC)]();
- case "day":
- return date[dateGetterName(isUTC)]();
- case "half-day":
- return date[hoursGetterName(isUTC)]() / 24;
- case "hour":
- return date[hoursGetterName(isUTC)]();
- case "minute":
- return date[minutesGetterName(isUTC)]();
- case "second":
- return date[secondsGetterName(isUTC)]();
- case "millisecond":
- return date[millisecondsGetterName(isUTC)]();
- }
- }
- function fullYearGetterName(isUTC) {
- return isUTC ? "getUTCFullYear" : "getFullYear";
- }
- function monthGetterName(isUTC) {
- return isUTC ? "getUTCMonth" : "getMonth";
- }
- function dateGetterName(isUTC) {
- return isUTC ? "getUTCDate" : "getDate";
- }
- function hoursGetterName(isUTC) {
- return isUTC ? "getUTCHours" : "getHours";
- }
- function minutesGetterName(isUTC) {
- return isUTC ? "getUTCMinutes" : "getMinutes";
- }
- function secondsGetterName(isUTC) {
- return isUTC ? "getUTCSeconds" : "getSeconds";
- }
- function millisecondsGetterName(isUTC) {
- return isUTC ? "getUTCMilliseconds" : "getMilliseconds";
- }
- function fullYearSetterName(isUTC) {
- return isUTC ? "setUTCFullYear" : "setFullYear";
- }
- function monthSetterName(isUTC) {
- return isUTC ? "setUTCMonth" : "setMonth";
- }
- function dateSetterName(isUTC) {
- return isUTC ? "setUTCDate" : "setDate";
- }
- function hoursSetterName(isUTC) {
- return isUTC ? "setUTCHours" : "setHours";
- }
- function minutesSetterName(isUTC) {
- return isUTC ? "setUTCMinutes" : "setMinutes";
- }
- function secondsSetterName(isUTC) {
- return isUTC ? "setUTCSeconds" : "setSeconds";
- }
- function millisecondsSetterName(isUTC) {
- return isUTC ? "setUTCMilliseconds" : "setMilliseconds";
- }
- // node_modules/echarts/lib/legacy/getTextRect.js
- init_define_APP_INFO();
- function getTextRect(text, font, align, verticalAlign, padding, rich, truncate, lineHeight) {
- var textEl = new Text_default({
- style: {
- text,
- font,
- align,
- verticalAlign,
- padding,
- rich,
- overflow: truncate ? "truncate" : null,
- lineHeight
- }
- });
- return textEl.getBoundingRect();
- }
- // node_modules/echarts/lib/util/format.js
- function addCommas(x) {
- if (!isNumeric(x)) {
- return isString(x) ? x : "-";
- }
- var parts = (x + "").split(".");
- return parts[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, "$1,") + (parts.length > 1 ? "." + parts[1] : "");
- }
- function toCamelCase(str, upperCaseFirst) {
- str = (str || "").toLowerCase().replace(/-(.)/g, function(match, group1) {
- return group1.toUpperCase();
- });
- if (upperCaseFirst && str) {
- str = str.charAt(0).toUpperCase() + str.slice(1);
- }
- return str;
- }
- var normalizeCssArray2 = normalizeCssArray;
- var replaceReg = /([&<>"'])/g;
- var replaceMap = {
- "&": "&",
- "<": "<",
- ">": ">",
- '"': """,
- "'": "'"
- };
- function encodeHTML(source) {
- return source == null ? "" : (source + "").replace(replaceReg, function(str, c) {
- return replaceMap[c];
- });
- }
- function makeValueReadable(value, valueType, useUTC) {
- var USER_READABLE_DEFUALT_TIME_PATTERN = "{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}";
- function stringToUserReadable(str) {
- return str && trim(str) ? str : "-";
- }
- function isNumberUserReadable(num) {
- return !!(num != null && !isNaN(num) && isFinite(num));
- }
- var isTypeTime = valueType === "time";
- var isValueDate = value instanceof Date;
- if (isTypeTime || isValueDate) {
- var date = isTypeTime ? parseDate(value) : value;
- if (!isNaN(+date)) {
- return format(date, USER_READABLE_DEFUALT_TIME_PATTERN, useUTC);
- } else if (isValueDate) {
- return "-";
- }
- }
- if (valueType === "ordinal") {
- return isStringSafe(value) ? stringToUserReadable(value) : isNumber(value) ? isNumberUserReadable(value) ? value + "" : "-" : "-";
- }
- var numericResult = numericToNumber(value);
- return isNumberUserReadable(numericResult) ? addCommas(numericResult) : isStringSafe(value) ? stringToUserReadable(value) : typeof value === "boolean" ? value + "" : "-";
- }
- var TPL_VAR_ALIAS = ["a", "b", "c", "d", "e", "f", "g"];
- var wrapVar = function(varName, seriesIdx) {
- return "{" + varName + (seriesIdx == null ? "" : seriesIdx) + "}";
- };
- function formatTpl(tpl, paramsList, encode) {
- if (!isArray(paramsList)) {
- paramsList = [paramsList];
- }
- var seriesLen = paramsList.length;
- if (!seriesLen) {
- return "";
- }
- var $vars = paramsList[0].$vars || [];
- for (var i = 0; i < $vars.length; i++) {
- var alias = TPL_VAR_ALIAS[i];
- tpl = tpl.replace(wrapVar(alias), wrapVar(alias, 0));
- }
- for (var seriesIdx = 0; seriesIdx < seriesLen; seriesIdx++) {
- for (var k = 0; k < $vars.length; k++) {
- var val = paramsList[seriesIdx][$vars[k]];
- tpl = tpl.replace(wrapVar(TPL_VAR_ALIAS[k], seriesIdx), encode ? encodeHTML(val) : val);
- }
- }
- return tpl;
- }
- function formatTplSimple(tpl, param, encode) {
- each(param, function(value, key) {
- tpl = tpl.replace("{" + key + "}", encode ? encodeHTML(value) : value);
- });
- return tpl;
- }
- function getTooltipMarker(inOpt, extraCssText) {
- var opt = isString(inOpt) ? {
- color: inOpt,
- extraCssText
- } : inOpt || {};
- var color = opt.color;
- var type = opt.type;
- extraCssText = opt.extraCssText;
- var renderMode = opt.renderMode || "html";
- if (!color) {
- return "";
- }
- if (renderMode === "html") {
- return type === "subItem" ? '<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:' + encodeHTML(color) + ";" + (extraCssText || "") + '"></span>' : '<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:' + encodeHTML(color) + ";" + (extraCssText || "") + '"></span>';
- } else {
- var markerId = opt.markerId || "markerX";
- return {
- renderMode,
- content: "{" + markerId + "|} ",
- style: type === "subItem" ? {
- width: 4,
- height: 4,
- borderRadius: 2,
- backgroundColor: color
- } : {
- width: 10,
- height: 10,
- borderRadius: 5,
- backgroundColor: color
- }
- };
- }
- }
- function formatTime(tpl, value, isUTC) {
- if (true) {
- deprecateReplaceLog("echarts.format.formatTime", "echarts.time.format");
- }
- if (tpl === "week" || tpl === "month" || tpl === "quarter" || tpl === "half-year" || tpl === "year") {
- tpl = "MM-dd\nyyyy";
- }
- var date = parseDate(value);
- var getUTC = isUTC ? "getUTC" : "get";
- var y = date[getUTC + "FullYear"]();
- var M = date[getUTC + "Month"]() + 1;
- var d = date[getUTC + "Date"]();
- var h = date[getUTC + "Hours"]();
- var m2 = date[getUTC + "Minutes"]();
- var s = date[getUTC + "Seconds"]();
- var S = date[getUTC + "Milliseconds"]();
- tpl = tpl.replace("MM", pad(M, 2)).replace("M", M).replace("yyyy", y).replace("yy", pad(y % 100 + "", 2)).replace("dd", pad(d, 2)).replace("d", d).replace("hh", pad(h, 2)).replace("h", h).replace("mm", pad(m2, 2)).replace("m", m2).replace("ss", pad(s, 2)).replace("s", s).replace("SSS", pad(S, 3));
- return tpl;
- }
- function capitalFirst(str) {
- return str ? str.charAt(0).toUpperCase() + str.substr(1) : str;
- }
- function convertToColorString(color, defaultColor) {
- defaultColor = defaultColor || "transparent";
- return isString(color) ? color : isObject(color) ? color.colorStops && (color.colorStops[0] || {}).color || defaultColor : defaultColor;
- }
- function windowOpen(link, target) {
- if (target === "_blank" || target === "blank") {
- var blank = window.open();
- blank.opener = null;
- blank.location.href = link;
- } else {
- window.open(link, target);
- }
- }
- // node_modules/echarts/lib/util/layout.js
- var each2 = each;
- var LOCATION_PARAMS = ["left", "right", "top", "bottom", "width", "height"];
- var HV_NAMES = [["width", "left", "right"], ["height", "top", "bottom"]];
- function boxLayout(orient, group, gap, maxWidth, maxHeight) {
- var x = 0;
- var y = 0;
- if (maxWidth == null) {
- maxWidth = Infinity;
- }
- if (maxHeight == null) {
- maxHeight = Infinity;
- }
- var currentLineMaxSize = 0;
- group.eachChild(function(child, idx) {
- var rect = child.getBoundingRect();
- var nextChild = group.childAt(idx + 1);
- var nextChildRect = nextChild && nextChild.getBoundingRect();
- var nextX;
- var nextY;
- if (orient === "horizontal") {
- var moveX = rect.width + (nextChildRect ? -nextChildRect.x + rect.x : 0);
- nextX = x + moveX;
- if (nextX > maxWidth || child.newline) {
- x = 0;
- nextX = moveX;
- y += currentLineMaxSize + gap;
- currentLineMaxSize = rect.height;
- } else {
- currentLineMaxSize = Math.max(currentLineMaxSize, rect.height);
- }
- } else {
- var moveY = rect.height + (nextChildRect ? -nextChildRect.y + rect.y : 0);
- nextY = y + moveY;
- if (nextY > maxHeight || child.newline) {
- x += currentLineMaxSize + gap;
- y = 0;
- nextY = moveY;
- currentLineMaxSize = rect.width;
- } else {
- currentLineMaxSize = Math.max(currentLineMaxSize, rect.width);
- }
- }
- if (child.newline) {
- return;
- }
- child.x = x;
- child.y = y;
- child.markRedraw();
- orient === "horizontal" ? x = nextX + gap : y = nextY + gap;
- });
- }
- var box = boxLayout;
- var vbox = curry(boxLayout, "vertical");
- var hbox = curry(boxLayout, "horizontal");
- function getAvailableSize(positionInfo, containerRect, margin) {
- var containerWidth = containerRect.width;
- var containerHeight = containerRect.height;
- var x = parsePercent2(positionInfo.left, containerWidth);
- var y = parsePercent2(positionInfo.top, containerHeight);
- var x2 = parsePercent2(positionInfo.right, containerWidth);
- var y2 = parsePercent2(positionInfo.bottom, containerHeight);
- (isNaN(x) || isNaN(parseFloat(positionInfo.left))) && (x = 0);
- (isNaN(x2) || isNaN(parseFloat(positionInfo.right))) && (x2 = containerWidth);
- (isNaN(y) || isNaN(parseFloat(positionInfo.top))) && (y = 0);
- (isNaN(y2) || isNaN(parseFloat(positionInfo.bottom))) && (y2 = containerHeight);
- margin = normalizeCssArray2(margin || 0);
- return {
- width: Math.max(x2 - x - margin[1] - margin[3], 0),
- height: Math.max(y2 - y - margin[0] - margin[2], 0)
- };
- }
- function getLayoutRect(positionInfo, containerRect, margin) {
- margin = normalizeCssArray2(margin || 0);
- var containerWidth = containerRect.width;
- var containerHeight = containerRect.height;
- var left = parsePercent2(positionInfo.left, containerWidth);
- var top = parsePercent2(positionInfo.top, containerHeight);
- var right = parsePercent2(positionInfo.right, containerWidth);
- var bottom = parsePercent2(positionInfo.bottom, containerHeight);
- var width = parsePercent2(positionInfo.width, containerWidth);
- var height = parsePercent2(positionInfo.height, containerHeight);
- var verticalMargin = margin[2] + margin[0];
- var horizontalMargin = margin[1] + margin[3];
- var aspect = positionInfo.aspect;
- if (isNaN(width)) {
- width = containerWidth - right - horizontalMargin - left;
- }
- if (isNaN(height)) {
- height = containerHeight - bottom - verticalMargin - top;
- }
- if (aspect != null) {
- if (isNaN(width) && isNaN(height)) {
- if (aspect > containerWidth / containerHeight) {
- width = containerWidth * 0.8;
- } else {
- height = containerHeight * 0.8;
- }
- }
- if (isNaN(width)) {
- width = aspect * height;
- }
- if (isNaN(height)) {
- height = width / aspect;
- }
- }
- if (isNaN(left)) {
- left = containerWidth - right - width - horizontalMargin;
- }
- if (isNaN(top)) {
- top = containerHeight - bottom - height - verticalMargin;
- }
- switch (positionInfo.left || positionInfo.right) {
- case "center":
- left = containerWidth / 2 - width / 2 - margin[3];
- break;
- case "right":
- left = containerWidth - width - horizontalMargin;
- break;
- }
- switch (positionInfo.top || positionInfo.bottom) {
- case "middle":
- case "center":
- top = containerHeight / 2 - height / 2 - margin[0];
- break;
- case "bottom":
- top = containerHeight - height - verticalMargin;
- break;
- }
- left = left || 0;
- top = top || 0;
- if (isNaN(width)) {
- width = containerWidth - horizontalMargin - left - (right || 0);
- }
- if (isNaN(height)) {
- height = containerHeight - verticalMargin - top - (bottom || 0);
- }
- var rect = new BoundingRect_default(left + margin[3], top + margin[0], width, height);
- rect.margin = margin;
- return rect;
- }
- function positionElement(el, positionInfo, containerRect, margin, opt, out2) {
- var h = !opt || !opt.hv || opt.hv[0];
- var v = !opt || !opt.hv || opt.hv[1];
- var boundingMode = opt && opt.boundingMode || "all";
- out2 = out2 || el;
- out2.x = el.x;
- out2.y = el.y;
- if (!h && !v) {
- return false;
- }
- var rect;
- if (boundingMode === "raw") {
- rect = el.type === "group" ? new BoundingRect_default(0, 0, +positionInfo.width || 0, +positionInfo.height || 0) : el.getBoundingRect();
- } else {
- rect = el.getBoundingRect();
- if (el.needLocalTransform()) {
- var transform = el.getLocalTransform();
- rect = rect.clone();
- rect.applyTransform(transform);
- }
- }
- var layoutRect = getLayoutRect(defaults({
- width: rect.width,
- height: rect.height
- }, positionInfo), containerRect, margin);
- var dx = h ? layoutRect.x - rect.x : 0;
- var dy = v ? layoutRect.y - rect.y : 0;
- if (boundingMode === "raw") {
- out2.x = dx;
- out2.y = dy;
- } else {
- out2.x += dx;
- out2.y += dy;
- }
- if (out2 === el) {
- el.markRedraw();
- }
- return true;
- }
- function sizeCalculable(option, hvIdx) {
- return option[HV_NAMES[hvIdx][0]] != null || option[HV_NAMES[hvIdx][1]] != null && option[HV_NAMES[hvIdx][2]] != null;
- }
- function fetchLayoutMode(ins) {
- var layoutMode = ins.layoutMode || ins.constructor.layoutMode;
- return isObject(layoutMode) ? layoutMode : layoutMode ? {
- type: layoutMode
- } : null;
- }
- function mergeLayoutParam(targetOption, newOption, opt) {
- var ignoreSize = opt && opt.ignoreSize;
- !isArray(ignoreSize) && (ignoreSize = [ignoreSize, ignoreSize]);
- var hResult = merge2(HV_NAMES[0], 0);
- var vResult = merge2(HV_NAMES[1], 1);
- copy(HV_NAMES[0], targetOption, hResult);
- copy(HV_NAMES[1], targetOption, vResult);
- function merge2(names, hvIdx) {
- var newParams = {};
- var newValueCount = 0;
- var merged = {};
- var mergedValueCount = 0;
- var enoughParamNumber = 2;
- each2(names, function(name) {
- merged[name] = targetOption[name];
- });
- each2(names, function(name) {
- hasProp(newOption, name) && (newParams[name] = merged[name] = newOption[name]);
- hasValue(newParams, name) && newValueCount++;
- hasValue(merged, name) && mergedValueCount++;
- });
- if (ignoreSize[hvIdx]) {
- if (hasValue(newOption, names[1])) {
- merged[names[2]] = null;
- } else if (hasValue(newOption, names[2])) {
- merged[names[1]] = null;
- }
- return merged;
- }
- if (mergedValueCount === enoughParamNumber || !newValueCount) {
- return merged;
- } else if (newValueCount >= enoughParamNumber) {
- return newParams;
- } else {
- for (var i = 0; i < names.length; i++) {
- var name_1 = names[i];
- if (!hasProp(newParams, name_1) && hasProp(targetOption, name_1)) {
- newParams[name_1] = targetOption[name_1];
- break;
- }
- }
- return newParams;
- }
- }
- function hasProp(obj, name) {
- return obj.hasOwnProperty(name);
- }
- function hasValue(obj, name) {
- return obj[name] != null && obj[name] !== "auto";
- }
- function copy(names, target, source) {
- each2(names, function(name) {
- target[name] = source[name];
- });
- }
- }
- function getLayoutParams(source) {
- return copyLayoutParams({}, source);
- }
- function copyLayoutParams(target, source) {
- source && target && each2(LOCATION_PARAMS, function(name) {
- source.hasOwnProperty(name) && (target[name] = source[name]);
- });
- return target;
- }
- // node_modules/echarts/lib/model/Component.js
- var inner2 = makeInner();
- var ComponentModel = function(_super) {
- __extends2(ComponentModel2, _super);
- function ComponentModel2(option, parentModel, ecModel) {
- var _this = _super.call(this, option, parentModel, ecModel) || this;
- _this.uid = getUID("ec_cpt_model");
- return _this;
- }
- ComponentModel2.prototype.init = function(option, parentModel, ecModel) {
- this.mergeDefaultAndTheme(option, ecModel);
- };
- ComponentModel2.prototype.mergeDefaultAndTheme = function(option, ecModel) {
- var layoutMode = fetchLayoutMode(this);
- var inputPositionParams = layoutMode ? getLayoutParams(option) : {};
- var themeModel = ecModel.getTheme();
- merge(option, themeModel.get(this.mainType));
- merge(option, this.getDefaultOption());
- if (layoutMode) {
- mergeLayoutParam(option, inputPositionParams, layoutMode);
- }
- };
- ComponentModel2.prototype.mergeOption = function(option, ecModel) {
- merge(this.option, option, true);
- var layoutMode = fetchLayoutMode(this);
- if (layoutMode) {
- mergeLayoutParam(this.option, option, layoutMode);
- }
- };
- ComponentModel2.prototype.optionUpdated = function(newCptOption, isInit) {
- };
- ComponentModel2.prototype.getDefaultOption = function() {
- var ctor = this.constructor;
- if (!isExtendedClass(ctor)) {
- return ctor.defaultOption;
- }
- var fields = inner2(this);
- if (!fields.defaultOption) {
- var optList = [];
- var clz = ctor;
- while (clz) {
- var opt = clz.prototype.defaultOption;
- opt && optList.push(opt);
- clz = clz.superClass;
- }
- var defaultOption = {};
- for (var i = optList.length - 1; i >= 0; i--) {
- defaultOption = merge(defaultOption, optList[i], true);
- }
- fields.defaultOption = defaultOption;
- }
- return fields.defaultOption;
- };
- ComponentModel2.prototype.getReferringComponents = function(mainType, opt) {
- var indexKey = mainType + "Index";
- var idKey = mainType + "Id";
- return queryReferringComponents(this.ecModel, mainType, {
- index: this.get(indexKey, true),
- id: this.get(idKey, true)
- }, opt);
- };
- ComponentModel2.prototype.getBoxLayoutParams = function() {
- var boxLayoutModel = this;
- return {
- left: boxLayoutModel.get("left"),
- top: boxLayoutModel.get("top"),
- right: boxLayoutModel.get("right"),
- bottom: boxLayoutModel.get("bottom"),
- width: boxLayoutModel.get("width"),
- height: boxLayoutModel.get("height")
- };
- };
- ComponentModel2.prototype.getZLevelKey = function() {
- return "";
- };
- ComponentModel2.prototype.setZLevel = function(zlevel) {
- this.option.zlevel = zlevel;
- };
- ComponentModel2.protoInitialize = function() {
- var proto2 = ComponentModel2.prototype;
- proto2.type = "component";
- proto2.id = "";
- proto2.name = "";
- proto2.mainType = "";
- proto2.subType = "";
- proto2.componentIndex = 0;
- }();
- return ComponentModel2;
- }(Model_default);
- mountExtend(ComponentModel, Model_default);
- enableClassManagement(ComponentModel);
- enableSubTypeDefaulter(ComponentModel);
- enableTopologicalTravel(ComponentModel, getDependencies);
- function getDependencies(componentType) {
- var deps = [];
- each(ComponentModel.getClassesByMainType(componentType), function(clz) {
- deps = deps.concat(clz.dependencies || clz.prototype.dependencies || []);
- });
- deps = map(deps, function(type) {
- return parseClassType(type).main;
- });
- if (componentType !== "dataset" && indexOf(deps, "dataset") <= 0) {
- deps.unshift("dataset");
- }
- return deps;
- }
- var Component_default = ComponentModel;
- // node_modules/echarts/lib/model/Series.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/model/mixin/palette.js
- init_define_APP_INFO();
- var innerColor = makeInner();
- var innerDecal = makeInner();
- var PaletteMixin = function() {
- function PaletteMixin2() {
- }
- PaletteMixin2.prototype.getColorFromPalette = function(name, scope, requestNum) {
- var defaultPalette = normalizeToArray(this.get("color", true));
- var layeredPalette = this.get("colorLayer", true);
- return getFromPalette(this, innerColor, defaultPalette, layeredPalette, name, scope, requestNum);
- };
- PaletteMixin2.prototype.clearColorPalette = function() {
- clearPalette(this, innerColor);
- };
- return PaletteMixin2;
- }();
- function getDecalFromPalette(ecModel, name, scope, requestNum) {
- var defaultDecals = normalizeToArray(ecModel.get(["aria", "decal", "decals"]));
- return getFromPalette(ecModel, innerDecal, defaultDecals, null, name, scope, requestNum);
- }
- function getNearestPalette(palettes, requestColorNum) {
- var paletteNum = palettes.length;
- for (var i = 0; i < paletteNum; i++) {
- if (palettes[i].length > requestColorNum) {
- return palettes[i];
- }
- }
- return palettes[paletteNum - 1];
- }
- function getFromPalette(that, inner7, defaultPalette, layeredPalette, name, scope, requestNum) {
- scope = scope || that;
- var scopeFields = inner7(scope);
- var paletteIdx = scopeFields.paletteIdx || 0;
- var paletteNameMap = scopeFields.paletteNameMap = scopeFields.paletteNameMap || {};
- if (paletteNameMap.hasOwnProperty(name)) {
- return paletteNameMap[name];
- }
- var palette = requestNum == null || !layeredPalette ? defaultPalette : getNearestPalette(layeredPalette, requestNum);
- palette = palette || defaultPalette;
- if (!palette || !palette.length) {
- return;
- }
- var pickedPaletteItem = palette[paletteIdx];
- if (name) {
- paletteNameMap[name] = pickedPaletteItem;
- }
- scopeFields.paletteIdx = (paletteIdx + 1) % palette.length;
- return pickedPaletteItem;
- }
- function clearPalette(that, inner7) {
- inner7(that).paletteIdx = 0;
- inner7(that).paletteNameMap = {};
- }
- // node_modules/echarts/lib/model/mixin/dataFormat.js
- init_define_APP_INFO();
- var DIMENSION_LABEL_REG = /\{@(.+?)\}/g;
- var DataFormatMixin = function() {
- function DataFormatMixin2() {
- }
- DataFormatMixin2.prototype.getDataParams = function(dataIndex, dataType) {
- var data = this.getData(dataType);
- var rawValue = this.getRawValue(dataIndex, dataType);
- var rawDataIndex = data.getRawIndex(dataIndex);
- var name = data.getName(dataIndex);
- var itemOpt = data.getRawDataItem(dataIndex);
- var style = data.getItemVisual(dataIndex, "style");
- var color = style && style[data.getItemVisual(dataIndex, "drawType") || "fill"];
- var borderColor = style && style.stroke;
- var mainType = this.mainType;
- var isSeries2 = mainType === "series";
- var userOutput = data.userOutput && data.userOutput.get();
- return {
- componentType: mainType,
- componentSubType: this.subType,
- componentIndex: this.componentIndex,
- seriesType: isSeries2 ? this.subType : null,
- seriesIndex: this.seriesIndex,
- seriesId: isSeries2 ? this.id : null,
- seriesName: isSeries2 ? this.name : null,
- name,
- dataIndex: rawDataIndex,
- data: itemOpt,
- dataType,
- value: rawValue,
- color,
- borderColor,
- dimensionNames: userOutput ? userOutput.fullDimensions : null,
- encode: userOutput ? userOutput.encode : null,
- $vars: ["seriesName", "name", "value"]
- };
- };
- DataFormatMixin2.prototype.getFormattedLabel = function(dataIndex, status, dataType, labelDimIndex, formatter, extendParams) {
- status = status || "normal";
- var data = this.getData(dataType);
- var params = this.getDataParams(dataIndex, dataType);
- if (extendParams) {
- params.value = extendParams.interpolatedValue;
- }
- if (labelDimIndex != null && isArray(params.value)) {
- params.value = params.value[labelDimIndex];
- }
- if (!formatter) {
- var itemModel = data.getItemModel(dataIndex);
- formatter = itemModel.get(status === "normal" ? ["label", "formatter"] : [status, "label", "formatter"]);
- }
- if (isFunction(formatter)) {
- params.status = status;
- params.dimensionIndex = labelDimIndex;
- return formatter(params);
- } else if (isString(formatter)) {
- var str = formatTpl(formatter, params);
- return str.replace(DIMENSION_LABEL_REG, function(origin, dimStr) {
- var len = dimStr.length;
- var dimLoose = dimStr;
- if (dimLoose.charAt(0) === "[" && dimLoose.charAt(len - 1) === "]") {
- dimLoose = +dimLoose.slice(1, len - 1);
- if (true) {
- if (isNaN(dimLoose)) {
- error("Invalide label formatter: @" + dimStr + ", only support @[0], @[1], @[2], ...");
- }
- }
- }
- var val = retrieveRawValue(data, dataIndex, dimLoose);
- if (extendParams && isArray(extendParams.interpolatedValue)) {
- var dimIndex = data.getDimensionIndex(dimLoose);
- if (dimIndex >= 0) {
- val = extendParams.interpolatedValue[dimIndex];
- }
- }
- return val != null ? val + "" : "";
- });
- }
- };
- DataFormatMixin2.prototype.getRawValue = function(idx, dataType) {
- return retrieveRawValue(this.getData(dataType), idx);
- };
- DataFormatMixin2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) {
- return;
- };
- return DataFormatMixin2;
- }();
- function normalizeTooltipFormatResult(result) {
- var markupText;
- var markupFragment;
- if (isObject(result)) {
- if (result.type) {
- markupFragment = result;
- } else {
- if (true) {
- console.warn("The return type of `formatTooltip` is not supported: " + makePrintable(result));
- }
- }
- } else {
- markupText = result;
- }
- return {
- text: markupText,
- frag: markupFragment
- };
- }
- // node_modules/echarts/lib/core/task.js
- init_define_APP_INFO();
- function createTask(define) {
- return new Task(define);
- }
- var Task = function() {
- function Task2(define) {
- define = define || {};
- this._reset = define.reset;
- this._plan = define.plan;
- this._count = define.count;
- this._onDirty = define.onDirty;
- this._dirty = true;
- }
- Task2.prototype.perform = function(performArgs) {
- var upTask = this._upstream;
- var skip = performArgs && performArgs.skip;
- if (this._dirty && upTask) {
- var context = this.context;
- context.data = context.outputData = upTask.context.outputData;
- }
- if (this.__pipeline) {
- this.__pipeline.currentTask = this;
- }
- var planResult;
- if (this._plan && !skip) {
- planResult = this._plan(this.context);
- }
- var lastModBy = normalizeModBy(this._modBy);
- var lastModDataCount = this._modDataCount || 0;
- var modBy = normalizeModBy(performArgs && performArgs.modBy);
- var modDataCount = performArgs && performArgs.modDataCount || 0;
- if (lastModBy !== modBy || lastModDataCount !== modDataCount) {
- planResult = "reset";
- }
- function normalizeModBy(val) {
- !(val >= 1) && (val = 1);
- return val;
- }
- var forceFirstProgress;
- if (this._dirty || planResult === "reset") {
- this._dirty = false;
- forceFirstProgress = this._doReset(skip);
- }
- this._modBy = modBy;
- this._modDataCount = modDataCount;
- var step = performArgs && performArgs.step;
- if (upTask) {
- if (true) {
- assert(upTask._outputDueEnd != null);
- }
- this._dueEnd = upTask._outputDueEnd;
- } else {
- if (true) {
- assert(!this._progress || this._count);
- }
- this._dueEnd = this._count ? this._count(this.context) : Infinity;
- }
- if (this._progress) {
- var start = this._dueIndex;
- var end = Math.min(step != null ? this._dueIndex + step : Infinity, this._dueEnd);
- if (!skip && (forceFirstProgress || start < end)) {
- var progress = this._progress;
- if (isArray(progress)) {
- for (var i = 0; i < progress.length; i++) {
- this._doProgress(progress[i], start, end, modBy, modDataCount);
- }
- } else {
- this._doProgress(progress, start, end, modBy, modDataCount);
- }
- }
- this._dueIndex = end;
- var outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : end;
- if (true) {
- assert(outputDueEnd >= this._outputDueEnd);
- }
- this._outputDueEnd = outputDueEnd;
- } else {
- this._dueIndex = this._outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : this._dueEnd;
- }
- return this.unfinished();
- };
- Task2.prototype.dirty = function() {
- this._dirty = true;
- this._onDirty && this._onDirty(this.context);
- };
- Task2.prototype._doProgress = function(progress, start, end, modBy, modDataCount) {
- iterator.reset(start, end, modBy, modDataCount);
- this._callingProgress = progress;
- this._callingProgress({
- start,
- end,
- count: end - start,
- next: iterator.next
- }, this.context);
- };
- Task2.prototype._doReset = function(skip) {
- this._dueIndex = this._outputDueEnd = this._dueEnd = 0;
- this._settedOutputEnd = null;
- var progress;
- var forceFirstProgress;
- if (!skip && this._reset) {
- progress = this._reset(this.context);
- if (progress && progress.progress) {
- forceFirstProgress = progress.forceFirstProgress;
- progress = progress.progress;
- }
- if (isArray(progress) && !progress.length) {
- progress = null;
- }
- }
- this._progress = progress;
- this._modBy = this._modDataCount = null;
- var downstream = this._downstream;
- downstream && downstream.dirty();
- return forceFirstProgress;
- };
- Task2.prototype.unfinished = function() {
- return this._progress && this._dueIndex < this._dueEnd;
- };
- Task2.prototype.pipe = function(downTask) {
- if (true) {
- assert(downTask && !downTask._disposed && downTask !== this);
- }
- if (this._downstream !== downTask || this._dirty) {
- this._downstream = downTask;
- downTask._upstream = this;
- downTask.dirty();
- }
- };
- Task2.prototype.dispose = function() {
- if (this._disposed) {
- return;
- }
- this._upstream && (this._upstream._downstream = null);
- this._downstream && (this._downstream._upstream = null);
- this._dirty = false;
- this._disposed = true;
- };
- Task2.prototype.getUpstream = function() {
- return this._upstream;
- };
- Task2.prototype.getDownstream = function() {
- return this._downstream;
- };
- Task2.prototype.setOutputEnd = function(end) {
- this._outputDueEnd = this._settedOutputEnd = end;
- };
- return Task2;
- }();
- var iterator = function() {
- var end;
- var current;
- var modBy;
- var modDataCount;
- var winCount;
- var it = {
- reset: function(s, e2, sStep, sCount) {
- current = s;
- end = e2;
- modBy = sStep;
- modDataCount = sCount;
- winCount = Math.ceil(modDataCount / modBy);
- it.next = modBy > 1 && modDataCount > 0 ? modNext : sequentialNext;
- }
- };
- return it;
- function sequentialNext() {
- return current < end ? current++ : null;
- }
- function modNext() {
- var dataIndex = current % winCount * modBy + Math.ceil(current / winCount);
- var result = current >= end ? null : dataIndex < modDataCount ? dataIndex : current;
- current++;
- return result;
- }
- }();
- // node_modules/echarts/lib/data/helper/sourceManager.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/data/helper/transform.js
- init_define_APP_INFO();
- var ExternalSource = function() {
- function ExternalSource2() {
- }
- ExternalSource2.prototype.getRawData = function() {
- throw new Error("not supported");
- };
- ExternalSource2.prototype.getRawDataItem = function(dataIndex) {
- throw new Error("not supported");
- };
- ExternalSource2.prototype.cloneRawData = function() {
- return;
- };
- ExternalSource2.prototype.getDimensionInfo = function(dim) {
- return;
- };
- ExternalSource2.prototype.cloneAllDimensionInfo = function() {
- return;
- };
- ExternalSource2.prototype.count = function() {
- return;
- };
- ExternalSource2.prototype.retrieveValue = function(dataIndex, dimIndex) {
- return;
- };
- ExternalSource2.prototype.retrieveValueFromItem = function(dataItem, dimIndex) {
- return;
- };
- ExternalSource2.prototype.convertValue = function(rawVal, dimInfo) {
- return parseDataValue(rawVal, dimInfo);
- };
- return ExternalSource2;
- }();
- function createExternalSource(internalSource, externalTransform) {
- var extSource = new ExternalSource();
- var data = internalSource.data;
- var sourceFormat = extSource.sourceFormat = internalSource.sourceFormat;
- var sourceHeaderCount = internalSource.startIndex;
- var errMsg = "";
- if (internalSource.seriesLayoutBy !== SERIES_LAYOUT_BY_COLUMN) {
- if (true) {
- errMsg = '`seriesLayoutBy` of upstream dataset can only be "column" in data transform.';
- }
- throwError(errMsg);
- }
- var dimensions = [];
- var dimsByName = {};
- var dimsDef = internalSource.dimensionsDefine;
- if (dimsDef) {
- each(dimsDef, function(dimDef, idx) {
- var name = dimDef.name;
- var dimDefExt = {
- index: idx,
- name,
- displayName: dimDef.displayName
- };
- dimensions.push(dimDefExt);
- if (name != null) {
- var errMsg_1 = "";
- if (hasOwn(dimsByName, name)) {
- if (true) {
- errMsg_1 = 'dimension name "' + name + '" duplicated.';
- }
- throwError(errMsg_1);
- }
- dimsByName[name] = dimDefExt;
- }
- });
- } else {
- for (var i = 0; i < internalSource.dimensionsDetectedCount || 0; i++) {
- dimensions.push({
- index: i
- });
- }
- }
- var rawItemGetter = getRawSourceItemGetter(sourceFormat, SERIES_LAYOUT_BY_COLUMN);
- if (externalTransform.__isBuiltIn) {
- extSource.getRawDataItem = function(dataIndex) {
- return rawItemGetter(data, sourceHeaderCount, dimensions, dataIndex);
- };
- extSource.getRawData = bind(getRawData, null, internalSource);
- }
- extSource.cloneRawData = bind(cloneRawData, null, internalSource);
- var rawCounter = getRawSourceDataCounter(sourceFormat, SERIES_LAYOUT_BY_COLUMN);
- extSource.count = bind(rawCounter, null, data, sourceHeaderCount, dimensions);
- var rawValueGetter = getRawSourceValueGetter(sourceFormat);
- extSource.retrieveValue = function(dataIndex, dimIndex) {
- var rawItem = rawItemGetter(data, sourceHeaderCount, dimensions, dataIndex);
- return retrieveValueFromItem(rawItem, dimIndex);
- };
- var retrieveValueFromItem = extSource.retrieveValueFromItem = function(dataItem, dimIndex) {
- if (dataItem == null) {
- return;
- }
- var dimDef = dimensions[dimIndex];
- if (dimDef) {
- return rawValueGetter(dataItem, dimIndex, dimDef.name);
- }
- };
- extSource.getDimensionInfo = bind(getDimensionInfo, null, dimensions, dimsByName);
- extSource.cloneAllDimensionInfo = bind(cloneAllDimensionInfo, null, dimensions);
- return extSource;
- }
- function getRawData(upstream) {
- var sourceFormat = upstream.sourceFormat;
- if (!isSupportedSourceFormat(sourceFormat)) {
- var errMsg = "";
- if (true) {
- errMsg = "`getRawData` is not supported in source format " + sourceFormat;
- }
- throwError(errMsg);
- }
- return upstream.data;
- }
- function cloneRawData(upstream) {
- var sourceFormat = upstream.sourceFormat;
- var data = upstream.data;
- if (!isSupportedSourceFormat(sourceFormat)) {
- var errMsg = "";
- if (true) {
- errMsg = "`cloneRawData` is not supported in source format " + sourceFormat;
- }
- throwError(errMsg);
- }
- if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {
- var result = [];
- for (var i = 0, len = data.length; i < len; i++) {
- result.push(data[i].slice());
- }
- return result;
- } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {
- var result = [];
- for (var i = 0, len = data.length; i < len; i++) {
- result.push(extend({}, data[i]));
- }
- return result;
- }
- }
- function getDimensionInfo(dimensions, dimsByName, dim) {
- if (dim == null) {
- return;
- }
- if (isNumber(dim) || !isNaN(dim) && !hasOwn(dimsByName, dim)) {
- return dimensions[dim];
- } else if (hasOwn(dimsByName, dim)) {
- return dimsByName[dim];
- }
- }
- function cloneAllDimensionInfo(dimensions) {
- return clone(dimensions);
- }
- var externalTransformMap = createHashMap();
- function registerExternalTransform(externalTransform) {
- externalTransform = clone(externalTransform);
- var type = externalTransform.type;
- var errMsg = "";
- if (!type) {
- if (true) {
- errMsg = "Must have a `type` when `registerTransform`.";
- }
- throwError(errMsg);
- }
- var typeParsed = type.split(":");
- if (typeParsed.length !== 2) {
- if (true) {
- errMsg = 'Name must include namespace like "ns:regression".';
- }
- throwError(errMsg);
- }
- var isBuiltIn = false;
- if (typeParsed[0] === "echarts") {
- type = typeParsed[1];
- isBuiltIn = true;
- }
- externalTransform.__isBuiltIn = isBuiltIn;
- externalTransformMap.set(type, externalTransform);
- }
- function applyDataTransform(rawTransOption, sourceList, infoForPrint) {
- var pipedTransOption = normalizeToArray(rawTransOption);
- var pipeLen = pipedTransOption.length;
- var errMsg = "";
- if (!pipeLen) {
- if (true) {
- errMsg = "If `transform` declared, it should at least contain one transform.";
- }
- throwError(errMsg);
- }
- for (var i = 0, len = pipeLen; i < len; i++) {
- var transOption = pipedTransOption[i];
- sourceList = applySingleDataTransform(transOption, sourceList, infoForPrint, pipeLen === 1 ? null : i);
- if (i !== len - 1) {
- sourceList.length = Math.max(sourceList.length, 1);
- }
- }
- return sourceList;
- }
- function applySingleDataTransform(transOption, upSourceList, infoForPrint, pipeIndex) {
- var errMsg = "";
- if (!upSourceList.length) {
- if (true) {
- errMsg = "Must have at least one upstream dataset.";
- }
- throwError(errMsg);
- }
- if (!isObject(transOption)) {
- if (true) {
- errMsg = "transform declaration must be an object rather than " + typeof transOption + ".";
- }
- throwError(errMsg);
- }
- var transType = transOption.type;
- var externalTransform = externalTransformMap.get(transType);
- if (!externalTransform) {
- if (true) {
- errMsg = 'Can not find transform on type "' + transType + '".';
- }
- throwError(errMsg);
- }
- var extUpSourceList = map(upSourceList, function(upSource) {
- return createExternalSource(upSource, externalTransform);
- });
- var resultList = normalizeToArray(externalTransform.transform({
- upstream: extUpSourceList[0],
- upstreamList: extUpSourceList,
- config: clone(transOption.config)
- }));
- if (true) {
- if (transOption.print) {
- var printStrArr = map(resultList, function(extSource) {
- var pipeIndexStr = pipeIndex != null ? " === pipe index: " + pipeIndex : "";
- return ["=== dataset index: " + infoForPrint.datasetIndex + pipeIndexStr + " ===", "- transform result data:", makePrintable(extSource.data), "- transform result dimensions:", makePrintable(extSource.dimensions)].join("\n");
- }).join("\n");
- log(printStrArr);
- }
- }
- return map(resultList, function(result, resultIndex) {
- var errMsg2 = "";
- if (!isObject(result)) {
- if (true) {
- errMsg2 = "A transform should not return some empty results.";
- }
- throwError(errMsg2);
- }
- if (!result.data) {
- if (true) {
- errMsg2 = "Transform result data should be not be null or undefined";
- }
- throwError(errMsg2);
- }
- var sourceFormat = detectSourceFormat(result.data);
- if (!isSupportedSourceFormat(sourceFormat)) {
- if (true) {
- errMsg2 = "Transform result data should be array rows or object rows.";
- }
- throwError(errMsg2);
- }
- var resultMetaRawOption;
- var firstUpSource = upSourceList[0];
- if (firstUpSource && resultIndex === 0 && !result.dimensions) {
- var startIndex = firstUpSource.startIndex;
- if (startIndex) {
- result.data = firstUpSource.data.slice(0, startIndex).concat(result.data);
- }
- resultMetaRawOption = {
- seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN,
- sourceHeader: startIndex,
- dimensions: firstUpSource.metaRawOption.dimensions
- };
- } else {
- resultMetaRawOption = {
- seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN,
- sourceHeader: 0,
- dimensions: result.dimensions
- };
- }
- return createSource(result.data, resultMetaRawOption, null);
- });
- }
- function isSupportedSourceFormat(sourceFormat) {
- return sourceFormat === SOURCE_FORMAT_ARRAY_ROWS || sourceFormat === SOURCE_FORMAT_OBJECT_ROWS;
- }
- // node_modules/echarts/lib/data/helper/sourceManager.js
- var SourceManager = function() {
- function SourceManager2(sourceHost) {
- this._sourceList = [];
- this._storeList = [];
- this._upstreamSignList = [];
- this._versionSignBase = 0;
- this._dirty = true;
- this._sourceHost = sourceHost;
- }
- SourceManager2.prototype.dirty = function() {
- this._setLocalSource([], []);
- this._storeList = [];
- this._dirty = true;
- };
- SourceManager2.prototype._setLocalSource = function(sourceList, upstreamSignList) {
- this._sourceList = sourceList;
- this._upstreamSignList = upstreamSignList;
- this._versionSignBase++;
- if (this._versionSignBase > 9e10) {
- this._versionSignBase = 0;
- }
- };
- SourceManager2.prototype._getVersionSign = function() {
- return this._sourceHost.uid + "_" + this._versionSignBase;
- };
- SourceManager2.prototype.prepareSource = function() {
- if (this._isDirty()) {
- this._createSource();
- this._dirty = false;
- }
- };
- SourceManager2.prototype._createSource = function() {
- this._setLocalSource([], []);
- var sourceHost = this._sourceHost;
- var upSourceMgrList = this._getUpstreamSourceManagers();
- var hasUpstream = !!upSourceMgrList.length;
- var resultSourceList;
- var upstreamSignList;
- if (isSeries(sourceHost)) {
- var seriesModel = sourceHost;
- var data = void 0;
- var sourceFormat = void 0;
- var upSource = void 0;
- if (hasUpstream) {
- var upSourceMgr = upSourceMgrList[0];
- upSourceMgr.prepareSource();
- upSource = upSourceMgr.getSource();
- data = upSource.data;
- sourceFormat = upSource.sourceFormat;
- upstreamSignList = [upSourceMgr._getVersionSign()];
- } else {
- data = seriesModel.get("data", true);
- sourceFormat = isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL;
- upstreamSignList = [];
- }
- var newMetaRawOption = this._getSourceMetaRawOption() || {};
- var upMetaRawOption = upSource && upSource.metaRawOption || {};
- var seriesLayoutBy = retrieve2(newMetaRawOption.seriesLayoutBy, upMetaRawOption.seriesLayoutBy) || null;
- var sourceHeader = retrieve2(newMetaRawOption.sourceHeader, upMetaRawOption.sourceHeader);
- var dimensions = retrieve2(newMetaRawOption.dimensions, upMetaRawOption.dimensions);
- var needsCreateSource = seriesLayoutBy !== upMetaRawOption.seriesLayoutBy || !!sourceHeader !== !!upMetaRawOption.sourceHeader || dimensions;
- resultSourceList = needsCreateSource ? [createSource(data, {
- seriesLayoutBy,
- sourceHeader,
- dimensions
- }, sourceFormat)] : [];
- } else {
- var datasetModel = sourceHost;
- if (hasUpstream) {
- var result = this._applyTransform(upSourceMgrList);
- resultSourceList = result.sourceList;
- upstreamSignList = result.upstreamSignList;
- } else {
- var sourceData = datasetModel.get("source", true);
- resultSourceList = [createSource(sourceData, this._getSourceMetaRawOption(), null)];
- upstreamSignList = [];
- }
- }
- if (true) {
- assert(resultSourceList && upstreamSignList);
- }
- this._setLocalSource(resultSourceList, upstreamSignList);
- };
- SourceManager2.prototype._applyTransform = function(upMgrList) {
- var datasetModel = this._sourceHost;
- var transformOption = datasetModel.get("transform", true);
- var fromTransformResult = datasetModel.get("fromTransformResult", true);
- if (true) {
- assert(fromTransformResult != null || transformOption != null);
- }
- if (fromTransformResult != null) {
- var errMsg = "";
- if (upMgrList.length !== 1) {
- if (true) {
- errMsg = "When using `fromTransformResult`, there should be only one upstream dataset";
- }
- doThrow(errMsg);
- }
- }
- var sourceList;
- var upSourceList = [];
- var upstreamSignList = [];
- each(upMgrList, function(upMgr) {
- upMgr.prepareSource();
- var upSource = upMgr.getSource(fromTransformResult || 0);
- var errMsg2 = "";
- if (fromTransformResult != null && !upSource) {
- if (true) {
- errMsg2 = "Can not retrieve result by `fromTransformResult`: " + fromTransformResult;
- }
- doThrow(errMsg2);
- }
- upSourceList.push(upSource);
- upstreamSignList.push(upMgr._getVersionSign());
- });
- if (transformOption) {
- sourceList = applyDataTransform(transformOption, upSourceList, {
- datasetIndex: datasetModel.componentIndex
- });
- } else if (fromTransformResult != null) {
- sourceList = [cloneSourceShallow(upSourceList[0])];
- }
- return {
- sourceList,
- upstreamSignList
- };
- };
- SourceManager2.prototype._isDirty = function() {
- if (this._dirty) {
- return true;
- }
- var upSourceMgrList = this._getUpstreamSourceManagers();
- for (var i = 0; i < upSourceMgrList.length; i++) {
- var upSrcMgr = upSourceMgrList[i];
- if (upSrcMgr._isDirty() || this._upstreamSignList[i] !== upSrcMgr._getVersionSign()) {
- return true;
- }
- }
- };
- SourceManager2.prototype.getSource = function(sourceIndex) {
- sourceIndex = sourceIndex || 0;
- var source = this._sourceList[sourceIndex];
- if (!source) {
- var upSourceMgrList = this._getUpstreamSourceManagers();
- return upSourceMgrList[0] && upSourceMgrList[0].getSource(sourceIndex);
- }
- return source;
- };
- SourceManager2.prototype.getSharedDataStore = function(seriesDimRequest) {
- if (true) {
- assert(isSeries(this._sourceHost), "Can only call getDataStore on series source manager.");
- }
- var schema = seriesDimRequest.makeStoreSchema();
- return this._innerGetDataStore(schema.dimensions, seriesDimRequest.source, schema.hash);
- };
- SourceManager2.prototype._innerGetDataStore = function(storeDims, seriesSource, sourceReadKey) {
- var sourceIndex = 0;
- var storeList = this._storeList;
- var cachedStoreMap = storeList[sourceIndex];
- if (!cachedStoreMap) {
- cachedStoreMap = storeList[sourceIndex] = {};
- }
- var cachedStore = cachedStoreMap[sourceReadKey];
- if (!cachedStore) {
- var upSourceMgr = this._getUpstreamSourceManagers()[0];
- if (isSeries(this._sourceHost) && upSourceMgr) {
- cachedStore = upSourceMgr._innerGetDataStore(storeDims, seriesSource, sourceReadKey);
- } else {
- cachedStore = new DataStore_default();
- cachedStore.initData(new DefaultDataProvider(seriesSource, storeDims.length), storeDims);
- }
- cachedStoreMap[sourceReadKey] = cachedStore;
- }
- return cachedStore;
- };
- SourceManager2.prototype._getUpstreamSourceManagers = function() {
- var sourceHost = this._sourceHost;
- if (isSeries(sourceHost)) {
- var datasetModel = querySeriesUpstreamDatasetModel(sourceHost);
- return !datasetModel ? [] : [datasetModel.getSourceManager()];
- } else {
- return map(queryDatasetUpstreamDatasetModels(sourceHost), function(datasetModel2) {
- return datasetModel2.getSourceManager();
- });
- }
- };
- SourceManager2.prototype._getSourceMetaRawOption = function() {
- var sourceHost = this._sourceHost;
- var seriesLayoutBy;
- var sourceHeader;
- var dimensions;
- if (isSeries(sourceHost)) {
- seriesLayoutBy = sourceHost.get("seriesLayoutBy", true);
- sourceHeader = sourceHost.get("sourceHeader", true);
- dimensions = sourceHost.get("dimensions", true);
- } else if (!this._getUpstreamSourceManagers().length) {
- var model = sourceHost;
- seriesLayoutBy = model.get("seriesLayoutBy", true);
- sourceHeader = model.get("sourceHeader", true);
- dimensions = model.get("dimensions", true);
- }
- return {
- seriesLayoutBy,
- sourceHeader,
- dimensions
- };
- };
- return SourceManager2;
- }();
- function disableTransformOptionMerge(datasetModel) {
- var transformOption = datasetModel.option.transform;
- transformOption && setAsPrimitive(datasetModel.option.transform);
- }
- function isSeries(sourceHost) {
- return sourceHost.mainType === "series";
- }
- function doThrow(errMsg) {
- throw new Error(errMsg);
- }
- // node_modules/echarts/lib/component/tooltip/seriesFormatTooltip.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/component/tooltip/tooltipMarkup.js
- init_define_APP_INFO();
- var TOOLTIP_LINE_HEIGHT_CSS = "line-height:1";
- function getTooltipTextStyle(textStyle, renderMode) {
- var nameFontColor = textStyle.color || "#6e7079";
- var nameFontSize = textStyle.fontSize || 12;
- var nameFontWeight = textStyle.fontWeight || "400";
- var valueFontColor = textStyle.color || "#464646";
- var valueFontSize = textStyle.fontSize || 14;
- var valueFontWeight = textStyle.fontWeight || "900";
- if (renderMode === "html") {
- return {
- nameStyle: "font-size:" + encodeHTML(nameFontSize + "") + "px;color:" + encodeHTML(nameFontColor) + ";font-weight:" + encodeHTML(nameFontWeight + ""),
- valueStyle: "font-size:" + encodeHTML(valueFontSize + "") + "px;color:" + encodeHTML(valueFontColor) + ";font-weight:" + encodeHTML(valueFontWeight + "")
- };
- } else {
- return {
- nameStyle: {
- fontSize: nameFontSize,
- fill: nameFontColor,
- fontWeight: nameFontWeight
- },
- valueStyle: {
- fontSize: valueFontSize,
- fill: valueFontColor,
- fontWeight: valueFontWeight
- }
- };
- }
- }
- var HTML_GAPS = [0, 10, 20, 30];
- var RICH_TEXT_GAPS = ["", "\n", "\n\n", "\n\n\n"];
- function createTooltipMarkup(type, option) {
- option.type = type;
- return option;
- }
- function isSectionFragment(frag) {
- return frag.type === "section";
- }
- function getBuilder(frag) {
- return isSectionFragment(frag) ? buildSection : buildNameValue;
- }
- function getBlockGapLevel(frag) {
- if (isSectionFragment(frag)) {
- var gapLevel_1 = 0;
- var subBlockLen = frag.blocks.length;
- var hasInnerGap_1 = subBlockLen > 1 || subBlockLen > 0 && !frag.noHeader;
- each(frag.blocks, function(subBlock) {
- var subGapLevel = getBlockGapLevel(subBlock);
- if (subGapLevel >= gapLevel_1) {
- gapLevel_1 = subGapLevel + +(hasInnerGap_1 && (!subGapLevel || isSectionFragment(subBlock) && !subBlock.noHeader));
- }
- });
- return gapLevel_1;
- }
- return 0;
- }
- function buildSection(ctx, fragment, topMarginForOuterGap, toolTipTextStyle) {
- var noHeader = fragment.noHeader;
- var gaps = getGap(getBlockGapLevel(fragment));
- var subMarkupTextList = [];
- var subBlocks = fragment.blocks || [];
- assert(!subBlocks || isArray(subBlocks));
- subBlocks = subBlocks || [];
- var orderMode = ctx.orderMode;
- if (fragment.sortBlocks && orderMode) {
- subBlocks = subBlocks.slice();
- var orderMap = {
- valueAsc: "asc",
- valueDesc: "desc"
- };
- if (hasOwn(orderMap, orderMode)) {
- var comparator_1 = new SortOrderComparator(orderMap[orderMode], null);
- subBlocks.sort(function(a, b) {
- return comparator_1.evaluate(a.sortParam, b.sortParam);
- });
- } else if (orderMode === "seriesDesc") {
- subBlocks.reverse();
- }
- }
- each(subBlocks, function(subBlock, idx) {
- var valueFormatter = fragment.valueFormatter;
- var subMarkupText2 = getBuilder(subBlock)(
- valueFormatter ? extend(extend({}, ctx), {
- valueFormatter
- }) : ctx,
- subBlock,
- idx > 0 ? gaps.html : 0,
- toolTipTextStyle
- );
- subMarkupText2 != null && subMarkupTextList.push(subMarkupText2);
- });
- var subMarkupText = ctx.renderMode === "richText" ? subMarkupTextList.join(gaps.richText) : wrapBlockHTML(subMarkupTextList.join(""), noHeader ? topMarginForOuterGap : gaps.html);
- if (noHeader) {
- return subMarkupText;
- }
- var displayableHeader = makeValueReadable(fragment.header, "ordinal", ctx.useUTC);
- var nameStyle = getTooltipTextStyle(toolTipTextStyle, ctx.renderMode).nameStyle;
- if (ctx.renderMode === "richText") {
- return wrapInlineNameRichText(ctx, displayableHeader, nameStyle) + gaps.richText + subMarkupText;
- } else {
- return wrapBlockHTML('<div style="' + nameStyle + ";" + TOOLTIP_LINE_HEIGHT_CSS + ';">' + encodeHTML(displayableHeader) + "</div>" + subMarkupText, topMarginForOuterGap);
- }
- }
- function buildNameValue(ctx, fragment, topMarginForOuterGap, toolTipTextStyle) {
- var renderMode = ctx.renderMode;
- var noName = fragment.noName;
- var noValue = fragment.noValue;
- var noMarker = !fragment.markerType;
- var name = fragment.name;
- var useUTC = ctx.useUTC;
- var valueFormatter = fragment.valueFormatter || ctx.valueFormatter || function(value) {
- value = isArray(value) ? value : [value];
- return map(value, function(val, idx) {
- return makeValueReadable(val, isArray(valueTypeOption) ? valueTypeOption[idx] : valueTypeOption, useUTC);
- });
- };
- if (noName && noValue) {
- return;
- }
- var markerStr = noMarker ? "" : ctx.markupStyleCreator.makeTooltipMarker(fragment.markerType, fragment.markerColor || "#333", renderMode);
- var readableName = noName ? "" : makeValueReadable(name, "ordinal", useUTC);
- var valueTypeOption = fragment.valueType;
- var readableValueList = noValue ? [] : valueFormatter(fragment.value);
- var valueAlignRight = !noMarker || !noName;
- var valueCloseToMarker = !noMarker && noName;
- var _a2 = getTooltipTextStyle(toolTipTextStyle, renderMode), nameStyle = _a2.nameStyle, valueStyle = _a2.valueStyle;
- return renderMode === "richText" ? (noMarker ? "" : markerStr) + (noName ? "" : wrapInlineNameRichText(ctx, readableName, nameStyle)) + (noValue ? "" : wrapInlineValueRichText(ctx, readableValueList, valueAlignRight, valueCloseToMarker, valueStyle)) : wrapBlockHTML((noMarker ? "" : markerStr) + (noName ? "" : wrapInlineNameHTML(readableName, !noMarker, nameStyle)) + (noValue ? "" : wrapInlineValueHTML(readableValueList, valueAlignRight, valueCloseToMarker, valueStyle)), topMarginForOuterGap);
- }
- function buildTooltipMarkup(fragment, markupStyleCreator, renderMode, orderMode, useUTC, toolTipTextStyle) {
- if (!fragment) {
- return;
- }
- var builder = getBuilder(fragment);
- var ctx = {
- useUTC,
- renderMode,
- orderMode,
- markupStyleCreator,
- valueFormatter: fragment.valueFormatter
- };
- return builder(ctx, fragment, 0, toolTipTextStyle);
- }
- function getGap(gapLevel) {
- return {
- html: HTML_GAPS[gapLevel],
- richText: RICH_TEXT_GAPS[gapLevel]
- };
- }
- function wrapBlockHTML(encodedContent, topGap) {
- var clearfix = '<div style="clear:both"></div>';
- var marginCSS = "margin: " + topGap + "px 0 0";
- return '<div style="' + marginCSS + ";" + TOOLTIP_LINE_HEIGHT_CSS + ';">' + encodedContent + clearfix + "</div>";
- }
- function wrapInlineNameHTML(name, leftHasMarker, style) {
- var marginCss = leftHasMarker ? "margin-left:2px" : "";
- return '<span style="' + style + ";" + marginCss + '">' + encodeHTML(name) + "</span>";
- }
- function wrapInlineValueHTML(valueList, alignRight, valueCloseToMarker, style) {
- var paddingStr = valueCloseToMarker ? "10px" : "20px";
- var alignCSS = alignRight ? "float:right;margin-left:" + paddingStr : "";
- valueList = isArray(valueList) ? valueList : [valueList];
- return '<span style="' + alignCSS + ";" + style + '">' + map(valueList, function(value) {
- return encodeHTML(value);
- }).join(" ") + "</span>";
- }
- function wrapInlineNameRichText(ctx, name, style) {
- return ctx.markupStyleCreator.wrapRichTextStyle(name, style);
- }
- function wrapInlineValueRichText(ctx, values, alignRight, valueCloseToMarker, style) {
- var styles = [style];
- var paddingLeft = valueCloseToMarker ? 10 : 20;
- alignRight && styles.push({
- padding: [0, 0, 0, paddingLeft],
- align: "right"
- });
- return ctx.markupStyleCreator.wrapRichTextStyle(isArray(values) ? values.join(" ") : values, styles);
- }
- function retrieveVisualColorForTooltipMarker(series, dataIndex) {
- var style = series.getData().getItemVisual(dataIndex, "style");
- var color = style[series.visualDrawType];
- return convertToColorString(color);
- }
- function getPaddingFromTooltipModel(model, renderMode) {
- var padding = model.get("padding");
- return padding != null ? padding : renderMode === "richText" ? [8, 10] : 10;
- }
- var TooltipMarkupStyleCreator = function() {
- function TooltipMarkupStyleCreator2() {
- this.richTextStyles = {};
- this._nextStyleNameId = getRandomIdBase();
- }
- TooltipMarkupStyleCreator2.prototype._generateStyleName = function() {
- return "__EC_aUTo_" + this._nextStyleNameId++;
- };
- TooltipMarkupStyleCreator2.prototype.makeTooltipMarker = function(markerType, colorStr, renderMode) {
- var markerId = renderMode === "richText" ? this._generateStyleName() : null;
- var marker = getTooltipMarker({
- color: colorStr,
- type: markerType,
- renderMode,
- markerId
- });
- if (isString(marker)) {
- return marker;
- } else {
- if (true) {
- assert(markerId);
- }
- this.richTextStyles[markerId] = marker.style;
- return marker.content;
- }
- };
- TooltipMarkupStyleCreator2.prototype.wrapRichTextStyle = function(text, styles) {
- var finalStl = {};
- if (isArray(styles)) {
- each(styles, function(stl) {
- return extend(finalStl, stl);
- });
- } else {
- extend(finalStl, styles);
- }
- var styleName = this._generateStyleName();
- this.richTextStyles[styleName] = finalStl;
- return "{" + styleName + "|" + text + "}";
- };
- return TooltipMarkupStyleCreator2;
- }();
- // node_modules/echarts/lib/component/tooltip/seriesFormatTooltip.js
- function defaultSeriesFormatTooltip(opt) {
- var series = opt.series;
- var dataIndex = opt.dataIndex;
- var multipleSeries = opt.multipleSeries;
- var data = series.getData();
- var tooltipDims = data.mapDimensionsAll("defaultedTooltip");
- var tooltipDimLen = tooltipDims.length;
- var value = series.getRawValue(dataIndex);
- var isValueArr = isArray(value);
- var markerColor = retrieveVisualColorForTooltipMarker(series, dataIndex);
- var inlineValue;
- var inlineValueType;
- var subBlocks;
- var sortParam;
- if (tooltipDimLen > 1 || isValueArr && !tooltipDimLen) {
- var formatArrResult = formatTooltipArrayValue(value, series, dataIndex, tooltipDims, markerColor);
- inlineValue = formatArrResult.inlineValues;
- inlineValueType = formatArrResult.inlineValueTypes;
- subBlocks = formatArrResult.blocks;
- sortParam = formatArrResult.inlineValues[0];
- } else if (tooltipDimLen) {
- var dimInfo = data.getDimensionInfo(tooltipDims[0]);
- sortParam = inlineValue = retrieveRawValue(data, dataIndex, tooltipDims[0]);
- inlineValueType = dimInfo.type;
- } else {
- sortParam = inlineValue = isValueArr ? value[0] : value;
- }
- var seriesNameSpecified = isNameSpecified(series);
- var seriesName = seriesNameSpecified && series.name || "";
- var itemName = data.getName(dataIndex);
- var inlineName = multipleSeries ? seriesName : itemName;
- return createTooltipMarkup("section", {
- header: seriesName,
- noHeader: multipleSeries || !seriesNameSpecified,
- sortParam,
- blocks: [createTooltipMarkup("nameValue", {
- markerType: "item",
- markerColor,
- name: inlineName,
- noName: !trim(inlineName),
- value: inlineValue,
- valueType: inlineValueType
- })].concat(subBlocks || [])
- });
- }
- function formatTooltipArrayValue(value, series, dataIndex, tooltipDims, colorStr) {
- var data = series.getData();
- var isValueMultipleLine = reduce(value, function(isValueMultipleLine2, val, idx) {
- var dimItem = data.getDimensionInfo(idx);
- return isValueMultipleLine2 = isValueMultipleLine2 || dimItem && dimItem.tooltip !== false && dimItem.displayName != null;
- }, false);
- var inlineValues = [];
- var inlineValueTypes = [];
- var blocks = [];
- tooltipDims.length ? each(tooltipDims, function(dim) {
- setEachItem(retrieveRawValue(data, dataIndex, dim), dim);
- }) : each(value, setEachItem);
- function setEachItem(val, dim) {
- var dimInfo = data.getDimensionInfo(dim);
- if (!dimInfo || dimInfo.otherDims.tooltip === false) {
- return;
- }
- if (isValueMultipleLine) {
- blocks.push(createTooltipMarkup("nameValue", {
- markerType: "subItem",
- markerColor: colorStr,
- name: dimInfo.displayName,
- value: val,
- valueType: dimInfo.type
- }));
- } else {
- inlineValues.push(val);
- inlineValueTypes.push(dimInfo.type);
- }
- }
- return {
- inlineValues,
- inlineValueTypes,
- blocks
- };
- }
- // node_modules/echarts/lib/model/Series.js
- var inner3 = makeInner();
- function getSelectionKey(data, dataIndex) {
- return data.getName(dataIndex) || data.getId(dataIndex);
- }
- var SERIES_UNIVERSAL_TRANSITION_PROP = "__universalTransitionEnabled";
- var SeriesModel = function(_super) {
- __extends2(SeriesModel2, _super);
- function SeriesModel2() {
- var _this = _super !== null && _super.apply(this, arguments) || this;
- _this._selectedDataIndicesMap = {};
- return _this;
- }
- SeriesModel2.prototype.init = function(option, parentModel, ecModel) {
- this.seriesIndex = this.componentIndex;
- this.dataTask = createTask({
- count: dataTaskCount,
- reset: dataTaskReset
- });
- this.dataTask.context = {
- model: this
- };
- this.mergeDefaultAndTheme(option, ecModel);
- var sourceManager = inner3(this).sourceManager = new SourceManager(this);
- sourceManager.prepareSource();
- var data = this.getInitialData(option, ecModel);
- wrapData(data, this);
- this.dataTask.context.data = data;
- if (true) {
- assert(data, "getInitialData returned invalid data.");
- }
- inner3(this).dataBeforeProcessed = data;
- autoSeriesName(this);
- this._initSelectedMapFromData(data);
- };
- SeriesModel2.prototype.mergeDefaultAndTheme = function(option, ecModel) {
- var layoutMode = fetchLayoutMode(this);
- var inputPositionParams = layoutMode ? getLayoutParams(option) : {};
- var themeSubType = this.subType;
- if (Component_default.hasClass(themeSubType)) {
- themeSubType += "Series";
- }
- merge(option, ecModel.getTheme().get(this.subType));
- merge(option, this.getDefaultOption());
- defaultEmphasis(option, "label", ["show"]);
- this.fillDataTextStyle(option.data);
- if (layoutMode) {
- mergeLayoutParam(option, inputPositionParams, layoutMode);
- }
- };
- SeriesModel2.prototype.mergeOption = function(newSeriesOption, ecModel) {
- newSeriesOption = merge(this.option, newSeriesOption, true);
- this.fillDataTextStyle(newSeriesOption.data);
- var layoutMode = fetchLayoutMode(this);
- if (layoutMode) {
- mergeLayoutParam(this.option, newSeriesOption, layoutMode);
- }
- var sourceManager = inner3(this).sourceManager;
- sourceManager.dirty();
- sourceManager.prepareSource();
- var data = this.getInitialData(newSeriesOption, ecModel);
- wrapData(data, this);
- this.dataTask.dirty();
- this.dataTask.context.data = data;
- inner3(this).dataBeforeProcessed = data;
- autoSeriesName(this);
- this._initSelectedMapFromData(data);
- };
- SeriesModel2.prototype.fillDataTextStyle = function(data) {
- if (data && !isTypedArray(data)) {
- var props = ["show"];
- for (var i = 0; i < data.length; i++) {
- if (data[i] && data[i].label) {
- defaultEmphasis(data[i], "label", props);
- }
- }
- }
- };
- SeriesModel2.prototype.getInitialData = function(option, ecModel) {
- return;
- };
- SeriesModel2.prototype.appendData = function(params) {
- var data = this.getRawData();
- data.appendData(params.data);
- };
- SeriesModel2.prototype.getData = function(dataType) {
- var task = getCurrentTask(this);
- if (task) {
- var data = task.context.data;
- return dataType == null ? data : data.getLinkedData(dataType);
- } else {
- return inner3(this).data;
- }
- };
- SeriesModel2.prototype.getAllData = function() {
- var mainData = this.getData();
- return mainData && mainData.getLinkedDataAll ? mainData.getLinkedDataAll() : [{
- data: mainData
- }];
- };
- SeriesModel2.prototype.setData = function(data) {
- var task = getCurrentTask(this);
- if (task) {
- var context = task.context;
- context.outputData = data;
- if (task !== this.dataTask) {
- context.data = data;
- }
- }
- inner3(this).data = data;
- };
- SeriesModel2.prototype.getEncode = function() {
- var encode = this.get("encode", true);
- if (encode) {
- return createHashMap(encode);
- }
- };
- SeriesModel2.prototype.getSourceManager = function() {
- return inner3(this).sourceManager;
- };
- SeriesModel2.prototype.getSource = function() {
- return this.getSourceManager().getSource();
- };
- SeriesModel2.prototype.getRawData = function() {
- return inner3(this).dataBeforeProcessed;
- };
- SeriesModel2.prototype.getColorBy = function() {
- var colorBy = this.get("colorBy");
- return colorBy || "series";
- };
- SeriesModel2.prototype.isColorBySeries = function() {
- return this.getColorBy() === "series";
- };
- SeriesModel2.prototype.getBaseAxis = function() {
- var coordSys = this.coordinateSystem;
- return coordSys && coordSys.getBaseAxis && coordSys.getBaseAxis();
- };
- SeriesModel2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) {
- return defaultSeriesFormatTooltip({
- series: this,
- dataIndex,
- multipleSeries
- });
- };
- SeriesModel2.prototype.isAnimationEnabled = function() {
- var ecModel = this.ecModel;
- if (env_default.node && !(ecModel && ecModel.ssr)) {
- return false;
- }
- var animationEnabled = this.getShallow("animation");
- if (animationEnabled) {
- if (this.getData().count() > this.getShallow("animationThreshold")) {
- animationEnabled = false;
- }
- }
- return !!animationEnabled;
- };
- SeriesModel2.prototype.restoreData = function() {
- this.dataTask.dirty();
- };
- SeriesModel2.prototype.getColorFromPalette = function(name, scope, requestColorNum) {
- var ecModel = this.ecModel;
- var color = PaletteMixin.prototype.getColorFromPalette.call(this, name, scope, requestColorNum);
- if (!color) {
- color = ecModel.getColorFromPalette(name, scope, requestColorNum);
- }
- return color;
- };
- SeriesModel2.prototype.coordDimToDataDim = function(coordDim) {
- return this.getRawData().mapDimensionsAll(coordDim);
- };
- SeriesModel2.prototype.getProgressive = function() {
- return this.get("progressive");
- };
- SeriesModel2.prototype.getProgressiveThreshold = function() {
- return this.get("progressiveThreshold");
- };
- SeriesModel2.prototype.select = function(innerDataIndices, dataType) {
- this._innerSelect(this.getData(dataType), innerDataIndices);
- };
- SeriesModel2.prototype.unselect = function(innerDataIndices, dataType) {
- var selectedMap = this.option.selectedMap;
- if (!selectedMap) {
- return;
- }
- var selectedMode = this.option.selectedMode;
- var data = this.getData(dataType);
- if (selectedMode === "series" || selectedMap === "all") {
- this.option.selectedMap = {};
- this._selectedDataIndicesMap = {};
- return;
- }
- for (var i = 0; i < innerDataIndices.length; i++) {
- var dataIndex = innerDataIndices[i];
- var nameOrId = getSelectionKey(data, dataIndex);
- selectedMap[nameOrId] = false;
- this._selectedDataIndicesMap[nameOrId] = -1;
- }
- };
- SeriesModel2.prototype.toggleSelect = function(innerDataIndices, dataType) {
- var tmpArr = [];
- for (var i = 0; i < innerDataIndices.length; i++) {
- tmpArr[0] = innerDataIndices[i];
- this.isSelected(innerDataIndices[i], dataType) ? this.unselect(tmpArr, dataType) : this.select(tmpArr, dataType);
- }
- };
- SeriesModel2.prototype.getSelectedDataIndices = function() {
- if (this.option.selectedMap === "all") {
- return [].slice.call(this.getData().getIndices());
- }
- var selectedDataIndicesMap = this._selectedDataIndicesMap;
- var nameOrIds = keys(selectedDataIndicesMap);
- var dataIndices = [];
- for (var i = 0; i < nameOrIds.length; i++) {
- var dataIndex = selectedDataIndicesMap[nameOrIds[i]];
- if (dataIndex >= 0) {
- dataIndices.push(dataIndex);
- }
- }
- return dataIndices;
- };
- SeriesModel2.prototype.isSelected = function(dataIndex, dataType) {
- var selectedMap = this.option.selectedMap;
- if (!selectedMap) {
- return false;
- }
- var data = this.getData(dataType);
- return (selectedMap === "all" || selectedMap[getSelectionKey(data, dataIndex)]) && !data.getItemModel(dataIndex).get(["select", "disabled"]);
- };
- SeriesModel2.prototype.isUniversalTransitionEnabled = function() {
- if (this[SERIES_UNIVERSAL_TRANSITION_PROP]) {
- return true;
- }
- var universalTransitionOpt = this.option.universalTransition;
- if (!universalTransitionOpt) {
- return false;
- }
- if (universalTransitionOpt === true) {
- return true;
- }
- return universalTransitionOpt && universalTransitionOpt.enabled;
- };
- SeriesModel2.prototype._innerSelect = function(data, innerDataIndices) {
- var _a2, _b2;
- var option = this.option;
- var selectedMode = option.selectedMode;
- var len = innerDataIndices.length;
- if (!selectedMode || !len) {
- return;
- }
- if (selectedMode === "series") {
- option.selectedMap = "all";
- } else if (selectedMode === "multiple") {
- if (!isObject(option.selectedMap)) {
- option.selectedMap = {};
- }
- var selectedMap = option.selectedMap;
- for (var i = 0; i < len; i++) {
- var dataIndex = innerDataIndices[i];
- var nameOrId = getSelectionKey(data, dataIndex);
- selectedMap[nameOrId] = true;
- this._selectedDataIndicesMap[nameOrId] = data.getRawIndex(dataIndex);
- }
- } else if (selectedMode === "single" || selectedMode === true) {
- var lastDataIndex = innerDataIndices[len - 1];
- var nameOrId = getSelectionKey(data, lastDataIndex);
- option.selectedMap = (_a2 = {}, _a2[nameOrId] = true, _a2);
- this._selectedDataIndicesMap = (_b2 = {}, _b2[nameOrId] = data.getRawIndex(lastDataIndex), _b2);
- }
- };
- SeriesModel2.prototype._initSelectedMapFromData = function(data) {
- if (this.option.selectedMap) {
- return;
- }
- var dataIndices = [];
- if (data.hasItemOption) {
- data.each(function(idx) {
- var rawItem = data.getRawDataItem(idx);
- if (rawItem && rawItem.selected) {
- dataIndices.push(idx);
- }
- });
- }
- if (dataIndices.length > 0) {
- this._innerSelect(data, dataIndices);
- }
- };
- SeriesModel2.registerClass = function(clz) {
- return Component_default.registerClass(clz);
- };
- SeriesModel2.protoInitialize = function() {
- var proto2 = SeriesModel2.prototype;
- proto2.type = "series.__base__";
- proto2.seriesIndex = 0;
- proto2.ignoreStyleOnData = false;
- proto2.hasSymbolVisual = false;
- proto2.defaultSymbol = "circle";
- proto2.visualStyleAccessPath = "itemStyle";
- proto2.visualDrawType = "fill";
- }();
- return SeriesModel2;
- }(Component_default);
- mixin(SeriesModel, DataFormatMixin);
- mixin(SeriesModel, PaletteMixin);
- mountExtend(SeriesModel, Component_default);
- function autoSeriesName(seriesModel) {
- var name = seriesModel.name;
- if (!isNameSpecified(seriesModel)) {
- seriesModel.name = getSeriesAutoName(seriesModel) || name;
- }
- }
- function getSeriesAutoName(seriesModel) {
- var data = seriesModel.getRawData();
- var dataDims = data.mapDimensionsAll("seriesName");
- var nameArr = [];
- each(dataDims, function(dataDim) {
- var dimInfo = data.getDimensionInfo(dataDim);
- dimInfo.displayName && nameArr.push(dimInfo.displayName);
- });
- return nameArr.join(" ");
- }
- function dataTaskCount(context) {
- return context.model.getRawData().count();
- }
- function dataTaskReset(context) {
- var seriesModel = context.model;
- seriesModel.setData(seriesModel.getRawData().cloneShallow());
- return dataTaskProgress;
- }
- function dataTaskProgress(param, context) {
- if (context.outputData && param.end > context.outputData.count()) {
- context.model.getRawData().cloneShallow(context.outputData);
- }
- }
- function wrapData(data, seriesModel) {
- each(concatArray(data.CHANGABLE_METHODS, data.DOWNSAMPLE_METHODS), function(methodName) {
- data.wrapMethod(methodName, curry(onDataChange, seriesModel));
- });
- }
- function onDataChange(seriesModel, newList) {
- var task = getCurrentTask(seriesModel);
- if (task) {
- task.setOutputEnd((newList || this).count());
- }
- return newList;
- }
- function getCurrentTask(seriesModel) {
- var scheduler = (seriesModel.ecModel || {}).scheduler;
- var pipeline = scheduler && scheduler.getPipeline(seriesModel.uid);
- if (pipeline) {
- var task = pipeline.currentTask;
- if (task) {
- var agentStubMap = task.agentStubMap;
- if (agentStubMap) {
- task = agentStubMap.get(seriesModel.uid);
- }
- }
- return task;
- }
- }
- var Series_default = SeriesModel;
- // node_modules/echarts/lib/view/Chart.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/chart/helper/createRenderPlanner.js
- init_define_APP_INFO();
- function createRenderPlanner() {
- var inner7 = makeInner();
- return function(seriesModel) {
- var fields = inner7(seriesModel);
- var pipelineContext = seriesModel.pipelineContext;
- var originalLarge = !!fields.large;
- var originalProgressive = !!fields.progressiveRender;
- var large = fields.large = !!(pipelineContext && pipelineContext.large);
- var progressive = fields.progressiveRender = !!(pipelineContext && pipelineContext.progressiveRender);
- return !!(originalLarge !== large || originalProgressive !== progressive) && "reset";
- };
- }
- // node_modules/echarts/lib/view/Chart.js
- var inner4 = makeInner();
- var renderPlanner = createRenderPlanner();
- var ChartView = function() {
- function ChartView2() {
- this.group = new Group_default();
- this.uid = getUID("viewChart");
- this.renderTask = createTask({
- plan: renderTaskPlan,
- reset: renderTaskReset
- });
- this.renderTask.context = {
- view: this
- };
- }
- ChartView2.prototype.init = function(ecModel, api) {
- };
- ChartView2.prototype.render = function(seriesModel, ecModel, api, payload) {
- if (true) {
- throw new Error("render method must been implemented");
- }
- };
- ChartView2.prototype.highlight = function(seriesModel, ecModel, api, payload) {
- var data = seriesModel.getData(payload && payload.dataType);
- if (!data) {
- if (true) {
- error("Unknown dataType " + payload.dataType);
- }
- return;
- }
- toggleHighlight(data, payload, "emphasis");
- };
- ChartView2.prototype.downplay = function(seriesModel, ecModel, api, payload) {
- var data = seriesModel.getData(payload && payload.dataType);
- if (!data) {
- if (true) {
- error("Unknown dataType " + payload.dataType);
- }
- return;
- }
- toggleHighlight(data, payload, "normal");
- };
- ChartView2.prototype.remove = function(ecModel, api) {
- this.group.removeAll();
- };
- ChartView2.prototype.dispose = function(ecModel, api) {
- };
- ChartView2.prototype.updateView = function(seriesModel, ecModel, api, payload) {
- this.render(seriesModel, ecModel, api, payload);
- };
- ChartView2.prototype.updateLayout = function(seriesModel, ecModel, api, payload) {
- this.render(seriesModel, ecModel, api, payload);
- };
- ChartView2.prototype.updateVisual = function(seriesModel, ecModel, api, payload) {
- this.render(seriesModel, ecModel, api, payload);
- };
- ChartView2.prototype.eachRendered = function(cb) {
- traverseElements(this.group, cb);
- };
- ChartView2.markUpdateMethod = function(payload, methodName) {
- inner4(payload).updateMethod = methodName;
- };
- ChartView2.protoInitialize = function() {
- var proto2 = ChartView2.prototype;
- proto2.type = "chart";
- }();
- return ChartView2;
- }();
- function elSetState(el, state, highlightDigit) {
- if (el && isHighDownDispatcher(el)) {
- (state === "emphasis" ? enterEmphasis : leaveEmphasis)(el, highlightDigit);
- }
- }
- function toggleHighlight(data, payload, state) {
- var dataIndex = queryDataIndex(data, payload);
- var highlightDigit = payload && payload.highlightKey != null ? getHighlightDigit(payload.highlightKey) : null;
- if (dataIndex != null) {
- each(normalizeToArray(dataIndex), function(dataIdx) {
- elSetState(data.getItemGraphicEl(dataIdx), state, highlightDigit);
- });
- } else {
- data.eachItemGraphicEl(function(el) {
- elSetState(el, state, highlightDigit);
- });
- }
- }
- enableClassExtend(ChartView, ["dispose"]);
- enableClassManagement(ChartView);
- function renderTaskPlan(context) {
- return renderPlanner(context.model);
- }
- function renderTaskReset(context) {
- var seriesModel = context.model;
- var ecModel = context.ecModel;
- var api = context.api;
- var payload = context.payload;
- var progressiveRender = seriesModel.pipelineContext.progressiveRender;
- var view = context.view;
- var updateMethod = payload && inner4(payload).updateMethod;
- var methodName = progressiveRender ? "incrementalPrepareRender" : updateMethod && view[updateMethod] ? updateMethod : "render";
- if (methodName !== "render") {
- view[methodName](seriesModel, ecModel, api, payload);
- }
- return progressMethodMap[methodName];
- }
- var progressMethodMap = {
- incrementalPrepareRender: {
- progress: function(params, context) {
- context.view.incrementalRender(params, context.model, context.ecModel, context.api, context.payload);
- }
- },
- render: {
- forceFirstProgress: true,
- progress: function(params, context) {
- context.view.render(context.model, context.ecModel, context.api, context.payload);
- }
- }
- };
- var Chart_default = ChartView;
- // node_modules/echarts/lib/util/throttle.js
- init_define_APP_INFO();
- var ORIGIN_METHOD = "\0__throttleOriginMethod";
- var RATE = "\0__throttleRate";
- var THROTTLE_TYPE = "\0__throttleType";
- function throttle(fn, delay, debounce) {
- var currCall;
- var lastCall = 0;
- var lastExec = 0;
- var timer = null;
- var diff;
- var scope;
- var args;
- var debounceNextCall;
- delay = delay || 0;
- function exec() {
- lastExec = new Date().getTime();
- timer = null;
- fn.apply(scope, args || []);
- }
- var cb = function() {
- var cbArgs = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- cbArgs[_i] = arguments[_i];
- }
- currCall = new Date().getTime();
- scope = this;
- args = cbArgs;
- var thisDelay = debounceNextCall || delay;
- var thisDebounce = debounceNextCall || debounce;
- debounceNextCall = null;
- diff = currCall - (thisDebounce ? lastCall : lastExec) - thisDelay;
- clearTimeout(timer);
- if (thisDebounce) {
- timer = setTimeout(exec, thisDelay);
- } else {
- if (diff >= 0) {
- exec();
- } else {
- timer = setTimeout(exec, -diff);
- }
- }
- lastCall = currCall;
- };
- cb.clear = function() {
- if (timer) {
- clearTimeout(timer);
- timer = null;
- }
- };
- cb.debounceNextCall = function(debounceDelay) {
- debounceNextCall = debounceDelay;
- };
- return cb;
- }
- function createOrUpdate(obj, fnAttr, rate, throttleType) {
- var fn = obj[fnAttr];
- if (!fn) {
- return;
- }
- var originFn = fn[ORIGIN_METHOD] || fn;
- var lastThrottleType = fn[THROTTLE_TYPE];
- var lastRate = fn[RATE];
- if (lastRate !== rate || lastThrottleType !== throttleType) {
- if (rate == null || !throttleType) {
- return obj[fnAttr] = originFn;
- }
- fn = obj[fnAttr] = throttle(originFn, rate, throttleType === "debounce");
- fn[ORIGIN_METHOD] = originFn;
- fn[THROTTLE_TYPE] = throttleType;
- fn[RATE] = rate;
- }
- return fn;
- }
- function clear(obj, fnAttr) {
- var fn = obj[fnAttr];
- if (fn && fn[ORIGIN_METHOD]) {
- fn.clear && fn.clear();
- obj[fnAttr] = fn[ORIGIN_METHOD];
- }
- }
- // node_modules/zrender/lib/zrender.js
- var zrender_exports = {};
- __export(zrender_exports, {
- dispose: () => dispose,
- disposeAll: () => disposeAll,
- getInstance: () => getInstance,
- init: () => init,
- registerPainter: () => registerPainter,
- version: () => version
- });
- init_define_APP_INFO();
- // node_modules/zrender/lib/Handler.js
- init_define_APP_INFO();
- // node_modules/zrender/lib/mixin/Draggable.js
- init_define_APP_INFO();
- var Param = function() {
- function Param2(target, e2) {
- this.target = target;
- this.topTarget = e2 && e2.topTarget;
- }
- return Param2;
- }();
- var Draggable = function() {
- function Draggable2(handler) {
- this.handler = handler;
- handler.on("mousedown", this._dragStart, this);
- handler.on("mousemove", this._drag, this);
- handler.on("mouseup", this._dragEnd, this);
- }
- Draggable2.prototype._dragStart = function(e2) {
- var draggingTarget = e2.target;
- while (draggingTarget && !draggingTarget.draggable) {
- draggingTarget = draggingTarget.parent || draggingTarget.__hostTarget;
- }
- if (draggingTarget) {
- this._draggingTarget = draggingTarget;
- draggingTarget.dragging = true;
- this._x = e2.offsetX;
- this._y = e2.offsetY;
- this.handler.dispatchToElement(new Param(draggingTarget, e2), "dragstart", e2.event);
- }
- };
- Draggable2.prototype._drag = function(e2) {
- var draggingTarget = this._draggingTarget;
- if (draggingTarget) {
- var x = e2.offsetX;
- var y = e2.offsetY;
- var dx = x - this._x;
- var dy = y - this._y;
- this._x = x;
- this._y = y;
- draggingTarget.drift(dx, dy, e2);
- this.handler.dispatchToElement(new Param(draggingTarget, e2), "drag", e2.event);
- var dropTarget = this.handler.findHover(x, y, draggingTarget).target;
- var lastDropTarget = this._dropTarget;
- this._dropTarget = dropTarget;
- if (draggingTarget !== dropTarget) {
- if (lastDropTarget && dropTarget !== lastDropTarget) {
- this.handler.dispatchToElement(new Param(lastDropTarget, e2), "dragleave", e2.event);
- }
- if (dropTarget && dropTarget !== lastDropTarget) {
- this.handler.dispatchToElement(new Param(dropTarget, e2), "dragenter", e2.event);
- }
- }
- }
- };
- Draggable2.prototype._dragEnd = function(e2) {
- var draggingTarget = this._draggingTarget;
- if (draggingTarget) {
- draggingTarget.dragging = false;
- }
- this.handler.dispatchToElement(new Param(draggingTarget, e2), "dragend", e2.event);
- if (this._dropTarget) {
- this.handler.dispatchToElement(new Param(this._dropTarget, e2), "drop", e2.event);
- }
- this._draggingTarget = null;
- this._dropTarget = null;
- };
- return Draggable2;
- }();
- var Draggable_default = Draggable;
- // node_modules/zrender/lib/core/event.js
- init_define_APP_INFO();
- // node_modules/zrender/lib/core/dom.js
- init_define_APP_INFO();
- // node_modules/zrender/lib/core/fourPointsTransform.js
- init_define_APP_INFO();
- var LN2 = Math.log(2);
- function determinant(rows, rank, rowStart, rowMask, colMask, detCache) {
- var cacheKey = rowMask + "-" + colMask;
- var fullRank = rows.length;
- if (detCache.hasOwnProperty(cacheKey)) {
- return detCache[cacheKey];
- }
- if (rank === 1) {
- var colStart = Math.round(Math.log((1 << fullRank) - 1 & ~colMask) / LN2);
- return rows[rowStart][colStart];
- }
- var subRowMask = rowMask | 1 << rowStart;
- var subRowStart = rowStart + 1;
- while (rowMask & 1 << subRowStart) {
- subRowStart++;
- }
- var sum = 0;
- for (var j = 0, colLocalIdx = 0; j < fullRank; j++) {
- var colTag = 1 << j;
- if (!(colTag & colMask)) {
- sum += (colLocalIdx % 2 ? -1 : 1) * rows[rowStart][j] * determinant(rows, rank - 1, subRowStart, subRowMask, colMask | colTag, detCache);
- colLocalIdx++;
- }
- }
- detCache[cacheKey] = sum;
- return sum;
- }
- function buildTransformer(src, dest) {
- var mA = [
- [src[0], src[1], 1, 0, 0, 0, -dest[0] * src[0], -dest[0] * src[1]],
- [0, 0, 0, src[0], src[1], 1, -dest[1] * src[0], -dest[1] * src[1]],
- [src[2], src[3], 1, 0, 0, 0, -dest[2] * src[2], -dest[2] * src[3]],
- [0, 0, 0, src[2], src[3], 1, -dest[3] * src[2], -dest[3] * src[3]],
- [src[4], src[5], 1, 0, 0, 0, -dest[4] * src[4], -dest[4] * src[5]],
- [0, 0, 0, src[4], src[5], 1, -dest[5] * src[4], -dest[5] * src[5]],
- [src[6], src[7], 1, 0, 0, 0, -dest[6] * src[6], -dest[6] * src[7]],
- [0, 0, 0, src[6], src[7], 1, -dest[7] * src[6], -dest[7] * src[7]]
- ];
- var detCache = {};
- var det = determinant(mA, 8, 0, 0, 0, detCache);
- if (det === 0) {
- return;
- }
- var vh = [];
- for (var i = 0; i < 8; i++) {
- for (var j = 0; j < 8; j++) {
- vh[j] == null && (vh[j] = 0);
- vh[j] += ((i + j) % 2 ? -1 : 1) * determinant(mA, 7, i === 0 ? 1 : 0, 1 << i, 1 << j, detCache) / det * dest[i];
- }
- }
- return function(out2, srcPointX, srcPointY) {
- var pk = srcPointX * vh[6] + srcPointY * vh[7] + 1;
- out2[0] = (srcPointX * vh[0] + srcPointY * vh[1] + vh[2]) / pk;
- out2[1] = (srcPointX * vh[3] + srcPointY * vh[4] + vh[5]) / pk;
- };
- }
- // node_modules/zrender/lib/core/dom.js
- var EVENT_SAVED_PROP = "___zrEVENTSAVED";
- var _calcOut = [];
- function transformLocalCoord(out2, elFrom, elTarget, inX, inY) {
- return transformCoordWithViewport(_calcOut, elFrom, inX, inY, true) && transformCoordWithViewport(out2, elTarget, _calcOut[0], _calcOut[1]);
- }
- function transformCoordWithViewport(out2, el, inX, inY, inverse) {
- if (el.getBoundingClientRect && env_default.domSupported && !isCanvasEl(el)) {
- var saved = el[EVENT_SAVED_PROP] || (el[EVENT_SAVED_PROP] = {});
- var markers = prepareCoordMarkers(el, saved);
- var transformer = preparePointerTransformer(markers, saved, inverse);
- if (transformer) {
- transformer(out2, inX, inY);
- return true;
- }
- }
- return false;
- }
- function prepareCoordMarkers(el, saved) {
- var markers = saved.markers;
- if (markers) {
- return markers;
- }
- markers = saved.markers = [];
- var propLR = ["left", "right"];
- var propTB = ["top", "bottom"];
- for (var i = 0; i < 4; i++) {
- var marker = document.createElement("div");
- var stl = marker.style;
- var idxLR = i % 2;
- var idxTB = (i >> 1) % 2;
- stl.cssText = [
- "position: absolute",
- "visibility: hidden",
- "padding: 0",
- "margin: 0",
- "border-width: 0",
- "user-select: none",
- "width:0",
- "height:0",
- propLR[idxLR] + ":0",
- propTB[idxTB] + ":0",
- propLR[1 - idxLR] + ":auto",
- propTB[1 - idxTB] + ":auto",
- ""
- ].join("!important;");
- el.appendChild(marker);
- markers.push(marker);
- }
- return markers;
- }
- function preparePointerTransformer(markers, saved, inverse) {
- var transformerName = inverse ? "invTrans" : "trans";
- var transformer = saved[transformerName];
- var oldSrcCoords = saved.srcCoords;
- var srcCoords = [];
- var destCoords = [];
- var oldCoordTheSame = true;
- for (var i = 0; i < 4; i++) {
- var rect = markers[i].getBoundingClientRect();
- var ii = 2 * i;
- var x = rect.left;
- var y = rect.top;
- srcCoords.push(x, y);
- oldCoordTheSame = oldCoordTheSame && oldSrcCoords && x === oldSrcCoords[ii] && y === oldSrcCoords[ii + 1];
- destCoords.push(markers[i].offsetLeft, markers[i].offsetTop);
- }
- return oldCoordTheSame && transformer ? transformer : (saved.srcCoords = srcCoords, saved[transformerName] = inverse ? buildTransformer(destCoords, srcCoords) : buildTransformer(srcCoords, destCoords));
- }
- function isCanvasEl(el) {
- return el.nodeName.toUpperCase() === "CANVAS";
- }
- // node_modules/zrender/lib/core/event.js
- var MOUSE_EVENT_REG = /^(?:mouse|pointer|contextmenu|drag|drop)|click/;
- var _calcOut2 = [];
- var firefoxNotSupportOffsetXY = env_default.browser.firefox && +env_default.browser.version.split(".")[0] < 39;
- function clientToLocal(el, e2, out2, calculate) {
- out2 = out2 || {};
- if (calculate) {
- calculateZrXY(el, e2, out2);
- } else if (firefoxNotSupportOffsetXY && e2.layerX != null && e2.layerX !== e2.offsetX) {
- out2.zrX = e2.layerX;
- out2.zrY = e2.layerY;
- } else if (e2.offsetX != null) {
- out2.zrX = e2.offsetX;
- out2.zrY = e2.offsetY;
- } else {
- calculateZrXY(el, e2, out2);
- }
- return out2;
- }
- function calculateZrXY(el, e2, out2) {
- if (env_default.domSupported && el.getBoundingClientRect) {
- var ex = e2.clientX;
- var ey = e2.clientY;
- if (isCanvasEl(el)) {
- var box2 = el.getBoundingClientRect();
- out2.zrX = ex - box2.left;
- out2.zrY = ey - box2.top;
- return;
- } else {
- if (transformCoordWithViewport(_calcOut2, el, ex, ey)) {
- out2.zrX = _calcOut2[0];
- out2.zrY = _calcOut2[1];
- return;
- }
- }
- }
- out2.zrX = out2.zrY = 0;
- }
- function getNativeEvent(e2) {
- return e2 || window.event;
- }
- function normalizeEvent(el, e2, calculate) {
- e2 = getNativeEvent(e2);
- if (e2.zrX != null) {
- return e2;
- }
- var eventType = e2.type;
- var isTouch = eventType && eventType.indexOf("touch") >= 0;
- if (!isTouch) {
- clientToLocal(el, e2, e2, calculate);
- var wheelDelta = getWheelDeltaMayPolyfill(e2);
- e2.zrDelta = wheelDelta ? wheelDelta / 120 : -(e2.detail || 0) / 3;
- } else {
- var touch = eventType !== "touchend" ? e2.targetTouches[0] : e2.changedTouches[0];
- touch && clientToLocal(el, touch, e2, calculate);
- }
- var button = e2.button;
- if (e2.which == null && button !== void 0 && MOUSE_EVENT_REG.test(e2.type)) {
- e2.which = button & 1 ? 1 : button & 2 ? 3 : button & 4 ? 2 : 0;
- }
- return e2;
- }
- function getWheelDeltaMayPolyfill(e2) {
- var rawWheelDelta = e2.wheelDelta;
- if (rawWheelDelta) {
- return rawWheelDelta;
- }
- var deltaX = e2.deltaX;
- var deltaY = e2.deltaY;
- if (deltaX == null || deltaY == null) {
- return rawWheelDelta;
- }
- var delta = deltaY !== 0 ? Math.abs(deltaY) : Math.abs(deltaX);
- var sign = deltaY > 0 ? -1 : deltaY < 0 ? 1 : deltaX > 0 ? -1 : 1;
- return 3 * delta * sign;
- }
- function addEventListener(el, name, handler, opt) {
- el.addEventListener(name, handler, opt);
- }
- function removeEventListener(el, name, handler, opt) {
- el.removeEventListener(name, handler, opt);
- }
- var stop = function(e2) {
- e2.preventDefault();
- e2.stopPropagation();
- e2.cancelBubble = true;
- };
- function isMiddleOrRightButtonOnMouseUpDown(e2) {
- return e2.which === 2 || e2.which === 3;
- }
- // node_modules/zrender/lib/core/GestureMgr.js
- init_define_APP_INFO();
- var GestureMgr = function() {
- function GestureMgr2() {
- this._track = [];
- }
- GestureMgr2.prototype.recognize = function(event, target, root) {
- this._doTrack(event, target, root);
- return this._recognize(event);
- };
- GestureMgr2.prototype.clear = function() {
- this._track.length = 0;
- return this;
- };
- GestureMgr2.prototype._doTrack = function(event, target, root) {
- var touches = event.touches;
- if (!touches) {
- return;
- }
- var trackItem = {
- points: [],
- touches: [],
- target,
- event
- };
- for (var i = 0, len = touches.length; i < len; i++) {
- var touch = touches[i];
- var pos = clientToLocal(root, touch, {});
- trackItem.points.push([pos.zrX, pos.zrY]);
- trackItem.touches.push(touch);
- }
- this._track.push(trackItem);
- };
- GestureMgr2.prototype._recognize = function(event) {
- for (var eventName in recognizers) {
- if (recognizers.hasOwnProperty(eventName)) {
- var gestureInfo = recognizers[eventName](this._track, event);
- if (gestureInfo) {
- return gestureInfo;
- }
- }
- }
- };
- return GestureMgr2;
- }();
- function dist2(pointPair) {
- var dx = pointPair[1][0] - pointPair[0][0];
- var dy = pointPair[1][1] - pointPair[0][1];
- return Math.sqrt(dx * dx + dy * dy);
- }
- function center(pointPair) {
- return [
- (pointPair[0][0] + pointPair[1][0]) / 2,
- (pointPair[0][1] + pointPair[1][1]) / 2
- ];
- }
- var recognizers = {
- pinch: function(tracks, event) {
- var trackLen = tracks.length;
- if (!trackLen) {
- return;
- }
- var pinchEnd = (tracks[trackLen - 1] || {}).points;
- var pinchPre = (tracks[trackLen - 2] || {}).points || pinchEnd;
- if (pinchPre && pinchPre.length > 1 && pinchEnd && pinchEnd.length > 1) {
- var pinchScale = dist2(pinchEnd) / dist2(pinchPre);
- !isFinite(pinchScale) && (pinchScale = 1);
- event.pinchScale = pinchScale;
- var pinchCenter = center(pinchEnd);
- event.pinchX = pinchCenter[0];
- event.pinchY = pinchCenter[1];
- return {
- type: "pinch",
- target: tracks[0].target,
- event
- };
- }
- }
- };
- // node_modules/zrender/lib/Handler.js
- var SILENT = "silent";
- function makeEventPacket(eveType, targetInfo, event) {
- return {
- type: eveType,
- event,
- target: targetInfo.target,
- topTarget: targetInfo.topTarget,
- cancelBubble: false,
- offsetX: event.zrX,
- offsetY: event.zrY,
- gestureEvent: event.gestureEvent,
- pinchX: event.pinchX,
- pinchY: event.pinchY,
- pinchScale: event.pinchScale,
- wheelDelta: event.zrDelta,
- zrByTouch: event.zrByTouch,
- which: event.which,
- stop: stopEvent
- };
- }
- function stopEvent() {
- stop(this.event);
- }
- var EmptyProxy = function(_super) {
- __extends(EmptyProxy2, _super);
- function EmptyProxy2() {
- var _this = _super !== null && _super.apply(this, arguments) || this;
- _this.handler = null;
- return _this;
- }
- EmptyProxy2.prototype.dispose = function() {
- };
- EmptyProxy2.prototype.setCursor = function() {
- };
- return EmptyProxy2;
- }(Eventful_default);
- var HoveredResult = function() {
- function HoveredResult2(x, y) {
- this.x = x;
- this.y = y;
- }
- return HoveredResult2;
- }();
- var handlerNames = [
- "click",
- "dblclick",
- "mousewheel",
- "mouseout",
- "mouseup",
- "mousedown",
- "mousemove",
- "contextmenu"
- ];
- var Handler = function(_super) {
- __extends(Handler2, _super);
- function Handler2(storage, painter, proxy, painterRoot) {
- var _this = _super.call(this) || this;
- _this._hovered = new HoveredResult(0, 0);
- _this.storage = storage;
- _this.painter = painter;
- _this.painterRoot = painterRoot;
- proxy = proxy || new EmptyProxy();
- _this.proxy = null;
- _this.setHandlerProxy(proxy);
- _this._draggingMgr = new Draggable_default(_this);
- return _this;
- }
- Handler2.prototype.setHandlerProxy = function(proxy) {
- if (this.proxy) {
- this.proxy.dispose();
- }
- if (proxy) {
- each(handlerNames, function(name) {
- proxy.on && proxy.on(name, this[name], this);
- }, this);
- proxy.handler = this;
- }
- this.proxy = proxy;
- };
- Handler2.prototype.mousemove = function(event) {
- var x = event.zrX;
- var y = event.zrY;
- var isOutside = isOutsideBoundary(this, x, y);
- var lastHovered = this._hovered;
- var lastHoveredTarget = lastHovered.target;
- if (lastHoveredTarget && !lastHoveredTarget.__zr) {
- lastHovered = this.findHover(lastHovered.x, lastHovered.y);
- lastHoveredTarget = lastHovered.target;
- }
- var hovered = this._hovered = isOutside ? new HoveredResult(x, y) : this.findHover(x, y);
- var hoveredTarget = hovered.target;
- var proxy = this.proxy;
- proxy.setCursor && proxy.setCursor(hoveredTarget ? hoveredTarget.cursor : "default");
- if (lastHoveredTarget && hoveredTarget !== lastHoveredTarget) {
- this.dispatchToElement(lastHovered, "mouseout", event);
- }
- this.dispatchToElement(hovered, "mousemove", event);
- if (hoveredTarget && hoveredTarget !== lastHoveredTarget) {
- this.dispatchToElement(hovered, "mouseover", event);
- }
- };
- Handler2.prototype.mouseout = function(event) {
- var eventControl = event.zrEventControl;
- if (eventControl !== "only_globalout") {
- this.dispatchToElement(this._hovered, "mouseout", event);
- }
- if (eventControl !== "no_globalout") {
- this.trigger("globalout", { type: "globalout", event });
- }
- };
- Handler2.prototype.resize = function() {
- this._hovered = new HoveredResult(0, 0);
- };
- Handler2.prototype.dispatch = function(eventName, eventArgs) {
- var handler = this[eventName];
- handler && handler.call(this, eventArgs);
- };
- Handler2.prototype.dispose = function() {
- this.proxy.dispose();
- this.storage = null;
- this.proxy = null;
- this.painter = null;
- };
- Handler2.prototype.setCursorStyle = function(cursorStyle) {
- var proxy = this.proxy;
- proxy.setCursor && proxy.setCursor(cursorStyle);
- };
- Handler2.prototype.dispatchToElement = function(targetInfo, eventName, event) {
- targetInfo = targetInfo || {};
- var el = targetInfo.target;
- if (el && el.silent) {
- return;
- }
- var eventKey = "on" + eventName;
- var eventPacket = makeEventPacket(eventName, targetInfo, event);
- while (el) {
- el[eventKey] && (eventPacket.cancelBubble = !!el[eventKey].call(el, eventPacket));
- el.trigger(eventName, eventPacket);
- el = el.__hostTarget ? el.__hostTarget : el.parent;
- if (eventPacket.cancelBubble) {
- break;
- }
- }
- if (!eventPacket.cancelBubble) {
- this.trigger(eventName, eventPacket);
- if (this.painter && this.painter.eachOtherLayer) {
- this.painter.eachOtherLayer(function(layer) {
- if (typeof layer[eventKey] === "function") {
- layer[eventKey].call(layer, eventPacket);
- }
- if (layer.trigger) {
- layer.trigger(eventName, eventPacket);
- }
- });
- }
- }
- };
- Handler2.prototype.findHover = function(x, y, exclude) {
- var list = this.storage.getDisplayList();
- var out2 = new HoveredResult(x, y);
- for (var i = list.length - 1; i >= 0; i--) {
- var hoverCheckResult = void 0;
- if (list[i] !== exclude && !list[i].ignore && (hoverCheckResult = isHover(list[i], x, y))) {
- !out2.topTarget && (out2.topTarget = list[i]);
- if (hoverCheckResult !== SILENT) {
- out2.target = list[i];
- break;
- }
- }
- }
- return out2;
- };
- Handler2.prototype.processGesture = function(event, stage) {
- if (!this._gestureMgr) {
- this._gestureMgr = new GestureMgr();
- }
- var gestureMgr = this._gestureMgr;
- stage === "start" && gestureMgr.clear();
- var gestureInfo = gestureMgr.recognize(event, this.findHover(event.zrX, event.zrY, null).target, this.proxy.dom);
- stage === "end" && gestureMgr.clear();
- if (gestureInfo) {
- var type = gestureInfo.type;
- event.gestureEvent = type;
- var res = new HoveredResult();
- res.target = gestureInfo.target;
- this.dispatchToElement(res, type, gestureInfo.event);
- }
- };
- return Handler2;
- }(Eventful_default);
- each(["click", "mousedown", "mouseup", "mousewheel", "dblclick", "contextmenu"], function(name) {
- Handler.prototype[name] = function(event) {
- var x = event.zrX;
- var y = event.zrY;
- var isOutside = isOutsideBoundary(this, x, y);
- var hovered;
- var hoveredTarget;
- if (name !== "mouseup" || !isOutside) {
- hovered = this.findHover(x, y);
- hoveredTarget = hovered.target;
- }
- if (name === "mousedown") {
- this._downEl = hoveredTarget;
- this._downPoint = [event.zrX, event.zrY];
- this._upEl = hoveredTarget;
- } else if (name === "mouseup") {
- this._upEl = hoveredTarget;
- } else if (name === "click") {
- if (this._downEl !== this._upEl || !this._downPoint || dist(this._downPoint, [event.zrX, event.zrY]) > 4) {
- return;
- }
- this._downPoint = null;
- }
- this.dispatchToElement(hovered, name, event);
- };
- });
- function isHover(displayable, x, y) {
- if (displayable[displayable.rectHover ? "rectContain" : "contain"](x, y)) {
- var el = displayable;
- var isSilent = void 0;
- var ignoreClip = false;
- while (el) {
- if (el.ignoreClip) {
- ignoreClip = true;
- }
- if (!ignoreClip) {
- var clipPath = el.getClipPath();
- if (clipPath && !clipPath.contain(x, y)) {
- return false;
- }
- if (el.silent) {
- isSilent = true;
- }
- }
- var hostEl = el.__hostTarget;
- el = hostEl ? hostEl : el.parent;
- }
- return isSilent ? SILENT : true;
- }
- return false;
- }
- function isOutsideBoundary(handlerInstance, x, y) {
- var painter = handlerInstance.painter;
- return x < 0 || x > painter.getWidth() || y < 0 || y > painter.getHeight();
- }
- var Handler_default = Handler;
- // node_modules/zrender/lib/Storage.js
- init_define_APP_INFO();
- // node_modules/zrender/lib/core/timsort.js
- init_define_APP_INFO();
- var DEFAULT_MIN_MERGE = 32;
- var DEFAULT_MIN_GALLOPING = 7;
- var DEFAULT_TMP_STORAGE_LENGTH = 256;
- function minRunLength(n) {
- var r = 0;
- while (n >= DEFAULT_MIN_MERGE) {
- r |= n & 1;
- n >>= 1;
- }
- return n + r;
- }
- function makeAscendingRun(array, lo, hi, compare2) {
- var runHi = lo + 1;
- if (runHi === hi) {
- return 1;
- }
- if (compare2(array[runHi++], array[lo]) < 0) {
- while (runHi < hi && compare2(array[runHi], array[runHi - 1]) < 0) {
- runHi++;
- }
- reverseRun(array, lo, runHi);
- } else {
- while (runHi < hi && compare2(array[runHi], array[runHi - 1]) >= 0) {
- runHi++;
- }
- }
- return runHi - lo;
- }
- function reverseRun(array, lo, hi) {
- hi--;
- while (lo < hi) {
- var t = array[lo];
- array[lo++] = array[hi];
- array[hi--] = t;
- }
- }
- function binaryInsertionSort(array, lo, hi, start, compare2) {
- if (start === lo) {
- start++;
- }
- for (; start < hi; start++) {
- var pivot = array[start];
- var left = lo;
- var right = start;
- var mid;
- while (left < right) {
- mid = left + right >>> 1;
- if (compare2(pivot, array[mid]) < 0) {
- right = mid;
- } else {
- left = mid + 1;
- }
- }
- var n = start - left;
- switch (n) {
- case 3:
- array[left + 3] = array[left + 2];
- case 2:
- array[left + 2] = array[left + 1];
- case 1:
- array[left + 1] = array[left];
- break;
- default:
- while (n > 0) {
- array[left + n] = array[left + n - 1];
- n--;
- }
- }
- array[left] = pivot;
- }
- }
- function gallopLeft(value, array, start, length, hint, compare2) {
- var lastOffset = 0;
- var maxOffset = 0;
- var offset = 1;
- if (compare2(value, array[start + hint]) > 0) {
- maxOffset = length - hint;
- while (offset < maxOffset && compare2(value, array[start + hint + offset]) > 0) {
- lastOffset = offset;
- offset = (offset << 1) + 1;
- if (offset <= 0) {
- offset = maxOffset;
- }
- }
- if (offset > maxOffset) {
- offset = maxOffset;
- }
- lastOffset += hint;
- offset += hint;
- } else {
- maxOffset = hint + 1;
- while (offset < maxOffset && compare2(value, array[start + hint - offset]) <= 0) {
- lastOffset = offset;
- offset = (offset << 1) + 1;
- if (offset <= 0) {
- offset = maxOffset;
- }
- }
- if (offset > maxOffset) {
- offset = maxOffset;
- }
- var tmp = lastOffset;
- lastOffset = hint - offset;
- offset = hint - tmp;
- }
- lastOffset++;
- while (lastOffset < offset) {
- var m2 = lastOffset + (offset - lastOffset >>> 1);
- if (compare2(value, array[start + m2]) > 0) {
- lastOffset = m2 + 1;
- } else {
- offset = m2;
- }
- }
- return offset;
- }
- function gallopRight(value, array, start, length, hint, compare2) {
- var lastOffset = 0;
- var maxOffset = 0;
- var offset = 1;
- if (compare2(value, array[start + hint]) < 0) {
- maxOffset = hint + 1;
- while (offset < maxOffset && compare2(value, array[start + hint - offset]) < 0) {
- lastOffset = offset;
- offset = (offset << 1) + 1;
- if (offset <= 0) {
- offset = maxOffset;
- }
- }
- if (offset > maxOffset) {
- offset = maxOffset;
- }
- var tmp = lastOffset;
- lastOffset = hint - offset;
- offset = hint - tmp;
- } else {
- maxOffset = length - hint;
- while (offset < maxOffset && compare2(value, array[start + hint + offset]) >= 0) {
- lastOffset = offset;
- offset = (offset << 1) + 1;
- if (offset <= 0) {
- offset = maxOffset;
- }
- }
- if (offset > maxOffset) {
- offset = maxOffset;
- }
- lastOffset += hint;
- offset += hint;
- }
- lastOffset++;
- while (lastOffset < offset) {
- var m2 = lastOffset + (offset - lastOffset >>> 1);
- if (compare2(value, array[start + m2]) < 0) {
- offset = m2;
- } else {
- lastOffset = m2 + 1;
- }
- }
- return offset;
- }
- function TimSort(array, compare2) {
- var minGallop = DEFAULT_MIN_GALLOPING;
- var length = 0;
- var tmpStorageLength = DEFAULT_TMP_STORAGE_LENGTH;
- var stackLength = 0;
- var runStart;
- var runLength;
- var stackSize = 0;
- length = array.length;
- if (length < 2 * DEFAULT_TMP_STORAGE_LENGTH) {
- tmpStorageLength = length >>> 1;
- }
- var tmp = [];
- stackLength = length < 120 ? 5 : length < 1542 ? 10 : length < 119151 ? 19 : 40;
- runStart = [];
- runLength = [];
- function pushRun(_runStart, _runLength) {
- runStart[stackSize] = _runStart;
- runLength[stackSize] = _runLength;
- stackSize += 1;
- }
- function mergeRuns() {
- while (stackSize > 1) {
- var n = stackSize - 2;
- if (n >= 1 && runLength[n - 1] <= runLength[n] + runLength[n + 1] || n >= 2 && runLength[n - 2] <= runLength[n] + runLength[n - 1]) {
- if (runLength[n - 1] < runLength[n + 1]) {
- n--;
- }
- } else if (runLength[n] > runLength[n + 1]) {
- break;
- }
- mergeAt(n);
- }
- }
- function forceMergeRuns() {
- while (stackSize > 1) {
- var n = stackSize - 2;
- if (n > 0 && runLength[n - 1] < runLength[n + 1]) {
- n--;
- }
- mergeAt(n);
- }
- }
- function mergeAt(i) {
- var start1 = runStart[i];
- var length1 = runLength[i];
- var start2 = runStart[i + 1];
- var length2 = runLength[i + 1];
- runLength[i] = length1 + length2;
- if (i === stackSize - 3) {
- runStart[i + 1] = runStart[i + 2];
- runLength[i + 1] = runLength[i + 2];
- }
- stackSize--;
- var k = gallopRight(array[start2], array, start1, length1, 0, compare2);
- start1 += k;
- length1 -= k;
- if (length1 === 0) {
- return;
- }
- length2 = gallopLeft(array[start1 + length1 - 1], array, start2, length2, length2 - 1, compare2);
- if (length2 === 0) {
- return;
- }
- if (length1 <= length2) {
- mergeLow(start1, length1, start2, length2);
- } else {
- mergeHigh(start1, length1, start2, length2);
- }
- }
- function mergeLow(start1, length1, start2, length2) {
- var i = 0;
- for (i = 0; i < length1; i++) {
- tmp[i] = array[start1 + i];
- }
- var cursor1 = 0;
- var cursor2 = start2;
- var dest = start1;
- array[dest++] = array[cursor2++];
- if (--length2 === 0) {
- for (i = 0; i < length1; i++) {
- array[dest + i] = tmp[cursor1 + i];
- }
- return;
- }
- if (length1 === 1) {
- for (i = 0; i < length2; i++) {
- array[dest + i] = array[cursor2 + i];
- }
- array[dest + length2] = tmp[cursor1];
- return;
- }
- var _minGallop = minGallop;
- var count1;
- var count2;
- var exit;
- while (1) {
- count1 = 0;
- count2 = 0;
- exit = false;
- do {
- if (compare2(array[cursor2], tmp[cursor1]) < 0) {
- array[dest++] = array[cursor2++];
- count2++;
- count1 = 0;
- if (--length2 === 0) {
- exit = true;
- break;
- }
- } else {
- array[dest++] = tmp[cursor1++];
- count1++;
- count2 = 0;
- if (--length1 === 1) {
- exit = true;
- break;
- }
- }
- } while ((count1 | count2) < _minGallop);
- if (exit) {
- break;
- }
- do {
- count1 = gallopRight(array[cursor2], tmp, cursor1, length1, 0, compare2);
- if (count1 !== 0) {
- for (i = 0; i < count1; i++) {
- array[dest + i] = tmp[cursor1 + i];
- }
- dest += count1;
- cursor1 += count1;
- length1 -= count1;
- if (length1 <= 1) {
- exit = true;
- break;
- }
- }
- array[dest++] = array[cursor2++];
- if (--length2 === 0) {
- exit = true;
- break;
- }
- count2 = gallopLeft(tmp[cursor1], array, cursor2, length2, 0, compare2);
- if (count2 !== 0) {
- for (i = 0; i < count2; i++) {
- array[dest + i] = array[cursor2 + i];
- }
- dest += count2;
- cursor2 += count2;
- length2 -= count2;
- if (length2 === 0) {
- exit = true;
- break;
- }
- }
- array[dest++] = tmp[cursor1++];
- if (--length1 === 1) {
- exit = true;
- break;
- }
- _minGallop--;
- } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);
- if (exit) {
- break;
- }
- if (_minGallop < 0) {
- _minGallop = 0;
- }
- _minGallop += 2;
- }
- minGallop = _minGallop;
- minGallop < 1 && (minGallop = 1);
- if (length1 === 1) {
- for (i = 0; i < length2; i++) {
- array[dest + i] = array[cursor2 + i];
- }
- array[dest + length2] = tmp[cursor1];
- } else if (length1 === 0) {
- throw new Error();
- } else {
- for (i = 0; i < length1; i++) {
- array[dest + i] = tmp[cursor1 + i];
- }
- }
- }
- function mergeHigh(start1, length1, start2, length2) {
- var i = 0;
- for (i = 0; i < length2; i++) {
- tmp[i] = array[start2 + i];
- }
- var cursor1 = start1 + length1 - 1;
- var cursor2 = length2 - 1;
- var dest = start2 + length2 - 1;
- var customCursor = 0;
- var customDest = 0;
- array[dest--] = array[cursor1--];
- if (--length1 === 0) {
- customCursor = dest - (length2 - 1);
- for (i = 0; i < length2; i++) {
- array[customCursor + i] = tmp[i];
- }
- return;
- }
- if (length2 === 1) {
- dest -= length1;
- cursor1 -= length1;
- customDest = dest + 1;
- customCursor = cursor1 + 1;
- for (i = length1 - 1; i >= 0; i--) {
- array[customDest + i] = array[customCursor + i];
- }
- array[dest] = tmp[cursor2];
- return;
- }
- var _minGallop = minGallop;
- while (true) {
- var count1 = 0;
- var count2 = 0;
- var exit = false;
- do {
- if (compare2(tmp[cursor2], array[cursor1]) < 0) {
- array[dest--] = array[cursor1--];
- count1++;
- count2 = 0;
- if (--length1 === 0) {
- exit = true;
- break;
- }
- } else {
- array[dest--] = tmp[cursor2--];
- count2++;
- count1 = 0;
- if (--length2 === 1) {
- exit = true;
- break;
- }
- }
- } while ((count1 | count2) < _minGallop);
- if (exit) {
- break;
- }
- do {
- count1 = length1 - gallopRight(tmp[cursor2], array, start1, length1, length1 - 1, compare2);
- if (count1 !== 0) {
- dest -= count1;
- cursor1 -= count1;
- length1 -= count1;
- customDest = dest + 1;
- customCursor = cursor1 + 1;
- for (i = count1 - 1; i >= 0; i--) {
- array[customDest + i] = array[customCursor + i];
- }
- if (length1 === 0) {
- exit = true;
- break;
- }
- }
- array[dest--] = tmp[cursor2--];
- if (--length2 === 1) {
- exit = true;
- break;
- }
- count2 = length2 - gallopLeft(array[cursor1], tmp, 0, length2, length2 - 1, compare2);
- if (count2 !== 0) {
- dest -= count2;
- cursor2 -= count2;
- length2 -= count2;
- customDest = dest + 1;
- customCursor = cursor2 + 1;
- for (i = 0; i < count2; i++) {
- array[customDest + i] = tmp[customCursor + i];
- }
- if (length2 <= 1) {
- exit = true;
- break;
- }
- }
- array[dest--] = array[cursor1--];
- if (--length1 === 0) {
- exit = true;
- break;
- }
- _minGallop--;
- } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);
- if (exit) {
- break;
- }
- if (_minGallop < 0) {
- _minGallop = 0;
- }
- _minGallop += 2;
- }
- minGallop = _minGallop;
- if (minGallop < 1) {
- minGallop = 1;
- }
- if (length2 === 1) {
- dest -= length1;
- cursor1 -= length1;
- customDest = dest + 1;
- customCursor = cursor1 + 1;
- for (i = length1 - 1; i >= 0; i--) {
- array[customDest + i] = array[customCursor + i];
- }
- array[dest] = tmp[cursor2];
- } else if (length2 === 0) {
- throw new Error();
- } else {
- customCursor = dest - (length2 - 1);
- for (i = 0; i < length2; i++) {
- array[customCursor + i] = tmp[i];
- }
- }
- }
- return {
- mergeRuns,
- forceMergeRuns,
- pushRun
- };
- }
- function sort(array, compare2, lo, hi) {
- if (!lo) {
- lo = 0;
- }
- if (!hi) {
- hi = array.length;
- }
- var remaining = hi - lo;
- if (remaining < 2) {
- return;
- }
- var runLength = 0;
- if (remaining < DEFAULT_MIN_MERGE) {
- runLength = makeAscendingRun(array, lo, hi, compare2);
- binaryInsertionSort(array, lo, hi, lo + runLength, compare2);
- return;
- }
- var ts = TimSort(array, compare2);
- var minRun = minRunLength(remaining);
- do {
- runLength = makeAscendingRun(array, lo, hi, compare2);
- if (runLength < minRun) {
- var force = remaining;
- if (force > minRun) {
- force = minRun;
- }
- binaryInsertionSort(array, lo, lo + force, lo + runLength, compare2);
- runLength = force;
- }
- ts.pushRun(lo, runLength);
- ts.mergeRuns();
- remaining -= runLength;
- lo += runLength;
- } while (remaining !== 0);
- ts.forceMergeRuns();
- }
- // node_modules/zrender/lib/Storage.js
- var invalidZErrorLogged = false;
- function logInvalidZError() {
- if (invalidZErrorLogged) {
- return;
- }
- invalidZErrorLogged = true;
- console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors");
- }
- function shapeCompareFunc(a, b) {
- if (a.zlevel === b.zlevel) {
- if (a.z === b.z) {
- return a.z2 - b.z2;
- }
- return a.z - b.z;
- }
- return a.zlevel - b.zlevel;
- }
- var Storage = function() {
- function Storage2() {
- this._roots = [];
- this._displayList = [];
- this._displayListLen = 0;
- this.displayableSortFunc = shapeCompareFunc;
- }
- Storage2.prototype.traverse = function(cb, context) {
- for (var i = 0; i < this._roots.length; i++) {
- this._roots[i].traverse(cb, context);
- }
- };
- Storage2.prototype.getDisplayList = function(update, includeIgnore) {
- includeIgnore = includeIgnore || false;
- var displayList = this._displayList;
- if (update || !displayList.length) {
- this.updateDisplayList(includeIgnore);
- }
- return displayList;
- };
- Storage2.prototype.updateDisplayList = function(includeIgnore) {
- this._displayListLen = 0;
- var roots = this._roots;
- var displayList = this._displayList;
- for (var i = 0, len = roots.length; i < len; i++) {
- this._updateAndAddDisplayable(roots[i], null, includeIgnore);
- }
- displayList.length = this._displayListLen;
- sort(displayList, shapeCompareFunc);
- };
- Storage2.prototype._updateAndAddDisplayable = function(el, clipPaths, includeIgnore) {
- if (el.ignore && !includeIgnore) {
- return;
- }
- el.beforeUpdate();
- el.update();
- el.afterUpdate();
- var userSetClipPath = el.getClipPath();
- if (el.ignoreClip) {
- clipPaths = null;
- } else if (userSetClipPath) {
- if (clipPaths) {
- clipPaths = clipPaths.slice();
- } else {
- clipPaths = [];
- }
- var currentClipPath = userSetClipPath;
- var parentClipPath = el;
- while (currentClipPath) {
- currentClipPath.parent = parentClipPath;
- currentClipPath.updateTransform();
- clipPaths.push(currentClipPath);
- parentClipPath = currentClipPath;
- currentClipPath = currentClipPath.getClipPath();
- }
- }
- if (el.childrenRef) {
- var children = el.childrenRef();
- for (var i = 0; i < children.length; i++) {
- var child = children[i];
- if (el.__dirty) {
- child.__dirty |= REDRAW_BIT;
- }
- this._updateAndAddDisplayable(child, clipPaths, includeIgnore);
- }
- el.__dirty = 0;
- } else {
- var disp = el;
- if (clipPaths && clipPaths.length) {
- disp.__clipPaths = clipPaths;
- } else if (disp.__clipPaths && disp.__clipPaths.length > 0) {
- disp.__clipPaths = [];
- }
- if (isNaN(disp.z)) {
- logInvalidZError();
- disp.z = 0;
- }
- if (isNaN(disp.z2)) {
- logInvalidZError();
- disp.z2 = 0;
- }
- if (isNaN(disp.zlevel)) {
- logInvalidZError();
- disp.zlevel = 0;
- }
- this._displayList[this._displayListLen++] = disp;
- }
- var decalEl = el.getDecalElement && el.getDecalElement();
- if (decalEl) {
- this._updateAndAddDisplayable(decalEl, clipPaths, includeIgnore);
- }
- var textGuide = el.getTextGuideLine();
- if (textGuide) {
- this._updateAndAddDisplayable(textGuide, clipPaths, includeIgnore);
- }
- var textEl = el.getTextContent();
- if (textEl) {
- this._updateAndAddDisplayable(textEl, clipPaths, includeIgnore);
- }
- };
- Storage2.prototype.addRoot = function(el) {
- if (el.__zr && el.__zr.storage === this) {
- return;
- }
- this._roots.push(el);
- };
- Storage2.prototype.delRoot = function(el) {
- if (el instanceof Array) {
- for (var i = 0, l = el.length; i < l; i++) {
- this.delRoot(el[i]);
- }
- return;
- }
- var idx = indexOf(this._roots, el);
- if (idx >= 0) {
- this._roots.splice(idx, 1);
- }
- };
- Storage2.prototype.delAllRoots = function() {
- this._roots = [];
- this._displayList = [];
- this._displayListLen = 0;
- return;
- };
- Storage2.prototype.getRoots = function() {
- return this._roots;
- };
- Storage2.prototype.dispose = function() {
- this._displayList = null;
- this._roots = null;
- };
- return Storage2;
- }();
- var Storage_default = Storage;
- // node_modules/zrender/lib/animation/Animation.js
- init_define_APP_INFO();
- function getTime() {
- return new Date().getTime();
- }
- var Animation = function(_super) {
- __extends(Animation2, _super);
- function Animation2(opts) {
- var _this = _super.call(this) || this;
- _this._running = false;
- _this._time = 0;
- _this._pausedTime = 0;
- _this._pauseStart = 0;
- _this._paused = false;
- opts = opts || {};
- _this.stage = opts.stage || {};
- return _this;
- }
- Animation2.prototype.addClip = function(clip) {
- if (clip.animation) {
- this.removeClip(clip);
- }
- if (!this._head) {
- this._head = this._tail = clip;
- } else {
- this._tail.next = clip;
- clip.prev = this._tail;
- clip.next = null;
- this._tail = clip;
- }
- clip.animation = this;
- };
- Animation2.prototype.addAnimator = function(animator) {
- animator.animation = this;
- var clip = animator.getClip();
- if (clip) {
- this.addClip(clip);
- }
- };
- Animation2.prototype.removeClip = function(clip) {
- if (!clip.animation) {
- return;
- }
- var prev = clip.prev;
- var next = clip.next;
- if (prev) {
- prev.next = next;
- } else {
- this._head = next;
- }
- if (next) {
- next.prev = prev;
- } else {
- this._tail = prev;
- }
- clip.next = clip.prev = clip.animation = null;
- };
- Animation2.prototype.removeAnimator = function(animator) {
- var clip = animator.getClip();
- if (clip) {
- this.removeClip(clip);
- }
- animator.animation = null;
- };
- Animation2.prototype.update = function(notTriggerFrameAndStageUpdate) {
- var time = getTime() - this._pausedTime;
- var delta = time - this._time;
- var clip = this._head;
- while (clip) {
- var nextClip = clip.next;
- var finished = clip.step(time, delta);
- if (finished) {
- clip.ondestroy();
- this.removeClip(clip);
- clip = nextClip;
- } else {
- clip = nextClip;
- }
- }
- this._time = time;
- if (!notTriggerFrameAndStageUpdate) {
- this.trigger("frame", delta);
- this.stage.update && this.stage.update();
- }
- };
- Animation2.prototype._startLoop = function() {
- var self = this;
- this._running = true;
- function step() {
- if (self._running) {
- requestAnimationFrame_default(step);
- !self._paused && self.update();
- }
- }
- requestAnimationFrame_default(step);
- };
- Animation2.prototype.start = function() {
- if (this._running) {
- return;
- }
- this._time = getTime();
- this._pausedTime = 0;
- this._startLoop();
- };
- Animation2.prototype.stop = function() {
- this._running = false;
- };
- Animation2.prototype.pause = function() {
- if (!this._paused) {
- this._pauseStart = getTime();
- this._paused = true;
- }
- };
- Animation2.prototype.resume = function() {
- if (this._paused) {
- this._pausedTime += getTime() - this._pauseStart;
- this._paused = false;
- }
- };
- Animation2.prototype.clear = function() {
- var clip = this._head;
- while (clip) {
- var nextClip = clip.next;
- clip.prev = clip.next = clip.animation = null;
- clip = nextClip;
- }
- this._head = this._tail = null;
- };
- Animation2.prototype.isFinished = function() {
- return this._head == null;
- };
- Animation2.prototype.animate = function(target, options) {
- options = options || {};
- this.start();
- var animator = new Animator_default(target, options.loop);
- this.addAnimator(animator);
- return animator;
- };
- return Animation2;
- }(Eventful_default);
- var Animation_default = Animation;
- // node_modules/zrender/lib/dom/HandlerProxy.js
- init_define_APP_INFO();
- var TOUCH_CLICK_DELAY = 300;
- var globalEventSupported = env_default.domSupported;
- var localNativeListenerNames = function() {
- var mouseHandlerNames = [
- "click",
- "dblclick",
- "mousewheel",
- "wheel",
- "mouseout",
- "mouseup",
- "mousedown",
- "mousemove",
- "contextmenu"
- ];
- var touchHandlerNames = [
- "touchstart",
- "touchend",
- "touchmove"
- ];
- var pointerEventNameMap = {
- pointerdown: 1,
- pointerup: 1,
- pointermove: 1,
- pointerout: 1
- };
- var pointerHandlerNames = map(mouseHandlerNames, function(name) {
- var nm = name.replace("mouse", "pointer");
- return pointerEventNameMap.hasOwnProperty(nm) ? nm : name;
- });
- return {
- mouse: mouseHandlerNames,
- touch: touchHandlerNames,
- pointer: pointerHandlerNames
- };
- }();
- var globalNativeListenerNames = {
- mouse: ["mousemove", "mouseup"],
- pointer: ["pointermove", "pointerup"]
- };
- var wheelEventSupported = false;
- function isPointerFromTouch(event) {
- var pointerType = event.pointerType;
- return pointerType === "pen" || pointerType === "touch";
- }
- function setTouchTimer(scope) {
- scope.touching = true;
- if (scope.touchTimer != null) {
- clearTimeout(scope.touchTimer);
- scope.touchTimer = null;
- }
- scope.touchTimer = setTimeout(function() {
- scope.touching = false;
- scope.touchTimer = null;
- }, 700);
- }
- function markTouch(event) {
- event && (event.zrByTouch = true);
- }
- function normalizeGlobalEvent(instance, event) {
- return normalizeEvent(instance.dom, new FakeGlobalEvent(instance, event), true);
- }
- function isLocalEl(instance, el) {
- var elTmp = el;
- var isLocal = false;
- while (elTmp && elTmp.nodeType !== 9 && !(isLocal = elTmp.domBelongToZr || elTmp !== el && elTmp === instance.painterRoot)) {
- elTmp = elTmp.parentNode;
- }
- return isLocal;
- }
- var FakeGlobalEvent = function() {
- function FakeGlobalEvent2(instance, event) {
- this.stopPropagation = noop;
- this.stopImmediatePropagation = noop;
- this.preventDefault = noop;
- this.type = event.type;
- this.target = this.currentTarget = instance.dom;
- this.pointerType = event.pointerType;
- this.clientX = event.clientX;
- this.clientY = event.clientY;
- }
- return FakeGlobalEvent2;
- }();
- var localDOMHandlers = {
- mousedown: function(event) {
- event = normalizeEvent(this.dom, event);
- this.__mayPointerCapture = [event.zrX, event.zrY];
- this.trigger("mousedown", event);
- },
- mousemove: function(event) {
- event = normalizeEvent(this.dom, event);
- var downPoint = this.__mayPointerCapture;
- if (downPoint && (event.zrX !== downPoint[0] || event.zrY !== downPoint[1])) {
- this.__togglePointerCapture(true);
- }
- this.trigger("mousemove", event);
- },
- mouseup: function(event) {
- event = normalizeEvent(this.dom, event);
- this.__togglePointerCapture(false);
- this.trigger("mouseup", event);
- },
- mouseout: function(event) {
- event = normalizeEvent(this.dom, event);
- var element = event.toElement || event.relatedTarget;
- if (!isLocalEl(this, element)) {
- if (this.__pointerCapturing) {
- event.zrEventControl = "no_globalout";
- }
- this.trigger("mouseout", event);
- }
- },
- wheel: function(event) {
- wheelEventSupported = true;
- event = normalizeEvent(this.dom, event);
- this.trigger("mousewheel", event);
- },
- mousewheel: function(event) {
- if (wheelEventSupported) {
- return;
- }
- event = normalizeEvent(this.dom, event);
- this.trigger("mousewheel", event);
- },
- touchstart: function(event) {
- event = normalizeEvent(this.dom, event);
- markTouch(event);
- this.__lastTouchMoment = new Date();
- this.handler.processGesture(event, "start");
- localDOMHandlers.mousemove.call(this, event);
- localDOMHandlers.mousedown.call(this, event);
- },
- touchmove: function(event) {
- event = normalizeEvent(this.dom, event);
- markTouch(event);
- this.handler.processGesture(event, "change");
- localDOMHandlers.mousemove.call(this, event);
- },
- touchend: function(event) {
- event = normalizeEvent(this.dom, event);
- markTouch(event);
- this.handler.processGesture(event, "end");
- localDOMHandlers.mouseup.call(this, event);
- if (+new Date() - +this.__lastTouchMoment < TOUCH_CLICK_DELAY) {
- localDOMHandlers.click.call(this, event);
- }
- },
- pointerdown: function(event) {
- localDOMHandlers.mousedown.call(this, event);
- },
- pointermove: function(event) {
- if (!isPointerFromTouch(event)) {
- localDOMHandlers.mousemove.call(this, event);
- }
- },
- pointerup: function(event) {
- localDOMHandlers.mouseup.call(this, event);
- },
- pointerout: function(event) {
- if (!isPointerFromTouch(event)) {
- localDOMHandlers.mouseout.call(this, event);
- }
- }
- };
- each(["click", "dblclick", "contextmenu"], function(name) {
- localDOMHandlers[name] = function(event) {
- event = normalizeEvent(this.dom, event);
- this.trigger(name, event);
- };
- });
- var globalDOMHandlers = {
- pointermove: function(event) {
- if (!isPointerFromTouch(event)) {
- globalDOMHandlers.mousemove.call(this, event);
- }
- },
- pointerup: function(event) {
- globalDOMHandlers.mouseup.call(this, event);
- },
- mousemove: function(event) {
- this.trigger("mousemove", event);
- },
- mouseup: function(event) {
- var pointerCaptureReleasing = this.__pointerCapturing;
- this.__togglePointerCapture(false);
- this.trigger("mouseup", event);
- if (pointerCaptureReleasing) {
- event.zrEventControl = "only_globalout";
- this.trigger("mouseout", event);
- }
- }
- };
- function mountLocalDOMEventListeners(instance, scope) {
- var domHandlers = scope.domHandlers;
- if (env_default.pointerEventsSupported) {
- each(localNativeListenerNames.pointer, function(nativeEventName) {
- mountSingleDOMEventListener(scope, nativeEventName, function(event) {
- domHandlers[nativeEventName].call(instance, event);
- });
- });
- } else {
- if (env_default.touchEventsSupported) {
- each(localNativeListenerNames.touch, function(nativeEventName) {
- mountSingleDOMEventListener(scope, nativeEventName, function(event) {
- domHandlers[nativeEventName].call(instance, event);
- setTouchTimer(scope);
- });
- });
- }
- each(localNativeListenerNames.mouse, function(nativeEventName) {
- mountSingleDOMEventListener(scope, nativeEventName, function(event) {
- event = getNativeEvent(event);
- if (!scope.touching) {
- domHandlers[nativeEventName].call(instance, event);
- }
- });
- });
- }
- }
- function mountGlobalDOMEventListeners(instance, scope) {
- if (env_default.pointerEventsSupported) {
- each(globalNativeListenerNames.pointer, mount);
- } else if (!env_default.touchEventsSupported) {
- each(globalNativeListenerNames.mouse, mount);
- }
- function mount(nativeEventName) {
- function nativeEventListener(event) {
- event = getNativeEvent(event);
- if (!isLocalEl(instance, event.target)) {
- event = normalizeGlobalEvent(instance, event);
- scope.domHandlers[nativeEventName].call(instance, event);
- }
- }
- mountSingleDOMEventListener(scope, nativeEventName, nativeEventListener, { capture: true });
- }
- }
- function mountSingleDOMEventListener(scope, nativeEventName, listener, opt) {
- scope.mounted[nativeEventName] = listener;
- scope.listenerOpts[nativeEventName] = opt;
- addEventListener(scope.domTarget, nativeEventName, listener, opt);
- }
- function unmountDOMEventListeners(scope) {
- var mounted = scope.mounted;
- for (var nativeEventName in mounted) {
- if (mounted.hasOwnProperty(nativeEventName)) {
- removeEventListener(scope.domTarget, nativeEventName, mounted[nativeEventName], scope.listenerOpts[nativeEventName]);
- }
- }
- scope.mounted = {};
- }
- var DOMHandlerScope = function() {
- function DOMHandlerScope2(domTarget, domHandlers) {
- this.mounted = {};
- this.listenerOpts = {};
- this.touching = false;
- this.domTarget = domTarget;
- this.domHandlers = domHandlers;
- }
- return DOMHandlerScope2;
- }();
- var HandlerDomProxy = function(_super) {
- __extends(HandlerDomProxy2, _super);
- function HandlerDomProxy2(dom, painterRoot) {
- var _this = _super.call(this) || this;
- _this.__pointerCapturing = false;
- _this.dom = dom;
- _this.painterRoot = painterRoot;
- _this._localHandlerScope = new DOMHandlerScope(dom, localDOMHandlers);
- if (globalEventSupported) {
- _this._globalHandlerScope = new DOMHandlerScope(document, globalDOMHandlers);
- }
- mountLocalDOMEventListeners(_this, _this._localHandlerScope);
- return _this;
- }
- HandlerDomProxy2.prototype.dispose = function() {
- unmountDOMEventListeners(this._localHandlerScope);
- if (globalEventSupported) {
- unmountDOMEventListeners(this._globalHandlerScope);
- }
- };
- HandlerDomProxy2.prototype.setCursor = function(cursorStyle) {
- this.dom.style && (this.dom.style.cursor = cursorStyle || "default");
- };
- HandlerDomProxy2.prototype.__togglePointerCapture = function(isPointerCapturing) {
- this.__mayPointerCapture = null;
- if (globalEventSupported && +this.__pointerCapturing ^ +isPointerCapturing) {
- this.__pointerCapturing = isPointerCapturing;
- var globalHandlerScope = this._globalHandlerScope;
- isPointerCapturing ? mountGlobalDOMEventListeners(this, globalHandlerScope) : unmountDOMEventListeners(globalHandlerScope);
- }
- };
- return HandlerDomProxy2;
- }(Eventful_default);
- var HandlerProxy_default = HandlerDomProxy;
- // node_modules/zrender/lib/zrender.js
- var painterCtors = {};
- var instances = {};
- function delInstance(id) {
- delete instances[id];
- }
- function isDarkMode(backgroundColor2) {
- if (!backgroundColor2) {
- return false;
- }
- if (typeof backgroundColor2 === "string") {
- return lum(backgroundColor2, 1) < DARK_MODE_THRESHOLD;
- } else if (backgroundColor2.colorStops) {
- var colorStops = backgroundColor2.colorStops;
- var totalLum = 0;
- var len = colorStops.length;
- for (var i = 0; i < len; i++) {
- totalLum += lum(colorStops[i].color, 1);
- }
- totalLum /= len;
- return totalLum < DARK_MODE_THRESHOLD;
- }
- return false;
- }
- var ZRender = function() {
- function ZRender2(id, dom, opts) {
- var _this = this;
- this._sleepAfterStill = 10;
- this._stillFrameAccum = 0;
- this._needsRefresh = true;
- this._needsRefreshHover = true;
- this._darkMode = false;
- opts = opts || {};
- this.dom = dom;
- this.id = id;
- var storage = new Storage_default();
- var rendererType = opts.renderer || "canvas";
- if (!painterCtors[rendererType]) {
- rendererType = keys(painterCtors)[0];
- }
- if (true) {
- if (!painterCtors[rendererType]) {
- throw new Error("Renderer '" + rendererType + "' is not imported. Please import it first.");
- }
- }
- opts.useDirtyRect = opts.useDirtyRect == null ? false : opts.useDirtyRect;
- var painter = new painterCtors[rendererType](dom, storage, opts, id);
- var ssrMode = opts.ssr || painter.ssrOnly;
- this.storage = storage;
- this.painter = painter;
- var handerProxy = !env_default.node && !env_default.worker && !ssrMode ? new HandlerProxy_default(painter.getViewportRoot(), painter.root) : null;
- this.handler = new Handler_default(storage, painter, handerProxy, painter.root);
- this.animation = new Animation_default({
- stage: {
- update: ssrMode ? null : function() {
- return _this._flush(true);
- }
- }
- });
- if (!ssrMode) {
- this.animation.start();
- }
- }
- ZRender2.prototype.add = function(el) {
- if (!el) {
- return;
- }
- this.storage.addRoot(el);
- el.addSelfToZr(this);
- this.refresh();
- };
- ZRender2.prototype.remove = function(el) {
- if (!el) {
- return;
- }
- this.storage.delRoot(el);
- el.removeSelfFromZr(this);
- this.refresh();
- };
- ZRender2.prototype.configLayer = function(zLevel, config) {
- if (this.painter.configLayer) {
- this.painter.configLayer(zLevel, config);
- }
- this.refresh();
- };
- ZRender2.prototype.setBackgroundColor = function(backgroundColor2) {
- if (this.painter.setBackgroundColor) {
- this.painter.setBackgroundColor(backgroundColor2);
- }
- this.refresh();
- this._backgroundColor = backgroundColor2;
- this._darkMode = isDarkMode(backgroundColor2);
- };
- ZRender2.prototype.getBackgroundColor = function() {
- return this._backgroundColor;
- };
- ZRender2.prototype.setDarkMode = function(darkMode) {
- this._darkMode = darkMode;
- };
- ZRender2.prototype.isDarkMode = function() {
- return this._darkMode;
- };
- ZRender2.prototype.refreshImmediately = function(fromInside) {
- if (!fromInside) {
- this.animation.update(true);
- }
- this._needsRefresh = false;
- this.painter.refresh();
- this._needsRefresh = false;
- };
- ZRender2.prototype.refresh = function() {
- this._needsRefresh = true;
- this.animation.start();
- };
- ZRender2.prototype.flush = function() {
- this._flush(false);
- };
- ZRender2.prototype._flush = function(fromInside) {
- var triggerRendered;
- var start = getTime();
- if (this._needsRefresh) {
- triggerRendered = true;
- this.refreshImmediately(fromInside);
- }
- if (this._needsRefreshHover) {
- triggerRendered = true;
- this.refreshHoverImmediately();
- }
- var end = getTime();
- if (triggerRendered) {
- this._stillFrameAccum = 0;
- this.trigger("rendered", {
- elapsedTime: end - start
- });
- } else if (this._sleepAfterStill > 0) {
- this._stillFrameAccum++;
- if (this._stillFrameAccum > this._sleepAfterStill) {
- this.animation.stop();
- }
- }
- };
- ZRender2.prototype.setSleepAfterStill = function(stillFramesCount) {
- this._sleepAfterStill = stillFramesCount;
- };
- ZRender2.prototype.wakeUp = function() {
- this.animation.start();
- this._stillFrameAccum = 0;
- };
- ZRender2.prototype.refreshHover = function() {
- this._needsRefreshHover = true;
- };
- ZRender2.prototype.refreshHoverImmediately = function() {
- this._needsRefreshHover = false;
- if (this.painter.refreshHover && this.painter.getType() === "canvas") {
- this.painter.refreshHover();
- }
- };
- ZRender2.prototype.resize = function(opts) {
- opts = opts || {};
- this.painter.resize(opts.width, opts.height);
- this.handler.resize();
- };
- ZRender2.prototype.clearAnimation = function() {
- this.animation.clear();
- };
- ZRender2.prototype.getWidth = function() {
- return this.painter.getWidth();
- };
- ZRender2.prototype.getHeight = function() {
- return this.painter.getHeight();
- };
- ZRender2.prototype.setCursorStyle = function(cursorStyle) {
- this.handler.setCursorStyle(cursorStyle);
- };
- ZRender2.prototype.findHover = function(x, y) {
- return this.handler.findHover(x, y);
- };
- ZRender2.prototype.on = function(eventName, eventHandler, context) {
- this.handler.on(eventName, eventHandler, context);
- return this;
- };
- ZRender2.prototype.off = function(eventName, eventHandler) {
- this.handler.off(eventName, eventHandler);
- };
- ZRender2.prototype.trigger = function(eventName, event) {
- this.handler.trigger(eventName, event);
- };
- ZRender2.prototype.clear = function() {
- var roots = this.storage.getRoots();
- for (var i = 0; i < roots.length; i++) {
- if (roots[i] instanceof Group_default) {
- roots[i].removeSelfFromZr(this);
- }
- }
- this.storage.delAllRoots();
- this.painter.clear();
- };
- ZRender2.prototype.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;
- delInstance(this.id);
- };
- return ZRender2;
- }();
- function init(dom, opts) {
- var zr = new ZRender(guid(), dom, opts);
- instances[zr.id] = zr;
- return zr;
- }
- function dispose(zr) {
- zr.dispose();
- }
- function disposeAll() {
- for (var key in instances) {
- if (instances.hasOwnProperty(key)) {
- instances[key].dispose();
- }
- }
- instances = {};
- }
- function getInstance(id) {
- return instances[id];
- }
- function registerPainter(name, Ctor) {
- painterCtors[name] = Ctor;
- }
- var version = "5.3.2";
- // node_modules/echarts/lib/view/Component.js
- init_define_APP_INFO();
- var ComponentView = function() {
- function ComponentView2() {
- this.group = new Group_default();
- this.uid = getUID("viewComponent");
- }
- ComponentView2.prototype.init = function(ecModel, api) {
- };
- ComponentView2.prototype.render = function(model, ecModel, api, payload) {
- };
- ComponentView2.prototype.dispose = function(ecModel, api) {
- };
- ComponentView2.prototype.updateView = function(model, ecModel, api, payload) {
- };
- ComponentView2.prototype.updateLayout = function(model, ecModel, api, payload) {
- };
- ComponentView2.prototype.updateVisual = function(model, ecModel, api, payload) {
- };
- ComponentView2.prototype.toggleBlurSeries = function(seriesModels, isBlur, ecModel) {
- };
- ComponentView2.prototype.eachRendered = function(cb) {
- var group = this.group;
- if (group) {
- group.traverse(cb);
- }
- };
- return ComponentView2;
- }();
- enableClassExtend(ComponentView);
- enableClassManagement(ComponentView);
- var Component_default2 = ComponentView;
- // node_modules/echarts/lib/core/echarts.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/model/Global.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/model/globalDefault.js
- init_define_APP_INFO();
- var platform = "";
- if (typeof navigator !== "undefined") {
- platform = navigator.platform || "";
- }
- var decalColor = "rgba(0, 0, 0, 0.2)";
- var globalDefault_default = {
- darkMode: "auto",
- colorBy: "series",
- color: ["#5470c6", "#91cc75", "#fac858", "#ee6666", "#73c0de", "#3ba272", "#fc8452", "#9a60b4", "#ea7ccc"],
- gradientColor: ["#f6efa6", "#d88273", "#bf444c"],
- aria: {
- decal: {
- decals: [{
- color: decalColor,
- dashArrayX: [1, 0],
- dashArrayY: [2, 5],
- symbolSize: 1,
- rotation: Math.PI / 6
- }, {
- color: decalColor,
- symbol: "circle",
- dashArrayX: [[8, 8], [0, 8, 8, 0]],
- dashArrayY: [6, 0],
- symbolSize: 0.8
- }, {
- color: decalColor,
- dashArrayX: [1, 0],
- dashArrayY: [4, 3],
- rotation: -Math.PI / 4
- }, {
- color: decalColor,
- dashArrayX: [[6, 6], [0, 6, 6, 0]],
- dashArrayY: [6, 0]
- }, {
- color: decalColor,
- dashArrayX: [[1, 0], [1, 6]],
- dashArrayY: [1, 0, 6, 0],
- rotation: Math.PI / 4
- }, {
- color: decalColor,
- symbol: "triangle",
- dashArrayX: [[9, 9], [0, 9, 9, 0]],
- dashArrayY: [7, 2],
- symbolSize: 0.75
- }]
- }
- },
- textStyle: {
- fontFamily: platform.match(/^Win/) ? "Microsoft YaHei" : "sans-serif",
- fontSize: 12,
- fontStyle: "normal",
- fontWeight: "normal"
- },
- blendMode: null,
- stateAnimation: {
- duration: 300,
- easing: "cubicOut"
- },
- animation: "auto",
- animationDuration: 1e3,
- animationDurationUpdate: 500,
- animationEasing: "cubicInOut",
- animationEasingUpdate: "cubicInOut",
- animationThreshold: 2e3,
- progressiveThreshold: 3e3,
- progressive: 400,
- hoverLayerThreshold: 3e3,
- useUTC: false
- };
- // node_modules/echarts/lib/model/internalComponentCreator.js
- init_define_APP_INFO();
- var internalOptionCreatorMap = createHashMap();
- function registerInternalOptionCreator(mainType, creator) {
- assert(internalOptionCreatorMap.get(mainType) == null && creator);
- internalOptionCreatorMap.set(mainType, creator);
- }
- function concatInternalOptions(ecModel, mainType, newCmptOptionList) {
- var internalOptionCreator = internalOptionCreatorMap.get(mainType);
- if (!internalOptionCreator) {
- return newCmptOptionList;
- }
- var internalOptions = internalOptionCreator(ecModel);
- if (!internalOptions) {
- return newCmptOptionList;
- }
- if (true) {
- for (var i = 0; i < internalOptions.length; i++) {
- assert(isComponentIdInternal(internalOptions[i]));
- }
- }
- return newCmptOptionList.concat(internalOptions);
- }
- // node_modules/echarts/lib/model/Global.js
- var reCreateSeriesIndices;
- var assertSeriesInitialized;
- var initBase;
- var OPTION_INNER_KEY = "\0_ec_inner";
- var OPTION_INNER_VALUE = 1;
- var BUITIN_COMPONENTS_MAP = {
- grid: "GridComponent",
- polar: "PolarComponent",
- geo: "GeoComponent",
- singleAxis: "SingleAxisComponent",
- parallel: "ParallelComponent",
- calendar: "CalendarComponent",
- graphic: "GraphicComponent",
- toolbox: "ToolboxComponent",
- tooltip: "TooltipComponent",
- axisPointer: "AxisPointerComponent",
- brush: "BrushComponent",
- title: "TitleComponent",
- timeline: "TimelineComponent",
- markPoint: "MarkPointComponent",
- markLine: "MarkLineComponent",
- markArea: "MarkAreaComponent",
- legend: "LegendComponent",
- dataZoom: "DataZoomComponent",
- visualMap: "VisualMapComponent",
- xAxis: "GridComponent",
- yAxis: "GridComponent",
- angleAxis: "PolarComponent",
- radiusAxis: "PolarComponent"
- };
- var BUILTIN_CHARTS_MAP = {
- line: "LineChart",
- bar: "BarChart",
- pie: "PieChart",
- scatter: "ScatterChart",
- radar: "RadarChart",
- map: "MapChart",
- tree: "TreeChart",
- treemap: "TreemapChart",
- graph: "GraphChart",
- gauge: "GaugeChart",
- funnel: "FunnelChart",
- parallel: "ParallelChart",
- sankey: "SankeyChart",
- boxplot: "BoxplotChart",
- candlestick: "CandlestickChart",
- effectScatter: "EffectScatterChart",
- lines: "LinesChart",
- heatmap: "HeatmapChart",
- pictorialBar: "PictorialBarChart",
- themeRiver: "ThemeRiverChart",
- sunburst: "SunburstChart",
- custom: "CustomChart"
- };
- var componetsMissingLogPrinted = {};
- function checkMissingComponents(option) {
- each(option, function(componentOption, mainType) {
- if (!Component_default.hasClass(mainType)) {
- var componentImportName = BUITIN_COMPONENTS_MAP[mainType];
- if (componentImportName && !componetsMissingLogPrinted[componentImportName]) {
- error("Component " + mainType + " is used but not imported.\nimport { " + componentImportName + " } from 'echarts/components';\necharts.use([" + componentImportName + "]);");
- componetsMissingLogPrinted[componentImportName] = true;
- }
- }
- });
- }
- var GlobalModel = function(_super) {
- __extends2(GlobalModel2, _super);
- function GlobalModel2() {
- return _super !== null && _super.apply(this, arguments) || this;
- }
- GlobalModel2.prototype.init = function(option, parentModel, ecModel, theme2, locale, optionManager) {
- theme2 = theme2 || {};
- this.option = null;
- this._theme = new Model_default(theme2);
- this._locale = new Model_default(locale);
- this._optionManager = optionManager;
- };
- GlobalModel2.prototype.setOption = function(option, opts, optionPreprocessorFuncs2) {
- if (true) {
- assert(option != null, "option is null/undefined");
- assert(option[OPTION_INNER_KEY] !== OPTION_INNER_VALUE, "please use chart.getOption()");
- }
- var innerOpt = normalizeSetOptionInput(opts);
- this._optionManager.setOption(option, optionPreprocessorFuncs2, innerOpt);
- this._resetOption(null, innerOpt);
- };
- GlobalModel2.prototype.resetOption = function(type, opt) {
- return this._resetOption(type, normalizeSetOptionInput(opt));
- };
- GlobalModel2.prototype._resetOption = function(type, opt) {
- var optionChanged = false;
- var optionManager = this._optionManager;
- if (!type || type === "recreate") {
- var baseOption = optionManager.mountOption(type === "recreate");
- if (true) {
- checkMissingComponents(baseOption);
- }
- if (!this.option || type === "recreate") {
- initBase(this, baseOption);
- } else {
- this.restoreData();
- this._mergeOption(baseOption, opt);
- }
- optionChanged = true;
- }
- if (type === "timeline" || type === "media") {
- this.restoreData();
- }
- if (!type || type === "recreate" || type === "timeline") {
- var timelineOption = optionManager.getTimelineOption(this);
- if (timelineOption) {
- optionChanged = true;
- this._mergeOption(timelineOption, opt);
- }
- }
- if (!type || type === "recreate" || type === "media") {
- var mediaOptions = optionManager.getMediaOption(this);
- if (mediaOptions.length) {
- each(mediaOptions, function(mediaOption) {
- optionChanged = true;
- this._mergeOption(mediaOption, opt);
- }, this);
- }
- }
- return optionChanged;
- };
- GlobalModel2.prototype.mergeOption = function(option) {
- this._mergeOption(option, null);
- };
- GlobalModel2.prototype._mergeOption = function(newOption, opt) {
- var option = this.option;
- var componentsMap = this._componentsMap;
- var componentsCount = this._componentsCount;
- var newCmptTypes = [];
- var newCmptTypeMap = createHashMap();
- var replaceMergeMainTypeMap = opt && opt.replaceMergeMainTypeMap;
- resetSourceDefaulter(this);
- each(newOption, function(componentOption, mainType) {
- if (componentOption == null) {
- return;
- }
- if (!Component_default.hasClass(mainType)) {
- option[mainType] = option[mainType] == null ? clone(componentOption) : merge(option[mainType], componentOption, true);
- } else if (mainType) {
- newCmptTypes.push(mainType);
- newCmptTypeMap.set(mainType, true);
- }
- });
- if (replaceMergeMainTypeMap) {
- replaceMergeMainTypeMap.each(function(val, mainTypeInReplaceMerge) {
- if (Component_default.hasClass(mainTypeInReplaceMerge) && !newCmptTypeMap.get(mainTypeInReplaceMerge)) {
- newCmptTypes.push(mainTypeInReplaceMerge);
- newCmptTypeMap.set(mainTypeInReplaceMerge, true);
- }
- });
- }
- Component_default.topologicalTravel(newCmptTypes, Component_default.getAllClassMainTypes(), visitComponent, this);
- function visitComponent(mainType) {
- var newCmptOptionList = concatInternalOptions(this, mainType, normalizeToArray(newOption[mainType]));
- var oldCmptList = componentsMap.get(mainType);
- var mergeMode = !oldCmptList ? "replaceAll" : replaceMergeMainTypeMap && replaceMergeMainTypeMap.get(mainType) ? "replaceMerge" : "normalMerge";
- var mappingResult = mappingToExists(oldCmptList, newCmptOptionList, mergeMode);
- setComponentTypeToKeyInfo(mappingResult, mainType, Component_default);
- option[mainType] = null;
- componentsMap.set(mainType, null);
- componentsCount.set(mainType, 0);
- var optionsByMainType = [];
- var cmptsByMainType = [];
- var cmptsCountByMainType = 0;
- var tooltipExists;
- var tooltipWarningLogged;
- each(mappingResult, function(resultItem, index) {
- var componentModel = resultItem.existing;
- var newCmptOption = resultItem.newOption;
- if (!newCmptOption) {
- if (componentModel) {
- componentModel.mergeOption({}, this);
- componentModel.optionUpdated({}, false);
- }
- } else {
- var isSeriesType = mainType === "series";
- var ComponentModelClass = Component_default.getClass(
- mainType,
- resultItem.keyInfo.subType,
- !isSeriesType
- );
- if (!ComponentModelClass) {
- if (true) {
- var subType = resultItem.keyInfo.subType;
- var seriesImportName = BUILTIN_CHARTS_MAP[subType];
- if (!componetsMissingLogPrinted[subType]) {
- componetsMissingLogPrinted[subType] = true;
- if (seriesImportName) {
- error("Series " + subType + " is used but not imported.\nimport { " + seriesImportName + " } from 'echarts/charts';\necharts.use([" + seriesImportName + "]);");
- } else {
- error("Unkown series " + subType);
- }
- }
- }
- return;
- }
- if (mainType === "tooltip") {
- if (tooltipExists) {
- if (true) {
- if (!tooltipWarningLogged) {
- warn("Currently only one tooltip component is allowed.");
- tooltipWarningLogged = true;
- }
- }
- return;
- }
- tooltipExists = true;
- }
- if (componentModel && componentModel.constructor === ComponentModelClass) {
- componentModel.name = resultItem.keyInfo.name;
- componentModel.mergeOption(newCmptOption, this);
- componentModel.optionUpdated(newCmptOption, false);
- } else {
- var extraOpt = extend({
- componentIndex: index
- }, resultItem.keyInfo);
- componentModel = new ComponentModelClass(newCmptOption, this, this, extraOpt);
- extend(componentModel, extraOpt);
- if (resultItem.brandNew) {
- componentModel.__requireNewView = true;
- }
- componentModel.init(newCmptOption, this, this);
- componentModel.optionUpdated(null, true);
- }
- }
- if (componentModel) {
- optionsByMainType.push(componentModel.option);
- cmptsByMainType.push(componentModel);
- cmptsCountByMainType++;
- } else {
- optionsByMainType.push(void 0);
- cmptsByMainType.push(void 0);
- }
- }, this);
- option[mainType] = optionsByMainType;
- componentsMap.set(mainType, cmptsByMainType);
- componentsCount.set(mainType, cmptsCountByMainType);
- if (mainType === "series") {
- reCreateSeriesIndices(this);
- }
- }
- if (!this._seriesIndices) {
- reCreateSeriesIndices(this);
- }
- };
- GlobalModel2.prototype.getOption = function() {
- var option = clone(this.option);
- each(option, function(optInMainType, mainType) {
- if (Component_default.hasClass(mainType)) {
- var opts = normalizeToArray(optInMainType);
- var realLen = opts.length;
- var metNonInner = false;
- for (var i = realLen - 1; i >= 0; i--) {
- if (opts[i] && !isComponentIdInternal(opts[i])) {
- metNonInner = true;
- } else {
- opts[i] = null;
- !metNonInner && realLen--;
- }
- }
- opts.length = realLen;
- option[mainType] = opts;
- }
- });
- delete option[OPTION_INNER_KEY];
- return option;
- };
- GlobalModel2.prototype.getTheme = function() {
- return this._theme;
- };
- GlobalModel2.prototype.getLocaleModel = function() {
- return this._locale;
- };
- GlobalModel2.prototype.setUpdatePayload = function(payload) {
- this._payload = payload;
- };
- GlobalModel2.prototype.getUpdatePayload = function() {
- return this._payload;
- };
- GlobalModel2.prototype.getComponent = function(mainType, idx) {
- var list = this._componentsMap.get(mainType);
- if (list) {
- var cmpt = list[idx || 0];
- if (cmpt) {
- return cmpt;
- } else if (idx == null) {
- for (var i = 0; i < list.length; i++) {
- if (list[i]) {
- return list[i];
- }
- }
- }
- }
- };
- GlobalModel2.prototype.queryComponents = function(condition) {
- var mainType = condition.mainType;
- if (!mainType) {
- return [];
- }
- var index = condition.index;
- var id = condition.id;
- var name = condition.name;
- var cmpts = this._componentsMap.get(mainType);
- if (!cmpts || !cmpts.length) {
- return [];
- }
- var result;
- if (index != null) {
- result = [];
- each(normalizeToArray(index), function(idx) {
- cmpts[idx] && result.push(cmpts[idx]);
- });
- } else if (id != null) {
- result = queryByIdOrName("id", id, cmpts);
- } else if (name != null) {
- result = queryByIdOrName("name", name, cmpts);
- } else {
- result = filter(cmpts, function(cmpt) {
- return !!cmpt;
- });
- }
- return filterBySubType(result, condition);
- };
- GlobalModel2.prototype.findComponents = function(condition) {
- var query = condition.query;
- var mainType = condition.mainType;
- var queryCond = getQueryCond(query);
- var result = queryCond ? this.queryComponents(queryCond) : filter(this._componentsMap.get(mainType), function(cmpt) {
- return !!cmpt;
- });
- return doFilter(filterBySubType(result, condition));
- function getQueryCond(q) {
- var indexAttr = mainType + "Index";
- var idAttr = mainType + "Id";
- var nameAttr = mainType + "Name";
- return q && (q[indexAttr] != null || q[idAttr] != null || q[nameAttr] != null) ? {
- mainType,
- index: q[indexAttr],
- id: q[idAttr],
- name: q[nameAttr]
- } : null;
- }
- function doFilter(res) {
- return condition.filter ? filter(res, condition.filter) : res;
- }
- };
- GlobalModel2.prototype.eachComponent = function(mainType, cb, context) {
- var componentsMap = this._componentsMap;
- if (isFunction(mainType)) {
- var ctxForAll_1 = cb;
- var cbForAll_1 = mainType;
- componentsMap.each(function(cmpts2, componentType) {
- for (var i2 = 0; cmpts2 && i2 < cmpts2.length; i2++) {
- var cmpt2 = cmpts2[i2];
- cmpt2 && cbForAll_1.call(ctxForAll_1, componentType, cmpt2, cmpt2.componentIndex);
- }
- });
- } else {
- var cmpts = isString(mainType) ? componentsMap.get(mainType) : isObject(mainType) ? this.findComponents(mainType) : null;
- for (var i = 0; cmpts && i < cmpts.length; i++) {
- var cmpt = cmpts[i];
- cmpt && cb.call(context, cmpt, cmpt.componentIndex);
- }
- }
- };
- GlobalModel2.prototype.getSeriesByName = function(name) {
- var nameStr = convertOptionIdName(name, null);
- return filter(this._componentsMap.get("series"), function(oneSeries) {
- return !!oneSeries && nameStr != null && oneSeries.name === nameStr;
- });
- };
- GlobalModel2.prototype.getSeriesByIndex = function(seriesIndex) {
- return this._componentsMap.get("series")[seriesIndex];
- };
- GlobalModel2.prototype.getSeriesByType = function(subType) {
- return filter(this._componentsMap.get("series"), function(oneSeries) {
- return !!oneSeries && oneSeries.subType === subType;
- });
- };
- GlobalModel2.prototype.getSeries = function() {
- return filter(this._componentsMap.get("series"), function(oneSeries) {
- return !!oneSeries;
- });
- };
- GlobalModel2.prototype.getSeriesCount = function() {
- return this._componentsCount.get("series");
- };
- GlobalModel2.prototype.eachSeries = function(cb, context) {
- assertSeriesInitialized(this);
- each(this._seriesIndices, function(rawSeriesIndex) {
- var series = this._componentsMap.get("series")[rawSeriesIndex];
- cb.call(context, series, rawSeriesIndex);
- }, this);
- };
- GlobalModel2.prototype.eachRawSeries = function(cb, context) {
- each(this._componentsMap.get("series"), function(series) {
- series && cb.call(context, series, series.componentIndex);
- });
- };
- GlobalModel2.prototype.eachSeriesByType = function(subType, cb, context) {
- assertSeriesInitialized(this);
- each(this._seriesIndices, function(rawSeriesIndex) {
- var series = this._componentsMap.get("series")[rawSeriesIndex];
- if (series.subType === subType) {
- cb.call(context, series, rawSeriesIndex);
- }
- }, this);
- };
- GlobalModel2.prototype.eachRawSeriesByType = function(subType, cb, context) {
- return each(this.getSeriesByType(subType), cb, context);
- };
- GlobalModel2.prototype.isSeriesFiltered = function(seriesModel) {
- assertSeriesInitialized(this);
- return this._seriesIndicesMap.get(seriesModel.componentIndex) == null;
- };
- GlobalModel2.prototype.getCurrentSeriesIndices = function() {
- return (this._seriesIndices || []).slice();
- };
- GlobalModel2.prototype.filterSeries = function(cb, context) {
- assertSeriesInitialized(this);
- var newSeriesIndices = [];
- each(this._seriesIndices, function(seriesRawIdx) {
- var series = this._componentsMap.get("series")[seriesRawIdx];
- cb.call(context, series, seriesRawIdx) && newSeriesIndices.push(seriesRawIdx);
- }, this);
- this._seriesIndices = newSeriesIndices;
- this._seriesIndicesMap = createHashMap(newSeriesIndices);
- };
- GlobalModel2.prototype.restoreData = function(payload) {
- reCreateSeriesIndices(this);
- var componentsMap = this._componentsMap;
- var componentTypes = [];
- componentsMap.each(function(components, componentType) {
- if (Component_default.hasClass(componentType)) {
- componentTypes.push(componentType);
- }
- });
- Component_default.topologicalTravel(componentTypes, Component_default.getAllClassMainTypes(), function(componentType) {
- each(componentsMap.get(componentType), function(component) {
- if (component && (componentType !== "series" || !isNotTargetSeries(component, payload))) {
- component.restoreData();
- }
- });
- });
- };
- GlobalModel2.internalField = function() {
- reCreateSeriesIndices = function(ecModel) {
- var seriesIndices = ecModel._seriesIndices = [];
- each(ecModel._componentsMap.get("series"), function(series) {
- series && seriesIndices.push(series.componentIndex);
- });
- ecModel._seriesIndicesMap = createHashMap(seriesIndices);
- };
- assertSeriesInitialized = function(ecModel) {
- if (true) {
- if (!ecModel._seriesIndices) {
- throw new Error("Option should contains series.");
- }
- }
- };
- initBase = function(ecModel, baseOption) {
- ecModel.option = {};
- ecModel.option[OPTION_INNER_KEY] = OPTION_INNER_VALUE;
- ecModel._componentsMap = createHashMap({
- series: []
- });
- ecModel._componentsCount = createHashMap();
- var airaOption = baseOption.aria;
- if (isObject(airaOption) && airaOption.enabled == null) {
- airaOption.enabled = true;
- }
- mergeTheme(baseOption, ecModel._theme.option);
- merge(baseOption, globalDefault_default, false);
- ecModel._mergeOption(baseOption, null);
- };
- }();
- return GlobalModel2;
- }(Model_default);
- function isNotTargetSeries(seriesModel, payload) {
- if (payload) {
- var index = payload.seriesIndex;
- var id = payload.seriesId;
- var name_1 = payload.seriesName;
- return index != null && seriesModel.componentIndex !== index || id != null && seriesModel.id !== id || name_1 != null && seriesModel.name !== name_1;
- }
- }
- function mergeTheme(option, theme2) {
- var notMergeColorLayer = option.color && !option.colorLayer;
- each(theme2, function(themeItem, name) {
- if (name === "colorLayer" && notMergeColorLayer) {
- return;
- }
- if (!Component_default.hasClass(name)) {
- if (typeof themeItem === "object") {
- option[name] = !option[name] ? clone(themeItem) : merge(option[name], themeItem, false);
- } else {
- if (option[name] == null) {
- option[name] = themeItem;
- }
- }
- }
- });
- }
- function queryByIdOrName(attr, idOrName, cmpts) {
- if (isArray(idOrName)) {
- var keyMap_1 = createHashMap();
- each(idOrName, function(idOrNameItem) {
- if (idOrNameItem != null) {
- var idName = convertOptionIdName(idOrNameItem, null);
- idName != null && keyMap_1.set(idOrNameItem, true);
- }
- });
- return filter(cmpts, function(cmpt) {
- return cmpt && keyMap_1.get(cmpt[attr]);
- });
- } else {
- var idName_1 = convertOptionIdName(idOrName, null);
- return filter(cmpts, function(cmpt) {
- return cmpt && idName_1 != null && cmpt[attr] === idName_1;
- });
- }
- }
- function filterBySubType(components, condition) {
- return condition.hasOwnProperty("subType") ? filter(components, function(cmpt) {
- return cmpt && cmpt.subType === condition.subType;
- }) : components;
- }
- function normalizeSetOptionInput(opts) {
- var replaceMergeMainTypeMap = createHashMap();
- opts && each(normalizeToArray(opts.replaceMerge), function(mainType) {
- if (true) {
- assert(Component_default.hasClass(mainType), '"' + mainType + '" is not valid component main type in "replaceMerge"');
- }
- replaceMergeMainTypeMap.set(mainType, true);
- });
- return {
- replaceMergeMainTypeMap
- };
- }
- mixin(GlobalModel, PaletteMixin);
- var Global_default = GlobalModel;
- // node_modules/echarts/lib/core/ExtensionAPI.js
- init_define_APP_INFO();
- var availableMethods = [
- "getDom",
- "getZr",
- "getWidth",
- "getHeight",
- "getDevicePixelRatio",
- "dispatchAction",
- "isSSR",
- "isDisposed",
- "on",
- "off",
- "getDataURL",
- "getConnectedDataURL",
- "getOption",
- "getId",
- "updateLabelLayout"
- ];
- var ExtensionAPI = function() {
- function ExtensionAPI2(ecInstance) {
- each(availableMethods, function(methodName) {
- this[methodName] = bind(ecInstance[methodName], ecInstance);
- }, this);
- }
- return ExtensionAPI2;
- }();
- var ExtensionAPI_default = ExtensionAPI;
- // node_modules/echarts/lib/core/CoordinateSystem.js
- init_define_APP_INFO();
- var coordinateSystemCreators = {};
- var CoordinateSystemManager = function() {
- function CoordinateSystemManager2() {
- this._coordinateSystems = [];
- }
- CoordinateSystemManager2.prototype.create = function(ecModel, api) {
- var coordinateSystems = [];
- each(coordinateSystemCreators, function(creater, type) {
- var list = creater.create(ecModel, api);
- coordinateSystems = coordinateSystems.concat(list || []);
- });
- this._coordinateSystems = coordinateSystems;
- };
- CoordinateSystemManager2.prototype.update = function(ecModel, api) {
- each(this._coordinateSystems, function(coordSys) {
- coordSys.update && coordSys.update(ecModel, api);
- });
- };
- CoordinateSystemManager2.prototype.getCoordinateSystems = function() {
- return this._coordinateSystems.slice();
- };
- CoordinateSystemManager2.register = function(type, creator) {
- coordinateSystemCreators[type] = creator;
- };
- CoordinateSystemManager2.get = function(type) {
- return coordinateSystemCreators[type];
- };
- return CoordinateSystemManager2;
- }();
- var CoordinateSystem_default = CoordinateSystemManager;
- // node_modules/echarts/lib/model/OptionManager.js
- init_define_APP_INFO();
- var QUERY_REG = /^(min|max)?(.+)$/;
- var OptionManager = function() {
- function OptionManager2(api) {
- this._timelineOptions = [];
- this._mediaList = [];
- this._currentMediaIndices = [];
- this._api = api;
- }
- OptionManager2.prototype.setOption = function(rawOption, optionPreprocessorFuncs2, opt) {
- if (rawOption) {
- each(normalizeToArray(rawOption.series), function(series) {
- series && series.data && isTypedArray(series.data) && setAsPrimitive(series.data);
- });
- each(normalizeToArray(rawOption.dataset), function(dataset) {
- dataset && dataset.source && isTypedArray(dataset.source) && setAsPrimitive(dataset.source);
- });
- }
- rawOption = clone(rawOption);
- var optionBackup = this._optionBackup;
- var newParsedOption = parseRawOption(rawOption, optionPreprocessorFuncs2, !optionBackup);
- this._newBaseOption = newParsedOption.baseOption;
- if (optionBackup) {
- if (newParsedOption.timelineOptions.length) {
- optionBackup.timelineOptions = newParsedOption.timelineOptions;
- }
- if (newParsedOption.mediaList.length) {
- optionBackup.mediaList = newParsedOption.mediaList;
- }
- if (newParsedOption.mediaDefault) {
- optionBackup.mediaDefault = newParsedOption.mediaDefault;
- }
- } else {
- this._optionBackup = newParsedOption;
- }
- };
- OptionManager2.prototype.mountOption = function(isRecreate) {
- var optionBackup = this._optionBackup;
- this._timelineOptions = optionBackup.timelineOptions;
- this._mediaList = optionBackup.mediaList;
- this._mediaDefault = optionBackup.mediaDefault;
- this._currentMediaIndices = [];
- return clone(isRecreate ? optionBackup.baseOption : this._newBaseOption);
- };
- OptionManager2.prototype.getTimelineOption = function(ecModel) {
- var option;
- var timelineOptions = this._timelineOptions;
- if (timelineOptions.length) {
- var timelineModel = ecModel.getComponent("timeline");
- if (timelineModel) {
- option = clone(
- timelineOptions[timelineModel.getCurrentIndex()]
- );
- }
- }
- return option;
- };
- OptionManager2.prototype.getMediaOption = function(ecModel) {
- var ecWidth = this._api.getWidth();
- var ecHeight = this._api.getHeight();
- var mediaList = this._mediaList;
- var mediaDefault = this._mediaDefault;
- var indices = [];
- var result = [];
- if (!mediaList.length && !mediaDefault) {
- return result;
- }
- for (var i = 0, len = mediaList.length; i < len; i++) {
- if (applyMediaQuery(mediaList[i].query, ecWidth, ecHeight)) {
- indices.push(i);
- }
- }
- if (!indices.length && mediaDefault) {
- indices = [-1];
- }
- if (indices.length && !indicesEquals(indices, this._currentMediaIndices)) {
- result = map(indices, function(index) {
- return clone(index === -1 ? mediaDefault.option : mediaList[index].option);
- });
- }
- this._currentMediaIndices = indices;
- return result;
- };
- return OptionManager2;
- }();
- function parseRawOption(rawOption, optionPreprocessorFuncs2, isNew) {
- var mediaList = [];
- var mediaDefault;
- var baseOption;
- var declaredBaseOption = rawOption.baseOption;
- var timelineOnRoot = rawOption.timeline;
- var timelineOptionsOnRoot = rawOption.options;
- var mediaOnRoot = rawOption.media;
- var hasMedia = !!rawOption.media;
- var hasTimeline = !!(timelineOptionsOnRoot || timelineOnRoot || declaredBaseOption && declaredBaseOption.timeline);
- if (declaredBaseOption) {
- baseOption = declaredBaseOption;
- if (!baseOption.timeline) {
- baseOption.timeline = timelineOnRoot;
- }
- } else {
- if (hasTimeline || hasMedia) {
- rawOption.options = rawOption.media = null;
- }
- baseOption = rawOption;
- }
- if (hasMedia) {
- if (isArray(mediaOnRoot)) {
- each(mediaOnRoot, function(singleMedia) {
- if (true) {
- if (singleMedia && !singleMedia.option && isObject(singleMedia.query) && isObject(singleMedia.query.option)) {
- error("Illegal media option. Must be like { media: [ { query: {}, option: {} } ] }");
- }
- }
- if (singleMedia && singleMedia.option) {
- if (singleMedia.query) {
- mediaList.push(singleMedia);
- } else if (!mediaDefault) {
- mediaDefault = singleMedia;
- }
- }
- });
- } else {
- if (true) {
- error("Illegal media option. Must be an array. Like { media: [ {...}, {...} ] }");
- }
- }
- }
- doPreprocess(baseOption);
- each(timelineOptionsOnRoot, function(option) {
- return doPreprocess(option);
- });
- each(mediaList, function(media) {
- return doPreprocess(media.option);
- });
- function doPreprocess(option) {
- each(optionPreprocessorFuncs2, function(preProcess) {
- preProcess(option, isNew);
- });
- }
- return {
- baseOption,
- timelineOptions: timelineOptionsOnRoot || [],
- mediaDefault,
- mediaList
- };
- }
- function applyMediaQuery(query, ecWidth, ecHeight) {
- var realMap = {
- width: ecWidth,
- height: ecHeight,
- aspectratio: ecWidth / ecHeight
- };
- var applicatable = true;
- each(query, function(value, attr) {
- var matched = attr.match(QUERY_REG);
- if (!matched || !matched[1] || !matched[2]) {
- return;
- }
- var operator = matched[1];
- var realAttr = matched[2].toLowerCase();
- if (!compare(realMap[realAttr], value, operator)) {
- applicatable = false;
- }
- });
- return applicatable;
- }
- function compare(real, expect, operator) {
- if (operator === "min") {
- return real >= expect;
- } else if (operator === "max") {
- return real <= expect;
- } else {
- return real === expect;
- }
- }
- function indicesEquals(indices1, indices2) {
- return indices1.join(",") === indices2.join(",");
- }
- var OptionManager_default = OptionManager;
- // node_modules/echarts/lib/preprocessor/backwardCompat.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/preprocessor/helper/compatStyle.js
- init_define_APP_INFO();
- var each3 = each;
- var isObject3 = isObject;
- var POSSIBLE_STYLES = ["areaStyle", "lineStyle", "nodeStyle", "linkStyle", "chordStyle", "label", "labelLine"];
- function compatEC2ItemStyle(opt) {
- var itemStyleOpt = opt && opt.itemStyle;
- if (!itemStyleOpt) {
- return;
- }
- for (var i = 0, len = POSSIBLE_STYLES.length; i < len; i++) {
- var styleName = POSSIBLE_STYLES[i];
- var normalItemStyleOpt = itemStyleOpt.normal;
- var emphasisItemStyleOpt = itemStyleOpt.emphasis;
- if (normalItemStyleOpt && normalItemStyleOpt[styleName]) {
- if (true) {
- deprecateReplaceLog("itemStyle.normal." + styleName, styleName);
- }
- opt[styleName] = opt[styleName] || {};
- if (!opt[styleName].normal) {
- opt[styleName].normal = normalItemStyleOpt[styleName];
- } else {
- merge(opt[styleName].normal, normalItemStyleOpt[styleName]);
- }
- normalItemStyleOpt[styleName] = null;
- }
- if (emphasisItemStyleOpt && emphasisItemStyleOpt[styleName]) {
- if (true) {
- deprecateReplaceLog("itemStyle.emphasis." + styleName, "emphasis." + styleName);
- }
- opt[styleName] = opt[styleName] || {};
- if (!opt[styleName].emphasis) {
- opt[styleName].emphasis = emphasisItemStyleOpt[styleName];
- } else {
- merge(opt[styleName].emphasis, emphasisItemStyleOpt[styleName]);
- }
- emphasisItemStyleOpt[styleName] = null;
- }
- }
- }
- function convertNormalEmphasis(opt, optType, useExtend) {
- if (opt && opt[optType] && (opt[optType].normal || opt[optType].emphasis)) {
- var normalOpt = opt[optType].normal;
- var emphasisOpt = opt[optType].emphasis;
- if (normalOpt) {
- if (true) {
- deprecateLog("'normal' hierarchy in " + optType + " has been removed since 4.0. All style properties are configured in " + optType + " directly now.");
- }
- if (useExtend) {
- opt[optType].normal = opt[optType].emphasis = null;
- defaults(opt[optType], normalOpt);
- } else {
- opt[optType] = normalOpt;
- }
- }
- if (emphasisOpt) {
- if (true) {
- deprecateLog(optType + ".emphasis has been changed to emphasis." + optType + " since 4.0");
- }
- opt.emphasis = opt.emphasis || {};
- opt.emphasis[optType] = emphasisOpt;
- if (emphasisOpt.focus) {
- opt.emphasis.focus = emphasisOpt.focus;
- }
- if (emphasisOpt.blurScope) {
- opt.emphasis.blurScope = emphasisOpt.blurScope;
- }
- }
- }
- }
- function removeEC3NormalStatus(opt) {
- convertNormalEmphasis(opt, "itemStyle");
- convertNormalEmphasis(opt, "lineStyle");
- convertNormalEmphasis(opt, "areaStyle");
- convertNormalEmphasis(opt, "label");
- convertNormalEmphasis(opt, "labelLine");
- convertNormalEmphasis(opt, "upperLabel");
- convertNormalEmphasis(opt, "edgeLabel");
- }
- function compatTextStyle(opt, propName) {
- var labelOptSingle = isObject3(opt) && opt[propName];
- var textStyle = isObject3(labelOptSingle) && labelOptSingle.textStyle;
- if (textStyle) {
- if (true) {
- deprecateLog("textStyle hierarchy in " + propName + " has been removed since 4.0. All textStyle properties are configured in " + propName + " directly now.");
- }
- for (var i = 0, len = TEXT_STYLE_OPTIONS.length; i < len; i++) {
- var textPropName = TEXT_STYLE_OPTIONS[i];
- if (textStyle.hasOwnProperty(textPropName)) {
- labelOptSingle[textPropName] = textStyle[textPropName];
- }
- }
- }
- }
- function compatEC3CommonStyles(opt) {
- if (opt) {
- removeEC3NormalStatus(opt);
- compatTextStyle(opt, "label");
- opt.emphasis && compatTextStyle(opt.emphasis, "label");
- }
- }
- function processSeries(seriesOpt) {
- if (!isObject3(seriesOpt)) {
- return;
- }
- compatEC2ItemStyle(seriesOpt);
- removeEC3NormalStatus(seriesOpt);
- compatTextStyle(seriesOpt, "label");
- compatTextStyle(seriesOpt, "upperLabel");
- compatTextStyle(seriesOpt, "edgeLabel");
- if (seriesOpt.emphasis) {
- compatTextStyle(seriesOpt.emphasis, "label");
- compatTextStyle(seriesOpt.emphasis, "upperLabel");
- compatTextStyle(seriesOpt.emphasis, "edgeLabel");
- }
- var markPoint = seriesOpt.markPoint;
- if (markPoint) {
- compatEC2ItemStyle(markPoint);
- compatEC3CommonStyles(markPoint);
- }
- var markLine = seriesOpt.markLine;
- if (markLine) {
- compatEC2ItemStyle(markLine);
- compatEC3CommonStyles(markLine);
- }
- var markArea = seriesOpt.markArea;
- if (markArea) {
- compatEC3CommonStyles(markArea);
- }
- var data = seriesOpt.data;
- if (seriesOpt.type === "graph") {
- data = data || seriesOpt.nodes;
- var edgeData = seriesOpt.links || seriesOpt.edges;
- if (edgeData && !isTypedArray(edgeData)) {
- for (var i = 0; i < edgeData.length; i++) {
- compatEC3CommonStyles(edgeData[i]);
- }
- }
- each(seriesOpt.categories, function(opt) {
- removeEC3NormalStatus(opt);
- });
- }
- if (data && !isTypedArray(data)) {
- for (var i = 0; i < data.length; i++) {
- compatEC3CommonStyles(data[i]);
- }
- }
- markPoint = seriesOpt.markPoint;
- if (markPoint && markPoint.data) {
- var mpData = markPoint.data;
- for (var i = 0; i < mpData.length; i++) {
- compatEC3CommonStyles(mpData[i]);
- }
- }
- markLine = seriesOpt.markLine;
- if (markLine && markLine.data) {
- var mlData = markLine.data;
- for (var i = 0; i < mlData.length; i++) {
- if (isArray(mlData[i])) {
- compatEC3CommonStyles(mlData[i][0]);
- compatEC3CommonStyles(mlData[i][1]);
- } else {
- compatEC3CommonStyles(mlData[i]);
- }
- }
- }
- if (seriesOpt.type === "gauge") {
- compatTextStyle(seriesOpt, "axisLabel");
- compatTextStyle(seriesOpt, "title");
- compatTextStyle(seriesOpt, "detail");
- } else if (seriesOpt.type === "treemap") {
- convertNormalEmphasis(seriesOpt.breadcrumb, "itemStyle");
- each(seriesOpt.levels, function(opt) {
- removeEC3NormalStatus(opt);
- });
- } else if (seriesOpt.type === "tree") {
- removeEC3NormalStatus(seriesOpt.leaves);
- }
- }
- function toArr(o) {
- return isArray(o) ? o : o ? [o] : [];
- }
- function toObj(o) {
- return (isArray(o) ? o[0] : o) || {};
- }
- function globalCompatStyle(option, isTheme) {
- each3(toArr(option.series), function(seriesOpt) {
- isObject3(seriesOpt) && processSeries(seriesOpt);
- });
- var axes = ["xAxis", "yAxis", "radiusAxis", "angleAxis", "singleAxis", "parallelAxis", "radar"];
- isTheme && axes.push("valueAxis", "categoryAxis", "logAxis", "timeAxis");
- each3(axes, function(axisName) {
- each3(toArr(option[axisName]), function(axisOpt) {
- if (axisOpt) {
- compatTextStyle(axisOpt, "axisLabel");
- compatTextStyle(axisOpt.axisPointer, "label");
- }
- });
- });
- each3(toArr(option.parallel), function(parallelOpt) {
- var parallelAxisDefault = parallelOpt && parallelOpt.parallelAxisDefault;
- compatTextStyle(parallelAxisDefault, "axisLabel");
- compatTextStyle(parallelAxisDefault && parallelAxisDefault.axisPointer, "label");
- });
- each3(toArr(option.calendar), function(calendarOpt) {
- convertNormalEmphasis(calendarOpt, "itemStyle");
- compatTextStyle(calendarOpt, "dayLabel");
- compatTextStyle(calendarOpt, "monthLabel");
- compatTextStyle(calendarOpt, "yearLabel");
- });
- each3(toArr(option.radar), function(radarOpt) {
- compatTextStyle(radarOpt, "name");
- if (radarOpt.name && radarOpt.axisName == null) {
- radarOpt.axisName = radarOpt.name;
- delete radarOpt.name;
- if (true) {
- deprecateLog("name property in radar component has been changed to axisName");
- }
- }
- if (radarOpt.nameGap != null && radarOpt.axisNameGap == null) {
- radarOpt.axisNameGap = radarOpt.nameGap;
- delete radarOpt.nameGap;
- if (true) {
- deprecateLog("nameGap property in radar component has been changed to axisNameGap");
- }
- }
- if (true) {
- each3(radarOpt.indicator, function(indicatorOpt) {
- if (indicatorOpt.text) {
- deprecateReplaceLog("text", "name", "radar.indicator");
- }
- });
- }
- });
- each3(toArr(option.geo), function(geoOpt) {
- if (isObject3(geoOpt)) {
- compatEC3CommonStyles(geoOpt);
- each3(toArr(geoOpt.regions), function(regionObj) {
- compatEC3CommonStyles(regionObj);
- });
- }
- });
- each3(toArr(option.timeline), function(timelineOpt) {
- compatEC3CommonStyles(timelineOpt);
- convertNormalEmphasis(timelineOpt, "label");
- convertNormalEmphasis(timelineOpt, "itemStyle");
- convertNormalEmphasis(timelineOpt, "controlStyle", true);
- var data = timelineOpt.data;
- isArray(data) && each(data, function(item) {
- if (isObject(item)) {
- convertNormalEmphasis(item, "label");
- convertNormalEmphasis(item, "itemStyle");
- }
- });
- });
- each3(toArr(option.toolbox), function(toolboxOpt) {
- convertNormalEmphasis(toolboxOpt, "iconStyle");
- each3(toolboxOpt.feature, function(featureOpt) {
- convertNormalEmphasis(featureOpt, "iconStyle");
- });
- });
- compatTextStyle(toObj(option.axisPointer), "label");
- compatTextStyle(toObj(option.tooltip).axisPointer, "label");
- }
- // node_modules/echarts/lib/preprocessor/backwardCompat.js
- function get(opt, path) {
- var pathArr = path.split(",");
- var obj = opt;
- for (var i = 0; i < pathArr.length; i++) {
- obj = obj && obj[pathArr[i]];
- if (obj == null) {
- break;
- }
- }
- return obj;
- }
- function set(opt, path, val, overwrite) {
- var pathArr = path.split(",");
- var obj = opt;
- var key;
- var i = 0;
- for (; i < pathArr.length - 1; i++) {
- key = pathArr[i];
- if (obj[key] == null) {
- obj[key] = {};
- }
- obj = obj[key];
- }
- if (overwrite || obj[pathArr[i]] == null) {
- obj[pathArr[i]] = val;
- }
- }
- function compatLayoutProperties(option) {
- option && each(LAYOUT_PROPERTIES, function(prop) {
- if (prop[0] in option && !(prop[1] in option)) {
- option[prop[1]] = option[prop[0]];
- }
- });
- }
- var LAYOUT_PROPERTIES = [["x", "left"], ["y", "top"], ["x2", "right"], ["y2", "bottom"]];
- var COMPATITABLE_COMPONENTS = ["grid", "geo", "parallel", "legend", "toolbox", "title", "visualMap", "dataZoom", "timeline"];
- var BAR_ITEM_STYLE_MAP = [["borderRadius", "barBorderRadius"], ["borderColor", "barBorderColor"], ["borderWidth", "barBorderWidth"]];
- function compatBarItemStyle(option) {
- var itemStyle = option && option.itemStyle;
- if (itemStyle) {
- for (var i = 0; i < BAR_ITEM_STYLE_MAP.length; i++) {
- var oldName = BAR_ITEM_STYLE_MAP[i][1];
- var newName = BAR_ITEM_STYLE_MAP[i][0];
- if (itemStyle[oldName] != null) {
- itemStyle[newName] = itemStyle[oldName];
- if (true) {
- deprecateReplaceLog(oldName, newName);
- }
- }
- }
- }
- }
- function compatPieLabel(option) {
- if (!option) {
- return;
- }
- if (option.alignTo === "edge" && option.margin != null && option.edgeDistance == null) {
- if (true) {
- deprecateReplaceLog("label.margin", "label.edgeDistance", "pie");
- }
- option.edgeDistance = option.margin;
- }
- }
- function compatSunburstState(option) {
- if (!option) {
- return;
- }
- if (option.downplay && !option.blur) {
- option.blur = option.downplay;
- if (true) {
- deprecateReplaceLog("downplay", "blur", "sunburst");
- }
- }
- }
- function compatGraphFocus(option) {
- if (!option) {
- return;
- }
- if (option.focusNodeAdjacency != null) {
- option.emphasis = option.emphasis || {};
- if (option.emphasis.focus == null) {
- if (true) {
- deprecateReplaceLog("focusNodeAdjacency", "emphasis: { focus: 'adjacency'}", "graph/sankey");
- }
- option.emphasis.focus = "adjacency";
- }
- }
- }
- function traverseTree(data, cb) {
- if (data) {
- for (var i = 0; i < data.length; i++) {
- cb(data[i]);
- data[i] && traverseTree(data[i].children, cb);
- }
- }
- }
- function globalBackwardCompat(option, isTheme) {
- globalCompatStyle(option, isTheme);
- option.series = normalizeToArray(option.series);
- each(option.series, function(seriesOpt) {
- if (!isObject(seriesOpt)) {
- return;
- }
- var seriesType2 = seriesOpt.type;
- if (seriesType2 === "line") {
- if (seriesOpt.clipOverflow != null) {
- seriesOpt.clip = seriesOpt.clipOverflow;
- if (true) {
- deprecateReplaceLog("clipOverflow", "clip", "line");
- }
- }
- } else if (seriesType2 === "pie" || seriesType2 === "gauge") {
- if (seriesOpt.clockWise != null) {
- seriesOpt.clockwise = seriesOpt.clockWise;
- if (true) {
- deprecateReplaceLog("clockWise", "clockwise");
- }
- }
- compatPieLabel(seriesOpt.label);
- var data = seriesOpt.data;
- if (data && !isTypedArray(data)) {
- for (var i = 0; i < data.length; i++) {
- compatPieLabel(data[i]);
- }
- }
- if (seriesOpt.hoverOffset != null) {
- seriesOpt.emphasis = seriesOpt.emphasis || {};
- if (seriesOpt.emphasis.scaleSize = null) {
- if (true) {
- deprecateReplaceLog("hoverOffset", "emphasis.scaleSize");
- }
- seriesOpt.emphasis.scaleSize = seriesOpt.hoverOffset;
- }
- }
- } else if (seriesType2 === "gauge") {
- var pointerColor = get(seriesOpt, "pointer.color");
- pointerColor != null && set(seriesOpt, "itemStyle.color", pointerColor);
- } else if (seriesType2 === "bar") {
- compatBarItemStyle(seriesOpt);
- compatBarItemStyle(seriesOpt.backgroundStyle);
- compatBarItemStyle(seriesOpt.emphasis);
- var data = seriesOpt.data;
- if (data && !isTypedArray(data)) {
- for (var i = 0; i < data.length; i++) {
- if (typeof data[i] === "object") {
- compatBarItemStyle(data[i]);
- compatBarItemStyle(data[i] && data[i].emphasis);
- }
- }
- }
- } else if (seriesType2 === "sunburst") {
- var highlightPolicy = seriesOpt.highlightPolicy;
- if (highlightPolicy) {
- seriesOpt.emphasis = seriesOpt.emphasis || {};
- if (!seriesOpt.emphasis.focus) {
- seriesOpt.emphasis.focus = highlightPolicy;
- if (true) {
- deprecateReplaceLog("highlightPolicy", "emphasis.focus", "sunburst");
- }
- }
- }
- compatSunburstState(seriesOpt);
- traverseTree(seriesOpt.data, compatSunburstState);
- } else if (seriesType2 === "graph" || seriesType2 === "sankey") {
- compatGraphFocus(seriesOpt);
- } else if (seriesType2 === "map") {
- if (seriesOpt.mapType && !seriesOpt.map) {
- if (true) {
- deprecateReplaceLog("mapType", "map", "map");
- }
- seriesOpt.map = seriesOpt.mapType;
- }
- if (seriesOpt.mapLocation) {
- if (true) {
- deprecateLog("`mapLocation` is not used anymore.");
- }
- defaults(seriesOpt, seriesOpt.mapLocation);
- }
- }
- if (seriesOpt.hoverAnimation != null) {
- seriesOpt.emphasis = seriesOpt.emphasis || {};
- if (seriesOpt.emphasis && seriesOpt.emphasis.scale == null) {
- if (true) {
- deprecateReplaceLog("hoverAnimation", "emphasis.scale");
- }
- seriesOpt.emphasis.scale = seriesOpt.hoverAnimation;
- }
- }
- compatLayoutProperties(seriesOpt);
- });
- if (option.dataRange) {
- option.visualMap = option.dataRange;
- }
- each(COMPATITABLE_COMPONENTS, function(componentName) {
- var options = option[componentName];
- if (options) {
- if (!isArray(options)) {
- options = [options];
- }
- each(options, function(option2) {
- compatLayoutProperties(option2);
- });
- }
- });
- }
- // node_modules/echarts/lib/processor/dataStack.js
- init_define_APP_INFO();
- function dataStack(ecModel) {
- var stackInfoMap = createHashMap();
- ecModel.eachSeries(function(seriesModel) {
- var stack = seriesModel.get("stack");
- if (stack) {
- var stackInfoList = stackInfoMap.get(stack) || stackInfoMap.set(stack, []);
- var data = seriesModel.getData();
- var stackInfo = {
- stackResultDimension: data.getCalculationInfo("stackResultDimension"),
- stackedOverDimension: data.getCalculationInfo("stackedOverDimension"),
- stackedDimension: data.getCalculationInfo("stackedDimension"),
- stackedByDimension: data.getCalculationInfo("stackedByDimension"),
- isStackedByIndex: data.getCalculationInfo("isStackedByIndex"),
- data,
- seriesModel
- };
- if (!stackInfo.stackedDimension || !(stackInfo.isStackedByIndex || stackInfo.stackedByDimension)) {
- return;
- }
- stackInfoList.length && data.setCalculationInfo("stackedOnSeries", stackInfoList[stackInfoList.length - 1].seriesModel);
- stackInfoList.push(stackInfo);
- }
- });
- stackInfoMap.each(calculateStack);
- }
- function calculateStack(stackInfoList) {
- each(stackInfoList, function(targetStackInfo, idxInStack) {
- var resultVal = [];
- var resultNaN = [NaN, NaN];
- var dims = [targetStackInfo.stackResultDimension, targetStackInfo.stackedOverDimension];
- var targetData = targetStackInfo.data;
- var isStackedByIndex = targetStackInfo.isStackedByIndex;
- var stackStrategy = targetStackInfo.seriesModel.get("stackStrategy") || "samesign";
- targetData.modify(dims, function(v0, v1, dataIndex) {
- var sum = targetData.get(targetStackInfo.stackedDimension, dataIndex);
- if (isNaN(sum)) {
- return resultNaN;
- }
- var byValue;
- var stackedDataRawIndex;
- if (isStackedByIndex) {
- stackedDataRawIndex = targetData.getRawIndex(dataIndex);
- } else {
- byValue = targetData.get(targetStackInfo.stackedByDimension, dataIndex);
- }
- var stackedOver = NaN;
- for (var j = idxInStack - 1; j >= 0; j--) {
- var stackInfo = stackInfoList[j];
- if (!isStackedByIndex) {
- stackedDataRawIndex = stackInfo.data.rawIndexOf(stackInfo.stackedByDimension, byValue);
- }
- if (stackedDataRawIndex >= 0) {
- var val = stackInfo.data.getByRawIndex(stackInfo.stackResultDimension, stackedDataRawIndex);
- if (stackStrategy === "all" || stackStrategy === "positive" && val > 0 || stackStrategy === "negative" && val < 0 || stackStrategy === "samesign" && sum >= 0 && val > 0 || stackStrategy === "samesign" && sum <= 0 && val < 0) {
- sum = addSafe(sum, val);
- stackedOver = val;
- break;
- }
- }
- }
- resultVal[0] = sum;
- resultVal[1] = stackedOver;
- return resultVal;
- });
- });
- }
- // node_modules/echarts/lib/visual/style.js
- init_define_APP_INFO();
- var inner5 = makeInner();
- var defaultStyleMappers = {
- itemStyle: makeStyleMapper(ITEM_STYLE_KEY_MAP, true),
- lineStyle: makeStyleMapper(LINE_STYLE_KEY_MAP, true)
- };
- var defaultColorKey = {
- lineStyle: "stroke",
- itemStyle: "fill"
- };
- function getStyleMapper(seriesModel, stylePath) {
- var styleMapper = seriesModel.visualStyleMapper || defaultStyleMappers[stylePath];
- if (!styleMapper) {
- console.warn("Unkown style type '" + stylePath + "'.");
- return defaultStyleMappers.itemStyle;
- }
- return styleMapper;
- }
- function getDefaultColorKey(seriesModel, stylePath) {
- var colorKey = seriesModel.visualDrawType || defaultColorKey[stylePath];
- if (!colorKey) {
- console.warn("Unkown style type '" + stylePath + "'.");
- return "fill";
- }
- return colorKey;
- }
- var seriesStyleTask = {
- createOnAllSeries: true,
- performRawSeries: true,
- reset: function(seriesModel, ecModel) {
- var data = seriesModel.getData();
- var stylePath = seriesModel.visualStyleAccessPath || "itemStyle";
- var styleModel = seriesModel.getModel(stylePath);
- var getStyle = getStyleMapper(seriesModel, stylePath);
- var globalStyle = getStyle(styleModel);
- var decalOption = styleModel.getShallow("decal");
- if (decalOption) {
- data.setVisual("decal", decalOption);
- decalOption.dirty = true;
- }
- var colorKey = getDefaultColorKey(seriesModel, stylePath);
- var color = globalStyle[colorKey];
- var colorCallback = isFunction(color) ? color : null;
- var hasAutoColor = globalStyle.fill === "auto" || globalStyle.stroke === "auto";
- if (!globalStyle[colorKey] || colorCallback || hasAutoColor) {
- var colorPalette2 = seriesModel.getColorFromPalette(
- seriesModel.name,
- null,
- ecModel.getSeriesCount()
- );
- if (!globalStyle[colorKey]) {
- globalStyle[colorKey] = colorPalette2;
- data.setVisual("colorFromPalette", true);
- }
- globalStyle.fill = globalStyle.fill === "auto" || isFunction(globalStyle.fill) ? colorPalette2 : globalStyle.fill;
- globalStyle.stroke = globalStyle.stroke === "auto" || isFunction(globalStyle.stroke) ? colorPalette2 : globalStyle.stroke;
- }
- data.setVisual("style", globalStyle);
- data.setVisual("drawType", colorKey);
- if (!ecModel.isSeriesFiltered(seriesModel) && colorCallback) {
- data.setVisual("colorFromPalette", false);
- return {
- dataEach: function(data2, idx) {
- var dataParams = seriesModel.getDataParams(idx);
- var itemStyle = extend({}, globalStyle);
- itemStyle[colorKey] = colorCallback(dataParams);
- data2.setItemVisual(idx, "style", itemStyle);
- }
- };
- }
- }
- };
- var sharedModel = new Model_default();
- var dataStyleTask = {
- createOnAllSeries: true,
- performRawSeries: true,
- reset: function(seriesModel, ecModel) {
- if (seriesModel.ignoreStyleOnData || ecModel.isSeriesFiltered(seriesModel)) {
- return;
- }
- var data = seriesModel.getData();
- var stylePath = seriesModel.visualStyleAccessPath || "itemStyle";
- var getStyle = getStyleMapper(seriesModel, stylePath);
- var colorKey = data.getVisual("drawType");
- return {
- dataEach: data.hasItemOption ? function(data2, idx) {
- var rawItem = data2.getRawDataItem(idx);
- if (rawItem && rawItem[stylePath]) {
- sharedModel.option = rawItem[stylePath];
- var style = getStyle(sharedModel);
- var existsStyle = data2.ensureUniqueItemVisual(idx, "style");
- extend(existsStyle, style);
- if (sharedModel.option.decal) {
- data2.setItemVisual(idx, "decal", sharedModel.option.decal);
- sharedModel.option.decal.dirty = true;
- }
- if (colorKey in style) {
- data2.setItemVisual(idx, "colorFromPalette", false);
- }
- }
- } : null
- };
- }
- };
- var dataColorPaletteTask = {
- performRawSeries: true,
- overallReset: function(ecModel) {
- var paletteScopeGroupByType = createHashMap();
- ecModel.eachSeries(function(seriesModel) {
- var colorBy = seriesModel.getColorBy();
- if (seriesModel.isColorBySeries()) {
- return;
- }
- var key = seriesModel.type + "-" + colorBy;
- var colorScope = paletteScopeGroupByType.get(key);
- if (!colorScope) {
- colorScope = {};
- paletteScopeGroupByType.set(key, colorScope);
- }
- inner5(seriesModel).scope = colorScope;
- });
- ecModel.eachSeries(function(seriesModel) {
- if (seriesModel.isColorBySeries() || ecModel.isSeriesFiltered(seriesModel)) {
- return;
- }
- var dataAll = seriesModel.getRawData();
- var idxMap = {};
- var data = seriesModel.getData();
- var colorScope = inner5(seriesModel).scope;
- var stylePath = seriesModel.visualStyleAccessPath || "itemStyle";
- var colorKey = getDefaultColorKey(seriesModel, stylePath);
- data.each(function(idx) {
- var rawIdx = data.getRawIndex(idx);
- idxMap[rawIdx] = idx;
- });
- dataAll.each(function(rawIdx) {
- var idx = idxMap[rawIdx];
- var fromPalette = data.getItemVisual(idx, "colorFromPalette");
- if (fromPalette) {
- var itemStyle = data.ensureUniqueItemVisual(idx, "style");
- var name_1 = dataAll.getName(rawIdx) || rawIdx + "";
- var dataCount = dataAll.count();
- itemStyle[colorKey] = seriesModel.getColorFromPalette(name_1, colorScope, dataCount);
- }
- });
- });
- }
- };
- // node_modules/echarts/lib/loading/default.js
- init_define_APP_INFO();
- var PI3 = Math.PI;
- function defaultLoading(api, opts) {
- opts = opts || {};
- defaults(opts, {
- text: "loading",
- textColor: "#000",
- fontSize: 12,
- fontWeight: "normal",
- fontStyle: "normal",
- fontFamily: "sans-serif",
- maskColor: "rgba(255, 255, 255, 0.8)",
- showSpinner: true,
- color: "#5470c6",
- spinnerRadius: 10,
- lineWidth: 5,
- zlevel: 0
- });
- var group = new Group_default();
- var mask = new Rect_default({
- style: {
- fill: opts.maskColor
- },
- zlevel: opts.zlevel,
- z: 1e4
- });
- group.add(mask);
- var textContent = new Text_default({
- style: {
- text: opts.text,
- fill: opts.textColor,
- fontSize: opts.fontSize,
- fontWeight: opts.fontWeight,
- fontStyle: opts.fontStyle,
- fontFamily: opts.fontFamily
- },
- zlevel: opts.zlevel,
- z: 10001
- });
- var labelRect = new Rect_default({
- style: {
- fill: "none"
- },
- textContent,
- textConfig: {
- position: "right",
- distance: 10
- },
- zlevel: opts.zlevel,
- z: 10001
- });
- group.add(labelRect);
- var arc;
- if (opts.showSpinner) {
- arc = new Arc_default({
- shape: {
- startAngle: -PI3 / 2,
- endAngle: -PI3 / 2 + 0.1,
- r: opts.spinnerRadius
- },
- style: {
- stroke: opts.color,
- lineCap: "round",
- lineWidth: opts.lineWidth
- },
- zlevel: opts.zlevel,
- z: 10001
- });
- arc.animateShape(true).when(1e3, {
- endAngle: PI3 * 3 / 2
- }).start("circularInOut");
- arc.animateShape(true).when(1e3, {
- startAngle: PI3 * 3 / 2
- }).delay(300).start("circularInOut");
- group.add(arc);
- }
- group.resize = function() {
- var textWidth = textContent.getBoundingRect().width;
- var r = opts.showSpinner ? opts.spinnerRadius : 0;
- var cx = (api.getWidth() - r * 2 - (opts.showSpinner && textWidth ? 10 : 0) - textWidth) / 2 - (opts.showSpinner && textWidth ? 0 : 5 + textWidth / 2) + (opts.showSpinner ? 0 : textWidth / 2) + (textWidth ? 0 : r);
- var cy = api.getHeight() / 2;
- opts.showSpinner && arc.setShape({
- cx,
- cy
- });
- labelRect.setShape({
- x: cx - r,
- y: cy - r,
- width: r * 2,
- height: r * 2
- });
- mask.setShape({
- x: 0,
- y: 0,
- width: api.getWidth(),
- height: api.getHeight()
- });
- };
- group.resize();
- return group;
- }
- // node_modules/echarts/lib/core/Scheduler.js
- init_define_APP_INFO();
- var Scheduler = function() {
- function Scheduler2(ecInstance, api, dataProcessorHandlers, visualHandlers) {
- this._stageTaskMap = createHashMap();
- this.ecInstance = ecInstance;
- this.api = api;
- dataProcessorHandlers = this._dataProcessorHandlers = dataProcessorHandlers.slice();
- visualHandlers = this._visualHandlers = visualHandlers.slice();
- this._allHandlers = dataProcessorHandlers.concat(visualHandlers);
- }
- Scheduler2.prototype.restoreData = function(ecModel, payload) {
- ecModel.restoreData(payload);
- this._stageTaskMap.each(function(taskRecord) {
- var overallTask = taskRecord.overallTask;
- overallTask && overallTask.dirty();
- });
- };
- Scheduler2.prototype.getPerformArgs = function(task, isBlock) {
- if (!task.__pipeline) {
- return;
- }
- var pipeline = this._pipelineMap.get(task.__pipeline.id);
- var pCtx = pipeline.context;
- var incremental = !isBlock && pipeline.progressiveEnabled && (!pCtx || pCtx.progressiveRender) && task.__idxInPipeline > pipeline.blockIndex;
- var step = incremental ? pipeline.step : null;
- var modDataCount = pCtx && pCtx.modDataCount;
- var modBy = modDataCount != null ? Math.ceil(modDataCount / step) : null;
- return {
- step,
- modBy,
- modDataCount
- };
- };
- Scheduler2.prototype.getPipeline = function(pipelineId) {
- return this._pipelineMap.get(pipelineId);
- };
- Scheduler2.prototype.updateStreamModes = function(seriesModel, view) {
- var pipeline = this._pipelineMap.get(seriesModel.uid);
- var data = seriesModel.getData();
- var dataLen = data.count();
- var progressiveRender = pipeline.progressiveEnabled && view.incrementalPrepareRender && dataLen >= pipeline.threshold;
- var large = seriesModel.get("large") && dataLen >= seriesModel.get("largeThreshold");
- var modDataCount = seriesModel.get("progressiveChunkMode") === "mod" ? dataLen : null;
- seriesModel.pipelineContext = pipeline.context = {
- progressiveRender,
- modDataCount,
- large
- };
- };
- Scheduler2.prototype.restorePipelines = function(ecModel) {
- var scheduler = this;
- var pipelineMap = scheduler._pipelineMap = createHashMap();
- ecModel.eachSeries(function(seriesModel) {
- var progressive = seriesModel.getProgressive();
- var pipelineId = seriesModel.uid;
- pipelineMap.set(pipelineId, {
- id: pipelineId,
- head: null,
- tail: null,
- threshold: seriesModel.getProgressiveThreshold(),
- progressiveEnabled: progressive && !(seriesModel.preventIncremental && seriesModel.preventIncremental()),
- blockIndex: -1,
- step: Math.round(progressive || 700),
- count: 0
- });
- scheduler._pipe(seriesModel, seriesModel.dataTask);
- });
- };
- Scheduler2.prototype.prepareStageTasks = function() {
- var stageTaskMap = this._stageTaskMap;
- var ecModel = this.api.getModel();
- var api = this.api;
- each(this._allHandlers, function(handler) {
- var record = stageTaskMap.get(handler.uid) || stageTaskMap.set(handler.uid, {});
- var errMsg = "";
- if (true) {
- errMsg = '"reset" and "overallReset" must not be both specified.';
- }
- assert(!(handler.reset && handler.overallReset), errMsg);
- handler.reset && this._createSeriesStageTask(handler, record, ecModel, api);
- handler.overallReset && this._createOverallStageTask(handler, record, ecModel, api);
- }, this);
- };
- Scheduler2.prototype.prepareView = function(view, model, ecModel, api) {
- var renderTask = view.renderTask;
- var context = renderTask.context;
- context.model = model;
- context.ecModel = ecModel;
- context.api = api;
- renderTask.__block = !view.incrementalPrepareRender;
- this._pipe(model, renderTask);
- };
- Scheduler2.prototype.performDataProcessorTasks = function(ecModel, payload) {
- this._performStageTasks(this._dataProcessorHandlers, ecModel, payload, {
- block: true
- });
- };
- Scheduler2.prototype.performVisualTasks = function(ecModel, payload, opt) {
- this._performStageTasks(this._visualHandlers, ecModel, payload, opt);
- };
- Scheduler2.prototype._performStageTasks = function(stageHandlers, ecModel, payload, opt) {
- opt = opt || {};
- var unfinished = false;
- var scheduler = this;
- each(stageHandlers, function(stageHandler, idx) {
- if (opt.visualType && opt.visualType !== stageHandler.visualType) {
- return;
- }
- var stageHandlerRecord = scheduler._stageTaskMap.get(stageHandler.uid);
- var seriesTaskMap = stageHandlerRecord.seriesTaskMap;
- var overallTask = stageHandlerRecord.overallTask;
- if (overallTask) {
- var overallNeedDirty_1;
- var agentStubMap = overallTask.agentStubMap;
- agentStubMap.each(function(stub) {
- if (needSetDirty(opt, stub)) {
- stub.dirty();
- overallNeedDirty_1 = true;
- }
- });
- overallNeedDirty_1 && overallTask.dirty();
- scheduler.updatePayload(overallTask, payload);
- var performArgs_1 = scheduler.getPerformArgs(overallTask, opt.block);
- agentStubMap.each(function(stub) {
- stub.perform(performArgs_1);
- });
- if (overallTask.perform(performArgs_1)) {
- unfinished = true;
- }
- } else if (seriesTaskMap) {
- seriesTaskMap.each(function(task, pipelineId) {
- if (needSetDirty(opt, task)) {
- task.dirty();
- }
- var performArgs = scheduler.getPerformArgs(task, opt.block);
- performArgs.skip = !stageHandler.performRawSeries && ecModel.isSeriesFiltered(task.context.model);
- scheduler.updatePayload(task, payload);
- if (task.perform(performArgs)) {
- unfinished = true;
- }
- });
- }
- });
- function needSetDirty(opt2, task) {
- return opt2.setDirty && (!opt2.dirtyMap || opt2.dirtyMap.get(task.__pipeline.id));
- }
- this.unfinished = unfinished || this.unfinished;
- };
- Scheduler2.prototype.performSeriesTasks = function(ecModel) {
- var unfinished;
- ecModel.eachSeries(function(seriesModel) {
- unfinished = seriesModel.dataTask.perform() || unfinished;
- });
- this.unfinished = unfinished || this.unfinished;
- };
- Scheduler2.prototype.plan = function() {
- this._pipelineMap.each(function(pipeline) {
- var task = pipeline.tail;
- do {
- if (task.__block) {
- pipeline.blockIndex = task.__idxInPipeline;
- break;
- }
- task = task.getUpstream();
- } while (task);
- });
- };
- Scheduler2.prototype.updatePayload = function(task, payload) {
- payload !== "remain" && (task.context.payload = payload);
- };
- Scheduler2.prototype._createSeriesStageTask = function(stageHandler, stageHandlerRecord, ecModel, api) {
- var scheduler = this;
- var oldSeriesTaskMap = stageHandlerRecord.seriesTaskMap;
- var newSeriesTaskMap = stageHandlerRecord.seriesTaskMap = createHashMap();
- var seriesType2 = stageHandler.seriesType;
- var getTargetSeries = stageHandler.getTargetSeries;
- if (stageHandler.createOnAllSeries) {
- ecModel.eachRawSeries(create);
- } else if (seriesType2) {
- ecModel.eachRawSeriesByType(seriesType2, create);
- } else if (getTargetSeries) {
- getTargetSeries(ecModel, api).each(create);
- }
- function create(seriesModel) {
- var pipelineId = seriesModel.uid;
- var task = newSeriesTaskMap.set(pipelineId, oldSeriesTaskMap && oldSeriesTaskMap.get(pipelineId) || createTask({
- plan: seriesTaskPlan,
- reset: seriesTaskReset,
- count: seriesTaskCount
- }));
- task.context = {
- model: seriesModel,
- ecModel,
- api,
- useClearVisual: stageHandler.isVisual && !stageHandler.isLayout,
- plan: stageHandler.plan,
- reset: stageHandler.reset,
- scheduler
- };
- scheduler._pipe(seriesModel, task);
- }
- };
- Scheduler2.prototype._createOverallStageTask = function(stageHandler, stageHandlerRecord, ecModel, api) {
- var scheduler = this;
- var overallTask = stageHandlerRecord.overallTask = stageHandlerRecord.overallTask || createTask({
- reset: overallTaskReset
- });
- overallTask.context = {
- ecModel,
- api,
- overallReset: stageHandler.overallReset,
- scheduler
- };
- var oldAgentStubMap = overallTask.agentStubMap;
- var newAgentStubMap = overallTask.agentStubMap = createHashMap();
- var seriesType2 = stageHandler.seriesType;
- var getTargetSeries = stageHandler.getTargetSeries;
- var overallProgress = true;
- var shouldOverallTaskDirty = false;
- var errMsg = "";
- if (true) {
- errMsg = '"createOnAllSeries" do not supported for "overallReset", becuase it will block all streams.';
- }
- assert(!stageHandler.createOnAllSeries, errMsg);
- if (seriesType2) {
- ecModel.eachRawSeriesByType(seriesType2, createStub);
- } else if (getTargetSeries) {
- getTargetSeries(ecModel, api).each(createStub);
- } else {
- overallProgress = false;
- each(ecModel.getSeries(), createStub);
- }
- function createStub(seriesModel) {
- var pipelineId = seriesModel.uid;
- var stub = newAgentStubMap.set(pipelineId, oldAgentStubMap && oldAgentStubMap.get(pipelineId) || (shouldOverallTaskDirty = true, createTask({
- reset: stubReset,
- onDirty: stubOnDirty
- })));
- stub.context = {
- model: seriesModel,
- overallProgress
- };
- stub.agent = overallTask;
- stub.__block = overallProgress;
- scheduler._pipe(seriesModel, stub);
- }
- if (shouldOverallTaskDirty) {
- overallTask.dirty();
- }
- };
- Scheduler2.prototype._pipe = function(seriesModel, task) {
- var pipelineId = seriesModel.uid;
- var pipeline = this._pipelineMap.get(pipelineId);
- !pipeline.head && (pipeline.head = task);
- pipeline.tail && pipeline.tail.pipe(task);
- pipeline.tail = task;
- task.__idxInPipeline = pipeline.count++;
- task.__pipeline = pipeline;
- };
- Scheduler2.wrapStageHandler = function(stageHandler, visualType) {
- if (isFunction(stageHandler)) {
- stageHandler = {
- overallReset: stageHandler,
- seriesType: detectSeriseType(stageHandler)
- };
- }
- stageHandler.uid = getUID("stageHandler");
- visualType && (stageHandler.visualType = visualType);
- return stageHandler;
- };
- ;
- return Scheduler2;
- }();
- function overallTaskReset(context) {
- context.overallReset(context.ecModel, context.api, context.payload);
- }
- function stubReset(context) {
- return context.overallProgress && stubProgress;
- }
- function stubProgress() {
- this.agent.dirty();
- this.getDownstream().dirty();
- }
- function stubOnDirty() {
- this.agent && this.agent.dirty();
- }
- function seriesTaskPlan(context) {
- return context.plan ? context.plan(context.model, context.ecModel, context.api, context.payload) : null;
- }
- function seriesTaskReset(context) {
- if (context.useClearVisual) {
- context.data.clearAllVisual();
- }
- var resetDefines = context.resetDefines = normalizeToArray(context.reset(context.model, context.ecModel, context.api, context.payload));
- return resetDefines.length > 1 ? map(resetDefines, function(v, idx) {
- return makeSeriesTaskProgress(idx);
- }) : singleSeriesTaskProgress;
- }
- var singleSeriesTaskProgress = makeSeriesTaskProgress(0);
- function makeSeriesTaskProgress(resetDefineIdx) {
- return function(params, context) {
- var data = context.data;
- var resetDefine = context.resetDefines[resetDefineIdx];
- if (resetDefine && resetDefine.dataEach) {
- for (var i = params.start; i < params.end; i++) {
- resetDefine.dataEach(data, i);
- }
- } else if (resetDefine && resetDefine.progress) {
- resetDefine.progress(params, data);
- }
- };
- }
- function seriesTaskCount(context) {
- return context.data.count();
- }
- function detectSeriseType(legacyFunc) {
- seriesType = null;
- try {
- legacyFunc(ecModelMock, apiMock);
- } catch (e2) {
- }
- return seriesType;
- }
- var ecModelMock = {};
- var apiMock = {};
- var seriesType;
- mockMethods(ecModelMock, Global_default);
- mockMethods(apiMock, ExtensionAPI_default);
- ecModelMock.eachSeriesByType = ecModelMock.eachRawSeriesByType = function(type) {
- seriesType = type;
- };
- ecModelMock.eachComponent = function(cond) {
- if (cond.mainType === "series" && cond.subType) {
- seriesType = cond.subType;
- }
- };
- function mockMethods(target, Clz) {
- for (var name_1 in Clz.prototype) {
- target[name_1] = noop;
- }
- }
- var Scheduler_default = Scheduler;
- // node_modules/echarts/lib/theme/light.js
- init_define_APP_INFO();
- var colorAll = ["#37A2DA", "#32C5E9", "#67E0E3", "#9FE6B8", "#FFDB5C", "#ff9f7f", "#fb7293", "#E062AE", "#E690D1", "#e7bcf3", "#9d96f5", "#8378EA", "#96BFFF"];
- var light_default = {
- color: colorAll,
- colorLayer: [["#37A2DA", "#ffd85c", "#fd7b5f"], ["#37A2DA", "#67E0E3", "#FFDB5C", "#ff9f7f", "#E062AE", "#9d96f5"], ["#37A2DA", "#32C5E9", "#9FE6B8", "#FFDB5C", "#ff9f7f", "#fb7293", "#e7bcf3", "#8378EA", "#96BFFF"], colorAll]
- };
- // node_modules/echarts/lib/theme/dark.js
- init_define_APP_INFO();
- var contrastColor = "#B9B8CE";
- var backgroundColor = "#100C2A";
- var axisCommon = function() {
- return {
- axisLine: {
- lineStyle: {
- color: contrastColor
- }
- },
- splitLine: {
- lineStyle: {
- color: "#484753"
- }
- },
- splitArea: {
- areaStyle: {
- color: ["rgba(255,255,255,0.02)", "rgba(255,255,255,0.05)"]
- }
- },
- minorSplitLine: {
- lineStyle: {
- color: "#20203B"
- }
- }
- };
- };
- var colorPalette = ["#4992ff", "#7cffb2", "#fddd60", "#ff6e76", "#58d9f9", "#05c091", "#ff8a45", "#8d48e3", "#dd79ff"];
- var theme = {
- darkMode: true,
- color: colorPalette,
- backgroundColor,
- axisPointer: {
- lineStyle: {
- color: "#817f91"
- },
- crossStyle: {
- color: "#817f91"
- },
- label: {
- color: "#fff"
- }
- },
- legend: {
- textStyle: {
- color: contrastColor
- }
- },
- textStyle: {
- color: contrastColor
- },
- title: {
- textStyle: {
- color: "#EEF1FA"
- },
- subtextStyle: {
- color: "#B9B8CE"
- }
- },
- toolbox: {
- iconStyle: {
- borderColor: contrastColor
- }
- },
- dataZoom: {
- borderColor: "#71708A",
- textStyle: {
- color: contrastColor
- },
- brushStyle: {
- color: "rgba(135,163,206,0.3)"
- },
- handleStyle: {
- color: "#353450",
- borderColor: "#C5CBE3"
- },
- moveHandleStyle: {
- color: "#B0B6C3",
- opacity: 0.3
- },
- fillerColor: "rgba(135,163,206,0.2)",
- emphasis: {
- handleStyle: {
- borderColor: "#91B7F2",
- color: "#4D587D"
- },
- moveHandleStyle: {
- color: "#636D9A",
- opacity: 0.7
- }
- },
- dataBackground: {
- lineStyle: {
- color: "#71708A",
- width: 1
- },
- areaStyle: {
- color: "#71708A"
- }
- },
- selectedDataBackground: {
- lineStyle: {
- color: "#87A3CE"
- },
- areaStyle: {
- color: "#87A3CE"
- }
- }
- },
- visualMap: {
- textStyle: {
- color: contrastColor
- }
- },
- timeline: {
- lineStyle: {
- color: contrastColor
- },
- label: {
- color: contrastColor
- },
- controlStyle: {
- color: contrastColor,
- borderColor: contrastColor
- }
- },
- calendar: {
- itemStyle: {
- color: backgroundColor
- },
- dayLabel: {
- color: contrastColor
- },
- monthLabel: {
- color: contrastColor
- },
- yearLabel: {
- color: contrastColor
- }
- },
- timeAxis: axisCommon(),
- logAxis: axisCommon(),
- valueAxis: axisCommon(),
- categoryAxis: axisCommon(),
- line: {
- symbol: "circle"
- },
- graph: {
- color: colorPalette
- },
- gauge: {
- title: {
- color: contrastColor
- },
- axisLine: {
- lineStyle: {
- color: [[1, "rgba(207,212,219,0.2)"]]
- }
- },
- axisLabel: {
- color: contrastColor
- },
- detail: {
- color: "#EEF1FA"
- }
- },
- candlestick: {
- itemStyle: {
- color: "#f64e56",
- color0: "#54ea92",
- borderColor: "#f64e56",
- borderColor0: "#54ea92"
- }
- }
- };
- theme.categoryAxis.splitLine.show = false;
- var dark_default = theme;
- // node_modules/echarts/lib/util/ECEventProcessor.js
- init_define_APP_INFO();
- var ECEventProcessor = function() {
- function ECEventProcessor2() {
- }
- ECEventProcessor2.prototype.normalizeQuery = function(query) {
- var cptQuery = {};
- var dataQuery = {};
- var otherQuery = {};
- if (isString(query)) {
- var condCptType = parseClassType(query);
- cptQuery.mainType = condCptType.main || null;
- cptQuery.subType = condCptType.sub || null;
- } else {
- var suffixes_1 = ["Index", "Name", "Id"];
- var dataKeys_1 = {
- name: 1,
- dataIndex: 1,
- dataType: 1
- };
- each(query, function(val, key) {
- var reserved = false;
- for (var i = 0; i < suffixes_1.length; i++) {
- var propSuffix = suffixes_1[i];
- var suffixPos = key.lastIndexOf(propSuffix);
- if (suffixPos > 0 && suffixPos === key.length - propSuffix.length) {
- var mainType = key.slice(0, suffixPos);
- if (mainType !== "data") {
- cptQuery.mainType = mainType;
- cptQuery[propSuffix.toLowerCase()] = val;
- reserved = true;
- }
- }
- }
- if (dataKeys_1.hasOwnProperty(key)) {
- dataQuery[key] = val;
- reserved = true;
- }
- if (!reserved) {
- otherQuery[key] = val;
- }
- });
- }
- return {
- cptQuery,
- dataQuery,
- otherQuery
- };
- };
- ECEventProcessor2.prototype.filter = function(eventType, query) {
- var eventInfo = this.eventInfo;
- if (!eventInfo) {
- return true;
- }
- var targetEl = eventInfo.targetEl;
- var packedEvent = eventInfo.packedEvent;
- var model = eventInfo.model;
- var view = eventInfo.view;
- if (!model || !view) {
- return true;
- }
- var cptQuery = query.cptQuery;
- var dataQuery = query.dataQuery;
- return check(cptQuery, model, "mainType") && check(cptQuery, model, "subType") && check(cptQuery, model, "index", "componentIndex") && check(cptQuery, model, "name") && check(cptQuery, model, "id") && check(dataQuery, packedEvent, "name") && check(dataQuery, packedEvent, "dataIndex") && check(dataQuery, packedEvent, "dataType") && (!view.filterForExposedEvent || view.filterForExposedEvent(eventType, query.otherQuery, targetEl, packedEvent));
- function check(query2, host, prop, propOnHost) {
- return query2[prop] == null || host[propOnHost || prop] === query2[prop];
- }
- };
- ECEventProcessor2.prototype.afterTrigger = function() {
- this.eventInfo = null;
- };
- return ECEventProcessor2;
- }();
- // node_modules/echarts/lib/visual/symbol.js
- init_define_APP_INFO();
- var SYMBOL_PROPS_WITH_CB = ["symbol", "symbolSize", "symbolRotate", "symbolOffset"];
- var SYMBOL_PROPS = SYMBOL_PROPS_WITH_CB.concat(["symbolKeepAspect"]);
- var seriesSymbolTask = {
- createOnAllSeries: true,
- performRawSeries: true,
- reset: function(seriesModel, ecModel) {
- var data = seriesModel.getData();
- if (seriesModel.legendIcon) {
- data.setVisual("legendIcon", seriesModel.legendIcon);
- }
- if (!seriesModel.hasSymbolVisual) {
- return;
- }
- var symbolOptions = {};
- var symbolOptionsCb = {};
- var hasCallback = false;
- for (var i = 0; i < SYMBOL_PROPS_WITH_CB.length; i++) {
- var symbolPropName = SYMBOL_PROPS_WITH_CB[i];
- var val = seriesModel.get(symbolPropName);
- if (isFunction(val)) {
- hasCallback = true;
- symbolOptionsCb[symbolPropName] = val;
- } else {
- symbolOptions[symbolPropName] = val;
- }
- }
- symbolOptions.symbol = symbolOptions.symbol || seriesModel.defaultSymbol;
- data.setVisual(extend({
- legendIcon: seriesModel.legendIcon || symbolOptions.symbol,
- symbolKeepAspect: seriesModel.get("symbolKeepAspect")
- }, symbolOptions));
- if (ecModel.isSeriesFiltered(seriesModel)) {
- return;
- }
- var symbolPropsCb = keys(symbolOptionsCb);
- function dataEach(data2, idx) {
- var rawValue = seriesModel.getRawValue(idx);
- var params = seriesModel.getDataParams(idx);
- for (var i2 = 0; i2 < symbolPropsCb.length; i2++) {
- var symbolPropName2 = symbolPropsCb[i2];
- data2.setItemVisual(idx, symbolPropName2, symbolOptionsCb[symbolPropName2](rawValue, params));
- }
- }
- return {
- dataEach: hasCallback ? dataEach : null
- };
- }
- };
- var dataSymbolTask = {
- createOnAllSeries: true,
- performRawSeries: true,
- reset: function(seriesModel, ecModel) {
- if (!seriesModel.hasSymbolVisual) {
- return;
- }
- if (ecModel.isSeriesFiltered(seriesModel)) {
- return;
- }
- var data = seriesModel.getData();
- function dataEach(data2, idx) {
- var itemModel = data2.getItemModel(idx);
- for (var i = 0; i < SYMBOL_PROPS.length; i++) {
- var symbolPropName = SYMBOL_PROPS[i];
- var val = itemModel.getShallow(symbolPropName, true);
- if (val != null) {
- data2.setItemVisual(idx, symbolPropName, val);
- }
- }
- }
- return {
- dataEach: data.hasItemOption ? dataEach : null
- };
- }
- };
- // node_modules/echarts/lib/visual/helper.js
- init_define_APP_INFO();
- function getItemVisualFromData(data, dataIndex, key) {
- switch (key) {
- case "color":
- var style = data.getItemVisual(dataIndex, "style");
- return style[data.getVisual("drawType")];
- case "opacity":
- return data.getItemVisual(dataIndex, "style").opacity;
- case "symbol":
- case "symbolSize":
- case "liftZ":
- return data.getItemVisual(dataIndex, key);
- default:
- if (true) {
- console.warn("Unknown visual type " + key);
- }
- }
- }
- function getVisualFromData(data, key) {
- switch (key) {
- case "color":
- var style = data.getVisual("style");
- return style[data.getVisual("drawType")];
- case "opacity":
- return data.getVisual("style").opacity;
- case "symbol":
- case "symbolSize":
- case "liftZ":
- return data.getVisual(key);
- default:
- if (true) {
- console.warn("Unknown visual type " + key);
- }
- }
- }
- function setItemVisualFromData(data, dataIndex, key, value) {
- switch (key) {
- case "color":
- var style = data.ensureUniqueItemVisual(dataIndex, "style");
- style[data.getVisual("drawType")] = value;
- data.setItemVisual(dataIndex, "colorFromPalette", false);
- break;
- case "opacity":
- data.ensureUniqueItemVisual(dataIndex, "style").opacity = value;
- break;
- case "symbol":
- case "symbolSize":
- case "liftZ":
- data.setItemVisual(dataIndex, key, value);
- break;
- default:
- if (true) {
- console.warn("Unknown visual type " + key);
- }
- }
- }
- // node_modules/echarts/lib/legacy/dataSelectAction.js
- init_define_APP_INFO();
- function createLegacyDataSelectAction(seriesType2, ecRegisterAction) {
- function getSeriesIndices(ecModel, payload) {
- var seriesIndices = [];
- ecModel.eachComponent({
- mainType: "series",
- subType: seriesType2,
- query: payload
- }, function(seriesModel) {
- seriesIndices.push(seriesModel.seriesIndex);
- });
- return seriesIndices;
- }
- each([[seriesType2 + "ToggleSelect", "toggleSelect"], [seriesType2 + "Select", "select"], [seriesType2 + "UnSelect", "unselect"]], function(eventsMap) {
- ecRegisterAction(eventsMap[0], function(payload, ecModel, api) {
- payload = extend({}, payload);
- if (true) {
- deprecateReplaceLog(payload.type, eventsMap[1]);
- }
- api.dispatchAction(extend(payload, {
- type: eventsMap[1],
- seriesIndex: getSeriesIndices(ecModel, payload)
- }));
- });
- });
- }
- function handleSeriesLegacySelectEvents(type, eventPostfix, ecIns, ecModel, payload) {
- var legacyEventName = type + eventPostfix;
- if (!ecIns.isSilent(legacyEventName)) {
- if (true) {
- deprecateLog("event " + legacyEventName + " is deprecated.");
- }
- ecModel.eachComponent({
- mainType: "series",
- subType: "pie"
- }, function(seriesModel) {
- var seriesIndex = seriesModel.seriesIndex;
- var selectedMap = seriesModel.option.selectedMap;
- var selected = payload.selected;
- for (var i = 0; i < selected.length; i++) {
- if (selected[i].seriesIndex === seriesIndex) {
- var data = seriesModel.getData();
- var dataIndex = queryDataIndex(data, payload.fromActionPayload);
- ecIns.trigger(legacyEventName, {
- type: legacyEventName,
- seriesId: seriesModel.id,
- name: isArray(dataIndex) ? data.getName(dataIndex[0]) : data.getName(dataIndex),
- selected: isString(selectedMap) ? selectedMap : extend({}, selectedMap)
- });
- }
- }
- });
- }
- }
- function handleLegacySelectEvents(messageCenter, ecIns, api) {
- messageCenter.on("selectchanged", function(params) {
- var ecModel = api.getModel();
- if (params.isFromClick) {
- handleSeriesLegacySelectEvents("map", "selectchanged", ecIns, ecModel, params);
- handleSeriesLegacySelectEvents("pie", "selectchanged", ecIns, ecModel, params);
- } else if (params.fromAction === "select") {
- handleSeriesLegacySelectEvents("map", "selected", ecIns, ecModel, params);
- handleSeriesLegacySelectEvents("pie", "selected", ecIns, ecModel, params);
- } else if (params.fromAction === "unselect") {
- handleSeriesLegacySelectEvents("map", "unselected", ecIns, ecModel, params);
- handleSeriesLegacySelectEvents("pie", "unselected", ecIns, ecModel, params);
- }
- });
- }
- // node_modules/echarts/lib/util/event.js
- init_define_APP_INFO();
- function findEventDispatcher(target, det, returnFirstMatch) {
- var found;
- while (target) {
- if (det(target)) {
- found = target;
- if (returnFirstMatch) {
- break;
- }
- }
- target = target.__hostTarget || target.parent;
- }
- return found;
- }
- // node_modules/echarts/lib/visual/decal.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/util/decal.js
- init_define_APP_INFO();
- // node_modules/zrender/lib/core/WeakMap.js
- init_define_APP_INFO();
- var wmUniqueIndex = Math.round(Math.random() * 9);
- var supportDefineProperty = typeof Object.defineProperty === "function";
- var WeakMap = function() {
- function WeakMap2() {
- this._id = "__ec_inner_" + wmUniqueIndex++;
- }
- WeakMap2.prototype.get = function(key) {
- return this._guard(key)[this._id];
- };
- WeakMap2.prototype.set = function(key, value) {
- var target = this._guard(key);
- if (supportDefineProperty) {
- Object.defineProperty(target, this._id, {
- value,
- enumerable: false,
- configurable: true
- });
- } else {
- target[this._id] = value;
- }
- return this;
- };
- WeakMap2.prototype["delete"] = function(key) {
- if (this.has(key)) {
- delete this._guard(key)[this._id];
- return true;
- }
- return false;
- };
- WeakMap2.prototype.has = function(key) {
- return !!this._guard(key)[this._id];
- };
- WeakMap2.prototype._guard = function(key) {
- if (key !== Object(key)) {
- throw TypeError("Value of WeakMap is not a non-null object.");
- }
- return key;
- };
- return WeakMap2;
- }();
- var WeakMap_default = WeakMap;
- // node_modules/echarts/lib/util/symbol.js
- init_define_APP_INFO();
- var Triangle = Path_default.extend({
- type: "triangle",
- shape: {
- cx: 0,
- cy: 0,
- width: 0,
- height: 0
- },
- buildPath: function(path, shape) {
- var cx = shape.cx;
- var cy = shape.cy;
- var width = shape.width / 2;
- var height = shape.height / 2;
- path.moveTo(cx, cy - height);
- path.lineTo(cx + width, cy + height);
- path.lineTo(cx - width, cy + height);
- path.closePath();
- }
- });
- var Diamond = Path_default.extend({
- type: "diamond",
- shape: {
- cx: 0,
- cy: 0,
- width: 0,
- height: 0
- },
- buildPath: function(path, shape) {
- var cx = shape.cx;
- var cy = shape.cy;
- var width = shape.width / 2;
- var height = shape.height / 2;
- path.moveTo(cx, cy - height);
- path.lineTo(cx + width, cy);
- path.lineTo(cx, cy + height);
- path.lineTo(cx - width, cy);
- path.closePath();
- }
- });
- var Pin = Path_default.extend({
- type: "pin",
- shape: {
- x: 0,
- y: 0,
- width: 0,
- height: 0
- },
- buildPath: function(path, shape) {
- var x = shape.x;
- var y = shape.y;
- var w = shape.width / 5 * 3;
- var h = Math.max(w, shape.height);
- var r = w / 2;
- var dy = r * r / (h - r);
- var cy = y - h + r + dy;
- var angle = Math.asin(dy / r);
- var dx = Math.cos(angle) * r;
- var tanX = Math.sin(angle);
- var tanY = Math.cos(angle);
- var cpLen = r * 0.6;
- var cpLen2 = r * 0.7;
- path.moveTo(x - dx, cy + dy);
- path.arc(x, cy, r, Math.PI - angle, Math.PI * 2 + angle);
- path.bezierCurveTo(x + dx - tanX * cpLen, cy + dy + tanY * cpLen, x, y - cpLen2, x, y);
- path.bezierCurveTo(x, y - cpLen2, x - dx + tanX * cpLen, cy + dy + tanY * cpLen, x - dx, cy + dy);
- path.closePath();
- }
- });
- var Arrow = Path_default.extend({
- type: "arrow",
- shape: {
- x: 0,
- y: 0,
- width: 0,
- height: 0
- },
- buildPath: function(ctx, shape) {
- var height = shape.height;
- var width = shape.width;
- var x = shape.x;
- var y = shape.y;
- var dx = width / 3 * 2;
- ctx.moveTo(x, y);
- ctx.lineTo(x + dx, y + height);
- ctx.lineTo(x, y + height / 4 * 3);
- ctx.lineTo(x - dx, y + height);
- ctx.lineTo(x, y);
- ctx.closePath();
- }
- });
- var symbolCtors = {
- line: Line_default,
- rect: Rect_default,
- roundRect: Rect_default,
- square: Rect_default,
- circle: Circle_default,
- diamond: Diamond,
- pin: Pin,
- arrow: Arrow,
- triangle: Triangle
- };
- var symbolShapeMakers = {
- line: function(x, y, w, h, shape) {
- shape.x1 = x;
- shape.y1 = y + h / 2;
- shape.x2 = x + w;
- shape.y2 = y + h / 2;
- },
- rect: function(x, y, w, h, shape) {
- shape.x = x;
- shape.y = y;
- shape.width = w;
- shape.height = h;
- },
- roundRect: function(x, y, w, h, shape) {
- shape.x = x;
- shape.y = y;
- shape.width = w;
- shape.height = h;
- shape.r = Math.min(w, h) / 4;
- },
- square: function(x, y, w, h, shape) {
- var size = Math.min(w, h);
- shape.x = x;
- shape.y = y;
- shape.width = size;
- shape.height = size;
- },
- circle: function(x, y, w, h, shape) {
- shape.cx = x + w / 2;
- shape.cy = y + h / 2;
- shape.r = Math.min(w, h) / 2;
- },
- diamond: function(x, y, w, h, shape) {
- shape.cx = x + w / 2;
- shape.cy = y + h / 2;
- shape.width = w;
- shape.height = h;
- },
- pin: function(x, y, w, h, shape) {
- shape.x = x + w / 2;
- shape.y = y + h / 2;
- shape.width = w;
- shape.height = h;
- },
- arrow: function(x, y, w, h, shape) {
- shape.x = x + w / 2;
- shape.y = y + h / 2;
- shape.width = w;
- shape.height = h;
- },
- triangle: function(x, y, w, h, shape) {
- shape.cx = x + w / 2;
- shape.cy = y + h / 2;
- shape.width = w;
- shape.height = h;
- }
- };
- var symbolBuildProxies = {};
- each(symbolCtors, function(Ctor, name) {
- symbolBuildProxies[name] = new Ctor();
- });
- var SymbolClz = Path_default.extend({
- type: "symbol",
- shape: {
- symbolType: "",
- x: 0,
- y: 0,
- width: 0,
- height: 0
- },
- calculateTextPosition: function(out2, config, rect) {
- var res = calculateTextPosition(out2, config, rect);
- var shape = this.shape;
- if (shape && shape.symbolType === "pin" && config.position === "inside") {
- res.y = rect.y + rect.height * 0.4;
- }
- return res;
- },
- buildPath: function(ctx, shape, inBundle) {
- var symbolType = shape.symbolType;
- if (symbolType !== "none") {
- var proxySymbol = symbolBuildProxies[symbolType];
- if (!proxySymbol) {
- symbolType = "rect";
- proxySymbol = symbolBuildProxies[symbolType];
- }
- symbolShapeMakers[symbolType](shape.x, shape.y, shape.width, shape.height, proxySymbol.shape);
- proxySymbol.buildPath(ctx, proxySymbol.shape, inBundle);
- }
- }
- });
- function symbolPathSetColor(color, innerColor2) {
- if (this.type !== "image") {
- var symbolStyle = this.style;
- if (this.__isEmptyBrush) {
- symbolStyle.stroke = color;
- symbolStyle.fill = innerColor2 || "#fff";
- symbolStyle.lineWidth = 2;
- } else if (this.shape.symbolType === "line") {
- symbolStyle.stroke = color;
- } else {
- symbolStyle.fill = color;
- }
- this.markRedraw();
- }
- }
- function createSymbol(symbolType, x, y, w, h, color, keepAspect) {
- var isEmpty = symbolType.indexOf("empty") === 0;
- if (isEmpty) {
- symbolType = symbolType.substr(5, 1).toLowerCase() + symbolType.substr(6);
- }
- var symbolPath;
- if (symbolType.indexOf("image://") === 0) {
- symbolPath = makeImage(symbolType.slice(8), new BoundingRect_default(x, y, w, h), keepAspect ? "center" : "cover");
- } else if (symbolType.indexOf("path://") === 0) {
- symbolPath = makePath(symbolType.slice(7), {}, new BoundingRect_default(x, y, w, h), keepAspect ? "center" : "cover");
- } else {
- symbolPath = new SymbolClz({
- shape: {
- symbolType,
- x,
- y,
- width: w,
- height: h
- }
- });
- }
- symbolPath.__isEmptyBrush = isEmpty;
- symbolPath.setColor = symbolPathSetColor;
- if (color) {
- symbolPath.setColor(color);
- }
- return symbolPath;
- }
- function normalizeSymbolSize(symbolSize) {
- if (!isArray(symbolSize)) {
- symbolSize = [+symbolSize, +symbolSize];
- }
- return [symbolSize[0] || 0, symbolSize[1] || 0];
- }
- function normalizeSymbolOffset(symbolOffset, symbolSize) {
- if (symbolOffset == null) {
- return;
- }
- if (!isArray(symbolOffset)) {
- symbolOffset = [symbolOffset, symbolOffset];
- }
- return [parsePercent2(symbolOffset[0], symbolSize[0]) || 0, parsePercent2(retrieve2(symbolOffset[1], symbolOffset[0]), symbolSize[1]) || 0];
- }
- // node_modules/echarts/lib/util/decal.js
- var decalMap = new WeakMap_default();
- var decalCache = new LRU_default(100);
- var decalKeys = ["symbol", "symbolSize", "symbolKeepAspect", "color", "backgroundColor", "dashArrayX", "dashArrayY", "maxTileWidth", "maxTileHeight"];
- function createOrUpdatePatternFromDecal(decalObject, api) {
- if (decalObject === "none") {
- return null;
- }
- var dpr = api.getDevicePixelRatio();
- var zr = api.getZr();
- var isSVG = zr.painter.type === "svg";
- if (decalObject.dirty) {
- decalMap["delete"](decalObject);
- }
- var oldPattern = decalMap.get(decalObject);
- if (oldPattern) {
- return oldPattern;
- }
- var decalOpt = defaults(decalObject, {
- symbol: "rect",
- symbolSize: 1,
- symbolKeepAspect: true,
- color: "rgba(0, 0, 0, 0.2)",
- backgroundColor: null,
- dashArrayX: 5,
- dashArrayY: 5,
- rotation: 0,
- maxTileWidth: 512,
- maxTileHeight: 512
- });
- if (decalOpt.backgroundColor === "none") {
- decalOpt.backgroundColor = null;
- }
- var pattern = {
- repeat: "repeat"
- };
- setPatternnSource(pattern);
- pattern.rotation = decalOpt.rotation;
- pattern.scaleX = pattern.scaleY = isSVG ? 1 : 1 / dpr;
- decalMap.set(decalObject, pattern);
- decalObject.dirty = false;
- return pattern;
- function setPatternnSource(pattern2) {
- var keys2 = [dpr];
- var isValidKey = true;
- for (var i = 0; i < decalKeys.length; ++i) {
- var value = decalOpt[decalKeys[i]];
- if (value != null && !isArray(value) && !isString(value) && !isNumber(value) && typeof value !== "boolean") {
- isValidKey = false;
- break;
- }
- keys2.push(value);
- }
- var cacheKey;
- if (isValidKey) {
- cacheKey = keys2.join(",") + (isSVG ? "-svg" : "");
- var cache = decalCache.get(cacheKey);
- if (cache) {
- isSVG ? pattern2.svgElement = cache : pattern2.image = cache;
- }
- }
- var dashArrayX = normalizeDashArrayX(decalOpt.dashArrayX);
- var dashArrayY = normalizeDashArrayY(decalOpt.dashArrayY);
- var symbolArray = normalizeSymbolArray(decalOpt.symbol);
- var lineBlockLengthsX = getLineBlockLengthX(dashArrayX);
- var lineBlockLengthY = getLineBlockLengthY(dashArrayY);
- var canvas = !isSVG && platformApi.createCanvas();
- var svgRoot = isSVG && {
- tag: "g",
- attrs: {},
- key: "dcl",
- children: []
- };
- var pSize = getPatternSize();
- var ctx;
- if (canvas) {
- canvas.width = pSize.width * dpr;
- canvas.height = pSize.height * dpr;
- ctx = canvas.getContext("2d");
- }
- brushDecal();
- if (isValidKey) {
- decalCache.put(cacheKey, canvas || svgRoot);
- }
- pattern2.image = canvas;
- pattern2.svgElement = svgRoot;
- pattern2.svgWidth = pSize.width;
- pattern2.svgHeight = pSize.height;
- function getPatternSize() {
- var width = 1;
- for (var i2 = 0, xlen = lineBlockLengthsX.length; i2 < xlen; ++i2) {
- width = getLeastCommonMultiple(width, lineBlockLengthsX[i2]);
- }
- var symbolRepeats = 1;
- for (var i2 = 0, xlen = symbolArray.length; i2 < xlen; ++i2) {
- symbolRepeats = getLeastCommonMultiple(symbolRepeats, symbolArray[i2].length);
- }
- width *= symbolRepeats;
- var height = lineBlockLengthY * lineBlockLengthsX.length * symbolArray.length;
- if (true) {
- var warn2 = function(attrName) {
- console.warn("Calculated decal size is greater than " + attrName + " due to decal option settings so " + attrName + " is used for the decal size. Please consider changing the decal option to make a smaller decal or set " + attrName + " to be larger to avoid incontinuity.");
- };
- if (width > decalOpt.maxTileWidth) {
- warn2("maxTileWidth");
- }
- if (height > decalOpt.maxTileHeight) {
- warn2("maxTileHeight");
- }
- }
- return {
- width: Math.max(1, Math.min(width, decalOpt.maxTileWidth)),
- height: Math.max(1, Math.min(height, decalOpt.maxTileHeight))
- };
- }
- function brushDecal() {
- if (ctx) {
- ctx.clearRect(0, 0, canvas.width, canvas.height);
- if (decalOpt.backgroundColor) {
- ctx.fillStyle = decalOpt.backgroundColor;
- ctx.fillRect(0, 0, canvas.width, canvas.height);
- }
- }
- var ySum = 0;
- for (var i2 = 0; i2 < dashArrayY.length; ++i2) {
- ySum += dashArrayY[i2];
- }
- if (ySum <= 0) {
- return;
- }
- var y = -lineBlockLengthY;
- var yId = 0;
- var yIdTotal = 0;
- var xId0 = 0;
- while (y < pSize.height) {
- if (yId % 2 === 0) {
- var symbolYId = yIdTotal / 2 % symbolArray.length;
- var x = 0;
- var xId1 = 0;
- var xId1Total = 0;
- while (x < pSize.width * 2) {
- var xSum = 0;
- for (var i2 = 0; i2 < dashArrayX[xId0].length; ++i2) {
- xSum += dashArrayX[xId0][i2];
- }
- if (xSum <= 0) {
- break;
- }
- if (xId1 % 2 === 0) {
- var size = (1 - decalOpt.symbolSize) * 0.5;
- var left = x + dashArrayX[xId0][xId1] * size;
- var top_1 = y + dashArrayY[yId] * size;
- var width = dashArrayX[xId0][xId1] * decalOpt.symbolSize;
- var height = dashArrayY[yId] * decalOpt.symbolSize;
- var symbolXId = xId1Total / 2 % symbolArray[symbolYId].length;
- brushSymbol(left, top_1, width, height, symbolArray[symbolYId][symbolXId]);
- }
- x += dashArrayX[xId0][xId1];
- ++xId1Total;
- ++xId1;
- if (xId1 === dashArrayX[xId0].length) {
- xId1 = 0;
- }
- }
- ++xId0;
- if (xId0 === dashArrayX.length) {
- xId0 = 0;
- }
- }
- y += dashArrayY[yId];
- ++yIdTotal;
- ++yId;
- if (yId === dashArrayY.length) {
- yId = 0;
- }
- }
- function brushSymbol(x2, y2, width2, height2, symbolType) {
- var scale3 = isSVG ? 1 : dpr;
- var symbol = createSymbol(symbolType, x2 * scale3, y2 * scale3, width2 * scale3, height2 * scale3, decalOpt.color, decalOpt.symbolKeepAspect);
- if (isSVG) {
- var symbolVNode = zr.painter.renderOneToVNode(symbol);
- if (symbolVNode) {
- svgRoot.children.push(symbolVNode);
- }
- } else {
- brushSingle(ctx, symbol);
- }
- }
- }
- }
- }
- function normalizeSymbolArray(symbol) {
- if (!symbol || symbol.length === 0) {
- return [["rect"]];
- }
- if (isString(symbol)) {
- return [[symbol]];
- }
- var isAllString = true;
- for (var i = 0; i < symbol.length; ++i) {
- if (!isString(symbol[i])) {
- isAllString = false;
- break;
- }
- }
- if (isAllString) {
- return normalizeSymbolArray([symbol]);
- }
- var result = [];
- for (var i = 0; i < symbol.length; ++i) {
- if (isString(symbol[i])) {
- result.push([symbol[i]]);
- } else {
- result.push(symbol[i]);
- }
- }
- return result;
- }
- function normalizeDashArrayX(dash) {
- if (!dash || dash.length === 0) {
- return [[0, 0]];
- }
- if (isNumber(dash)) {
- var dashValue = Math.ceil(dash);
- return [[dashValue, dashValue]];
- }
- var isAllNumber = true;
- for (var i = 0; i < dash.length; ++i) {
- if (!isNumber(dash[i])) {
- isAllNumber = false;
- break;
- }
- }
- if (isAllNumber) {
- return normalizeDashArrayX([dash]);
- }
- var result = [];
- for (var i = 0; i < dash.length; ++i) {
- if (isNumber(dash[i])) {
- var dashValue = Math.ceil(dash[i]);
- result.push([dashValue, dashValue]);
- } else {
- var dashValue = map(dash[i], function(n) {
- return Math.ceil(n);
- });
- if (dashValue.length % 2 === 1) {
- result.push(dashValue.concat(dashValue));
- } else {
- result.push(dashValue);
- }
- }
- }
- return result;
- }
- function normalizeDashArrayY(dash) {
- if (!dash || typeof dash === "object" && dash.length === 0) {
- return [0, 0];
- }
- if (isNumber(dash)) {
- var dashValue_1 = Math.ceil(dash);
- return [dashValue_1, dashValue_1];
- }
- var dashValue = map(dash, function(n) {
- return Math.ceil(n);
- });
- return dash.length % 2 ? dashValue.concat(dashValue) : dashValue;
- }
- function getLineBlockLengthX(dash) {
- return map(dash, function(line) {
- return getLineBlockLengthY(line);
- });
- }
- function getLineBlockLengthY(dash) {
- var blockLength = 0;
- for (var i = 0; i < dash.length; ++i) {
- blockLength += dash[i];
- }
- if (dash.length % 2 === 1) {
- return blockLength * 2;
- }
- return blockLength;
- }
- // node_modules/echarts/lib/visual/decal.js
- function decalVisual(ecModel, api) {
- ecModel.eachRawSeries(function(seriesModel) {
- if (ecModel.isSeriesFiltered(seriesModel)) {
- return;
- }
- var data = seriesModel.getData();
- if (data.hasItemVisual()) {
- data.each(function(idx) {
- var decal2 = data.getItemVisual(idx, "decal");
- if (decal2) {
- var itemStyle = data.ensureUniqueItemVisual(idx, "style");
- itemStyle.decal = createOrUpdatePatternFromDecal(decal2, api);
- }
- });
- }
- var decal = data.getVisual("decal");
- if (decal) {
- var style = data.getVisual("style");
- style.decal = createOrUpdatePatternFromDecal(decal, api);
- }
- });
- }
- // node_modules/echarts/lib/core/lifecycle.js
- init_define_APP_INFO();
- var lifecycle = new Eventful_default();
- var lifecycle_default = lifecycle;
- // node_modules/echarts/lib/core/impl.js
- init_define_APP_INFO();
- var implsStore = {};
- function registerImpl(name, impl) {
- if (true) {
- if (implsStore[name]) {
- error("Already has an implementation of " + name + ".");
- }
- }
- implsStore[name] = impl;
- }
- function getImpl(name) {
- if (true) {
- if (!implsStore[name]) {
- error("Implementation of " + name + " doesn't exists.");
- }
- }
- return implsStore[name];
- }
- // node_modules/echarts/lib/core/echarts.js
- var hasWindow = typeof window !== "undefined";
- var version2 = "5.3.3";
- var dependencies = {
- zrender: "5.3.2"
- };
- var TEST_FRAME_REMAIN_TIME = 1;
- var PRIORITY_PROCESSOR_SERIES_FILTER = 800;
- var PRIORITY_PROCESSOR_DATASTACK = 900;
- var PRIORITY_PROCESSOR_FILTER = 1e3;
- var PRIORITY_PROCESSOR_DEFAULT = 2e3;
- var PRIORITY_PROCESSOR_STATISTIC = 5e3;
- var PRIORITY_VISUAL_LAYOUT = 1e3;
- var PRIORITY_VISUAL_PROGRESSIVE_LAYOUT = 1100;
- var PRIORITY_VISUAL_GLOBAL = 2e3;
- var PRIORITY_VISUAL_CHART = 3e3;
- var PRIORITY_VISUAL_COMPONENT = 4e3;
- var PRIORITY_VISUAL_CHART_DATA_CUSTOM = 4500;
- var PRIORITY_VISUAL_POST_CHART_LAYOUT = 4600;
- var PRIORITY_VISUAL_BRUSH = 5e3;
- var PRIORITY_VISUAL_ARIA = 6e3;
- var PRIORITY_VISUAL_DECAL = 7e3;
- var PRIORITY = {
- PROCESSOR: {
- FILTER: PRIORITY_PROCESSOR_FILTER,
- SERIES_FILTER: PRIORITY_PROCESSOR_SERIES_FILTER,
- STATISTIC: PRIORITY_PROCESSOR_STATISTIC
- },
- VISUAL: {
- LAYOUT: PRIORITY_VISUAL_LAYOUT,
- PROGRESSIVE_LAYOUT: PRIORITY_VISUAL_PROGRESSIVE_LAYOUT,
- GLOBAL: PRIORITY_VISUAL_GLOBAL,
- CHART: PRIORITY_VISUAL_CHART,
- POST_CHART_LAYOUT: PRIORITY_VISUAL_POST_CHART_LAYOUT,
- COMPONENT: PRIORITY_VISUAL_COMPONENT,
- BRUSH: PRIORITY_VISUAL_BRUSH,
- CHART_ITEM: PRIORITY_VISUAL_CHART_DATA_CUSTOM,
- ARIA: PRIORITY_VISUAL_ARIA,
- DECAL: PRIORITY_VISUAL_DECAL
- }
- };
- var IN_MAIN_PROCESS_KEY = "__flagInMainProcess";
- var PENDING_UPDATE = "__pendingUpdate";
- var STATUS_NEEDS_UPDATE_KEY = "__needsUpdateStatus";
- var ACTION_REG = /^[a-zA-Z0-9_]+$/;
- var CONNECT_STATUS_KEY = "__connectUpdateStatus";
- var CONNECT_STATUS_PENDING = 0;
- var CONNECT_STATUS_UPDATING = 1;
- var CONNECT_STATUS_UPDATED = 2;
- function createRegisterEventWithLowercaseECharts(method) {
- return function() {
- var args = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- args[_i] = arguments[_i];
- }
- if (this.isDisposed()) {
- disposedWarning(this.id);
- return;
- }
- return toLowercaseNameAndCallEventful(this, method, args);
- };
- }
- function createRegisterEventWithLowercaseMessageCenter(method) {
- return function() {
- var args = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- args[_i] = arguments[_i];
- }
- return toLowercaseNameAndCallEventful(this, method, args);
- };
- }
- function toLowercaseNameAndCallEventful(host, method, args) {
- args[0] = args[0] && args[0].toLowerCase();
- return Eventful_default.prototype[method].apply(host, args);
- }
- var MessageCenter = function(_super) {
- __extends2(MessageCenter2, _super);
- function MessageCenter2() {
- return _super !== null && _super.apply(this, arguments) || this;
- }
- return MessageCenter2;
- }(Eventful_default);
- var messageCenterProto = MessageCenter.prototype;
- messageCenterProto.on = createRegisterEventWithLowercaseMessageCenter("on");
- messageCenterProto.off = createRegisterEventWithLowercaseMessageCenter("off");
- var prepare;
- var prepareView;
- var updateDirectly;
- var updateMethods;
- var doConvertPixel;
- var updateStreamModes;
- var doDispatchAction;
- var flushPendingActions;
- var triggerUpdatedEvent;
- var bindRenderedEvent;
- var bindMouseEvent;
- var render;
- var renderComponents;
- var renderSeries;
- var createExtensionAPI;
- var enableConnect;
- var markStatusToUpdate;
- var applyChangedStates;
- var ECharts = function(_super) {
- __extends2(ECharts2, _super);
- function ECharts2(dom, theme2, opts) {
- var _this = _super.call(this, new ECEventProcessor()) || this;
- _this._chartsViews = [];
- _this._chartsMap = {};
- _this._componentsViews = [];
- _this._componentsMap = {};
- _this._pendingActions = [];
- opts = opts || {};
- if (isString(theme2)) {
- theme2 = themeStorage[theme2];
- }
- _this._dom = dom;
- var defaultRenderer = "canvas";
- var defaultUseDirtyRect = false;
- if (true) {
- var root = hasWindow ? window : global;
- defaultRenderer = root.__ECHARTS__DEFAULT__RENDERER__ || defaultRenderer;
- var devUseDirtyRect = root.__ECHARTS__DEFAULT__USE_DIRTY_RECT__;
- defaultUseDirtyRect = devUseDirtyRect == null ? defaultUseDirtyRect : devUseDirtyRect;
- }
- var zr = _this._zr = init(dom, {
- renderer: opts.renderer || defaultRenderer,
- devicePixelRatio: opts.devicePixelRatio,
- width: opts.width,
- height: opts.height,
- ssr: opts.ssr,
- useDirtyRect: opts.useDirtyRect == null ? defaultUseDirtyRect : opts.useDirtyRect
- });
- _this._ssr = opts.ssr;
- _this._throttledZrFlush = throttle(bind(zr.flush, zr), 17);
- theme2 = clone(theme2);
- theme2 && globalBackwardCompat(theme2, true);
- _this._theme = theme2;
- _this._locale = createLocaleObject(opts.locale || SYSTEM_LANG);
- _this._coordSysMgr = new CoordinateSystem_default();
- var api = _this._api = createExtensionAPI(_this);
- function prioritySortFunc(a, b) {
- return a.__prio - b.__prio;
- }
- sort(visualFuncs, prioritySortFunc);
- sort(dataProcessorFuncs, prioritySortFunc);
- _this._scheduler = new Scheduler_default(_this, api, dataProcessorFuncs, visualFuncs);
- _this._messageCenter = new MessageCenter();
- _this._initEvents();
- _this.resize = bind(_this.resize, _this);
- zr.animation.on("frame", _this._onframe, _this);
- bindRenderedEvent(zr, _this);
- bindMouseEvent(zr, _this);
- setAsPrimitive(_this);
- return _this;
- }
- ECharts2.prototype._onframe = function() {
- if (this._disposed) {
- return;
- }
- applyChangedStates(this);
- var scheduler = this._scheduler;
- if (this[PENDING_UPDATE]) {
- var silent = this[PENDING_UPDATE].silent;
- this[IN_MAIN_PROCESS_KEY] = true;
- try {
- prepare(this);
- updateMethods.update.call(this, null, this[PENDING_UPDATE].updateParams);
- } catch (e2) {
- this[IN_MAIN_PROCESS_KEY] = false;
- this[PENDING_UPDATE] = null;
- throw e2;
- }
- this._zr.flush();
- this[IN_MAIN_PROCESS_KEY] = false;
- this[PENDING_UPDATE] = null;
- flushPendingActions.call(this, silent);
- triggerUpdatedEvent.call(this, silent);
- } else if (scheduler.unfinished) {
- var remainTime = TEST_FRAME_REMAIN_TIME;
- var ecModel = this._model;
- var api = this._api;
- scheduler.unfinished = false;
- do {
- var startTime = +new Date();
- scheduler.performSeriesTasks(ecModel);
- scheduler.performDataProcessorTasks(ecModel);
- updateStreamModes(this, ecModel);
- scheduler.performVisualTasks(ecModel);
- renderSeries(this, this._model, api, "remain", {});
- remainTime -= +new Date() - startTime;
- } while (remainTime > 0 && scheduler.unfinished);
- if (!scheduler.unfinished) {
- this._zr.flush();
- }
- }
- };
- ECharts2.prototype.getDom = function() {
- return this._dom;
- };
- ECharts2.prototype.getId = function() {
- return this.id;
- };
- ECharts2.prototype.getZr = function() {
- return this._zr;
- };
- ECharts2.prototype.isSSR = function() {
- return this._ssr;
- };
- ECharts2.prototype.setOption = function(option, notMerge, lazyUpdate) {
- if (this[IN_MAIN_PROCESS_KEY]) {
- if (true) {
- error("`setOption` should not be called during main process.");
- }
- return;
- }
- if (this._disposed) {
- disposedWarning(this.id);
- return;
- }
- var silent;
- var replaceMerge;
- var transitionOpt;
- if (isObject(notMerge)) {
- lazyUpdate = notMerge.lazyUpdate;
- silent = notMerge.silent;
- replaceMerge = notMerge.replaceMerge;
- transitionOpt = notMerge.transition;
- notMerge = notMerge.notMerge;
- }
- this[IN_MAIN_PROCESS_KEY] = true;
- if (!this._model || notMerge) {
- var optionManager = new OptionManager_default(this._api);
- var theme2 = this._theme;
- var ecModel = this._model = new Global_default();
- ecModel.scheduler = this._scheduler;
- ecModel.ssr = this._ssr;
- ecModel.init(null, null, null, theme2, this._locale, optionManager);
- }
- this._model.setOption(option, {
- replaceMerge
- }, optionPreprocessorFuncs);
- var updateParams = {
- seriesTransition: transitionOpt,
- optionChanged: true
- };
- if (lazyUpdate) {
- this[PENDING_UPDATE] = {
- silent,
- updateParams
- };
- this[IN_MAIN_PROCESS_KEY] = false;
- this.getZr().wakeUp();
- } else {
- try {
- prepare(this);
- updateMethods.update.call(this, null, updateParams);
- } catch (e2) {
- this[PENDING_UPDATE] = null;
- this[IN_MAIN_PROCESS_KEY] = false;
- throw e2;
- }
- if (!this._ssr) {
- this._zr.flush();
- }
- this[PENDING_UPDATE] = null;
- this[IN_MAIN_PROCESS_KEY] = false;
- flushPendingActions.call(this, silent);
- triggerUpdatedEvent.call(this, silent);
- }
- };
- ECharts2.prototype.setTheme = function() {
- deprecateLog("ECharts#setTheme() is DEPRECATED in ECharts 3.0");
- };
- ECharts2.prototype.getModel = function() {
- return this._model;
- };
- ECharts2.prototype.getOption = function() {
- return this._model && this._model.getOption();
- };
- ECharts2.prototype.getWidth = function() {
- return this._zr.getWidth();
- };
- ECharts2.prototype.getHeight = function() {
- return this._zr.getHeight();
- };
- ECharts2.prototype.getDevicePixelRatio = function() {
- return this._zr.painter.dpr || hasWindow && window.devicePixelRatio || 1;
- };
- ECharts2.prototype.getRenderedCanvas = function(opts) {
- if (true) {
- deprecateReplaceLog("getRenderedCanvas", "renderToCanvas");
- }
- return this.renderToCanvas(opts);
- };
- ECharts2.prototype.renderToCanvas = function(opts) {
- opts = opts || {};
- var painter = this._zr.painter;
- if (true) {
- if (painter.type !== "canvas") {
- throw new Error("renderToCanvas can only be used in the canvas renderer.");
- }
- }
- return painter.getRenderedCanvas({
- backgroundColor: opts.backgroundColor || this._model.get("backgroundColor"),
- pixelRatio: opts.pixelRatio || this.getDevicePixelRatio()
- });
- };
- ECharts2.prototype.renderToSVGString = function(opts) {
- opts = opts || {};
- var painter = this._zr.painter;
- if (true) {
- if (painter.type !== "svg") {
- throw new Error("renderToSVGString can only be used in the svg renderer.");
- }
- }
- return painter.renderToString({
- useViewBox: opts.useViewBox
- });
- };
- ECharts2.prototype.getSvgDataURL = function() {
- if (!env_default.svgSupported) {
- return;
- }
- var zr = this._zr;
- var list = zr.storage.getDisplayList();
- each(list, function(el) {
- el.stopAnimation(null, true);
- });
- return zr.painter.toDataURL();
- };
- ECharts2.prototype.getDataURL = function(opts) {
- if (this._disposed) {
- disposedWarning(this.id);
- return;
- }
- opts = opts || {};
- var excludeComponents = opts.excludeComponents;
- var ecModel = this._model;
- var excludesComponentViews = [];
- var self = this;
- each(excludeComponents, function(componentType) {
- ecModel.eachComponent({
- mainType: componentType
- }, function(component) {
- var view = self._componentsMap[component.__viewId];
- if (!view.group.ignore) {
- excludesComponentViews.push(view);
- view.group.ignore = true;
- }
- });
- });
- var url = this._zr.painter.getType() === "svg" ? this.getSvgDataURL() : this.renderToCanvas(opts).toDataURL("image/" + (opts && opts.type || "png"));
- each(excludesComponentViews, function(view) {
- view.group.ignore = false;
- });
- return url;
- };
- ECharts2.prototype.getConnectedDataURL = function(opts) {
- if (this._disposed) {
- disposedWarning(this.id);
- return;
- }
- var isSvg = opts.type === "svg";
- var groupId = this.group;
- var mathMin3 = Math.min;
- var mathMax3 = Math.max;
- var MAX_NUMBER = Infinity;
- if (connectedGroups[groupId]) {
- var left_1 = MAX_NUMBER;
- var top_1 = MAX_NUMBER;
- var right_1 = -MAX_NUMBER;
- var bottom_1 = -MAX_NUMBER;
- var canvasList_1 = [];
- var dpr_1 = opts && opts.pixelRatio || this.getDevicePixelRatio();
- each(instances2, function(chart, id) {
- if (chart.group === groupId) {
- var canvas = isSvg ? chart.getZr().painter.getSvgDom().innerHTML : chart.renderToCanvas(clone(opts));
- var boundingRect = chart.getDom().getBoundingClientRect();
- left_1 = mathMin3(boundingRect.left, left_1);
- top_1 = mathMin3(boundingRect.top, top_1);
- right_1 = mathMax3(boundingRect.right, right_1);
- bottom_1 = mathMax3(boundingRect.bottom, bottom_1);
- canvasList_1.push({
- dom: canvas,
- left: boundingRect.left,
- top: boundingRect.top
- });
- }
- });
- left_1 *= dpr_1;
- top_1 *= dpr_1;
- right_1 *= dpr_1;
- bottom_1 *= dpr_1;
- var width = right_1 - left_1;
- var height = bottom_1 - top_1;
- var targetCanvas = platformApi.createCanvas();
- var zr_1 = init(targetCanvas, {
- renderer: isSvg ? "svg" : "canvas"
- });
- zr_1.resize({
- width,
- height
- });
- if (isSvg) {
- var content_1 = "";
- each(canvasList_1, function(item) {
- var x = item.left - left_1;
- var y = item.top - top_1;
- content_1 += '<g transform="translate(' + x + "," + y + ')">' + item.dom + "</g>";
- });
- zr_1.painter.getSvgRoot().innerHTML = content_1;
- if (opts.connectedBackgroundColor) {
- zr_1.painter.setBackgroundColor(opts.connectedBackgroundColor);
- }
- zr_1.refreshImmediately();
- return zr_1.painter.toDataURL();
- } else {
- if (opts.connectedBackgroundColor) {
- zr_1.add(new Rect_default({
- shape: {
- x: 0,
- y: 0,
- width,
- height
- },
- style: {
- fill: opts.connectedBackgroundColor
- }
- }));
- }
- each(canvasList_1, function(item) {
- var img = new Image_default({
- style: {
- x: item.left * dpr_1 - left_1,
- y: item.top * dpr_1 - top_1,
- image: item.dom
- }
- });
- zr_1.add(img);
- });
- zr_1.refreshImmediately();
- return targetCanvas.toDataURL("image/" + (opts && opts.type || "png"));
- }
- } else {
- return this.getDataURL(opts);
- }
- };
- ECharts2.prototype.convertToPixel = function(finder, value) {
- return doConvertPixel(this, "convertToPixel", finder, value);
- };
- ECharts2.prototype.convertFromPixel = function(finder, value) {
- return doConvertPixel(this, "convertFromPixel", finder, value);
- };
- ECharts2.prototype.containPixel = function(finder, value) {
- if (this._disposed) {
- disposedWarning(this.id);
- return;
- }
- var ecModel = this._model;
- var result;
- var findResult = parseFinder(ecModel, finder);
- each(findResult, function(models, key) {
- key.indexOf("Models") >= 0 && each(models, function(model) {
- var coordSys = model.coordinateSystem;
- if (coordSys && coordSys.containPoint) {
- result = result || !!coordSys.containPoint(value);
- } else if (key === "seriesModels") {
- var view = this._chartsMap[model.__viewId];
- if (view && view.containPoint) {
- result = result || view.containPoint(value, model);
- } else {
- if (true) {
- console.warn(key + ": " + (view ? "The found component do not support containPoint." : "No view mapping to the found component."));
- }
- }
- } else {
- if (true) {
- console.warn(key + ": containPoint is not supported");
- }
- }
- }, this);
- }, this);
- return !!result;
- };
- ECharts2.prototype.getVisual = function(finder, visualType) {
- var ecModel = this._model;
- var parsedFinder = parseFinder(ecModel, finder, {
- defaultMainType: "series"
- });
- var seriesModel = parsedFinder.seriesModel;
- if (true) {
- if (!seriesModel) {
- console.warn("There is no specified seires model");
- }
- }
- var data = seriesModel.getData();
- var dataIndexInside = parsedFinder.hasOwnProperty("dataIndexInside") ? parsedFinder.dataIndexInside : parsedFinder.hasOwnProperty("dataIndex") ? data.indexOfRawIndex(parsedFinder.dataIndex) : null;
- return dataIndexInside != null ? getItemVisualFromData(data, dataIndexInside, visualType) : getVisualFromData(data, visualType);
- };
- ECharts2.prototype.getViewOfComponentModel = function(componentModel) {
- return this._componentsMap[componentModel.__viewId];
- };
- ECharts2.prototype.getViewOfSeriesModel = function(seriesModel) {
- return this._chartsMap[seriesModel.__viewId];
- };
- ECharts2.prototype._initEvents = function() {
- var _this = this;
- each(MOUSE_EVENT_NAMES, function(eveName) {
- var handler = function(e2) {
- var ecModel = _this.getModel();
- var el = e2.target;
- var params;
- var isGlobalOut = eveName === "globalout";
- if (isGlobalOut) {
- params = {};
- } else {
- el && findEventDispatcher(el, function(parent) {
- var ecData = getECData(parent);
- if (ecData && ecData.dataIndex != null) {
- var dataModel = ecData.dataModel || ecModel.getSeriesByIndex(ecData.seriesIndex);
- params = dataModel && dataModel.getDataParams(ecData.dataIndex, ecData.dataType) || {};
- return true;
- } else if (ecData.eventData) {
- params = extend({}, ecData.eventData);
- return true;
- }
- }, true);
- }
- if (params) {
- var componentType = params.componentType;
- var componentIndex = params.componentIndex;
- if (componentType === "markLine" || componentType === "markPoint" || componentType === "markArea") {
- componentType = "series";
- componentIndex = params.seriesIndex;
- }
- var model = componentType && componentIndex != null && ecModel.getComponent(componentType, componentIndex);
- var view = model && _this[model.mainType === "series" ? "_chartsMap" : "_componentsMap"][model.__viewId];
- if (true) {
- if (!isGlobalOut && !(model && view)) {
- console.warn("model or view can not be found by params");
- }
- }
- params.event = e2;
- params.type = eveName;
- _this._$eventProcessor.eventInfo = {
- targetEl: el,
- packedEvent: params,
- model,
- view
- };
- _this.trigger(eveName, params);
- }
- };
- handler.zrEventfulCallAtLast = true;
- _this._zr.on(eveName, handler, _this);
- });
- each(eventActionMap, function(actionType, eventType) {
- _this._messageCenter.on(eventType, function(event) {
- this.trigger(eventType, event);
- }, _this);
- });
- each(["selectchanged"], function(eventType) {
- _this._messageCenter.on(eventType, function(event) {
- this.trigger(eventType, event);
- }, _this);
- });
- handleLegacySelectEvents(this._messageCenter, this, this._api);
- };
- ECharts2.prototype.isDisposed = function() {
- return this._disposed;
- };
- ECharts2.prototype.clear = function() {
- if (this._disposed) {
- disposedWarning(this.id);
- return;
- }
- this.setOption({
- series: []
- }, true);
- };
- ECharts2.prototype.dispose = function() {
- if (this._disposed) {
- disposedWarning(this.id);
- return;
- }
- this._disposed = true;
- var dom = this.getDom();
- if (dom) {
- setAttribute(this.getDom(), DOM_ATTRIBUTE_KEY, "");
- }
- var chart = this;
- var api = chart._api;
- var ecModel = chart._model;
- each(chart._componentsViews, function(component) {
- component.dispose(ecModel, api);
- });
- each(chart._chartsViews, function(chart2) {
- chart2.dispose(ecModel, api);
- });
- chart._zr.dispose();
- chart._dom = chart._model = chart._chartsMap = chart._componentsMap = chart._chartsViews = chart._componentsViews = chart._scheduler = chart._api = chart._zr = chart._throttledZrFlush = chart._theme = chart._coordSysMgr = chart._messageCenter = null;
- delete instances2[chart.id];
- };
- ECharts2.prototype.resize = function(opts) {
- if (this[IN_MAIN_PROCESS_KEY]) {
- if (true) {
- error("`resize` should not be called during main process.");
- }
- return;
- }
- if (this._disposed) {
- disposedWarning(this.id);
- return;
- }
- this._zr.resize(opts);
- var ecModel = this._model;
- this._loadingFX && this._loadingFX.resize();
- if (!ecModel) {
- return;
- }
- var needPrepare = ecModel.resetOption("media");
- var silent = opts && opts.silent;
- if (this[PENDING_UPDATE]) {
- if (silent == null) {
- silent = this[PENDING_UPDATE].silent;
- }
- needPrepare = true;
- this[PENDING_UPDATE] = null;
- }
- this[IN_MAIN_PROCESS_KEY] = true;
- try {
- needPrepare && prepare(this);
- updateMethods.update.call(this, {
- type: "resize",
- animation: extend({
- duration: 0
- }, opts && opts.animation)
- });
- } catch (e2) {
- this[IN_MAIN_PROCESS_KEY] = false;
- throw e2;
- }
- this[IN_MAIN_PROCESS_KEY] = false;
- flushPendingActions.call(this, silent);
- triggerUpdatedEvent.call(this, silent);
- };
- ECharts2.prototype.showLoading = function(name, cfg) {
- if (this._disposed) {
- disposedWarning(this.id);
- return;
- }
- if (isObject(name)) {
- cfg = name;
- name = "";
- }
- name = name || "default";
- this.hideLoading();
- if (!loadingEffects[name]) {
- if (true) {
- console.warn("Loading effects " + name + " not exists.");
- }
- return;
- }
- var el = loadingEffects[name](this._api, cfg);
- var zr = this._zr;
- this._loadingFX = el;
- zr.add(el);
- };
- ECharts2.prototype.hideLoading = function() {
- if (this._disposed) {
- disposedWarning(this.id);
- return;
- }
- this._loadingFX && this._zr.remove(this._loadingFX);
- this._loadingFX = null;
- };
- ECharts2.prototype.makeActionFromEvent = function(eventObj) {
- var payload = extend({}, eventObj);
- payload.type = eventActionMap[eventObj.type];
- return payload;
- };
- ECharts2.prototype.dispatchAction = function(payload, opt) {
- if (this._disposed) {
- disposedWarning(this.id);
- return;
- }
- if (!isObject(opt)) {
- opt = {
- silent: !!opt
- };
- }
- if (!actions[payload.type]) {
- return;
- }
- if (!this._model) {
- return;
- }
- if (this[IN_MAIN_PROCESS_KEY]) {
- this._pendingActions.push(payload);
- return;
- }
- var silent = opt.silent;
- doDispatchAction.call(this, payload, silent);
- var flush = opt.flush;
- if (flush) {
- this._zr.flush();
- } else if (flush !== false && env_default.browser.weChat) {
- this._throttledZrFlush();
- }
- flushPendingActions.call(this, silent);
- triggerUpdatedEvent.call(this, silent);
- };
- ECharts2.prototype.updateLabelLayout = function() {
- lifecycle_default.trigger("series:layoutlabels", this._model, this._api, {
- updatedSeries: []
- });
- };
- ECharts2.prototype.appendData = function(params) {
- if (this._disposed) {
- disposedWarning(this.id);
- return;
- }
- var seriesIndex = params.seriesIndex;
- var ecModel = this.getModel();
- var seriesModel = ecModel.getSeriesByIndex(seriesIndex);
- if (true) {
- assert(params.data && seriesModel);
- }
- seriesModel.appendData(params);
- this._scheduler.unfinished = true;
- this.getZr().wakeUp();
- };
- ECharts2.internalField = function() {
- prepare = function(ecIns) {
- var scheduler = ecIns._scheduler;
- scheduler.restorePipelines(ecIns._model);
- scheduler.prepareStageTasks();
- prepareView(ecIns, true);
- prepareView(ecIns, false);
- scheduler.plan();
- };
- prepareView = function(ecIns, isComponent) {
- var ecModel = ecIns._model;
- var scheduler = ecIns._scheduler;
- var viewList = isComponent ? ecIns._componentsViews : ecIns._chartsViews;
- var viewMap = isComponent ? ecIns._componentsMap : ecIns._chartsMap;
- var zr = ecIns._zr;
- var api = ecIns._api;
- for (var i = 0; i < viewList.length; i++) {
- viewList[i].__alive = false;
- }
- isComponent ? ecModel.eachComponent(function(componentType, model) {
- componentType !== "series" && doPrepare(model);
- }) : ecModel.eachSeries(doPrepare);
- function doPrepare(model) {
- var requireNewView = model.__requireNewView;
- model.__requireNewView = false;
- var viewId = "_ec_" + model.id + "_" + model.type;
- var view2 = !requireNewView && viewMap[viewId];
- if (!view2) {
- var classType = parseClassType(model.type);
- var Clazz = isComponent ? Component_default2.getClass(classType.main, classType.sub) : Chart_default.getClass(classType.sub);
- if (true) {
- assert(Clazz, classType.sub + " does not exist.");
- }
- view2 = new Clazz();
- view2.init(ecModel, api);
- viewMap[viewId] = view2;
- viewList.push(view2);
- zr.add(view2.group);
- }
- model.__viewId = view2.__id = viewId;
- view2.__alive = true;
- view2.__model = model;
- view2.group.__ecComponentInfo = {
- mainType: model.mainType,
- index: model.componentIndex
- };
- !isComponent && scheduler.prepareView(view2, model, ecModel, api);
- }
- for (var i = 0; i < viewList.length; ) {
- var view = viewList[i];
- if (!view.__alive) {
- !isComponent && view.renderTask.dispose();
- zr.remove(view.group);
- view.dispose(ecModel, api);
- viewList.splice(i, 1);
- if (viewMap[view.__id] === view) {
- delete viewMap[view.__id];
- }
- view.__id = view.group.__ecComponentInfo = null;
- } else {
- i++;
- }
- }
- };
- updateDirectly = function(ecIns, method, payload, mainType, subType) {
- var ecModel = ecIns._model;
- ecModel.setUpdatePayload(payload);
- if (!mainType) {
- each([].concat(ecIns._componentsViews).concat(ecIns._chartsViews), callView);
- return;
- }
- var query = {};
- query[mainType + "Id"] = payload[mainType + "Id"];
- query[mainType + "Index"] = payload[mainType + "Index"];
- query[mainType + "Name"] = payload[mainType + "Name"];
- var condition = {
- mainType,
- query
- };
- subType && (condition.subType = subType);
- var excludeSeriesId = payload.excludeSeriesId;
- var excludeSeriesIdMap;
- if (excludeSeriesId != null) {
- excludeSeriesIdMap = createHashMap();
- each(normalizeToArray(excludeSeriesId), function(id) {
- var modelId = convertOptionIdName(id, null);
- if (modelId != null) {
- excludeSeriesIdMap.set(modelId, true);
- }
- });
- }
- ecModel && ecModel.eachComponent(condition, function(model) {
- var isExcluded = excludeSeriesIdMap && excludeSeriesIdMap.get(model.id) !== null;
- if (isExcluded) {
- return;
- }
- ;
- if (isHighDownPayload(payload)) {
- if (model instanceof Series_default) {
- if (payload.type === HIGHLIGHT_ACTION_TYPE && !payload.notBlur && !model.get(["emphasis", "disabled"])) {
- blurSeriesFromHighlightPayload(model, payload, ecIns._api);
- }
- } else {
- var _a2 = findComponentHighDownDispatchers(model.mainType, model.componentIndex, payload.name, ecIns._api), focusSelf = _a2.focusSelf, dispatchers = _a2.dispatchers;
- if (payload.type === HIGHLIGHT_ACTION_TYPE && focusSelf && !payload.notBlur) {
- blurComponent(model.mainType, model.componentIndex, ecIns._api);
- }
- if (dispatchers) {
- each(dispatchers, function(dispatcher) {
- payload.type === HIGHLIGHT_ACTION_TYPE ? enterEmphasis(dispatcher) : leaveEmphasis(dispatcher);
- });
- }
- }
- } else if (isSelectChangePayload(payload)) {
- if (model instanceof Series_default) {
- toggleSelectionFromPayload(model, payload, ecIns._api);
- updateSeriesElementSelection(model);
- markStatusToUpdate(ecIns);
- }
- }
- }, ecIns);
- ecModel && ecModel.eachComponent(condition, function(model) {
- var isExcluded = excludeSeriesIdMap && excludeSeriesIdMap.get(model.id) !== null;
- if (isExcluded) {
- return;
- }
- ;
- callView(ecIns[mainType === "series" ? "_chartsMap" : "_componentsMap"][model.__viewId]);
- }, ecIns);
- function callView(view) {
- view && view.__alive && view[method] && view[method](view.__model, ecModel, ecIns._api, payload);
- }
- };
- updateMethods = {
- prepareAndUpdate: function(payload) {
- prepare(this);
- updateMethods.update.call(this, payload, {
- optionChanged: payload.newOption != null
- });
- },
- update: function(payload, updateParams) {
- var ecModel = this._model;
- var api = this._api;
- var zr = this._zr;
- var coordSysMgr = this._coordSysMgr;
- var scheduler = this._scheduler;
- if (!ecModel) {
- return;
- }
- ecModel.setUpdatePayload(payload);
- scheduler.restoreData(ecModel, payload);
- scheduler.performSeriesTasks(ecModel);
- coordSysMgr.create(ecModel, api);
- scheduler.performDataProcessorTasks(ecModel, payload);
- updateStreamModes(this, ecModel);
- coordSysMgr.update(ecModel, api);
- clearColorPalette(ecModel);
- scheduler.performVisualTasks(ecModel, payload);
- render(this, ecModel, api, payload, updateParams);
- var backgroundColor2 = ecModel.get("backgroundColor") || "transparent";
- var darkMode = ecModel.get("darkMode");
- zr.setBackgroundColor(backgroundColor2);
- if (darkMode != null && darkMode !== "auto") {
- zr.setDarkMode(darkMode);
- }
- lifecycle_default.trigger("afterupdate", ecModel, api);
- },
- updateTransform: function(payload) {
- var _this = this;
- var ecModel = this._model;
- var api = this._api;
- if (!ecModel) {
- return;
- }
- ecModel.setUpdatePayload(payload);
- var componentDirtyList = [];
- ecModel.eachComponent(function(componentType, componentModel) {
- if (componentType === "series") {
- return;
- }
- var componentView = _this.getViewOfComponentModel(componentModel);
- if (componentView && componentView.__alive) {
- if (componentView.updateTransform) {
- var result = componentView.updateTransform(componentModel, ecModel, api, payload);
- result && result.update && componentDirtyList.push(componentView);
- } else {
- componentDirtyList.push(componentView);
- }
- }
- });
- var seriesDirtyMap = createHashMap();
- ecModel.eachSeries(function(seriesModel) {
- var chartView = _this._chartsMap[seriesModel.__viewId];
- if (chartView.updateTransform) {
- var result = chartView.updateTransform(seriesModel, ecModel, api, payload);
- result && result.update && seriesDirtyMap.set(seriesModel.uid, 1);
- } else {
- seriesDirtyMap.set(seriesModel.uid, 1);
- }
- });
- clearColorPalette(ecModel);
- this._scheduler.performVisualTasks(ecModel, payload, {
- setDirty: true,
- dirtyMap: seriesDirtyMap
- });
- renderSeries(this, ecModel, api, payload, {}, seriesDirtyMap);
- lifecycle_default.trigger("afterupdate", ecModel, api);
- },
- updateView: function(payload) {
- var ecModel = this._model;
- if (!ecModel) {
- return;
- }
- ecModel.setUpdatePayload(payload);
- Chart_default.markUpdateMethod(payload, "updateView");
- clearColorPalette(ecModel);
- this._scheduler.performVisualTasks(ecModel, payload, {
- setDirty: true
- });
- render(this, ecModel, this._api, payload, {});
- lifecycle_default.trigger("afterupdate", ecModel, this._api);
- },
- updateVisual: function(payload) {
- var _this = this;
- var ecModel = this._model;
- if (!ecModel) {
- return;
- }
- ecModel.setUpdatePayload(payload);
- ecModel.eachSeries(function(seriesModel) {
- seriesModel.getData().clearAllVisual();
- });
- Chart_default.markUpdateMethod(payload, "updateVisual");
- clearColorPalette(ecModel);
- this._scheduler.performVisualTasks(ecModel, payload, {
- visualType: "visual",
- setDirty: true
- });
- ecModel.eachComponent(function(componentType, componentModel) {
- if (componentType !== "series") {
- var componentView = _this.getViewOfComponentModel(componentModel);
- componentView && componentView.__alive && componentView.updateVisual(componentModel, ecModel, _this._api, payload);
- }
- });
- ecModel.eachSeries(function(seriesModel) {
- var chartView = _this._chartsMap[seriesModel.__viewId];
- chartView.updateVisual(seriesModel, ecModel, _this._api, payload);
- });
- lifecycle_default.trigger("afterupdate", ecModel, this._api);
- },
- updateLayout: function(payload) {
- updateMethods.update.call(this, payload);
- }
- };
- doConvertPixel = function(ecIns, methodName, finder, value) {
- if (ecIns._disposed) {
- disposedWarning(ecIns.id);
- return;
- }
- var ecModel = ecIns._model;
- var coordSysList = ecIns._coordSysMgr.getCoordinateSystems();
- var result;
- var parsedFinder = parseFinder(ecModel, finder);
- for (var i = 0; i < coordSysList.length; i++) {
- var coordSys = coordSysList[i];
- if (coordSys[methodName] && (result = coordSys[methodName](ecModel, parsedFinder, value)) != null) {
- return result;
- }
- }
- if (true) {
- console.warn("No coordinate system that supports " + methodName + " found by the given finder.");
- }
- };
- updateStreamModes = function(ecIns, ecModel) {
- var chartsMap = ecIns._chartsMap;
- var scheduler = ecIns._scheduler;
- ecModel.eachSeries(function(seriesModel) {
- scheduler.updateStreamModes(seriesModel, chartsMap[seriesModel.__viewId]);
- });
- };
- doDispatchAction = function(payload, silent) {
- var _this = this;
- var ecModel = this.getModel();
- var payloadType = payload.type;
- var escapeConnect = payload.escapeConnect;
- var actionWrap = actions[payloadType];
- var actionInfo = actionWrap.actionInfo;
- var cptTypeTmp = (actionInfo.update || "update").split(":");
- var updateMethod = cptTypeTmp.pop();
- var cptType = cptTypeTmp[0] != null && parseClassType(cptTypeTmp[0]);
- this[IN_MAIN_PROCESS_KEY] = true;
- var payloads = [payload];
- var batched = false;
- if (payload.batch) {
- batched = true;
- payloads = map(payload.batch, function(item) {
- item = defaults(extend({}, item), payload);
- item.batch = null;
- return item;
- });
- }
- var eventObjBatch = [];
- var eventObj;
- var isSelectChange = isSelectChangePayload(payload);
- var isHighDown = isHighDownPayload(payload);
- if (isHighDown) {
- allLeaveBlur(this._api);
- }
- each(payloads, function(batchItem) {
- eventObj = actionWrap.action(batchItem, _this._model, _this._api);
- eventObj = eventObj || extend({}, batchItem);
- eventObj.type = actionInfo.event || eventObj.type;
- eventObjBatch.push(eventObj);
- if (isHighDown) {
- var _a2 = preParseFinder(payload), queryOptionMap = _a2.queryOptionMap, mainTypeSpecified = _a2.mainTypeSpecified;
- var componentMainType = mainTypeSpecified ? queryOptionMap.keys()[0] : "series";
- updateDirectly(_this, updateMethod, batchItem, componentMainType);
- markStatusToUpdate(_this);
- } else if (isSelectChange) {
- updateDirectly(_this, updateMethod, batchItem, "series");
- markStatusToUpdate(_this);
- } else if (cptType) {
- updateDirectly(_this, updateMethod, batchItem, cptType.main, cptType.sub);
- }
- });
- if (updateMethod !== "none" && !isHighDown && !isSelectChange && !cptType) {
- try {
- if (this[PENDING_UPDATE]) {
- prepare(this);
- updateMethods.update.call(this, payload);
- this[PENDING_UPDATE] = null;
- } else {
- updateMethods[updateMethod].call(this, payload);
- }
- } catch (e2) {
- this[IN_MAIN_PROCESS_KEY] = false;
- throw e2;
- }
- }
- if (batched) {
- eventObj = {
- type: actionInfo.event || payloadType,
- escapeConnect,
- batch: eventObjBatch
- };
- } else {
- eventObj = eventObjBatch[0];
- }
- this[IN_MAIN_PROCESS_KEY] = false;
- if (!silent) {
- var messageCenter = this._messageCenter;
- messageCenter.trigger(eventObj.type, eventObj);
- if (isSelectChange) {
- var newObj = {
- type: "selectchanged",
- escapeConnect,
- selected: getAllSelectedIndices(ecModel),
- isFromClick: payload.isFromClick || false,
- fromAction: payload.type,
- fromActionPayload: payload
- };
- messageCenter.trigger(newObj.type, newObj);
- }
- }
- };
- flushPendingActions = function(silent) {
- var pendingActions = this._pendingActions;
- while (pendingActions.length) {
- var payload = pendingActions.shift();
- doDispatchAction.call(this, payload, silent);
- }
- };
- triggerUpdatedEvent = function(silent) {
- !silent && this.trigger("updated");
- };
- bindRenderedEvent = function(zr, ecIns) {
- zr.on("rendered", function(params) {
- ecIns.trigger("rendered", params);
- if (zr.animation.isFinished() && !ecIns[PENDING_UPDATE] && !ecIns._scheduler.unfinished && !ecIns._pendingActions.length) {
- ecIns.trigger("finished");
- }
- });
- };
- bindMouseEvent = function(zr, ecIns) {
- zr.on("mouseover", function(e2) {
- var el = e2.target;
- var dispatcher = findEventDispatcher(el, isHighDownDispatcher);
- if (dispatcher) {
- handleGlobalMouseOverForHighDown(dispatcher, e2, ecIns._api);
- markStatusToUpdate(ecIns);
- }
- }).on("mouseout", function(e2) {
- var el = e2.target;
- var dispatcher = findEventDispatcher(el, isHighDownDispatcher);
- if (dispatcher) {
- handleGlobalMouseOutForHighDown(dispatcher, e2, ecIns._api);
- markStatusToUpdate(ecIns);
- }
- }).on("click", function(e2) {
- var el = e2.target;
- var dispatcher = findEventDispatcher(el, function(target) {
- return getECData(target).dataIndex != null;
- }, true);
- if (dispatcher) {
- var actionType = dispatcher.selected ? "unselect" : "select";
- var ecData = getECData(dispatcher);
- ecIns._api.dispatchAction({
- type: actionType,
- dataType: ecData.dataType,
- dataIndexInside: ecData.dataIndex,
- seriesIndex: ecData.seriesIndex,
- isFromClick: true
- });
- }
- });
- };
- function clearColorPalette(ecModel) {
- ecModel.clearColorPalette();
- ecModel.eachSeries(function(seriesModel) {
- seriesModel.clearColorPalette();
- });
- }
- ;
- function allocateZlevels(ecModel) {
- ;
- var componentZLevels = [];
- var seriesZLevels = [];
- var hasSeperateZLevel = false;
- ecModel.eachComponent(function(componentType, componentModel) {
- var zlevel = componentModel.get("zlevel") || 0;
- var z = componentModel.get("z") || 0;
- var zlevelKey = componentModel.getZLevelKey();
- hasSeperateZLevel = hasSeperateZLevel || !!zlevelKey;
- (componentType === "series" ? seriesZLevels : componentZLevels).push({
- zlevel,
- z,
- idx: componentModel.componentIndex,
- type: componentType,
- key: zlevelKey
- });
- });
- if (hasSeperateZLevel) {
- var zLevels = componentZLevels.concat(seriesZLevels);
- var lastSeriesZLevel_1;
- var lastSeriesKey_1;
- sort(zLevels, function(a, b) {
- if (a.zlevel === b.zlevel) {
- return a.z - b.z;
- }
- return a.zlevel - b.zlevel;
- });
- each(zLevels, function(item) {
- var componentModel = ecModel.getComponent(item.type, item.idx);
- var zlevel = item.zlevel;
- var key = item.key;
- if (lastSeriesZLevel_1 != null) {
- zlevel = Math.max(lastSeriesZLevel_1, zlevel);
- }
- if (key) {
- if (zlevel === lastSeriesZLevel_1 && key !== lastSeriesKey_1) {
- zlevel++;
- }
- lastSeriesKey_1 = key;
- } else if (lastSeriesKey_1) {
- if (zlevel === lastSeriesZLevel_1) {
- zlevel++;
- }
- lastSeriesKey_1 = "";
- }
- lastSeriesZLevel_1 = zlevel;
- componentModel.setZLevel(zlevel);
- });
- }
- }
- render = function(ecIns, ecModel, api, payload, updateParams) {
- allocateZlevels(ecModel);
- renderComponents(ecIns, ecModel, api, payload, updateParams);
- each(ecIns._chartsViews, function(chart) {
- chart.__alive = false;
- });
- renderSeries(ecIns, ecModel, api, payload, updateParams);
- each(ecIns._chartsViews, function(chart) {
- if (!chart.__alive) {
- chart.remove(ecModel, api);
- }
- });
- };
- renderComponents = function(ecIns, ecModel, api, payload, updateParams, dirtyList) {
- each(dirtyList || ecIns._componentsViews, function(componentView) {
- var componentModel = componentView.__model;
- clearStates(componentModel, componentView);
- componentView.render(componentModel, ecModel, api, payload);
- updateZ(componentModel, componentView);
- updateStates(componentModel, componentView);
- });
- };
- renderSeries = function(ecIns, ecModel, api, payload, updateParams, dirtyMap) {
- var scheduler = ecIns._scheduler;
- updateParams = extend(updateParams || {}, {
- updatedSeries: ecModel.getSeries()
- });
- lifecycle_default.trigger("series:beforeupdate", ecModel, api, updateParams);
- var unfinished = false;
- ecModel.eachSeries(function(seriesModel) {
- var chartView = ecIns._chartsMap[seriesModel.__viewId];
- chartView.__alive = true;
- var renderTask = chartView.renderTask;
- scheduler.updatePayload(renderTask, payload);
- clearStates(seriesModel, chartView);
- if (dirtyMap && dirtyMap.get(seriesModel.uid)) {
- renderTask.dirty();
- }
- if (renderTask.perform(scheduler.getPerformArgs(renderTask))) {
- unfinished = true;
- }
- chartView.group.silent = !!seriesModel.get("silent");
- updateBlend(seriesModel, chartView);
- updateSeriesElementSelection(seriesModel);
- });
- scheduler.unfinished = unfinished || scheduler.unfinished;
- lifecycle_default.trigger("series:layoutlabels", ecModel, api, updateParams);
- lifecycle_default.trigger("series:transition", ecModel, api, updateParams);
- ecModel.eachSeries(function(seriesModel) {
- var chartView = ecIns._chartsMap[seriesModel.__viewId];
- updateZ(seriesModel, chartView);
- updateStates(seriesModel, chartView);
- });
- updateHoverLayerStatus(ecIns, ecModel);
- lifecycle_default.trigger("series:afterupdate", ecModel, api, updateParams);
- };
- markStatusToUpdate = function(ecIns) {
- ecIns[STATUS_NEEDS_UPDATE_KEY] = true;
- ecIns.getZr().wakeUp();
- };
- applyChangedStates = function(ecIns) {
- if (!ecIns[STATUS_NEEDS_UPDATE_KEY]) {
- return;
- }
- ecIns.getZr().storage.traverse(function(el) {
- if (isElementRemoved(el)) {
- return;
- }
- applyElementStates(el);
- });
- ecIns[STATUS_NEEDS_UPDATE_KEY] = false;
- };
- function applyElementStates(el) {
- var newStates = [];
- var oldStates = el.currentStates;
- for (var i = 0; i < oldStates.length; i++) {
- var stateName = oldStates[i];
- if (!(stateName === "emphasis" || stateName === "blur" || stateName === "select")) {
- newStates.push(stateName);
- }
- }
- if (el.selected && el.states.select) {
- newStates.push("select");
- }
- if (el.hoverState === HOVER_STATE_EMPHASIS && el.states.emphasis) {
- newStates.push("emphasis");
- } else if (el.hoverState === HOVER_STATE_BLUR && el.states.blur) {
- newStates.push("blur");
- }
- el.useStates(newStates);
- }
- function updateHoverLayerStatus(ecIns, ecModel) {
- var zr = ecIns._zr;
- var storage = zr.storage;
- var elCount = 0;
- storage.traverse(function(el) {
- if (!el.isGroup) {
- elCount++;
- }
- });
- if (elCount > ecModel.get("hoverLayerThreshold") && !env_default.node && !env_default.worker) {
- ecModel.eachSeries(function(seriesModel) {
- if (seriesModel.preventUsingHoverLayer) {
- return;
- }
- var chartView = ecIns._chartsMap[seriesModel.__viewId];
- if (chartView.__alive) {
- chartView.eachRendered(function(el) {
- if (el.states.emphasis) {
- el.states.emphasis.hoverLayer = true;
- }
- });
- }
- });
- }
- }
- ;
- function updateBlend(seriesModel, chartView) {
- var blendMode = seriesModel.get("blendMode") || null;
- chartView.eachRendered(function(el) {
- if (!el.isGroup) {
- el.style.blend = blendMode;
- }
- });
- }
- ;
- function updateZ(model, view) {
- if (model.preventAutoZ) {
- return;
- }
- var z = model.get("z") || 0;
- var zlevel = model.get("zlevel") || 0;
- view.eachRendered(function(el) {
- doUpdateZ(el, z, zlevel, -Infinity);
- return true;
- });
- }
- ;
- function doUpdateZ(el, z, zlevel, maxZ2) {
- var label = el.getTextContent();
- var labelLine = el.getTextGuideLine();
- var isGroup = el.isGroup;
- if (isGroup) {
- var children = el.childrenRef();
- for (var i = 0; i < children.length; i++) {
- maxZ2 = Math.max(doUpdateZ(children[i], z, zlevel, maxZ2), maxZ2);
- }
- } else {
- el.z = z;
- el.zlevel = zlevel;
- maxZ2 = Math.max(el.z2, maxZ2);
- }
- if (label) {
- label.z = z;
- label.zlevel = zlevel;
- isFinite(maxZ2) && (label.z2 = maxZ2 + 2);
- }
- if (labelLine) {
- var textGuideLineConfig = el.textGuideLineConfig;
- labelLine.z = z;
- labelLine.zlevel = zlevel;
- isFinite(maxZ2) && (labelLine.z2 = maxZ2 + (textGuideLineConfig && textGuideLineConfig.showAbove ? 1 : -1));
- }
- return maxZ2;
- }
- function clearStates(model, view) {
- view.eachRendered(function(el) {
- if (isElementRemoved(el)) {
- return;
- }
- var textContent = el.getTextContent();
- var textGuide = el.getTextGuideLine();
- if (el.stateTransition) {
- el.stateTransition = null;
- }
- if (textContent && textContent.stateTransition) {
- textContent.stateTransition = null;
- }
- if (textGuide && textGuide.stateTransition) {
- textGuide.stateTransition = null;
- }
- if (el.hasState()) {
- el.prevStates = el.currentStates;
- el.clearStates();
- } else if (el.prevStates) {
- el.prevStates = null;
- }
- });
- }
- function updateStates(model, view) {
- var stateAnimationModel = model.getModel("stateAnimation");
- var enableAnimation = model.isAnimationEnabled();
- var duration = stateAnimationModel.get("duration");
- var stateTransition = duration > 0 ? {
- duration,
- delay: stateAnimationModel.get("delay"),
- easing: stateAnimationModel.get("easing")
- } : null;
- view.eachRendered(function(el) {
- if (el.states && el.states.emphasis) {
- if (isElementRemoved(el)) {
- return;
- }
- if (el instanceof Path_default) {
- savePathStates(el);
- }
- if (el.__dirty) {
- var prevStates = el.prevStates;
- if (prevStates) {
- el.useStates(prevStates);
- }
- }
- if (enableAnimation) {
- el.stateTransition = stateTransition;
- var textContent = el.getTextContent();
- var textGuide = el.getTextGuideLine();
- if (textContent) {
- textContent.stateTransition = stateTransition;
- }
- if (textGuide) {
- textGuide.stateTransition = stateTransition;
- }
- }
- if (el.__dirty) {
- applyElementStates(el);
- }
- }
- });
- }
- ;
- createExtensionAPI = function(ecIns) {
- return new (function(_super2) {
- __extends2(class_1, _super2);
- function class_1() {
- return _super2 !== null && _super2.apply(this, arguments) || this;
- }
- class_1.prototype.getCoordinateSystems = function() {
- return ecIns._coordSysMgr.getCoordinateSystems();
- };
- class_1.prototype.getComponentByElement = function(el) {
- while (el) {
- var modelInfo = el.__ecComponentInfo;
- if (modelInfo != null) {
- return ecIns._model.getComponent(modelInfo.mainType, modelInfo.index);
- }
- el = el.parent;
- }
- };
- class_1.prototype.enterEmphasis = function(el, highlightDigit) {
- enterEmphasis(el, highlightDigit);
- markStatusToUpdate(ecIns);
- };
- class_1.prototype.leaveEmphasis = function(el, highlightDigit) {
- leaveEmphasis(el, highlightDigit);
- markStatusToUpdate(ecIns);
- };
- class_1.prototype.enterBlur = function(el) {
- enterBlur(el);
- markStatusToUpdate(ecIns);
- };
- class_1.prototype.leaveBlur = function(el) {
- leaveBlur(el);
- markStatusToUpdate(ecIns);
- };
- class_1.prototype.enterSelect = function(el) {
- enterSelect(el);
- markStatusToUpdate(ecIns);
- };
- class_1.prototype.leaveSelect = function(el) {
- leaveSelect(el);
- markStatusToUpdate(ecIns);
- };
- class_1.prototype.getModel = function() {
- return ecIns.getModel();
- };
- class_1.prototype.getViewOfComponentModel = function(componentModel) {
- return ecIns.getViewOfComponentModel(componentModel);
- };
- class_1.prototype.getViewOfSeriesModel = function(seriesModel) {
- return ecIns.getViewOfSeriesModel(seriesModel);
- };
- return class_1;
- }(ExtensionAPI_default))(ecIns);
- };
- enableConnect = function(chart) {
- function updateConnectedChartsStatus(charts, status) {
- for (var i = 0; i < charts.length; i++) {
- var otherChart = charts[i];
- otherChart[CONNECT_STATUS_KEY] = status;
- }
- }
- each(eventActionMap, function(actionType, eventType) {
- chart._messageCenter.on(eventType, function(event) {
- if (connectedGroups[chart.group] && chart[CONNECT_STATUS_KEY] !== CONNECT_STATUS_PENDING) {
- if (event && event.escapeConnect) {
- return;
- }
- var action_1 = chart.makeActionFromEvent(event);
- var otherCharts_1 = [];
- each(instances2, function(otherChart) {
- if (otherChart !== chart && otherChart.group === chart.group) {
- otherCharts_1.push(otherChart);
- }
- });
- updateConnectedChartsStatus(otherCharts_1, CONNECT_STATUS_PENDING);
- each(otherCharts_1, function(otherChart) {
- if (otherChart[CONNECT_STATUS_KEY] !== CONNECT_STATUS_UPDATING) {
- otherChart.dispatchAction(action_1);
- }
- });
- updateConnectedChartsStatus(otherCharts_1, CONNECT_STATUS_UPDATED);
- }
- });
- });
- };
- }();
- return ECharts2;
- }(Eventful_default);
- var echartsProto = ECharts.prototype;
- echartsProto.on = createRegisterEventWithLowercaseECharts("on");
- echartsProto.off = createRegisterEventWithLowercaseECharts("off");
- echartsProto.one = function(eventName, cb, ctx) {
- var self = this;
- deprecateLog("ECharts#one is deprecated.");
- function wrapped() {
- var args2 = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- args2[_i] = arguments[_i];
- }
- cb && cb.apply && cb.apply(this, args2);
- self.off(eventName, wrapped);
- }
- ;
- this.on.call(this, eventName, wrapped, ctx);
- };
- var MOUSE_EVENT_NAMES = ["click", "dblclick", "mouseover", "mouseout", "mousemove", "mousedown", "mouseup", "globalout", "contextmenu"];
- function disposedWarning(id) {
- if (true) {
- console.warn("Instance " + id + " has been disposed");
- }
- }
- var actions = {};
- var eventActionMap = {};
- var dataProcessorFuncs = [];
- var optionPreprocessorFuncs = [];
- var visualFuncs = [];
- var themeStorage = {};
- var loadingEffects = {};
- var instances2 = {};
- var connectedGroups = {};
- var idBase = +new Date() - 0;
- var groupIdBase = +new Date() - 0;
- var DOM_ATTRIBUTE_KEY = "_echarts_instance_";
- function init2(dom, theme2, opts) {
- var isClient = !(opts && opts.ssr);
- if (isClient) {
- if (true) {
- if (!dom) {
- throw new Error("Initialize failed: invalid dom.");
- }
- }
- var existInstance = getInstanceByDom(dom);
- if (existInstance) {
- if (true) {
- console.warn("There is a chart instance already initialized on the dom.");
- }
- return existInstance;
- }
- if (true) {
- if (isDom(dom) && dom.nodeName.toUpperCase() !== "CANVAS" && (!dom.clientWidth && (!opts || opts.width == null) || !dom.clientHeight && (!opts || opts.height == null))) {
- 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 chart = new ECharts(dom, theme2, opts);
- chart.id = "ec_" + idBase++;
- instances2[chart.id] = chart;
- isClient && setAttribute(dom, DOM_ATTRIBUTE_KEY, chart.id);
- enableConnect(chart);
- lifecycle_default.trigger("afterinit", chart);
- return chart;
- }
- function connect(groupId) {
- if (isArray(groupId)) {
- var charts = groupId;
- groupId = null;
- each(charts, function(chart) {
- if (chart.group != null) {
- groupId = chart.group;
- }
- });
- groupId = groupId || "g_" + groupIdBase++;
- each(charts, function(chart) {
- chart.group = groupId;
- });
- }
- connectedGroups[groupId] = true;
- return groupId;
- }
- function disConnect(groupId) {
- connectedGroups[groupId] = false;
- }
- var disconnect = disConnect;
- function dispose2(chart) {
- if (isString(chart)) {
- chart = instances2[chart];
- } else if (!(chart instanceof ECharts)) {
- chart = getInstanceByDom(chart);
- }
- if (chart instanceof ECharts && !chart.isDisposed()) {
- chart.dispose();
- }
- }
- function getInstanceByDom(dom) {
- return instances2[getAttribute(dom, DOM_ATTRIBUTE_KEY)];
- }
- function getInstanceById(key) {
- return instances2[key];
- }
- function registerTheme(name, theme2) {
- themeStorage[name] = theme2;
- }
- function registerPreprocessor(preprocessorFunc) {
- if (indexOf(optionPreprocessorFuncs, preprocessorFunc) < 0) {
- optionPreprocessorFuncs.push(preprocessorFunc);
- }
- }
- function registerProcessor(priority, processor) {
- normalizeRegister(dataProcessorFuncs, priority, processor, PRIORITY_PROCESSOR_DEFAULT);
- }
- function registerPostInit(postInitFunc) {
- registerUpdateLifecycle("afterinit", postInitFunc);
- }
- function registerPostUpdate(postUpdateFunc) {
- registerUpdateLifecycle("afterupdate", postUpdateFunc);
- }
- function registerUpdateLifecycle(name, cb) {
- lifecycle_default.on(name, cb);
- }
- function registerAction(actionInfo, eventName, action) {
- if (isFunction(eventName)) {
- action = eventName;
- eventName = "";
- }
- var actionType = isObject(actionInfo) ? actionInfo.type : [actionInfo, actionInfo = {
- event: eventName
- }][0];
- actionInfo.event = (actionInfo.event || actionType).toLowerCase();
- eventName = actionInfo.event;
- if (eventActionMap[eventName]) {
- return;
- }
- assert(ACTION_REG.test(actionType) && ACTION_REG.test(eventName));
- if (!actions[actionType]) {
- actions[actionType] = {
- action,
- actionInfo
- };
- }
- eventActionMap[eventName] = actionType;
- }
- function registerCoordinateSystem(type, coordSysCreator) {
- CoordinateSystem_default.register(type, coordSysCreator);
- }
- function getCoordinateSystemDimensions(type) {
- var coordSysCreator = CoordinateSystem_default.get(type);
- if (coordSysCreator) {
- return coordSysCreator.getDimensionsInfo ? coordSysCreator.getDimensionsInfo() : coordSysCreator.dimensions.slice();
- }
- }
- function registerLayout(priority, layoutTask) {
- normalizeRegister(visualFuncs, priority, layoutTask, PRIORITY_VISUAL_LAYOUT, "layout");
- }
- function registerVisual(priority, visualTask) {
- normalizeRegister(visualFuncs, priority, visualTask, PRIORITY_VISUAL_CHART, "visual");
- }
- var registeredTasks = [];
- function normalizeRegister(targetList, priority, fn, defaultPriority, visualType) {
- if (isFunction(priority) || isObject(priority)) {
- fn = priority;
- priority = defaultPriority;
- }
- if (true) {
- if (isNaN(priority) || priority == null) {
- throw new Error("Illegal priority");
- }
- each(targetList, function(wrap) {
- assert(wrap.__raw !== fn);
- });
- }
- if (indexOf(registeredTasks, fn) >= 0) {
- return;
- }
- registeredTasks.push(fn);
- var stageHandler = Scheduler_default.wrapStageHandler(fn, visualType);
- stageHandler.__prio = priority;
- stageHandler.__raw = fn;
- targetList.push(stageHandler);
- }
- function registerLoading(name, loadingFx) {
- loadingEffects[name] = loadingFx;
- }
- function setCanvasCreator(creator) {
- if (true) {
- deprecateLog("setCanvasCreator is deprecated. Use setPlatformAPI({ createCanvas }) instead.");
- }
- setPlatformAPI({
- createCanvas: creator
- });
- }
- function registerMap(mapName, geoJson, specialAreas) {
- var registerMap2 = getImpl("registerMap");
- registerMap2 && registerMap2(mapName, geoJson, specialAreas);
- }
- function getMap(mapName) {
- var getMap2 = getImpl("getMap");
- return getMap2 && getMap2(mapName);
- }
- var registerTransform = registerExternalTransform;
- registerVisual(PRIORITY_VISUAL_GLOBAL, seriesStyleTask);
- registerVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM, dataStyleTask);
- registerVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM, dataColorPaletteTask);
- registerVisual(PRIORITY_VISUAL_GLOBAL, seriesSymbolTask);
- registerVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM, dataSymbolTask);
- registerVisual(PRIORITY_VISUAL_DECAL, decalVisual);
- registerPreprocessor(globalBackwardCompat);
- registerProcessor(PRIORITY_PROCESSOR_DATASTACK, dataStack);
- registerLoading("default", defaultLoading);
- registerAction({
- type: HIGHLIGHT_ACTION_TYPE,
- event: HIGHLIGHT_ACTION_TYPE,
- update: HIGHLIGHT_ACTION_TYPE
- }, noop);
- registerAction({
- type: DOWNPLAY_ACTION_TYPE,
- event: DOWNPLAY_ACTION_TYPE,
- update: DOWNPLAY_ACTION_TYPE
- }, noop);
- registerAction({
- type: SELECT_ACTION_TYPE,
- event: SELECT_ACTION_TYPE,
- update: SELECT_ACTION_TYPE
- }, noop);
- registerAction({
- type: UNSELECT_ACTION_TYPE,
- event: UNSELECT_ACTION_TYPE,
- update: UNSELECT_ACTION_TYPE
- }, noop);
- registerAction({
- type: TOGGLE_SELECT_ACTION_TYPE,
- event: TOGGLE_SELECT_ACTION_TYPE,
- update: TOGGLE_SELECT_ACTION_TYPE
- }, noop);
- registerTheme("light", light_default);
- registerTheme("dark", dark_default);
- var dataTool = {};
- // node_modules/echarts/lib/extension.js
- init_define_APP_INFO();
- var extensions = [];
- var extensionRegisters = {
- registerPreprocessor,
- registerProcessor,
- registerPostInit,
- registerPostUpdate,
- registerUpdateLifecycle,
- registerAction,
- registerCoordinateSystem,
- registerLayout,
- registerVisual,
- registerTransform,
- registerLoading,
- registerMap,
- registerImpl,
- PRIORITY,
- ComponentModel: Component_default,
- ComponentView: Component_default2,
- SeriesModel: Series_default,
- ChartView: Chart_default,
- registerComponentModel: function(ComponentModelClass) {
- Component_default.registerClass(ComponentModelClass);
- },
- registerComponentView: function(ComponentViewClass) {
- Component_default2.registerClass(ComponentViewClass);
- },
- registerSeriesModel: function(SeriesModelClass) {
- Series_default.registerClass(SeriesModelClass);
- },
- registerChartView: function(ChartViewClass) {
- Chart_default.registerClass(ChartViewClass);
- },
- registerSubTypeDefaulter: function(componentType, defaulter) {
- Component_default.registerSubTypeDefaulter(componentType, defaulter);
- },
- registerPainter: function(painterType, PainterCtor) {
- registerPainter(painterType, PainterCtor);
- }
- };
- function use(ext) {
- if (isArray(ext)) {
- each(ext, function(singleExt) {
- use(singleExt);
- });
- return;
- }
- if (indexOf(extensions, ext) >= 0) {
- return;
- }
- extensions.push(ext);
- if (isFunction(ext)) {
- ext = {
- install: ext
- };
- }
- ext.install(extensionRegisters);
- }
- // node_modules/echarts/lib/coord/Axis.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/coord/axisTickLabelBuilder.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/coord/axisHelper.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/scale/Ordinal.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/scale/Scale.js
- init_define_APP_INFO();
- var Scale = function() {
- function Scale2(setting) {
- this._setting = setting || {};
- this._extent = [Infinity, -Infinity];
- }
- Scale2.prototype.getSetting = function(name) {
- return this._setting[name];
- };
- Scale2.prototype.unionExtent = function(other) {
- var extent3 = this._extent;
- other[0] < extent3[0] && (extent3[0] = other[0]);
- other[1] > extent3[1] && (extent3[1] = other[1]);
- };
- Scale2.prototype.unionExtentFromData = function(data, dim) {
- this.unionExtent(data.getApproximateExtent(dim));
- };
- Scale2.prototype.getExtent = function() {
- return this._extent.slice();
- };
- Scale2.prototype.setExtent = function(start, end) {
- var thisExtent = this._extent;
- if (!isNaN(start)) {
- thisExtent[0] = start;
- }
- if (!isNaN(end)) {
- thisExtent[1] = end;
- }
- };
- Scale2.prototype.isInExtentRange = function(value) {
- return this._extent[0] <= value && this._extent[1] >= value;
- };
- Scale2.prototype.isBlank = function() {
- return this._isBlank;
- };
- Scale2.prototype.setBlank = function(isBlank) {
- this._isBlank = isBlank;
- };
- return Scale2;
- }();
- enableClassManagement(Scale);
- var Scale_default = Scale;
- // node_modules/echarts/lib/data/OrdinalMeta.js
- init_define_APP_INFO();
- var uidBase = 0;
- var OrdinalMeta = function() {
- function OrdinalMeta2(opt) {
- this.categories = opt.categories || [];
- this._needCollect = opt.needCollect;
- this._deduplication = opt.deduplication;
- this.uid = ++uidBase;
- }
- OrdinalMeta2.createByAxisModel = function(axisModel) {
- var option = axisModel.option;
- var data = option.data;
- var categories = data && map(data, getName);
- return new OrdinalMeta2({
- categories,
- needCollect: !categories,
- deduplication: option.dedplication !== false
- });
- };
- ;
- OrdinalMeta2.prototype.getOrdinal = function(category) {
- return this._getOrCreateMap().get(category);
- };
- OrdinalMeta2.prototype.parseAndCollect = function(category) {
- var index;
- var needCollect = this._needCollect;
- if (!isString(category) && !needCollect) {
- return category;
- }
- if (needCollect && !this._deduplication) {
- index = this.categories.length;
- this.categories[index] = category;
- return index;
- }
- var map3 = this._getOrCreateMap();
- index = map3.get(category);
- if (index == null) {
- if (needCollect) {
- index = this.categories.length;
- this.categories[index] = category;
- map3.set(category, index);
- } else {
- index = NaN;
- }
- }
- return index;
- };
- OrdinalMeta2.prototype._getOrCreateMap = function() {
- return this._map || (this._map = createHashMap(this.categories));
- };
- return OrdinalMeta2;
- }();
- function getName(obj) {
- if (isObject(obj) && obj.value != null) {
- return obj.value;
- } else {
- return obj + "";
- }
- }
- var OrdinalMeta_default = OrdinalMeta;
- // node_modules/echarts/lib/scale/helper.js
- init_define_APP_INFO();
- function isValueNice(val) {
- var exp10 = Math.pow(10, quantityExponent(Math.abs(val)));
- var f = Math.abs(val / exp10);
- return f === 0 || f === 1 || f === 2 || f === 3 || f === 5;
- }
- function isIntervalOrLogScale(scale3) {
- return scale3.type === "interval" || scale3.type === "log";
- }
- function intervalScaleNiceTicks(extent3, splitNumber, minInterval, maxInterval) {
- var result = {};
- var span = extent3[1] - extent3[0];
- var interval = result.interval = nice(span / splitNumber, true);
- if (minInterval != null && interval < minInterval) {
- interval = result.interval = minInterval;
- }
- if (maxInterval != null && interval > maxInterval) {
- interval = result.interval = maxInterval;
- }
- var precision = result.intervalPrecision = getIntervalPrecision(interval);
- var niceTickExtent = result.niceTickExtent = [round(Math.ceil(extent3[0] / interval) * interval, precision), round(Math.floor(extent3[1] / interval) * interval, precision)];
- fixExtent(niceTickExtent, extent3);
- return result;
- }
- function increaseInterval(interval) {
- var exp10 = Math.pow(10, quantityExponent(interval));
- var f = interval / exp10;
- if (!f) {
- f = 1;
- } else if (f === 2) {
- f = 3;
- } else if (f === 3) {
- f = 5;
- } else {
- f *= 2;
- }
- return round(f * exp10);
- }
- function getIntervalPrecision(interval) {
- return getPrecision(interval) + 2;
- }
- function clamp(niceTickExtent, idx, extent3) {
- niceTickExtent[idx] = Math.max(Math.min(niceTickExtent[idx], extent3[1]), extent3[0]);
- }
- function fixExtent(niceTickExtent, extent3) {
- !isFinite(niceTickExtent[0]) && (niceTickExtent[0] = extent3[0]);
- !isFinite(niceTickExtent[1]) && (niceTickExtent[1] = extent3[1]);
- clamp(niceTickExtent, 0, extent3);
- clamp(niceTickExtent, 1, extent3);
- if (niceTickExtent[0] > niceTickExtent[1]) {
- niceTickExtent[0] = niceTickExtent[1];
- }
- }
- function contain(val, extent3) {
- return val >= extent3[0] && val <= extent3[1];
- }
- function normalize2(val, extent3) {
- if (extent3[1] === extent3[0]) {
- return 0.5;
- }
- return (val - extent3[0]) / (extent3[1] - extent3[0]);
- }
- function scale2(val, extent3) {
- return val * (extent3[1] - extent3[0]) + extent3[0];
- }
- // node_modules/echarts/lib/scale/Ordinal.js
- var OrdinalScale = function(_super) {
- __extends2(OrdinalScale2, _super);
- function OrdinalScale2(setting) {
- var _this = _super.call(this, setting) || this;
- _this.type = "ordinal";
- var ordinalMeta = _this.getSetting("ordinalMeta");
- if (!ordinalMeta) {
- ordinalMeta = new OrdinalMeta_default({});
- }
- if (isArray(ordinalMeta)) {
- ordinalMeta = new OrdinalMeta_default({
- categories: map(ordinalMeta, function(item) {
- return isObject(item) ? item.value : item;
- })
- });
- }
- _this._ordinalMeta = ordinalMeta;
- _this._extent = _this.getSetting("extent") || [0, ordinalMeta.categories.length - 1];
- return _this;
- }
- OrdinalScale2.prototype.parse = function(val) {
- if (val == null) {
- return NaN;
- }
- return isString(val) ? this._ordinalMeta.getOrdinal(val) : Math.round(val);
- };
- OrdinalScale2.prototype.contain = function(rank) {
- rank = this.parse(rank);
- return contain(rank, this._extent) && this._ordinalMeta.categories[rank] != null;
- };
- OrdinalScale2.prototype.normalize = function(val) {
- val = this._getTickNumber(this.parse(val));
- return normalize2(val, this._extent);
- };
- OrdinalScale2.prototype.scale = function(val) {
- val = Math.round(scale2(val, this._extent));
- return this.getRawOrdinalNumber(val);
- };
- OrdinalScale2.prototype.getTicks = function() {
- var ticks = [];
- var extent3 = this._extent;
- var rank = extent3[0];
- while (rank <= extent3[1]) {
- ticks.push({
- value: rank
- });
- rank++;
- }
- return ticks;
- };
- OrdinalScale2.prototype.getMinorTicks = function(splitNumber) {
- return;
- };
- OrdinalScale2.prototype.setSortInfo = function(info) {
- if (info == null) {
- this._ordinalNumbersByTick = this._ticksByOrdinalNumber = null;
- return;
- }
- var infoOrdinalNumbers = info.ordinalNumbers;
- var ordinalsByTick = this._ordinalNumbersByTick = [];
- var ticksByOrdinal = this._ticksByOrdinalNumber = [];
- var tickNum = 0;
- var allCategoryLen = this._ordinalMeta.categories.length;
- for (var len = Math.min(allCategoryLen, infoOrdinalNumbers.length); tickNum < len; ++tickNum) {
- var ordinalNumber = infoOrdinalNumbers[tickNum];
- ordinalsByTick[tickNum] = ordinalNumber;
- ticksByOrdinal[ordinalNumber] = tickNum;
- }
- var unusedOrdinal = 0;
- for (; tickNum < allCategoryLen; ++tickNum) {
- while (ticksByOrdinal[unusedOrdinal] != null) {
- unusedOrdinal++;
- }
- ;
- ordinalsByTick.push(unusedOrdinal);
- ticksByOrdinal[unusedOrdinal] = tickNum;
- }
- };
- OrdinalScale2.prototype._getTickNumber = function(ordinal) {
- var ticksByOrdinalNumber = this._ticksByOrdinalNumber;
- return ticksByOrdinalNumber && ordinal >= 0 && ordinal < ticksByOrdinalNumber.length ? ticksByOrdinalNumber[ordinal] : ordinal;
- };
- OrdinalScale2.prototype.getRawOrdinalNumber = function(tickNumber) {
- var ordinalNumbersByTick = this._ordinalNumbersByTick;
- return ordinalNumbersByTick && tickNumber >= 0 && tickNumber < ordinalNumbersByTick.length ? ordinalNumbersByTick[tickNumber] : tickNumber;
- };
- OrdinalScale2.prototype.getLabel = function(tick) {
- if (!this.isBlank()) {
- var ordinalNumber = this.getRawOrdinalNumber(tick.value);
- var cateogry = this._ordinalMeta.categories[ordinalNumber];
- return cateogry == null ? "" : cateogry + "";
- }
- };
- OrdinalScale2.prototype.count = function() {
- return this._extent[1] - this._extent[0] + 1;
- };
- OrdinalScale2.prototype.unionExtentFromData = function(data, dim) {
- this.unionExtent(data.getApproximateExtent(dim));
- };
- OrdinalScale2.prototype.isInExtentRange = function(value) {
- value = this._getTickNumber(value);
- return this._extent[0] <= value && this._extent[1] >= value;
- };
- OrdinalScale2.prototype.getOrdinalMeta = function() {
- return this._ordinalMeta;
- };
- OrdinalScale2.prototype.calcNiceTicks = function() {
- };
- OrdinalScale2.prototype.calcNiceExtent = function() {
- };
- OrdinalScale2.type = "ordinal";
- return OrdinalScale2;
- }(Scale_default);
- Scale_default.registerClass(OrdinalScale);
- var Ordinal_default = OrdinalScale;
- // node_modules/echarts/lib/scale/Interval.js
- init_define_APP_INFO();
- var roundNumber = round;
- var IntervalScale = function(_super) {
- __extends2(IntervalScale2, _super);
- function IntervalScale2() {
- var _this = _super !== null && _super.apply(this, arguments) || this;
- _this.type = "interval";
- _this._interval = 0;
- _this._intervalPrecision = 2;
- return _this;
- }
- IntervalScale2.prototype.parse = function(val) {
- return val;
- };
- IntervalScale2.prototype.contain = function(val) {
- return contain(val, this._extent);
- };
- IntervalScale2.prototype.normalize = function(val) {
- return normalize2(val, this._extent);
- };
- IntervalScale2.prototype.scale = function(val) {
- return scale2(val, this._extent);
- };
- IntervalScale2.prototype.setExtent = function(start, end) {
- var thisExtent = this._extent;
- if (!isNaN(start)) {
- thisExtent[0] = parseFloat(start);
- }
- if (!isNaN(end)) {
- thisExtent[1] = parseFloat(end);
- }
- };
- IntervalScale2.prototype.unionExtent = function(other) {
- var extent3 = this._extent;
- other[0] < extent3[0] && (extent3[0] = other[0]);
- other[1] > extent3[1] && (extent3[1] = other[1]);
- this.setExtent(extent3[0], extent3[1]);
- };
- IntervalScale2.prototype.getInterval = function() {
- return this._interval;
- };
- IntervalScale2.prototype.setInterval = function(interval) {
- this._interval = interval;
- this._niceExtent = this._extent.slice();
- this._intervalPrecision = getIntervalPrecision(interval);
- };
- IntervalScale2.prototype.getTicks = function(expandToNicedExtent) {
- var interval = this._interval;
- var extent3 = this._extent;
- var niceTickExtent = this._niceExtent;
- var intervalPrecision = this._intervalPrecision;
- var ticks = [];
- if (!interval) {
- return ticks;
- }
- var safeLimit = 1e4;
- if (extent3[0] < niceTickExtent[0]) {
- if (expandToNicedExtent) {
- ticks.push({
- value: roundNumber(niceTickExtent[0] - interval, intervalPrecision)
- });
- } else {
- ticks.push({
- value: extent3[0]
- });
- }
- }
- var tick = niceTickExtent[0];
- while (tick <= niceTickExtent[1]) {
- ticks.push({
- value: tick
- });
- tick = roundNumber(tick + interval, intervalPrecision);
- if (tick === ticks[ticks.length - 1].value) {
- break;
- }
- if (ticks.length > safeLimit) {
- return [];
- }
- }
- var lastNiceTick = ticks.length ? ticks[ticks.length - 1].value : niceTickExtent[1];
- if (extent3[1] > lastNiceTick) {
- if (expandToNicedExtent) {
- ticks.push({
- value: roundNumber(lastNiceTick + interval, intervalPrecision)
- });
- } else {
- ticks.push({
- value: extent3[1]
- });
- }
- }
- return ticks;
- };
- IntervalScale2.prototype.getMinorTicks = function(splitNumber) {
- var ticks = this.getTicks(true);
- var minorTicks = [];
- var extent3 = this.getExtent();
- for (var i = 1; i < ticks.length; i++) {
- var nextTick = ticks[i];
- var prevTick = ticks[i - 1];
- var count = 0;
- var minorTicksGroup = [];
- var interval = nextTick.value - prevTick.value;
- var minorInterval = interval / splitNumber;
- while (count < splitNumber - 1) {
- var minorTick = roundNumber(prevTick.value + (count + 1) * minorInterval);
- if (minorTick > extent3[0] && minorTick < extent3[1]) {
- minorTicksGroup.push(minorTick);
- }
- count++;
- }
- minorTicks.push(minorTicksGroup);
- }
- return minorTicks;
- };
- IntervalScale2.prototype.getLabel = function(data, opt) {
- if (data == null) {
- return "";
- }
- var precision = opt && opt.precision;
- if (precision == null) {
- precision = getPrecision(data.value) || 0;
- } else if (precision === "auto") {
- precision = this._intervalPrecision;
- }
- var dataNum = roundNumber(data.value, precision, true);
- return addCommas(dataNum);
- };
- IntervalScale2.prototype.calcNiceTicks = function(splitNumber, minInterval, maxInterval) {
- splitNumber = splitNumber || 5;
- var extent3 = this._extent;
- var span = extent3[1] - extent3[0];
- if (!isFinite(span)) {
- return;
- }
- if (span < 0) {
- span = -span;
- extent3.reverse();
- }
- var result = intervalScaleNiceTicks(extent3, splitNumber, minInterval, maxInterval);
- this._intervalPrecision = result.intervalPrecision;
- this._interval = result.interval;
- this._niceExtent = result.niceTickExtent;
- };
- IntervalScale2.prototype.calcNiceExtent = function(opt) {
- var extent3 = this._extent;
- if (extent3[0] === extent3[1]) {
- if (extent3[0] !== 0) {
- var expandSize = extent3[0];
- if (!opt.fixMax) {
- extent3[1] += expandSize / 2;
- extent3[0] -= expandSize / 2;
- } else {
- extent3[0] -= expandSize / 2;
- }
- } else {
- extent3[1] = 1;
- }
- }
- var span = extent3[1] - extent3[0];
- if (!isFinite(span)) {
- extent3[0] = 0;
- extent3[1] = 1;
- }
- this.calcNiceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval);
- var interval = this._interval;
- if (!opt.fixMin) {
- extent3[0] = roundNumber(Math.floor(extent3[0] / interval) * interval);
- }
- if (!opt.fixMax) {
- extent3[1] = roundNumber(Math.ceil(extent3[1] / interval) * interval);
- }
- };
- IntervalScale2.prototype.setNiceExtent = function(min2, max2) {
- this._niceExtent = [min2, max2];
- };
- IntervalScale2.type = "interval";
- return IntervalScale2;
- }(Scale_default);
- Scale_default.registerClass(IntervalScale);
- var Interval_default = IntervalScale;
- // node_modules/echarts/lib/layout/barGrid.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/data/helper/dataStackHelper.js
- init_define_APP_INFO();
- function enableDataStack(seriesModel, dimensionsInput, opt) {
- opt = opt || {};
- var byIndex = opt.byIndex;
- var stackedCoordDimension = opt.stackedCoordDimension;
- var dimensionDefineList;
- var schema;
- var store;
- if (isLegacyDimensionsInput(dimensionsInput)) {
- dimensionDefineList = dimensionsInput;
- } else {
- schema = dimensionsInput.schema;
- dimensionDefineList = schema.dimensions;
- store = dimensionsInput.store;
- }
- var mayStack = !!(seriesModel && seriesModel.get("stack"));
- var stackedByDimInfo;
- var stackedDimInfo;
- var stackResultDimension;
- var stackedOverDimension;
- each(dimensionDefineList, function(dimensionInfo, index) {
- if (isString(dimensionInfo)) {
- dimensionDefineList[index] = dimensionInfo = {
- name: dimensionInfo
- };
- }
- if (mayStack && !dimensionInfo.isExtraCoord) {
- if (!byIndex && !stackedByDimInfo && dimensionInfo.ordinalMeta) {
- stackedByDimInfo = dimensionInfo;
- }
- if (!stackedDimInfo && dimensionInfo.type !== "ordinal" && dimensionInfo.type !== "time" && (!stackedCoordDimension || stackedCoordDimension === dimensionInfo.coordDim)) {
- stackedDimInfo = dimensionInfo;
- }
- }
- });
- if (stackedDimInfo && !byIndex && !stackedByDimInfo) {
- byIndex = true;
- }
- if (stackedDimInfo) {
- stackResultDimension = "__\0ecstackresult_" + seriesModel.id;
- stackedOverDimension = "__\0ecstackedover_" + seriesModel.id;
- if (stackedByDimInfo) {
- stackedByDimInfo.createInvertedIndices = true;
- }
- var stackedDimCoordDim_1 = stackedDimInfo.coordDim;
- var stackedDimType = stackedDimInfo.type;
- var stackedDimCoordIndex_1 = 0;
- each(dimensionDefineList, function(dimensionInfo) {
- if (dimensionInfo.coordDim === stackedDimCoordDim_1) {
- stackedDimCoordIndex_1++;
- }
- });
- var stackedOverDimensionDefine = {
- name: stackResultDimension,
- coordDim: stackedDimCoordDim_1,
- coordDimIndex: stackedDimCoordIndex_1,
- type: stackedDimType,
- isExtraCoord: true,
- isCalculationCoord: true,
- storeDimIndex: dimensionDefineList.length
- };
- var stackResultDimensionDefine = {
- name: stackedOverDimension,
- coordDim: stackedOverDimension,
- coordDimIndex: stackedDimCoordIndex_1 + 1,
- type: stackedDimType,
- isExtraCoord: true,
- isCalculationCoord: true,
- storeDimIndex: dimensionDefineList.length + 1
- };
- if (schema) {
- if (store) {
- stackedOverDimensionDefine.storeDimIndex = store.ensureCalculationDimension(stackedOverDimension, stackedDimType);
- stackResultDimensionDefine.storeDimIndex = store.ensureCalculationDimension(stackResultDimension, stackedDimType);
- }
- schema.appendCalculationDimension(stackedOverDimensionDefine);
- schema.appendCalculationDimension(stackResultDimensionDefine);
- } else {
- dimensionDefineList.push(stackedOverDimensionDefine);
- dimensionDefineList.push(stackResultDimensionDefine);
- }
- }
- return {
- stackedDimension: stackedDimInfo && stackedDimInfo.name,
- stackedByDimension: stackedByDimInfo && stackedByDimInfo.name,
- isStackedByIndex: byIndex,
- stackedOverDimension,
- stackResultDimension
- };
- }
- function isLegacyDimensionsInput(dimensionsInput) {
- return !isSeriesDataSchema(dimensionsInput.schema);
- }
- function isDimensionStacked(data, stackedDim) {
- return !!stackedDim && stackedDim === data.getCalculationInfo("stackedDimension");
- }
- function getStackedDimension(data, targetDim) {
- return isDimensionStacked(data, targetDim) ? data.getCalculationInfo("stackResultDimension") : targetDim;
- }
- // node_modules/echarts/lib/util/vendor.js
- init_define_APP_INFO();
- var supportFloat32Array = typeof Float32Array !== "undefined";
- var Float32ArrayCtor = !supportFloat32Array ? Array : Float32Array;
- function createFloat32Array(arg) {
- if (isArray(arg)) {
- return supportFloat32Array ? new Float32Array(arg) : arg;
- }
- return new Float32ArrayCtor(arg);
- }
- // node_modules/echarts/lib/layout/barGrid.js
- var STACK_PREFIX = "__ec_stack_";
- function getSeriesStackId(seriesModel) {
- return seriesModel.get("stack") || STACK_PREFIX + seriesModel.seriesIndex;
- }
- function getAxisKey(axis) {
- return axis.dim + axis.index;
- }
- function getLayoutOnAxis(opt) {
- var params = [];
- var baseAxis = opt.axis;
- var axisKey = "axis0";
- if (baseAxis.type !== "category") {
- return;
- }
- var bandWidth = baseAxis.getBandWidth();
- for (var i = 0; i < opt.count || 0; i++) {
- params.push(defaults({
- bandWidth,
- axisKey,
- stackId: STACK_PREFIX + i
- }, opt));
- }
- var widthAndOffsets = doCalBarWidthAndOffset(params);
- var result = [];
- for (var i = 0; i < opt.count; i++) {
- var item = widthAndOffsets[axisKey][STACK_PREFIX + i];
- item.offsetCenter = item.offset + item.width / 2;
- result.push(item);
- }
- return result;
- }
- function prepareLayoutBarSeries(seriesType2, ecModel) {
- var seriesModels = [];
- ecModel.eachSeriesByType(seriesType2, function(seriesModel) {
- if (isOnCartesian(seriesModel)) {
- seriesModels.push(seriesModel);
- }
- });
- return seriesModels;
- }
- function getValueAxesMinGaps(barSeries) {
- var axisValues = {};
- each(barSeries, function(seriesModel) {
- var cartesian = seriesModel.coordinateSystem;
- var baseAxis = cartesian.getBaseAxis();
- if (baseAxis.type !== "time" && baseAxis.type !== "value") {
- return;
- }
- var data = seriesModel.getData();
- var key2 = baseAxis.dim + "_" + baseAxis.index;
- var dimIdx = data.getDimensionIndex(data.mapDimension(baseAxis.dim));
- var store = data.getStore();
- for (var i = 0, cnt = store.count(); i < cnt; ++i) {
- var value = store.get(dimIdx, i);
- if (!axisValues[key2]) {
- axisValues[key2] = [value];
- } else {
- axisValues[key2].push(value);
- }
- }
- });
- var axisMinGaps = {};
- for (var key in axisValues) {
- if (axisValues.hasOwnProperty(key)) {
- var valuesInAxis = axisValues[key];
- if (valuesInAxis) {
- valuesInAxis.sort(function(a, b) {
- return a - b;
- });
- var min2 = null;
- for (var j = 1; j < valuesInAxis.length; ++j) {
- var delta = valuesInAxis[j] - valuesInAxis[j - 1];
- if (delta > 0) {
- min2 = min2 === null ? delta : Math.min(min2, delta);
- }
- }
- axisMinGaps[key] = min2;
- }
- }
- }
- return axisMinGaps;
- }
- function makeColumnLayout(barSeries) {
- var axisMinGaps = getValueAxesMinGaps(barSeries);
- var seriesInfoList = [];
- each(barSeries, function(seriesModel) {
- var cartesian = seriesModel.coordinateSystem;
- var baseAxis = cartesian.getBaseAxis();
- var axisExtent = baseAxis.getExtent();
- var bandWidth;
- if (baseAxis.type === "category") {
- bandWidth = baseAxis.getBandWidth();
- } else if (baseAxis.type === "value" || baseAxis.type === "time") {
- var key = baseAxis.dim + "_" + baseAxis.index;
- var minGap = axisMinGaps[key];
- var extentSpan = Math.abs(axisExtent[1] - axisExtent[0]);
- var scale3 = baseAxis.scale.getExtent();
- var scaleSpan = Math.abs(scale3[1] - scale3[0]);
- bandWidth = minGap ? extentSpan / scaleSpan * minGap : extentSpan;
- } else {
- var data = seriesModel.getData();
- bandWidth = Math.abs(axisExtent[1] - axisExtent[0]) / data.count();
- }
- var barWidth = parsePercent2(seriesModel.get("barWidth"), bandWidth);
- var barMaxWidth = parsePercent2(seriesModel.get("barMaxWidth"), bandWidth);
- var barMinWidth = parsePercent2(
- seriesModel.get("barMinWidth") || (isInLargeMode(seriesModel) ? 0.5 : 1),
- bandWidth
- );
- var barGap = seriesModel.get("barGap");
- var barCategoryGap = seriesModel.get("barCategoryGap");
- seriesInfoList.push({
- bandWidth,
- barWidth,
- barMaxWidth,
- barMinWidth,
- barGap,
- barCategoryGap,
- axisKey: getAxisKey(baseAxis),
- stackId: getSeriesStackId(seriesModel)
- });
- });
- return doCalBarWidthAndOffset(seriesInfoList);
- }
- function doCalBarWidthAndOffset(seriesInfoList) {
- var columnsMap = {};
- each(seriesInfoList, function(seriesInfo, idx) {
- var axisKey = seriesInfo.axisKey;
- var bandWidth = seriesInfo.bandWidth;
- var columnsOnAxis = columnsMap[axisKey] || {
- bandWidth,
- remainedWidth: bandWidth,
- autoWidthCount: 0,
- categoryGap: null,
- gap: "20%",
- stacks: {}
- };
- var stacks = columnsOnAxis.stacks;
- columnsMap[axisKey] = columnsOnAxis;
- var stackId = seriesInfo.stackId;
- if (!stacks[stackId]) {
- columnsOnAxis.autoWidthCount++;
- }
- stacks[stackId] = stacks[stackId] || {
- width: 0,
- maxWidth: 0
- };
- var barWidth = seriesInfo.barWidth;
- if (barWidth && !stacks[stackId].width) {
- stacks[stackId].width = barWidth;
- barWidth = Math.min(columnsOnAxis.remainedWidth, barWidth);
- columnsOnAxis.remainedWidth -= barWidth;
- }
- var barMaxWidth = seriesInfo.barMaxWidth;
- barMaxWidth && (stacks[stackId].maxWidth = barMaxWidth);
- var barMinWidth = seriesInfo.barMinWidth;
- barMinWidth && (stacks[stackId].minWidth = barMinWidth);
- var barGap = seriesInfo.barGap;
- barGap != null && (columnsOnAxis.gap = barGap);
- var barCategoryGap = seriesInfo.barCategoryGap;
- barCategoryGap != null && (columnsOnAxis.categoryGap = barCategoryGap);
- });
- var result = {};
- each(columnsMap, function(columnsOnAxis, coordSysName) {
- result[coordSysName] = {};
- var stacks = columnsOnAxis.stacks;
- var bandWidth = columnsOnAxis.bandWidth;
- var categoryGapPercent = columnsOnAxis.categoryGap;
- if (categoryGapPercent == null) {
- var columnCount = keys(stacks).length;
- categoryGapPercent = Math.max(35 - columnCount * 4, 15) + "%";
- }
- var categoryGap = parsePercent2(categoryGapPercent, bandWidth);
- var barGapPercent = parsePercent2(columnsOnAxis.gap, 1);
- var remainedWidth = columnsOnAxis.remainedWidth;
- var autoWidthCount = columnsOnAxis.autoWidthCount;
- var autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);
- autoWidth = Math.max(autoWidth, 0);
- each(stacks, function(column) {
- var maxWidth = column.maxWidth;
- var minWidth = column.minWidth;
- if (!column.width) {
- var finalWidth = autoWidth;
- if (maxWidth && maxWidth < finalWidth) {
- finalWidth = Math.min(maxWidth, remainedWidth);
- }
- if (minWidth && minWidth > finalWidth) {
- finalWidth = minWidth;
- }
- if (finalWidth !== autoWidth) {
- column.width = finalWidth;
- remainedWidth -= finalWidth + barGapPercent * finalWidth;
- autoWidthCount--;
- }
- } else {
- var finalWidth = column.width;
- if (maxWidth) {
- finalWidth = Math.min(finalWidth, maxWidth);
- }
- if (minWidth) {
- finalWidth = Math.max(finalWidth, minWidth);
- }
- column.width = finalWidth;
- remainedWidth -= finalWidth + barGapPercent * finalWidth;
- autoWidthCount--;
- }
- });
- autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);
- autoWidth = Math.max(autoWidth, 0);
- var widthSum = 0;
- var lastColumn;
- each(stacks, function(column, idx) {
- if (!column.width) {
- column.width = autoWidth;
- }
- lastColumn = column;
- widthSum += column.width * (1 + barGapPercent);
- });
- if (lastColumn) {
- widthSum -= lastColumn.width * barGapPercent;
- }
- var offset = -widthSum / 2;
- each(stacks, function(column, stackId) {
- result[coordSysName][stackId] = result[coordSysName][stackId] || {
- bandWidth,
- offset,
- width: column.width
- };
- offset += column.width * (1 + barGapPercent);
- });
- });
- return result;
- }
- function retrieveColumnLayout(barWidthAndOffset, axis, seriesModel) {
- if (barWidthAndOffset && axis) {
- var result = barWidthAndOffset[getAxisKey(axis)];
- if (result != null && seriesModel != null) {
- return result[getSeriesStackId(seriesModel)];
- }
- return result;
- }
- }
- function layout(seriesType2, ecModel) {
- var seriesModels = prepareLayoutBarSeries(seriesType2, ecModel);
- var barWidthAndOffset = makeColumnLayout(seriesModels);
- each(seriesModels, function(seriesModel) {
- var data = seriesModel.getData();
- var cartesian = seriesModel.coordinateSystem;
- var baseAxis = cartesian.getBaseAxis();
- var stackId = getSeriesStackId(seriesModel);
- var columnLayoutInfo = barWidthAndOffset[getAxisKey(baseAxis)][stackId];
- var columnOffset = columnLayoutInfo.offset;
- var columnWidth = columnLayoutInfo.width;
- data.setLayout({
- bandWidth: columnLayoutInfo.bandWidth,
- offset: columnOffset,
- size: columnWidth
- });
- });
- }
- function createProgressiveLayout(seriesType2) {
- return {
- seriesType: seriesType2,
- plan: createRenderPlanner(),
- reset: function(seriesModel) {
- if (!isOnCartesian(seriesModel)) {
- return;
- }
- var data = seriesModel.getData();
- var cartesian = seriesModel.coordinateSystem;
- var baseAxis = cartesian.getBaseAxis();
- var valueAxis = cartesian.getOtherAxis(baseAxis);
- var valueDimIdx = data.getDimensionIndex(data.mapDimension(valueAxis.dim));
- var baseDimIdx = data.getDimensionIndex(data.mapDimension(baseAxis.dim));
- var drawBackground = seriesModel.get("showBackground", true);
- var valueDim = data.mapDimension(valueAxis.dim);
- var stackResultDim = data.getCalculationInfo("stackResultDimension");
- var stacked = isDimensionStacked(data, valueDim) && !!data.getCalculationInfo("stackedOnSeries");
- var isValueAxisH = valueAxis.isHorizontal();
- var valueAxisStart = getValueAxisStart(baseAxis, valueAxis);
- var isLarge = isInLargeMode(seriesModel);
- var barMinHeight = seriesModel.get("barMinHeight") || 0;
- var stackedDimIdx = stackResultDim && data.getDimensionIndex(stackResultDim);
- var columnWidth = data.getLayout("size");
- var columnOffset = data.getLayout("offset");
- return {
- progress: function(params, data2) {
- var count = params.count;
- var largePoints = isLarge && createFloat32Array(count * 3);
- var largeBackgroundPoints = isLarge && drawBackground && createFloat32Array(count * 3);
- var largeDataIndices = isLarge && createFloat32Array(count);
- var coordLayout = cartesian.master.getRect();
- var bgSize = isValueAxisH ? coordLayout.width : coordLayout.height;
- var dataIndex;
- var store = data2.getStore();
- var idxOffset = 0;
- while ((dataIndex = params.next()) != null) {
- var value = store.get(stacked ? stackedDimIdx : valueDimIdx, dataIndex);
- var baseValue = store.get(baseDimIdx, dataIndex);
- var baseCoord = valueAxisStart;
- var startValue = void 0;
- if (stacked) {
- startValue = +value - store.get(valueDimIdx, dataIndex);
- }
- var x = void 0;
- var y = void 0;
- var width = void 0;
- var height = void 0;
- if (isValueAxisH) {
- var coord = cartesian.dataToPoint([value, baseValue]);
- if (stacked) {
- var startCoord = cartesian.dataToPoint([startValue, baseValue]);
- baseCoord = startCoord[0];
- }
- x = baseCoord;
- y = coord[1] + columnOffset;
- width = coord[0] - baseCoord;
- height = columnWidth;
- if (Math.abs(width) < barMinHeight) {
- width = (width < 0 ? -1 : 1) * barMinHeight;
- }
- } else {
- var coord = cartesian.dataToPoint([baseValue, value]);
- if (stacked) {
- var startCoord = cartesian.dataToPoint([baseValue, startValue]);
- baseCoord = startCoord[1];
- }
- x = coord[0] + columnOffset;
- y = baseCoord;
- width = columnWidth;
- height = coord[1] - baseCoord;
- if (Math.abs(height) < barMinHeight) {
- height = (height <= 0 ? -1 : 1) * barMinHeight;
- }
- }
- if (!isLarge) {
- data2.setItemLayout(dataIndex, {
- x,
- y,
- width,
- height
- });
- } else {
- largePoints[idxOffset] = x;
- largePoints[idxOffset + 1] = y;
- largePoints[idxOffset + 2] = isValueAxisH ? width : height;
- if (largeBackgroundPoints) {
- largeBackgroundPoints[idxOffset] = isValueAxisH ? coordLayout.x : x;
- largeBackgroundPoints[idxOffset + 1] = isValueAxisH ? y : coordLayout.y;
- largeBackgroundPoints[idxOffset + 2] = bgSize;
- }
- largeDataIndices[dataIndex] = dataIndex;
- }
- idxOffset += 3;
- }
- if (isLarge) {
- data2.setLayout({
- largePoints,
- largeDataIndices,
- largeBackgroundPoints,
- valueAxisHorizontal: isValueAxisH
- });
- }
- }
- };
- }
- };
- }
- function isOnCartesian(seriesModel) {
- return seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === "cartesian2d";
- }
- function isInLargeMode(seriesModel) {
- return seriesModel.pipelineContext && seriesModel.pipelineContext.large;
- }
- function getValueAxisStart(baseAxis, valueAxis) {
- return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === "log" ? 1 : 0));
- }
- // node_modules/echarts/lib/scale/Time.js
- init_define_APP_INFO();
- var bisect = function(a, x, lo, hi) {
- while (lo < hi) {
- var mid = lo + hi >>> 1;
- if (a[mid][1] < x) {
- lo = mid + 1;
- } else {
- hi = mid;
- }
- }
- return lo;
- };
- var TimeScale = function(_super) {
- __extends2(TimeScale2, _super);
- function TimeScale2(settings) {
- var _this = _super.call(this, settings) || this;
- _this.type = "time";
- return _this;
- }
- TimeScale2.prototype.getLabel = function(tick) {
- var useUTC = this.getSetting("useUTC");
- return format(tick.value, fullLeveledFormatter[getDefaultFormatPrecisionOfInterval(getPrimaryTimeUnit(this._minLevelUnit))] || fullLeveledFormatter.second, useUTC, this.getSetting("locale"));
- };
- TimeScale2.prototype.getFormattedLabel = function(tick, idx, labelFormatter) {
- var isUTC = this.getSetting("useUTC");
- var lang = this.getSetting("locale");
- return leveledFormat(tick, idx, labelFormatter, lang, isUTC);
- };
- TimeScale2.prototype.getTicks = function() {
- var interval = this._interval;
- var extent3 = this._extent;
- var ticks = [];
- if (!interval) {
- return ticks;
- }
- ticks.push({
- value: extent3[0],
- level: 0
- });
- var useUTC = this.getSetting("useUTC");
- var innerTicks = getIntervalTicks(this._minLevelUnit, this._approxInterval, useUTC, extent3);
- ticks = ticks.concat(innerTicks);
- ticks.push({
- value: extent3[1],
- level: 0
- });
- return ticks;
- };
- TimeScale2.prototype.calcNiceExtent = function(opt) {
- var extent3 = this._extent;
- if (extent3[0] === extent3[1]) {
- extent3[0] -= ONE_DAY;
- extent3[1] += ONE_DAY;
- }
- if (extent3[1] === -Infinity && extent3[0] === Infinity) {
- var d = new Date();
- extent3[1] = +new Date(d.getFullYear(), d.getMonth(), d.getDate());
- extent3[0] = extent3[1] - ONE_DAY;
- }
- this.calcNiceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval);
- };
- TimeScale2.prototype.calcNiceTicks = function(approxTickNum, minInterval, maxInterval) {
- approxTickNum = approxTickNum || 10;
- var extent3 = this._extent;
- var span = extent3[1] - extent3[0];
- this._approxInterval = span / approxTickNum;
- if (minInterval != null && this._approxInterval < minInterval) {
- this._approxInterval = minInterval;
- }
- if (maxInterval != null && this._approxInterval > maxInterval) {
- this._approxInterval = maxInterval;
- }
- var scaleIntervalsLen = scaleIntervals.length;
- var idx = Math.min(bisect(scaleIntervals, this._approxInterval, 0, scaleIntervalsLen), scaleIntervalsLen - 1);
- this._interval = scaleIntervals[idx][1];
- this._minLevelUnit = scaleIntervals[Math.max(idx - 1, 0)][0];
- };
- TimeScale2.prototype.parse = function(val) {
- return isNumber(val) ? val : +parseDate(val);
- };
- TimeScale2.prototype.contain = function(val) {
- return contain(this.parse(val), this._extent);
- };
- TimeScale2.prototype.normalize = function(val) {
- return normalize2(this.parse(val), this._extent);
- };
- TimeScale2.prototype.scale = function(val) {
- return scale2(val, this._extent);
- };
- TimeScale2.type = "time";
- return TimeScale2;
- }(Interval_default);
- var scaleIntervals = [
- ["second", ONE_SECOND],
- ["minute", ONE_MINUTE],
- ["hour", ONE_HOUR],
- ["quarter-day", ONE_HOUR * 6],
- ["half-day", ONE_HOUR * 12],
- ["day", ONE_DAY * 1.2],
- ["half-week", ONE_DAY * 3.5],
- ["week", ONE_DAY * 7],
- ["month", ONE_DAY * 31],
- ["quarter", ONE_DAY * 95],
- ["half-year", ONE_YEAR / 2],
- ["year", ONE_YEAR]
- ];
- function isUnitValueSame(unit, valueA, valueB, isUTC) {
- var dateA = parseDate(valueA);
- var dateB = parseDate(valueB);
- var isSame = function(unit2) {
- return getUnitValue(dateA, unit2, isUTC) === getUnitValue(dateB, unit2, isUTC);
- };
- var isSameYear = function() {
- return isSame("year");
- };
- var isSameMonth = function() {
- return isSameYear() && isSame("month");
- };
- var isSameDay = function() {
- return isSameMonth() && isSame("day");
- };
- var isSameHour = function() {
- return isSameDay() && isSame("hour");
- };
- var isSameMinute = function() {
- return isSameHour() && isSame("minute");
- };
- var isSameSecond = function() {
- return isSameMinute() && isSame("second");
- };
- var isSameMilliSecond = function() {
- return isSameSecond() && isSame("millisecond");
- };
- switch (unit) {
- case "year":
- return isSameYear();
- case "month":
- return isSameMonth();
- case "day":
- return isSameDay();
- case "hour":
- return isSameHour();
- case "minute":
- return isSameMinute();
- case "second":
- return isSameSecond();
- case "millisecond":
- return isSameMilliSecond();
- }
- }
- function getDateInterval(approxInterval, daysInMonth) {
- approxInterval /= ONE_DAY;
- return approxInterval > 16 ? 16 : approxInterval > 7.5 ? 7 : approxInterval > 3.5 ? 4 : approxInterval > 1.5 ? 2 : 1;
- }
- function getMonthInterval(approxInterval) {
- var APPROX_ONE_MONTH = 30 * ONE_DAY;
- approxInterval /= APPROX_ONE_MONTH;
- return approxInterval > 6 ? 6 : approxInterval > 3 ? 3 : approxInterval > 2 ? 2 : 1;
- }
- function getHourInterval(approxInterval) {
- approxInterval /= ONE_HOUR;
- return approxInterval > 12 ? 12 : approxInterval > 6 ? 6 : approxInterval > 3.5 ? 4 : approxInterval > 2 ? 2 : 1;
- }
- function getMinutesAndSecondsInterval(approxInterval, isMinutes) {
- approxInterval /= isMinutes ? ONE_MINUTE : ONE_SECOND;
- return approxInterval > 30 ? 30 : approxInterval > 20 ? 20 : approxInterval > 15 ? 15 : approxInterval > 10 ? 10 : approxInterval > 5 ? 5 : approxInterval > 2 ? 2 : 1;
- }
- function getMillisecondsInterval(approxInterval) {
- return nice(approxInterval, true);
- }
- function getFirstTimestampOfUnit(date, unitName, isUTC) {
- var outDate = new Date(date);
- switch (getPrimaryTimeUnit(unitName)) {
- case "year":
- case "month":
- outDate[monthSetterName(isUTC)](0);
- case "day":
- outDate[dateSetterName(isUTC)](1);
- case "hour":
- outDate[hoursSetterName(isUTC)](0);
- case "minute":
- outDate[minutesSetterName(isUTC)](0);
- case "second":
- outDate[secondsSetterName(isUTC)](0);
- outDate[millisecondsSetterName(isUTC)](0);
- }
- return outDate.getTime();
- }
- function getIntervalTicks(bottomUnitName, approxInterval, isUTC, extent3) {
- var safeLimit = 1e4;
- var unitNames = timeUnits;
- var iter = 0;
- function addTicksInSpan(interval, minTimestamp, maxTimestamp, getMethodName, setMethodName, isDate, out2) {
- var date = new Date(minTimestamp);
- var dateTime = minTimestamp;
- var d = date[getMethodName]();
- while (dateTime < maxTimestamp && dateTime <= extent3[1]) {
- out2.push({
- value: dateTime
- });
- d += interval;
- date[setMethodName](d);
- dateTime = date.getTime();
- }
- out2.push({
- value: dateTime,
- notAdd: true
- });
- }
- function addLevelTicks(unitName, lastLevelTicks, levelTicks2) {
- var newAddedTicks = [];
- var isFirstLevel = !lastLevelTicks.length;
- if (isUnitValueSame(getPrimaryTimeUnit(unitName), extent3[0], extent3[1], isUTC)) {
- return;
- }
- if (isFirstLevel) {
- lastLevelTicks = [{
- value: getFirstTimestampOfUnit(new Date(extent3[0]), unitName, isUTC)
- }, {
- value: extent3[1]
- }];
- }
- for (var i2 = 0; i2 < lastLevelTicks.length - 1; i2++) {
- var startTick = lastLevelTicks[i2].value;
- var endTick = lastLevelTicks[i2 + 1].value;
- if (startTick === endTick) {
- continue;
- }
- var interval = void 0;
- var getterName = void 0;
- var setterName = void 0;
- var isDate = false;
- switch (unitName) {
- case "year":
- interval = Math.max(1, Math.round(approxInterval / ONE_DAY / 365));
- getterName = fullYearGetterName(isUTC);
- setterName = fullYearSetterName(isUTC);
- break;
- case "half-year":
- case "quarter":
- case "month":
- interval = getMonthInterval(approxInterval);
- getterName = monthGetterName(isUTC);
- setterName = monthSetterName(isUTC);
- break;
- case "week":
- case "half-week":
- case "day":
- interval = getDateInterval(approxInterval, 31);
- getterName = dateGetterName(isUTC);
- setterName = dateSetterName(isUTC);
- isDate = true;
- break;
- case "half-day":
- case "quarter-day":
- case "hour":
- interval = getHourInterval(approxInterval);
- getterName = hoursGetterName(isUTC);
- setterName = hoursSetterName(isUTC);
- break;
- case "minute":
- interval = getMinutesAndSecondsInterval(approxInterval, true);
- getterName = minutesGetterName(isUTC);
- setterName = minutesSetterName(isUTC);
- break;
- case "second":
- interval = getMinutesAndSecondsInterval(approxInterval, false);
- getterName = secondsGetterName(isUTC);
- setterName = secondsSetterName(isUTC);
- break;
- case "millisecond":
- interval = getMillisecondsInterval(approxInterval);
- getterName = millisecondsGetterName(isUTC);
- setterName = millisecondsSetterName(isUTC);
- break;
- }
- addTicksInSpan(interval, startTick, endTick, getterName, setterName, isDate, newAddedTicks);
- if (unitName === "year" && levelTicks2.length > 1 && i2 === 0) {
- levelTicks2.unshift({
- value: levelTicks2[0].value - interval
- });
- }
- }
- for (var i2 = 0; i2 < newAddedTicks.length; i2++) {
- levelTicks2.push(newAddedTicks[i2]);
- }
- return newAddedTicks;
- }
- var levelsTicks = [];
- var currentLevelTicks = [];
- var tickCount = 0;
- var lastLevelTickCount = 0;
- for (var i = 0; i < unitNames.length && iter++ < safeLimit; ++i) {
- var primaryTimeUnit = getPrimaryTimeUnit(unitNames[i]);
- if (!isPrimaryTimeUnit(unitNames[i])) {
- continue;
- }
- addLevelTicks(unitNames[i], levelsTicks[levelsTicks.length - 1] || [], currentLevelTicks);
- var nextPrimaryTimeUnit = unitNames[i + 1] ? getPrimaryTimeUnit(unitNames[i + 1]) : null;
- if (primaryTimeUnit !== nextPrimaryTimeUnit) {
- if (currentLevelTicks.length) {
- lastLevelTickCount = tickCount;
- currentLevelTicks.sort(function(a, b) {
- return a.value - b.value;
- });
- var levelTicksRemoveDuplicated = [];
- for (var i_1 = 0; i_1 < currentLevelTicks.length; ++i_1) {
- var tickValue = currentLevelTicks[i_1].value;
- if (i_1 === 0 || currentLevelTicks[i_1 - 1].value !== tickValue) {
- levelTicksRemoveDuplicated.push(currentLevelTicks[i_1]);
- if (tickValue >= extent3[0] && tickValue <= extent3[1]) {
- tickCount++;
- }
- }
- }
- var targetTickNum = (extent3[1] - extent3[0]) / approxInterval;
- if (tickCount > targetTickNum * 1.5 && lastLevelTickCount > targetTickNum / 1.5) {
- break;
- }
- levelsTicks.push(levelTicksRemoveDuplicated);
- if (tickCount > targetTickNum || bottomUnitName === unitNames[i]) {
- break;
- }
- }
- currentLevelTicks = [];
- }
- }
- if (true) {
- if (iter >= safeLimit) {
- warn("Exceed safe limit.");
- }
- }
- var levelsTicksInExtent = filter(map(levelsTicks, function(levelTicks2) {
- return filter(levelTicks2, function(tick) {
- return tick.value >= extent3[0] && tick.value <= extent3[1] && !tick.notAdd;
- });
- }), function(levelTicks2) {
- return levelTicks2.length > 0;
- });
- var ticks = [];
- var maxLevel = levelsTicksInExtent.length - 1;
- for (var i = 0; i < levelsTicksInExtent.length; ++i) {
- var levelTicks = levelsTicksInExtent[i];
- for (var k = 0; k < levelTicks.length; ++k) {
- ticks.push({
- value: levelTicks[k].value,
- level: maxLevel - i
- });
- }
- }
- ticks.sort(function(a, b) {
- return a.value - b.value;
- });
- var result = [];
- for (var i = 0; i < ticks.length; ++i) {
- if (i === 0 || ticks[i].value !== ticks[i - 1].value) {
- result.push(ticks[i]);
- }
- }
- return result;
- }
- Scale_default.registerClass(TimeScale);
- var Time_default = TimeScale;
- // node_modules/echarts/lib/scale/Log.js
- init_define_APP_INFO();
- var scaleProto = Scale_default.prototype;
- var intervalScaleProto = Interval_default.prototype;
- var roundingErrorFix = round;
- var mathFloor = Math.floor;
- var mathCeil = Math.ceil;
- var mathPow = Math.pow;
- var mathLog = Math.log;
- var LogScale = function(_super) {
- __extends2(LogScale2, _super);
- function LogScale2() {
- var _this = _super !== null && _super.apply(this, arguments) || this;
- _this.type = "log";
- _this.base = 10;
- _this._originalScale = new Interval_default();
- _this._interval = 0;
- return _this;
- }
- LogScale2.prototype.getTicks = function(expandToNicedExtent) {
- var originalScale = this._originalScale;
- var extent3 = this._extent;
- var originalExtent = originalScale.getExtent();
- var ticks = intervalScaleProto.getTicks.call(this, expandToNicedExtent);
- return map(ticks, function(tick) {
- var val = tick.value;
- var powVal = round(mathPow(this.base, val));
- powVal = val === extent3[0] && this._fixMin ? fixRoundingError(powVal, originalExtent[0]) : powVal;
- powVal = val === extent3[1] && this._fixMax ? fixRoundingError(powVal, originalExtent[1]) : powVal;
- return {
- value: powVal
- };
- }, this);
- };
- LogScale2.prototype.setExtent = function(start, end) {
- var base2 = this.base;
- start = mathLog(start) / mathLog(base2);
- end = mathLog(end) / mathLog(base2);
- intervalScaleProto.setExtent.call(this, start, end);
- };
- LogScale2.prototype.getExtent = function() {
- var base2 = this.base;
- var extent3 = scaleProto.getExtent.call(this);
- extent3[0] = mathPow(base2, extent3[0]);
- extent3[1] = mathPow(base2, extent3[1]);
- var originalScale = this._originalScale;
- var originalExtent = originalScale.getExtent();
- this._fixMin && (extent3[0] = fixRoundingError(extent3[0], originalExtent[0]));
- this._fixMax && (extent3[1] = fixRoundingError(extent3[1], originalExtent[1]));
- return extent3;
- };
- LogScale2.prototype.unionExtent = function(extent3) {
- this._originalScale.unionExtent(extent3);
- var base2 = this.base;
- extent3[0] = mathLog(extent3[0]) / mathLog(base2);
- extent3[1] = mathLog(extent3[1]) / mathLog(base2);
- scaleProto.unionExtent.call(this, extent3);
- };
- LogScale2.prototype.unionExtentFromData = function(data, dim) {
- this.unionExtent(data.getApproximateExtent(dim));
- };
- LogScale2.prototype.calcNiceTicks = function(approxTickNum) {
- approxTickNum = approxTickNum || 10;
- var extent3 = this._extent;
- var span = extent3[1] - extent3[0];
- if (span === Infinity || span <= 0) {
- return;
- }
- var interval = quantity(span);
- var err = approxTickNum / span * interval;
- if (err <= 0.5) {
- interval *= 10;
- }
- while (!isNaN(interval) && Math.abs(interval) < 1 && Math.abs(interval) > 0) {
- interval *= 10;
- }
- var niceExtent = [round(mathCeil(extent3[0] / interval) * interval), round(mathFloor(extent3[1] / interval) * interval)];
- this._interval = interval;
- this._niceExtent = niceExtent;
- };
- LogScale2.prototype.calcNiceExtent = function(opt) {
- intervalScaleProto.calcNiceExtent.call(this, opt);
- this._fixMin = opt.fixMin;
- this._fixMax = opt.fixMax;
- };
- LogScale2.prototype.parse = function(val) {
- return val;
- };
- LogScale2.prototype.contain = function(val) {
- val = mathLog(val) / mathLog(this.base);
- return contain(val, this._extent);
- };
- LogScale2.prototype.normalize = function(val) {
- val = mathLog(val) / mathLog(this.base);
- return normalize2(val, this._extent);
- };
- LogScale2.prototype.scale = function(val) {
- val = scale2(val, this._extent);
- return mathPow(this.base, val);
- };
- LogScale2.type = "log";
- return LogScale2;
- }(Scale_default);
- var proto = LogScale.prototype;
- proto.getMinorTicks = intervalScaleProto.getMinorTicks;
- proto.getLabel = intervalScaleProto.getLabel;
- function fixRoundingError(val, originalVal) {
- return roundingErrorFix(val, getPrecision(originalVal));
- }
- Scale_default.registerClass(LogScale);
- var Log_default = LogScale;
- // node_modules/echarts/lib/coord/scaleRawExtentInfo.js
- init_define_APP_INFO();
- var ScaleRawExtentInfo = function() {
- function ScaleRawExtentInfo2(scale3, model, originalExtent) {
- this._prepareParams(scale3, model, originalExtent);
- }
- ScaleRawExtentInfo2.prototype._prepareParams = function(scale3, model, dataExtent) {
- if (dataExtent[1] < dataExtent[0]) {
- dataExtent = [NaN, NaN];
- }
- this._dataMin = dataExtent[0];
- this._dataMax = dataExtent[1];
- var isOrdinal = this._isOrdinal = scale3.type === "ordinal";
- this._needCrossZero = scale3.type === "interval" && model.getNeedCrossZero && model.getNeedCrossZero();
- var modelMinRaw = this._modelMinRaw = model.get("min", true);
- if (isFunction(modelMinRaw)) {
- this._modelMinNum = parseAxisModelMinMax(scale3, modelMinRaw({
- min: dataExtent[0],
- max: dataExtent[1]
- }));
- } else if (modelMinRaw !== "dataMin") {
- this._modelMinNum = parseAxisModelMinMax(scale3, modelMinRaw);
- }
- var modelMaxRaw = this._modelMaxRaw = model.get("max", true);
- if (isFunction(modelMaxRaw)) {
- this._modelMaxNum = parseAxisModelMinMax(scale3, modelMaxRaw({
- min: dataExtent[0],
- max: dataExtent[1]
- }));
- } else if (modelMaxRaw !== "dataMax") {
- this._modelMaxNum = parseAxisModelMinMax(scale3, modelMaxRaw);
- }
- if (isOrdinal) {
- this._axisDataLen = model.getCategories().length;
- } else {
- var boundaryGap = model.get("boundaryGap");
- var boundaryGapArr = isArray(boundaryGap) ? boundaryGap : [boundaryGap || 0, boundaryGap || 0];
- if (typeof boundaryGapArr[0] === "boolean" || typeof boundaryGapArr[1] === "boolean") {
- if (true) {
- 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.');
- }
- this._boundaryGapInner = [0, 0];
- } else {
- this._boundaryGapInner = [parsePercent(boundaryGapArr[0], 1), parsePercent(boundaryGapArr[1], 1)];
- }
- }
- };
- ScaleRawExtentInfo2.prototype.calculate = function() {
- var isOrdinal = this._isOrdinal;
- var dataMin = this._dataMin;
- var dataMax = this._dataMax;
- var axisDataLen = this._axisDataLen;
- var boundaryGapInner = this._boundaryGapInner;
- var span = !isOrdinal ? dataMax - dataMin || Math.abs(dataMin) : null;
- var min2 = this._modelMinRaw === "dataMin" ? dataMin : this._modelMinNum;
- var max2 = this._modelMaxRaw === "dataMax" ? dataMax : this._modelMaxNum;
- var minFixed = min2 != null;
- var maxFixed = max2 != null;
- if (min2 == null) {
- min2 = isOrdinal ? axisDataLen ? 0 : NaN : dataMin - boundaryGapInner[0] * span;
- }
- if (max2 == null) {
- max2 = isOrdinal ? axisDataLen ? axisDataLen - 1 : NaN : dataMax + boundaryGapInner[1] * span;
- }
- (min2 == null || !isFinite(min2)) && (min2 = NaN);
- (max2 == null || !isFinite(max2)) && (max2 = NaN);
- var isBlank = eqNaN(min2) || eqNaN(max2) || isOrdinal && !axisDataLen;
- if (this._needCrossZero) {
- if (min2 > 0 && max2 > 0 && !minFixed) {
- min2 = 0;
- }
- if (min2 < 0 && max2 < 0 && !maxFixed) {
- max2 = 0;
- }
- }
- var determinedMin = this._determinedMin;
- var determinedMax = this._determinedMax;
- if (determinedMin != null) {
- min2 = determinedMin;
- minFixed = true;
- }
- if (determinedMax != null) {
- max2 = determinedMax;
- maxFixed = true;
- }
- return {
- min: min2,
- max: max2,
- minFixed,
- maxFixed,
- isBlank
- };
- };
- ScaleRawExtentInfo2.prototype.modifyDataMinMax = function(minMaxName, val) {
- if (true) {
- assert(!this.frozen);
- }
- this[DATA_MIN_MAX_ATTR[minMaxName]] = val;
- };
- ScaleRawExtentInfo2.prototype.setDeterminedMinMax = function(minMaxName, val) {
- var attr = DETERMINED_MIN_MAX_ATTR[minMaxName];
- if (true) {
- assert(!this.frozen && this[attr] == null);
- }
- this[attr] = val;
- };
- ScaleRawExtentInfo2.prototype.freeze = function() {
- this.frozen = true;
- };
- return ScaleRawExtentInfo2;
- }();
- var DETERMINED_MIN_MAX_ATTR = {
- min: "_determinedMin",
- max: "_determinedMax"
- };
- var DATA_MIN_MAX_ATTR = {
- min: "_dataMin",
- max: "_dataMax"
- };
- function ensureScaleRawExtentInfo(scale3, model, originalExtent) {
- var rawExtentInfo = scale3.rawExtentInfo;
- if (rawExtentInfo) {
- return rawExtentInfo;
- }
- rawExtentInfo = new ScaleRawExtentInfo(scale3, model, originalExtent);
- scale3.rawExtentInfo = rawExtentInfo;
- return rawExtentInfo;
- }
- function parseAxisModelMinMax(scale3, minMax) {
- return minMax == null ? null : eqNaN(minMax) ? NaN : scale3.parse(minMax);
- }
- // node_modules/echarts/lib/coord/axisHelper.js
- function getScaleExtent(scale3, model) {
- var scaleType = scale3.type;
- var rawExtentResult = ensureScaleRawExtentInfo(scale3, model, scale3.getExtent()).calculate();
- scale3.setBlank(rawExtentResult.isBlank);
- var min2 = rawExtentResult.min;
- var max2 = rawExtentResult.max;
- var ecModel = model.ecModel;
- if (ecModel && scaleType === "time") {
- var barSeriesModels = prepareLayoutBarSeries("bar", ecModel);
- var isBaseAxisAndHasBarSeries_1 = false;
- each(barSeriesModels, function(seriesModel) {
- isBaseAxisAndHasBarSeries_1 = isBaseAxisAndHasBarSeries_1 || seriesModel.getBaseAxis() === model.axis;
- });
- if (isBaseAxisAndHasBarSeries_1) {
- var barWidthAndOffset = makeColumnLayout(barSeriesModels);
- var adjustedScale = adjustScaleForOverflow(min2, max2, model, barWidthAndOffset);
- min2 = adjustedScale.min;
- max2 = adjustedScale.max;
- }
- }
- return {
- extent: [min2, max2],
- fixMin: rawExtentResult.minFixed,
- fixMax: rawExtentResult.maxFixed
- };
- }
- function adjustScaleForOverflow(min2, max2, model, barWidthAndOffset) {
- var axisExtent = model.axis.getExtent();
- var axisLength = axisExtent[1] - axisExtent[0];
- var barsOnCurrentAxis = retrieveColumnLayout(barWidthAndOffset, model.axis);
- if (barsOnCurrentAxis === void 0) {
- return {
- min: min2,
- max: max2
- };
- }
- var minOverflow = Infinity;
- each(barsOnCurrentAxis, function(item) {
- minOverflow = Math.min(item.offset, minOverflow);
- });
- var maxOverflow = -Infinity;
- each(barsOnCurrentAxis, function(item) {
- maxOverflow = Math.max(item.offset + item.width, maxOverflow);
- });
- minOverflow = Math.abs(minOverflow);
- maxOverflow = Math.abs(maxOverflow);
- var totalOverFlow = minOverflow + maxOverflow;
- var oldRange = max2 - min2;
- var oldRangePercentOfNew = 1 - (minOverflow + maxOverflow) / axisLength;
- var overflowBuffer = oldRange / oldRangePercentOfNew - oldRange;
- max2 += overflowBuffer * (maxOverflow / totalOverFlow);
- min2 -= overflowBuffer * (minOverflow / totalOverFlow);
- return {
- min: min2,
- max: max2
- };
- }
- function niceScaleExtent(scale3, inModel) {
- var model = inModel;
- var extentInfo = getScaleExtent(scale3, model);
- var extent3 = extentInfo.extent;
- var splitNumber = model.get("splitNumber");
- if (scale3 instanceof Log_default) {
- scale3.base = model.get("logBase");
- }
- var scaleType = scale3.type;
- var interval = model.get("interval");
- var isIntervalOrTime = scaleType === "interval" || scaleType === "time";
- scale3.setExtent(extent3[0], extent3[1]);
- scale3.calcNiceExtent({
- splitNumber,
- fixMin: extentInfo.fixMin,
- fixMax: extentInfo.fixMax,
- minInterval: isIntervalOrTime ? model.get("minInterval") : null,
- maxInterval: isIntervalOrTime ? model.get("maxInterval") : null
- });
- if (interval != null) {
- scale3.setInterval && scale3.setInterval(interval);
- }
- }
- function createScaleByModel(model, axisType) {
- axisType = axisType || model.get("type");
- if (axisType) {
- switch (axisType) {
- case "category":
- return new Ordinal_default({
- ordinalMeta: model.getOrdinalMeta ? model.getOrdinalMeta() : model.getCategories(),
- extent: [Infinity, -Infinity]
- });
- case "time":
- return new Time_default({
- locale: model.ecModel.getLocaleModel(),
- useUTC: model.ecModel.get("useUTC")
- });
- default:
- return new (Scale_default.getClass(axisType) || Interval_default)();
- }
- }
- }
- function ifAxisCrossZero(axis) {
- var dataExtent = axis.scale.getExtent();
- var min2 = dataExtent[0];
- var max2 = dataExtent[1];
- return !(min2 > 0 && max2 > 0 || min2 < 0 && max2 < 0);
- }
- function makeLabelFormatter(axis) {
- var labelFormatter = axis.getLabelModel().get("formatter");
- var categoryTickStart = axis.type === "category" ? axis.scale.getExtent()[0] : null;
- if (axis.scale.type === "time") {
- return function(tpl) {
- return function(tick, idx) {
- return axis.scale.getFormattedLabel(tick, idx, tpl);
- };
- }(labelFormatter);
- } else if (isString(labelFormatter)) {
- return function(tpl) {
- return function(tick) {
- var label = axis.scale.getLabel(tick);
- var text = tpl.replace("{value}", label != null ? label : "");
- return text;
- };
- }(labelFormatter);
- } else if (isFunction(labelFormatter)) {
- return function(cb) {
- return function(tick, idx) {
- if (categoryTickStart != null) {
- idx = tick.value - categoryTickStart;
- }
- return cb(getAxisRawValue(axis, tick), idx, tick.level != null ? {
- level: tick.level
- } : null);
- };
- }(labelFormatter);
- } else {
- return function(tick) {
- return axis.scale.getLabel(tick);
- };
- }
- }
- function getAxisRawValue(axis, tick) {
- return axis.type === "category" ? axis.scale.getLabel(tick) : tick.value;
- }
- function estimateLabelUnionRect(axis) {
- var axisModel = axis.model;
- var scale3 = axis.scale;
- if (!axisModel.get(["axisLabel", "show"]) || scale3.isBlank()) {
- return;
- }
- var realNumberScaleTicks;
- var tickCount;
- var categoryScaleExtent = scale3.getExtent();
- if (scale3 instanceof Ordinal_default) {
- tickCount = scale3.count();
- } else {
- realNumberScaleTicks = scale3.getTicks();
- tickCount = realNumberScaleTicks.length;
- }
- var axisLabelModel = axis.getLabelModel();
- var labelFormatter = makeLabelFormatter(axis);
- var rect;
- var step = 1;
- if (tickCount > 40) {
- step = Math.ceil(tickCount / 40);
- }
- for (var i = 0; i < tickCount; i += step) {
- var tick = realNumberScaleTicks ? realNumberScaleTicks[i] : {
- value: categoryScaleExtent[0] + i
- };
- var label = labelFormatter(tick, i);
- var unrotatedSingleRect = axisLabelModel.getTextRect(label);
- var singleRect = rotateTextRect(unrotatedSingleRect, axisLabelModel.get("rotate") || 0);
- rect ? rect.union(singleRect) : rect = singleRect;
- }
- return rect;
- }
- function rotateTextRect(textRect, rotate) {
- var rotateRadians = rotate * Math.PI / 180;
- var beforeWidth = textRect.width;
- var beforeHeight = textRect.height;
- var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians)) + Math.abs(beforeHeight * Math.sin(rotateRadians));
- var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians)) + Math.abs(beforeHeight * Math.cos(rotateRadians));
- var rotatedRect = new BoundingRect_default(textRect.x, textRect.y, afterWidth, afterHeight);
- return rotatedRect;
- }
- function getOptionCategoryInterval(model) {
- var interval = model.get("interval");
- return interval == null ? "auto" : interval;
- }
- function shouldShowAllLabels(axis) {
- return axis.type === "category" && getOptionCategoryInterval(axis.getLabelModel()) === 0;
- }
- function getDataDimensionsOnAxis(data, axisDim) {
- var dataDimMap = {};
- each(data.mapDimensionsAll(axisDim), function(dataDim) {
- dataDimMap[getStackedDimension(data, dataDim)] = true;
- });
- return keys(dataDimMap);
- }
- function unionAxisExtentFromData(dataExtent, data, axisDim) {
- if (data) {
- each(getDataDimensionsOnAxis(data, axisDim), function(dim) {
- var seriesExtent = data.getApproximateExtent(dim);
- seriesExtent[0] < dataExtent[0] && (dataExtent[0] = seriesExtent[0]);
- seriesExtent[1] > dataExtent[1] && (dataExtent[1] = seriesExtent[1]);
- });
- }
- }
- // node_modules/echarts/lib/coord/axisTickLabelBuilder.js
- var inner6 = makeInner();
- function createAxisLabels(axis) {
- return axis.type === "category" ? makeCategoryLabels(axis) : makeRealNumberLabels(axis);
- }
- function createAxisTicks(axis, tickModel) {
- return axis.type === "category" ? makeCategoryTicks(axis, tickModel) : {
- ticks: map(axis.scale.getTicks(), function(tick) {
- return tick.value;
- })
- };
- }
- function makeCategoryLabels(axis) {
- var labelModel = axis.getLabelModel();
- var result = makeCategoryLabelsActually(axis, labelModel);
- return !labelModel.get("show") || axis.scale.isBlank() ? {
- labels: [],
- labelCategoryInterval: result.labelCategoryInterval
- } : result;
- }
- function makeCategoryLabelsActually(axis, labelModel) {
- var labelsCache = getListCache(axis, "labels");
- var optionLabelInterval = getOptionCategoryInterval(labelModel);
- var result = listCacheGet(labelsCache, optionLabelInterval);
- if (result) {
- return result;
- }
- var labels;
- var numericLabelInterval;
- if (isFunction(optionLabelInterval)) {
- labels = makeLabelsByCustomizedCategoryInterval(axis, optionLabelInterval);
- } else {
- numericLabelInterval = optionLabelInterval === "auto" ? makeAutoCategoryInterval(axis) : optionLabelInterval;
- labels = makeLabelsByNumericCategoryInterval(axis, numericLabelInterval);
- }
- return listCacheSet(labelsCache, optionLabelInterval, {
- labels,
- labelCategoryInterval: numericLabelInterval
- });
- }
- function makeCategoryTicks(axis, tickModel) {
- var ticksCache = getListCache(axis, "ticks");
- var optionTickInterval = getOptionCategoryInterval(tickModel);
- var result = listCacheGet(ticksCache, optionTickInterval);
- if (result) {
- return result;
- }
- var ticks;
- var tickCategoryInterval;
- if (!tickModel.get("show") || axis.scale.isBlank()) {
- ticks = [];
- }
- if (isFunction(optionTickInterval)) {
- ticks = makeLabelsByCustomizedCategoryInterval(axis, optionTickInterval, true);
- } else if (optionTickInterval === "auto") {
- var labelsResult = makeCategoryLabelsActually(axis, axis.getLabelModel());
- tickCategoryInterval = labelsResult.labelCategoryInterval;
- ticks = map(labelsResult.labels, function(labelItem) {
- return labelItem.tickValue;
- });
- } else {
- tickCategoryInterval = optionTickInterval;
- ticks = makeLabelsByNumericCategoryInterval(axis, tickCategoryInterval, true);
- }
- return listCacheSet(ticksCache, optionTickInterval, {
- ticks,
- tickCategoryInterval
- });
- }
- function makeRealNumberLabels(axis) {
- var ticks = axis.scale.getTicks();
- var labelFormatter = makeLabelFormatter(axis);
- return {
- labels: map(ticks, function(tick, idx) {
- return {
- level: tick.level,
- formattedLabel: labelFormatter(tick, idx),
- rawLabel: axis.scale.getLabel(tick),
- tickValue: tick.value
- };
- })
- };
- }
- function getListCache(axis, prop) {
- return inner6(axis)[prop] || (inner6(axis)[prop] = []);
- }
- function listCacheGet(cache, key) {
- for (var i = 0; i < cache.length; i++) {
- if (cache[i].key === key) {
- return cache[i].value;
- }
- }
- }
- function listCacheSet(cache, key, value) {
- cache.push({
- key,
- value
- });
- return value;
- }
- function makeAutoCategoryInterval(axis) {
- var result = inner6(axis).autoInterval;
- return result != null ? result : inner6(axis).autoInterval = axis.calculateCategoryInterval();
- }
- function calculateCategoryInterval(axis) {
- var params = fetchAutoCategoryIntervalCalculationParams(axis);
- var labelFormatter = makeLabelFormatter(axis);
- var rotation = (params.axisRotate - params.labelRotate) / 180 * Math.PI;
- var ordinalScale = axis.scale;
- var ordinalExtent = ordinalScale.getExtent();
- var tickCount = ordinalScale.count();
- if (ordinalExtent[1] - ordinalExtent[0] < 1) {
- return 0;
- }
- var step = 1;
- if (tickCount > 40) {
- step = Math.max(1, Math.floor(tickCount / 40));
- }
- var tickValue = ordinalExtent[0];
- var unitSpan = axis.dataToCoord(tickValue + 1) - axis.dataToCoord(tickValue);
- var unitW = Math.abs(unitSpan * Math.cos(rotation));
- var unitH = Math.abs(unitSpan * Math.sin(rotation));
- var maxW = 0;
- var maxH = 0;
- for (; tickValue <= ordinalExtent[1]; tickValue += step) {
- var width = 0;
- var height = 0;
- var rect = getBoundingRect(labelFormatter({
- value: tickValue
- }), params.font, "center", "top");
- width = rect.width * 1.3;
- height = rect.height * 1.3;
- maxW = Math.max(maxW, width, 7);
- maxH = Math.max(maxH, height, 7);
- }
- var dw = maxW / unitW;
- var dh = maxH / unitH;
- isNaN(dw) && (dw = Infinity);
- isNaN(dh) && (dh = Infinity);
- var interval = Math.max(0, Math.floor(Math.min(dw, dh)));
- var cache = inner6(axis.model);
- var axisExtent = axis.getExtent();
- var lastAutoInterval = cache.lastAutoInterval;
- var lastTickCount = cache.lastTickCount;
- if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 && lastAutoInterval > interval && cache.axisExtent0 === axisExtent[0] && cache.axisExtent1 === axisExtent[1]) {
- interval = lastAutoInterval;
- } else {
- cache.lastTickCount = tickCount;
- cache.lastAutoInterval = interval;
- cache.axisExtent0 = axisExtent[0];
- cache.axisExtent1 = axisExtent[1];
- }
- return interval;
- }
- function fetchAutoCategoryIntervalCalculationParams(axis) {
- var labelModel = axis.getLabelModel();
- return {
- axisRotate: axis.getRotate ? axis.getRotate() : axis.isHorizontal && !axis.isHorizontal() ? 90 : 0,
- labelRotate: labelModel.get("rotate") || 0,
- font: labelModel.getFont()
- };
- }
- function makeLabelsByNumericCategoryInterval(axis, categoryInterval, onlyTick) {
- var labelFormatter = makeLabelFormatter(axis);
- var ordinalScale = axis.scale;
- var ordinalExtent = ordinalScale.getExtent();
- var labelModel = axis.getLabelModel();
- var result = [];
- var step = Math.max((categoryInterval || 0) + 1, 1);
- var startTick = ordinalExtent[0];
- var tickCount = ordinalScale.count();
- if (startTick !== 0 && step > 1 && tickCount / step > 2) {
- startTick = Math.round(Math.ceil(startTick / step) * step);
- }
- var showAllLabel = shouldShowAllLabels(axis);
- var includeMinLabel = labelModel.get("showMinLabel") || showAllLabel;
- var includeMaxLabel = labelModel.get("showMaxLabel") || showAllLabel;
- if (includeMinLabel && startTick !== ordinalExtent[0]) {
- addItem(ordinalExtent[0]);
- }
- var tickValue = startTick;
- for (; tickValue <= ordinalExtent[1]; tickValue += step) {
- addItem(tickValue);
- }
- if (includeMaxLabel && tickValue - step !== ordinalExtent[1]) {
- addItem(ordinalExtent[1]);
- }
- function addItem(tickValue2) {
- var tickObj = {
- value: tickValue2
- };
- result.push(onlyTick ? tickValue2 : {
- formattedLabel: labelFormatter(tickObj),
- rawLabel: ordinalScale.getLabel(tickObj),
- tickValue: tickValue2
- });
- }
- return result;
- }
- function makeLabelsByCustomizedCategoryInterval(axis, categoryInterval, onlyTick) {
- var ordinalScale = axis.scale;
- var labelFormatter = makeLabelFormatter(axis);
- var result = [];
- each(ordinalScale.getTicks(), function(tick) {
- var rawLabel = ordinalScale.getLabel(tick);
- var tickValue = tick.value;
- if (categoryInterval(tick.value, rawLabel)) {
- result.push(onlyTick ? tickValue : {
- formattedLabel: labelFormatter(tick),
- rawLabel,
- tickValue
- });
- }
- });
- return result;
- }
- // node_modules/echarts/lib/coord/Axis.js
- var NORMALIZED_EXTENT = [0, 1];
- var Axis = function() {
- function Axis2(dim, scale3, extent3) {
- this.onBand = false;
- this.inverse = false;
- this.dim = dim;
- this.scale = scale3;
- this._extent = extent3 || [0, 0];
- }
- Axis2.prototype.contain = function(coord) {
- var extent3 = this._extent;
- var min2 = Math.min(extent3[0], extent3[1]);
- var max2 = Math.max(extent3[0], extent3[1]);
- return coord >= min2 && coord <= max2;
- };
- Axis2.prototype.containData = function(data) {
- return this.scale.contain(data);
- };
- Axis2.prototype.getExtent = function() {
- return this._extent.slice();
- };
- Axis2.prototype.getPixelPrecision = function(dataExtent) {
- return getPixelPrecision(dataExtent || this.scale.getExtent(), this._extent);
- };
- Axis2.prototype.setExtent = function(start, end) {
- var extent3 = this._extent;
- extent3[0] = start;
- extent3[1] = end;
- };
- Axis2.prototype.dataToCoord = function(data, clamp2) {
- var extent3 = this._extent;
- var scale3 = this.scale;
- data = scale3.normalize(data);
- if (this.onBand && scale3.type === "ordinal") {
- extent3 = extent3.slice();
- fixExtentWithBands(extent3, scale3.count());
- }
- return linearMap(data, NORMALIZED_EXTENT, extent3, clamp2);
- };
- Axis2.prototype.coordToData = function(coord, clamp2) {
- var extent3 = this._extent;
- var scale3 = this.scale;
- if (this.onBand && scale3.type === "ordinal") {
- extent3 = extent3.slice();
- fixExtentWithBands(extent3, scale3.count());
- }
- var t = linearMap(coord, extent3, NORMALIZED_EXTENT, clamp2);
- return this.scale.scale(t);
- };
- Axis2.prototype.pointToData = function(point, clamp2) {
- return;
- };
- Axis2.prototype.getTicksCoords = function(opt) {
- opt = opt || {};
- var tickModel = opt.tickModel || this.getTickModel();
- var result = createAxisTicks(this, tickModel);
- var ticks = result.ticks;
- var ticksCoords = map(ticks, function(tickVal) {
- return {
- coord: this.dataToCoord(this.scale.type === "ordinal" ? this.scale.getRawOrdinalNumber(tickVal) : tickVal),
- tickValue: tickVal
- };
- }, this);
- var alignWithLabel = tickModel.get("alignWithLabel");
- fixOnBandTicksCoords(this, ticksCoords, alignWithLabel, opt.clamp);
- return ticksCoords;
- };
- Axis2.prototype.getMinorTicksCoords = function() {
- if (this.scale.type === "ordinal") {
- return [];
- }
- var minorTickModel = this.model.getModel("minorTick");
- var splitNumber = minorTickModel.get("splitNumber");
- if (!(splitNumber > 0 && splitNumber < 100)) {
- splitNumber = 5;
- }
- var minorTicks = this.scale.getMinorTicks(splitNumber);
- var minorTicksCoords = map(minorTicks, function(minorTicksGroup) {
- return map(minorTicksGroup, function(minorTick) {
- return {
- coord: this.dataToCoord(minorTick),
- tickValue: minorTick
- };
- }, this);
- }, this);
- return minorTicksCoords;
- };
- Axis2.prototype.getViewLabels = function() {
- return createAxisLabels(this).labels;
- };
- Axis2.prototype.getLabelModel = function() {
- return this.model.getModel("axisLabel");
- };
- Axis2.prototype.getTickModel = function() {
- return this.model.getModel("axisTick");
- };
- Axis2.prototype.getBandWidth = function() {
- var axisExtent = this._extent;
- var dataExtent = this.scale.getExtent();
- var len = dataExtent[1] - dataExtent[0] + (this.onBand ? 1 : 0);
- len === 0 && (len = 1);
- var size = Math.abs(axisExtent[1] - axisExtent[0]);
- return Math.abs(size) / len;
- };
- Axis2.prototype.calculateCategoryInterval = function() {
- return calculateCategoryInterval(this);
- };
- return Axis2;
- }();
- function fixExtentWithBands(extent3, nTick) {
- var size = extent3[1] - extent3[0];
- var len = nTick;
- var margin = size / len / 2;
- extent3[0] += margin;
- extent3[1] -= margin;
- }
- function fixOnBandTicksCoords(axis, ticksCoords, alignWithLabel, clamp2) {
- var ticksLen = ticksCoords.length;
- if (!axis.onBand || alignWithLabel || !ticksLen) {
- return;
- }
- var axisExtent = axis.getExtent();
- var last;
- var diffSize;
- if (ticksLen === 1) {
- ticksCoords[0].coord = axisExtent[0];
- last = ticksCoords[1] = {
- coord: axisExtent[0]
- };
- } else {
- var crossLen = ticksCoords[ticksLen - 1].tickValue - ticksCoords[0].tickValue;
- var shift_1 = (ticksCoords[ticksLen - 1].coord - ticksCoords[0].coord) / crossLen;
- each(ticksCoords, function(ticksItem) {
- ticksItem.coord -= shift_1 / 2;
- });
- var dataExtent = axis.scale.getExtent();
- diffSize = 1 + dataExtent[1] - ticksCoords[ticksLen - 1].tickValue;
- last = {
- coord: ticksCoords[ticksLen - 1].coord + shift_1 * diffSize
- };
- ticksCoords.push(last);
- }
- var inverse = axisExtent[0] > axisExtent[1];
- if (littleThan(ticksCoords[0].coord, axisExtent[0])) {
- clamp2 ? ticksCoords[0].coord = axisExtent[0] : ticksCoords.shift();
- }
- if (clamp2 && littleThan(axisExtent[0], ticksCoords[0].coord)) {
- ticksCoords.unshift({
- coord: axisExtent[0]
- });
- }
- if (littleThan(axisExtent[1], last.coord)) {
- clamp2 ? last.coord = axisExtent[1] : ticksCoords.pop();
- }
- if (clamp2 && littleThan(last.coord, axisExtent[1])) {
- ticksCoords.push({
- coord: axisExtent[1]
- });
- }
- function littleThan(a, b) {
- a = round(a);
- b = round(b);
- return inverse ? a > b : a < b;
- }
- }
- var Axis_default = Axis;
- // node_modules/echarts/lib/coord/geo/parseGeoJson.js
- init_define_APP_INFO();
- // node_modules/echarts/lib/coord/geo/Region.js
- init_define_APP_INFO();
- // node_modules/zrender/lib/contain/polygon.js
- init_define_APP_INFO();
- var EPSILON = 1e-8;
- function isAroundEqual(a, b) {
- return Math.abs(a - b) < EPSILON;
- }
- function contain2(points2, x, y) {
- var w = 0;
- var p = points2[0];
- if (!p) {
- return false;
- }
- for (var i = 1; i < points2.length; i++) {
- var p2 = points2[i];
- w += windingLine(p[0], p[1], p2[0], p2[1], x, y);
- p = p2;
- }
- var p0 = points2[0];
- if (!isAroundEqual(p[0], p0[0]) || !isAroundEqual(p[1], p0[1])) {
- w += windingLine(p[0], p[1], p0[0], p0[1], x, y);
- }
- return w !== 0;
- }
- // node_modules/echarts/lib/coord/geo/Region.js
- var TMP_TRANSFORM = [];
- function transformPoints(points2, transform) {
- for (var p = 0; p < points2.length; p++) {
- applyTransform(points2[p], points2[p], transform);
- }
- }
- function updateBBoxFromPoints(points2, min2, max2, projection) {
- for (var i = 0; i < points2.length; i++) {
- var p = points2[i];
- if (projection) {
- p = projection.project(p);
- }
- if (p && isFinite(p[0]) && isFinite(p[1])) {
- min(min2, min2, p);
- max(max2, max2, p);
- }
- }
- }
- function centroid(points2) {
- var signedArea = 0;
- var cx = 0;
- var cy = 0;
- var len = points2.length;
- var x0 = points2[len - 1][0];
- var y0 = points2[len - 1][1];
- for (var i = 0; i < len; i++) {
- var x1 = points2[i][0];
- var y1 = points2[i][1];
- var a = x0 * y1 - x1 * y0;
- signedArea += a;
- cx += (x0 + x1) * a;
- cy += (y0 + y1) * a;
- x0 = x1;
- y0 = y1;
- }
- return signedArea ? [cx / signedArea / 3, cy / signedArea / 3, signedArea] : [points2[0][0] || 0, points2[0][1] || 0];
- }
- var Region = function() {
- function Region2(name) {
- this.name = name;
- }
- Region2.prototype.setCenter = function(center2) {
- this._center = center2;
- };
- Region2.prototype.getCenter = function() {
- var center2 = this._center;
- if (!center2) {
- center2 = this._center = this.calcCenter();
- }
- return center2;
- };
- return Region2;
- }();
- var GeoJSONPolygonGeometry = function() {
- function GeoJSONPolygonGeometry2(exterior, interiors) {
- this.type = "polygon";
- this.exterior = exterior;
- this.interiors = interiors;
- }
- return GeoJSONPolygonGeometry2;
- }();
- var GeoJSONLineStringGeometry = function() {
- function GeoJSONLineStringGeometry2(points2) {
- this.type = "linestring";
- this.points = points2;
- }
- return GeoJSONLineStringGeometry2;
- }();
- var GeoJSONRegion = function(_super) {
- __extends2(GeoJSONRegion2, _super);
- function GeoJSONRegion2(name, geometries, cp) {
- var _this = _super.call(this, name) || this;
- _this.type = "geoJSON";
- _this.geometries = geometries;
- _this._center = cp && [cp[0], cp[1]];
- return _this;
- }
- GeoJSONRegion2.prototype.calcCenter = function() {
- var geometries = this.geometries;
- var largestGeo;
- var largestGeoSize = 0;
- for (var i = 0; i < geometries.length; i++) {
- var geo = geometries[i];
- var exterior = geo.exterior;
- var size = exterior && exterior.length;
- if (size > largestGeoSize) {
- largestGeo = geo;
- largestGeoSize = size;
- }
- }
- if (largestGeo) {
- return centroid(largestGeo.exterior);
- }
- var rect = this.getBoundingRect();
- return [rect.x + rect.width / 2, rect.y + rect.height / 2];
- };
- GeoJSONRegion2.prototype.getBoundingRect = function(projection) {
- var rect = this._rect;
- if (rect && !projection) {
- return rect;
- }
- var min2 = [Infinity, Infinity];
- var max2 = [-Infinity, -Infinity];
- var geometries = this.geometries;
- each(geometries, function(geo) {
- if (geo.type === "polygon") {
- updateBBoxFromPoints(geo.exterior, min2, max2, projection);
- } else {
- each(geo.points, function(points2) {
- updateBBoxFromPoints(points2, min2, max2, projection);
- });
- }
- });
- if (!(isFinite(min2[0]) && isFinite(min2[1]) && isFinite(max2[0]) && isFinite(max2[1]))) {
- min2[0] = min2[1] = max2[0] = max2[1] = 0;
- }
- rect = new BoundingRect_default(min2[0], min2[1], max2[0] - min2[0], max2[1] - min2[1]);
- if (!projection) {
- this._rect = rect;
- }
- return rect;
- };
- GeoJSONRegion2.prototype.contain = function(coord) {
- var rect = this.getBoundingRect();
- var geometries = this.geometries;
- if (!rect.contain(coord[0], coord[1])) {
- return false;
- }
- loopGeo:
- for (var i = 0, len = geometries.length; i < len; i++) {
- var geo = geometries[i];
- if (geo.type !== "polygon") {
- continue;
- }
- var exterior = geo.exterior;
- var interiors = geo.interiors;
- if (contain2(exterior, coord[0], coord[1])) {
- for (var k = 0; k < (interiors ? interiors.length : 0); k++) {
- if (contain2(interiors[k], coord[0], coord[1])) {
- continue loopGeo;
- }
- }
- return true;
- }
- }
- return false;
- };
- GeoJSONRegion2.prototype.transformTo = function(x, y, width, height) {
- var rect = this.getBoundingRect();
- var aspect = rect.width / rect.height;
- if (!width) {
- width = aspect * height;
- } else if (!height) {
- height = width / aspect;
- }
- var target = new BoundingRect_default(x, y, width, height);
- var transform = rect.calculateTransform(target);
- var geometries = this.geometries;
- for (var i = 0; i < geometries.length; i++) {
- var geo = geometries[i];
- if (geo.type === "polygon") {
- transformPoints(geo.exterior, transform);
- each(geo.interiors, function(interior) {
- transformPoints(interior, transform);
- });
- } else {
- each(geo.points, function(points2) {
- transformPoints(points2, transform);
- });
- }
- }
- rect = this._rect;
- rect.copy(target);
- this._center = [rect.x + rect.width / 2, rect.y + rect.height / 2];
- };
- GeoJSONRegion2.prototype.cloneShallow = function(name) {
- name == null && (name = this.name);
- var newRegion = new GeoJSONRegion2(name, this.geometries, this._center);
- newRegion._rect = this._rect;
- newRegion.transformTo = null;
- return newRegion;
- };
- return GeoJSONRegion2;
- }(Region);
- var GeoSVGRegion = function(_super) {
- __extends2(GeoSVGRegion2, _super);
- function GeoSVGRegion2(name, elOnlyForCalculate) {
- var _this = _super.call(this, name) || this;
- _this.type = "geoSVG";
- _this._elOnlyForCalculate = elOnlyForCalculate;
- return _this;
- }
- GeoSVGRegion2.prototype.calcCenter = function() {
- var el = this._elOnlyForCalculate;
- var rect = el.getBoundingRect();
- var center2 = [rect.x + rect.width / 2, rect.y + rect.height / 2];
- var mat = identity(TMP_TRANSFORM);
- var target = el;
- while (target && !target.isGeoSVGGraphicRoot) {
- mul(mat, target.getLocalTransform(), mat);
- target = target.parent;
- }
- invert(mat, mat);
- applyTransform(center2, center2, mat);
- return center2;
- };
- return GeoSVGRegion2;
- }(Region);
- // node_modules/echarts/lib/coord/geo/parseGeoJson.js
- function decode(json) {
- if (!json.UTF8Encoding) {
- return json;
- }
- var jsonCompressed = json;
- var encodeScale = jsonCompressed.UTF8Scale;
- if (encodeScale == null) {
- encodeScale = 1024;
- }
- var features = jsonCompressed.features;
- each(features, function(feature) {
- var geometry = feature.geometry;
- var encodeOffsets = geometry.encodeOffsets;
- var coordinates = geometry.coordinates;
- if (!encodeOffsets) {
- return;
- }
- switch (geometry.type) {
- case "LineString":
- geometry.coordinates = decodeRing(coordinates, encodeOffsets, encodeScale);
- break;
- case "Polygon":
- decodeRings(coordinates, encodeOffsets, encodeScale);
- break;
- case "MultiLineString":
- decodeRings(coordinates, encodeOffsets, encodeScale);
- break;
- case "MultiPolygon":
- each(coordinates, function(rings, idx) {
- return decodeRings(rings, encodeOffsets[idx], encodeScale);
- });
- }
- });
- jsonCompressed.UTF8Encoding = false;
- return jsonCompressed;
- }
- function decodeRings(rings, encodeOffsets, encodeScale) {
- for (var c = 0; c < rings.length; c++) {
- rings[c] = decodeRing(rings[c], encodeOffsets[c], encodeScale);
- }
- }
- function decodeRing(coordinate, encodeOffsets, encodeScale) {
- var result = [];
- var prevX = encodeOffsets[0];
- var prevY = encodeOffsets[1];
- for (var i = 0; i < coordinate.length; i += 2) {
- var x = coordinate.charCodeAt(i) - 64;
- var y = coordinate.charCodeAt(i + 1) - 64;
- x = x >> 1 ^ -(x & 1);
- y = y >> 1 ^ -(y & 1);
- x += prevX;
- y += prevY;
- prevX = x;
- prevY = y;
- result.push([x / encodeScale, y / encodeScale]);
- }
- return result;
- }
- function parseGeoJSON(geoJson, nameProperty) {
- geoJson = decode(geoJson);
- return map(filter(geoJson.features, function(featureObj) {
- return featureObj.geometry && featureObj.properties && featureObj.geometry.coordinates.length > 0;
- }), function(featureObj) {
- var properties = featureObj.properties;
- var geo = featureObj.geometry;
- var geometries = [];
- switch (geo.type) {
- case "Polygon":
- var coordinates = geo.coordinates;
- geometries.push(new GeoJSONPolygonGeometry(coordinates[0], coordinates.slice(1)));
- break;
- case "MultiPolygon":
- each(geo.coordinates, function(item) {
- if (item[0]) {
- geometries.push(new GeoJSONPolygonGeometry(item[0], item.slice(1)));
- }
- });
- break;
- case "LineString":
- geometries.push(new GeoJSONLineStringGeometry([geo.coordinates]));
- break;
- case "MultiLineString":
- geometries.push(new GeoJSONLineStringGeometry(geo.coordinates));
- }
- var region = new GeoJSONRegion(properties[nameProperty || "name"], geometries, properties.cp);
- region.properties = properties;
- return region;
- });
- }
- // node_modules/echarts/lib/coord/axisModelCommonMixin.js
- init_define_APP_INFO();
- var AxisModelCommonMixin = function() {
- function AxisModelCommonMixin2() {
- }
- AxisModelCommonMixin2.prototype.getNeedCrossZero = function() {
- var option = this.option;
- return !option.scale;
- };
- AxisModelCommonMixin2.prototype.getCoordSysModel = function() {
- return;
- };
- return AxisModelCommonMixin2;
- }();
- // node_modules/echarts/lib/label/labelLayoutHelper.js
- init_define_APP_INFO();
- function prepareLayoutList(input) {
- var list = [];
- for (var i = 0; i < input.length; i++) {
- var rawItem = input[i];
- if (rawItem.defaultAttr.ignore) {
- continue;
- }
- var label = rawItem.label;
- var transform = label.getComputedTransform();
- var localRect = label.getBoundingRect();
- var isAxisAligned = !transform || transform[1] < 1e-5 && transform[2] < 1e-5;
- var minMargin = label.style.margin || 0;
- var globalRect = localRect.clone();
- globalRect.applyTransform(transform);
- globalRect.x -= minMargin / 2;
- globalRect.y -= minMargin / 2;
- globalRect.width += minMargin;
- globalRect.height += minMargin;
- var obb = isAxisAligned ? new OrientedBoundingRect_default(localRect, transform) : null;
- list.push({
- label,
- labelLine: rawItem.labelLine,
- rect: globalRect,
- localRect,
- obb,
- priority: rawItem.priority,
- defaultAttr: rawItem.defaultAttr,
- layoutOption: rawItem.computedLayoutOption,
- axisAligned: isAxisAligned,
- transform
- });
- }
- return list;
- }
- function shiftLayout(list, xyDim, sizeDim, minBound, maxBound, balanceShift) {
- var len = list.length;
- if (len < 2) {
- return;
- }
- list.sort(function(a, b) {
- return a.rect[xyDim] - b.rect[xyDim];
- });
- var lastPos = 0;
- var delta;
- var adjusted = false;
- var shifts = [];
- var totalShifts = 0;
- for (var i = 0; i < len; i++) {
- var item = list[i];
- var rect = item.rect;
- delta = rect[xyDim] - lastPos;
- if (delta < 0) {
- rect[xyDim] -= delta;
- item.label[xyDim] -= delta;
- adjusted = true;
- }
- var shift = Math.max(-delta, 0);
- shifts.push(shift);
- totalShifts += shift;
- lastPos = rect[xyDim] + rect[sizeDim];
- }
- if (totalShifts > 0 && balanceShift) {
- shiftList(-totalShifts / len, 0, len);
- }
- var first = list[0];
- var last = list[len - 1];
- var minGap;
- var maxGap;
- updateMinMaxGap();
- minGap < 0 && squeezeGaps(-minGap, 0.8);
- maxGap < 0 && squeezeGaps(maxGap, 0.8);
- updateMinMaxGap();
- takeBoundsGap(minGap, maxGap, 1);
- takeBoundsGap(maxGap, minGap, -1);
- updateMinMaxGap();
- if (minGap < 0) {
- squeezeWhenBailout(-minGap);
- }
- if (maxGap < 0) {
- squeezeWhenBailout(maxGap);
- }
- function updateMinMaxGap() {
- minGap = first.rect[xyDim] - minBound;
- maxGap = maxBound - last.rect[xyDim] - last.rect[sizeDim];
- }
- function takeBoundsGap(gapThisBound, gapOtherBound, moveDir) {
- if (gapThisBound < 0) {
- var moveFromMaxGap = Math.min(gapOtherBound, -gapThisBound);
- if (moveFromMaxGap > 0) {
- shiftList(moveFromMaxGap * moveDir, 0, len);
- var remained = moveFromMaxGap + gapThisBound;
- if (remained < 0) {
- squeezeGaps(-remained * moveDir, 1);
- }
- } else {
- squeezeGaps(-gapThisBound * moveDir, 1);
- }
- }
- }
- function shiftList(delta2, start, end) {
- if (delta2 !== 0) {
- adjusted = true;
- }
- for (var i2 = start; i2 < end; i2++) {
- var item2 = list[i2];
- var rect2 = item2.rect;
- rect2[xyDim] += delta2;
- item2.label[xyDim] += delta2;
- }
- }
- function squeezeGaps(delta2, maxSqeezePercent) {
- var gaps = [];
- var totalGaps = 0;
- for (var i2 = 1; i2 < len; i2++) {
- var prevItemRect = list[i2 - 1].rect;
- var gap = Math.max(list[i2].rect[xyDim] - prevItemRect[xyDim] - prevItemRect[sizeDim], 0);
- gaps.push(gap);
- totalGaps += gap;
- }
- if (!totalGaps) {
- return;
- }
- var squeezePercent = Math.min(Math.abs(delta2) / totalGaps, maxSqeezePercent);
- if (delta2 > 0) {
- for (var i2 = 0; i2 < len - 1; i2++) {
- var movement = gaps[i2] * squeezePercent;
- shiftList(movement, 0, i2 + 1);
- }
- } else {
- for (var i2 = len - 1; i2 > 0; i2--) {
- var movement = gaps[i2 - 1] * squeezePercent;
- shiftList(-movement, i2, len);
- }
- }
- }
- function squeezeWhenBailout(delta2) {
- var dir = delta2 < 0 ? -1 : 1;
- delta2 = Math.abs(delta2);
- var moveForEachLabel = Math.ceil(delta2 / (len - 1));
- for (var i2 = 0; i2 < len - 1; i2++) {
- if (dir > 0) {
- shiftList(moveForEachLabel, 0, i2 + 1);
- } else {
- shiftList(-moveForEachLabel, len - i2 - 1, len);
- }
- delta2 -= moveForEachLabel;
- if (delta2 <= 0) {
- return;
- }
- }
- }
- return adjusted;
- }
- function shiftLayoutOnX(list, leftBound, rightBound, balanceShift) {
- return shiftLayout(list, "x", "width", leftBound, rightBound, balanceShift);
- }
- function shiftLayoutOnY(list, topBound, bottomBound, balanceShift) {
- return shiftLayout(list, "y", "height", topBound, bottomBound, balanceShift);
- }
- function hideOverlap(labelList) {
- var displayedLabels = [];
- labelList.sort(function(a, b) {
- return b.priority - a.priority;
- });
- var globalRect = new BoundingRect_default(0, 0, 0, 0);
- function hideEl(el) {
- if (!el.ignore) {
- var emphasisState = el.ensureState("emphasis");
- if (emphasisState.ignore == null) {
- emphasisState.ignore = false;
- }
- }
- el.ignore = true;
- }
- for (var i = 0; i < labelList.length; i++) {
- var labelItem = labelList[i];
- var isAxisAligned = labelItem.axisAligned;
- var localRect = labelItem.localRect;
- var transform = labelItem.transform;
- var label = labelItem.label;
- var labelLine = labelItem.labelLine;
- globalRect.copy(labelItem.rect);
- globalRect.width -= 0.1;
- globalRect.height -= 0.1;
- globalRect.x += 0.05;
- globalRect.y += 0.05;
- var obb = labelItem.obb;
- var overlapped = false;
- for (var j = 0; j < displayedLabels.length; j++) {
- var existsTextCfg = displayedLabels[j];
- if (!globalRect.intersect(existsTextCfg.rect)) {
- continue;
- }
- if (isAxisAligned && existsTextCfg.axisAligned) {
- overlapped = true;
- break;
- }
- if (!existsTextCfg.obb) {
- existsTextCfg.obb = new OrientedBoundingRect_default(existsTextCfg.localRect, existsTextCfg.transform);
- }
- if (!obb) {
- obb = new OrientedBoundingRect_default(localRect, transform);
- }
- if (obb.intersect(existsTextCfg.obb)) {
- overlapped = true;
- break;
- }
- }
- if (overlapped) {
- hideEl(label);
- labelLine && hideEl(labelLine);
- } else {
- label.attr("ignore", labelItem.defaultAttr.ignore);
- labelLine && labelLine.attr("ignore", labelItem.defaultAttr.labelGuideIgnore);
- displayedLabels.push(labelItem);
- }
- }
- }
- export {
- __extends2 as __extends,
- makeStyleMapper,
- linearMap,
- parsePercent2 as parsePercent,
- round,
- asc,
- getPrecision,
- getPrecisionSafe,
- getPixelPrecision,
- getPercentWithPrecision,
- MAX_SAFE_INTEGER,
- remRadian,
- isRadianAroundZero,
- parseDate,
- quantity,
- quantityExponent,
- nice,
- quantile,
- reformIntervals,
- numericToNumber,
- isNumeric,
- warn,
- error,
- deprecateLog,
- deprecateReplaceLog,
- makePrintable,
- throwError,
- normalizeToArray,
- defaultEmphasis,
- getDataItemValue,
- mappingToExists,
- convertOptionIdName,
- isNameSpecified,
- makeInternalComponentId,
- compressBatches,
- queryDataIndex,
- makeInner,
- parseFinder,
- preParseFinder,
- SINGLE_REFERRING,
- MULTIPLE_REFERRING,
- queryReferringComponents,
- getTooltipRenderMode,
- groupData,
- interpolateRawValues,
- getECData,
- setCommonECData,
- HOVER_STATE_BLUR,
- SPECIAL_STATES,
- DISPLAY_STATES,
- Z2_EMPHASIS_LIFT,
- setStatesFlag,
- setDefaultStateProxy,
- enterEmphasis,
- leaveEmphasis,
- enterBlur,
- leaveBlur,
- enableHoverEmphasis,
- toggleHoverEmphasis,
- enableHoverFocus,
- setStatesStylesFromModel,
- setAsHighDownDispatcher,
- isHighDownDispatcher,
- enableComponentHighDownFeatures,
- createFromString,
- Group_default,
- Circle_default,
- Ellipse_default,
- Sector_default,
- Ring_default,
- Polygon_default,
- Polyline_default,
- Line_default,
- BezierCurve_default,
- Arc_default,
- LinearGradient_default,
- RadialGradient_default,
- IncrementalDisplayable_default,
- getAnimationConfig,
- updateProps,
- initProps,
- isElementRemoved,
- removeElement,
- removeElementWithFadeOut,
- saveOldStyle,
- extendShape,
- extendPath,
- registerShape,
- getShapeClass,
- makePath,
- makeImage,
- mergePath2 as mergePath,
- resizePath,
- subPixelOptimize2 as subPixelOptimize,
- getTransform,
- applyTransform2 as applyTransform,
- transformDirection,
- groupTransition,
- clipPointsByRect,
- clipRectByRect,
- createIcon,
- linePolygonIntersect,
- setTooltipConfig,
- traverseElements,
- graphic_exports,
- setLabelStyle,
- getLabelStatesModels,
- createTextStyle,
- createTextConfig,
- getFont,
- labelInner,
- setLabelValueAnimation,
- animateLabelValue,
- Model_default,
- DataDiffer_default,
- VISUAL_DIMENSIONS,
- SOURCE_FORMAT_ORIGINAL,
- SOURCE_FORMAT_ARRAY_ROWS,
- SOURCE_FORMAT_OBJECT_ROWS,
- SERIES_LAYOUT_BY_COLUMN,
- BE_ORDINAL,
- makeSeriesEncodeForAxisCoordSys,
- makeSeriesEncodeForNameBased,
- guessOrdinal,
- isSourceInstance,
- createSourceFromSeriesDataOption,
- retrieveRawValue,
- getDimensionTypeByAxis,
- SeriesDimensionDefine_default,
- parseDataValue,
- getRawValueParser,
- SortOrderComparator,
- createFilterComparator,
- CtorInt32Array,
- SeriesDataSchema,
- createDimNameMap,
- ensureSourceDimNameMap,
- shouldOmitUnusedDimensions,
- SeriesData_default,
- CoordinateSystem_default,
- enableDataStack,
- isDimensionStacked,
- getStackedDimension,
- getUID,
- inheritDefaultOption,
- registerLocale,
- getLocaleModel,
- format,
- getTextRect,
- addCommas,
- toCamelCase,
- normalizeCssArray2 as normalizeCssArray,
- encodeHTML,
- formatTpl,
- formatTplSimple,
- getTooltipMarker,
- formatTime,
- capitalFirst,
- convertToColorString,
- windowOpen,
- LOCATION_PARAMS,
- box,
- getAvailableSize,
- getLayoutRect,
- positionElement,
- sizeCalculable,
- fetchLayoutMode,
- mergeLayoutParam,
- getLayoutParams,
- copyLayoutParams,
- Component_default,
- getDecalFromPalette,
- DataFormatMixin,
- normalizeTooltipFormatResult,
- SourceManager,
- disableTransformOptionMerge,
- createTooltipMarkup,
- buildTooltipMarkup,
- retrieveVisualColorForTooltipMarker,
- getPaddingFromTooltipModel,
- TooltipMarkupStyleCreator,
- defaultSeriesFormatTooltip,
- Series_default,
- symbolBuildProxies,
- createSymbol,
- normalizeSymbolSize,
- normalizeSymbolOffset,
- createFloat32Array,
- createRenderPlanner,
- Chart_default,
- getLayoutOnAxis,
- layout,
- createProgressiveLayout,
- throttle,
- createOrUpdate,
- clear,
- createLegacyDataSelectAction,
- prepareLayoutList,
- shiftLayoutOnX,
- shiftLayoutOnY,
- hideOverlap,
- transformLocalCoord,
- normalizeEvent,
- addEventListener,
- stop,
- isMiddleOrRightButtonOnMouseUpDown,
- zrender_exports,
- registerInternalOptionCreator,
- Component_default2,
- getItemVisualFromData,
- getVisualFromData,
- setItemVisualFromData,
- findEventDispatcher,
- createOrUpdatePatternFromDecal,
- version2 as version,
- dependencies,
- PRIORITY,
- init2 as init,
- connect,
- disConnect,
- disconnect,
- dispose2 as dispose,
- getInstanceByDom,
- getInstanceById,
- registerTheme,
- registerPreprocessor,
- registerProcessor,
- registerPostInit,
- registerPostUpdate,
- registerUpdateLifecycle,
- registerAction,
- registerCoordinateSystem,
- getCoordinateSystemDimensions,
- registerLayout,
- registerVisual,
- registerLoading,
- setCanvasCreator,
- registerMap,
- getMap,
- registerTransform,
- dataTool,
- use,
- AxisModelCommonMixin,
- OrdinalMeta_default,
- isValueNice,
- isIntervalOrLogScale,
- increaseInterval,
- Ordinal_default,
- Interval_default,
- Time_default,
- ensureScaleRawExtentInfo,
- getScaleExtent,
- niceScaleExtent,
- createScaleByModel,
- ifAxisCrossZero,
- getAxisRawValue,
- estimateLabelUnionRect,
- shouldShowAllLabels,
- getDataDimensionsOnAxis,
- unionAxisExtentFromData,
- Axis_default,
- contain2 as contain,
- GeoJSONRegion,
- GeoSVGRegion,
- parseGeoJSON
- };
- /*!
- * ZRender, a high performance 2d drawing library.
- *
- * Copyright (c) 2013, Baidu Inc.
- * All rights reserved.
- *
- * LICENSE
- * https://github.com/ecomfe/zrender/blob/master/LICENSE.txt
- */
- /*! *****************************************************************************
- Copyright (c) Microsoft Corporation.
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted.
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
- ***************************************************************************** */
- //# sourceMappingURL=chunk-4Z63X5VE.js.map
|