{"version":3,"sources":["webpack://Tree/webpack/universalModuleDefinition","webpack://Tree/webpack/bootstrap","webpack://Tree/./src/index.js","webpack://Tree/./src/ajax.js","webpack://Tree/./src/index.less?f0a1","webpack://Tree/./src/index.less","webpack://Tree/./node_modules/css-loader/lib/css-base.js","webpack://Tree/./node_modules/style-loader/lib/addStyles.js","webpack://Tree/./node_modules/style-loader/lib/urls.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_ajax","uniq","arr","map","reduce","acc","item","push","animation","duration","callback","requestAnimationFrame","enter","active","setTimeout","leave","Tree","container","options","_this","this","treeNodes","nodesById","leafNodesById","liElementsById","willUpdateNodesById","assign","selectMode","values","disables","beforeLoad","loaded","url","method","closeDepth","defineProperties","getValues","set","setValues","getDisables","setDisables","selectedNodes","nodes","id","status","node","parent","children","disabledNodes","disabled","load","data","init","_Tree$parseTreeData","parseTreeData","defaultValues","defaultDisables","render","_this$options","length","_this$options2","default","success","result","treeEle","createRootEle","appendChild","buildTree","bindEvent","ele","document","querySelector","firstChild","removeChild","empty","depth","_this2","rootUlEle","createUlEle","forEach","liEle","createLiEle","ulEle","_this3","addEventListener","e","target","nodeName","classList","contains","onItemClick","parentNode","nodeId","onSwitcherClick","onChange","setValue","updateLiElements","prevStatus","markWillUpdateNode","walkUp","walkDown","_this4","emptyNodesCheckStatus","setDisable","_this5","emptyNodesDisable","getSelectedNodesById","getDisabledNodesById","entries","_ref","_ref2","_slicedToArray","_ref3","_ref4","_this6","updateLiElement","lastChild","height","scrollHeight","style","opacity","concat","remove","add","changeState","pStatus","statusCount","child","isNaN","pDisabled","_this7","obj","JSON","parse","stringify","walkTree","checked","div","createElement","ul","closed","li","switcher","checkbox","label","text","createTextNode","_options","defaultOptions","async","failed","Content-Type","xhr","XMLHttpRequest","postData","join","toUpperCase","open","setRequestHeader","send","indexOf","onreadystatechange","readyState","res","responseText","content","hmr","transform","insertInto","undefined","locals","useSourceMap","list","toString","cssMapping","btoa","sourceMapping","sourceMap","unescape","encodeURIComponent","sourceURLs","sources","source","sourceRoot","cssWithMappingToString","mediaQuery","alreadyImportedModules","fn","memo","stylesInDom","isOldIE","all","atob","apply","arguments","getElement","styleTarget","HTMLIFrameElement","contentDocument","head","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","domStyle","refs","j","parts","addStyle","listToStyles","newStyles","base","part","css","media","insertStyleElement","Error","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","before","removeStyleElement","idx","splice","createStyleElement","attrs","type","addAttrs","el","keys","setAttribute","update","styleIndex","applyToSingletonTag","URL","createObjectURL","revokeObjectURL","Blob","link","rel","createLinkElement","autoFixUrls","convertToAbsoluteUrls","blob","oldSrc","href","styleSheet","cssText","newObj","DEBUG","newList","mayRemove","textStore","replaceText","index","replacement","filter","Boolean","cssNode","childNodes","location","baseUrl","protocol","host","currentDir","pathname","replace","fullMatch","origUrl","newUrl","unquotedOrigUrl","trim","$1","test"],"mappings":"CAAA,SAAAA,EAAAC,GACA,kBAAAC,SAAA,kBAAAC,OACAA,OAAAD,QAAAD,IACA,oBAAAG,eAAAC,IACAD,UAAAH,GACA,kBAAAC,QACAA,QAAA,KAAAD,IAEAD,EAAA,KAAAC,IARA,CASCK,OAAA,WACD,mBCTA,IAAAC,KAGA,SAAAC,EAAAC,GAGA,GAAAF,EAAAE,GACA,OAAAF,EAAAE,GAAAP,QAGA,IAAAC,EAAAI,EAAAE,IACAC,EAAAD,EACAE,GAAA,EACAT,YAUA,OANAU,EAAAH,GAAAI,KAAAV,EAAAD,QAAAC,IAAAD,QAAAM,GAGAL,EAAAQ,GAAA,EAGAR,EAAAD,QA0DA,OArDAM,EAAAM,EAAAF,EAGAJ,EAAAO,EAAAR,EAGAC,EAAAQ,EAAA,SAAAd,EAAAe,EAAAC,GACAV,EAAAW,EAAAjB,EAAAe,IACAG,OAAAC,eAAAnB,EAAAe,GAA0CK,YAAA,EAAAC,IAAAL,KAK1CV,EAAAgB,EAAA,SAAAtB,GACA,qBAAAuB,eAAAC,aACAN,OAAAC,eAAAnB,EAAAuB,OAAAC,aAAwDC,MAAA,WAExDP,OAAAC,eAAAnB,EAAA,cAAiDyB,OAAA,KAQjDnB,EAAAoB,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAAnB,EAAAmB,IACA,EAAAE,EAAA,OAAAF,EACA,KAAAE,GAAA,kBAAAF,QAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAX,OAAAY,OAAA,MAGA,GAFAxB,EAAAgB,EAAAO,GACAX,OAAAC,eAAAU,EAAA,WAAyCT,YAAA,EAAAK,UACzC,EAAAE,GAAA,iBAAAF,EAAA,QAAAM,KAAAN,EAAAnB,EAAAQ,EAAAe,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAvB,EAAA2B,EAAA,SAAAhC,GACA,IAAAe,EAAAf,KAAA2B,WACA,WAA2B,OAAA3B,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAK,EAAAQ,EAAAE,EAAA,IAAAA,GACAA,GAIAV,EAAAW,EAAA,SAAAiB,EAAAC,GAAsD,OAAAjB,OAAAkB,UAAAC,eAAA1B,KAAAuB,EAAAC,IAGtD7B,EAAAgC,EAAA,GAIAhC,IAAAiC,EAAA,+FClFA,MAAAC,KAAAlC,EAAA,kbAOA,SAASmC,EAAKC,GACZ,IAAMC,KACN,OAAOD,EAAIE,OAAO,SAACC,EAAKC,GAKtB,OAJKH,EAAIG,KACPH,EAAIG,IAAQ,EACZD,EAAIE,KAAKD,IAEJD,OAUX,SAASG,EAAUC,EAAUC,GAC3BC,sBAAsB,WACpBD,EAASE,QACTD,sBAAsB,WACpBD,EAASG,SACTC,WAAW,WACTJ,EAASK,SACRN,OAKM,SAASO,EAAKC,EAAWC,GAAS,IAAAC,EAAAC,KAW/CA,KAAKC,aACLD,KAAKE,aACLF,KAAKG,iBACLH,KAAKI,kBACLJ,KAAKK,uBACLL,KAAKH,UAAYA,EACjBG,KAAKF,QAAUxC,OAAOgD,QAfpBC,WAAY,WACZC,UACAC,YACAC,WAAY,KACZC,OAAQ,KACRC,IAAK,KACLC,OAAQ,MACRC,WAAY,MAQ+BhB,GAE7CxC,OAAOyD,iBAAiBf,MACtBQ,QACE/C,IADM,WAEJ,OAAOuC,KAAKgB,aAEdC,IAJM,SAIFT,GACF,OAAOR,KAAKkB,UAAUrC,EAAK2B,MAG/BC,UACEhD,IADQ,WAEN,OAAOuC,KAAKmB,eAEdF,IAJQ,SAIJT,GACF,OAAOR,KAAKoB,YAAYvC,EAAK2B,MAGjCa,eACE5D,IADa,WAEX,IAAI6D,KACApB,EAAYF,KAAKE,UACrB,IAAK,IAAIqB,KAAMrB,EACb,GACEA,EAAUzB,eAAe8C,KACC,IAAzBrB,EAAUqB,GAAIC,QAAyC,IAAzBtB,EAAUqB,GAAIC,QAC7C,CACA,IAAMC,EAAOnE,OAAOgD,UAAWJ,EAAUqB,WAClCE,EAAKC,cACLD,EAAKE,SACZL,EAAMnC,KAAKsC,GAGf,OAAOH,IAGXM,eACEnE,IADa,WAEX,IAAI6D,KACApB,EAAYF,KAAKE,UACrB,IAAK,IAAIqB,KAAMrB,EACb,GAAIA,EAAUzB,eAAe8C,IAAOrB,EAAUqB,GAAIM,SAAU,CAC1D,IAAIJ,EAAOnE,OAAOgD,UAAWJ,EAAUqB,WAChCE,EAAKC,OACZJ,EAAMnC,KAAKsC,GAGf,OAAOH,MAKTtB,KAAKF,QAAQc,IACfZ,KAAK8B,KAAK,SAAAC,GACRhC,EAAKiC,KAAKD,KAGZ/B,KAAKgC,KAAKhC,KAAKF,QAAQiC,MA9G3BrF,EAAA,GAkHAkD,EAAKpB,UAAUwD,KAAO,SAASD,GAAM,IAAAE,EAQ/BrC,EAAKsC,cAAcH,GALrB9B,EAHiCgC,EAGjChC,UACAC,EAJiC+B,EAIjC/B,UACAC,EALiC8B,EAKjC9B,cACAgC,EANiCF,EAMjCE,cACAC,EAPiCH,EAOjCG,gBAEFpC,KAAKC,UAAYA,EACjBD,KAAKE,UAAYA,EACjBF,KAAKG,cAAgBA,EACrBH,KAAKqC,OAAOrC,KAAKC,WAZkB,IAAAqC,EAaAtC,KAAKF,QAAjCU,EAb4B8B,EAa5B9B,OAAQC,EAboB6B,EAapB7B,SAAUE,EAbU2B,EAaV3B,OACrBH,GAAUA,EAAO+B,SAAQJ,EAAgB3B,GAC7C2B,EAAcI,QAAUvC,KAAKkB,UAAUiB,GACnC1B,GAAYA,EAAS8B,SAAQH,EAAkB3B,GACnD2B,EAAgBG,QAAUvC,KAAKoB,YAAYgB,GAC3CzB,GAAUA,EAAO5D,KAAKiD,OAIxBJ,EAAKpB,UAAUsD,KAAO,SAASxC,GAAU,IAAAkD,EAELxC,KAAKF,QAAhCc,EAFgC4B,EAEhC5B,IAAKC,EAF2B2B,EAE3B3B,OAAQH,EAFmB8B,EAEnB9B,YACpB,EAAA9B,EAAA6D,UACE7B,MACAC,SACA6B,QAAS,SAAAC,GACP,IAAIZ,EAAOY,EAEPjC,IACFqB,EAAOrB,EAAWiC,IAEpBrD,EAASyC,OAKfnC,EAAKpB,UAAU6D,OAAS,SAASpC,GAC/B,IAAM2C,EAAUhD,EAAKiD,gBACrBD,EAAQE,YAAY9C,KAAK+C,UAAU9C,EAAW,IAC9CD,KAAKgD,UAAUJ,GACf,IAAMK,EAAMC,SAASC,cAAcnD,KAAKH,YA5I1C,SAAeoD,GACb,KAAOA,EAAIG,YACTH,EAAII,YAAYJ,EAAIG,YA2ItBE,CAAML,GACNA,EAAIH,YAAYF,IAGlBhD,EAAKpB,UAAUuE,UAAY,SAASzB,EAAOiC,GAAO,IAAAC,EAAAxD,KAC1CyD,EAAY7D,EAAK8D,cAgBvB,OAfIpC,GAASA,EAAMiB,QACjBjB,EAAMqC,QAAQ,SAAAlC,GACZ,IAAMmC,EAAQhE,EAAKiE,YACjBpC,EACA8B,IAAUC,EAAK1D,QAAQgB,WAAa,GAEtC0C,EAAKpD,eAAeqB,EAAKF,IAAMqC,EAC/B,IAAIE,EAAQ,KACRrC,EAAKE,UAAYF,EAAKE,SAASY,SACjCuB,EAAQN,EAAKT,UAAUtB,EAAKE,SAAU4B,EAAQ,IAEhDO,GAASF,EAAMd,YAAYgB,GAC3BL,EAAUX,YAAYc,KAGnBH,GAGT7D,EAAKpB,UAAUwE,UAAY,SAASC,GAAK,IAAAc,EAAA/D,KACvCiD,EAAIe,iBACF,QACA,SAAAC,GAAK,IACIC,EAAUD,EAAVC,OAEe,SAApBA,EAAOC,WACND,EAAOE,UAAUC,SAAS,oBACzBH,EAAOE,UAAUC,SAAS,iBAE5BN,EAAKO,YAAYJ,EAAOK,WAAWC,QAEf,OAApBN,EAAOC,UACPD,EAAOE,UAAUC,SAAS,eAE1BN,EAAKO,YAAYJ,EAAOM,QAEJ,SAApBN,EAAOC,UACPD,EAAOE,UAAUC,SAAS,oBAE1BN,EAAKU,gBAAgBP,KAGzB,IAIJtE,EAAKpB,UAAU8F,YAAc,SAAS/C,GAEpC,IAAME,EAAOzB,KAAKE,UAAUqB,GACrBmD,EAAY1E,KAAKF,QAAjB4E,SACFjD,EAAKI,WACR7B,KAAK2E,SAASpD,GACdvB,KAAK4E,oBAEPF,GAAYA,EAAS3H,KAAKiD,OAI5BJ,EAAKpB,UAAUmG,SAAW,SAAS9G,GACjC,IAAM4D,EAAOzB,KAAKE,UAAUrC,GAC5B,GAAK4D,EAAL,CACA,IAAMoD,EAAapD,EAAKD,OAClBA,EAAwB,IAAfqD,GAAmC,IAAfA,EAAmB,EAAI,EAC1DpD,EAAKD,OAASA,EACdxB,KAAK8E,mBAAmBrD,GACxBzB,KAAK+E,OAAOtD,EAAM,UAClBzB,KAAKgF,SAASvD,EAAM,YAGtB7B,EAAKpB,UAAUwC,UAAY,WACzB,IAAMR,KACN,IAAK,IAAIe,KAAMvB,KAAKG,cACdH,KAAKG,cAAc1B,eAAe8C,KAEA,IAAlCvB,KAAKG,cAAcoB,GAAIC,QACW,IAAlCxB,KAAKG,cAAcoB,GAAIC,QAEvBhB,EAAOrB,KAAKoC,IAIlB,OAAOf,GAGTZ,EAAKpB,UAAU0C,UAAY,SAASV,GAAQ,IAAAyE,EAAAjF,KAC1CA,KAAKkF,wBACL1E,EAAOmD,QAAQ,SAAA9F,GACboH,EAAKN,SAAS9G,KAEhBmC,KAAK4E,mBALqC,IAMnCF,EAAY1E,KAAKF,QAAjB4E,SACPA,GAAYA,EAAS3H,KAAKiD,OAG5BJ,EAAKpB,UAAU2G,WAAa,SAAStH,GACnC,IAAM4D,EAAOzB,KAAKE,UAAUrC,GACvB4D,IACgBA,EAAKI,WAExBJ,EAAKI,UAAW,EAChB7B,KAAK8E,mBAAmBrD,GACxBzB,KAAK+E,OAAOtD,EAAM,YAClBzB,KAAKgF,SAASvD,EAAM,eAIxB7B,EAAKpB,UAAU2C,YAAc,WAC3B,IAAMX,KACN,IAAK,IAAIe,KAAMvB,KAAKG,cACdH,KAAKG,cAAc1B,eAAe8C,IAChCvB,KAAKG,cAAcoB,GAAIM,UACzBrB,EAAOrB,KAAKoC,GAIlB,OAAOf,GAGTZ,EAAKpB,UAAU4C,YAAc,SAASZ,GAAQ,IAAA4E,EAAApF,KAC5CA,KAAKqF,oBACL7E,EAAOmD,QAAQ,SAAA9F,GACbuH,EAAKD,WAAWtH,KAElBmC,KAAK4E,oBAGPhF,EAAKpB,UAAU0G,sBAAwB,WACrClF,KAAKK,oBAAsBL,KAAKsF,uBAChChI,OAAOkD,OAAOR,KAAKK,qBAAqBsD,QAAQ,SAAAlC,GACzCA,EAAKI,WAAUJ,EAAKD,OAAS,MAItC5B,EAAKpB,UAAU6G,kBAAoB,WACjCrF,KAAKK,oBAAsBL,KAAKuF,uBAChCjI,OAAOkD,OAAOR,KAAKK,qBAAqBsD,QAAQ,SAAAlC,GAC9CA,EAAKI,UAAW,KAIpBjC,EAAKpB,UAAU8G,qBAAuB,WACpC,OAAOhI,OAAOkI,QAAQxF,KAAKE,WAAWlB,OAAO,SAACC,EAADwG,GAAqB,IAAAC,EAAAC,EAAAF,EAAA,GAAdlE,EAAcmE,EAAA,GAAVjE,EAAUiE,EAAA,GAIhE,OAHoB,IAAhBjE,EAAKD,QAAgC,IAAhBC,EAAKD,SAC5BvC,EAAIsC,GAAME,GAELxC,QAIXW,EAAKpB,UAAU+G,qBAAuB,WACpC,OAAOjI,OAAOkI,QAAQxF,KAAKE,WAAWlB,OAAO,SAACC,EAAD2G,GAAqB,IAAAC,EAAAF,EAAAC,EAAA,GAAdrE,EAAcsE,EAAA,GAAVpE,EAAUoE,EAAA,GAIhE,OAHIpE,EAAKI,WACP5C,EAAIsC,GAAME,GAELxC,QAIXW,EAAKpB,UAAUoG,iBAAmB,WAAW,IAAAkB,EAAA9F,KAC3C1C,OAAOkD,OAAOR,KAAKK,qBAAqBsD,QAAQ,SAAAlC,GAC9CqE,EAAKC,gBAAgBtE,KAEvBzB,KAAKK,wBAGPT,EAAKpB,UAAUsG,mBAAqB,SAASrD,GAC3CzB,KAAKK,oBAAoBoB,EAAKF,IAAME,GAGtC7B,EAAKpB,UAAUiG,gBAAkB,SAASP,GACxC,IAAMN,EAAQM,EAAOK,WACftB,EAAMW,EAAMoC,UACZC,EAAShD,EAAIiD,aACftC,EAAMQ,UAAUC,SAAS,sBAC3BjF,EAAU,KACRI,MADa,WAEXyD,EAAIkD,MAAMF,OAAS,EACnBhD,EAAIkD,MAAMC,QAAU,GAEtB3G,OALa,WAMXwD,EAAIkD,MAAMF,OAAV,GAAAI,OAAsBJ,EAAtB,MACAhD,EAAIkD,MAAMC,QAAU,GAEtBzG,MATa,WAUXsD,EAAIkD,MAAMF,OAAS,GACnBhD,EAAIkD,MAAMC,QAAU,GACpBxC,EAAMQ,UAAUkC,OAAO,yBAI3BlH,EAAU,KACRI,MADa,WAEXyD,EAAIkD,MAAMF,OAAV,GAAAI,OAAsBJ,EAAtB,MACAhD,EAAIkD,MAAMC,QAAU,GAEtB3G,OALa,WAMXwD,EAAIkD,MAAMF,OAAS,EACnBhD,EAAIkD,MAAMC,QAAU,GAEtBzG,MATa,WAUXsD,EAAIkD,MAAMF,OAAS,GACnBhD,EAAIkD,MAAMC,QAAU,GACpBxC,EAAMQ,UAAUmC,IAAI,0BAM5B3G,EAAKpB,UAAUuG,OAAS,SAAStD,EAAM+E,GAAa,IAC3C9E,EAAUD,EAAVC,OACP,GAAIA,EAAQ,CACV,GAAoB,WAAhB8E,EAA0B,CAC5B,IAAIC,EAAU,KACRC,EAAchF,EAAOC,SAAS3C,OAAO,SAACC,EAAK0H,GAC/C,OAAKC,MAAMD,EAAMnF,QACVvC,EAD0BA,EAAM0H,EAAMnF,QAE5C,GAMH,GAJEiF,EADEC,EACQA,IAAyC,EAAzBhF,EAAOC,SAASY,OAAa,EAAI,EAEjD,EAERb,EAAOF,SAAWiF,EAAS,OAC/B/E,EAAOF,OAASiF,MACX,CACL,IAAMI,EAAYnF,EAAOC,SAAS3C,OAChC,SAACC,EAAK0H,GAAN,OAAgB1H,GAAO0H,EAAM9E,WAC7B,GAEF,GAAIH,EAAOG,WAAagF,EAAW,OACnCnF,EAAOG,SAAWgF,EAEpB7G,KAAK8E,mBAAmBpD,GACxB1B,KAAK+E,OAAOrD,EAAQ8E,KAIxB5G,EAAKpB,UAAUwG,SAAW,SAASvD,EAAM+E,GAAa,IAAAM,EAAA9G,KAChDyB,EAAKE,UAAYF,EAAKE,SAASY,QACjCd,EAAKE,SAASgC,QAAQ,SAAAgD,GACA,WAAhBH,GAA4BG,EAAM9E,WACtC8E,EAAMH,GAAe/E,EAAK+E,GAC1BM,EAAKhC,mBAAmB6B,GACxBG,EAAK9B,SAAS2B,EAAOH,OAK3B5G,EAAKpB,UAAUuH,gBAAkB,SAAStE,GAAM,IACvC2C,EAAapE,KAAKI,eAAeqB,EAAKF,IAAtC6C,UACP,OAAQ3C,EAAKD,QACX,KAAK,EACH4C,EAAUkC,OAAO,2BAA4B,wBAC7C,MACF,KAAK,EACHlC,EAAUkC,OAAO,wBACjBlC,EAAUmC,IAAI,4BACd,MACF,KAAK,EACHnC,EAAUkC,OAAO,4BACjBlC,EAAUmC,IAAI,wBAIlB,OAAQ9E,EAAKI,UACX,KAAK,EACEuC,EAAUC,SAAS,0BACtBD,EAAUmC,IAAI,yBAChB,MACF,KAAK,EACCnC,EAAUC,SAAS,0BACrBD,EAAUkC,OAAO,2BAKzB1G,EAAKsC,cAAgB,SAASH,GAC5B,IAtbiBgF,EAsbX9G,GAtbW8G,EAsbWhF,EArbrBiF,KAAKC,MAAMD,KAAKE,UAAUH,KAsb3B7G,KACAC,KACAK,KACAC,KAeN,OAdiB,SAAX0G,EAAoB7F,EAAOI,GAC/BJ,EAAMqC,QAAQ,SAAAlC,GACZvB,EAAUuB,EAAKF,IAAME,EACjBA,EAAK2F,SAAS5G,EAAOrB,KAAKsC,EAAKF,IAC/BE,EAAKI,UAAUpB,EAAStB,KAAKsC,EAAKF,IAClCG,IAAQD,EAAKC,OAASA,GACtBD,EAAKE,UAAYF,EAAKE,SAASY,OACjC4E,EAAS1F,EAAKE,SAAUF,GAExBtB,EAAcsB,EAAKF,IAAME,IAI/B0F,CAASlH,IAEPA,YACAC,YACAC,gBACAgC,cAAe3B,EACf4B,gBAAiB3B,IAIrBb,EAAKiD,cAAgB,WACnB,IAAMwE,EAAMnE,SAASoE,cAAc,OAEnC,OADAD,EAAIjD,UAAUmC,IAAI,UACXc,GAGTzH,EAAK8D,YAAc,WACjB,IAAM6D,EAAKrE,SAASoE,cAAc,MAElC,OADAC,EAAGnD,UAAUmC,IAAI,gBACVgB,GAGT3H,EAAKiE,YAAc,SAASpC,EAAM+F,GAChC,IAAMC,EAAKvE,SAASoE,cAAc,MAGlC,GAFAG,EAAGrD,UAAUmC,IAAI,eACbiB,GAAQC,EAAGrD,UAAUmC,IAAI,sBACzB9E,EAAKE,UAAYF,EAAKE,SAASY,OAAQ,CACzC,IAAMmF,EAAWxE,SAASoE,cAAc,QACxCI,EAAStD,UAAUmC,IAAI,mBACvBkB,EAAG3E,YAAY4E,QAEfD,EAAGrD,UAAUmC,IAAI,sBAEnB,IAAMoB,EAAWzE,SAASoE,cAAc,QACxCK,EAASvD,UAAUmC,IAAI,mBACvBkB,EAAG3E,YAAY6E,GACf,IAAMC,EAAQ1E,SAASoE,cAAc,QACrCM,EAAMxD,UAAUmC,IAAI,gBACpB,IAAMsB,EAAO3E,SAAS4E,eAAerG,EAAKoG,MAI1C,OAHAD,EAAM9E,YAAY+E,GAClBJ,EAAG3E,YAAY8E,GACfH,EAAGjD,OAAS/C,EAAKF,GACVkG,4FCrfM,SAASM,GACtB,IAAMC,GACJnH,OAAQ,MACRD,IAAK,GACLqH,OAAO,EACPvF,QAAS,KACTwF,OAAQ,KACRC,eAAgB,mCAEZrI,EAAUxC,OAAOgD,OAAO0H,EAAgBD,GACxCK,EAAM,IAAIC,eAEVC,EAAWhL,OAAOkI,QAAQ1F,EAAQiC,MACrC/C,OAAO,SAACC,EAADwG,GAAuB,QAAAC,KAAA,8CAAAD,kVAAhBtH,EAAgBuH,EAAA,GAAX7H,EAAW6H,EAAA,GAE7B,OADAzG,EAAIE,KAAJ,GAAAkH,OAAYlI,EAAZ,KAAAkI,OAAmBxI,IACZoB,OAERsJ,KAAK,KAER,GAAqC,SAAjCzI,EAAQe,OAAO2H,cACjBJ,EAAIK,KAAK3I,EAAQe,OAAQf,EAAQc,IAAKd,EAAQmI,OAC9CG,EAAIM,iBAAiB,eAAgB5I,EAAQ,iBAC7CsI,EAAIO,KAAKL,QACJ,GAAqC,QAAjCxI,EAAQe,OAAO2H,cAAyB,KAC5C5H,EAAOd,EAAPc,IACD0H,IACE1H,EAAIgI,QAAQ,KACdhI,cAAW0H,IAKfF,EAAIK,KAAK3I,EAAQe,OAAQD,EAAKd,EAAQmI,OACtCG,EAAIM,iBAAiB,eAAgB5I,EAAQ,iBAC7CsI,EAAIO,KAAK,MAEXP,EAAIS,mBAAqB,WACvB,GAAuB,IAAnBT,EAAIU,YAAmC,MAAfV,EAAI5G,OAAgB,CAC9C,IAAIuH,EAAMX,EAAIY,aACVlJ,EAAQ,kBAAoBkI,EAAe,kBAC7Ce,EAAM/B,KAAKC,MAAM8B,IAEnBjJ,EAAQ4C,SAAW5C,EAAQ4C,QAAQqG,QAEnCjJ,EAAQoI,QAAUpI,EAAQoI,OAAOE,EAAI5G,2BC3C3C,IAAAyH,EAAAvM,EAAA,GAEA,kBAAAuM,QAAA5M,EAAAO,EAAAqM,EAAA,MAOA,IAAAnJ,GAAeoJ,KAAA,EAEfC,eAPAA,EAQAC,gBAAAC,GAEA3M,EAAA,EAAAA,CAAAuM,EAAAnJ,GAEAmJ,EAAAK,SAAAjN,EAAAD,QAAA6M,EAAAK,0BCjBAjN,EAAAD,QAAAM,EAAA,EAAAA,EAAA,IAKAyC,MAAA9C,EAAAO,EAAA,wjIAA6kI,oBCA7kIP,EAAAD,QAAA,SAAAmN,GACA,IAAAC,KAwCA,OArCAA,EAAAC,SAAA,WACA,OAAAzJ,KAAAjB,IAAA,SAAAG,GACA,IAAA+J,EAsCA,SAAA/J,EAAAqK,GACA,IAAAN,EAAA/J,EAAA,OACAwK,EAAAxK,EAAA,GACA,IAAAwK,EACA,OAAAT,EAGA,GAAAM,GAAA,oBAAAI,KAAA,CACA,IAAAC,GAYAC,EAZAH,EAiBA,mEAHAC,KAAAG,SAAAC,mBAAA/C,KAAAE,UAAA2C,MAGA,OAhBAG,EAAAN,EAAAO,QAAAlL,IAAA,SAAAmL,GACA,uBAAAR,EAAAS,WAAAD,EAAA,QAGA,OAAAjB,GAAA5C,OAAA2D,GAAA3D,QAAAuD,IAAArB,KAAA,MAOA,IAAAsB,EAJA,OAAAZ,GAAAV,KAAA,MAtDA6B,CAAAlL,EAAAqK,GACA,OAAArK,EAAA,GACA,UAAAA,EAAA,OAAmC+J,EAAA,IAEnCA,IAEGV,KAAA,KAIHiB,EAAA5M,EAAA,SAAAE,EAAAuN,GACA,kBAAAvN,IACAA,IAAA,KAAAA,EAAA,MAEA,IADA,IAAAwN,KACA1N,EAAA,EAAgBA,EAAAoD,KAAAuC,OAAiB3F,IAAA,CACjC,IAAA2E,EAAAvB,KAAApD,GAAA,GACA,kBAAA2E,IACA+I,EAAA/I,IAAA,GAEA,IAAA3E,EAAA,EAAYA,EAAAE,EAAAyF,OAAoB3F,IAAA,CAChC,IAAAsC,EAAApC,EAAAF,GAKA,kBAAAsC,EAAA,IAAAoL,EAAApL,EAAA,MACAmL,IAAAnL,EAAA,GACAA,EAAA,GAAAmL,EACKA,IACLnL,EAAA,OAAAA,EAAA,aAAAmL,EAAA,KAEAb,EAAArK,KAAAD,MAIAsK,oBCzCA,IAEAe,EACAC,EAHAC,KAWAC,GATAH,EASA,WAMA,OAAA/N,QAAA0G,mBAAAyH,MAAAnO,OAAAoO,MAZA,WAEA,MADA,qBAAAJ,MAAAD,EAAAM,MAAA7K,KAAA8K,YACAN,IAiBAO,EAAA,SAAAR,GACA,IAAAC,KAEA,gBAAAtG,GAMA,uBAAAA,EACA,OAAAA,IAEA,wBAAAsG,EAAAtG,GAAA,CACA,IAAA8G,EAjBA,SAAA9G,GACA,OAAAhB,SAAAC,cAAAe,IAgBAnH,KAAAiD,KAAAkE,GAEA,GAAA1H,OAAAyO,mBAAAD,aAAAxO,OAAAyO,kBACA,IAGAD,IAAAE,gBAAAC,KACK,MAAAlH,GACL+G,EAAA,KAGAR,EAAAtG,GAAA8G,EAEA,OAAAR,EAAAtG,IA1BA,GA8BAkH,EAAA,KACAC,EAAA,EACAC,KAEAC,EAAA7O,EAAA,GAqDA,SAAA8O,EAAAC,EAAA3L,GACA,QAAAlD,EAAA,EAAgBA,EAAA6O,EAAAlJ,OAAmB3F,IAAA,CACnC,IAAAsC,EAAAuM,EAAA7O,GACA8O,EAAAjB,EAAAvL,EAAAqC,IAEA,GAAAmK,EAAA,CACAA,EAAAC,OAEA,QAAAC,EAAA,EAAiBA,EAAAF,EAAAG,MAAAtJ,OAA2BqJ,IAC5CF,EAAAG,MAAAD,GAAA1M,EAAA2M,MAAAD,IAGA,KAAQA,EAAA1M,EAAA2M,MAAAtJ,OAAuBqJ,IAC/BF,EAAAG,MAAA1M,KAAA2M,EAAA5M,EAAA2M,MAAAD,GAAA9L,QAEG,CACH,IAAA+L,KAEA,IAAAD,EAAA,EAAiBA,EAAA1M,EAAA2M,MAAAtJ,OAAuBqJ,IACxCC,EAAA1M,KAAA2M,EAAA5M,EAAA2M,MAAAD,GAAA9L,IAGA2K,EAAAvL,EAAAqC,KAA2BA,GAAArC,EAAAqC,GAAAoK,KAAA,EAAAE,WAK3B,SAAAE,EAAAvC,EAAA1J,GAIA,IAHA,IAAA2L,KACAO,KAEApP,EAAA,EAAgBA,EAAA4M,EAAAjH,OAAiB3F,IAAA,CACjC,IAAAsC,EAAAsK,EAAA5M,GACA2E,EAAAzB,EAAAmM,KAAA/M,EAAA,GAAAY,EAAAmM,KAAA/M,EAAA,GAIAgN,GAAcC,IAHdjN,EAAA,GAGckN,MAFdlN,EAAA,GAEc2K,UADd3K,EAAA,IAGA8M,EAAAzK,GACAyK,EAAAzK,GAAAsK,MAAA1M,KAAA+M,GADAT,EAAAtM,KAAA6M,EAAAzK,IAAkDA,KAAAsK,OAAAK,KAIlD,OAAAT,EAGA,SAAAY,EAAAvM,EAAAqG,GACA,IAAAjC,EAAA6G,EAAAjL,EAAAsJ,YAEA,IAAAlF,EACA,UAAAoI,MAAA,+GAGA,IAAAC,EAAAjB,IAAA/I,OAAA,GAEA,WAAAzC,EAAA0M,SACAD,EAEGA,EAAAE,YACHvI,EAAAwI,aAAAvG,EAAAoG,EAAAE,aAEAvI,EAAApB,YAAAqD,GAJAjC,EAAAwI,aAAAvG,EAAAjC,EAAAd,YAMAkI,EAAAnM,KAAAgH,QACE,cAAArG,EAAA0M,SACFtI,EAAApB,YAAAqD,OACE,sBAAArG,EAAA0M,WAAA1M,EAAA0M,SAAAG,OAIF,UAAAL,MAAA,8LAHA,IAAAG,EAAA1B,EAAAjL,EAAAsJ,WAAA,IAAAtJ,EAAA0M,SAAAG,QACAzI,EAAAwI,aAAAvG,EAAAsG,IAMA,SAAAG,EAAAzG,GACA,UAAAA,EAAA5B,WAAA,SACA4B,EAAA5B,WAAAlB,YAAA8C,GAEA,IAAA0G,EAAAvB,EAAA1C,QAAAzC,GACA0G,GAAA,GACAvB,EAAAwB,OAAAD,EAAA,GAIA,SAAAE,EAAAjN,GACA,IAAAqG,EAAAjD,SAAAoE,cAAA,SASA,YAPA+B,IAAAvJ,EAAAkN,MAAAC,OACAnN,EAAAkN,MAAAC,KAAA,YAGAC,EAAA/G,EAAArG,EAAAkN,OACAX,EAAAvM,EAAAqG,GAEAA,EAiBA,SAAA+G,EAAAC,EAAAH,GACA1P,OAAA8P,KAAAJ,GAAArJ,QAAA,SAAAxF,GACAgP,EAAAE,aAAAlP,EAAA6O,EAAA7O,MAIA,SAAA2N,EAAA/E,EAAAjH,GACA,IAAAqG,EAAAmH,EAAAhH,EAAA3D,EAGA,GAAA7C,EAAAqJ,WAAApC,EAAAoF,IAAA,CAGA,KAFAxJ,EAAA7C,EAAAqJ,UAAApC,EAAAoF,MASA,oBAJApF,EAAAoF,IAAAxJ,EAUA,GAAA7C,EAAAsL,UAAA,CACA,IAAAmC,EAAAlC,IAEAlF,EAAAiF,MAAA2B,EAAAjN,IAEAwN,EAAAE,EAAApP,KAAA,KAAA+H,EAAAoH,GAAA,GACAjH,EAAAkH,EAAApP,KAAA,KAAA+H,EAAAoH,GAAA,QAGAxG,EAAA8C,WACA,oBAAA4D,KACA,oBAAAA,IAAAC,iBACA,oBAAAD,IAAAE,iBACA,oBAAAC,MACA,oBAAAjE,MAEAxD,EAxDA,SAAArG,GACA,IAAA+N,EAAA3K,SAAAoE,cAAA,QAUA,YARA+B,IAAAvJ,EAAAkN,MAAAC,OACAnN,EAAAkN,MAAAC,KAAA,YAEAnN,EAAAkN,MAAAc,IAAA,aAEAZ,EAAAW,EAAA/N,EAAAkN,OACAX,EAAAvM,EAAA+N,GAEAA,EA6CAE,CAAAjO,GACAwN,EAiFA,SAAAO,EAAA/N,EAAAiH,GACA,IAAAoF,EAAApF,EAAAoF,IACAtC,EAAA9C,EAAA8C,UAQAmE,OAAA3E,IAAAvJ,EAAAmO,uBAAApE,GAEA/J,EAAAmO,uBAAAD,KACA7B,EAAAZ,EAAAY,IAGAtC,IAEAsC,GAAA,uDAAuDxC,KAAAG,SAAAC,mBAAA/C,KAAAE,UAAA2C,MAAA,OAGvD,IAAAqE,EAAA,IAAAN,MAAAzB,IAA6Bc,KAAA,aAE7BkB,EAAAN,EAAAO,KAEAP,EAAAO,KAAAX,IAAAC,gBAAAQ,GAEAC,GAAAV,IAAAE,gBAAAQ,IA5GA/P,KAAA,KAAA+H,EAAArG,GACAwG,EAAA,WACAsG,EAAAzG,GAEAA,EAAAiI,MAAAX,IAAAE,gBAAAxH,EAAAiI,SAGAjI,EAAA4G,EAAAjN,GACAwN,EAsDA,SAAAnH,EAAAY,GACA,IAAAoF,EAAApF,EAAAoF,IACAC,EAAArF,EAAAqF,MAEAA,GACAjG,EAAAkH,aAAA,QAAAjB,GAGA,GAAAjG,EAAAkI,WACAlI,EAAAkI,WAAAC,QAAAnC,MACE,CACF,KAAAhG,EAAA/C,YACA+C,EAAA9C,YAAA8C,EAAA/C,YAGA+C,EAAArD,YAAAI,SAAA4E,eAAAqE,MArEA/N,KAAA,KAAA+H,GACAG,EAAA,WACAsG,EAAAzG,KAMA,OAFAmH,EAAAvG,GAEA,SAAAwH,GACA,GAAAA,EAAA,CACA,GACAA,EAAApC,MAAApF,EAAAoF,KACAoC,EAAAnC,QAAArF,EAAAqF,OACAmC,EAAA1E,YAAA9C,EAAA8C,UAEA,OAGAyD,EAAAvG,EAAAwH,QAEAjI,KAzOAjK,EAAAD,QAAA,SAAAoN,EAAA1J,GACA,wBAAA0O,cACA,kBAAAtL,SAAA,UAAAoJ,MAAA,iEAGAxM,SAEAkN,MAAA,kBAAAlN,EAAAkN,MAAAlN,EAAAkN,SAIAlN,EAAAsL,WAAA,mBAAAtL,EAAAsL,YAAAtL,EAAAsL,UAAAV,KAGA5K,EAAAsJ,aAAAtJ,EAAAsJ,WAAA,QAGAtJ,EAAA0M,WAAA1M,EAAA0M,SAAA,UAEA,IAAAf,EAAAM,EAAAvC,EAAA1J,GAIA,OAFA0L,EAAAC,EAAA3L,GAEA,SAAA2O,GAGA,IAFA,IAAAC,KAEA9R,EAAA,EAAiBA,EAAA6O,EAAAlJ,OAAmB3F,IAAA,CACpC,IAAAsC,EAAAuM,EAAA7O,IACA8O,EAAAjB,EAAAvL,EAAAqC,KAEAoK,OACA+C,EAAAvP,KAAAuM,GAGA+C,GAEAjD,EADAO,EAAA0C,EAAA3O,GACAA,GAGA,IAAAlD,EAAA,EAAiBA,EAAA8R,EAAAnM,OAAsB3F,IAAA,CACvC,IAAA8O,EAEA,QAFAA,EAAAgD,EAAA9R,IAEA+O,KAAA,CACA,QAAAC,EAAA,EAAmBA,EAAAF,EAAAG,MAAAtJ,OAA2BqJ,IAAAF,EAAAG,MAAAD,YAE9CnB,EAAAiB,EAAAnK,QAiMA,IACAoN,EADAC,GACAD,KAEA,SAAAE,EAAAC,GAGA,OAFAH,EAAAE,GAAAC,EAEAH,EAAAI,OAAAC,SAAAzG,KAAA,QAIA,SAAAiF,EAAArH,EAAA0I,EAAAvI,EAAAS,GACA,IAAAoF,EAAA7F,EAAA,GAAAS,EAAAoF,IAEA,GAAAhG,EAAAkI,WACAlI,EAAAkI,WAAAC,QAAAM,EAAAC,EAAA1C,OACE,CACF,IAAA8C,EAAA/L,SAAA4E,eAAAqE,GACA+C,EAAA/I,EAAA+I,WAEAA,EAAAL,IAAA1I,EAAA9C,YAAA6L,EAAAL,IAEAK,EAAA3M,OACA4D,EAAAuG,aAAAuC,EAAAC,EAAAL,IAEA1I,EAAArD,YAAAmM,oBCzTA5S,EAAAD,QAAA,SAAA+P,GAEA,IAAAgD,EAAA,qBAAA3S,eAAA2S,SAEA,IAAAA,EACA,UAAA7C,MAAA,oCAIA,IAAAH,GAAA,kBAAAA,EACA,OAAAA,EAGA,IAAAiD,EAAAD,EAAAE,SAAA,KAAAF,EAAAG,KACAC,EAAAH,EAAAD,EAAAK,SAAAC,QAAA,iBA2DA,OA/BAtD,EAAAsD,QAAA,+DAAAC,EAAAC,GAEA,IAWAC,EAXAC,EAAAF,EACAG,OACAL,QAAA,oBAAApS,EAAA0S,GAAwC,OAAAA,IACxCN,QAAA,oBAAApS,EAAA0S,GAAwC,OAAAA,IAGxC,0DAAAC,KAAAH,GACAH,GAQAE,EAFA,IAAAC,EAAAjH,QAAA,MAEAiH,EACG,IAAAA,EAAAjH,QAAA,KAEHwG,EAAAS,EAGAN,EAAAM,EAAAJ,QAAA,YAIA,OAAAzI,KAAAE,UAAA0I,GAAA","file":"tree.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Tree\"] = factory();\n\telse\n\t\troot[\"Tree\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import ajax from './ajax';\nimport './index.less';\n\nfunction deepClone(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n\nfunction uniq(arr) {\n const map = {};\n return arr.reduce((acc, item) => {\n if (!map[item]) {\n map[item] = true;\n acc.push(item);\n }\n return acc;\n }, []);\n}\n\nfunction empty(ele) {\n while (ele.firstChild) {\n ele.removeChild(ele.firstChild);\n }\n}\n\nfunction animation(duration, callback) {\n requestAnimationFrame(() => {\n callback.enter();\n requestAnimationFrame(() => {\n callback.active();\n setTimeout(() => {\n callback.leave();\n }, duration);\n });\n });\n}\n\nexport default function Tree(container, options) {\n const defaultOptions = {\n selectMode: 'checkbox',\n values: [],\n disables: [],\n beforeLoad: null,\n loaded: null,\n url: null,\n method: 'GET',\n closeDepth: null,\n };\n this.treeNodes = [];\n this.nodesById = {};\n this.leafNodesById = {};\n this.liElementsById = {};\n this.willUpdateNodesById = {};\n this.container = container;\n this.options = Object.assign(defaultOptions, options);\n\n Object.defineProperties(this, {\n values: {\n get() {\n return this.getValues();\n },\n set(values) {\n return this.setValues(uniq(values));\n },\n },\n disables: {\n get() {\n return this.getDisables();\n },\n set(values) {\n return this.setDisables(uniq(values));\n },\n },\n selectedNodes: {\n get() {\n let nodes = [];\n let nodesById = this.nodesById;\n for (let id in nodesById) {\n if (\n nodesById.hasOwnProperty(id) &&\n (nodesById[id].status === 1 || nodesById[id].status === 2)\n ) {\n const node = Object.assign({}, nodesById[id]);\n delete node.parent;\n delete node.children;\n nodes.push(node);\n }\n }\n return nodes;\n },\n },\n disabledNodes: {\n get() {\n let nodes = [];\n let nodesById = this.nodesById;\n for (let id in nodesById) {\n if (nodesById.hasOwnProperty(id) && nodesById[id].disabled) {\n let node = Object.assign({}, nodesById[id]);\n delete node.parent;\n nodes.push(node);\n }\n }\n return nodes;\n },\n },\n });\n\n if (this.options.url) {\n this.load(data => {\n this.init(data);\n });\n } else {\n this.init(this.options.data);\n }\n}\n\nTree.prototype.init = function(data) {\n console.time('init');\n let {\n treeNodes,\n nodesById,\n leafNodesById,\n defaultValues,\n defaultDisables,\n } = Tree.parseTreeData(data);\n this.treeNodes = treeNodes;\n this.nodesById = nodesById;\n this.leafNodesById = leafNodesById;\n this.render(this.treeNodes);\n const {values, disables, loaded} = this.options;\n if (values && values.length) defaultValues = values;\n defaultValues.length && this.setValues(defaultValues);\n if (disables && disables.length) defaultDisables = disables;\n defaultDisables.length && this.setDisables(defaultDisables);\n loaded && loaded.call(this);\n console.timeEnd('init');\n};\n\nTree.prototype.load = function(callback) {\n console.time('load');\n const {url, method, beforeLoad} = this.options;\n ajax({\n url,\n method,\n success: result => {\n let data = result;\n console.timeEnd('load');\n if (beforeLoad) {\n data = beforeLoad(result);\n }\n callback(data);\n },\n });\n};\n\nTree.prototype.render = function(treeNodes) {\n const treeEle = Tree.createRootEle();\n treeEle.appendChild(this.buildTree(treeNodes, 0));\n this.bindEvent(treeEle);\n const ele = document.querySelector(this.container);\n empty(ele);\n ele.appendChild(treeEle);\n};\n\nTree.prototype.buildTree = function(nodes, depth) {\n const rootUlEle = Tree.createUlEle();\n if (nodes && nodes.length) {\n nodes.forEach(node => {\n const liEle = Tree.createLiEle(\n node,\n depth === this.options.closeDepth - 1\n );\n this.liElementsById[node.id] = liEle;\n let ulEle = null;\n if (node.children && node.children.length) {\n ulEle = this.buildTree(node.children, depth + 1);\n }\n ulEle && liEle.appendChild(ulEle);\n rootUlEle.appendChild(liEle);\n });\n }\n return rootUlEle;\n};\n\nTree.prototype.bindEvent = function(ele) {\n ele.addEventListener(\n 'click',\n e => {\n const {target} = e;\n if (\n target.nodeName === 'SPAN' &&\n (target.classList.contains('treejs-checkbox') ||\n target.classList.contains('treejs-label'))\n ) {\n this.onItemClick(target.parentNode.nodeId);\n } else if (\n target.nodeName === 'LI' &&\n target.classList.contains('treejs-node')\n ) {\n this.onItemClick(target.nodeId);\n } else if (\n target.nodeName === 'SPAN' &&\n target.classList.contains('treejs-switcher')\n ) {\n this.onSwitcherClick(target);\n }\n },\n false\n );\n};\n\nTree.prototype.onItemClick = function(id) {\n console.time('onItemClick');\n const node = this.nodesById[id];\n const {onChange} = this.options;\n if (!node.disabled) {\n this.setValue(id);\n this.updateLiElements();\n }\n onChange && onChange.call(this);\n console.timeEnd('onItemClick');\n};\n\nTree.prototype.setValue = function(value) {\n const node = this.nodesById[value];\n if (!node) return;\n const prevStatus = node.status;\n const status = prevStatus === 1 || prevStatus === 2 ? 0 : 2;\n node.status = status;\n this.markWillUpdateNode(node);\n this.walkUp(node, 'status');\n this.walkDown(node, 'status');\n};\n\nTree.prototype.getValues = function() {\n const values = [];\n for (let id in this.leafNodesById) {\n if (this.leafNodesById.hasOwnProperty(id)) {\n if (\n this.leafNodesById[id].status === 1 ||\n this.leafNodesById[id].status === 2\n ) {\n values.push(id);\n }\n }\n }\n return values;\n};\n\nTree.prototype.setValues = function(values) {\n this.emptyNodesCheckStatus();\n values.forEach(value => {\n this.setValue(value);\n });\n this.updateLiElements();\n const {onChange} = this.options;\n onChange && onChange.call(this);\n};\n\nTree.prototype.setDisable = function(value) {\n const node = this.nodesById[value];\n if (!node) return;\n const prevDisabled = node.disabled;\n if (!prevDisabled) {\n node.disabled = true;\n this.markWillUpdateNode(node);\n this.walkUp(node, 'disabled');\n this.walkDown(node, 'disabled');\n }\n};\n\nTree.prototype.getDisables = function() {\n const values = [];\n for (let id in this.leafNodesById) {\n if (this.leafNodesById.hasOwnProperty(id)) {\n if (this.leafNodesById[id].disabled) {\n values.push(id);\n }\n }\n }\n return values;\n};\n\nTree.prototype.setDisables = function(values) {\n this.emptyNodesDisable();\n values.forEach(value => {\n this.setDisable(value);\n });\n this.updateLiElements();\n};\n\nTree.prototype.emptyNodesCheckStatus = function() {\n this.willUpdateNodesById = this.getSelectedNodesById();\n Object.values(this.willUpdateNodesById).forEach(node => {\n if (!node.disabled) node.status = 0;\n });\n};\n\nTree.prototype.emptyNodesDisable = function() {\n this.willUpdateNodesById = this.getDisabledNodesById();\n Object.values(this.willUpdateNodesById).forEach(node => {\n node.disabled = false;\n });\n};\n\nTree.prototype.getSelectedNodesById = function() {\n return Object.entries(this.nodesById).reduce((acc, [id, node]) => {\n if (node.status === 1 || node.status === 2) {\n acc[id] = node;\n }\n return acc;\n }, {});\n};\n\nTree.prototype.getDisabledNodesById = function() {\n return Object.entries(this.nodesById).reduce((acc, [id, node]) => {\n if (node.disabled) {\n acc[id] = node;\n }\n return acc;\n }, {});\n};\n\nTree.prototype.updateLiElements = function() {\n Object.values(this.willUpdateNodesById).forEach(node => {\n this.updateLiElement(node);\n });\n this.willUpdateNodesById = {};\n};\n\nTree.prototype.markWillUpdateNode = function(node) {\n this.willUpdateNodesById[node.id] = node;\n};\n\nTree.prototype.onSwitcherClick = function(target) {\n const liEle = target.parentNode;\n const ele = liEle.lastChild;\n const height = ele.scrollHeight;\n if (liEle.classList.contains('treejs-node__close')) {\n animation(150, {\n enter() {\n ele.style.height = 0;\n ele.style.opacity = 0;\n },\n active() {\n ele.style.height = `${height}px`;\n ele.style.opacity = 1;\n },\n leave() {\n ele.style.height = '';\n ele.style.opacity = '';\n liEle.classList.remove('treejs-node__close');\n },\n });\n } else {\n animation(150, {\n enter() {\n ele.style.height = `${height}px`;\n ele.style.opacity = 1;\n },\n active() {\n ele.style.height = 0;\n ele.style.opacity = 0;\n },\n leave() {\n ele.style.height = '';\n ele.style.opacity = '';\n liEle.classList.add('treejs-node__close');\n },\n });\n }\n};\n\nTree.prototype.walkUp = function(node, changeState) {\n const {parent} = node;\n if (parent) {\n if (changeState === 'status') {\n let pStatus = null;\n const statusCount = parent.children.reduce((acc, child) => {\n if (!isNaN(child.status)) return acc + child.status;\n return acc;\n }, 0);\n if (statusCount) {\n pStatus = statusCount === parent.children.length * 2 ? 2 : 1;\n } else {\n pStatus = 0;\n }\n if (parent.status === pStatus) return;\n parent.status = pStatus;\n } else {\n const pDisabled = parent.children.reduce(\n (acc, child) => acc && child.disabled,\n true\n );\n if (parent.disabled === pDisabled) return;\n parent.disabled = pDisabled;\n }\n this.markWillUpdateNode(parent);\n this.walkUp(parent, changeState);\n }\n};\n\nTree.prototype.walkDown = function(node, changeState) {\n if (node.children && node.children.length) {\n node.children.forEach(child => {\n if (changeState === 'status' && child.disabled) return;\n child[changeState] = node[changeState];\n this.markWillUpdateNode(child);\n this.walkDown(child, changeState);\n });\n }\n};\n\nTree.prototype.updateLiElement = function(node) {\n const {classList} = this.liElementsById[node.id];\n switch (node.status) {\n case 0:\n classList.remove('treejs-node__halfchecked', 'treejs-node__checked');\n break;\n case 1:\n classList.remove('treejs-node__checked');\n classList.add('treejs-node__halfchecked');\n break;\n case 2:\n classList.remove('treejs-node__halfchecked');\n classList.add('treejs-node__checked');\n break;\n }\n\n switch (node.disabled) {\n case true:\n if (!classList.contains('treejs-node__disabled'))\n classList.add('treejs-node__disabled');\n break;\n case false:\n if (classList.contains('treejs-node__disabled'))\n classList.remove('treejs-node__disabled');\n break;\n }\n};\n\nTree.parseTreeData = function(data) {\n const treeNodes = deepClone(data);\n const nodesById = {};\n const leafNodesById = {};\n const values = [];\n const disables = [];\n const walkTree = function(nodes, parent) {\n nodes.forEach(node => {\n nodesById[node.id] = node;\n if (node.checked) values.push(node.id);\n if (node.disabled) disables.push(node.id);\n if (parent) node.parent = parent;\n if (node.children && node.children.length) {\n walkTree(node.children, node);\n } else {\n leafNodesById[node.id] = node;\n }\n });\n };\n walkTree(treeNodes);\n return {\n treeNodes,\n nodesById,\n leafNodesById,\n defaultValues: values,\n defaultDisables: disables,\n };\n};\n\nTree.createRootEle = function() {\n const div = document.createElement('div');\n div.classList.add('treejs');\n return div;\n};\n\nTree.createUlEle = function() {\n const ul = document.createElement('ul');\n ul.classList.add('treejs-nodes');\n return ul;\n};\n\nTree.createLiEle = function(node, closed) {\n const li = document.createElement('li');\n li.classList.add('treejs-node');\n if (closed) li.classList.add('treejs-node__close');\n if (node.children && node.children.length) {\n const switcher = document.createElement('span');\n switcher.classList.add('treejs-switcher');\n li.appendChild(switcher);\n } else {\n li.classList.add('treejs-placeholder');\n }\n const checkbox = document.createElement('span');\n checkbox.classList.add('treejs-checkbox');\n li.appendChild(checkbox);\n const label = document.createElement('span');\n label.classList.add('treejs-label');\n const text = document.createTextNode(node.text);\n label.appendChild(text);\n li.appendChild(label);\n li.nodeId = node.id;\n return li;\n};\n","export default function(_options) {\n const defaultOptions = {\n method: 'GET',\n url: '',\n async: true,\n success: null,\n failed: null,\n 'Content-Type': 'application/json; charset=utf-8',\n };\n const options = Object.assign(defaultOptions, _options);\n const xhr = new XMLHttpRequest();\n\n const postData = Object.entries(options.data)\n .reduce((acc, [key, value]) => {\n acc.push(`${key}=${value}`);\n return acc;\n }, [])\n .join('&');\n\n if (options.method.toUpperCase() === 'POST') {\n xhr.open(options.method, options.url, options.async);\n xhr.setRequestHeader('Content-Type', options['Content-Type']);\n xhr.send(postData);\n } else if (options.method.toUpperCase() === 'GET') {\n let {url} = options;\n if (postData) {\n if (url.indexOf('?') !== -1) {\n url += `&${postData}`;\n } else {\n url += `&${postData}`;\n }\n }\n xhr.open(options.method, url, options.async);\n xhr.setRequestHeader('Content-Type', options['Content-Type']);\n xhr.send(null);\n }\n xhr.onreadystatechange = function() {\n if (xhr.readyState === 4 && xhr.status === 200) {\n let res = xhr.responseText;\n if (options['Content-Type'] === defaultOptions['Content-Type']) {\n res = JSON.parse(res);\n }\n options.success && options.success(res);\n } else {\n options.failed && options.failed(xhr.status);\n }\n };\n}\n","\nvar content = require(\"!!../node_modules/css-loader/index.js!../node_modules/postcss-loader/lib/index.js??ref--5-2!../node_modules/less-loader/dist/cjs.js!./index.less\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../node_modules/css-loader/index.js!../node_modules/postcss-loader/lib/index.js??ref--5-2!../node_modules/less-loader/dist/cjs.js!./index.less\", function() {\n\t\tvar newContent = require(\"!!../node_modules/css-loader/index.js!../node_modules/postcss-loader/lib/index.js??ref--5-2!../node_modules/less-loader/dist/cjs.js!./index.less\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".treejs {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n font-size: 14px;\\n}\\n.treejs *:after,\\n.treejs *:before {\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.treejs > .treejs-node {\\n padding-left: 0;\\n}\\n.treejs .treejs-nodes {\\n list-style: none;\\n padding-left: 20px;\\n overflow: hidden;\\n -webkit-transition: height 150ms ease-out, opacity 150ms ease-out;\\n -o-transition: height 150ms ease-out, opacity 150ms ease-out;\\n transition: height 150ms ease-out, opacity 150ms ease-out;\\n}\\n.treejs .treejs-node {\\n cursor: pointer;\\n overflow: hidden;\\n}\\n.treejs .treejs-node.treejs-placeholder {\\n padding-left: 20px;\\n}\\n.treejs .treejs-switcher {\\n display: inline-block;\\n vertical-align: middle;\\n width: 20px;\\n height: 20px;\\n cursor: pointer;\\n position: relative;\\n -webkit-transition: -webkit-transform 150ms ease-out;\\n transition: -webkit-transform 150ms ease-out;\\n -o-transition: transform 150ms ease-out;\\n transition: transform 150ms ease-out;\\n transition: transform 150ms ease-out, -webkit-transform 150ms ease-out;\\n}\\n.treejs .treejs-switcher:before {\\n position: absolute;\\n top: 8px;\\n left: 6px;\\n display: block;\\n content: ' ';\\n border: 4px solid transparent;\\n border-top: 4px solid rgba(0, 0, 0, 0.4);\\n -webkit-transition: border-color 150ms;\\n -o-transition: border-color 150ms;\\n transition: border-color 150ms;\\n}\\n.treejs .treejs-switcher:hover:before {\\n border-top: 4px solid rgba(0, 0, 0, 0.65);\\n}\\n.treejs .treejs-node__close > .treejs-switcher {\\n -webkit-transform: rotate(-90deg);\\n -ms-transform: rotate(-90deg);\\n transform: rotate(-90deg);\\n}\\n.treejs .treejs-node__close > .treejs-nodes {\\n height: 0;\\n}\\n.treejs .treejs-checkbox {\\n display: inline-block;\\n vertical-align: middle;\\n width: 20px;\\n height: 20px;\\n cursor: pointer;\\n position: relative;\\n}\\n.treejs .treejs-checkbox:before {\\n -webkit-transition: all 0.3s;\\n -o-transition: all 0.3s;\\n transition: all 0.3s;\\n cursor: pointer;\\n position: absolute;\\n top: 2px;\\n content: ' ';\\n display: block;\\n width: 16px;\\n height: 16px;\\n border: 1px solid #d9d9d9;\\n border-radius: 2px;\\n}\\n.treejs .treejs-checkbox:hover:before {\\n -webkit-box-shadow: 0 0 2px 1px #1890ff;\\n box-shadow: 0 0 2px 1px #1890ff;\\n}\\n.treejs .treejs-node__checked > .treejs-checkbox:before {\\n background-color: #1890ff;\\n border-color: #1890ff;\\n}\\n.treejs .treejs-node__checked > .treejs-checkbox:after {\\n position: absolute;\\n content: ' ';\\n display: block;\\n top: 4px;\\n left: 5px;\\n width: 5px;\\n height: 9px;\\n border: 2px solid #fff;\\n border-top: none;\\n border-left: none;\\n -webkit-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n transform: rotate(45deg);\\n}\\n.treejs .treejs-node__halfchecked > .treejs-checkbox:before {\\n background-color: #1890ff;\\n border-color: #1890ff;\\n}\\n.treejs .treejs-node__halfchecked > .treejs-checkbox:after {\\n position: absolute;\\n content: ' ';\\n display: block;\\n top: 9px;\\n left: 3px;\\n width: 10px;\\n height: 2px;\\n background-color: #fff;\\n}\\n.treejs .treejs-node__disabled {\\n cursor: not-allowed;\\n color: rgba(0, 0, 0, 0.25);\\n}\\n.treejs .treejs-node__disabled .treejs-checkbox {\\n cursor: not-allowed;\\n}\\n.treejs .treejs-node__disabled .treejs-checkbox:before {\\n cursor: not-allowed;\\n border-color: #d9d9d9 !important;\\n background-color: #f5f5f5 !important;\\n}\\n.treejs .treejs-node__disabled .treejs-checkbox:hover:before {\\n -webkit-box-shadow: none !important;\\n box-shadow: none !important;\\n}\\n.treejs .treejs-node__disabled .treejs-node__checked > .treejs-checkbox:after {\\n border-color: #d9d9d9;\\n}\\n.treejs .treejs-node__disabled .treejs-node__halfchecked > .treejs-checkbox:after {\\n background-color: #d9d9d9;\\n}\\n.treejs .treejs-node__disabled.treejs-node__checked > .treejs-checkbox:after {\\n border-color: #d9d9d9;\\n}\\n.treejs .treejs-node__disabled.treejs-node__halfchecked > .treejs-checkbox:after {\\n background-color: #d9d9d9;\\n}\\n.treejs .treejs-label {\\n vertical-align: middle;\\n}\\n\", \"\"]);\n\n// exports\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target) {\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of