index.d.ts 1.4 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366
  1. // Generated by typings
  2. // Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/14c74ee373501a19c60253ab4aff0f9e2575516e/dojo/dojo.d.ts
  3. declare function define(dependencies: String[], factory: Function): any;
  4. declare function require(config?:Object, dependencies?: String[], callback?: Function): any;
  5. declare namespace dojox.dtl {
  6. interface __StringArgs { }
  7. interface __ObjectArgs { }
  8. }
  9. declare namespace dojo {
  10. /**
  11. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request.html
  12. *
  13. * Send a request using the default transport for the current platform.
  14. *
  15. * @param url The URL to request.
  16. * @param options OptionalOptions for the request.
  17. */
  18. interface request { (url: String, options?: dojo.request.__Options): void }
  19. interface request {
  20. /**
  21. * Send an HTTP DELETE request using the default transport for the current platform.
  22. *
  23. * @param url URL to request
  24. * @param options OptionalOptions for the request.
  25. */
  26. del(url: String, options?: dojo.request.__BaseOptions): dojo.request.__Promise;
  27. /**
  28. * Send an HTTP GET request using the default transport for the current platform.
  29. *
  30. * @param url URL to request
  31. * @param options OptionalOptions for the request.
  32. */
  33. get(url: String, options?: dojo.request.__BaseOptions): dojo.request.__Promise;
  34. /**
  35. * Send an HTTP POST request using the default transport for the current platform.
  36. *
  37. * @param url URL to request
  38. * @param options OptionalOptions for the request.
  39. */
  40. post(url: String, options?: dojo.request.__BaseOptions): any;
  41. /**
  42. * Send an HTTP POST request using the default transport for the current platform.
  43. *
  44. * @param url URL to request
  45. * @param options OptionalOptions for the request.
  46. */
  47. put(url: String, options?: dojo.request.__BaseOptions): dojo.request.__Promise;
  48. }
  49. namespace request {
  50. /**
  51. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/handlers.html
  52. *
  53. *
  54. * @param response
  55. */
  56. interface handlers { (response: any): void }
  57. interface handlers {
  58. /**
  59. *
  60. * @param name
  61. * @param handler
  62. */
  63. register(name: any, handler: any): void;
  64. }
  65. namespace handlers {
  66. }
  67. /**
  68. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/iframe.html
  69. *
  70. * Sends a request using an iframe element with the given URL and options.
  71. *
  72. * @param url URL to request
  73. * @param options OptionalOptions for the request.
  74. */
  75. interface iframe { (url: String, options?: dojo.request.iframe.__Options): void }
  76. interface iframe {
  77. /**
  78. *
  79. * @param name
  80. * @param onloadstr
  81. * @param uri
  82. */
  83. create(name: any, onloadstr: any, uri: any): any;
  84. /**
  85. *
  86. * @param iframeNode
  87. */
  88. doc(iframeNode: any): any;
  89. /**
  90. * Send an HTTP GET request using an iframe element with the given URL and options.
  91. *
  92. * @param url URL to request
  93. * @param options OptionalOptions for the request.
  94. */
  95. get(url: String, options?: dojo.request.iframe.__BaseOptions): dojo.request.__Promise;
  96. /**
  97. * Send an HTTP POST request using an iframe element with the given URL and options.
  98. *
  99. * @param url URL to request
  100. * @param options OptionalOptions for the request.
  101. */
  102. post(url: String, options?: dojo.request.iframe.__BaseOptions): dojo.request.__Promise;
  103. /**
  104. *
  105. * @param _iframe
  106. * @param src
  107. * @param replace
  108. */
  109. setSrc(_iframe: any, src: any, replace: any): void;
  110. }
  111. namespace iframe {
  112. /**
  113. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/iframe.__MethodOptions.html
  114. *
  115. *
  116. */
  117. class __MethodOptions {
  118. constructor();
  119. /**
  120. * The HTTP method to use to make the request. Must be
  121. * uppercase. Only "GET" and "POST" are accepted.
  122. * Default is "POST".
  123. *
  124. */
  125. "method": string;
  126. }
  127. /**
  128. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/iframe.__BaseOptions.html
  129. *
  130. *
  131. */
  132. class __BaseOptions {
  133. constructor();
  134. /**
  135. * Data to transfer. When making a GET request, this will
  136. * be converted to key=value parameters and appended to the
  137. * URL.
  138. *
  139. */
  140. "data": string;
  141. /**
  142. * A form node to use to submit data to the server.
  143. *
  144. */
  145. "form": HTMLElement;
  146. /**
  147. * How to handle the response from the server. Default is
  148. * 'text'. Other values are 'json', 'javascript', and 'xml'.
  149. *
  150. */
  151. "handleAs": string;
  152. /**
  153. * Whether to append a cache-busting parameter to the URL.
  154. *
  155. */
  156. "preventCache": boolean;
  157. /**
  158. * Query parameters to append to the URL.
  159. *
  160. */
  161. "query": string;
  162. /**
  163. * Milliseconds to wait for the response. If this time
  164. * passes, the then the promise is rejected.
  165. *
  166. */
  167. "timeout": number;
  168. }
  169. /**
  170. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/iframe.__Options.html
  171. *
  172. *
  173. */
  174. class __Options {
  175. constructor();
  176. /**
  177. * Data to transfer. When making a GET request, this will
  178. * be converted to key=value parameters and appended to the
  179. * URL.
  180. *
  181. */
  182. "data": string;
  183. /**
  184. * A form node to use to submit data to the server.
  185. *
  186. */
  187. "form": HTMLElement;
  188. /**
  189. * How to handle the response from the server. Default is
  190. * 'text'. Other values are 'json', 'javascript', and 'xml'.
  191. *
  192. */
  193. "handleAs": string;
  194. /**
  195. * The HTTP method to use to make the request. Must be
  196. * uppercase. Only "GET" and "POST" are accepted.
  197. * Default is "POST".
  198. *
  199. */
  200. "method": string;
  201. /**
  202. * Whether to append a cache-busting parameter to the URL.
  203. *
  204. */
  205. "preventCache": boolean;
  206. /**
  207. * Query parameters to append to the URL.
  208. *
  209. */
  210. "query": string;
  211. /**
  212. * Milliseconds to wait for the response. If this time
  213. * passes, the then the promise is rejected.
  214. *
  215. */
  216. "timeout": number;
  217. }
  218. }
  219. /**
  220. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/notify.html
  221. *
  222. * Register a listener to be notified when an event
  223. * in dojo/request happens.
  224. *
  225. * @param type OptionalThe event to listen for. Events emitted: "start", "send","load", "error", "done", "stop".
  226. * @param listener OptionalA callback to be run when an event happens.
  227. */
  228. interface notify { (type?: String, listener?: Function): void }
  229. interface notify {
  230. /**
  231. *
  232. * @param type
  233. * @param event
  234. * @param cancel
  235. */
  236. emit(type: any, event: any, cancel: any): void;
  237. }
  238. namespace notify {
  239. }
  240. /**
  241. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/registry.html
  242. *
  243. *
  244. * @param url
  245. * @param options
  246. */
  247. interface registry { (url: any, options: any): void }
  248. interface registry {
  249. /**
  250. *
  251. * @param id
  252. * @param parentRequire
  253. * @param loaded
  254. * @param config
  255. */
  256. load(id: any, parentRequire: any, loaded: any, config: any): void;
  257. /**
  258. *
  259. * @param url
  260. * @param provider
  261. * @param first
  262. */
  263. register(url: any, provider: any, first: any): void;
  264. }
  265. namespace registry {
  266. }
  267. /**
  268. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/node.html
  269. *
  270. * Sends a request using the included http or https interface from node.js
  271. * with the given URL and options.
  272. *
  273. * @param url URL to request
  274. * @param options OptionalOptions for the request.
  275. */
  276. interface node { (url: String, options?: dojo.request.node.__Options): void }
  277. interface node {
  278. /**
  279. * Send an HTTP DELETE request using XMLHttpRequest with the given URL and options.
  280. *
  281. * @param url URL to request
  282. * @param options OptionalOptions for the request.
  283. */
  284. del(url: String, options?: dojo.request.node.__BaseOptions): dojo.request.__Promise;
  285. /**
  286. * Send an HTTP GET request using XMLHttpRequest with the given URL and options.
  287. *
  288. * @param url URL to request
  289. * @param options OptionalOptions for the request.
  290. */
  291. get(url: String, options?: dojo.request.node.__BaseOptions): dojo.request.__Promise;
  292. /**
  293. * Send an HTTP POST request using XMLHttpRequest with the given URL and options.
  294. *
  295. * @param url URL to request
  296. * @param options OptionalOptions for the request.
  297. */
  298. post(url: String, options?: dojo.request.node.__BaseOptions): dojo.request.__Promise;
  299. /**
  300. * Send an HTTP PUT request using XMLHttpRequest with the given URL and options.
  301. *
  302. * @param url URL to request
  303. * @param options OptionalOptions for the request.
  304. */
  305. put(url: String, options?: dojo.request.node.__BaseOptions): dojo.request.__Promise;
  306. }
  307. namespace node {
  308. /**
  309. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/node.__MethodOptions.html
  310. *
  311. *
  312. */
  313. class __MethodOptions {
  314. constructor();
  315. /**
  316. * The HTTP method to use to make the request. Must be
  317. * uppercase. Default is "GET".
  318. *
  319. */
  320. "method": string;
  321. }
  322. /**
  323. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/node.__Options.html
  324. *
  325. *
  326. */
  327. class __Options {
  328. constructor();
  329. /**
  330. * Data to transfer. This is ignored for GET and DELETE
  331. * requests.
  332. *
  333. */
  334. "data": string;
  335. /**
  336. * How to handle the response from the server. Default is
  337. * 'text'. Other values are 'json', 'javascript', and 'xml'.
  338. *
  339. */
  340. "handleAs": string;
  341. /**
  342. * Headers to use for the request.
  343. *
  344. */
  345. "headers": Object;
  346. /**
  347. * The HTTP method to use to make the request. Must be
  348. * uppercase. Default is "GET".
  349. *
  350. */
  351. "method": string;
  352. /**
  353. * Password to use during the request.
  354. *
  355. */
  356. "password": string;
  357. /**
  358. * Whether to append a cache-busting parameter to the URL.
  359. *
  360. */
  361. "preventCache": boolean;
  362. /**
  363. * Query parameters to append to the URL.
  364. *
  365. */
  366. "query": string;
  367. /**
  368. * Milliseconds to wait for the response. If this time
  369. * passes, the then the promise is rejected.
  370. *
  371. */
  372. "timeout": number;
  373. /**
  374. * Username to use during the request.
  375. *
  376. */
  377. "user": string;
  378. }
  379. /**
  380. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/node.__BaseOptions.html
  381. *
  382. *
  383. */
  384. class __BaseOptions {
  385. constructor();
  386. /**
  387. * Data to transfer. This is ignored for GET and DELETE
  388. * requests.
  389. *
  390. */
  391. "data": string;
  392. /**
  393. * How to handle the response from the server. Default is
  394. * 'text'. Other values are 'json', 'javascript', and 'xml'.
  395. *
  396. */
  397. "handleAs": string;
  398. /**
  399. * Headers to use for the request.
  400. *
  401. */
  402. "headers": Object;
  403. /**
  404. * Password to use during the request.
  405. *
  406. */
  407. "password": string;
  408. /**
  409. * Whether to append a cache-busting parameter to the URL.
  410. *
  411. */
  412. "preventCache": boolean;
  413. /**
  414. * Query parameters to append to the URL.
  415. *
  416. */
  417. "query": string;
  418. /**
  419. * Milliseconds to wait for the response. If this time
  420. * passes, the then the promise is rejected.
  421. *
  422. */
  423. "timeout": number;
  424. /**
  425. * Username to use during the request.
  426. *
  427. */
  428. "user": string;
  429. }
  430. }
  431. /**
  432. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/watch.html
  433. *
  434. * Watches the io request represented by dfd to see if it completes.
  435. *
  436. * @param dfd The Deferred object to watch.
  437. */
  438. interface watch { (dfd: dojo.Deferred): void }
  439. interface watch {
  440. /**
  441. * Function used to check if basic IO call worked. Gets the dfd
  442. * object as its only argument.
  443. *
  444. */
  445. ioCheck: Function;
  446. /**
  447. * Function used to process response. Gets the dfd
  448. * object as its only argument.
  449. *
  450. */
  451. resHandle: Function;
  452. /**
  453. * Function used to check if the IO request is still valid. Gets the dfd
  454. * object as its only argument.
  455. *
  456. */
  457. validCheck: Function;
  458. /**
  459. * Cancels all pending IO requests, regardless of IO type
  460. *
  461. */
  462. cancelAll(): void;
  463. }
  464. namespace watch {
  465. }
  466. /**
  467. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/script.html
  468. *
  469. * Sends a request using a script element with the given URL and options.
  470. *
  471. * @param url URL to request
  472. * @param options OptionalOptions for the request.
  473. */
  474. interface script { (url: String, options?: dojo.request.script.__Options): void }
  475. interface script {
  476. /**
  477. * Send an HTTP GET request using a script element with the given URL and options.
  478. *
  479. * @param url URL to request
  480. * @param options OptionalOptions for the request.
  481. */
  482. get(url: String, options?: dojo.request.script.__BaseOptions): dojo.request.__Promise;
  483. }
  484. namespace script {
  485. /**
  486. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/script.__MethodOptions.html
  487. *
  488. *
  489. */
  490. class __MethodOptions {
  491. constructor();
  492. /**
  493. * This option is ignored. All requests using this transport are
  494. * GET requests.
  495. *
  496. */
  497. "method": string;
  498. }
  499. /**
  500. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/script.__BaseOptions.html
  501. *
  502. *
  503. */
  504. class __BaseOptions {
  505. constructor();
  506. /**
  507. * A string of JavaScript that when evaluated like so:
  508. * "typeof(" + checkString + ") != 'undefined'"
  509. * being true means that the script fetched has been loaded.
  510. * Do not use this if doing a JSONP type of call (use jsonp instead).
  511. *
  512. */
  513. "checkString": string;
  514. /**
  515. * Data to transfer. This is ignored for GET and DELETE
  516. * requests.
  517. *
  518. */
  519. "data": string;
  520. /**
  521. * The Document object of a child iframe. If this is passed in, the script
  522. * will be attached to that document. This can be helpful in some comet long-polling
  523. * scenarios with Firefox and Opera.
  524. *
  525. */
  526. "frameDoc": Object;
  527. /**
  528. * How to handle the response from the server. Default is
  529. * 'text'. Other values are 'json', 'javascript', and 'xml'.
  530. *
  531. */
  532. "handleAs": string;
  533. /**
  534. * The URL parameter name that indicates the JSONP callback string.
  535. * For instance, when using Yahoo JSONP calls it is normally,
  536. * jsonp: "callback". For AOL JSONP calls it is normally
  537. * jsonp: "c".
  538. *
  539. */
  540. "jsonp": string;
  541. /**
  542. * Whether to append a cache-busting parameter to the URL.
  543. *
  544. */
  545. "preventCache": boolean;
  546. /**
  547. * Query parameters to append to the URL.
  548. *
  549. */
  550. "query": string;
  551. /**
  552. * Milliseconds to wait for the response. If this time
  553. * passes, the then the promise is rejected.
  554. *
  555. */
  556. "timeout": number;
  557. }
  558. /**
  559. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/script.__Options.html
  560. *
  561. *
  562. */
  563. class __Options {
  564. constructor();
  565. /**
  566. * A string of JavaScript that when evaluated like so:
  567. * "typeof(" + checkString + ") != 'undefined'"
  568. * being true means that the script fetched has been loaded.
  569. * Do not use this if doing a JSONP type of call (use jsonp instead).
  570. *
  571. */
  572. "checkString": string;
  573. /**dojo
  574. * Data to transfer. This is ignored for GET and DELETE
  575. * requests.
  576. *
  577. */
  578. "data": string;
  579. /**
  580. * The Document object of a child iframe. If this is passed in, the script
  581. * will be attached to that document. This can be helpful in some comet long-polling
  582. * scenarios with Firefox and Opera.
  583. *
  584. */
  585. "frameDoc": Object;
  586. /**
  587. * How to handle the response from the server. Default is
  588. * 'text'. Other values are 'json', 'javascript', and 'xml'.
  589. *
  590. */
  591. "handleAs": string;
  592. /**
  593. * The URL parameter name that indicates the JSONP callback string.
  594. * For instance, when using Yahoo JSONP calls it is normally,
  595. * jsonp: "callback". For AOL JSONP calls it is normally
  596. * jsonp: "c".
  597. *
  598. */
  599. "jsonp": string;
  600. /**
  601. * This option is ignored. All requests using this transport are
  602. * GET requests.
  603. *
  604. */
  605. "method": string;
  606. /**
  607. * Whether to append a cache-busting parameter to the URL.
  608. *
  609. */
  610. "preventCache": boolean;
  611. /**
  612. * Query parameters to append to the URL.
  613. *
  614. */
  615. "query": string;
  616. /**
  617. * Milliseconds to wait for the response. If this time
  618. * passes, the then the promise is rejected.
  619. *
  620. */
  621. "timeout": number;
  622. }
  623. }
  624. /**
  625. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/xhr.html
  626. *
  627. * Sends a request using XMLHttpRequest with the given URL and options.
  628. *
  629. * @param url URL to request
  630. * @param options OptionalOptions for the request.
  631. */
  632. interface xhr { (url: String, options?: dojo.request.xhr.__Options): dojo.request.__Promise }
  633. interface xhr {
  634. /**
  635. * Send an HTTP DELETE request using XMLHttpRequest with the given URL and options.
  636. *
  637. * @param url URL to request
  638. * @param options OptionalOptions for the request.
  639. */
  640. del(url: String, options?: dojo.request.xhr.__BaseOptions): dojo.request.__Promise;
  641. /**
  642. * Send an HTTP GET request using XMLHttpRequest with the given URL and options.
  643. *
  644. * @param url URL to request
  645. * @param options OptionalOptions for the request.
  646. */
  647. get(url: String, options?: dojo.request.xhr.__BaseOptions): dojo.request.__Promise;
  648. /**
  649. * Send an HTTP POST request using XMLHttpRequest with the given URL and options.
  650. *
  651. * @param url URL to request
  652. * @param options OptionalOptions for the request.
  653. */
  654. post(url: String, options?: dojo.request.xhr.__BaseOptions): dojo.request.__Promise;
  655. /**
  656. * Send an HTTP PUT request using XMLHttpRequest with the given URL and options.
  657. *
  658. * @param url URL to request
  659. * @param options OptionalOptions for the request.
  660. */
  661. put(url: String, options?: dojo.request.xhr.__BaseOptions): dojo.request.__Promise;
  662. }
  663. namespace xhr {
  664. /**
  665. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/xhr.__BaseOptions.html
  666. *
  667. *
  668. */
  669. class __BaseOptions {
  670. constructor();
  671. /**
  672. * Data to transfer. This is ignored for GET and DELETE
  673. * requests.
  674. *
  675. */
  676. "data": string;
  677. /**
  678. * How to handle the response from the server. Default is
  679. * 'text'. Other values are 'json', 'javascript', and 'xml'.
  680. *
  681. */
  682. "handleAs": string;
  683. /**
  684. * Headers to use for the request.
  685. *
  686. */
  687. "headers": Object;
  688. /**
  689. * Password to use during the request.
  690. *
  691. */
  692. "password": string;
  693. /**
  694. * Whether to append a cache-busting parameter to the URL.
  695. *
  696. */
  697. "preventCache": boolean;
  698. /**
  699. * Query parameters to append to the URL.
  700. *
  701. */
  702. "query": string;
  703. /**
  704. * Whether to make a synchronous request or not. Default
  705. * is false (asynchronous).
  706. *
  707. */
  708. "sync": boolean;
  709. /**
  710. * Milliseconds to wait for the response. If this time
  711. * passes, the then the promise is rejected.
  712. *
  713. */
  714. "timeout": number;
  715. /**
  716. * Username to use during the request.
  717. *
  718. */
  719. "user": string;
  720. /**
  721. * For cross-site requests, whether to send credentials
  722. * or not.
  723. *
  724. */
  725. "withCredentials": boolean;
  726. }
  727. /**
  728. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/xhr.__MethodOptions.html
  729. *
  730. *
  731. */
  732. class __MethodOptions {
  733. constructor();
  734. /**
  735. * The HTTP method to use to make the request. Must be
  736. * uppercase. Default is "GET".
  737. *
  738. */
  739. "method": string;
  740. }
  741. /**
  742. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/xhr.__Options.html
  743. *
  744. *
  745. */
  746. class __Options {
  747. constructor();
  748. /**
  749. * Data to transfer. This is ignored for GET and DELETE
  750. * requests.
  751. *
  752. */
  753. "data": string;
  754. /**
  755. * How to handle the response from the server. Default is
  756. * 'text'. Other values are 'json', 'javascript', and 'xml'.
  757. *
  758. */
  759. "handleAs": string;
  760. /**
  761. * Headers to use for the request.
  762. *
  763. */
  764. "headers": Object;
  765. /**
  766. * The HTTP method to use to make the request. Must be
  767. * uppercase. Default is "GET".
  768. *
  769. */
  770. "method": string;
  771. /**
  772. * Password to use during the request.
  773. *
  774. */
  775. "password": string;
  776. /**
  777. * Whether to append a cache-busting parameter to the URL.
  778. *
  779. */
  780. "preventCache": boolean;
  781. /**
  782. * Query parameters to append to the URL.
  783. *
  784. */
  785. "query": string;
  786. /**
  787. * Whether to make a synchronous request or not. Default
  788. * is false (asynchronous).
  789. *
  790. */
  791. "sync": boolean;
  792. /**
  793. * Milliseconds to wait for the response. If this time
  794. * passes, the then the promise is rejected.
  795. *
  796. */
  797. "timeout": number;
  798. /**
  799. * Username to use during the request.
  800. *
  801. */
  802. "user": string;
  803. /**
  804. * For cross-site requests, whether to send credentials
  805. * or not.
  806. *
  807. */
  808. "withCredentials": boolean;
  809. }
  810. }
  811. /**
  812. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request.__BaseOptions.html
  813. *
  814. *
  815. */
  816. class __BaseOptions {
  817. constructor();
  818. /**
  819. * Data to transfer. This is ignored for GET and DELETE
  820. * requests.
  821. *
  822. */
  823. "data": string;
  824. /**
  825. * How to handle the response from the server. Default is
  826. * 'text'. Other values are 'json', 'javascript', and 'xml'.
  827. *
  828. */
  829. "handleAs": string;
  830. /**
  831. * Whether to append a cache-busting parameter to the URL.
  832. *
  833. */
  834. "preventCache": boolean;
  835. /**
  836. * Query parameters to append to the URL.
  837. *
  838. */
  839. "query": string;
  840. /**
  841. * Milliseconds to wait for the response. If this time
  842. * passes, the then the promise is rejected.
  843. *
  844. */
  845. "timeout": number;
  846. }
  847. /**
  848. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request.__MethodOptions.html
  849. *
  850. *
  851. */
  852. class __MethodOptions {
  853. constructor();
  854. /**
  855. * The HTTP method to use to make the request. Must be
  856. * uppercase.
  857. *
  858. */
  859. "method": string;
  860. }
  861. /**
  862. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request.__Options.html
  863. *
  864. *
  865. */
  866. class __Options {
  867. constructor();
  868. /**
  869. * Data to transfer. This is ignored for GET and DELETE
  870. * requests.
  871. *
  872. */
  873. "data": string;
  874. /**
  875. * How to handle the response from the server. Default is
  876. * 'text'. Other values are 'json', 'javascript', and 'xml'.
  877. *
  878. */
  879. "handleAs": string;
  880. /**
  881. * The HTTP method to use to make the request. Must be
  882. * uppercase.
  883. *
  884. */
  885. "method": string;
  886. /**
  887. * Whether to append a cache-busting parameter to the URL.
  888. *
  889. */
  890. "preventCache": boolean;
  891. /**
  892. * Query parameters to append to the URL.
  893. *
  894. */
  895. "query": string;
  896. /**
  897. * Milliseconds to wait for the response. If this time
  898. * passes, the then the promise is rejected.
  899. *
  900. */
  901. "timeout": number;
  902. }
  903. /**
  904. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request.__Promise.html
  905. *
  906. *
  907. */
  908. class __Promise implements dojo.promise.Promise<any> {
  909. constructor();
  910. /**
  911. * A promise resolving to an object representing
  912. * the response from the server.
  913. *
  914. */
  915. "response": Object;
  916. /**
  917. * Add a callback to be invoked when the promise is resolved
  918. * or rejected.
  919. *
  920. * @param callbackOrErrback OptionalA function that is used both as a callback and errback.
  921. */
  922. always(callbackOrErrback: Function): any;
  923. /**
  924. * Inform the deferred it may cancel its asynchronous operation.
  925. * Inform the deferred it may cancel its asynchronous operation.
  926. * The deferred's (optional) canceler is invoked and the
  927. * deferred will be left in a rejected state. Can affect other
  928. * promises that originate with the same deferred.
  929. *
  930. * @param reason A message that may be sent to the deferred's canceler,explaining why it's being canceled.
  931. * @param strict OptionalIf strict, will throw an error if the deferred has alreadybeen fulfilled and consequently cannot be canceled.
  932. */
  933. cancel(reason: any, strict?: boolean): any;
  934. /**
  935. * Checks whether the promise has been canceled.
  936. *
  937. */
  938. isCanceled(): boolean;
  939. /**
  940. * Checks whether the promise has been resolved or rejected.
  941. *
  942. */
  943. isFulfilled(): boolean;
  944. /**
  945. * Checks whether the promise has been rejected.
  946. *
  947. */
  948. isRejected(): boolean;
  949. /**
  950. * Checks whether the promise has been resolved.
  951. *
  952. */
  953. isResolved(): boolean;
  954. /**
  955. * Add new errbacks to the promise.
  956. *
  957. * @param errback OptionalCallback to be invoked when the promise is rejected.
  958. */
  959. otherwise(errback: Function): any;
  960. /**
  961. * Add new callbacks to the promise.
  962. * Add new callbacks to the deferred. Callbacks can be added
  963. * before or after the deferred is fulfilled.
  964. *
  965. * @param callback OptionalCallback to be invoked when the promise is resolved.Receives the resolution value.
  966. * @param errback OptionalCallback to be invoked when the promise is rejected.Receives the rejection error.
  967. * @param progback OptionalCallback to be invoked when the promise emits a progressupdate. Receives the progress update.
  968. */
  969. then(callback?: Function, errback?: Function, progback?: Function): dojo.promise.Promise<any>;
  970. /**
  971. *
  972. */
  973. toString(): String;
  974. /**
  975. *
  976. */
  977. trace(): dojo.promise.Promise<any>;
  978. /**
  979. *
  980. */
  981. traceRejected(): dojo.promise.Promise<any>;
  982. }
  983. /**
  984. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/default.html
  985. *
  986. *
  987. */
  988. interface default_ {
  989. /**
  990. *
  991. */
  992. getPlatformDefaultId(): void;
  993. /**
  994. *
  995. * @param id
  996. * @param parentRequire
  997. * @param loaded
  998. * @param config
  999. */
  1000. load(id: any, parentRequire: any, loaded: any, config: any): void;
  1001. }
  1002. /**
  1003. * Permalink: http://dojotoolkit.org/api/1.9/dojo/request/util.html
  1004. *
  1005. *
  1006. */
  1007. interface util {
  1008. /**
  1009. *
  1010. * @param provider
  1011. * @param methods
  1012. */
  1013. addCommonMethods(provider: any, methods: any): void;
  1014. /**
  1015. *
  1016. * @param stat
  1017. */
  1018. checkStatus(stat: any): boolean;
  1019. /**
  1020. *
  1021. * @param target
  1022. * @param source
  1023. */
  1024. deepCopy(target: any, source: any): any;
  1025. /**
  1026. *
  1027. * @param source
  1028. * @param properties
  1029. */
  1030. deepCreate(source: any, properties: any): any;
  1031. /**
  1032. *
  1033. * @param response The object used as the value of the request promise.
  1034. * @param cancel
  1035. * @param isValid
  1036. * @param isReady
  1037. * @param handleResponse
  1038. * @param last
  1039. */
  1040. deferred(response: Object, cancel: any, isValid: any, isReady: any, handleResponse: any, last: any): any;
  1041. /**
  1042. * Register a listener to be notified when an event
  1043. * in dojo/request happens.
  1044. *
  1045. * @param type OptionalThe event to listen for. Events emitted: "start", "send","load", "error", "done", "stop".
  1046. * @param listener OptionalA callback to be run when an event happens.
  1047. */
  1048. notify(type?: String, listener?: Function): any;
  1049. /**
  1050. *
  1051. * @param url
  1052. * @param options
  1053. * @param skipData
  1054. */
  1055. parseArgs(url: any, options: any, skipData: any): Object;
  1056. }
  1057. }
  1058. /**
  1059. * Permalink: http://dojotoolkit.org/api/1.9/dojo/AdapterRegistry.html
  1060. *
  1061. * A registry to make contextual calling/searching easier.
  1062. * Objects of this class keep list of arrays in the form [name, check,
  1063. * wrap, directReturn] that are used to determine what the contextual
  1064. * result of a set of checked arguments is. All check/wrap functions
  1065. * in this registry should be of the same arity.
  1066. *
  1067. * @param returnWrappers Optional
  1068. */
  1069. interface AdapterRegistry { (returnWrappers?: boolean): void }
  1070. interface AdapterRegistry {
  1071. /**
  1072. *
  1073. */
  1074. pairs: any[];
  1075. /**
  1076. *
  1077. */
  1078. returnWrappers: boolean;
  1079. /**
  1080. * Find an adapter for the given arguments. If no suitable adapter
  1081. * is found, throws an exception. match() accepts any number of
  1082. * arguments, all of which are passed to all matching functions
  1083. * from the registered pairs.
  1084. *
  1085. */
  1086. match(): any;
  1087. /**
  1088. * register a check function to determine if the wrap function or
  1089. * object gets selected
  1090. *
  1091. * @param name a way to identify this matcher.
  1092. * @param check a function that arguments are passed to from the adapter'smatch() function. The check function should return true if thegiven arguments are appropriate for the wrap function.
  1093. * @param wrap
  1094. * @param directReturn OptionalIf directReturn is true, the value passed in for wrap will bereturned instead of being called. Alternately, theAdapterRegistry can be set globally to "return not call" usingthe returnWrappers property. Either way, this behavior allowsthe registry to act as a "search" function instead of afunction interception library.
  1095. * @param override OptionalIf override is given and true, the check function will be givenhighest priority. Otherwise, it will be the lowest priorityadapter.
  1096. */
  1097. register(name: String, check: Function, wrap: Function, directReturn?: boolean, override?: boolean): void;
  1098. /**
  1099. * Remove a named adapter from the registry
  1100. *
  1101. * @param name The name of the adapter.
  1102. */
  1103. unregister(name: String): any;
  1104. }
  1105. namespace AdapterRegistry {
  1106. }
  1107. /**
  1108. * Permalink: http://dojotoolkit.org/api/1.9/dojo/cache.html
  1109. *
  1110. * A getter and setter for storing the string content associated with the
  1111. * module and url arguments.
  1112. * If module is a string that contains slashes, then it is interpretted as a fully
  1113. * resolved path (typically a result returned by require.toUrl), and url should not be
  1114. * provided. This is the preferred signature. If module is a string that does not
  1115. * contain slashes, then url must also be provided and module and url are used to
  1116. * call dojo.moduleUrl() to generate a module URL. This signature is deprecated.
  1117. * If value is specified, the cache value for the moduleUrl will be set to
  1118. * that value. Otherwise, dojo.cache will fetch the moduleUrl and store it
  1119. * in its internal cache and return that cached value for the URL. To clear
  1120. * a cache value pass null for value. Since XMLHttpRequest (XHR) is used to fetch the
  1121. * the URL contents, only modules on the same domain of the page can use this capability.
  1122. * The build system can inline the cache values though, to allow for xdomain hosting.
  1123. *
  1124. * @param module dojo/cldr/supplemental
  1125. * @param url The rest of the path to append to the path derived from the module argument. Ifmodule is an object, then this second argument should be the "value" argument instead.
  1126. * @param value OptionalIf a String, the value to use in the cache for the module/url combination.If an Object, it can have two properties: value and sanitize. The value propertyshould be the value to use in the cache, and sanitize can be set to true or false,to indicate if XML declarations should be removed from the value and if the HTMLinside a body tag in the value should be extracted as the real value. The value argumentor the value property on the value argument are usually only used by the build systemas it inlines cache content.
  1127. */
  1128. interface cache { (module: String, url: String, value?: String): void }
  1129. /**
  1130. * Permalink: http://dojotoolkit.org/api/1.9/dojo/cache.html
  1131. *
  1132. * A getter and setter for storing the string content associated with the
  1133. * module and url arguments.
  1134. * If module is a string that contains slashes, then it is interpretted as a fully
  1135. * resolved path (typically a result returned by require.toUrl), and url should not be
  1136. * provided. This is the preferred signature. If module is a string that does not
  1137. * contain slashes, then url must also be provided and module and url are used to
  1138. * call dojo.moduleUrl() to generate a module URL. This signature is deprecated.
  1139. * If value is specified, the cache value for the moduleUrl will be set to
  1140. * that value. Otherwise, dojo.cache will fetch the moduleUrl and store it
  1141. * in its internal cache and return that cached value for the URL. To clear
  1142. * a cache value pass null for value. Since XMLHttpRequest (XHR) is used to fetch the
  1143. * the URL contents, only modules on the same domain of the page can use this capability.
  1144. * The build system can inline the cache values though, to allow for xdomain hosting.
  1145. *
  1146. * @param module dojo/cldr/supplemental
  1147. * @param url The rest of the path to append to the path derived from the module argument. Ifmodule is an object, then this second argument should be the "value" argument instead.
  1148. * @param value OptionalIf a String, the value to use in the cache for the module/url combination.If an Object, it can have two properties: value and sanitize. The value propertyshould be the value to use in the cache, and sanitize can be set to true or false,to indicate if XML declarations should be removed from the value and if the HTMLinside a body tag in the value should be extracted as the real value. The value argumentor the value property on the value argument are usually only used by the build systemas it inlines cache content.
  1149. */
  1150. interface cache { (module: Object, url: String, value?: String): void }
  1151. /**
  1152. * Permalink: http://dojotoolkit.org/api/1.9/dojo/cache.html
  1153. *
  1154. * A getter and setter for storing the string content associated with the
  1155. * module and url arguments.
  1156. * If module is a string that contains slashes, then it is interpretted as a fully
  1157. * resolved path (typically a result returned by require.toUrl), and url should not be
  1158. * provided. This is the preferred signature. If module is a string that does not
  1159. * contain slashes, then url must also be provided and module and url are used to
  1160. * call dojo.moduleUrl() to generate a module URL. This signature is deprecated.
  1161. * If value is specified, the cache value for the moduleUrl will be set to
  1162. * that value. Otherwise, dojo.cache will fetch the moduleUrl and store it
  1163. * in its internal cache and return that cached value for the URL. To clear
  1164. * a cache value pass null for value. Since XMLHttpRequest (XHR) is used to fetch the
  1165. * the URL contents, only modules on the same domain of the page can use this capability.
  1166. * The build system can inline the cache values though, to allow for xdomain hosting.
  1167. *
  1168. * @param module dojo/cldr/supplemental
  1169. * @param url The rest of the path to append to the path derived from the module argument. Ifmodule is an object, then this second argument should be the "value" argument instead.
  1170. * @param value OptionalIf a String, the value to use in the cache for the module/url combination.If an Object, it can have two properties: value and sanitize. The value propertyshould be the value to use in the cache, and sanitize can be set to true or false,to indicate if XML declarations should be removed from the value and if the HTMLinside a body tag in the value should be extracted as the real value. The value argumentor the value property on the value argument are usually only used by the build systemas it inlines cache content.
  1171. */
  1172. interface cache { (module: String, url: String, value?: Object): void }
  1173. /**
  1174. * Permalink: http://dojotoolkit.org/api/1.9/dojo/cache.html
  1175. *
  1176. * A getter and setter for storing the string content associated with the
  1177. * module and url arguments.
  1178. * If module is a string that contains slashes, then it is interpretted as a fully
  1179. * resolved path (typically a result returned by require.toUrl), and url should not be
  1180. * provided. This is the preferred signature. If module is a string that does not
  1181. * contain slashes, then url must also be provided and module and url are used to
  1182. * call dojo.moduleUrl() to generate a module URL. This signature is deprecated.
  1183. * If value is specified, the cache value for the moduleUrl will be set to
  1184. * that value. Otherwise, dojo.cache will fetch the moduleUrl and store it
  1185. * in its internal cache and return that cached value for the URL. To clear
  1186. * a cache value pass null for value. Since XMLHttpRequest (XHR) is used to fetch the
  1187. * the URL contents, only modules on the same domain of the page can use this capability.
  1188. * The build system can inline the cache values though, to allow for xdomain hosting.
  1189. *
  1190. * @param module dojo/cldr/supplemental
  1191. * @param url The rest of the path to append to the path derived from the module argument. Ifmodule is an object, then this second argument should be the "value" argument instead.
  1192. * @param value OptionalIf a String, the value to use in the cache for the module/url combination.If an Object, it can have two properties: value and sanitize. The value propertyshould be the value to use in the cache, and sanitize can be set to true or false,to indicate if XML declarations should be removed from the value and if the HTMLinside a body tag in the value should be extracted as the real value. The value argumentor the value property on the value argument are usually only used by the build systemas it inlines cache content.
  1193. */
  1194. interface cache { (module: Object, url: String, value?: Object): void }
  1195. /**
  1196. * Permalink: http://dojotoolkit.org/api/1.9/dojo/cookie.html
  1197. *
  1198. * Get or set a cookie.
  1199. * If one argument is passed, returns the value of the cookie
  1200. * For two or more arguments, acts as a setter.
  1201. *
  1202. * @param name Name of the cookie
  1203. * @param value OptionalValue for the cookie
  1204. * @param props OptionalProperties for the cookie
  1205. */
  1206. interface cookie { (name: String, value?: String, props?: Object): void }
  1207. interface cookie {
  1208. /**
  1209. * Use to determine if the current browser supports cookies or not.
  1210. *
  1211. * Returns true if user allows cookies.
  1212. * Returns false if user doesn't allow cookies.
  1213. *
  1214. */
  1215. isSupported(): void;
  1216. }
  1217. namespace cookie {
  1218. }
  1219. /**
  1220. * Permalink: http://dojotoolkit.org/api/1.9/dojo/domReady.html
  1221. *
  1222. * Plugin to delay require()/define() callback from firing until the DOM has finished loading.
  1223. *
  1224. * @param callback
  1225. */
  1226. interface domReady { (callback: any): void }
  1227. interface domReady {
  1228. /**
  1229. *
  1230. * @param id
  1231. * @param req
  1232. * @param load
  1233. */
  1234. load(id: any, req: any, load: any): void;
  1235. }
  1236. namespace domReady {
  1237. }
  1238. /**
  1239. * Permalink: http://dojotoolkit.org/api/1.9/dojo/hash.html
  1240. *
  1241. * Gets or sets the hash string in the browser URL.
  1242. * Handles getting and setting of location.hash.
  1243. *
  1244. * If no arguments are passed, acts as a getter.
  1245. * If a string is passed, acts as a setter.
  1246. *
  1247. * @param hash Optionalthe hash is set - #string.
  1248. * @param replace OptionalIf true, updates the hash value in the current historystate instead of creating a new history state.
  1249. */
  1250. interface hash { (hash?: String, replace?: boolean): void }
  1251. /**
  1252. * Permalink: http://dojotoolkit.org/api/1.9/dojo/has.html
  1253. *
  1254. * Return the current value of the named feature.
  1255. * Returns the value of the feature named by name. The feature must have been
  1256. * previously added to the cache by has.add.
  1257. *
  1258. * @param name The name (if a string) or identifier (if an integer) of the feature to test.
  1259. */
  1260. interface has { (name: String): void }
  1261. /**
  1262. * Permalink: http://dojotoolkit.org/api/1.9/dojo/has.html
  1263. *
  1264. * Return the current value of the named feature.
  1265. * Returns the value of the feature named by name. The feature must have been
  1266. * previously added to the cache by has.add.
  1267. *
  1268. * @param name The name (if a string) or identifier (if an integer) of the feature to test.
  1269. */
  1270. interface has { (name: number): void }
  1271. interface has {
  1272. /**
  1273. *
  1274. */
  1275. cache: string;
  1276. /**
  1277. * Register a new feature test for some named feature.
  1278. *
  1279. * @param name The name (if a string) or identifier (if an integer) of the feature to test.
  1280. * @param test A test function to register. If a function, queued for testing until actuallyneeded. The test function should return a boolean indicatingthe presence of a feature or bug.
  1281. * @param now OptionalOptional. Omit if test is not a function. Provides a way to immediatelyrun the test and cache the result.
  1282. * @param force OptionalOptional. If the test already exists and force is truthy, then the existingtest will be replaced; otherwise, add does not replace an existing test (thatis, by default, the first test advice wins).
  1283. */
  1284. add(name: String, test: Function, now?: boolean, force?: boolean): any;
  1285. /**
  1286. * Register a new feature test for some named feature.
  1287. *
  1288. * @param name The name (if a string) or identifier (if an integer) of the feature to test.
  1289. * @param test A test function to register. If a function, queued for testing until actuallyneeded. The test function should return a boolean indicatingthe presence of a feature or bug.
  1290. * @param now OptionalOptional. Omit if test is not a function. Provides a way to immediatelyrun the test and cache the result.
  1291. * @param force OptionalOptional. If the test already exists and force is truthy, then the existingtest will be replaced; otherwise, add does not replace an existing test (thatis, by default, the first test advice wins).
  1292. */
  1293. add(name: number, test: Function, now?: boolean, force?: boolean): any;
  1294. /**
  1295. * Deletes the contents of the element passed to test functions.
  1296. *
  1297. * @param element
  1298. */
  1299. clearElement(element: any): void;
  1300. /**
  1301. * Conditional loading of AMD modules based on a has feature test value.
  1302. *
  1303. * @param id Gives the resolved module id to load.
  1304. * @param parentRequire The loader require function with respect to the module that contained the plugin resource in it'sdependency list.
  1305. * @param loaded Callback to loader that consumes result of plugin demand.
  1306. */
  1307. load(id: String, parentRequire: Function, loaded: Function): void;
  1308. /**
  1309. * Resolves id into a module id based on possibly-nested tenary expression that branches on has feature test value(s).
  1310. *
  1311. * @param id
  1312. * @param toAbsMid Resolves a relative module id into an absolute module id
  1313. */
  1314. normalize(id: any, toAbsMid: Function): void;
  1315. }
  1316. namespace has {
  1317. }
  1318. /**
  1319. * Permalink: http://dojotoolkit.org/api/1.9/dojo/hccss.html
  1320. *
  1321. * Test if computer is in high contrast mode (i.e. if browser is not displaying background images).
  1322. * Defines has("highcontrast") and sets dj_a11y CSS class on <body> if machine is in high contrast mode.
  1323. * Returns has() method;
  1324. *
  1325. */
  1326. interface hccss { (): void }
  1327. /**
  1328. * Permalink: http://dojotoolkit.org/api/1.9/dojo/NodeList-data.html
  1329. *
  1330. * Adds data() and removeData() methods to NodeList, and returns NodeList constructor.
  1331. *
  1332. */
  1333. interface NodeList_data { (): void }
  1334. /**
  1335. * Permalink: http://dojotoolkit.org/api/1.9/dojo/NodeList-html.html
  1336. *
  1337. * Adds a chainable html method to dojo/query() / NodeList instances for setting/replacing node content
  1338. *
  1339. */
  1340. interface NodeList_html { (): void }
  1341. /**
  1342. * Permalink: http://dojotoolkit.org/api/1.9/dojo/NodeList-fx.html
  1343. *
  1344. * Adds dojo.fx animation support to dojo.query() by extending the NodeList class
  1345. * with additional FX functions. NodeList is the array-like object used to hold query results.
  1346. *
  1347. */
  1348. interface NodeList_fx { (): void }
  1349. interface NodeList_fx {
  1350. /**
  1351. * fade all elements of the node list to a specified opacity
  1352. *
  1353. * @param args
  1354. */
  1355. fadeTo(args: any): any;
  1356. /**
  1357. * highlight all elements of the node list.
  1358. * Returns an instance of dojo.Animation
  1359. *
  1360. * @param args
  1361. */
  1362. highlight(args: any): any;
  1363. /**
  1364. * size all elements of this NodeList. Returns an instance of dojo.Animation
  1365. *
  1366. * @param args
  1367. */
  1368. sizeTo(args: any): any;
  1369. /**
  1370. * slide all elements of this NodeList. Returns an instance of dojo.Animation
  1371. *
  1372. * @param args
  1373. */
  1374. slideBy(args: any): any;
  1375. /**
  1376. * Wipe all elements of the NodeList to a specified width: or height:
  1377. *
  1378. * @param args
  1379. */
  1380. wipeTo(args: any): any;
  1381. }
  1382. namespace NodeList_fx {
  1383. }
  1384. /**
  1385. * Permalink: http://dojotoolkit.org/api/1.9/dojo/NodeList-dom.html
  1386. *
  1387. * Adds DOM related methods to NodeList, and returns NodeList constructor.
  1388. *
  1389. */
  1390. interface NodeList_dom { (): void }
  1391. /**
  1392. * Permalink: http://dojotoolkit.org/api/1.9/dojo/NodeList-manipulate.html
  1393. *
  1394. * Adds chainable methods to dojo.query() / NodeList instances for manipulating HTML
  1395. * and DOM nodes and their properties.
  1396. *
  1397. */
  1398. interface NodeList_manipulate { (): void }
  1399. /**
  1400. * Permalink: http://dojotoolkit.org/api/1.9/dojo/NodeList-traverse.html
  1401. *
  1402. * Adds chainable methods to dojo/query() / NodeList instances for traversing the DOM
  1403. *
  1404. */
  1405. interface NodeList_traverse { (): void }
  1406. /**
  1407. * Permalink: http://dojotoolkit.org/api/1.9/dojo/on.html
  1408. *
  1409. * A function that provides core event listening functionality. With this function
  1410. * you can provide a target, event type, and listener to be notified of
  1411. * future matching events that are fired.
  1412. * To listen for "click" events on a button node, we can do:
  1413. *
  1414. * define(["dojo/on"], function(listen){
  1415. * on(button, "click", clickHandler);
  1416. * ...
  1417. * Evented JavaScript objects can also have their own events.
  1418. *
  1419. * var obj = new Evented;
  1420. * on(obj, "foo", fooHandler);
  1421. * And then we could publish a "foo" event:
  1422. *
  1423. * on.emit(obj, "foo", {key: "value"});
  1424. * We can use extension events as well. For example, you could listen for a tap gesture:
  1425. *
  1426. * define(["dojo/on", "dojo/gesture/tap", function(listen, tap){
  1427. * on(button, tap, tapHandler);
  1428. * ...
  1429. * which would trigger fooHandler. Note that for a simple object this is equivalent to calling:
  1430. *
  1431. * obj.onfoo({key:"value"});
  1432. * If you use on.emit on a DOM node, it will use native event dispatching when possible.
  1433. *
  1434. * @param target This is the target object or DOM element that to receive events from
  1435. * @param type This is the name of the event to listen for or an extension event type.
  1436. * @param listener This is the function that should be called when the event fires.
  1437. * @param dontFix
  1438. */
  1439. interface on { (target: HTMLElement, type: String, listener: Function, dontFix: any): void }
  1440. /**
  1441. * Permalink: http://dojotoolkit.org/api/1.9/dojo/on.html
  1442. *
  1443. * A function that provides core event listening functionality. With this function
  1444. * you can provide a target, event type, and listener to be notified of
  1445. * future matching events that are fired.
  1446. * To listen for "click" events on a button node, we can do:
  1447. *
  1448. * define(["dojo/on"], function(listen){
  1449. * on(button, "click", clickHandler);
  1450. * ...
  1451. * Evented JavaScript objects can also have their own events.
  1452. *
  1453. * var obj = new Evented;
  1454. * on(obj, "foo", fooHandler);
  1455. * And then we could publish a "foo" event:
  1456. *
  1457. * on.emit(obj, "foo", {key: "value"});
  1458. * We can use extension events as well. For example, you could listen for a tap gesture:
  1459. *
  1460. * define(["dojo/on", "dojo/gesture/tap", function(listen, tap){
  1461. * on(button, tap, tapHandler);
  1462. * ...
  1463. * which would trigger fooHandler. Note that for a simple object this is equivalent to calling:
  1464. *
  1465. * obj.onfoo({key:"value"});
  1466. * If you use on.emit on a DOM node, it will use native event dispatching when possible.
  1467. *
  1468. * @param target This is the target object or DOM element that to receive events from
  1469. * @param type This is the name of the event to listen for or an extension event type.
  1470. * @param listener This is the function that should be called when the event fires.
  1471. * @param dontFix
  1472. */
  1473. interface on { (target: Object, type: String, listener: Function, dontFix: any): void }
  1474. /**
  1475. * Permalink: http://dojotoolkit.org/api/1.9/dojo/on.html
  1476. *
  1477. * A function that provides core event listening functionality. With this function
  1478. * you can provide a target, event type, and listener to be notified of
  1479. * future matching events that are fired.
  1480. * To listen for "click" events on a button node, we can do:
  1481. *
  1482. * define(["dojo/on"], function(listen){
  1483. * on(button, "click", clickHandler);
  1484. * ...
  1485. * Evented JavaScript objects can also have their own events.
  1486. *
  1487. * var obj = new Evented;
  1488. * on(obj, "foo", fooHandler);
  1489. * And then we could publish a "foo" event:
  1490. *
  1491. * on.emit(obj, "foo", {key: "value"});
  1492. * We can use extension events as well. For example, you could listen for a tap gesture:
  1493. *
  1494. * define(["dojo/on", "dojo/gesture/tap", function(listen, tap){
  1495. * on(button, tap, tapHandler);
  1496. * ...
  1497. * which would trigger fooHandler. Note that for a simple object this is equivalent to calling:
  1498. *
  1499. * obj.onfoo({key:"value"});
  1500. * If you use on.emit on a DOM node, it will use native event dispatching when possible.
  1501. *
  1502. * @param target This is the target object or DOM element that to receive events from
  1503. * @param type This is the name of the event to listen for or an extension event type.
  1504. * @param listener This is the function that should be called when the event fires.
  1505. * @param dontFix
  1506. */
  1507. interface on { (target: HTMLElement, type: Function, listener: Function, dontFix: any): void }
  1508. /**
  1509. * Permalink: http://dojotoolkit.org/api/1.9/dojo/on.html
  1510. *
  1511. * A function that provides core event listening functionality. With this function
  1512. * you can provide a target, event type, and listener to be notified of
  1513. * future matching events that are fired.
  1514. * To listen for "click" events on a button node, we can do:
  1515. *
  1516. * define(["dojo/on"], function(listen){
  1517. * on(button, "click", clickHandler);
  1518. * ...
  1519. * Evented JavaScript objects can also have their own events.
  1520. *
  1521. * var obj = new Evented;
  1522. * on(obj, "foo", fooHandler);
  1523. * And then we could publish a "foo" event:
  1524. *
  1525. * on.emit(obj, "foo", {key: "value"});
  1526. * We can use extension events as well. For example, you could listen for a tap gesture:
  1527. *
  1528. * define(["dojo/on", "dojo/gesture/tap", function(listen, tap){
  1529. * on(button, tap, tapHandler);
  1530. * ...
  1531. * which would trigger fooHandler. Note that for a simple object this is equivalent to calling:
  1532. *
  1533. * obj.onfoo({key:"value"});
  1534. * If you use on.emit on a DOM node, it will use native event dispatching when possible.
  1535. *
  1536. * @param target This is the target object or DOM element that to receive events from
  1537. * @param type This is the name of the event to listen for or an extension event type.
  1538. * @param listener This is the function that should be called when the event fires.
  1539. * @param dontFix
  1540. */
  1541. interface on { (target: Object, type: String, listener: Function, dontFix?: any): { remove: { (): void } } }
  1542. interface on {
  1543. /**
  1544. *
  1545. * @param target
  1546. * @param type
  1547. * @param event
  1548. */
  1549. emit(target: any, type: any, event: any): any;
  1550. /**
  1551. * This function acts the same as on(), but will only call the listener once. The
  1552. * listener will be called for the first
  1553. * event that takes place and then listener will automatically be removed.
  1554. *
  1555. * @param target
  1556. * @param type
  1557. * @param listener
  1558. * @param dontFix
  1559. */
  1560. once(target: any, type: any, listener: any, dontFix?: any): any;
  1561. /**
  1562. *
  1563. * @param target
  1564. * @param type
  1565. * @param listener
  1566. * @param addListener
  1567. * @param dontFix
  1568. * @param matchesTarget
  1569. */
  1570. parse(target: any, type: any, listener: any, addListener: any, dontFix: any, matchesTarget: any): any;
  1571. /**
  1572. * This function acts the same as on(), but with pausable functionality. The
  1573. * returned signal object has pause() and resume() functions. Calling the
  1574. * pause() method will cause the listener to not be called for future events. Calling the
  1575. * resume() method will cause the listener to again be called for future events.
  1576. *
  1577. * @param target
  1578. * @param type
  1579. * @param listener
  1580. * @param dontFix
  1581. */
  1582. pausable(target: any, type: any, listener: any, dontFix: any): any;
  1583. /**
  1584. * Creates a new extension event with event delegation. This is based on
  1585. * the provided event type (can be extension event) that
  1586. * only calls the listener when the CSS selector matches the target of the event.
  1587. *
  1588. * The application must require() an appropriate level of dojo/query to handle the selector.
  1589. *
  1590. * @param selector The CSS selector to use for filter events and determine the |this| of the event listener.
  1591. * @param eventType The event to listen for
  1592. * @param children Indicates if children elements of the selector should be allowed. This defaults to true
  1593. */
  1594. selector(selector: any, eventType: any, children: any): Function;
  1595. }
  1596. namespace on {
  1597. }
  1598. /**
  1599. * Permalink: http://dojotoolkit.org/api/1.9/dojo/query.html
  1600. *
  1601. * This modules provides DOM querying functionality. The module export is a function
  1602. * that can be used to query for DOM nodes by CSS selector and returns a NodeList
  1603. * representing the matching nodes.
  1604. * dojo/query is responsible for loading the appropriate query engine and wrapping
  1605. * its results with a NodeList. You can use dojo/query with a specific selector engine
  1606. * by using it as a plugin. For example, if you installed the sizzle package, you could
  1607. * use it as the selector engine with:
  1608. *
  1609. * require(["dojo/query!sizzle"], function(query){
  1610. * query("div")...
  1611. * The id after the ! can be a module id of the selector engine or one of the following values:
  1612. *
  1613. * acme: This is the default engine used by Dojo base, and will ensure that the full
  1614. * Acme engine is always loaded.
  1615. * css2: If the browser has a native selector engine, this will be used, otherwise a
  1616. * very minimal lightweight selector engine will be loaded that can do simple CSS2 selectors
  1617. * (by #id, .class, tag, and [name=value] attributes, with standard child or descendant (>)
  1618. * operators) and nothing more.
  1619. * css2.1: If the browser has a native selector engine, this will be used, otherwise the
  1620. * full Acme engine will be loaded.
  1621. * css3: If the browser has a native selector engine with support for CSS3 pseudo
  1622. * selectors (most modern browsers except IE8), this will be used, otherwise the
  1623. * full Acme engine will be loaded.
  1624. * Or the module id of a selector engine can be used to explicitly choose the selector engine
  1625. *
  1626. * For example, if you are using CSS3 pseudo selectors in module, you can specify that
  1627. * you will need support them with:
  1628. *
  1629. * require(["dojo/query!css3"], function(query){
  1630. * query('#t > h3:nth-child(odd)')...
  1631. * You can also choose the selector engine/load configuration by setting the query-selector:
  1632. * For example:
  1633. *
  1634. * <script data-dojo-config="query-selector:'css3'" src="dojo.js"></script>
  1635. *
  1636. * @param selector A CSS selector to search for.
  1637. * @param context OptionalAn optional context to limit the searching scope. Only nodes under context will bescanned.
  1638. */
  1639. interface query{(selector: String, context?: String): NodeList}
  1640. /**
  1641. * Permalink: http://dojotoolkit.org/api/1.9/dojo/query.html
  1642. *
  1643. * This modules provides DOM querying functionality. The module export is a function
  1644. * that can be used to query for DOM nodes by CSS selector and returns a NodeList
  1645. * representing the matching nodes.
  1646. * dojo/query is responsible for loading the appropriate query engine and wrapping
  1647. * its results with a NodeList. You can use dojo/query with a specific selector engine
  1648. * by using it as a plugin. For example, if you installed the sizzle package, you could
  1649. * use it as the selector engine with:
  1650. *
  1651. * require(["dojo/query!sizzle"], function(query){
  1652. * query("div")...
  1653. * The id after the ! can be a module id of the selector engine or one of the following values:
  1654. *
  1655. * acme: This is the default engine used by Dojo base, and will ensure that the full
  1656. * Acme engine is always loaded.
  1657. * css2: If the browser has a native selector engine, this will be used, otherwise a
  1658. * very minimal lightweight selector engine will be loaded that can do simple CSS2 selectors
  1659. * (by #id, .class, tag, and [name=value] attributes, with standard child or descendant (>)
  1660. * operators) and nothing more.
  1661. * css2.1: If the browser has a native selector engine, this will be used, otherwise the
  1662. * full Acme engine will be loaded.
  1663. * css3: If the browser has a native selector engine with support for CSS3 pseudo
  1664. * selectors (most modern browsers except IE8), this will be used, otherwise the
  1665. * full Acme engine will be loaded.
  1666. * Or the module id of a selector engine can be used to explicitly choose the selector engine
  1667. *
  1668. * For example, if you are using CSS3 pseudo selectors in module, you can specify that
  1669. * you will need support them with:
  1670. *
  1671. * require(["dojo/query!css3"], function(query){
  1672. * query('#t > h3:nth-child(odd)')...
  1673. * You can also choose the selector engine/load configuration by setting the query-selector:
  1674. * For example:
  1675. *
  1676. * <script data-dojo-config="query-selector:'css3'" src="dojo.js"></script>
  1677. *
  1678. * @param selector A CSS selector to search for.
  1679. * @param context OptionalAn optional context to limit the searching scope. Only nodes under context will bescanned.
  1680. */
  1681. interface query{(selector: String, context?: HTMLElement): NodeList}
  1682. interface query {
  1683. /**
  1684. * can be used as AMD plugin to conditionally load new query engine
  1685. *
  1686. * @param id
  1687. * @param parentRequire
  1688. * @param loaded
  1689. */
  1690. load(id: any, parentRequire: any, loaded: any): void;
  1691. /**
  1692. * Array-like object which adds syntactic
  1693. * sugar for chaining, common iteration operations, animation, and
  1694. * node manipulation. NodeLists are most often returned as the
  1695. * result of dojo/query() calls.
  1696. * NodeList instances provide many utilities that reflect
  1697. * core Dojo APIs for Array iteration and manipulation, DOM
  1698. * manipulation, and event handling. Instead of needing to dig up
  1699. * functions in the dojo package, NodeLists generally make the
  1700. * full power of Dojo available for DOM manipulation tasks in a
  1701. * simple, chainable way.
  1702. *
  1703. * @param array
  1704. */
  1705. NodeList(array: any): any[];
  1706. }
  1707. namespace query {
  1708. }
  1709. /**
  1710. * Permalink: http://dojotoolkit.org/api/1.9/dojo/ready.html
  1711. *
  1712. * Add a function to execute on DOM content loaded and all requested modules have arrived and been evaluated.
  1713. * In most cases, the domReady plug-in should suffice and this method should not be needed.
  1714. *
  1715. * When called in a non-browser environment, just checks that all requested modules have arrived and been
  1716. * evaluated.
  1717. *
  1718. * @param priority OptionalThe order in which to exec this callback relative to other callbacks, defaults to 1000
  1719. * @param context The context in which to run execute callback, or a callback if not using context
  1720. * @param callback OptionalThe function to execute.
  1721. */
  1722. interface ready{(priority?: number, context?: any, callback?: Function): void}
  1723. /**
  1724. * Permalink: http://dojotoolkit.org/api/1.9/dojo/sniff.html
  1725. *
  1726. * This module sets has() flags based on the current browser.
  1727. * It returns the has() function.
  1728. *
  1729. */
  1730. interface sniff{(): void}
  1731. /**
  1732. * Permalink: http://dojotoolkit.org/api/1.9/dojo/when.html
  1733. *
  1734. * Transparently applies callbacks to values and/or promises.
  1735. * Accepts promises but also transparently handles non-promises. If no
  1736. * callbacks are provided returns a promise, regardless of the initial
  1737. * value. Foreign promises are converted.
  1738. *
  1739. * If callbacks are provided and the initial value is not a promise,
  1740. * the callback is executed immediately with no error handling. Returns
  1741. * a promise if the initial value is a promise, or the result of the
  1742. * callback otherwise.
  1743. *
  1744. * @param valueOrPromise Either a regular value or an object with a then() method thatfollows the Promises/A specification.
  1745. * @param callback OptionalCallback to be invoked when the promise is resolved, or a non-promiseis received.
  1746. * @param errback OptionalCallback to be invoked when the promise is rejected.
  1747. * @param progback OptionalCallback to be invoked when the promise emits a progress update.
  1748. */
  1749. interface when { <T, U>(value: T|dojo.promise.Promise<T>, callback: dojo.promise.Callback<T, U>, errback?: any, progback?: any): U|dojo.promise.Promise<U> }
  1750. /**
  1751. * Permalink: http://dojotoolkit.org/api/1.9/dojo/DeferredList.html
  1752. *
  1753. * Deprecated, use dojo/promise/all instead.
  1754. * Provides event handling for a group of Deferred objects.
  1755. * DeferredList takes an array of existing deferreds and returns a new deferred of its own
  1756. * this new deferred will typically have its callback fired when all of the deferreds in
  1757. * the given list have fired their own deferreds. The parameters fireOnOneCallback and
  1758. * fireOnOneErrback, will fire before all the deferreds as appropriate
  1759. *
  1760. */
  1761. class DeferredList {
  1762. constructor();
  1763. /**
  1764. * Gathers the results of the deferreds for packaging
  1765. * as the parameters to the Deferred Lists' callback
  1766. *
  1767. * @param deferredList The deferred list from which this function gathers results.
  1768. */
  1769. gatherResults(deferredList: dojo.DeferredList): any;
  1770. }
  1771. /**
  1772. * Permalink: http://dojotoolkit.org/api/1.9/dojo/Deferred.html
  1773. *
  1774. * Creates a new deferred. This API is preferred over
  1775. * dojo/_base/Deferred.
  1776. * Creates a new deferred, as an abstraction over (primarily)
  1777. * asynchronous operations. The deferred is the private interface
  1778. * that should not be returned to calling code. That's what the
  1779. * promise is for. See dojo/promise/Promise.
  1780. *
  1781. * @param canceler OptionalWill be invoked if the deferred is canceled. The cancelerreceives the reason the deferred was canceled as its argument.The deferred is rejected with its return value, or a newdojo/errors/CancelError instance.
  1782. */
  1783. class Deferred {
  1784. constructor(canceler?: Function);
  1785. /**
  1786. *
  1787. */
  1788. "promise": dojo.promise.Promise<any>;
  1789. /**
  1790. * Inform the deferred it may cancel its asynchronous operation.
  1791. * Inform the deferred it may cancel its asynchronous operation.
  1792. * The deferred's (optional) canceler is invoked and the
  1793. * deferred will be left in a rejected state. Can affect other
  1794. * promises that originate with the same deferred.
  1795. *
  1796. * @param reason A message that may be sent to the deferred's canceler,explaining why it's being canceled.
  1797. * @param strict OptionalIf strict, will throw an error if the deferred has alreadybeen fulfilled and consequently cannot be canceled.
  1798. */
  1799. cancel(reason: any, strict?: boolean): any;
  1800. /**
  1801. * Checks whether the deferred has been canceled.
  1802. *
  1803. */
  1804. isCanceled(): boolean;
  1805. /**
  1806. * Checks whether the deferred has been resolved or rejected.
  1807. *
  1808. */
  1809. isFulfilled(): boolean;
  1810. /**
  1811. * Checks whether the deferred has been rejected.
  1812. *
  1813. */
  1814. isRejected(): boolean;
  1815. /**
  1816. * Checks whether the deferred has been resolved.
  1817. *
  1818. */
  1819. isResolved(): boolean;
  1820. /**
  1821. * Emit a progress update on the deferred.
  1822. * Emit a progress update on the deferred. Progress updates
  1823. * can be used to communicate updates about the asynchronous
  1824. * operation before it has finished.
  1825. *
  1826. * @param update The progress update. Passed to progbacks.
  1827. * @param strict OptionalIf strict, will throw an error if the deferred has alreadybeen fulfilled and consequently no progress can be emitted.
  1828. */
  1829. progress(update: any, strict?: boolean): dojo.promise.Promise<any>;
  1830. /**
  1831. * Reject the deferred.
  1832. * Reject the deferred, putting it in an error state.
  1833. *
  1834. * @param error The error result of the deferred. Passed to errbacks.
  1835. * @param strict OptionalIf strict, will throw an error if the deferred has alreadybeen fulfilled and consequently cannot be rejected.
  1836. */
  1837. reject(error: any, strict?: boolean): any;
  1838. /**
  1839. * Resolve the deferred.
  1840. * Resolve the deferred, putting it in a success state.
  1841. *
  1842. * @param value The result of the deferred. Passed to callbacks.
  1843. * @param strict OptionalIf strict, will throw an error if the deferred has alreadybeen fulfilled and consequently cannot be resolved.
  1844. */
  1845. resolve(value: any, strict?: boolean): dojo.promise.Promise<any>;
  1846. /**
  1847. * Add new callbacks to the deferred.
  1848. * Add new callbacks to the deferred. Callbacks can be added
  1849. * before or after the deferred is fulfilled.
  1850. *
  1851. * @param callback OptionalCallback to be invoked when the promise is resolved.Receives the resolution value.
  1852. * @param errback OptionalCallback to be invoked when the promise is rejected.Receives the rejection error.
  1853. * @param progback OptionalCallback to be invoked when the promise emits a progressupdate. Receives the progress update.
  1854. */
  1855. then(callback?: Function, errback?: Function, progback?: Function): dojo.promise.Promise<any>;
  1856. /**
  1857. *
  1858. */
  1859. toString(): String;
  1860. }
  1861. /**
  1862. * Permalink: http://dojotoolkit.org/api/1.9/dojo/Evented.html
  1863. *
  1864. * A class that can be used as a mixin or base class,
  1865. * to add on() and emit() methods to a class
  1866. * for listening for events and emitting events:
  1867. *
  1868. */
  1869. class Evented {
  1870. constructor();
  1871. /**
  1872. *
  1873. * @param type
  1874. * @param event
  1875. */
  1876. emit(type: String, data: any): any;
  1877. /**
  1878. *
  1879. * @param type
  1880. * @param listener
  1881. */
  1882. on(type: String, listener: {(e:any):void}): {remove: {():void}};
  1883. }
  1884. /**
  1885. * Permalink: http://dojotoolkit.org/api/1.9/dojo/NodeList.html
  1886. *
  1887. * Array-like object which adds syntactic
  1888. * sugar for chaining, common iteration operations, animation, and
  1889. * node manipulation. NodeLists are most often returned as the
  1890. * result of dojo/query() calls.
  1891. * NodeList instances provide many utilities that reflect
  1892. * core Dojo APIs for Array iteration and manipulation, DOM
  1893. * manipulation, and event handling. Instead of needing to dig up
  1894. * functions in the dojo package, NodeLists generally make the
  1895. * full power of Dojo available for DOM manipulation tasks in a
  1896. * simple, chainable way.
  1897. *
  1898. * @param array
  1899. */
  1900. class NodeList {
  1901. constructor(array: any);
  1902. /**
  1903. *
  1904. */
  1905. "events": any[];
  1906. /**
  1907. * adds the specified class to every node in the list
  1908. *
  1909. * @param className A String class name to add, or several space-separated class names,or an array of class names.
  1910. */
  1911. addClass(className: String): void;
  1912. /**
  1913. * adds the specified class to every node in the list
  1914. *
  1915. * @param className A String class name to add, or several space-separated class names,or an array of class names.
  1916. */
  1917. addClass(className: any[]): void;
  1918. /**
  1919. * Animate the effects of adding a class to all nodes in this list.
  1920. * see dojox.fx.addClass
  1921. *
  1922. * @param cssClass
  1923. * @param args
  1924. */
  1925. addClassFx(cssClass: any, args: any): {type:Function;value:any};
  1926. /**
  1927. * add a node, NodeList or some HTML as a string to every item in the
  1928. * list. Returns the original list.
  1929. * a copy of the HTML content is added to each item in the
  1930. * list, with an optional position argument. If no position
  1931. * argument is provided, the content is appended to the end of
  1932. * each item.
  1933. *
  1934. * @param content the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  1935. * @param position Optionalcan be one of:"last"||"end" (default)"first||"start""before""after""replace" (replaces nodes in this NodeList with new content)"only" (removes other children of the nodes so new content is the only child)or an offset in the childNodes property
  1936. */
  1937. addContent(content: String, position?: String): Function;
  1938. /**
  1939. * add a node, NodeList or some HTML as a string to every item in the
  1940. * list. Returns the original list.
  1941. * a copy of the HTML content is added to each item in the
  1942. * list, with an optional position argument. If no position
  1943. * argument is provided, the content is appended to the end of
  1944. * each item.
  1945. *
  1946. * @param content the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  1947. * @param position Optionalcan be one of:"last"||"end" (default)"first||"start""before""after""replace" (replaces nodes in this NodeList with new content)"only" (removes other children of the nodes so new content is the only child)or an offset in the childNodes property
  1948. */
  1949. addContent(content: HTMLElement, position?: String): Function;
  1950. /**
  1951. * add a node, NodeList or some HTML as a string to every item in the
  1952. * list. Returns the original list.
  1953. * a copy of the HTML content is added to each item in the
  1954. * list, with an optional position argument. If no position
  1955. * argument is provided, the content is appended to the end of
  1956. * each item.
  1957. *
  1958. * @param content the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  1959. * @param position Optionalcan be one of:"last"||"end" (default)"first||"start""before""after""replace" (replaces nodes in this NodeList with new content)"only" (removes other children of the nodes so new content is the only child)or an offset in the childNodes property
  1960. */
  1961. addContent(content: Object, position?: String): Function;
  1962. /**
  1963. * add a node, NodeList or some HTML as a string to every item in the
  1964. * list. Returns the original list.
  1965. * a copy of the HTML content is added to each item in the
  1966. * list, with an optional position argument. If no position
  1967. * argument is provided, the content is appended to the end of
  1968. * each item.
  1969. *
  1970. * @param content the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  1971. * @param position Optionalcan be one of:"last"||"end" (default)"first||"start""before""after""replace" (replaces nodes in this NodeList with new content)"only" (removes other children of the nodes so new content is the only child)or an offset in the childNodes property
  1972. */
  1973. addContent(content: dojo.NodeList, position?: String): Function;
  1974. /**
  1975. * add a node, NodeList or some HTML as a string to every item in the
  1976. * list. Returns the original list.
  1977. * a copy of the HTML content is added to each item in the
  1978. * list, with an optional position argument. If no position
  1979. * argument is provided, the content is appended to the end of
  1980. * each item.
  1981. *
  1982. * @param content the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  1983. * @param position Optionalcan be one of:"last"||"end" (default)"first||"start""before""after""replace" (replaces nodes in this NodeList with new content)"only" (removes other children of the nodes so new content is the only child)or an offset in the childNodes property
  1984. */
  1985. addContent(content: String, position?: number): Function;
  1986. /**
  1987. * add a node, NodeList or some HTML as a string to every item in the
  1988. * list. Returns the original list.
  1989. * a copy of the HTML content is added to each item in the
  1990. * list, with an optional position argument. If no position
  1991. * argument is provided, the content is appended to the end of
  1992. * each item.
  1993. *
  1994. * @param content the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  1995. * @param position Optionalcan be one of:"last"||"end" (default)"first||"start""before""after""replace" (replaces nodes in this NodeList with new content)"only" (removes other children of the nodes so new content is the only child)or an offset in the childNodes property
  1996. */
  1997. addContent(content: HTMLElement, position?: number): Function;
  1998. /**
  1999. * add a node, NodeList or some HTML as a string to every item in the
  2000. * list. Returns the original list.
  2001. * a copy of the HTML content is added to each item in the
  2002. * list, with an optional position argument. If no position
  2003. * argument is provided, the content is appended to the end of
  2004. * each item.
  2005. *
  2006. * @param content the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  2007. * @param position Optionalcan be one of:"last"||"end" (default)"first||"start""before""after""replace" (replaces nodes in this NodeList with new content)"only" (removes other children of the nodes so new content is the only child)or an offset in the childNodes property
  2008. */
  2009. addContent(content: Object, position?: number): Function;
  2010. /**
  2011. * add a node, NodeList or some HTML as a string to every item in the
  2012. * list. Returns the original list.
  2013. * a copy of the HTML content is added to each item in the
  2014. * list, with an optional position argument. If no position
  2015. * argument is provided, the content is appended to the end of
  2016. * each item.
  2017. *
  2018. * @param content the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  2019. * @param position Optionalcan be one of:"last"||"end" (default)"first||"start""before""after""replace" (replaces nodes in this NodeList with new content)"only" (removes other children of the nodes so new content is the only child)or an offset in the childNodes property
  2020. */
  2021. addContent(content: dojo.NodeList, position?: number): Function;
  2022. /**
  2023. * places any/all elements in queryOrListOrNode at a
  2024. * position relative to the first element in this list.
  2025. * Returns a dojo/NodeList of the adopted elements.
  2026. *
  2027. * @param queryOrListOrNode a DOM node or a query string or a query result.Represents the nodes to be adopted relative to thefirst element of this NodeList.
  2028. * @param position Optionalcan be one of:"last" (default)"first""before""after""only""replace"or an offset in the childNodes property
  2029. */
  2030. adopt(queryOrListOrNode: String, position?: String): any;
  2031. /**
  2032. * places any/all elements in queryOrListOrNode at a
  2033. * position relative to the first element in this list.
  2034. * Returns a dojo/NodeList of the adopted elements.
  2035. *
  2036. * @param queryOrListOrNode a DOM node or a query string or a query result.Represents the nodes to be adopted relative to thefirst element of this NodeList.
  2037. * @param position Optionalcan be one of:"last" (default)"first""before""after""only""replace"or an offset in the childNodes property
  2038. */
  2039. adopt(queryOrListOrNode: any[], position?: String): any;
  2040. /**
  2041. * places any/all elements in queryOrListOrNode at a
  2042. * position relative to the first element in this list.
  2043. * Returns a dojo/NodeList of the adopted elements.
  2044. *
  2045. * @param queryOrListOrNode a DOM node or a query string or a query result.Represents the nodes to be adopted relative to thefirst element of this NodeList.
  2046. * @param position Optionalcan be one of:"last" (default)"first""before""after""only""replace"or an offset in the childNodes property
  2047. */
  2048. adopt(queryOrListOrNode: HTMLElement, position?: String): any;
  2049. /**
  2050. * Places the content after every node in the NodeList.
  2051. * The content will be cloned if the length of NodeList
  2052. * is greater than 1. Only the DOM nodes are cloned, not
  2053. * any attached event handlers.
  2054. *
  2055. * @param content
  2056. */
  2057. after(content: String): any;
  2058. /**
  2059. * Places the content after every node in the NodeList.
  2060. * The content will be cloned if the length of NodeList
  2061. * is greater than 1. Only the DOM nodes are cloned, not
  2062. * any attached event handlers.
  2063. *
  2064. * @param content
  2065. */
  2066. after(content: HTMLElement): any;
  2067. /**
  2068. * Places the content after every node in the NodeList.
  2069. * The content will be cloned if the length of NodeList
  2070. * is greater than 1. Only the DOM nodes are cloned, not
  2071. * any attached event handlers.
  2072. *
  2073. * @param content
  2074. */
  2075. after(content: NodeList): any;
  2076. /**
  2077. * Adds the nodes from the previous dojo/NodeList to the current dojo/NodeList.
  2078. * .end() can be used on the returned dojo/NodeList to get back to the
  2079. * original dojo/NodeList.
  2080. *
  2081. */
  2082. andSelf(): any;
  2083. /**
  2084. * Animate one or more CSS properties for all nodes in this list.
  2085. * The returned animation object will already be playing when it
  2086. * is returned. See the docs for dojo.anim for full details.
  2087. *
  2088. * @param properties the properties to animate. does NOT support the auto parameter like otherNodeList-fx methods.
  2089. * @param duration OptionalOptional. The time to run the animations for
  2090. * @param easing OptionalOptional. The easing function to use.
  2091. * @param onEnd OptionalA function to be called when the animation ends
  2092. * @param delay Optionalhow long to delay playing the returned animation
  2093. */
  2094. anim(properties: Object, duration?: number, easing?: Function, onEnd?: Function, delay?: number): any;
  2095. /**
  2096. * Animate all elements of this NodeList across the properties specified.
  2097. * syntax identical to dojo.animateProperty
  2098. *
  2099. * @param args OptionalAdditional dojo/_base/fx.Animation arguments to mix into this set with the addition ofan auto parameter.
  2100. */
  2101. animateProperty(args?: Object): any;
  2102. /**
  2103. * appends the content to every node in the NodeList.
  2104. * The content will be cloned if the length of NodeList
  2105. * is greater than 1. Only the DOM nodes are cloned, not
  2106. * any attached event handlers.
  2107. *
  2108. * @param content
  2109. */
  2110. append(content: String): any;
  2111. /**
  2112. * appends the content to every node in the NodeList.
  2113. * The content will be cloned if the length of NodeList
  2114. * is greater than 1. Only the DOM nodes are cloned, not
  2115. * any attached event handlers.
  2116. *
  2117. * @param content
  2118. */
  2119. append(content: HTMLElement): any;
  2120. /**
  2121. * appends the content to every node in the NodeList.
  2122. * The content will be cloned if the length of NodeList
  2123. * is greater than 1. Only the DOM nodes are cloned, not
  2124. * any attached event handlers.
  2125. *
  2126. * @param content
  2127. */
  2128. append(content: NodeList): any;
  2129. /**
  2130. * appends nodes in this NodeList to the nodes matched by
  2131. * the query passed to appendTo.
  2132. * The nodes in this NodeList will be cloned if the query
  2133. * matches more than one element. Only the DOM nodes are cloned, not
  2134. * any attached event handlers.
  2135. *
  2136. * @param query
  2137. */
  2138. appendTo(query: String): any;
  2139. /**
  2140. * Returns a new NodeList comprised of items in this NodeList
  2141. * at the given index or indices.
  2142. *
  2143. * @param index One or more 0-based indices of items in the currentNodeList. A negative index will start at the end of thelist and go backwards.
  2144. */
  2145. at(index: number[]): any;
  2146. /**
  2147. * gets or sets the DOM attribute for every element in the
  2148. * NodeList. See also dojo/dom-attr
  2149. *
  2150. * @param property the attribute to get/set
  2151. * @param value Optionaloptional. The value to set the property to
  2152. */
  2153. attr(property: String, value?: String): any;
  2154. /**
  2155. * Places the content before every node in the NodeList.
  2156. * The content will be cloned if the length of NodeList
  2157. * is greater than 1. Only the DOM nodes are cloned, not
  2158. * any attached event handlers.
  2159. *
  2160. * @param content
  2161. */
  2162. before(content: String): any;
  2163. /**
  2164. * Places the content before every node in the NodeList.
  2165. * The content will be cloned if the length of NodeList
  2166. * is greater than 1. Only the DOM nodes are cloned, not
  2167. * any attached event handlers.
  2168. *
  2169. * @param content
  2170. */
  2171. before(content: HTMLElement): any;
  2172. /**
  2173. * Places the content before every node in the NodeList.
  2174. * The content will be cloned if the length of NodeList
  2175. * is greater than 1. Only the DOM nodes are cloned, not
  2176. * any attached event handlers.
  2177. *
  2178. * @param content
  2179. */
  2180. before(content: NodeList): any;
  2181. /**
  2182. * Returns all immediate child elements for nodes in this dojo/NodeList.
  2183. * Optionally takes a query to filter the child elements.
  2184. * .end() can be used on the returned dojo/NodeList to get back to the
  2185. * original dojo/NodeList.
  2186. *
  2187. * @param query Optionala CSS selector.
  2188. */
  2189. children(query?: String): any;
  2190. /**
  2191. * Clones all the nodes in this NodeList and returns them as a new NodeList.
  2192. * Only the DOM nodes are cloned, not any attached event handlers.
  2193. *
  2194. */
  2195. clone(): any;
  2196. /**
  2197. * Returns closest parent that matches query, including current node in this
  2198. * dojo/NodeList if it matches the query.
  2199. * .end() can be used on the returned dojo/NodeList to get back to the
  2200. * original dojo/NodeList.
  2201. *
  2202. * @param query a CSS selector.
  2203. * @param root OptionalIf specified, query is relative to "root" rather than document body.
  2204. */
  2205. closest(query: String, root?: String): any;
  2206. /**
  2207. * Returns closest parent that matches query, including current node in this
  2208. * dojo/NodeList if it matches the query.
  2209. * .end() can be used on the returned dojo/NodeList to get back to the
  2210. * original dojo/NodeList.
  2211. *
  2212. * @param query a CSS selector.
  2213. * @param root OptionalIf specified, query is relative to "root" rather than document body.
  2214. */
  2215. closest(query: String, root?: HTMLElement): any;
  2216. /**
  2217. * Returns a new NodeList comprised of items in this NodeList
  2218. * as well as items passed in as parameters
  2219. * This method behaves exactly like the Array.concat method
  2220. * with the caveat that it returns a NodeList and not a
  2221. * raw Array. For more details, see the Array.concat
  2222. * docs
  2223. *
  2224. * @param item OptionalAny number of optional parameters may be passed in to bespliced into the NodeList
  2225. */
  2226. concat(item: Object): any;
  2227. /**
  2228. * Attach event handlers to every item of the NodeList. Uses dojo.connect()
  2229. * so event properties are normalized.
  2230. *
  2231. * Application must manually require() "dojo/_base/connect" before using this method.
  2232. *
  2233. * @param methodName the name of the method to attach to. For DOM events, this should bethe lower-case name of the event
  2234. * @param objOrFunc if 2 arguments are passed (methodName, objOrFunc), objOrFunc shouldreference a function or be the name of the function in the globalnamespace to attach. If 3 arguments are provided(methodName, objOrFunc, funcName), objOrFunc must be the scope tolocate the bound function in
  2235. * @param funcName Optionaloptional. A string naming the function in objOrFunc to bind to theevent. May also be a function reference.
  2236. */
  2237. connect(methodName: String, objOrFunc: Object, funcName?: String): void;
  2238. /**
  2239. * Attach event handlers to every item of the NodeList. Uses dojo.connect()
  2240. * so event properties are normalized.
  2241. *
  2242. * Application must manually require() "dojo/_base/connect" before using this method.
  2243. *
  2244. * @param methodName the name of the method to attach to. For DOM events, this should bethe lower-case name of the event
  2245. * @param objOrFunc if 2 arguments are passed (methodName, objOrFunc), objOrFunc shouldreference a function or be the name of the function in the globalnamespace to attach. If 3 arguments are provided(methodName, objOrFunc, funcName), objOrFunc must be the scope tolocate the bound function in
  2246. * @param funcName Optionaloptional. A string naming the function in objOrFunc to bind to theevent. May also be a function reference.
  2247. */
  2248. connect(methodName: String, objOrFunc: Function, funcName?: String): void;
  2249. /**
  2250. * Attach event handlers to every item of the NodeList. Uses dojo.connect()
  2251. * so event properties are normalized.
  2252. *
  2253. * Application must manually require() "dojo/_base/connect" before using this method.
  2254. *
  2255. * @param methodName the name of the method to attach to. For DOM events, this should bethe lower-case name of the event
  2256. * @param objOrFunc if 2 arguments are passed (methodName, objOrFunc), objOrFunc shouldreference a function or be the name of the function in the globalnamespace to attach. If 3 arguments are provided(methodName, objOrFunc, funcName), objOrFunc must be the scope tolocate the bound function in
  2257. * @param funcName Optionaloptional. A string naming the function in objOrFunc to bind to theevent. May also be a function reference.
  2258. */
  2259. connect(methodName: String, objOrFunc: String, funcName?: String): void;
  2260. /**
  2261. * Deprecated: Use position() for border-box x/y/w/h
  2262. * or marginBox() for margin-box w/h/l/t.
  2263. * Returns the box objects of all elements in a node list as
  2264. * an Array (not a NodeList). Acts like domGeom.coords, though assumes
  2265. * the node passed is each node in this list.
  2266. *
  2267. */
  2268. coords(): void;
  2269. /**
  2270. * stash or get some arbitrary data on/from these nodes.
  2271. * Stash or get some arbitrary data on/from these nodes. This private _data function is
  2272. * exposed publicly on dojo/NodeList, eg: as the result of a dojo/query call.
  2273. * DIFFERS from jQuery.data in that when used as a getter, the entire list is ALWAYS
  2274. * returned. EVEN WHEN THE LIST IS length == 1.
  2275. *
  2276. * A single-node version of this function is provided as dojo._nodeData, which follows
  2277. * the same signature, though expects a String ID or DomNode reference in the first
  2278. * position, before key/value arguments.
  2279. *
  2280. * @param key OptionalIf an object, act as a setter and iterate over said object setting data items as defined.If a string, and value present, set the data for defined key to valueIf a string, and value absent, act as a getter, returning the data associated with said key
  2281. * @param value OptionalThe value to set for said key, provided key is a string (and not an object)
  2282. */
  2283. data(key?: Object, value?: any): any;
  2284. /**
  2285. * stash or get some arbitrary data on/from these nodes.
  2286. * Stash or get some arbitrary data on/from these nodes. This private _data function is
  2287. * exposed publicly on dojo/NodeList, eg: as the result of a dojo/query call.
  2288. * DIFFERS from jQuery.data in that when used as a getter, the entire list is ALWAYS
  2289. * returned. EVEN WHEN THE LIST IS length == 1.
  2290. *
  2291. * A single-node version of this function is provided as dojo._nodeData, which follows
  2292. * the same signature, though expects a String ID or DomNode reference in the first
  2293. * position, before key/value arguments.
  2294. *
  2295. * @param key OptionalIf an object, act as a setter and iterate over said object setting data items as defined.If a string, and value present, set the data for defined key to valueIf a string, and value absent, act as a getter, returning the data associated with said key
  2296. * @param value OptionalThe value to set for said key, provided key is a string (and not an object)
  2297. */
  2298. data(key?: String, value?: any): any;
  2299. /**
  2300. * Monitor nodes in this NodeList for [bubbled] events on nodes that match selector.
  2301. * Calls fn(evt) for those events, where (inside of fn()), this == the node
  2302. * that matches the selector.
  2303. * Sets up event handlers that can catch events on any subnodes matching a given selector,
  2304. * including nodes created after delegate() has been called.
  2305. *
  2306. * This allows an app to setup a single event handler on a high level node, rather than many
  2307. * event handlers on subnodes. For example, one onclick handler for a Tree widget, rather than separate
  2308. * handlers for each node in the tree.
  2309. * Since setting up many event handlers is expensive, this can increase performance.
  2310. *
  2311. * Note that delegate() will not work for events that don't bubble, like focus.
  2312. * onmouseenter/onmouseleave also don't currently work.
  2313. *
  2314. * @param selector CSS selector valid to dojo.query, like ".foo" or "div > span". Theselector is relative to the nodes in this NodeList, not the document root.For example myNodeList.delegate("> a", "onclick", ...) will catch events onanchor nodes which are (immediate) children of the nodes in myNodeList.
  2315. * @param eventName Standard event name used as an argument to dojo.connect, like "onclick".
  2316. * @param fn Callback function passed the event object, and where this == the node that matches the selector.That means that for example, after setting up a handler viadojo.query("body").delegate("fieldset", "onclick", ...)clicking on a fieldset or any nodes inside of a fieldset will be reportedas a click on the fieldset itself.
  2317. */
  2318. delegate(selector: String, eventName: String, fn: Function): any;
  2319. /**
  2320. * Renders the specified template in each of the NodeList entries.
  2321. *
  2322. * @param template The template string or location
  2323. * @param context The context object or location
  2324. */
  2325. dtl(template: dojox.dtl.__StringArgs , context: dojox.dtl.__ObjectArgs ): Function;
  2326. /**
  2327. * Renders the specified template in each of the NodeList entries.
  2328. *
  2329. * @param template The template string or location
  2330. * @param context The context object or location
  2331. */
  2332. dtl(template: String, context: dojox.dtl.__ObjectArgs ): Function;
  2333. /**
  2334. * Renders the specified template in each of the NodeList entries.
  2335. *
  2336. * @param template The template string or location
  2337. * @param context The context object or location
  2338. */
  2339. dtl(template: dojox.dtl.__StringArgs , context: Object): Function;
  2340. /**
  2341. * Renders the specified template in each of the NodeList entries.
  2342. *
  2343. * @param template The template string or location
  2344. * @param context The context object or location
  2345. */
  2346. dtl(template: String, context: Object): Function;
  2347. /**
  2348. * clears all content from each node in the list. Effectively
  2349. * equivalent to removing all child nodes from every item in
  2350. * the list.
  2351. *
  2352. */
  2353. empty(): any;
  2354. /**
  2355. * Ends use of the current NodeList by returning the previous NodeList
  2356. * that generated the current NodeList.
  2357. * Returns the NodeList that generated the current NodeList. If there
  2358. * is no parent NodeList, an empty NodeList is returned.
  2359. *
  2360. */
  2361. end(): any;
  2362. /**
  2363. * Returns the even nodes in this dojo/NodeList as a dojo/NodeList.
  2364. * .end() can be used on the returned dojo/NodeList to get back to the
  2365. * original dojo/NodeList.
  2366. *
  2367. */
  2368. even(): any;
  2369. /**
  2370. * see dojo/_base/array.every() and the Array.every
  2371. * docs.
  2372. * Takes the same structure of arguments and returns as
  2373. * dojo/_base/array.every() with the caveat that the passed array is
  2374. * implicitly this NodeList
  2375. *
  2376. * @param callback the callback
  2377. * @param thisObject Optionalthe context
  2378. */
  2379. every(callback: Function, thisObject?: Object): any;
  2380. /**
  2381. * fade in all elements of this NodeList via dojo.fadeIn
  2382. *
  2383. * @param args OptionalAdditional dojo/_base/fx.Animation arguments to mix into this set with the addition ofan auto parameter.
  2384. */
  2385. fadeIn(args?: Object): any;
  2386. /**
  2387. * fade out all elements of this NodeList via dojo.fadeOut
  2388. *
  2389. * @param args OptionalAdditional dojo/_base/fx.Animation arguments to mix into this set with the addition ofan auto parameter.
  2390. */
  2391. fadeOut(args?: Object): any;
  2392. /**
  2393. * "masks" the built-in javascript filter() method (supported
  2394. * in Dojo via dojo.filter) to support passing a simple
  2395. * string filter in addition to supporting filtering function
  2396. * objects.
  2397. *
  2398. * @param filter If a string, a CSS rule like ".thinger" or "div > span".
  2399. */
  2400. filter(filter: String): any;
  2401. /**
  2402. * "masks" the built-in javascript filter() method (supported
  2403. * in Dojo via dojo.filter) to support passing a simple
  2404. * string filter in addition to supporting filtering function
  2405. * objects.
  2406. *
  2407. * @param filter If a string, a CSS rule like ".thinger" or "div > span".
  2408. */
  2409. filter(filter: Function): any;
  2410. /**
  2411. * Returns the first node in this dojo/NodeList as a dojo/NodeList.
  2412. * .end() can be used on the returned dojo/NodeList to get back to the
  2413. * original dojo/NodeList.
  2414. *
  2415. */
  2416. first(): any;
  2417. /**
  2418. * see dojo/_base/array.forEach(). The primary difference is that the acted-on
  2419. * array is implicitly this NodeList. If you want the option to break out
  2420. * of the forEach loop, use every() or some() instead.
  2421. *
  2422. * @param callback
  2423. * @param thisObj
  2424. */
  2425. forEach(callback: any, thisObj: any): Function;
  2426. /**
  2427. * allows setting the innerHTML of each node in the NodeList,
  2428. * if there is a value passed in, otherwise, reads the innerHTML value of the first node.
  2429. * This method is simpler than the dojo/NodeList.html() method provided by
  2430. * dojo/NodeList-html. This method just does proper innerHTML insertion of HTML fragments,
  2431. * and it allows for the innerHTML to be read for the first node in the node list.
  2432. * Since dojo/NodeList-html already took the "html" name, this method is called
  2433. * "innerHTML". However, if dojo/NodeList-html has not been loaded yet, this
  2434. * module will define an "html" method that can be used instead. Be careful if you
  2435. * are working in an environment where it is possible that dojo/NodeList-html could
  2436. * have been loaded, since its definition of "html" will take precedence.
  2437. * The nodes represented by the value argument will be cloned if more than one
  2438. * node is in this NodeList. The nodes in this NodeList are returned in the "set"
  2439. * usage of this method, not the HTML that was inserted.
  2440. *
  2441. * @param value Optional
  2442. */
  2443. html(value?: String): any;
  2444. /**
  2445. * allows setting the innerHTML of each node in the NodeList,
  2446. * if there is a value passed in, otherwise, reads the innerHTML value of the first node.
  2447. * This method is simpler than the dojo/NodeList.html() method provided by
  2448. * dojo/NodeList-html. This method just does proper innerHTML insertion of HTML fragments,
  2449. * and it allows for the innerHTML to be read for the first node in the node list.
  2450. * Since dojo/NodeList-html already took the "html" name, this method is called
  2451. * "innerHTML". However, if dojo/NodeList-html has not been loaded yet, this
  2452. * module will define an "html" method that can be used instead. Be careful if you
  2453. * are working in an environment where it is possible that dojo/NodeList-html could
  2454. * have been loaded, since its definition of "html" will take precedence.
  2455. * The nodes represented by the value argument will be cloned if more than one
  2456. * node is in this NodeList. The nodes in this NodeList are returned in the "set"
  2457. * usage of this method, not the HTML that was inserted.
  2458. *
  2459. * @param value Optional
  2460. */
  2461. html(value?: HTMLElement): any;
  2462. /**
  2463. * allows setting the innerHTML of each node in the NodeList,
  2464. * if there is a value passed in, otherwise, reads the innerHTML value of the first node.
  2465. * This method is simpler than the dojo/NodeList.html() method provided by
  2466. * dojo/NodeList-html. This method just does proper innerHTML insertion of HTML fragments,
  2467. * and it allows for the innerHTML to be read for the first node in the node list.
  2468. * Since dojo/NodeList-html already took the "html" name, this method is called
  2469. * "innerHTML". However, if dojo/NodeList-html has not been loaded yet, this
  2470. * module will define an "html" method that can be used instead. Be careful if you
  2471. * are working in an environment where it is possible that dojo/NodeList-html could
  2472. * have been loaded, since its definition of "html" will take precedence.
  2473. * The nodes represented by the value argument will be cloned if more than one
  2474. * node is in this NodeList. The nodes in this NodeList are returned in the "set"
  2475. * usage of this method, not the HTML that was inserted.
  2476. *
  2477. * @param value Optional
  2478. */
  2479. html(value?: NodeList): any;
  2480. /**
  2481. * see dojo/_base/array.indexOf(). The primary difference is that the acted-on
  2482. * array is implicitly this NodeList
  2483. * For more details on the behavior of indexOf, see Mozilla's
  2484. * indexOf
  2485. * docs
  2486. *
  2487. * @param value The value to search for.
  2488. * @param fromIndex OptionalThe location to start searching from. Optional. Defaults to 0.
  2489. */
  2490. indexOf(value: Object, fromIndex: number): any;
  2491. /**
  2492. * allows setting the innerHTML of each node in the NodeList,
  2493. * if there is a value passed in, otherwise, reads the innerHTML value of the first node.
  2494. * This method is simpler than the dojo/NodeList.html() method provided by
  2495. * dojo/NodeList-html. This method just does proper innerHTML insertion of HTML fragments,
  2496. * and it allows for the innerHTML to be read for the first node in the node list.
  2497. * Since dojo/NodeList-html already took the "html" name, this method is called
  2498. * "innerHTML". However, if dojo/NodeList-html has not been loaded yet, this
  2499. * module will define an "html" method that can be used instead. Be careful if you
  2500. * are working in an environment where it is possible that dojo/NodeList-html could
  2501. * have been loaded, since its definition of "html" will take precedence.
  2502. * The nodes represented by the value argument will be cloned if more than one
  2503. * node is in this NodeList. The nodes in this NodeList are returned in the "set"
  2504. * usage of this method, not the HTML that was inserted.
  2505. *
  2506. * @param value Optional
  2507. */
  2508. innerHTML(value?: String): any;
  2509. /**
  2510. * allows setting the innerHTML of each node in the NodeList,
  2511. * if there is a value passed in, otherwise, reads the innerHTML value of the first node.
  2512. * This method is simpler than the dojo/NodeList.html() method provided by
  2513. * dojo/NodeList-html. This method just does proper innerHTML insertion of HTML fragments,
  2514. * and it allows for the innerHTML to be read for the first node in the node list.
  2515. * Since dojo/NodeList-html already took the "html" name, this method is called
  2516. * "innerHTML". However, if dojo/NodeList-html has not been loaded yet, this
  2517. * module will define an "html" method that can be used instead. Be careful if you
  2518. * are working in an environment where it is possible that dojo/NodeList-html could
  2519. * have been loaded, since its definition of "html" will take precedence.
  2520. * The nodes represented by the value argument will be cloned if more than one
  2521. * node is in this NodeList. The nodes in this NodeList are returned in the "set"
  2522. * usage of this method, not the HTML that was inserted.
  2523. *
  2524. * @param value Optional
  2525. */
  2526. innerHTML(value?: HTMLElement): any;
  2527. /**
  2528. * allows setting the innerHTML of each node in the NodeList,
  2529. * if there is a value passed in, otherwise, reads the innerHTML value of the first node.
  2530. * This method is simpler than the dojo/NodeList.html() method provided by
  2531. * dojo/NodeList-html. This method just does proper innerHTML insertion of HTML fragments,
  2532. * and it allows for the innerHTML to be read for the first node in the node list.
  2533. * Since dojo/NodeList-html already took the "html" name, this method is called
  2534. * "innerHTML". However, if dojo/NodeList-html has not been loaded yet, this
  2535. * module will define an "html" method that can be used instead. Be careful if you
  2536. * are working in an environment where it is possible that dojo/NodeList-html could
  2537. * have been loaded, since its definition of "html" will take precedence.
  2538. * The nodes represented by the value argument will be cloned if more than one
  2539. * node is in this NodeList. The nodes in this NodeList are returned in the "set"
  2540. * usage of this method, not the HTML that was inserted.
  2541. *
  2542. * @param value Optional
  2543. */
  2544. innerHTML(value?: NodeList): any;
  2545. /**
  2546. * The nodes in this NodeList will be placed after the nodes
  2547. * matched by the query passed to insertAfter.
  2548. * The nodes in this NodeList will be cloned if the query
  2549. * matches more than one element. Only the DOM nodes are cloned, not
  2550. * any attached event handlers.
  2551. *
  2552. * @param query
  2553. */
  2554. insertAfter(query: String): any;
  2555. /**
  2556. * The nodes in this NodeList will be placed after the nodes
  2557. * matched by the query passed to insertAfter.
  2558. * The nodes in this NodeList will be cloned if the query
  2559. * matches more than one element. Only the DOM nodes are cloned, not
  2560. * any attached event handlers.
  2561. *
  2562. * @param query
  2563. */
  2564. insertBefore(query: String): any;
  2565. /**
  2566. * Create a new instance of a specified class, using the
  2567. * specified properties and each node in the NodeList as a
  2568. * srcNodeRef.
  2569. *
  2570. * @param declaredClass
  2571. * @param properties Optional
  2572. */
  2573. instantiate(declaredClass: String, properties?: Object): any;
  2574. /**
  2575. * Create a new instance of a specified class, using the
  2576. * specified properties and each node in the NodeList as a
  2577. * srcNodeRef.
  2578. *
  2579. * @param declaredClass
  2580. * @param properties Optional
  2581. */
  2582. instantiate(declaredClass: Object, properties?: Object): any;
  2583. /**
  2584. * Returns the last node in this dojo/NodeList as a dojo/NodeList.
  2585. * .end() can be used on the returned dojo/NodeList to get back to the
  2586. * original dojo/NodeList.
  2587. *
  2588. */
  2589. last(): any;
  2590. /**
  2591. * see dojo/_base/array.lastIndexOf(). The primary difference is that the
  2592. * acted-on array is implicitly this NodeList
  2593. * For more details on the behavior of lastIndexOf, see
  2594. * Mozilla's lastIndexOf
  2595. * docs
  2596. *
  2597. * @param value The value to search for.
  2598. * @param fromIndex OptionalThe location to start searching from. Optional. Defaults to 0.
  2599. */
  2600. lastIndexOf(value: Object, fromIndex?: number): any;
  2601. /**
  2602. * see dojo/_base/array.map(). The primary difference is that the acted-on
  2603. * array is implicitly this NodeList and the return is a
  2604. * NodeList (a subclass of Array)
  2605. *
  2606. * @param func
  2607. * @param obj Optional
  2608. */
  2609. map(func: Function, obj?: Function): any;
  2610. /**
  2611. * Returns margin-box size of nodes
  2612. *
  2613. */
  2614. marginBox(): void;
  2615. /**
  2616. * Returns the next element for nodes in this dojo/NodeList.
  2617. * Optionally takes a query to filter the next elements.
  2618. * .end() can be used on the returned dojo/NodeList to get back to the
  2619. * original dojo/NodeList.
  2620. *
  2621. * @param query Optionala CSS selector.
  2622. */
  2623. next(query?: String): any;
  2624. /**
  2625. * Returns all sibling elements that come after the nodes in this dojo/NodeList.
  2626. * Optionally takes a query to filter the sibling elements.
  2627. * .end() can be used on the returned dojo/NodeList to get back to the
  2628. * original dojo/NodeList.
  2629. *
  2630. * @param query Optionala CSS selector.
  2631. */
  2632. nextAll(query?: String): any;
  2633. /**
  2634. * Returns the odd nodes in this dojo/NodeList as a dojo/NodeList.
  2635. * .end() can be used on the returned dojo/NodeList to get back to the
  2636. * original dojo/NodeList.
  2637. *
  2638. */
  2639. odd(): any;
  2640. /**
  2641. * Listen for events on the nodes in the NodeList. Basic usage is:
  2642. *
  2643. * @param eventName
  2644. * @param listener
  2645. */
  2646. on(eventName: any, listener: any): any;
  2647. /**
  2648. * removes elements in this list that match the filter
  2649. * from their parents and returns them as a new NodeList.
  2650. *
  2651. * @param filter OptionalCSS selector like ".foo" or "div > span"
  2652. */
  2653. orphan(filter?: String): any;
  2654. /**
  2655. * Returns immediate parent elements for nodes in this dojo/NodeList.
  2656. * Optionally takes a query to filter the parent elements.
  2657. * .end() can be used on the returned dojo/NodeList to get back to the
  2658. * original dojo/NodeList.
  2659. *
  2660. * @param query Optionala CSS selector.
  2661. */
  2662. parent(query?: String): any;
  2663. /**
  2664. * Returns all parent elements for nodes in this dojo/NodeList.
  2665. * Optionally takes a query to filter the child elements.
  2666. * .end() can be used on the returned dojo/NodeList to get back to the
  2667. * original dojo/NodeList.
  2668. *
  2669. * @param query Optionala CSS selector.
  2670. */
  2671. parents(query?: String): any;
  2672. /**
  2673. * places elements of this node list relative to the first element matched
  2674. * by queryOrNode. Returns the original NodeList. See: dojo/dom-construct.place
  2675. *
  2676. * @param queryOrNode may be a string representing any valid CSS3 selector or a DOM node.In the selector case, only the first matching element will be usedfor relative positioning.
  2677. * @param position can be one of:"last" (default)"first""before""after""only""replace"or an offset in the childNodes property
  2678. */
  2679. place(queryOrNode: String, position: String): any;
  2680. /**
  2681. * places elements of this node list relative to the first element matched
  2682. * by queryOrNode. Returns the original NodeList. See: dojo/dom-construct.place
  2683. *
  2684. * @param queryOrNode may be a string representing any valid CSS3 selector or a DOM node.In the selector case, only the first matching element will be usedfor relative positioning.
  2685. * @param position can be one of:"last" (default)"first""before""after""only""replace"or an offset in the childNodes property
  2686. */
  2687. place(queryOrNode: HTMLElement, position: String): any;
  2688. /**
  2689. * Returns border-box objects (x/y/w/h) of all elements in a node list
  2690. * as an Array (not a NodeList). Acts like dojo/dom-geometry-position, though
  2691. * assumes the node passed is each node in this list.
  2692. *
  2693. */
  2694. position(): any;
  2695. /**
  2696. * prepends the content to every node in the NodeList.
  2697. * The content will be cloned if the length of NodeList
  2698. * is greater than 1. Only the DOM nodes are cloned, not
  2699. * any attached event handlers.
  2700. *
  2701. * @param content
  2702. */
  2703. prepend(content: String): any;
  2704. /**
  2705. * prepends the content to every node in the NodeList.
  2706. * The content will be cloned if the length of NodeList
  2707. * is greater than 1. Only the DOM nodes are cloned, not
  2708. * any attached event handlers.
  2709. *
  2710. * @param content
  2711. */
  2712. prepend(content: HTMLElement): any;
  2713. /**
  2714. * prepends the content to every node in the NodeList.
  2715. * The content will be cloned if the length of NodeList
  2716. * is greater than 1. Only the DOM nodes are cloned, not
  2717. * any attached event handlers.
  2718. *
  2719. * @param content
  2720. */
  2721. prepend(content: NodeList): any;
  2722. /**
  2723. * prepends nodes in this NodeList to the nodes matched by
  2724. * the query passed to prependTo.
  2725. * The nodes in this NodeList will be cloned if the query
  2726. * matches more than one element. Only the DOM nodes are cloned, not
  2727. * any attached event handlers.
  2728. *
  2729. * @param query
  2730. */
  2731. prependTo(query: String): any;
  2732. /**
  2733. * Returns the previous element for nodes in this dojo/NodeList.
  2734. * Optionally takes a query to filter the previous elements.
  2735. * .end() can be used on the returned dojo/NodeList to get back to the
  2736. * original dojo/NodeList.
  2737. *
  2738. * @param query Optionala CSS selector.
  2739. */
  2740. prev(query?: String): any;
  2741. /**
  2742. * Returns all sibling elements that come before the nodes in this dojo/NodeList.
  2743. * Optionally takes a query to filter the sibling elements.
  2744. * The returned nodes will be in reverse DOM order -- the first node in the list will
  2745. * be the node closest to the original node/NodeList.
  2746. * .end() can be used on the returned dojo/NodeList to get back to the
  2747. * original dojo/NodeList.
  2748. *
  2749. * @param query Optionala CSS selector.
  2750. */
  2751. prevAll(query?: String): any;
  2752. /**
  2753. * Returns a new list whose members match the passed query,
  2754. * assuming elements of the current NodeList as the root for
  2755. * each search.
  2756. *
  2757. * @param queryStr
  2758. */
  2759. query(queryStr: String): any;
  2760. /**
  2761. * removes elements in this list that match the filter
  2762. * from their parents and returns them as a new NodeList.
  2763. *
  2764. * @param filter OptionalCSS selector like ".foo" or "div > span"
  2765. */
  2766. remove(filter?: String): any;
  2767. /**
  2768. * Removes an attribute from each node in the list.
  2769. *
  2770. * @param name the name of the attribute to remove
  2771. */
  2772. removeAttr(name: String): void;
  2773. /**
  2774. * removes the specified class from every node in the list
  2775. *
  2776. * @param className OptionalAn optional String class name to remove, or several space-separatedclass names, or an array of class names. If omitted, all class nameswill be deleted.
  2777. */
  2778. removeClass(className?: String): any;
  2779. /**
  2780. * removes the specified class from every node in the list
  2781. *
  2782. * @param className OptionalAn optional String class name to remove, or several space-separatedclass names, or an array of class names. If omitted, all class nameswill be deleted.
  2783. */
  2784. removeClass(className: any[]): any;
  2785. /**
  2786. * Animate the effect of removing a class to all nodes in this list.
  2787. * see dojox.fx.removeClass
  2788. *
  2789. * @param cssClass
  2790. * @param args
  2791. */
  2792. removeClassFx(cssClass: any, args: any): {type:Function;value:any};
  2793. /**
  2794. * Remove the data associated with these nodes.
  2795. *
  2796. * @param key OptionalIf omitted, clean all data for this node.If passed, remove the data item found at key
  2797. */
  2798. removeData(key?: String): void;
  2799. /**
  2800. * replaces nodes matched by the query passed to replaceAll with the nodes
  2801. * in this NodeList.
  2802. * The nodes in this NodeList will be cloned if the query
  2803. * matches more than one element. Only the DOM nodes are cloned, not
  2804. * any attached event handlers.
  2805. *
  2806. * @param query
  2807. */
  2808. replaceAll(query: String): any;
  2809. /**
  2810. * Replaces one or more classes on a node if not present.
  2811. * Operates more quickly than calling removeClass() and addClass()
  2812. *
  2813. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  2814. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  2815. */
  2816. replaceClass(addClassStr: String, removeClassStr?: String): void;
  2817. /**
  2818. * Replaces one or more classes on a node if not present.
  2819. * Operates more quickly than calling removeClass() and addClass()
  2820. *
  2821. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  2822. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  2823. */
  2824. replaceClass(addClassStr: any[], removeClassStr?: String): void;
  2825. /**
  2826. * Replaces one or more classes on a node if not present.
  2827. * Operates more quickly than calling removeClass() and addClass()
  2828. *
  2829. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  2830. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  2831. */
  2832. replaceClass(addClassStr: String, removeClassStr?: any[]): void;
  2833. /**
  2834. * Replaces one or more classes on a node if not present.
  2835. * Operates more quickly than calling removeClass() and addClass()
  2836. *
  2837. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  2838. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  2839. */
  2840. replaceClass(addClassStr: any[], removeClassStr?: any[]): void;
  2841. /**
  2842. * Replaces each node in ths NodeList with the content passed to replaceWith.
  2843. * The content will be cloned if the length of NodeList
  2844. * is greater than 1. Only the DOM nodes are cloned, not
  2845. * any attached event handlers.
  2846. *
  2847. * @param content
  2848. */
  2849. replaceWith(content: String): any;
  2850. /**
  2851. * Replaces each node in ths NodeList with the content passed to replaceWith.
  2852. * The content will be cloned if the length of NodeList
  2853. * is greater than 1. Only the DOM nodes are cloned, not
  2854. * any attached event handlers.
  2855. *
  2856. * @param content
  2857. */
  2858. replaceWith(content: HTMLElement): any;
  2859. /**
  2860. * Replaces each node in ths NodeList with the content passed to replaceWith.
  2861. * The content will be cloned if the length of NodeList
  2862. * is greater than 1. Only the DOM nodes are cloned, not
  2863. * any attached event handlers.
  2864. *
  2865. * @param content
  2866. */
  2867. replaceWith(content: NodeList): any;
  2868. /**
  2869. * Returns all sibling elements for nodes in this dojo/NodeList.
  2870. * Optionally takes a query to filter the sibling elements.
  2871. * .end() can be used on the returned dojo/NodeList to get back to the
  2872. * original dojo/NodeList.
  2873. *
  2874. * @param query Optionala CSS selector.
  2875. */
  2876. siblings(query?: String): any;
  2877. /**
  2878. * Returns a new NodeList, maintaining this one in place
  2879. * This method behaves exactly like the Array.slice method
  2880. * with the caveat that it returns a dojo/NodeList and not a
  2881. * raw Array. For more details, see Mozilla's slice
  2882. * documentation
  2883. *
  2884. * @param begin Can be a positive or negative integer, with positiveintegers noting the offset to begin at, and negativeintegers denoting an offset from the end (i.e., to the leftof the end)
  2885. * @param end OptionalOptional parameter to describe what position relative tothe NodeList's zero index to end the slice at. Like begin,can be positive or negative.
  2886. */
  2887. slice(begin: number, end?: number): any;
  2888. /**
  2889. * slide all elements of the node list to the specified place via dojo/fx.slideTo()
  2890. *
  2891. * @param args OptionalAdditional dojo/_base/fx.Animation arguments to mix into this set with the addition ofan auto parameter.
  2892. */
  2893. slideTo(args?: Object): any;
  2894. /**
  2895. * Takes the same structure of arguments and returns as
  2896. * dojo/_base/array.some() with the caveat that the passed array is
  2897. * implicitly this NodeList. See dojo/_base/array.some() and Mozilla's
  2898. * Array.some
  2899. * documentation.
  2900. *
  2901. * @param callback the callback
  2902. * @param thisObject Optionalthe context
  2903. */
  2904. some(callback: Function, thisObject?: Object): any;
  2905. /**
  2906. * Returns a new NodeList, manipulating this NodeList based on
  2907. * the arguments passed, potentially splicing in new elements
  2908. * at an offset, optionally deleting elements
  2909. * This method behaves exactly like the Array.splice method
  2910. * with the caveat that it returns a dojo/NodeList and not a
  2911. * raw Array. For more details, see Mozilla's splice
  2912. * documentation
  2913. * For backwards compatibility, calling .end() on the spliced NodeList
  2914. * does not return the original NodeList -- splice alters the NodeList in place.
  2915. *
  2916. * @param index begin can be a positive or negative integer, with positiveintegers noting the offset to begin at, and negativeintegers denoting an offset from the end (i.e., to the leftof the end)
  2917. * @param howmany OptionalOptional parameter to describe what position relative tothe NodeList's zero index to end the slice at. Like begin,can be positive or negative.
  2918. * @param item OptionalAny number of optional parameters may be passed in to bespliced into the NodeList
  2919. */
  2920. splice(index: number, howmany?: number, item?: Object[]): any;
  2921. /**
  2922. * gets or sets the CSS property for every element in the NodeList
  2923. *
  2924. * @param property the CSS property to get/set, in JavaScript notation("lineHieght" instead of "line-height")
  2925. * @param value Optionaloptional. The value to set the property to
  2926. */
  2927. style(property: String, value?: String): any;
  2928. /**
  2929. * allows setting the text value of each node in the NodeList,
  2930. * if there is a value passed in, otherwise, returns the text value for all the
  2931. * nodes in the NodeList in one string.
  2932. *
  2933. * @param value
  2934. */
  2935. text(value: String): any;
  2936. /**
  2937. * Adds a class to node if not present, or removes if present.
  2938. * Pass a boolean condition if you want to explicitly add or remove.
  2939. *
  2940. * @param className the CSS class to add
  2941. * @param condition OptionalIf passed, true means to add the class, false means to remove.
  2942. */
  2943. toggleClass(className: String, condition?: boolean): void;
  2944. /**
  2945. * Animate the effect of adding or removing a class to all nodes in this list.
  2946. * see dojox.fx.toggleClass
  2947. *
  2948. * @param cssClass
  2949. * @param force
  2950. * @param args
  2951. */
  2952. toggleClassFx(cssClass: any, force: any, args: any): {type:Function;value:any};
  2953. /**
  2954. *
  2955. */
  2956. toString(): any;
  2957. /**
  2958. * If a value is passed, allows seting the value property of form elements in this
  2959. * NodeList, or properly selecting/checking the right value for radio/checkbox/select
  2960. * elements. If no value is passed, the value of the first node in this NodeList
  2961. * is returned.
  2962. *
  2963. * @param value
  2964. */
  2965. val(value: String): any;
  2966. /**
  2967. * If a value is passed, allows seting the value property of form elements in this
  2968. * NodeList, or properly selecting/checking the right value for radio/checkbox/select
  2969. * elements. If no value is passed, the value of the first node in this NodeList
  2970. * is returned.
  2971. *
  2972. * @param value
  2973. */
  2974. val(value: any[]): any;
  2975. /**
  2976. * wipe in all elements of this NodeList via dojo/fx.wipeIn()
  2977. *
  2978. * @param args OptionalAdditional dojo/_base/fx.Animation arguments to mix into this set with the addition ofan auto parameter.
  2979. */
  2980. wipeIn(args?: Object): any;
  2981. /**
  2982. * wipe out all elements of this NodeList via dojo/fx.wipeOut()
  2983. *
  2984. * @param args OptionalAdditional dojo/_base/fx.Animation arguments to mix into this set with the addition ofan auto parameter.
  2985. */
  2986. wipeOut(args?: Object): any;
  2987. /**
  2988. * Wrap each node in the NodeList with html passed to wrap.
  2989. * html will be cloned if the NodeList has more than one
  2990. * element. Only DOM nodes are cloned, not any attached
  2991. * event handlers.
  2992. *
  2993. * @param html
  2994. */
  2995. wrap(html: String): any;
  2996. /**
  2997. * Wrap each node in the NodeList with html passed to wrap.
  2998. * html will be cloned if the NodeList has more than one
  2999. * element. Only DOM nodes are cloned, not any attached
  3000. * event handlers.
  3001. *
  3002. * @param html
  3003. */
  3004. wrap(html: HTMLElement): any;
  3005. /**
  3006. * Insert html where the first node in this NodeList lives, then place all
  3007. * nodes in this NodeList as the child of the html.
  3008. *
  3009. * @param html
  3010. */
  3011. wrapAll(html: String): any;
  3012. /**
  3013. * Insert html where the first node in this NodeList lives, then place all
  3014. * nodes in this NodeList as the child of the html.
  3015. *
  3016. * @param html
  3017. */
  3018. wrapAll(html: HTMLElement): any;
  3019. /**
  3020. * For each node in the NodeList, wrap all its children with the passed in html.
  3021. * html will be cloned if the NodeList has more than one
  3022. * element. Only DOM nodes are cloned, not any attached
  3023. * event handlers.
  3024. *
  3025. * @param html
  3026. */
  3027. wrapInner(html: String): any;
  3028. /**
  3029. * For each node in the NodeList, wrap all its children with the passed in html.
  3030. * html will be cloned if the NodeList has more than one
  3031. * element. Only DOM nodes are cloned, not any attached
  3032. * event handlers.
  3033. *
  3034. * @param html
  3035. */
  3036. wrapInner(html: HTMLElement): any;
  3037. }
  3038. namespace NodeList {
  3039. /**
  3040. * Permalink: http://dojotoolkit.org/api/1.9/dojo/NodeList._nodeDataCache.html
  3041. *
  3042. *
  3043. */
  3044. interface _nodeDataCache {
  3045. }
  3046. }
  3047. /**
  3048. * Permalink: http://dojotoolkit.org/api/1.9/dojo/Stateful.html
  3049. *
  3050. * Base class for objects that provide named properties with optional getter/setter
  3051. * control and the ability to watch for property changes
  3052. *
  3053. * The class also provides the functionality to auto-magically manage getters
  3054. * and setters for object attributes/properties.
  3055. *
  3056. * Getters and Setters should follow the format of _xxxGetter or _xxxSetter where
  3057. * the xxx is a name of the attribute to handle. So an attribute of "foo"
  3058. * would have a custom getter of _fooGetter and a custom setter of _fooSetter.
  3059. *
  3060. */
  3061. class Stateful {
  3062. constructor();
  3063. inherited: {(args: IArguments): any};
  3064. /**
  3065. * Get a property on a Stateful instance.
  3066. * Get a named property on a Stateful object. The property may
  3067. * potentially be retrieved via a getter method in subclasses. In the base class
  3068. * this just retrieves the object's property.
  3069. *
  3070. * @param name The property to get.
  3071. */
  3072. get(name: String): any;
  3073. /**
  3074. *
  3075. * @param params Optional
  3076. */
  3077. postscript(params?: Object): void;
  3078. /**
  3079. * Set a property on a Stateful instance
  3080. * Sets named properties on a stateful object and notifies any watchers of
  3081. * the property. A programmatic setter may be defined in subclasses.
  3082. *
  3083. * @param name The property to set.
  3084. * @param value The value to set in the property.
  3085. */
  3086. set(name: String, value: Object): any;
  3087. /**
  3088. * Watches a property for changes
  3089. *
  3090. * @param name OptionalIndicates the property to watch. This is optional (the callback may be theonly parameter), and if omitted, all the properties will be watched
  3091. * @param callback The function to execute when the property changes. This will be called afterthe property has been changed. The callback will be called with the |this|set to the instance, the first argument as the name of the property, thesecond argument as the old value and the third argument as the new value.
  3092. */
  3093. watch(property: string, callback:{(property?:string, oldValue?:any, newValue?: any):void}) :{unwatch():void};
  3094. }
  3095. module _base {
  3096. /**
  3097. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/declare.html
  3098. *
  3099. * Create a feature-rich constructor from compact notation.
  3100. * Create a constructor using a compact notation for inheritance and
  3101. * prototype extension.
  3102. *
  3103. * Mixin ancestors provide a type of multiple inheritance.
  3104. * Prototypes of mixin ancestors are copied to the new class:
  3105. * changes to mixin prototypes will not affect classes to which
  3106. * they have been mixed in.
  3107. *
  3108. * Ancestors can be compound classes created by this version of
  3109. * declare(). In complex cases all base classes are going to be
  3110. * linearized according to C3 MRO algorithm
  3111. * (see http://www.python.org/download/releases/2.3/mro/ for more
  3112. * details).
  3113. *
  3114. * "className" is cached in "declaredClass" property of the new class,
  3115. * if it was supplied. The immediate super class will be cached in
  3116. * "superclass" property of the new class.
  3117. *
  3118. * Methods in "props" will be copied and modified: "nom" property
  3119. * (the declared name of the method) will be added to all copied
  3120. * functions to help identify them for the internal machinery. Be
  3121. * very careful, while reusing methods: if you use the same
  3122. * function under different names, it can produce errors in some
  3123. * cases.
  3124. *
  3125. * It is possible to use constructors created "manually" (without
  3126. * declare()) as bases. They will be called as usual during the
  3127. * creation of an instance, their methods will be chained, and even
  3128. * called by "this.inherited()".
  3129. *
  3130. * Special property "-chains-" governs how to chain methods. It is
  3131. * a dictionary, which uses method names as keys, and hint strings
  3132. * as values. If a hint string is "after", this method will be
  3133. * called after methods of its base classes. If a hint string is
  3134. * "before", this method will be called before methods of its base
  3135. * classes.
  3136. *
  3137. * If "constructor" is not mentioned in "-chains-" property, it will
  3138. * be chained using the legacy mode: using "after" chaining,
  3139. * calling preamble() method before each constructor, if available,
  3140. * and calling postscript() after all constructors were executed.
  3141. * If the hint is "after", it is chained as a regular method, but
  3142. * postscript() will be called after the chain of constructors.
  3143. * "constructor" cannot be chained "before", but it allows
  3144. * a special hint string: "manual", which means that constructors
  3145. * are not going to be chained in any way, and programmer will call
  3146. * them manually using this.inherited(). In the latter case
  3147. * postscript() will be called after the construction.
  3148. *
  3149. * All chaining hints are "inherited" from base classes and
  3150. * potentially can be overridden. Be very careful when overriding
  3151. * hints! Make sure that all chained methods can work in a proposed
  3152. * manner of chaining.
  3153. *
  3154. * Once a method was chained, it is impossible to unchain it. The
  3155. * only exception is "constructor". You don't need to define a
  3156. * method in order to supply a chaining hint.
  3157. *
  3158. * If a method is chained, it cannot use this.inherited() because
  3159. * all other methods in the hierarchy will be called automatically.
  3160. *
  3161. * Usually constructors and initializers of any kind are chained
  3162. * using "after" and destructors of any kind are chained as
  3163. * "before". Note that chaining assumes that chained methods do not
  3164. * return any value: any returned value will be discarded.
  3165. *
  3166. * @param className OptionalThe optional name of the constructor (loosely, a "class")stored in the "declaredClass" property in the created prototype.It will be used as a global name for a created constructor.
  3167. * @param superclass May be null, a Function, or an Array of Functions. This argumentspecifies a list of bases (the left-most one is the most deepestbase).
  3168. * @param props An object whose properties are copied to the created prototype.Add an instance-initialization function by making it a propertynamed "constructor".
  3169. */
  3170. interface declare { (className?: String, superclass?: any, props?: Object): any}
  3171. /**
  3172. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/declare.html
  3173. *
  3174. * Create a feature-rich constructor from compact notation.
  3175. * Create a constructor using a compact notation for inheritance and
  3176. * prototype extension.
  3177. *
  3178. * Mixin ancestors provide a type of multiple inheritance.
  3179. * Prototypes of mixin ancestors are copied to the new class:
  3180. * changes to mixin prototypes will not affect classes to which
  3181. * they have been mixed in.
  3182. *
  3183. * Ancestors can be compound classes created by this version of
  3184. * declare(). In complex cases all base classes are going to be
  3185. * linearized according to C3 MRO algorithm
  3186. * (see http://www.python.org/download/releases/2.3/mro/ for more
  3187. * details).
  3188. *
  3189. * "className" is cached in "declaredClass" property of the new class,
  3190. * if it was supplied. The immediate super class will be cached in
  3191. * "superclass" property of the new class.
  3192. *
  3193. * Methods in "props" will be copied and modified: "nom" property
  3194. * (the declared name of the method) will be added to all copied
  3195. * functions to help identify them for the internal machinery. Be
  3196. * very careful, while reusing methods: if you use the same
  3197. * function under different names, it can produce errors in some
  3198. * cases.
  3199. *
  3200. * It is possible to use constructors created "manually" (without
  3201. * declare()) as bases. They will be called as usual during the
  3202. * creation of an instance, their methods will be chained, and even
  3203. * called by "this.inherited()".
  3204. *
  3205. * Special property "-chains-" governs how to chain methods. It is
  3206. * a dictionary, which uses method names as keys, and hint strings
  3207. * as values. If a hint string is "after", this method will be
  3208. * called after methods of its base classes. If a hint string is
  3209. * "before", this method will be called before methods of its base
  3210. * classes.
  3211. *
  3212. * If "constructor" is not mentioned in "-chains-" property, it will
  3213. * be chained using the legacy mode: using "after" chaining,
  3214. * calling preamble() method before each constructor, if available,
  3215. * and calling postscript() after all constructors were executed.
  3216. * If the hint is "after", it is chained as a regular method, but
  3217. * postscript() will be called after the chain of constructors.
  3218. * "constructor" cannot be chained "before", but it allows
  3219. * a special hint string: "manual", which means that constructors
  3220. * are not going to be chained in any way, and programmer will call
  3221. * them manually using this.inherited(). In the latter case
  3222. * postscript() will be called after the construction.
  3223. *
  3224. * All chaining hints are "inherited" from base classes and
  3225. * potentially can be overridden. Be very careful when overriding
  3226. * hints! Make sure that all chained methods can work in a proposed
  3227. * manner of chaining.
  3228. *
  3229. * Once a method was chained, it is impossible to unchain it. The
  3230. * only exception is "constructor". You don't need to define a
  3231. * method in order to supply a chaining hint.
  3232. *
  3233. * If a method is chained, it cannot use this.inherited() because
  3234. * all other methods in the hierarchy will be called automatically.
  3235. *
  3236. * Usually constructors and initializers of any kind are chained
  3237. * using "after" and destructors of any kind are chained as
  3238. * "before". Note that chaining assumes that chained methods do not
  3239. * return any value: any returned value will be discarded.
  3240. *
  3241. * @param className OptionalThe optional name of the constructor (loosely, a "class")stored in the "declaredClass" property in the created prototype.It will be used as a global name for a created constructor.
  3242. * @param superclass May be null, a Function, or an Array of Functions. This argumentspecifies a list of bases (the left-most one is the most deepestbase).
  3243. * @param props An object whose properties are copied to the created prototype.Add an instance-initialization function by making it a propertynamed "constructor".
  3244. */
  3245. interface declare{(className?: String, superclass?: any[], props?: Object): any}
  3246. interface declare {
  3247. /**
  3248. * Mix in properties skipping a constructor and decorating functions
  3249. * like it is done by declare().
  3250. * This function is used to mix in properties like lang.mixin does,
  3251. * but it skips a constructor property and decorates functions like
  3252. * declare() does.
  3253. *
  3254. * It is meant to be used with classes and objects produced with
  3255. * declare. Functions mixed in with dojo.safeMixin can use
  3256. * this.inherited() like normal methods.
  3257. *
  3258. * This function is used to implement extend() method of a constructor
  3259. * produced with declare().
  3260. *
  3261. * @param target Target object to accept new properties.
  3262. * @param source Source object for new properties.
  3263. */
  3264. safeMixin(target: Object, source: Object): Object;
  3265. }
  3266. namespace declare {
  3267. /**
  3268. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/declare.__DeclareCreatedObject.html
  3269. *
  3270. * dojo/_base/declare() returns a constructor C. new C() returns an Object with the following
  3271. * methods, in addition to the methods and properties specified via the arguments passed to declare().
  3272. *
  3273. */
  3274. class __DeclareCreatedObject {
  3275. constructor();
  3276. /**
  3277. * Create a subclass of the declared class from a list of base classes.
  3278. * Create a constructor using a compact notation for inheritance and
  3279. * prototype extension.
  3280. *
  3281. * Mixin ancestors provide a type of multiple inheritance.
  3282. * Prototypes of mixin ancestors are copied to the new class:
  3283. * changes to mixin prototypes will not affect classes to which
  3284. * they have been mixed in.
  3285. *
  3286. * @param mixins Specifies a list of bases (the left-most one is the most deepestbase).
  3287. * @param props OptionalAn optional object whose properties are copied to the created prototype.
  3288. */
  3289. createSubclass(mixins: Function[], props?: Object): dojo._base.declare.__DeclareCreatedObject;
  3290. /**
  3291. * Adds all properties and methods of source to constructor's
  3292. * prototype, making them available to all instances created with
  3293. * constructor. This method is specific to constructors created with
  3294. * declare().
  3295. * Adds source properties to the constructor's prototype. It can
  3296. * override existing properties.
  3297. *
  3298. * This method is similar to dojo.extend function, but it is specific
  3299. * to constructors produced by declare(). It is implemented
  3300. * using dojo.safeMixin, and it skips a constructor property,
  3301. * and properly decorates copied functions.
  3302. *
  3303. * @param source Source object which properties are going to be copied to theconstructor's prototype.
  3304. */
  3305. extend(source: Object): void;
  3306. /**
  3307. * Returns a super method.
  3308. * This method is a convenience method for "this.inherited()".
  3309. * It uses the same algorithm but instead of executing a super
  3310. * method, it returns it, or "undefined" if not found.
  3311. *
  3312. * @param name OptionalThe optional method name. Should be the same as the caller'sname. Usually "name" is specified in complex dynamic cases, whenthe calling method was dynamically added, undecorated bydeclare(), and it cannot be determined.
  3313. * @param args The caller supply this argument, which should be the original"arguments".
  3314. */
  3315. getInherited(name?: String, args?: Object): any;
  3316. /**
  3317. * Calls a super method.
  3318. * This method is used inside method of classes produced with
  3319. * declare() to call a super method (next in the chain). It is
  3320. * used for manually controlled chaining. Consider using the regular
  3321. * chaining, because it is faster. Use "this.inherited()" only in
  3322. * complex cases.
  3323. *
  3324. * This method cannot me called from automatically chained
  3325. * constructors including the case of a special (legacy)
  3326. * constructor chaining. It cannot be called from chained methods.
  3327. *
  3328. * If "this.inherited()" cannot find the next-in-chain method, it
  3329. * does nothing and returns "undefined". The last method in chain
  3330. * can be a default method implemented in Object, which will be
  3331. * called last.
  3332. *
  3333. * If "name" is specified, it is assumed that the method that
  3334. * received "args" is the parent method for this call. It is looked
  3335. * up in the chain list and if it is found the next-in-chain method
  3336. * is called. If it is not found, the first-in-chain method is
  3337. * called.
  3338. *
  3339. * If "name" is not specified, it will be derived from the calling
  3340. * method (using a methoid property "nom").
  3341. *
  3342. * @param name OptionalThe optional method name. Should be the same as the caller'sname. Usually "name" is specified in complex dynamic cases, whenthe calling method was dynamically added, undecorated bydeclare(), and it cannot be determined.
  3343. * @param args The caller supply this argument, which should be the original"arguments".
  3344. * @param newArgs OptionalIf "true", the found function will be returned withoutexecuting it.If Array, it will be used to call a super method. Otherwise"args" will be used.
  3345. */
  3346. inherited(name?: String, args?: Object, newArgs?: Object): any;
  3347. /**
  3348. * Checks the inheritance chain to see if it is inherited from this
  3349. * class.
  3350. * This method is used with instances of classes produced with
  3351. * declare() to determine of they support a certain interface or
  3352. * not. It models "instanceof" operator.
  3353. *
  3354. * @param cls Class constructor.
  3355. */
  3356. isInstanceOf(cls: Function): any;
  3357. }
  3358. }
  3359. /**
  3360. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/Deferred.html
  3361. *
  3362. * Deprecated. This module defines the legacy dojo/_base/Deferred API.
  3363. * New code should use dojo/Deferred instead.
  3364. * The Deferred API is based on the concept of promises that provide a
  3365. * generic interface into the eventual completion of an asynchronous action.
  3366. * The motivation for promises fundamentally is about creating a
  3367. * separation of concerns that allows one to achieve the same type of
  3368. * call patterns and logical data flow in asynchronous code as can be
  3369. * achieved in synchronous code. Promises allows one
  3370. * to be able to call a function purely with arguments needed for
  3371. * execution, without conflating the call with concerns of whether it is
  3372. * sync or async. One shouldn't need to alter a call's arguments if the
  3373. * implementation switches from sync to async (or vice versa). By having
  3374. * async functions return promises, the concerns of making the call are
  3375. * separated from the concerns of asynchronous interaction (which are
  3376. * handled by the promise).
  3377. *
  3378. * The Deferred is a type of promise that provides methods for fulfilling the
  3379. * promise with a successful result or an error. The most important method for
  3380. * working with Dojo's promises is the then() method, which follows the
  3381. * CommonJS proposed promise API. An example of using a Dojo promise:
  3382. *
  3383. * var resultingPromise = someAsyncOperation.then(function(result){
  3384. * ... handle result ...
  3385. * },
  3386. * function(error){
  3387. * ... handle error ...
  3388. * });
  3389. * The .then() call returns a new promise that represents the result of the
  3390. * execution of the callback. The callbacks will never affect the original promises value.
  3391. *
  3392. * The Deferred instances also provide the following functions for backwards compatibility:
  3393. *
  3394. * addCallback(handler)
  3395. * addErrback(handler)
  3396. * callback(result)
  3397. * errback(result)
  3398. * Callbacks are allowed to return promises themselves, so
  3399. * you can build complicated sequences of events with ease.
  3400. *
  3401. * The creator of the Deferred may specify a canceller. The canceller
  3402. * is a function that will be called if Deferred.cancel is called
  3403. * before the Deferred fires. You can use this to implement clean
  3404. * aborting of an XMLHttpRequest, etc. Note that cancel will fire the
  3405. * deferred with a CancelledError (unless your canceller returns
  3406. * another kind of error), so the errbacks should be prepared to
  3407. * handle that error for cancellable Deferreds.
  3408. *
  3409. * @param canceller Optional
  3410. */
  3411. interface Deferred{(canceller?: Function): void}
  3412. interface Deferred {
  3413. /**
  3414. *
  3415. */
  3416. fired: number;
  3417. /**
  3418. *
  3419. */
  3420. promise: Object;
  3421. /**
  3422. * Add handler as both successful callback and error callback for this deferred instance.
  3423. *
  3424. * @param callback
  3425. */
  3426. addBoth(callback: Function): any;
  3427. /**
  3428. * Adds successful callback for this deferred instance.
  3429. *
  3430. * @param callback
  3431. */
  3432. addCallback(callback: Function): any;
  3433. /**
  3434. * Adds callback and error callback for this deferred instance.
  3435. *
  3436. * @param callback OptionalThe callback attached to this deferred object.
  3437. * @param errback OptionalThe error callback attached to this deferred object.
  3438. */
  3439. addCallbacks(callback?: Function, errback?: Function): any;
  3440. /**
  3441. * Adds error callback for this deferred instance.
  3442. *
  3443. * @param errback
  3444. */
  3445. addErrback(errback: Function): any;
  3446. /**
  3447. * Fulfills the Deferred instance successfully with the provide value
  3448. *
  3449. * @param value
  3450. */
  3451. callback(value: any): void;
  3452. /**
  3453. * Cancels the asynchronous operation
  3454. *
  3455. */
  3456. cancel(): void;
  3457. /**
  3458. * Fulfills the Deferred instance as an error with the provided error
  3459. *
  3460. * @param error
  3461. */
  3462. errback(error: any): void;
  3463. /**
  3464. * Checks whether the deferred has been canceled.
  3465. *
  3466. */
  3467. isCanceled(): boolean;
  3468. /**
  3469. * Checks whether the deferred has been resolved or rejected.
  3470. *
  3471. */
  3472. isFulfilled(): boolean;
  3473. /**
  3474. * Checks whether the deferred has been rejected.
  3475. *
  3476. */
  3477. isRejected(): boolean;
  3478. /**
  3479. * Checks whether the deferred has been resolved.
  3480. *
  3481. */
  3482. isResolved(): boolean;
  3483. /**
  3484. * Send progress events to all listeners
  3485. *
  3486. * @param update
  3487. */
  3488. progress(update: any): void;
  3489. /**
  3490. * Fulfills the Deferred instance as an error with the provided error
  3491. *
  3492. * @param error
  3493. */
  3494. reject(error: any): void;
  3495. /**
  3496. * Fulfills the Deferred instance successfully with the provide value
  3497. *
  3498. * @param value
  3499. */
  3500. resolve(value: any): void;
  3501. /**
  3502. * Adds a fulfilledHandler, errorHandler, and progressHandler to be called for
  3503. * completion of a promise. The fulfilledHandler is called when the promise
  3504. * is fulfilled. The errorHandler is called when a promise fails. The
  3505. * progressHandler is called for progress events. All arguments are optional
  3506. * and non-function values are ignored. The progressHandler is not only an
  3507. * optional argument, but progress events are purely optional. Promise
  3508. * providers are not required to ever create progress events.
  3509. *
  3510. * This function will return a new promise that is fulfilled when the given
  3511. * fulfilledHandler or errorHandler callback is finished. This allows promise
  3512. * operations to be chained together. The value returned from the callback
  3513. * handler is the fulfillment value for the returned promise. If the callback
  3514. * throws an error, the returned promise will be moved to failed state.
  3515. *
  3516. * @param resolvedCallback Optional
  3517. * @param errorCallback Optional
  3518. * @param progressCallback Optional
  3519. */
  3520. then(resolvedCallback?: Function, errorCallback?: Function, progressCallback?: Function): any;
  3521. /**
  3522. * Transparently applies callbacks to values and/or promises.
  3523. * Accepts promises but also transparently handles non-promises. If no
  3524. * callbacks are provided returns a promise, regardless of the initial
  3525. * value. Foreign promises are converted.
  3526. *
  3527. * If callbacks are provided and the initial value is not a promise,
  3528. * the callback is executed immediately with no error handling. Returns
  3529. * a promise if the initial value is a promise, or the result of the
  3530. * callback otherwise.
  3531. *
  3532. * @param valueOrPromise Either a regular value or an object with a then() method thatfollows the Promises/A specification.
  3533. * @param callback OptionalCallback to be invoked when the promise is resolved, or a non-promiseis received.
  3534. * @param errback OptionalCallback to be invoked when the promise is rejected.
  3535. * @param progback OptionalCallback to be invoked when the promise emits a progress update.
  3536. */
  3537. when(valueOrPromise?: any, callback?: Function, errback?: Function, progback?: Function): any;
  3538. }
  3539. namespace Deferred {
  3540. }
  3541. /**
  3542. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/url.html
  3543. *
  3544. *
  3545. */
  3546. interface url{(): void}
  3547. interface url {
  3548. /**
  3549. *
  3550. */
  3551. authority: Object;
  3552. /**
  3553. *
  3554. */
  3555. fragment: Object;
  3556. /**
  3557. *
  3558. */
  3559. host: Object;
  3560. /**
  3561. *
  3562. */
  3563. password: Object;
  3564. /**
  3565. *
  3566. */
  3567. path: Object;
  3568. /**
  3569. *
  3570. */
  3571. port: Object;
  3572. /**
  3573. *
  3574. */
  3575. query: Object;
  3576. /**
  3577. *
  3578. */
  3579. scheme: Object;
  3580. /**
  3581. *
  3582. */
  3583. uri: Object;
  3584. /**
  3585. *
  3586. */
  3587. user: Object;
  3588. /**
  3589. *
  3590. */
  3591. toString(): void;
  3592. }
  3593. namespace url {
  3594. /**
  3595. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/url.authority.html
  3596. *
  3597. *
  3598. */
  3599. interface authority {
  3600. }
  3601. /**
  3602. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/url.password.html
  3603. *
  3604. *
  3605. */
  3606. interface password {
  3607. }
  3608. /**
  3609. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/url.port.html
  3610. *
  3611. *
  3612. */
  3613. interface port {
  3614. }
  3615. /**
  3616. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/url.fragment.html
  3617. *
  3618. *
  3619. */
  3620. interface fragment {
  3621. }
  3622. /**
  3623. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/url.query.html
  3624. *
  3625. *
  3626. */
  3627. interface query {
  3628. }
  3629. /**
  3630. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/url.user.html
  3631. *
  3632. *
  3633. */
  3634. interface user {
  3635. }
  3636. /**
  3637. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/url.scheme.html
  3638. *
  3639. *
  3640. */
  3641. interface scheme {
  3642. }
  3643. }
  3644. /**
  3645. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/xhr.html
  3646. *
  3647. * Deprecated. Use dojo/request instead.
  3648. * Sends an HTTP request with the given method.
  3649. * See also dojo.xhrGet(), xhrPost(), xhrPut() and dojo.xhrDelete() for shortcuts
  3650. * for those HTTP methods. There are also methods for "raw" PUT and POST methods
  3651. * via dojo.rawXhrPut() and dojo.rawXhrPost() respectively.
  3652. *
  3653. * @param method HTTP method to be used, such as GET, POST, PUT, DELETE. Should be uppercase.
  3654. * @param args
  3655. * @param hasBody OptionalIf the request has an HTTP body, then pass true for hasBody.
  3656. */
  3657. interface xhr{(method: String, args: Object, hasBody?: boolean): void}
  3658. interface xhr {
  3659. /**
  3660. * A map of available XHR transport handle types. Name matches the
  3661. * handleAs attribute passed to XHR calls.
  3662. *
  3663. */
  3664. contentHandlers: Object;
  3665. /**
  3666. * Sends an HTTP DELETE request to the server.
  3667. *
  3668. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  3669. */
  3670. del(args: Object): any;
  3671. /**
  3672. * Serialize a form field to a JavaScript object.
  3673. * Returns the value encoded in a form field as
  3674. * as a string or an array of strings. Disabled form elements
  3675. * and unchecked radio and checkboxes are skipped. Multi-select
  3676. * elements are returned as an array of string values.
  3677. *
  3678. * @param inputNode
  3679. */
  3680. fieldToObject(inputNode: HTMLElement): any;
  3681. /**
  3682. * Serialize a form field to a JavaScript object.
  3683. * Returns the value encoded in a form field as
  3684. * as a string or an array of strings. Disabled form elements
  3685. * and unchecked radio and checkboxes are skipped. Multi-select
  3686. * elements are returned as an array of string values.
  3687. *
  3688. * @param inputNode
  3689. */
  3690. fieldToObject(inputNode: String): any;
  3691. /**
  3692. * Create a serialized JSON string from a form node or string
  3693. * ID identifying the form to serialize
  3694. *
  3695. * @param formNode
  3696. * @param prettyPrint Optional
  3697. */
  3698. formToJson(formNode: HTMLElement, prettyPrint?: boolean): any;
  3699. /**
  3700. * Create a serialized JSON string from a form node or string
  3701. * ID identifying the form to serialize
  3702. *
  3703. * @param formNode
  3704. * @param prettyPrint Optional
  3705. */
  3706. formToJson(formNode: String, prettyPrint?: boolean): any;
  3707. /**
  3708. * Serialize a form node to a JavaScript object.
  3709. * Returns the values encoded in an HTML form as
  3710. * string properties in an object which it then returns. Disabled form
  3711. * elements, buttons, and other non-value form elements are skipped.
  3712. * Multi-select elements are returned as an array of string values.
  3713. *
  3714. * @param formNode
  3715. */
  3716. formToObject(formNode: HTMLElement): Object;
  3717. /**
  3718. * Serialize a form node to a JavaScript object.
  3719. * Returns the values encoded in an HTML form as
  3720. * string properties in an object which it then returns. Disabled form
  3721. * elements, buttons, and other non-value form elements are skipped.
  3722. * Multi-select elements are returned as an array of string values.
  3723. *
  3724. * @param formNode
  3725. */
  3726. formToObject(formNode: String): Object;
  3727. /**
  3728. * Returns a URL-encoded string representing the form passed as either a
  3729. * node or string ID identifying the form to serialize
  3730. *
  3731. * @param formNode
  3732. */
  3733. formToQuery(formNode: HTMLElement): any;
  3734. /**
  3735. * Returns a URL-encoded string representing the form passed as either a
  3736. * node or string ID identifying the form to serialize
  3737. *
  3738. * @param formNode
  3739. */
  3740. formToQuery(formNode: String): any;
  3741. /**
  3742. * Sends an HTTP GET request to the server.
  3743. *
  3744. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  3745. */
  3746. get(args: Object): any;
  3747. /**
  3748. * takes a name/value mapping object and returns a string representing
  3749. * a URL-encoded version of that object.
  3750. *
  3751. * @param map
  3752. */
  3753. objectToQuery(map: Object): any;
  3754. /**
  3755. * Sends an HTTP POST request to the server. In addition to the properties
  3756. * listed for the dojo.__XhrArgs type, the following property is allowed:
  3757. *
  3758. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  3759. */
  3760. post(args: Object): any;
  3761. /**
  3762. * Sends an HTTP PUT request to the server. In addition to the properties
  3763. * listed for the dojo.__XhrArgs type, the following property is allowed:
  3764. *
  3765. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  3766. */
  3767. put(args: Object): any;
  3768. /**
  3769. * Create an object representing a de-serialized query section of a
  3770. * URL. Query keys with multiple values are returned in an array.
  3771. *
  3772. * @param str
  3773. */
  3774. queryToObject(str: String): Object;
  3775. }
  3776. namespace xhr {
  3777. /**
  3778. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/xhr.contentHandlers.html
  3779. *
  3780. * A map of available XHR transport handle types. Name matches the
  3781. * handleAs attribute passed to XHR calls.
  3782. * A map of available XHR transport handle types. Name matches the
  3783. * handleAs attribute passed to XHR calls. Each contentHandler is
  3784. * called, passing the xhr object for manipulation. The return value
  3785. * from the contentHandler will be passed to the load or handle
  3786. * functions defined in the original xhr call.
  3787. *
  3788. */
  3789. interface contentHandlers {
  3790. /**
  3791. *
  3792. * @param xhr
  3793. */
  3794. auto(xhr: any): void;
  3795. /**
  3796. * A contentHandler which evaluates the response data, expecting it to be valid JavaScript
  3797. *
  3798. * @param xhr
  3799. */
  3800. javascript(xhr: any): any;
  3801. /**
  3802. * A contentHandler which returns a JavaScript object created from the response data
  3803. *
  3804. * @param xhr
  3805. */
  3806. json(xhr: any): any;
  3807. /**
  3808. * A contentHandler which expects comment-filtered JSON.
  3809. * A contentHandler which expects comment-filtered JSON.
  3810. * the json-comment-filtered option was implemented to prevent
  3811. * "JavaScript Hijacking", but it is less secure than standard JSON. Use
  3812. * standard JSON instead. JSON prefixing can be used to subvert hijacking.
  3813. *
  3814. * Will throw a notice suggesting to use application/json mimetype, as
  3815. * json-commenting can introduce security issues. To decrease the chances of hijacking,
  3816. * use the standard json contentHandler, and prefix your "JSON" with: {}&&
  3817. *
  3818. * use djConfig.useCommentedJson = true to turn off the notice
  3819. *
  3820. * @param xhr
  3821. */
  3822. json_comment_filtered(xhr: any): any;
  3823. /**
  3824. * A contentHandler which checks the presence of comment-filtered JSON and
  3825. * alternates between the json and json-comment-filtered contentHandlers.
  3826. *
  3827. * @param xhr
  3828. */
  3829. json_comment_optional(xhr: any): any;
  3830. /**
  3831. *
  3832. * @param xhr
  3833. */
  3834. olson_zoneinfo(xhr: any): void;
  3835. /**
  3836. * A contentHandler which simply returns the plaintext response data
  3837. *
  3838. * @param xhr
  3839. */
  3840. text(xhr: any): any;
  3841. /**
  3842. * A contentHandler returning an XML Document parsed from the response data
  3843. *
  3844. * @param xhr
  3845. */
  3846. xml(xhr: any): any;
  3847. }
  3848. }
  3849. /**
  3850. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/config.html
  3851. *
  3852. * This module defines the user configuration during bootstrap.
  3853. * By defining user configuration as a module value, an entire configuration can be specified in a build,
  3854. * thereby eliminating the need for sniffing and or explicitly setting in the global variable dojoConfig.
  3855. * Also, when multiple instances of dojo exist in a single application, each will necessarily be located
  3856. * at an unique absolute module identifier as given by the package configuration. Implementing configuration
  3857. * as a module allows for specifying unique, per-instance configurations.
  3858. *
  3859. */
  3860. class config {
  3861. constructor();
  3862. /**
  3863. * Adds a callback via dojo/ready. Useful when Dojo is added after
  3864. * the page loads and djConfig.afterOnLoad is true. Supports the same
  3865. * arguments as dojo/ready. When using a function reference, use
  3866. * djConfig.addOnLoad = function(){};. For object with function name use
  3867. * djConfig.addOnLoad = [myObject, "functionName"]; and for object with
  3868. * function reference use
  3869. * djConfig.addOnLoad = [myObject, function(){}];
  3870. *
  3871. */
  3872. "addOnLoad": Function;
  3873. /**
  3874. *
  3875. */
  3876. "afterOnLoad": boolean;
  3877. /**
  3878. *
  3879. */
  3880. "baseUrl": Object;
  3881. /**
  3882. * Defines a callback to be used when dependencies are defined before
  3883. * the loader has been loaded. When provided, they cause the loader to
  3884. * execute require(deps, callback) once it has finished loading.
  3885. * Should be used with deps.
  3886. *
  3887. */
  3888. "callback": Function;
  3889. /**
  3890. *
  3891. */
  3892. "debugContainerId": string;
  3893. /**
  3894. *
  3895. */
  3896. "debugHeight": number;
  3897. /**
  3898. * Default duration, in milliseconds, for wipe and fade animations within dijits.
  3899. * Assigned to dijit.defaultDuration.
  3900. *
  3901. */
  3902. "defaultDuration": number;
  3903. /**
  3904. * Whether deferred instrumentation should be loaded or included
  3905. * in builds.
  3906. *
  3907. */
  3908. "deferredInstrumentation": boolean;
  3909. /**
  3910. * Defines dependencies to be used before the loader has been loaded.
  3911. * When provided, they cause the loader to execute require(deps, callback)
  3912. * once it has finished loading. Should be used with callback.
  3913. *
  3914. */
  3915. "deps": Function;
  3916. /**
  3917. * Used by some modules to configure an empty iframe. Used by dojo/io/iframe and
  3918. * dojo/back, and dijit/popup support in IE where an iframe is needed to make sure native
  3919. * controls do not bleed through the popups. Normally this configuration variable
  3920. * does not need to be set, except when using cross-domain/CDN Dojo builds.
  3921. * Save dojo/resources/blank.html to your domain and set djConfig.dojoBlankHtmlUrl
  3922. * to the path on your domain your copy of blank.html.
  3923. *
  3924. */
  3925. "dojoBlankHtmlUrl": string;
  3926. /**
  3927. * No default value. Specifies additional locales whose
  3928. * resources should also be loaded alongside the default locale when
  3929. * calls to dojo.requireLocalization() are processed.
  3930. *
  3931. */
  3932. "extraLocale": any[];
  3933. /**
  3934. * Set this to true to enable publishing of topics for the different phases of
  3935. * IO operations. Publishing is done via dojo/topic.publish(). See dojo/main.__IoPublish for a list
  3936. * of topics that are published.
  3937. *
  3938. */
  3939. "ioPublish": Object;
  3940. /**
  3941. * Defaults to false. If set to true, ensures that Dojo provides
  3942. * extended debugging feedback via Firebug. If Firebug is not available
  3943. * on your platform, setting isDebug to true will force Dojo to
  3944. * pull in (and display) the version of Firebug Lite which is
  3945. * integrated into the Dojo distribution, thereby always providing a
  3946. * debugging/logging console when isDebug is enabled. Note that
  3947. * Firebug's console.* methods are ALWAYS defined by Dojo. If
  3948. * isDebug is false and you are on a platform without Firebug, these
  3949. * methods will be defined as no-ops.
  3950. *
  3951. */
  3952. "isDebug": boolean;
  3953. /**
  3954. * The locale to assume for loading localized resources in this page,
  3955. * specified according to RFC 3066.
  3956. * Must be specified entirely in lowercase, e.g. en-us and zh-cn.
  3957. * See the documentation for dojo.i18n and dojo.requireLocalization
  3958. * for details on loading localized resources. If no locale is specified,
  3959. * Dojo assumes the locale of the user agent, according to navigator.userLanguage
  3960. * or navigator.language properties.
  3961. *
  3962. */
  3963. "locale": string;
  3964. /**
  3965. * A map of module names to paths relative to dojo.baseUrl. The
  3966. * key/value pairs correspond directly to the arguments which
  3967. * dojo.registerModulePath accepts. Specifying
  3968. * djConfig.modulePaths = { "foo": "../../bar" } is the equivalent
  3969. * of calling dojo.registerModulePath("foo", "../../bar");. Multiple
  3970. * modules may be configured via djConfig.modulePaths.
  3971. *
  3972. */
  3973. "modulePaths": Object;
  3974. /**
  3975. * Run the parser after the page is loaded
  3976. *
  3977. */
  3978. "parseOnLoad": boolean;
  3979. /**
  3980. * An array of module names to be loaded immediately after dojo.js has been included
  3981. * in a page.
  3982. *
  3983. */
  3984. "require": Object;
  3985. /**
  3986. * Array containing the r, g, b components used as transparent color in dojo.Color;
  3987. * if undefined, [255,255,255] (white) will be used.
  3988. *
  3989. */
  3990. "transparentColor": any[];
  3991. /**
  3992. * Used by dojox.analytics.Urchin as the default UA-123456-7 account
  3993. * number used when being created. Alternately, you can pass an acct:""
  3994. * parameter to the constructor a la: new dojox.analytics.Urchin({ acct:"UA-123456-7" });
  3995. *
  3996. */
  3997. "urchin": string;
  3998. /**
  3999. * If set to a value that evaluates to true such as a string or array and
  4000. * isDebug is true and Firebug is not available or running, then it bypasses
  4001. * the creation of Firebug Lite allowing you to define your own console object.
  4002. *
  4003. */
  4004. "useCustomLogger": Object;
  4005. /**
  4006. * Whether the deferred instrumentation should be used.
  4007. *
  4008. * "report-rejections": report each rejection as it occurs.
  4009. * true or 1 or "report-unhandled-rejections": wait 1 second
  4010. * in an attempt to detect unhandled rejections.
  4011. *
  4012. */
  4013. "useDeferredInstrumentation": boolean;
  4014. }
  4015. namespace config {
  4016. /**
  4017. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/config.modulePaths.html
  4018. *
  4019. * A map of module names to paths relative to dojo.baseUrl. The
  4020. * key/value pairs correspond directly to the arguments which
  4021. * dojo.registerModulePath accepts. Specifying
  4022. * djConfig.modulePaths = { "foo": "../../bar" } is the equivalent
  4023. * of calling dojo.registerModulePath("foo", "../../bar");. Multiple
  4024. * modules may be configured via djConfig.modulePaths.
  4025. *
  4026. */
  4027. interface modulePaths {
  4028. }
  4029. }
  4030. /**
  4031. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/Color.html
  4032. *
  4033. * Takes a named string, hex string, array of rgb or rgba values,
  4034. * an object with r, g, b, and a properties, or another Color object
  4035. * and creates a new Color instance to work from.
  4036. *
  4037. * @param color
  4038. */
  4039. class Color {
  4040. constructor(color: any[]);
  4041. /**
  4042. *
  4043. */
  4044. "a": number;
  4045. /**
  4046. *
  4047. */
  4048. "b": number;
  4049. /**
  4050. *
  4051. */
  4052. "g": number;
  4053. /**
  4054. * Dictionary list of all CSS named colors, by name. Values are 3-item arrays with corresponding RG and B values.
  4055. *
  4056. */
  4057. "named": Object;
  4058. /**
  4059. *
  4060. */
  4061. "r": number;
  4062. /**
  4063. * Blend colors end and start with weight from 0 to 1, 0.5 being a 50/50 blend,
  4064. * can reuse a previously allocated Color object for the result
  4065. *
  4066. * @param start
  4067. * @param end
  4068. * @param weight
  4069. * @param obj Optional
  4070. */
  4071. blendColors(start: dojo._base.Color, end: dojo._base.Color, weight: number, obj?: dojo._base.Color): any;
  4072. /**
  4073. * Builds a Color from a 3 or 4 element array, mapping each
  4074. * element in sequence to the rgb(a) values of the color.
  4075. *
  4076. * @param a
  4077. * @param obj Optional
  4078. */
  4079. fromArray(a: any[], obj?: dojo._base.Color): any;
  4080. /**
  4081. * Converts a hex string with a '#' prefix to a color object.
  4082. * Supports 12-bit #rgb shorthand. Optionally accepts a
  4083. * Color object to update with the parsed value.
  4084. *
  4085. * @param color
  4086. * @param obj Optional
  4087. */
  4088. fromHex(color: String, obj?: dojo._base.Color): any;
  4089. /**
  4090. * get rgb(a) array from css-style color declarations
  4091. * this function can handle all 4 CSS3 Color Module formats: rgb,
  4092. * rgba, hsl, hsla, including rgb(a) with percentage values.
  4093. *
  4094. * @param color
  4095. * @param obj Optional
  4096. */
  4097. fromRgb(color: String, obj?: dojo._base.Color): any;
  4098. /**
  4099. * Parses str for a color value. Accepts hex, rgb, and rgba
  4100. * style color values.
  4101. * Acceptable input values for str may include arrays of any form
  4102. * accepted by dojo.colorFromArray, hex strings such as "#aaaaaa", or
  4103. * rgb or rgba strings such as "rgb(133, 200, 16)" or "rgba(10, 10,
  4104. * 10, 50)"
  4105. *
  4106. * @param str
  4107. * @param obj Optional
  4108. */
  4109. fromString(str: String, obj?: dojo._base.Color): any;
  4110. /**
  4111. * creates a greyscale color with an optional alpha
  4112. *
  4113. * @param g
  4114. * @param a Optional
  4115. */
  4116. makeGrey(g: number, a?: number): void;
  4117. /**
  4118. * makes sure that the object has correct attributes
  4119. *
  4120. */
  4121. sanitize(): void;
  4122. /**
  4123. * Takes a named string, hex string, array of rgb or rgba values,
  4124. * an object with r, g, b, and a properties, or another Color object
  4125. * and sets this color instance to that value.
  4126. *
  4127. * @param color
  4128. */
  4129. setColor(color: any[]): Function;
  4130. /**
  4131. * Takes a named string, hex string, array of rgb or rgba values,
  4132. * an object with r, g, b, and a properties, or another Color object
  4133. * and sets this color instance to that value.
  4134. *
  4135. * @param color
  4136. */
  4137. setColor(color: String): Function;
  4138. /**
  4139. * Takes a named string, hex string, array of rgb or rgba values,
  4140. * an object with r, g, b, and a properties, or another Color object
  4141. * and sets this color instance to that value.
  4142. *
  4143. * @param color
  4144. */
  4145. setColor(color: Object): Function;
  4146. /**
  4147. * Convert this Color to a CMY definition.
  4148. *
  4149. */
  4150. toCmy(): Object;
  4151. /**
  4152. * Convert this Color to a CMYK definition.
  4153. *
  4154. */
  4155. toCmyk(): Object;
  4156. /**
  4157. * Returns a css color string in rgb(a) representation
  4158. *
  4159. * @param includeAlpha Optional
  4160. */
  4161. toCss(includeAlpha?: boolean): String;
  4162. /**
  4163. * Returns a CSS color string in hexadecimal representation
  4164. *
  4165. */
  4166. toHex(): String;
  4167. /**
  4168. * Convert this Color to an HSL definition.
  4169. *
  4170. */
  4171. toHsl(): Object;
  4172. /**
  4173. * Convert this Color to an HSV definition.
  4174. *
  4175. */
  4176. toHsv(): Object;
  4177. /**
  4178. * Returns 3 component array of rgb values
  4179. *
  4180. */
  4181. toRgb(): any[];
  4182. /**
  4183. * Returns a 4 component array of rgba values from the color
  4184. * represented by this object.
  4185. *
  4186. */
  4187. toRgba(): any[];
  4188. /**
  4189. * Returns a visual representation of the color
  4190. *
  4191. */
  4192. toString(): any;
  4193. }
  4194. namespace Color {
  4195. /**
  4196. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/Color.named.html
  4197. *
  4198. * Dictionary list of all CSS named colors, by name. Values are 3-item arrays with corresponding RG and B values.
  4199. *
  4200. */
  4201. interface named {
  4202. /**
  4203. *
  4204. */
  4205. aliceblue: any[];
  4206. /**
  4207. *
  4208. */
  4209. antiquewhite: any[];
  4210. /**
  4211. *
  4212. */
  4213. aqua: any[];
  4214. /**
  4215. *
  4216. */
  4217. aquamarine: any[];
  4218. /**
  4219. *
  4220. */
  4221. azure: any[];
  4222. /**
  4223. *
  4224. */
  4225. beige: any[];
  4226. /**
  4227. *
  4228. */
  4229. bisque: any[];
  4230. /**
  4231. *
  4232. */
  4233. black: any[];
  4234. /**
  4235. *
  4236. */
  4237. blanchedalmond: any[];
  4238. /**
  4239. *
  4240. */
  4241. blue: any[];
  4242. /**
  4243. *
  4244. */
  4245. blueviolet: any[];
  4246. /**
  4247. *
  4248. */
  4249. brown: any[];
  4250. /**
  4251. *
  4252. */
  4253. burlywood: any[];
  4254. /**
  4255. *
  4256. */
  4257. cadetblue: any[];
  4258. /**
  4259. *
  4260. */
  4261. chartreuse: any[];
  4262. /**
  4263. *
  4264. */
  4265. chocolate: any[];
  4266. /**
  4267. *
  4268. */
  4269. coral: any[];
  4270. /**
  4271. *
  4272. */
  4273. cornflowerblue: any[];
  4274. /**
  4275. *
  4276. */
  4277. cornsilk: any[];
  4278. /**
  4279. *
  4280. */
  4281. crimson: any[];
  4282. /**
  4283. *
  4284. */
  4285. cyan: any[];
  4286. /**
  4287. *
  4288. */
  4289. darkblue: any[];
  4290. /**
  4291. *
  4292. */
  4293. darkcyan: any[];
  4294. /**
  4295. *
  4296. */
  4297. darkgoldenrod: any[];
  4298. /**
  4299. *
  4300. */
  4301. darkgray: any[];
  4302. /**
  4303. *
  4304. */
  4305. darkgreen: any[];
  4306. /**
  4307. *
  4308. */
  4309. darkgrey: any[];
  4310. /**
  4311. *
  4312. */
  4313. darkkhaki: any[];
  4314. /**
  4315. *
  4316. */
  4317. darkmagenta: any[];
  4318. /**
  4319. *
  4320. */
  4321. darkolivegreen: any[];
  4322. /**
  4323. *
  4324. */
  4325. darkorange: any[];
  4326. /**
  4327. *
  4328. */
  4329. darkorchid: any[];
  4330. /**
  4331. *
  4332. */
  4333. darkred: any[];
  4334. /**
  4335. *
  4336. */
  4337. darksalmon: any[];
  4338. /**
  4339. *
  4340. */
  4341. darkseagreen: any[];
  4342. /**
  4343. *
  4344. */
  4345. darkslateblue: any[];
  4346. /**
  4347. *
  4348. */
  4349. darkslategray: any[];
  4350. /**
  4351. *
  4352. */
  4353. darkslategrey: any[];
  4354. /**
  4355. *
  4356. */
  4357. darkturquoise: any[];
  4358. /**
  4359. *
  4360. */
  4361. darkviolet: any[];
  4362. /**
  4363. *
  4364. */
  4365. deeppink: any[];
  4366. /**
  4367. *
  4368. */
  4369. deepskyblue: any[];
  4370. /**
  4371. *
  4372. */
  4373. dimgray: any[];
  4374. /**
  4375. *
  4376. */
  4377. dimgrey: any[];
  4378. /**
  4379. *
  4380. */
  4381. dodgerblue: any[];
  4382. /**
  4383. *
  4384. */
  4385. firebrick: any[];
  4386. /**
  4387. *
  4388. */
  4389. floralwhite: any[];
  4390. /**
  4391. *
  4392. */
  4393. forestgreen: any[];
  4394. /**
  4395. *
  4396. */
  4397. fuchsia: any[];
  4398. /**
  4399. *
  4400. */
  4401. gainsboro: any[];
  4402. /**
  4403. *
  4404. */
  4405. ghostwhite: any[];
  4406. /**
  4407. *
  4408. */
  4409. gold: any[];
  4410. /**
  4411. *
  4412. */
  4413. goldenrod: any[];
  4414. /**
  4415. *
  4416. */
  4417. gray: any[];
  4418. /**
  4419. *
  4420. */
  4421. green: any[];
  4422. /**
  4423. *
  4424. */
  4425. greenyellow: any[];
  4426. /**
  4427. *
  4428. */
  4429. grey: any[];
  4430. /**
  4431. *
  4432. */
  4433. honeydew: any[];
  4434. /**
  4435. *
  4436. */
  4437. hotpink: any[];
  4438. /**
  4439. *
  4440. */
  4441. indianred: any[];
  4442. /**
  4443. *
  4444. */
  4445. indigo: any[];
  4446. /**
  4447. *
  4448. */
  4449. ivory: any[];
  4450. /**
  4451. *
  4452. */
  4453. khaki: any[];
  4454. /**
  4455. *
  4456. */
  4457. lavender: any[];
  4458. /**
  4459. *
  4460. */
  4461. lavenderblush: any[];
  4462. /**
  4463. *
  4464. */
  4465. lawngreen: any[];
  4466. /**
  4467. *
  4468. */
  4469. lemonchiffon: any[];
  4470. /**
  4471. *
  4472. */
  4473. lightblue: any[];
  4474. /**
  4475. *
  4476. */
  4477. lightcoral: any[];
  4478. /**
  4479. *
  4480. */
  4481. lightcyan: any[];
  4482. /**
  4483. *
  4484. */
  4485. lightgoldenrodyellow: any[];
  4486. /**
  4487. *
  4488. */
  4489. lightgray: any[];
  4490. /**
  4491. *
  4492. */
  4493. lightgreen: any[];
  4494. /**
  4495. *
  4496. */
  4497. lightgrey: any[];
  4498. /**
  4499. *
  4500. */
  4501. lightpink: any[];
  4502. /**
  4503. *
  4504. */
  4505. lightsalmon: any[];
  4506. /**
  4507. *
  4508. */
  4509. lightseagreen: any[];
  4510. /**
  4511. *
  4512. */
  4513. lightskyblue: any[];
  4514. /**
  4515. *
  4516. */
  4517. lightslategray: any[];
  4518. /**
  4519. *
  4520. */
  4521. lightslategrey: any[];
  4522. /**
  4523. *
  4524. */
  4525. lightsteelblue: any[];
  4526. /**
  4527. *
  4528. */
  4529. lightyellow: any[];
  4530. /**
  4531. *
  4532. */
  4533. lime: any[];
  4534. /**
  4535. *
  4536. */
  4537. limegreen: any[];
  4538. /**
  4539. *
  4540. */
  4541. linen: any[];
  4542. /**
  4543. *
  4544. */
  4545. magenta: any[];
  4546. /**
  4547. *
  4548. */
  4549. maroon: any[];
  4550. /**
  4551. *
  4552. */
  4553. mediumaquamarine: any[];
  4554. /**
  4555. *
  4556. */
  4557. mediumblue: any[];
  4558. /**
  4559. *
  4560. */
  4561. mediumorchid: any[];
  4562. /**
  4563. *
  4564. */
  4565. mediumpurple: any[];
  4566. /**
  4567. *
  4568. */
  4569. mediumseagreen: any[];
  4570. /**
  4571. *
  4572. */
  4573. mediumslateblue: any[];
  4574. /**
  4575. *
  4576. */
  4577. mediumspringgreen: any[];
  4578. /**
  4579. *
  4580. */
  4581. mediumturquoise: any[];
  4582. /**
  4583. *
  4584. */
  4585. mediumvioletred: any[];
  4586. /**
  4587. *
  4588. */
  4589. midnightblue: any[];
  4590. /**
  4591. *
  4592. */
  4593. mintcream: any[];
  4594. /**
  4595. *
  4596. */
  4597. mistyrose: any[];
  4598. /**
  4599. *
  4600. */
  4601. moccasin: any[];
  4602. /**
  4603. *
  4604. */
  4605. navajowhite: any[];
  4606. /**
  4607. *
  4608. */
  4609. navy: any[];
  4610. /**
  4611. *
  4612. */
  4613. oldlace: any[];
  4614. /**
  4615. *
  4616. */
  4617. olive: any[];
  4618. /**
  4619. *
  4620. */
  4621. olivedrab: any[];
  4622. /**
  4623. *
  4624. */
  4625. orange: any[];
  4626. /**
  4627. *
  4628. */
  4629. orangered: any[];
  4630. /**
  4631. *
  4632. */
  4633. orchid: any[];
  4634. /**
  4635. *
  4636. */
  4637. palegoldenrod: any[];
  4638. /**
  4639. *
  4640. */
  4641. palegreen: any[];
  4642. /**
  4643. *
  4644. */
  4645. paleturquoise: any[];
  4646. /**
  4647. *
  4648. */
  4649. palevioletred: any[];
  4650. /**
  4651. *
  4652. */
  4653. papayawhip: any[];
  4654. /**
  4655. *
  4656. */
  4657. peachpuff: any[];
  4658. /**
  4659. *
  4660. */
  4661. peru: any[];
  4662. /**
  4663. *
  4664. */
  4665. pink: any[];
  4666. /**
  4667. *
  4668. */
  4669. plum: any[];
  4670. /**
  4671. *
  4672. */
  4673. powderblue: any[];
  4674. /**
  4675. *
  4676. */
  4677. purple: any[];
  4678. /**
  4679. *
  4680. */
  4681. red: any[];
  4682. /**
  4683. *
  4684. */
  4685. rosybrown: any[];
  4686. /**
  4687. *
  4688. */
  4689. royalblue: any[];
  4690. /**
  4691. *
  4692. */
  4693. saddlebrown: any[];
  4694. /**
  4695. *
  4696. */
  4697. salmon: any[];
  4698. /**
  4699. *
  4700. */
  4701. sandybrown: any[];
  4702. /**
  4703. *
  4704. */
  4705. seagreen: any[];
  4706. /**
  4707. *
  4708. */
  4709. seashell: any[];
  4710. /**
  4711. *
  4712. */
  4713. sienna: any[];
  4714. /**
  4715. *
  4716. */
  4717. silver: any[];
  4718. /**
  4719. *
  4720. */
  4721. skyblue: any[];
  4722. /**
  4723. *
  4724. */
  4725. slateblue: any[];
  4726. /**
  4727. *
  4728. */
  4729. slategray: any[];
  4730. /**
  4731. *
  4732. */
  4733. slategrey: any[];
  4734. /**
  4735. *
  4736. */
  4737. snow: any[];
  4738. /**
  4739. *
  4740. */
  4741. springgreen: any[];
  4742. /**
  4743. *
  4744. */
  4745. steelblue: any[];
  4746. /**
  4747. *
  4748. */
  4749. tan: any[];
  4750. /**
  4751. *
  4752. */
  4753. teal: any[];
  4754. /**
  4755. *
  4756. */
  4757. thistle: any[];
  4758. /**
  4759. *
  4760. */
  4761. tomato: any[];
  4762. /**
  4763. *
  4764. */
  4765. transparent: Object;
  4766. /**
  4767. *
  4768. */
  4769. turquoise: any[];
  4770. /**
  4771. *
  4772. */
  4773. violet: any[];
  4774. /**
  4775. *
  4776. */
  4777. wheat: any[];
  4778. /**
  4779. *
  4780. */
  4781. white: any[];
  4782. /**
  4783. *
  4784. */
  4785. whitesmoke: any[];
  4786. /**
  4787. *
  4788. */
  4789. yellow: any[];
  4790. /**
  4791. *
  4792. */
  4793. yellowgreen: any[];
  4794. }
  4795. }
  4796. /**
  4797. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/browser.html
  4798. *
  4799. * This module causes the browser-only base modules to be loaded.
  4800. *
  4801. */
  4802. interface browser {
  4803. }
  4804. /**
  4805. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/array.html
  4806. *
  4807. * The Javascript v1.6 array extensions.
  4808. *
  4809. */
  4810. interface array {
  4811. /**
  4812. *
  4813. */
  4814. clearCache(): void;
  4815. /**
  4816. * Determines whether or not every item in arr satisfies the
  4817. * condition implemented by callback.
  4818. * This function corresponds to the JavaScript 1.6 Array.every() method, with one difference: when
  4819. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  4820. * the callback function with a value of undefined. JavaScript 1.6's every skips the holes in the sparse array.
  4821. * For more details, see:
  4822. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/every
  4823. *
  4824. * @param arr the array to iterate on. If a string, operates on individual characters.
  4825. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  4826. * @param thisObject Optionalmay be used to scope the call to callback
  4827. */
  4828. every(arr: any[], callback: Function, thisObject?: Object): boolean;
  4829. /**
  4830. * Determines whether or not every item in arr satisfies the
  4831. * condition implemented by callback.
  4832. * This function corresponds to the JavaScript 1.6 Array.every() method, with one difference: when
  4833. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  4834. * the callback function with a value of undefined. JavaScript 1.6's every skips the holes in the sparse array.
  4835. * For more details, see:
  4836. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/every
  4837. *
  4838. * @param arr the array to iterate on. If a string, operates on individual characters.
  4839. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  4840. * @param thisObject Optionalmay be used to scope the call to callback
  4841. */
  4842. every(arr: String, callback: Function, thisObject?: Object): boolean;
  4843. /**
  4844. * Determines whether or not every item in arr satisfies the
  4845. * condition implemented by callback.
  4846. * This function corresponds to the JavaScript 1.6 Array.every() method, with one difference: when
  4847. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  4848. * the callback function with a value of undefined. JavaScript 1.6's every skips the holes in the sparse array.
  4849. * For more details, see:
  4850. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/every
  4851. *
  4852. * @param arr the array to iterate on. If a string, operates on individual characters.
  4853. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  4854. * @param thisObject Optionalmay be used to scope the call to callback
  4855. */
  4856. every(arr: any[], callback: String, thisObject?: Object): boolean;
  4857. /**
  4858. * Determines whether or not every item in arr satisfies the
  4859. * condition implemented by callback.
  4860. * This function corresponds to the JavaScript 1.6 Array.every() method, with one difference: when
  4861. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  4862. * the callback function with a value of undefined. JavaScript 1.6's every skips the holes in the sparse array.
  4863. * For more details, see:
  4864. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/every
  4865. *
  4866. * @param arr the array to iterate on. If a string, operates on individual characters.
  4867. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  4868. * @param thisObject Optionalmay be used to scope the call to callback
  4869. */
  4870. every(arr: String, callback: String, thisObject?: Object): boolean;
  4871. /**
  4872. * Returns a new Array with those items from arr that match the
  4873. * condition implemented by callback.
  4874. * This function corresponds to the JavaScript 1.6 Array.filter() method, with one difference: when
  4875. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  4876. * the callback function with a value of undefined. JavaScript 1.6's filter skips the holes in the sparse array.
  4877. * For more details, see:
  4878. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter
  4879. *
  4880. * @param arr the array to iterate over.
  4881. * @param callback a function that is invoked with three arguments (item,index, array). The return of this function is expected tobe a boolean which determines whether the passed-in itemwill be included in the returned array.
  4882. * @param thisObject Optionalmay be used to scope the call to callback
  4883. */
  4884. filter(arr: any[], callback: Function, thisObject?: Object): any[];
  4885. /**
  4886. * Returns a new Array with those items from arr that match the
  4887. * condition implemented by callback.
  4888. * This function corresponds to the JavaScript 1.6 Array.filter() method, with one difference: when
  4889. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  4890. * the callback function with a value of undefined. JavaScript 1.6's filter skips the holes in the sparse array.
  4891. * For more details, see:
  4892. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter
  4893. *
  4894. * @param arr the array to iterate over.
  4895. * @param callback a function that is invoked with three arguments (item,index, array). The return of this function is expected tobe a boolean which determines whether the passed-in itemwill be included in the returned array.
  4896. * @param thisObject Optionalmay be used to scope the call to callback
  4897. */
  4898. filter(arr: any[], callback: String, thisObject?: Object): any[];
  4899. /**
  4900. * for every item in arr, callback is invoked. Return values are ignored.
  4901. * If you want to break out of the loop, consider using array.every() or array.some().
  4902. * forEach does not allow breaking out of the loop over the items in arr.
  4903. * This function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when
  4904. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  4905. * the callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array.
  4906. * For more details, see:
  4907. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach
  4908. *
  4909. * @param arr
  4910. * @param callback
  4911. * @param thisObject Optional
  4912. */
  4913. forEach(arr: any[], callback: Function, thisObject?: Object): void;
  4914. /**
  4915. * for every item in arr, callback is invoked. Return values are ignored.
  4916. * If you want to break out of the loop, consider using array.every() or array.some().
  4917. * forEach does not allow breaking out of the loop over the items in arr.
  4918. * This function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when
  4919. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  4920. * the callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array.
  4921. * For more details, see:
  4922. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach
  4923. *
  4924. * @param arr
  4925. * @param callback
  4926. * @param thisObject Optional
  4927. */
  4928. forEach(arr: String, callback: Function, thisObject?: Object): void;
  4929. /**
  4930. * for every item in arr, callback is invoked. Return values are ignored.
  4931. * If you want to break out of the loop, consider using array.every() or array.some().
  4932. * forEach does not allow breaking out of the loop over the items in arr.
  4933. * This function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when
  4934. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  4935. * the callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array.
  4936. * For more details, see:
  4937. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach
  4938. *
  4939. * @param arr
  4940. * @param callback
  4941. * @param thisObject Optional
  4942. */
  4943. forEach(arr: any[], callback: String, thisObject?: Object): void;
  4944. /**
  4945. * for every item in arr, callback is invoked. Return values are ignored.
  4946. * If you want to break out of the loop, consider using array.every() or array.some().
  4947. * forEach does not allow breaking out of the loop over the items in arr.
  4948. * This function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when
  4949. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  4950. * the callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array.
  4951. * For more details, see:
  4952. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach
  4953. *
  4954. * @param arr
  4955. * @param callback
  4956. * @param thisObject Optional
  4957. */
  4958. forEach(arr: String, callback: String, thisObject?: Object): void;
  4959. /**
  4960. * locates the first index of the provided value in the
  4961. * passed array. If the value is not found, -1 is returned.
  4962. * This method corresponds to the JavaScript 1.6 Array.indexOf method, with two differences:
  4963. *
  4964. * when run over sparse arrays, the Dojo function invokes the callback for every index
  4965. * whereas JavaScript 1.6's indexOf skips the holes in the sparse array.
  4966. * uses equality (==) rather than strict equality (===)
  4967. * For details on this method, see:
  4968. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/indexOf
  4969. *
  4970. * @param arr
  4971. * @param value
  4972. * @param fromIndex Optional
  4973. * @param findLast OptionalMakes indexOf() work like lastIndexOf(). Used internally; not meant for external usage.
  4974. */
  4975. indexOf(arr: any[], value: Object, fromIndex?: number, findLast?: boolean): number;
  4976. /**
  4977. * locates the last index of the provided value in the passed
  4978. * array. If the value is not found, -1 is returned.
  4979. * This method corresponds to the JavaScript 1.6 Array.lastIndexOf method, with two differences:
  4980. *
  4981. * when run over sparse arrays, the Dojo function invokes the callback for every index
  4982. * whereas JavaScript 1.6's lasIndexOf skips the holes in the sparse array.
  4983. * uses equality (==) rather than strict equality (===)
  4984. * For details on this method, see:
  4985. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/lastIndexOf
  4986. *
  4987. * @param arr
  4988. * @param value
  4989. * @param fromIndex Optional
  4990. */
  4991. lastIndexOf(arr: any, value: any, fromIndex?: number): number;
  4992. /**
  4993. * applies callback to each element of arr and returns
  4994. * an Array with the results
  4995. * This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when
  4996. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  4997. * the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array.
  4998. * For more details, see:
  4999. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
  5000. *
  5001. * @param arr the array to iterate on. If a string, operates onindividual characters.
  5002. * @param callback a function is invoked with three arguments, (item, index,array), and returns a value
  5003. * @param thisObject Optionalmay be used to scope the call to callback
  5004. * @param Ctr
  5005. */
  5006. map(arr: any[], callback: Function, thisObject?: Object, Ctr?: any): any[];
  5007. /**
  5008. * applies callback to each element of arr and returns
  5009. * an Array with the results
  5010. * This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when
  5011. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  5012. * the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array.
  5013. * For more details, see:
  5014. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
  5015. *
  5016. * @param arr the array to iterate on. If a string, operates onindividual characters.
  5017. * @param callback a function is invoked with three arguments, (item, index,array), and returns a value
  5018. * @param thisObject Optionalmay be used to scope the call to callback
  5019. * @param Ctr
  5020. */
  5021. map(arr: String, callback: Function, thisObject?: Object, Ctr?: any): any[];
  5022. /**
  5023. * applies callback to each element of arr and returns
  5024. * an Array with the results
  5025. * This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when
  5026. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  5027. * the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array.
  5028. * For more details, see:
  5029. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
  5030. *
  5031. * @param arr the array to iterate on. If a string, operates onindividual characters.
  5032. * @param callback a function is invoked with three arguments, (item, index,array), and returns a value
  5033. * @param thisObject Optionalmay be used to scope the call to callback
  5034. * @param Ctr
  5035. */
  5036. map(arr: any[], callback: String, thisObject?: Object, Ctr?: any): any[];
  5037. /**
  5038. * applies callback to each element of arr and returns
  5039. * an Array with the results
  5040. * This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when
  5041. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  5042. * the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array.
  5043. * For more details, see:
  5044. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
  5045. *
  5046. * @param arr the array to iterate on. If a string, operates onindividual characters.
  5047. * @param callback a function is invoked with three arguments, (item, index,array), and returns a value
  5048. * @param thisObject Optionalmay be used to scope the call to callback
  5049. * @param Ctr
  5050. */
  5051. map(arr: String, callback: String, thisObject?: Object, Ctr?: any): any[];
  5052. /**
  5053. * Determines whether or not any item in arr satisfies the
  5054. * condition implemented by callback.
  5055. * This function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when
  5056. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  5057. * the callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array.
  5058. * For more details, see:
  5059. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some
  5060. *
  5061. * @param arr the array to iterate over. If a string, operates on individual characters.
  5062. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  5063. * @param thisObject Optionalmay be used to scope the call to callback
  5064. */
  5065. some(arr: any[], callback: Function, thisObject?: Object): boolean;
  5066. /**
  5067. * Determines whether or not any item in arr satisfies the
  5068. * condition implemented by callback.
  5069. * This function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when
  5070. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  5071. * the callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array.
  5072. * For more details, see:
  5073. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some
  5074. *
  5075. * @param arr the array to iterate over. If a string, operates on individual characters.
  5076. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  5077. * @param thisObject Optionalmay be used to scope the call to callback
  5078. */
  5079. some(arr: String, callback: Function, thisObject?: Object): boolean;
  5080. /**
  5081. * Determines whether or not any item in arr satisfies the
  5082. * condition implemented by callback.
  5083. * This function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when
  5084. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  5085. * the callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array.
  5086. * For more details, see:
  5087. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some
  5088. *
  5089. * @param arr the array to iterate over. If a string, operates on individual characters.
  5090. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  5091. * @param thisObject Optionalmay be used to scope the call to callback
  5092. */
  5093. some(arr: any[], callback: String, thisObject?: Object): boolean;
  5094. /**
  5095. * Determines whether or not any item in arr satisfies the
  5096. * condition implemented by callback.
  5097. * This function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when
  5098. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  5099. * the callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array.
  5100. * For more details, see:
  5101. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some
  5102. *
  5103. * @param arr the array to iterate over. If a string, operates on individual characters.
  5104. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  5105. * @param thisObject Optionalmay be used to scope the call to callback
  5106. */
  5107. some(arr: String, callback: String, thisObject?: Object): boolean;
  5108. }
  5109. /**
  5110. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/connect.html
  5111. *
  5112. * This module defines the dojo.connect API.
  5113. * This modules also provides keyboard event handling helpers.
  5114. * This module exports an extension event for emulating Firefox's keypress handling.
  5115. * However, this extension event exists primarily for backwards compatibility and
  5116. * is not recommended. WebKit and IE uses an alternate keypress handling (only
  5117. * firing for printable characters, to distinguish from keydown events), and most
  5118. * consider the WebKit/IE behavior more desirable.
  5119. *
  5120. */
  5121. interface connect {
  5122. /**
  5123. * dojo.connect is a deprecated event handling and delegation method in
  5124. * Dojo. It allows one function to "listen in" on the execution of
  5125. * any other, triggering the second whenever the first is called. Many
  5126. * listeners may be attached to a function, and source functions may
  5127. * be either regular function calls or DOM events.
  5128. * Connects listeners to actions, so that after event fires, a
  5129. * listener is called with the same arguments passed to the original
  5130. * function.
  5131. *
  5132. * Since dojo.connect allows the source of events to be either a
  5133. * "regular" JavaScript function or a DOM event, it provides a uniform
  5134. * interface for listening to all the types of events that an
  5135. * application is likely to deal with though a single, unified
  5136. * interface. DOM programmers may want to think of it as
  5137. * "addEventListener for everything and anything".
  5138. *
  5139. * When setting up a connection, the event parameter must be a
  5140. * string that is the name of the method/event to be listened for. If
  5141. * obj is null, kernel.global is assumed, meaning that connections
  5142. * to global methods are supported but also that you may inadvertently
  5143. * connect to a global by passing an incorrect object name or invalid
  5144. * reference.
  5145. *
  5146. * dojo.connect generally is forgiving. If you pass the name of a
  5147. * function or method that does not yet exist on obj, connect will
  5148. * not fail, but will instead set up a stub method. Similarly, null
  5149. * arguments may simply be omitted such that fewer than 4 arguments
  5150. * may be required to set up a connection See the examples for details.
  5151. *
  5152. * The return value is a handle that is needed to
  5153. * remove this connection with dojo.disconnect.
  5154. *
  5155. * @param obj OptionalThe source object for the event function.Defaults to kernel.global if null.If obj is a DOM node, the connection is delegatedto the DOM event manager (unless dontFix is true).
  5156. * @param event String name of the event function in obj.I.e. identifies a property obj[event].
  5157. * @param context The object that method will receive as "this".If context is null and method is a function, then methodinherits the context of event.If method is a string then context must be the sourceobject object for method (context[method]). If context is null,kernel.global is used.
  5158. * @param method A function reference, or name of a function in context.The function identified by method fires after event does.method receives the same arguments as the event.See context argument comments for information on method's scope.
  5159. * @param dontFix OptionalIf obj is a DOM node, set dontFix to true to prevent delegationof this connection to the DOM event manager.
  5160. */
  5161. connect(obj: Object, event: String, context: Object, method: String, dontFix?: boolean): any;
  5162. /**
  5163. * dojo.connect is a deprecated event handling and delegation method in
  5164. * Dojo. It allows one function to "listen in" on the execution of
  5165. * any other, triggering the second whenever the first is called. Many
  5166. * listeners may be attached to a function, and source functions may
  5167. * be either regular function calls or DOM events.
  5168. * Connects listeners to actions, so that after event fires, a
  5169. * listener is called with the same arguments passed to the original
  5170. * function.
  5171. *
  5172. * Since dojo.connect allows the source of events to be either a
  5173. * "regular" JavaScript function or a DOM event, it provides a uniform
  5174. * interface for listening to all the types of events that an
  5175. * application is likely to deal with though a single, unified
  5176. * interface. DOM programmers may want to think of it as
  5177. * "addEventListener for everything and anything".
  5178. *
  5179. * When setting up a connection, the event parameter must be a
  5180. * string that is the name of the method/event to be listened for. If
  5181. * obj is null, kernel.global is assumed, meaning that connections
  5182. * to global methods are supported but also that you may inadvertently
  5183. * connect to a global by passing an incorrect object name or invalid
  5184. * reference.
  5185. *
  5186. * dojo.connect generally is forgiving. If you pass the name of a
  5187. * function or method that does not yet exist on obj, connect will
  5188. * not fail, but will instead set up a stub method. Similarly, null
  5189. * arguments may simply be omitted such that fewer than 4 arguments
  5190. * may be required to set up a connection See the examples for details.
  5191. *
  5192. * The return value is a handle that is needed to
  5193. * remove this connection with dojo.disconnect.
  5194. *
  5195. * @param obj OptionalThe source object for the event function.Defaults to kernel.global if null.If obj is a DOM node, the connection is delegatedto the DOM event manager (unless dontFix is true).
  5196. * @param event String name of the event function in obj.I.e. identifies a property obj[event].
  5197. * @param context The object that method will receive as "this".If context is null and method is a function, then methodinherits the context of event.If method is a string then context must be the sourceobject object for method (context[method]). If context is null,kernel.global is used.
  5198. * @param method A function reference, or name of a function in context.The function identified by method fires after event does.method receives the same arguments as the event.See context argument comments for information on method's scope.
  5199. * @param dontFix OptionalIf obj is a DOM node, set dontFix to true to prevent delegationof this connection to the DOM event manager.
  5200. */
  5201. connect(obj: Object, event: String, context: any, method: String, dontFix?: boolean): any;
  5202. /**
  5203. * dojo.connect is a deprecated event handling and delegation method in
  5204. * Dojo. It allows one function to "listen in" on the execution of
  5205. * any other, triggering the second whenever the first is called. Many
  5206. * listeners may be attached to a function, and source functions may
  5207. * be either regular function calls or DOM events.
  5208. * Connects listeners to actions, so that after event fires, a
  5209. * listener is called with the same arguments passed to the original
  5210. * function.
  5211. *
  5212. * Since dojo.connect allows the source of events to be either a
  5213. * "regular" JavaScript function or a DOM event, it provides a uniform
  5214. * interface for listening to all the types of events that an
  5215. * application is likely to deal with though a single, unified
  5216. * interface. DOM programmers may want to think of it as
  5217. * "addEventListener for everything and anything".
  5218. *
  5219. * When setting up a connection, the event parameter must be a
  5220. * string that is the name of the method/event to be listened for. If
  5221. * obj is null, kernel.global is assumed, meaning that connections
  5222. * to global methods are supported but also that you may inadvertently
  5223. * connect to a global by passing an incorrect object name or invalid
  5224. * reference.
  5225. *
  5226. * dojo.connect generally is forgiving. If you pass the name of a
  5227. * function or method that does not yet exist on obj, connect will
  5228. * not fail, but will instead set up a stub method. Similarly, null
  5229. * arguments may simply be omitted such that fewer than 4 arguments
  5230. * may be required to set up a connection See the examples for details.
  5231. *
  5232. * The return value is a handle that is needed to
  5233. * remove this connection with dojo.disconnect.
  5234. *
  5235. * @param obj OptionalThe source object for the event function.Defaults to kernel.global if null.If obj is a DOM node, the connection is delegatedto the DOM event manager (unless dontFix is true).
  5236. * @param event String name of the event function in obj.I.e. identifies a property obj[event].
  5237. * @param context The object that method will receive as "this".If context is null and method is a function, then methodinherits the context of event.If method is a string then context must be the sourceobject object for method (context[method]). If context is null,kernel.global is used.
  5238. * @param method A function reference, or name of a function in context.The function identified by method fires after event does.method receives the same arguments as the event.See context argument comments for information on method's scope.
  5239. * @param dontFix OptionalIf obj is a DOM node, set dontFix to true to prevent delegationof this connection to the DOM event manager.
  5240. */
  5241. connect(obj: Object, event: String, context: Object, method: Function, dontFix?: boolean): any;
  5242. /**
  5243. * dojo.connect is a deprecated event handling and delegation method in
  5244. * Dojo. It allows one function to "listen in" on the execution of
  5245. * any other, triggering the second whenever the first is called. Many
  5246. * listeners may be attached to a function, and source functions may
  5247. * be either regular function calls or DOM events.
  5248. * Connects listeners to actions, so that after event fires, a
  5249. * listener is called with the same arguments passed to the original
  5250. * function.
  5251. *
  5252. * Since dojo.connect allows the source of events to be either a
  5253. * "regular" JavaScript function or a DOM event, it provides a uniform
  5254. * interface for listening to all the types of events that an
  5255. * application is likely to deal with though a single, unified
  5256. * interface. DOM programmers may want to think of it as
  5257. * "addEventListener for everything and anything".
  5258. *
  5259. * When setting up a connection, the event parameter must be a
  5260. * string that is the name of the method/event to be listened for. If
  5261. * obj is null, kernel.global is assumed, meaning that connections
  5262. * to global methods are supported but also that you may inadvertently
  5263. * connect to a global by passing an incorrect object name or invalid
  5264. * reference.
  5265. *
  5266. * dojo.connect generally is forgiving. If you pass the name of a
  5267. * function or method that does not yet exist on obj, connect will
  5268. * not fail, but will instead set up a stub method. Similarly, null
  5269. * arguments may simply be omitted such that fewer than 4 arguments
  5270. * may be required to set up a connection See the examples for details.
  5271. *
  5272. * The return value is a handle that is needed to
  5273. * remove this connection with dojo.disconnect.
  5274. *
  5275. * @param obj OptionalThe source object for the event function.Defaults to kernel.global if null.If obj is a DOM node, the connection is delegatedto the DOM event manager (unless dontFix is true).
  5276. * @param event String name of the event function in obj.I.e. identifies a property obj[event].
  5277. * @param context The object that method will receive as "this".If context is null and method is a function, then methodinherits the context of event.If method is a string then context must be the sourceobject object for method (context[method]). If context is null,kernel.global is used.
  5278. * @param method A function reference, or name of a function in context.The function identified by method fires after event does.method receives the same arguments as the event.See context argument comments for information on method's scope.
  5279. * @param dontFix OptionalIf obj is a DOM node, set dontFix to true to prevent delegationof this connection to the DOM event manager.
  5280. */
  5281. connect(obj: Object, event: String, context: any, method: Function, dontFix?: boolean): any;
  5282. /**
  5283. * Ensure that every time obj.event() is called, a message is published
  5284. * on the topic. Returns a handle which can be passed to
  5285. * dojo.disconnect() to disable subsequent automatic publication on
  5286. * the topic.
  5287. *
  5288. * @param topic The name of the topic to publish.
  5289. * @param obj OptionalThe source object for the event function. Defaults to kernel.globalif null.
  5290. * @param event The name of the event function in obj.I.e. identifies a property obj[event].
  5291. */
  5292. connectPublisher(topic: String, obj: Object, event: String): any;
  5293. /**
  5294. * Remove a link created by dojo.connect.
  5295. * Removes the connection between event and the method referenced by handle.
  5296. *
  5297. * @param handle the return value of the dojo.connect call that created the connection.
  5298. */
  5299. disconnect(handle: Object): void;
  5300. /**
  5301. * Checks an event for the copy key (meta on Mac, and ctrl anywhere else)
  5302. *
  5303. * @param e Event object to examine
  5304. */
  5305. isCopyKey(e: Event): any;
  5306. /**
  5307. * Invoke all listener method subscribed to topic.
  5308. *
  5309. * @param topic The name of the topic to publish.
  5310. * @param args OptionalAn array of arguments. The arguments will be appliedto each topic subscriber (as first class parameters, via apply).
  5311. */
  5312. publish(topic: String, args?: any[]): any;
  5313. /**
  5314. * Attach a listener to a named topic. The listener function is invoked whenever the
  5315. * named topic is published (see: dojo.publish).
  5316. * Returns a handle which is needed to unsubscribe this listener.
  5317. *
  5318. * @param topic The topic to which to subscribe.
  5319. * @param context OptionalScope in which method will be invoked, or null for default scope.
  5320. * @param method The name of a function in context, or a function reference. This is the function thatis invoked when topic is published.
  5321. */
  5322. subscribe(topic: String, context?: Object, method?: String): any;
  5323. /**
  5324. * Attach a listener to a named topic. The listener function is invoked whenever the
  5325. * named topic is published (see: dojo.publish).
  5326. * Returns a handle which is needed to unsubscribe this listener.
  5327. *
  5328. * @param topic The topic to which to subscribe.
  5329. * @param context OptionalScope in which method will be invoked, or null for default scope.
  5330. * @param method The name of a function in context, or a function reference. This is the function thatis invoked when topic is published.
  5331. */
  5332. subscribe(topic: String, context?: Object, method?: Function): any;
  5333. /**
  5334. * Remove a topic listener.
  5335. *
  5336. * @param handle The handle returned from a call to subscribe.
  5337. */
  5338. unsubscribe(handle: Object): void;
  5339. }
  5340. /**
  5341. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/event.html
  5342. *
  5343. * This module defines dojo DOM event API. Usually you should use dojo/on, and evt.stopPropagation() +
  5344. * evt.preventDefault(), rather than this module.
  5345. *
  5346. */
  5347. interface event {
  5348. /**
  5349. * normalizes properties on the event object including event
  5350. * bubbling methods, keystroke normalization, and x/y positions
  5351. *
  5352. * @param evt native event object
  5353. * @param sender node to treat as "currentTarget"
  5354. */
  5355. fix(evt: Event, sender: HTMLElement): Event;
  5356. /**
  5357. * prevents propagation and clobbers the default action of the
  5358. * passed event
  5359. *
  5360. * @param evt The event object. If omitted, window.event is used on IE.
  5361. */
  5362. stop(evt: Event): void;
  5363. }
  5364. /**
  5365. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/html.html
  5366. *
  5367. * This module is a stub for the core dojo DOM API.
  5368. *
  5369. */
  5370. interface html {
  5371. }
  5372. /**
  5373. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/json.html
  5374. *
  5375. * This module defines the dojo JSON API.
  5376. *
  5377. */
  5378. interface json {
  5379. }
  5380. namespace fx {
  5381. /**
  5382. * A generic animation class that fires callbacks into its handlers
  5383. * object at various states.
  5384. * A generic animation class that fires callbacks into its handlers
  5385. * object at various states. Nearly all dojo animation functions
  5386. * return an instance of this method, usually without calling the
  5387. * .play() method beforehand. Therefore, you will likely need to
  5388. * call .play() on instances of Animation when one is
  5389. * returned.
  5390. *
  5391. * @param args The 'magic argument', mixing all the properties into thisanimation instance.
  5392. */
  5393. interface Animation { }
  5394. }
  5395. /**
  5396. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/fx.html
  5397. *
  5398. * This module defines the base dojo/_base/fx implementation.
  5399. *
  5400. */
  5401. interface fx {
  5402. /**
  5403. * A simpler interface to animateProperty(), also returns
  5404. * an instance of Animation but begins the animation
  5405. * immediately, unlike nearly every other Dojo animation API.
  5406. * Simpler (but somewhat less powerful) version
  5407. * of animateProperty. It uses defaults for many basic properties
  5408. * and allows for positional parameters to be used in place of the
  5409. * packed "property bag" which is used for other Dojo animation
  5410. * methods.
  5411. *
  5412. * The Animation object returned will be already playing, so
  5413. * calling play() on it again is (usually) a no-op.
  5414. *
  5415. * @param node a DOM node or the id of a node to animate CSS properties on
  5416. * @param properties
  5417. * @param duration OptionalThe number of milliseconds over which the animationshould run. Defaults to the global animation default duration(350ms).
  5418. * @param easing OptionalAn easing function over which to calculate accelerationand deceleration of the animation through its duration.A default easing algorithm is provided, but you mayplug in any you wish. A large selection of easing algorithmsare available in dojo/fx/easing.
  5419. * @param onEnd OptionalA function to be called when the animation finishesrunning.
  5420. * @param delay OptionalThe number of milliseconds to delay beginning theanimation by. The default is 0.
  5421. */
  5422. anim (node: HTMLElement, properties: Object, duration?: number, easing?: Function, onEnd?: Function, delay?: number): any ;
  5423. /**
  5424. * A simpler interface to animateProperty(), also returns
  5425. * an instance of Animation but begins the animation
  5426. * immediately, unlike nearly every other Dojo animation API.
  5427. * Simpler (but somewhat less powerful) version
  5428. * of animateProperty. It uses defaults for many basic properties
  5429. * and allows for positional parameters to be used in place of the
  5430. * packed "property bag" which is used for other Dojo animation
  5431. * methods.
  5432. *
  5433. * The Animation object returned will be already playing, so
  5434. * calling play() on it again is (usually) a no-op.
  5435. *
  5436. * @param node a DOM node or the id of a node to animate CSS properties on
  5437. * @param properties
  5438. * @param duration OptionalThe number of milliseconds over which the animationshould run. Defaults to the global animation default duration(350ms).
  5439. * @param easing OptionalAn easing function over which to calculate accelerationand deceleration of the animation through its duration.A default easing algorithm is provided, but you mayplug in any you wish. A large selection of easing algorithmsare available in dojo/fx/easing.
  5440. * @param onEnd OptionalA function to be called when the animation finishesrunning.
  5441. * @param delay OptionalThe number of milliseconds to delay beginning theanimation by. The default is 0.
  5442. */
  5443. anim (node: String, properties: Object, duration?: number, easing?: Function, onEnd?: Function, delay?: number): any ;
  5444. /**
  5445. * Returns an animation that will transition the properties of
  5446. * node defined in args depending how they are defined in
  5447. * args.properties
  5448. * Foundation of most dojo/_base/fx
  5449. * animations. It takes an object of "properties" corresponding to
  5450. * style properties, and animates them in parallel over a set
  5451. * duration.
  5452. *
  5453. * @param args An object with the following properties:properties (Object, optional): A hash map of style properties to Objects describing the transition,such as the properties of _Line with an additional 'units' propertynode (DOMNode|String): The node referenced in the animationduration (Integer, optional): Duration of the animation in milliseconds.easing (Function, optional): An easing function.
  5454. */
  5455. animateProperty (args?: Object): any ;
  5456. /**
  5457. * Returns an animation that will fade node defined in 'args' from
  5458. * its current opacity to fully opaque.
  5459. *
  5460. * @param args An object with the following properties:node (DOMNode|String): The node referenced in the animationduration (Integer, optional): Duration of the animation in milliseconds.easing (Function, optional): An easing function.
  5461. */
  5462. fadeIn (args: Object): any ;
  5463. /**
  5464. * Returns an animation that will fade node defined in 'args'
  5465. * from its current opacity to fully transparent.
  5466. *
  5467. * @param args An object with the following properties:node (DOMNode|String): The node referenced in the animationduration (Integer, optional): Duration of the animation in milliseconds.easing (Function, optional): An easing function.
  5468. */
  5469. fadeOut (args: Object): any ;
  5470. }
  5471. /**
  5472. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/query.html
  5473. *
  5474. * Deprecated. Use dojo/query instead.
  5475. *
  5476. */
  5477. interface query {
  5478. }
  5479. /**
  5480. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/NodeList.html
  5481. *
  5482. * This module extends dojo/NodeList with the legacy connect(), coords(),
  5483. * blur(), focus(), change(), click(), error(), keydown(), keypress(),
  5484. * keyup(), load(), mousedown(), mouseenter(), mouseleave(), mousemove(),
  5485. * mouseout(), mouseover(), mouseup(), and submit() methods.
  5486. *
  5487. */
  5488. interface NodeList {
  5489. }
  5490. /**
  5491. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/sniff.html
  5492. *
  5493. * Deprecated. New code should use dojo/sniff.
  5494. * This module populates the dojo browser version sniffing properties like dojo.isIE.
  5495. *
  5496. */
  5497. interface sniff {
  5498. }
  5499. /**
  5500. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/lang.html
  5501. *
  5502. * This module defines Javascript language extensions.
  5503. *
  5504. */
  5505. interface lang {
  5506. /**
  5507. * Clones objects (including DOM nodes) and all children.
  5508. * Warning: do not clone cyclic structures.
  5509. *
  5510. * @param src The object to clone
  5511. */
  5512. clone(src: any): any;
  5513. /**
  5514. * Returns a new object which "looks" to obj for properties which it
  5515. * does not have a value for. Optionally takes a bag of properties to
  5516. * seed the returned object with initially.
  5517. * This is a small implementation of the Boodman/Crockford delegation
  5518. * pattern in JavaScript. An intermediate object constructor mediates
  5519. * the prototype chain for the returned object, using it to delegate
  5520. * down to obj for property lookup when object-local lookup fails.
  5521. * This can be thought of similarly to ES4's "wrap", save that it does
  5522. * not act on types but rather on pure objects.
  5523. *
  5524. * @param obj The object to delegate to for properties not found directly on thereturn object or in props.
  5525. * @param props an object containing properties to assign to the returned object
  5526. */
  5527. delegate(obj: Object, props: Object[]): any;
  5528. /**
  5529. * determine if an object supports a given method
  5530. * useful for longer api chains where you have to test each object in
  5531. * the chain. Useful for object and method detection.
  5532. *
  5533. * @param name Path to an object, in the form "A.B.C".
  5534. * @param obj OptionalObject to use as root of path. Defaults to'dojo.global'. Null may be passed.
  5535. */
  5536. exists(name: String, obj?: Object): boolean;
  5537. /**
  5538. * Adds all properties and methods of props to constructor's
  5539. * prototype, making them available to all instances created with
  5540. * constructor.
  5541. *
  5542. * @param ctor Target constructor to extend.
  5543. * @param props One or more objects to mix into ctor.prototype
  5544. */
  5545. extend(ctor: Object, props: Object): Object;
  5546. /**
  5547. * Get a property from a dot-separated string, such as "A.B.C"
  5548. * Useful for longer api chains where you have to test each object in
  5549. * the chain, or when you have an object reference in string format.
  5550. *
  5551. * @param name Path to an property, in the form "A.B.C".
  5552. * @param create OptionalOptional. Defaults to false. If true, Objects will becreated at any point along the 'path' that is undefined.
  5553. * @param context OptionalOptional. Object to use as root of path. Defaults to'dojo.global'. Null may be passed.
  5554. */
  5555. getObject(name: String, create?: boolean, context?: Object): any;
  5556. /**
  5557. * Returns a function that will only ever execute in the a given scope.
  5558. * This allows for easy use of object member functions
  5559. * in callbacks and other places in which the "this" keyword may
  5560. * otherwise not reference the expected scope.
  5561. * Any number of default positional arguments may be passed as parameters
  5562. * beyond "method".
  5563. * Each of these values will be used to "placehold" (similar to curry)
  5564. * for the hitched function.
  5565. *
  5566. * @param scope The scope to use when method executes. If method is a string,scope is also the object containing method.
  5567. * @param method A function to be hitched to scope, or the name of the method inscope to be hitched.
  5568. */
  5569. hitch(scope: Object, method: (...args: any[]) => any, ...args: any[]): any;
  5570. /**
  5571. * Returns a function that will only ever execute in the a given scope.
  5572. * This allows for easy use of object member functions
  5573. * in callbacks and other places in which the "this" keyword may
  5574. * otherwise not reference the expected scope.
  5575. * Any number of default positional arguments may be passed as parameters
  5576. * beyond "method".
  5577. * Each of these values will be used to "placehold" (similar to curry)
  5578. * for the hitched function.
  5579. *
  5580. * @param scope The scope to use when method executes. If method is a string,scope is also the object containing method.
  5581. * @param method A function to be hitched to scope, or the name of the method inscope to be hitched.
  5582. */
  5583. hitch(scope: Object, method: string, ...args: any[]): any;
  5584. /**
  5585. * Returns true if it is a built-in function or some other kind of
  5586. * oddball that should report as a function but doesn't
  5587. *
  5588. * @param it
  5589. */
  5590. isAlien(it: any): any;
  5591. /**
  5592. * Return true if it is an Array.
  5593. * Does not work on Arrays created in other windows.
  5594. *
  5595. * @param it Item to test.
  5596. */
  5597. isArray(it: any): any;
  5598. /**
  5599. * similar to isArray() but more permissive
  5600. * Doesn't strongly test for "arrayness". Instead, settles for "isn't
  5601. * a string or number and has a length property". Arguments objects
  5602. * and DOM collections will return true when passed to
  5603. * isArrayLike(), but will return false when passed to
  5604. * isArray().
  5605. *
  5606. * @param it Item to test.
  5607. */
  5608. isArrayLike(it: any): any;
  5609. /**
  5610. * Return true if it is a Function
  5611. *
  5612. * @param it Item to test.
  5613. */
  5614. isFunction(it: any): boolean;
  5615. /**
  5616. * Returns true if it is a JavaScript object (or an Array, a Function
  5617. * or null)
  5618. *
  5619. * @param it Item to test.
  5620. */
  5621. isObject(it: any): boolean;
  5622. /**
  5623. * Return true if it is a String
  5624. *
  5625. * @param it Item to test.
  5626. */
  5627. isString(it: any): boolean;
  5628. /**
  5629. * Copies/adds all properties of one or more sources to dest; returns dest.
  5630. * All properties, including functions (sometimes termed "methods"), excluding any non-standard extensions
  5631. * found in Object.prototype, are copied/added from sources to dest. sources are processed left to right.
  5632. * The Javascript assignment operator is used to copy/add each property; therefore, by default, mixin
  5633. * executes a so-called "shallow copy" and aggregate types are copied/added by reference.
  5634. *
  5635. * @param dest The object to which to copy/add all properties contained in source. If dest is falsy, thena new object is manufactured before copying/adding properties begins.
  5636. * @param sources One of more objects from which to draw all properties to copy into dest. sources are processedleft-to-right and if more than one of these objects contain the same property name, the right-mostvalue "wins".
  5637. */
  5638. mixin<T>(dest: T): T;
  5639. mixin<T, U>(
  5640. dest: T,
  5641. source: U
  5642. ): T & U;
  5643. mixin<T, U, V>(
  5644. dest: T,
  5645. source1: U,
  5646. source2: V
  5647. ): T & U & V;
  5648. mixin<T, U, V, W>(
  5649. dest: T,
  5650. source1: U,
  5651. source2: V,
  5652. source3: W
  5653. ): T & U & V & W;
  5654. mixin<T>(dest: Object, ...sources: Object[]): T;
  5655. /**
  5656. * similar to hitch() except that the scope object is left to be
  5657. * whatever the execution context eventually becomes.
  5658. * Calling lang.partial is the functional equivalent of calling:
  5659. *
  5660. * lang.hitch(null, funcName, ...);
  5661. *
  5662. * @param method The function to "wrap"
  5663. */
  5664. partial(method: Function): any;
  5665. /**
  5666. * similar to hitch() except that the scope object is left to be
  5667. * whatever the execution context eventually becomes.
  5668. * Calling lang.partial is the functional equivalent of calling:
  5669. *
  5670. * lang.hitch(null, funcName, ...);
  5671. *
  5672. * @param method The function to "wrap"
  5673. */
  5674. partial(method: String): any;
  5675. /**
  5676. * Performs parameterized substitutions on a string. Throws an
  5677. * exception if any parameter is unmatched.
  5678. *
  5679. * @param tmpl String to be used as a template.
  5680. * @param map If an object, it is used as a dictionary to look up substitutions.If a function, it is called for every substitution with following parameters:a whole match, a name, an offset, and the whole templatestring (see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/replacefor more details).
  5681. * @param pattern OptionalOptional regular expression objects that overrides the default pattern.Must be global and match one item. The default is: /{([^}]+)}/g,which matches patterns like that: "{xxx}", where "xxx" is any sequenceof characters, which doesn't include "}".
  5682. */
  5683. replace(tmpl: String, map: Object, pattern?: RegExp): String;
  5684. /**
  5685. * Performs parameterized substitutions on a string. Throws an
  5686. * exception if any parameter is unmatched.
  5687. *
  5688. * @param tmpl String to be used as a template.
  5689. * @param map If an object, it is used as a dictionary to look up substitutions.If a function, it is called for every substitution with following parameters:a whole match, a name, an offset, and the whole templatestring (see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/replacefor more details).
  5690. * @param pattern OptionalOptional regular expression objects that overrides the default pattern.Must be global and match one item. The default is: /{([^}]+)}/g,which matches patterns like that: "{xxx}", where "xxx" is any sequenceof characters, which doesn't include "}".
  5691. */
  5692. replace(tmpl: String, map: Function, pattern?: RegExp): String;
  5693. /**
  5694. * Set a property from a dot-separated string, such as "A.B.C"
  5695. * Useful for longer api chains where you have to test each object in
  5696. * the chain, or when you have an object reference in string format.
  5697. * Objects are created as needed along path. Returns the passed
  5698. * value if setting is successful or undefined if not.
  5699. *
  5700. * @param name Path to a property, in the form "A.B.C".
  5701. * @param value value or object to place at location given by name
  5702. * @param context OptionalOptional. Object to use as root of path. Defaults todojo.global.
  5703. */
  5704. setObject(name: String, value: any, context?: Object): any;
  5705. /**
  5706. * Trims whitespace from both sides of the string
  5707. * This version of trim() was selected for inclusion into the base due
  5708. * to its compact size and relatively good performance
  5709. * (see Steven Levithan's blog
  5710. * Uses String.prototype.trim instead, if available.
  5711. * The fastest but longest version of this function is located at
  5712. * lang.string.trim()
  5713. *
  5714. * @param str String to be trimmed
  5715. */
  5716. trim(str: String): String;
  5717. }
  5718. /**
  5719. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/unload.html
  5720. *
  5721. * This module contains the document and window unload detection API.
  5722. *
  5723. */
  5724. interface unload {
  5725. /**
  5726. * registers a function to be triggered when the page unloads.
  5727. * The first time that addOnUnload is called Dojo will
  5728. * register a page listener to trigger your unload handler
  5729. * with.
  5730. *
  5731. * In a browser environment, the functions will be triggered
  5732. * during the window.onbeforeunload event. Be careful of doing
  5733. * too much work in an unload handler. onbeforeunload can be
  5734. * triggered if a link to download a file is clicked, or if
  5735. * the link is a javascript: link. In these cases, the
  5736. * onbeforeunload event fires, but the document is not
  5737. * actually destroyed. So be careful about doing destructive
  5738. * operations in a dojo.addOnUnload callback.
  5739. *
  5740. * Further note that calling dojo.addOnUnload will prevent
  5741. * browsers from using a "fast back" cache to make page
  5742. * loading via back button instantaneous.
  5743. *
  5744. * @param obj Optional
  5745. * @param functionName Optional
  5746. */
  5747. addOnUnload(obj?: Object, functionName?: String): void;
  5748. /**
  5749. * registers a function to be triggered when the page unloads.
  5750. * The first time that addOnUnload is called Dojo will
  5751. * register a page listener to trigger your unload handler
  5752. * with.
  5753. *
  5754. * In a browser environment, the functions will be triggered
  5755. * during the window.onbeforeunload event. Be careful of doing
  5756. * too much work in an unload handler. onbeforeunload can be
  5757. * triggered if a link to download a file is clicked, or if
  5758. * the link is a javascript: link. In these cases, the
  5759. * onbeforeunload event fires, but the document is not
  5760. * actually destroyed. So be careful about doing destructive
  5761. * operations in a dojo.addOnUnload callback.
  5762. *
  5763. * Further note that calling dojo.addOnUnload will prevent
  5764. * browsers from using a "fast back" cache to make page
  5765. * loading via back button instantaneous.
  5766. *
  5767. * @param obj Optional
  5768. * @param functionName Optional
  5769. */
  5770. addOnUnload(obj?: Function, functionName?: String): void;
  5771. /**
  5772. * registers a function to be triggered when the page unloads.
  5773. * The first time that addOnUnload is called Dojo will
  5774. * register a page listener to trigger your unload handler
  5775. * with.
  5776. *
  5777. * In a browser environment, the functions will be triggered
  5778. * during the window.onbeforeunload event. Be careful of doing
  5779. * too much work in an unload handler. onbeforeunload can be
  5780. * triggered if a link to download a file is clicked, or if
  5781. * the link is a javascript: link. In these cases, the
  5782. * onbeforeunload event fires, but the document is not
  5783. * actually destroyed. So be careful about doing destructive
  5784. * operations in a dojo.addOnUnload callback.
  5785. *
  5786. * Further note that calling dojo.addOnUnload will prevent
  5787. * browsers from using a "fast back" cache to make page
  5788. * loading via back button instantaneous.
  5789. *
  5790. * @param obj Optional
  5791. * @param functionName Optional
  5792. */
  5793. addOnUnload(obj?: Object, functionName?: Function): void;
  5794. /**
  5795. * registers a function to be triggered when the page unloads.
  5796. * The first time that addOnUnload is called Dojo will
  5797. * register a page listener to trigger your unload handler
  5798. * with.
  5799. *
  5800. * In a browser environment, the functions will be triggered
  5801. * during the window.onbeforeunload event. Be careful of doing
  5802. * too much work in an unload handler. onbeforeunload can be
  5803. * triggered if a link to download a file is clicked, or if
  5804. * the link is a javascript: link. In these cases, the
  5805. * onbeforeunload event fires, but the document is not
  5806. * actually destroyed. So be careful about doing destructive
  5807. * operations in a dojo.addOnUnload callback.
  5808. *
  5809. * Further note that calling dojo.addOnUnload will prevent
  5810. * browsers from using a "fast back" cache to make page
  5811. * loading via back button instantaneous.
  5812. *
  5813. * @param obj Optional
  5814. * @param functionName Optional
  5815. */
  5816. addOnUnload(obj?: Function, functionName?: Function): void;
  5817. /**
  5818. * registers a function to be triggered when window.onunload
  5819. * fires.
  5820. * The first time that addOnWindowUnload is called Dojo
  5821. * will register a page listener to trigger your unload
  5822. * handler with. Note that registering these handlers may
  5823. * destroy "fastback" page caching in browsers that support
  5824. * it. Be careful trying to modify the DOM or access
  5825. * JavaScript properties during this phase of page unloading:
  5826. * they may not always be available. Consider
  5827. * addOnUnload() if you need to modify the DOM or do
  5828. * heavy JavaScript work since it fires at the equivalent of
  5829. * the page's "onbeforeunload" event.
  5830. *
  5831. * @param obj Optional
  5832. * @param functionName Optional
  5833. */
  5834. addOnWindowUnload(obj?: Object, functionName?: String): void;
  5835. /**
  5836. * registers a function to be triggered when window.onunload
  5837. * fires.
  5838. * The first time that addOnWindowUnload is called Dojo
  5839. * will register a page listener to trigger your unload
  5840. * handler with. Note that registering these handlers may
  5841. * destroy "fastback" page caching in browsers that support
  5842. * it. Be careful trying to modify the DOM or access
  5843. * JavaScript properties during this phase of page unloading:
  5844. * they may not always be available. Consider
  5845. * addOnUnload() if you need to modify the DOM or do
  5846. * heavy JavaScript work since it fires at the equivalent of
  5847. * the page's "onbeforeunload" event.
  5848. *
  5849. * @param obj Optional
  5850. * @param functionName Optional
  5851. */
  5852. addOnWindowUnload(obj?: Function, functionName?: String): void;
  5853. /**
  5854. * registers a function to be triggered when window.onunload
  5855. * fires.
  5856. * The first time that addOnWindowUnload is called Dojo
  5857. * will register a page listener to trigger your unload
  5858. * handler with. Note that registering these handlers may
  5859. * destroy "fastback" page caching in browsers that support
  5860. * it. Be careful trying to modify the DOM or access
  5861. * JavaScript properties during this phase of page unloading:
  5862. * they may not always be available. Consider
  5863. * addOnUnload() if you need to modify the DOM or do
  5864. * heavy JavaScript work since it fires at the equivalent of
  5865. * the page's "onbeforeunload" event.
  5866. *
  5867. * @param obj Optional
  5868. * @param functionName Optional
  5869. */
  5870. addOnWindowUnload(obj?: Object, functionName?: Function): void;
  5871. /**
  5872. * registers a function to be triggered when window.onunload
  5873. * fires.
  5874. * The first time that addOnWindowUnload is called Dojo
  5875. * will register a page listener to trigger your unload
  5876. * handler with. Note that registering these handlers may
  5877. * destroy "fastback" page caching in browsers that support
  5878. * it. Be careful trying to modify the DOM or access
  5879. * JavaScript properties during this phase of page unloading:
  5880. * they may not always be available. Consider
  5881. * addOnUnload() if you need to modify the DOM or do
  5882. * heavy JavaScript work since it fires at the equivalent of
  5883. * the page's "onbeforeunload" event.
  5884. *
  5885. * @param obj Optional
  5886. * @param functionName Optional
  5887. */
  5888. addOnWindowUnload(obj?: Function, functionName?: Function): void;
  5889. }
  5890. /**
  5891. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/window.html
  5892. *
  5893. * API to save/set/restore the global/document scope.
  5894. *
  5895. */
  5896. interface window {
  5897. /**
  5898. * Alias for the current document. 'doc' can be modified
  5899. * for temporary context shifting. See also withDoc().
  5900. *
  5901. */
  5902. doc: Object;
  5903. /**
  5904. * Alias for the current window. 'global' can be modified
  5905. * for temporary context shifting. See also withGlobal().
  5906. *
  5907. */
  5908. global: Object;
  5909. /**
  5910. * Return the body element of the specified document or of dojo/_base/window::doc.
  5911. *
  5912. * @param doc Optional
  5913. */
  5914. body(doc?: HTMLDocument): any;
  5915. /**
  5916. * changes the behavior of many core Dojo functions that deal with
  5917. * namespace and DOM lookup, changing them to work in a new global
  5918. * context (e.g., an iframe). The varibles dojo.global and dojo.doc
  5919. * are modified as a result of calling this function and the result of
  5920. * dojo.body() likewise differs.
  5921. *
  5922. * @param globalObject
  5923. * @param globalDocument
  5924. */
  5925. setContext(globalObject: Object, globalDocument: HTMLDocument): void;
  5926. /**
  5927. * Invoke callback with documentObject as dojo/_base/window::doc.
  5928. * Invoke callback with documentObject as dojo/_base/window::doc. If provided,
  5929. * callback will be executed in the context of object thisObject
  5930. * When callback() returns or throws an error, the dojo/_base/window::doc will
  5931. * be restored to its previous state.
  5932. *
  5933. * @param documentObject
  5934. * @param callback
  5935. * @param thisObject Optional
  5936. * @param cbArguments Optional
  5937. */
  5938. withDoc(documentObject: HTMLDocument, callback: Function, thisObject?: Object, cbArguments?: any[]): any;
  5939. /**
  5940. * Invoke callback with globalObject as dojo.global and
  5941. * globalObject.document as dojo.doc.
  5942. * Invoke callback with globalObject as dojo.global and
  5943. * globalObject.document as dojo.doc. If provided, globalObject
  5944. * will be executed in the context of object thisObject
  5945. * When callback() returns or throws an error, the dojo.global
  5946. * and dojo.doc will be restored to its previous state.
  5947. *
  5948. * @param globalObject
  5949. * @param callback
  5950. * @param thisObject Optional
  5951. * @param cbArguments Optional
  5952. */
  5953. withGlobal(globalObject: Object, callback: Function, thisObject?: Object, cbArguments?: any[]): any;
  5954. }
  5955. namespace window {
  5956. /**
  5957. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/window.doc.html
  5958. *
  5959. * Alias for the current document. 'doc' can be modified
  5960. * for temporary context shifting. See also withDoc().
  5961. * Use this rather than referring to 'window.document' to ensure your code runs
  5962. * correctly in managed contexts.
  5963. *
  5964. */
  5965. interface doc {
  5966. /**
  5967. *
  5968. */
  5969. documentElement: Object;
  5970. /**
  5971. *
  5972. */
  5973. dojoClick: boolean;
  5974. }
  5975. /**
  5976. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/window.global.html
  5977. *
  5978. * Alias for the current window. 'global' can be modified
  5979. * for temporary context shifting. See also withGlobal().
  5980. * Use this rather than referring to 'window' to ensure your code runs
  5981. * correctly in managed contexts.
  5982. *
  5983. */
  5984. interface global {
  5985. /**
  5986. *
  5987. */
  5988. $(): any;
  5989. /**
  5990. *
  5991. * @param start
  5992. * @param data
  5993. * @param responseCode
  5994. * @param errorMsg
  5995. */
  5996. GoogleSearchStoreCallback_undefined_NaN(start: any, data: any, responseCode: any, errorMsg: any): void;
  5997. /**
  5998. *
  5999. */
  6000. jQuery(): any;
  6001. /**
  6002. *
  6003. */
  6004. swfIsInHTML(): void;
  6005. /**
  6006. *
  6007. */
  6008. undefined_onload(): void;
  6009. }
  6010. }
  6011. /**
  6012. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.html
  6013. *
  6014. * This module is the foundational module of the dojo boot sequence; it defines the dojo object.
  6015. *
  6016. */
  6017. interface kernel {
  6018. /**
  6019. * Browser history management resources
  6020. *
  6021. */
  6022. back: Object;
  6023. /**
  6024. *
  6025. */
  6026. baseUrl: string;
  6027. /**
  6028. *
  6029. */
  6030. behavior: Object;
  6031. /**
  6032. *
  6033. */
  6034. cldr: Object;
  6035. /**
  6036. *
  6037. */
  6038. colors: Object;
  6039. /**
  6040. * This module defines the user configuration during bootstrap.
  6041. *
  6042. */
  6043. config: Object;
  6044. /**
  6045. *
  6046. */
  6047. connectPublisher: Object;
  6048. /**
  6049. * A map of available XHR transport handle types. Name matches the
  6050. * handleAs attribute passed to XHR calls.
  6051. *
  6052. */
  6053. contentHandlers: Object;
  6054. /**
  6055. * localized formatting and parsing routines for currencies
  6056. *
  6057. */
  6058. currency: Object;
  6059. /**
  6060. *
  6061. */
  6062. data: Object;
  6063. /**
  6064. *
  6065. */
  6066. date: Object;
  6067. /**
  6068. *
  6069. */
  6070. dijit: Object;
  6071. /**
  6072. *
  6073. */
  6074. dnd: Object;
  6075. /**
  6076. * Alias for the current document. 'doc' can be modified
  6077. * for temporary context shifting. See also withDoc().
  6078. *
  6079. */
  6080. doc: Object;
  6081. /**
  6082. *
  6083. */
  6084. dojox: Object;
  6085. /**
  6086. * Effects library on top of Base animations
  6087. *
  6088. */
  6089. fx: Object;
  6090. /**
  6091. * TODOC
  6092. *
  6093. */
  6094. gears: Object;
  6095. /**
  6096. * Alias for the current window. 'global' can be modified
  6097. * for temporary context shifting. See also withGlobal().
  6098. *
  6099. */
  6100. global: Object;
  6101. /**
  6102. * TODOC
  6103. *
  6104. */
  6105. html: Object;
  6106. /**
  6107. * This module implements the dojo/i18n! plugin and the v1.6- i18n API
  6108. *
  6109. */
  6110. i18n: Object;
  6111. /**
  6112. *
  6113. */
  6114. io: Object;
  6115. /**
  6116. * True if client is Adobe Air
  6117. *
  6118. */
  6119. isAir: boolean;
  6120. /**
  6121. * Version as a Number if client is android browser. undefined otherwise.
  6122. *
  6123. */
  6124. isAndroid: number;
  6125. /**
  6126. *
  6127. */
  6128. isAsync: boolean;
  6129. /**
  6130. *
  6131. */
  6132. isBrowser: boolean;
  6133. /**
  6134. * Version as a Number if client is Chrome browser. undefined otherwise.
  6135. *
  6136. */
  6137. isChrome: number;
  6138. /**
  6139. *
  6140. */
  6141. isCopyKey: Object;
  6142. /**
  6143. *
  6144. */
  6145. isFF: Object;
  6146. /**
  6147. * Version as a Number if client is MSIE(PC). undefined otherwise. Corresponds to
  6148. * major detected IE version (6, 7, 8, etc.)
  6149. *
  6150. */
  6151. isIE: number;
  6152. /**
  6153. * Version as a Number if client is iPhone, iPod, or iPad. undefined otherwise.
  6154. *
  6155. */
  6156. isIos: number;
  6157. /**
  6158. * Version as a Number if client is a KHTML browser. undefined otherwise. Corresponds to major
  6159. * detected version.
  6160. *
  6161. */
  6162. isKhtml: number;
  6163. /**
  6164. * True if the client runs on Mac
  6165. *
  6166. */
  6167. isMac: boolean;
  6168. /**
  6169. *
  6170. */
  6171. isMoz: Object;
  6172. /**
  6173. *
  6174. */
  6175. isMozilla: Object;
  6176. /**
  6177. * Version as a Number if client is Opera. undefined otherwise. Corresponds to
  6178. * major detected version.
  6179. *
  6180. */
  6181. isOpera: number;
  6182. /**
  6183. *
  6184. */
  6185. isQuirks: boolean;
  6186. /**
  6187. * Version as a Number if client is Safari or iPhone. undefined otherwise.
  6188. *
  6189. */
  6190. isSafari: number;
  6191. /**
  6192. *
  6193. */
  6194. isSpidermonkey: boolean;
  6195. /**
  6196. * Version as a Number if client is a WebKit-derived browser (Konqueror,
  6197. * Safari, Chrome, etc.). undefined otherwise.
  6198. *
  6199. */
  6200. isWebKit: number;
  6201. /**
  6202. * True if client is Wii
  6203. *
  6204. */
  6205. isWii: boolean;
  6206. /**
  6207. * Definitions for common key values. Client code should test keyCode against these named constants,
  6208. * as the actual codes can vary by browser.
  6209. *
  6210. */
  6211. keys: Object;
  6212. /**
  6213. *
  6214. */
  6215. locale: Object;
  6216. /**
  6217. *
  6218. */
  6219. mouseButtons: Object;
  6220. /**
  6221. * localized formatting and parsing routines for Number
  6222. *
  6223. */
  6224. number: Object;
  6225. /**
  6226. *
  6227. */
  6228. parser: string;
  6229. /**
  6230. *
  6231. */
  6232. publish: Object;
  6233. /**
  6234. *
  6235. */
  6236. query: Object;
  6237. /**
  6238. * Regular expressions and Builder resources
  6239. *
  6240. */
  6241. regexp: Object;
  6242. /**
  6243. *
  6244. */
  6245. rpc: Object;
  6246. /**
  6247. *
  6248. */
  6249. scopeMap: Object;
  6250. /**
  6251. *
  6252. */
  6253. store: Object;
  6254. /**
  6255. * String utilities for Dojo
  6256. *
  6257. */
  6258. string: Object;
  6259. /**
  6260. *
  6261. */
  6262. subscribe: Object;
  6263. /**
  6264. * D.O.H. Test files for Dojo unit testing.
  6265. *
  6266. */
  6267. tests: Object;
  6268. /**
  6269. *
  6270. */
  6271. toJsonIndentStr: string;
  6272. /**
  6273. * This module provides unified touch event handlers by exporting
  6274. * press, move, release and cancel which can also run well on desktop.
  6275. * Based on http://dvcs.w3.org/hg/webevents/raw-file/tip/touchevents.html
  6276. * Also, if the dojoClick property is set to truthy on a DOM node, dojo/touch generates
  6277. * click events immediately for this node and its descendants (except for descendants that
  6278. * have a dojoClick property set to falsy), to avoid the delay before native browser click events,
  6279. * and regardless of whether evt.preventDefault() was called in a touch.press event listener.
  6280. *
  6281. */
  6282. touch: Object;
  6283. /**
  6284. * Version number of the Dojo Toolkit
  6285. *
  6286. */
  6287. version: Object;
  6288. /**
  6289. * TODOC
  6290. *
  6291. */
  6292. window: Object;
  6293. /**
  6294. * A registry to make contextual calling/searching easier.
  6295. * Objects of this class keep list of arrays in the form [name, check,
  6296. * wrap, directReturn] that are used to determine what the contextual
  6297. * result of a set of checked arguments is. All check/wrap functions
  6298. * in this registry should be of the same arity.
  6299. *
  6300. * @param returnWrappers Optional
  6301. */
  6302. AdapterRegistry(returnWrappers?: boolean): void;
  6303. /**
  6304. * Adds the specified classes to the end of the class list on the
  6305. * passed node. Will not re-apply duplicate classes.
  6306. *
  6307. * @param node String ID or DomNode reference to add a class string too
  6308. * @param classStr A String class name to add, or several space-separated class names,or an array of class names.
  6309. */
  6310. addClass(node: String, classStr: String): void;
  6311. /**
  6312. * Adds the specified classes to the end of the class list on the
  6313. * passed node. Will not re-apply duplicate classes.
  6314. *
  6315. * @param node String ID or DomNode reference to add a class string too
  6316. * @param classStr A String class name to add, or several space-separated class names,or an array of class names.
  6317. */
  6318. addClass(node: HTMLElement, classStr: String): void;
  6319. /**
  6320. * Adds the specified classes to the end of the class list on the
  6321. * passed node. Will not re-apply duplicate classes.
  6322. *
  6323. * @param node String ID or DomNode reference to add a class string too
  6324. * @param classStr A String class name to add, or several space-separated class names,or an array of class names.
  6325. */
  6326. addClass(node: String, classStr: any[]): void;
  6327. /**
  6328. * Adds the specified classes to the end of the class list on the
  6329. * passed node. Will not re-apply duplicate classes.
  6330. *
  6331. * @param node String ID or DomNode reference to add a class string too
  6332. * @param classStr A String class name to add, or several space-separated class names,or an array of class names.
  6333. */
  6334. addClass(node: HTMLElement, classStr: any[]): void;
  6335. /**
  6336. * Add a function to execute on DOM content loaded and all requested modules have arrived and been evaluated.
  6337. * In most cases, the domReady plug-in should suffice and this method should not be needed.
  6338. *
  6339. * When called in a non-browser environment, just checks that all requested modules have arrived and been
  6340. * evaluated.
  6341. *
  6342. * @param priority OptionalThe order in which to exec this callback relative to other callbacks, defaults to 1000
  6343. * @param context The context in which to run execute callback, or a callback if not using context
  6344. * @param callback OptionalThe function to execute.
  6345. */
  6346. addOnLoad(priority: number, context: any, callback?: Function): void;
  6347. /**
  6348. * registers a function to be triggered when the page unloads.
  6349. * The first time that addOnUnload is called Dojo will
  6350. * register a page listener to trigger your unload handler
  6351. * with.
  6352. *
  6353. * In a browser environment, the functions will be triggered
  6354. * during the window.onbeforeunload event. Be careful of doing
  6355. * too much work in an unload handler. onbeforeunload can be
  6356. * triggered if a link to download a file is clicked, or if
  6357. * the link is a javascript: link. In these cases, the
  6358. * onbeforeunload event fires, but the document is not
  6359. * actually destroyed. So be careful about doing destructive
  6360. * operations in a dojo.addOnUnload callback.
  6361. *
  6362. * Further note that calling dojo.addOnUnload will prevent
  6363. * browsers from using a "fast back" cache to make page
  6364. * loading via back button instantaneous.
  6365. *
  6366. * @param obj Optional
  6367. * @param functionName Optional
  6368. */
  6369. addOnUnload(obj?: Object, functionName?: String): void;
  6370. /**
  6371. * registers a function to be triggered when the page unloads.
  6372. * The first time that addOnUnload is called Dojo will
  6373. * register a page listener to trigger your unload handler
  6374. * with.
  6375. *
  6376. * In a browser environment, the functions will be triggered
  6377. * during the window.onbeforeunload event. Be careful of doing
  6378. * too much work in an unload handler. onbeforeunload can be
  6379. * triggered if a link to download a file is clicked, or if
  6380. * the link is a javascript: link. In these cases, the
  6381. * onbeforeunload event fires, but the document is not
  6382. * actually destroyed. So be careful about doing destructive
  6383. * operations in a dojo.addOnUnload callback.
  6384. *
  6385. * Further note that calling dojo.addOnUnload will prevent
  6386. * browsers from using a "fast back" cache to make page
  6387. * loading via back button instantaneous.
  6388. *
  6389. * @param obj Optional
  6390. * @param functionName Optional
  6391. */
  6392. addOnUnload(obj?: Function, functionName?: String): void;
  6393. /**
  6394. * registers a function to be triggered when the page unloads.
  6395. * The first time that addOnUnload is called Dojo will
  6396. * register a page listener to trigger your unload handler
  6397. * with.
  6398. *
  6399. * In a browser environment, the functions will be triggered
  6400. * during the window.onbeforeunload event. Be careful of doing
  6401. * too much work in an unload handler. onbeforeunload can be
  6402. * triggered if a link to download a file is clicked, or if
  6403. * the link is a javascript: link. In these cases, the
  6404. * onbeforeunload event fires, but the document is not
  6405. * actually destroyed. So be careful about doing destructive
  6406. * operations in a dojo.addOnUnload callback.
  6407. *
  6408. * Further note that calling dojo.addOnUnload will prevent
  6409. * browsers from using a "fast back" cache to make page
  6410. * loading via back button instantaneous.
  6411. *
  6412. * @param obj Optional
  6413. * @param functionName Optional
  6414. */
  6415. addOnUnload(obj?: Object, functionName?: Function): void;
  6416. /**
  6417. * registers a function to be triggered when the page unloads.
  6418. * The first time that addOnUnload is called Dojo will
  6419. * register a page listener to trigger your unload handler
  6420. * with.
  6421. *
  6422. * In a browser environment, the functions will be triggered
  6423. * during the window.onbeforeunload event. Be careful of doing
  6424. * too much work in an unload handler. onbeforeunload can be
  6425. * triggered if a link to download a file is clicked, or if
  6426. * the link is a javascript: link. In these cases, the
  6427. * onbeforeunload event fires, but the document is not
  6428. * actually destroyed. So be careful about doing destructive
  6429. * operations in a dojo.addOnUnload callback.
  6430. *
  6431. * Further note that calling dojo.addOnUnload will prevent
  6432. * browsers from using a "fast back" cache to make page
  6433. * loading via back button instantaneous.
  6434. *
  6435. * @param obj Optional
  6436. * @param functionName Optional
  6437. */
  6438. addOnUnload(obj?: Function, functionName?: Function): void;
  6439. /**
  6440. * registers a function to be triggered when window.onunload fires.
  6441. * Be careful trying to modify the DOM or access JavaScript properties
  6442. * during this phase of page unloading: they may not always be available.
  6443. * Consider dojo.addOnUnload() if you need to modify the DOM or do heavy
  6444. * JavaScript work.
  6445. *
  6446. * @param obj Optional
  6447. * @param functionName Optional
  6448. */
  6449. addOnWindowUnload(obj?: Object, functionName?: String): void;
  6450. /**
  6451. * registers a function to be triggered when window.onunload fires.
  6452. * Be careful trying to modify the DOM or access JavaScript properties
  6453. * during this phase of page unloading: they may not always be available.
  6454. * Consider dojo.addOnUnload() if you need to modify the DOM or do heavy
  6455. * JavaScript work.
  6456. *
  6457. * @param obj Optional
  6458. * @param functionName Optional
  6459. */
  6460. addOnWindowUnload(obj: Object, functionName: Function): void;
  6461. /**
  6462. * A simpler interface to animateProperty(), also returns
  6463. * an instance of Animation but begins the animation
  6464. * immediately, unlike nearly every other Dojo animation API.
  6465. * Simpler (but somewhat less powerful) version
  6466. * of animateProperty. It uses defaults for many basic properties
  6467. * and allows for positional parameters to be used in place of the
  6468. * packed "property bag" which is used for other Dojo animation
  6469. * methods.
  6470. *
  6471. * The Animation object returned will be already playing, so
  6472. * calling play() on it again is (usually) a no-op.
  6473. *
  6474. * @param node a DOM node or the id of a node to animate CSS properties on
  6475. * @param properties
  6476. * @param duration OptionalThe number of milliseconds over which the animationshould run. Defaults to the global animation default duration(350ms).
  6477. * @param easing OptionalAn easing function over which to calculate accelerationand deceleration of the animation through its duration.A default easing algorithm is provided, but you mayplug in any you wish. A large selection of easing algorithmsare available in dojo/fx/easing.
  6478. * @param onEnd OptionalA function to be called when the animation finishesrunning.
  6479. * @param delay OptionalThe number of milliseconds to delay beginning theanimation by. The default is 0.
  6480. */
  6481. anim(node: HTMLElement, properties: Object, duration?: number, easing?: Function, onEnd?: Function, delay?: number): any;
  6482. /**
  6483. * A simpler interface to animateProperty(), also returns
  6484. * an instance of Animation but begins the animation
  6485. * immediately, unlike nearly every other Dojo animation API.
  6486. * Simpler (but somewhat less powerful) version
  6487. * of animateProperty. It uses defaults for many basic properties
  6488. * and allows for positional parameters to be used in place of the
  6489. * packed "property bag" which is used for other Dojo animation
  6490. * methods.
  6491. *
  6492. * The Animation object returned will be already playing, so
  6493. * calling play() on it again is (usually) a no-op.
  6494. *
  6495. * @param node a DOM node or the id of a node to animate CSS properties on
  6496. * @param properties
  6497. * @param duration OptionalThe number of milliseconds over which the animationshould run. Defaults to the global animation default duration(350ms).
  6498. * @param easing OptionalAn easing function over which to calculate accelerationand deceleration of the animation through its duration.A default easing algorithm is provided, but you mayplug in any you wish. A large selection of easing algorithmsare available in dojo/fx/easing.
  6499. * @param onEnd OptionalA function to be called when the animation finishesrunning.
  6500. * @param delay OptionalThe number of milliseconds to delay beginning theanimation by. The default is 0.
  6501. */
  6502. anim(node: String, properties: Object, duration?: number, easing?: Function, onEnd?: Function, delay?: number): any;
  6503. /**
  6504. * Returns an animation that will transition the properties of
  6505. * node defined in args depending how they are defined in
  6506. * args.properties
  6507. * Foundation of most dojo/_base/fx
  6508. * animations. It takes an object of "properties" corresponding to
  6509. * style properties, and animates them in parallel over a set
  6510. * duration.
  6511. *
  6512. * @param args An object with the following properties:properties (Object, optional): A hash map of style properties to Objects describing the transition,such as the properties of _Line with an additional 'units' propertynode (DOMNode|String): The node referenced in the animationduration (Integer, optional): Duration of the animation in milliseconds.easing (Function, optional): An easing function.
  6513. */
  6514. animateProperty(args: Object): any;
  6515. /**
  6516. * A generic animation class that fires callbacks into its handlers
  6517. * object at various states.
  6518. * A generic animation class that fires callbacks into its handlers
  6519. * object at various states. Nearly all dojo animation functions
  6520. * return an instance of this method, usually without calling the
  6521. * .play() method beforehand. Therefore, you will likely need to
  6522. * call .play() on instances of Animation when one is
  6523. * returned.
  6524. *
  6525. * @param args The 'magic argument', mixing all the properties into thisanimation instance.
  6526. */
  6527. Animation(args: Object): void;
  6528. /**
  6529. * Gets or sets an attribute on an HTML element.
  6530. * Handles normalized getting and setting of attributes on DOM
  6531. * Nodes. If 2 arguments are passed, and a the second argument is a
  6532. * string, acts as a getter.
  6533. *
  6534. * If a third argument is passed, or if the second argument is a
  6535. * map of attributes, acts as a setter.
  6536. *
  6537. * When passing functions as values, note that they will not be
  6538. * directly assigned to slots on the node, but rather the default
  6539. * behavior will be removed and the new behavior will be added
  6540. * using dojo.connect(), meaning that event handler properties
  6541. * will be normalized and that some caveats with regards to
  6542. * non-standard behaviors for onsubmit apply. Namely that you
  6543. * should cancel form submission using dojo.stopEvent() on the
  6544. * passed event object instead of returning a boolean value from
  6545. * the handler itself.
  6546. *
  6547. * @param node id or reference to the element to get or set the attribute on
  6548. * @param name the name of the attribute to get or set.
  6549. * @param value OptionalThe value to set for the attribute
  6550. */
  6551. attr(node: HTMLElement, name: String, value?: String): any;
  6552. /**
  6553. * Gets or sets an attribute on an HTML element.
  6554. * Handles normalized getting and setting of attributes on DOM
  6555. * Nodes. If 2 arguments are passed, and a the second argument is a
  6556. * string, acts as a getter.
  6557. *
  6558. * If a third argument is passed, or if the second argument is a
  6559. * map of attributes, acts as a setter.
  6560. *
  6561. * When passing functions as values, note that they will not be
  6562. * directly assigned to slots on the node, but rather the default
  6563. * behavior will be removed and the new behavior will be added
  6564. * using dojo.connect(), meaning that event handler properties
  6565. * will be normalized and that some caveats with regards to
  6566. * non-standard behaviors for onsubmit apply. Namely that you
  6567. * should cancel form submission using dojo.stopEvent() on the
  6568. * passed event object instead of returning a boolean value from
  6569. * the handler itself.
  6570. *
  6571. * @param node id or reference to the element to get or set the attribute on
  6572. * @param name the name of the attribute to get or set.
  6573. * @param value OptionalThe value to set for the attribute
  6574. */
  6575. attr(node: String, name: String, value?: String): any;
  6576. /**
  6577. * Gets or sets an attribute on an HTML element.
  6578. * Handles normalized getting and setting of attributes on DOM
  6579. * Nodes. If 2 arguments are passed, and a the second argument is a
  6580. * string, acts as a getter.
  6581. *
  6582. * If a third argument is passed, or if the second argument is a
  6583. * map of attributes, acts as a setter.
  6584. *
  6585. * When passing functions as values, note that they will not be
  6586. * directly assigned to slots on the node, but rather the default
  6587. * behavior will be removed and the new behavior will be added
  6588. * using dojo.connect(), meaning that event handler properties
  6589. * will be normalized and that some caveats with regards to
  6590. * non-standard behaviors for onsubmit apply. Namely that you
  6591. * should cancel form submission using dojo.stopEvent() on the
  6592. * passed event object instead of returning a boolean value from
  6593. * the handler itself.
  6594. *
  6595. * @param node id or reference to the element to get or set the attribute on
  6596. * @param name the name of the attribute to get or set.
  6597. * @param value OptionalThe value to set for the attribute
  6598. */
  6599. attr(node: HTMLElement, name: Object, value?: String): any;
  6600. /**
  6601. * Gets or sets an attribute on an HTML element.
  6602. * Handles normalized getting and setting of attributes on DOM
  6603. * Nodes. If 2 arguments are passed, and a the second argument is a
  6604. * string, acts as a getter.
  6605. *
  6606. * If a third argument is passed, or if the second argument is a
  6607. * map of attributes, acts as a setter.
  6608. *
  6609. * When passing functions as values, note that they will not be
  6610. * directly assigned to slots on the node, but rather the default
  6611. * behavior will be removed and the new behavior will be added
  6612. * using dojo.connect(), meaning that event handler properties
  6613. * will be normalized and that some caveats with regards to
  6614. * non-standard behaviors for onsubmit apply. Namely that you
  6615. * should cancel form submission using dojo.stopEvent() on the
  6616. * passed event object instead of returning a boolean value from
  6617. * the handler itself.
  6618. *
  6619. * @param node id or reference to the element to get or set the attribute on
  6620. * @param name the name of the attribute to get or set.
  6621. * @param value OptionalThe value to set for the attribute
  6622. */
  6623. attr(node: String, name: Object, value?: String): any;
  6624. /**
  6625. * Blend colors end and start with weight from 0 to 1, 0.5 being a 50/50 blend,
  6626. * can reuse a previously allocated Color object for the result
  6627. *
  6628. * @param start
  6629. * @param end
  6630. * @param weight
  6631. * @param obj Optional
  6632. */
  6633. blendColors(start: dojo._base.Color, end: dojo._base.Color, weight: number, obj?: dojo._base.Color): any;
  6634. /**
  6635. * Return the body element of the specified document or of dojo/_base/window::doc.
  6636. *
  6637. * @param doc Optional
  6638. */
  6639. body(doc?: HTMLDocument): any;
  6640. /**
  6641. * Returns DOM node with matching id attribute or falsy value (ex: null or undefined)
  6642. * if not found. If id is a DomNode, this function is a no-op.
  6643. *
  6644. * @param id A string to match an HTML id attribute or a reference to a DOM Node
  6645. * @param doc OptionalDocument to work in. Defaults to the current value ofdojo/_base/window.doc. Can be used to retrievenode references from other documents.
  6646. */
  6647. byId(id: String, doc?: HTMLDocument): any;
  6648. /**
  6649. * Returns DOM node with matching id attribute or falsy value (ex: null or undefined)
  6650. * if not found. If id is a DomNode, this function is a no-op.
  6651. *
  6652. * @param id A string to match an HTML id attribute or a reference to a DOM Node
  6653. * @param doc OptionalDocument to work in. Defaults to the current value ofdojo/_base/window.doc. Can be used to retrievenode references from other documents.
  6654. */
  6655. byId(id: HTMLElement, doc?: HTMLDocument): any;
  6656. /**
  6657. * A getter and setter for storing the string content associated with the
  6658. * module and url arguments.
  6659. * If module is a string that contains slashes, then it is interpretted as a fully
  6660. * resolved path (typically a result returned by require.toUrl), and url should not be
  6661. * provided. This is the preferred signature. If module is a string that does not
  6662. * contain slashes, then url must also be provided and module and url are used to
  6663. * call dojo.moduleUrl() to generate a module URL. This signature is deprecated.
  6664. * If value is specified, the cache value for the moduleUrl will be set to
  6665. * that value. Otherwise, dojo.cache will fetch the moduleUrl and store it
  6666. * in its internal cache and return that cached value for the URL. To clear
  6667. * a cache value pass null for value. Since XMLHttpRequest (XHR) is used to fetch the
  6668. * the URL contents, only modules on the same domain of the page can use this capability.
  6669. * The build system can inline the cache values though, to allow for xdomain hosting.
  6670. *
  6671. * @param module dojo/cldr/supplemental
  6672. * @param url The rest of the path to append to the path derived from the module argument. Ifmodule is an object, then this second argument should be the "value" argument instead.
  6673. * @param value OptionalIf a String, the value to use in the cache for the module/url combination.If an Object, it can have two properties: value and sanitize. The value propertyshould be the value to use in the cache, and sanitize can be set to true or false,to indicate if XML declarations should be removed from the value and if the HTMLinside a body tag in the value should be extracted as the real value. The value argumentor the value property on the value argument are usually only used by the build systemas it inlines cache content.
  6674. */
  6675. cache(module: String, url: String, value?: String): any;
  6676. /**
  6677. * A getter and setter for storing the string content associated with the
  6678. * module and url arguments.
  6679. * If module is a string that contains slashes, then it is interpretted as a fully
  6680. * resolved path (typically a result returned by require.toUrl), and url should not be
  6681. * provided. This is the preferred signature. If module is a string that does not
  6682. * contain slashes, then url must also be provided and module and url are used to
  6683. * call dojo.moduleUrl() to generate a module URL. This signature is deprecated.
  6684. * If value is specified, the cache value for the moduleUrl will be set to
  6685. * that value. Otherwise, dojo.cache will fetch the moduleUrl and store it
  6686. * in its internal cache and return that cached value for the URL. To clear
  6687. * a cache value pass null for value. Since XMLHttpRequest (XHR) is used to fetch the
  6688. * the URL contents, only modules on the same domain of the page can use this capability.
  6689. * The build system can inline the cache values though, to allow for xdomain hosting.
  6690. *
  6691. * @param module dojo/cldr/supplemental
  6692. * @param url The rest of the path to append to the path derived from the module argument. Ifmodule is an object, then this second argument should be the "value" argument instead.
  6693. * @param value OptionalIf a String, the value to use in the cache for the module/url combination.If an Object, it can have two properties: value and sanitize. The value propertyshould be the value to use in the cache, and sanitize can be set to true or false,to indicate if XML declarations should be removed from the value and if the HTMLinside a body tag in the value should be extracted as the real value. The value argumentor the value property on the value argument are usually only used by the build systemas it inlines cache content.
  6694. */
  6695. cache(module: Object, url: String, value?: String): any;
  6696. /**
  6697. * A getter and setter for storing the string content associated with the
  6698. * module and url arguments.
  6699. * If module is a string that contains slashes, then it is interpretted as a fully
  6700. * resolved path (typically a result returned by require.toUrl), and url should not be
  6701. * provided. This is the preferred signature. If module is a string that does not
  6702. * contain slashes, then url must also be provided and module and url are used to
  6703. * call dojo.moduleUrl() to generate a module URL. This signature is deprecated.
  6704. * If value is specified, the cache value for the moduleUrl will be set to
  6705. * that value. Otherwise, dojo.cache will fetch the moduleUrl and store it
  6706. * in its internal cache and return that cached value for the URL. To clear
  6707. * a cache value pass null for value. Since XMLHttpRequest (XHR) is used to fetch the
  6708. * the URL contents, only modules on the same domain of the page can use this capability.
  6709. * The build system can inline the cache values though, to allow for xdomain hosting.
  6710. *
  6711. * @param module dojo/cldr/supplemental
  6712. * @param url The rest of the path to append to the path derived from the module argument. Ifmodule is an object, then this second argument should be the "value" argument instead.
  6713. * @param value OptionalIf a String, the value to use in the cache for the module/url combination.If an Object, it can have two properties: value and sanitize. The value propertyshould be the value to use in the cache, and sanitize can be set to true or false,to indicate if XML declarations should be removed from the value and if the HTMLinside a body tag in the value should be extracted as the real value. The value argumentor the value property on the value argument are usually only used by the build systemas it inlines cache content.
  6714. */
  6715. cache(module: String, url: String, value?: Object): any;
  6716. /**
  6717. * A getter and setter for storing the string content associated with the
  6718. * module and url arguments.
  6719. * If module is a string that contains slashes, then it is interpretted as a fully
  6720. * resolved path (typically a result returned by require.toUrl), and url should not be
  6721. * provided. This is the preferred signature. If module is a string that does not
  6722. * contain slashes, then url must also be provided and module and url are used to
  6723. * call dojo.moduleUrl() to generate a module URL. This signature is deprecated.
  6724. * If value is specified, the cache value for the moduleUrl will be set to
  6725. * that value. Otherwise, dojo.cache will fetch the moduleUrl and store it
  6726. * in its internal cache and return that cached value for the URL. To clear
  6727. * a cache value pass null for value. Since XMLHttpRequest (XHR) is used to fetch the
  6728. * the URL contents, only modules on the same domain of the page can use this capability.
  6729. * The build system can inline the cache values though, to allow for xdomain hosting.
  6730. *
  6731. * @param module dojo/cldr/supplemental
  6732. * @param url The rest of the path to append to the path derived from the module argument. Ifmodule is an object, then this second argument should be the "value" argument instead.
  6733. * @param value OptionalIf a String, the value to use in the cache for the module/url combination.If an Object, it can have two properties: value and sanitize. The value propertyshould be the value to use in the cache, and sanitize can be set to true or false,to indicate if XML declarations should be removed from the value and if the HTMLinside a body tag in the value should be extracted as the real value. The value argumentor the value property on the value argument are usually only used by the build systemas it inlines cache content.
  6734. */
  6735. cache(module: Object, url: String, value?: Object): any;
  6736. /**
  6737. *
  6738. */
  6739. clearCache(): void;
  6740. /**
  6741. * Takes a named string, hex string, array of rgb or rgba values,
  6742. * an object with r, g, b, and a properties, or another Color object
  6743. * and creates a new Color instance to work from.
  6744. *
  6745. * @param color
  6746. */
  6747. Color(color: any[]): void;
  6748. /**
  6749. * Takes a named string, hex string, array of rgb or rgba values,
  6750. * an object with r, g, b, and a properties, or another Color object
  6751. * and creates a new Color instance to work from.
  6752. *
  6753. * @param color
  6754. */
  6755. Color(color: String): void;
  6756. /**
  6757. * Takes a named string, hex string, array of rgb or rgba values,
  6758. * an object with r, g, b, and a properties, or another Color object
  6759. * and creates a new Color instance to work from.
  6760. *
  6761. * @param color
  6762. */
  6763. Color(color: Object): void;
  6764. /**
  6765. * Builds a Color from a 3 or 4 element array, mapping each
  6766. * element in sequence to the rgb(a) values of the color.
  6767. *
  6768. * @param a
  6769. * @param obj Optional
  6770. */
  6771. colorFromArray(a: any[], obj?: dojo._base.Color): any;
  6772. /**
  6773. * Converts a hex string with a '#' prefix to a color object.
  6774. * Supports 12-bit #rgb shorthand. Optionally accepts a
  6775. * Color object to update with the parsed value.
  6776. *
  6777. * @param color
  6778. * @param obj Optional
  6779. */
  6780. colorFromHex(color: String, obj?: dojo._base.Color): any;
  6781. /**
  6782. * get rgb(a) array from css-style color declarations
  6783. * this function can handle all 4 CSS3 Color Module formats: rgb,
  6784. * rgba, hsl, hsla, including rgb(a) with percentage values.
  6785. *
  6786. * @param color
  6787. * @param obj Optional
  6788. */
  6789. colorFromRgb(color: String, obj?: dojo._base.Color): any;
  6790. /**
  6791. * Parses str for a color value. Accepts hex, rgb, and rgba
  6792. * style color values.
  6793. * Acceptable input values for str may include arrays of any form
  6794. * accepted by dojo.colorFromArray, hex strings such as "#aaaaaa", or
  6795. * rgb or rgba strings such as "rgb(133, 200, 16)" or "rgba(10, 10,
  6796. * 10, 50)"
  6797. *
  6798. * @param str
  6799. * @param obj Optional
  6800. */
  6801. colorFromString(str: String, obj?: dojo._base.Color): any;
  6802. /**
  6803. * dojo.connect is a deprecated event handling and delegation method in
  6804. * Dojo. It allows one function to "listen in" on the execution of
  6805. * any other, triggering the second whenever the first is called. Many
  6806. * listeners may be attached to a function, and source functions may
  6807. * be either regular function calls or DOM events.
  6808. * Connects listeners to actions, so that after event fires, a
  6809. * listener is called with the same arguments passed to the original
  6810. * function.
  6811. *
  6812. * Since dojo.connect allows the source of events to be either a
  6813. * "regular" JavaScript function or a DOM event, it provides a uniform
  6814. * interface for listening to all the types of events that an
  6815. * application is likely to deal with though a single, unified
  6816. * interface. DOM programmers may want to think of it as
  6817. * "addEventListener for everything and anything".
  6818. *
  6819. * When setting up a connection, the event parameter must be a
  6820. * string that is the name of the method/event to be listened for. If
  6821. * obj is null, kernel.global is assumed, meaning that connections
  6822. * to global methods are supported but also that you may inadvertently
  6823. * connect to a global by passing an incorrect object name or invalid
  6824. * reference.
  6825. *
  6826. * dojo.connect generally is forgiving. If you pass the name of a
  6827. * function or method that does not yet exist on obj, connect will
  6828. * not fail, but will instead set up a stub method. Similarly, null
  6829. * arguments may simply be omitted such that fewer than 4 arguments
  6830. * may be required to set up a connection See the examples for details.
  6831. *
  6832. * The return value is a handle that is needed to
  6833. * remove this connection with dojo.disconnect.
  6834. *
  6835. * @param obj OptionalThe source object for the event function.Defaults to kernel.global if null.If obj is a DOM node, the connection is delegatedto the DOM event manager (unless dontFix is true).
  6836. * @param event String name of the event function in obj.I.e. identifies a property obj[event].
  6837. * @param context The object that method will receive as "this".If context is null and method is a function, then methodinherits the context of event.If method is a string then context must be the sourceobject object for method (context[method]). If context is null,kernel.global is used.
  6838. * @param method A function reference, or name of a function in context.The function identified by method fires after event does.method receives the same arguments as the event.See context argument comments for information on method's scope.
  6839. * @param dontFix OptionalIf obj is a DOM node, set dontFix to true to prevent delegationof this connection to the DOM event manager.
  6840. */
  6841. connect(obj: Object, event: String, context: Object, method: String, dontFix?: boolean): any;
  6842. /**
  6843. * dojo.connect is a deprecated event handling and delegation method in
  6844. * Dojo. It allows one function to "listen in" on the execution of
  6845. * any other, triggering the second whenever the first is called. Many
  6846. * listeners may be attached to a function, and source functions may
  6847. * be either regular function calls or DOM events.
  6848. * Connects listeners to actions, so that after event fires, a
  6849. * listener is called with the same arguments passed to the original
  6850. * function.
  6851. *
  6852. * Since dojo.connect allows the source of events to be either a
  6853. * "regular" JavaScript function or a DOM event, it provides a uniform
  6854. * interface for listening to all the types of events that an
  6855. * application is likely to deal with though a single, unified
  6856. * interface. DOM programmers may want to think of it as
  6857. * "addEventListener for everything and anything".
  6858. *
  6859. * When setting up a connection, the event parameter must be a
  6860. * string that is the name of the method/event to be listened for. If
  6861. * obj is null, kernel.global is assumed, meaning that connections
  6862. * to global methods are supported but also that you may inadvertently
  6863. * connect to a global by passing an incorrect object name or invalid
  6864. * reference.
  6865. *
  6866. * dojo.connect generally is forgiving. If you pass the name of a
  6867. * function or method that does not yet exist on obj, connect will
  6868. * not fail, but will instead set up a stub method. Similarly, null
  6869. * arguments may simply be omitted such that fewer than 4 arguments
  6870. * may be required to set up a connection See the examples for details.
  6871. *
  6872. * The return value is a handle that is needed to
  6873. * remove this connection with dojo.disconnect.
  6874. *
  6875. * @param obj OptionalThe source object for the event function.Defaults to kernel.global if null.If obj is a DOM node, the connection is delegatedto the DOM event manager (unless dontFix is true).
  6876. * @param event String name of the event function in obj.I.e. identifies a property obj[event].
  6877. * @param context The object that method will receive as "this".If context is null and method is a function, then methodinherits the context of event.If method is a string then context must be the sourceobject object for method (context[method]). If context is null,kernel.global is used.
  6878. * @param method A function reference, or name of a function in context.The function identified by method fires after event does.method receives the same arguments as the event.See context argument comments for information on method's scope.
  6879. * @param dontFix OptionalIf obj is a DOM node, set dontFix to true to prevent delegationof this connection to the DOM event manager.
  6880. */
  6881. connect(obj: Object, event: String, context: any, method: String, dontFix?: boolean): any;
  6882. /**
  6883. * dojo.connect is a deprecated event handling and delegation method in
  6884. * Dojo. It allows one function to "listen in" on the execution of
  6885. * any other, triggering the second whenever the first is called. Many
  6886. * listeners may be attached to a function, and source functions may
  6887. * be either regular function calls or DOM events.
  6888. * Connects listeners to actions, so that after event fires, a
  6889. * listener is called with the same arguments passed to the original
  6890. * function.
  6891. *
  6892. * Since dojo.connect allows the source of events to be either a
  6893. * "regular" JavaScript function or a DOM event, it provides a uniform
  6894. * interface for listening to all the types of events that an
  6895. * application is likely to deal with though a single, unified
  6896. * interface. DOM programmers may want to think of it as
  6897. * "addEventListener for everything and anything".
  6898. *
  6899. * When setting up a connection, the event parameter must be a
  6900. * string that is the name of the method/event to be listened for. If
  6901. * obj is null, kernel.global is assumed, meaning that connections
  6902. * to global methods are supported but also that you may inadvertently
  6903. * connect to a global by passing an incorrect object name or invalid
  6904. * reference.
  6905. *
  6906. * dojo.connect generally is forgiving. If you pass the name of a
  6907. * function or method that does not yet exist on obj, connect will
  6908. * not fail, but will instead set up a stub method. Similarly, null
  6909. * arguments may simply be omitted such that fewer than 4 arguments
  6910. * may be required to set up a connection See the examples for details.
  6911. *
  6912. * The return value is a handle that is needed to
  6913. * remove this connection with dojo.disconnect.
  6914. *
  6915. * @param obj OptionalThe source object for the event function.Defaults to kernel.global if null.If obj is a DOM node, the connection is delegatedto the DOM event manager (unless dontFix is true).
  6916. * @param event String name of the event function in obj.I.e. identifies a property obj[event].
  6917. * @param context The object that method will receive as "this".If context is null and method is a function, then methodinherits the context of event.If method is a string then context must be the sourceobject object for method (context[method]). If context is null,kernel.global is used.
  6918. * @param method A function reference, or name of a function in context.The function identified by method fires after event does.method receives the same arguments as the event.See context argument comments for information on method's scope.
  6919. * @param dontFix OptionalIf obj is a DOM node, set dontFix to true to prevent delegationof this connection to the DOM event manager.
  6920. */
  6921. connect(obj: Object, event: String, context: Object, method: Function, dontFix?: boolean): any;
  6922. /**
  6923. * dojo.connect is a deprecated event handling and delegation method in
  6924. * Dojo. It allows one function to "listen in" on the execution of
  6925. * any other, triggering the second whenever the first is called. Many
  6926. * listeners may be attached to a function, and source functions may
  6927. * be either regular function calls or DOM events.
  6928. * Connects listeners to actions, so that after event fires, a
  6929. * listener is called with the same arguments passed to the original
  6930. * function.
  6931. *
  6932. * Since dojo.connect allows the source of events to be either a
  6933. * "regular" JavaScript function or a DOM event, it provides a uniform
  6934. * interface for listening to all the types of events that an
  6935. * application is likely to deal with though a single, unified
  6936. * interface. DOM programmers may want to think of it as
  6937. * "addEventListener for everything and anything".
  6938. *
  6939. * When setting up a connection, the event parameter must be a
  6940. * string that is the name of the method/event to be listened for. If
  6941. * obj is null, kernel.global is assumed, meaning that connections
  6942. * to global methods are supported but also that you may inadvertently
  6943. * connect to a global by passing an incorrect object name or invalid
  6944. * reference.
  6945. *
  6946. * dojo.connect generally is forgiving. If you pass the name of a
  6947. * function or method that does not yet exist on obj, connect will
  6948. * not fail, but will instead set up a stub method. Similarly, null
  6949. * arguments may simply be omitted such that fewer than 4 arguments
  6950. * may be required to set up a connection See the examples for details.
  6951. *
  6952. * The return value is a handle that is needed to
  6953. * remove this connection with dojo.disconnect.
  6954. *
  6955. * @param obj OptionalThe source object for the event function.Defaults to kernel.global if null.If obj is a DOM node, the connection is delegatedto the DOM event manager (unless dontFix is true).
  6956. * @param event String name of the event function in obj.I.e. identifies a property obj[event].
  6957. * @param context The object that method will receive as "this".If context is null and method is a function, then methodinherits the context of event.If method is a string then context must be the sourceobject object for method (context[method]). If context is null,kernel.global is used.
  6958. * @param method A function reference, or name of a function in context.The function identified by method fires after event does.method receives the same arguments as the event.See context argument comments for information on method's scope.
  6959. * @param dontFix OptionalIf obj is a DOM node, set dontFix to true to prevent delegationof this connection to the DOM event manager.
  6960. */
  6961. connect(obj: Object, event: String, context: any, method: Function, dontFix?: boolean): any;
  6962. /**
  6963. * Getter/setter for the content-box of node.
  6964. * Returns an object in the expected format of box (regardless if box is passed).
  6965. * The object might look like:
  6966. * { l: 50, t: 200, w: 300: h: 150 }
  6967. * for a node offset from its parent 50px to the left, 200px from
  6968. * the top with a content width of 300px and a content-height of
  6969. * 150px. Note that the content box may have a much larger border
  6970. * or margin box, depending on the box model currently in use and
  6971. * CSS values set/inherited for node.
  6972. * While the getter will return top and left values, the
  6973. * setter only accepts setting the width and height.
  6974. *
  6975. * @param node id or reference to DOM Node to get/set box for
  6976. * @param box OptionalIf passed, denotes that dojo.contentBox() shouldupdate/set the content box for node. Box is an object in theabove format, but only w (width) and h (height) are supported.All properties are optional if passed.
  6977. */
  6978. contentBox(node: HTMLElement, box?: Object): any;
  6979. /**
  6980. * Getter/setter for the content-box of node.
  6981. * Returns an object in the expected format of box (regardless if box is passed).
  6982. * The object might look like:
  6983. * { l: 50, t: 200, w: 300: h: 150 }
  6984. * for a node offset from its parent 50px to the left, 200px from
  6985. * the top with a content width of 300px and a content-height of
  6986. * 150px. Note that the content box may have a much larger border
  6987. * or margin box, depending on the box model currently in use and
  6988. * CSS values set/inherited for node.
  6989. * While the getter will return top and left values, the
  6990. * setter only accepts setting the width and height.
  6991. *
  6992. * @param node id or reference to DOM Node to get/set box for
  6993. * @param box OptionalIf passed, denotes that dojo.contentBox() shouldupdate/set the content box for node. Box is an object in theabove format, but only w (width) and h (height) are supported.All properties are optional if passed.
  6994. */
  6995. contentBox(node: String, box?: Object): any;
  6996. /**
  6997. * Get or set a cookie.
  6998. * If one argument is passed, returns the value of the cookie
  6999. * For two or more arguments, acts as a setter.
  7000. *
  7001. * @param name Name of the cookie
  7002. * @param value OptionalValue for the cookie
  7003. * @param props OptionalProperties for the cookie
  7004. */
  7005. cookie(name: String, value?: String, props?: Object): any;
  7006. /**
  7007. * Deprecated: Use position() for border-box x/y/w/h
  7008. * or marginBox() for margin-box w/h/l/t.
  7009. *
  7010. * Returns an object that measures margin-box (w)idth/(h)eight
  7011. * and absolute position x/y of the border-box. Also returned
  7012. * is computed (l)eft and (t)op values in pixels from the
  7013. * node's offsetParent as returned from marginBox().
  7014. * Return value will be in the form:
  7015. *
  7016. * { l: 50, t: 200, w: 300: h: 150, x: 100, y: 300 }
  7017. * Does not act as a setter. If includeScroll is passed, the x and
  7018. *
  7019. * y params are affected as one would expect in dojo.position().
  7020. *
  7021. * @param node
  7022. * @param includeScroll Optional
  7023. */
  7024. coords(node: HTMLElement, includeScroll?: boolean): any;
  7025. /**
  7026. * Deprecated: Use position() for border-box x/y/w/h
  7027. * or marginBox() for margin-box w/h/l/t.
  7028. *
  7029. * Returns an object that measures margin-box (w)idth/(h)eight
  7030. * and absolute position x/y of the border-box. Also returned
  7031. * is computed (l)eft and (t)op values in pixels from the
  7032. * node's offsetParent as returned from marginBox().
  7033. * Return value will be in the form:
  7034. *
  7035. * { l: 50, t: 200, w: 300: h: 150, x: 100, y: 300 }
  7036. * Does not act as a setter. If includeScroll is passed, the x and
  7037. *
  7038. * y params are affected as one would expect in dojo.position().
  7039. *
  7040. * @param node
  7041. * @param includeScroll Optional
  7042. */
  7043. coords(node: String, includeScroll?: boolean): any;
  7044. /**
  7045. * Create an element, allowing for optional attribute decoration
  7046. * and placement.
  7047. * A DOM Element creation function. A shorthand method for creating a node or
  7048. * a fragment, and allowing for a convenient optional attribute setting step,
  7049. * as well as an optional DOM placement reference.
  7050. *
  7051. * Attributes are set by passing the optional object through dojo.setAttr.
  7052. * See dojo.setAttr for noted caveats and nuances, and API if applicable.
  7053. *
  7054. * Placement is done via dojo.place, assuming the new node to be the action
  7055. * node, passing along the optional reference node and position.
  7056. *
  7057. * @param tag A string of the element to create (eg: "div", "a", "p", "li", "script", "br"),or an existing DOM node to process.
  7058. * @param attrs An object-hash of attributes to set on the newly created node.Can be null, if you don't want to set any attributes/styles.See: dojo.setAttr for a description of available attributes.
  7059. * @param refNode OptionalOptional reference node. Used by dojo.place to place the newly creatednode somewhere in the dom relative to refNode. Can be a DomNode referenceor String ID of a node.
  7060. * @param pos OptionalOptional positional reference. Defaults to "last" by way of dojo.place,though can be set to "first","after","before","last", "replace" or "only"to further control the placement of the new node relative to the refNode.'refNode' is required if a 'pos' is specified.
  7061. */
  7062. create(tag: HTMLElement, attrs: Object, refNode?: HTMLElement, pos?: String): any;
  7063. /**
  7064. * Create an element, allowing for optional attribute decoration
  7065. * and placement.
  7066. * A DOM Element creation function. A shorthand method for creating a node or
  7067. * a fragment, and allowing for a convenient optional attribute setting step,
  7068. * as well as an optional DOM placement reference.
  7069. *
  7070. * Attributes are set by passing the optional object through dojo.setAttr.
  7071. * See dojo.setAttr for noted caveats and nuances, and API if applicable.
  7072. *
  7073. * Placement is done via dojo.place, assuming the new node to be the action
  7074. * node, passing along the optional reference node and position.
  7075. *
  7076. * @param tag A string of the element to create (eg: "div", "a", "p", "li", "script", "br"),or an existing DOM node to process.
  7077. * @param attrs An object-hash of attributes to set on the newly created node.Can be null, if you don't want to set any attributes/styles.See: dojo.setAttr for a description of available attributes.
  7078. * @param refNode OptionalOptional reference node. Used by dojo.place to place the newly creatednode somewhere in the dom relative to refNode. Can be a DomNode referenceor String ID of a node.
  7079. * @param pos OptionalOptional positional reference. Defaults to "last" by way of dojo.place,though can be set to "first","after","before","last", "replace" or "only"to further control the placement of the new node relative to the refNode.'refNode' is required if a 'pos' is specified.
  7080. */
  7081. create(tag: String, attrs: Object, refNode?: HTMLElement, pos?: String): any;
  7082. /**
  7083. * Create an element, allowing for optional attribute decoration
  7084. * and placement.
  7085. * A DOM Element creation function. A shorthand method for creating a node or
  7086. * a fragment, and allowing for a convenient optional attribute setting step,
  7087. * as well as an optional DOM placement reference.
  7088. *
  7089. * Attributes are set by passing the optional object through dojo.setAttr.
  7090. * See dojo.setAttr for noted caveats and nuances, and API if applicable.
  7091. *
  7092. * Placement is done via dojo.place, assuming the new node to be the action
  7093. * node, passing along the optional reference node and position.
  7094. *
  7095. * @param tag A string of the element to create (eg: "div", "a", "p", "li", "script", "br"),or an existing DOM node to process.
  7096. * @param attrs An object-hash of attributes to set on the newly created node.Can be null, if you don't want to set any attributes/styles.See: dojo.setAttr for a description of available attributes.
  7097. * @param refNode OptionalOptional reference node. Used by dojo.place to place the newly creatednode somewhere in the dom relative to refNode. Can be a DomNode referenceor String ID of a node.
  7098. * @param pos OptionalOptional positional reference. Defaults to "last" by way of dojo.place,though can be set to "first","after","before","last", "replace" or "only"to further control the placement of the new node relative to the refNode.'refNode' is required if a 'pos' is specified.
  7099. */
  7100. create(tag: HTMLElement, attrs: Object, refNode?: String, pos?: String): any;
  7101. /**
  7102. * Create an element, allowing for optional attribute decoration
  7103. * and placement.
  7104. * A DOM Element creation function. A shorthand method for creating a node or
  7105. * a fragment, and allowing for a convenient optional attribute setting step,
  7106. * as well as an optional DOM placement reference.
  7107. *
  7108. * Attributes are set by passing the optional object through dojo.setAttr.
  7109. * See dojo.setAttr for noted caveats and nuances, and API if applicable.
  7110. *
  7111. * Placement is done via dojo.place, assuming the new node to be the action
  7112. * node, passing along the optional reference node and position.
  7113. *
  7114. * @param tag A string of the element to create (eg: "div", "a", "p", "li", "script", "br"),or an existing DOM node to process.
  7115. * @param attrs An object-hash of attributes to set on the newly created node.Can be null, if you don't want to set any attributes/styles.See: dojo.setAttr for a description of available attributes.
  7116. * @param refNode OptionalOptional reference node. Used by dojo.place to place the newly creatednode somewhere in the dom relative to refNode. Can be a DomNode referenceor String ID of a node.
  7117. * @param pos OptionalOptional positional reference. Defaults to "last" by way of dojo.place,though can be set to "first","after","before","last", "replace" or "only"to further control the placement of the new node relative to the refNode.'refNode' is required if a 'pos' is specified.
  7118. */
  7119. create(tag: String, attrs: Object, refNode?: String, pos?: String): any;
  7120. /**
  7121. * Create a feature-rich constructor from compact notation.
  7122. * Create a constructor using a compact notation for inheritance and
  7123. * prototype extension.
  7124. *
  7125. * Mixin ancestors provide a type of multiple inheritance.
  7126. * Prototypes of mixin ancestors are copied to the new class:
  7127. * changes to mixin prototypes will not affect classes to which
  7128. * they have been mixed in.
  7129. *
  7130. * Ancestors can be compound classes created by this version of
  7131. * declare(). In complex cases all base classes are going to be
  7132. * linearized according to C3 MRO algorithm
  7133. * (see http://www.python.org/download/releases/2.3/mro/ for more
  7134. * details).
  7135. *
  7136. * "className" is cached in "declaredClass" property of the new class,
  7137. * if it was supplied. The immediate super class will be cached in
  7138. * "superclass" property of the new class.
  7139. *
  7140. * Methods in "props" will be copied and modified: "nom" property
  7141. * (the declared name of the method) will be added to all copied
  7142. * functions to help identify them for the internal machinery. Be
  7143. * very careful, while reusing methods: if you use the same
  7144. * function under different names, it can produce errors in some
  7145. * cases.
  7146. *
  7147. * It is possible to use constructors created "manually" (without
  7148. * declare()) as bases. They will be called as usual during the
  7149. * creation of an instance, their methods will be chained, and even
  7150. * called by "this.inherited()".
  7151. *
  7152. * Special property "-chains-" governs how to chain methods. It is
  7153. * a dictionary, which uses method names as keys, and hint strings
  7154. * as values. If a hint string is "after", this method will be
  7155. * called after methods of its base classes. If a hint string is
  7156. * "before", this method will be called before methods of its base
  7157. * classes.
  7158. *
  7159. * If "constructor" is not mentioned in "-chains-" property, it will
  7160. * be chained using the legacy mode: using "after" chaining,
  7161. * calling preamble() method before each constructor, if available,
  7162. * and calling postscript() after all constructors were executed.
  7163. * If the hint is "after", it is chained as a regular method, but
  7164. * postscript() will be called after the chain of constructors.
  7165. * "constructor" cannot be chained "before", but it allows
  7166. * a special hint string: "manual", which means that constructors
  7167. * are not going to be chained in any way, and programmer will call
  7168. * them manually using this.inherited(). In the latter case
  7169. * postscript() will be called after the construction.
  7170. *
  7171. * All chaining hints are "inherited" from base classes and
  7172. * potentially can be overridden. Be very careful when overriding
  7173. * hints! Make sure that all chained methods can work in a proposed
  7174. * manner of chaining.
  7175. *
  7176. * Once a method was chained, it is impossible to unchain it. The
  7177. * only exception is "constructor". You don't need to define a
  7178. * method in order to supply a chaining hint.
  7179. *
  7180. * If a method is chained, it cannot use this.inherited() because
  7181. * all other methods in the hierarchy will be called automatically.
  7182. *
  7183. * Usually constructors and initializers of any kind are chained
  7184. * using "after" and destructors of any kind are chained as
  7185. * "before". Note that chaining assumes that chained methods do not
  7186. * return any value: any returned value will be discarded.
  7187. *
  7188. * @param className OptionalThe optional name of the constructor (loosely, a "class")stored in the "declaredClass" property in the created prototype.It will be used as a global name for a created constructor.
  7189. * @param superclass May be null, a Function, or an Array of Functions. This argumentspecifies a list of bases (the left-most one is the most deepestbase).
  7190. * @param props An object whose properties are copied to the created prototype.Add an instance-initialization function by making it a propertynamed "constructor".
  7191. */
  7192. declare(className: String, superclass: Function, props: Object): dojo._base.declare.__DeclareCreatedObject;
  7193. /**
  7194. * Create a feature-rich constructor from compact notation.
  7195. * Create a constructor using a compact notation for inheritance and
  7196. * prototype extension.
  7197. *
  7198. * Mixin ancestors provide a type of multiple inheritance.
  7199. * Prototypes of mixin ancestors are copied to the new class:
  7200. * changes to mixin prototypes will not affect classes to which
  7201. * they have been mixed in.
  7202. *
  7203. * Ancestors can be compound classes created by this version of
  7204. * declare(). In complex cases all base classes are going to be
  7205. * linearized according to C3 MRO algorithm
  7206. * (see http://www.python.org/download/releases/2.3/mro/ for more
  7207. * details).
  7208. *
  7209. * "className" is cached in "declaredClass" property of the new class,
  7210. * if it was supplied. The immediate super class will be cached in
  7211. * "superclass" property of the new class.
  7212. *
  7213. * Methods in "props" will be copied and modified: "nom" property
  7214. * (the declared name of the method) will be added to all copied
  7215. * functions to help identify them for the internal machinery. Be
  7216. * very careful, while reusing methods: if you use the same
  7217. * function under different names, it can produce errors in some
  7218. * cases.
  7219. *
  7220. * It is possible to use constructors created "manually" (without
  7221. * declare()) as bases. They will be called as usual during the
  7222. * creation of an instance, their methods will be chained, and even
  7223. * called by "this.inherited()".
  7224. *
  7225. * Special property "-chains-" governs how to chain methods. It is
  7226. * a dictionary, which uses method names as keys, and hint strings
  7227. * as values. If a hint string is "after", this method will be
  7228. * called after methods of its base classes. If a hint string is
  7229. * "before", this method will be called before methods of its base
  7230. * classes.
  7231. *
  7232. * If "constructor" is not mentioned in "-chains-" property, it will
  7233. * be chained using the legacy mode: using "after" chaining,
  7234. * calling preamble() method before each constructor, if available,
  7235. * and calling postscript() after all constructors were executed.
  7236. * If the hint is "after", it is chained as a regular method, but
  7237. * postscript() will be called after the chain of constructors.
  7238. * "constructor" cannot be chained "before", but it allows
  7239. * a special hint string: "manual", which means that constructors
  7240. * are not going to be chained in any way, and programmer will call
  7241. * them manually using this.inherited(). In the latter case
  7242. * postscript() will be called after the construction.
  7243. *
  7244. * All chaining hints are "inherited" from base classes and
  7245. * potentially can be overridden. Be very careful when overriding
  7246. * hints! Make sure that all chained methods can work in a proposed
  7247. * manner of chaining.
  7248. *
  7249. * Once a method was chained, it is impossible to unchain it. The
  7250. * only exception is "constructor". You don't need to define a
  7251. * method in order to supply a chaining hint.
  7252. *
  7253. * If a method is chained, it cannot use this.inherited() because
  7254. * all other methods in the hierarchy will be called automatically.
  7255. *
  7256. * Usually constructors and initializers of any kind are chained
  7257. * using "after" and destructors of any kind are chained as
  7258. * "before". Note that chaining assumes that chained methods do not
  7259. * return any value: any returned value will be discarded.
  7260. *
  7261. * @param className OptionalThe optional name of the constructor (loosely, a "class")stored in the "declaredClass" property in the created prototype.It will be used as a global name for a created constructor.
  7262. * @param superclass May be null, a Function, or an Array of Functions. This argumentspecifies a list of bases (the left-most one is the most deepestbase).
  7263. * @param props An object whose properties are copied to the created prototype.Add an instance-initialization function by making it a propertynamed "constructor".
  7264. */
  7265. declare(className: String, superclass: Function[], props: Object): dojo._base.declare.__DeclareCreatedObject;
  7266. /**
  7267. * Deprecated. This module defines the legacy dojo/_base/Deferred API.
  7268. * New code should use dojo/Deferred instead.
  7269. * The Deferred API is based on the concept of promises that provide a
  7270. * generic interface into the eventual completion of an asynchronous action.
  7271. * The motivation for promises fundamentally is about creating a
  7272. * separation of concerns that allows one to achieve the same type of
  7273. * call patterns and logical data flow in asynchronous code as can be
  7274. * achieved in synchronous code. Promises allows one
  7275. * to be able to call a function purely with arguments needed for
  7276. * execution, without conflating the call with concerns of whether it is
  7277. * sync or async. One shouldn't need to alter a call's arguments if the
  7278. * implementation switches from sync to async (or vice versa). By having
  7279. * async functions return promises, the concerns of making the call are
  7280. * separated from the concerns of asynchronous interaction (which are
  7281. * handled by the promise).
  7282. *
  7283. * The Deferred is a type of promise that provides methods for fulfilling the
  7284. * promise with a successful result or an error. The most important method for
  7285. * working with Dojo's promises is the then() method, which follows the
  7286. * CommonJS proposed promise API. An example of using a Dojo promise:
  7287. *
  7288. * var resultingPromise = someAsyncOperation.then(function(result){
  7289. * ... handle result ...
  7290. * },
  7291. * function(error){
  7292. * ... handle error ...
  7293. * });
  7294. * The .then() call returns a new promise that represents the result of the
  7295. * execution of the callback. The callbacks will never affect the original promises value.
  7296. *
  7297. * The Deferred instances also provide the following functions for backwards compatibility:
  7298. *
  7299. * addCallback(handler)
  7300. * addErrback(handler)
  7301. * callback(result)
  7302. * errback(result)
  7303. * Callbacks are allowed to return promises themselves, so
  7304. * you can build complicated sequences of events with ease.
  7305. *
  7306. * The creator of the Deferred may specify a canceller. The canceller
  7307. * is a function that will be called if Deferred.cancel is called
  7308. * before the Deferred fires. You can use this to implement clean
  7309. * aborting of an XMLHttpRequest, etc. Note that cancel will fire the
  7310. * deferred with a CancelledError (unless your canceller returns
  7311. * another kind of error), so the errbacks should be prepared to
  7312. * handle that error for cancellable Deferreds.
  7313. *
  7314. * @param canceller Optional
  7315. */
  7316. Deferred(canceller: Function): void;
  7317. /**
  7318. * Deprecated, use dojo/promise/all instead.
  7319. * Provides event handling for a group of Deferred objects.
  7320. * DeferredList takes an array of existing deferreds and returns a new deferred of its own
  7321. * this new deferred will typically have its callback fired when all of the deferreds in
  7322. * the given list have fired their own deferreds. The parameters fireOnOneCallback and
  7323. * fireOnOneErrback, will fire before all the deferreds as appropriate
  7324. *
  7325. * @param list The list of deferreds to be synchronizied with this DeferredList
  7326. * @param fireOnOneCallback OptionalWill cause the DeferredLists callback to be fired as soon as anyof the deferreds in its list have been fired instead of waiting untilthe entire list has finished
  7327. * @param fireOnOneErrback Optional
  7328. * @param consumeErrors Optional
  7329. * @param canceller OptionalA deferred canceller function, see dojo.Deferred
  7330. */
  7331. DeferredList(list: any[], fireOnOneCallback?: boolean, fireOnOneErrback?: boolean, consumeErrors?: boolean, canceller?: Function): void;
  7332. /**
  7333. * Log a debug message to indicate that a behavior has been
  7334. * deprecated.
  7335. *
  7336. * @param behaviour The API or behavior being deprecated. Usually in the formof "myApp.someFunction()".
  7337. * @param extra OptionalText to append to the message. Often provides advice on anew function or facility to achieve the same goal duringthe deprecation period.
  7338. * @param removal OptionalText to indicate when in the future the behavior will beremoved. Usually a version number.
  7339. */
  7340. deprecated(behaviour: String, extra?: String, removal?: String): void;
  7341. /**
  7342. *
  7343. * @param node
  7344. */
  7345. destroy(node: any): void;
  7346. /**
  7347. * Remove a link created by dojo.connect.
  7348. * Removes the connection between event and the method referenced by handle.
  7349. *
  7350. * @param handle the return value of the dojo.connect call that created the connection.
  7351. */
  7352. disconnect(handle: Object): void;
  7353. /**
  7354. * Returns an object with {node, x, y} with corresponding offsets.
  7355. *
  7356. * @param doc OptionalOptional document to query. If unspecified, use win.doc.
  7357. */
  7358. docScroll(doc?: HTMLDocument): Object;
  7359. /**
  7360. *
  7361. * @param node
  7362. */
  7363. empty(node: any): void;
  7364. /**
  7365. * A legacy method created for use exclusively by internal Dojo methods. Do not use this method
  7366. * directly unless you understand its possibly-different implications on the platforms your are targeting.
  7367. * Makes an attempt to evaluate scriptText in the global scope. The function works correctly for browsers
  7368. * that support indirect eval.
  7369. *
  7370. * As usual, IE does not. On IE, the only way to implement global eval is to
  7371. * use execScript. Unfortunately, execScript does not return a value and breaks some current usages of dojo.eval.
  7372. * This implementation uses the technique of executing eval in the scope of a function that is a single scope
  7373. * frame below the global scope; thereby coming close to the global scope. Note carefully that
  7374. *
  7375. * dojo.eval("var pi = 3.14;");
  7376. *
  7377. * will define global pi in non-IE environments, but define pi only in a temporary local scope for IE. If you want
  7378. * to define a global variable using dojo.eval, write something like
  7379. *
  7380. * dojo.eval("window.pi = 3.14;")
  7381. *
  7382. * @param scriptText The text to evaluation.
  7383. */
  7384. eval(scriptText: any): any;
  7385. /**
  7386. * Determines whether or not every item in arr satisfies the
  7387. * condition implemented by callback.
  7388. * This function corresponds to the JavaScript 1.6 Array.every() method, with one difference: when
  7389. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  7390. * the callback function with a value of undefined. JavaScript 1.6's every skips the holes in the sparse array.
  7391. * For more details, see:
  7392. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/every
  7393. *
  7394. * @param arr the array to iterate on. If a string, operates on individual characters.
  7395. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  7396. * @param thisObject Optionalmay be used to scope the call to callback
  7397. */
  7398. every(arr: any[], callback: Function, thisObject?: Object): boolean;
  7399. /**
  7400. * Determines whether or not every item in arr satisfies the
  7401. * condition implemented by callback.
  7402. * This function corresponds to the JavaScript 1.6 Array.every() method, with one difference: when
  7403. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  7404. * the callback function with a value of undefined. JavaScript 1.6's every skips the holes in the sparse array.
  7405. * For more details, see:
  7406. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/every
  7407. *
  7408. * @param arr the array to iterate on. If a string, operates on individual characters.
  7409. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  7410. * @param thisObject Optionalmay be used to scope the call to callback
  7411. */
  7412. every(arr: String, callback: Function, thisObject?: Object): boolean;
  7413. /**
  7414. * Determines whether or not every item in arr satisfies the
  7415. * condition implemented by callback.
  7416. * This function corresponds to the JavaScript 1.6 Array.every() method, with one difference: when
  7417. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  7418. * the callback function with a value of undefined. JavaScript 1.6's every skips the holes in the sparse array.
  7419. * For more details, see:
  7420. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/every
  7421. *
  7422. * @param arr the array to iterate on. If a string, operates on individual characters.
  7423. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  7424. * @param thisObject Optionalmay be used to scope the call to callback
  7425. */
  7426. every(arr: any[], callback: String, thisObject?: Object): boolean;
  7427. /**
  7428. * Determines whether or not every item in arr satisfies the
  7429. * condition implemented by callback.
  7430. * This function corresponds to the JavaScript 1.6 Array.every() method, with one difference: when
  7431. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  7432. * the callback function with a value of undefined. JavaScript 1.6's every skips the holes in the sparse array.
  7433. * For more details, see:
  7434. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/every
  7435. *
  7436. * @param arr the array to iterate on. If a string, operates on individual characters.
  7437. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  7438. * @param thisObject Optionalmay be used to scope the call to callback
  7439. */
  7440. every(arr: String, callback: String, thisObject?: Object): boolean;
  7441. /**
  7442. *
  7443. * @param exitcode
  7444. */
  7445. exit(exitcode: any): void;
  7446. /**
  7447. * Marks code as experimental.
  7448. * This can be used to mark a function, file, or module as
  7449. * experimental. Experimental code is not ready to be used, and the
  7450. * APIs are subject to change without notice. Experimental code may be
  7451. * completed deleted without going through the normal deprecation
  7452. * process.
  7453. *
  7454. * @param moduleName The name of a module, or the name of a module file or a specificfunction
  7455. * @param extra Optionalsome additional message for the user
  7456. */
  7457. experimental(moduleName: String, extra?: String): void;
  7458. /**
  7459. * Returns an animation that will fade node defined in 'args' from
  7460. * its current opacity to fully opaque.
  7461. *
  7462. * @param args An object with the following properties:node (DOMNode|String): The node referenced in the animationduration (Integer, optional): Duration of the animation in milliseconds.easing (Function, optional): An easing function.
  7463. */
  7464. fadeIn(args: Object): any;
  7465. /**
  7466. * Returns an animation that will fade node defined in 'args'
  7467. * from its current opacity to fully transparent.
  7468. *
  7469. * @param args An object with the following properties:node (DOMNode|String): The node referenced in the animationduration (Integer, optional): Duration of the animation in milliseconds.easing (Function, optional): An easing function.
  7470. */
  7471. fadeOut(args: Object): any;
  7472. /**
  7473. * Serialize a form field to a JavaScript object.
  7474. * Returns the value encoded in a form field as
  7475. * as a string or an array of strings. Disabled form elements
  7476. * and unchecked radio and checkboxes are skipped. Multi-select
  7477. * elements are returned as an array of string values.
  7478. *
  7479. * @param inputNode
  7480. */
  7481. fieldToObject(inputNode: HTMLElement): Object;
  7482. /**
  7483. * Serialize a form field to a JavaScript object.
  7484. * Returns the value encoded in a form field as
  7485. * as a string or an array of strings. Disabled form elements
  7486. * and unchecked radio and checkboxes are skipped. Multi-select
  7487. * elements are returned as an array of string values.
  7488. *
  7489. * @param inputNode
  7490. */
  7491. fieldToObject(inputNode: String): Object;
  7492. /**
  7493. * Returns a new Array with those items from arr that match the
  7494. * condition implemented by callback.
  7495. * This function corresponds to the JavaScript 1.6 Array.filter() method, with one difference: when
  7496. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  7497. * the callback function with a value of undefined. JavaScript 1.6's filter skips the holes in the sparse array.
  7498. * For more details, see:
  7499. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter
  7500. *
  7501. * @param arr the array to iterate over.
  7502. * @param callback a function that is invoked with three arguments (item,index, array). The return of this function is expected tobe a boolean which determines whether the passed-in itemwill be included in the returned array.
  7503. * @param thisObject Optionalmay be used to scope the call to callback
  7504. */
  7505. filter(arr: any[], callback: Function, thisObject?: Object): any[];
  7506. /**
  7507. * Returns a new Array with those items from arr that match the
  7508. * condition implemented by callback.
  7509. * This function corresponds to the JavaScript 1.6 Array.filter() method, with one difference: when
  7510. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  7511. * the callback function with a value of undefined. JavaScript 1.6's filter skips the holes in the sparse array.
  7512. * For more details, see:
  7513. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter
  7514. *
  7515. * @param arr the array to iterate over.
  7516. * @param callback a function that is invoked with three arguments (item,index, array). The return of this function is expected tobe a boolean which determines whether the passed-in itemwill be included in the returned array.
  7517. * @param thisObject Optionalmay be used to scope the call to callback
  7518. */
  7519. filter(arr: any[], callback: String, thisObject?: Object): any[];
  7520. /**
  7521. * normalizes properties on the event object including event
  7522. * bubbling methods, keystroke normalization, and x/y positions
  7523. *
  7524. * @param evt native event object
  7525. * @param sender node to treat as "currentTarget"
  7526. */
  7527. fixEvent(evt: Event, sender: HTMLElement): Event;
  7528. /**
  7529. * In RTL direction, scrollLeft should be a negative value, but IE
  7530. * returns a positive one. All codes using documentElement.scrollLeft
  7531. * must call this function to fix this error, otherwise the position
  7532. * will offset to right when there is a horizontal scrollbar.
  7533. *
  7534. * @param scrollLeft
  7535. * @param doc OptionalOptional document to query. If unspecified, use win.doc.
  7536. */
  7537. fixIeBiDiScrollLeft(scrollLeft: number, doc?: HTMLDocument): number;
  7538. /**
  7539. * for every item in arr, callback is invoked. Return values are ignored.
  7540. * If you want to break out of the loop, consider using array.every() or array.some().
  7541. * forEach does not allow breaking out of the loop over the items in arr.
  7542. * This function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when
  7543. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  7544. * the callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array.
  7545. * For more details, see:
  7546. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach
  7547. *
  7548. * @param arr
  7549. * @param callback
  7550. * @param thisObject Optional
  7551. */
  7552. forEach(arr: any[], callback: Function, thisObject?: Object): void;
  7553. /**
  7554. * for every item in arr, callback is invoked. Return values are ignored.
  7555. * If you want to break out of the loop, consider using array.every() or array.some().
  7556. * forEach does not allow breaking out of the loop over the items in arr.
  7557. * This function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when
  7558. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  7559. * the callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array.
  7560. * For more details, see:
  7561. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach
  7562. *
  7563. * @param arr
  7564. * @param callback
  7565. * @param thisObject Optional
  7566. */
  7567. forEach(arr: String, callback: Function, thisObject?: Object): void;
  7568. /**
  7569. * for every item in arr, callback is invoked. Return values are ignored.
  7570. * If you want to break out of the loop, consider using array.every() or array.some().
  7571. * forEach does not allow breaking out of the loop over the items in arr.
  7572. * This function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when
  7573. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  7574. * the callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array.
  7575. * For more details, see:
  7576. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach
  7577. *
  7578. * @param arr
  7579. * @param callback
  7580. * @param thisObject Optional
  7581. */
  7582. forEach(arr: any[], callback: String, thisObject?: Object): void;
  7583. /**
  7584. * for every item in arr, callback is invoked. Return values are ignored.
  7585. * If you want to break out of the loop, consider using array.every() or array.some().
  7586. * forEach does not allow breaking out of the loop over the items in arr.
  7587. * This function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when
  7588. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  7589. * the callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array.
  7590. * For more details, see:
  7591. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach
  7592. *
  7593. * @param arr
  7594. * @param callback
  7595. * @param thisObject Optional
  7596. */
  7597. forEach(arr: String, callback: String, thisObject?: Object): void;
  7598. /**
  7599. * Create a serialized JSON string from a form node or string
  7600. * ID identifying the form to serialize
  7601. *
  7602. * @param formNode
  7603. * @param prettyPrint Optional
  7604. */
  7605. formToJson(formNode: HTMLElement, prettyPrint?: boolean): String;
  7606. /**
  7607. * Create a serialized JSON string from a form node or string
  7608. * ID identifying the form to serialize
  7609. *
  7610. * @param formNode
  7611. * @param prettyPrint Optional
  7612. */
  7613. formToJson(formNode: String, prettyPrint?: boolean): String;
  7614. /**
  7615. * Serialize a form node to a JavaScript object.
  7616. * Returns the values encoded in an HTML form as
  7617. * string properties in an object which it then returns. Disabled form
  7618. * elements, buttons, and other non-value form elements are skipped.
  7619. * Multi-select elements are returned as an array of string values.
  7620. *
  7621. * @param formNode
  7622. */
  7623. formToObject(formNode: HTMLElement): Object;
  7624. /**
  7625. * Serialize a form node to a JavaScript object.
  7626. * Returns the values encoded in an HTML form as
  7627. * string properties in an object which it then returns. Disabled form
  7628. * elements, buttons, and other non-value form elements are skipped.
  7629. * Multi-select elements are returned as an array of string values.
  7630. *
  7631. * @param formNode
  7632. */
  7633. formToObject(formNode: String): Object;
  7634. /**
  7635. * Returns a URL-encoded string representing the form passed as either a
  7636. * node or string ID identifying the form to serialize
  7637. *
  7638. * @param formNode
  7639. */
  7640. formToQuery(formNode: HTMLElement): String;
  7641. /**
  7642. * Returns a URL-encoded string representing the form passed as either a
  7643. * node or string ID identifying the form to serialize
  7644. *
  7645. * @param formNode
  7646. */
  7647. formToQuery(formNode: String): String;
  7648. /**
  7649. * Parses a JavaScript expression and returns a JavaScript value.
  7650. * Throws for invalid JavaScript expressions. It does not use a strict JSON parser. It
  7651. * always delegates to eval(). The content passed to this method must therefore come
  7652. * from a trusted source.
  7653. * It is recommend that you use dojo/json's parse function for an
  7654. * implementation uses the (faster) native JSON parse when available.
  7655. *
  7656. * @param js a string literal of a JavaScript expression, for instance:'{ "foo": [ "bar", 1, { "baz": "thud" } ] }'
  7657. */
  7658. fromJson(js: String): any;
  7659. /**
  7660. * Gets an attribute on an HTML element.
  7661. * Handles normalized getting of attributes on DOM Nodes.
  7662. *
  7663. * @param node id or reference to the element to get the attribute on
  7664. * @param name the name of the attribute to get.
  7665. */
  7666. getAttr(node: HTMLElement, name: String): any;
  7667. /**
  7668. * Gets an attribute on an HTML element.
  7669. * Handles normalized getting of attributes on DOM Nodes.
  7670. *
  7671. * @param node id or reference to the element to get the attribute on
  7672. * @param name the name of the attribute to get.
  7673. */
  7674. getAttr(node: String, name: String): any;
  7675. /**
  7676. * returns an object with properties useful for noting the border
  7677. * dimensions.
  7678. * l/t/r/b = the sum of left/top/right/bottom border (respectively)
  7679. * w = the sum of the left and right border
  7680. * h = the sum of the top and bottom border
  7681. * The w/h are used for calculating boxes.
  7682. * Normally application code will not need to invoke this
  7683. * directly, and will use the ...box... functions instead.
  7684. *
  7685. * @param node
  7686. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  7687. */
  7688. getBorderExtents(node: HTMLElement, computedStyle?: Object): Object;
  7689. /**
  7690. * Returns a "computed style" object.
  7691. * Gets a "computed style" object which can be used to gather
  7692. * information about the current state of the rendered node.
  7693. *
  7694. * Note that this may behave differently on different browsers.
  7695. * Values may have different formats and value encodings across
  7696. * browsers.
  7697. *
  7698. * Note also that this method is expensive. Wherever possible,
  7699. * reuse the returned object.
  7700. *
  7701. * Use the dojo/dom-style.get() method for more consistent (pixelized)
  7702. * return values.
  7703. *
  7704. * @param node A reference to a DOM node. Does NOT support taking anID string for speed reasons.
  7705. */
  7706. getComputedStyle(node: HTMLElement): void;
  7707. /**
  7708. * Returns an object that encodes the width, height, left and top
  7709. * positions of the node's content box, irrespective of the
  7710. * current box model.
  7711. *
  7712. * @param node
  7713. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  7714. */
  7715. getContentBox(node: HTMLElement, computedStyle?: Object): Object;
  7716. /**
  7717. * returns the offset in x and y from the document body to the
  7718. * visual edge of the page for IE
  7719. * The following values in IE contain an offset:
  7720. *
  7721. * event.clientX
  7722. * event.clientY
  7723. * node.getBoundingClientRect().left
  7724. * node.getBoundingClientRect().top
  7725. * But other position related values do not contain this offset,
  7726. *
  7727. * such as node.offsetLeft, node.offsetTop, node.style.left and
  7728. * node.style.top. The offset is always (2, 2) in LTR direction.
  7729. * When the body is in RTL direction, the offset counts the width
  7730. * of left scroll bar's width. This function computes the actual
  7731. * offset.
  7732. *
  7733. * @param doc OptionalOptional document to query. If unspecified, use win.doc.
  7734. */
  7735. getIeDocumentElementOffset(doc?: HTMLDocument): Object;
  7736. /**
  7737. *
  7738. * @param moduleName
  7739. * @param bundleName
  7740. * @param locale
  7741. */
  7742. getL10nName(moduleName: any, bundleName: any, locale: any): String;
  7743. /**
  7744. * returns an object that encodes the width, height, left and top
  7745. * positions of the node's margin box.
  7746. *
  7747. * @param node
  7748. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  7749. */
  7750. getMarginBox(node: HTMLElement, computedStyle?: Object): Object;
  7751. /**
  7752. * returns object with properties useful for box fitting with
  7753. * regards to box margins (i.e., the outer-box).
  7754. *
  7755. * l/t = marginLeft, marginTop, respectively
  7756. * w = total width, margin inclusive
  7757. * h = total height, margin inclusive
  7758. * The w/h are used for calculating boxes.
  7759. * Normally application code will not need to invoke this
  7760. * directly, and will use the ...box... functions instead.
  7761. *
  7762. * @param node
  7763. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  7764. */
  7765. getMarginExtents(node: HTMLElement, computedStyle?: Object): Object;
  7766. /**
  7767. * returns an object that encodes the width and height of
  7768. * the node's margin box
  7769. *
  7770. * @param node
  7771. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  7772. */
  7773. getMarginSize(node: HTMLElement, computedStyle?: Object): Object;
  7774. /**
  7775. * returns an object that encodes the width and height of
  7776. * the node's margin box
  7777. *
  7778. * @param node
  7779. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  7780. */
  7781. getMarginSize(node: String, computedStyle?: Object): Object;
  7782. /**
  7783. * Returns an effective value of a property or an attribute.
  7784. *
  7785. * @param node id or reference to the element to remove the attribute from
  7786. * @param name the name of the attribute
  7787. */
  7788. getNodeProp(node: HTMLElement, name: String): any;
  7789. /**
  7790. * Returns an effective value of a property or an attribute.
  7791. *
  7792. * @param node id or reference to the element to remove the attribute from
  7793. * @param name the name of the attribute
  7794. */
  7795. getNodeProp(node: String, name: String): any;
  7796. /**
  7797. * Returns object with properties useful for box fitting with
  7798. * regards to padding.
  7799. * l/t/r/b = the sum of left/top/right/bottom padding and left/top/right/bottom border (respectively)
  7800. * w = the sum of the left and right padding and border
  7801. * h = the sum of the top and bottom padding and border
  7802. * The w/h are used for calculating boxes.
  7803. * Normally application code will not need to invoke this
  7804. * directly, and will use the ...box... functions instead.
  7805. *
  7806. * @param node
  7807. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  7808. */
  7809. getPadBorderExtents(node: HTMLElement, computedStyle?: Object): Object;
  7810. /**
  7811. * Returns object with special values specifically useful for node
  7812. * fitting.
  7813. * Returns an object with w, h, l, t properties:
  7814. *
  7815. * l/t/r/b = left/top/right/bottom padding (respectively)
  7816. * w = the total of the left and right padding
  7817. * h = the total of the top and bottom padding
  7818. * If 'node' has position, l/t forms the origin for child nodes.
  7819. *
  7820. * The w/h are used for calculating boxes.
  7821. * Normally application code will not need to invoke this
  7822. * directly, and will use the ...box... functions instead.
  7823. *
  7824. * @param node
  7825. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  7826. */
  7827. getPadExtents(node: HTMLElement, computedStyle?: Object): Object;
  7828. /**
  7829. * Gets a property on an HTML element.
  7830. * Handles normalized getting of properties on DOM nodes.
  7831. *
  7832. * @param node id or reference to the element to get the property on
  7833. * @param name the name of the property to get.
  7834. */
  7835. getProp(node: HTMLElement, name: String): any;
  7836. /**
  7837. * Gets a property on an HTML element.
  7838. * Handles normalized getting of properties on DOM nodes.
  7839. *
  7840. * @param node id or reference to the element to get the property on
  7841. * @param name the name of the property to get.
  7842. */
  7843. getProp(node: String, name: String): any;
  7844. /**
  7845. * Accesses styles on a node.
  7846. * Getting the style value uses the computed style for the node, so the value
  7847. * will be a calculated value, not just the immediate node.style value.
  7848. * Also when getting values, use specific style names,
  7849. * like "borderBottomWidth" instead of "border" since compound values like
  7850. * "border" are not necessarily reflected as expected.
  7851. * If you want to get node dimensions, use dojo/dom-geometry.getMarginBox(),
  7852. * dojo/dom-geometry.getContentBox() or dojo/dom-geometry.getPosition().
  7853. *
  7854. * @param node id or reference to node to get style for
  7855. * @param name Optionalthe style property to get
  7856. */
  7857. getStyle(node: HTMLElement, name?: String): any;
  7858. /**
  7859. * Accesses styles on a node.
  7860. * Getting the style value uses the computed style for the node, so the value
  7861. * will be a calculated value, not just the immediate node.style value.
  7862. * Also when getting values, use specific style names,
  7863. * like "borderBottomWidth" instead of "border" since compound values like
  7864. * "border" are not necessarily reflected as expected.
  7865. * If you want to get node dimensions, use dojo/dom-geometry.getMarginBox(),
  7866. * dojo/dom-geometry.getContentBox() or dojo/dom-geometry.getPosition().
  7867. *
  7868. * @param node id or reference to node to get style for
  7869. * @param name Optionalthe style property to get
  7870. */
  7871. getStyle(node: String, name?: String): any;
  7872. /**
  7873. * Returns true if the requested attribute is specified on the
  7874. * given element, and false otherwise.
  7875. *
  7876. * @param node id or reference to the element to check
  7877. * @param name the name of the attribute
  7878. */
  7879. hasAttr(node: HTMLElement, name: String): boolean;
  7880. /**
  7881. * Returns true if the requested attribute is specified on the
  7882. * given element, and false otherwise.
  7883. *
  7884. * @param node id or reference to the element to check
  7885. * @param name the name of the attribute
  7886. */
  7887. hasAttr(node: String, name: String): boolean;
  7888. /**
  7889. * Returns whether or not the specified classes are a portion of the
  7890. * class list currently applied to the node.
  7891. *
  7892. * @param node String ID or DomNode reference to check the class for.
  7893. * @param classStr A string class name to look for.
  7894. */
  7895. hasClass(node: String, classStr: String): boolean;
  7896. /**
  7897. * Returns whether or not the specified classes are a portion of the
  7898. * class list currently applied to the node.
  7899. *
  7900. * @param node String ID or DomNode reference to check the class for.
  7901. * @param classStr A string class name to look for.
  7902. */
  7903. hasClass(node: HTMLElement, classStr: String): boolean;
  7904. /**
  7905. * Gets or sets the hash string in the browser URL.
  7906. * Handles getting and setting of location.hash.
  7907. *
  7908. * If no arguments are passed, acts as a getter.
  7909. * If a string is passed, acts as a setter.
  7910. *
  7911. * @param hash Optionalthe hash is set - #string.
  7912. * @param replace OptionalIf true, updates the hash value in the current historystate instead of creating a new history state.
  7913. */
  7914. hash(hash?: String, replace?: boolean): any;
  7915. /**
  7916. * locates the first index of the provided value in the
  7917. * passed array. If the value is not found, -1 is returned.
  7918. * This method corresponds to the JavaScript 1.6 Array.indexOf method, with two differences:
  7919. *
  7920. * when run over sparse arrays, the Dojo function invokes the callback for every index
  7921. * whereas JavaScript 1.6's indexOf skips the holes in the sparse array.
  7922. * uses equality (==) rather than strict equality (===)
  7923. * For details on this method, see:
  7924. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/indexOf
  7925. *
  7926. * @param arr
  7927. * @param value
  7928. * @param fromIndex Optional
  7929. * @param findLast OptionalMakes indexOf() work like lastIndexOf(). Used internally; not meant for external usage.
  7930. */
  7931. indexOf(arr: any[], value: Object, fromIndex?: number, findLast?: boolean): number;
  7932. /**
  7933. * Returns true if the current language is left-to-right, and false otherwise.
  7934. *
  7935. * @param doc OptionalOptional document to query. If unspecified, use win.doc.
  7936. */
  7937. isBodyLtr(doc?: HTMLDocument): boolean;
  7938. /**
  7939. * Returns true if node is a descendant of ancestor
  7940. *
  7941. * @param node string id or node reference to test
  7942. * @param ancestor string id or node reference of potential parent to test against
  7943. */
  7944. isDescendant(node: HTMLElement, ancestor: HTMLElement): boolean;
  7945. /**
  7946. * Returns true if node is a descendant of ancestor
  7947. *
  7948. * @param node string id or node reference to test
  7949. * @param ancestor string id or node reference of potential parent to test against
  7950. */
  7951. isDescendant(node: String, ancestor: HTMLElement): boolean;
  7952. /**
  7953. * Returns true if node is a descendant of ancestor
  7954. *
  7955. * @param node string id or node reference to test
  7956. * @param ancestor string id or node reference of potential parent to test against
  7957. */
  7958. isDescendant(node: HTMLElement, ancestor: String): boolean;
  7959. /**
  7960. * Returns true if node is a descendant of ancestor
  7961. *
  7962. * @param node string id or node reference to test
  7963. * @param ancestor string id or node reference of potential parent to test against
  7964. */
  7965. isDescendant(node: String, ancestor: String): boolean;
  7966. /**
  7967. * locates the last index of the provided value in the passed
  7968. * array. If the value is not found, -1 is returned.
  7969. * This method corresponds to the JavaScript 1.6 Array.lastIndexOf method, with two differences:
  7970. *
  7971. * when run over sparse arrays, the Dojo function invokes the callback for every index
  7972. * whereas JavaScript 1.6's lasIndexOf skips the holes in the sparse array.
  7973. * uses equality (==) rather than strict equality (===)
  7974. * For details on this method, see:
  7975. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/lastIndexOf
  7976. *
  7977. * @param arr
  7978. * @param value
  7979. * @param fromIndex Optional
  7980. */
  7981. lastIndexOf(arr: any, value: any, fromIndex?: number): number;
  7982. /**
  7983. *
  7984. * @param f
  7985. */
  7986. loadInit(f: any): void;
  7987. /**
  7988. * applies callback to each element of arr and returns
  7989. * an Array with the results
  7990. * This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when
  7991. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  7992. * the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array.
  7993. * For more details, see:
  7994. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
  7995. *
  7996. * @param arr the array to iterate on. If a string, operates onindividual characters.
  7997. * @param callback a function is invoked with three arguments, (item, index,array), and returns a value
  7998. * @param thisObject Optionalmay be used to scope the call to callback
  7999. * @param Ctr
  8000. */
  8001. map(arr: any[], callback: Function, thisObject: Object, Ctr: any): any[];
  8002. /**
  8003. * applies callback to each element of arr and returns
  8004. * an Array with the results
  8005. * This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when
  8006. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  8007. * the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array.
  8008. * For more details, see:
  8009. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
  8010. *
  8011. * @param arr the array to iterate on. If a string, operates onindividual characters.
  8012. * @param callback a function is invoked with three arguments, (item, index,array), and returns a value
  8013. * @param thisObject Optionalmay be used to scope the call to callback
  8014. * @param Ctr
  8015. */
  8016. map(arr: String, callback: Function, thisObject: Object, Ctr: any): any[];
  8017. /**
  8018. * applies callback to each element of arr and returns
  8019. * an Array with the results
  8020. * This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when
  8021. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  8022. * the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array.
  8023. * For more details, see:
  8024. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
  8025. *
  8026. * @param arr the array to iterate on. If a string, operates onindividual characters.
  8027. * @param callback a function is invoked with three arguments, (item, index,array), and returns a value
  8028. * @param thisObject Optionalmay be used to scope the call to callback
  8029. * @param Ctr
  8030. */
  8031. map(arr: any[], callback: String, thisObject: Object, Ctr: any): any[];
  8032. /**
  8033. * applies callback to each element of arr and returns
  8034. * an Array with the results
  8035. * This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when
  8036. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  8037. * the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array.
  8038. * For more details, see:
  8039. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
  8040. *
  8041. * @param arr the array to iterate on. If a string, operates onindividual characters.
  8042. * @param callback a function is invoked with three arguments, (item, index,array), and returns a value
  8043. * @param thisObject Optionalmay be used to scope the call to callback
  8044. * @param Ctr
  8045. */
  8046. map(arr: String, callback: String, thisObject: Object, Ctr: any): any[];
  8047. /**
  8048. * Getter/setter for the margin-box of node.
  8049. * Getter/setter for the margin-box of node.
  8050. * Returns an object in the expected format of box (regardless
  8051. * if box is passed). The object might look like:
  8052. * { l: 50, t: 200, w: 300: h: 150 }
  8053. * for a node offset from its parent 50px to the left, 200px from
  8054. * the top with a margin width of 300px and a margin-height of
  8055. * 150px.
  8056. *
  8057. * @param node id or reference to DOM Node to get/set box for
  8058. * @param box OptionalIf passed, denotes that dojo.marginBox() shouldupdate/set the margin box for node. Box is an object in theabove format. All properties are optional if passed.
  8059. */
  8060. marginBox(node: HTMLElement, box?: Object): any;
  8061. /**
  8062. * Getter/setter for the margin-box of node.
  8063. * Getter/setter for the margin-box of node.
  8064. * Returns an object in the expected format of box (regardless
  8065. * if box is passed). The object might look like:
  8066. * { l: 50, t: 200, w: 300: h: 150 }
  8067. * for a node offset from its parent 50px to the left, 200px from
  8068. * the top with a margin width of 300px and a margin-height of
  8069. * 150px.
  8070. *
  8071. * @param node id or reference to DOM Node to get/set box for
  8072. * @param box OptionalIf passed, denotes that dojo.marginBox() shouldupdate/set the margin box for node. Box is an object in theabove format. All properties are optional if passed.
  8073. */
  8074. marginBox(node: String, box?: Object): any;
  8075. /**
  8076. * Returns a URL relative to a module.
  8077. *
  8078. * @param module dojo/dom-class
  8079. * @param url Optional
  8080. */
  8081. moduleUrl(module: String, url?: String): String;
  8082. /**
  8083. * Array-like object which adds syntactic
  8084. * sugar for chaining, common iteration operations, animation, and
  8085. * node manipulation. NodeLists are most often returned as the
  8086. * result of dojo/query() calls.
  8087. * NodeList instances provide many utilities that reflect
  8088. * core Dojo APIs for Array iteration and manipulation, DOM
  8089. * manipulation, and event handling. Instead of needing to dig up
  8090. * functions in the dojo package, NodeLists generally make the
  8091. * full power of Dojo available for DOM manipulation tasks in a
  8092. * simple, chainable way.
  8093. *
  8094. * @param array
  8095. */
  8096. NodeList(array: any): any[];
  8097. /**
  8098. * takes a name/value mapping object and returns a string representing
  8099. * a URL-encoded version of that object.
  8100. *
  8101. * @param map
  8102. */
  8103. objectToQuery(map: Object): any;
  8104. /**
  8105. * Attempt to insert node into the DOM, choosing from various positioning options.
  8106. * Returns the first argument resolved to a DOM node.
  8107. *
  8108. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  8109. * @param refNode id or node reference to use as basis for placement
  8110. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  8111. */
  8112. place(node: HTMLElement, refNode: HTMLElement, position?: String): HTMLElement;
  8113. /**
  8114. * Attempt to insert node into the DOM, choosing from various positioning options.
  8115. * Returns the first argument resolved to a DOM node.
  8116. *
  8117. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  8118. * @param refNode id or node reference to use as basis for placement
  8119. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  8120. */
  8121. place(node: String, refNode: HTMLElement, position?: String): HTMLElement;
  8122. /**
  8123. * Attempt to insert node into the DOM, choosing from various positioning options.
  8124. * Returns the first argument resolved to a DOM node.
  8125. *
  8126. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  8127. * @param refNode id or node reference to use as basis for placement
  8128. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  8129. */
  8130. place(node: HTMLElement, refNode: String, position?: String): HTMLElement;
  8131. /**
  8132. * Attempt to insert node into the DOM, choosing from various positioning options.
  8133. * Returns the first argument resolved to a DOM node.
  8134. *
  8135. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  8136. * @param refNode id or node reference to use as basis for placement
  8137. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  8138. */
  8139. place(node: String, refNode: String, position?: String): HTMLElement;
  8140. /**
  8141. * Attempt to insert node into the DOM, choosing from various positioning options.
  8142. * Returns the first argument resolved to a DOM node.
  8143. *
  8144. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  8145. * @param refNode id or node reference to use as basis for placement
  8146. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  8147. */
  8148. place(node: HTMLElement, refNode: HTMLElement, position?: number): HTMLElement;
  8149. /**
  8150. * Attempt to insert node into the DOM, choosing from various positioning options.
  8151. * Returns the first argument resolved to a DOM node.
  8152. *
  8153. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  8154. * @param refNode id or node reference to use as basis for placement
  8155. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  8156. */
  8157. place(node: String, refNode: HTMLElement, position?: number): HTMLElement;
  8158. /**
  8159. * Attempt to insert node into the DOM, choosing from various positioning options.
  8160. * Returns the first argument resolved to a DOM node.
  8161. *
  8162. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  8163. * @param refNode id or node reference to use as basis for placement
  8164. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  8165. */
  8166. place(node: HTMLElement, refNode: String, position?: number): HTMLElement;
  8167. /**
  8168. * Attempt to insert node into the DOM, choosing from various positioning options.
  8169. * Returns the first argument resolved to a DOM node.
  8170. *
  8171. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  8172. * @param refNode id or node reference to use as basis for placement
  8173. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  8174. */
  8175. place(node: String, refNode: String, position?: number): HTMLElement;
  8176. /**
  8177. * require one or more modules based on which host environment
  8178. * Dojo is currently operating in
  8179. * This method takes a "map" of arrays which one can use to
  8180. * optionally load dojo modules. The map is indexed by the
  8181. * possible dojo.name values, with two additional values:
  8182. * "default" and "common". The items in the "default" array will
  8183. * be loaded if none of the other items have been choosen based on
  8184. * dojo.name, set by your host environment. The items in the
  8185. * "common" array will always be loaded, regardless of which
  8186. * list is chosen.
  8187. *
  8188. * @param modMap
  8189. */
  8190. platformRequire(modMap: Object): void;
  8191. /**
  8192. * If the context stack contains elements, ensure that
  8193. * subsequent code executes in the previous context to the
  8194. * current context. The current context set ([global,
  8195. * document]) is returned.
  8196. *
  8197. */
  8198. popContext(): void;
  8199. /**
  8200. * Gets the position and size of the passed element relative to
  8201. * the viewport (if includeScroll==false), or relative to the
  8202. * document root (if includeScroll==true).
  8203. * Returns an object of the form:
  8204. * { x: 100, y: 300, w: 20, h: 15 }.
  8205. * If includeScroll==true, the x and y values will include any
  8206. * document offsets that may affect the position relative to the
  8207. * viewport.
  8208. * Uses the border-box model (inclusive of border and padding but
  8209. * not margin). Does not act as a setter.
  8210. *
  8211. * @param node
  8212. * @param includeScroll Optional
  8213. */
  8214. position(node: HTMLElement, includeScroll?: boolean): Object;
  8215. /**
  8216. * Gets the position and size of the passed element relative to
  8217. * the viewport (if includeScroll==false), or relative to the
  8218. * document root (if includeScroll==true).
  8219. * Returns an object of the form:
  8220. * { x: 100, y: 300, w: 20, h: 15 }.
  8221. * If includeScroll==true, the x and y values will include any
  8222. * document offsets that may affect the position relative to the
  8223. * viewport.
  8224. * Uses the border-box model (inclusive of border and padding but
  8225. * not margin). Does not act as a setter.
  8226. *
  8227. * @param node
  8228. * @param includeScroll Optional
  8229. */
  8230. position(node: String, includeScroll?: boolean): Object;
  8231. /**
  8232. * Gets or sets a property on an HTML element.
  8233. * Handles normalized getting and setting of properties on DOM
  8234. * Nodes. If 2 arguments are passed, and a the second argument is a
  8235. * string, acts as a getter.
  8236. *
  8237. * If a third argument is passed, or if the second argument is a
  8238. * map of attributes, acts as a setter.
  8239. *
  8240. * When passing functions as values, note that they will not be
  8241. * directly assigned to slots on the node, but rather the default
  8242. * behavior will be removed and the new behavior will be added
  8243. * using dojo.connect(), meaning that event handler properties
  8244. * will be normalized and that some caveats with regards to
  8245. * non-standard behaviors for onsubmit apply. Namely that you
  8246. * should cancel form submission using dojo.stopEvent() on the
  8247. * passed event object instead of returning a boolean value from
  8248. * the handler itself.
  8249. *
  8250. * @param node id or reference to the element to get or set the property on
  8251. * @param name the name of the property to get or set.
  8252. * @param value OptionalThe value to set for the property
  8253. */
  8254. prop(node: HTMLElement, name: String, value?: String): any;
  8255. /**
  8256. * Gets or sets a property on an HTML element.
  8257. * Handles normalized getting and setting of properties on DOM
  8258. * Nodes. If 2 arguments are passed, and a the second argument is a
  8259. * string, acts as a getter.
  8260. *
  8261. * If a third argument is passed, or if the second argument is a
  8262. * map of attributes, acts as a setter.
  8263. *
  8264. * When passing functions as values, note that they will not be
  8265. * directly assigned to slots on the node, but rather the default
  8266. * behavior will be removed and the new behavior will be added
  8267. * using dojo.connect(), meaning that event handler properties
  8268. * will be normalized and that some caveats with regards to
  8269. * non-standard behaviors for onsubmit apply. Namely that you
  8270. * should cancel form submission using dojo.stopEvent() on the
  8271. * passed event object instead of returning a boolean value from
  8272. * the handler itself.
  8273. *
  8274. * @param node id or reference to the element to get or set the property on
  8275. * @param name the name of the property to get or set.
  8276. * @param value OptionalThe value to set for the property
  8277. */
  8278. prop(node: String, name: String, value?: String): any;
  8279. /**
  8280. * Gets or sets a property on an HTML element.
  8281. * Handles normalized getting and setting of properties on DOM
  8282. * Nodes. If 2 arguments are passed, and a the second argument is a
  8283. * string, acts as a getter.
  8284. *
  8285. * If a third argument is passed, or if the second argument is a
  8286. * map of attributes, acts as a setter.
  8287. *
  8288. * When passing functions as values, note that they will not be
  8289. * directly assigned to slots on the node, but rather the default
  8290. * behavior will be removed and the new behavior will be added
  8291. * using dojo.connect(), meaning that event handler properties
  8292. * will be normalized and that some caveats with regards to
  8293. * non-standard behaviors for onsubmit apply. Namely that you
  8294. * should cancel form submission using dojo.stopEvent() on the
  8295. * passed event object instead of returning a boolean value from
  8296. * the handler itself.
  8297. *
  8298. * @param node id or reference to the element to get or set the property on
  8299. * @param name the name of the property to get or set.
  8300. * @param value OptionalThe value to set for the property
  8301. */
  8302. prop(node: HTMLElement, name: Object, value?: String): any;
  8303. /**
  8304. * Gets or sets a property on an HTML element.
  8305. * Handles normalized getting and setting of properties on DOM
  8306. * Nodes. If 2 arguments are passed, and a the second argument is a
  8307. * string, acts as a getter.
  8308. *
  8309. * If a third argument is passed, or if the second argument is a
  8310. * map of attributes, acts as a setter.
  8311. *
  8312. * When passing functions as values, note that they will not be
  8313. * directly assigned to slots on the node, but rather the default
  8314. * behavior will be removed and the new behavior will be added
  8315. * using dojo.connect(), meaning that event handler properties
  8316. * will be normalized and that some caveats with regards to
  8317. * non-standard behaviors for onsubmit apply. Namely that you
  8318. * should cancel form submission using dojo.stopEvent() on the
  8319. * passed event object instead of returning a boolean value from
  8320. * the handler itself.
  8321. *
  8322. * @param node id or reference to the element to get or set the property on
  8323. * @param name the name of the property to get or set.
  8324. * @param value OptionalThe value to set for the property
  8325. */
  8326. prop(node: String, name: Object, value?: String): any;
  8327. /**
  8328. *
  8329. * @param mid
  8330. */
  8331. provide(mid: any): void;
  8332. /**
  8333. * causes subsequent calls to Dojo methods to assume the
  8334. * passed object and, optionally, document as the default
  8335. * scopes to use. A 2-element array of the previous global and
  8336. * document are returned.
  8337. * dojo.pushContext treats contexts as a stack. The
  8338. * auto-detected contexts which are initially provided using
  8339. * dojo.setContext() require authors to keep state in order to
  8340. * "return" to a previous context, whereas the
  8341. * dojo.pushContext and dojo.popContext methods provide a more
  8342. * natural way to augment blocks of code to ensure that they
  8343. * execute in a different window or frame without issue. If
  8344. * called without any arguments, the default context (the
  8345. * context when Dojo is first loaded) is instead pushed into
  8346. * the stack. If only a single string is passed, a node in the
  8347. * intitial context's document is looked up and its
  8348. * contextWindow and contextDocument properties are used as
  8349. * the context to push. This means that iframes can be given
  8350. * an ID and code can be executed in the scope of the iframe's
  8351. * document in subsequent calls easily.
  8352. *
  8353. * @param g OptionalThe global context. If a string, the id of the frame tosearch for a context and document.
  8354. * @param d OptionalThe document element to execute subsequent code with.
  8355. */
  8356. pushContext(g?: Object, d?: HTMLDocument): void;
  8357. /**
  8358. * causes subsequent calls to Dojo methods to assume the
  8359. * passed object and, optionally, document as the default
  8360. * scopes to use. A 2-element array of the previous global and
  8361. * document are returned.
  8362. * dojo.pushContext treats contexts as a stack. The
  8363. * auto-detected contexts which are initially provided using
  8364. * dojo.setContext() require authors to keep state in order to
  8365. * "return" to a previous context, whereas the
  8366. * dojo.pushContext and dojo.popContext methods provide a more
  8367. * natural way to augment blocks of code to ensure that they
  8368. * execute in a different window or frame without issue. If
  8369. * called without any arguments, the default context (the
  8370. * context when Dojo is first loaded) is instead pushed into
  8371. * the stack. If only a single string is passed, a node in the
  8372. * intitial context's document is looked up and its
  8373. * contextWindow and contextDocument properties are used as
  8374. * the context to push. This means that iframes can be given
  8375. * an ID and code can be executed in the scope of the iframe's
  8376. * document in subsequent calls easily.
  8377. *
  8378. * @param g OptionalThe global context. If a string, the id of the frame tosearch for a context and document.
  8379. * @param d OptionalThe document element to execute subsequent code with.
  8380. */
  8381. pushContext(g?: String, d?: HTMLDocument): void;
  8382. /**
  8383. * Create an object representing a de-serialized query section of a
  8384. * URL. Query keys with multiple values are returned in an array.
  8385. *
  8386. * @param str
  8387. */
  8388. queryToObject(str: String): Object;
  8389. /**
  8390. * Sends an HTTP POST request to the server. In addition to the properties
  8391. * listed for the dojo.__XhrArgs type, the following property is allowed:
  8392. *
  8393. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  8394. */
  8395. rawXhrPost(args: Object): any;
  8396. /**
  8397. * Sends an HTTP PUT request to the server. In addition to the properties
  8398. * listed for the dojo.__XhrArgs type, the following property is allowed:
  8399. *
  8400. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  8401. */
  8402. rawXhrPut(args: Object): any;
  8403. /**
  8404. * Add a function to execute on DOM content loaded and all requested modules have arrived and been evaluated.
  8405. * In most cases, the domReady plug-in should suffice and this method should not be needed.
  8406. *
  8407. * When called in a non-browser environment, just checks that all requested modules have arrived and been
  8408. * evaluated.
  8409. *
  8410. * @param priority OptionalThe order in which to exec this callback relative to other callbacks, defaults to 1000
  8411. * @param context The context in which to run execute callback, or a callback if not using context
  8412. * @param callback OptionalThe function to execute.
  8413. */
  8414. ready(priority: number, context: any, callback?: Function): void;
  8415. /**
  8416. * Maps a module name to a path
  8417. * An unregistered module is given the default path of ../[module],
  8418. * relative to Dojo root. For example, module acme is mapped to
  8419. * ../acme. If you want to use a different module name, use
  8420. * dojo.registerModulePath.
  8421. *
  8422. * @param moduleName
  8423. * @param prefix
  8424. */
  8425. registerModulePath(moduleName: String, prefix: String): void;
  8426. /**
  8427. * Removes an attribute from an HTML element.
  8428. *
  8429. * @param node id or reference to the element to remove the attribute from
  8430. * @param name the name of the attribute to remove
  8431. */
  8432. removeAttr(node: HTMLElement, name: String): void;
  8433. /**
  8434. * Removes an attribute from an HTML element.
  8435. *
  8436. * @param node id or reference to the element to remove the attribute from
  8437. * @param name the name of the attribute to remove
  8438. */
  8439. removeAttr(node: String, name: String): void;
  8440. /**
  8441. * Removes the specified classes from node. No contains()
  8442. * check is required.
  8443. *
  8444. * @param node String ID or DomNode reference to remove the class from.
  8445. * @param classStr OptionalAn optional String class name to remove, or several space-separatedclass names, or an array of class names. If omitted, all class nameswill be deleted.
  8446. */
  8447. removeClass(node: String, classStr?: String): void;
  8448. /**
  8449. * Removes the specified classes from node. No contains()
  8450. * check is required.
  8451. *
  8452. * @param node String ID or DomNode reference to remove the class from.
  8453. * @param classStr OptionalAn optional String class name to remove, or several space-separatedclass names, or an array of class names. If omitted, all class nameswill be deleted.
  8454. */
  8455. removeClass(node: HTMLElement, classStr?: String): void;
  8456. /**
  8457. * Removes the specified classes from node. No contains()
  8458. * check is required.
  8459. *
  8460. * @param node String ID or DomNode reference to remove the class from.
  8461. * @param classStr OptionalAn optional String class name to remove, or several space-separatedclass names, or an array of class names. If omitted, all class nameswill be deleted.
  8462. */
  8463. removeClass(node: String, classStr?: any[]): void;
  8464. /**
  8465. * Removes the specified classes from node. No contains()
  8466. * check is required.
  8467. *
  8468. * @param node String ID or DomNode reference to remove the class from.
  8469. * @param classStr OptionalAn optional String class name to remove, or several space-separatedclass names, or an array of class names. If omitted, all class nameswill be deleted.
  8470. */
  8471. removeClass(node: HTMLElement, classStr?: any[]): void;
  8472. /**
  8473. * Replaces one or more classes on a node if not present.
  8474. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  8475. *
  8476. * @param node String ID or DomNode reference to remove the class from.
  8477. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  8478. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  8479. */
  8480. replaceClass(node: String, addClassStr: String, removeClassStr?: String): void;
  8481. /**
  8482. * Replaces one or more classes on a node if not present.
  8483. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  8484. *
  8485. * @param node String ID or DomNode reference to remove the class from.
  8486. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  8487. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  8488. */
  8489. replaceClass(node: HTMLElement, addClassStr: String, removeClassStr?: String): void;
  8490. /**
  8491. * Replaces one or more classes on a node if not present.
  8492. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  8493. *
  8494. * @param node String ID or DomNode reference to remove the class from.
  8495. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  8496. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  8497. */
  8498. replaceClass(node: String, addClassStr: any[], removeClassStr?: String): void;
  8499. /**
  8500. * Replaces one or more classes on a node if not present.
  8501. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  8502. *
  8503. * @param node String ID or DomNode reference to remove the class from.
  8504. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  8505. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  8506. */
  8507. replaceClass(node: HTMLElement, addClassStr: any[], removeClassStr?: String): void;
  8508. /**
  8509. * Replaces one or more classes on a node if not present.
  8510. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  8511. *
  8512. * @param node String ID or DomNode reference to remove the class from.
  8513. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  8514. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  8515. */
  8516. replaceClass(node: String, addClassStr: String, removeClassStr?: any[]): void;
  8517. /**
  8518. * Replaces one or more classes on a node if not present.
  8519. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  8520. *
  8521. * @param node String ID or DomNode reference to remove the class from.
  8522. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  8523. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  8524. */
  8525. replaceClass(node: HTMLElement, addClassStr: String, removeClassStr?: any[]): void;
  8526. /**
  8527. * Replaces one or more classes on a node if not present.
  8528. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  8529. *
  8530. * @param node String ID or DomNode reference to remove the class from.
  8531. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  8532. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  8533. */
  8534. replaceClass(node: String, addClassStr: any[], removeClassStr?: any[]): void;
  8535. /**
  8536. * Replaces one or more classes on a node if not present.
  8537. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  8538. *
  8539. * @param node String ID or DomNode reference to remove the class from.
  8540. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  8541. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  8542. */
  8543. replaceClass(node: HTMLElement, addClassStr: any[], removeClassStr?: any[]): void;
  8544. /**
  8545. * loads a Javascript module from the appropriate URI
  8546. * Modules are loaded via dojo.require by using one of two loaders: the normal loader
  8547. * and the xdomain loader. The xdomain loader is used when dojo was built with a
  8548. * custom build that specified loader=xdomain and the module lives on a modulePath
  8549. * that is a whole URL, with protocol and a domain. The versions of Dojo that are on
  8550. * the Google and AOL CDNs use the xdomain loader.
  8551. *
  8552. * If the module is loaded via the xdomain loader, it is an asynchronous load, since
  8553. * the module is added via a dynamically created script tag. This
  8554. * means that dojo.require() can return before the module has loaded. However, this
  8555. * should only happen in the case where you do dojo.require calls in the top-level
  8556. * HTML page, or if you purposely avoid the loader checking for dojo.require
  8557. * dependencies in your module by using a syntax like dojo["require"] to load the module.
  8558. *
  8559. * Sometimes it is useful to not have the loader detect the dojo.require calls in the
  8560. * module so that you can dynamically load the modules as a result of an action on the
  8561. * page, instead of right at module load time.
  8562. *
  8563. * Also, for script blocks in an HTML page, the loader does not pre-process them, so
  8564. * it does not know to download the modules before the dojo.require calls occur.
  8565. *
  8566. * So, in those two cases, when you want on-the-fly module loading or for script blocks
  8567. * in the HTML page, special care must be taken if the dojo.required code is loaded
  8568. * asynchronously. To make sure you can execute code that depends on the dojo.required
  8569. * modules, be sure to add the code that depends on the modules in a dojo.addOnLoad()
  8570. * callback. dojo.addOnLoad waits for all outstanding modules to finish loading before
  8571. * executing.
  8572. *
  8573. * This type of syntax works with both xdomain and normal loaders, so it is good
  8574. * practice to always use this idiom for on-the-fly code loading and in HTML script
  8575. * blocks. If at some point you change loaders and where the code is loaded from,
  8576. * it will all still work.
  8577. *
  8578. * More on how dojo.require
  8579. * dojo.require("A.B") first checks to see if symbol A.B is
  8580. * defined. If it is, it is simply returned (nothing to do).
  8581. *
  8582. * If it is not defined, it will look for A/B.js in the script root
  8583. * directory.
  8584. *
  8585. * dojo.require throws an exception if it cannot find a file
  8586. * to load, or if the symbol A.B is not defined after loading.
  8587. *
  8588. * It returns the object A.B, but note the caveats above about on-the-fly loading and
  8589. * HTML script blocks when the xdomain loader is loading a module.
  8590. *
  8591. * dojo.require() does nothing about importing symbols into
  8592. * the current namespace. It is presumed that the caller will
  8593. * take care of that.
  8594. *
  8595. * @param moduleName module name to load, using periods for separators, e.g. "dojo.date.locale". Module paths are de-referenced by dojo'sinternal mapping of locations to names and are disambiguated bylongest prefix. See dojo.registerModulePath() for details onregistering new modules.
  8596. * @param omitModuleCheck Optionalif true, omitModuleCheck skips the step of ensuring that theloaded file actually defines the symbol it is referenced by.For example if it called as dojo.require("a.b.c") and thefile located at a/b/c.js does not define an object a.b.c,and exception will be throws whereas no exception is raisedwhen called as dojo.require("a.b.c", true)
  8597. */
  8598. require(moduleName: String, omitModuleCheck: boolean): any;
  8599. /**
  8600. * If the condition is true then call dojo.require() for the specified
  8601. * resource
  8602. *
  8603. * @param condition
  8604. * @param moduleName
  8605. * @param omitModuleCheck Optional
  8606. */
  8607. requireAfterIf(condition: boolean, moduleName: String, omitModuleCheck?: boolean): void;
  8608. /**
  8609. * If the condition is true then call dojo.require() for the specified
  8610. * resource
  8611. *
  8612. * @param condition
  8613. * @param moduleName
  8614. * @param omitModuleCheck Optional
  8615. */
  8616. requireIf(condition: boolean, moduleName: String, omitModuleCheck?: boolean): void;
  8617. /**
  8618. *
  8619. * @param moduleName
  8620. * @param bundleName
  8621. * @param locale Optional
  8622. */
  8623. requireLocalization(moduleName: String, bundleName: String, locale?: String): void;
  8624. /**
  8625. * Mix in properties skipping a constructor and decorating functions
  8626. * like it is done by declare().
  8627. * This function is used to mix in properties like lang.mixin does,
  8628. * but it skips a constructor property and decorates functions like
  8629. * declare() does.
  8630. *
  8631. * It is meant to be used with classes and objects produced with
  8632. * declare. Functions mixed in with dojo.safeMixin can use
  8633. * this.inherited() like normal methods.
  8634. *
  8635. * This function is used to implement extend() method of a constructor
  8636. * produced with declare().
  8637. *
  8638. * @param target Target object to accept new properties.
  8639. * @param source Source object for new properties.
  8640. */
  8641. safeMixin(target: Object, source: Object): Object;
  8642. /**
  8643. * Sets an attribute on an HTML element.
  8644. * Handles normalized setting of attributes on DOM Nodes.
  8645. *
  8646. * When passing functions as values, note that they will not be
  8647. * directly assigned to slots on the node, but rather the default
  8648. * behavior will be removed and the new behavior will be added
  8649. * using dojo.connect(), meaning that event handler properties
  8650. * will be normalized and that some caveats with regards to
  8651. * non-standard behaviors for onsubmit apply. Namely that you
  8652. * should cancel form submission using dojo.stopEvent() on the
  8653. * passed event object instead of returning a boolean value from
  8654. * the handler itself.
  8655. *
  8656. * @param node id or reference to the element to set the attribute on
  8657. * @param name the name of the attribute to set, or a hash of key-value pairs to set.
  8658. * @param value Optionalthe value to set for the attribute, if the name is a string.
  8659. */
  8660. setAttr(node: HTMLElement, name: String, value?: String): any;
  8661. /**
  8662. * Sets an attribute on an HTML element.
  8663. * Handles normalized setting of attributes on DOM Nodes.
  8664. *
  8665. * When passing functions as values, note that they will not be
  8666. * directly assigned to slots on the node, but rather the default
  8667. * behavior will be removed and the new behavior will be added
  8668. * using dojo.connect(), meaning that event handler properties
  8669. * will be normalized and that some caveats with regards to
  8670. * non-standard behaviors for onsubmit apply. Namely that you
  8671. * should cancel form submission using dojo.stopEvent() on the
  8672. * passed event object instead of returning a boolean value from
  8673. * the handler itself.
  8674. *
  8675. * @param node id or reference to the element to set the attribute on
  8676. * @param name the name of the attribute to set, or a hash of key-value pairs to set.
  8677. * @param value Optionalthe value to set for the attribute, if the name is a string.
  8678. */
  8679. setAttr(node: String, name: String, value?: String): any;
  8680. /**
  8681. * Sets an attribute on an HTML element.
  8682. * Handles normalized setting of attributes on DOM Nodes.
  8683. *
  8684. * When passing functions as values, note that they will not be
  8685. * directly assigned to slots on the node, but rather the default
  8686. * behavior will be removed and the new behavior will be added
  8687. * using dojo.connect(), meaning that event handler properties
  8688. * will be normalized and that some caveats with regards to
  8689. * non-standard behaviors for onsubmit apply. Namely that you
  8690. * should cancel form submission using dojo.stopEvent() on the
  8691. * passed event object instead of returning a boolean value from
  8692. * the handler itself.
  8693. *
  8694. * @param node id or reference to the element to set the attribute on
  8695. * @param name the name of the attribute to set, or a hash of key-value pairs to set.
  8696. * @param value Optionalthe value to set for the attribute, if the name is a string.
  8697. */
  8698. setAttr(node: HTMLElement, name: Object, value?: String): any;
  8699. /**
  8700. * Sets an attribute on an HTML element.
  8701. * Handles normalized setting of attributes on DOM Nodes.
  8702. *
  8703. * When passing functions as values, note that they will not be
  8704. * directly assigned to slots on the node, but rather the default
  8705. * behavior will be removed and the new behavior will be added
  8706. * using dojo.connect(), meaning that event handler properties
  8707. * will be normalized and that some caveats with regards to
  8708. * non-standard behaviors for onsubmit apply. Namely that you
  8709. * should cancel form submission using dojo.stopEvent() on the
  8710. * passed event object instead of returning a boolean value from
  8711. * the handler itself.
  8712. *
  8713. * @param node id or reference to the element to set the attribute on
  8714. * @param name the name of the attribute to set, or a hash of key-value pairs to set.
  8715. * @param value Optionalthe value to set for the attribute, if the name is a string.
  8716. */
  8717. setAttr(node: String, name: Object, value?: String): any;
  8718. /**
  8719. * Sets the size of the node's contents, irrespective of margins,
  8720. * padding, or borders.
  8721. *
  8722. * @param node
  8723. * @param box hash with optional "w", and "h" properties for "width", and "height"respectively. All specified properties should have numeric values in whole pixels.
  8724. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  8725. */
  8726. setContentSize(node: HTMLElement, box: Object, computedStyle?: Object): void;
  8727. /**
  8728. * changes the behavior of many core Dojo functions that deal with
  8729. * namespace and DOM lookup, changing them to work in a new global
  8730. * context (e.g., an iframe). The varibles dojo.global and dojo.doc
  8731. * are modified as a result of calling this function and the result of
  8732. * dojo.body() likewise differs.
  8733. *
  8734. * @param globalObject
  8735. * @param globalDocument
  8736. */
  8737. setContext(globalObject: Object, globalDocument: HTMLDocument): void;
  8738. /**
  8739. * sets the size of the node's margin box and placement
  8740. * (left/top), irrespective of box model. Think of it as a
  8741. * passthrough to setBox that handles box-model vagaries for
  8742. * you.
  8743. *
  8744. * @param node
  8745. * @param box hash with optional "l", "t", "w", and "h" properties for "left", "right", "width", and "height"respectively. All specified properties should have numeric values in whole pixels.
  8746. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  8747. */
  8748. setMarginBox(node: HTMLElement, box: Object, computedStyle?: Object): void;
  8749. /**
  8750. * Sets a property on an HTML element.
  8751. * Handles normalized setting of properties on DOM nodes.
  8752. *
  8753. * When passing functions as values, note that they will not be
  8754. * directly assigned to slots on the node, but rather the default
  8755. * behavior will be removed and the new behavior will be added
  8756. * using dojo.connect(), meaning that event handler properties
  8757. * will be normalized and that some caveats with regards to
  8758. * non-standard behaviors for onsubmit apply. Namely that you
  8759. * should cancel form submission using dojo.stopEvent() on the
  8760. * passed event object instead of returning a boolean value from
  8761. * the handler itself.
  8762. *
  8763. * @param node id or reference to the element to set the property on
  8764. * @param name the name of the property to set, or a hash object to setmultiple properties at once.
  8765. * @param value OptionalThe value to set for the property
  8766. */
  8767. setProp(node: HTMLElement, name: String, value?: String): any;
  8768. /**
  8769. * Sets a property on an HTML element.
  8770. * Handles normalized setting of properties on DOM nodes.
  8771. *
  8772. * When passing functions as values, note that they will not be
  8773. * directly assigned to slots on the node, but rather the default
  8774. * behavior will be removed and the new behavior will be added
  8775. * using dojo.connect(), meaning that event handler properties
  8776. * will be normalized and that some caveats with regards to
  8777. * non-standard behaviors for onsubmit apply. Namely that you
  8778. * should cancel form submission using dojo.stopEvent() on the
  8779. * passed event object instead of returning a boolean value from
  8780. * the handler itself.
  8781. *
  8782. * @param node id or reference to the element to set the property on
  8783. * @param name the name of the property to set, or a hash object to setmultiple properties at once.
  8784. * @param value OptionalThe value to set for the property
  8785. */
  8786. setProp(node: String, name: String, value?: String): any;
  8787. /**
  8788. * Sets a property on an HTML element.
  8789. * Handles normalized setting of properties on DOM nodes.
  8790. *
  8791. * When passing functions as values, note that they will not be
  8792. * directly assigned to slots on the node, but rather the default
  8793. * behavior will be removed and the new behavior will be added
  8794. * using dojo.connect(), meaning that event handler properties
  8795. * will be normalized and that some caveats with regards to
  8796. * non-standard behaviors for onsubmit apply. Namely that you
  8797. * should cancel form submission using dojo.stopEvent() on the
  8798. * passed event object instead of returning a boolean value from
  8799. * the handler itself.
  8800. *
  8801. * @param node id or reference to the element to set the property on
  8802. * @param name the name of the property to set, or a hash object to setmultiple properties at once.
  8803. * @param value OptionalThe value to set for the property
  8804. */
  8805. setProp(node: HTMLElement, name: Object, value?: String): any;
  8806. /**
  8807. * Sets a property on an HTML element.
  8808. * Handles normalized setting of properties on DOM nodes.
  8809. *
  8810. * When passing functions as values, note that they will not be
  8811. * directly assigned to slots on the node, but rather the default
  8812. * behavior will be removed and the new behavior will be added
  8813. * using dojo.connect(), meaning that event handler properties
  8814. * will be normalized and that some caveats with regards to
  8815. * non-standard behaviors for onsubmit apply. Namely that you
  8816. * should cancel form submission using dojo.stopEvent() on the
  8817. * passed event object instead of returning a boolean value from
  8818. * the handler itself.
  8819. *
  8820. * @param node id or reference to the element to set the property on
  8821. * @param name the name of the property to set, or a hash object to setmultiple properties at once.
  8822. * @param value OptionalThe value to set for the property
  8823. */
  8824. setProp(node: String, name: Object, value?: String): any;
  8825. /**
  8826. *
  8827. * @param node
  8828. * @param selectable
  8829. */
  8830. setSelectable(node: any, selectable: any): void;
  8831. /**
  8832. * Sets styles on a node.
  8833. *
  8834. * @param node id or reference to node to set style for
  8835. * @param name the style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  8836. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  8837. */
  8838. setStyle(node: HTMLElement, name: String, value?: String): String;
  8839. /**
  8840. * Sets styles on a node.
  8841. *
  8842. * @param node id or reference to node to set style for
  8843. * @param name the style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  8844. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  8845. */
  8846. setStyle(node: String, name: String, value?: String): String;
  8847. /**
  8848. * Sets styles on a node.
  8849. *
  8850. * @param node id or reference to node to set style for
  8851. * @param name the style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  8852. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  8853. */
  8854. setStyle(node: HTMLElement, name: Object, value?: String): String;
  8855. /**
  8856. * Sets styles on a node.
  8857. *
  8858. * @param node id or reference to node to set style for
  8859. * @param name the style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  8860. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  8861. */
  8862. setStyle(node: String, name: Object, value?: String): String;
  8863. /**
  8864. * Determines whether or not any item in arr satisfies the
  8865. * condition implemented by callback.
  8866. * This function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when
  8867. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  8868. * the callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array.
  8869. * For more details, see:
  8870. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some
  8871. *
  8872. * @param arr the array to iterate over. If a string, operates on individual characters.
  8873. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  8874. * @param thisObject Optionalmay be used to scope the call to callback
  8875. */
  8876. some(arr: any[], callback: Function, thisObject?: Object): boolean;
  8877. /**
  8878. * Determines whether or not any item in arr satisfies the
  8879. * condition implemented by callback.
  8880. * This function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when
  8881. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  8882. * the callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array.
  8883. * For more details, see:
  8884. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some
  8885. *
  8886. * @param arr the array to iterate over. If a string, operates on individual characters.
  8887. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  8888. * @param thisObject Optionalmay be used to scope the call to callback
  8889. */
  8890. some(arr: String, callback: Function, thisObject?: Object): boolean;
  8891. /**
  8892. * Determines whether or not any item in arr satisfies the
  8893. * condition implemented by callback.
  8894. * This function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when
  8895. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  8896. * the callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array.
  8897. * For more details, see:
  8898. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some
  8899. *
  8900. * @param arr the array to iterate over. If a string, operates on individual characters.
  8901. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  8902. * @param thisObject Optionalmay be used to scope the call to callback
  8903. */
  8904. some(arr: any[], callback: String, thisObject?: Object): boolean;
  8905. /**
  8906. * Determines whether or not any item in arr satisfies the
  8907. * condition implemented by callback.
  8908. * This function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when
  8909. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  8910. * the callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array.
  8911. * For more details, see:
  8912. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some
  8913. *
  8914. * @param arr the array to iterate over. If a string, operates on individual characters.
  8915. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  8916. * @param thisObject Optionalmay be used to scope the call to callback
  8917. */
  8918. some(arr: String, callback: String, thisObject?: Object): boolean;
  8919. /**
  8920. *
  8921. */
  8922. Stateful(): void;
  8923. /**
  8924. * prevents propagation and clobbers the default action of the
  8925. * passed event
  8926. *
  8927. * @param evt The event object. If omitted, window.event is used on IE.
  8928. */
  8929. stopEvent(evt: Event): void;
  8930. /**
  8931. * Accesses styles on a node. If 2 arguments are
  8932. * passed, acts as a getter. If 3 arguments are passed, acts
  8933. * as a setter.
  8934. * Getting the style value uses the computed style for the node, so the value
  8935. * will be a calculated value, not just the immediate node.style value.
  8936. * Also when getting values, use specific style names,
  8937. * like "borderBottomWidth" instead of "border" since compound values like
  8938. * "border" are not necessarily reflected as expected.
  8939. * If you want to get node dimensions, use dojo.marginBox(),
  8940. * dojo.contentBox() or dojo.position().
  8941. *
  8942. * @param node id or reference to node to get/set style for
  8943. * @param name Optionalthe style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  8944. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  8945. */
  8946. style(node: HTMLElement, name?: String, value?: String): any;
  8947. /**
  8948. * Accesses styles on a node. If 2 arguments are
  8949. * passed, acts as a getter. If 3 arguments are passed, acts
  8950. * as a setter.
  8951. * Getting the style value uses the computed style for the node, so the value
  8952. * will be a calculated value, not just the immediate node.style value.
  8953. * Also when getting values, use specific style names,
  8954. * like "borderBottomWidth" instead of "border" since compound values like
  8955. * "border" are not necessarily reflected as expected.
  8956. * If you want to get node dimensions, use dojo.marginBox(),
  8957. * dojo.contentBox() or dojo.position().
  8958. *
  8959. * @param node id or reference to node to get/set style for
  8960. * @param name Optionalthe style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  8961. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  8962. */
  8963. style(node: String, name?: String, value?: String): any;
  8964. /**
  8965. * Accesses styles on a node. If 2 arguments are
  8966. * passed, acts as a getter. If 3 arguments are passed, acts
  8967. * as a setter.
  8968. * Getting the style value uses the computed style for the node, so the value
  8969. * will be a calculated value, not just the immediate node.style value.
  8970. * Also when getting values, use specific style names,
  8971. * like "borderBottomWidth" instead of "border" since compound values like
  8972. * "border" are not necessarily reflected as expected.
  8973. * If you want to get node dimensions, use dojo.marginBox(),
  8974. * dojo.contentBox() or dojo.position().
  8975. *
  8976. * @param node id or reference to node to get/set style for
  8977. * @param name Optionalthe style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  8978. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  8979. */
  8980. style(node: HTMLElement, name?: Object, value?: String): any;
  8981. /**
  8982. * Accesses styles on a node. If 2 arguments are
  8983. * passed, acts as a getter. If 3 arguments are passed, acts
  8984. * as a setter.
  8985. * Getting the style value uses the computed style for the node, so the value
  8986. * will be a calculated value, not just the immediate node.style value.
  8987. * Also when getting values, use specific style names,
  8988. * like "borderBottomWidth" instead of "border" since compound values like
  8989. * "border" are not necessarily reflected as expected.
  8990. * If you want to get node dimensions, use dojo.marginBox(),
  8991. * dojo.contentBox() or dojo.position().
  8992. *
  8993. * @param node id or reference to node to get/set style for
  8994. * @param name Optionalthe style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  8995. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  8996. */
  8997. style(node: String, name?: Object, value?: String): any;
  8998. /**
  8999. * instantiates an HTML fragment returning the corresponding DOM.
  9000. *
  9001. * @param frag the HTML fragment
  9002. * @param doc Optionaloptional document to use when creating DOM nodes, defaults todojo/_base/window.doc if not specified.
  9003. */
  9004. toDom(frag: String, doc?: HTMLDocument): any;
  9005. /**
  9006. * Adds a class to node if not present, or removes if present.
  9007. * Pass a boolean condition if you want to explicitly add or remove.
  9008. * Returns the condition that was specified directly or indirectly.
  9009. *
  9010. * @param node String ID or DomNode reference to toggle a class string
  9011. * @param classStr A String class name to toggle, or several space-separated class names,or an array of class names.
  9012. * @param condition OptionalIf passed, true means to add the class, false means to remove.Otherwise dojo.hasClass(node, classStr) is used to detect the class presence.
  9013. */
  9014. toggleClass(node: String, classStr: String, condition: boolean): boolean;
  9015. /**
  9016. * Adds a class to node if not present, or removes if present.
  9017. * Pass a boolean condition if you want to explicitly add or remove.
  9018. * Returns the condition that was specified directly or indirectly.
  9019. *
  9020. * @param node String ID or DomNode reference to toggle a class string
  9021. * @param classStr A String class name to toggle, or several space-separated class names,or an array of class names.
  9022. * @param condition OptionalIf passed, true means to add the class, false means to remove.Otherwise dojo.hasClass(node, classStr) is used to detect the class presence.
  9023. */
  9024. toggleClass(node: HTMLElement, classStr: String, condition: boolean): boolean;
  9025. /**
  9026. * Adds a class to node if not present, or removes if present.
  9027. * Pass a boolean condition if you want to explicitly add or remove.
  9028. * Returns the condition that was specified directly or indirectly.
  9029. *
  9030. * @param node String ID or DomNode reference to toggle a class string
  9031. * @param classStr A String class name to toggle, or several space-separated class names,or an array of class names.
  9032. * @param condition OptionalIf passed, true means to add the class, false means to remove.Otherwise dojo.hasClass(node, classStr) is used to detect the class presence.
  9033. */
  9034. toggleClass(node: String, classStr: any[], condition: boolean): boolean;
  9035. /**
  9036. * Adds a class to node if not present, or removes if present.
  9037. * Pass a boolean condition if you want to explicitly add or remove.
  9038. * Returns the condition that was specified directly or indirectly.
  9039. *
  9040. * @param node String ID or DomNode reference to toggle a class string
  9041. * @param classStr A String class name to toggle, or several space-separated class names,or an array of class names.
  9042. * @param condition OptionalIf passed, true means to add the class, false means to remove.Otherwise dojo.hasClass(node, classStr) is used to detect the class presence.
  9043. */
  9044. toggleClass(node: HTMLElement, classStr: any[], condition: boolean): boolean;
  9045. /**
  9046. * Returns a JSON serialization of an object.
  9047. * Returns a JSON serialization of an object.
  9048. * Note that this doesn't check for infinite recursion, so don't do that!
  9049. * It is recommend that you use dojo/json's stringify function for an lighter
  9050. * and faster implementation that matches the native JSON API and uses the
  9051. * native JSON serializer when available.
  9052. *
  9053. * @param it an object to be serialized. Objects may define their ownserialization via a special "json" or "json" functionproperty. If a specialized serializer has been defined, it willbe used as a fallback.Note that in 1.6, toJson would serialize undefined, but this no longer supportedsince it is not supported by native JSON serializer.
  9054. * @param prettyPrint Optionalif true, we indent objects and arrays to make the output prettier.The variable dojo.toJsonIndentStr is used as the indent string --to use something other than the default (tab), change that variablebefore calling dojo.toJson().Note that if native JSON support is available, it will be used for serialization,and native implementations vary on the exact spacing used in pretty printing.
  9055. */
  9056. toJson(it: Object, prettyPrint?: boolean): any;
  9057. /**
  9058. * converts style value to pixels on IE or return a numeric value.
  9059. *
  9060. * @param node
  9061. * @param value
  9062. */
  9063. toPixelValue(node: HTMLElement, value: String): number;
  9064. /**
  9065. * Remove a topic listener.
  9066. *
  9067. * @param handle The handle returned from a call to subscribe.
  9068. */
  9069. unsubscribe(handle: Object): void;
  9070. /**
  9071. * Transparently applies callbacks to values and/or promises.
  9072. * Accepts promises but also transparently handles non-promises. If no
  9073. * callbacks are provided returns a promise, regardless of the initial
  9074. * value. Foreign promises are converted.
  9075. *
  9076. * If callbacks are provided and the initial value is not a promise,
  9077. * the callback is executed immediately with no error handling. Returns
  9078. * a promise if the initial value is a promise, or the result of the
  9079. * callback otherwise.
  9080. *
  9081. * @param valueOrPromise Either a regular value or an object with a then() method thatfollows the Promises/A specification.
  9082. * @param callback OptionalCallback to be invoked when the promise is resolved, or a non-promiseis received.
  9083. * @param errback OptionalCallback to be invoked when the promise is rejected.
  9084. * @param progback OptionalCallback to be invoked when the promise emits a progress update.
  9085. */
  9086. when(valueOrPromise: any, callback?: Function, errback?: Function, progback?: Function): dojo.promise.Promise<any>;
  9087. /**
  9088. * signal fired by impending window destruction. You may use
  9089. * dojo.addOnWIndowUnload() or dojo.connect() to this method to perform
  9090. * page/application cleanup methods. See dojo.addOnWindowUnload for more info.
  9091. *
  9092. */
  9093. windowUnloaded(): void;
  9094. /**
  9095. * Invoke callback with documentObject as dojo/_base/window::doc.
  9096. * Invoke callback with documentObject as dojo/_base/window::doc. If provided,
  9097. * callback will be executed in the context of object thisObject
  9098. * When callback() returns or throws an error, the dojo/_base/window::doc will
  9099. * be restored to its previous state.
  9100. *
  9101. * @param documentObject
  9102. * @param callback
  9103. * @param thisObject Optional
  9104. * @param cbArguments Optional
  9105. */
  9106. withDoc(documentObject: HTMLDocument, callback: Function, thisObject?: Object, cbArguments?: any[]): any;
  9107. /**
  9108. * Invoke callback with globalObject as dojo.global and
  9109. * globalObject.document as dojo.doc.
  9110. * Invoke callback with globalObject as dojo.global and
  9111. * globalObject.document as dojo.doc. If provided, globalObject
  9112. * will be executed in the context of object thisObject
  9113. * When callback() returns or throws an error, the dojo.global
  9114. * and dojo.doc will be restored to its previous state.
  9115. *
  9116. * @param globalObject
  9117. * @param callback
  9118. * @param thisObject Optional
  9119. * @param cbArguments Optional
  9120. */
  9121. withGlobal(globalObject: Object, callback: Function, thisObject?: Object, cbArguments?: any[]): any;
  9122. /**
  9123. *
  9124. * @param method
  9125. * @param args
  9126. */
  9127. xhr(method: any, args: any): any;
  9128. /**
  9129. * Sends an HTTP DELETE request to the server.
  9130. *
  9131. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  9132. */
  9133. xhrDelete(args: Object): any;
  9134. /**
  9135. * Sends an HTTP GET request to the server.
  9136. *
  9137. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  9138. */
  9139. xhrGet(args: Object): any;
  9140. /**
  9141. * Sends an HTTP POST request to the server. In addition to the properties
  9142. * listed for the dojo.__XhrArgs type, the following property is allowed:
  9143. *
  9144. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  9145. */
  9146. xhrPost(args: Object): any;
  9147. /**
  9148. * Sends an HTTP PUT request to the server. In addition to the properties
  9149. * listed for the dojo.__XhrArgs type, the following property is allowed:
  9150. *
  9151. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  9152. */
  9153. xhrPut(args: Object): any;
  9154. }
  9155. namespace kernel {
  9156. /**
  9157. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.__IoCallbackArgs.html
  9158. *
  9159. *
  9160. */
  9161. class __IoCallbackArgs {
  9162. constructor();
  9163. /**
  9164. * the original object argument to the IO call.
  9165. *
  9166. */
  9167. "args": Object;
  9168. /**
  9169. * For dojo/io/script calls only, indicates
  9170. * whether the script tag that represents the
  9171. * request can be deleted after callbacks have
  9172. * been called. Used internally to know when
  9173. * cleanup can happen on JSONP-type requests.
  9174. *
  9175. */
  9176. "canDelete": boolean;
  9177. /**
  9178. * The final indicator on how the response will be
  9179. * handled.
  9180. *
  9181. */
  9182. "handleAs": string;
  9183. /**
  9184. * For dojo/io/script calls only, the internal
  9185. * script ID used for the request.
  9186. *
  9187. */
  9188. "id": string;
  9189. /**
  9190. * For dojo/io/script calls only: holds the JSON
  9191. * response for JSONP-type requests. Used
  9192. * internally to hold on to the JSON responses.
  9193. * You should not need to access it directly --
  9194. * the same object should be passed to the success
  9195. * callbacks directly.
  9196. *
  9197. */
  9198. "json": Object;
  9199. /**
  9200. * For non-GET requests, the
  9201. * name1=value1&name2=value2 parameters sent up in
  9202. * the request.
  9203. *
  9204. */
  9205. "query": string;
  9206. /**
  9207. * The final URL used for the call. Many times it
  9208. * will be different than the original args.url
  9209. * value.
  9210. *
  9211. */
  9212. "url": string;
  9213. /**
  9214. * For XMLHttpRequest calls only, the
  9215. * XMLHttpRequest object that was used for the
  9216. * request.
  9217. *
  9218. */
  9219. "xhr": Object;
  9220. }
  9221. /**
  9222. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.__IoPublish.html
  9223. *
  9224. * This is a list of IO topics that can be published
  9225. * if djConfig.ioPublish is set to true. IO topics can be
  9226. * published for any Input/Output, network operation. So,
  9227. * dojo.xhr, dojo.io.script and dojo.io.iframe can all
  9228. * trigger these topics to be published.
  9229. *
  9230. */
  9231. class __IoPublish {
  9232. constructor();
  9233. /**
  9234. * "/dojo/io/done" is sent whenever an IO request has completed,
  9235. * either by loading or by erroring. It passes the error and
  9236. * the dojo.Deferred for the request with the topic.
  9237. *
  9238. */
  9239. "done": string;
  9240. /**
  9241. * "/dojo/io/error" is sent whenever an IO request has errored.
  9242. * It passes the error and the dojo.Deferred
  9243. * for the request with the topic.
  9244. *
  9245. */
  9246. "error": string;
  9247. /**
  9248. * "/dojo/io/load" is sent whenever an IO request has loaded
  9249. * successfully. It passes the response and the dojo.Deferred
  9250. * for the request with the topic.
  9251. *
  9252. */
  9253. "load": string;
  9254. /**
  9255. * "/dojo/io/send" is sent whenever a new IO request is started.
  9256. * It passes the dojo.Deferred for the request with the topic.
  9257. *
  9258. */
  9259. "send": string;
  9260. /**
  9261. * "/dojo/io/start" is sent when there are no outstanding IO
  9262. * requests, and a new IO request is started. No arguments
  9263. * are passed with this topic.
  9264. *
  9265. */
  9266. "start": string;
  9267. /**
  9268. * "/dojo/io/stop" is sent when all outstanding IO requests have
  9269. * finished. No arguments are passed with this topic.
  9270. *
  9271. */
  9272. "stop": string;
  9273. }
  9274. /**
  9275. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.__IoArgs.html
  9276. *
  9277. *
  9278. */
  9279. class __IoArgs {
  9280. constructor();
  9281. /**
  9282. * Contains properties with string values. These
  9283. * properties will be serialized as name1=value2 and
  9284. * passed in the request.
  9285. *
  9286. */
  9287. "content": Object;
  9288. /**
  9289. * DOM node for a form. Used to extract the form values
  9290. * and send to the server.
  9291. *
  9292. */
  9293. "form": HTMLElement;
  9294. /**
  9295. * Acceptable values depend on the type of IO
  9296. * transport (see specific IO calls for more information).
  9297. *
  9298. */
  9299. "handleAs": string;
  9300. /**
  9301. * Set this explicitly to false to prevent publishing of topics related to
  9302. * IO operations. Otherwise, if djConfig.ioPublish is set to true, topics
  9303. * will be published via dojo/topic.publish() for different phases of an IO operation.
  9304. * See dojo/main.__IoPublish for a list of topics that are published.
  9305. *
  9306. */
  9307. "ioPublish": boolean;
  9308. /**
  9309. * Default is false. If true, then a
  9310. * "dojo.preventCache" parameter is sent in the request
  9311. * with a value that changes with each request
  9312. * (timestamp). Useful only with GET-type requests.
  9313. *
  9314. */
  9315. "preventCache": boolean;
  9316. /**
  9317. * Sets the raw body for an HTTP request. If this is used, then the content
  9318. * property is ignored. This is mostly useful for HTTP methods that have
  9319. * a body to their requests, like PUT or POST. This property can be used instead
  9320. * of postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.
  9321. *
  9322. */
  9323. "rawBody": string;
  9324. /**
  9325. * Milliseconds to wait for the response. If this time
  9326. * passes, the then error callbacks are called.
  9327. *
  9328. */
  9329. "timeout": number;
  9330. /**
  9331. * URL to server endpoint.
  9332. *
  9333. */
  9334. "url": string;
  9335. /**
  9336. * This function will
  9337. * be called when the request fails due to a network or server error, the url
  9338. * is invalid, etc. It will also be called if the load or handle callback throws an
  9339. * exception, unless djConfig.debugAtAllCosts is true. This allows deployed applications
  9340. * to continue to run even when a logic error happens in the callback, while making
  9341. * it easier to troubleshoot while in debug mode.
  9342. *
  9343. * @param response The response in the format as defined with handleAs.
  9344. * @param ioArgs Provides additional information about the request.
  9345. */
  9346. error(response: Object, ioArgs: dojo.main.__IoCallbackArgs): void;
  9347. /**
  9348. * This function will
  9349. * be called at the end of every request, whether or not an error occurs.
  9350. *
  9351. * @param loadOrError Provides a string that tells you whether this functionwas called because of success (load) or failure (error).
  9352. * @param response The response in the format as defined with handleAs.
  9353. * @param ioArgs Provides additional information about the request.
  9354. */
  9355. handle(loadOrError: String, response: Object, ioArgs: dojo.main.__IoCallbackArgs): void;
  9356. /**
  9357. * This function will be
  9358. * called on a successful HTTP response code.
  9359. *
  9360. * @param response The response in the format as defined with handleAs.
  9361. * @param ioArgs Provides additional information about the request.
  9362. */
  9363. load(response: Object, ioArgs: dojo.main.__IoCallbackArgs): void;
  9364. }
  9365. /**
  9366. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.__XhrArgs.html
  9367. *
  9368. * In addition to the properties listed for the dojo._IoArgs type,
  9369. * the following properties are allowed for dojo.xhr* methods.
  9370. *
  9371. */
  9372. class __XhrArgs {
  9373. constructor();
  9374. /**
  9375. * Contains properties with string values. These
  9376. * properties will be serialized as name1=value2 and
  9377. * passed in the request.
  9378. *
  9379. */
  9380. "content": Object;
  9381. /**
  9382. * "application/x-www-form-urlencoded" is default. Set to false to
  9383. * prevent a Content-Type header from being sent, or to a string
  9384. * to send a different Content-Type.
  9385. *
  9386. */
  9387. "contentType": string;
  9388. /**
  9389. * false is default. Indicates whether a request should be
  9390. * allowed to fail (and therefore no console error message in
  9391. * the event of a failure)
  9392. *
  9393. */
  9394. "failOk": boolean;
  9395. /**
  9396. * DOM node for a form. Used to extract the form values
  9397. * and send to the server.
  9398. *
  9399. */
  9400. "form": HTMLElement;
  9401. /**
  9402. * Acceptable values are: text (default), json, json-comment-optional,
  9403. * json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlers
  9404. *
  9405. */
  9406. "handleAs": string;
  9407. /**
  9408. * Additional HTTP headers to send in the request.
  9409. *
  9410. */
  9411. "headers": Object;
  9412. /**
  9413. * Set this explicitly to false to prevent publishing of topics related to
  9414. * IO operations. Otherwise, if djConfig.ioPublish is set to true, topics
  9415. * will be published via dojo/topic.publish() for different phases of an IO operation.
  9416. * See dojo/main.__IoPublish for a list of topics that are published.
  9417. *
  9418. */
  9419. "ioPublish": boolean;
  9420. /**
  9421. * Default is false. If true, then a
  9422. * "dojo.preventCache" parameter is sent in the request
  9423. * with a value that changes with each request
  9424. * (timestamp). Useful only with GET-type requests.
  9425. *
  9426. */
  9427. "preventCache": boolean;
  9428. /**
  9429. * Sets the raw body for an HTTP request. If this is used, then the content
  9430. * property is ignored. This is mostly useful for HTTP methods that have
  9431. * a body to their requests, like PUT or POST. This property can be used instead
  9432. * of postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.
  9433. *
  9434. */
  9435. "rawBody": string;
  9436. /**
  9437. * false is default. Indicates whether the request should
  9438. * be a synchronous (blocking) request.
  9439. *
  9440. */
  9441. "sync": boolean;
  9442. /**
  9443. * Milliseconds to wait for the response. If this time
  9444. * passes, the then error callbacks are called.
  9445. *
  9446. */
  9447. "timeout": number;
  9448. /**
  9449. * URL to server endpoint.
  9450. *
  9451. */
  9452. "url": string;
  9453. /**
  9454. * This function will
  9455. * be called when the request fails due to a network or server error, the url
  9456. * is invalid, etc. It will also be called if the load or handle callback throws an
  9457. * exception, unless djConfig.debugAtAllCosts is true. This allows deployed applications
  9458. * to continue to run even when a logic error happens in the callback, while making
  9459. * it easier to troubleshoot while in debug mode.
  9460. *
  9461. * @param response The response in the format as defined with handleAs.
  9462. * @param ioArgs Provides additional information about the request.
  9463. */
  9464. error(response: Object, ioArgs: dojo.main.__IoCallbackArgs): void;
  9465. /**
  9466. * This function will
  9467. * be called at the end of every request, whether or not an error occurs.
  9468. *
  9469. * @param loadOrError Provides a string that tells you whether this functionwas called because of success (load) or failure (error).
  9470. * @param response The response in the format as defined with handleAs.
  9471. * @param ioArgs Provides additional information about the request.
  9472. */
  9473. handle(loadOrError: String, response: Object, ioArgs: dojo.main.__IoCallbackArgs): void;
  9474. /**
  9475. * This function will be
  9476. * called on a successful HTTP response code.
  9477. *
  9478. * @param response The response in the format as defined with handleAs.
  9479. * @param ioArgs Provides additional information about the request.
  9480. */
  9481. load(response: Object, ioArgs: dojo.main.__IoCallbackArgs): void;
  9482. }
  9483. /**
  9484. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.Stateful.html
  9485. *
  9486. * Base class for objects that provide named properties with optional getter/setter
  9487. * control and the ability to watch for property changes
  9488. *
  9489. * The class also provides the functionality to auto-magically manage getters
  9490. * and setters for object attributes/properties.
  9491. *
  9492. * Getters and Setters should follow the format of _xxxGetter or _xxxSetter where
  9493. * the xxx is a name of the attribute to handle. So an attribute of "foo"
  9494. * would have a custom getter of _fooGetter and a custom setter of _fooSetter.
  9495. *
  9496. */
  9497. class Stateful {
  9498. constructor();
  9499. /**
  9500. * Get a property on a Stateful instance.
  9501. * Get a named property on a Stateful object. The property may
  9502. * potentially be retrieved via a getter method in subclasses. In the base class
  9503. * this just retrieves the object's property.
  9504. *
  9505. * @param name The property to get.
  9506. */
  9507. get(name: String): any;
  9508. /**
  9509. *
  9510. * @param params Optional
  9511. */
  9512. postscript(params?: Object): void;
  9513. /**
  9514. * Set a property on a Stateful instance
  9515. * Sets named properties on a stateful object and notifies any watchers of
  9516. * the property. A programmatic setter may be defined in subclasses.
  9517. *
  9518. * @param name The property to set.
  9519. * @param value The value to set in the property.
  9520. */
  9521. set(name: String, value: Object): any;
  9522. /**
  9523. * Watches a property for changes
  9524. *
  9525. * @param name OptionalIndicates the property to watch. This is optional (the callback may be theonly parameter), and if omitted, all the properties will be watched
  9526. * @param callback The function to execute when the property changes. This will be called afterthe property has been changed. The callback will be called with the |this|set to the instance, the first argument as the name of the property, thesecond argument as the old value and the third argument as the new value.
  9527. */
  9528. watch(property: string, callback:{(property?:string, oldValue?:any, newValue?: any):void}) :{unwatch():void};
  9529. }
  9530. /**
  9531. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel._contentHandlers.html
  9532. *
  9533. * A map of available XHR transport handle types. Name matches the
  9534. * handleAs attribute passed to XHR calls.
  9535. * A map of available XHR transport handle types. Name matches the
  9536. * handleAs attribute passed to XHR calls. Each contentHandler is
  9537. * called, passing the xhr object for manipulation. The return value
  9538. * from the contentHandler will be passed to the load or handle
  9539. * functions defined in the original xhr call.
  9540. *
  9541. */
  9542. interface _contentHandlers {
  9543. /**
  9544. *
  9545. * @param xhr
  9546. */
  9547. auto(xhr: any): void;
  9548. /**
  9549. * A contentHandler which evaluates the response data, expecting it to be valid JavaScript
  9550. *
  9551. * @param xhr
  9552. */
  9553. javascript(xhr: any): any;
  9554. /**
  9555. * A contentHandler which returns a JavaScript object created from the response data
  9556. *
  9557. * @param xhr
  9558. */
  9559. json(xhr: any): any;
  9560. /**
  9561. * A contentHandler which expects comment-filtered JSON.
  9562. * A contentHandler which expects comment-filtered JSON.
  9563. * the json-comment-filtered option was implemented to prevent
  9564. * "JavaScript Hijacking", but it is less secure than standard JSON. Use
  9565. * standard JSON instead. JSON prefixing can be used to subvert hijacking.
  9566. *
  9567. * Will throw a notice suggesting to use application/json mimetype, as
  9568. * json-commenting can introduce security issues. To decrease the chances of hijacking,
  9569. * use the standard json contentHandler, and prefix your "JSON" with: {}&&
  9570. *
  9571. * use djConfig.useCommentedJson = true to turn off the notice
  9572. *
  9573. * @param xhr
  9574. */
  9575. json_comment_filtered(xhr: any): any;
  9576. /**
  9577. * A contentHandler which checks the presence of comment-filtered JSON and
  9578. * alternates between the json and json-comment-filtered contentHandlers.
  9579. *
  9580. * @param xhr
  9581. */
  9582. json_comment_optional(xhr: any): any;
  9583. /**
  9584. *
  9585. * @param xhr
  9586. */
  9587. olson_zoneinfo(xhr: any): void;
  9588. /**
  9589. * A contentHandler which simply returns the plaintext response data
  9590. *
  9591. * @param xhr
  9592. */
  9593. text(xhr: any): any;
  9594. /**
  9595. * A contentHandler returning an XML Document parsed from the response data
  9596. *
  9597. * @param xhr
  9598. */
  9599. xml(xhr: any): any;
  9600. }
  9601. /**
  9602. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel._hasResource.html
  9603. *
  9604. *
  9605. */
  9606. interface _hasResource {
  9607. }
  9608. /**
  9609. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel._nodeDataCache.html
  9610. *
  9611. *
  9612. */
  9613. interface _nodeDataCache {
  9614. }
  9615. /**
  9616. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.back.html
  9617. *
  9618. * Browser history management resources
  9619. *
  9620. */
  9621. interface back {
  9622. /**
  9623. * adds a state object (args) to the history list.
  9624. * To support getting back button notifications, the object
  9625. * argument should implement a function called either "back",
  9626. * "backButton", or "handle". The string "back" will be passed as
  9627. * the first and only argument to this callback.
  9628. *
  9629. * To support getting forward button notifications, the object
  9630. * argument should implement a function called either "forward",
  9631. * "forwardButton", or "handle". The string "forward" will be
  9632. * passed as the first and only argument to this callback.
  9633. *
  9634. * If you want the browser location string to change, define "changeUrl" on the object. If the
  9635. * value of "changeUrl" is true, then a unique number will be appended to the URL as a fragment
  9636. * identifier (http://some.domain.com/path#uniquenumber). If it is any other value that does
  9637. * not evaluate to false, that value will be used as the fragment identifier. For example,
  9638. * if changeUrl: 'page1', then the URL will look like: http://some.domain.com/path#page1
  9639. *
  9640. * There are problems with using dojo/back with semantically-named fragment identifiers
  9641. * ("hash values" on an URL). In most browsers it will be hard for dojo/back to know
  9642. * distinguish a back from a forward event in those cases. For back/forward support to
  9643. * work best, the fragment ID should always be a unique value (something using new Date().getTime()
  9644. * for example). If you want to detect hash changes using semantic fragment IDs, then
  9645. * consider using dojo/hash instead (in Dojo 1.4+).
  9646. *
  9647. * @param args The state object that will be added to the history list.
  9648. */
  9649. addToHistory(args: Object): void;
  9650. /**
  9651. *
  9652. */
  9653. getHash(): any;
  9654. /**
  9655. * private method. Do not call this directly.
  9656. *
  9657. */
  9658. goBack(): void;
  9659. /**
  9660. * private method. Do not call this directly.
  9661. *
  9662. */
  9663. goForward(): void;
  9664. /**
  9665. * Initializes the undo stack. This must be called from a
  9666. * block that lives inside the <code>&lt;body&gt;</code> tag to prevent bugs on IE.
  9667. * </p>
  9668. * <p>Only call this method before the page&#39;s DOM is finished loading. Otherwise
  9669. * it will not work. Be careful with xdomain loading or djConfig.debugAtAllCosts scenarios,
  9670. * in order for this method to work, dojo/back will need to be part of a build layer.</p>
  9671. * </div>
  9672. * </div>
  9673. * <div class="jsdoc-field extension-module">
  9674. * <div class="jsdoc-title"><a name="1_9dojo__base_kernel_back_setHash"></a><span class="functionIcon">setHash</span><span class="parameters">(h)</span>
  9675. * </div>
  9676. * <div class="jsdoc-inheritance">Defined by <a href="/api/1.9/dojo/back" class="jsdoc-link">dojo/back</a><span title="Must manually require () dojo/back to access" class="jsdoc-extension"></span>
  9677. * </div>
  9678. * <div class="jsdoc-full-summary"></div>
  9679. * <table class="jsdoc-parameters">
  9680. * <tr>
  9681. * <th>Parameter</th>
  9682. * <th>Type</th>
  9683. * <th>Description</th>
  9684. * </tr>
  9685. * <tr>
  9686. * <td class="jsdoc-param-name">h</td>
  9687. * <td class="jsdoc-param-type">undefined</td>
  9688. * <td class="jsdoc-param-description">
  9689. * </td>
  9690. * </tr>
  9691. * </table>
  9692. * </div>
  9693. * <div class="jsdoc-field extension-module">
  9694. * <div class="jsdoc-title"><a name="1_9dojo__base_kernel_back_setInitialState"></a><span class="functionIcon">setInitialState</span><span class="parameters">(args)</span>
  9695. * </div>
  9696. * <div class="jsdoc-inheritance">Defined by <a href="/api/1.9/dojo/back" class="jsdoc-link">dojo/back</a><span title="Must manually require () dojo/back to access" class="jsdoc-extension"></span>
  9697. * </div>
  9698. * <div class="jsdoc-full-summary"><p>Sets the state object and back callback for the very first page
  9699. * that is loaded.
  9700. * </p>
  9701. * <p>It is recommended that you call this method as part of an event
  9702. * listener that is registered via dojo/ready.</p>
  9703. * </div>
  9704. * <table class="jsdoc-parameters">
  9705. * <tr>
  9706. * <th>Parameter</th>
  9707. * <th>Type</th>
  9708. * <th>Description</th>
  9709. * </tr>
  9710. * <tr>
  9711. * <td class="jsdoc-param-name">args</td>
  9712. * <td class="jsdoc-param-type">Object</td>
  9713. * <td class="jsdoc-param-description"><p>See the addToHistory() function for the list of valid args properties.</p>
  9714. *
  9715. * </td>
  9716. * </tr>
  9717. * </table>
  9718. * </div>
  9719. * </div>
  9720. * </div>
  9721. * </div><a href="https://docs.google.com/spreadsheet/viewform?hl=en_US&amp;formkey=dFlDcHEyaHMwbEd4MFBObkNrX0E1MFE6MQ&amp;entry_0=/api/1.9/dojo/_base/kernel.back" class="feedback">Error in the documentation? Can't find what you are looking for? Let us know!</a>
  9722. */
  9723. init(): void;
  9724. }
  9725. /**
  9726. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.cldr.html
  9727. *
  9728. *
  9729. */
  9730. interface cldr {
  9731. /**
  9732. * TODOC
  9733. *
  9734. */
  9735. monetary: Object;
  9736. /**
  9737. * TODOC
  9738. *
  9739. */
  9740. supplemental: Object;
  9741. }
  9742. /**
  9743. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.colors.html
  9744. *
  9745. *
  9746. */
  9747. interface colors {
  9748. /**
  9749. * creates a greyscale color with an optional alpha
  9750. *
  9751. * @param g
  9752. * @param a Optional
  9753. */
  9754. makeGrey(g: number, a?: number): void;
  9755. }
  9756. /**
  9757. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.config.html
  9758. *
  9759. * This module defines the user configuration during bootstrap.
  9760. * By defining user configuration as a module value, an entire configuration can be specified in a build,
  9761. * thereby eliminating the need for sniffing and or explicitly setting in the global variable dojoConfig.
  9762. * Also, when multiple instances of dojo exist in a single application, each will necessarily be located
  9763. * at an unique absolute module identifier as given by the package configuration. Implementing configuration
  9764. * as a module allows for specifying unique, per-instance configurations.
  9765. *
  9766. */
  9767. interface config {
  9768. /**
  9769. * Adds a callback via dojo/ready. Useful when Dojo is added after
  9770. * the page loads and djConfig.afterOnLoad is true. Supports the same
  9771. * arguments as dojo/ready. When using a function reference, use
  9772. * djConfig.addOnLoad = function(){};. For object with function name use
  9773. * djConfig.addOnLoad = [myObject, "functionName"]; and for object with
  9774. * function reference use
  9775. * djConfig.addOnLoad = [myObject, function(){}];
  9776. *
  9777. */
  9778. addOnLoad: Function;
  9779. /**
  9780. *
  9781. */
  9782. afterOnLoad: boolean;
  9783. /**
  9784. *
  9785. */
  9786. baseUrl: Object;
  9787. /**
  9788. * Defines a callback to be used when dependencies are defined before
  9789. * the loader has been loaded. When provided, they cause the loader to
  9790. * execute require(deps, callback) once it has finished loading.
  9791. * Should be used with deps.
  9792. *
  9793. */
  9794. callback: Function;
  9795. /**
  9796. *
  9797. */
  9798. debugContainerId: string;
  9799. /**
  9800. *
  9801. */
  9802. debugHeight: number;
  9803. /**
  9804. * Default duration, in milliseconds, for wipe and fade animations within dijits.
  9805. * Assigned to dijit.defaultDuration.
  9806. *
  9807. */
  9808. defaultDuration: number;
  9809. /**
  9810. * Whether deferred instrumentation should be loaded or included
  9811. * in builds.
  9812. *
  9813. */
  9814. deferredInstrumentation: boolean;
  9815. /**
  9816. * Defines dependencies to be used before the loader has been loaded.
  9817. * When provided, they cause the loader to execute require(deps, callback)
  9818. * once it has finished loading. Should be used with callback.
  9819. *
  9820. */
  9821. deps: Function;
  9822. /**
  9823. * Used by some modules to configure an empty iframe. Used by dojo/io/iframe and
  9824. * dojo/back, and dijit/popup support in IE where an iframe is needed to make sure native
  9825. * controls do not bleed through the popups. Normally this configuration variable
  9826. * does not need to be set, except when using cross-domain/CDN Dojo builds.
  9827. * Save dojo/resources/blank.html to your domain and set djConfig.dojoBlankHtmlUrl
  9828. * to the path on your domain your copy of blank.html.
  9829. *
  9830. */
  9831. dojoBlankHtmlUrl: string;
  9832. /**
  9833. * No default value. Specifies additional locales whose
  9834. * resources should also be loaded alongside the default locale when
  9835. * calls to dojo.requireLocalization() are processed.
  9836. *
  9837. */
  9838. extraLocale: any[];
  9839. /**
  9840. * Set this to true to enable publishing of topics for the different phases of
  9841. * IO operations. Publishing is done via dojo/topic.publish(). See dojo/main.__IoPublish for a list
  9842. * of topics that are published.
  9843. *
  9844. */
  9845. ioPublish: Object;
  9846. /**
  9847. * Defaults to false. If set to true, ensures that Dojo provides
  9848. * extended debugging feedback via Firebug. If Firebug is not available
  9849. * on your platform, setting isDebug to true will force Dojo to
  9850. * pull in (and display) the version of Firebug Lite which is
  9851. * integrated into the Dojo distribution, thereby always providing a
  9852. * debugging/logging console when isDebug is enabled. Note that
  9853. * Firebug's console.* methods are ALWAYS defined by Dojo. If
  9854. * isDebug is false and you are on a platform without Firebug, these
  9855. * methods will be defined as no-ops.
  9856. *
  9857. */
  9858. isDebug: boolean;
  9859. /**
  9860. * The locale to assume for loading localized resources in this page,
  9861. * specified according to RFC 3066.
  9862. * Must be specified entirely in lowercase, e.g. en-us and zh-cn.
  9863. * See the documentation for dojo.i18n and dojo.requireLocalization
  9864. * for details on loading localized resources. If no locale is specified,
  9865. * Dojo assumes the locale of the user agent, according to navigator.userLanguage
  9866. * or navigator.language properties.
  9867. *
  9868. */
  9869. locale: string;
  9870. /**
  9871. * A map of module names to paths relative to dojo.baseUrl. The
  9872. * key/value pairs correspond directly to the arguments which
  9873. * dojo.registerModulePath accepts. Specifying
  9874. * djConfig.modulePaths = { "foo": "../../bar" } is the equivalent
  9875. * of calling dojo.registerModulePath("foo", "../../bar");. Multiple
  9876. * modules may be configured via djConfig.modulePaths.
  9877. *
  9878. */
  9879. modulePaths: Object;
  9880. /**
  9881. * Run the parser after the page is loaded
  9882. *
  9883. */
  9884. parseOnLoad: boolean;
  9885. /**
  9886. * An array of module names to be loaded immediately after dojo.js has been included
  9887. * in a page.
  9888. *
  9889. */
  9890. require: Object;
  9891. /**
  9892. * Array containing the r, g, b components used as transparent color in dojo.Color;
  9893. * if undefined, [255,255,255] (white) will be used.
  9894. *
  9895. */
  9896. transparentColor: any[];
  9897. /**
  9898. * Used by dojox.analytics.Urchin as the default UA-123456-7 account
  9899. * number used when being created. Alternately, you can pass an acct:""
  9900. * parameter to the constructor a la: new dojox.analytics.Urchin({ acct:"UA-123456-7" });
  9901. *
  9902. */
  9903. urchin: string;
  9904. /**
  9905. * If set to a value that evaluates to true such as a string or array and
  9906. * isDebug is true and Firebug is not available or running, then it bypasses
  9907. * the creation of Firebug Lite allowing you to define your own console object.
  9908. *
  9909. */
  9910. useCustomLogger: Object;
  9911. /**
  9912. * Whether the deferred instrumentation should be used.
  9913. *
  9914. * "report-rejections": report each rejection as it occurs.
  9915. * true or 1 or "report-unhandled-rejections": wait 1 second
  9916. * in an attempt to detect unhandled rejections.
  9917. *
  9918. */
  9919. useDeferredInstrumentation: boolean;
  9920. }
  9921. /**
  9922. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.contentHandlers.html
  9923. *
  9924. * A map of available XHR transport handle types. Name matches the
  9925. * handleAs attribute passed to XHR calls.
  9926. * A map of available XHR transport handle types. Name matches the
  9927. * handleAs attribute passed to XHR calls. Each contentHandler is
  9928. * called, passing the xhr object for manipulation. The return value
  9929. * from the contentHandler will be passed to the load or handle
  9930. * functions defined in the original xhr call.
  9931. *
  9932. */
  9933. interface contentHandlers {
  9934. /**
  9935. *
  9936. * @param xhr
  9937. */
  9938. auto(xhr: any): void;
  9939. /**
  9940. * A contentHandler which evaluates the response data, expecting it to be valid JavaScript
  9941. *
  9942. * @param xhr
  9943. */
  9944. javascript(xhr: any): any;
  9945. /**
  9946. * A contentHandler which returns a JavaScript object created from the response data
  9947. *
  9948. * @param xhr
  9949. */
  9950. json(xhr: any): any;
  9951. /**
  9952. * A contentHandler which expects comment-filtered JSON.
  9953. * A contentHandler which expects comment-filtered JSON.
  9954. * the json-comment-filtered option was implemented to prevent
  9955. * "JavaScript Hijacking", but it is less secure than standard JSON. Use
  9956. * standard JSON instead. JSON prefixing can be used to subvert hijacking.
  9957. *
  9958. * Will throw a notice suggesting to use application/json mimetype, as
  9959. * json-commenting can introduce security issues. To decrease the chances of hijacking,
  9960. * use the standard json contentHandler, and prefix your "JSON" with: {}&&
  9961. *
  9962. * use djConfig.useCommentedJson = true to turn off the notice
  9963. *
  9964. * @param xhr
  9965. */
  9966. json_comment_filtered(xhr: any): any;
  9967. /**
  9968. * A contentHandler which checks the presence of comment-filtered JSON and
  9969. * alternates between the json and json-comment-filtered contentHandlers.
  9970. *
  9971. * @param xhr
  9972. */
  9973. json_comment_optional(xhr: any): any;
  9974. /**
  9975. *
  9976. * @param xhr
  9977. */
  9978. olson_zoneinfo(xhr: any): void;
  9979. /**
  9980. * A contentHandler which simply returns the plaintext response data
  9981. *
  9982. * @param xhr
  9983. */
  9984. text(xhr: any): any;
  9985. /**
  9986. * A contentHandler returning an XML Document parsed from the response data
  9987. *
  9988. * @param xhr
  9989. */
  9990. xml(xhr: any): any;
  9991. }
  9992. /**
  9993. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.dnd.html
  9994. *
  9995. *
  9996. */
  9997. interface dnd {
  9998. /**
  9999. * Used by dojo/dnd/Manager to scroll document or internal node when the user
  10000. * drags near the edge of the viewport or a scrollable node
  10001. *
  10002. */
  10003. autoscroll: Object;
  10004. /**
  10005. *
  10006. */
  10007. move: Object;
  10008. /**
  10009. *
  10010. */
  10011. AutoSource(): void;
  10012. /**
  10013. *
  10014. */
  10015. Avatar(): void;
  10016. /**
  10017. *
  10018. */
  10019. Container(): void;
  10020. /**
  10021. *
  10022. */
  10023. Manager(): void;
  10024. /**
  10025. *
  10026. */
  10027. Moveable(): void;
  10028. /**
  10029. *
  10030. */
  10031. Mover(): void;
  10032. /**
  10033. *
  10034. */
  10035. Selector(): void;
  10036. /**
  10037. *
  10038. */
  10039. Source(): void;
  10040. /**
  10041. *
  10042. */
  10043. Target(): void;
  10044. /**
  10045. *
  10046. */
  10047. TimedMoveable(): void;
  10048. }
  10049. /**
  10050. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.date.html
  10051. *
  10052. *
  10053. */
  10054. interface date {
  10055. /**
  10056. * TODOC
  10057. *
  10058. */
  10059. stamp: Object;
  10060. /**
  10061. * Add to a Date in intervals of different size, from milliseconds to years
  10062. *
  10063. * @param date Date object to start with
  10064. * @param interval A string representing the interval. One of the following:"year", "month", "day", "hour", "minute", "second","millisecond", "quarter", "week", "weekday"
  10065. * @param amount How much to add to the date.
  10066. */
  10067. add(date: Date, interval: String, amount: number): any;
  10068. /**
  10069. * Compare two date objects by date, time, or both.
  10070. * Returns 0 if equal, positive if a > b, else negative.
  10071. *
  10072. * @param date1 Date object
  10073. * @param date2 OptionalDate object. If not specified, the current Date is used.
  10074. * @param portion OptionalA string indicating the "date" or "time" portion of a Date object.Compares both "date" and "time" by default. One of the following:"date", "time", "datetime"
  10075. */
  10076. compare(date1: Date, date2?: Date, portion?: String): number;
  10077. /**
  10078. * Get the difference in a specific unit of time (e.g., number of
  10079. * months, weeks, days, etc.) between two dates, rounded to the
  10080. * nearest integer.
  10081. *
  10082. * @param date1 Date object
  10083. * @param date2 OptionalDate object. If not specified, the current Date is used.
  10084. * @param interval OptionalA string representing the interval. One of the following:"year", "month", "day", "hour", "minute", "second","millisecond", "quarter", "week", "weekday"Defaults to "day".
  10085. */
  10086. difference(date1: Date, date2?: Date, interval?: String): any;
  10087. /**
  10088. * Returns the number of days in the month used by dateObject
  10089. *
  10090. * @param dateObject
  10091. */
  10092. getDaysInMonth(dateObject: Date): number;
  10093. /**
  10094. * Get the user's time zone as provided by the browser
  10095. * Try to get time zone info from toString or toLocaleString method of
  10096. * the Date object -- UTC offset is not a time zone. See
  10097. * http://www.twinsun.com/tz/tz-link.htm Note: results may be
  10098. * inconsistent across browsers.
  10099. *
  10100. * @param dateObject Needed because the timezone may vary with time (daylight savings)
  10101. */
  10102. getTimezoneName(dateObject: Date): any;
  10103. /**
  10104. * Determines if the year of the dateObject is a leap year
  10105. * Leap years are years with an additional day YYYY-02-29, where the
  10106. * year number is a multiple of four with the following exception: If
  10107. * a year is a multiple of 100, then it is only a leap year if it is
  10108. * also a multiple of 400. For example, 1900 was not a leap year, but
  10109. * 2000 is one.
  10110. *
  10111. * @param dateObject
  10112. */
  10113. isLeapYear(dateObject: Date): boolean;
  10114. }
  10115. /**
  10116. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.doc.html
  10117. *
  10118. * Alias for the current document. 'doc' can be modified
  10119. * for temporary context shifting. See also withDoc().
  10120. * Use this rather than referring to 'window.document' to ensure your code runs
  10121. * correctly in managed contexts.
  10122. *
  10123. */
  10124. interface doc {
  10125. /**
  10126. *
  10127. */
  10128. documentElement: Object;
  10129. /**
  10130. *
  10131. */
  10132. dojoClick: boolean;
  10133. }
  10134. /**
  10135. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.data.html
  10136. *
  10137. *
  10138. */
  10139. interface data {
  10140. /**
  10141. *
  10142. */
  10143. api: Object;
  10144. /**
  10145. *
  10146. */
  10147. util: Object;
  10148. /**
  10149. *
  10150. */
  10151. ItemFileReadStore(): void;
  10152. /**
  10153. *
  10154. */
  10155. ItemFileWriteStore(): void;
  10156. /**
  10157. *
  10158. */
  10159. ObjectStore(): void;
  10160. }
  10161. /**
  10162. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.currency.html
  10163. *
  10164. * localized formatting and parsing routines for currencies
  10165. * extends dojo.number to provide culturally-appropriate formatting of values
  10166. * in various world currencies, including use of a currency symbol. The currencies are specified
  10167. * by a three-letter international symbol in all uppercase, and support for the currencies is
  10168. * provided by the data in dojo.cldr. The scripts generating dojo.cldr specify which
  10169. * currency support is included. A fixed number of decimal places is determined based
  10170. * on the currency type and is not determined by the 'pattern' argument. The fractional
  10171. * portion is optional, by default, and variable length decimals are not supported.
  10172. *
  10173. */
  10174. interface currency {
  10175. /**
  10176. * Format a Number as a currency, using locale-specific settings
  10177. * Create a string from a Number using a known, localized pattern.
  10178. * Formatting patterns
  10179. * appropriate to the locale are chosen from the CLDR
  10180. * as well as the appropriate symbols and delimiters and number of decimal places.
  10181. *
  10182. * @param value the number to be formatted.
  10183. * @param options Optional
  10184. */
  10185. format(value: number, options: dojo.currency.__FormatOptions): any;
  10186. /**
  10187. *
  10188. * @param expression
  10189. * @param options OptionalAn object with the following properties:type (String, optional): Should not be set. Value is assumed to be currency.currency (String, optional): an ISO4217 currency code, a three letter sequence like "USD".For use with dojo.currency only.symbol (String, optional): localized currency symbol. The default will be looked up in table of supported currencies in dojo.cldrA ISO4217 currency code will be used if not found.places (Number, optional): fixed number of decimal places to accept. The default is determined based on which currency is used.fractional (Boolean|Array, optional): Whether to include the fractional portion, where the number of decimal places are implied by the currencyor explicit 'places' parameter. The value [true,false] makes the fractional portion optional.By default for currencies, it the fractional portion is optional.pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization. Literal characters in patterns are not supported.locale (String, optional): override the locale used to determine formatting rulesstrict (Boolean, optional): strict parsing, false by default. Strict parsing requires input as produced by the format() method.Non-strict is more permissive, e.g. flexible on white space, omitting thousands separators
  10190. */
  10191. parse(expression: String, options?: Object): any;
  10192. /**
  10193. *
  10194. * @param options OptionalAn object with the following properties:pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization.type (String, optional): choose a format type based on the locale from the following:decimal, scientific (not yet supported), percent, currency. decimal by default.locale (String, optional): override the locale used to determine formatting rulesstrict (Boolean, optional): strict parsing, false by default. Strict parsing requires input as produced by the format() method.Non-strict is more permissive, e.g. flexible on white space, omitting thousands separatorsplaces (Number|String, optional): number of decimal places to accept: Infinity, a positive number, ora range "n,m". Defined by pattern or Infinity if pattern not provided.
  10195. */
  10196. regexp(options: Object): any;
  10197. }
  10198. /**
  10199. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.dijit.html
  10200. *
  10201. *
  10202. */
  10203. interface dijit {
  10204. /**
  10205. *
  10206. */
  10207. form: Object;
  10208. /**
  10209. *
  10210. */
  10211. layout: Object;
  10212. /**
  10213. * W3C range API
  10214. *
  10215. */
  10216. range: Object;
  10217. /**
  10218. *
  10219. */
  10220. registry: Object;
  10221. /**
  10222. *
  10223. */
  10224. tree: Object;
  10225. /**
  10226. *
  10227. * @param id
  10228. */
  10229. byId(id: any): any;
  10230. /**
  10231. *
  10232. */
  10233. Calendar(): void;
  10234. /**
  10235. *
  10236. */
  10237. CalendarLite(): void;
  10238. /**
  10239. *
  10240. */
  10241. CheckedMenuItem(): void;
  10242. /**
  10243. *
  10244. */
  10245. ColorPalette(): void;
  10246. /**
  10247. *
  10248. */
  10249. Declaration(): void;
  10250. /**
  10251. *
  10252. */
  10253. Destroyable(): void;
  10254. /**
  10255. *
  10256. */
  10257. Dialog(): void;
  10258. /**
  10259. *
  10260. */
  10261. DialogUnderlay(): void;
  10262. /**
  10263. *
  10264. */
  10265. DropDownMenu(): void;
  10266. /**
  10267. *
  10268. */
  10269. Dye(): void;
  10270. /**
  10271. *
  10272. */
  10273. Editor(): void;
  10274. /**
  10275. *
  10276. */
  10277. Fieldset(): void;
  10278. /**
  10279. *
  10280. */
  10281. InlineEditBox(): void;
  10282. /**
  10283. *
  10284. */
  10285. Menu(): void;
  10286. /**
  10287. *
  10288. */
  10289. MenuBar(): void;
  10290. /**
  10291. *
  10292. */
  10293. MenuBarItem(): void;
  10294. /**
  10295. *
  10296. */
  10297. MenuItem(): void;
  10298. /**
  10299. *
  10300. */
  10301. MenuSeparator(): void;
  10302. /**
  10303. *
  10304. */
  10305. PopupMenuBarItem(): void;
  10306. /**
  10307. *
  10308. */
  10309. PopupMenuItem(): void;
  10310. /**
  10311. *
  10312. */
  10313. ProgressBar(): void;
  10314. /**
  10315. *
  10316. */
  10317. RadioButtonMenuItem(): void;
  10318. /**
  10319. *
  10320. */
  10321. TitlePane(): void;
  10322. /**
  10323. *
  10324. */
  10325. Toolbar(): void;
  10326. /**
  10327. *
  10328. */
  10329. ToolbarSeparator(): void;
  10330. /**
  10331. *
  10332. */
  10333. Tooltip(): void;
  10334. /**
  10335. *
  10336. */
  10337. TooltipDialog(): void;
  10338. /**
  10339. *
  10340. */
  10341. Tree(): void;
  10342. /**
  10343. *
  10344. */
  10345. WidgetSet(): void;
  10346. }
  10347. /**
  10348. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.global.html
  10349. *
  10350. * Alias for the current window. 'global' can be modified
  10351. * for temporary context shifting. See also withGlobal().
  10352. * Use this rather than referring to 'window' to ensure your code runs
  10353. * correctly in managed contexts.
  10354. *
  10355. */
  10356. interface global {
  10357. /**
  10358. *
  10359. */
  10360. $(): any;
  10361. /**
  10362. *
  10363. * @param start
  10364. * @param data
  10365. * @param responseCode
  10366. * @param errorMsg
  10367. */
  10368. GoogleSearchStoreCallback_undefined_NaN(start: any, data: any, responseCode: any, errorMsg: any): void;
  10369. /**
  10370. *
  10371. */
  10372. jQuery(): any;
  10373. /**
  10374. *
  10375. */
  10376. swfIsInHTML(): void;
  10377. /**
  10378. *
  10379. */
  10380. undefined_onload(): void;
  10381. }
  10382. /**
  10383. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.gears.html
  10384. *
  10385. * TODOC
  10386. *
  10387. */
  10388. interface gears {
  10389. /**
  10390. * True if client is using Google Gears
  10391. *
  10392. */
  10393. available: Object;
  10394. }
  10395. /**
  10396. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.fx.html
  10397. *
  10398. * Effects library on top of Base animations
  10399. *
  10400. */
  10401. interface fx {
  10402. /**
  10403. * Collection of easing functions to use beyond the default
  10404. * dojo._defaultEasing function.
  10405. *
  10406. */
  10407. easing: Object;
  10408. /**
  10409. * Chain a list of dojo/_base/fx.Animations to run in sequence
  10410. * Return a dojo/_base/fx.Animation which will play all passed
  10411. * dojo/_base/fx.Animation instances in sequence, firing its own
  10412. * synthesized events simulating a single animation. (eg:
  10413. * onEnd of this animation means the end of the chain,
  10414. * not the individual animations within)
  10415. *
  10416. * @param animations
  10417. */
  10418. chain(animations: dojo._base.fx.Animation[]): any;
  10419. /**
  10420. * Combine a list of dojo/_base/fx.Animations to run in parallel
  10421. * Combine an array of dojo/_base/fx.Animations to run in parallel,
  10422. * providing a new dojo/_base/fx.Animation instance encompasing each
  10423. * animation, firing standard animation events.
  10424. *
  10425. * @param animations
  10426. */
  10427. combine(animations: dojo._base.fx.Animation[]): any;
  10428. /**
  10429. * Slide a node to a new top/left position
  10430. * Returns an animation that will slide "node"
  10431. * defined in args Object from its current position to
  10432. * the position defined by (args.left, args.top).
  10433. *
  10434. * @param args A hash-map of standard dojo/_base/fx.Animation constructor properties(such as easing: node: duration: and so on). Special args membersare top and left, which indicate the new position to slide to.
  10435. */
  10436. slideTo(args: Object): any;
  10437. /**
  10438. *
  10439. */
  10440. Toggler(): void;
  10441. /**
  10442. * Expand a node to it's natural height.
  10443. * Returns an animation that will expand the
  10444. * node defined in 'args' object from it's current height to
  10445. * it's natural height (with no scrollbar).
  10446. * Node must have no margin/border/padding.
  10447. *
  10448. * @param args A hash-map of standard dojo/_base/fx.Animation constructor properties(such as easing: node: duration: and so on)
  10449. */
  10450. wipeIn(args: Object): any;
  10451. /**
  10452. * Shrink a node to nothing and hide it.
  10453. * Returns an animation that will shrink node defined in "args"
  10454. * from it's current height to 1px, and then hide it.
  10455. *
  10456. * @param args A hash-map of standard dojo/_base/fx.Animation constructor properties(such as easing: node: duration: and so on)
  10457. */
  10458. wipeOut(args: Object): any;
  10459. }
  10460. /**
  10461. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.html.html
  10462. *
  10463. * TODOC
  10464. *
  10465. */
  10466. interface html {
  10467. /**
  10468. * inserts (replaces) the given content into the given node. dojo/dom-construct.place(cont, node, "only")
  10469. * may be a better choice for simple HTML insertion.
  10470. * Unless you need to use the params capabilities of this method, you should use
  10471. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct..place() has more robust support for injecting
  10472. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  10473. * elements, or inserting a DOM node. dojo/dom-construct..place does not handle NodeList insertions
  10474. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct.place() has more robust support for injecting
  10475. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  10476. * elements, or inserting a DOM node. dojo/dom-construct.place does not handle NodeList insertions
  10477. * or the other capabilities as defined by the params object for this method.
  10478. *
  10479. * @param node the parent element that will receive the content
  10480. * @param cont the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  10481. * @param params OptionalOptional flags/properties to configure the content-setting. See dojo/html/_ContentSetter
  10482. */
  10483. set(node: HTMLElement, cont: String, params?: Object): any;
  10484. /**
  10485. * inserts (replaces) the given content into the given node. dojo/dom-construct.place(cont, node, "only")
  10486. * may be a better choice for simple HTML insertion.
  10487. * Unless you need to use the params capabilities of this method, you should use
  10488. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct..place() has more robust support for injecting
  10489. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  10490. * elements, or inserting a DOM node. dojo/dom-construct..place does not handle NodeList insertions
  10491. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct.place() has more robust support for injecting
  10492. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  10493. * elements, or inserting a DOM node. dojo/dom-construct.place does not handle NodeList insertions
  10494. * or the other capabilities as defined by the params object for this method.
  10495. *
  10496. * @param node the parent element that will receive the content
  10497. * @param cont the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  10498. * @param params OptionalOptional flags/properties to configure the content-setting. See dojo/html/_ContentSetter
  10499. */
  10500. set(node: HTMLElement, cont: HTMLElement, params?: Object): any;
  10501. /**
  10502. * inserts (replaces) the given content into the given node. dojo/dom-construct.place(cont, node, "only")
  10503. * may be a better choice for simple HTML insertion.
  10504. * Unless you need to use the params capabilities of this method, you should use
  10505. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct..place() has more robust support for injecting
  10506. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  10507. * elements, or inserting a DOM node. dojo/dom-construct..place does not handle NodeList insertions
  10508. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct.place() has more robust support for injecting
  10509. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  10510. * elements, or inserting a DOM node. dojo/dom-construct.place does not handle NodeList insertions
  10511. * or the other capabilities as defined by the params object for this method.
  10512. *
  10513. * @param node the parent element that will receive the content
  10514. * @param cont the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  10515. * @param params OptionalOptional flags/properties to configure the content-setting. See dojo/html/_ContentSetter
  10516. */
  10517. set(node: HTMLElement, cont: NodeList, params?: Object): any;
  10518. }
  10519. /**
  10520. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.io.html
  10521. *
  10522. *
  10523. */
  10524. interface io {
  10525. /**
  10526. *
  10527. */
  10528. iframe: Object;
  10529. /**
  10530. * TODOC
  10531. *
  10532. */
  10533. script: Object;
  10534. }
  10535. /**
  10536. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.dojox.html
  10537. *
  10538. *
  10539. */
  10540. interface dojox {
  10541. /**
  10542. *
  10543. */
  10544. analytics: Object;
  10545. /**
  10546. *
  10547. */
  10548. app: Object;
  10549. /**
  10550. *
  10551. */
  10552. atom: Object;
  10553. /**
  10554. *
  10555. */
  10556. av: Object;
  10557. /**
  10558. *
  10559. */
  10560. BidiComplex: Object;
  10561. /**
  10562. *
  10563. */
  10564. calc: Object;
  10565. /**
  10566. *
  10567. */
  10568. calendar: Object;
  10569. /**
  10570. *
  10571. */
  10572. charting: Object;
  10573. /**
  10574. *
  10575. */
  10576. collections: Object;
  10577. /**
  10578. *
  10579. */
  10580. color: Object;
  10581. /**
  10582. *
  10583. */
  10584. css3: Object;
  10585. /**
  10586. *
  10587. */
  10588. data: Object;
  10589. /**
  10590. *
  10591. */
  10592. date: Object;
  10593. /**
  10594. *
  10595. */
  10596. dgauges: Object;
  10597. /**
  10598. *
  10599. */
  10600. dnd: Object;
  10601. /**
  10602. *
  10603. */
  10604. drawing: Object;
  10605. /**
  10606. *
  10607. */
  10608. dtl: Object;
  10609. /**
  10610. *
  10611. */
  10612. editor: Object;
  10613. /**
  10614. *
  10615. */
  10616. embed: Object;
  10617. /**
  10618. *
  10619. */
  10620. encoding: Object;
  10621. /**
  10622. *
  10623. */
  10624. enhanced: Object;
  10625. /**
  10626. * Utilities to embed and communicate with the Flash player from Javascript
  10627. *
  10628. */
  10629. flash: Object;
  10630. /**
  10631. *
  10632. */
  10633. form: Object;
  10634. /**
  10635. *
  10636. */
  10637. fx: Object;
  10638. /**
  10639. *
  10640. */
  10641. gantt: Object;
  10642. /**
  10643. *
  10644. */
  10645. gauges: Object;
  10646. /**
  10647. *
  10648. */
  10649. geo: Object;
  10650. /**
  10651. *
  10652. */
  10653. gesture: Object;
  10654. /**
  10655. *
  10656. */
  10657. gfx: Object;
  10658. /**
  10659. *
  10660. */
  10661. gfx3d: Object;
  10662. /**
  10663. *
  10664. */
  10665. grid: Object;
  10666. /**
  10667. *
  10668. */
  10669. help: Object;
  10670. /**
  10671. *
  10672. */
  10673. highlight: Object;
  10674. /**
  10675. *
  10676. */
  10677. html: Object;
  10678. /**
  10679. *
  10680. */
  10681. image: Object;
  10682. /**
  10683. *
  10684. */
  10685. io: Object;
  10686. /**
  10687. *
  10688. */
  10689. jq: Object;
  10690. /**
  10691. *
  10692. */
  10693. json: Object;
  10694. /**
  10695. *
  10696. */
  10697. jsonPath: Object;
  10698. /**
  10699. *
  10700. */
  10701. lang: Object;
  10702. /**
  10703. *
  10704. */
  10705. layout: Object;
  10706. /**
  10707. *
  10708. */
  10709. math: Object;
  10710. /**
  10711. *
  10712. */
  10713. mdnd: Object;
  10714. /**
  10715. *
  10716. */
  10717. mobile: Object;
  10718. /**
  10719. *
  10720. */
  10721. mvc: Object;
  10722. /**
  10723. *
  10724. */
  10725. openlayers: Object;
  10726. /**
  10727. *
  10728. */
  10729. rails: Object;
  10730. /**
  10731. *
  10732. */
  10733. robot: Object;
  10734. /**
  10735. *
  10736. */
  10737. rpc: Object;
  10738. /**
  10739. *
  10740. */
  10741. secure: Object;
  10742. /**
  10743. *
  10744. */
  10745. sketch: Object;
  10746. /**
  10747. *
  10748. */
  10749. sql: Object;
  10750. /**
  10751. *
  10752. */
  10753. string: Object;
  10754. /**
  10755. *
  10756. */
  10757. testing: Object;
  10758. /**
  10759. *
  10760. */
  10761. timing: Object;
  10762. /**
  10763. *
  10764. */
  10765. treemap: Object;
  10766. /**
  10767. *
  10768. */
  10769. uuid: Object;
  10770. /**
  10771. *
  10772. */
  10773. validate: Object;
  10774. /**
  10775. *
  10776. */
  10777. widget: Object;
  10778. /**
  10779. *
  10780. */
  10781. xml: Object;
  10782. /**
  10783. * Provides a simple socket connection using WebSocket, or alternate
  10784. * communication mechanisms in legacy browsers for comet-style communication. This is based
  10785. * on the WebSocket API and returns an object that implements the WebSocket interface:
  10786. * http://dev.w3.org/html5/websockets/#websocket
  10787. * Provides socket connections. This can be used with virtually any Comet protocol.
  10788. *
  10789. * @param argsOrUrl This uses the same arguments as the other I/O functions in Dojo, or aURL to connect to. The URL should be a relative URL in order to properlywork with WebSockets (it can still be host relative, like //other-site.org/endpoint)
  10790. */
  10791. socket(argsOrUrl: Object): any;
  10792. /**
  10793. *
  10794. * @param format
  10795. * @param filler
  10796. */
  10797. sprintf(format: String, filler: any): void;
  10798. }
  10799. /**
  10800. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.i18n.html
  10801. *
  10802. * This module implements the dojo/i18n! plugin and the v1.6- i18n API
  10803. * We choose to include our own plugin to leverage functionality already contained in dojo
  10804. * and thereby reduce the size of the plugin compared to various loader implementations. Also, this
  10805. * allows foreign AMD loaders to be used without their plugins.
  10806. *
  10807. */
  10808. interface i18n {
  10809. /**
  10810. *
  10811. */
  10812. cache: Object;
  10813. /**
  10814. *
  10815. */
  10816. dynamic: boolean;
  10817. /**
  10818. *
  10819. */
  10820. unitTests: any[];
  10821. /**
  10822. *
  10823. * @param moduleName
  10824. * @param bundleName
  10825. * @param locale
  10826. */
  10827. getL10nName(moduleName: any, bundleName: any, locale: any): String;
  10828. /**
  10829. *
  10830. * @param moduleName
  10831. * @param bundleName
  10832. * @param locale
  10833. */
  10834. getLocalization(moduleName: any, bundleName: any, locale: any): any;
  10835. /**
  10836. * id is in one of the following formats
  10837. *
  10838. * /nls/
  10839. * => load the bundle, localized to config.locale; load all bundles localized to
  10840. * config.extraLocale (if any); return the loaded bundle localized to config.locale.
  10841. * /nls//
  10842. * => load then return the bundle localized to
  10843. * preload/nls//
  10844. * => for config.locale and all config.extraLocale, load all bundles found
  10845. * in the best-matching bundle rollup. A value of 1 is returned, which
  10846. * is meaningless other than to say the plugin is executing the requested
  10847. * preloads
  10848. *
  10849. * In cases 1 and 2, is always normalized to an absolute module id upon entry; see
  10850. * normalize. In case 3, it is assumed to be absolute; this is arranged by the builder.
  10851. *
  10852. * To load a bundle means to insert the bundle into the plugin's cache and publish the bundle
  10853. * value to the loader. Given , , and a particular , the cache key
  10854. *
  10855. * <path>/nls/<bundle>/<locale>
  10856. * will hold the value. Similarly, then plugin will publish this value to the loader by
  10857. *
  10858. * define("<path>/nls/<bundle>/<locale>", <bundle-value>);
  10859. * Given this algorithm, other machinery can provide fast load paths be preplacing
  10860. * values in the plugin's cache, which is public. When a load is demanded the
  10861. * cache is inspected before starting any loading. Explicitly placing values in the plugin
  10862. * cache is an advanced/experimental feature that should not be needed; use at your own risk.
  10863. *
  10864. * For the normal AMD algorithm, the root bundle is loaded first, which instructs the
  10865. * plugin what additional localized bundles are required for a particular locale. These
  10866. * additional locales are loaded and a mix of the root and each progressively-specific
  10867. * locale is returned. For example:
  10868. *
  10869. * The client demands "dojo/i18n!some/path/nls/someBundle
  10870. * The loader demands load(some/path/nls/someBundle)
  10871. * This plugin require's "some/path/nls/someBundle", which is the root bundle.
  10872. * Assuming config.locale is "ab-cd-ef" and the root bundle indicates that localizations
  10873. * are available for "ab" and "ab-cd-ef" (note the missing "ab-cd", then the plugin
  10874. * requires "some/path/nls/ab/someBundle" and "some/path/nls/ab-cd-ef/someBundle"
  10875. * Upon receiving all required bundles, the plugin constructs the value of the bundle
  10876. * ab-cd-ef as...
  10877. * mixin(mixin(mixin({}, require("some/path/nls/someBundle"),
  10878. * require("some/path/nls/ab/someBundle")),
  10879. * require("some/path/nls/ab-cd-ef/someBundle"));
  10880. *
  10881. * This value is inserted into the cache and published to the loader at the
  10882. * key/module-id some/path/nls/someBundle/ab-cd-ef.
  10883. *
  10884. * The special preload signature (case 3) instructs the plugin to stop servicing all normal requests
  10885. * (further preload requests will be serviced) until all ongoing preloading has completed.
  10886. *
  10887. * The preload signature instructs the plugin that a special rollup module is available that contains
  10888. * one or more flattened, localized bundles. The JSON array of available locales indicates which locales
  10889. * are available. Here is an example:
  10890. *
  10891. * *preload*some/path/nls/someModule*["root", "ab", "ab-cd-ef"]
  10892. * This indicates the following rollup modules are available:
  10893. *
  10894. * some/path/nls/someModule_ROOT
  10895. * some/path/nls/someModule_ab
  10896. * some/path/nls/someModule_ab-cd-ef
  10897. * Each of these modules is a normal AMD module that contains one or more flattened bundles in a hash.
  10898. * For example, assume someModule contained the bundles some/bundle/path/someBundle and
  10899. * some/bundle/path/someOtherBundle, then some/path/nls/someModule_ab would be expressed as follows:
  10900. *
  10901. * define({
  10902. * some/bundle/path/someBundle:<value of someBundle, flattened with respect to locale ab>,
  10903. * some/bundle/path/someOtherBundle:<value of someOtherBundle, flattened with respect to locale ab>,
  10904. * });
  10905. * E.g., given this design, preloading for locale=="ab" can execute the following algorithm:
  10906. *
  10907. * require(["some/path/nls/someModule_ab"], function(rollup){
  10908. * for(var p in rollup){
  10909. * var id = p + "/ab",
  10910. * cache[id] = rollup[p];
  10911. * define(id, rollup[p]);
  10912. * }
  10913. * });
  10914. * Similarly, if "ab-cd" is requested, the algorithm can determine that "ab" is the best available and
  10915. * load accordingly.
  10916. *
  10917. * The builder will write such rollups for every layer if a non-empty localeList profile property is
  10918. * provided. Further, the builder will include the following cache entry in the cache associated with
  10919. * any layer.
  10920. *
  10921. * "*now":function(r){r(['dojo/i18n!*preload*<path>/nls/<module>*<JSON array of available locales>']);}
  10922. * The *now special cache module instructs the loader to apply the provided function to context-require
  10923. * with respect to the particular layer being defined. This causes the plugin to hold all normal service
  10924. * requests until all preloading is complete.
  10925. *
  10926. * Notice that this algorithm is rarely better than the standard AMD load algorithm. Consider the normal case
  10927. * where the target locale has a single segment and a layer depends on a single bundle:
  10928. *
  10929. * Without Preloads:
  10930. *
  10931. * Layer loads root bundle.
  10932. * bundle is demanded; plugin loads single localized bundle.
  10933. * With Preloads:
  10934. *
  10935. * Layer causes preloading of target bundle.
  10936. * bundle is demanded; service is delayed until preloading complete; bundle is returned.
  10937. * In each case a single transaction is required to load the target bundle. In cases where multiple bundles
  10938. * are required and/or the locale has multiple segments, preloads still requires a single transaction whereas
  10939. * the normal path requires an additional transaction for each additional bundle/locale-segment. However all
  10940. * of these additional transactions can be done concurrently. Owing to this analysis, the entire preloading
  10941. * algorithm can be discard during a build by setting the has feature dojo-preload-i18n-Api to false.
  10942. *
  10943. * @param id
  10944. * @param require
  10945. * @param load
  10946. */
  10947. load(id: any, require: any, load: any): void;
  10948. /**
  10949. * id may be relative.
  10950. * preload has form *preload*<path>/nls/<module>*<flattened locales> and
  10951. * therefore never looks like a relative
  10952. *
  10953. * @param id
  10954. * @param toAbsMid
  10955. */
  10956. normalize(id: any, toAbsMid: any): any;
  10957. /**
  10958. *
  10959. * @param locale
  10960. */
  10961. normalizeLocale(locale: any): any;
  10962. }
  10963. /**
  10964. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.mouseButtons.html
  10965. *
  10966. *
  10967. */
  10968. interface mouseButtons {
  10969. /**
  10970. * Numeric value of the left mouse button for the platform.
  10971. *
  10972. */
  10973. LEFT: number;
  10974. /**
  10975. * Numeric value of the middle mouse button for the platform.
  10976. *
  10977. */
  10978. MIDDLE: number;
  10979. /**
  10980. * Numeric value of the right mouse button for the platform.
  10981. *
  10982. */
  10983. RIGHT: number;
  10984. /**
  10985. * Checks an event object for a pressed button
  10986. *
  10987. * @param e Event object to examine
  10988. * @param button The button value (example: dojo.mouseButton.LEFT)
  10989. */
  10990. isButton(e: Event, button: number): boolean;
  10991. /**
  10992. * Checks an event object for the pressed left button
  10993. *
  10994. * @param e Event object to examine
  10995. */
  10996. isLeft(e: Event): boolean;
  10997. /**
  10998. * Checks an event object for the pressed middle button
  10999. *
  11000. * @param e Event object to examine
  11001. */
  11002. isMiddle(e: Event): boolean;
  11003. /**
  11004. * Checks an event object for the pressed right button
  11005. *
  11006. * @param e Event object to examine
  11007. */
  11008. isRight(e: Event): boolean;
  11009. }
  11010. /**
  11011. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.rpc.html
  11012. *
  11013. *
  11014. */
  11015. interface rpc {
  11016. /**
  11017. *
  11018. */
  11019. JsonpService(): void;
  11020. /**
  11021. *
  11022. */
  11023. JsonService(): void;
  11024. /**
  11025. *
  11026. */
  11027. RpcService(): void;
  11028. }
  11029. /**
  11030. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.regexp.html
  11031. *
  11032. * Regular expressions and Builder resources
  11033. *
  11034. */
  11035. interface regexp {
  11036. /**
  11037. * Builds a regular expression that groups subexpressions
  11038. * A utility function used by some of the RE generators. The
  11039. * subexpressions are constructed by the function, re, in the second
  11040. * parameter. re builds one subexpression for each elem in the array
  11041. * a, in the first parameter. Returns a string for a regular
  11042. * expression that groups all the subexpressions.
  11043. *
  11044. * @param arr A single value or an array of values.
  11045. * @param re A function. Takes one parameter and converts it to a regularexpression.
  11046. * @param nonCapture OptionalIf true, uses non-capturing match, otherwise matches are retainedby regular expression. Defaults to false
  11047. */
  11048. buildGroupRE(arr: Object, re: Function, nonCapture?: boolean): any;
  11049. /**
  11050. * Builds a regular expression that groups subexpressions
  11051. * A utility function used by some of the RE generators. The
  11052. * subexpressions are constructed by the function, re, in the second
  11053. * parameter. re builds one subexpression for each elem in the array
  11054. * a, in the first parameter. Returns a string for a regular
  11055. * expression that groups all the subexpressions.
  11056. *
  11057. * @param arr A single value or an array of values.
  11058. * @param re A function. Takes one parameter and converts it to a regularexpression.
  11059. * @param nonCapture OptionalIf true, uses non-capturing match, otherwise matches are retainedby regular expression. Defaults to false
  11060. */
  11061. buildGroupRE(arr: any[], re: Function, nonCapture?: boolean): any;
  11062. /**
  11063. * Adds escape sequences for special characters in regular expressions
  11064. *
  11065. * @param str
  11066. * @param except Optionala String with special characters to be left unescaped
  11067. */
  11068. escapeString(str: String, except?: String): any;
  11069. /**
  11070. * adds group match to expression
  11071. *
  11072. * @param expression
  11073. * @param nonCapture OptionalIf true, uses non-capturing match, otherwise matches are retainedby regular expression.
  11074. */
  11075. group(expression: String, nonCapture?: boolean): String;
  11076. }
  11077. /**
  11078. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.number.html
  11079. *
  11080. * localized formatting and parsing routines for Number
  11081. *
  11082. */
  11083. interface number_ {
  11084. /**
  11085. * Format a Number as a String, using locale-specific settings
  11086. * Create a string from a Number using a known localized pattern.
  11087. * Formatting patterns appropriate to the locale are chosen from the
  11088. * Common Locale Data Repository as well as the appropriate symbols and
  11089. * delimiters.
  11090. * If value is Infinity, -Infinity, or is not a valid JavaScript number, return null.
  11091. *
  11092. * @param value the number to be formatted
  11093. * @param options OptionalAn object with the following properties:pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization. Literal characters in patterns are not supported.type (String, optional): choose a format type based on the locale from the following:decimal, scientific (not yet supported), percent, currency. decimal by default.places (Number, optional): fixed number of decimal places to show. This overrides anyinformation in the provided pattern.round (Number, optional): 5 rounds to nearest .5; 0 rounds to nearest whole (default). -1means do not round.locale (String, optional): override the locale used to determine formatting rulesfractional (Boolean, optional): If false, show no decimal places, overriding places and pattern settings.
  11094. */
  11095. format(value: number, options?: Object): any;
  11096. /**
  11097. * Convert a properly formatted string to a primitive Number, using
  11098. * locale-specific settings.
  11099. * Create a Number from a string using a known localized pattern.
  11100. * Formatting patterns are chosen appropriate to the locale
  11101. * and follow the syntax described by
  11102. * unicode.org TR35
  11103. * Note that literal characters in patterns are not supported.
  11104. *
  11105. * @param expression A string representation of a Number
  11106. * @param options OptionalAn object with the following properties:pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization. Literal characters in patterns are not supported.type (String, optional): choose a format type based on the locale from the following:decimal, scientific (not yet supported), percent, currency. decimal by default.locale (String, optional): override the locale used to determine formatting rulesstrict (Boolean, optional): strict parsing, false by default. Strict parsing requires input as produced by the format() method.Non-strict is more permissive, e.g. flexible on white space, omitting thousands separatorsfractional (Boolean|Array, optional): Whether to include the fractional portion, where the number of decimal places are implied by patternor explicit 'places' parameter. The value [true,false] makes the fractional portion optional.
  11107. */
  11108. parse(expression: String, options?: Object): number;
  11109. /**
  11110. * Builds the regular needed to parse a number
  11111. * Returns regular expression with positive and negative match, group
  11112. * and decimal separators
  11113. *
  11114. * @param options OptionalAn object with the following properties:pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization.type (String, optional): choose a format type based on the locale from the following:decimal, scientific (not yet supported), percent, currency. decimal by default.locale (String, optional): override the locale used to determine formatting rulesstrict (Boolean, optional): strict parsing, false by default. Strict parsing requires input as produced by the format() method.Non-strict is more permissive, e.g. flexible on white space, omitting thousands separatorsplaces (Number|String, optional): number of decimal places to accept: Infinity, a positive number, ora range "n,m". Defined by pattern or Infinity if pattern not provided.
  11115. */
  11116. regexp(options: Object): any;
  11117. /**
  11118. * Rounds to the nearest value with the given number of decimal places, away from zero
  11119. * Rounds to the nearest value with the given number of decimal places, away from zero if equal.
  11120. * Similar to Number.toFixed(), but compensates for browser quirks. Rounding can be done by
  11121. * fractional increments also, such as the nearest quarter.
  11122. * NOTE: Subject to floating point errors. See dojox/math/round for experimental workaround.
  11123. *
  11124. * @param value The number to round
  11125. * @param places OptionalThe number of decimal places where rounding takes place. Defaults to 0 for whole rounding.Must be non-negative.
  11126. * @param increment OptionalRounds next place to nearest value of increment/10. 10 by default.
  11127. */
  11128. round(value: number, places?: number, increment?: number): number;
  11129. }
  11130. /**
  11131. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.scopeMap.html
  11132. *
  11133. *
  11134. */
  11135. interface scopeMap {
  11136. /**
  11137. *
  11138. */
  11139. dijit: any[];
  11140. /**
  11141. *
  11142. */
  11143. dojo: any[];
  11144. /**
  11145. *
  11146. */
  11147. dojox: any[];
  11148. }
  11149. /**
  11150. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.tests.html
  11151. *
  11152. * D.O.H. Test files for Dojo unit testing.
  11153. *
  11154. */
  11155. interface tests {
  11156. }
  11157. /**
  11158. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.keys.html
  11159. *
  11160. * Definitions for common key values. Client code should test keyCode against these named constants,
  11161. * as the actual codes can vary by browser.
  11162. *
  11163. */
  11164. interface keys {
  11165. /**
  11166. *
  11167. */
  11168. ALT: number;
  11169. /**
  11170. *
  11171. */
  11172. BACKSPACE: number;
  11173. /**
  11174. *
  11175. */
  11176. CAPS_LOCK: number;
  11177. /**
  11178. *
  11179. */
  11180. CLEAR: number;
  11181. /**
  11182. *
  11183. */
  11184. copyKey: number;
  11185. /**
  11186. *
  11187. */
  11188. CTRL: number;
  11189. /**
  11190. *
  11191. */
  11192. DELETE: number;
  11193. /**
  11194. *
  11195. */
  11196. DOWN_ARROW: number;
  11197. /**
  11198. *
  11199. */
  11200. DOWN_DPAD: number;
  11201. /**
  11202. *
  11203. */
  11204. END: number;
  11205. /**
  11206. *
  11207. */
  11208. ENTER: number;
  11209. /**
  11210. *
  11211. */
  11212. ESCAPE: number;
  11213. /**
  11214. *
  11215. */
  11216. F1: number;
  11217. /**
  11218. *
  11219. */
  11220. F10: number;
  11221. /**
  11222. *
  11223. */
  11224. F11: number;
  11225. /**
  11226. *
  11227. */
  11228. F12: number;
  11229. /**
  11230. *
  11231. */
  11232. F13: number;
  11233. /**
  11234. *
  11235. */
  11236. F14: number;
  11237. /**
  11238. *
  11239. */
  11240. F15: number;
  11241. /**
  11242. *
  11243. */
  11244. F2: number;
  11245. /**
  11246. *
  11247. */
  11248. F3: number;
  11249. /**
  11250. *
  11251. */
  11252. F4: number;
  11253. /**
  11254. *
  11255. */
  11256. F5: number;
  11257. /**
  11258. *
  11259. */
  11260. F6: number;
  11261. /**
  11262. *
  11263. */
  11264. F7: number;
  11265. /**
  11266. *
  11267. */
  11268. F8: number;
  11269. /**
  11270. *
  11271. */
  11272. F9: number;
  11273. /**
  11274. *
  11275. */
  11276. HELP: number;
  11277. /**
  11278. *
  11279. */
  11280. HOME: number;
  11281. /**
  11282. *
  11283. */
  11284. INSERT: number;
  11285. /**
  11286. *
  11287. */
  11288. LEFT_ARROW: number;
  11289. /**
  11290. *
  11291. */
  11292. LEFT_DPAD: number;
  11293. /**
  11294. *
  11295. */
  11296. LEFT_WINDOW: number;
  11297. /**
  11298. *
  11299. */
  11300. META: number;
  11301. /**
  11302. *
  11303. */
  11304. NUM_LOCK: number;
  11305. /**
  11306. *
  11307. */
  11308. NUMPAD_0: number;
  11309. /**
  11310. *
  11311. */
  11312. NUMPAD_1: number;
  11313. /**
  11314. *
  11315. */
  11316. NUMPAD_2: number;
  11317. /**
  11318. *
  11319. */
  11320. NUMPAD_3: number;
  11321. /**
  11322. *
  11323. */
  11324. NUMPAD_4: number;
  11325. /**
  11326. *
  11327. */
  11328. NUMPAD_5: number;
  11329. /**
  11330. *
  11331. */
  11332. NUMPAD_6: number;
  11333. /**
  11334. *
  11335. */
  11336. NUMPAD_7: number;
  11337. /**
  11338. *
  11339. */
  11340. NUMPAD_8: number;
  11341. /**
  11342. *
  11343. */
  11344. NUMPAD_9: number;
  11345. /**
  11346. *
  11347. */
  11348. NUMPAD_DIVIDE: number;
  11349. /**
  11350. *
  11351. */
  11352. NUMPAD_ENTER: number;
  11353. /**
  11354. *
  11355. */
  11356. NUMPAD_MINUS: number;
  11357. /**
  11358. *
  11359. */
  11360. NUMPAD_MULTIPLY: number;
  11361. /**
  11362. *
  11363. */
  11364. NUMPAD_PERIOD: number;
  11365. /**
  11366. *
  11367. */
  11368. NUMPAD_PLUS: number;
  11369. /**
  11370. *
  11371. */
  11372. PAGE_DOWN: number;
  11373. /**
  11374. *
  11375. */
  11376. PAGE_UP: number;
  11377. /**
  11378. *
  11379. */
  11380. PAUSE: number;
  11381. /**
  11382. *
  11383. */
  11384. RIGHT_ARROW: number;
  11385. /**
  11386. *
  11387. */
  11388. RIGHT_DPAD: number;
  11389. /**
  11390. *
  11391. */
  11392. RIGHT_WINDOW: number;
  11393. /**
  11394. *
  11395. */
  11396. SCROLL_LOCK: number;
  11397. /**
  11398. *
  11399. */
  11400. SELECT: number;
  11401. /**
  11402. *
  11403. */
  11404. SHIFT: number;
  11405. /**
  11406. *
  11407. */
  11408. SPACE: number;
  11409. /**
  11410. *
  11411. */
  11412. TAB: number;
  11413. /**
  11414. *
  11415. */
  11416. UP_ARROW: number;
  11417. /**
  11418. *
  11419. */
  11420. UP_DPAD: number;
  11421. }
  11422. /**
  11423. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.store.html
  11424. *
  11425. *
  11426. */
  11427. interface store {
  11428. /**
  11429. *
  11430. */
  11431. util: Object;
  11432. /**
  11433. *
  11434. * @param masterStore
  11435. * @param cachingStore
  11436. * @param options
  11437. */
  11438. Cache(masterStore: any, cachingStore: any, options: any): any;
  11439. /**
  11440. *
  11441. */
  11442. DataStore(): void;
  11443. /**
  11444. *
  11445. */
  11446. JsonRest(): void;
  11447. /**
  11448. *
  11449. */
  11450. Memory(): void;
  11451. /**
  11452. * The Observable store wrapper takes a store and sets an observe method on query()
  11453. * results that can be used to monitor results for changes.
  11454. * Observable wraps an existing store so that notifications can be made when a query
  11455. * is performed.
  11456. *
  11457. * @param store
  11458. */
  11459. Observable(store: dojo.store.api.Store): any;
  11460. }
  11461. /**
  11462. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.string.html
  11463. *
  11464. * String utilities for Dojo
  11465. *
  11466. */
  11467. interface string_ {
  11468. /**
  11469. * Pad a string to guarantee that it is at least size length by
  11470. * filling with the character ch at either the start or end of the
  11471. * string. Pads at the start, by default.
  11472. *
  11473. * @param text the string to pad
  11474. * @param size length to provide padding
  11475. * @param ch Optionalcharacter to pad, defaults to '0'
  11476. * @param end Optionaladds padding at the end if true, otherwise pads at start
  11477. */
  11478. pad(text: String, size: number, ch?: String, end?: boolean): number;
  11479. /**
  11480. * Efficiently replicate a string n times.
  11481. *
  11482. * @param str the string to replicate
  11483. * @param num number of times to replicate the string
  11484. */
  11485. rep(str: String, num: number): String;
  11486. /**
  11487. * Performs parameterized substitutions on a string. Throws an
  11488. * exception if any parameter is unmatched.
  11489. *
  11490. * @param template a string with expressions in the form ${key} to be replaced or${key:format} which specifies a format function. keys are case-sensitive.
  11491. * @param map hash to search for substitutions
  11492. * @param transform Optionala function to process all parameters before substitution takesplace, e.g. mylib.encodeXML
  11493. * @param thisObject Optionalwhere to look for optional format function; default to the globalnamespace
  11494. */
  11495. substitute(template: String, map: Object, transform?: Function, thisObject?: Object): any;
  11496. /**
  11497. * Performs parameterized substitutions on a string. Throws an
  11498. * exception if any parameter is unmatched.
  11499. *
  11500. * @param template a string with expressions in the form ${key} to be replaced or${key:format} which specifies a format function. keys are case-sensitive.
  11501. * @param map hash to search for substitutions
  11502. * @param transform Optionala function to process all parameters before substitution takesplace, e.g. mylib.encodeXML
  11503. * @param thisObject Optionalwhere to look for optional format function; default to the globalnamespace
  11504. */
  11505. substitute(template: String, map: any[], transform?: Function, thisObject?: Object): any;
  11506. /**
  11507. * Trims whitespace from both sides of the string
  11508. * This version of trim() was taken from Steven Levithan's blog.
  11509. * The short yet performant version of this function is dojo/_base/lang.trim(),
  11510. * which is part of Dojo base. Uses String.prototype.trim instead, if available.
  11511. *
  11512. * @param str String to be trimmed
  11513. */
  11514. trim(str: String): String;
  11515. }
  11516. /**
  11517. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.version.html
  11518. *
  11519. * Version number of the Dojo Toolkit
  11520. * Hash about the version, including
  11521. *
  11522. * major: Integer: Major version. If total version is "1.2.0beta1", will be 1
  11523. * minor: Integer: Minor version. If total version is "1.2.0beta1", will be 2
  11524. * patch: Integer: Patch version. If total version is "1.2.0beta1", will be 0
  11525. * flag: String: Descriptor flag. If total version is "1.2.0beta1", will be "beta1"
  11526. * revision: Number: The Git rev from which dojo was pulled
  11527. *
  11528. */
  11529. interface version {
  11530. /**
  11531. *
  11532. */
  11533. flag: string;
  11534. /**
  11535. *
  11536. */
  11537. major: number;
  11538. /**
  11539. *
  11540. */
  11541. minor: number;
  11542. /**
  11543. *
  11544. */
  11545. patch: number;
  11546. /**
  11547. *
  11548. */
  11549. revision: number;
  11550. /**
  11551. *
  11552. */
  11553. toString(): String;
  11554. }
  11555. /**
  11556. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.touch.html
  11557. *
  11558. * This module provides unified touch event handlers by exporting
  11559. * press, move, release and cancel which can also run well on desktop.
  11560. * Based on http://dvcs.w3.org/hg/webevents/raw-file/tip/touchevents.html
  11561. * Also, if the dojoClick property is set to truthy on a DOM node, dojo/touch generates
  11562. * click events immediately for this node and its descendants (except for descendants that
  11563. * have a dojoClick property set to falsy), to avoid the delay before native browser click events,
  11564. * and regardless of whether evt.preventDefault() was called in a touch.press event listener.
  11565. *
  11566. */
  11567. interface touch {
  11568. /**
  11569. * Register a listener to 'touchcancel'|'mouseleave' for the given node
  11570. *
  11571. * @param node Target node to listen to
  11572. * @param listener Callback function
  11573. */
  11574. cancel(node: HTMLElement, listener: Function): any;
  11575. /**
  11576. * Register a listener to mouse.enter or touch equivalent for the given node
  11577. *
  11578. * @param node Target node to listen to
  11579. * @param listener Callback function
  11580. */
  11581. enter(node: HTMLElement, listener: Function): any;
  11582. /**
  11583. * Register a listener to mouse.leave or touch equivalent for the given node
  11584. *
  11585. * @param node Target node to listen to
  11586. * @param listener Callback function
  11587. */
  11588. leave(node: HTMLElement, listener: Function): any;
  11589. /**
  11590. * Register a listener that fires when the mouse cursor or a finger is dragged over the given node.
  11591. *
  11592. * @param node Target node to listen to
  11593. * @param listener Callback function
  11594. */
  11595. move(node: HTMLElement, listener: Function): any;
  11596. /**
  11597. * Register a listener to 'mouseout' or touch equivalent for the given node
  11598. *
  11599. * @param node Target node to listen to
  11600. * @param listener Callback function
  11601. */
  11602. out(node: HTMLElement, listener: Function): any;
  11603. /**
  11604. * Register a listener to 'mouseover' or touch equivalent for the given node
  11605. *
  11606. * @param node Target node to listen to
  11607. * @param listener Callback function
  11608. */
  11609. over(node: HTMLElement, listener: Function): any;
  11610. /**
  11611. * Register a listener to 'touchstart'|'mousedown' for the given node
  11612. *
  11613. * @param node Target node to listen to
  11614. * @param listener Callback function
  11615. */
  11616. press(node: HTMLElement, listener: Function): any;
  11617. /**
  11618. * Register a listener to releasing the mouse button while the cursor is over the given node
  11619. * (i.e. "mouseup") or for removing the finger from the screen while touching the given node.
  11620. *
  11621. * @param node Target node to listen to
  11622. * @param listener Callback function
  11623. */
  11624. release(node: HTMLElement, listener: Function): any;
  11625. }
  11626. /**
  11627. * Permalink: http://dojotoolkit.org/api/1.9/dojo/_base/kernel.window.html
  11628. *
  11629. * TODOC
  11630. *
  11631. */
  11632. interface window {
  11633. /**
  11634. * Get window object associated with document doc.
  11635. *
  11636. * @param doc The document to get the associated window for.
  11637. */
  11638. get(doc: HTMLDocument): any;
  11639. /**
  11640. * Returns the dimensions and scroll position of the viewable area of a browser window
  11641. *
  11642. * @param doc Optional
  11643. */
  11644. getBox(doc?: HTMLDocument): Object;
  11645. /**
  11646. * Scroll the passed node into view using minimal movement, if it is not already.
  11647. *
  11648. * @param node
  11649. * @param pos Optional
  11650. */
  11651. scrollIntoView(node: HTMLElement, pos?: Object): void;
  11652. }
  11653. }
  11654. }
  11655. module _firebug {
  11656. namespace firebug {
  11657. }
  11658. }
  11659. namespace cldr {
  11660. /**
  11661. * Permalink: http://dojotoolkit.org/api/1.9/dojo/cldr/monetary.html
  11662. *
  11663. * TODOC
  11664. *
  11665. */
  11666. interface monetary {
  11667. /**
  11668. * A mapping of currency code to currency-specific formatting information. Returns a unique object with properties: places, round.
  11669. *
  11670. * @param code an ISO 4217 currency code
  11671. */
  11672. getData(code: String): Object;
  11673. }
  11674. /**
  11675. * Permalink: http://dojotoolkit.org/api/1.9/dojo/cldr/supplemental.html
  11676. *
  11677. * TODOC
  11678. *
  11679. */
  11680. interface supplemental {
  11681. /**
  11682. * Returns a zero-based index for first day of the week
  11683. * Returns a zero-based index for first day of the week, as used by the local (Gregorian) calendar.
  11684. * e.g. Sunday (returns 0), or Monday (returns 1)
  11685. *
  11686. * @param locale Optional
  11687. */
  11688. getFirstDayOfWeek(locale?: String): number;
  11689. /**
  11690. * Returns a hash containing the start and end days of the weekend
  11691. * Returns a hash containing the start and end days of the weekend according to local custom using locale,
  11692. * or by default in the user's locale.
  11693. * e.g. {start:6, end:0}
  11694. *
  11695. * @param locale Optional
  11696. */
  11697. getWeekend(locale?: String): Object;
  11698. }
  11699. }
  11700. namespace data {
  11701. /**
  11702. * Permalink: http://dojotoolkit.org/api/1.9/dojo/data/ItemFileReadStore.html
  11703. *
  11704. * The ItemFileReadStore implements the dojo/data/api/Read API and reads
  11705. * data from JSON files that have contents in this format --
  11706. *
  11707. * { items: [
  11708. * { name:'Kermit', color:'green', age:12, friends:['Gonzo', {_reference:{name:'Fozzie Bear'}}]},
  11709. * { name:'Fozzie Bear', wears:['hat', 'tie']},
  11710. * { name:'Miss Piggy', pets:'Foo-Foo'}
  11711. * ]}
  11712. * Note that it can also contain an 'identifier' property that specified which attribute on the items
  11713. *
  11714. * in the array of items that acts as the unique identifier for that item.
  11715. *
  11716. * @param keywordParameters {url: String} {data: jsonObject} {typeMap: object}The structure of the typeMap object is as follows:{ type0: function || object, type1: function || object, ... typeN: function || object}Where if it is a function, it is assumed to be an object constructor that takes thevalue of _value as the initialization parameters. If it is an object, then it is assumedto be an object of general form:{ type: function, //constructor. deserialize: function(value) //The function that parses the value and constructs the object defined by type appropriately.}
  11717. */
  11718. class ItemFileReadStore extends dojo.Evented {
  11719. constructor(keywordParameters: Object);
  11720. /**
  11721. * Parameter to allow users to specify if a close call should force a reload or not.
  11722. * By default, it retains the old behavior of not clearing if close is called. But
  11723. * if set true, the store will be reset to default state. Note that by doing this,
  11724. * all item handles will become invalid and a new fetch must be issued.
  11725. *
  11726. */
  11727. "clearOnClose": boolean;
  11728. /**
  11729. *
  11730. */
  11731. "data": Object;
  11732. /**
  11733. * Parameter for specifying that it is OK for the xhrGet call to fail silently.
  11734. *
  11735. */
  11736. "failOk": boolean;
  11737. /**
  11738. * Parameter to indicate to process data from the url as hierarchical
  11739. * (data items can contain other data items in js form). Default is true
  11740. * for backwards compatibility. False means only root items are processed
  11741. * as items, all child objects outside of type-mapped objects and those in
  11742. * specific reference format, are left straight JS data objects.
  11743. *
  11744. */
  11745. "hierarchical": boolean;
  11746. /**
  11747. *
  11748. */
  11749. "typeMap": Object;
  11750. /**
  11751. *
  11752. */
  11753. "url": string;
  11754. /**
  11755. * Parameter to allow specifying if preventCache should be passed to the xhrGet call or not when loading data from a url.
  11756. * Note this does not mean the store calls the server on each fetch, only that the data load has preventCache set as an option.
  11757. * Added for tracker: #6072
  11758. *
  11759. */
  11760. "urlPreventCache": boolean;
  11761. /**
  11762. * See dojo/data/api/Read.close()
  11763. *
  11764. * @param request Optional
  11765. */
  11766. close(request?: dojo.data.api.Request ): void;
  11767. /**
  11768. * See dojo/data/api/Read.close()
  11769. *
  11770. * @param request Optional
  11771. */
  11772. close(request?: Object): void;
  11773. /**
  11774. * See dojo/data/api/Read.containsValue()
  11775. *
  11776. * @param item
  11777. * @param attribute
  11778. * @param value
  11779. */
  11780. containsValue(item: dojo.data.api.Item, attribute: String, value: any): any;
  11781. /**
  11782. *
  11783. * @param type
  11784. * @param event
  11785. */
  11786. emit(type: any, event: any): any;
  11787. /**
  11788. * The error handler when there is an error fetching items. This function should not be called
  11789. * directly and is used by simpleFetch.fetch().
  11790. *
  11791. * @param errorData
  11792. * @param requestObject
  11793. */
  11794. errorHandler(errorData: Object, requestObject: Object): void;
  11795. /**
  11796. * The simpleFetch mixin is designed to serve as a set of function(s) that can
  11797. * be mixed into other datastore implementations to accelerate their development.
  11798. * The simpleFetch mixin should work well for any datastore that can respond to a _fetchItems()
  11799. * call by returning an array of all the found items that matched the query. The simpleFetch mixin
  11800. * is not designed to work for datastores that respond to a fetch() call by incrementally
  11801. * loading items, or sequentially loading partial batches of the result
  11802. * set. For datastores that mixin simpleFetch, simpleFetch
  11803. * implements a fetch method that automatically handles eight of the fetch()
  11804. * arguments -- onBegin, onItem, onComplete, onError, start, count, sort and scope
  11805. * The class mixing in simpleFetch should not implement fetch(),
  11806. * but should instead implement a _fetchItems() method. The _fetchItems()
  11807. * method takes three arguments, the keywordArgs object that was passed
  11808. * to fetch(), a callback function to be called when the result array is
  11809. * available, and an error callback to be called if something goes wrong.
  11810. * The _fetchItems() method should ignore any keywordArgs parameters for
  11811. * start, count, onBegin, onItem, onComplete, onError, sort, and scope.
  11812. * The _fetchItems() method needs to correctly handle any other keywordArgs
  11813. * parameters, including the query parameter and any optional parameters
  11814. * (such as includeChildren). The _fetchItems() method should create an array of
  11815. * result items and pass it to the fetchHandler along with the original request object --
  11816. * or, the _fetchItems() method may, if it wants to, create an new request object
  11817. * with other specifics about the request that are specific to the datastore and pass
  11818. * that as the request object to the handler.
  11819. *
  11820. * For more information on this specific function, see dojo/data/api/Read.fetch()
  11821. *
  11822. * @param request OptionalThe keywordArgs parameter may either be an instance ofconforming to dojo/data/api/Request or may be a simple anonymous objectthat may contain any of the following:{ query: query-object or query-string, queryOptions: object, onBegin: Function, onItem: Function, onComplete: Function, onError: Function, scope: object, start: int count: int sort: array}All implementations should accept keywordArgs objects with any ofthe 9 standard properties: query, onBegin, onItem, onComplete, onErrorscope, sort, start, and count. Some implementations may accept additionalproperties in the keywordArgs object as valid parameters, such as{includeOutliers:true}.The query parameterThe query may be optional in some data store implementations.The dojo/data/api/Read API does not specify the syntax or semanticsof the query itself -- each different data store implementationmay have its own notion of what a query should look like.However, as of dojo 0.9, 1.0, and 1.1, all the provided datastores in dojo.dataand dojox.data support an object structure query, where the object is a set ofname/value parameters such as { attrFoo: valueBar, attrFoo1: valueBar1}. Most of thedijit widgets, such as ComboBox assume this to be the case when working with a datastorewhen they dynamically update the query. Therefore, for maximum compatibility with dijitwidgets the recommended query parameter is a key/value object. That does not mean that thethe datastore may not take alternative query forms, such as a simple string, a Date, a number,or a mix of such. Ultimately, The dojo/data/api/Read API is agnostic about what the queryformat.Further note: In general for query objects that accept strings as attributevalue matches, the store should also support basic filtering capability, such as (match any character) and ? (match single character). An example query that is a query objectwould be like: { attrFoo: "value"}. Which generally means match all items where they havean attribute named attrFoo, with a value that starts with 'value'.The queryOptions parameterThe queryOptions parameter is an optional parameter used to specify options that may modifythe query in some fashion, such as doing a case insensitive search, or doing a deep searchwhere all items in a hierarchical representation of data are scanned instead of just the rootitems. It currently defines two options that all datastores should attempt to honor if possible:{ ignoreCase: boolean, // Whether or not the query should match case sensitively or not. Default behaviour is false. deep: boolean // Whether or not a fetch should do a deep search of items and all child // items instead of just root-level items in a datastore. Default is false.}The onBegin parameter.function(size, request);If an onBegin callback function is provided, the callback functionwill be called just once, before the first onItem callback is called.The onBegin callback function will be passed two arguments, thethe total number of items identified and the Request object. If the total number isunknown, then size will be -1. Note that size is not necessarily the size of thecollection of items returned from the query, as the request may have specified to return only asubset of the total set of items through the use of the start and count parameters.The onItem parameter.function(item, request);If an onItem callback function is provided, the callback functionwill be called as each item in the result is received. The callbackfunction will be passed two arguments: the item itself, and theRequest object.The onComplete parameter.function(items, request);If an onComplete callback function is provided, the callback functionwill be called just once, after the last onItem callback is called.Note that if the onItem callback is not present, then onComplete will be passedan array containing all items which matched the query and the request object.If the onItem callback is present, then onComplete is called as:onComplete(null, request).The onError parameter.function(errorData, request);If an onError callback function is provided, the callback functionwill be called if there is any sort of error while attempting toexecute the query.The onError callback function will be passed two arguments:an Error object and the Request object.The scope parameter.If a scope object is provided, all of the callback functions (onItem,onComplete, onError, etc) will be invoked in the context of the scopeobject. In the body of the callback function, the value of the "this"keyword will be the scope object. If no scope object is provided,the callback functions will be called in the context of dojo.global().For example, onItem.call(scope, item, request) vs.onItem.call(dojo.global(), item, request)The start parameter.If a start parameter is specified, this is a indication to the datastore toonly start returning items once the start number of items have been located andskipped. When this parameter is paired with 'count', the store should be ableto page across queries with millions of hits by only returning subsets of thehits for each queryThe count parameter.If a count parameter is specified, this is a indication to the datastore toonly return up to that many items. This allows a fetch call that may havemillions of item matches to be paired down to something reasonable.The sort parameter.If a sort parameter is specified, this is a indication to the datastore tosort the items in some manner before returning the items. The array is an array ofjavascript objects that must conform to the following format to be applied to thefetching of items:{ attribute: attribute || attribute-name-string, descending: true|false; // Optional. Default is false.}Note that when comparing attributes, if an item contains no value for the attribute(undefined), then it the default ascending sort logic should push it to the bottomof the list. In the descending order case, it such items should appear at the top of the list.
  11823. */
  11824. fetch(request: Object): void;
  11825. /**
  11826. * The handler when items are sucessfully fetched. This function should not be called directly
  11827. * and is used by simpleFetch.fetch().
  11828. *
  11829. * @param items
  11830. * @param requestObject
  11831. */
  11832. fetchHandler(items: any[], requestObject: Object): void;
  11833. /**
  11834. * See dojo/data/api/Identity.fetchItemByIdentity()
  11835. *
  11836. * @param keywordArgs
  11837. */
  11838. fetchItemByIdentity(keywordArgs: Object): void;
  11839. /**
  11840. * This method handles the basic filtering needs for ItemFile* based stores.
  11841. *
  11842. * @param requestArgs
  11843. * @param arrayOfItems
  11844. * @param findCallback
  11845. */
  11846. filter(requestArgs: Object, arrayOfItems: any[], findCallback: Function): void;
  11847. /**
  11848. * See dojo/data/api/Read.getAttributes()
  11849. *
  11850. * @param item
  11851. */
  11852. getAttributes(item: dojo.data.api.Item): any[];
  11853. /**
  11854. * See dojo/data/api/Read.getFeatures()
  11855. *
  11856. */
  11857. getFeatures(): any;
  11858. /**
  11859. * See dojo/data/api/Identity.getIdentity()
  11860. *
  11861. * @param item
  11862. */
  11863. getIdentity(item: dojo.data.api.Item): any;
  11864. /**
  11865. * See dojo/data/api/Identity.getIdentityAttributes()
  11866. *
  11867. * @param item
  11868. */
  11869. getIdentityAttributes(item: dojo.data.api.Item): any;
  11870. /**
  11871. * See dojo/data/api/Read.getLabel()
  11872. *
  11873. * @param item
  11874. */
  11875. getLabel(item: dojo.data.api.Item): any;
  11876. /**
  11877. * See dojo/data/api/Read.getLabelAttributes()
  11878. *
  11879. * @param item
  11880. */
  11881. getLabelAttributes(item: dojo.data.api.Item): any;
  11882. /**
  11883. * See dojo/data/api/Read.getValue()
  11884. *
  11885. * @param item
  11886. * @param attribute
  11887. * @param defaultValue Optional
  11888. */
  11889. getValue(item: dojo.data.api.Item, attribute: String, defaultValue?: any): any;
  11890. /**
  11891. * See dojo/data/api/Read.getValues()
  11892. *
  11893. * @param item
  11894. * @param attribute
  11895. */
  11896. getValues(item: dojo.data.api.Item, attribute: String): any;
  11897. /**
  11898. * See dojo/data/api/Read.hasAttribute()
  11899. *
  11900. * @param item
  11901. * @param attribute
  11902. */
  11903. hasAttribute(item: dojo.data.api.Item, attribute: String): boolean;
  11904. /**
  11905. * See dojo/data/api/Read.isItem()
  11906. *
  11907. * @param something
  11908. */
  11909. isItem(something: any): boolean;
  11910. /**
  11911. * See dojo/data/api/Read.isItemLoaded()
  11912. *
  11913. * @param something
  11914. */
  11915. isItemLoaded(something: any): any;
  11916. /**
  11917. * See dojo/data/api/Read.loadItem()
  11918. *
  11919. * @param keywordArgs
  11920. */
  11921. loadItem(keywordArgs: Object): void;
  11922. /**
  11923. *
  11924. * @param type
  11925. * @param listener
  11926. */
  11927. on(type: any, listener: any): any;
  11928. }
  11929. /**
  11930. * Permalink: http://dojotoolkit.org/api/1.9/dojo/data/ObjectStore.html
  11931. *
  11932. * A Dojo Data implementation that wraps Dojo object stores for backwards
  11933. * compatibility.
  11934. *
  11935. * @param options The configuration information to pass into the data store.options.objectStore:The object store to use as the source provider for this data store
  11936. */
  11937. class ObjectStore extends dojo.Evented {
  11938. constructor(options: any);
  11939. /**
  11940. *
  11941. */
  11942. "labelProperty": string;
  11943. /**
  11944. *
  11945. */
  11946. "objectStore": Object;
  11947. /**
  11948. * adds an object to the list of dirty objects. This object
  11949. * contains a reference to the object itself as well as a
  11950. * cloned and trimmed version of old object for use with
  11951. * revert.
  11952. *
  11953. * @param object Indicates that the given object is changing and should be marked as dirty for the next save
  11954. * @param _deleting
  11955. */
  11956. changing(object: Object, _deleting: boolean): void;
  11957. /**
  11958. * See dojo/data/api/Read.close()
  11959. *
  11960. * @param request
  11961. */
  11962. close(request: any): any;
  11963. /**
  11964. * Checks to see if 'item' has 'value' at 'attribute'
  11965. *
  11966. * @param item The item to check
  11967. * @param attribute The attribute to check
  11968. * @param value The value to look for
  11969. */
  11970. containsValue(item: Object, attribute: String, value: any): boolean;
  11971. /**
  11972. * deletes item and any references to that item from the store.
  11973. *
  11974. * @param item item to delete
  11975. */
  11976. deleteItem(item: any): void;
  11977. /**
  11978. *
  11979. * @param type
  11980. * @param event
  11981. */
  11982. emit(type: any, event: any): any;
  11983. /**
  11984. * See dojo/data/api/Read.fetch()
  11985. *
  11986. * @param args
  11987. */
  11988. fetch(args: any): any;
  11989. /**
  11990. * fetch an item by its identity, by looking in our index of what we have loaded
  11991. *
  11992. * @param args
  11993. */
  11994. fetchItemByIdentity(args: any): any;
  11995. /**
  11996. * Gets the available attributes of an item's 'property' and returns
  11997. * it as an array.
  11998. *
  11999. * @param item
  12000. */
  12001. getAttributes(item: Object): any[];
  12002. /**
  12003. * return the store feature set
  12004. *
  12005. */
  12006. getFeatures(): Object;
  12007. /**
  12008. * returns the identity of the given item
  12009. * See dojo/data/api/Read.getIdentity()
  12010. *
  12011. * @param item
  12012. */
  12013. getIdentity(item: any): any;
  12014. /**
  12015. * returns the attributes which are used to make up the
  12016. * identity of an item. Basically returns this.objectStore.idProperty
  12017. * See dojo/data/api/Read.getIdentityAttributes()
  12018. *
  12019. * @param item
  12020. */
  12021. getIdentityAttributes(item: any): any[];
  12022. /**
  12023. * See dojo/data/api/Read.getLabel()
  12024. *
  12025. * @param item
  12026. */
  12027. getLabel(item: dojo.data.api.Item): any;
  12028. /**
  12029. * See dojo/data/api/Read.getLabelAttributes()
  12030. *
  12031. * @param item
  12032. */
  12033. getLabelAttributes(item: dojo.data.api.Item): any[];
  12034. /**
  12035. * Gets the value of an item's 'property'
  12036. *
  12037. * @param item The item to get the value from
  12038. * @param property property to look up value for
  12039. * @param defaultValue Optionalthe default value
  12040. */
  12041. getValue(item: Object, property: String, defaultValue?: any): any;
  12042. /**
  12043. * Gets the value of an item's 'property' and returns
  12044. * it. If this value is an array it is just returned,
  12045. * if not, the value is added to an array and that is returned.
  12046. *
  12047. * @param item
  12048. * @param property property to look up value for
  12049. */
  12050. getValues(item: Object, property: String): any[];
  12051. /**
  12052. * Checks to see if item has attribute
  12053. *
  12054. * @param item The item to check
  12055. * @param attribute The attribute to check
  12056. */
  12057. hasAttribute(item: Object, attribute: String): boolean;
  12058. /**
  12059. * returns true if the item is marked as dirty or true if there are any dirty items
  12060. *
  12061. * @param item The item to check
  12062. */
  12063. isDirty(item: Object): any;
  12064. /**
  12065. * Checks to see if the argument is an item
  12066. *
  12067. * @param item The item to check
  12068. */
  12069. isItem(item: Object): boolean;
  12070. /**
  12071. * Checks to see if the item is loaded.
  12072. *
  12073. * @param item The item to check
  12074. */
  12075. isItemLoaded(item: Object): any;
  12076. /**
  12077. * Loads an item and calls the callback handler. Note, that this will call the callback
  12078. * handler even if the item is loaded. Consequently, you can use loadItem to ensure
  12079. * that an item is loaded is situations when the item may or may not be loaded yet.
  12080. * If you access a value directly through property access, you can use this to load
  12081. * a lazy value as well (doesn't need to be an item).
  12082. *
  12083. * @param args See dojo/data/api/Read.fetch()
  12084. */
  12085. loadItem(args: Object): any;
  12086. /**
  12087. * adds a new item to the store at the specified point.
  12088. * Takes two parameters, data, and options.
  12089. *
  12090. * @param data See dojo/data/api/Write.newItem()
  12091. * @param parentInfo
  12092. */
  12093. newItem(data: Object, parentInfo: any): Object;
  12094. /**
  12095. *
  12096. * @param type
  12097. * @param listener
  12098. */
  12099. on(type: any, listener: any): any;
  12100. /**
  12101. * returns any modified data to its original state prior to a save();
  12102. *
  12103. */
  12104. revert(): void;
  12105. /**
  12106. * Saves the dirty data using object store provider. See dojo/data/api/Write for API.
  12107. *
  12108. * @param kwArgs kwArgs.global:This will cause the save to commit the dirty data for allObjectStores as a single transaction.kwArgs.revertOnError:This will cause the changes to be reverted if there is anerror on the save. By default a revert is executed unlessa value of false is provide for this parameter.kwArgs.onError:Called when an error occurs in the commitkwArgs.onComplete:Called when an the save/commit is completed
  12109. */
  12110. save(kwArgs: any): void;
  12111. /**
  12112. * sets 'attribute' on 'item' to 'value'
  12113. * See dojo/data/api/Write.setValue()
  12114. *
  12115. * @param item
  12116. * @param attribute
  12117. * @param value
  12118. */
  12119. setValue(item: any, attribute: any, value: any): void;
  12120. /**
  12121. * sets 'attribute' on 'item' to 'value' value
  12122. * must be an array.
  12123. * See dojo/data/api/Write.setValues()
  12124. *
  12125. * @param item
  12126. * @param attribute
  12127. * @param values
  12128. */
  12129. setValues(item: any, attribute: any, values: any): void;
  12130. /**
  12131. * unsets 'attribute' on 'item'
  12132. * See dojo/data/api/Write.unsetAttribute()
  12133. *
  12134. * @param item
  12135. * @param attribute
  12136. */
  12137. unsetAttribute(item: any, attribute: any): void;
  12138. /**
  12139. * See dojo/data/api/Notification.onDelete()
  12140. *
  12141. */
  12142. onDelete(): void;
  12143. /**
  12144. * Called when a fetch occurs
  12145. *
  12146. * @param results
  12147. */
  12148. onFetch(results: any): void;
  12149. /**
  12150. * See dojo/data/api/Notification.onNew()
  12151. *
  12152. */
  12153. onNew(): void;
  12154. /**
  12155. * See dojo/data/api/Notification.onSet()
  12156. *
  12157. */
  12158. onSet(): void;
  12159. }
  12160. /**
  12161. * Permalink: http://dojotoolkit.org/api/1.9/dojo/data/ItemFileWriteStore.html
  12162. *
  12163. * TODOC
  12164. *
  12165. * @param keywordParameters The structure of the typeMap object is as follows:{ type0: function || object, type1: function || object, ... typeN: function || object}Where if it is a function, it is assumed to be an object constructor that takes thevalue of _value as the initialization parameters. It is serialized assuming object.toString()serialization. If it is an object, then it is assumedto be an object of general form:{ type: function, //constructor. deserialize: function(value) //The function that parses the value and constructs the object defined by type appropriately. serialize: function(object) //The function that converts the object back into the proper file format form.}
  12166. */
  12167. class ItemFileWriteStore extends dojo.data.ItemFileReadStore {
  12168. constructor(keywordParameters: Object);
  12169. /**
  12170. * Parameter to allow users to specify if a close call should force a reload or not.
  12171. * By default, it retains the old behavior of not clearing if close is called. But
  12172. * if set true, the store will be reset to default state. Note that by doing this,
  12173. * all item handles will become invalid and a new fetch must be issued.
  12174. *
  12175. */
  12176. "clearOnClose": boolean;
  12177. /**
  12178. *
  12179. */
  12180. "data": Object;
  12181. /**
  12182. * Parameter for specifying that it is OK for the xhrGet call to fail silently.
  12183. *
  12184. */
  12185. "failOk": boolean;
  12186. /**
  12187. * Parameter to indicate to process data from the url as hierarchical
  12188. * (data items can contain other data items in js form). Default is true
  12189. * for backwards compatibility. False means only root items are processed
  12190. * as items, all child objects outside of type-mapped objects and those in
  12191. * specific reference format, are left straight JS data objects.
  12192. *
  12193. */
  12194. "hierarchical": boolean;
  12195. /**
  12196. *
  12197. */
  12198. "referenceIntegrity": boolean;
  12199. /**
  12200. *
  12201. */
  12202. "typeMap": Object;
  12203. /**
  12204. *
  12205. */
  12206. "url": string;
  12207. /**
  12208. * Parameter to allow specifying if preventCache should be passed to the xhrGet call or not when loading data from a url.
  12209. * Note this does not mean the store calls the server on each fetch, only that the data load has preventCache set as an option.
  12210. * Added for tracker: #6072
  12211. *
  12212. */
  12213. "urlPreventCache": boolean;
  12214. /**
  12215. * Over-ride of base close function of ItemFileReadStore to add in check for store state.
  12216. * Over-ride of base close function of ItemFileReadStore to add in check for store state.
  12217. * If the store is still dirty (unsaved changes), then an error will be thrown instead of
  12218. * clearing the internal state for reload from the url.
  12219. *
  12220. * @param request Optional
  12221. */
  12222. close(request?: Object): void;
  12223. /**
  12224. * See dojo/data/api/Read.containsValue()
  12225. *
  12226. * @param item
  12227. * @param attribute
  12228. * @param value
  12229. */
  12230. containsValue(item: dojo.data.api.Item, attribute: String, value: any): any;
  12231. /**
  12232. * See dojo/data/api/Write.deleteItem()
  12233. *
  12234. * @param item
  12235. */
  12236. deleteItem(item: dojo.data.api.Item): boolean;
  12237. /**
  12238. *
  12239. * @param type
  12240. * @param event
  12241. */
  12242. emit(type: any, event: any): any;
  12243. /**
  12244. * The error handler when there is an error fetching items. This function should not be called
  12245. * directly and is used by simpleFetch.fetch().
  12246. *
  12247. * @param errorData
  12248. * @param requestObject
  12249. */
  12250. errorHandler(errorData: Object, requestObject: Object): void;
  12251. /**
  12252. * The simpleFetch mixin is designed to serve as a set of function(s) that can
  12253. * be mixed into other datastore implementations to accelerate their development.
  12254. * The simpleFetch mixin should work well for any datastore that can respond to a _fetchItems()
  12255. * call by returning an array of all the found items that matched the query. The simpleFetch mixin
  12256. * is not designed to work for datastores that respond to a fetch() call by incrementally
  12257. * loading items, or sequentially loading partial batches of the result
  12258. * set. For datastores that mixin simpleFetch, simpleFetch
  12259. * implements a fetch method that automatically handles eight of the fetch()
  12260. * arguments -- onBegin, onItem, onComplete, onError, start, count, sort and scope
  12261. * The class mixing in simpleFetch should not implement fetch(),
  12262. * but should instead implement a _fetchItems() method. The _fetchItems()
  12263. * method takes three arguments, the keywordArgs object that was passed
  12264. * to fetch(), a callback function to be called when the result array is
  12265. * available, and an error callback to be called if something goes wrong.
  12266. * The _fetchItems() method should ignore any keywordArgs parameters for
  12267. * start, count, onBegin, onItem, onComplete, onError, sort, and scope.
  12268. * The _fetchItems() method needs to correctly handle any other keywordArgs
  12269. * parameters, including the query parameter and any optional parameters
  12270. * (such as includeChildren). The _fetchItems() method should create an array of
  12271. * result items and pass it to the fetchHandler along with the original request object --
  12272. * or, the _fetchItems() method may, if it wants to, create an new request object
  12273. * with other specifics about the request that are specific to the datastore and pass
  12274. * that as the request object to the handler.
  12275. *
  12276. * For more information on this specific function, see dojo/data/api/Read.fetch()
  12277. *
  12278. * @param request OptionalThe keywordArgs parameter may either be an instance ofconforming to dojo/data/api/Request or may be a simple anonymous objectthat may contain any of the following:{ query: query-object or query-string, queryOptions: object, onBegin: Function, onItem: Function, onComplete: Function, onError: Function, scope: object, start: int count: int sort: array}All implementations should accept keywordArgs objects with any ofthe 9 standard properties: query, onBegin, onItem, onComplete, onErrorscope, sort, start, and count. Some implementations may accept additionalproperties in the keywordArgs object as valid parameters, such as{includeOutliers:true}.The query parameterThe query may be optional in some data store implementations.The dojo/data/api/Read API does not specify the syntax or semanticsof the query itself -- each different data store implementationmay have its own notion of what a query should look like.However, as of dojo 0.9, 1.0, and 1.1, all the provided datastores in dojo.dataand dojox.data support an object structure query, where the object is a set ofname/value parameters such as { attrFoo: valueBar, attrFoo1: valueBar1}. Most of thedijit widgets, such as ComboBox assume this to be the case when working with a datastorewhen they dynamically update the query. Therefore, for maximum compatibility with dijitwidgets the recommended query parameter is a key/value object. That does not mean that thethe datastore may not take alternative query forms, such as a simple string, a Date, a number,or a mix of such. Ultimately, The dojo/data/api/Read API is agnostic about what the queryformat.Further note: In general for query objects that accept strings as attributevalue matches, the store should also support basic filtering capability, such as (match any character) and ? (match single character). An example query that is a query objectwould be like: { attrFoo: "value"}. Which generally means match all items where they havean attribute named attrFoo, with a value that starts with 'value'.The queryOptions parameterThe queryOptions parameter is an optional parameter used to specify options that may modifythe query in some fashion, such as doing a case insensitive search, or doing a deep searchwhere all items in a hierarchical representation of data are scanned instead of just the rootitems. It currently defines two options that all datastores should attempt to honor if possible:{ ignoreCase: boolean, // Whether or not the query should match case sensitively or not. Default behaviour is false. deep: boolean // Whether or not a fetch should do a deep search of items and all child // items instead of just root-level items in a datastore. Default is false.}The onBegin parameter.function(size, request);If an onBegin callback function is provided, the callback functionwill be called just once, before the first onItem callback is called.The onBegin callback function will be passed two arguments, thethe total number of items identified and the Request object. If the total number isunknown, then size will be -1. Note that size is not necessarily the size of thecollection of items returned from the query, as the request may have specified to return only asubset of the total set of items through the use of the start and count parameters.The onItem parameter.function(item, request);If an onItem callback function is provided, the callback functionwill be called as each item in the result is received. The callbackfunction will be passed two arguments: the item itself, and theRequest object.The onComplete parameter.function(items, request);If an onComplete callback function is provided, the callback functionwill be called just once, after the last onItem callback is called.Note that if the onItem callback is not present, then onComplete will be passedan array containing all items which matched the query and the request object.If the onItem callback is present, then onComplete is called as:onComplete(null, request).The onError parameter.function(errorData, request);If an onError callback function is provided, the callback functionwill be called if there is any sort of error while attempting toexecute the query.The onError callback function will be passed two arguments:an Error object and the Request object.The scope parameter.If a scope object is provided, all of the callback functions (onItem,onComplete, onError, etc) will be invoked in the context of the scopeobject. In the body of the callback function, the value of the "this"keyword will be the scope object. If no scope object is provided,the callback functions will be called in the context of dojo.global().For example, onItem.call(scope, item, request) vs.onItem.call(dojo.global(), item, request)The start parameter.If a start parameter is specified, this is a indication to the datastore toonly start returning items once the start number of items have been located andskipped. When this parameter is paired with 'count', the store should be ableto page across queries with millions of hits by only returning subsets of thehits for each queryThe count parameter.If a count parameter is specified, this is a indication to the datastore toonly return up to that many items. This allows a fetch call that may havemillions of item matches to be paired down to something reasonable.The sort parameter.If a sort parameter is specified, this is a indication to the datastore tosort the items in some manner before returning the items. The array is an array ofjavascript objects that must conform to the following format to be applied to thefetching of items:{ attribute: attribute || attribute-name-string, descending: true|false; // Optional. Default is false.}Note that when comparing attributes, if an item contains no value for the attribute(undefined), then it the default ascending sort logic should push it to the bottomof the list. In the descending order case, it such items should appear at the top of the list.
  12279. */
  12280. fetch(request: Object): void;
  12281. /**
  12282. * The handler when items are sucessfully fetched. This function should not be called directly
  12283. * and is used by simpleFetch.fetch().
  12284. *
  12285. * @param items
  12286. * @param requestObject
  12287. */
  12288. fetchHandler(items: any[], requestObject: Object): void;
  12289. /**
  12290. * See dojo/data/api/Identity.fetchItemByIdentity()
  12291. *
  12292. * @param keywordArgs
  12293. */
  12294. fetchItemByIdentity(keywordArgs: Object): void;
  12295. /**
  12296. * This method handles the basic filtering needs for ItemFile* based stores.
  12297. *
  12298. * @param requestArgs
  12299. * @param arrayOfItems
  12300. * @param findCallback
  12301. */
  12302. filter(requestArgs: Object, arrayOfItems: any[], findCallback: Function): void;
  12303. /**
  12304. * See dojo/data/api/Read.getAttributes()
  12305. *
  12306. * @param item
  12307. */
  12308. getAttributes(item: dojo.data.api.Item): any[];
  12309. /**
  12310. * See dojo/data/api/Read.getFeatures()
  12311. *
  12312. */
  12313. getFeatures(): any;
  12314. /**
  12315. * See dojo/data/api/Identity.getIdentity()
  12316. *
  12317. * @param item
  12318. */
  12319. getIdentity(item: dojo.data.api.Item): any;
  12320. /**
  12321. * See dojo/data/api/Identity.getIdentityAttributes()
  12322. *
  12323. * @param item
  12324. */
  12325. getIdentityAttributes(item: dojo.data.api.Item): any;
  12326. /**
  12327. * See dojo/data/api/Read.getLabel()
  12328. *
  12329. * @param item
  12330. */
  12331. getLabel(item: dojo.data.api.Item): any;
  12332. /**
  12333. * See dojo/data/api/Read.getLabelAttributes()
  12334. *
  12335. * @param item
  12336. */
  12337. getLabelAttributes(item: dojo.data.api.Item): any;
  12338. /**
  12339. * See dojo/data/api/Read.getValue()
  12340. *
  12341. * @param item
  12342. * @param attribute
  12343. * @param defaultValue Optional
  12344. */
  12345. getValue(item: dojo.data.api.Item, attribute: String, defaultValue?: any): any;
  12346. /**
  12347. * See dojo/data/api/Read.getValues()
  12348. *
  12349. * @param item
  12350. * @param attribute
  12351. */
  12352. getValues(item: dojo.data.api.Item, attribute: String): any;
  12353. /**
  12354. * See dojo/data/api/Read.hasAttribute()
  12355. *
  12356. * @param item
  12357. * @param attribute
  12358. */
  12359. hasAttribute(item: dojo.data.api.Item, attribute: String): boolean;
  12360. /**
  12361. * See dojo/data/api/Write.isDirty()
  12362. *
  12363. * @param item Optional
  12364. */
  12365. isDirty(item?: any): any;
  12366. /**
  12367. * See dojo/data/api/Read.isItem()
  12368. *
  12369. * @param something
  12370. */
  12371. isItem(something: any): boolean;
  12372. /**
  12373. * See dojo/data/api/Read.isItemLoaded()
  12374. *
  12375. * @param something
  12376. */
  12377. isItemLoaded(something: any): any;
  12378. /**
  12379. * See dojo/data/api/Read.loadItem()
  12380. *
  12381. * @param keywordArgs
  12382. */
  12383. loadItem(keywordArgs: Object): void;
  12384. /**
  12385. * See dojo/data/api/Write.newItem()
  12386. *
  12387. * @param keywordArgs Optional
  12388. * @param parentInfo Optional
  12389. */
  12390. newItem(keywordArgs?: Object, parentInfo?: Object): Object;
  12391. /**
  12392. *
  12393. * @param type
  12394. * @param listener
  12395. */
  12396. on(type: any, listener: any): any;
  12397. /**
  12398. * See dojo/data/api/Write.revert()
  12399. *
  12400. */
  12401. revert(): boolean;
  12402. /**
  12403. * See dojo/data/api/Write.save()
  12404. *
  12405. * @param keywordArgs
  12406. */
  12407. save(keywordArgs: Object): void;
  12408. /**
  12409. * See dojo/data/api/Write.set()
  12410. *
  12411. * @param item
  12412. * @param attribute
  12413. * @param value
  12414. */
  12415. setValue(item: dojo.data.api.Item, attribute: String, value: any): any;
  12416. /**
  12417. * See dojo/data/api/Write.setValues()
  12418. *
  12419. * @param item
  12420. * @param attribute
  12421. * @param values
  12422. */
  12423. setValues(item: dojo.data.api.Item, attribute: String, values: any[]): any;
  12424. /**
  12425. * See dojo/data/api/Write.unsetAttribute()
  12426. *
  12427. * @param item
  12428. * @param attribute
  12429. */
  12430. unsetAttribute(item: dojo.data.api.Item, attribute: String): any;
  12431. /**
  12432. * See dojo/data/api/Notification.onDelete()
  12433. *
  12434. * @param deletedItem
  12435. */
  12436. onDelete(deletedItem: dojo.data.api.Item): void;
  12437. /**
  12438. * See dojo/data/api/Notification.onNew()
  12439. *
  12440. * @param newItem
  12441. * @param parentInfo Optional
  12442. */
  12443. onNew(newItem: dojo.data.api.Item, parentInfo?: Object): void;
  12444. /**
  12445. * See dojo/data/api/Notification.onSet()
  12446. *
  12447. * @param item
  12448. * @param attribute
  12449. * @param oldValue
  12450. * @param newValue
  12451. */
  12452. onSet(item: dojo.data.api.Item, attribute: String, oldValue: Object, newValue: Object): void;
  12453. /**
  12454. * See dojo/data/api/Notification.onSet()
  12455. *
  12456. * @param item
  12457. * @param attribute
  12458. * @param oldValue
  12459. * @param newValue
  12460. */
  12461. onSet(item: dojo.data.api.Item, attribute: String, oldValue: any[], newValue: Object): void;
  12462. /**
  12463. * See dojo/data/api/Notification.onSet()
  12464. *
  12465. * @param item
  12466. * @param attribute
  12467. * @param oldValue
  12468. * @param newValue
  12469. */
  12470. onSet(item: dojo.data.api.Item, attribute: String, oldValue: Object, newValue: any[]): void;
  12471. /**
  12472. * See dojo/data/api/Notification.onSet()
  12473. *
  12474. * @param item
  12475. * @param attribute
  12476. * @param oldValue
  12477. * @param newValue
  12478. */
  12479. onSet(item: dojo.data.api.Item, attribute: String, oldValue: any[], newValue: any[]): void;
  12480. }
  12481. namespace api {
  12482. /**
  12483. * Permalink: http://dojotoolkit.org/api/1.9/dojo/data/api/Item.html
  12484. *
  12485. * An item in a dojo/data store
  12486. * Class for documentation purposes only. An item can take any form, so no
  12487. * properties or methods are defined here.
  12488. *
  12489. */
  12490. class Item {
  12491. constructor();
  12492. }
  12493. /**
  12494. * Permalink: http://dojotoolkit.org/api/1.9/dojo/data/api/Identity.html
  12495. *
  12496. * This is an abstract API that data provider implementations conform to.
  12497. * This file defines methods signatures and intentionally leaves all the
  12498. * methods unimplemented.
  12499. *
  12500. */
  12501. class Identity extends dojo.data.api.Read {
  12502. constructor();
  12503. /**
  12504. * The close() method is intended for instructing the store to 'close' out
  12505. * any information associated with a particular request.
  12506. * The close() method is intended for instructing the store to 'close' out
  12507. * any information associated with a particular request. In general, this API
  12508. * expects to receive as a parameter a request object returned from a fetch.
  12509. * It will then close out anything associated with that request, such as
  12510. * clearing any internal datastore caches and closing any 'open' connections.
  12511. * For some store implementations, this call may be a no-op.
  12512. *
  12513. * @param request OptionalAn instance of a request for the store to use to identify what to close out.If no request is passed, then the store should clear all internal caches (if any)and close out all 'open' connections. It does not render the store unusable fromthere on, it merely cleans out any current data and resets the store to initialstate.
  12514. */
  12515. close(request?: dojo.data.api.Request ): void;
  12516. /**
  12517. * The close() method is intended for instructing the store to 'close' out
  12518. * any information associated with a particular request.
  12519. * The close() method is intended for instructing the store to 'close' out
  12520. * any information associated with a particular request. In general, this API
  12521. * expects to receive as a parameter a request object returned from a fetch.
  12522. * It will then close out anything associated with that request, such as
  12523. * clearing any internal datastore caches and closing any 'open' connections.
  12524. * For some store implementations, this call may be a no-op.
  12525. *
  12526. * @param request OptionalAn instance of a request for the store to use to identify what to close out.If no request is passed, then the store should clear all internal caches (if any)and close out all 'open' connections. It does not render the store unusable fromthere on, it merely cleans out any current data and resets the store to initialstate.
  12527. */
  12528. close(request?: Object): void;
  12529. /**
  12530. * Returns true if the given value is one of the values that getValues()
  12531. * would return.
  12532. *
  12533. * @param item The item to access values on.
  12534. * @param attribute The attribute to access represented as a string.
  12535. * @param value The value to match as a value for the attribute.
  12536. */
  12537. containsValue(item: dojo.data.api.Item, attribute: String, value: any): void;
  12538. /**
  12539. * Given a query and set of defined options, such as a start and count of items to return,
  12540. * this method executes the query and makes the results available as data items.
  12541. * The format and expectations of stores is that they operate in a generally asynchronous
  12542. * manner, therefore callbacks are always used to return items located by the fetch parameters.
  12543. * A Request object will always be returned and is returned immediately.
  12544. * The basic request is nothing more than the keyword args passed to fetch and
  12545. * an additional function attached, abort(). The returned request object may then be used
  12546. * to cancel a fetch. All data items returns are passed through the callbacks defined in the
  12547. * fetch parameters and are not present on the 'request' object.
  12548. *
  12549. * This does not mean that custom stores can not add methods and properties to the request object
  12550. * returned, only that the API does not require it. For more info about the Request API,
  12551. * see dojo/data/api/Request
  12552. *
  12553. * @param keywordArgs The keywordArgs parameter may either be an instance ofconforming to dojo/data/api/Request or may be a simple anonymous objectthat may contain any of the following:{ query: query-object or query-string, queryOptions: object, onBegin: Function, onItem: Function, onComplete: Function, onError: Function, scope: object, start: int count: int sort: array}All implementations should accept keywordArgs objects with any ofthe 9 standard properties: query, onBegin, onItem, onComplete, onErrorscope, sort, start, and count. Some implementations may accept additionalproperties in the keywordArgs object as valid parameters, such as{includeOutliers:true}.The query parameterThe query may be optional in some data store implementations.The dojo/data/api/Read API does not specify the syntax or semanticsof the query itself -- each different data store implementationmay have its own notion of what a query should look like.However, as of dojo 0.9, 1.0, and 1.1, all the provided datastores in dojo.dataand dojox.data support an object structure query, where the object is a set ofname/value parameters such as { attrFoo: valueBar, attrFoo1: valueBar1}. Most of thedijit widgets, such as ComboBox assume this to be the case when working with a datastorewhen they dynamically update the query. Therefore, for maximum compatibility with dijitwidgets the recommended query parameter is a key/value object. That does not mean that thethe datastore may not take alternative query forms, such as a simple string, a Date, a number,or a mix of such. Ultimately, The dojo/data/api/Read API is agnostic about what the queryformat.Further note: In general for query objects that accept strings as attributevalue matches, the store should also support basic filtering capability, such as (match any character) and ? (match single character). An example query that is a query objectwould be like: { attrFoo: "value"}. Which generally means match all items where they havean attribute named attrFoo, with a value that starts with 'value'.The queryOptions parameterThe queryOptions parameter is an optional parameter used to specify options that may modifythe query in some fashion, such as doing a case insensitive search, or doing a deep searchwhere all items in a hierarchical representation of data are scanned instead of just the rootitems. It currently defines two options that all datastores should attempt to honor if possible:{ ignoreCase: boolean, // Whether or not the query should match case sensitively or not. Default behaviour is false. deep: boolean // Whether or not a fetch should do a deep search of items and all child // items instead of just root-level items in a datastore. Default is false.}The onBegin parameter.function(size, request);If an onBegin callback function is provided, the callback functionwill be called just once, before the first onItem callback is called.The onBegin callback function will be passed two arguments, thethe total number of items identified and the Request object. If the total number isunknown, then size will be -1. Note that size is not necessarily the size of thecollection of items returned from the query, as the request may have specified to return only asubset of the total set of items through the use of the start and count parameters.The onItem parameter.function(item, request);If an onItem callback function is provided, the callback functionwill be called as each item in the result is received. The callbackfunction will be passed two arguments: the item itself, and theRequest object.The onComplete parameter.function(items, request);If an onComplete callback function is provided, the callback functionwill be called just once, after the last onItem callback is called.Note that if the onItem callback is not present, then onComplete will be passedan array containing all items which matched the query and the request object.If the onItem callback is present, then onComplete is called as:onComplete(null, request).The onError parameter.function(errorData, request);If an onError callback function is provided, the callback functionwill be called if there is any sort of error while attempting toexecute the query.The onError callback function will be passed two arguments:an Error object and the Request object.The scope parameter.If a scope object is provided, all of the callback functions (onItem,onComplete, onError, etc) will be invoked in the context of the scopeobject. In the body of the callback function, the value of the "this"keyword will be the scope object. If no scope object is provided,the callback functions will be called in the context of dojo.global().For example, onItem.call(scope, item, request) vs.onItem.call(dojo.global(), item, request)The start parameter.If a start parameter is specified, this is a indication to the datastore toonly start returning items once the start number of items have been located andskipped. When this parameter is paired with 'count', the store should be ableto page across queries with millions of hits by only returning subsets of thehits for each queryThe count parameter.If a count parameter is specified, this is a indication to the datastore toonly return up to that many items. This allows a fetch call that may havemillions of item matches to be paired down to something reasonable.The sort parameter.If a sort parameter is specified, this is a indication to the datastore tosort the items in some manner before returning the items. The array is an array ofjavascript objects that must conform to the following format to be applied to thefetching of items:{ attribute: attribute || attribute-name-string, descending: true|false; // Optional. Default is false.}Note that when comparing attributes, if an item contains no value for the attribute(undefined), then it the default ascending sort logic should push it to the bottomof the list. In the descending order case, it such items should appear at the top of the list.
  12554. */
  12555. fetch(keywordArgs: Object): any;
  12556. /**
  12557. * Given the identity of an item, this method returns the item that has
  12558. * that identity through the onItem callback. Conforming implementations
  12559. * should return null if there is no item with the given identity.
  12560. * Implementations of fetchItemByIdentity() may sometimes return an item
  12561. * from a local cache and may sometimes fetch an item from a remote server,
  12562. *
  12563. * @param keywordArgs An anonymous object that defines the item to locate and callbacks to invoke when theitem has been located and load has completed. The format of the object is as follows:{ identity: string|object, onItem: Function, onError: Function, scope: object}The identity parameterThe identity parameter is the identity of the item you wish to locate and loadThis attribute is required. It should be a string or an object that toString()can be called on.The onItem parameterFunction(item)The onItem parameter is the callback to invoke when the item has been loaded. It takes only oneparameter, the item located, or null if none found.The onError parameterFunction(error)The onError parameter is the callback to invoke when the item load encountered an error. It takes only oneparameter, the error objectThe scope parameterIf a scope object is provided, all of the callback functions (onItem,onError, etc) will be invoked in the context of the scope object.In the body of the callback function, the value of the "this"keyword will be the scope object. If no scope object is provided,the callback functions will be called in the context of dojo.global.For example, onItem.call(scope, item, request) vs.onItem.call(dojo.global, item, request)
  12564. */
  12565. fetchItemByIdentity(keywordArgs: Object): void;
  12566. /**
  12567. * Returns an array with all the attributes that this item has. This
  12568. * method will always return an array; if the item has no attributes
  12569. * at all, getAttributes() will return an empty array: [].
  12570. *
  12571. * @param item The item to access attributes on.
  12572. */
  12573. getAttributes(item: dojo.data.api.Item): void;
  12574. /**
  12575. * See dojo/data/api/Read.getFeatures()
  12576. *
  12577. */
  12578. getFeatures(): Object;
  12579. /**
  12580. * Returns a unique identifier for an item. The return value will be
  12581. * either a string or something that has a toString() method (such as,
  12582. * for example, a dojox/uuid object).
  12583. *
  12584. * @param item The item from the store from which to obtain its identifier.
  12585. */
  12586. getIdentity(item: dojo.data.api.Item): void;
  12587. /**
  12588. * Returns an array of attribute names that are used to generate the identity.
  12589. * For most stores, this is a single attribute, but for some complex stores
  12590. * such as RDB backed stores that use compound (multi-attribute) identifiers
  12591. * it can be more than one. If the identity is not composed of attributes
  12592. * on the item, it will return null. This function is intended to identify
  12593. * the attributes that comprise the identity so that so that during a render
  12594. * of all attributes, the UI can hide the the identity information if it
  12595. * chooses.
  12596. *
  12597. * @param item The item from the store from which to obtain the array of public attributes thatcompose the identifier, if any.
  12598. */
  12599. getIdentityAttributes(item: dojo.data.api.Item): void;
  12600. /**
  12601. * Method to inspect the item and return a user-readable 'label' for the item
  12602. * that provides a general/adequate description of what the item is.
  12603. * Method to inspect the item and return a user-readable 'label' for the item
  12604. * that provides a general/adequate description of what the item is. In general
  12605. * most labels will be a specific attribute value or collection of the attribute
  12606. * values that combine to label the item in some manner. For example for an item
  12607. * that represents a person it may return the label as: "firstname lastlame" where
  12608. * the firstname and lastname are attributes on the item. If the store is unable
  12609. * to determine an adequate human readable label, it should return undefined. Users that wish
  12610. * to customize how a store instance labels items should replace the getLabel() function on
  12611. * their instance of the store, or extend the store and replace the function in
  12612. * the extension class.
  12613. *
  12614. * @param item The item to return the label for.
  12615. */
  12616. getLabel(item: dojo.data.api.Item): any;
  12617. /**
  12618. * Method to inspect the item and return an array of what attributes of the item were used
  12619. * to generate its label, if any.
  12620. * Method to inspect the item and return an array of what attributes of the item were used
  12621. * to generate its label, if any. This function is to assist UI developers in knowing what
  12622. * attributes can be ignored out of the attributes an item has when displaying it, in cases
  12623. * where the UI is using the label as an overall identifer should they wish to hide
  12624. * redundant information.
  12625. *
  12626. * @param item The item to return the list of label attributes for.
  12627. */
  12628. getLabelAttributes(item: dojo.data.api.Item): any;
  12629. /**
  12630. * Returns a single attribute value.
  12631. * Returns defaultValue if and only if item does not have a value for attribute.
  12632. * Returns null if and only if null was explicitly set as the attribute value.
  12633. * Returns undefined if and only if the item does not have a value for the
  12634. * given attribute (which is the same as saying the item does not have the attribute).
  12635. * Saying that an "item x does not have a value for an attribute y"
  12636. * is identical to saying that an "item x does not have attribute y".
  12637. * It is an oxymoron to say "that attribute is present but has no values"
  12638. * or "the item has that attribute but does not have any attribute values".
  12639. * If store.hasAttribute(item, attribute) returns false, then
  12640. * store.getValue(item, attribute) will return undefined.
  12641. *
  12642. * @param item The item to access values on.
  12643. * @param attribute The attribute to access represented as a string.
  12644. * @param defaultValue OptionalOptional. A default value to use for the getValue return in the attribute does not exist or has no value.
  12645. */
  12646. getValue(item: dojo.data.api.Item, attribute: String, defaultValue?: any): any;
  12647. /**
  12648. * This getValues() method works just like the getValue() method, but getValues()
  12649. * always returns an array rather than a single attribute value. The array
  12650. * may be empty, may contain a single attribute value, or may contain
  12651. * many attribute values.
  12652. * If the item does not have a value for the given attribute, then getValues()
  12653. * will return an empty array: []. (So, if store.hasAttribute(item, attribute)
  12654. * has a return of false, then store.getValues(item, attribute) will return [].)
  12655. *
  12656. * @param item The item to access values on.
  12657. * @param attribute The attribute to access represented as a string.
  12658. */
  12659. getValues(item: dojo.data.api.Item, attribute: String): any;
  12660. /**
  12661. * Returns true if the given item has a value for the given attribute.
  12662. *
  12663. * @param item The item to access attributes on.
  12664. * @param attribute The attribute to access represented as a string.
  12665. */
  12666. hasAttribute(item: dojo.data.api.Item, attribute: String): void;
  12667. /**
  12668. * Returns true if something is an item and came from the store instance.
  12669. * Returns false if something is a literal, an item from another store instance,
  12670. * or is any object other than an item.
  12671. *
  12672. * @param something Can be anything.
  12673. */
  12674. isItem(something: any): void;
  12675. /**
  12676. * Returns false if isItem(something) is false. Returns false if
  12677. * if isItem(something) is true but the the item is not yet loaded
  12678. * in local memory (for example, if the item has not yet been read
  12679. * from the server).
  12680. *
  12681. * @param something Can be anything.
  12682. */
  12683. isItemLoaded(something: any): void;
  12684. /**
  12685. * Given an item, this method loads the item so that a subsequent call
  12686. * to store.isItemLoaded(item) will return true. If a call to
  12687. * isItemLoaded() returns true before loadItem() is even called,
  12688. * then loadItem() need not do any work at all and will not even invoke
  12689. * the callback handlers. So, before invoking this method, check that
  12690. * the item has not already been loaded.
  12691. *
  12692. * @param keywordArgs An anonymous object that defines the item to load and callbacks to invoke when theload has completed. The format of the object is as follows:{ item: object, onItem: Function, onError: Function, scope: object}The item parameterThe item parameter is an object that represents the item in question that should becontained by the store. This attribute is required.The onItem parameterFunction(item)The onItem parameter is the callback to invoke when the item has been loaded. It takes only oneparameter, the fully loaded item.The onError parameterFunction(error)The onError parameter is the callback to invoke when the item load encountered an error. It takes only oneparameter, the error objectThe scope parameterIf a scope object is provided, all of the callback functions (onItem,onError, etc) will be invoked in the context of the scope object.In the body of the callback function, the value of the "this"keyword will be the scope object. If no scope object is provided,the callback functions will be called in the context of dojo.global().For example, onItem.call(scope, item, request) vs.onItem.call(dojo.global(), item, request)
  12693. */
  12694. loadItem(keywordArgs: Object): void;
  12695. }
  12696. /**
  12697. * Permalink: http://dojotoolkit.org/api/1.9/dojo/data/api/Request.html
  12698. *
  12699. * This class defines out the semantics of what a 'Request' object looks like
  12700. * when returned from a fetch() method. In general, a request object is
  12701. * nothing more than the original keywordArgs from fetch with an abort function
  12702. * attached to it to allow users to abort a particular request if they so choose.
  12703. * No other functions are required on a general Request object return. That does not
  12704. * inhibit other store implementations from adding extensions to it, of course.
  12705. *
  12706. * This is an abstract API that data provider implementations conform to.
  12707. * This file defines methods signatures and intentionally leaves all the
  12708. * methods unimplemented.
  12709. *
  12710. * For more details on fetch, see dojo/data/api/Read.fetch().
  12711. *
  12712. */
  12713. class Request {
  12714. constructor();
  12715. /**
  12716. * This function is a hook point for stores to provide as a way for
  12717. * a fetch to be halted mid-processing.
  12718. * This function is a hook point for stores to provide as a way for
  12719. * a fetch to be halted mid-processing. For more details on the fetch() api,
  12720. * please see dojo/data/api/Read.fetch().
  12721. *
  12722. */
  12723. abort(): void;
  12724. }
  12725. /**
  12726. * Permalink: http://dojotoolkit.org/api/1.9/dojo/data/api/Notification.html
  12727. *
  12728. * This is an abstract API that data provider implementations conform to.
  12729. * This file defines functions signatures and intentionally leaves all the
  12730. * functions unimplemented.
  12731. * This API defines a set of APIs that all datastores that conform to the
  12732. * Notifications API must implement. In general, most stores will implement
  12733. * these APIs as no-op functions for users who wish to monitor them to be able
  12734. * to connect to then via dojo.connect(). For non-users of dojo.connect,
  12735. * they should be able to just replace the function on the store to obtain
  12736. * notifications. Both read-only and read-write stores may implement
  12737. * this feature. In the case of a read-only store, this feature makes sense if
  12738. * the store itself does internal polling to a back-end server and periodically updates
  12739. * its cache of items (deletes, adds, and updates).
  12740. *
  12741. */
  12742. class Notification extends dojo.data.api.Read {
  12743. constructor();
  12744. /**
  12745. * The close() method is intended for instructing the store to 'close' out
  12746. * any information associated with a particular request.
  12747. * The close() method is intended for instructing the store to 'close' out
  12748. * any information associated with a particular request. In general, this API
  12749. * expects to receive as a parameter a request object returned from a fetch.
  12750. * It will then close out anything associated with that request, such as
  12751. * clearing any internal datastore caches and closing any 'open' connections.
  12752. * For some store implementations, this call may be a no-op.
  12753. *
  12754. * @param request OptionalAn instance of a request for the store to use to identify what to close out.If no request is passed, then the store should clear all internal caches (if any)and close out all 'open' connections. It does not render the store unusable fromthere on, it merely cleans out any current data and resets the store to initialstate.
  12755. */
  12756. close(request?: dojo.data.api.Request ): void;
  12757. /**
  12758. * The close() method is intended for instructing the store to 'close' out
  12759. * any information associated with a particular request.
  12760. * The close() method is intended for instructing the store to 'close' out
  12761. * any information associated with a particular request. In general, this API
  12762. * expects to receive as a parameter a request object returned from a fetch.
  12763. * It will then close out anything associated with that request, such as
  12764. * clearing any internal datastore caches and closing any 'open' connections.
  12765. * For some store implementations, this call may be a no-op.
  12766. *
  12767. * @param request OptionalAn instance of a request for the store to use to identify what to close out.If no request is passed, then the store should clear all internal caches (if any)and close out all 'open' connections. It does not render the store unusable fromthere on, it merely cleans out any current data and resets the store to initialstate.
  12768. */
  12769. close(request?: Object): void;
  12770. /**
  12771. * Returns true if the given value is one of the values that getValues()
  12772. * would return.
  12773. *
  12774. * @param item The item to access values on.
  12775. * @param attribute The attribute to access represented as a string.
  12776. * @param value The value to match as a value for the attribute.
  12777. */
  12778. containsValue(item: dojo.data.api.Item, attribute: String, value: any): void;
  12779. /**
  12780. * Given a query and set of defined options, such as a start and count of items to return,
  12781. * this method executes the query and makes the results available as data items.
  12782. * The format and expectations of stores is that they operate in a generally asynchronous
  12783. * manner, therefore callbacks are always used to return items located by the fetch parameters.
  12784. * A Request object will always be returned and is returned immediately.
  12785. * The basic request is nothing more than the keyword args passed to fetch and
  12786. * an additional function attached, abort(). The returned request object may then be used
  12787. * to cancel a fetch. All data items returns are passed through the callbacks defined in the
  12788. * fetch parameters and are not present on the 'request' object.
  12789. *
  12790. * This does not mean that custom stores can not add methods and properties to the request object
  12791. * returned, only that the API does not require it. For more info about the Request API,
  12792. * see dojo/data/api/Request
  12793. *
  12794. * @param keywordArgs The keywordArgs parameter may either be an instance ofconforming to dojo/data/api/Request or may be a simple anonymous objectthat may contain any of the following:{ query: query-object or query-string, queryOptions: object, onBegin: Function, onItem: Function, onComplete: Function, onError: Function, scope: object, start: int count: int sort: array}All implementations should accept keywordArgs objects with any ofthe 9 standard properties: query, onBegin, onItem, onComplete, onErrorscope, sort, start, and count. Some implementations may accept additionalproperties in the keywordArgs object as valid parameters, such as{includeOutliers:true}.The query parameterThe query may be optional in some data store implementations.The dojo/data/api/Read API does not specify the syntax or semanticsof the query itself -- each different data store implementationmay have its own notion of what a query should look like.However, as of dojo 0.9, 1.0, and 1.1, all the provided datastores in dojo.dataand dojox.data support an object structure query, where the object is a set ofname/value parameters such as { attrFoo: valueBar, attrFoo1: valueBar1}. Most of thedijit widgets, such as ComboBox assume this to be the case when working with a datastorewhen they dynamically update the query. Therefore, for maximum compatibility with dijitwidgets the recommended query parameter is a key/value object. That does not mean that thethe datastore may not take alternative query forms, such as a simple string, a Date, a number,or a mix of such. Ultimately, The dojo/data/api/Read API is agnostic about what the queryformat.Further note: In general for query objects that accept strings as attributevalue matches, the store should also support basic filtering capability, such as (match any character) and ? (match single character). An example query that is a query objectwould be like: { attrFoo: "value"}. Which generally means match all items where they havean attribute named attrFoo, with a value that starts with 'value'.The queryOptions parameterThe queryOptions parameter is an optional parameter used to specify options that may modifythe query in some fashion, such as doing a case insensitive search, or doing a deep searchwhere all items in a hierarchical representation of data are scanned instead of just the rootitems. It currently defines two options that all datastores should attempt to honor if possible:{ ignoreCase: boolean, // Whether or not the query should match case sensitively or not. Default behaviour is false. deep: boolean // Whether or not a fetch should do a deep search of items and all child // items instead of just root-level items in a datastore. Default is false.}The onBegin parameter.function(size, request);If an onBegin callback function is provided, the callback functionwill be called just once, before the first onItem callback is called.The onBegin callback function will be passed two arguments, thethe total number of items identified and the Request object. If the total number isunknown, then size will be -1. Note that size is not necessarily the size of thecollection of items returned from the query, as the request may have specified to return only asubset of the total set of items through the use of the start and count parameters.The onItem parameter.function(item, request);If an onItem callback function is provided, the callback functionwill be called as each item in the result is received. The callbackfunction will be passed two arguments: the item itself, and theRequest object.The onComplete parameter.function(items, request);If an onComplete callback function is provided, the callback functionwill be called just once, after the last onItem callback is called.Note that if the onItem callback is not present, then onComplete will be passedan array containing all items which matched the query and the request object.If the onItem callback is present, then onComplete is called as:onComplete(null, request).The onError parameter.function(errorData, request);If an onError callback function is provided, the callback functionwill be called if there is any sort of error while attempting toexecute the query.The onError callback function will be passed two arguments:an Error object and the Request object.The scope parameter.If a scope object is provided, all of the callback functions (onItem,onComplete, onError, etc) will be invoked in the context of the scopeobject. In the body of the callback function, the value of the "this"keyword will be the scope object. If no scope object is provided,the callback functions will be called in the context of dojo.global().For example, onItem.call(scope, item, request) vs.onItem.call(dojo.global(), item, request)The start parameter.If a start parameter is specified, this is a indication to the datastore toonly start returning items once the start number of items have been located andskipped. When this parameter is paired with 'count', the store should be ableto page across queries with millions of hits by only returning subsets of thehits for each queryThe count parameter.If a count parameter is specified, this is a indication to the datastore toonly return up to that many items. This allows a fetch call that may havemillions of item matches to be paired down to something reasonable.The sort parameter.If a sort parameter is specified, this is a indication to the datastore tosort the items in some manner before returning the items. The array is an array ofjavascript objects that must conform to the following format to be applied to thefetching of items:{ attribute: attribute || attribute-name-string, descending: true|false; // Optional. Default is false.}Note that when comparing attributes, if an item contains no value for the attribute(undefined), then it the default ascending sort logic should push it to the bottomof the list. In the descending order case, it such items should appear at the top of the list.
  12795. */
  12796. fetch(keywordArgs: Object): any;
  12797. /**
  12798. * Returns an array with all the attributes that this item has. This
  12799. * method will always return an array; if the item has no attributes
  12800. * at all, getAttributes() will return an empty array: [].
  12801. *
  12802. * @param item The item to access attributes on.
  12803. */
  12804. getAttributes(item: dojo.data.api.Item): void;
  12805. /**
  12806. * See dojo/data/api/Read.getFeatures()
  12807. *
  12808. */
  12809. getFeatures(): Object;
  12810. /**
  12811. * Method to inspect the item and return a user-readable 'label' for the item
  12812. * that provides a general/adequate description of what the item is.
  12813. * Method to inspect the item and return a user-readable 'label' for the item
  12814. * that provides a general/adequate description of what the item is. In general
  12815. * most labels will be a specific attribute value or collection of the attribute
  12816. * values that combine to label the item in some manner. For example for an item
  12817. * that represents a person it may return the label as: "firstname lastlame" where
  12818. * the firstname and lastname are attributes on the item. If the store is unable
  12819. * to determine an adequate human readable label, it should return undefined. Users that wish
  12820. * to customize how a store instance labels items should replace the getLabel() function on
  12821. * their instance of the store, or extend the store and replace the function in
  12822. * the extension class.
  12823. *
  12824. * @param item The item to return the label for.
  12825. */
  12826. getLabel(item: dojo.data.api.Item): any;
  12827. /**
  12828. * Method to inspect the item and return an array of what attributes of the item were used
  12829. * to generate its label, if any.
  12830. * Method to inspect the item and return an array of what attributes of the item were used
  12831. * to generate its label, if any. This function is to assist UI developers in knowing what
  12832. * attributes can be ignored out of the attributes an item has when displaying it, in cases
  12833. * where the UI is using the label as an overall identifer should they wish to hide
  12834. * redundant information.
  12835. *
  12836. * @param item The item to return the list of label attributes for.
  12837. */
  12838. getLabelAttributes(item: dojo.data.api.Item): any;
  12839. /**
  12840. * Returns a single attribute value.
  12841. * Returns defaultValue if and only if item does not have a value for attribute.
  12842. * Returns null if and only if null was explicitly set as the attribute value.
  12843. * Returns undefined if and only if the item does not have a value for the
  12844. * given attribute (which is the same as saying the item does not have the attribute).
  12845. * Saying that an "item x does not have a value for an attribute y"
  12846. * is identical to saying that an "item x does not have attribute y".
  12847. * It is an oxymoron to say "that attribute is present but has no values"
  12848. * or "the item has that attribute but does not have any attribute values".
  12849. * If store.hasAttribute(item, attribute) returns false, then
  12850. * store.getValue(item, attribute) will return undefined.
  12851. *
  12852. * @param item The item to access values on.
  12853. * @param attribute The attribute to access represented as a string.
  12854. * @param defaultValue OptionalOptional. A default value to use for the getValue return in the attribute does not exist or has no value.
  12855. */
  12856. getValue(item: dojo.data.api.Item, attribute: String, defaultValue?: any): any;
  12857. /**
  12858. * This getValues() method works just like the getValue() method, but getValues()
  12859. * always returns an array rather than a single attribute value. The array
  12860. * may be empty, may contain a single attribute value, or may contain
  12861. * many attribute values.
  12862. * If the item does not have a value for the given attribute, then getValues()
  12863. * will return an empty array: []. (So, if store.hasAttribute(item, attribute)
  12864. * has a return of false, then store.getValues(item, attribute) will return [].)
  12865. *
  12866. * @param item The item to access values on.
  12867. * @param attribute The attribute to access represented as a string.
  12868. */
  12869. getValues(item: dojo.data.api.Item, attribute: String): any;
  12870. /**
  12871. * Returns true if the given item has a value for the given attribute.
  12872. *
  12873. * @param item The item to access attributes on.
  12874. * @param attribute The attribute to access represented as a string.
  12875. */
  12876. hasAttribute(item: dojo.data.api.Item, attribute: String): void;
  12877. /**
  12878. * Returns true if something is an item and came from the store instance.
  12879. * Returns false if something is a literal, an item from another store instance,
  12880. * or is any object other than an item.
  12881. *
  12882. * @param something Can be anything.
  12883. */
  12884. isItem(something: any): void;
  12885. /**
  12886. * Returns false if isItem(something) is false. Returns false if
  12887. * if isItem(something) is true but the the item is not yet loaded
  12888. * in local memory (for example, if the item has not yet been read
  12889. * from the server).
  12890. *
  12891. * @param something Can be anything.
  12892. */
  12893. isItemLoaded(something: any): void;
  12894. /**
  12895. * Given an item, this method loads the item so that a subsequent call
  12896. * to store.isItemLoaded(item) will return true. If a call to
  12897. * isItemLoaded() returns true before loadItem() is even called,
  12898. * then loadItem() need not do any work at all and will not even invoke
  12899. * the callback handlers. So, before invoking this method, check that
  12900. * the item has not already been loaded.
  12901. *
  12902. * @param keywordArgs An anonymous object that defines the item to load and callbacks to invoke when theload has completed. The format of the object is as follows:{ item: object, onItem: Function, onError: Function, scope: object}The item parameterThe item parameter is an object that represents the item in question that should becontained by the store. This attribute is required.The onItem parameterFunction(item)The onItem parameter is the callback to invoke when the item has been loaded. It takes only oneparameter, the fully loaded item.The onError parameterFunction(error)The onError parameter is the callback to invoke when the item load encountered an error. It takes only oneparameter, the error objectThe scope parameterIf a scope object is provided, all of the callback functions (onItem,onError, etc) will be invoked in the context of the scope object.In the body of the callback function, the value of the "this"keyword will be the scope object. If no scope object is provided,the callback functions will be called in the context of dojo.global().For example, onItem.call(scope, item, request) vs.onItem.call(dojo.global(), item, request)
  12903. */
  12904. loadItem(keywordArgs: Object): void;
  12905. /**
  12906. * This function is called any time an item is deleted from the store.
  12907. * It is called immediately after the store deleteItem processing has completed.
  12908. * This function is called any time an item is deleted from the store.
  12909. * It is called immediately after the store deleteItem processing has completed.
  12910. *
  12911. * @param deletedItem The item deleted.
  12912. */
  12913. onDelete(deletedItem: dojo.data.api.Item): any;
  12914. /**
  12915. * This function is called any time a new item is created in the store.
  12916. * It is called immediately after the store newItem processing has completed.
  12917. * This function is called any time a new item is created in the store.
  12918. * It is called immediately after the store newItem processing has completed.
  12919. *
  12920. * @param newItem The item created.
  12921. * @param parentInfo OptionalAn optional javascript object that is passed when the item created was placed in the storehierarchy as a value f another item's attribute, instead of a root level item. Note that if thisfunction is invoked with a value for parentInfo, then onSet is not invoked stating the attribute ofthe parent item was modified. This is to avoid getting two notification events occurring when a new itemwith a parent is created. The structure passed in is as follows:{ item: someItem, //The parent item attribute: "attribute-name-string", //The attribute the new item was assigned to. oldValue: something //Whatever was the previous value for the attribute. //If it is a single-value attribute only, then this value will be a single value. //If it was a multi-valued attribute, then this will be an array of all the values minus the new one. newValue: something //The new value of the attribute. In the case of single value calls, such as setValue, this value will be //generally be an atomic value of some sort (string, int, etc, object). In the case of multi-valued attributes, //it will be an array.}
  12922. */
  12923. onNew(newItem: dojo.data.api.Item, parentInfo?: Object): any;
  12924. /**
  12925. * This function is called any time an item is modified via setValue, setValues, unsetAttribute, etc.
  12926. * This function is called any time an item is modified via setValue, setValues, unsetAttribute, etc.
  12927. * Its purpose is to provide a hook point for those who wish to monitor actions on items in the store
  12928. * in a simple manner. The general expected usage is to dojo.connect() to the store's
  12929. * implementation and be called after the store function is called.
  12930. *
  12931. * @param item The item being modified.
  12932. * @param attribute The attribute being changed represented as a string name.
  12933. * @param oldValue The old value of the attribute. In the case of single value calls, such as setValue, unsetAttribute, etc,this value will be generally be an atomic value of some sort (string, int, etc, object). In the case ofmulti-valued attributes, it will be an array.
  12934. * @param newValue The new value of the attribute. In the case of single value calls, such as setValue, this value will begenerally be an atomic value of some sort (string, int, etc, object). In the case of multi-valued attributes,it will be an array. In the case of unsetAttribute, the new value will be 'undefined'.
  12935. */
  12936. onSet(item: dojo.data.api.Item, attribute: String, oldValue: Object, newValue: Object): any;
  12937. /**
  12938. * This function is called any time an item is modified via setValue, setValues, unsetAttribute, etc.
  12939. * This function is called any time an item is modified via setValue, setValues, unsetAttribute, etc.
  12940. * Its purpose is to provide a hook point for those who wish to monitor actions on items in the store
  12941. * in a simple manner. The general expected usage is to dojo.connect() to the store's
  12942. * implementation and be called after the store function is called.
  12943. *
  12944. * @param item The item being modified.
  12945. * @param attribute The attribute being changed represented as a string name.
  12946. * @param oldValue The old value of the attribute. In the case of single value calls, such as setValue, unsetAttribute, etc,this value will be generally be an atomic value of some sort (string, int, etc, object). In the case ofmulti-valued attributes, it will be an array.
  12947. * @param newValue The new value of the attribute. In the case of single value calls, such as setValue, this value will begenerally be an atomic value of some sort (string, int, etc, object). In the case of multi-valued attributes,it will be an array. In the case of unsetAttribute, the new value will be 'undefined'.
  12948. */
  12949. onSet(item: dojo.data.api.Item, attribute: String, oldValue: any[], newValue: Object): any;
  12950. /**
  12951. * This function is called any time an item is modified via setValue, setValues, unsetAttribute, etc.
  12952. * This function is called any time an item is modified via setValue, setValues, unsetAttribute, etc.
  12953. * Its purpose is to provide a hook point for those who wish to monitor actions on items in the store
  12954. * in a simple manner. The general expected usage is to dojo.connect() to the store's
  12955. * implementation and be called after the store function is called.
  12956. *
  12957. * @param item The item being modified.
  12958. * @param attribute The attribute being changed represented as a string name.
  12959. * @param oldValue The old value of the attribute. In the case of single value calls, such as setValue, unsetAttribute, etc,this value will be generally be an atomic value of some sort (string, int, etc, object). In the case ofmulti-valued attributes, it will be an array.
  12960. * @param newValue The new value of the attribute. In the case of single value calls, such as setValue, this value will begenerally be an atomic value of some sort (string, int, etc, object). In the case of multi-valued attributes,it will be an array. In the case of unsetAttribute, the new value will be 'undefined'.
  12961. */
  12962. onSet(item: dojo.data.api.Item, attribute: String, oldValue: Object, newValue: any[]): any;
  12963. /**
  12964. * This function is called any time an item is modified via setValue, setValues, unsetAttribute, etc.
  12965. * This function is called any time an item is modified via setValue, setValues, unsetAttribute, etc.
  12966. * Its purpose is to provide a hook point for those who wish to monitor actions on items in the store
  12967. * in a simple manner. The general expected usage is to dojo.connect() to the store's
  12968. * implementation and be called after the store function is called.
  12969. *
  12970. * @param item The item being modified.
  12971. * @param attribute The attribute being changed represented as a string name.
  12972. * @param oldValue The old value of the attribute. In the case of single value calls, such as setValue, unsetAttribute, etc,this value will be generally be an atomic value of some sort (string, int, etc, object). In the case ofmulti-valued attributes, it will be an array.
  12973. * @param newValue The new value of the attribute. In the case of single value calls, such as setValue, this value will begenerally be an atomic value of some sort (string, int, etc, object). In the case of multi-valued attributes,it will be an array. In the case of unsetAttribute, the new value will be 'undefined'.
  12974. */
  12975. onSet(item: dojo.data.api.Item, attribute: String, oldValue: any[], newValue: any[]): any;
  12976. }
  12977. /**
  12978. * Permalink: http://dojotoolkit.org/api/1.9/dojo/data/api/Read.html
  12979. *
  12980. * This is an abstract API that data provider implementations conform to.
  12981. * This file defines methods signatures and intentionally leaves all the
  12982. * methods unimplemented. For more information on the dojo.data APIs,
  12983. * please visit: http://www.dojotoolkit.org/node/98
  12984. *
  12985. */
  12986. class Read {
  12987. constructor();
  12988. /**
  12989. * The close() method is intended for instructing the store to 'close' out
  12990. * any information associated with a particular request.
  12991. * The close() method is intended for instructing the store to 'close' out
  12992. * any information associated with a particular request. In general, this API
  12993. * expects to receive as a parameter a request object returned from a fetch.
  12994. * It will then close out anything associated with that request, such as
  12995. * clearing any internal datastore caches and closing any 'open' connections.
  12996. * For some store implementations, this call may be a no-op.
  12997. *
  12998. * @param request OptionalAn instance of a request for the store to use to identify what to close out.If no request is passed, then the store should clear all internal caches (if any)and close out all 'open' connections. It does not render the store unusable fromthere on, it merely cleans out any current data and resets the store to initialstate.
  12999. */
  13000. close(request?: dojo.data.api.Request ): void;
  13001. /**
  13002. * The close() method is intended for instructing the store to 'close' out
  13003. * any information associated with a particular request.
  13004. * The close() method is intended for instructing the store to 'close' out
  13005. * any information associated with a particular request. In general, this API
  13006. * expects to receive as a parameter a request object returned from a fetch.
  13007. * It will then close out anything associated with that request, such as
  13008. * clearing any internal datastore caches and closing any 'open' connections.
  13009. * For some store implementations, this call may be a no-op.
  13010. *
  13011. * @param request OptionalAn instance of a request for the store to use to identify what to close out.If no request is passed, then the store should clear all internal caches (if any)and close out all 'open' connections. It does not render the store unusable fromthere on, it merely cleans out any current data and resets the store to initialstate.
  13012. */
  13013. close(request?: Object): void;
  13014. /**
  13015. * Returns true if the given value is one of the values that getValues()
  13016. * would return.
  13017. *
  13018. * @param item The item to access values on.
  13019. * @param attribute The attribute to access represented as a string.
  13020. * @param value The value to match as a value for the attribute.
  13021. */
  13022. containsValue(item: dojo.data.api.Item, attribute: String, value: any): void;
  13023. /**
  13024. * Given a query and set of defined options, such as a start and count of items to return,
  13025. * this method executes the query and makes the results available as data items.
  13026. * The format and expectations of stores is that they operate in a generally asynchronous
  13027. * manner, therefore callbacks are always used to return items located by the fetch parameters.
  13028. * A Request object will always be returned and is returned immediately.
  13029. * The basic request is nothing more than the keyword args passed to fetch and
  13030. * an additional function attached, abort(). The returned request object may then be used
  13031. * to cancel a fetch. All data items returns are passed through the callbacks defined in the
  13032. * fetch parameters and are not present on the 'request' object.
  13033. *
  13034. * This does not mean that custom stores can not add methods and properties to the request object
  13035. * returned, only that the API does not require it. For more info about the Request API,
  13036. * see dojo/data/api/Request
  13037. *
  13038. * @param keywordArgs The keywordArgs parameter may either be an instance ofconforming to dojo/data/api/Request or may be a simple anonymous objectthat may contain any of the following:{ query: query-object or query-string, queryOptions: object, onBegin: Function, onItem: Function, onComplete: Function, onError: Function, scope: object, start: int count: int sort: array}All implementations should accept keywordArgs objects with any ofthe 9 standard properties: query, onBegin, onItem, onComplete, onErrorscope, sort, start, and count. Some implementations may accept additionalproperties in the keywordArgs object as valid parameters, such as{includeOutliers:true}.The query parameterThe query may be optional in some data store implementations.The dojo/data/api/Read API does not specify the syntax or semanticsof the query itself -- each different data store implementationmay have its own notion of what a query should look like.However, as of dojo 0.9, 1.0, and 1.1, all the provided datastores in dojo.dataand dojox.data support an object structure query, where the object is a set ofname/value parameters such as { attrFoo: valueBar, attrFoo1: valueBar1}. Most of thedijit widgets, such as ComboBox assume this to be the case when working with a datastorewhen they dynamically update the query. Therefore, for maximum compatibility with dijitwidgets the recommended query parameter is a key/value object. That does not mean that thethe datastore may not take alternative query forms, such as a simple string, a Date, a number,or a mix of such. Ultimately, The dojo/data/api/Read API is agnostic about what the queryformat.Further note: In general for query objects that accept strings as attributevalue matches, the store should also support basic filtering capability, such as (match any character) and ? (match single character). An example query that is a query objectwould be like: { attrFoo: "value"}. Which generally means match all items where they havean attribute named attrFoo, with a value that starts with 'value'.The queryOptions parameterThe queryOptions parameter is an optional parameter used to specify options that may modifythe query in some fashion, such as doing a case insensitive search, or doing a deep searchwhere all items in a hierarchical representation of data are scanned instead of just the rootitems. It currently defines two options that all datastores should attempt to honor if possible:{ ignoreCase: boolean, // Whether or not the query should match case sensitively or not. Default behaviour is false. deep: boolean // Whether or not a fetch should do a deep search of items and all child // items instead of just root-level items in a datastore. Default is false.}The onBegin parameter.function(size, request);If an onBegin callback function is provided, the callback functionwill be called just once, before the first onItem callback is called.The onBegin callback function will be passed two arguments, thethe total number of items identified and the Request object. If the total number isunknown, then size will be -1. Note that size is not necessarily the size of thecollection of items returned from the query, as the request may have specified to return only asubset of the total set of items through the use of the start and count parameters.The onItem parameter.function(item, request);If an onItem callback function is provided, the callback functionwill be called as each item in the result is received. The callbackfunction will be passed two arguments: the item itself, and theRequest object.The onComplete parameter.function(items, request);If an onComplete callback function is provided, the callback functionwill be called just once, after the last onItem callback is called.Note that if the onItem callback is not present, then onComplete will be passedan array containing all items which matched the query and the request object.If the onItem callback is present, then onComplete is called as:onComplete(null, request).The onError parameter.function(errorData, request);If an onError callback function is provided, the callback functionwill be called if there is any sort of error while attempting toexecute the query.The onError callback function will be passed two arguments:an Error object and the Request object.The scope parameter.If a scope object is provided, all of the callback functions (onItem,onComplete, onError, etc) will be invoked in the context of the scopeobject. In the body of the callback function, the value of the "this"keyword will be the scope object. If no scope object is provided,the callback functions will be called in the context of dojo.global().For example, onItem.call(scope, item, request) vs.onItem.call(dojo.global(), item, request)The start parameter.If a start parameter is specified, this is a indication to the datastore toonly start returning items once the start number of items have been located andskipped. When this parameter is paired with 'count', the store should be ableto page across queries with millions of hits by only returning subsets of thehits for each queryThe count parameter.If a count parameter is specified, this is a indication to the datastore toonly return up to that many items. This allows a fetch call that may havemillions of item matches to be paired down to something reasonable.The sort parameter.If a sort parameter is specified, this is a indication to the datastore tosort the items in some manner before returning the items. The array is an array ofjavascript objects that must conform to the following format to be applied to thefetching of items:{ attribute: attribute || attribute-name-string, descending: true|false; // Optional. Default is false.}Note that when comparing attributes, if an item contains no value for the attribute(undefined), then it the default ascending sort logic should push it to the bottomof the list. In the descending order case, it such items should appear at the top of the list.
  13039. */
  13040. fetch(keywordArgs: Object): any;
  13041. /**
  13042. * Returns an array with all the attributes that this item has. This
  13043. * method will always return an array; if the item has no attributes
  13044. * at all, getAttributes() will return an empty array: [].
  13045. *
  13046. * @param item The item to access attributes on.
  13047. */
  13048. getAttributes(item: dojo.data.api.Item): void;
  13049. /**
  13050. * The getFeatures() method returns an simple keyword values object
  13051. * that specifies what interface features the datastore implements.
  13052. * A simple CsvStore may be read-only, and the only feature it
  13053. * implements will be the 'dojo/data/api/Read' interface, so the
  13054. * getFeatures() method will return an object like this one:
  13055. * {'dojo.data.api.Read': true}.
  13056. * A more sophisticated datastore might implement a variety of
  13057. * interface features, like 'dojo.data.api.Read', 'dojo/data/api/Write',
  13058. * 'dojo.data.api.Identity', and 'dojo/data/api/Attribution'.
  13059. *
  13060. */
  13061. getFeatures(): Object;
  13062. /**
  13063. * Method to inspect the item and return a user-readable 'label' for the item
  13064. * that provides a general/adequate description of what the item is.
  13065. * Method to inspect the item and return a user-readable 'label' for the item
  13066. * that provides a general/adequate description of what the item is. In general
  13067. * most labels will be a specific attribute value or collection of the attribute
  13068. * values that combine to label the item in some manner. For example for an item
  13069. * that represents a person it may return the label as: "firstname lastlame" where
  13070. * the firstname and lastname are attributes on the item. If the store is unable
  13071. * to determine an adequate human readable label, it should return undefined. Users that wish
  13072. * to customize how a store instance labels items should replace the getLabel() function on
  13073. * their instance of the store, or extend the store and replace the function in
  13074. * the extension class.
  13075. *
  13076. * @param item The item to return the label for.
  13077. */
  13078. getLabel(item: dojo.data.api.Item): any;
  13079. /**
  13080. * Method to inspect the item and return an array of what attributes of the item were used
  13081. * to generate its label, if any.
  13082. * Method to inspect the item and return an array of what attributes of the item were used
  13083. * to generate its label, if any. This function is to assist UI developers in knowing what
  13084. * attributes can be ignored out of the attributes an item has when displaying it, in cases
  13085. * where the UI is using the label as an overall identifer should they wish to hide
  13086. * redundant information.
  13087. *
  13088. * @param item The item to return the list of label attributes for.
  13089. */
  13090. getLabelAttributes(item: dojo.data.api.Item): any;
  13091. /**
  13092. * Returns a single attribute value.
  13093. * Returns defaultValue if and only if item does not have a value for attribute.
  13094. * Returns null if and only if null was explicitly set as the attribute value.
  13095. * Returns undefined if and only if the item does not have a value for the
  13096. * given attribute (which is the same as saying the item does not have the attribute).
  13097. * Saying that an "item x does not have a value for an attribute y"
  13098. * is identical to saying that an "item x does not have attribute y".
  13099. * It is an oxymoron to say "that attribute is present but has no values"
  13100. * or "the item has that attribute but does not have any attribute values".
  13101. * If store.hasAttribute(item, attribute) returns false, then
  13102. * store.getValue(item, attribute) will return undefined.
  13103. *
  13104. * @param item The item to access values on.
  13105. * @param attribute The attribute to access represented as a string.
  13106. * @param defaultValue OptionalOptional. A default value to use for the getValue return in the attribute does not exist or has no value.
  13107. */
  13108. getValue(item: dojo.data.api.Item, attribute: String, defaultValue?: any): any;
  13109. /**
  13110. * This getValues() method works just like the getValue() method, but getValues()
  13111. * always returns an array rather than a single attribute value. The array
  13112. * may be empty, may contain a single attribute value, or may contain
  13113. * many attribute values.
  13114. * If the item does not have a value for the given attribute, then getValues()
  13115. * will return an empty array: []. (So, if store.hasAttribute(item, attribute)
  13116. * has a return of false, then store.getValues(item, attribute) will return [].)
  13117. *
  13118. * @param item The item to access values on.
  13119. * @param attribute The attribute to access represented as a string.
  13120. */
  13121. getValues(item: dojo.data.api.Item, attribute: String): any;
  13122. /**
  13123. * Returns true if the given item has a value for the given attribute.
  13124. *
  13125. * @param item The item to access attributes on.
  13126. * @param attribute The attribute to access represented as a string.
  13127. */
  13128. hasAttribute(item: dojo.data.api.Item, attribute: String): void;
  13129. /**
  13130. * Returns true if something is an item and came from the store instance.
  13131. * Returns false if something is a literal, an item from another store instance,
  13132. * or is any object other than an item.
  13133. *
  13134. * @param something Can be anything.
  13135. */
  13136. isItem(something: any): void;
  13137. /**
  13138. * Returns false if isItem(something) is false. Returns false if
  13139. * if isItem(something) is true but the the item is not yet loaded
  13140. * in local memory (for example, if the item has not yet been read
  13141. * from the server).
  13142. *
  13143. * @param something Can be anything.
  13144. */
  13145. isItemLoaded(something: any): void;
  13146. /**
  13147. * Given an item, this method loads the item so that a subsequent call
  13148. * to store.isItemLoaded(item) will return true. If a call to
  13149. * isItemLoaded() returns true before loadItem() is even called,
  13150. * then loadItem() need not do any work at all and will not even invoke
  13151. * the callback handlers. So, before invoking this method, check that
  13152. * the item has not already been loaded.
  13153. *
  13154. * @param keywordArgs An anonymous object that defines the item to load and callbacks to invoke when theload has completed. The format of the object is as follows:{ item: object, onItem: Function, onError: Function, scope: object}The item parameterThe item parameter is an object that represents the item in question that should becontained by the store. This attribute is required.The onItem parameterFunction(item)The onItem parameter is the callback to invoke when the item has been loaded. It takes only oneparameter, the fully loaded item.The onError parameterFunction(error)The onError parameter is the callback to invoke when the item load encountered an error. It takes only oneparameter, the error objectThe scope parameterIf a scope object is provided, all of the callback functions (onItem,onError, etc) will be invoked in the context of the scope object.In the body of the callback function, the value of the "this"keyword will be the scope object. If no scope object is provided,the callback functions will be called in the context of dojo.global().For example, onItem.call(scope, item, request) vs.onItem.call(dojo.global(), item, request)
  13155. */
  13156. loadItem(keywordArgs: Object): void;
  13157. }
  13158. /**
  13159. * Permalink: http://dojotoolkit.org/api/1.9/dojo/data/api/Write.html
  13160. *
  13161. * This is an abstract API that data provider implementations conform to.
  13162. * This file defines function signatures and intentionally leaves all the
  13163. * functions unimplemented.
  13164. *
  13165. */
  13166. class Write extends dojo.data.api.Read {
  13167. constructor();
  13168. /**
  13169. * The close() method is intended for instructing the store to 'close' out
  13170. * any information associated with a particular request.
  13171. * The close() method is intended for instructing the store to 'close' out
  13172. * any information associated with a particular request. In general, this API
  13173. * expects to receive as a parameter a request object returned from a fetch.
  13174. * It will then close out anything associated with that request, such as
  13175. * clearing any internal datastore caches and closing any 'open' connections.
  13176. * For some store implementations, this call may be a no-op.
  13177. *
  13178. * @param request OptionalAn instance of a request for the store to use to identify what to close out.If no request is passed, then the store should clear all internal caches (if any)and close out all 'open' connections. It does not render the store unusable fromthere on, it merely cleans out any current data and resets the store to initialstate.
  13179. */
  13180. close(request?: dojo.data.api.Request ): void;
  13181. /**
  13182. * The close() method is intended for instructing the store to 'close' out
  13183. * any information associated with a particular request.
  13184. * The close() method is intended for instructing the store to 'close' out
  13185. * any information associated with a particular request. In general, this API
  13186. * expects to receive as a parameter a request object returned from a fetch.
  13187. * It will then close out anything associated with that request, such as
  13188. * clearing any internal datastore caches and closing any 'open' connections.
  13189. * For some store implementations, this call may be a no-op.
  13190. *
  13191. * @param request OptionalAn instance of a request for the store to use to identify what to close out.If no request is passed, then the store should clear all internal caches (if any)and close out all 'open' connections. It does not render the store unusable fromthere on, it merely cleans out any current data and resets the store to initialstate.
  13192. */
  13193. close(request?: Object): void;
  13194. /**
  13195. * Returns true if the given value is one of the values that getValues()
  13196. * would return.
  13197. *
  13198. * @param item The item to access values on.
  13199. * @param attribute The attribute to access represented as a string.
  13200. * @param value The value to match as a value for the attribute.
  13201. */
  13202. containsValue(item: dojo.data.api.Item, attribute: String, value: any): void;
  13203. /**
  13204. * Deletes an item from the store.
  13205. *
  13206. * @param item The item to delete.
  13207. */
  13208. deleteItem(item: dojo.data.api.Item): void;
  13209. /**
  13210. * Given a query and set of defined options, such as a start and count of items to return,
  13211. * this method executes the query and makes the results available as data items.
  13212. * The format and expectations of stores is that they operate in a generally asynchronous
  13213. * manner, therefore callbacks are always used to return items located by the fetch parameters.
  13214. * A Request object will always be returned and is returned immediately.
  13215. * The basic request is nothing more than the keyword args passed to fetch and
  13216. * an additional function attached, abort(). The returned request object may then be used
  13217. * to cancel a fetch. All data items returns are passed through the callbacks defined in the
  13218. * fetch parameters and are not present on the 'request' object.
  13219. *
  13220. * This does not mean that custom stores can not add methods and properties to the request object
  13221. * returned, only that the API does not require it. For more info about the Request API,
  13222. * see dojo/data/api/Request
  13223. *
  13224. * @param keywordArgs The keywordArgs parameter may either be an instance ofconforming to dojo/data/api/Request or may be a simple anonymous objectthat may contain any of the following:{ query: query-object or query-string, queryOptions: object, onBegin: Function, onItem: Function, onComplete: Function, onError: Function, scope: object, start: int count: int sort: array}All implementations should accept keywordArgs objects with any ofthe 9 standard properties: query, onBegin, onItem, onComplete, onErrorscope, sort, start, and count. Some implementations may accept additionalproperties in the keywordArgs object as valid parameters, such as{includeOutliers:true}.The query parameterThe query may be optional in some data store implementations.The dojo/data/api/Read API does not specify the syntax or semanticsof the query itself -- each different data store implementationmay have its own notion of what a query should look like.However, as of dojo 0.9, 1.0, and 1.1, all the provided datastores in dojo.dataand dojox.data support an object structure query, where the object is a set ofname/value parameters such as { attrFoo: valueBar, attrFoo1: valueBar1}. Most of thedijit widgets, such as ComboBox assume this to be the case when working with a datastorewhen they dynamically update the query. Therefore, for maximum compatibility with dijitwidgets the recommended query parameter is a key/value object. That does not mean that thethe datastore may not take alternative query forms, such as a simple string, a Date, a number,or a mix of such. Ultimately, The dojo/data/api/Read API is agnostic about what the queryformat.Further note: In general for query objects that accept strings as attributevalue matches, the store should also support basic filtering capability, such as (match any character) and ? (match single character). An example query that is a query objectwould be like: { attrFoo: "value"}. Which generally means match all items where they havean attribute named attrFoo, with a value that starts with 'value'.The queryOptions parameterThe queryOptions parameter is an optional parameter used to specify options that may modifythe query in some fashion, such as doing a case insensitive search, or doing a deep searchwhere all items in a hierarchical representation of data are scanned instead of just the rootitems. It currently defines two options that all datastores should attempt to honor if possible:{ ignoreCase: boolean, // Whether or not the query should match case sensitively or not. Default behaviour is false. deep: boolean // Whether or not a fetch should do a deep search of items and all child // items instead of just root-level items in a datastore. Default is false.}The onBegin parameter.function(size, request);If an onBegin callback function is provided, the callback functionwill be called just once, before the first onItem callback is called.The onBegin callback function will be passed two arguments, thethe total number of items identified and the Request object. If the total number isunknown, then size will be -1. Note that size is not necessarily the size of thecollection of items returned from the query, as the request may have specified to return only asubset of the total set of items through the use of the start and count parameters.The onItem parameter.function(item, request);If an onItem callback function is provided, the callback functionwill be called as each item in the result is received. The callbackfunction will be passed two arguments: the item itself, and theRequest object.The onComplete parameter.function(items, request);If an onComplete callback function is provided, the callback functionwill be called just once, after the last onItem callback is called.Note that if the onItem callback is not present, then onComplete will be passedan array containing all items which matched the query and the request object.If the onItem callback is present, then onComplete is called as:onComplete(null, request).The onError parameter.function(errorData, request);If an onError callback function is provided, the callback functionwill be called if there is any sort of error while attempting toexecute the query.The onError callback function will be passed two arguments:an Error object and the Request object.The scope parameter.If a scope object is provided, all of the callback functions (onItem,onComplete, onError, etc) will be invoked in the context of the scopeobject. In the body of the callback function, the value of the "this"keyword will be the scope object. If no scope object is provided,the callback functions will be called in the context of dojo.global().For example, onItem.call(scope, item, request) vs.onItem.call(dojo.global(), item, request)The start parameter.If a start parameter is specified, this is a indication to the datastore toonly start returning items once the start number of items have been located andskipped. When this parameter is paired with 'count', the store should be ableto page across queries with millions of hits by only returning subsets of thehits for each queryThe count parameter.If a count parameter is specified, this is a indication to the datastore toonly return up to that many items. This allows a fetch call that may havemillions of item matches to be paired down to something reasonable.The sort parameter.If a sort parameter is specified, this is a indication to the datastore tosort the items in some manner before returning the items. The array is an array ofjavascript objects that must conform to the following format to be applied to thefetching of items:{ attribute: attribute || attribute-name-string, descending: true|false; // Optional. Default is false.}Note that when comparing attributes, if an item contains no value for the attribute(undefined), then it the default ascending sort logic should push it to the bottomof the list. In the descending order case, it such items should appear at the top of the list.
  13225. */
  13226. fetch(keywordArgs: Object): any;
  13227. /**
  13228. * Returns an array with all the attributes that this item has. This
  13229. * method will always return an array; if the item has no attributes
  13230. * at all, getAttributes() will return an empty array: [].
  13231. *
  13232. * @param item The item to access attributes on.
  13233. */
  13234. getAttributes(item: dojo.data.api.Item): void;
  13235. /**
  13236. * See dojo/data/api/Read.getFeatures()
  13237. *
  13238. */
  13239. getFeatures(): Object;
  13240. /**
  13241. * Method to inspect the item and return a user-readable 'label' for the item
  13242. * that provides a general/adequate description of what the item is.
  13243. * Method to inspect the item and return a user-readable 'label' for the item
  13244. * that provides a general/adequate description of what the item is. In general
  13245. * most labels will be a specific attribute value or collection of the attribute
  13246. * values that combine to label the item in some manner. For example for an item
  13247. * that represents a person it may return the label as: "firstname lastlame" where
  13248. * the firstname and lastname are attributes on the item. If the store is unable
  13249. * to determine an adequate human readable label, it should return undefined. Users that wish
  13250. * to customize how a store instance labels items should replace the getLabel() function on
  13251. * their instance of the store, or extend the store and replace the function in
  13252. * the extension class.
  13253. *
  13254. * @param item The item to return the label for.
  13255. */
  13256. getLabel(item: dojo.data.api.Item): any;
  13257. /**
  13258. * Method to inspect the item and return an array of what attributes of the item were used
  13259. * to generate its label, if any.
  13260. * Method to inspect the item and return an array of what attributes of the item were used
  13261. * to generate its label, if any. This function is to assist UI developers in knowing what
  13262. * attributes can be ignored out of the attributes an item has when displaying it, in cases
  13263. * where the UI is using the label as an overall identifer should they wish to hide
  13264. * redundant information.
  13265. *
  13266. * @param item The item to return the list of label attributes for.
  13267. */
  13268. getLabelAttributes(item: dojo.data.api.Item): any;
  13269. /**
  13270. * Returns a single attribute value.
  13271. * Returns defaultValue if and only if item does not have a value for attribute.
  13272. * Returns null if and only if null was explicitly set as the attribute value.
  13273. * Returns undefined if and only if the item does not have a value for the
  13274. * given attribute (which is the same as saying the item does not have the attribute).
  13275. * Saying that an "item x does not have a value for an attribute y"
  13276. * is identical to saying that an "item x does not have attribute y".
  13277. * It is an oxymoron to say "that attribute is present but has no values"
  13278. * or "the item has that attribute but does not have any attribute values".
  13279. * If store.hasAttribute(item, attribute) returns false, then
  13280. * store.getValue(item, attribute) will return undefined.
  13281. *
  13282. * @param item The item to access values on.
  13283. * @param attribute The attribute to access represented as a string.
  13284. * @param defaultValue OptionalOptional. A default value to use for the getValue return in the attribute does not exist or has no value.
  13285. */
  13286. getValue(item: dojo.data.api.Item, attribute: String, defaultValue?: any): any;
  13287. /**
  13288. * This getValues() method works just like the getValue() method, but getValues()
  13289. * always returns an array rather than a single attribute value. The array
  13290. * may be empty, may contain a single attribute value, or may contain
  13291. * many attribute values.
  13292. * If the item does not have a value for the given attribute, then getValues()
  13293. * will return an empty array: []. (So, if store.hasAttribute(item, attribute)
  13294. * has a return of false, then store.getValues(item, attribute) will return [].)
  13295. *
  13296. * @param item The item to access values on.
  13297. * @param attribute The attribute to access represented as a string.
  13298. */
  13299. getValues(item: dojo.data.api.Item, attribute: String): any;
  13300. /**
  13301. * Returns true if the given item has a value for the given attribute.
  13302. *
  13303. * @param item The item to access attributes on.
  13304. * @param attribute The attribute to access represented as a string.
  13305. */
  13306. hasAttribute(item: dojo.data.api.Item, attribute: String): void;
  13307. /**
  13308. * Given an item, isDirty() returns true if the item has been modified
  13309. * since the last save(). If isDirty() is called with no item argument,
  13310. * then this function returns true if any item has been modified since
  13311. * the last save().
  13312. *
  13313. * @param item OptionalThe item to check.
  13314. */
  13315. isDirty(item?: any): void;
  13316. /**
  13317. * Returns true if something is an item and came from the store instance.
  13318. * Returns false if something is a literal, an item from another store instance,
  13319. * or is any object other than an item.
  13320. *
  13321. * @param something Can be anything.
  13322. */
  13323. isItem(something: any): void;
  13324. /**
  13325. * Returns false if isItem(something) is false. Returns false if
  13326. * if isItem(something) is true but the the item is not yet loaded
  13327. * in local memory (for example, if the item has not yet been read
  13328. * from the server).
  13329. *
  13330. * @param something Can be anything.
  13331. */
  13332. isItemLoaded(something: any): void;
  13333. /**
  13334. * Given an item, this method loads the item so that a subsequent call
  13335. * to store.isItemLoaded(item) will return true. If a call to
  13336. * isItemLoaded() returns true before loadItem() is even called,
  13337. * then loadItem() need not do any work at all and will not even invoke
  13338. * the callback handlers. So, before invoking this method, check that
  13339. * the item has not already been loaded.
  13340. *
  13341. * @param keywordArgs An anonymous object that defines the item to load and callbacks to invoke when theload has completed. The format of the object is as follows:{ item: object, onItem: Function, onError: Function, scope: object}The item parameterThe item parameter is an object that represents the item in question that should becontained by the store. This attribute is required.The onItem parameterFunction(item)The onItem parameter is the callback to invoke when the item has been loaded. It takes only oneparameter, the fully loaded item.The onError parameterFunction(error)The onError parameter is the callback to invoke when the item load encountered an error. It takes only oneparameter, the error objectThe scope parameterIf a scope object is provided, all of the callback functions (onItem,onError, etc) will be invoked in the context of the scope object.In the body of the callback function, the value of the "this"keyword will be the scope object. If no scope object is provided,the callback functions will be called in the context of dojo.global().For example, onItem.call(scope, item, request) vs.onItem.call(dojo.global(), item, request)
  13342. */
  13343. loadItem(keywordArgs: Object): void;
  13344. /**
  13345. * Returns a newly created item. Sets the attributes of the new
  13346. * item based on the keywordArgs provided. In general, the attribute
  13347. * names in the keywords become the attributes in the new item and as for
  13348. * the attribute values in keywordArgs, they become the values of the attributes
  13349. * in the new item. In addition, for stores that support hierarchical item
  13350. * creation, an optional second parameter is accepted that defines what item is the parent
  13351. * of the new item and what attribute of that item should the new item be assigned to.
  13352. * In general, this will assume that the attribute targeted is multi-valued and a new item
  13353. * is appended onto the list of values for that attribute.
  13354. *
  13355. * @param keywordArgs OptionalA javascript object defining the initial content of the item as a set of JavaScript 'property name: value' pairs.
  13356. * @param parentInfo OptionalAn optional javascript object defining what item is the parent of this item (in a hierarchical store. Not all stores do hierarchical items),and what attribute of that parent to assign the new item to. If this is present, and the attribute specifiedis a multi-valued attribute, it will append this item into the array of values for that attribute. The structureof the object is as follows:{ parent: someItem, attribute: "attribute-name-string"}
  13357. */
  13358. newItem(keywordArgs?: Object, parentInfo?: Object): void;
  13359. /**
  13360. * Discards any unsaved changes.
  13361. * Discards any unsaved changes.
  13362. *
  13363. */
  13364. revert(): void;
  13365. /**
  13366. * Saves to the server all the changes that have been made locally.
  13367. * The save operation may take some time and is generally performed
  13368. * in an asynchronous fashion. The outcome of the save action is
  13369. * is passed into the set of supported callbacks for the save.
  13370. *
  13371. * @param keywordArgs { onComplete: function onError: function scope: object} ####The *onComplete* parameter. function(); If an onComplete callback function is provided, the callback function will be called just once, after the save has completed. No parameters are generally passed to the onComplete. ####The *onError* parameter. function(errorData); If an onError callback function is provided, the callback function will be called if there is any sort of error while attempting to execute the save. The onError function will be based one parameter, the error. ####The *scope* parameter. If a scope object is provided, all of the callback function ( onComplete, onError, etc) will be invoked in the context of the scope object. In the body of the callback function, the value of the "this" keyword will be the scope object. If no scope object is provided, the callback functions will be called in the context of dojo.global. For example, onComplete.call(scope) vs. onComplete.call(dojo.global)
  13372. */
  13373. save(keywordArgs: Object): any;
  13374. /**
  13375. * Sets the value of an attribute on an item.
  13376. * Replaces any previous value or values.
  13377. *
  13378. * @param item The item to modify.
  13379. * @param attribute The attribute of the item to change represented as a string name.
  13380. * @param value The value to assign to the item.
  13381. */
  13382. setValue(item: dojo.data.api.Item, attribute: String, value: any): void;
  13383. /**
  13384. * Adds each value in the values array as a value of the given
  13385. * attribute on the given item.
  13386. * Replaces any previous value or values.
  13387. * Calling store.setValues(x, y, []) (with values as an empty array) has
  13388. * the same effect as calling store.unsetAttribute(x, y).
  13389. *
  13390. * @param item The item to modify.
  13391. * @param attribute The attribute of the item to change represented as a string name.
  13392. * @param values An array of values to assign to the attribute..
  13393. */
  13394. setValues(item: dojo.data.api.Item, attribute: String, values: any[]): void;
  13395. /**
  13396. * Deletes all the values of an attribute on an item.
  13397. *
  13398. * @param item The item to modify.
  13399. * @param attribute The attribute of the item to unset represented as a string.
  13400. */
  13401. unsetAttribute(item: dojo.data.api.Item, attribute: String): void;
  13402. }
  13403. }
  13404. namespace util {
  13405. /**
  13406. * Permalink: http://dojotoolkit.org/api/1.9/dojo/data/util/filter.html
  13407. *
  13408. *
  13409. */
  13410. interface filter {
  13411. /**
  13412. * Helper function to convert a simple pattern to a regular expression for matching.
  13413. * Returns a regular expression object that conforms to the defined conversion rules.
  13414. * For example:
  13415. *
  13416. * ca -> /^ca.$/
  13417. * ca -> /^.ca.$/
  13418. * c\a -> /^.c*a.*$/
  13419. * c\a? -> /^.c*a..*$/
  13420. * and so on.
  13421. *
  13422. * @param pattern A simple matching pattern to convert that follows basic rules:Means match anything, so ca* means match anything starting with ca? Means match single character. So, b?b will match to bob and bab, and so on.\ is an escape character. So for example, * means do not treat as a match, but literal character .To use a \ as a character in the string, it must be escaped. So in the pattern it should berepresented by \ to be treated as an ordinary \ character instead of an escape.
  13423. * @param ignoreCase OptionalAn optional flag to indicate if the pattern matching should be treated as case-sensitive or not when comparingBy default, it is assumed case sensitive.
  13424. */
  13425. patternToRegExp(pattern: String, ignoreCase?: boolean): any;
  13426. }
  13427. /**
  13428. * Permalink: http://dojotoolkit.org/api/1.9/dojo/data/util/simpleFetch.html
  13429. *
  13430. *
  13431. */
  13432. interface simpleFetch {
  13433. /**
  13434. * The error handler when there is an error fetching items. This function should not be called
  13435. * directly and is used by simpleFetch.fetch().
  13436. *
  13437. * @param errorData
  13438. * @param requestObject
  13439. */
  13440. errorHandler(errorData: Object, requestObject: Object): void;
  13441. /**
  13442. * The simpleFetch mixin is designed to serve as a set of function(s) that can
  13443. * be mixed into other datastore implementations to accelerate their development.
  13444. * The simpleFetch mixin should work well for any datastore that can respond to a _fetchItems()
  13445. * call by returning an array of all the found items that matched the query. The simpleFetch mixin
  13446. * is not designed to work for datastores that respond to a fetch() call by incrementally
  13447. * loading items, or sequentially loading partial batches of the result
  13448. * set. For datastores that mixin simpleFetch, simpleFetch
  13449. * implements a fetch method that automatically handles eight of the fetch()
  13450. * arguments -- onBegin, onItem, onComplete, onError, start, count, sort and scope
  13451. * The class mixing in simpleFetch should not implement fetch(),
  13452. * but should instead implement a _fetchItems() method. The _fetchItems()
  13453. * method takes three arguments, the keywordArgs object that was passed
  13454. * to fetch(), a callback function to be called when the result array is
  13455. * available, and an error callback to be called if something goes wrong.
  13456. * The _fetchItems() method should ignore any keywordArgs parameters for
  13457. * start, count, onBegin, onItem, onComplete, onError, sort, and scope.
  13458. * The _fetchItems() method needs to correctly handle any other keywordArgs
  13459. * parameters, including the query parameter and any optional parameters
  13460. * (such as includeChildren). The _fetchItems() method should create an array of
  13461. * result items and pass it to the fetchHandler along with the original request object --
  13462. * or, the _fetchItems() method may, if it wants to, create an new request object
  13463. * with other specifics about the request that are specific to the datastore and pass
  13464. * that as the request object to the handler.
  13465. *
  13466. * For more information on this specific function, see dojo/data/api/Read.fetch()
  13467. *
  13468. * @param request OptionalThe keywordArgs parameter may either be an instance ofconforming to dojo/data/api/Request or may be a simple anonymous objectthat may contain any of the following:{ query: query-object or query-string, queryOptions: object, onBegin: Function, onItem: Function, onComplete: Function, onError: Function, scope: object, start: int count: int sort: array}All implementations should accept keywordArgs objects with any ofthe 9 standard properties: query, onBegin, onItem, onComplete, onErrorscope, sort, start, and count. Some implementations may accept additionalproperties in the keywordArgs object as valid parameters, such as{includeOutliers:true}.The query parameterThe query may be optional in some data store implementations.The dojo/data/api/Read API does not specify the syntax or semanticsof the query itself -- each different data store implementationmay have its own notion of what a query should look like.However, as of dojo 0.9, 1.0, and 1.1, all the provided datastores in dojo.dataand dojox.data support an object structure query, where the object is a set ofname/value parameters such as { attrFoo: valueBar, attrFoo1: valueBar1}. Most of thedijit widgets, such as ComboBox assume this to be the case when working with a datastorewhen they dynamically update the query. Therefore, for maximum compatibility with dijitwidgets the recommended query parameter is a key/value object. That does not mean that thethe datastore may not take alternative query forms, such as a simple string, a Date, a number,or a mix of such. Ultimately, The dojo/data/api/Read API is agnostic about what the queryformat.Further note: In general for query objects that accept strings as attributevalue matches, the store should also support basic filtering capability, such as (match any character) and ? (match single character). An example query that is a query objectwould be like: { attrFoo: "value"}. Which generally means match all items where they havean attribute named attrFoo, with a value that starts with 'value'.The queryOptions parameterThe queryOptions parameter is an optional parameter used to specify options that may modifythe query in some fashion, such as doing a case insensitive search, or doing a deep searchwhere all items in a hierarchical representation of data are scanned instead of just the rootitems. It currently defines two options that all datastores should attempt to honor if possible:{ ignoreCase: boolean, // Whether or not the query should match case sensitively or not. Default behaviour is false. deep: boolean // Whether or not a fetch should do a deep search of items and all child // items instead of just root-level items in a datastore. Default is false.}The onBegin parameter.function(size, request);If an onBegin callback function is provided, the callback functionwill be called just once, before the first onItem callback is called.The onBegin callback function will be passed two arguments, thethe total number of items identified and the Request object. If the total number isunknown, then size will be -1. Note that size is not necessarily the size of thecollection of items returned from the query, as the request may have specified to return only asubset of the total set of items through the use of the start and count parameters.The onItem parameter.function(item, request);If an onItem callback function is provided, the callback functionwill be called as each item in the result is received. The callbackfunction will be passed two arguments: the item itself, and theRequest object.The onComplete parameter.function(items, request);If an onComplete callback function is provided, the callback functionwill be called just once, after the last onItem callback is called.Note that if the onItem callback is not present, then onComplete will be passedan array containing all items which matched the query and the request object.If the onItem callback is present, then onComplete is called as:onComplete(null, request).The onError parameter.function(errorData, request);If an onError callback function is provided, the callback functionwill be called if there is any sort of error while attempting toexecute the query.The onError callback function will be passed two arguments:an Error object and the Request object.The scope parameter.If a scope object is provided, all of the callback functions (onItem,onComplete, onError, etc) will be invoked in the context of the scopeobject. In the body of the callback function, the value of the "this"keyword will be the scope object. If no scope object is provided,the callback functions will be called in the context of dojo.global().For example, onItem.call(scope, item, request) vs.onItem.call(dojo.global(), item, request)The start parameter.If a start parameter is specified, this is a indication to the datastore toonly start returning items once the start number of items have been located andskipped. When this parameter is paired with 'count', the store should be ableto page across queries with millions of hits by only returning subsets of thehits for each queryThe count parameter.If a count parameter is specified, this is a indication to the datastore toonly return up to that many items. This allows a fetch call that may havemillions of item matches to be paired down to something reasonable.The sort parameter.If a sort parameter is specified, this is a indication to the datastore tosort the items in some manner before returning the items. The array is an array ofjavascript objects that must conform to the following format to be applied to thefetching of items:{ attribute: attribute || attribute-name-string, descending: true|false; // Optional. Default is false.}Note that when comparing attributes, if an item contains no value for the attribute(undefined), then it the default ascending sort logic should push it to the bottomof the list. In the descending order case, it such items should appear at the top of the list.
  13469. */
  13470. fetch(request: Object): void;
  13471. /**
  13472. * The handler when items are sucessfully fetched. This function should not be called directly
  13473. * and is used by simpleFetch.fetch().
  13474. *
  13475. * @param items
  13476. * @param requestObject
  13477. */
  13478. fetchHandler(items: any[], requestObject: Object): void;
  13479. }
  13480. /**
  13481. * Permalink: http://dojotoolkit.org/api/1.9/dojo/data/util/sorter.html
  13482. *
  13483. *
  13484. */
  13485. interface sorter {
  13486. /**
  13487. * Basic comparison function that compares if an item is greater or less than another item
  13488. * returns 1 if a > b, -1 if a < b, 0 if equal.
  13489. * 'null' values (null, undefined) are treated as larger values so that they're pushed to the end of the list.
  13490. * And compared to each other, null is equivalent to undefined.
  13491. *
  13492. * @param a
  13493. * @param b
  13494. */
  13495. basicComparator(a: any, b: any): number;
  13496. /**
  13497. * Helper function to generate the sorting function based off the list of sort attributes.
  13498. * The sort function creation will look for a property on the store called 'comparatorMap'. If it exists
  13499. * it will look in the mapping for comparisons function for the attributes. If one is found, it will
  13500. * use it instead of the basic comparator, which is typically used for strings, ints, booleans, and dates.
  13501. * Returns the sorting function for this particular list of attributes and sorting directions.
  13502. *
  13503. * @param sortSpec A JS object that array that defines out what attribute names to sort on and whether it should be descenting or asending.The objects should be formatted as follows:{ attribute: "attributeName-string" || attribute, descending: true|false; // Default is false.}
  13504. * @param store The datastore object to look up item values from.
  13505. */
  13506. createSortFunction(sortSpec: Object, store: dojo.data.api.Read): String[];
  13507. }
  13508. }
  13509. }
  13510. namespace dnd {
  13511. /**
  13512. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/Avatar.html
  13513. *
  13514. * Object that represents transferred DnD items visually
  13515. *
  13516. * @param manager
  13517. */
  13518. class Avatar {
  13519. constructor(manager: any);
  13520. /**
  13521. * a DnD manager object
  13522. *
  13523. */
  13524. "manager": Object;
  13525. /**
  13526. * constructor function;
  13527. * it is separate so it can be (dynamically) overwritten in case of need
  13528. *
  13529. */
  13530. construct(): void;
  13531. /**
  13532. * destructor for the avatar; called to remove all references so it can be garbage-collected
  13533. *
  13534. */
  13535. destroy(): void;
  13536. /**
  13537. * updates the avatar to reflect the current DnD state
  13538. *
  13539. */
  13540. update(): void;
  13541. }
  13542. /**
  13543. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/Manager.html
  13544. *
  13545. * the manager of DnD operations (usually a singleton)
  13546. *
  13547. */
  13548. class Manager extends dojo.Evented {
  13549. constructor();
  13550. /**
  13551. *
  13552. */
  13553. "OFFSET_X": number;
  13554. /**
  13555. *
  13556. */
  13557. "OFFSET_Y": number;
  13558. /**
  13559. * called to notify if the current target can accept items
  13560. *
  13561. * @param flag
  13562. */
  13563. canDrop(flag: any): void;
  13564. /**
  13565. *
  13566. * @param type
  13567. * @param event
  13568. */
  13569. emit(type: any, event: any): any;
  13570. /**
  13571. * makes the avatar; it is separate to be overwritten dynamically, if needed
  13572. *
  13573. */
  13574. makeAvatar(): any;
  13575. /**
  13576. * Returns the current DnD manager. Creates one if it is not created yet.
  13577. *
  13578. */
  13579. manager(): any;
  13580. /**
  13581. *
  13582. * @param type
  13583. * @param listener
  13584. */
  13585. on(type: any, listener: any): any;
  13586. /**
  13587. * called when a source detected a mouse-out condition
  13588. *
  13589. * @param source the reporter
  13590. */
  13591. outSource(source: Object): void;
  13592. /**
  13593. * called when a source detected a mouse-over condition
  13594. *
  13595. * @param source the reporter
  13596. */
  13597. overSource(source: Object): void;
  13598. /**
  13599. * called to initiate the DnD operation
  13600. *
  13601. * @param source the source which provides items
  13602. * @param nodes the list of transferred items
  13603. * @param copy copy items, if true, move items otherwise
  13604. */
  13605. startDrag(source: Object, nodes: any[], copy: boolean): void;
  13606. /**
  13607. * stop the DnD in progress
  13608. *
  13609. */
  13610. stopDrag(): void;
  13611. /**
  13612. * updates the avatar; it is separate to be overwritten dynamically, if needed
  13613. *
  13614. */
  13615. updateAvatar(): void;
  13616. /**
  13617. * event processor for onkeydown:
  13618. * watching for CTRL for copy/move status, watching for ESCAPE to cancel the drag
  13619. *
  13620. * @param e keyboard event
  13621. */
  13622. onKeyDown(e: Event): void;
  13623. /**
  13624. * event processor for onkeyup, watching for CTRL for copy/move status
  13625. *
  13626. * @param e keyboard event
  13627. */
  13628. onKeyUp(e: Event): void;
  13629. /**
  13630. * event processor for onmousemove
  13631. *
  13632. * @param e mouse event
  13633. */
  13634. onMouseMove(e: Event): void;
  13635. /**
  13636. * event processor for onmouseup
  13637. *
  13638. * @param e mouse event
  13639. */
  13640. onMouseUp(e: Event): void;
  13641. }
  13642. /**
  13643. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/Container.html
  13644. *
  13645. * a Container object, which knows when mouse hovers over it,
  13646. * and over which element it hovers
  13647. *
  13648. * @param node node or node's id to build the container on
  13649. * @param params a dictionary of parameters
  13650. */
  13651. class Container extends dojo.Evented {
  13652. constructor(node: HTMLElement, params: Object);
  13653. /**
  13654. * Indicates whether to allow dnd item nodes to be nested within other elements.
  13655. * By default this is false, indicating that only direct children of the container can
  13656. * be draggable dnd item nodes
  13657. *
  13658. */
  13659. "allowNested": boolean;
  13660. /**
  13661. * The DOM node the mouse is currently hovered over
  13662. *
  13663. */
  13664. "current": HTMLElement;
  13665. /**
  13666. * Map from an item's id (which is also the DOMNode's id) to
  13667. * the dojo/dnd/Container.Item itself.
  13668. *
  13669. */
  13670. "map": Object;
  13671. node: HTMLElement;
  13672. /**
  13673. *
  13674. */
  13675. "skipForm": boolean;
  13676. /**
  13677. * removes all data items from the map
  13678. *
  13679. */
  13680. clearItems(): void;
  13681. /**
  13682. * creator function, dummy at the moment
  13683. *
  13684. */
  13685. creator(): void;
  13686. /**
  13687. * removes a data item from the map by its key (id)
  13688. *
  13689. * @param key
  13690. */
  13691. delItem(key: String): void;
  13692. /**
  13693. * prepares this object to be garbage-collected
  13694. *
  13695. */
  13696. destroy(): void;
  13697. /**
  13698. *
  13699. * @param type
  13700. * @param event
  13701. */
  13702. emit(type: any, event: any): any;
  13703. /**
  13704. * iterates over a data map skipping members that
  13705. * are present in the empty object (IE and/or 3rd-party libraries).
  13706. *
  13707. * @param f
  13708. * @param o Optional
  13709. */
  13710. forInItems(f: Function, o: Object): String;
  13711. /**
  13712. * returns a list (an array) of all valid child nodes
  13713. *
  13714. */
  13715. getAllNodes(): any;
  13716. /**
  13717. * returns a data item by its key (id)
  13718. *
  13719. * @param key
  13720. */
  13721. getItem(key: String): any;
  13722. /**
  13723. * inserts an array of new nodes before/after an anchor node
  13724. *
  13725. * @param data Logical representation of the object being dragged.If the drag object's type is "text" then data is a String,if it's another type then data could be a different Object,perhaps a name/value hash.
  13726. * @param before insert before the anchor, if true, and after the anchor otherwise
  13727. * @param anchor the anchor node to be used as a point of insertion
  13728. */
  13729. insertNodes(addSelected?: boolean, data?: any[], before?: boolean, anchor?: HTMLElement): Function;
  13730. /**
  13731. * Represents (one of) the source node(s) being dragged.
  13732. * Contains (at least) the "type" and "data" attributes.
  13733. *
  13734. */
  13735. Item(): void;
  13736. /**
  13737. *
  13738. * @param params
  13739. * @param node
  13740. * @param Ctor
  13741. */
  13742. markupFactory(params: any, node: any, Ctor: any): any;
  13743. /**
  13744. *
  13745. * @param type
  13746. * @param listener
  13747. */
  13748. on(type: any, listener: any): any;
  13749. /**
  13750. * associates a data item with its key (id)
  13751. *
  13752. * @param key
  13753. * @param data
  13754. */
  13755. setItem(key: String, data: any): void;
  13756. /**
  13757. * collects valid child items and populate the map
  13758. *
  13759. */
  13760. startup(): void;
  13761. /**
  13762. * sync up the node list with the data map
  13763. *
  13764. */
  13765. sync(): Function;
  13766. /**
  13767. * event processor for onmouseout
  13768. *
  13769. * @param e mouse event
  13770. */
  13771. onMouseOut(e: Event): void;
  13772. /**
  13773. * event processor for onmouseover or touch, to mark that element as the current element
  13774. *
  13775. * @param e mouse event
  13776. */
  13777. onMouseOver(e: Event): void;
  13778. /**
  13779. * this function is called once, when mouse is out of our container
  13780. *
  13781. */
  13782. onOutEvent(): void;
  13783. /**
  13784. * this function is called once, when mouse is over our container
  13785. *
  13786. */
  13787. onOverEvent(): void;
  13788. /**
  13789. * event processor for onselectevent and ondragevent
  13790. *
  13791. * @param e mouse event
  13792. */
  13793. onSelectStart(e: Event): void;
  13794. }
  13795. namespace Container {
  13796. /**
  13797. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/Container.__ContainerArgs.html
  13798. *
  13799. *
  13800. */
  13801. class __ContainerArgs {
  13802. constructor();
  13803. /**
  13804. * node or node's id to use as the parent node for dropped items
  13805. * (must be underneath the 'node' parameter in the DOM)
  13806. *
  13807. */
  13808. "dropParent": HTMLElement;
  13809. /**
  13810. * don't start the drag operation, if clicked on form elements
  13811. *
  13812. */
  13813. "skipForm": boolean;
  13814. /**
  13815. * a creator function, which takes a data item, and returns an object like that:
  13816. * {node: newNode, data: usedData, type: arrayOfStrings}
  13817. *
  13818. */
  13819. creator(): void;
  13820. }
  13821. }
  13822. /**
  13823. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/AutoSource.html
  13824. *
  13825. * a source that syncs its DnD nodes by default
  13826. *
  13827. * @param node
  13828. * @param params
  13829. */
  13830. class AutoSource extends dojo.dnd.Source {
  13831. constructor(node: any, params: any);
  13832. /**
  13833. *
  13834. */
  13835. "accept": any[];
  13836. /**
  13837. * Indicates whether to allow dnd item nodes to be nested within other elements.
  13838. * By default this is false, indicating that only direct children of the container can
  13839. * be draggable dnd item nodes
  13840. *
  13841. */
  13842. "allowNested": boolean;
  13843. /**
  13844. *
  13845. */
  13846. "autoSync": boolean;
  13847. /**
  13848. *
  13849. */
  13850. "copyOnly": boolean;
  13851. /**
  13852. * The DOM node the mouse is currently hovered over
  13853. *
  13854. */
  13855. "current": HTMLElement;
  13856. /**
  13857. *
  13858. */
  13859. "delay": number;
  13860. /**
  13861. *
  13862. */
  13863. "generateText": boolean;
  13864. /**
  13865. *
  13866. */
  13867. "horizontal": boolean;
  13868. /**
  13869. *
  13870. */
  13871. "isSource": boolean;
  13872. /**
  13873. * Map from an item's id (which is also the DOMNode's id) to
  13874. * the dojo/dnd/Container.Item itself.
  13875. *
  13876. */
  13877. "map": Object;
  13878. /**
  13879. * The set of id's that are currently selected, such that this.selection[id] == 1
  13880. * if the node w/that id is selected. Can iterate over selected node's id's like:
  13881. *
  13882. * for(var id in this.selection)
  13883. *
  13884. */
  13885. "selection": Object;
  13886. /**
  13887. *
  13888. */
  13889. "selfAccept": boolean;
  13890. /**
  13891. *
  13892. */
  13893. "selfCopy": boolean;
  13894. /**
  13895. *
  13896. */
  13897. "singular": boolean;
  13898. /**
  13899. *
  13900. */
  13901. "skipForm": boolean;
  13902. /**
  13903. *
  13904. */
  13905. "withHandles": boolean;
  13906. /**
  13907. * checks if the target can accept nodes from this source
  13908. *
  13909. * @param source the source which provides items
  13910. * @param nodes the list of transferred items
  13911. */
  13912. checkAcceptance(source: Object, nodes: any[]): boolean;
  13913. /**
  13914. * removes all data items from the map
  13915. *
  13916. */
  13917. clearItems(): void;
  13918. /**
  13919. * Returns true if we need to copy items, false to move.
  13920. * It is separated to be overwritten dynamically, if needed.
  13921. *
  13922. * @param keyPressed the "copy" key was pressed
  13923. * @param self Optionaloptional flag that means that we are about to drop on itself
  13924. */
  13925. copyState(keyPressed: boolean, self?: boolean): any;
  13926. /**
  13927. * creator function, dummy at the moment
  13928. *
  13929. */
  13930. creator(): void;
  13931. /**
  13932. * deletes all selected items
  13933. *
  13934. */
  13935. deleteSelectedNodes(): Function;
  13936. /**
  13937. * removes a data item from the map by its key (id)
  13938. *
  13939. * @param key
  13940. */
  13941. delItem(key: String): void;
  13942. /**
  13943. * prepares the object to be garbage-collected
  13944. *
  13945. */
  13946. destroy(): void;
  13947. /**
  13948. *
  13949. * @param type
  13950. * @param event
  13951. */
  13952. emit(type: any, event: any): any;
  13953. /**
  13954. * iterates over a data map skipping members that
  13955. * are present in the empty object (IE and/or 3rd-party libraries).
  13956. *
  13957. * @param f
  13958. * @param o Optional
  13959. */
  13960. forInItems(f: Function, o?: Object): String;
  13961. /**
  13962. * iterates over selected items;
  13963. * see dojo/dnd/Container.forInItems() for details
  13964. *
  13965. * @param f
  13966. * @param o Optional
  13967. */
  13968. forInSelectedItems(f: Function, o?: Object): void;
  13969. /**
  13970. * returns a list (an array) of all valid child nodes
  13971. *
  13972. */
  13973. getAllNodes(): any;
  13974. /**
  13975. * returns a data item by its key (id)
  13976. *
  13977. * @param key
  13978. */
  13979. getItem(key: String): any;
  13980. /**
  13981. * returns a list (an array) of selected nodes
  13982. *
  13983. */
  13984. getSelectedNodes(): any;
  13985. /**
  13986. * inserts new data items (see dojo/dnd/Container.insertNodes() method for details)
  13987. *
  13988. * @param addSelected all new nodes will be added to selected items, if true, no selection change otherwise
  13989. * @param data a list of data items, which should be processed by the creator function
  13990. * @param before insert before the anchor, if true, and after the anchor otherwise
  13991. * @param anchor the anchor node to be used as a point of insertion
  13992. */
  13993. insertNodes(addSelected: boolean, data: any[], before: boolean, anchor: HTMLElement): Function;
  13994. /**
  13995. *
  13996. * @param params
  13997. * @param node
  13998. * @param Ctor
  13999. */
  14000. markupFactory(params: any, node: any, Ctor: any): any;
  14001. /**
  14002. *
  14003. * @param type
  14004. * @param listener
  14005. */
  14006. on(type: any, listener: any): any;
  14007. /**
  14008. * selects all items
  14009. *
  14010. */
  14011. selectAll(): any;
  14012. /**
  14013. * unselects all items
  14014. *
  14015. */
  14016. selectNone(): any;
  14017. /**
  14018. * associates a data item with its key (id)
  14019. *
  14020. * @param key
  14021. * @param data
  14022. */
  14023. setItem(key: String, data: any): void;
  14024. /**
  14025. * collects valid child items and populate the map
  14026. *
  14027. */
  14028. startup(): void;
  14029. /**
  14030. * sync up the node list with the data map
  14031. *
  14032. */
  14033. sync(): Function;
  14034. /**
  14035. * topic event processor for /dnd/cancel, called to cancel the DnD operation
  14036. *
  14037. */
  14038. onDndCancel(): void;
  14039. /**
  14040. * topic event processor for /dnd/drop, called to finish the DnD operation
  14041. *
  14042. * @param source the source which provides items
  14043. * @param nodes the list of transferred items
  14044. * @param copy copy items, if true, move items otherwise
  14045. * @param target the target which accepts items
  14046. */
  14047. onDndDrop(source: Object, nodes: any[], copy: boolean, target: Object): void;
  14048. /**
  14049. * topic event processor for /dnd/source/over, called when detected a current source
  14050. *
  14051. * @param source the source which has the mouse over it
  14052. */
  14053. onDndSourceOver(source: Object): void;
  14054. /**
  14055. * topic event processor for /dnd/start, called to initiate the DnD operation
  14056. *
  14057. * @param source the source which provides items
  14058. * @param nodes the list of transferred items
  14059. * @param copy copy items, if true, move items otherwise
  14060. */
  14061. onDndStart(source: Object, nodes: any[], copy: boolean): void;
  14062. /**
  14063. * called during the active DnD operation, when items
  14064. * are dragged away from this target, and it is not disabled
  14065. *
  14066. */
  14067. onDraggingOut(): void;
  14068. /**
  14069. * called during the active DnD operation, when items
  14070. * are dragged over this target, and it is not disabled
  14071. *
  14072. */
  14073. onDraggingOver(): void;
  14074. /**
  14075. * called only on the current target, when drop is performed
  14076. *
  14077. * @param source the source which provides items
  14078. * @param nodes the list of transferred items
  14079. * @param copy copy items, if true, move items otherwise
  14080. */
  14081. onDrop(source: Object, nodes: any[], copy: boolean): void;
  14082. /**
  14083. * called only on the current target, when drop is performed
  14084. * from an external source
  14085. *
  14086. * @param source the source which provides items
  14087. * @param nodes the list of transferred items
  14088. * @param copy copy items, if true, move items otherwise
  14089. */
  14090. onDropExternal(source: Object, nodes: any[], copy: boolean): void;
  14091. /**
  14092. * called only on the current target, when drop is performed
  14093. * from the same target/source
  14094. *
  14095. * @param nodes the list of transferred items
  14096. * @param copy copy items, if true, move items otherwise
  14097. */
  14098. onDropInternal(nodes: any[], copy: boolean): void;
  14099. /**
  14100. * event processor for onmousedown
  14101. *
  14102. * @param e mouse event
  14103. */
  14104. onMouseDown(e: Event): void;
  14105. /**
  14106. * event processor for onmousemove
  14107. *
  14108. * @param e mouse event
  14109. */
  14110. onMouseMove(e: Event): void;
  14111. /**
  14112. * event processor for onmouseout
  14113. *
  14114. * @param e mouse event
  14115. */
  14116. onMouseOut(e: Event): void;
  14117. /**
  14118. * event processor for onmouseover or touch, to mark that element as the current element
  14119. *
  14120. * @param e mouse event
  14121. */
  14122. onMouseOver(e: Event): void;
  14123. /**
  14124. * event processor for onmouseup
  14125. *
  14126. * @param e mouse event
  14127. */
  14128. onMouseUp(e: Event): void;
  14129. /**
  14130. * this function is called once, when mouse is out of our container
  14131. *
  14132. */
  14133. onOutEvent(): void;
  14134. /**
  14135. * this function is called once, when mouse is over our container
  14136. *
  14137. */
  14138. onOverEvent(): void;
  14139. /**
  14140. * event processor for onselectevent and ondragevent
  14141. *
  14142. * @param e mouse event
  14143. */
  14144. onSelectStart(e: Event): void;
  14145. }
  14146. /**
  14147. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/Mover.html
  14148. *
  14149. * an object which makes a node follow the mouse, or touch-drag on touch devices.
  14150. * Used as a default mover, and as a base class for custom movers.
  14151. *
  14152. * @param node a node (or node's id) to be moved
  14153. * @param e a mouse event, which started the move;only pageX and pageY properties are used
  14154. * @param host Optionalobject which implements the functionality of the move,and defines proper events (onMoveStart and onMoveStop)
  14155. */
  14156. class Mover extends dojo.Evented {
  14157. constructor(node: HTMLElement, e: Event, host?: Object);
  14158. /**
  14159. * stops the move, deletes all references, so the object can be garbage-collected
  14160. *
  14161. */
  14162. destroy(): void;
  14163. /**
  14164. *
  14165. * @param type
  14166. * @param event
  14167. */
  14168. emit(type: any, event: any): any;
  14169. /**
  14170. *
  14171. * @param type
  14172. * @param listener
  14173. */
  14174. on(type: any, listener: any): any;
  14175. /**
  14176. * makes the node absolute; it is meant to be called only once.
  14177. * relative and absolutely positioned nodes are assumed to use pixel units
  14178. *
  14179. * @param e
  14180. */
  14181. onFirstMove(e: any): void;
  14182. /**
  14183. * event processor for onmousemove/ontouchmove
  14184. *
  14185. * @param e mouse/touch event
  14186. */
  14187. onMouseMove(e: Event): void;
  14188. /**
  14189. *
  14190. * @param e
  14191. */
  14192. onMouseUp(e: any): void;
  14193. }
  14194. /**
  14195. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/Moveable.html
  14196. *
  14197. * an object, which makes a node movable
  14198. *
  14199. * @param node a node (or node's id) to be moved
  14200. * @param params Optionaloptional parameters
  14201. */
  14202. class Moveable extends dojo.Evented {
  14203. constructor(node: HTMLElement, params?: Object);
  14204. /**
  14205. *
  14206. */
  14207. "delay": number;
  14208. /**
  14209. *
  14210. */
  14211. "handle": string;
  14212. /**
  14213. *
  14214. */
  14215. "skip": boolean;
  14216. /**
  14217. * stops watching for possible move, deletes all references, so the object can be garbage-collected
  14218. *
  14219. */
  14220. destroy(): void;
  14221. /**
  14222. *
  14223. * @param type
  14224. * @param event
  14225. */
  14226. emit(type: any, event: any): any;
  14227. /**
  14228. *
  14229. * @param params
  14230. * @param node
  14231. * @param Ctor
  14232. */
  14233. markupFactory(params: any, node: any, Ctor: any): any;
  14234. /**
  14235. *
  14236. * @param type
  14237. * @param listener
  14238. */
  14239. on(type: any, listener: any): any;
  14240. /**
  14241. * called when the drag is detected;
  14242. * responsible for creation of the mover
  14243. *
  14244. * @param e
  14245. */
  14246. onDragDetected(e: Event): void;
  14247. /**
  14248. * called during the very first move notification;
  14249. * can be used to initialize coordinates, can be overwritten.
  14250. *
  14251. * @param mover
  14252. * @param e
  14253. */
  14254. onFirstMove(mover: dojo.dnd.Mover, e: Event): void;
  14255. /**
  14256. * event processor for onmousedown/ontouchstart, creates a Mover for the node
  14257. *
  14258. * @param e mouse/touch event
  14259. */
  14260. onMouseDown(e: Event): void;
  14261. /**
  14262. * event processor for onmousemove/ontouchmove, used only for delayed drags
  14263. *
  14264. * @param e mouse/touch event
  14265. */
  14266. onMouseMove(e: Event): void;
  14267. /**
  14268. * event processor for onmouseup, used only for delayed drags
  14269. *
  14270. * @param e mouse event
  14271. */
  14272. onMouseUp(e: Event): void;
  14273. /**
  14274. * called during every move notification;
  14275. * should actually move the node; can be overwritten.
  14276. *
  14277. * @param mover
  14278. * @param leftTop
  14279. * @param e
  14280. */
  14281. onMove(mover: dojo.dnd.Mover, leftTop: Object, e: Event): void;
  14282. /**
  14283. * called after every incremental move; can be overwritten.
  14284. *
  14285. * @param mover
  14286. * @param leftTop
  14287. */
  14288. onMoved(mover: dojo.dnd.Mover, leftTop: Object): void;
  14289. /**
  14290. * called before every move operation
  14291. *
  14292. * @param mover
  14293. */
  14294. onMoveStart(mover: dojo.dnd.Mover): void;
  14295. /**
  14296. * called after every move operation
  14297. *
  14298. * @param mover
  14299. */
  14300. onMoveStop(mover: dojo.dnd.Mover): void;
  14301. /**
  14302. * called before every incremental move; can be overwritten.
  14303. *
  14304. * @param mover
  14305. * @param leftTop
  14306. */
  14307. onMoving(mover: dojo.dnd.Mover, leftTop: Object): void;
  14308. /**
  14309. * event processor for onselectevent and ondragevent
  14310. *
  14311. * @param e mouse event
  14312. */
  14313. onSelectStart(e: Event): void;
  14314. }
  14315. namespace Moveable {
  14316. /**
  14317. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/Moveable.__MoveableArgs.html
  14318. *
  14319. *
  14320. */
  14321. class __MoveableArgs {
  14322. constructor();
  14323. /**
  14324. * delay move by this number of pixels
  14325. *
  14326. */
  14327. "delay": number;
  14328. /**
  14329. * A node (or node's id), which is used as a mouse handle.
  14330. * If omitted, the node itself is used as a handle.
  14331. *
  14332. */
  14333. "handle": HTMLElement;
  14334. /**
  14335. * a constructor of custom Mover
  14336. *
  14337. */
  14338. "mover": Object;
  14339. /**
  14340. * skip move of form elements
  14341. *
  14342. */
  14343. "skip": boolean;
  14344. }
  14345. }
  14346. /**
  14347. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/Selector.html
  14348. *
  14349. * a Selector object, which knows how to select its children
  14350. *
  14351. * @param node node or node's id to build the selector on
  14352. * @param params Optionala dictionary of parameters
  14353. */
  14354. class Selector extends dojo.dnd.Container {
  14355. constructor(node: HTMLElement, params?: Object);
  14356. /**
  14357. * Indicates whether to allow dnd item nodes to be nested within other elements.
  14358. * By default this is false, indicating that only direct children of the container can
  14359. * be draggable dnd item nodes
  14360. *
  14361. */
  14362. "allowNested": boolean;
  14363. /**
  14364. * The DOM node the mouse is currently hovered over
  14365. *
  14366. */
  14367. "current": HTMLElement;
  14368. /**
  14369. * Map from an item's id (which is also the DOMNode's id) to
  14370. * the dojo/dnd/Container.Item itself.
  14371. *
  14372. */
  14373. "map": Object;
  14374. /**
  14375. * The set of id's that are currently selected, such that this.selection[id] == 1
  14376. * if the node w/that id is selected. Can iterate over selected node's id's like:
  14377. *
  14378. * for(var id in this.selection)
  14379. *
  14380. */
  14381. "selection": Object;
  14382. /**
  14383. *
  14384. */
  14385. "singular": boolean;
  14386. /**
  14387. *
  14388. */
  14389. "skipForm": boolean;
  14390. /**
  14391. * removes all data items from the map
  14392. *
  14393. */
  14394. clearItems(): void;
  14395. /**
  14396. * creator function, dummy at the moment
  14397. *
  14398. */
  14399. creator(): void;
  14400. /**
  14401. * deletes all selected items
  14402. *
  14403. */
  14404. deleteSelectedNodes(): Function;
  14405. /**
  14406. * removes a data item from the map by its key (id)
  14407. *
  14408. * @param key
  14409. */
  14410. delItem(key: String): void;
  14411. /**
  14412. * prepares the object to be garbage-collected
  14413. *
  14414. */
  14415. destroy(): void;
  14416. /**
  14417. *
  14418. * @param type
  14419. * @param event
  14420. */
  14421. emit(type: any, event: any): any;
  14422. /**
  14423. * iterates over a data map skipping members that
  14424. * are present in the empty object (IE and/or 3rd-party libraries).
  14425. *
  14426. * @param f
  14427. * @param o Optional
  14428. */
  14429. forInItems(f: Function, o?: Object): String;
  14430. /**
  14431. * iterates over selected items;
  14432. * see dojo/dnd/Container.forInItems() for details
  14433. *
  14434. * @param f
  14435. * @param o Optional
  14436. */
  14437. forInSelectedItems(f: Function, o?: Object): void;
  14438. /**
  14439. * returns a list (an array) of all valid child nodes
  14440. *
  14441. */
  14442. getAllNodes(): any;
  14443. /**
  14444. * returns a data item by its key (id)
  14445. *
  14446. * @param key
  14447. */
  14448. getItem(key: String): any;
  14449. /**
  14450. * returns a list (an array) of selected nodes
  14451. *
  14452. */
  14453. getSelectedNodes(): any;
  14454. /**
  14455. * inserts new data items (see dojo/dnd/Container.insertNodes() method for details)
  14456. *
  14457. * @param addSelected all new nodes will be added to selected items, if true, no selection change otherwise
  14458. * @param data a list of data items, which should be processed by the creator function
  14459. * @param before insert before the anchor, if true, and after the anchor otherwise
  14460. * @param anchor the anchor node to be used as a point of insertion
  14461. */
  14462. insertNodes(addSelected?: boolean, data?: any[], before?: boolean, anchor?: HTMLElement): Function;
  14463. /**
  14464. *
  14465. * @param params
  14466. * @param node
  14467. * @param Ctor
  14468. */
  14469. markupFactory(params: any, node: any, Ctor: any): any;
  14470. /**
  14471. *
  14472. * @param type
  14473. * @param listener
  14474. */
  14475. on(type: any, listener: any): any;
  14476. /**
  14477. * selects all items
  14478. *
  14479. */
  14480. selectAll(): any;
  14481. /**
  14482. * unselects all items
  14483. *
  14484. */
  14485. selectNone(): any;
  14486. /**
  14487. * associates a data item with its key (id)
  14488. *
  14489. * @param key
  14490. * @param data
  14491. */
  14492. setItem(key: String, data: any): void;
  14493. /**
  14494. * collects valid child items and populate the map
  14495. *
  14496. */
  14497. startup(): void;
  14498. /**
  14499. * sync up the node list with the data map
  14500. *
  14501. */
  14502. sync(): Function;
  14503. /**
  14504. * event processor for onmousedown
  14505. *
  14506. * @param e mouse event
  14507. */
  14508. onMouseDown(e: Event): void;
  14509. /**
  14510. * event processor for onmousemove
  14511. *
  14512. * @param e mouse event
  14513. */
  14514. onMouseMove(e: Event): void;
  14515. /**
  14516. * event processor for onmouseout
  14517. *
  14518. * @param e mouse event
  14519. */
  14520. onMouseOut(e: Event): void;
  14521. /**
  14522. * event processor for onmouseover or touch, to mark that element as the current element
  14523. *
  14524. * @param e mouse event
  14525. */
  14526. onMouseOver(e: Event): void;
  14527. /**
  14528. * event processor for onmouseup
  14529. *
  14530. * @param e mouse event
  14531. */
  14532. onMouseUp(e: Event): void;
  14533. /**
  14534. * this function is called once, when mouse is out of our container
  14535. *
  14536. */
  14537. onOutEvent(): void;
  14538. /**
  14539. * this function is called once, when mouse is over our container
  14540. *
  14541. */
  14542. onOverEvent(): void;
  14543. /**
  14544. * event processor for onselectevent and ondragevent
  14545. *
  14546. * @param e mouse event
  14547. */
  14548. onSelectStart(e: Event): void;
  14549. }
  14550. /**
  14551. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/TimedMoveable.html
  14552. *
  14553. * A specialized version of Moveable to support an FPS throttling.
  14554. * This class puts an upper restriction on FPS, which may reduce
  14555. * the CPU load. The additional parameter "timeout" regulates
  14556. * the delay before actually moving the moveable object.
  14557. *
  14558. * @param node a node (or node's id) to be moved
  14559. * @param params object with additional parameters.
  14560. */
  14561. class TimedMoveable extends dojo.dnd.Moveable {
  14562. constructor(node: HTMLElement, params: Object);
  14563. /**
  14564. *
  14565. */
  14566. "delay": number;
  14567. /**
  14568. *
  14569. */
  14570. "handle": string;
  14571. /**
  14572. *
  14573. */
  14574. "skip": boolean;
  14575. /**
  14576. *
  14577. */
  14578. "timeout": number;
  14579. /**
  14580. * stops watching for possible move, deletes all references, so the object can be garbage-collected
  14581. *
  14582. */
  14583. destroy(): void;
  14584. /**
  14585. *
  14586. * @param type
  14587. * @param event
  14588. */
  14589. emit(type: any, event: any): any;
  14590. /**
  14591. *
  14592. * @param params
  14593. * @param node
  14594. * @param Ctor
  14595. */
  14596. markupFactory(params: any, node: any, Ctor: any): any;
  14597. /**
  14598. *
  14599. * @param type
  14600. * @param listener
  14601. */
  14602. on(type: any, listener: any): any;
  14603. /**
  14604. * called when the drag is detected;
  14605. * responsible for creation of the mover
  14606. *
  14607. * @param e
  14608. */
  14609. onDragDetected(e: Event): void;
  14610. /**
  14611. * called during the very first move notification;
  14612. * can be used to initialize coordinates, can be overwritten.
  14613. *
  14614. * @param mover
  14615. * @param e
  14616. */
  14617. onFirstMove(mover: dojo.dnd.Mover, e: Event): void;
  14618. /**
  14619. * event processor for onmousedown/ontouchstart, creates a Mover for the node
  14620. *
  14621. * @param e mouse/touch event
  14622. */
  14623. onMouseDown(e: Event): void;
  14624. /**
  14625. * event processor for onmousemove/ontouchmove, used only for delayed drags
  14626. *
  14627. * @param e mouse/touch event
  14628. */
  14629. onMouseMove(e: Event): void;
  14630. /**
  14631. * event processor for onmouseup, used only for delayed drags
  14632. *
  14633. * @param e mouse event
  14634. */
  14635. onMouseUp(e: Event): void;
  14636. /**
  14637. *
  14638. * @param mover
  14639. * @param leftTop
  14640. */
  14641. onMove(mover: dojo.dnd.Mover, leftTop: Object): void;
  14642. /**
  14643. * called after every incremental move; can be overwritten.
  14644. *
  14645. * @param mover
  14646. * @param leftTop
  14647. */
  14648. onMoved(mover: dojo.dnd.Mover, leftTop: Object): void;
  14649. /**
  14650. * called before every move operation
  14651. *
  14652. * @param mover
  14653. */
  14654. onMoveStart(mover: dojo.dnd.Mover): void;
  14655. /**
  14656. *
  14657. * @param mover
  14658. */
  14659. onMoveStop(mover: dojo.dnd.Mover): void;
  14660. /**
  14661. * called before every incremental move; can be overwritten.
  14662. *
  14663. * @param mover
  14664. * @param leftTop
  14665. */
  14666. onMoving(mover: dojo.dnd.Mover, leftTop: Object): void;
  14667. /**
  14668. * event processor for onselectevent and ondragevent
  14669. *
  14670. * @param e mouse event
  14671. */
  14672. onSelectStart(e: Event): void;
  14673. }
  14674. /**
  14675. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/Target.html
  14676. *
  14677. * a Target object, which can be used as a DnD target
  14678. *
  14679. * @param node
  14680. * @param params
  14681. */
  14682. class Target extends dojo.dnd.Source {
  14683. constructor(node: any, params: any);
  14684. /**
  14685. *
  14686. */
  14687. "accept": any[];
  14688. /**
  14689. * Indicates whether to allow dnd item nodes to be nested within other elements.
  14690. * By default this is false, indicating that only direct children of the container can
  14691. * be draggable dnd item nodes
  14692. *
  14693. */
  14694. "allowNested": boolean;
  14695. /**
  14696. *
  14697. */
  14698. "autoSync": boolean;
  14699. /**
  14700. *
  14701. */
  14702. "copyOnly": boolean;
  14703. /**
  14704. * The DOM node the mouse is currently hovered over
  14705. *
  14706. */
  14707. "current": HTMLElement;
  14708. /**
  14709. *
  14710. */
  14711. "delay": number;
  14712. /**
  14713. *
  14714. */
  14715. "generateText": boolean;
  14716. /**
  14717. *
  14718. */
  14719. "horizontal": boolean;
  14720. /**
  14721. *
  14722. */
  14723. "isSource": boolean;
  14724. /**
  14725. * Map from an item's id (which is also the DOMNode's id) to
  14726. * the dojo/dnd/Container.Item itself.
  14727. *
  14728. */
  14729. "map": Object;
  14730. /**
  14731. * The set of id's that are currently selected, such that this.selection[id] == 1
  14732. * if the node w/that id is selected. Can iterate over selected node's id's like:
  14733. *
  14734. * for(var id in this.selection)
  14735. *
  14736. */
  14737. "selection": Object;
  14738. /**
  14739. *
  14740. */
  14741. "selfAccept": boolean;
  14742. /**
  14743. *
  14744. */
  14745. "selfCopy": boolean;
  14746. /**
  14747. *
  14748. */
  14749. "singular": boolean;
  14750. /**
  14751. *
  14752. */
  14753. "skipForm": boolean;
  14754. /**
  14755. *
  14756. */
  14757. "withHandles": boolean;
  14758. /**
  14759. * checks if the target can accept nodes from this source
  14760. *
  14761. * @param source the source which provides items
  14762. * @param nodes the list of transferred items
  14763. */
  14764. checkAcceptance(source: Object, nodes: any[]): boolean;
  14765. /**
  14766. * removes all data items from the map
  14767. *
  14768. */
  14769. clearItems(): void;
  14770. /**
  14771. * Returns true if we need to copy items, false to move.
  14772. * It is separated to be overwritten dynamically, if needed.
  14773. *
  14774. * @param keyPressed the "copy" key was pressed
  14775. * @param self Optionaloptional flag that means that we are about to drop on itself
  14776. */
  14777. copyState(keyPressed: boolean, self?: boolean): any;
  14778. /**
  14779. * creator function, dummy at the moment
  14780. *
  14781. */
  14782. creator(): void;
  14783. /**
  14784. * deletes all selected items
  14785. *
  14786. */
  14787. deleteSelectedNodes(): Function;
  14788. /**
  14789. * removes a data item from the map by its key (id)
  14790. *
  14791. * @param key
  14792. */
  14793. delItem(key: String): void;
  14794. /**
  14795. * prepares the object to be garbage-collected
  14796. *
  14797. */
  14798. destroy(): void;
  14799. /**
  14800. *
  14801. * @param type
  14802. * @param event
  14803. */
  14804. emit(type: any, event: any): any;
  14805. /**
  14806. * iterates over a data map skipping members that
  14807. * are present in the empty object (IE and/or 3rd-party libraries).
  14808. *
  14809. * @param f
  14810. * @param o Optional
  14811. */
  14812. forInItems(f: Function, o?: Object): String;
  14813. /**
  14814. * iterates over selected items;
  14815. * see dojo/dnd/Container.forInItems() for details
  14816. *
  14817. * @param f
  14818. * @param o Optional
  14819. */
  14820. forInSelectedItems(f: Function, o?: Object): void;
  14821. /**
  14822. * returns a list (an array) of all valid child nodes
  14823. *
  14824. */
  14825. getAllNodes(): any;
  14826. /**
  14827. * returns a data item by its key (id)
  14828. *
  14829. * @param key
  14830. */
  14831. getItem(key: String): any;
  14832. /**
  14833. * returns a list (an array) of selected nodes
  14834. *
  14835. */
  14836. getSelectedNodes(): any;
  14837. /**
  14838. * inserts new data items (see dojo/dnd/Container.insertNodes() method for details)
  14839. *
  14840. * @param addSelected all new nodes will be added to selected items, if true, no selection change otherwise
  14841. * @param data a list of data items, which should be processed by the creator function
  14842. * @param before insert before the anchor, if true, and after the anchor otherwise
  14843. * @param anchor the anchor node to be used as a point of insertion
  14844. */
  14845. insertNodes(addSelected: boolean, data: any[], before?: boolean, anchor?: HTMLElement): Function;
  14846. /**
  14847. *
  14848. * @param params
  14849. * @param node
  14850. * @param Ctor
  14851. */
  14852. markupFactory(params: any, node: any, Ctor: any): any;
  14853. /**
  14854. *
  14855. * @param type
  14856. * @param listener
  14857. */
  14858. on(type: any, listener: any): any;
  14859. /**
  14860. * selects all items
  14861. *
  14862. */
  14863. selectAll(): any;
  14864. /**
  14865. * unselects all items
  14866. *
  14867. */
  14868. selectNone(): any;
  14869. /**
  14870. * associates a data item with its key (id)
  14871. *
  14872. * @param key
  14873. * @param data
  14874. */
  14875. setItem(key: String, data: any): void;
  14876. /**
  14877. * collects valid child items and populate the map
  14878. *
  14879. */
  14880. startup(): void;
  14881. /**
  14882. * sync up the node list with the data map
  14883. *
  14884. */
  14885. sync(): Function;
  14886. /**
  14887. * topic event processor for /dnd/cancel, called to cancel the DnD operation
  14888. *
  14889. */
  14890. onDndCancel(): void;
  14891. /**
  14892. * topic event processor for /dnd/drop, called to finish the DnD operation
  14893. *
  14894. * @param source the source which provides items
  14895. * @param nodes the list of transferred items
  14896. * @param copy copy items, if true, move items otherwise
  14897. * @param target the target which accepts items
  14898. */
  14899. onDndDrop(source: Object, nodes: any[], copy: boolean, target: Object): void;
  14900. /**
  14901. * topic event processor for /dnd/source/over, called when detected a current source
  14902. *
  14903. * @param source the source which has the mouse over it
  14904. */
  14905. onDndSourceOver(source: Object): void;
  14906. /**
  14907. * topic event processor for /dnd/start, called to initiate the DnD operation
  14908. *
  14909. * @param source the source which provides items
  14910. * @param nodes the list of transferred items
  14911. * @param copy copy items, if true, move items otherwise
  14912. */
  14913. onDndStart(source: Object, nodes: any[], copy: boolean): void;
  14914. /**
  14915. * called during the active DnD operation, when items
  14916. * are dragged away from this target, and it is not disabled
  14917. *
  14918. */
  14919. onDraggingOut(): void;
  14920. /**
  14921. * called during the active DnD operation, when items
  14922. * are dragged over this target, and it is not disabled
  14923. *
  14924. */
  14925. onDraggingOver(): void;
  14926. /**
  14927. * called only on the current target, when drop is performed
  14928. *
  14929. * @param source the source which provides items
  14930. * @param nodes the list of transferred items
  14931. * @param copy copy items, if true, move items otherwise
  14932. */
  14933. onDrop(source: Object, nodes: any[], copy: boolean): void;
  14934. /**
  14935. * called only on the current target, when drop is performed
  14936. * from an external source
  14937. *
  14938. * @param source the source which provides items
  14939. * @param nodes the list of transferred items
  14940. * @param copy copy items, if true, move items otherwise
  14941. */
  14942. onDropExternal(source: Object, nodes: any[], copy: boolean): void;
  14943. /**
  14944. * called only on the current target, when drop is performed
  14945. * from the same target/source
  14946. *
  14947. * @param nodes the list of transferred items
  14948. * @param copy copy items, if true, move items otherwise
  14949. */
  14950. onDropInternal(nodes: any[], copy: boolean): void;
  14951. /**
  14952. * event processor for onmousedown
  14953. *
  14954. * @param e mouse event
  14955. */
  14956. onMouseDown(e: Event): void;
  14957. /**
  14958. * event processor for onmousemove
  14959. *
  14960. * @param e mouse event
  14961. */
  14962. onMouseMove(e: Event): void;
  14963. /**
  14964. * event processor for onmouseout
  14965. *
  14966. * @param e mouse event
  14967. */
  14968. onMouseOut(e: Event): void;
  14969. /**
  14970. * event processor for onmouseover or touch, to mark that element as the current element
  14971. *
  14972. * @param e mouse event
  14973. */
  14974. onMouseOver(e: Event): void;
  14975. /**
  14976. * event processor for onmouseup
  14977. *
  14978. * @param e mouse event
  14979. */
  14980. onMouseUp(e: Event): void;
  14981. /**
  14982. * this function is called once, when mouse is out of our container
  14983. *
  14984. */
  14985. onOutEvent(): void;
  14986. /**
  14987. * this function is called once, when mouse is over our container
  14988. *
  14989. */
  14990. onOverEvent(): void;
  14991. /**
  14992. * event processor for onselectevent and ondragevent
  14993. *
  14994. * @param e mouse event
  14995. */
  14996. onSelectStart(e: Event): void;
  14997. }
  14998. /**
  14999. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/Source.html
  15000. *
  15001. * a Source object, which can be used as a DnD source, or a DnD target
  15002. *
  15003. * @param node node or node's id to build the source on
  15004. * @param params Optionalany property of this class may be configured via the paramsobject which is mixed-in to the dojo/dnd/Source instance
  15005. */
  15006. class Source extends dojo.dnd.Selector {
  15007. constructor(node: HTMLElement, params?: Object);
  15008. /**
  15009. *
  15010. */
  15011. "accept": any[];
  15012. /**
  15013. * Indicates whether to allow dnd item nodes to be nested within other elements.
  15014. * By default this is false, indicating that only direct children of the container can
  15015. * be draggable dnd item nodes
  15016. *
  15017. */
  15018. "allowNested": boolean;
  15019. /**
  15020. *
  15021. */
  15022. "autoSync": boolean;
  15023. /**
  15024. *
  15025. */
  15026. "copyOnly": boolean;
  15027. /**
  15028. * The DOM node the mouse is currently hovered over
  15029. *
  15030. */
  15031. "current": HTMLElement;
  15032. /**
  15033. *
  15034. */
  15035. "delay": number;
  15036. /**
  15037. *
  15038. */
  15039. "generateText": boolean;
  15040. /**
  15041. *
  15042. */
  15043. "horizontal": boolean;
  15044. /**
  15045. *
  15046. */
  15047. "isSource": boolean;
  15048. /**
  15049. * Map from an item's id (which is also the DOMNode's id) to
  15050. * the dojo/dnd/Container.Item itself.
  15051. *
  15052. */
  15053. "map": Object;
  15054. /**
  15055. * The set of id's that are currently selected, such that this.selection[id] == 1
  15056. * if the node w/that id is selected. Can iterate over selected node's id's like:
  15057. *
  15058. * for(var id in this.selection)
  15059. *
  15060. */
  15061. "selection": Object;
  15062. /**
  15063. *
  15064. */
  15065. "selfAccept": boolean;
  15066. /**
  15067. *
  15068. */
  15069. "selfCopy": boolean;
  15070. /**
  15071. *
  15072. */
  15073. "singular": boolean;
  15074. /**
  15075. *
  15076. */
  15077. "skipForm": boolean;
  15078. /**
  15079. *
  15080. */
  15081. "withHandles": boolean;
  15082. /**
  15083. * checks if the target can accept nodes from this source
  15084. *
  15085. * @param source the source which provides items
  15086. * @param nodes the list of transferred items
  15087. */
  15088. checkAcceptance(source: Object, nodes: any[]): boolean;
  15089. /**
  15090. * removes all data items from the map
  15091. *
  15092. */
  15093. clearItems(): void;
  15094. /**
  15095. * Returns true if we need to copy items, false to move.
  15096. * It is separated to be overwritten dynamically, if needed.
  15097. *
  15098. * @param keyPressed the "copy" key was pressed
  15099. * @param self Optionaloptional flag that means that we are about to drop on itself
  15100. */
  15101. copyState(keyPressed: boolean, self?: boolean): any;
  15102. /**
  15103. * creator function, dummy at the moment
  15104. *
  15105. */
  15106. creator(): void;
  15107. /**
  15108. * deletes all selected items
  15109. *
  15110. */
  15111. deleteSelectedNodes(): Function;
  15112. /**
  15113. * removes a data item from the map by its key (id)
  15114. *
  15115. * @param key
  15116. */
  15117. delItem(key: String): void;
  15118. /**
  15119. * prepares the object to be garbage-collected
  15120. *
  15121. */
  15122. destroy(): void;
  15123. /**
  15124. *
  15125. * @param type
  15126. * @param event
  15127. */
  15128. emit(type: any, event: any): any;
  15129. /**
  15130. * iterates over a data map skipping members that
  15131. * are present in the empty object (IE and/or 3rd-party libraries).
  15132. *
  15133. * @param f
  15134. * @param o Optional
  15135. */
  15136. forInItems(f: Function, o?: Object): String;
  15137. /**
  15138. * iterates over selected items;
  15139. * see dojo/dnd/Container.forInItems() for details
  15140. *
  15141. * @param f
  15142. * @param o Optional
  15143. */
  15144. forInSelectedItems(f: Function, o?: Object): void;
  15145. /**
  15146. * returns a list (an array) of all valid child nodes
  15147. *
  15148. */
  15149. getAllNodes(): any;
  15150. /**
  15151. * returns a data item by its key (id)
  15152. *
  15153. * @param key
  15154. */
  15155. getItem(key: String): any;
  15156. /**
  15157. * returns a list (an array) of selected nodes
  15158. *
  15159. */
  15160. getSelectedNodes(): any;
  15161. /**
  15162. * inserts new data items (see dojo/dnd/Container.insertNodes() method for details)
  15163. *
  15164. * @param addSelected all new nodes will be added to selected items, if true, no selection change otherwise
  15165. * @param data a list of data items, which should be processed by the creator function
  15166. * @param before insert before the anchor, if true, and after the anchor otherwise
  15167. * @param anchor the anchor node to be used as a point of insertion
  15168. */
  15169. insertNodes(addSelected: boolean, data: any[], before?: boolean, anchor?: HTMLElement): Function;
  15170. /**
  15171. *
  15172. * @param params
  15173. * @param node
  15174. * @param Ctor
  15175. */
  15176. markupFactory(params: any, node: any, Ctor: any): any;
  15177. /**
  15178. *
  15179. * @param type
  15180. * @param listener
  15181. */
  15182. on(type: any, listener: any): any;
  15183. /**
  15184. * selects all items
  15185. *
  15186. */
  15187. selectAll(): any;
  15188. /**
  15189. * unselects all items
  15190. *
  15191. */
  15192. selectNone(): any;
  15193. /**
  15194. * associates a data item with its key (id)
  15195. *
  15196. * @param key
  15197. * @param data
  15198. */
  15199. setItem(key: String, data: any): void;
  15200. /**
  15201. * collects valid child items and populate the map
  15202. *
  15203. */
  15204. startup(): void;
  15205. /**
  15206. * sync up the node list with the data map
  15207. *
  15208. */
  15209. sync(): Function;
  15210. /**
  15211. * topic event processor for /dnd/cancel, called to cancel the DnD operation
  15212. *
  15213. */
  15214. onDndCancel(): void;
  15215. /**
  15216. * topic event processor for /dnd/drop, called to finish the DnD operation
  15217. *
  15218. * @param source the source which provides items
  15219. * @param nodes the list of transferred items
  15220. * @param copy copy items, if true, move items otherwise
  15221. * @param target the target which accepts items
  15222. */
  15223. onDndDrop(source: Object, nodes: any[], copy: boolean, target: Object): void;
  15224. /**
  15225. * topic event processor for /dnd/source/over, called when detected a current source
  15226. *
  15227. * @param source the source which has the mouse over it
  15228. */
  15229. onDndSourceOver(source: Object): void;
  15230. /**
  15231. * topic event processor for /dnd/start, called to initiate the DnD operation
  15232. *
  15233. * @param source the source which provides items
  15234. * @param nodes the list of transferred items
  15235. * @param copy copy items, if true, move items otherwise
  15236. */
  15237. onDndStart(source: Object, nodes: any[], copy: boolean): void;
  15238. /**
  15239. * called during the active DnD operation, when items
  15240. * are dragged away from this target, and it is not disabled
  15241. *
  15242. */
  15243. onDraggingOut(): void;
  15244. /**
  15245. * called during the active DnD operation, when items
  15246. * are dragged over this target, and it is not disabled
  15247. *
  15248. */
  15249. onDraggingOver(): void;
  15250. /**
  15251. * called only on the current target, when drop is performed
  15252. *
  15253. * @param source the source which provides items
  15254. * @param nodes the list of transferred items
  15255. * @param copy copy items, if true, move items otherwise
  15256. */
  15257. onDrop(source: Object, nodes: any[], copy: boolean): void;
  15258. /**
  15259. * called only on the current target, when drop is performed
  15260. * from an external source
  15261. *
  15262. * @param source the source which provides items
  15263. * @param nodes the list of transferred items
  15264. * @param copy copy items, if true, move items otherwise
  15265. */
  15266. onDropExternal(source: Object, nodes: any[], copy: boolean): void;
  15267. /**
  15268. * called only on the current target, when drop is performed
  15269. * from the same target/source
  15270. *
  15271. * @param nodes the list of transferred items
  15272. * @param copy copy items, if true, move items otherwise
  15273. */
  15274. onDropInternal(nodes: any[], copy: boolean): void;
  15275. /**
  15276. * event processor for onmousedown
  15277. *
  15278. * @param e mouse event
  15279. */
  15280. onMouseDown(e: Event): void;
  15281. /**
  15282. * event processor for onmousemove
  15283. *
  15284. * @param e mouse event
  15285. */
  15286. onMouseMove(e: Event): void;
  15287. /**
  15288. * event processor for onmouseout
  15289. *
  15290. * @param e mouse event
  15291. */
  15292. onMouseOut(e: Event): void;
  15293. /**
  15294. * event processor for onmouseover or touch, to mark that element as the current element
  15295. *
  15296. * @param e mouse event
  15297. */
  15298. onMouseOver(e: Event): void;
  15299. /**
  15300. * event processor for onmouseup
  15301. *
  15302. * @param e mouse event
  15303. */
  15304. onMouseUp(e: Event): void;
  15305. /**
  15306. * this function is called once, when mouse is out of our container
  15307. *
  15308. */
  15309. onOutEvent(): void;
  15310. /**
  15311. * this function is called once, when mouse is over our container
  15312. *
  15313. */
  15314. onOverEvent(): void;
  15315. /**
  15316. * event processor for onselectevent and ondragevent
  15317. *
  15318. * @param e mouse event
  15319. */
  15320. onSelectStart(e: Event): void;
  15321. }
  15322. /**
  15323. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/autoscroll.html
  15324. *
  15325. * Used by dojo/dnd/Manager to scroll document or internal node when the user
  15326. * drags near the edge of the viewport or a scrollable node
  15327. *
  15328. */
  15329. interface autoscroll {
  15330. /**
  15331. *
  15332. */
  15333. H_AUTOSCROLL_VALUE: number;
  15334. /**
  15335. *
  15336. */
  15337. H_TRIGGER_AUTOSCROLL: number;
  15338. /**
  15339. *
  15340. */
  15341. V_AUTOSCROLL_VALUE: number;
  15342. /**
  15343. *
  15344. */
  15345. V_TRIGGER_AUTOSCROLL: number;
  15346. /**
  15347. * a handler for mousemove and touchmove events, which scrolls the window, if
  15348. * necessary
  15349. *
  15350. * @param e mousemove/touchmove event
  15351. */
  15352. autoScroll(e: Event): void;
  15353. /**
  15354. * a handler for mousemove and touchmove events, which scrolls the first available
  15355. * Dom element, it falls back to exports.autoScroll()
  15356. *
  15357. * @param e mousemove/touchmove event
  15358. */
  15359. autoScrollNodes(e: Event): void;
  15360. /**
  15361. * Called at the start of a drag.
  15362. *
  15363. * @param d The document of the node being dragged.
  15364. */
  15365. autoScrollStart(d: HTMLDocument): void;
  15366. /**
  15367. * Returns the dimensions and scroll position of the viewable area of a browser window
  15368. *
  15369. * @param doc Optional
  15370. */
  15371. getViewport(doc?: HTMLDocument): Object;
  15372. }
  15373. namespace autoscroll {
  15374. /**
  15375. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/autoscroll._validOverflow.html
  15376. *
  15377. *
  15378. */
  15379. interface _validOverflow {
  15380. /**
  15381. *
  15382. */
  15383. auto: number;
  15384. /**
  15385. *
  15386. */
  15387. scroll: number;
  15388. }
  15389. /**
  15390. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/autoscroll._validNodes.html
  15391. *
  15392. *
  15393. */
  15394. interface _validNodes {
  15395. /**
  15396. *
  15397. */
  15398. div: number;
  15399. /**
  15400. *
  15401. */
  15402. p: number;
  15403. /**
  15404. *
  15405. */
  15406. td: number;
  15407. }
  15408. }
  15409. /**
  15410. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/common.html
  15411. *
  15412. * TODOC
  15413. *
  15414. */
  15415. interface common {
  15416. /**
  15417. *
  15418. * @param evt
  15419. */
  15420. getCopyKeyState(evt: any): any;
  15421. /**
  15422. * returns a unique string for use with any DOM element
  15423. *
  15424. */
  15425. getUniqueId(): String;
  15426. /**
  15427. * returns true if user clicked on a form element
  15428. *
  15429. * @param e
  15430. */
  15431. isFormElement(e: Event): void;
  15432. /**
  15433. * Returns the current DnD manager. Creates one if it is not created yet.
  15434. *
  15435. */
  15436. manager(): any;
  15437. }
  15438. namespace common {
  15439. /**
  15440. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/common._empty.html
  15441. *
  15442. *
  15443. */
  15444. interface _empty {
  15445. }
  15446. /**
  15447. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/common._defaultCreatorNodes.html
  15448. *
  15449. *
  15450. */
  15451. interface _defaultCreatorNodes {
  15452. /**
  15453. *
  15454. */
  15455. div: string;
  15456. /**
  15457. *
  15458. */
  15459. ol: string;
  15460. /**
  15461. *
  15462. */
  15463. p: string;
  15464. /**
  15465. *
  15466. */
  15467. ul: string;
  15468. }
  15469. }
  15470. /**
  15471. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/move.html
  15472. *
  15473. * TODOC
  15474. *
  15475. */
  15476. interface move {
  15477. /**
  15478. *
  15479. */
  15480. boxConstrainedMoveable(): void;
  15481. /**
  15482. *
  15483. */
  15484. constrainedMoveable(): void;
  15485. /**
  15486. *
  15487. */
  15488. parentConstrainedMoveable(): void;
  15489. }
  15490. namespace move {
  15491. /**
  15492. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/move.parentConstrainedMoveable.html
  15493. *
  15494. *
  15495. * @param node a node (or node's id) to be moved
  15496. * @param params Optionalan optional object with parameters
  15497. */
  15498. class parentConstrainedMoveable extends dojo.dnd.Moveable {
  15499. constructor(node: HTMLElement, params?: Object);
  15500. /**
  15501. * object attributes (for markup)
  15502. *
  15503. */
  15504. "area": string;
  15505. /**
  15506. *
  15507. */
  15508. "delay": number;
  15509. /**
  15510. *
  15511. */
  15512. "handle": string;
  15513. /**
  15514. *
  15515. */
  15516. "skip": boolean;
  15517. /**
  15518. *
  15519. */
  15520. "within": boolean;
  15521. /**
  15522. *
  15523. */
  15524. constraints(): void;
  15525. /**
  15526. * stops watching for possible move, deletes all references, so the object can be garbage-collected
  15527. *
  15528. */
  15529. destroy(): void;
  15530. /**
  15531. *
  15532. * @param type
  15533. * @param event
  15534. */
  15535. emit(type: any, event: any): any;
  15536. /**
  15537. *
  15538. * @param params
  15539. * @param node
  15540. * @param Ctor
  15541. */
  15542. markupFactory(params: any, node: any, Ctor: any): any;
  15543. /**
  15544. *
  15545. * @param type
  15546. * @param listener
  15547. */
  15548. on(type: any, listener: any): any;
  15549. /**
  15550. * called when the drag is detected;
  15551. * responsible for creation of the mover
  15552. *
  15553. * @param e
  15554. */
  15555. onDragDetected(e: Event): void;
  15556. /**
  15557. * called during the very first move notification;
  15558. * can be used to initialize coordinates, can be overwritten.
  15559. *
  15560. * @param mover
  15561. */
  15562. onFirstMove(mover: dojo.dnd.Mover): void;
  15563. /**
  15564. * event processor for onmousedown/ontouchstart, creates a Mover for the node
  15565. *
  15566. * @param e mouse/touch event
  15567. */
  15568. onMouseDown(e: Event): void;
  15569. /**
  15570. * event processor for onmousemove/ontouchmove, used only for delayed drags
  15571. *
  15572. * @param e mouse/touch event
  15573. */
  15574. onMouseMove(e: Event): void;
  15575. /**
  15576. * event processor for onmouseup, used only for delayed drags
  15577. *
  15578. * @param e mouse event
  15579. */
  15580. onMouseUp(e: Event): void;
  15581. /**
  15582. * called during every move notification;
  15583. * should actually move the node; can be overwritten.
  15584. *
  15585. * @param mover
  15586. * @param leftTop
  15587. */
  15588. onMove(mover: dojo.dnd.Mover, leftTop: Object): void;
  15589. /**
  15590. * called after every incremental move; can be overwritten.
  15591. *
  15592. * @param mover
  15593. * @param leftTop
  15594. */
  15595. onMoved(mover: dojo.dnd.Mover, leftTop: Object): void;
  15596. /**
  15597. * called before every move operation
  15598. *
  15599. * @param mover
  15600. */
  15601. onMoveStart(mover: dojo.dnd.Mover): void;
  15602. /**
  15603. * called after every move operation
  15604. *
  15605. * @param mover
  15606. */
  15607. onMoveStop(mover: dojo.dnd.Mover): void;
  15608. /**
  15609. * called before every incremental move; can be overwritten.
  15610. *
  15611. * @param mover
  15612. * @param leftTop
  15613. */
  15614. onMoving(mover: dojo.dnd.Mover, leftTop: Object): void;
  15615. /**
  15616. * event processor for onselectevent and ondragevent
  15617. *
  15618. * @param e mouse event
  15619. */
  15620. onSelectStart(e: Event): void;
  15621. }
  15622. /**
  15623. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/move.boxConstrainedMoveable.html
  15624. *
  15625. *
  15626. * @param node a node (or node's id) to be moved
  15627. * @param params Optionalan optional object with parameters
  15628. */
  15629. class boxConstrainedMoveable extends dojo.dnd.Moveable {
  15630. constructor(node: HTMLElement, params?: Object);
  15631. /**
  15632. * object attributes (for markup)
  15633. *
  15634. */
  15635. "box": Object;
  15636. /**
  15637. *
  15638. */
  15639. "delay": number;
  15640. /**
  15641. *
  15642. */
  15643. "handle": string;
  15644. /**
  15645. *
  15646. */
  15647. "skip": boolean;
  15648. /**
  15649. *
  15650. */
  15651. "within": boolean;
  15652. /**
  15653. *
  15654. */
  15655. constraints(): void;
  15656. /**
  15657. * stops watching for possible move, deletes all references, so the object can be garbage-collected
  15658. *
  15659. */
  15660. destroy(): void;
  15661. /**
  15662. *
  15663. * @param type
  15664. * @param event
  15665. */
  15666. emit(type: any, event: any): any;
  15667. /**
  15668. *
  15669. * @param params
  15670. * @param node
  15671. * @param Ctor
  15672. */
  15673. markupFactory(params: any, node: any, Ctor: any): any;
  15674. /**
  15675. *
  15676. * @param type
  15677. * @param listener
  15678. */
  15679. on(type: any, listener: any): any;
  15680. /**
  15681. * called when the drag is detected;
  15682. * responsible for creation of the mover
  15683. *
  15684. * @param e
  15685. */
  15686. onDragDetected(e: Event): void;
  15687. /**
  15688. * called during the very first move notification;
  15689. * can be used to initialize coordinates, can be overwritten.
  15690. *
  15691. * @param mover
  15692. */
  15693. onFirstMove(mover: dojo.dnd.Mover): void;
  15694. /**
  15695. * event processor for onmousedown/ontouchstart, creates a Mover for the node
  15696. *
  15697. * @param e mouse/touch event
  15698. */
  15699. onMouseDown(e: Event): void;
  15700. /**
  15701. * event processor for onmousemove/ontouchmove, used only for delayed drags
  15702. *
  15703. * @param e mouse/touch event
  15704. */
  15705. onMouseMove(e: Event): void;
  15706. /**
  15707. * event processor for onmouseup, used only for delayed drags
  15708. *
  15709. * @param e mouse event
  15710. */
  15711. onMouseUp(e: Event): void;
  15712. /**
  15713. * called during every move notification;
  15714. * should actually move the node; can be overwritten.
  15715. *
  15716. * @param mover
  15717. * @param leftTop
  15718. */
  15719. onMove(mover: dojo.dnd.Mover, leftTop: Object): void;
  15720. /**
  15721. * called after every incremental move; can be overwritten.
  15722. *
  15723. * @param mover
  15724. * @param leftTop
  15725. */
  15726. onMoved(mover: dojo.dnd.Mover, leftTop: Object): void;
  15727. /**
  15728. * called before every move operation
  15729. *
  15730. * @param mover
  15731. */
  15732. onMoveStart(mover: dojo.dnd.Mover): void;
  15733. /**
  15734. * called after every move operation
  15735. *
  15736. * @param mover
  15737. */
  15738. onMoveStop(mover: dojo.dnd.Mover): void;
  15739. /**
  15740. * called before every incremental move; can be overwritten.
  15741. *
  15742. * @param mover
  15743. * @param leftTop
  15744. */
  15745. onMoving(mover: dojo.dnd.Mover, leftTop: Object): void;
  15746. /**
  15747. * event processor for onselectevent and ondragevent
  15748. *
  15749. * @param e mouse event
  15750. */
  15751. onSelectStart(e: Event): void;
  15752. }
  15753. /**
  15754. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dnd/move.constrainedMoveable.html
  15755. *
  15756. *
  15757. * @param node a node (or node's id) to be moved
  15758. * @param params Optionalan optional object with additional parameters;the rest is passed to the base class
  15759. */
  15760. class constrainedMoveable extends dojo.dnd.Moveable {
  15761. constructor(node: HTMLElement, params?: Object);
  15762. /**
  15763. *
  15764. */
  15765. "delay": number;
  15766. /**
  15767. *
  15768. */
  15769. "handle": string;
  15770. /**
  15771. *
  15772. */
  15773. "skip": boolean;
  15774. /**
  15775. *
  15776. */
  15777. "within": boolean;
  15778. /**
  15779. *
  15780. */
  15781. constraints(): void;
  15782. /**
  15783. * stops watching for possible move, deletes all references, so the object can be garbage-collected
  15784. *
  15785. */
  15786. destroy(): void;
  15787. /**
  15788. *
  15789. * @param type
  15790. * @param event
  15791. */
  15792. emit(type: any, event: any): any;
  15793. /**
  15794. *
  15795. * @param params
  15796. * @param node
  15797. * @param Ctor
  15798. */
  15799. markupFactory(params: any, node: any, Ctor: any): any;
  15800. /**
  15801. *
  15802. * @param type
  15803. * @param listener
  15804. */
  15805. on(type: any, listener: any): any;
  15806. /**
  15807. * called when the drag is detected;
  15808. * responsible for creation of the mover
  15809. *
  15810. * @param e
  15811. */
  15812. onDragDetected(e: Event): void;
  15813. /**
  15814. * called during the very first move notification;
  15815. * can be used to initialize coordinates, can be overwritten.
  15816. *
  15817. * @param mover
  15818. */
  15819. onFirstMove(mover: dojo.dnd.Mover): void;
  15820. /**
  15821. * event processor for onmousedown/ontouchstart, creates a Mover for the node
  15822. *
  15823. * @param e mouse/touch event
  15824. */
  15825. onMouseDown(e: Event): void;
  15826. /**
  15827. * event processor for onmousemove/ontouchmove, used only for delayed drags
  15828. *
  15829. * @param e mouse/touch event
  15830. */
  15831. onMouseMove(e: Event): void;
  15832. /**
  15833. * event processor for onmouseup, used only for delayed drags
  15834. *
  15835. * @param e mouse event
  15836. */
  15837. onMouseUp(e: Event): void;
  15838. /**
  15839. * called during every move notification;
  15840. * should actually move the node; can be overwritten.
  15841. *
  15842. * @param mover
  15843. * @param leftTop
  15844. */
  15845. onMove(mover: dojo.dnd.Mover, leftTop: Object): void;
  15846. /**
  15847. * called after every incremental move; can be overwritten.
  15848. *
  15849. * @param mover
  15850. * @param leftTop
  15851. */
  15852. onMoved(mover: dojo.dnd.Mover, leftTop: Object): void;
  15853. /**
  15854. * called before every move operation
  15855. *
  15856. * @param mover
  15857. */
  15858. onMoveStart(mover: dojo.dnd.Mover): void;
  15859. /**
  15860. * called after every move operation
  15861. *
  15862. * @param mover
  15863. */
  15864. onMoveStop(mover: dojo.dnd.Mover): void;
  15865. /**
  15866. * called before every incremental move; can be overwritten.
  15867. *
  15868. * @param mover
  15869. * @param leftTop
  15870. */
  15871. onMoving(mover: dojo.dnd.Mover, leftTop: Object): void;
  15872. /**
  15873. * event processor for onselectevent and ondragevent
  15874. *
  15875. * @param e mouse event
  15876. */
  15877. onSelectStart(e: Event): void;
  15878. }
  15879. }
  15880. }
  15881. namespace errors {
  15882. /**
  15883. * Permalink: http://dojotoolkit.org/api/1.9/dojo/errors/create.html
  15884. *
  15885. *
  15886. * @param name
  15887. * @param ctor
  15888. * @param base
  15889. * @param props
  15890. */
  15891. interface create{(name: any, ctor: any, base: any, props: any): void}
  15892. /**
  15893. * Permalink: http://dojotoolkit.org/api/1.9/dojo/errors/CancelError.html
  15894. *
  15895. * Default error if a promise is canceled without a reason.
  15896. *
  15897. */
  15898. interface CancelError{(): void}
  15899. /**
  15900. * Permalink: http://dojotoolkit.org/api/1.9/dojo/errors/RequestError.html
  15901. *
  15902. * TODOC
  15903. *
  15904. */
  15905. interface RequestError{(): void}
  15906. /**
  15907. * Permalink: http://dojotoolkit.org/api/1.9/dojo/errors/RequestTimeoutError.html
  15908. *
  15909. * TODOC
  15910. *
  15911. */
  15912. interface RequestTimeoutError{(): void}
  15913. }
  15914. namespace io {
  15915. /**
  15916. * Permalink: http://dojotoolkit.org/api/1.9/dojo/io/iframe.html
  15917. *
  15918. * Deprecated, use dojo/request/iframe instead.
  15919. * Sends an Ajax I/O call using and Iframe (for instance, to upload files)
  15920. *
  15921. */
  15922. interface iframe {
  15923. /**
  15924. * Creates a hidden iframe in the page. Used mostly for IO
  15925. * transports. You do not need to call this to start a
  15926. * dojo/io/iframe request. Just call send().
  15927. *
  15928. * @param fname The name of the iframe. Used for the name attribute on theiframe.
  15929. * @param onloadstr A string of JavaScript that will be executed when the contentin the iframe loads.
  15930. * @param uri The value of the src attribute on the iframe element. If avalue is not given, then dojo/resources/blank.html will beused.
  15931. */
  15932. create(fname: String, onloadstr: String, uri: String): void;
  15933. /**
  15934. * Returns the document object associated with the iframe DOM Node argument.
  15935. *
  15936. * @param iframeNode
  15937. */
  15938. doc(iframeNode: any): void;
  15939. /**
  15940. * Sets the URL that is loaded in an IFrame. The replace parameter
  15941. * indicates whether location.replace() should be used when
  15942. * changing the location of the iframe.
  15943. *
  15944. * @param iframe
  15945. * @param src
  15946. * @param replace
  15947. */
  15948. setSrc(iframe: any, src: any, replace: any): void;
  15949. }
  15950. /**
  15951. * Permalink: http://dojotoolkit.org/api/1.9/dojo/io/script.html
  15952. *
  15953. * TODOC
  15954. *
  15955. */
  15956. interface script {
  15957. /**
  15958. * creates a new <script> tag pointing to the specified URL and
  15959. * adds it to the document.
  15960. * Attaches the script element to the DOM. Use this method if you
  15961. * just want to attach a script to the DOM and do not care when or
  15962. * if it loads.
  15963. *
  15964. * @param id
  15965. * @param url
  15966. * @param frameDocument
  15967. */
  15968. attach(id: any, url: any, frameDocument: any): void;
  15969. /**
  15970. * sends a get request using a dynamically created script tag.
  15971. *
  15972. * @param args An object with the following properties:callbackParamName (String): Deprecated as of Dojo 1.4 in favor of "jsonp", but still supported forlegacy code. See notes for jsonp property.jsonp (String): The URL parameter name that indicates the JSONP callback string.For instance, when using Yahoo JSONP calls it is normally,jsonp: "callback". For AOL JSONP calls it is normallyjsonp: "c".checkString (String): A string of JavaScript that when evaluated like so:"typeof(" + checkString + ") != 'undefined'"being true means that the script fetched has been loaded.Do not use this if doing a JSONP type of call (use callbackParamName instead).frameDoc (Document): The Document object for a child iframe. If this is passed in, the scriptwill be attached to that document. This can be helpful in some comet long-pollingscenarios with Firefox and Opera.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.handleAs (String, optional): Acceptable values depend on the type of IOtransport (see specific IO calls for more information).rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  15973. */
  15974. get(args: Object): any;
  15975. /**
  15976. * removes the script element with the given id, from the given frameDocument.
  15977. * If no frameDocument is passed, the current document is used.
  15978. *
  15979. * @param id
  15980. * @param frameDocument
  15981. */
  15982. remove(id: any, frameDocument: any): void;
  15983. }
  15984. }
  15985. namespace promise {
  15986. /**
  15987. * Permalink: http://dojotoolkit.org/api/1.9/dojo/promise/all.html
  15988. *
  15989. * Takes multiple promises and returns a new promise that is fulfilled
  15990. * when all promises have been fulfilled.
  15991. * Takes multiple promises and returns a new promise that is fulfilled
  15992. * when all promises have been fulfilled. If one of the promises is rejected,
  15993. * the returned promise is also rejected. Canceling the returned promise will
  15994. * not cancel any passed promises.
  15995. *
  15996. * @param objectOrArray OptionalThe promise will be fulfilled with a list of results if invoked with anarray, or an object of results when passed an object (using the samekeys). If passed neither an object or array it is resolved with anundefined value.
  15997. */
  15998. interface all{<T>(value: Promise<T>[]): Promise<T[]>}
  15999. /**
  16000. * Permalink: http://dojotoolkit.org/api/1.9/dojo/promise/all.html
  16001. *
  16002. * Takes multiple promises and returns a new promise that is fulfilled
  16003. * when all promises have been fulfilled.
  16004. * Takes multiple promises and returns a new promise that is fulfilled
  16005. * when all promises have been fulfilled. If one of the promises is rejected,
  16006. * the returned promise is also rejected. Canceling the returned promise will
  16007. * not cancel any passed promises.
  16008. *
  16009. * @param objectOrArray OptionalThe promise will be fulfilled with a list of results if invoked with anarray, or an object of results when passed an object (using the samekeys). If passed neither an object or array it is resolved with anundefined value.
  16010. */
  16011. interface all{(value: Object): Promise<any>}
  16012. /**
  16013. * Permalink: http://dojotoolkit.org/api/1.9/dojo/promise/first.html
  16014. *
  16015. * Takes multiple promises and returns a new promise that is fulfilled
  16016. * when the first of these promises is fulfilled.
  16017. * Takes multiple promises and returns a new promise that is fulfilled
  16018. * when the first of these promises is fulfilled. Canceling the returned
  16019. * promise will not cancel any passed promises. The promise will be
  16020. * fulfilled with the value of the first fulfilled promise.
  16021. *
  16022. * @param objectOrArray OptionalThe promises are taken from the array or object values. If no valueis passed, the returned promise is resolved with an undefined value.
  16023. */
  16024. interface first{(objectOrArray?: Object): void}
  16025. /**
  16026. * Permalink: http://dojotoolkit.org/api/1.9/dojo/promise/first.html
  16027. *
  16028. * Takes multiple promises and returns a new promise that is fulfilled
  16029. * when the first of these promises is fulfilled.
  16030. * Takes multiple promises and returns a new promise that is fulfilled
  16031. * when the first of these promises is fulfilled. Canceling the returned
  16032. * promise will not cancel any passed promises. The promise will be
  16033. * fulfilled with the value of the first fulfilled promise.
  16034. *
  16035. * @param objectOrArray OptionalThe promises are taken from the array or object values. If no valueis passed, the returned promise is resolved with an undefined value.
  16036. */
  16037. interface first{(objectOrArray?: any[]): void}
  16038. /**
  16039. * Permalink: http://dojotoolkit.org/api/1.9/dojo/promise/instrumentation.html
  16040. *
  16041. * Initialize instrumentation for the Deferred class.
  16042. * Initialize instrumentation for the Deferred class.
  16043. * Done automatically by dojo/Deferred if the
  16044. * deferredInstrumentation and useDeferredInstrumentation
  16045. * config options are set.
  16046. *
  16047. * Sets up dojo/promise/tracer to log to the console.
  16048. *
  16049. * Sets up instrumentation of rejected deferreds so unhandled
  16050. * errors are logged to the console.
  16051. *
  16052. * @param Deferred
  16053. */
  16054. interface instrumentation{(Deferred: any): void}
  16055. interface Callback<T, U> {
  16056. (arg: T): U|Promise<U>;
  16057. }
  16058. /**
  16059. * Permalink: http://dojotoolkit.org/api/1.9/dojo/promise/Promise.html
  16060. *
  16061. * The public interface to a deferred.
  16062. * The public interface to a deferred. All promises in Dojo are
  16063. * instances of this class.
  16064. *
  16065. */
  16066. interface Promise<T> {
  16067. /**
  16068. * Add a callback to be invoked when the promise is resolved
  16069. * or rejected.
  16070. *
  16071. * @param callbackOrErrback OptionalA function that is used both as a callback and errback.
  16072. */
  16073. always<U>(callbackOrErrback: Callback<any, U>): Promise<U>;
  16074. /**
  16075. * Inform the deferred it may cancel its asynchronous operation.
  16076. * Inform the deferred it may cancel its asynchronous operation.
  16077. * The deferred's (optional) canceler is invoked and the
  16078. * deferred will be left in a rejected state. Can affect other
  16079. * promises that originate with the same deferred.
  16080. *
  16081. * @param reason A message that may be sent to the deferred's canceler,explaining why it's being canceled.
  16082. * @param strict OptionalIf strict, will throw an error if the deferred has alreadybeen fulfilled and consequently cannot be canceled.
  16083. */
  16084. cancel(reason: any, strict?: boolean): any;
  16085. /**
  16086. * Checks whether the promise has been canceled.
  16087. *
  16088. */
  16089. isCanceled(): boolean;
  16090. /**
  16091. * Checks whether the promise has been resolved or rejected.
  16092. *
  16093. */
  16094. isFulfilled(): boolean;
  16095. /**
  16096. * Checks whether the promise has been rejected.
  16097. *
  16098. */
  16099. isRejected(): boolean;
  16100. /**
  16101. * Checks whether the promise has been resolved.
  16102. *
  16103. */
  16104. isResolved(): boolean;
  16105. /**
  16106. * Add new errbacks to the promise.
  16107. *
  16108. * @param errback OptionalCallback to be invoked when the promise is rejected.
  16109. */
  16110. otherwise<U>(errback?: Callback<any, U>): Promise<U>;
  16111. /**
  16112. * Add new callbacks to the promise.
  16113. * Add new callbacks to the deferred. Callbacks can be added
  16114. * before or after the deferred is fulfilled.
  16115. *
  16116. * @param callback OptionalCallback to be invoked when the promise is resolved.Receives the resolution value.
  16117. * @param errback OptionalCallback to be invoked when the promise is rejected.Receives the rejection error.
  16118. * @param progback OptionalCallback to be invoked when the promise emits a progressupdate. Receives the progress update.
  16119. */
  16120. then<U>(callback?: Callback<T, U>, errback?: Callback<any, U>, progback?: Callback<any, U>): Promise<U>;
  16121. /**
  16122. *
  16123. */
  16124. toString(): String;
  16125. /**
  16126. * Trace the promise.
  16127. * Tracing allows you to transparently log progress,
  16128. * resolution and rejection of promises, without affecting the
  16129. * promise itself. Any arguments passed to trace() are
  16130. * emitted in trace events. See dojo/promise/tracer on how
  16131. * to handle traces.
  16132. *
  16133. */
  16134. trace(): Promise<T>;
  16135. /**
  16136. * Trace rejection of the promise.
  16137. * Tracing allows you to transparently log progress,
  16138. * resolution and rejection of promises, without affecting the
  16139. * promise itself. Any arguments passed to trace() are
  16140. * emitted in trace events. See dojo/promise/tracer on how
  16141. * to handle traces.
  16142. *
  16143. */
  16144. traceRejected(): Promise<T>;
  16145. }
  16146. /**
  16147. * Permalink: http://dojotoolkit.org/api/1.9/dojo/promise/tracer.html
  16148. *
  16149. * Trace promise fulfillment.
  16150. * Trace promise fulfillment. Calling .trace() or .traceError() on a
  16151. * promise enables tracing. Will emit resolved, rejected or progress
  16152. * events.
  16153. *
  16154. */
  16155. interface tracer {
  16156. /**
  16157. * Subscribe to traces.
  16158. * See dojo/Evented#on().
  16159. *
  16160. * @param type resolved, rejected, or progress
  16161. * @param listener The listener is passed the traced value and any argumentsthat were used with the .trace() call.
  16162. */
  16163. on(type: String, listener: Function): void;
  16164. }
  16165. }
  16166. namespace rpc {
  16167. /**
  16168. * Permalink: http://dojotoolkit.org/api/1.9/dojo/rpc/JsonpService.html
  16169. *
  16170. * Generic JSONP service. Minimally extends RpcService to allow
  16171. * easy definition of nearly any JSONP style service. Example
  16172. * SMD files exist in dojox.data
  16173. *
  16174. * @param args
  16175. * @param requiredArgs
  16176. */
  16177. class JsonpService extends dojo.rpc.RpcService {
  16178. constructor(args: any, requiredArgs: any);
  16179. /**
  16180. *
  16181. */
  16182. "serviceUrl": string;
  16183. /**
  16184. *
  16185. */
  16186. "strictArgChecks": boolean;
  16187. /**
  16188. * JSONP bind method. Takes remote method, parameters,
  16189. * deferred, and a url, calls createRequest to make a JSON-RPC
  16190. * envelope and passes that off with bind.
  16191. *
  16192. * @param method The name of the method we are calling
  16193. * @param parameters The parameters we are passing off to the method
  16194. * @param deferredRequestHandler The Deferred object for this particular request
  16195. * @param url
  16196. */
  16197. bind(method: String, parameters: dojo._base.array, deferredRequestHandler: dojo.Deferred, url: any): void;
  16198. /**
  16199. * create a JSONP req
  16200. *
  16201. * @param parameters
  16202. */
  16203. createRequest(parameters: any): Object;
  16204. /**
  16205. * create callback that calls the Deferred errback method
  16206. *
  16207. * @param deferredRequestHandler The deferred object handling a request.
  16208. */
  16209. errorCallback(deferredRequestHandler: dojo._base.Deferred): Function;
  16210. /**
  16211. * generate the local bind methods for the remote object
  16212. *
  16213. * @param method The name of the method we are generating
  16214. * @param parameters the array of parameters for this call.
  16215. * @param url the service url for this call
  16216. */
  16217. generateMethod(method: String, parameters: dojo._base.array, url: String): any;
  16218. /**
  16219. * parse the results coming back from an rpc request. this
  16220. * base implementation, just returns the full object
  16221. * subclasses should parse and only return the actual results
  16222. *
  16223. * @param obj Object that is the return results from an rpc request
  16224. */
  16225. parseResults(obj: Object): Object;
  16226. /**
  16227. * callback method for receipt of a smd object. Parse the smd
  16228. * and generate functions based on the description
  16229. *
  16230. * @param object smd object defining this service.
  16231. */
  16232. processSmd(object: any): void;
  16233. /**
  16234. * create callback that calls the Deferred's callback method
  16235. *
  16236. * @param deferredRequestHandler The deferred object handling a request.
  16237. */
  16238. resultCallback(deferredRequestHandler: dojo._base.Deferred): any;
  16239. }
  16240. /**
  16241. * Permalink: http://dojotoolkit.org/api/1.9/dojo/rpc/JsonService.html
  16242. *
  16243. * TODOC
  16244. *
  16245. * @param args Takes a number of properties as kwArgs for defining the service. It alsoaccepts a string. When passed a string, it is treated as a url fromwhich it should synchronously retrieve an smd file. Otherwise it is a kwArgsobject. It accepts serviceUrl, to manually define a url for the rpc serviceallowing the rpc system to be used without an smd definition. strictArgChecksforces the system to verify that the # of arguments provided in a callmatches those defined in the smd. smdString allows a developer to passa jsonString directly, which will be converted into an object or alternativelysmdObject is accepts an smdObject directly.
  16246. */
  16247. class JsonService extends dojo.rpc.RpcService {
  16248. constructor(args: Object);
  16249. /**
  16250. *
  16251. */
  16252. "bustCache": boolean;
  16253. /**
  16254. *
  16255. */
  16256. "contentType": string;
  16257. /**
  16258. *
  16259. */
  16260. "lastSubmissionId": number;
  16261. /**
  16262. *
  16263. */
  16264. "serviceUrl": string;
  16265. /**
  16266. *
  16267. */
  16268. "strictArgChecks": boolean;
  16269. /**
  16270. * JSON-RPC bind method. Takes remote method, parameters,
  16271. * deferred, and a url, calls createRequest to make a JSON-RPC
  16272. * envelope and passes that off with bind.
  16273. *
  16274. * @param method The name of the method we are calling
  16275. * @param parameters The parameters we are passing off to the method
  16276. * @param deferredRequestHandler The Deferred object for this particular request
  16277. * @param url
  16278. */
  16279. bind(method: String, parameters: any[], deferredRequestHandler: dojo.Deferred, url: any): void;
  16280. /**
  16281. * call an arbitrary remote method without requiring it to be
  16282. * predefined with SMD
  16283. *
  16284. * @param method the name of the remote method you want to call.
  16285. * @param params array of parameters to pass to method
  16286. */
  16287. callRemote(method: String, params: any[]): any;
  16288. /**
  16289. * create a JSON-RPC envelope for the request
  16290. *
  16291. * @param method The name of the method we are creating the request for
  16292. * @param params The array of parameters for this request;
  16293. */
  16294. createRequest(method: String, params: dojo._base.array): any;
  16295. /**
  16296. * create callback that calls the Deferred errback method
  16297. *
  16298. * @param deferredRequestHandler The deferred object handling a request.
  16299. */
  16300. errorCallback(deferredRequestHandler: dojo._base.Deferred): Function;
  16301. /**
  16302. * generate the local bind methods for the remote object
  16303. *
  16304. * @param method The name of the method we are generating
  16305. * @param parameters the array of parameters for this call.
  16306. * @param url the service url for this call
  16307. */
  16308. generateMethod(method: String, parameters: dojo._base.array, url: String): any;
  16309. /**
  16310. * parse the result envelope and pass the results back to
  16311. * the callback function
  16312. *
  16313. * @param obj Object containing envelope of data we receive from the server
  16314. */
  16315. parseResults(obj: Object): any;
  16316. /**
  16317. * callback method for receipt of a smd object. Parse the smd
  16318. * and generate functions based on the description
  16319. *
  16320. * @param object smd object defining this service.
  16321. */
  16322. processSmd(object: any): void;
  16323. /**
  16324. * create callback that calls the Deferred's callback method
  16325. *
  16326. * @param deferredRequestHandler The deferred object handling a request.
  16327. */
  16328. resultCallback(deferredRequestHandler: dojo._base.Deferred): any;
  16329. }
  16330. /**
  16331. * Permalink: http://dojotoolkit.org/api/1.9/dojo/rpc/RpcService.html
  16332. *
  16333. * TODOC
  16334. *
  16335. * @param args Takes a number of properties as kwArgs for defining the service. It alsoaccepts a string. When passed a string, it is treated as a url fromwhich it should synchronously retrieve an smd file. Otherwise it is a kwArgsobject. It accepts serviceUrl, to manually define a url for the rpc serviceallowing the rpc system to be used without an smd definition. strictArgChecksforces the system to verify that the # of arguments provided in a callmatches those defined in the smd. smdString allows a developer to passa jsonString directly, which will be converted into an object or alternativelysmdObject is accepts an smdObject directly.
  16336. */
  16337. class RpcService {
  16338. constructor(args: Object);
  16339. /**
  16340. *
  16341. */
  16342. "serviceUrl": string;
  16343. /**
  16344. *
  16345. */
  16346. "strictArgChecks": boolean;
  16347. /**
  16348. * create callback that calls the Deferred errback method
  16349. *
  16350. * @param deferredRequestHandler The deferred object handling a request.
  16351. */
  16352. errorCallback(deferredRequestHandler: dojo._base.Deferred): Function;
  16353. /**
  16354. * generate the local bind methods for the remote object
  16355. *
  16356. * @param method The name of the method we are generating
  16357. * @param parameters the array of parameters for this call.
  16358. * @param url the service url for this call
  16359. */
  16360. generateMethod(method: String, parameters: dojo._base.array, url: String): any;
  16361. /**
  16362. * parse the results coming back from an rpc request. this
  16363. * base implementation, just returns the full object
  16364. * subclasses should parse and only return the actual results
  16365. *
  16366. * @param obj Object that is the return results from an rpc request
  16367. */
  16368. parseResults(obj: Object): Object;
  16369. /**
  16370. * callback method for receipt of a smd object. Parse the smd
  16371. * and generate functions based on the description
  16372. *
  16373. * @param object smd object defining this service.
  16374. */
  16375. processSmd(object: any): void;
  16376. /**
  16377. * create callback that calls the Deferred's callback method
  16378. *
  16379. * @param deferredRequestHandler The deferred object handling a request.
  16380. */
  16381. resultCallback(deferredRequestHandler: dojo._base.Deferred): any;
  16382. }
  16383. }
  16384. namespace selector {
  16385. /**
  16386. * Permalink: http://dojotoolkit.org/api/1.9/dojo/selector/lite.html
  16387. *
  16388. * A small lightweight query selector engine that implements CSS2.1 selectors
  16389. * minus pseudo-classes and the sibling combinator, plus CSS3 attribute selectors
  16390. *
  16391. * @param selector
  16392. * @param root
  16393. */
  16394. interface lite{(selector: any, root: any): void}
  16395. interface lite {
  16396. /**
  16397. *
  16398. */
  16399. match: Object;
  16400. }
  16401. namespace lite {
  16402. }
  16403. /**
  16404. * Permalink: http://dojotoolkit.org/api/1.9/dojo/selector/acme.html
  16405. *
  16406. * Returns nodes which match the given CSS3 selector, searching the
  16407. * entire document by default but optionally taking a node to scope
  16408. * the search by. Returns an array.
  16409. * dojo.query() is the swiss army knife of DOM node manipulation in
  16410. * Dojo. Much like Prototype's "$$" (bling-bling) function or JQuery's
  16411. * "$" function, dojo.query provides robust, high-performance
  16412. * CSS-based node selector support with the option of scoping searches
  16413. * to a particular sub-tree of a document.
  16414. *
  16415. * Supported Selectors:
  16416. * acme supports a rich set of CSS3 selectors, including:
  16417. *
  16418. * class selectors (e.g., .foo)
  16419. * node type selectors like span
  16420. * descendant selectors
  16421. * > child element selectors
  16422. * #foo style ID selectors
  16423. * * universal selector
  16424. * ~, the preceded-by sibling selector
  16425. * +, the immediately preceded-by sibling selector
  16426. * attribute queries:
  16427. * [foo] attribute presence selector
  16428. * [foo='bar'] attribute value exact match
  16429. * [foo~='bar'] attribute value list item match
  16430. * [foo^='bar'] attribute start match
  16431. * [foo$='bar'] attribute end match
  16432. * [foo*='bar'] attribute substring match
  16433. *
  16434. * :first-child, :last-child, and :only-child positional selectors
  16435. * :empty content emtpy selector
  16436. * :checked pseudo selector
  16437. * :nth-child(n), :nth-child(2n+1) style positional calculations
  16438. * :nth-child(even), :nth-child(odd) positional selectors
  16439. * :not(...) negation pseudo selectors
  16440. * Any legal combination of these selectors will work with
  16441. * dojo.query(), including compound selectors ("," delimited).
  16442. * Very complex and useful searches can be constructed with this
  16443. * palette of selectors and when combined with functions for
  16444. * manipulation presented by dojo/NodeList, many types of DOM
  16445. * manipulation operations become very straightforward.
  16446. *
  16447. * Unsupported Selectors:
  16448. * While dojo.query handles many CSS3 selectors, some fall outside of
  16449. * what's reasonable for a programmatic node querying engine to
  16450. * handle. Currently unsupported selectors include:
  16451. *
  16452. * namespace-differentiated selectors of any form
  16453. * all :: pseduo-element selectors
  16454. * certain pseudo-selectors which don't get a lot of day-to-day use:
  16455. * :root, :lang(), :target, :focus
  16456. *
  16457. * all visual and state selectors:
  16458. * :root, :active, :hover, :visited, :link,`:enabled`, `:disabled`
  16459. * :*-of-type pseudo selectors
  16460. *
  16461. * dojo.query and XML Documents:
  16462. * dojo.query (as of dojo 1.2) supports searching XML documents
  16463. * in a case-sensitive manner. If an HTML document is served with
  16464. * a doctype that forces case-sensitivity (e.g., XHTML 1.1
  16465. * Strict), dojo.query() will detect this and "do the right
  16466. * thing". Case sensitivity is dependent upon the document being
  16467. * searched and not the query used. It is therefore possible to
  16468. * use case-sensitive queries on strict sub-documents (iframes,
  16469. * etc.) or XML documents while still assuming case-insensitivity
  16470. * for a host/root document.
  16471. *
  16472. * Non-selector Queries:
  16473. * If something other than a String is passed for the query,
  16474. * dojo.query will return a new dojo/NodeList instance
  16475. * constructed from that parameter alone and all further
  16476. * processing will stop. This means that if you have a reference
  16477. * to a node or NodeList, you can quickly construct a new NodeList
  16478. * from the original by calling dojo.query(node) or
  16479. * dojo.query(list).
  16480. *
  16481. * @param query The CSS3 expression to match against. For details on the syntax ofCSS3 selectors, see http://www.w3.org/TR/css3-selectors/#selectors
  16482. * @param root OptionalA DOMNode (or node id) to scope the search from. Optional.
  16483. */
  16484. interface acme{(query: String, root?: String): void}
  16485. /**
  16486. * Permalink: http://dojotoolkit.org/api/1.9/dojo/selector/acme.html
  16487. *
  16488. * Returns nodes which match the given CSS3 selector, searching the
  16489. * entire document by default but optionally taking a node to scope
  16490. * the search by. Returns an array.
  16491. * dojo.query() is the swiss army knife of DOM node manipulation in
  16492. * Dojo. Much like Prototype's "$$" (bling-bling) function or JQuery's
  16493. * "$" function, dojo.query provides robust, high-performance
  16494. * CSS-based node selector support with the option of scoping searches
  16495. * to a particular sub-tree of a document.
  16496. *
  16497. * Supported Selectors:
  16498. * acme supports a rich set of CSS3 selectors, including:
  16499. *
  16500. * class selectors (e.g., .foo)
  16501. * node type selectors like span
  16502. * descendant selectors
  16503. * > child element selectors
  16504. * #foo style ID selectors
  16505. * * universal selector
  16506. * ~, the preceded-by sibling selector
  16507. * +, the immediately preceded-by sibling selector
  16508. * attribute queries:
  16509. * [foo] attribute presence selector
  16510. * [foo='bar'] attribute value exact match
  16511. * [foo~='bar'] attribute value list item match
  16512. * [foo^='bar'] attribute start match
  16513. * [foo$='bar'] attribute end match
  16514. * [foo*='bar'] attribute substring match
  16515. *
  16516. * :first-child, :last-child, and :only-child positional selectors
  16517. * :empty content emtpy selector
  16518. * :checked pseudo selector
  16519. * :nth-child(n), :nth-child(2n+1) style positional calculations
  16520. * :nth-child(even), :nth-child(odd) positional selectors
  16521. * :not(...) negation pseudo selectors
  16522. * Any legal combination of these selectors will work with
  16523. * dojo.query(), including compound selectors ("," delimited).
  16524. * Very complex and useful searches can be constructed with this
  16525. * palette of selectors and when combined with functions for
  16526. * manipulation presented by dojo/NodeList, many types of DOM
  16527. * manipulation operations become very straightforward.
  16528. *
  16529. * Unsupported Selectors:
  16530. * While dojo.query handles many CSS3 selectors, some fall outside of
  16531. * what's reasonable for a programmatic node querying engine to
  16532. * handle. Currently unsupported selectors include:
  16533. *
  16534. * namespace-differentiated selectors of any form
  16535. * all :: pseduo-element selectors
  16536. * certain pseudo-selectors which don't get a lot of day-to-day use:
  16537. * :root, :lang(), :target, :focus
  16538. *
  16539. * all visual and state selectors:
  16540. * :root, :active, :hover, :visited, :link,`:enabled`, `:disabled`
  16541. * :*-of-type pseudo selectors
  16542. *
  16543. * dojo.query and XML Documents:
  16544. * dojo.query (as of dojo 1.2) supports searching XML documents
  16545. * in a case-sensitive manner. If an HTML document is served with
  16546. * a doctype that forces case-sensitivity (e.g., XHTML 1.1
  16547. * Strict), dojo.query() will detect this and "do the right
  16548. * thing". Case sensitivity is dependent upon the document being
  16549. * searched and not the query used. It is therefore possible to
  16550. * use case-sensitive queries on strict sub-documents (iframes,
  16551. * etc.) or XML documents while still assuming case-insensitivity
  16552. * for a host/root document.
  16553. *
  16554. * Non-selector Queries:
  16555. * If something other than a String is passed for the query,
  16556. * dojo.query will return a new dojo/NodeList instance
  16557. * constructed from that parameter alone and all further
  16558. * processing will stop. This means that if you have a reference
  16559. * to a node or NodeList, you can quickly construct a new NodeList
  16560. * from the original by calling dojo.query(node) or
  16561. * dojo.query(list).
  16562. *
  16563. * @param query The CSS3 expression to match against. For details on the syntax ofCSS3 selectors, see http://www.w3.org/TR/css3-selectors/#selectors
  16564. * @param root OptionalA DOMNode (or node id) to scope the search from. Optional.
  16565. */
  16566. interface acme{(query: String, root?: HTMLElement): void}
  16567. interface acme {
  16568. /**
  16569. * function for filtering a NodeList based on a selector, optimized for simple selectors
  16570. *
  16571. * @param nodeList
  16572. * @param filter
  16573. * @param root Optional
  16574. */
  16575. filter(nodeList: HTMLElement[], filter: String, root?: String): void;
  16576. /**
  16577. * function for filtering a NodeList based on a selector, optimized for simple selectors
  16578. *
  16579. * @param nodeList
  16580. * @param filter
  16581. * @param root Optional
  16582. */
  16583. filter(nodeList: HTMLElement[], filter: String, root?: HTMLElement): void;
  16584. }
  16585. namespace acme {
  16586. }
  16587. /**
  16588. * Permalink: http://dojotoolkit.org/api/1.9/dojo/selector/_loader.html
  16589. *
  16590. * This module handles loading the appropriate selector engine for the given browser
  16591. *
  16592. */
  16593. interface _loader {
  16594. /**
  16595. *
  16596. * @param id
  16597. * @param parentRequire
  16598. * @param loaded
  16599. * @param config
  16600. */
  16601. load(id: any, parentRequire: any, loaded: any, config: any): any;
  16602. }
  16603. }
  16604. namespace store {
  16605. /**
  16606. * Permalink: http://dojotoolkit.org/api/1.9/dojo/store/Observable.html
  16607. *
  16608. * The Observable store wrapper takes a store and sets an observe method on query()
  16609. * results that can be used to monitor results for changes.
  16610. * Observable wraps an existing store so that notifications can be made when a query
  16611. * is performed.
  16612. *
  16613. * @param store
  16614. */
  16615. interface Observable{(store: dojo.store.api.Store): void}
  16616. /**
  16617. * Permalink: http://dojotoolkit.org/api/1.9/dojo/store/Cache.html
  16618. *
  16619. * The Cache store wrapper takes a master store and a caching store,
  16620. * caches data from the master into the caching store for faster
  16621. * lookup. Normally one would use a memory store for the caching
  16622. * store and a server store like JsonRest for the master store.
  16623. *
  16624. * @param masterStore This is the authoritative store, all uncached requests or non-safe requests willbe made against this store.
  16625. * @param cachingStore This is the caching store that will be used to store responses for quick access.Typically this should be a local store.
  16626. * @param options OptionalThese are additional options for how caching is handled.
  16627. */
  16628. class Cache extends dojo.store.api.Store {
  16629. constructor(masterStore: any, cachingStore: any, options?: Object);
  16630. /**
  16631. * If the store has a single primary key, this indicates the property to use as the
  16632. * identity property. The values of this property should be unique.
  16633. *
  16634. */
  16635. "idProperty": string;
  16636. /**
  16637. * If the store can be queried locally (on the client side in JS), this defines
  16638. * the query engine to use for querying the data store.
  16639. * This takes a query and query options and returns a function that can execute
  16640. * the provided query on a JavaScript array. The queryEngine may be replace to
  16641. * provide more sophisticated querying capabilities. For example:
  16642. *
  16643. * var query = store.queryEngine({foo:"bar"}, {count:10});
  16644. * query(someArray) -> filtered array
  16645. * The returned query function may have a "matches" property that can be
  16646. *
  16647. * used to determine if an object matches the query. For example:
  16648. *
  16649. * query.matches({id:"some-object", foo:"bar"}) -> true
  16650. * query.matches({id:"some-object", foo:"something else"}) -> false
  16651. *
  16652. */
  16653. queryEngine(query: Object, options: dojo.store.api.Store.QueryOptions): any;
  16654. /**
  16655. * Add the given object to the store.
  16656. *
  16657. * @param object The object to add to the store.
  16658. * @param directives OptionalAny additional parameters needed to describe how the add should be performed.
  16659. */
  16660. add(object: Object, directives?: any): number;
  16661. /**
  16662. * Remove the object with the given id from the underlying caching store.
  16663. *
  16664. * @param id The identifier for the object in question.
  16665. */
  16666. evict(id: number): void;
  16667. /**
  16668. * Get the object with the specific id.
  16669. *
  16670. * @param id The identifier for the object in question.
  16671. * @param directives OptionalAny additional parameters needed to describe how the get should be performed.
  16672. */
  16673. get(id: number, directives?: Object): dojo.store.api.Store.QueryResults;
  16674. /**
  16675. * Retrieves the children of an object.
  16676. *
  16677. * @param parent The object to find the children of.
  16678. * @param options OptionalAdditional options to apply to the retrieval of the children.
  16679. */
  16680. getChildren(parent: Object, options?: dojo.store.api.Store.QueryOptions): dojo.store.api.Store.QueryResults;
  16681. /**
  16682. * Returns an object's identity
  16683. *
  16684. * @param object The object to get the identity from
  16685. */
  16686. getIdentity(object: Object): any;
  16687. /**
  16688. * Returns any metadata about the object. This may include attribution,
  16689. * cache directives, history, or version information.
  16690. *
  16691. * @param object The object to return metadata for.
  16692. */
  16693. getMetadata(object: Object): Object;
  16694. /**
  16695. * Put the object into the store (similar to an HTTP PUT).
  16696. *
  16697. * @param object The object to put to the store.
  16698. * @param directives OptionalAny additional parameters needed to describe how the put should be performed.
  16699. */
  16700. put(object: Object, directives?: dojo.store.api.Store.PutDirectives): number;
  16701. /**
  16702. * Query the underlying master store and cache any results.
  16703. *
  16704. * @param query The object or string containing query information. Dependent on the query engine used.
  16705. * @param directives OptionalAn optional keyword arguments object with additional parameters describing the query.
  16706. */
  16707. query(query: Object, directives?: dojo.store.api.Store.QueryOptions): dojo.store.api.Store.QueryResults;
  16708. /**
  16709. * Query the underlying master store and cache any results.
  16710. *
  16711. * @param query The object or string containing query information. Dependent on the query engine used.
  16712. * @param directives OptionalAn optional keyword arguments object with additional parameters describing the query.
  16713. */
  16714. query(query: String, directives?: dojo.store.api.Store.QueryOptions): dojo.store.api.Store.QueryResults;
  16715. /**
  16716. * Remove the object with the specific id.
  16717. *
  16718. * @param id The identifier for the object in question.
  16719. */
  16720. remove(id: number): void;
  16721. /**
  16722. * Starts a new transaction.
  16723. * Note that a store user might not call transaction() prior to using put,
  16724. * delete, etc. in which case these operations effectively could be thought of
  16725. * as "auto-commit" style actions.
  16726. *
  16727. */
  16728. transaction(): dojo.store.api.Store.Transaction;
  16729. }
  16730. /**
  16731. * Permalink: http://dojotoolkit.org/api/1.9/dojo/store/DataStore.html
  16732. *
  16733. * This is an adapter for using Dojo Data stores with an object store consumer.
  16734. * You can provide a Dojo data store and use this adapter to interact with it through
  16735. * the Dojo object store API
  16736. *
  16737. * @param options OptionalThis provides any configuration information that will be mixed into the store,including a reference to the Dojo data store under the property "store".
  16738. */
  16739. class DataStore extends dojo.store.api.Store {
  16740. constructor(options?: Object);
  16741. /**
  16742. * The object property to use to store the identity of the store items.
  16743. *
  16744. */
  16745. "idProperty": string;
  16746. /**
  16747. * The object store to convert to a data store
  16748. *
  16749. */
  16750. "store": Object;
  16751. /**
  16752. *
  16753. */
  16754. "target": string;
  16755. /**
  16756. * Creates an object, throws an error if the object already exists
  16757. *
  16758. * @param object The object to store.
  16759. * @param directives OptionalAdditional directives for creating objects.
  16760. */
  16761. add(object: Object, directives: dojo.store.api.Store.PutDirectives): any;
  16762. /**
  16763. * Retrieves an object by it's identity. This will trigger a fetchItemByIdentity
  16764. *
  16765. * @param id OptionalThe identity to use to lookup the object
  16766. * @param options
  16767. */
  16768. get(id: Object, options?: any): any;
  16769. /**
  16770. * Retrieves the children of an object.
  16771. *
  16772. * @param parent The object to find the children of.
  16773. * @param options OptionalAdditional options to apply to the retrieval of the children.
  16774. */
  16775. getChildren(parent: Object, options?: dojo.store.api.Store.QueryOptions): dojo.store.api.Store.QueryResults;
  16776. /**
  16777. * Fetch the identity for the given object.
  16778. *
  16779. * @param object The data object to get the identity from.
  16780. */
  16781. getIdentity(object: Object): any;
  16782. /**
  16783. * Returns any metadata about the object. This may include attribution,
  16784. * cache directives, history, or version information.
  16785. *
  16786. * @param object The object to return metadata for.
  16787. */
  16788. getMetadata(object: Object): Object;
  16789. /**
  16790. * Stores an object by its identity.
  16791. *
  16792. * @param object The object to store.
  16793. * @param options OptionalAdditional metadata for storing the data. Includes a reference to an idthat the object may be stored with (i.e. { id: "foo" }).
  16794. */
  16795. put(object: Object, options?: Object): void;
  16796. /**
  16797. * Queries the store for objects.
  16798. *
  16799. * @param query The query to use for retrieving objects from the store
  16800. * @param options OptionalOptional options object as used by the underlying dojo.data Store.
  16801. */
  16802. query(query: Object, options?: Object): any;
  16803. /**
  16804. * Defines the query engine to use for querying the data store
  16805. *
  16806. * @param query An object hash with fields that may match fields of items in the store.Values in the hash will be compared by normal == operator, but regular expressionsor any object that provides a test() method are also supported and can beused to match strings by more complex expressions(and then the regex's or object's test() method will be used to match values).
  16807. * @param options OptionalAn object that contains optional information such as sort, start, and count.
  16808. */
  16809. queryEngine(query: Object, options?: dojo.store.api.Store.QueryOptions): any;
  16810. /**
  16811. * Deletes an object by its identity.
  16812. *
  16813. * @param id The identity to use to delete the object
  16814. */
  16815. remove(id: Object): void;
  16816. /**
  16817. * Starts a new transaction.
  16818. * Note that a store user might not call transaction() prior to using put,
  16819. * delete, etc. in which case these operations effectively could be thought of
  16820. * as "auto-commit" style actions.
  16821. *
  16822. */
  16823. transaction(): dojo.store.api.Store.Transaction;
  16824. }
  16825. /**
  16826. * Permalink: http://dojotoolkit.org/api/1.9/dojo/store/Memory.html
  16827. *
  16828. * This is a basic in-memory object store. It implements dojo/store/api/Store.
  16829. *
  16830. * @param options This provides any configuration information that will be mixed into the store.This should generally include the data property to provide the starting set of data.
  16831. */
  16832. class Memory extends dojo.store.api.Store {
  16833. constructor(options: dojo.store.Memory);
  16834. /**
  16835. * The array of all the objects in the memory store
  16836. *
  16837. */
  16838. "data": any[];
  16839. /**
  16840. * Indicates the property to use as the identity property. The values of this
  16841. * property should be unique.
  16842. *
  16843. */
  16844. "idProperty": string;
  16845. /**
  16846. * An index of data indices into the data array by id
  16847. *
  16848. */
  16849. "index": Object;
  16850. /**
  16851. * Creates an object, throws an error if the object already exists
  16852. *
  16853. * @param object The object to store.
  16854. * @param options OptionalAdditional metadata for storing the data. Includes an "id"property if a specific id is to be used.
  16855. */
  16856. add(object: Object, options?: dojo.store.api.Store.PutDirectives): any;
  16857. /**
  16858. * Retrieves an object by its identity
  16859. *
  16860. * @param id The identity to use to lookup the object
  16861. */
  16862. get(id: number): any;
  16863. /**
  16864. * Retrieves the children of an object.
  16865. *
  16866. * @param parent The object to find the children of.
  16867. * @param options OptionalAdditional options to apply to the retrieval of the children.
  16868. */
  16869. getChildren(parent: Object, options?: dojo.store.api.Store.QueryOptions): dojo.store.api.Store.QueryResults;
  16870. /**
  16871. * Returns an object's identity
  16872. *
  16873. * @param object The object to get the identity from
  16874. */
  16875. getIdentity(object: Object): any;
  16876. /**
  16877. * Returns any metadata about the object. This may include attribution,
  16878. * cache directives, history, or version information.
  16879. *
  16880. * @param object The object to return metadata for.
  16881. */
  16882. getMetadata(object: Object): Object;
  16883. /**
  16884. * Stores an object
  16885. *
  16886. * @param object The object to store.
  16887. * @param options OptionalAdditional metadata for storing the data. Includes an "id"property if a specific id is to be used.
  16888. */
  16889. put(object: Object, options?: dojo.store.api.Store.PutDirectives): any;
  16890. /**
  16891. * Queries the store for objects.
  16892. *
  16893. * @param query The query to use for retrieving objects from the store.
  16894. * @param options OptionalThe optional arguments to apply to the resultset.
  16895. */
  16896. query(query: Object, options?: dojo.store.api.Store.QueryOptions): any;
  16897. /**
  16898. * Defines the query engine to use for querying the data store
  16899. *
  16900. * @param query An object hash with fields that may match fields of items in the store.Values in the hash will be compared by normal == operator, but regular expressionsor any object that provides a test() method are also supported and can beused to match strings by more complex expressions(and then the regex's or object's test() method will be used to match values).
  16901. * @param options OptionalAn object that contains optional information such as sort, start, and count.
  16902. */
  16903. queryEngine(query: Object, options?: dojo.store.api.Store.QueryOptions): any;
  16904. /**
  16905. * Deletes an object by its identity
  16906. *
  16907. * @param id The identity to use to delete the object
  16908. */
  16909. remove(id: number): any;
  16910. /**
  16911. * Sets the given data as the source for this store, and indexes it
  16912. *
  16913. * @param data An array of objects to use as the source of data.
  16914. */
  16915. setData(data: Object[]): void;
  16916. /**
  16917. * Starts a new transaction.
  16918. * Note that a store user might not call transaction() prior to using put,
  16919. * delete, etc. in which case these operations effectively could be thought of
  16920. * as "auto-commit" style actions.
  16921. *
  16922. */
  16923. transaction(): dojo.store.api.Store.Transaction;
  16924. }
  16925. /**
  16926. * Permalink: http://dojotoolkit.org/api/1.9/dojo/store/JsonRest.html
  16927. *
  16928. * This is a basic store for RESTful communicating with a server through JSON
  16929. * formatted data. It implements dojo/store/api/Store.
  16930. *
  16931. * @param options This provides any configuration information that will be mixed into the store
  16932. */
  16933. class JsonRest extends dojo.store.api.Store {
  16934. constructor(options: dojo.store.JsonRest);
  16935. /**
  16936. * Defines the Accept header to use on HTTP requests
  16937. *
  16938. */
  16939. "accepts": string;
  16940. /**
  16941. * The prefix to apply to sort attribute names that are ascending
  16942. *
  16943. */
  16944. "ascendingPrefix": string;
  16945. /**
  16946. * The prefix to apply to sort attribute names that are ascending
  16947. *
  16948. */
  16949. "descendingPrefix": string;
  16950. /**
  16951. * Additional headers to pass in all requests to the server. These can be overridden
  16952. * by passing additional headers to calls to the store.
  16953. *
  16954. */
  16955. "headers": Object;
  16956. /**
  16957. * Indicates the property to use as the identity property. The values of this
  16958. * property should be unique.
  16959. *
  16960. */
  16961. "idProperty": string;
  16962. /**
  16963. * If the store can be queried locally (on the client side in JS), this defines
  16964. * the query engine to use for querying the data store.
  16965. * This takes a query and query options and returns a function that can execute
  16966. * the provided query on a JavaScript array. The queryEngine may be replace to
  16967. * provide more sophisticated querying capabilities. For example:
  16968. *
  16969. * var query = store.queryEngine({foo:"bar"}, {count:10});
  16970. * query(someArray) -> filtered array
  16971. * The returned query function may have a "matches" property that can be
  16972. *
  16973. * used to determine if an object matches the query. For example:
  16974. *
  16975. * query.matches({id:"some-object", foo:"bar"}) -> true
  16976. * query.matches({id:"some-object", foo:"something else"}) -> false
  16977. *
  16978. */
  16979. queryEngine(query: Object, options: dojo.store.api.Store.QueryOptions): any;
  16980. /**
  16981. * The target base URL to use for all requests to the server. This string will be
  16982. * prepended to the id to generate the URL (relative or absolute) for requests
  16983. * sent to the server
  16984. *
  16985. */
  16986. "target": string;
  16987. /**
  16988. * Adds an object. This will trigger a PUT request to the server
  16989. * if the object has an id, otherwise it will trigger a POST request.
  16990. *
  16991. * @param object The object to store.
  16992. * @param options OptionalAdditional metadata for storing the data. Includes an "id"property if a specific id is to be used.
  16993. */
  16994. add(object: Object, options?: Object): any;
  16995. /**
  16996. * Retrieves an object by its identity. This will trigger a GET request to the server using
  16997. * the url this.target + id.
  16998. *
  16999. * @param id The identity to use to lookup the object
  17000. * @param options OptionalHTTP headers. For consistency with other methods, if a headers key exists on this object, it will beused to provide HTTP headers instead.
  17001. */
  17002. get(id: number, options?: Object): any;
  17003. /**
  17004. * Retrieves the children of an object.
  17005. *
  17006. * @param parent The object to find the children of.
  17007. * @param options OptionalAdditional options to apply to the retrieval of the children.
  17008. */
  17009. getChildren(parent: Object, options?: dojo.store.api.Store.QueryOptions): dojo.store.api.Store.QueryResults;
  17010. /**
  17011. * Returns an object's identity
  17012. *
  17013. * @param object The object to get the identity from
  17014. */
  17015. getIdentity(object: Object): any;
  17016. /**
  17017. * Returns any metadata about the object. This may include attribution,
  17018. * cache directives, history, or version information.
  17019. *
  17020. * @param object The object to return metadata for.
  17021. */
  17022. getMetadata(object: Object): Object;
  17023. /**
  17024. * Stores an object. This will trigger a PUT request to the server
  17025. * if the object has an id, otherwise it will trigger a POST request.
  17026. *
  17027. * @param object The object to store.
  17028. * @param options OptionalAdditional metadata for storing the data. Includes an "id"property if a specific id is to be used.
  17029. */
  17030. put(object: Object, options?: Object): any;
  17031. /**
  17032. * Queries the store for objects. This will trigger a GET request to the server, with the
  17033. * query added as a query string.
  17034. *
  17035. * @param query The query to use for retrieving objects from the store.
  17036. * @param options OptionalThe optional arguments to apply to the resultset.
  17037. */
  17038. query(query: Object, options?: Object): any;
  17039. /**
  17040. * Deletes an object by its identity. This will trigger a DELETE request to the server.
  17041. *
  17042. * @param id The identity to use to delete the object
  17043. * @param options OptionalHTTP headers.
  17044. */
  17045. remove(id: number, options?: Object): any;
  17046. /**
  17047. * Starts a new transaction.
  17048. * Note that a store user might not call transaction() prior to using put,
  17049. * delete, etc. in which case these operations effectively could be thought of
  17050. * as "auto-commit" style actions.
  17051. *
  17052. */
  17053. transaction(): dojo.store.api.Store.Transaction;
  17054. }
  17055. namespace api {
  17056. /**
  17057. * Permalink: http://dojotoolkit.org/api/1.9/dojo/store/api/Store.html
  17058. *
  17059. * This is an abstract API that data provider implementations conform to.
  17060. * This file defines methods signatures and intentionally leaves all the
  17061. * methods unimplemented. For more information on the ,
  17062. * please visit: http://dojotoolkit.org/reference-guide/dojo/store.html
  17063. * Every method and property is optional, and is only needed if the functionality
  17064. * it provides is required.
  17065. * Every method may return a promise for the specified return value if the
  17066. * execution of the operation is asynchronous (except
  17067. * for query() which already defines an async return value).
  17068. *
  17069. */
  17070. class Store {
  17071. constructor();
  17072. /**
  17073. * If the store has a single primary key, this indicates the property to use as the
  17074. * identity property. The values of this property should be unique.
  17075. *
  17076. */
  17077. "idProperty": string;
  17078. /**
  17079. * If the store can be queried locally (on the client side in JS), this defines
  17080. * the query engine to use for querying the data store.
  17081. * This takes a query and query options and returns a function that can execute
  17082. * the provided query on a JavaScript array. The queryEngine may be replace to
  17083. * provide more sophisticated querying capabilities. For example:
  17084. *
  17085. * var query = store.queryEngine({foo:"bar"}, {count:10});
  17086. * query(someArray) -> filtered array
  17087. * The returned query function may have a "matches" property that can be
  17088. *
  17089. * used to determine if an object matches the query. For example:
  17090. *
  17091. * query.matches({id:"some-object", foo:"bar"}) -> true
  17092. * query.matches({id:"some-object", foo:"something else"}) -> false
  17093. *
  17094. */
  17095. queryEngine(query: Object, options: dojo.store.api.Store.QueryOptions): any;
  17096. /**
  17097. * Creates an object, throws an error if the object already exists
  17098. *
  17099. * @param object The object to store.
  17100. * @param directives OptionalAdditional directives for creating objects.
  17101. */
  17102. add(object: Object, directives?: dojo.store.api.Store.PutDirectives): any;
  17103. /**
  17104. * Retrieves an object by its identity
  17105. *
  17106. * @param id The identity to use to lookup the object
  17107. */
  17108. get(id: number): Object;
  17109. /**
  17110. * Retrieves the children of an object.
  17111. *
  17112. * @param parent The object to find the children of.
  17113. * @param options OptionalAdditional options to apply to the retrieval of the children.
  17114. */
  17115. getChildren(parent: Object, options?: dojo.store.api.Store.QueryOptions): dojo.store.api.Store.QueryResults;
  17116. /**
  17117. * Returns an object's identity
  17118. *
  17119. * @param object The object to get the identity from
  17120. */
  17121. getIdentity(object: Object): any;
  17122. /**
  17123. * Returns any metadata about the object. This may include attribution,
  17124. * cache directives, history, or version information.
  17125. *
  17126. * @param object The object to return metadata for.
  17127. */
  17128. getMetadata(object: Object): Object;
  17129. /**
  17130. * Stores an object
  17131. *
  17132. * @param object The object to store.
  17133. * @param directives OptionalAdditional directives for storing objects.
  17134. */
  17135. put(object: Object, directives?: dojo.store.api.Store.PutDirectives): any;
  17136. /**
  17137. *
  17138. */
  17139. PutDirectives(): void;
  17140. /**
  17141. * Queries the store for objects. This does not alter the store, but returns a
  17142. * set of data from the store.
  17143. *
  17144. * @param query The query to use for retrieving objects from the store.
  17145. * @param options The optional arguments to apply to the resultset.
  17146. */
  17147. query(query: String, options?: dojo.store.api.Store.QueryOptions): dojo.store.api.Store.QueryResults;
  17148. /**
  17149. * Queries the store for objects. This does not alter the store, but returns a
  17150. * set of data from the store.
  17151. *
  17152. * @param query The query to use for retrieving objects from the store.
  17153. * @param options The optional arguments to apply to the resultset.
  17154. */
  17155. query(query: Object, options?: dojo.store.api.Store.QueryOptions): dojo.store.api.Store.QueryResults;
  17156. /**
  17157. * Queries the store for objects. This does not alter the store, but returns a
  17158. * set of data from the store.
  17159. *
  17160. * @param query The query to use for retrieving objects from the store.
  17161. * @param options The optional arguments to apply to the resultset.
  17162. */
  17163. query(query: Function, options?: dojo.store.api.Store.QueryOptions): dojo.store.api.Store.QueryResults;
  17164. /**
  17165. *
  17166. */
  17167. QueryOptions(): void;
  17168. /**
  17169. *
  17170. */
  17171. QueryResults(): void;
  17172. /**
  17173. * Deletes an object by its identity
  17174. *
  17175. * @param id The identity to use to delete the object
  17176. */
  17177. remove(id: number): void;
  17178. /**
  17179. *
  17180. */
  17181. SortInformation(): void;
  17182. /**
  17183. * Starts a new transaction.
  17184. * Note that a store user might not call transaction() prior to using put,
  17185. * delete, etc. in which case these operations effectively could be thought of
  17186. * as "auto-commit" style actions.
  17187. *
  17188. */
  17189. transaction(): dojo.store.api.Store.Transaction;
  17190. /**
  17191. *
  17192. */
  17193. Transaction(): void;
  17194. }
  17195. namespace Store {
  17196. /**
  17197. * Permalink: http://dojotoolkit.org/api/1.9/dojo/store/api/Store.PutDirectives.html
  17198. *
  17199. * Directives passed to put() and add() handlers for guiding the update and
  17200. * creation of stored objects.
  17201. *
  17202. */
  17203. class PutDirectives {
  17204. constructor();
  17205. /**
  17206. * If the collection of objects in the store has a natural ordering,
  17207. * this indicates that the created or updated object should be placed before the
  17208. * object specified by the value of this property. A value of null indicates that the
  17209. * object should be last.
  17210. *
  17211. */
  17212. "before": Object;
  17213. /**
  17214. * Indicates the identity of the object if a new object is created
  17215. *
  17216. */
  17217. "id": string;
  17218. /**
  17219. * If this is provided as a boolean it indicates that the object should or should not
  17220. * overwrite an existing object. A value of true indicates that a new object
  17221. * should not be created, the operation should update an existing object. A
  17222. * value of false indicates that an existing object should not be updated, a new
  17223. * object should be created (which is the same as an add() operation). When
  17224. * this property is not provided, either an update or creation is acceptable.
  17225. *
  17226. */
  17227. "overwrite": boolean;
  17228. /**
  17229. * If the store is hierarchical (with single parenting) this property indicates the
  17230. * new parent of the created or updated object.
  17231. *
  17232. */
  17233. "parent": Object;
  17234. }
  17235. /**
  17236. * Permalink: http://dojotoolkit.org/api/1.9/dojo/store/api/Store.QueryOptions.html
  17237. *
  17238. * Optional object with additional parameters for query results.
  17239. *
  17240. */
  17241. class QueryOptions {
  17242. constructor();
  17243. /**
  17244. * The number of how many results should be returned.
  17245. *
  17246. */
  17247. "count": number;
  17248. /**
  17249. * A list of attributes to sort on, as well as direction
  17250. * For example:
  17251. *
  17252. * [{attribute:"price, descending: true}].
  17253. * If the sort parameter is omitted, then the natural order of the store may be
  17254. *
  17255. * applied if there is a natural order.
  17256. *
  17257. */
  17258. "sort": Object;
  17259. /**
  17260. * The first result to begin iteration on
  17261. *
  17262. */
  17263. "start": number;
  17264. }
  17265. /**
  17266. * Permalink: http://dojotoolkit.org/api/1.9/dojo/store/api/Store.QueryResults.html
  17267. *
  17268. * This is an object returned from query() calls that provides access to the results
  17269. * of a query. Queries may be executed asynchronously.
  17270. *
  17271. */
  17272. class QueryResults {
  17273. constructor();
  17274. /**
  17275. * This property should be included in if the query options included the "count"
  17276. * property limiting the result set. This property indicates the total number of objects
  17277. * matching the query (as if "start" and "count" weren't present). This may be
  17278. * a promise if the query is asynchronous.
  17279. *
  17280. */
  17281. "total": number;
  17282. /**
  17283. * Filters the query results, based on
  17284. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter.
  17285. * Note that this may executed asynchronously. The callback may be called
  17286. * after this function returns.
  17287. *
  17288. * @param callback Function that is called for each object in the query results
  17289. * @param thisObject The object to use as |this| in the callback.
  17290. */
  17291. filter(callback: any, thisObject: any): dojo.store.api.Store.QueryResults;
  17292. /**
  17293. * Iterates over the query results, based on
  17294. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach.
  17295. * Note that this may executed asynchronously. The callback may be called
  17296. * after this function returns.
  17297. *
  17298. * @param callback Function that is called for each object in the query results
  17299. * @param thisObject The object to use as |this| in the callback.
  17300. */
  17301. forEach(callback: any, thisObject: any): void;
  17302. /**
  17303. * Maps the query results, based on
  17304. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map.
  17305. * Note that this may executed asynchronously. The callback may be called
  17306. * after this function returns.
  17307. *
  17308. * @param callback Function that is called for each object in the query results
  17309. * @param thisObject The object to use as |this| in the callback.
  17310. */
  17311. map(callback: any, thisObject: any): dojo.store.api.Store.QueryResults;
  17312. /**
  17313. * This registers a callback for notification of when data is modified in the query results.
  17314. * This is an optional method, and is usually provided by dojo/store/Observable.
  17315. *
  17316. * @param listener The listener function is called when objects in the query results are modifiedto affect the query result. The listener function is called with the following arguments:listener(object, removedFrom, insertedInto);The object parameter indicates the object that was create, modified, or deleted.The removedFrom parameter indicates the index in the result array wherethe object used to be. If the value is -1, then the object is an addition tothis result set (due to a new object being created, or changed such that itis a part of the result set).The insertedInto parameter indicates the index in the result array wherethe object should be now. If the value is -1, then the object is a removalfrom this result set (due to an object being deleted, or changed such that itis not a part of the result set).
  17317. * @param includeAllUpdates This indicates whether or not to include object updates that do not affectthe inclusion or order of the object in the query results. By default this is false,which means that if any object is updated in such a way that it remainsin the result set and it's position in result sets is not affected, then the listenerwill not be fired.
  17318. */
  17319. observe(listener: Function, includeAllUpdates: any): void;
  17320. /**
  17321. * This registers a callback for when the query is complete, if the query is asynchronous.
  17322. * This is an optional method, and may not be present for synchronous queries.
  17323. *
  17324. * @param callback This is called when the query is completed successfully, and is passed a single argumentthat is an array representing the query results.
  17325. * @param errorHandler This is called if the query failed, and is passed a single argument that is the errorfor the failure.
  17326. */
  17327. then(callback: any, errorHandler: any): void;
  17328. }
  17329. /**
  17330. * Permalink: http://dojotoolkit.org/api/1.9/dojo/store/api/Store.SortInformation.html
  17331. *
  17332. * An object describing what attribute to sort on, and the direction of the sort.
  17333. *
  17334. */
  17335. class SortInformation {
  17336. constructor();
  17337. /**
  17338. * The name of the attribute to sort on.
  17339. *
  17340. */
  17341. "attribute": string;
  17342. /**
  17343. * The direction of the sort. Default is false.
  17344. *
  17345. */
  17346. "descending": boolean;
  17347. }
  17348. /**
  17349. * Permalink: http://dojotoolkit.org/api/1.9/dojo/store/api/Store.Transaction.html
  17350. *
  17351. * This is an object returned from transaction() calls that represents the current
  17352. * transaction.
  17353. *
  17354. */
  17355. class Transaction {
  17356. constructor();
  17357. /**
  17358. * Aborts the transaction. This may throw an error if it fails. Of if the operation
  17359. * is asynchronous, it may return a promise that represents the eventual success
  17360. * or failure of the abort.
  17361. *
  17362. * @param callback
  17363. * @param thisObject
  17364. */
  17365. abort(callback: any, thisObject: any): void;
  17366. /**
  17367. * Commits the transaction. This may throw an error if it fails. Of if the operation
  17368. * is asynchronous, it may return a promise that represents the eventual success
  17369. * or failure of the commit.
  17370. *
  17371. */
  17372. commit(): void;
  17373. }
  17374. }
  17375. }
  17376. namespace util {
  17377. /**
  17378. * Permalink: http://dojotoolkit.org/api/1.9/dojo/store/util/QueryResults.html
  17379. *
  17380. * A function that wraps the results of a store query with additional
  17381. * methods.
  17382. * QueryResults is a basic wrapper that allows for array-like iteration
  17383. * over any kind of returned data from a query. While the simplest store
  17384. * will return a plain array of data, other stores may return deferreds or
  17385. * promises; this wrapper makes sure that all results can be treated
  17386. * the same.
  17387. *
  17388. * Additional methods include forEach, filter and map.
  17389. *
  17390. * @param results The result set as an array, or a promise for an array.
  17391. */
  17392. interface QueryResults{(results: any[]): void}
  17393. /**
  17394. * Permalink: http://dojotoolkit.org/api/1.9/dojo/store/util/QueryResults.html
  17395. *
  17396. * A function that wraps the results of a store query with additional
  17397. * methods.
  17398. * QueryResults is a basic wrapper that allows for array-like iteration
  17399. * over any kind of returned data from a query. While the simplest store
  17400. * will return a plain array of data, other stores may return deferreds or
  17401. * promises; this wrapper makes sure that all results can be treated
  17402. * the same.
  17403. *
  17404. * Additional methods include forEach, filter and map.
  17405. *
  17406. * @param results The result set as an array, or a promise for an array.
  17407. */
  17408. interface QueryResults{(results: dojo.promise.Promise<any>): void}
  17409. /**
  17410. * Permalink: http://dojotoolkit.org/api/1.9/dojo/store/util/SimpleQueryEngine.html
  17411. *
  17412. * Simple query engine that matches using filter functions, named filter
  17413. * functions or objects by name-value on a query object hash
  17414. * The SimpleQueryEngine provides a way of getting a QueryResults through
  17415. * the use of a simple object hash as a filter. The hash will be used to
  17416. * match properties on data objects with the corresponding value given. In
  17417. * other words, only exact matches will be returned.
  17418. *
  17419. * This function can be used as a template for more complex query engines;
  17420. * for example, an engine can be created that accepts an object hash that
  17421. * contains filtering functions, or a string that gets evaluated, etc.
  17422. *
  17423. * When creating a new dojo.store, simply set the store's queryEngine
  17424. * field as a reference to this function.
  17425. *
  17426. * @param query An object hash with fields that may match fields of items in the store.Values in the hash will be compared by normal == operator, but regular expressionsor any object that provides a test() method are also supported and can beused to match strings by more complex expressions(and then the regex's or object's test() method will be used to match values).
  17427. * @param options OptionalAn object that contains optional information such as sort, start, and count.
  17428. */
  17429. interface SimpleQueryEngine{(query: Object, options?: dojo.store.api.Store.QueryOptions): void}
  17430. }
  17431. }
  17432. /**
  17433. * Permalink: http://dojotoolkit.org/api/1.9/dojo/date.html
  17434. *
  17435. * Date manipulation utilities
  17436. *
  17437. */
  17438. interface date {
  17439. /**
  17440. * Add to a Date in intervals of different size, from milliseconds to years
  17441. *
  17442. * @param date Date object to start with
  17443. * @param interval A string representing the interval. One of the following:"year", "month", "day", "hour", "minute", "second","millisecond", "quarter", "week", "weekday"
  17444. * @param amount How much to add to the date.
  17445. */
  17446. add(date: Date, interval: String, amount: number): any;
  17447. /**
  17448. * Compare two date objects by date, time, or both.
  17449. * Returns 0 if equal, positive if a > b, else negative.
  17450. *
  17451. * @param date1 Date object
  17452. * @param date2 OptionalDate object. If not specified, the current Date is used.
  17453. * @param portion OptionalA string indicating the "date" or "time" portion of a Date object.Compares both "date" and "time" by default. One of the following:"date", "time", "datetime"
  17454. */
  17455. compare(date1: Date, date2?: Date, portion?: String): number;
  17456. /**
  17457. * Get the difference in a specific unit of time (e.g., number of
  17458. * months, weeks, days, etc.) between two dates, rounded to the
  17459. * nearest integer.
  17460. *
  17461. * @param date1 Date object
  17462. * @param date2 OptionalDate object. If not specified, the current Date is used.
  17463. * @param interval OptionalA string representing the interval. One of the following:"year", "month", "day", "hour", "minute", "second","millisecond", "quarter", "week", "weekday"Defaults to "day".
  17464. */
  17465. difference(date1: Date, date2?: Date, interval?: String): any;
  17466. /**
  17467. * Returns the number of days in the month used by dateObject
  17468. *
  17469. * @param dateObject
  17470. */
  17471. getDaysInMonth(dateObject: Date): number;
  17472. /**
  17473. * Get the user's time zone as provided by the browser
  17474. * Try to get time zone info from toString or toLocaleString method of
  17475. * the Date object -- UTC offset is not a time zone. See
  17476. * http://www.twinsun.com/tz/tz-link.htm Note: results may be
  17477. * inconsistent across browsers.
  17478. *
  17479. * @param dateObject Needed because the timezone may vary with time (daylight savings)
  17480. */
  17481. getTimezoneName(dateObject: Date): any;
  17482. /**
  17483. * Determines if the year of the dateObject is a leap year
  17484. * Leap years are years with an additional day YYYY-02-29, where the
  17485. * year number is a multiple of four with the following exception: If
  17486. * a year is a multiple of 100, then it is only a leap year if it is
  17487. * also a multiple of 400. For example, 1900 was not a leap year, but
  17488. * 2000 is one.
  17489. *
  17490. * @param dateObject
  17491. */
  17492. isLeapYear(dateObject: Date): boolean;
  17493. }
  17494. namespace date {
  17495. /**
  17496. * Permalink: http://dojotoolkit.org/api/1.9/dojo/date/stamp.html
  17497. *
  17498. * TODOC
  17499. *
  17500. */
  17501. interface stamp {
  17502. /**
  17503. * Returns a Date object given a string formatted according to a subset of the ISO-8601 standard.
  17504. * Accepts a string formatted according to a profile of ISO8601 as defined by
  17505. * RFC3339, except that partial input is allowed.
  17506. * Can also process dates as specified by the W3C
  17507. * The following combinations are valid:
  17508. *
  17509. * dates only
  17510. * yyyy
  17511. * yyyy-MM
  17512. * yyyy-MM-dd
  17513. *
  17514. * times only, with an optional time zone appended
  17515. * THH:mm
  17516. * THH:mm:ss
  17517. * THH:mm:ss.SSS
  17518. *
  17519. * and "datetimes" which could be any combination of the above
  17520. * timezones may be specified as Z (for UTC) or +/- followed by a time expression HH:mm
  17521. * Assumes the local time zone if not specified. Does not validate. Improperly formatted
  17522. * input may return null. Arguments which are out of bounds will be handled
  17523. * by the Date constructor (e.g. January 32nd typically gets resolved to February 1st)
  17524. * Only years between 100 and 9999 are supported.
  17525. *
  17526. * @param formattedString A string such as 2005-06-30T08:05:00-07:00 or 2005-06-30 or T08:05:00
  17527. * @param defaultTime OptionalUsed for defaults for fields omitted in the formattedString.Uses 1970-01-01T00:00:00.0Z by default.
  17528. */
  17529. fromISOString(formattedString: String, defaultTime?: number): any;
  17530. /**
  17531. * Format a Date object as a string according a subset of the ISO-8601 standard
  17532. * When options.selector is omitted, output follows RFC3339
  17533. * The local time zone is included as an offset from GMT, except when selector=='time' (time without a date)
  17534. * Does not check bounds. Only years between 100 and 9999 are supported.
  17535. *
  17536. * @param dateObject A Date object
  17537. * @param options OptionalAn object with the following properties:selector (String): "date" or "time" for partial formatting of the Date object.Both date and time will be formatted by default.zulu (Boolean): if true, UTC/GMT is used for a timezonemilliseconds (Boolean): if true, output milliseconds
  17538. */
  17539. toISOString(dateObject: Date, options?: Object): any;
  17540. }
  17541. /**
  17542. * Permalink: http://dojotoolkit.org/api/1.9/dojo/date/locale.html
  17543. *
  17544. * This modules defines dojo/date/locale, localization methods for Date.
  17545. *
  17546. */
  17547. interface locale {
  17548. /**
  17549. * Add a reference to a bundle containing localized custom formats to be
  17550. * used by date/time formatting and parsing routines.
  17551. * The user may add custom localized formats where the bundle has properties following the
  17552. * same naming convention used by dojo.cldr: dateFormat-xxxx / timeFormat-xxxx
  17553. * The pattern string should match the format used by the CLDR.
  17554. * See dojo/date/locale.format() for details.
  17555. * The resources must be loaded by dojo.requireLocalization() prior to use
  17556. *
  17557. * @param packageName
  17558. * @param bundleName
  17559. */
  17560. addCustomFormats(packageName: String, bundleName: String): void;
  17561. /**
  17562. * Format a Date object as a String, using locale-specific settings.
  17563. * Create a string from a Date object using a known localized pattern.
  17564. * By default, this method formats both date and time from dateObject.
  17565. * Formatting patterns are chosen appropriate to the locale. Different
  17566. * formatting lengths may be chosen, with "full" used by default.
  17567. * Custom patterns may be used or registered with translations using
  17568. * the dojo/date/locale.addCustomFormats() method.
  17569. * Formatting patterns are implemented using the syntax described at
  17570. * unicode.org
  17571. *
  17572. * @param dateObject the date and/or time to be formatted. If a time only is formatted,the values in the year, month, and day fields are irrelevant. Theopposite is true when formatting only dates.
  17573. * @param options OptionalAn object with the following properties:selector (String): choice of 'time','date' (default: date and time)formatLength (String): choice of long, short, medium or full (plus any custom additions). Defaults to 'short'datePattern (String): override pattern with this stringtimePattern (String): override pattern with this stringam (String): override strings for am in timespm (String): override strings for pm in timeslocale (String): override the locale used to determine formatting rulesfullYear (Boolean): (format only) use 4 digit years whenever 2 digit years are called forstrict (Boolean): (parse only) strict parsing, off by default
  17574. */
  17575. format(dateObject: Date, options?: Object): any;
  17576. /**
  17577. * Used to get localized strings from dojo.cldr for day or month names.
  17578. *
  17579. * @param item 'months' || 'days'
  17580. * @param type 'wide' || 'abbr' || 'narrow' (e.g. "Monday", "Mon", or "M" respectively, in English)
  17581. * @param context Optional'standAlone' || 'format' (default)
  17582. * @param locale Optionaloverride locale used to find the names
  17583. */
  17584. getNames(item: String, type: String, context?: String, locale?: String): any;
  17585. /**
  17586. * Determines if the date falls on a weekend, according to local custom.
  17587. *
  17588. * @param dateObject Optional
  17589. * @param locale Optional
  17590. */
  17591. isWeekend(dateObject?: Date, locale?: String): boolean;
  17592. /**
  17593. * Convert a properly formatted string to a primitive Date object,
  17594. * using locale-specific settings.
  17595. * Create a Date object from a string using a known localized pattern.
  17596. * By default, this method parses looking for both date and time in the string.
  17597. * Formatting patterns are chosen appropriate to the locale. Different
  17598. * formatting lengths may be chosen, with "full" used by default.
  17599. * Custom patterns may be used or registered with translations using
  17600. * the dojo/date/locale.addCustomFormats() method.
  17601. *
  17602. * Formatting patterns are implemented using the syntax described at
  17603. * unicode.org
  17604. * When two digit years are used, a century is chosen according to a sliding
  17605. * window of 80 years before and 20 years after present year, for both yy and yyyy patterns.
  17606. * year < 100CE requires strict mode.
  17607. *
  17608. * @param value A string representation of a date
  17609. * @param options OptionalAn object with the following properties:selector (String): choice of 'time','date' (default: date and time)formatLength (String): choice of long, short, medium or full (plus any custom additions). Defaults to 'short'datePattern (String): override pattern with this stringtimePattern (String): override pattern with this stringam (String): override strings for am in timespm (String): override strings for pm in timeslocale (String): override the locale used to determine formatting rulesfullYear (Boolean): (format only) use 4 digit years whenever 2 digit years are called forstrict (Boolean): (parse only) strict parsing, off by default
  17610. */
  17611. parse(value: String, options?: Object): any;
  17612. /**
  17613. * Builds the regular needed to parse a localized date
  17614. *
  17615. * @param options OptionalAn object with the following properties:selector (String): choice of 'time','date' (default: date and time)formatLength (String): choice of long, short, medium or full (plus any custom additions). Defaults to 'short'datePattern (String): override pattern with this stringtimePattern (String): override pattern with this stringam (String): override strings for am in timespm (String): override strings for pm in timeslocale (String): override the locale used to determine formatting rulesfullYear (Boolean): (format only) use 4 digit years whenever 2 digit years are called forstrict (Boolean): (parse only) strict parsing, off by default
  17616. */
  17617. regexp(options?: Object): any;
  17618. }
  17619. namespace locale {
  17620. /**
  17621. * Permalink: http://dojotoolkit.org/api/1.9/dojo/date/locale.__FormatOptions.html
  17622. *
  17623. *
  17624. */
  17625. class __FormatOptions {
  17626. constructor();
  17627. /**
  17628. * override strings for am in times
  17629. *
  17630. */
  17631. "am": string;
  17632. /**
  17633. * override pattern with this string
  17634. *
  17635. */
  17636. "datePattern": string;
  17637. /**
  17638. * choice of long, short, medium or full (plus any custom additions). Defaults to 'short'
  17639. *
  17640. */
  17641. "formatLength": string;
  17642. /**
  17643. * (format only) use 4 digit years whenever 2 digit years are called for
  17644. *
  17645. */
  17646. "fullYear": boolean;
  17647. /**
  17648. * override the locale used to determine formatting rules
  17649. *
  17650. */
  17651. "locale": string;
  17652. /**
  17653. * override strings for pm in times
  17654. *
  17655. */
  17656. "pm": string;
  17657. /**
  17658. * choice of 'time','date' (default: date and time)
  17659. *
  17660. */
  17661. "selector": string;
  17662. /**
  17663. * (parse only) strict parsing, off by default
  17664. *
  17665. */
  17666. "strict": boolean;
  17667. /**
  17668. * override pattern with this string
  17669. *
  17670. */
  17671. "timePattern": string;
  17672. }
  17673. }
  17674. }
  17675. /**
  17676. * Permalink: http://dojotoolkit.org/api/1.9/dojo/fx.html
  17677. *
  17678. * Effects library on top of Base animations
  17679. *
  17680. */
  17681. interface fx {
  17682. /**
  17683. * Collection of easing functions to use beyond the default
  17684. * dojo._defaultEasing function.
  17685. *
  17686. */
  17687. easing: Object;
  17688. /**
  17689. * Chain a list of dojo/_base/fx.Animations to run in sequence
  17690. * Return a dojo/_base/fx.Animation which will play all passed
  17691. * dojo/_base/fx.Animation instances in sequence, firing its own
  17692. * synthesized events simulating a single animation. (eg:
  17693. * onEnd of this animation means the end of the chain,
  17694. * not the individual animations within)
  17695. *
  17696. * @param animations
  17697. */
  17698. chain(animations: dojo._base.fx.Animation[]): any;
  17699. /**
  17700. * Combine a list of dojo/_base/fx.Animations to run in parallel
  17701. * Combine an array of dojo/_base/fx.Animations to run in parallel,
  17702. * providing a new dojo/_base/fx.Animation instance encompasing each
  17703. * animation, firing standard animation events.
  17704. *
  17705. * @param animations
  17706. */
  17707. combine(animations: dojo._base.fx.Animation[]): any;
  17708. /**
  17709. * Slide a node to a new top/left position
  17710. * Returns an animation that will slide "node"
  17711. * defined in args Object from its current position to
  17712. * the position defined by (args.left, args.top).
  17713. *
  17714. * @param args A hash-map of standard dojo/_base/fx.Animation constructor properties(such as easing: node: duration: and so on). Special args membersare top and left, which indicate the new position to slide to.
  17715. */
  17716. slideTo(args: Object): any;
  17717. /**
  17718. *
  17719. */
  17720. Toggler(): void;
  17721. /**
  17722. * Expand a node to it's natural height.
  17723. * Returns an animation that will expand the
  17724. * node defined in 'args' object from it's current height to
  17725. * it's natural height (with no scrollbar).
  17726. * Node must have no margin/border/padding.
  17727. *
  17728. * @param args A hash-map of standard dojo/_base/fx.Animation constructor properties(such as easing: node: duration: and so on)
  17729. */
  17730. wipeIn(args: Object): any;
  17731. /**
  17732. * Shrink a node to nothing and hide it.
  17733. * Returns an animation that will shrink node defined in "args"
  17734. * from it's current height to 1px, and then hide it.
  17735. *
  17736. * @param args A hash-map of standard dojo/_base/fx.Animation constructor properties(such as easing: node: duration: and so on)
  17737. */
  17738. wipeOut(args: Object): any;
  17739. }
  17740. namespace fx {
  17741. /**
  17742. * Permalink: http://dojotoolkit.org/api/1.9/dojo/fx/Toggler.html
  17743. *
  17744. * A simple dojo.Animation toggler API.
  17745. * class constructor for an animation toggler. It accepts a packed
  17746. * set of arguments about what type of animation to use in each
  17747. * direction, duration, etc. All available members are mixed into
  17748. * these animations from the constructor (for example, node,
  17749. * showDuration, hideDuration).
  17750. *
  17751. * @param args
  17752. */
  17753. class Toggler {
  17754. constructor(args: any);
  17755. /**
  17756. * Time in milliseconds to run the hide Animation
  17757. *
  17758. */
  17759. "hideDuration": number;
  17760. /**
  17761. * the node to target for the showing and hiding animations
  17762. *
  17763. */
  17764. "node": HTMLElement;
  17765. /**
  17766. * Time in milliseconds to run the show Animation
  17767. *
  17768. */
  17769. "showDuration": number;
  17770. /**
  17771. * Toggle the node to hidden
  17772. *
  17773. * @param delay OptionalAmount of time to stall playing the hide animation
  17774. */
  17775. hide(delay?: number): any;
  17776. /**
  17777. * The function that returns the dojo.Animation to hide the node
  17778. *
  17779. * @param args An object with the following properties:node (DOMNode|String): The node referenced in the animationduration (Integer, optional): Duration of the animation in milliseconds.easing (Function, optional): An easing function.
  17780. */
  17781. hideFunc(args: Object): any;
  17782. /**
  17783. * Toggle the node to showing
  17784. *
  17785. * @param delay OptionalAmount of time to stall playing the show animation
  17786. */
  17787. show(delay?: number): any;
  17788. /**
  17789. * The function that returns the dojo.Animation to show the node
  17790. *
  17791. * @param args An object with the following properties:node (DOMNode|String): The node referenced in the animationduration (Integer, optional): Duration of the animation in milliseconds.easing (Function, optional): An easing function.
  17792. */
  17793. showFunc(args: Object): any;
  17794. }
  17795. /**
  17796. * Permalink: http://dojotoolkit.org/api/1.9/dojo/fx/easing.html
  17797. *
  17798. * Collection of easing functions to use beyond the default
  17799. * dojo._defaultEasing function.
  17800. * Easing functions are used to manipulate the iteration through
  17801. * an dojo.Animations _Line. _Line being the properties of an Animation,
  17802. * and the easing function progresses through that Line determining
  17803. * how quickly (or slowly) it should go. Or more accurately: modify
  17804. * the value of the _Line based on the percentage of animation completed.
  17805. *
  17806. * All functions follow a simple naming convention of "ease type" + "when".
  17807. * If the name of the function ends in Out, the easing described appears
  17808. * towards the end of the animation. "In" means during the beginning,
  17809. * and InOut means both ranges of the Animation will applied, both
  17810. * beginning and end.
  17811. *
  17812. * One does not call the easing function directly, it must be passed to
  17813. * the easing property of an animation.
  17814. *
  17815. */
  17816. interface easing {
  17817. /**
  17818. * An easing function that starts away from the target,
  17819. * and quickly accelerates towards the end value.
  17820. *
  17821. * Use caution when the easing will cause values to become
  17822. * negative as some properties cannot be set to negative values.
  17823. *
  17824. * @param n Optional
  17825. */
  17826. backIn(n?: number): number;
  17827. /**
  17828. * An easing function combining the effects of backIn and backOut
  17829. * An easing function combining the effects of backIn and backOut.
  17830. * Use caution when the easing will cause values to become negative
  17831. * as some properties cannot be set to negative values.
  17832. *
  17833. * @param n Optional
  17834. */
  17835. backInOut(n?: number): number;
  17836. /**
  17837. * An easing function that pops past the range briefly, and slowly comes back.
  17838. * An easing function that pops past the range briefly, and slowly comes back.
  17839. *
  17840. * Use caution when the easing will cause values to become negative as some
  17841. * properties cannot be set to negative values.
  17842. *
  17843. * @param n Optional
  17844. */
  17845. backOut(n?: number): number;
  17846. /**
  17847. * An easing function that 'bounces' near the beginning of an Animation
  17848. *
  17849. * @param n Optional
  17850. */
  17851. bounceIn(n?: number): number;
  17852. /**
  17853. * An easing function that 'bounces' at the beginning and end of the Animation
  17854. *
  17855. * @param n Optional
  17856. */
  17857. bounceInOut(n?: number): number;
  17858. /**
  17859. * An easing function that 'bounces' near the end of an Animation
  17860. *
  17861. * @param n Optional
  17862. */
  17863. bounceOut(n?: number): number;
  17864. /**
  17865. *
  17866. * @param n Optional
  17867. */
  17868. circIn(n?: number): number;
  17869. /**
  17870. *
  17871. * @param n Optional
  17872. */
  17873. circInOut(n?: number): number;
  17874. /**
  17875. *
  17876. * @param n Optional
  17877. */
  17878. circOut(n?: number): any;
  17879. /**
  17880. *
  17881. * @param n Optional
  17882. */
  17883. cubicIn(n?: number): any;
  17884. /**
  17885. *
  17886. * @param n Optional
  17887. */
  17888. cubicInOut(n?: number): number;
  17889. /**
  17890. *
  17891. * @param n Optional
  17892. */
  17893. cubicOut(n?: number): number;
  17894. /**
  17895. * An easing function the elastically snaps from the start value
  17896. * An easing function the elastically snaps from the start value
  17897. *
  17898. * Use caution when the elasticity will cause values to become negative
  17899. * as some properties cannot be set to negative values.
  17900. *
  17901. * @param n Optional
  17902. */
  17903. elasticIn(n?: number): number;
  17904. /**
  17905. * An easing function that elasticly snaps around the value, near
  17906. * the beginning and end of the Animation.
  17907. * An easing function that elasticly snaps around the value, near
  17908. * the beginning and end of the Animation.
  17909. *
  17910. * Use caution when the elasticity will cause values to become
  17911. * negative as some properties cannot be set to negative values.
  17912. *
  17913. * @param n Optional
  17914. */
  17915. elasticInOut(n?: number): number;
  17916. /**
  17917. * An easing function that elasticly snaps around the target value,
  17918. * near the end of the Animation
  17919. * An easing function that elasticly snaps around the target value,
  17920. * near the end of the Animation
  17921. *
  17922. * Use caution when the elasticity will cause values to become
  17923. * negative as some properties cannot be set to negative values.
  17924. *
  17925. * @param n Optional
  17926. */
  17927. elasticOut(n?: number): number;
  17928. /**
  17929. *
  17930. * @param n Optional
  17931. */
  17932. expoIn(n?: number): any;
  17933. /**
  17934. *
  17935. * @param n Optional
  17936. */
  17937. expoInOut(n?: number): number;
  17938. /**
  17939. *
  17940. * @param n Optional
  17941. */
  17942. expoOut(n?: number): number;
  17943. /**
  17944. * A linear easing function
  17945. *
  17946. * @param n Optional
  17947. */
  17948. linear(n?: number): number;
  17949. /**
  17950. *
  17951. * @param n Optional
  17952. */
  17953. quadIn(n?: number): any;
  17954. /**
  17955. *
  17956. * @param n Optional
  17957. */
  17958. quadInOut(n?: number): number;
  17959. /**
  17960. *
  17961. * @param n Optional
  17962. */
  17963. quadOut(n?: number): number;
  17964. /**
  17965. *
  17966. * @param n Optional
  17967. */
  17968. quartIn(n?: number): any;
  17969. /**
  17970. *
  17971. * @param n Optional
  17972. */
  17973. quartInOut(n?: number): number;
  17974. /**
  17975. *
  17976. * @param n Optional
  17977. */
  17978. quartOut(n?: number): number;
  17979. /**
  17980. *
  17981. * @param n Optional
  17982. */
  17983. quintIn(n?: number): any;
  17984. /**
  17985. *
  17986. * @param n Optional
  17987. */
  17988. quintInOut(n?: number): number;
  17989. /**
  17990. *
  17991. * @param n Optional
  17992. */
  17993. quintOut(n?: number): number;
  17994. /**
  17995. *
  17996. * @param n Optional
  17997. */
  17998. sineIn(n?: number): number;
  17999. /**
  18000. *
  18001. * @param n Optional
  18002. */
  18003. sineInOut(n?: number): number;
  18004. /**
  18005. *
  18006. * @param n Optional
  18007. */
  18008. sineOut(n?: number): any;
  18009. }
  18010. }
  18011. /**
  18012. * Permalink: http://dojotoolkit.org/api/1.9/dojo/router.html
  18013. *
  18014. * A singleton-style instance of dojo/router/RouterBase. See that
  18015. * module for specifics.
  18016. *
  18017. */
  18018. interface router extends dojo.router.RouterBase {
  18019. }
  18020. namespace router {
  18021. /**
  18022. * Permalink: http://dojotoolkit.org/api/1.9/dojo/router/RouterBase.html
  18023. *
  18024. * A module that allows one to easily map hash-based structures into
  18025. * callbacks. The router module is a singleton, offering one central
  18026. * point for all registrations of this type.
  18027. *
  18028. * @param kwArgs
  18029. */
  18030. class RouterBase {
  18031. constructor(kwArgs: any);
  18032. /**
  18033. *
  18034. */
  18035. "globMatch": RegExp;
  18036. /**
  18037. *
  18038. */
  18039. "globReplacement": string;
  18040. /**
  18041. *
  18042. */
  18043. "idMatch": RegExp;
  18044. /**
  18045. *
  18046. */
  18047. "idReplacement": string;
  18048. /**
  18049. *
  18050. */
  18051. destroy(): void;
  18052. /**
  18053. * A simple pass-through to make changing the hash easy,
  18054. * without having to require dojo/hash directly. It also
  18055. * synchronously fires off any routes that match.
  18056. *
  18057. * @param path
  18058. * @param replace
  18059. */
  18060. go(path: string, replace?: boolean): any;
  18061. /**
  18062. * Registers a route to a handling callback
  18063. * Given either a string or a regular expression, the router
  18064. * will monitor the page's hash and respond to changes that
  18065. * match the string or regex as provided.
  18066. *
  18067. * When provided a regex for the route:
  18068. *
  18069. * Matching is performed, and the resulting capture groups
  18070. * are passed through to the callback as an array.
  18071. * When provided a string for the route:
  18072. *
  18073. * The string is parsed as a URL-like structure, like
  18074. * "/foo/bar"
  18075. * If any portions of that URL are prefixed with a colon
  18076. * (:), they will be parsed out and provided to the callback
  18077. * as properties of an object.
  18078. * If the last piece of the URL-like structure is prefixed
  18079. * with a star (*) instead of a colon, it will be replaced in
  18080. * the resulting regex with a greedy (.+) match and
  18081. * anything remaining on the hash will be provided as a
  18082. * property on the object passed into the callback. Think of
  18083. * it like a basic means of globbing the end of a route.
  18084. *
  18085. * @param route A string or regular expression which will be used whenmonitoring hash changes.
  18086. * @param callback When the hash matches a pattern as described in the route,this callback will be executed. It will receive an eventobject that will have several properties:params: Either an array or object of properties pulledfrom the new hasholdPath: The hash in its state before the changenewPath: The new hash being shifted topreventDefault: A method that will stop hash changesfrom being actually applied to the active hash. This onlyworks if the hash change was initiated using router.go,as changes initiated more directly to the location.hashproperty will already be in placestopImmediatePropagation: When called, will stop anyfurther bound callbacks on this particular route frombeing executed. If two distinct routes are bound that aredifferent, but both happen to match the current hash insome way, this will not keep other routes from receivingnotice of the change.
  18087. */
  18088. register(route: String, callback: Function): any;
  18089. /**
  18090. * Registers a route to a handling callback
  18091. * Given either a string or a regular expression, the router
  18092. * will monitor the page's hash and respond to changes that
  18093. * match the string or regex as provided.
  18094. *
  18095. * When provided a regex for the route:
  18096. *
  18097. * Matching is performed, and the resulting capture groups
  18098. * are passed through to the callback as an array.
  18099. * When provided a string for the route:
  18100. *
  18101. * The string is parsed as a URL-like structure, like
  18102. * "/foo/bar"
  18103. * If any portions of that URL are prefixed with a colon
  18104. * (:), they will be parsed out and provided to the callback
  18105. * as properties of an object.
  18106. * If the last piece of the URL-like structure is prefixed
  18107. * with a star (*) instead of a colon, it will be replaced in
  18108. * the resulting regex with a greedy (.+) match and
  18109. * anything remaining on the hash will be provided as a
  18110. * property on the object passed into the callback. Think of
  18111. * it like a basic means of globbing the end of a route.
  18112. *
  18113. * @param route A string or regular expression which will be used whenmonitoring hash changes.
  18114. * @param callback When the hash matches a pattern as described in the route,this callback will be executed. It will receive an eventobject that will have several properties:params: Either an array or object of properties pulledfrom the new hasholdPath: The hash in its state before the changenewPath: The new hash being shifted topreventDefault: A method that will stop hash changesfrom being actually applied to the active hash. This onlyworks if the hash change was initiated using router.go,as changes initiated more directly to the location.hashproperty will already be in placestopImmediatePropagation: When called, will stop anyfurther bound callbacks on this particular route frombeing executed. If two distinct routes are bound that aredifferent, but both happen to match the current hash insome way, this will not keep other routes from receivingnotice of the change.
  18115. */
  18116. register(route: RegExp, callback: Function): any;
  18117. /**
  18118. * Registers a route to a handling callback, except before
  18119. * any previously registered callbacks
  18120. * Much like the register method, registerBefore allows
  18121. * us to register route callbacks to happen before any
  18122. * previously registered callbacks. See the documentation for
  18123. * register for more details and examples.
  18124. *
  18125. * @param route
  18126. * @param callback
  18127. */
  18128. registerBefore(route: String, callback: Function): any;
  18129. /**
  18130. * Registers a route to a handling callback, except before
  18131. * any previously registered callbacks
  18132. * Much like the register method, registerBefore allows
  18133. * us to register route callbacks to happen before any
  18134. * previously registered callbacks. See the documentation for
  18135. * register for more details and examples.
  18136. *
  18137. * @param route
  18138. * @param callback
  18139. */
  18140. registerBefore(route: RegExp, callback: Function): any;
  18141. /**
  18142. * This method must be called to activate the router. Until
  18143. * startup is called, no hash changes will trigger route
  18144. * callbacks.
  18145. *
  18146. * @param defaultPath
  18147. */
  18148. startup(defaultPath: any): void;
  18149. }
  18150. }
  18151. /**
  18152. * Permalink: http://dojotoolkit.org/api/1.9/dojo/aspect.html
  18153. *
  18154. * provides aspect oriented programming functionality, allowing for
  18155. * one to add before, around, or after advice on existing methods.
  18156. *
  18157. */
  18158. interface aspect {
  18159. /**
  18160. * The "after" export of the aspect module is a function that can be used to attach
  18161. * "after" advice to a method. This function will be executed after the original method
  18162. * is executed. By default the function will be called with a single argument, the return
  18163. * value of the original method, or the the return value of the last executed advice (if a previous one exists).
  18164. * The fourth (optional) argument can be set to true to so the function receives the original
  18165. * arguments (from when the original method was called) rather than the return value.
  18166. * If there are multiple "after" advisors, they are executed in the order they were registered.
  18167. *
  18168. * @param target This is the target object
  18169. * @param methodName This is the name of the method to attach to.
  18170. * @param advice This is function to be called after the original method
  18171. * @param receiveArguments OptionalIf this is set to true, the advice function receives the original arguments (from when the original mehtodwas called) rather than the return value of the original/previous method.
  18172. */
  18173. after(target: Object, methodName: String, advice: Function, receiveArguments?: boolean): any;
  18174. /**
  18175. * The "around" export of the aspect module is a function that can be used to attach
  18176. * "around" advice to a method. The advisor function is immediately executed when
  18177. * the around() is called, is passed a single argument that is a function that can be
  18178. * called to continue execution of the original method (or the next around advisor).
  18179. * The advisor function should return a function, and this function will be called whenever
  18180. * the method is called. It will be called with the arguments used to call the method.
  18181. * Whatever this function returns will be returned as the result of the method call (unless after advise changes it).
  18182. *
  18183. * @param target This is the target object
  18184. * @param methodName This is the name of the method to attach to.
  18185. * @param advice This is function to be called around the original method
  18186. */
  18187. around(target: Object, methodName: String, advice: Function): void;
  18188. /**
  18189. * The "before" export of the aspect module is a function that can be used to attach
  18190. * "before" advice to a method. This function will be executed before the original method
  18191. * is executed. This function will be called with the arguments used to call the method.
  18192. * This function may optionally return an array as the new arguments to use to call
  18193. * the original method (or the previous, next-to-execute before advice, if one exists).
  18194. * If the before method doesn't return anything (returns undefined) the original arguments
  18195. * will be preserved.
  18196. * If there are multiple "before" advisors, they are executed in the reverse order they were registered.
  18197. *
  18198. * @param target This is the target object
  18199. * @param methodName This is the name of the method to attach to.
  18200. * @param advice This is function to be called before the original method
  18201. */
  18202. before(target: Object, methodName: String, advice: Function): void;
  18203. }
  18204. /**
  18205. * Permalink: http://dojotoolkit.org/api/1.9/dojo/back.html
  18206. *
  18207. * Browser history management resources
  18208. *
  18209. */
  18210. interface back {
  18211. /**
  18212. * adds a state object (args) to the history list.
  18213. * To support getting back button notifications, the object
  18214. * argument should implement a function called either "back",
  18215. * "backButton", or "handle". The string "back" will be passed as
  18216. * the first and only argument to this callback.
  18217. *
  18218. * To support getting forward button notifications, the object
  18219. * argument should implement a function called either "forward",
  18220. * "forwardButton", or "handle". The string "forward" will be
  18221. * passed as the first and only argument to this callback.
  18222. *
  18223. * If you want the browser location string to change, define "changeUrl" on the object. If the
  18224. * value of "changeUrl" is true, then a unique number will be appended to the URL as a fragment
  18225. * identifier (http://some.domain.com/path#uniquenumber). If it is any other value that does
  18226. * not evaluate to false, that value will be used as the fragment identifier. For example,
  18227. * if changeUrl: 'page1', then the URL will look like: http://some.domain.com/path#page1
  18228. *
  18229. * There are problems with using dojo/back with semantically-named fragment identifiers
  18230. * ("hash values" on an URL). In most browsers it will be hard for dojo/back to know
  18231. * distinguish a back from a forward event in those cases. For back/forward support to
  18232. * work best, the fragment ID should always be a unique value (something using new Date().getTime()
  18233. * for example). If you want to detect hash changes using semantic fragment IDs, then
  18234. * consider using dojo/hash instead (in Dojo 1.4+).
  18235. *
  18236. * @param args The state object that will be added to the history list.
  18237. */
  18238. addToHistory(args: Object): void;
  18239. /**
  18240. *
  18241. */
  18242. getHash(): any;
  18243. /**
  18244. * private method. Do not call this directly.
  18245. *
  18246. */
  18247. goBack(): void;
  18248. /**
  18249. * private method. Do not call this directly.
  18250. *
  18251. */
  18252. goForward(): void;
  18253. /**
  18254. * Initializes the undo stack. This must be called from a
  18255. * block that lives inside the <code>&lt;body&gt;</code> tag to prevent bugs on IE.
  18256. * </p>
  18257. * <p>Only call this method before the page&#39;s DOM is finished loading. Otherwise
  18258. * it will not work. Be careful with xdomain loading or djConfig.debugAtAllCosts scenarios,
  18259. * in order for this method to work, dojo/back will need to be part of a build layer.</p>
  18260. * </div>
  18261. * </div>
  18262. * <div class="jsdoc-field">
  18263. * <div class="jsdoc-title"><a name="1_9dojo_back_setHash"></a><span class="functionIcon">setHash</span><span class="parameters">(h)</span>
  18264. * </div>
  18265. * <div class="jsdoc-inheritance">Defined by <a href="/api/1.9/dojo/back" class="jsdoc-link">dojo/back</a>
  18266. * </div>
  18267. * <div class="jsdoc-full-summary"></div>
  18268. * <table class="jsdoc-parameters">
  18269. * <tr>
  18270. * <th>Parameter</th>
  18271. * <th>Type</th>
  18272. * <th>Description</th>
  18273. * </tr>
  18274. * <tr>
  18275. * <td class="jsdoc-param-name">h</td>
  18276. * <td class="jsdoc-param-type">undefined</td>
  18277. * <td class="jsdoc-param-description">
  18278. * </td>
  18279. * </tr>
  18280. * </table>
  18281. * </div>
  18282. * <div class="jsdoc-field">
  18283. * <div class="jsdoc-title"><a name="1_9dojo_back_setInitialState"></a><span class="functionIcon">setInitialState</span><span class="parameters">(args)</span>
  18284. * </div>
  18285. * <div class="jsdoc-inheritance">Defined by <a href="/api/1.9/dojo/back" class="jsdoc-link">dojo/back</a>
  18286. * </div>
  18287. * <div class="jsdoc-full-summary"><p>Sets the state object and back callback for the very first page
  18288. * that is loaded.
  18289. * </p>
  18290. * <p>It is recommended that you call this method as part of an event
  18291. * listener that is registered via dojo/ready.</p>
  18292. * </div>
  18293. * <table class="jsdoc-parameters">
  18294. * <tr>
  18295. * <th>Parameter</th>
  18296. * <th>Type</th>
  18297. * <th>Description</th>
  18298. * </tr>
  18299. * <tr>
  18300. * <td class="jsdoc-param-name">args</td>
  18301. * <td class="jsdoc-param-type">Object</td>
  18302. * <td class="jsdoc-param-description"><p>See the addToHistory() function for the list of valid args properties.</p>
  18303. *
  18304. * </td>
  18305. * </tr>
  18306. * </table>
  18307. * </div>
  18308. * </div>
  18309. * </div>
  18310. * </div><a href="https://docs.google.com/spreadsheet/viewform?hl=en_US&amp;formkey=dFlDcHEyaHMwbEd4MFBObkNrX0E1MFE6MQ&amp;entry_0=/api/1.9/dojo/back" class="feedback">Error in the documentation? Can't find what you are looking for? Let us know!</a>
  18311. */
  18312. init(): void;
  18313. }
  18314. /**
  18315. * Permalink: http://dojotoolkit.org/api/1.9/dojo/colors.html
  18316. *
  18317. * Color utilities, extending Base dojo.Color
  18318. *
  18319. */
  18320. interface colors {
  18321. /**
  18322. *
  18323. */
  18324. ThreeD: Object;
  18325. }
  18326. /**
  18327. * Permalink: http://dojotoolkit.org/api/1.9/dojo/currency.html
  18328. *
  18329. * localized formatting and parsing routines for currencies
  18330. * extends dojo.number to provide culturally-appropriate formatting of values
  18331. * in various world currencies, including use of a currency symbol. The currencies are specified
  18332. * by a three-letter international symbol in all uppercase, and support for the currencies is
  18333. * provided by the data in dojo.cldr. The scripts generating dojo.cldr specify which
  18334. * currency support is included. A fixed number of decimal places is determined based
  18335. * on the currency type and is not determined by the 'pattern' argument. The fractional
  18336. * portion is optional, by default, and variable length decimals are not supported.
  18337. *
  18338. */
  18339. interface currency {
  18340. /**
  18341. * Format a Number as a currency, using locale-specific settings
  18342. * Create a string from a Number using a known, localized pattern.
  18343. * Formatting patterns
  18344. * appropriate to the locale are chosen from the CLDR
  18345. * as well as the appropriate symbols and delimiters and number of decimal places.
  18346. *
  18347. * @param value the number to be formatted.
  18348. * @param options Optional
  18349. */
  18350. format(value: number, options?: dojo.currency.__FormatOptions): any;
  18351. /**
  18352. *
  18353. * @param expression
  18354. * @param options OptionalAn object with the following properties:type (String, optional): Should not be set. Value is assumed to be currency.currency (String, optional): an ISO4217 currency code, a three letter sequence like "USD".For use with dojo.currency only.symbol (String, optional): localized currency symbol. The default will be looked up in table of supported currencies in dojo.cldrA ISO4217 currency code will be used if not found.places (Number, optional): fixed number of decimal places to accept. The default is determined based on which currency is used.fractional (Boolean|Array, optional): Whether to include the fractional portion, where the number of decimal places are implied by the currencyor explicit 'places' parameter. The value [true,false] makes the fractional portion optional.By default for currencies, it the fractional portion is optional.pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization. Literal characters in patterns are not supported.locale (String, optional): override the locale used to determine formatting rulesstrict (Boolean, optional): strict parsing, false by default. Strict parsing requires input as produced by the format() method.Non-strict is more permissive, e.g. flexible on white space, omitting thousands separators
  18355. */
  18356. parse(expression: String, options?: Object): any;
  18357. /**
  18358. *
  18359. * @param options OptionalAn object with the following properties:pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization.type (String, optional): choose a format type based on the locale from the following:decimal, scientific (not yet supported), percent, currency. decimal by default.locale (String, optional): override the locale used to determine formatting rulesstrict (Boolean, optional): strict parsing, false by default. Strict parsing requires input as produced by the format() method.Non-strict is more permissive, e.g. flexible on white space, omitting thousands separatorsplaces (Number|String, optional): number of decimal places to accept: Infinity, a positive number, ora range "n,m". Defined by pattern or Infinity if pattern not provided.
  18360. */
  18361. regexp(options?: Object): any;
  18362. }
  18363. namespace currency {
  18364. /**
  18365. * Permalink: http://dojotoolkit.org/api/1.9/dojo/currency.__FormatOptions.html
  18366. *
  18367. *
  18368. */
  18369. class __FormatOptions {
  18370. constructor();
  18371. /**
  18372. * an ISO4217 currency code, a three letter sequence like "USD".
  18373. * For use with dojo.currency only.
  18374. *
  18375. */
  18376. "currency": string;
  18377. /**
  18378. * If false, show no decimal places, overriding places and pattern settings.
  18379. *
  18380. */
  18381. "fractional": boolean;
  18382. /**
  18383. * override the locale used to determine formatting rules
  18384. *
  18385. */
  18386. "locale": string;
  18387. /**
  18388. * override formatting pattern
  18389. * with this string. Default value is based on locale. Overriding this property will defeat
  18390. * localization. Literal characters in patterns are not supported.
  18391. *
  18392. */
  18393. "pattern": string;
  18394. /**
  18395. * number of decimal places to show. Default is defined based on which currency is used.
  18396. *
  18397. */
  18398. "places": number;
  18399. /**
  18400. * 5 rounds to nearest .5; 0 rounds to nearest whole (default). -1
  18401. * means do not round.
  18402. *
  18403. */
  18404. "round": number;
  18405. /**
  18406. * localized currency symbol. The default will be looked up in table of supported currencies in dojo.cldr
  18407. * A ISO4217 currency code will be used if not found.
  18408. *
  18409. */
  18410. "symbol": string;
  18411. /**
  18412. * Should not be set. Value is assumed to be "currency".
  18413. *
  18414. */
  18415. "type": string;
  18416. }
  18417. /**
  18418. * Permalink: http://dojotoolkit.org/api/1.9/dojo/currency.__ParseOptions.html
  18419. *
  18420. *
  18421. */
  18422. class __ParseOptions {
  18423. constructor();
  18424. /**
  18425. * an ISO4217 currency code, a three letter sequence like "USD".
  18426. * For use with dojo.currency only.
  18427. *
  18428. */
  18429. "currency": string;
  18430. /**
  18431. * Whether to include the fractional portion, where the number of decimal places are implied by the currency
  18432. * or explicit 'places' parameter. The value [true,false] makes the fractional portion optional.
  18433. * By default for currencies, it the fractional portion is optional.
  18434. *
  18435. */
  18436. "fractional": boolean;
  18437. /**
  18438. * override the locale used to determine formatting rules
  18439. *
  18440. */
  18441. "locale": string;
  18442. /**
  18443. * override formatting pattern
  18444. * with this string. Default value is based on locale. Overriding this property will defeat
  18445. * localization. Literal characters in patterns are not supported.
  18446. *
  18447. */
  18448. "pattern": string;
  18449. /**
  18450. * fixed number of decimal places to accept. The default is determined based on which currency is used.
  18451. *
  18452. */
  18453. "places": number;
  18454. /**
  18455. * strict parsing, false by default. Strict parsing requires input as produced by the format() method.
  18456. * Non-strict is more permissive, e.g. flexible on white space, omitting thousands separators
  18457. *
  18458. */
  18459. "strict": boolean;
  18460. /**
  18461. * localized currency symbol. The default will be looked up in table of supported currencies in dojo.cldr
  18462. * A ISO4217 currency code will be used if not found.
  18463. *
  18464. */
  18465. "symbol": string;
  18466. /**
  18467. * Should not be set. Value is assumed to be currency.
  18468. *
  18469. */
  18470. "type": string;
  18471. }
  18472. }
  18473. /**
  18474. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dom.html
  18475. *
  18476. * This module defines the core dojo DOM API.
  18477. *
  18478. */
  18479. interface dom {
  18480. /**
  18481. * Returns DOM node with matching id attribute or falsy value (ex: null or undefined)
  18482. * if not found. If id is a DomNode, this function is a no-op.
  18483. *
  18484. * @param id A string to match an HTML id attribute or a reference to a DOM Node
  18485. * @param doc OptionalDocument to work in. Defaults to the current value ofdojo/_base/window.doc. Can be used to retrievenode references from other documents.
  18486. */
  18487. byId(id: String, doc?: HTMLDocument): any;
  18488. /**
  18489. * Returns DOM node with matching id attribute or falsy value (ex: null or undefined)
  18490. * if not found. If id is a DomNode, this function is a no-op.
  18491. *
  18492. * @param id A string to match an HTML id attribute or a reference to a DOM Node
  18493. * @param doc OptionalDocument to work in. Defaults to the current value ofdojo/_base/window.doc. Can be used to retrievenode references from other documents.
  18494. */
  18495. byId(id: HTMLElement, doc?: HTMLDocument): any;
  18496. /**
  18497. * Returns true if node is a descendant of ancestor
  18498. *
  18499. * @param node string id or node reference to test
  18500. * @param ancestor string id or node reference of potential parent to test against
  18501. */
  18502. isDescendant(node: HTMLElement, ancestor: HTMLElement): boolean;
  18503. /**
  18504. * Returns true if node is a descendant of ancestor
  18505. *
  18506. * @param node string id or node reference to test
  18507. * @param ancestor string id or node reference of potential parent to test against
  18508. */
  18509. isDescendant(node: String, ancestor: HTMLElement): boolean;
  18510. /**
  18511. * Returns true if node is a descendant of ancestor
  18512. *
  18513. * @param node string id or node reference to test
  18514. * @param ancestor string id or node reference of potential parent to test against
  18515. */
  18516. isDescendant(node: HTMLElement, ancestor: String): boolean;
  18517. /**
  18518. * Returns true if node is a descendant of ancestor
  18519. *
  18520. * @param node string id or node reference to test
  18521. * @param ancestor string id or node reference of potential parent to test against
  18522. */
  18523. isDescendant(node: String, ancestor: String): boolean;
  18524. /**
  18525. *
  18526. * @param node
  18527. * @param selectable
  18528. */
  18529. setSelectable(node: any, selectable: any): void;
  18530. }
  18531. /**
  18532. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dom-attr.html
  18533. *
  18534. *
  18535. */
  18536. interface dom_attr {
  18537. /**
  18538. * Gets an attribute on an HTML element.
  18539. * Handles normalized getting of attributes on DOM Nodes.
  18540. *
  18541. * @param node id or reference to the element to get the attribute on
  18542. * @param name the name of the attribute to get.
  18543. */
  18544. get(node: HTMLElement, name: String): any;
  18545. /**
  18546. * Gets an attribute on an HTML element.
  18547. * Handles normalized getting of attributes on DOM Nodes.
  18548. *
  18549. * @param node id or reference to the element to get the attribute on
  18550. * @param name the name of the attribute to get.
  18551. */
  18552. get(node: String, name: String): any;
  18553. /**
  18554. * Returns an effective value of a property or an attribute.
  18555. *
  18556. * @param node id or reference to the element to remove the attribute from
  18557. * @param name the name of the attribute
  18558. */
  18559. getNodeProp(node: HTMLElement, name: String): any;
  18560. /**
  18561. * Returns an effective value of a property or an attribute.
  18562. *
  18563. * @param node id or reference to the element to remove the attribute from
  18564. * @param name the name of the attribute
  18565. */
  18566. getNodeProp(node: String, name: String): any;
  18567. /**
  18568. * Returns true if the requested attribute is specified on the
  18569. * given element, and false otherwise.
  18570. *
  18571. * @param node id or reference to the element to check
  18572. * @param name the name of the attribute
  18573. */
  18574. has(node: HTMLElement, name: String): boolean;
  18575. /**
  18576. * Returns true if the requested attribute is specified on the
  18577. * given element, and false otherwise.
  18578. *
  18579. * @param node id or reference to the element to check
  18580. * @param name the name of the attribute
  18581. */
  18582. has(node: String, name: String): boolean;
  18583. /**
  18584. * Removes an attribute from an HTML element.
  18585. *
  18586. * @param node id or reference to the element to remove the attribute from
  18587. * @param name the name of the attribute to remove
  18588. */
  18589. remove(node: HTMLElement, name: String): void;
  18590. /**
  18591. * Removes an attribute from an HTML element.
  18592. *
  18593. * @param node id or reference to the element to remove the attribute from
  18594. * @param name the name of the attribute to remove
  18595. */
  18596. remove(node: String, name: String): void;
  18597. /**
  18598. * Sets an attribute on an HTML element.
  18599. * Handles normalized setting of attributes on DOM Nodes.
  18600. *
  18601. * When passing functions as values, note that they will not be
  18602. * directly assigned to slots on the node, but rather the default
  18603. * behavior will be removed and the new behavior will be added
  18604. * using dojo.connect(), meaning that event handler properties
  18605. * will be normalized and that some caveats with regards to
  18606. * non-standard behaviors for onsubmit apply. Namely that you
  18607. * should cancel form submission using dojo.stopEvent() on the
  18608. * passed event object instead of returning a boolean value from
  18609. * the handler itself.
  18610. *
  18611. * @param node id or reference to the element to set the attribute on
  18612. * @param name the name of the attribute to set, or a hash of key-value pairs to set.
  18613. * @param value Optionalthe value to set for the attribute, if the name is a string.
  18614. */
  18615. set(node: HTMLElement, name: String, value?: String): any;
  18616. /**
  18617. * Sets an attribute on an HTML element.
  18618. * Handles normalized setting of attributes on DOM Nodes.
  18619. *
  18620. * When passing functions as values, note that they will not be
  18621. * directly assigned to slots on the node, but rather the default
  18622. * behavior will be removed and the new behavior will be added
  18623. * using dojo.connect(), meaning that event handler properties
  18624. * will be normalized and that some caveats with regards to
  18625. * non-standard behaviors for onsubmit apply. Namely that you
  18626. * should cancel form submission using dojo.stopEvent() on the
  18627. * passed event object instead of returning a boolean value from
  18628. * the handler itself.
  18629. *
  18630. * @param node id or reference to the element to set the attribute on
  18631. * @param name the name of the attribute to set, or a hash of key-value pairs to set.
  18632. * @param value Optionalthe value to set for the attribute, if the name is a string.
  18633. */
  18634. set(node: String, name: String, value?: String): any;
  18635. /**
  18636. * Sets an attribute on an HTML element.
  18637. * Handles normalized setting of attributes on DOM Nodes.
  18638. *
  18639. * When passing functions as values, note that they will not be
  18640. * directly assigned to slots on the node, but rather the default
  18641. * behavior will be removed and the new behavior will be added
  18642. * using dojo.connect(), meaning that event handler properties
  18643. * will be normalized and that some caveats with regards to
  18644. * non-standard behaviors for onsubmit apply. Namely that you
  18645. * should cancel form submission using dojo.stopEvent() on the
  18646. * passed event object instead of returning a boolean value from
  18647. * the handler itself.
  18648. *
  18649. * @param node id or reference to the element to set the attribute on
  18650. * @param name the name of the attribute to set, or a hash of key-value pairs to set.
  18651. * @param value Optionalthe value to set for the attribute, if the name is a string.
  18652. */
  18653. set(node: HTMLElement, name: Object, value?: String): any;
  18654. /**
  18655. * Sets an attribute on an HTML element.
  18656. * Handles normalized setting of attributes on DOM Nodes.
  18657. *
  18658. * When passing functions as values, note that they will not be
  18659. * directly assigned to slots on the node, but rather the default
  18660. * behavior will be removed and the new behavior will be added
  18661. * using dojo.connect(), meaning that event handler properties
  18662. * will be normalized and that some caveats with regards to
  18663. * non-standard behaviors for onsubmit apply. Namely that you
  18664. * should cancel form submission using dojo.stopEvent() on the
  18665. * passed event object instead of returning a boolean value from
  18666. * the handler itself.
  18667. *
  18668. * @param node id or reference to the element to set the attribute on
  18669. * @param name the name of the attribute to set, or a hash of key-value pairs to set.
  18670. * @param value Optionalthe value to set for the attribute, if the name is a string.
  18671. */
  18672. set(node: String, name: Object, value?: String): any;
  18673. }
  18674. /**
  18675. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dom-class.html
  18676. *
  18677. * This module defines the core dojo DOM class API.
  18678. *
  18679. */
  18680. interface dom_class {
  18681. /**
  18682. * Adds the specified classes to the end of the class list on the
  18683. * passed node. Will not re-apply duplicate classes.
  18684. *
  18685. * @param node String ID or DomNode reference to add a class string too
  18686. * @param classStr A String class name to add, or several space-separated class names,or an array of class names.
  18687. */
  18688. add(node: String, classStr: String): void;
  18689. /**
  18690. * Adds the specified classes to the end of the class list on the
  18691. * passed node. Will not re-apply duplicate classes.
  18692. *
  18693. * @param node String ID or DomNode reference to add a class string too
  18694. * @param classStr A String class name to add, or several space-separated class names,or an array of class names.
  18695. */
  18696. add(node: HTMLElement, classStr: String): void;
  18697. /**
  18698. * Adds the specified classes to the end of the class list on the
  18699. * passed node. Will not re-apply duplicate classes.
  18700. *
  18701. * @param node String ID or DomNode reference to add a class string too
  18702. * @param classStr A String class name to add, or several space-separated class names,or an array of class names.
  18703. */
  18704. add(node: String, classStr: any[]): void;
  18705. /**
  18706. * Adds the specified classes to the end of the class list on the
  18707. * passed node. Will not re-apply duplicate classes.
  18708. *
  18709. * @param node String ID or DomNode reference to add a class string too
  18710. * @param classStr A String class name to add, or several space-separated class names,or an array of class names.
  18711. */
  18712. add(node: HTMLElement, classStr: any[]): void;
  18713. /**
  18714. * Returns whether or not the specified classes are a portion of the
  18715. * class list currently applied to the node.
  18716. *
  18717. * @param node String ID or DomNode reference to check the class for.
  18718. * @param classStr A string class name to look for.
  18719. */
  18720. contains(node: String, classStr: String): boolean;
  18721. /**
  18722. * Returns whether or not the specified classes are a portion of the
  18723. * class list currently applied to the node.
  18724. *
  18725. * @param node String ID or DomNode reference to check the class for.
  18726. * @param classStr A string class name to look for.
  18727. */
  18728. contains(node: HTMLElement, classStr: String): boolean;
  18729. /**
  18730. * Removes the specified classes from node. No contains()
  18731. * check is required.
  18732. *
  18733. * @param node String ID or DomNode reference to remove the class from.
  18734. * @param classStr OptionalAn optional String class name to remove, or several space-separatedclass names, or an array of class names. If omitted, all class nameswill be deleted.
  18735. */
  18736. remove(node: String, classStr?: String): void;
  18737. /**
  18738. * Removes the specified classes from node. No contains()
  18739. * check is required.
  18740. *
  18741. * @param node String ID or DomNode reference to remove the class from.
  18742. * @param classStr OptionalAn optional String class name to remove, or several space-separatedclass names, or an array of class names. If omitted, all class nameswill be deleted.
  18743. */
  18744. remove(node: HTMLElement, classStr?: String): void;
  18745. /**
  18746. * Removes the specified classes from node. No contains()
  18747. * check is required.
  18748. *
  18749. * @param node String ID or DomNode reference to remove the class from.
  18750. * @param classStr OptionalAn optional String class name to remove, or several space-separatedclass names, or an array of class names. If omitted, all class nameswill be deleted.
  18751. */
  18752. remove(node: String, classStr?: any[]): void;
  18753. /**
  18754. * Removes the specified classes from node. No contains()
  18755. * check is required.
  18756. *
  18757. * @param node String ID or DomNode reference to remove the class from.
  18758. * @param classStr OptionalAn optional String class name to remove, or several space-separatedclass names, or an array of class names. If omitted, all class nameswill be deleted.
  18759. */
  18760. remove(node: HTMLElement, classStr?: any[]): void;
  18761. /**
  18762. * Replaces one or more classes on a node if not present.
  18763. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  18764. *
  18765. * @param node String ID or DomNode reference to remove the class from.
  18766. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  18767. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  18768. */
  18769. replace(node: String, addClassStr: String, removeClassStr?: String): void;
  18770. /**
  18771. * Replaces one or more classes on a node if not present.
  18772. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  18773. *
  18774. * @param node String ID or DomNode reference to remove the class from.
  18775. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  18776. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  18777. */
  18778. replace(node: HTMLElement, addClassStr: String, removeClassStr?: String): void;
  18779. /**
  18780. * Replaces one or more classes on a node if not present.
  18781. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  18782. *
  18783. * @param node String ID or DomNode reference to remove the class from.
  18784. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  18785. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  18786. */
  18787. replace(node: String, addClassStr: any[], removeClassStr?: String): void;
  18788. /**
  18789. * Replaces one or more classes on a node if not present.
  18790. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  18791. *
  18792. * @param node String ID or DomNode reference to remove the class from.
  18793. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  18794. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  18795. */
  18796. replace(node: HTMLElement, addClassStr: any[], removeClassStr?: String): void;
  18797. /**
  18798. * Replaces one or more classes on a node if not present.
  18799. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  18800. *
  18801. * @param node String ID or DomNode reference to remove the class from.
  18802. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  18803. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  18804. */
  18805. replace(node: String, addClassStr: String, removeClassStr?: any[]): void;
  18806. /**
  18807. * Replaces one or more classes on a node if not present.
  18808. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  18809. *
  18810. * @param node String ID or DomNode reference to remove the class from.
  18811. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  18812. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  18813. */
  18814. replace(node: HTMLElement, addClassStr: String, removeClassStr?: any[]): void;
  18815. /**
  18816. * Replaces one or more classes on a node if not present.
  18817. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  18818. *
  18819. * @param node String ID or DomNode reference to remove the class from.
  18820. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  18821. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  18822. */
  18823. replace(node: String, addClassStr: any[], removeClassStr?: any[]): void;
  18824. /**
  18825. * Replaces one or more classes on a node if not present.
  18826. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  18827. *
  18828. * @param node String ID or DomNode reference to remove the class from.
  18829. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  18830. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  18831. */
  18832. replace(node: HTMLElement, addClassStr: any[], removeClassStr?: any[]): void;
  18833. /**
  18834. * Adds a class to node if not present, or removes if present.
  18835. * Pass a boolean condition if you want to explicitly add or remove.
  18836. * Returns the condition that was specified directly or indirectly.
  18837. *
  18838. * @param node String ID or DomNode reference to toggle a class string
  18839. * @param classStr A String class name to toggle, or several space-separated class names,or an array of class names.
  18840. * @param condition OptionalIf passed, true means to add the class, false means to remove.Otherwise dojo.hasClass(node, classStr) is used to detect the class presence.
  18841. */
  18842. toggle(node: String, classStr: String, condition?: boolean): boolean;
  18843. /**
  18844. * Adds a class to node if not present, or removes if present.
  18845. * Pass a boolean condition if you want to explicitly add or remove.
  18846. * Returns the condition that was specified directly or indirectly.
  18847. *
  18848. * @param node String ID or DomNode reference to toggle a class string
  18849. * @param classStr A String class name to toggle, or several space-separated class names,or an array of class names.
  18850. * @param condition OptionalIf passed, true means to add the class, false means to remove.Otherwise dojo.hasClass(node, classStr) is used to detect the class presence.
  18851. */
  18852. toggle(node: HTMLElement, classStr: String, condition?: boolean): boolean;
  18853. /**
  18854. * Adds a class to node if not present, or removes if present.
  18855. * Pass a boolean condition if you want to explicitly add or remove.
  18856. * Returns the condition that was specified directly or indirectly.
  18857. *
  18858. * @param node String ID or DomNode reference to toggle a class string
  18859. * @param classStr A String class name to toggle, or several space-separated class names,or an array of class names.
  18860. * @param condition OptionalIf passed, true means to add the class, false means to remove.Otherwise dojo.hasClass(node, classStr) is used to detect the class presence.
  18861. */
  18862. toggle(node: String, classStr: any[], condition?: boolean): boolean;
  18863. /**
  18864. * Adds a class to node if not present, or removes if present.
  18865. * Pass a boolean condition if you want to explicitly add or remove.
  18866. * Returns the condition that was specified directly or indirectly.
  18867. *
  18868. * @param node String ID or DomNode reference to toggle a class string
  18869. * @param classStr A String class name to toggle, or several space-separated class names,or an array of class names.
  18870. * @param condition OptionalIf passed, true means to add the class, false means to remove.Otherwise dojo.hasClass(node, classStr) is used to detect the class presence.
  18871. */
  18872. toggle(node: HTMLElement, classStr: any[], condition?: boolean): boolean;
  18873. }
  18874. /**
  18875. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dom-form.html
  18876. *
  18877. * This module defines form-processing functions.
  18878. *
  18879. */
  18880. interface dom_form {
  18881. /**
  18882. * Serialize a form field to a JavaScript object.
  18883. * Returns the value encoded in a form field as
  18884. * as a string or an array of strings. Disabled form elements
  18885. * and unchecked radio and checkboxes are skipped. Multi-select
  18886. * elements are returned as an array of string values.
  18887. *
  18888. * @param inputNode
  18889. */
  18890. fieldToObject(inputNode: HTMLElement): Object;
  18891. /**
  18892. * Serialize a form field to a JavaScript object.
  18893. * Returns the value encoded in a form field as
  18894. * as a string or an array of strings. Disabled form elements
  18895. * and unchecked radio and checkboxes are skipped. Multi-select
  18896. * elements are returned as an array of string values.
  18897. *
  18898. * @param inputNode
  18899. */
  18900. fieldToObject(inputNode: String): Object;
  18901. /**
  18902. * Create a serialized JSON string from a form node or string
  18903. * ID identifying the form to serialize
  18904. *
  18905. * @param formNode
  18906. * @param prettyPrint Optional
  18907. */
  18908. toJson(formNode: HTMLElement, prettyPrint?: boolean): String;
  18909. /**
  18910. * Create a serialized JSON string from a form node or string
  18911. * ID identifying the form to serialize
  18912. *
  18913. * @param formNode
  18914. * @param prettyPrint Optional
  18915. */
  18916. toJson(formNode: String, prettyPrint?: boolean): String;
  18917. /**
  18918. * Serialize a form node to a JavaScript object.
  18919. * Returns the values encoded in an HTML form as
  18920. * string properties in an object which it then returns. Disabled form
  18921. * elements, buttons, and other non-value form elements are skipped.
  18922. * Multi-select elements are returned as an array of string values.
  18923. *
  18924. * @param formNode
  18925. */
  18926. toObject(formNode: HTMLElement): Object;
  18927. /**
  18928. * Serialize a form node to a JavaScript object.
  18929. * Returns the values encoded in an HTML form as
  18930. * string properties in an object which it then returns. Disabled form
  18931. * elements, buttons, and other non-value form elements are skipped.
  18932. * Multi-select elements are returned as an array of string values.
  18933. *
  18934. * @param formNode
  18935. */
  18936. toObject(formNode: String): Object;
  18937. /**
  18938. * Returns a URL-encoded string representing the form passed as either a
  18939. * node or string ID identifying the form to serialize
  18940. *
  18941. * @param formNode
  18942. */
  18943. toQuery(formNode: HTMLElement): String;
  18944. /**
  18945. * Returns a URL-encoded string representing the form passed as either a
  18946. * node or string ID identifying the form to serialize
  18947. *
  18948. * @param formNode
  18949. */
  18950. toQuery(formNode: String): String;
  18951. }
  18952. /**
  18953. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dom-construct.html
  18954. *
  18955. *
  18956. */
  18957. interface dom_construct {
  18958. /**
  18959. * Create an element, allowing for optional attribute decoration
  18960. * and placement.
  18961. * A DOM Element creation function. A shorthand method for creating a node or
  18962. * a fragment, and allowing for a convenient optional attribute setting step,
  18963. * as well as an optional DOM placement reference.
  18964. *
  18965. * Attributes are set by passing the optional object through dojo.setAttr.
  18966. * See dojo.setAttr for noted caveats and nuances, and API if applicable.
  18967. *
  18968. * Placement is done via dojo.place, assuming the new node to be the action
  18969. * node, passing along the optional reference node and position.
  18970. *
  18971. * @param tag A string of the element to create (eg: "div", "a", "p", "li", "script", "br"),or an existing DOM node to process.
  18972. * @param attrs An object-hash of attributes to set on the newly created node.Can be null, if you don't want to set any attributes/styles.See: dojo.setAttr for a description of available attributes.
  18973. * @param refNode OptionalOptional reference node. Used by dojo.place to place the newly creatednode somewhere in the dom relative to refNode. Can be a DomNode referenceor String ID of a node.
  18974. * @param pos OptionalOptional positional reference. Defaults to "last" by way of dojo.place,though can be set to "first","after","before","last", "replace" or "only"to further control the placement of the new node relative to the refNode.'refNode' is required if a 'pos' is specified.
  18975. */
  18976. create(tag: HTMLElement, attrs: Object, refNode?: HTMLElement, pos?: String): any;
  18977. /**
  18978. * Create an element, allowing for optional attribute decoration
  18979. * and placement.
  18980. * A DOM Element creation function. A shorthand method for creating a node or
  18981. * a fragment, and allowing for a convenient optional attribute setting step,
  18982. * as well as an optional DOM placement reference.
  18983. *
  18984. * Attributes are set by passing the optional object through dojo.setAttr.
  18985. * See dojo.setAttr for noted caveats and nuances, and API if applicable.
  18986. *
  18987. * Placement is done via dojo.place, assuming the new node to be the action
  18988. * node, passing along the optional reference node and position.
  18989. *
  18990. * @param tag A string of the element to create (eg: "div", "a", "p", "li", "script", "br"),or an existing DOM node to process.
  18991. * @param attrs An object-hash of attributes to set on the newly created node.Can be null, if you don't want to set any attributes/styles.See: dojo.setAttr for a description of available attributes.
  18992. * @param refNode OptionalOptional reference node. Used by dojo.place to place the newly creatednode somewhere in the dom relative to refNode. Can be a DomNode referenceor String ID of a node.
  18993. * @param pos OptionalOptional positional reference. Defaults to "last" by way of dojo.place,though can be set to "first","after","before","last", "replace" or "only"to further control the placement of the new node relative to the refNode.'refNode' is required if a 'pos' is specified.
  18994. */
  18995. create(tag: String, attrs: Object, refNode?: HTMLElement, pos?: String): any;
  18996. /**
  18997. * Create an element, allowing for optional attribute decoration
  18998. * and placement.
  18999. * A DOM Element creation function. A shorthand method for creating a node or
  19000. * a fragment, and allowing for a convenient optional attribute setting step,
  19001. * as well as an optional DOM placement reference.
  19002. *
  19003. * Attributes are set by passing the optional object through dojo.setAttr.
  19004. * See dojo.setAttr for noted caveats and nuances, and API if applicable.
  19005. *
  19006. * Placement is done via dojo.place, assuming the new node to be the action
  19007. * node, passing along the optional reference node and position.
  19008. *
  19009. * @param tag A string of the element to create (eg: "div", "a", "p", "li", "script", "br"),or an existing DOM node to process.
  19010. * @param attrs An object-hash of attributes to set on the newly created node.Can be null, if you don't want to set any attributes/styles.See: dojo.setAttr for a description of available attributes.
  19011. * @param refNode OptionalOptional reference node. Used by dojo.place to place the newly creatednode somewhere in the dom relative to refNode. Can be a DomNode referenceor String ID of a node.
  19012. * @param pos OptionalOptional positional reference. Defaults to "last" by way of dojo.place,though can be set to "first","after","before","last", "replace" or "only"to further control the placement of the new node relative to the refNode.'refNode' is required if a 'pos' is specified.
  19013. */
  19014. create(tag: HTMLElement, attrs: Object, refNode?: String, pos?: String): any;
  19015. /**
  19016. * Create an element, allowing for optional attribute decoration
  19017. * and placement.
  19018. * A DOM Element creation function. A shorthand method for creating a node or
  19019. * a fragment, and allowing for a convenient optional attribute setting step,
  19020. * as well as an optional DOM placement reference.
  19021. *
  19022. * Attributes are set by passing the optional object through dojo.setAttr.
  19023. * See dojo.setAttr for noted caveats and nuances, and API if applicable.
  19024. *
  19025. * Placement is done via dojo.place, assuming the new node to be the action
  19026. * node, passing along the optional reference node and position.
  19027. *
  19028. * @param tag A string of the element to create (eg: "div", "a", "p", "li", "script", "br"),or an existing DOM node to process.
  19029. * @param attrs An object-hash of attributes to set on the newly created node.Can be null, if you don't want to set any attributes/styles.See: dojo.setAttr for a description of available attributes.
  19030. * @param refNode OptionalOptional reference node. Used by dojo.place to place the newly creatednode somewhere in the dom relative to refNode. Can be a DomNode referenceor String ID of a node.
  19031. * @param pos OptionalOptional positional reference. Defaults to "last" by way of dojo.place,though can be set to "first","after","before","last", "replace" or "only"to further control the placement of the new node relative to the refNode.'refNode' is required if a 'pos' is specified.
  19032. */
  19033. create(tag: String, attrs: Object, refNode?: String, pos?: String): any;
  19034. /**
  19035. * Removes a node from its parent, clobbering it and all of its
  19036. * children.
  19037. * Removes a node from its parent, clobbering it and all of its
  19038. * children. Function only works with DomNodes, and returns nothing.
  19039. *
  19040. * @param node A String ID or DomNode reference of the element to be destroyed
  19041. */
  19042. destroy(node: HTMLElement): void;
  19043. /**
  19044. * Removes a node from its parent, clobbering it and all of its
  19045. * children.
  19046. * Removes a node from its parent, clobbering it and all of its
  19047. * children. Function only works with DomNodes, and returns nothing.
  19048. *
  19049. * @param node A String ID or DomNode reference of the element to be destroyed
  19050. */
  19051. destroy(node: String): void;
  19052. /**
  19053. * safely removes all children of the node.
  19054. *
  19055. * @param node a reference to a DOM node or an id.
  19056. */
  19057. empty(node: HTMLElement): void;
  19058. /**
  19059. * safely removes all children of the node.
  19060. *
  19061. * @param node a reference to a DOM node or an id.
  19062. */
  19063. empty(node: String): void;
  19064. /**
  19065. * Attempt to insert node into the DOM, choosing from various positioning options.
  19066. * Returns the first argument resolved to a DOM node.
  19067. *
  19068. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  19069. * @param refNode id or node reference to use as basis for placement
  19070. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  19071. */
  19072. place(node: HTMLElement, refNode: HTMLElement, position?: String): HTMLElement;
  19073. /**
  19074. * Attempt to insert node into the DOM, choosing from various positioning options.
  19075. * Returns the first argument resolved to a DOM node.
  19076. *
  19077. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  19078. * @param refNode id or node reference to use as basis for placement
  19079. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  19080. */
  19081. place(node: String, refNode: HTMLElement, position?: String): HTMLElement;
  19082. /**
  19083. * Attempt to insert node into the DOM, choosing from various positioning options.
  19084. * Returns the first argument resolved to a DOM node.
  19085. *
  19086. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  19087. * @param refNode id or node reference to use as basis for placement
  19088. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  19089. */
  19090. place(node: HTMLElement, refNode: String, position?: String): HTMLElement;
  19091. /**
  19092. * Attempt to insert node into the DOM, choosing from various positioning options.
  19093. * Returns the first argument resolved to a DOM node.
  19094. *
  19095. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  19096. * @param refNode id or node reference to use as basis for placement
  19097. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  19098. */
  19099. place(node: String, refNode: String, position?: String): HTMLElement;
  19100. /**
  19101. * Attempt to insert node into the DOM, choosing from various positioning options.
  19102. * Returns the first argument resolved to a DOM node.
  19103. *
  19104. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  19105. * @param refNode id or node reference to use as basis for placement
  19106. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  19107. */
  19108. place(node: HTMLElement, refNode: HTMLElement, position?: number): HTMLElement;
  19109. /**
  19110. * Attempt to insert node into the DOM, choosing from various positioning options.
  19111. * Returns the first argument resolved to a DOM node.
  19112. *
  19113. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  19114. * @param refNode id or node reference to use as basis for placement
  19115. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  19116. */
  19117. place(node: String, refNode: HTMLElement, position?: number): HTMLElement;
  19118. /**
  19119. * Attempt to insert node into the DOM, choosing from various positioning options.
  19120. * Returns the first argument resolved to a DOM node.
  19121. *
  19122. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  19123. * @param refNode id or node reference to use as basis for placement
  19124. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  19125. */
  19126. place(node: HTMLElement, refNode: String, position?: number): HTMLElement;
  19127. /**
  19128. * Attempt to insert node into the DOM, choosing from various positioning options.
  19129. * Returns the first argument resolved to a DOM node.
  19130. *
  19131. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  19132. * @param refNode id or node reference to use as basis for placement
  19133. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  19134. */
  19135. place(node: String, refNode: String, position?: number): HTMLElement;
  19136. /**
  19137. * instantiates an HTML fragment returning the corresponding DOM.
  19138. *
  19139. * @param frag the HTML fragment
  19140. * @param doc Optionaloptional document to use when creating DOM nodes, defaults todojo/_base/window.doc if not specified.
  19141. */
  19142. toDom(frag: String, doc?: HTMLDocument): any;
  19143. }
  19144. /**
  19145. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dom-prop.html
  19146. *
  19147. *
  19148. */
  19149. interface dom_prop {
  19150. /**
  19151. *
  19152. */
  19153. names: Object;
  19154. /**
  19155. * Gets a property on an HTML element.
  19156. * Handles normalized getting of properties on DOM nodes.
  19157. *
  19158. * @param node id or reference to the element to get the property on
  19159. * @param name the name of the property to get.
  19160. */
  19161. get(node: HTMLElement, name: String): any;
  19162. /**
  19163. * Gets a property on an HTML element.
  19164. * Handles normalized getting of properties on DOM nodes.
  19165. *
  19166. * @param node id or reference to the element to get the property on
  19167. * @param name the name of the property to get.
  19168. */
  19169. get(node: String, name: String): any;
  19170. /**
  19171. * Sets a property on an HTML element.
  19172. * Handles normalized setting of properties on DOM nodes.
  19173. *
  19174. * When passing functions as values, note that they will not be
  19175. * directly assigned to slots on the node, but rather the default
  19176. * behavior will be removed and the new behavior will be added
  19177. * using dojo.connect(), meaning that event handler properties
  19178. * will be normalized and that some caveats with regards to
  19179. * non-standard behaviors for onsubmit apply. Namely that you
  19180. * should cancel form submission using dojo.stopEvent() on the
  19181. * passed event object instead of returning a boolean value from
  19182. * the handler itself.
  19183. *
  19184. * @param node id or reference to the element to set the property on
  19185. * @param name the name of the property to set, or a hash object to setmultiple properties at once.
  19186. * @param value OptionalThe value to set for the property
  19187. */
  19188. set(node: HTMLElement, name: String, value?: String): any;
  19189. /**
  19190. * Sets a property on an HTML element.
  19191. * Handles normalized setting of properties on DOM nodes.
  19192. *
  19193. * When passing functions as values, note that they will not be
  19194. * directly assigned to slots on the node, but rather the default
  19195. * behavior will be removed and the new behavior will be added
  19196. * using dojo.connect(), meaning that event handler properties
  19197. * will be normalized and that some caveats with regards to
  19198. * non-standard behaviors for onsubmit apply. Namely that you
  19199. * should cancel form submission using dojo.stopEvent() on the
  19200. * passed event object instead of returning a boolean value from
  19201. * the handler itself.
  19202. *
  19203. * @param node id or reference to the element to set the property on
  19204. * @param name the name of the property to set, or a hash object to setmultiple properties at once.
  19205. * @param value OptionalThe value to set for the property
  19206. */
  19207. set(node: String, name: String, value?: String): any;
  19208. /**
  19209. * Sets a property on an HTML element.
  19210. * Handles normalized setting of properties on DOM nodes.
  19211. *
  19212. * When passing functions as values, note that they will not be
  19213. * directly assigned to slots on the node, but rather the default
  19214. * behavior will be removed and the new behavior will be added
  19215. * using dojo.connect(), meaning that event handler properties
  19216. * will be normalized and that some caveats with regards to
  19217. * non-standard behaviors for onsubmit apply. Namely that you
  19218. * should cancel form submission using dojo.stopEvent() on the
  19219. * passed event object instead of returning a boolean value from
  19220. * the handler itself.
  19221. *
  19222. * @param node id or reference to the element to set the property on
  19223. * @param name the name of the property to set, or a hash object to setmultiple properties at once.
  19224. * @param value OptionalThe value to set for the property
  19225. */
  19226. set(node: HTMLElement, name: Object, value?: String): any;
  19227. /**
  19228. * Sets a property on an HTML element.
  19229. * Handles normalized setting of properties on DOM nodes.
  19230. *
  19231. * When passing functions as values, note that they will not be
  19232. * directly assigned to slots on the node, but rather the default
  19233. * behavior will be removed and the new behavior will be added
  19234. * using dojo.connect(), meaning that event handler properties
  19235. * will be normalized and that some caveats with regards to
  19236. * non-standard behaviors for onsubmit apply. Namely that you
  19237. * should cancel form submission using dojo.stopEvent() on the
  19238. * passed event object instead of returning a boolean value from
  19239. * the handler itself.
  19240. *
  19241. * @param node id or reference to the element to set the property on
  19242. * @param name the name of the property to set, or a hash object to setmultiple properties at once.
  19243. * @param value OptionalThe value to set for the property
  19244. */
  19245. set(node: String, name: Object, value?: String): any;
  19246. }
  19247. namespace dom_prop {
  19248. /**
  19249. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dom-prop.names.html
  19250. *
  19251. *
  19252. */
  19253. interface names {
  19254. /**
  19255. *
  19256. */
  19257. class: string;
  19258. /**
  19259. *
  19260. */
  19261. colspan: string;
  19262. /**
  19263. *
  19264. */
  19265. for: string;
  19266. /**
  19267. *
  19268. */
  19269. frameborder: string;
  19270. /**
  19271. *
  19272. */
  19273. readonly: string;
  19274. /**
  19275. *
  19276. */
  19277. rowspan: string;
  19278. /**
  19279. *
  19280. */
  19281. tabindex: string;
  19282. /**
  19283. *
  19284. */
  19285. valuetype: string;
  19286. }
  19287. }
  19288. /**
  19289. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dom-style.html
  19290. *
  19291. * This module defines the core dojo DOM style API.
  19292. *
  19293. */
  19294. interface dom_style {
  19295. /**
  19296. *
  19297. * @param node
  19298. * @param name
  19299. */
  19300. get(node: HTMLElement, name: String): any;
  19301. /**
  19302. *
  19303. * @param node
  19304. * @param name
  19305. */
  19306. get(node: String, name: String): any;
  19307. /**
  19308. *
  19309. * @param node
  19310. * @param name
  19311. */
  19312. get(node: HTMLElement, name: Object): any;
  19313. /**
  19314. *
  19315. * @param node
  19316. * @param name
  19317. */
  19318. get(node: String, name: Object): any;
  19319. /**
  19320. * Returns a "computed style" object.
  19321. * Gets a "computed style" object which can be used to gather
  19322. * information about the current state of the rendered node.
  19323. *
  19324. * Note that this may behave differently on different browsers.
  19325. * Values may have different formats and value encodings across
  19326. * browsers.
  19327. *
  19328. * Note also that this method is expensive. Wherever possible,
  19329. * reuse the returned object.
  19330. *
  19331. * Use the dojo/dom-style.get() method for more consistent (pixelized)
  19332. * return values.
  19333. *
  19334. * @param node A reference to a DOM node. Does NOT support taking anID string for speed reasons.
  19335. */
  19336. getComputedStyle(node: HTMLElement): void;
  19337. /**
  19338. *
  19339. * @param node
  19340. * @param name
  19341. * @param value Optional
  19342. */
  19343. set(node: HTMLElement, name: String, value?: String): any;
  19344. /**
  19345. *
  19346. * @param node
  19347. * @param name
  19348. * @param value Optional
  19349. */
  19350. set(node: String, name: String, value?: String): any;
  19351. /**
  19352. *
  19353. * @param node
  19354. * @param name
  19355. * @param value Optional
  19356. */
  19357. set(node: HTMLElement, name: Object, value?: String): any;
  19358. /**
  19359. *
  19360. * @param node
  19361. * @param name
  19362. * @param value Optional
  19363. */
  19364. set(node: String, name: Object, value?: String): any;
  19365. /**
  19366. * converts style value to pixels on IE or return a numeric value.
  19367. *
  19368. * @param node
  19369. * @param value
  19370. */
  19371. toPixelValue(node: HTMLElement, value: String): number;
  19372. }
  19373. /**
  19374. * Permalink: http://dojotoolkit.org/api/1.9/dojo/dom-geometry.html
  19375. *
  19376. * This module defines the core dojo DOM geometry API.
  19377. *
  19378. */
  19379. interface dom_geometry {
  19380. /**
  19381. *
  19382. */
  19383. boxModel: string;
  19384. /**
  19385. * Returns an object with {node, x, y} with corresponding offsets.
  19386. *
  19387. * @param doc OptionalOptional document to query. If unspecified, use win.doc.
  19388. */
  19389. docScroll(doc?: HTMLDocument): Object;
  19390. /**
  19391. * In RTL direction, scrollLeft should be a negative value, but IE
  19392. * returns a positive one. All codes using documentElement.scrollLeft
  19393. * must call this function to fix this error, otherwise the position
  19394. * will offset to right when there is a horizontal scrollbar.
  19395. *
  19396. * @param scrollLeft
  19397. * @param doc OptionalOptional document to query. If unspecified, use win.doc.
  19398. */
  19399. fixIeBiDiScrollLeft(scrollLeft: number, doc?: HTMLDocument): number;
  19400. /**
  19401. * returns an object with properties useful for noting the border
  19402. * dimensions.
  19403. * l/t/r/b = the sum of left/top/right/bottom border (respectively)
  19404. * w = the sum of the left and right border
  19405. * h = the sum of the top and bottom border
  19406. * The w/h are used for calculating boxes.
  19407. * Normally application code will not need to invoke this
  19408. * directly, and will use the ...box... functions instead.
  19409. *
  19410. * @param node
  19411. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  19412. */
  19413. getBorderExtents(node: HTMLElement, computedStyle?: Object): Object;
  19414. /**
  19415. * Returns an object that encodes the width, height, left and top
  19416. * positions of the node's content box, irrespective of the
  19417. * current box model.
  19418. *
  19419. * @param node
  19420. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  19421. */
  19422. getContentBox(node: HTMLElement, computedStyle?: Object): Object;
  19423. /**
  19424. * returns the offset in x and y from the document body to the
  19425. * visual edge of the page for IE
  19426. * The following values in IE contain an offset:
  19427. *
  19428. * event.clientX
  19429. * event.clientY
  19430. * node.getBoundingClientRect().left
  19431. * node.getBoundingClientRect().top
  19432. * But other position related values do not contain this offset,
  19433. *
  19434. * such as node.offsetLeft, node.offsetTop, node.style.left and
  19435. * node.style.top. The offset is always (2, 2) in LTR direction.
  19436. * When the body is in RTL direction, the offset counts the width
  19437. * of left scroll bar's width. This function computes the actual
  19438. * offset.
  19439. *
  19440. * @param doc OptionalOptional document to query. If unspecified, use win.doc.
  19441. */
  19442. getIeDocumentElementOffset(doc?: HTMLDocument): Object;
  19443. /**
  19444. * returns an object that encodes the width, height, left and top
  19445. * positions of the node's margin box.
  19446. *
  19447. * @param node
  19448. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  19449. */
  19450. getMarginBox(node: HTMLElement, computedStyle?: Object): Object;
  19451. /**
  19452. * returns object with properties useful for box fitting with
  19453. * regards to box margins (i.e., the outer-box).
  19454. *
  19455. * l/t = marginLeft, marginTop, respectively
  19456. * w = total width, margin inclusive
  19457. * h = total height, margin inclusive
  19458. * The w/h are used for calculating boxes.
  19459. * Normally application code will not need to invoke this
  19460. * directly, and will use the ...box... functions instead.
  19461. *
  19462. * @param node
  19463. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  19464. */
  19465. getMarginExtents(node: HTMLElement, computedStyle?: Object): Object;
  19466. /**
  19467. * returns an object that encodes the width and height of
  19468. * the node's margin box
  19469. *
  19470. * @param node
  19471. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  19472. */
  19473. getMarginSize(node: HTMLElement, computedStyle?: Object): Object;
  19474. /**
  19475. * returns an object that encodes the width and height of
  19476. * the node's margin box
  19477. *
  19478. * @param node
  19479. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  19480. */
  19481. getMarginSize(node: String, computedStyle?: Object): Object;
  19482. /**
  19483. * Returns object with properties useful for box fitting with
  19484. * regards to padding.
  19485. * l/t/r/b = the sum of left/top/right/bottom padding and left/top/right/bottom border (respectively)
  19486. * w = the sum of the left and right padding and border
  19487. * h = the sum of the top and bottom padding and border
  19488. * The w/h are used for calculating boxes.
  19489. * Normally application code will not need to invoke this
  19490. * directly, and will use the ...box... functions instead.
  19491. *
  19492. * @param node
  19493. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  19494. */
  19495. getPadBorderExtents(node: HTMLElement, computedStyle?: Object): Object;
  19496. /**
  19497. * Returns object with special values specifically useful for node
  19498. * fitting.
  19499. * Returns an object with w, h, l, t properties:
  19500. *
  19501. * l/t/r/b = left/top/right/bottom padding (respectively)
  19502. * w = the total of the left and right padding
  19503. * h = the total of the top and bottom padding
  19504. * If 'node' has position, l/t forms the origin for child nodes.
  19505. *
  19506. * The w/h are used for calculating boxes.
  19507. * Normally application code will not need to invoke this
  19508. * directly, and will use the ...box... functions instead.
  19509. *
  19510. * @param node
  19511. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  19512. */
  19513. getPadExtents(node: HTMLElement, computedStyle?: Object): Object;
  19514. /**
  19515. * Returns true if the current language is left-to-right, and false otherwise.
  19516. *
  19517. * @param doc OptionalOptional document to query. If unspecified, use win.doc.
  19518. */
  19519. isBodyLtr(doc?: HTMLDocument): boolean;
  19520. /**
  19521. * Normalizes the geometry of a DOM event, normalizing the pageX, pageY,
  19522. * offsetX, offsetY, layerX, and layerX properties
  19523. *
  19524. * @param event
  19525. */
  19526. normalizeEvent(event: Object): void;
  19527. /**
  19528. * Gets the position and size of the passed element relative to
  19529. * the viewport (if includeScroll==false), or relative to the
  19530. * document root (if includeScroll==true).
  19531. * Returns an object of the form:
  19532. * { x: 100, y: 300, w: 20, h: 15 }.
  19533. * If includeScroll==true, the x and y values will include any
  19534. * document offsets that may affect the position relative to the
  19535. * viewport.
  19536. * Uses the border-box model (inclusive of border and padding but
  19537. * not margin). Does not act as a setter.
  19538. *
  19539. * @param node
  19540. * @param includeScroll Optional
  19541. */
  19542. position(node: HTMLElement, includeScroll?: boolean): { w: number; h: number; x: number; y: number };
  19543. /**
  19544. * Gets the position and size of the passed element relative to
  19545. * the viewport (if includeScroll==false), or relative to the
  19546. * document root (if includeScroll==true).
  19547. * Returns an object of the form:
  19548. * { x: 100, y: 300, w: 20, h: 15 }.
  19549. * If includeScroll==true, the x and y values will include any
  19550. * document offsets that may affect the position relative to the
  19551. * viewport.
  19552. * Uses the border-box model (inclusive of border and padding but
  19553. * not margin). Does not act as a setter.
  19554. *
  19555. * @param node
  19556. * @param includeScroll Optional
  19557. */
  19558. position(node: String, includeScroll?: boolean): { w: number; h: number; x: number; y: number };
  19559. /**
  19560. * Sets the size of the node's contents, irrespective of margins,
  19561. * padding, or borders.
  19562. *
  19563. * @param node
  19564. * @param box hash with optional "w", and "h" properties for "width", and "height"respectively. All specified properties should have numeric values in whole pixels.
  19565. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  19566. */
  19567. setContentSize(node: HTMLElement, box: Object, computedStyle?: Object): void;
  19568. /**
  19569. * sets the size of the node's margin box and placement
  19570. * (left/top), irrespective of box model. Think of it as a
  19571. * passthrough to setBox that handles box-model vagaries for
  19572. * you.
  19573. *
  19574. * @param node
  19575. * @param box hash with optional "l", "t", "w", and "h" properties for "left", "right", "width", and "height"respectively. All specified properties should have numeric values in whole pixels.
  19576. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  19577. */
  19578. setMarginBox(node: HTMLElement, box: Object, computedStyle?: Object): void;
  19579. }
  19580. /**
  19581. * Permalink: http://dojotoolkit.org/api/1.9/dojo/gears.html
  19582. *
  19583. * TODOC
  19584. *
  19585. */
  19586. interface gears {
  19587. /**
  19588. * True if client is using Google Gears
  19589. *
  19590. */
  19591. available: Object;
  19592. }
  19593. namespace gears {
  19594. /**
  19595. * Permalink: http://dojotoolkit.org/api/1.9/dojo/gears.available.html
  19596. *
  19597. * True if client is using Google Gears
  19598. *
  19599. */
  19600. interface available {
  19601. }
  19602. }
  19603. /**
  19604. * Permalink: http://dojotoolkit.org/api/1.9/dojo/html.html
  19605. *
  19606. * TODOC
  19607. *
  19608. */
  19609. interface html {
  19610. /**
  19611. * inserts (replaces) the given content into the given node. dojo/dom-construct.place(cont, node, "only")
  19612. * may be a better choice for simple HTML insertion.
  19613. * Unless you need to use the params capabilities of this method, you should use
  19614. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct..place() has more robust support for injecting
  19615. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  19616. * elements, or inserting a DOM node. dojo/dom-construct..place does not handle NodeList insertions
  19617. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct.place() has more robust support for injecting
  19618. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  19619. * elements, or inserting a DOM node. dojo/dom-construct.place does not handle NodeList insertions
  19620. * or the other capabilities as defined by the params object for this method.
  19621. *
  19622. * @param node the parent element that will receive the content
  19623. * @param cont the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  19624. * @param params OptionalOptional flags/properties to configure the content-setting. See dojo/html/_ContentSetter
  19625. */
  19626. set(node: HTMLElement, cont: String, params?: Object): any;
  19627. /**
  19628. * inserts (replaces) the given content into the given node. dojo/dom-construct.place(cont, node, "only")
  19629. * may be a better choice for simple HTML insertion.
  19630. * Unless you need to use the params capabilities of this method, you should use
  19631. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct..place() has more robust support for injecting
  19632. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  19633. * elements, or inserting a DOM node. dojo/dom-construct..place does not handle NodeList insertions
  19634. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct.place() has more robust support for injecting
  19635. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  19636. * elements, or inserting a DOM node. dojo/dom-construct.place does not handle NodeList insertions
  19637. * or the other capabilities as defined by the params object for this method.
  19638. *
  19639. * @param node the parent element that will receive the content
  19640. * @param cont the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  19641. * @param params OptionalOptional flags/properties to configure the content-setting. See dojo/html/_ContentSetter
  19642. */
  19643. set(node: HTMLElement, cont: HTMLElement, params?: Object): any;
  19644. /**
  19645. * inserts (replaces) the given content into the given node. dojo/dom-construct.place(cont, node, "only")
  19646. * may be a better choice for simple HTML insertion.
  19647. * Unless you need to use the params capabilities of this method, you should use
  19648. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct..place() has more robust support for injecting
  19649. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  19650. * elements, or inserting a DOM node. dojo/dom-construct..place does not handle NodeList insertions
  19651. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct.place() has more robust support for injecting
  19652. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  19653. * elements, or inserting a DOM node. dojo/dom-construct.place does not handle NodeList insertions
  19654. * or the other capabilities as defined by the params object for this method.
  19655. *
  19656. * @param node the parent element that will receive the content
  19657. * @param cont the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  19658. * @param params OptionalOptional flags/properties to configure the content-setting. See dojo/html/_ContentSetter
  19659. */
  19660. set(node: HTMLElement, cont: NodeList, params?: Object): any;
  19661. }
  19662. namespace html {
  19663. /**
  19664. * Permalink: http://dojotoolkit.org/api/1.9/dojo/html._ContentSetter.html
  19665. *
  19666. *
  19667. * @param params
  19668. * @param node
  19669. */
  19670. class _ContentSetter {
  19671. constructor(params: Object, node: String);
  19672. /**
  19673. * Should the content be treated as a full html document,
  19674. * and the real content stripped of , wrapper before injection
  19675. *
  19676. */
  19677. "cleanContent": boolean;
  19678. /**
  19679. * The content to be placed in the node. Can be an HTML string, a node reference, or a enumerable list of nodes
  19680. *
  19681. */
  19682. "content": string;
  19683. /**
  19684. * Should the content be treated as a full html document,
  19685. * and the real content stripped of <html> <body> wrapper before injection
  19686. *
  19687. */
  19688. "extractContent": boolean;
  19689. /**
  19690. * Usually only used internally, and auto-generated with each instance
  19691. *
  19692. */
  19693. "id": Object;
  19694. /**
  19695. * An node which will be the parent element that we set content into
  19696. *
  19697. */
  19698. "node": HTMLElement;
  19699. /**
  19700. * Should the node by passed to the parser after the new content is set
  19701. *
  19702. */
  19703. "parseContent": boolean;
  19704. /**
  19705. * Flag passed to parser. Root for attribute names to search for. If scopeName is dojo,
  19706. * will search for data-dojo-type (or dojoType). For backwards compatibility
  19707. * reasons defaults to dojo._scopeName (which is "dojo" except when
  19708. * multi-version support is used, when it will be something like dojo16, dojo20, etc.)
  19709. *
  19710. */
  19711. "parserScope": string;
  19712. /**
  19713. * Start the child widgets after parsing them. Only obeyed if parseContent is true.
  19714. *
  19715. */
  19716. "startup": boolean;
  19717. /**
  19718. * cleanly empty out existing content
  19719. *
  19720. */
  19721. empty(): void;
  19722. /**
  19723. * front-end to the set-content sequence
  19724. *
  19725. * @param cont OptionalAn html string, node or enumerable list of nodes for insertion into the domIf not provided, the object's content property will be used
  19726. * @param params Optional
  19727. */
  19728. set(cont: String, params?: Object): any;
  19729. /**
  19730. * front-end to the set-content sequence
  19731. *
  19732. * @param cont OptionalAn html string, node or enumerable list of nodes for insertion into the domIf not provided, the object's content property will be used
  19733. * @param params Optional
  19734. */
  19735. set(cont: HTMLElement, params?: Object): any;
  19736. /**
  19737. * front-end to the set-content sequence
  19738. *
  19739. * @param cont OptionalAn html string, node or enumerable list of nodes for insertion into the domIf not provided, the object's content property will be used
  19740. * @param params Optional
  19741. */
  19742. set(cont: NodeList, params?: Object): any;
  19743. /**
  19744. * sets the content on the node
  19745. *
  19746. */
  19747. setContent(): void;
  19748. /**
  19749. * manually reset the Setter instance if its being re-used for example for another set()
  19750. * tearDown() is not called automatically.
  19751. * In normal use, the Setter instance properties are simply allowed to fall out of scope
  19752. * but the tearDown method can be called to explicitly reset this instance.
  19753. *
  19754. */
  19755. tearDown(): void;
  19756. /**
  19757. * Called after instantiation, but before set();
  19758. * It allows modification of any of the object properties -
  19759. * including the node and content provided - before the set operation actually takes place
  19760. * This default implementation checks for cleanContent and extractContent flags to
  19761. * optionally pre-process html string content
  19762. *
  19763. */
  19764. onBegin(): any;
  19765. /**
  19766. *
  19767. * @param err
  19768. */
  19769. onContentError(err: any): String;
  19770. /**
  19771. * Called after set(), when the new content has been pushed into the node
  19772. * It provides an opportunity for post-processing before handing back the node to the caller
  19773. * This default implementation checks a parseContent flag to optionally run the dojo parser over the new content
  19774. *
  19775. */
  19776. onEnd(): any;
  19777. /**
  19778. *
  19779. * @param err
  19780. */
  19781. onExecError(err: any): String;
  19782. }
  19783. }
  19784. /**
  19785. * Permalink: http://dojotoolkit.org/api/1.9/dojo/io-query.html
  19786. *
  19787. * This module defines query string processing functions.
  19788. *
  19789. */
  19790. interface io_query {
  19791. /**
  19792. * takes a name/value mapping object and returns a string representing
  19793. * a URL-encoded version of that object.
  19794. *
  19795. * @param map
  19796. */
  19797. objectToQuery(map: Object): any;
  19798. /**
  19799. * Create an object representing a de-serialized query section of a
  19800. * URL. Query keys with multiple values are returned in an array.
  19801. *
  19802. * @param str
  19803. */
  19804. queryToObject(str: String): Object;
  19805. }
  19806. /**
  19807. * Permalink: http://dojotoolkit.org/api/1.9/dojo/i18n.html
  19808. *
  19809. * This module implements the dojo/i18n! plugin and the v1.6- i18n API
  19810. * We choose to include our own plugin to leverage functionality already contained in dojo
  19811. * and thereby reduce the size of the plugin compared to various loader implementations. Also, this
  19812. * allows foreign AMD loaders to be used without their plugins.
  19813. *
  19814. */
  19815. interface i18n {
  19816. /**
  19817. *
  19818. */
  19819. cache: Object;
  19820. /**
  19821. *
  19822. */
  19823. dynamic: boolean;
  19824. /**
  19825. *
  19826. */
  19827. unitTests: any[];
  19828. /**
  19829. *
  19830. * @param moduleName
  19831. * @param bundleName
  19832. * @param locale
  19833. */
  19834. getL10nName(moduleName: any, bundleName: any, locale: any): String;
  19835. /**
  19836. *
  19837. * @param moduleName
  19838. * @param bundleName
  19839. * @param locale
  19840. */
  19841. getLocalization(moduleName: any, bundleName: any, locale: any): any;
  19842. /**
  19843. * id is in one of the following formats
  19844. *
  19845. * /nls/
  19846. * => load the bundle, localized to config.locale; load all bundles localized to
  19847. * config.extraLocale (if any); return the loaded bundle localized to config.locale.
  19848. * /nls//
  19849. * => load then return the bundle localized to
  19850. * preload/nls//
  19851. * => for config.locale and all config.extraLocale, load all bundles found
  19852. * in the best-matching bundle rollup. A value of 1 is returned, which
  19853. * is meaningless other than to say the plugin is executing the requested
  19854. * preloads
  19855. *
  19856. * In cases 1 and 2, is always normalized to an absolute module id upon entry; see
  19857. * normalize. In case 3, it is assumed to be absolute; this is arranged by the builder.
  19858. *
  19859. * To load a bundle means to insert the bundle into the plugin's cache and publish the bundle
  19860. * value to the loader. Given , , and a particular , the cache key
  19861. *
  19862. * <path>/nls/<bundle>/<locale>
  19863. * will hold the value. Similarly, then plugin will publish this value to the loader by
  19864. *
  19865. * define("<path>/nls/<bundle>/<locale>", <bundle-value>);
  19866. * Given this algorithm, other machinery can provide fast load paths be preplacing
  19867. * values in the plugin's cache, which is public. When a load is demanded the
  19868. * cache is inspected before starting any loading. Explicitly placing values in the plugin
  19869. * cache is an advanced/experimental feature that should not be needed; use at your own risk.
  19870. *
  19871. * For the normal AMD algorithm, the root bundle is loaded first, which instructs the
  19872. * plugin what additional localized bundles are required for a particular locale. These
  19873. * additional locales are loaded and a mix of the root and each progressively-specific
  19874. * locale is returned. For example:
  19875. *
  19876. * The client demands "dojo/i18n!some/path/nls/someBundle
  19877. * The loader demands load(some/path/nls/someBundle)
  19878. * This plugin require's "some/path/nls/someBundle", which is the root bundle.
  19879. * Assuming config.locale is "ab-cd-ef" and the root bundle indicates that localizations
  19880. * are available for "ab" and "ab-cd-ef" (note the missing "ab-cd", then the plugin
  19881. * requires "some/path/nls/ab/someBundle" and "some/path/nls/ab-cd-ef/someBundle"
  19882. * Upon receiving all required bundles, the plugin constructs the value of the bundle
  19883. * ab-cd-ef as...
  19884. * mixin(mixin(mixin({}, require("some/path/nls/someBundle"),
  19885. * require("some/path/nls/ab/someBundle")),
  19886. * require("some/path/nls/ab-cd-ef/someBundle"));
  19887. *
  19888. * This value is inserted into the cache and published to the loader at the
  19889. * key/module-id some/path/nls/someBundle/ab-cd-ef.
  19890. *
  19891. * The special preload signature (case 3) instructs the plugin to stop servicing all normal requests
  19892. * (further preload requests will be serviced) until all ongoing preloading has completed.
  19893. *
  19894. * The preload signature instructs the plugin that a special rollup module is available that contains
  19895. * one or more flattened, localized bundles. The JSON array of available locales indicates which locales
  19896. * are available. Here is an example:
  19897. *
  19898. * *preload*some/path/nls/someModule*["root", "ab", "ab-cd-ef"]
  19899. * This indicates the following rollup modules are available:
  19900. *
  19901. * some/path/nls/someModule_ROOT
  19902. * some/path/nls/someModule_ab
  19903. * some/path/nls/someModule_ab-cd-ef
  19904. * Each of these modules is a normal AMD module that contains one or more flattened bundles in a hash.
  19905. * For example, assume someModule contained the bundles some/bundle/path/someBundle and
  19906. * some/bundle/path/someOtherBundle, then some/path/nls/someModule_ab would be expressed as follows:
  19907. *
  19908. * define({
  19909. * some/bundle/path/someBundle:<value of someBundle, flattened with respect to locale ab>,
  19910. * some/bundle/path/someOtherBundle:<value of someOtherBundle, flattened with respect to locale ab>,
  19911. * });
  19912. * E.g., given this design, preloading for locale=="ab" can execute the following algorithm:
  19913. *
  19914. * require(["some/path/nls/someModule_ab"], function(rollup){
  19915. * for(var p in rollup){
  19916. * var id = p + "/ab",
  19917. * cache[id] = rollup[p];
  19918. * define(id, rollup[p]);
  19919. * }
  19920. * });
  19921. * Similarly, if "ab-cd" is requested, the algorithm can determine that "ab" is the best available and
  19922. * load accordingly.
  19923. *
  19924. * The builder will write such rollups for every layer if a non-empty localeList profile property is
  19925. * provided. Further, the builder will include the following cache entry in the cache associated with
  19926. * any layer.
  19927. *
  19928. * "*now":function(r){r(['dojo/i18n!*preload*<path>/nls/<module>*<JSON array of available locales>']);}
  19929. * The *now special cache module instructs the loader to apply the provided function to context-require
  19930. * with respect to the particular layer being defined. This causes the plugin to hold all normal service
  19931. * requests until all preloading is complete.
  19932. *
  19933. * Notice that this algorithm is rarely better than the standard AMD load algorithm. Consider the normal case
  19934. * where the target locale has a single segment and a layer depends on a single bundle:
  19935. *
  19936. * Without Preloads:
  19937. *
  19938. * Layer loads root bundle.
  19939. * bundle is demanded; plugin loads single localized bundle.
  19940. * With Preloads:
  19941. *
  19942. * Layer causes preloading of target bundle.
  19943. * bundle is demanded; service is delayed until preloading complete; bundle is returned.
  19944. * In each case a single transaction is required to load the target bundle. In cases where multiple bundles
  19945. * are required and/or the locale has multiple segments, preloads still requires a single transaction whereas
  19946. * the normal path requires an additional transaction for each additional bundle/locale-segment. However all
  19947. * of these additional transactions can be done concurrently. Owing to this analysis, the entire preloading
  19948. * algorithm can be discard during a build by setting the has feature dojo-preload-i18n-Api to false.
  19949. *
  19950. * @param id
  19951. * @param require
  19952. * @param load
  19953. */
  19954. load(id: any, require: any, load: any): void;
  19955. /**
  19956. * id may be relative.
  19957. * preload has form *preload*<path>/nls/<module>*<flattened locales> and
  19958. * therefore never looks like a relative
  19959. *
  19960. * @param id
  19961. * @param toAbsMid
  19962. */
  19963. normalize(id: any, toAbsMid: any): any;
  19964. /**
  19965. *
  19966. * @param locale
  19967. */
  19968. normalizeLocale(locale: any): any;
  19969. }
  19970. namespace i18n {
  19971. /**
  19972. * Permalink: http://dojotoolkit.org/api/1.9/dojo/i18n.cache.html
  19973. *
  19974. *
  19975. */
  19976. interface cache {
  19977. }
  19978. }
  19979. /**
  19980. * Permalink: http://dojotoolkit.org/api/1.9/dojo/json.html
  19981. *
  19982. * Functions to parse and serialize JSON
  19983. *
  19984. */
  19985. interface json {
  19986. /**
  19987. * Parses a JSON string to return a JavaScript object.
  19988. * This function follows native JSON API
  19989. * Throws for invalid JSON strings. This delegates to eval() if native JSON
  19990. * support is not available. By default this will evaluate any valid JS expression.
  19991. * With the strict parameter set to true, the parser will ensure that only
  19992. * valid JSON strings are parsed (otherwise throwing an error). Without the strict
  19993. * parameter, the content passed to this method must come
  19994. * from a trusted source.
  19995. *
  19996. * @param str a string literal of a JSON item, for instance:'{ "foo": [ "bar", 1, { "baz": "thud" } ] }'
  19997. * @param strict When set to true, this will ensure that only valid, secure JSON is ever parsed.Make sure this is set to true for untrusted content. Note that on browsers/engineswithout native JSON support, setting this to true will run slower.
  19998. */
  19999. parse(str: any, strict: any): void;
  20000. /**
  20001. * Returns a JSON serialization of an object.
  20002. * Returns a JSON serialization of an object.
  20003. * This function follows native JSON API
  20004. * Note that this doesn't check for infinite recursion, so don't do that!
  20005. *
  20006. * @param value A value to be serialized.
  20007. * @param replacer A replacer function that is called for each value and can return a replacement
  20008. * @param spacer A spacer string to be used for pretty printing of JSON
  20009. */
  20010. stringify(value: any, replacer: any, spacer: any): void;
  20011. }
  20012. /**
  20013. * Permalink: http://dojotoolkit.org/api/1.9/dojo/loadInit.html
  20014. *
  20015. *
  20016. */
  20017. interface loadInit {
  20018. /**
  20019. *
  20020. */
  20021. dynamic: number;
  20022. /**
  20023. *
  20024. */
  20025. load: Object;
  20026. /**
  20027. *
  20028. * @param id
  20029. */
  20030. normalize(id: any): any;
  20031. }
  20032. /**
  20033. * Permalink: http://dojotoolkit.org/api/1.9/dojo/keys.html
  20034. *
  20035. * Definitions for common key values. Client code should test keyCode against these named constants,
  20036. * as the actual codes can vary by browser.
  20037. *
  20038. */
  20039. interface keys {
  20040. /**
  20041. *
  20042. */
  20043. ALT: number;
  20044. /**
  20045. *
  20046. */
  20047. BACKSPACE: number;
  20048. /**
  20049. *
  20050. */
  20051. CAPS_LOCK: number;
  20052. /**
  20053. *
  20054. */
  20055. CLEAR: number;
  20056. /**
  20057. *
  20058. */
  20059. copyKey: number;
  20060. /**
  20061. *
  20062. */
  20063. CTRL: number;
  20064. /**
  20065. *
  20066. */
  20067. DELETE: number;
  20068. /**
  20069. *
  20070. */
  20071. DOWN_ARROW: number;
  20072. /**
  20073. *
  20074. */
  20075. DOWN_DPAD: number;
  20076. /**
  20077. *
  20078. */
  20079. END: number;
  20080. /**
  20081. *
  20082. */
  20083. ENTER: number;
  20084. /**
  20085. *
  20086. */
  20087. ESCAPE: number;
  20088. /**
  20089. *
  20090. */
  20091. F1: number;
  20092. /**
  20093. *
  20094. */
  20095. F10: number;
  20096. /**
  20097. *
  20098. */
  20099. F11: number;
  20100. /**
  20101. *
  20102. */
  20103. F12: number;
  20104. /**
  20105. *
  20106. */
  20107. F13: number;
  20108. /**
  20109. *
  20110. */
  20111. F14: number;
  20112. /**
  20113. *
  20114. */
  20115. F15: number;
  20116. /**
  20117. *
  20118. */
  20119. F2: number;
  20120. /**
  20121. *
  20122. */
  20123. F3: number;
  20124. /**
  20125. *
  20126. */
  20127. F4: number;
  20128. /**
  20129. *
  20130. */
  20131. F5: number;
  20132. /**
  20133. *
  20134. */
  20135. F6: number;
  20136. /**
  20137. *
  20138. */
  20139. F7: number;
  20140. /**
  20141. *
  20142. */
  20143. F8: number;
  20144. /**
  20145. *
  20146. */
  20147. F9: number;
  20148. /**
  20149. *
  20150. */
  20151. HELP: number;
  20152. /**
  20153. *
  20154. */
  20155. HOME: number;
  20156. /**
  20157. *
  20158. */
  20159. INSERT: number;
  20160. /**
  20161. *
  20162. */
  20163. LEFT_ARROW: number;
  20164. /**
  20165. *
  20166. */
  20167. LEFT_DPAD: number;
  20168. /**
  20169. *
  20170. */
  20171. LEFT_WINDOW: number;
  20172. /**
  20173. *
  20174. */
  20175. META: number;
  20176. /**
  20177. *
  20178. */
  20179. NUM_LOCK: number;
  20180. /**
  20181. *
  20182. */
  20183. NUMPAD_0: number;
  20184. /**
  20185. *
  20186. */
  20187. NUMPAD_1: number;
  20188. /**
  20189. *
  20190. */
  20191. NUMPAD_2: number;
  20192. /**
  20193. *
  20194. */
  20195. NUMPAD_3: number;
  20196. /**
  20197. *
  20198. */
  20199. NUMPAD_4: number;
  20200. /**
  20201. *
  20202. */
  20203. NUMPAD_5: number;
  20204. /**
  20205. *
  20206. */
  20207. NUMPAD_6: number;
  20208. /**
  20209. *
  20210. */
  20211. NUMPAD_7: number;
  20212. /**
  20213. *
  20214. */
  20215. NUMPAD_8: number;
  20216. /**
  20217. *
  20218. */
  20219. NUMPAD_9: number;
  20220. /**
  20221. *
  20222. */
  20223. NUMPAD_DIVIDE: number;
  20224. /**
  20225. *
  20226. */
  20227. NUMPAD_ENTER: number;
  20228. /**
  20229. *
  20230. */
  20231. NUMPAD_MINUS: number;
  20232. /**
  20233. *
  20234. */
  20235. NUMPAD_MULTIPLY: number;
  20236. /**
  20237. *
  20238. */
  20239. NUMPAD_PERIOD: number;
  20240. /**
  20241. *
  20242. */
  20243. NUMPAD_PLUS: number;
  20244. /**
  20245. *
  20246. */
  20247. PAGE_DOWN: number;
  20248. /**
  20249. *
  20250. */
  20251. PAGE_UP: number;
  20252. /**
  20253. *
  20254. */
  20255. PAUSE: number;
  20256. /**
  20257. *
  20258. */
  20259. RIGHT_ARROW: number;
  20260. /**
  20261. *
  20262. */
  20263. RIGHT_DPAD: number;
  20264. /**
  20265. *
  20266. */
  20267. RIGHT_WINDOW: number;
  20268. /**
  20269. *
  20270. */
  20271. SCROLL_LOCK: number;
  20272. /**
  20273. *
  20274. */
  20275. SELECT: number;
  20276. /**
  20277. *
  20278. */
  20279. SHIFT: number;
  20280. /**
  20281. *
  20282. */
  20283. SPACE: number;
  20284. /**
  20285. *
  20286. */
  20287. TAB: number;
  20288. /**
  20289. *
  20290. */
  20291. UP_ARROW: number;
  20292. /**
  20293. *
  20294. */
  20295. UP_DPAD: number;
  20296. }
  20297. /**
  20298. * Permalink: http://dojotoolkit.org/api/1.9/dojo/mouse.html
  20299. *
  20300. * This module provide mouse event handling utility functions and exports
  20301. * mouseenter and mouseleave event emulation.
  20302. *
  20303. */
  20304. interface mouse {
  20305. /**
  20306. * This is an extension event for the mouseenter that IE provides, emulating the
  20307. * behavior on other browsers.
  20308. *
  20309. */
  20310. enter: Object;
  20311. /**
  20312. * This is an extension event for the mouseleave that IE provides, emulating the
  20313. * behavior on other browsers.
  20314. *
  20315. */
  20316. leave: Object;
  20317. /**
  20318. * Test an event object (from a mousedown event) to see if the left button was pressed.
  20319. *
  20320. */
  20321. isLeft(): void;
  20322. /**
  20323. * Test an event object (from a mousedown event) to see if the middle button was pressed.
  20324. *
  20325. */
  20326. isMiddle(): void;
  20327. /**
  20328. * Test an event object (from a mousedown event) to see if the right button was pressed.
  20329. *
  20330. */
  20331. isRight(): void;
  20332. /**
  20333. * This is an extension event for the mousewheel that non-Mozilla browsers provide,
  20334. * emulating the behavior on Mozilla based browsers.
  20335. *
  20336. * @param node
  20337. * @param listener
  20338. */
  20339. wheel(node: any, listener: any): any;
  20340. }
  20341. /**
  20342. * Permalink: http://dojotoolkit.org/api/1.9/dojo/node.html
  20343. *
  20344. * This AMD plugin module allows native Node.js modules to be loaded by AMD modules using the Dojo
  20345. * loader. Note that this plugin will not work with AMD loaders other than the Dojo loader.
  20346. *
  20347. */
  20348. interface node {
  20349. /**
  20350. * Standard AMD plugin interface. See https://github.com/amdjs/amdjs-api/wiki/Loader-Plugins
  20351. * for information.
  20352. *
  20353. * @param id
  20354. * @param require
  20355. * @param load
  20356. */
  20357. load(id: String, require: Function, load: Function): void;
  20358. /**
  20359. * Produces a normalized id to be used by node. Relative ids are resolved relative to the requesting
  20360. * module's location in the file system and will return an id with path separators appropriate for the
  20361. * local file system.
  20362. *
  20363. * @param id
  20364. * @param normalize
  20365. */
  20366. normalize(id: String, normalize: Function): any;
  20367. }
  20368. /**
  20369. * Permalink: http://dojotoolkit.org/api/1.9/dojo/number.html
  20370. *
  20371. * localized formatting and parsing routines for Number
  20372. *
  20373. */
  20374. interface number_ {
  20375. /**
  20376. * Format a Number as a String, using locale-specific settings
  20377. * Create a string from a Number using a known localized pattern.
  20378. * Formatting patterns appropriate to the locale are chosen from the
  20379. * Common Locale Data Repository as well as the appropriate symbols and
  20380. * delimiters.
  20381. * If value is Infinity, -Infinity, or is not a valid JavaScript number, return null.
  20382. *
  20383. * @param value the number to be formatted
  20384. * @param options OptionalAn object with the following properties:pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization. Literal characters in patterns are not supported.type (String, optional): choose a format type based on the locale from the following:decimal, scientific (not yet supported), percent, currency. decimal by default.places (Number, optional): fixed number of decimal places to show. This overrides anyinformation in the provided pattern.round (Number, optional): 5 rounds to nearest .5; 0 rounds to nearest whole (default). -1means do not round.locale (String, optional): override the locale used to determine formatting rulesfractional (Boolean, optional): If false, show no decimal places, overriding places and pattern settings.
  20385. */
  20386. format(value: number, options?: Object): any;
  20387. /**
  20388. * Convert a properly formatted string to a primitive Number, using
  20389. * locale-specific settings.
  20390. * Create a Number from a string using a known localized pattern.
  20391. * Formatting patterns are chosen appropriate to the locale
  20392. * and follow the syntax described by
  20393. * unicode.org TR35
  20394. * Note that literal characters in patterns are not supported.
  20395. *
  20396. * @param expression A string representation of a Number
  20397. * @param options OptionalAn object with the following properties:pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization. Literal characters in patterns are not supported.type (String, optional): choose a format type based on the locale from the following:decimal, scientific (not yet supported), percent, currency. decimal by default.locale (String, optional): override the locale used to determine formatting rulesstrict (Boolean, optional): strict parsing, false by default. Strict parsing requires input as produced by the format() method.Non-strict is more permissive, e.g. flexible on white space, omitting thousands separatorsfractional (Boolean|Array, optional): Whether to include the fractional portion, where the number of decimal places are implied by patternor explicit 'places' parameter. The value [true,false] makes the fractional portion optional.
  20398. */
  20399. parse(expression: String, options?: Object): number;
  20400. /**
  20401. * Builds the regular needed to parse a number
  20402. * Returns regular expression with positive and negative match, group
  20403. * and decimal separators
  20404. *
  20405. * @param options OptionalAn object with the following properties:pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization.type (String, optional): choose a format type based on the locale from the following:decimal, scientific (not yet supported), percent, currency. decimal by default.locale (String, optional): override the locale used to determine formatting rulesstrict (Boolean, optional): strict parsing, false by default. Strict parsing requires input as produced by the format() method.Non-strict is more permissive, e.g. flexible on white space, omitting thousands separatorsplaces (Number|String, optional): number of decimal places to accept: Infinity, a positive number, ora range "n,m". Defined by pattern or Infinity if pattern not provided.
  20406. */
  20407. regexp(options: Object): any;
  20408. /**
  20409. * Rounds to the nearest value with the given number of decimal places, away from zero
  20410. * Rounds to the nearest value with the given number of decimal places, away from zero if equal.
  20411. * Similar to Number.toFixed(), but compensates for browser quirks. Rounding can be done by
  20412. * fractional increments also, such as the nearest quarter.
  20413. * NOTE: Subject to floating point errors. See dojox/math/round for experimental workaround.
  20414. *
  20415. * @param value The number to round
  20416. * @param places OptionalThe number of decimal places where rounding takes place. Defaults to 0 for whole rounding.Must be non-negative.
  20417. * @param increment OptionalRounds next place to nearest value of increment/10. 10 by default.
  20418. */
  20419. round(value: number, places?: number, increment?: number): number;
  20420. }
  20421. namespace number_ {
  20422. /**
  20423. * Permalink: http://dojotoolkit.org/api/1.9/dojo/number.__FormatAbsoluteOptions.html
  20424. *
  20425. *
  20426. */
  20427. class __FormatAbsoluteOptions {
  20428. constructor();
  20429. /**
  20430. * the decimal separator
  20431. *
  20432. */
  20433. "decimal": string;
  20434. /**
  20435. * the group separator
  20436. *
  20437. */
  20438. "group": string;
  20439. /**
  20440. * number of decimal places. the range "n,m" will format to m places.
  20441. *
  20442. */
  20443. "places": number;
  20444. /**
  20445. * 5 rounds to nearest .5; 0 rounds to nearest whole (default). -1
  20446. * means don't round.
  20447. *
  20448. */
  20449. "round": number;
  20450. }
  20451. /**
  20452. * Permalink: http://dojotoolkit.org/api/1.9/dojo/number.__IntegerRegexpFlags.html
  20453. *
  20454. *
  20455. */
  20456. class __IntegerRegexpFlags {
  20457. constructor();
  20458. /**
  20459. * group size between separators
  20460. *
  20461. */
  20462. "groupSize": number;
  20463. /**
  20464. * second grouping, where separators 2..n have a different interval than the first separator (for India)
  20465. *
  20466. */
  20467. "groupSize2": number;
  20468. /**
  20469. * The character used as the thousands separator. Default is no
  20470. * separator. For more than one symbol use an array, e.g. [",", ""],
  20471. * makes ',' optional.
  20472. *
  20473. */
  20474. "separator": string;
  20475. /**
  20476. * The leading plus-or-minus sign. Can be true, false, or [true,false].
  20477. * Default is [true, false], (i.e. will match if it is signed
  20478. * or unsigned).
  20479. *
  20480. */
  20481. "signed": boolean;
  20482. }
  20483. /**
  20484. * Permalink: http://dojotoolkit.org/api/1.9/dojo/number.__FormatOptions.html
  20485. *
  20486. *
  20487. */
  20488. class __FormatOptions {
  20489. constructor();
  20490. /**
  20491. * If false, show no decimal places, overriding places and pattern settings.
  20492. *
  20493. */
  20494. "fractional": boolean;
  20495. /**
  20496. * override the locale used to determine formatting rules
  20497. *
  20498. */
  20499. "locale": string;
  20500. /**
  20501. * override formatting pattern
  20502. * with this string. Default value is based on locale. Overriding this property will defeat
  20503. * localization. Literal characters in patterns are not supported.
  20504. *
  20505. */
  20506. "pattern": string;
  20507. /**
  20508. * fixed number of decimal places to show. This overrides any
  20509. * information in the provided pattern.
  20510. *
  20511. */
  20512. "places": number;
  20513. /**
  20514. * 5 rounds to nearest .5; 0 rounds to nearest whole (default). -1
  20515. * means do not round.
  20516. *
  20517. */
  20518. "round": number;
  20519. /**
  20520. * choose a format type based on the locale from the following:
  20521. * decimal, scientific (not yet supported), percent, currency. decimal by default.
  20522. *
  20523. */
  20524. "type": string;
  20525. }
  20526. /**
  20527. * Permalink: http://dojotoolkit.org/api/1.9/dojo/number.__RealNumberRegexpFlags.html
  20528. *
  20529. *
  20530. */
  20531. class __RealNumberRegexpFlags {
  20532. constructor();
  20533. /**
  20534. * A string for the character used as the decimal point. Default
  20535. * is ".".
  20536. *
  20537. */
  20538. "decimal": string;
  20539. /**
  20540. * The leading plus-or-minus sign on the exponent. Can be true,
  20541. * false, or [true, false]. Default is [true, false], (i.e. will
  20542. * match if it is signed or unsigned). flags in regexp.integer can be
  20543. * applied.
  20544. *
  20545. */
  20546. "eSigned": boolean;
  20547. /**
  20548. * Express in exponential notation. Can be true, false, or [true,
  20549. * false]. Default is [true, false], (i.e. will match if the
  20550. * exponential part is present are not).
  20551. *
  20552. */
  20553. "exponent": boolean;
  20554. /**
  20555. * Whether decimal places are used. Can be true, false, or [true,
  20556. * false]. Default is [true, false] which means optional.
  20557. *
  20558. */
  20559. "fractional": boolean;
  20560. /**
  20561. * The integer number of decimal places or a range given as "n,m". If
  20562. * not given, the decimal part is optional and the number of places is
  20563. * unlimited.
  20564. *
  20565. */
  20566. "places": number;
  20567. }
  20568. /**
  20569. * Permalink: http://dojotoolkit.org/api/1.9/dojo/number.__ParseOptions.html
  20570. *
  20571. *
  20572. */
  20573. class __ParseOptions {
  20574. constructor();
  20575. /**
  20576. * Whether to include the fractional portion, where the number of decimal places are implied by pattern
  20577. * or explicit 'places' parameter. The value [true,false] makes the fractional portion optional.
  20578. *
  20579. */
  20580. "fractional": boolean;
  20581. /**
  20582. * override the locale used to determine formatting rules
  20583. *
  20584. */
  20585. "locale": string;
  20586. /**
  20587. * override formatting pattern
  20588. * with this string. Default value is based on locale. Overriding this property will defeat
  20589. * localization. Literal characters in patterns are not supported.
  20590. *
  20591. */
  20592. "pattern": string;
  20593. /**
  20594. * strict parsing, false by default. Strict parsing requires input as produced by the format() method.
  20595. * Non-strict is more permissive, e.g. flexible on white space, omitting thousands separators
  20596. *
  20597. */
  20598. "strict": boolean;
  20599. /**
  20600. * choose a format type based on the locale from the following:
  20601. * decimal, scientific (not yet supported), percent, currency. decimal by default.
  20602. *
  20603. */
  20604. "type": string;
  20605. }
  20606. /**
  20607. * Permalink: http://dojotoolkit.org/api/1.9/dojo/number.__RegexpOptions.html
  20608. *
  20609. *
  20610. */
  20611. class __RegexpOptions {
  20612. constructor();
  20613. /**
  20614. * override the locale used to determine formatting rules
  20615. *
  20616. */
  20617. "locale": string;
  20618. /**
  20619. * override formatting pattern
  20620. * with this string. Default value is based on locale. Overriding this property will defeat
  20621. * localization.
  20622. *
  20623. */
  20624. "pattern": string;
  20625. /**
  20626. * number of decimal places to accept: Infinity, a positive number, or
  20627. * a range "n,m". Defined by pattern or Infinity if pattern not provided.
  20628. *
  20629. */
  20630. "places": number;
  20631. /**
  20632. * strict parsing, false by default. Strict parsing requires input as produced by the format() method.
  20633. * Non-strict is more permissive, e.g. flexible on white space, omitting thousands separators
  20634. *
  20635. */
  20636. "strict": boolean;
  20637. /**
  20638. * choose a format type based on the locale from the following:
  20639. * decimal, scientific (not yet supported), percent, currency. decimal by default.
  20640. *
  20641. */
  20642. "type": string;
  20643. }
  20644. }
  20645. /**
  20646. * Permalink: http://dojotoolkit.org/api/1.9/dojo/parser.html
  20647. *
  20648. * The Dom/Widget parsing package
  20649. *
  20650. */
  20651. interface parser {
  20652. /**
  20653. * Calls new ctor(params, node), where params is the hash of parameters specified on the node,
  20654. * excluding data-dojo-type and data-dojo-mixins. Does not call startup().
  20655. *
  20656. * @param ctor Widget constructor.
  20657. * @param node This node will be replaced/attached to by the widget. It also specifies the arguments to pass to ctor.
  20658. * @param mixin OptionalAttributes in this object will be passed as parameters to ctor,overriding attributes specified on the node.
  20659. * @param options OptionalAn options object used to hold kwArgs for instantiation. See parse.options argument for details.
  20660. * @param scripts OptionalArray of <script type="dojo//"> DOMNodes. If not specified, will search for <script> tags inside node.
  20661. * @param inherited OptionalSettings from dir=rtl or lang=... on a node above this node. Overrides options.inherited.
  20662. */
  20663. construct(ctor: Function, node: HTMLElement, mixin?: Object, options?: Object, scripts?: HTMLElement[], inherited?: Object): any;
  20664. /**
  20665. * Takes array of nodes, and turns them into class instances and
  20666. * potentially calls a startup method to allow them to connect with
  20667. * any children.
  20668. *
  20669. * @param nodes Array of DOM nodes
  20670. * @param mixin OptionalAn object that will be mixed in with each node in the array.Values in the mixin will override values in the node, if theyexist.
  20671. * @param options OptionalAn object used to hold kwArgs for instantiation.See parse.options argument for details.
  20672. */
  20673. instantiate(nodes: any[], mixin?: Object, options?: Object): any;
  20674. /**
  20675. * Scan the DOM for class instances, and instantiate them.
  20676. * Search specified node (or root node) recursively for class instances,
  20677. * and instantiate them. Searches for either data-dojo-type="Class" or
  20678. * dojoType="Class" where "Class" is a a fully qualified class name,
  20679. * like dijit/form/Button
  20680. *
  20681. * Using data-dojo-type:
  20682. * Attributes using can be mixed into the parameters used to instantiate the
  20683. * Class by using a data-dojo-props attribute on the node being converted.
  20684. * data-dojo-props should be a string attribute to be converted from JSON.
  20685. *
  20686. * Using dojoType:
  20687. * Attributes are read from the original domNode and converted to appropriate
  20688. * types by looking up the Class prototype values. This is the default behavior
  20689. * from Dojo 1.0 to Dojo 1.5. dojoType support is deprecated, and will
  20690. * go away in Dojo 2.0.
  20691. *
  20692. * @param rootNode OptionalA default starting root node from which to start the parsing. Can beomitted, defaulting to the entire document. If omitted, the optionsobject can be passed in this place. If the options object has arootNode member, that is used.
  20693. * @param options OptionalA hash of options.noStart: Boolean?: when set will prevent the parser from calling .startup() when locating the nodes.rootNode: DomNode?: identical to the function's rootNode argument, though allowed to be passed in via this `options object.template: Boolean: If true, ignores ContentPane's stopParser flag and parses contents inside of a ContentPane inside of a template. This allows dojoAttachPoint on widgets/nodes nested inside the ContentPane to work.inherited: Object: Hash possibly containing dir and lang settings to be applied to parsed widgets, unless there's another setting on a sub-node that overridesscope: String: Root for attribute names to search for. If scopeName is dojo, will search for data-dojo-type (or dojoType). For backwards compatibility reasons defaults to dojo._scopeName (which is "dojo" except when multi-version support is used, when it will be something like dojo16, dojo20, etc.)propsThis: Object: If specified, "this" referenced from data-dojo-props will refer to propsThis. Intended for use from the widgets-in-template feature of dijit._WidgetsInTemplateMixincontextRequire: Function: If specified, this require is utilised for looking resolving modules instead of the dojo/parser context require(). Intended for use from the widgets-in-template feature of dijit._WidgetsInTemplateMixin.
  20694. */
  20695. parse(rootNode?: HTMLElement, options?: Object): any;
  20696. /**
  20697. * Scan a DOM tree and return an array of objects representing the DOMNodes
  20698. * that need to be turned into widgets.
  20699. * Search specified node (or document root node) recursively for class instances
  20700. * and return an array of objects that represent potential widgets to be
  20701. * instantiated. Searches for either data-dojo-type="MID" or dojoType="MID" where
  20702. * "MID" is a module ID like "dijit/form/Button" or a fully qualified Class name
  20703. * like "dijit/form/Button". If the MID is not currently available, scan will
  20704. * attempt to require() in the module.
  20705. *
  20706. * See parser.parse() for details of markup.
  20707. *
  20708. * @param root OptionalA default starting root node from which to start the parsing. Can beomitted, defaulting to the entire document. If omitted, the optionsobject can be passed in this place. If the options object has arootNode member, that is used.
  20709. * @param options a kwArgs options object, see parse() for details
  20710. */
  20711. scan(root?: HTMLElement, options?: Object): dojo.promise.Promise<any>;
  20712. }
  20713. /**
  20714. * Permalink: http://dojotoolkit.org/api/1.9/dojo/regexp.html
  20715. *
  20716. * Regular expressions and Builder resources
  20717. *
  20718. */
  20719. interface regexp {
  20720. /**
  20721. * Builds a regular expression that groups subexpressions
  20722. * A utility function used by some of the RE generators. The
  20723. * subexpressions are constructed by the function, re, in the second
  20724. * parameter. re builds one subexpression for each elem in the array
  20725. * a, in the first parameter. Returns a string for a regular
  20726. * expression that groups all the subexpressions.
  20727. *
  20728. * @param arr A single value or an array of values.
  20729. * @param re A function. Takes one parameter and converts it to a regularexpression.
  20730. * @param nonCapture OptionalIf true, uses non-capturing match, otherwise matches are retainedby regular expression. Defaults to false
  20731. */
  20732. buildGroupRE(arr: Object, re: Function, nonCapture?: boolean): any;
  20733. /**
  20734. * Builds a regular expression that groups subexpressions
  20735. * A utility function used by some of the RE generators. The
  20736. * subexpressions are constructed by the function, re, in the second
  20737. * parameter. re builds one subexpression for each elem in the array
  20738. * a, in the first parameter. Returns a string for a regular
  20739. * expression that groups all the subexpressions.
  20740. *
  20741. * @param arr A single value or an array of values.
  20742. * @param re A function. Takes one parameter and converts it to a regularexpression.
  20743. * @param nonCapture OptionalIf true, uses non-capturing match, otherwise matches are retainedby regular expression. Defaults to false
  20744. */
  20745. buildGroupRE(arr: any[], re: Function, nonCapture?: boolean): any;
  20746. /**
  20747. * Adds escape sequences for special characters in regular expressions
  20748. *
  20749. * @param str
  20750. * @param except Optionala String with special characters to be left unescaped
  20751. */
  20752. escapeString(str: String, except?: String): any;
  20753. /**
  20754. * adds group match to expression
  20755. *
  20756. * @param expression
  20757. * @param nonCapture OptionalIf true, uses non-capturing match, otherwise matches are retainedby regular expression.
  20758. */
  20759. group(expression: String, nonCapture?: boolean): String;
  20760. }
  20761. /**
  20762. * Permalink: http://dojotoolkit.org/api/1.9/dojo/require.html
  20763. *
  20764. *
  20765. */
  20766. interface require {
  20767. /**
  20768. *
  20769. */
  20770. dynamic: number;
  20771. /**
  20772. *
  20773. */
  20774. load: Object;
  20775. /**
  20776. *
  20777. * @param id
  20778. */
  20779. normalize(id: any): any;
  20780. }
  20781. /**
  20782. * Permalink: http://dojotoolkit.org/api/1.9/dojo/robotx.html
  20783. *
  20784. *
  20785. */
  20786. interface robotx {
  20787. /**
  20788. *
  20789. */
  20790. doc: Object;
  20791. /**
  20792. *
  20793. */
  20794. mouseWheelSize: number;
  20795. /**
  20796. *
  20797. */
  20798. window: Object;
  20799. /**
  20800. * Opens the application at the specified URL for testing, redirecting dojo to point to the application
  20801. * environment instead of the test environment.
  20802. *
  20803. * @param url URL to open. Any of the test's dojo.doc calls (e.g. dojo.byId()), and any dijit.registry calls(e.g. dijit.byId()) will point to elements and widgets inside this application.
  20804. */
  20805. initRobot(url: String): void;
  20806. /**
  20807. * Holds down a single key, like SHIFT or 'a'.
  20808. * Holds down a single key, like SHIFT or 'a'.
  20809. *
  20810. * @param charOrCode char/JS keyCode/dojo.keys.* constant for the key you want to hold downWarning: holding down a shifted key, like 'A', can have unpredictable results.
  20811. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  20812. */
  20813. keyDown(charOrCode: number, delay?: number): void;
  20814. /**
  20815. * Types a key combination, like SHIFT-TAB.
  20816. * Types a key combination, like SHIFT-TAB.
  20817. *
  20818. * @param charOrCode char/JS keyCode/dojo.keys.* constant for the key you want to press
  20819. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  20820. * @param modifiers JSON object that represents all of the modifier keys being pressed.It takes the following Boolean attributes:shiftaltctrlmeta
  20821. * @param asynchronous If true, the delay happens asynchronously and immediately, outside of the browser's JavaScript thread and any previous calls.This is useful for interacting with the browser's modal dialogs.
  20822. */
  20823. keyPress(charOrCode: number, delay: number, modifiers: Object, asynchronous: boolean): void;
  20824. /**
  20825. * Releases a single key, like SHIFT or 'a'.
  20826. * Releases a single key, like SHIFT or 'a'.
  20827. *
  20828. * @param charOrCode char/JS keyCode/dojo.keys.* constant for the key you want to releaseWarning: releasing a shifted key, like 'A', can have unpredictable results.
  20829. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  20830. */
  20831. keyUp(charOrCode: number, delay?: number): void;
  20832. /**
  20833. *
  20834. */
  20835. killRobot(): void;
  20836. /**
  20837. * Convenience function to do a press/release.
  20838. * See robot.mousePress for more info.
  20839. * Convenience function to do a press/release.
  20840. * See robot.mousePress for more info.
  20841. *
  20842. * @param buttons
  20843. * @param delay Optional
  20844. */
  20845. mouseClick(buttons: Object, delay?: number): void;
  20846. /**
  20847. * Moves the mouse to the specified x,y offset relative to the viewport.
  20848. *
  20849. * @param x x offset relative to the viewport, in pixels, to move the mouse.
  20850. * @param y y offset relative to the viewport, in pixels, to move the mouse.
  20851. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  20852. * @param duration OptionalApproximate time Robot will spend moving the mouseThe default is 100ms. This also affects how many mousemove events willbe generated, which is the log of the duration.
  20853. * @param absolute Boolean indicating whether the x and y values are absolute coordinates.If false, then mouseMove expects that the x,y will be relative to the window. (clientX/Y)If true, then mouseMove expects that the x,y will be absolute. (pageX/Y)
  20854. */
  20855. mouseMove(x: number, y: number, delay: number, duration: number, absolute: boolean): void;
  20856. /**
  20857. * Moves the mouse over the specified node at the specified relative x,y offset.
  20858. * Moves the mouse over the specified node at the specified relative x,y offset.
  20859. * If you do not specify an offset, mouseMove will default to move to the middle of the node.
  20860. * Example: to move the mouse over a ComboBox's down arrow node, call doh.mouseMoveAt(dijit.byId('setvaluetest').downArrowNode);
  20861. *
  20862. * @param node The id of the node, or the node itself, to move the mouse to.If you pass an id or a function that returns a node, the node will not be evaluated until the movement executes.This is useful if you need to move the mouse to an node that is not yet present.
  20863. * @param delay Delay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left:true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  20864. * @param duration Approximate time Robot will spend moving the mouseThe default is 100ms.
  20865. * @param offsetX x offset relative to the node, in pixels, to move the mouse. The default is half the node's width.
  20866. * @param offsetY y offset relative to the node, in pixels, to move the mouse. The default is half the node's height.
  20867. */
  20868. mouseMoveAt(node: String, delay: number, duration: number, offsetX: number, offsetY: number): void;
  20869. /**
  20870. * Moves the mouse over the specified node at the specified relative x,y offset.
  20871. * Moves the mouse over the specified node at the specified relative x,y offset.
  20872. * If you do not specify an offset, mouseMove will default to move to the middle of the node.
  20873. * Example: to move the mouse over a ComboBox's down arrow node, call doh.mouseMoveAt(dijit.byId('setvaluetest').downArrowNode);
  20874. *
  20875. * @param node The id of the node, or the node itself, to move the mouse to.If you pass an id or a function that returns a node, the node will not be evaluated until the movement executes.This is useful if you need to move the mouse to an node that is not yet present.
  20876. * @param delay Delay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left:true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  20877. * @param duration Approximate time Robot will spend moving the mouseThe default is 100ms.
  20878. * @param offsetX x offset relative to the node, in pixels, to move the mouse. The default is half the node's width.
  20879. * @param offsetY y offset relative to the node, in pixels, to move the mouse. The default is half the node's height.
  20880. */
  20881. mouseMoveAt(node: HTMLElement, delay: number, duration: number, offsetX: number, offsetY: number): void;
  20882. /**
  20883. * Moves the mouse over the specified node at the specified relative x,y offset.
  20884. * Moves the mouse over the specified node at the specified relative x,y offset.
  20885. * If you do not specify an offset, mouseMove will default to move to the middle of the node.
  20886. * Example: to move the mouse over a ComboBox's down arrow node, call doh.mouseMoveAt(dijit.byId('setvaluetest').downArrowNode);
  20887. *
  20888. * @param node The id of the node, or the node itself, to move the mouse to.If you pass an id or a function that returns a node, the node will not be evaluated until the movement executes.This is useful if you need to move the mouse to an node that is not yet present.
  20889. * @param delay Delay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left:true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  20890. * @param duration Approximate time Robot will spend moving the mouseThe default is 100ms.
  20891. * @param offsetX x offset relative to the node, in pixels, to move the mouse. The default is half the node's width.
  20892. * @param offsetY y offset relative to the node, in pixels, to move the mouse. The default is half the node's height.
  20893. */
  20894. mouseMoveAt(node: Function, delay: number, duration: number, offsetX: number, offsetY: number): void;
  20895. /**
  20896. * Move the mouse from the current position to the specified point.
  20897. * Delays reading contents point until queued command starts running.
  20898. * See mouseMove() for details.
  20899. *
  20900. * @param point x, y position relative to viewport, or if absolute == true, to document
  20901. * @param delay Optional
  20902. * @param duration Optional
  20903. * @param absolute
  20904. */
  20905. mouseMoveTo(point: Object, delay: number, duration: number, absolute: boolean): void;
  20906. /**
  20907. * Presses mouse buttons.
  20908. * Presses the mouse buttons you pass as true.
  20909. * Example: to press the left mouse button, pass {left: true}.
  20910. * Mouse buttons you don't specify keep their previous pressed state.
  20911. *
  20912. * @param buttons JSON object that represents all of the mouse buttons being pressed.It takes the following Boolean attributes:leftmiddleright
  20913. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  20914. */
  20915. mousePress(buttons: Object, delay?: number): void;
  20916. /**
  20917. * Releases mouse buttons.
  20918. * Releases the mouse buttons you pass as true.
  20919. * Example: to release the left mouse button, pass {left: true}.
  20920. * Mouse buttons you don't specify keep their previous pressed state.
  20921. * See robot.mousePress for more info.
  20922. *
  20923. * @param buttons
  20924. * @param delay Optional
  20925. */
  20926. mouseRelease(buttons: Object, delay?: number): void;
  20927. /**
  20928. * Spins the mouse wheel.
  20929. * Spins the wheel wheelAmt "notches."
  20930. * Negative wheelAmt scrolls up/away from the user.
  20931. * Positive wheelAmt scrolls down/toward the user.
  20932. * Note: this will all happen in one event.
  20933. * Warning: the size of one mouse wheel notch is an OS setting.
  20934. * You can access this size from robot.mouseWheelSize
  20935. *
  20936. * @param wheelAmt Number of notches to spin the wheel.Negative wheelAmt scrolls up/away from the user.Positive wheelAmt scrolls down/toward the user.
  20937. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms: robot.mouseClick({left: true}, 100) // first call; wait 100ms robot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  20938. * @param duration OptionalApproximate time Robot will spend moving the mouseBy default, the Robot will wheel the mouse as fast as possible.
  20939. */
  20940. mouseWheel(wheelAmt: number, delay?: number, duration?: number): void;
  20941. /**
  20942. * Scroll the passed node into view, if it is not.
  20943. *
  20944. * @param node The id of the node, or the node itself, to move the mouse to.If you pass an id or a function that returns a node, the node will not be evaluated until the movement executes.This is useful if you need to move the mouse to an node that is not yet present.
  20945. * @param delay Delay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.
  20946. */
  20947. scrollIntoView(node: String, delay: number): void;
  20948. /**
  20949. * Scroll the passed node into view, if it is not.
  20950. *
  20951. * @param node The id of the node, or the node itself, to move the mouse to.If you pass an id or a function that returns a node, the node will not be evaluated until the movement executes.This is useful if you need to move the mouse to an node that is not yet present.
  20952. * @param delay Delay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.
  20953. */
  20954. scrollIntoView(node: HTMLElement, delay: number): void;
  20955. /**
  20956. * Scroll the passed node into view, if it is not.
  20957. *
  20958. * @param node The id of the node, or the node itself, to move the mouse to.If you pass an id or a function that returns a node, the node will not be evaluated until the movement executes.This is useful if you need to move the mouse to an node that is not yet present.
  20959. * @param delay Delay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.
  20960. */
  20961. scrollIntoView(node: Function, delay: number): void;
  20962. /**
  20963. * Defer an action by adding it to the robot's incrementally delayed queue of actions to execute.
  20964. *
  20965. * @param f A function containing actions you want to defer. It can return a Promiseto delay further actions.
  20966. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  20967. * @param duration OptionalDelay to wait after firing.
  20968. */
  20969. sequence(f: Function, delay?: number, duration?: number): void;
  20970. /**
  20971. * Set clipboard content.
  20972. * Set data as clipboard content, overriding anything already there. The
  20973. * data will be put to the clipboard using the given format.
  20974. *
  20975. * @param data New clipboard content to set
  20976. * @param format OptionalSet this to "text/html" to put richtext to the clipboard.Otherwise, data is treated as plaintext. By default, plaintextis used.
  20977. */
  20978. setClipboard(data: String, format?: String): void;
  20979. /**
  20980. *
  20981. */
  20982. startRobot(): any;
  20983. /**
  20984. * Types a string of characters in order, or types a dojo.keys.* constant.
  20985. * Types a string of characters in order, or types a dojo.keys.* constant.
  20986. *
  20987. * @param chars String of characters to type, or a dojo.keys.* constant
  20988. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  20989. * @param duration OptionalTime, in milliseconds, to spend pressing all of the keys.The default is (string length)*50 ms.
  20990. */
  20991. typeKeys(chars: String, delay?: number, duration?: number): void;
  20992. /**
  20993. * Types a string of characters in order, or types a dojo.keys.* constant.
  20994. * Types a string of characters in order, or types a dojo.keys.* constant.
  20995. *
  20996. * @param chars String of characters to type, or a dojo.keys.* constant
  20997. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  20998. * @param duration OptionalTime, in milliseconds, to spend pressing all of the keys.The default is (string length)*50 ms.
  20999. */
  21000. typeKeys(chars: number, delay?: number, duration?: number): void;
  21001. /**
  21002. * Notifies DOH that the doh.robot is about to make a page change in the application it is driving,
  21003. * returning a doh.Deferred object the user should return in their runTest function as part of a DOH test.
  21004. *
  21005. * @param submitActions The doh.robot will execute the actions the test passes into the submitActions argument (like clicking the submit button),expecting these actions to create a page change (like a form submit).After these actions execute and the resulting page loads, the next test will start.
  21006. */
  21007. waitForPageToLoad(submitActions: Function): any;
  21008. }
  21009. namespace robotx {
  21010. /**
  21011. * Permalink: http://dojotoolkit.org/api/1.9/dojo/robotx._runsemaphore.html
  21012. *
  21013. *
  21014. */
  21015. interface _runsemaphore {
  21016. /**
  21017. *
  21018. */
  21019. lock: any[];
  21020. /**
  21021. *
  21022. */
  21023. unlock(): any;
  21024. }
  21025. }
  21026. /**
  21027. * Permalink: http://dojotoolkit.org/api/1.9/dojo/robot.html
  21028. *
  21029. *
  21030. */
  21031. interface robot {
  21032. /**
  21033. *
  21034. */
  21035. doc: Object;
  21036. /**
  21037. *
  21038. */
  21039. mouseWheelSize: number;
  21040. /**
  21041. *
  21042. */
  21043. window: Object;
  21044. /**
  21045. * Opens the application at the specified URL for testing, redirecting dojo to point to the application
  21046. * environment instead of the test environment.
  21047. *
  21048. * @param url URL to open. Any of the test's dojo.doc calls (e.g. dojo.byId()), and any dijit.registry calls(e.g. dijit.byId()) will point to elements and widgets inside this application.
  21049. */
  21050. initRobot(url: String): void;
  21051. /**
  21052. * Holds down a single key, like SHIFT or 'a'.
  21053. * Holds down a single key, like SHIFT or 'a'.
  21054. *
  21055. * @param charOrCode char/JS keyCode/dojo.keys.* constant for the key you want to hold downWarning: holding down a shifted key, like 'A', can have unpredictable results.
  21056. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  21057. */
  21058. keyDown(charOrCode: number, delay?: number): void;
  21059. /**
  21060. * Types a key combination, like SHIFT-TAB.
  21061. * Types a key combination, like SHIFT-TAB.
  21062. *
  21063. * @param charOrCode char/JS keyCode/dojo.keys.* constant for the key you want to press
  21064. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  21065. * @param modifiers JSON object that represents all of the modifier keys being pressed.It takes the following Boolean attributes:shiftaltctrlmeta
  21066. * @param asynchronous If true, the delay happens asynchronously and immediately, outside of the browser's JavaScript thread and any previous calls.This is useful for interacting with the browser's modal dialogs.
  21067. */
  21068. keyPress(charOrCode: number, delay: number, modifiers: Object, asynchronous: boolean): void;
  21069. /**
  21070. * Releases a single key, like SHIFT or 'a'.
  21071. * Releases a single key, like SHIFT or 'a'.
  21072. *
  21073. * @param charOrCode char/JS keyCode/dojo.keys.* constant for the key you want to releaseWarning: releasing a shifted key, like 'A', can have unpredictable results.
  21074. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  21075. */
  21076. keyUp(charOrCode: number, delay?: number): void;
  21077. /**
  21078. *
  21079. */
  21080. killRobot(): void;
  21081. /**
  21082. * Convenience function to do a press/release.
  21083. * See robot.mousePress for more info.
  21084. * Convenience function to do a press/release.
  21085. * See robot.mousePress for more info.
  21086. *
  21087. * @param buttons
  21088. * @param delay Optional
  21089. */
  21090. mouseClick(buttons: Object, delay?: number): void;
  21091. /**
  21092. * Moves the mouse to the specified x,y offset relative to the viewport.
  21093. *
  21094. * @param x x offset relative to the viewport, in pixels, to move the mouse.
  21095. * @param y y offset relative to the viewport, in pixels, to move the mouse.
  21096. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  21097. * @param duration OptionalApproximate time Robot will spend moving the mouseThe default is 100ms. This also affects how many mousemove events willbe generated, which is the log of the duration.
  21098. * @param absolute Boolean indicating whether the x and y values are absolute coordinates.If false, then mouseMove expects that the x,y will be relative to the window. (clientX/Y)If true, then mouseMove expects that the x,y will be absolute. (pageX/Y)
  21099. */
  21100. mouseMove(x: number, y: number, delay: number, duration: number, absolute: boolean): void;
  21101. /**
  21102. * Moves the mouse over the specified node at the specified relative x,y offset.
  21103. * Moves the mouse over the specified node at the specified relative x,y offset.
  21104. * If you do not specify an offset, mouseMove will default to move to the middle of the node.
  21105. * Example: to move the mouse over a ComboBox's down arrow node, call doh.mouseMoveAt(dijit.byId('setvaluetest').downArrowNode);
  21106. *
  21107. * @param node The id of the node, or the node itself, to move the mouse to.If you pass an id or a function that returns a node, the node will not be evaluated until the movement executes.This is useful if you need to move the mouse to an node that is not yet present.
  21108. * @param delay Delay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left:true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  21109. * @param duration Approximate time Robot will spend moving the mouseThe default is 100ms.
  21110. * @param offsetX x offset relative to the node, in pixels, to move the mouse. The default is half the node's width.
  21111. * @param offsetY y offset relative to the node, in pixels, to move the mouse. The default is half the node's height.
  21112. */
  21113. mouseMoveAt(node: String, delay: number, duration: number, offsetX: number, offsetY: number): void;
  21114. /**
  21115. * Moves the mouse over the specified node at the specified relative x,y offset.
  21116. * Moves the mouse over the specified node at the specified relative x,y offset.
  21117. * If you do not specify an offset, mouseMove will default to move to the middle of the node.
  21118. * Example: to move the mouse over a ComboBox's down arrow node, call doh.mouseMoveAt(dijit.byId('setvaluetest').downArrowNode);
  21119. *
  21120. * @param node The id of the node, or the node itself, to move the mouse to.If you pass an id or a function that returns a node, the node will not be evaluated until the movement executes.This is useful if you need to move the mouse to an node that is not yet present.
  21121. * @param delay Delay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left:true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  21122. * @param duration Approximate time Robot will spend moving the mouseThe default is 100ms.
  21123. * @param offsetX x offset relative to the node, in pixels, to move the mouse. The default is half the node's width.
  21124. * @param offsetY y offset relative to the node, in pixels, to move the mouse. The default is half the node's height.
  21125. */
  21126. mouseMoveAt(node: HTMLElement, delay: number, duration: number, offsetX: number, offsetY: number): void;
  21127. /**
  21128. * Moves the mouse over the specified node at the specified relative x,y offset.
  21129. * Moves the mouse over the specified node at the specified relative x,y offset.
  21130. * If you do not specify an offset, mouseMove will default to move to the middle of the node.
  21131. * Example: to move the mouse over a ComboBox's down arrow node, call doh.mouseMoveAt(dijit.byId('setvaluetest').downArrowNode);
  21132. *
  21133. * @param node The id of the node, or the node itself, to move the mouse to.If you pass an id or a function that returns a node, the node will not be evaluated until the movement executes.This is useful if you need to move the mouse to an node that is not yet present.
  21134. * @param delay Delay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left:true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  21135. * @param duration Approximate time Robot will spend moving the mouseThe default is 100ms.
  21136. * @param offsetX x offset relative to the node, in pixels, to move the mouse. The default is half the node's width.
  21137. * @param offsetY y offset relative to the node, in pixels, to move the mouse. The default is half the node's height.
  21138. */
  21139. mouseMoveAt(node: Function, delay: number, duration: number, offsetX: number, offsetY: number): void;
  21140. /**
  21141. * Move the mouse from the current position to the specified point.
  21142. * Delays reading contents point until queued command starts running.
  21143. * See mouseMove() for details.
  21144. *
  21145. * @param point x, y position relative to viewport, or if absolute == true, to document
  21146. * @param delay Optional
  21147. * @param duration Optional
  21148. * @param absolute
  21149. */
  21150. mouseMoveTo(point: Object, delay: number, duration: number, absolute: boolean): void;
  21151. /**
  21152. * Presses mouse buttons.
  21153. * Presses the mouse buttons you pass as true.
  21154. * Example: to press the left mouse button, pass {left: true}.
  21155. * Mouse buttons you don't specify keep their previous pressed state.
  21156. *
  21157. * @param buttons JSON object that represents all of the mouse buttons being pressed.It takes the following Boolean attributes:leftmiddleright
  21158. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  21159. */
  21160. mousePress(buttons: Object, delay?: number): void;
  21161. /**
  21162. * Releases mouse buttons.
  21163. * Releases the mouse buttons you pass as true.
  21164. * Example: to release the left mouse button, pass {left: true}.
  21165. * Mouse buttons you don't specify keep their previous pressed state.
  21166. * See robot.mousePress for more info.
  21167. *
  21168. * @param buttons
  21169. * @param delay Optional
  21170. */
  21171. mouseRelease(buttons: Object, delay?: number): void;
  21172. /**
  21173. * Spins the mouse wheel.
  21174. * Spins the wheel wheelAmt "notches."
  21175. * Negative wheelAmt scrolls up/away from the user.
  21176. * Positive wheelAmt scrolls down/toward the user.
  21177. * Note: this will all happen in one event.
  21178. * Warning: the size of one mouse wheel notch is an OS setting.
  21179. * You can access this size from robot.mouseWheelSize
  21180. *
  21181. * @param wheelAmt Number of notches to spin the wheel.Negative wheelAmt scrolls up/away from the user.Positive wheelAmt scrolls down/toward the user.
  21182. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms: robot.mouseClick({left: true}, 100) // first call; wait 100ms robot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  21183. * @param duration OptionalApproximate time Robot will spend moving the mouseBy default, the Robot will wheel the mouse as fast as possible.
  21184. */
  21185. mouseWheel(wheelAmt: number, delay: number, duration: number): void;
  21186. /**
  21187. * Scroll the passed node into view, if it is not.
  21188. *
  21189. * @param node The id of the node, or the node itself, to move the mouse to.If you pass an id or a function that returns a node, the node will not be evaluated until the movement executes.This is useful if you need to move the mouse to an node that is not yet present.
  21190. * @param delay Delay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.
  21191. */
  21192. scrollIntoView(node: String, delay: number): void;
  21193. /**
  21194. * Scroll the passed node into view, if it is not.
  21195. *
  21196. * @param node The id of the node, or the node itself, to move the mouse to.If you pass an id or a function that returns a node, the node will not be evaluated until the movement executes.This is useful if you need to move the mouse to an node that is not yet present.
  21197. * @param delay Delay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.
  21198. */
  21199. scrollIntoView(node: HTMLElement, delay: number): void;
  21200. /**
  21201. * Scroll the passed node into view, if it is not.
  21202. *
  21203. * @param node The id of the node, or the node itself, to move the mouse to.If you pass an id or a function that returns a node, the node will not be evaluated until the movement executes.This is useful if you need to move the mouse to an node that is not yet present.
  21204. * @param delay Delay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.
  21205. */
  21206. scrollIntoView(node: Function, delay: number): void;
  21207. /**
  21208. * Defer an action by adding it to the robot's incrementally delayed queue of actions to execute.
  21209. *
  21210. * @param f A function containing actions you want to defer. It can return a Promiseto delay further actions.
  21211. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  21212. * @param duration OptionalDelay to wait after firing.
  21213. */
  21214. sequence(f: Function, delay?: number, duration?: number): void;
  21215. /**
  21216. * Set clipboard content.
  21217. * Set data as clipboard content, overriding anything already there. The
  21218. * data will be put to the clipboard using the given format.
  21219. *
  21220. * @param data New clipboard content to set
  21221. * @param format OptionalSet this to "text/html" to put richtext to the clipboard.Otherwise, data is treated as plaintext. By default, plaintextis used.
  21222. */
  21223. setClipboard(data: String, format?: String): void;
  21224. /**
  21225. *
  21226. */
  21227. startRobot(): any;
  21228. /**
  21229. * Types a string of characters in order, or types a dojo.keys.* constant.
  21230. * Types a string of characters in order, or types a dojo.keys.* constant.
  21231. *
  21232. * @param chars String of characters to type, or a dojo.keys.* constant
  21233. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  21234. * @param duration OptionalTime, in milliseconds, to spend pressing all of the keys.The default is (string length)*50 ms.
  21235. */
  21236. typeKeys(chars: String, delay?: number, duration?: number): void;
  21237. /**
  21238. * Types a string of characters in order, or types a dojo.keys.* constant.
  21239. * Types a string of characters in order, or types a dojo.keys.* constant.
  21240. *
  21241. * @param chars String of characters to type, or a dojo.keys.* constant
  21242. * @param delay OptionalDelay, in milliseconds, to wait before firing.The delay is a delta with respect to the previous automation call.For example, the following code ends after 600ms:robot.mouseClick({left: true}, 100) // first call; wait 100msrobot.typeKeys("dij", 500) // 500ms AFTER previous call; 600ms in all
  21243. * @param duration OptionalTime, in milliseconds, to spend pressing all of the keys.The default is (string length)*50 ms.
  21244. */
  21245. typeKeys(chars: number, delay?: number, duration?: number): void;
  21246. /**
  21247. * Notifies DOH that the doh.robot is about to make a page change in the application it is driving,
  21248. * returning a doh.Deferred object the user should return in their runTest function as part of a DOH test.
  21249. *
  21250. * @param submitActions The doh.robot will execute the actions the test passes into the submitActions argument (like clicking the submit button),expecting these actions to create a page change (like a form submit).After these actions execute and the resulting page loads, the next test will start.
  21251. */
  21252. waitForPageToLoad(submitActions: Function): any;
  21253. }
  21254. namespace robot {
  21255. /**
  21256. * Permalink: http://dojotoolkit.org/api/1.9/dojo/robot._runsemaphore.html
  21257. *
  21258. *
  21259. */
  21260. interface _runsemaphore {
  21261. /**
  21262. *
  21263. */
  21264. lock: any[];
  21265. /**
  21266. *
  21267. */
  21268. unlock(): any;
  21269. }
  21270. }
  21271. /**
  21272. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.html
  21273. *
  21274. * This module is the foundational module of the dojo boot sequence; it defines the dojo object.
  21275. *
  21276. */
  21277. interface main {
  21278. /**
  21279. * Browser history management resources
  21280. *
  21281. */
  21282. back: Object;
  21283. /**
  21284. *
  21285. */
  21286. baseUrl: string;
  21287. /**
  21288. *
  21289. */
  21290. behavior: Object;
  21291. /**
  21292. *
  21293. */
  21294. cldr: Object;
  21295. /**
  21296. *
  21297. */
  21298. colors: Object;
  21299. /**
  21300. * This module defines the user configuration during bootstrap.
  21301. *
  21302. */
  21303. config: Object;
  21304. /**
  21305. *
  21306. */
  21307. connectPublisher: Object;
  21308. /**
  21309. * A map of available XHR transport handle types. Name matches the
  21310. * handleAs attribute passed to XHR calls.
  21311. *
  21312. */
  21313. contentHandlers: Object;
  21314. /**
  21315. * localized formatting and parsing routines for currencies
  21316. *
  21317. */
  21318. currency: Object;
  21319. /**
  21320. *
  21321. */
  21322. data: Object;
  21323. /**
  21324. *
  21325. */
  21326. date: Object;
  21327. /**
  21328. *
  21329. */
  21330. dijit: Object;
  21331. /**
  21332. *
  21333. */
  21334. dnd: Object;
  21335. /**
  21336. * Alias for the current document. 'doc' can be modified
  21337. * for temporary context shifting. See also withDoc().
  21338. *
  21339. */
  21340. doc: Object;
  21341. /**
  21342. *
  21343. */
  21344. dojox: Object;
  21345. /**
  21346. * Effects library on top of Base animations
  21347. *
  21348. */
  21349. fx: Object;
  21350. /**
  21351. * TODOC
  21352. *
  21353. */
  21354. gears: Object;
  21355. /**
  21356. * Alias for the current window. 'global' can be modified
  21357. * for temporary context shifting. See also withGlobal().
  21358. *
  21359. */
  21360. global: Object;
  21361. /**
  21362. * TODOC
  21363. *
  21364. */
  21365. html: Object;
  21366. /**
  21367. * This module implements the dojo/i18n! plugin and the v1.6- i18n API
  21368. *
  21369. */
  21370. i18n: Object;
  21371. /**
  21372. *
  21373. */
  21374. io: Object;
  21375. /**
  21376. * True if client is Adobe Air
  21377. *
  21378. */
  21379. isAir: boolean;
  21380. /**
  21381. * Version as a Number if client is android browser. undefined otherwise.
  21382. *
  21383. */
  21384. isAndroid: number;
  21385. /**
  21386. *
  21387. */
  21388. isAsync: boolean;
  21389. /**
  21390. *
  21391. */
  21392. isBrowser: boolean;
  21393. /**
  21394. * Version as a Number if client is Chrome browser. undefined otherwise.
  21395. *
  21396. */
  21397. isChrome: number;
  21398. /**
  21399. *
  21400. */
  21401. isCopyKey: Object;
  21402. /**
  21403. *
  21404. */
  21405. isFF: Object;
  21406. /**
  21407. * Version as a Number if client is MSIE(PC). undefined otherwise. Corresponds to
  21408. * major detected IE version (6, 7, 8, etc.)
  21409. *
  21410. */
  21411. isIE: number;
  21412. /**
  21413. * Version as a Number if client is iPhone, iPod, or iPad. undefined otherwise.
  21414. *
  21415. */
  21416. isIos: number;
  21417. /**
  21418. * Version as a Number if client is a KHTML browser. undefined otherwise. Corresponds to major
  21419. * detected version.
  21420. *
  21421. */
  21422. isKhtml: number;
  21423. /**
  21424. * True if the client runs on Mac
  21425. *
  21426. */
  21427. isMac: boolean;
  21428. /**
  21429. *
  21430. */
  21431. isMoz: Object;
  21432. /**
  21433. *
  21434. */
  21435. isMozilla: Object;
  21436. /**
  21437. * Version as a Number if client is Opera. undefined otherwise. Corresponds to
  21438. * major detected version.
  21439. *
  21440. */
  21441. isOpera: number;
  21442. /**
  21443. *
  21444. */
  21445. isQuirks: boolean;
  21446. /**
  21447. * Version as a Number if client is Safari or iPhone. undefined otherwise.
  21448. *
  21449. */
  21450. isSafari: number;
  21451. /**
  21452. *
  21453. */
  21454. isSpidermonkey: boolean;
  21455. /**
  21456. * Version as a Number if client is a WebKit-derived browser (Konqueror,
  21457. * Safari, Chrome, etc.). undefined otherwise.
  21458. *
  21459. */
  21460. isWebKit: number;
  21461. /**
  21462. * True if client is Wii
  21463. *
  21464. */
  21465. isWii: boolean;
  21466. /**
  21467. * Definitions for common key values. Client code should test keyCode against these named constants,
  21468. * as the actual codes can vary by browser.
  21469. *
  21470. */
  21471. keys: Object;
  21472. /**
  21473. *
  21474. */
  21475. locale: Object;
  21476. /**
  21477. *
  21478. */
  21479. mouseButtons: Object;
  21480. /**
  21481. * localized formatting and parsing routines for Number
  21482. *
  21483. */
  21484. number: Object;
  21485. /**
  21486. *
  21487. */
  21488. parser: string;
  21489. /**
  21490. *
  21491. */
  21492. publish: Object;
  21493. /**
  21494. *
  21495. */
  21496. query: Object;
  21497. /**
  21498. * Regular expressions and Builder resources
  21499. *
  21500. */
  21501. regexp: Object;
  21502. /**
  21503. *
  21504. */
  21505. rpc: Object;
  21506. /**
  21507. *
  21508. */
  21509. scopeMap: Object;
  21510. /**
  21511. *
  21512. */
  21513. store: Object;
  21514. /**
  21515. * String utilities for Dojo
  21516. *
  21517. */
  21518. string: Object;
  21519. /**
  21520. *
  21521. */
  21522. subscribe: Object;
  21523. /**
  21524. * D.O.H. Test files for Dojo unit testing.
  21525. *
  21526. */
  21527. tests: Object;
  21528. /**
  21529. *
  21530. */
  21531. toJsonIndentStr: string;
  21532. /**
  21533. * This module provides unified touch event handlers by exporting
  21534. * press, move, release and cancel which can also run well on desktop.
  21535. * Based on http://dvcs.w3.org/hg/webevents/raw-file/tip/touchevents.html
  21536. * Also, if the dojoClick property is set to truthy on a DOM node, dojo/touch generates
  21537. * click events immediately for this node and its descendants (except for descendants that
  21538. * have a dojoClick property set to falsy), to avoid the delay before native browser click events,
  21539. * and regardless of whether evt.preventDefault() was called in a touch.press event listener.
  21540. *
  21541. */
  21542. touch: Object;
  21543. /**
  21544. * Version number of the Dojo Toolkit
  21545. *
  21546. */
  21547. version: Object;
  21548. /**
  21549. * TODOC
  21550. *
  21551. */
  21552. window: Object;
  21553. /**
  21554. * A registry to make contextual calling/searching easier.
  21555. * Objects of this class keep list of arrays in the form [name, check,
  21556. * wrap, directReturn] that are used to determine what the contextual
  21557. * result of a set of checked arguments is. All check/wrap functions
  21558. * in this registry should be of the same arity.
  21559. *
  21560. * @param returnWrappers Optional
  21561. */
  21562. AdapterRegistry(returnWrappers: boolean): void;
  21563. /**
  21564. * Adds the specified classes to the end of the class list on the
  21565. * passed node. Will not re-apply duplicate classes.
  21566. *
  21567. * @param node String ID or DomNode reference to add a class string too
  21568. * @param classStr A String class name to add, or several space-separated class names,or an array of class names.
  21569. */
  21570. addClass(node: String, classStr: String): void;
  21571. /**
  21572. * Adds the specified classes to the end of the class list on the
  21573. * passed node. Will not re-apply duplicate classes.
  21574. *
  21575. * @param node String ID or DomNode reference to add a class string too
  21576. * @param classStr A String class name to add, or several space-separated class names,or an array of class names.
  21577. */
  21578. addClass(node: HTMLElement, classStr: String): void;
  21579. /**
  21580. * Adds the specified classes to the end of the class list on the
  21581. * passed node. Will not re-apply duplicate classes.
  21582. *
  21583. * @param node String ID or DomNode reference to add a class string too
  21584. * @param classStr A String class name to add, or several space-separated class names,or an array of class names.
  21585. */
  21586. addClass(node: String, classStr: any[]): void;
  21587. /**
  21588. * Adds the specified classes to the end of the class list on the
  21589. * passed node. Will not re-apply duplicate classes.
  21590. *
  21591. * @param node String ID or DomNode reference to add a class string too
  21592. * @param classStr A String class name to add, or several space-separated class names,or an array of class names.
  21593. */
  21594. addClass(node: HTMLElement, classStr: any[]): void;
  21595. /**
  21596. * Add a function to execute on DOM content loaded and all requested modules have arrived and been evaluated.
  21597. * In most cases, the domReady plug-in should suffice and this method should not be needed.
  21598. *
  21599. * When called in a non-browser environment, just checks that all requested modules have arrived and been
  21600. * evaluated.
  21601. *
  21602. * @param priority OptionalThe order in which to exec this callback relative to other callbacks, defaults to 1000
  21603. * @param context The context in which to run execute callback, or a callback if not using context
  21604. * @param callback OptionalThe function to execute.
  21605. */
  21606. addOnLoad(priority: number, context: any, callback?: Function): void;
  21607. /**
  21608. * registers a function to be triggered when the page unloads.
  21609. * The first time that addOnUnload is called Dojo will
  21610. * register a page listener to trigger your unload handler
  21611. * with.
  21612. *
  21613. * In a browser environment, the functions will be triggered
  21614. * during the window.onbeforeunload event. Be careful of doing
  21615. * too much work in an unload handler. onbeforeunload can be
  21616. * triggered if a link to download a file is clicked, or if
  21617. * the link is a javascript: link. In these cases, the
  21618. * onbeforeunload event fires, but the document is not
  21619. * actually destroyed. So be careful about doing destructive
  21620. * operations in a dojo.addOnUnload callback.
  21621. *
  21622. * Further note that calling dojo.addOnUnload will prevent
  21623. * browsers from using a "fast back" cache to make page
  21624. * loading via back button instantaneous.
  21625. *
  21626. * @param obj Optional
  21627. * @param functionName Optional
  21628. */
  21629. addOnUnload(obj?: Object, functionName?: String): void;
  21630. /**
  21631. * registers a function to be triggered when the page unloads.
  21632. * The first time that addOnUnload is called Dojo will
  21633. * register a page listener to trigger your unload handler
  21634. * with.
  21635. *
  21636. * In a browser environment, the functions will be triggered
  21637. * during the window.onbeforeunload event. Be careful of doing
  21638. * too much work in an unload handler. onbeforeunload can be
  21639. * triggered if a link to download a file is clicked, or if
  21640. * the link is a javascript: link. In these cases, the
  21641. * onbeforeunload event fires, but the document is not
  21642. * actually destroyed. So be careful about doing destructive
  21643. * operations in a dojo.addOnUnload callback.
  21644. *
  21645. * Further note that calling dojo.addOnUnload will prevent
  21646. * browsers from using a "fast back" cache to make page
  21647. * loading via back button instantaneous.
  21648. *
  21649. * @param obj Optional
  21650. * @param functionName Optional
  21651. */
  21652. addOnUnload(obj?: Function, functionName?: String): void;
  21653. /**
  21654. * registers a function to be triggered when the page unloads.
  21655. * The first time that addOnUnload is called Dojo will
  21656. * register a page listener to trigger your unload handler
  21657. * with.
  21658. *
  21659. * In a browser environment, the functions will be triggered
  21660. * during the window.onbeforeunload event. Be careful of doing
  21661. * too much work in an unload handler. onbeforeunload can be
  21662. * triggered if a link to download a file is clicked, or if
  21663. * the link is a javascript: link. In these cases, the
  21664. * onbeforeunload event fires, but the document is not
  21665. * actually destroyed. So be careful about doing destructive
  21666. * operations in a dojo.addOnUnload callback.
  21667. *
  21668. * Further note that calling dojo.addOnUnload will prevent
  21669. * browsers from using a "fast back" cache to make page
  21670. * loading via back button instantaneous.
  21671. *
  21672. * @param obj Optional
  21673. * @param functionName Optional
  21674. */
  21675. addOnUnload(obj?: Object, functionName?: Function): void;
  21676. /**
  21677. * registers a function to be triggered when the page unloads.
  21678. * The first time that addOnUnload is called Dojo will
  21679. * register a page listener to trigger your unload handler
  21680. * with.
  21681. *
  21682. * In a browser environment, the functions will be triggered
  21683. * during the window.onbeforeunload event. Be careful of doing
  21684. * too much work in an unload handler. onbeforeunload can be
  21685. * triggered if a link to download a file is clicked, or if
  21686. * the link is a javascript: link. In these cases, the
  21687. * onbeforeunload event fires, but the document is not
  21688. * actually destroyed. So be careful about doing destructive
  21689. * operations in a dojo.addOnUnload callback.
  21690. *
  21691. * Further note that calling dojo.addOnUnload will prevent
  21692. * browsers from using a "fast back" cache to make page
  21693. * loading via back button instantaneous.
  21694. *
  21695. * @param obj Optional
  21696. * @param functionName Optional
  21697. */
  21698. addOnUnload(obj?: Function, functionName?: Function): void;
  21699. /**
  21700. * registers a function to be triggered when window.onunload fires.
  21701. * Be careful trying to modify the DOM or access JavaScript properties
  21702. * during this phase of page unloading: they may not always be available.
  21703. * Consider dojo.addOnUnload() if you need to modify the DOM or do heavy
  21704. * JavaScript work.
  21705. *
  21706. * @param obj Optional
  21707. * @param functionName Optional
  21708. */
  21709. addOnWindowUnload(obj?: Object, functionName?: String): void;
  21710. /**
  21711. * registers a function to be triggered when window.onunload fires.
  21712. * Be careful trying to modify the DOM or access JavaScript properties
  21713. * during this phase of page unloading: they may not always be available.
  21714. * Consider dojo.addOnUnload() if you need to modify the DOM or do heavy
  21715. * JavaScript work.
  21716. *
  21717. * @param obj Optional
  21718. * @param functionName Optional
  21719. */
  21720. addOnWindowUnload(obj?: Object, functionName?: Function): void;
  21721. /**
  21722. * A simpler interface to animateProperty(), also returns
  21723. * an instance of Animation but begins the animation
  21724. * immediately, unlike nearly every other Dojo animation API.
  21725. * Simpler (but somewhat less powerful) version
  21726. * of animateProperty. It uses defaults for many basic properties
  21727. * and allows for positional parameters to be used in place of the
  21728. * packed "property bag" which is used for other Dojo animation
  21729. * methods.
  21730. *
  21731. * The Animation object returned will be already playing, so
  21732. * calling play() on it again is (usually) a no-op.
  21733. *
  21734. * @param node a DOM node or the id of a node to animate CSS properties on
  21735. * @param properties
  21736. * @param duration OptionalThe number of milliseconds over which the animationshould run. Defaults to the global animation default duration(350ms).
  21737. * @param easing OptionalAn easing function over which to calculate accelerationand deceleration of the animation through its duration.A default easing algorithm is provided, but you mayplug in any you wish. A large selection of easing algorithmsare available in dojo/fx/easing.
  21738. * @param onEnd OptionalA function to be called when the animation finishesrunning.
  21739. * @param delay OptionalThe number of milliseconds to delay beginning theanimation by. The default is 0.
  21740. */
  21741. anim(node: HTMLElement, properties: Object, duration?: number, easing?: Function, onEnd?: Function, delay?: number): any;
  21742. /**
  21743. * A simpler interface to animateProperty(), also returns
  21744. * an instance of Animation but begins the animation
  21745. * immediately, unlike nearly every other Dojo animation API.
  21746. * Simpler (but somewhat less powerful) version
  21747. * of animateProperty. It uses defaults for many basic properties
  21748. * and allows for positional parameters to be used in place of the
  21749. * packed "property bag" which is used for other Dojo animation
  21750. * methods.
  21751. *
  21752. * The Animation object returned will be already playing, so
  21753. * calling play() on it again is (usually) a no-op.
  21754. *
  21755. * @param node a DOM node or the id of a node to animate CSS properties on
  21756. * @param properties
  21757. * @param duration OptionalThe number of milliseconds over which the animationshould run. Defaults to the global animation default duration(350ms).
  21758. * @param easing OptionalAn easing function over which to calculate accelerationand deceleration of the animation through its duration.A default easing algorithm is provided, but you mayplug in any you wish. A large selection of easing algorithmsare available in dojo/fx/easing.
  21759. * @param onEnd OptionalA function to be called when the animation finishesrunning.
  21760. * @param delay OptionalThe number of milliseconds to delay beginning theanimation by. The default is 0.
  21761. */
  21762. anim(node: String, properties: Object, duration?: number, easing?: Function, onEnd?: Function, delay?: number): any;
  21763. /**
  21764. * Returns an animation that will transition the properties of
  21765. * node defined in args depending how they are defined in
  21766. * args.properties
  21767. * Foundation of most dojo/_base/fx
  21768. * animations. It takes an object of "properties" corresponding to
  21769. * style properties, and animates them in parallel over a set
  21770. * duration.
  21771. *
  21772. * @param args An object with the following properties:properties (Object, optional): A hash map of style properties to Objects describing the transition,such as the properties of _Line with an additional 'units' propertynode (DOMNode|String): The node referenced in the animationduration (Integer, optional): Duration of the animation in milliseconds.easing (Function, optional): An easing function.
  21773. */
  21774. animateProperty(args: Object): any;
  21775. /**
  21776. * A generic animation class that fires callbacks into its handlers
  21777. * object at various states.
  21778. * A generic animation class that fires callbacks into its handlers
  21779. * object at various states. Nearly all dojo animation functions
  21780. * return an instance of this method, usually without calling the
  21781. * .play() method beforehand. Therefore, you will likely need to
  21782. * call .play() on instances of Animation when one is
  21783. * returned.
  21784. *
  21785. * @param args The 'magic argument', mixing all the properties into thisanimation instance.
  21786. */
  21787. Animation(args: Object): void;
  21788. /**
  21789. * Gets or sets an attribute on an HTML element.
  21790. * Handles normalized getting and setting of attributes on DOM
  21791. * Nodes. If 2 arguments are passed, and a the second argument is a
  21792. * string, acts as a getter.
  21793. *
  21794. * If a third argument is passed, or if the second argument is a
  21795. * map of attributes, acts as a setter.
  21796. *
  21797. * When passing functions as values, note that they will not be
  21798. * directly assigned to slots on the node, but rather the default
  21799. * behavior will be removed and the new behavior will be added
  21800. * using dojo.connect(), meaning that event handler properties
  21801. * will be normalized and that some caveats with regards to
  21802. * non-standard behaviors for onsubmit apply. Namely that you
  21803. * should cancel form submission using dojo.stopEvent() on the
  21804. * passed event object instead of returning a boolean value from
  21805. * the handler itself.
  21806. *
  21807. * @param node id or reference to the element to get or set the attribute on
  21808. * @param name the name of the attribute to get or set.
  21809. * @param value OptionalThe value to set for the attribute
  21810. */
  21811. attr(node: HTMLElement, name: String, value?: String): any;
  21812. /**
  21813. * Gets or sets an attribute on an HTML element.
  21814. * Handles normalized getting and setting of attributes on DOM
  21815. * Nodes. If 2 arguments are passed, and a the second argument is a
  21816. * string, acts as a getter.
  21817. *
  21818. * If a third argument is passed, or if the second argument is a
  21819. * map of attributes, acts as a setter.
  21820. *
  21821. * When passing functions as values, note that they will not be
  21822. * directly assigned to slots on the node, but rather the default
  21823. * behavior will be removed and the new behavior will be added
  21824. * using dojo.connect(), meaning that event handler properties
  21825. * will be normalized and that some caveats with regards to
  21826. * non-standard behaviors for onsubmit apply. Namely that you
  21827. * should cancel form submission using dojo.stopEvent() on the
  21828. * passed event object instead of returning a boolean value from
  21829. * the handler itself.
  21830. *
  21831. * @param node id or reference to the element to get or set the attribute on
  21832. * @param name the name of the attribute to get or set.
  21833. * @param value OptionalThe value to set for the attribute
  21834. */
  21835. attr(node: String, name: String, value?: String): any;
  21836. /**
  21837. * Gets or sets an attribute on an HTML element.
  21838. * Handles normalized getting and setting of attributes on DOM
  21839. * Nodes. If 2 arguments are passed, and a the second argument is a
  21840. * string, acts as a getter.
  21841. *
  21842. * If a third argument is passed, or if the second argument is a
  21843. * map of attributes, acts as a setter.
  21844. *
  21845. * When passing functions as values, note that they will not be
  21846. * directly assigned to slots on the node, but rather the default
  21847. * behavior will be removed and the new behavior will be added
  21848. * using dojo.connect(), meaning that event handler properties
  21849. * will be normalized and that some caveats with regards to
  21850. * non-standard behaviors for onsubmit apply. Namely that you
  21851. * should cancel form submission using dojo.stopEvent() on the
  21852. * passed event object instead of returning a boolean value from
  21853. * the handler itself.
  21854. *
  21855. * @param node id or reference to the element to get or set the attribute on
  21856. * @param name the name of the attribute to get or set.
  21857. * @param value OptionalThe value to set for the attribute
  21858. */
  21859. attr(node: HTMLElement, name: Object, value?: String): any;
  21860. /**
  21861. * Gets or sets an attribute on an HTML element.
  21862. * Handles normalized getting and setting of attributes on DOM
  21863. * Nodes. If 2 arguments are passed, and a the second argument is a
  21864. * string, acts as a getter.
  21865. *
  21866. * If a third argument is passed, or if the second argument is a
  21867. * map of attributes, acts as a setter.
  21868. *
  21869. * When passing functions as values, note that they will not be
  21870. * directly assigned to slots on the node, but rather the default
  21871. * behavior will be removed and the new behavior will be added
  21872. * using dojo.connect(), meaning that event handler properties
  21873. * will be normalized and that some caveats with regards to
  21874. * non-standard behaviors for onsubmit apply. Namely that you
  21875. * should cancel form submission using dojo.stopEvent() on the
  21876. * passed event object instead of returning a boolean value from
  21877. * the handler itself.
  21878. *
  21879. * @param node id or reference to the element to get or set the attribute on
  21880. * @param name the name of the attribute to get or set.
  21881. * @param value OptionalThe value to set for the attribute
  21882. */
  21883. attr(node: String, name: Object, value?: String): any;
  21884. /**
  21885. * Blend colors end and start with weight from 0 to 1, 0.5 being a 50/50 blend,
  21886. * can reuse a previously allocated Color object for the result
  21887. *
  21888. * @param start
  21889. * @param end
  21890. * @param weight
  21891. * @param obj Optional
  21892. */
  21893. blendColors(start: dojo._base.Color, end: dojo._base.Color, weight: number, obj?: dojo._base.Color): any;
  21894. /**
  21895. * Return the body element of the specified document or of dojo/_base/window::doc.
  21896. *
  21897. * @param doc Optional
  21898. */
  21899. body(doc?: HTMLDocument): any;
  21900. /**
  21901. * Returns DOM node with matching id attribute or falsy value (ex: null or undefined)
  21902. * if not found. If id is a DomNode, this function is a no-op.
  21903. *
  21904. * @param id A string to match an HTML id attribute or a reference to a DOM Node
  21905. * @param doc OptionalDocument to work in. Defaults to the current value ofdojo/_base/window.doc. Can be used to retrievenode references from other documents.
  21906. */
  21907. byId(id: String, doc?: HTMLDocument): any;
  21908. /**
  21909. * Returns DOM node with matching id attribute or falsy value (ex: null or undefined)
  21910. * if not found. If id is a DomNode, this function is a no-op.
  21911. *
  21912. * @param id A string to match an HTML id attribute or a reference to a DOM Node
  21913. * @param doc OptionalDocument to work in. Defaults to the current value ofdojo/_base/window.doc. Can be used to retrievenode references from other documents.
  21914. */
  21915. byId(id: HTMLElement, doc?: HTMLDocument): any;
  21916. /**
  21917. * A getter and setter for storing the string content associated with the
  21918. * module and url arguments.
  21919. * If module is a string that contains slashes, then it is interpretted as a fully
  21920. * resolved path (typically a result returned by require.toUrl), and url should not be
  21921. * provided. This is the preferred signature. If module is a string that does not
  21922. * contain slashes, then url must also be provided and module and url are used to
  21923. * call dojo.moduleUrl() to generate a module URL. This signature is deprecated.
  21924. * If value is specified, the cache value for the moduleUrl will be set to
  21925. * that value. Otherwise, dojo.cache will fetch the moduleUrl and store it
  21926. * in its internal cache and return that cached value for the URL. To clear
  21927. * a cache value pass null for value. Since XMLHttpRequest (XHR) is used to fetch the
  21928. * the URL contents, only modules on the same domain of the page can use this capability.
  21929. * The build system can inline the cache values though, to allow for xdomain hosting.
  21930. *
  21931. * @param module dojo/cldr/supplemental
  21932. * @param url The rest of the path to append to the path derived from the module argument. Ifmodule is an object, then this second argument should be the "value" argument instead.
  21933. * @param value OptionalIf a String, the value to use in the cache for the module/url combination.If an Object, it can have two properties: value and sanitize. The value propertyshould be the value to use in the cache, and sanitize can be set to true or false,to indicate if XML declarations should be removed from the value and if the HTMLinside a body tag in the value should be extracted as the real value. The value argumentor the value property on the value argument are usually only used by the build systemas it inlines cache content.
  21934. */
  21935. cache(module: String, url: String, value?: String): any;
  21936. /**
  21937. * A getter and setter for storing the string content associated with the
  21938. * module and url arguments.
  21939. * If module is a string that contains slashes, then it is interpretted as a fully
  21940. * resolved path (typically a result returned by require.toUrl), and url should not be
  21941. * provided. This is the preferred signature. If module is a string that does not
  21942. * contain slashes, then url must also be provided and module and url are used to
  21943. * call dojo.moduleUrl() to generate a module URL. This signature is deprecated.
  21944. * If value is specified, the cache value for the moduleUrl will be set to
  21945. * that value. Otherwise, dojo.cache will fetch the moduleUrl and store it
  21946. * in its internal cache and return that cached value for the URL. To clear
  21947. * a cache value pass null for value. Since XMLHttpRequest (XHR) is used to fetch the
  21948. * the URL contents, only modules on the same domain of the page can use this capability.
  21949. * The build system can inline the cache values though, to allow for xdomain hosting.
  21950. *
  21951. * @param module dojo/cldr/supplemental
  21952. * @param url The rest of the path to append to the path derived from the module argument. Ifmodule is an object, then this second argument should be the "value" argument instead.
  21953. * @param value OptionalIf a String, the value to use in the cache for the module/url combination.If an Object, it can have two properties: value and sanitize. The value propertyshould be the value to use in the cache, and sanitize can be set to true or false,to indicate if XML declarations should be removed from the value and if the HTMLinside a body tag in the value should be extracted as the real value. The value argumentor the value property on the value argument are usually only used by the build systemas it inlines cache content.
  21954. */
  21955. cache(module: Object, url: String, value?: String): any;
  21956. /**
  21957. * A getter and setter for storing the string content associated with the
  21958. * module and url arguments.
  21959. * If module is a string that contains slashes, then it is interpretted as a fully
  21960. * resolved path (typically a result returned by require.toUrl), and url should not be
  21961. * provided. This is the preferred signature. If module is a string that does not
  21962. * contain slashes, then url must also be provided and module and url are used to
  21963. * call dojo.moduleUrl() to generate a module URL. This signature is deprecated.
  21964. * If value is specified, the cache value for the moduleUrl will be set to
  21965. * that value. Otherwise, dojo.cache will fetch the moduleUrl and store it
  21966. * in its internal cache and return that cached value for the URL. To clear
  21967. * a cache value pass null for value. Since XMLHttpRequest (XHR) is used to fetch the
  21968. * the URL contents, only modules on the same domain of the page can use this capability.
  21969. * The build system can inline the cache values though, to allow for xdomain hosting.
  21970. *
  21971. * @param module dojo/cldr/supplemental
  21972. * @param url The rest of the path to append to the path derived from the module argument. Ifmodule is an object, then this second argument should be the "value" argument instead.
  21973. * @param value OptionalIf a String, the value to use in the cache for the module/url combination.If an Object, it can have two properties: value and sanitize. The value propertyshould be the value to use in the cache, and sanitize can be set to true or false,to indicate if XML declarations should be removed from the value and if the HTMLinside a body tag in the value should be extracted as the real value. The value argumentor the value property on the value argument are usually only used by the build systemas it inlines cache content.
  21974. */
  21975. cache(module: String, url: String, value?: Object): any;
  21976. /**
  21977. * A getter and setter for storing the string content associated with the
  21978. * module and url arguments.
  21979. * If module is a string that contains slashes, then it is interpretted as a fully
  21980. * resolved path (typically a result returned by require.toUrl), and url should not be
  21981. * provided. This is the preferred signature. If module is a string that does not
  21982. * contain slashes, then url must also be provided and module and url are used to
  21983. * call dojo.moduleUrl() to generate a module URL. This signature is deprecated.
  21984. * If value is specified, the cache value for the moduleUrl will be set to
  21985. * that value. Otherwise, dojo.cache will fetch the moduleUrl and store it
  21986. * in its internal cache and return that cached value for the URL. To clear
  21987. * a cache value pass null for value. Since XMLHttpRequest (XHR) is used to fetch the
  21988. * the URL contents, only modules on the same domain of the page can use this capability.
  21989. * The build system can inline the cache values though, to allow for xdomain hosting.
  21990. *
  21991. * @param module dojo/cldr/supplemental
  21992. * @param url The rest of the path to append to the path derived from the module argument. Ifmodule is an object, then this second argument should be the "value" argument instead.
  21993. * @param value OptionalIf a String, the value to use in the cache for the module/url combination.If an Object, it can have two properties: value and sanitize. The value propertyshould be the value to use in the cache, and sanitize can be set to true or false,to indicate if XML declarations should be removed from the value and if the HTMLinside a body tag in the value should be extracted as the real value. The value argumentor the value property on the value argument are usually only used by the build systemas it inlines cache content.
  21994. */
  21995. cache(module: Object, url: String, value?: Object): any;
  21996. /**
  21997. *
  21998. */
  21999. clearCache(): void;
  22000. /**
  22001. * Takes a named string, hex string, array of rgb or rgba values,
  22002. * an object with r, g, b, and a properties, or another Color object
  22003. * and creates a new Color instance to work from.
  22004. *
  22005. * @param color
  22006. */
  22007. Color(color: any[]): void;
  22008. /**
  22009. * Takes a named string, hex string, array of rgb or rgba values,
  22010. * an object with r, g, b, and a properties, or another Color object
  22011. * and creates a new Color instance to work from.
  22012. *
  22013. * @param color
  22014. */
  22015. Color(color: String): void;
  22016. /**
  22017. * Takes a named string, hex string, array of rgb or rgba values,
  22018. * an object with r, g, b, and a properties, or another Color object
  22019. * and creates a new Color instance to work from.
  22020. *
  22021. * @param color
  22022. */
  22023. Color(color: Object): void;
  22024. /**
  22025. * Builds a Color from a 3 or 4 element array, mapping each
  22026. * element in sequence to the rgb(a) values of the color.
  22027. *
  22028. * @param a
  22029. * @param obj Optional
  22030. */
  22031. colorFromArray(a: any[], obj?: dojo._base.Color): any;
  22032. /**
  22033. * Converts a hex string with a '#' prefix to a color object.
  22034. * Supports 12-bit #rgb shorthand. Optionally accepts a
  22035. * Color object to update with the parsed value.
  22036. *
  22037. * @param color
  22038. * @param obj Optional
  22039. */
  22040. colorFromHex(color: String, obj?: dojo._base.Color): any;
  22041. /**
  22042. * get rgb(a) array from css-style color declarations
  22043. * this function can handle all 4 CSS3 Color Module formats: rgb,
  22044. * rgba, hsl, hsla, including rgb(a) with percentage values.
  22045. *
  22046. * @param color
  22047. * @param obj Optional
  22048. */
  22049. colorFromRgb(color: String, obj?: dojo._base.Color): any;
  22050. /**
  22051. * Parses str for a color value. Accepts hex, rgb, and rgba
  22052. * style color values.
  22053. * Acceptable input values for str may include arrays of any form
  22054. * accepted by dojo.colorFromArray, hex strings such as "#aaaaaa", or
  22055. * rgb or rgba strings such as "rgb(133, 200, 16)" or "rgba(10, 10,
  22056. * 10, 50)"
  22057. *
  22058. * @param str
  22059. * @param obj Optional
  22060. */
  22061. colorFromString(str: String, obj?: dojo._base.Color): any;
  22062. /**
  22063. * dojo.connect is a deprecated event handling and delegation method in
  22064. * Dojo. It allows one function to "listen in" on the execution of
  22065. * any other, triggering the second whenever the first is called. Many
  22066. * listeners may be attached to a function, and source functions may
  22067. * be either regular function calls or DOM events.
  22068. * Connects listeners to actions, so that after event fires, a
  22069. * listener is called with the same arguments passed to the original
  22070. * function.
  22071. *
  22072. * Since dojo.connect allows the source of events to be either a
  22073. * "regular" JavaScript function or a DOM event, it provides a uniform
  22074. * interface for listening to all the types of events that an
  22075. * application is likely to deal with though a single, unified
  22076. * interface. DOM programmers may want to think of it as
  22077. * "addEventListener for everything and anything".
  22078. *
  22079. * When setting up a connection, the event parameter must be a
  22080. * string that is the name of the method/event to be listened for. If
  22081. * obj is null, kernel.global is assumed, meaning that connections
  22082. * to global methods are supported but also that you may inadvertently
  22083. * connect to a global by passing an incorrect object name or invalid
  22084. * reference.
  22085. *
  22086. * dojo.connect generally is forgiving. If you pass the name of a
  22087. * function or method that does not yet exist on obj, connect will
  22088. * not fail, but will instead set up a stub method. Similarly, null
  22089. * arguments may simply be omitted such that fewer than 4 arguments
  22090. * may be required to set up a connection See the examples for details.
  22091. *
  22092. * The return value is a handle that is needed to
  22093. * remove this connection with dojo.disconnect.
  22094. *
  22095. * @param obj OptionalThe source object for the event function.Defaults to kernel.global if null.If obj is a DOM node, the connection is delegatedto the DOM event manager (unless dontFix is true).
  22096. * @param event String name of the event function in obj.I.e. identifies a property obj[event].
  22097. * @param context The object that method will receive as "this".If context is null and method is a function, then methodinherits the context of event.If method is a string then context must be the sourceobject object for method (context[method]). If context is null,kernel.global is used.
  22098. * @param method A function reference, or name of a function in context.The function identified by method fires after event does.method receives the same arguments as the event.See context argument comments for information on method's scope.
  22099. * @param dontFix OptionalIf obj is a DOM node, set dontFix to true to prevent delegationof this connection to the DOM event manager.
  22100. */
  22101. connect(obj: Object, event: String, context: Object, method: String, dontFix?: boolean): any;
  22102. /**
  22103. * dojo.connect is a deprecated event handling and delegation method in
  22104. * Dojo. It allows one function to "listen in" on the execution of
  22105. * any other, triggering the second whenever the first is called. Many
  22106. * listeners may be attached to a function, and source functions may
  22107. * be either regular function calls or DOM events.
  22108. * Connects listeners to actions, so that after event fires, a
  22109. * listener is called with the same arguments passed to the original
  22110. * function.
  22111. *
  22112. * Since dojo.connect allows the source of events to be either a
  22113. * "regular" JavaScript function or a DOM event, it provides a uniform
  22114. * interface for listening to all the types of events that an
  22115. * application is likely to deal with though a single, unified
  22116. * interface. DOM programmers may want to think of it as
  22117. * "addEventListener for everything and anything".
  22118. *
  22119. * When setting up a connection, the event parameter must be a
  22120. * string that is the name of the method/event to be listened for. If
  22121. * obj is null, kernel.global is assumed, meaning that connections
  22122. * to global methods are supported but also that you may inadvertently
  22123. * connect to a global by passing an incorrect object name or invalid
  22124. * reference.
  22125. *
  22126. * dojo.connect generally is forgiving. If you pass the name of a
  22127. * function or method that does not yet exist on obj, connect will
  22128. * not fail, but will instead set up a stub method. Similarly, null
  22129. * arguments may simply be omitted such that fewer than 4 arguments
  22130. * may be required to set up a connection See the examples for details.
  22131. *
  22132. * The return value is a handle that is needed to
  22133. * remove this connection with dojo.disconnect.
  22134. *
  22135. * @param obj OptionalThe source object for the event function.Defaults to kernel.global if null.If obj is a DOM node, the connection is delegatedto the DOM event manager (unless dontFix is true).
  22136. * @param event String name of the event function in obj.I.e. identifies a property obj[event].
  22137. * @param context The object that method will receive as "this".If context is null and method is a function, then methodinherits the context of event.If method is a string then context must be the sourceobject object for method (context[method]). If context is null,kernel.global is used.
  22138. * @param method A function reference, or name of a function in context.The function identified by method fires after event does.method receives the same arguments as the event.See context argument comments for information on method's scope.
  22139. * @param dontFix OptionalIf obj is a DOM node, set dontFix to true to prevent delegationof this connection to the DOM event manager.
  22140. */
  22141. connect(obj: Object, event: String, context: any, method: String, dontFix?: boolean): any;
  22142. /**
  22143. * dojo.connect is a deprecated event handling and delegation method in
  22144. * Dojo. It allows one function to "listen in" on the execution of
  22145. * any other, triggering the second whenever the first is called. Many
  22146. * listeners may be attached to a function, and source functions may
  22147. * be either regular function calls or DOM events.
  22148. * Connects listeners to actions, so that after event fires, a
  22149. * listener is called with the same arguments passed to the original
  22150. * function.
  22151. *
  22152. * Since dojo.connect allows the source of events to be either a
  22153. * "regular" JavaScript function or a DOM event, it provides a uniform
  22154. * interface for listening to all the types of events that an
  22155. * application is likely to deal with though a single, unified
  22156. * interface. DOM programmers may want to think of it as
  22157. * "addEventListener for everything and anything".
  22158. *
  22159. * When setting up a connection, the event parameter must be a
  22160. * string that is the name of the method/event to be listened for. If
  22161. * obj is null, kernel.global is assumed, meaning that connections
  22162. * to global methods are supported but also that you may inadvertently
  22163. * connect to a global by passing an incorrect object name or invalid
  22164. * reference.
  22165. *
  22166. * dojo.connect generally is forgiving. If you pass the name of a
  22167. * function or method that does not yet exist on obj, connect will
  22168. * not fail, but will instead set up a stub method. Similarly, null
  22169. * arguments may simply be omitted such that fewer than 4 arguments
  22170. * may be required to set up a connection See the examples for details.
  22171. *
  22172. * The return value is a handle that is needed to
  22173. * remove this connection with dojo.disconnect.
  22174. *
  22175. * @param obj OptionalThe source object for the event function.Defaults to kernel.global if null.If obj is a DOM node, the connection is delegatedto the DOM event manager (unless dontFix is true).
  22176. * @param event String name of the event function in obj.I.e. identifies a property obj[event].
  22177. * @param context The object that method will receive as "this".If context is null and method is a function, then methodinherits the context of event.If method is a string then context must be the sourceobject object for method (context[method]). If context is null,kernel.global is used.
  22178. * @param method A function reference, or name of a function in context.The function identified by method fires after event does.method receives the same arguments as the event.See context argument comments for information on method's scope.
  22179. * @param dontFix OptionalIf obj is a DOM node, set dontFix to true to prevent delegationof this connection to the DOM event manager.
  22180. */
  22181. connect(obj: Object, event: String, context: Object, method: Function, dontFix?: boolean): any;
  22182. /**
  22183. * dojo.connect is a deprecated event handling and delegation method in
  22184. * Dojo. It allows one function to "listen in" on the execution of
  22185. * any other, triggering the second whenever the first is called. Many
  22186. * listeners may be attached to a function, and source functions may
  22187. * be either regular function calls or DOM events.
  22188. * Connects listeners to actions, so that after event fires, a
  22189. * listener is called with the same arguments passed to the original
  22190. * function.
  22191. *
  22192. * Since dojo.connect allows the source of events to be either a
  22193. * "regular" JavaScript function or a DOM event, it provides a uniform
  22194. * interface for listening to all the types of events that an
  22195. * application is likely to deal with though a single, unified
  22196. * interface. DOM programmers may want to think of it as
  22197. * "addEventListener for everything and anything".
  22198. *
  22199. * When setting up a connection, the event parameter must be a
  22200. * string that is the name of the method/event to be listened for. If
  22201. * obj is null, kernel.global is assumed, meaning that connections
  22202. * to global methods are supported but also that you may inadvertently
  22203. * connect to a global by passing an incorrect object name or invalid
  22204. * reference.
  22205. *
  22206. * dojo.connect generally is forgiving. If you pass the name of a
  22207. * function or method that does not yet exist on obj, connect will
  22208. * not fail, but will instead set up a stub method. Similarly, null
  22209. * arguments may simply be omitted such that fewer than 4 arguments
  22210. * may be required to set up a connection See the examples for details.
  22211. *
  22212. * The return value is a handle that is needed to
  22213. * remove this connection with dojo.disconnect.
  22214. *
  22215. * @param obj OptionalThe source object for the event function.Defaults to kernel.global if null.If obj is a DOM node, the connection is delegatedto the DOM event manager (unless dontFix is true).
  22216. * @param event String name of the event function in obj.I.e. identifies a property obj[event].
  22217. * @param context The object that method will receive as "this".If context is null and method is a function, then methodinherits the context of event.If method is a string then context must be the sourceobject object for method (context[method]). If context is null,kernel.global is used.
  22218. * @param method A function reference, or name of a function in context.The function identified by method fires after event does.method receives the same arguments as the event.See context argument comments for information on method's scope.
  22219. * @param dontFix OptionalIf obj is a DOM node, set dontFix to true to prevent delegationof this connection to the DOM event manager.
  22220. */
  22221. connect(obj: Object, event: String, context: any, method: Function, dontFix?: boolean): any;
  22222. /**
  22223. * Getter/setter for the content-box of node.
  22224. * Returns an object in the expected format of box (regardless if box is passed).
  22225. * The object might look like:
  22226. * { l: 50, t: 200, w: 300: h: 150 }
  22227. * for a node offset from its parent 50px to the left, 200px from
  22228. * the top with a content width of 300px and a content-height of
  22229. * 150px. Note that the content box may have a much larger border
  22230. * or margin box, depending on the box model currently in use and
  22231. * CSS values set/inherited for node.
  22232. * While the getter will return top and left values, the
  22233. * setter only accepts setting the width and height.
  22234. *
  22235. * @param node id or reference to DOM Node to get/set box for
  22236. * @param box OptionalIf passed, denotes that dojo.contentBox() shouldupdate/set the content box for node. Box is an object in theabove format, but only w (width) and h (height) are supported.All properties are optional if passed.
  22237. */
  22238. contentBox(node: HTMLElement, box?: Object): any;
  22239. /**
  22240. * Getter/setter for the content-box of node.
  22241. * Returns an object in the expected format of box (regardless if box is passed).
  22242. * The object might look like:
  22243. * { l: 50, t: 200, w: 300: h: 150 }
  22244. * for a node offset from its parent 50px to the left, 200px from
  22245. * the top with a content width of 300px and a content-height of
  22246. * 150px. Note that the content box may have a much larger border
  22247. * or margin box, depending on the box model currently in use and
  22248. * CSS values set/inherited for node.
  22249. * While the getter will return top and left values, the
  22250. * setter only accepts setting the width and height.
  22251. *
  22252. * @param node id or reference to DOM Node to get/set box for
  22253. * @param box OptionalIf passed, denotes that dojo.contentBox() shouldupdate/set the content box for node. Box is an object in theabove format, but only w (width) and h (height) are supported.All properties are optional if passed.
  22254. */
  22255. contentBox(node: String, box?: Object): any;
  22256. /**
  22257. * Get or set a cookie.
  22258. * If one argument is passed, returns the value of the cookie
  22259. * For two or more arguments, acts as a setter.
  22260. *
  22261. * @param name Name of the cookie
  22262. * @param value OptionalValue for the cookie
  22263. * @param props OptionalProperties for the cookie
  22264. */
  22265. cookie(name: String, value?: String, props?: Object): any;
  22266. /**
  22267. * Deprecated: Use position() for border-box x/y/w/h
  22268. * or marginBox() for margin-box w/h/l/t.
  22269. *
  22270. * Returns an object that measures margin-box (w)idth/(h)eight
  22271. * and absolute position x/y of the border-box. Also returned
  22272. * is computed (l)eft and (t)op values in pixels from the
  22273. * node's offsetParent as returned from marginBox().
  22274. * Return value will be in the form:
  22275. *
  22276. * { l: 50, t: 200, w: 300: h: 150, x: 100, y: 300 }
  22277. * Does not act as a setter. If includeScroll is passed, the x and
  22278. *
  22279. * y params are affected as one would expect in dojo.position().
  22280. *
  22281. * @param node
  22282. * @param includeScroll Optional
  22283. */
  22284. coords(node: HTMLElement, includeScroll?: boolean): any;
  22285. /**
  22286. * Deprecated: Use position() for border-box x/y/w/h
  22287. * or marginBox() for margin-box w/h/l/t.
  22288. *
  22289. * Returns an object that measures margin-box (w)idth/(h)eight
  22290. * and absolute position x/y of the border-box. Also returned
  22291. * is computed (l)eft and (t)op values in pixels from the
  22292. * node's offsetParent as returned from marginBox().
  22293. * Return value will be in the form:
  22294. *
  22295. * { l: 50, t: 200, w: 300: h: 150, x: 100, y: 300 }
  22296. * Does not act as a setter. If includeScroll is passed, the x and
  22297. *
  22298. * y params are affected as one would expect in dojo.position().
  22299. *
  22300. * @param node
  22301. * @param includeScroll Optional
  22302. */
  22303. coords(node: String, includeScroll?: boolean): any;
  22304. /**
  22305. * Create an element, allowing for optional attribute decoration
  22306. * and placement.
  22307. * A DOM Element creation function. A shorthand method for creating a node or
  22308. * a fragment, and allowing for a convenient optional attribute setting step,
  22309. * as well as an optional DOM placement reference.
  22310. *
  22311. * Attributes are set by passing the optional object through dojo.setAttr.
  22312. * See dojo.setAttr for noted caveats and nuances, and API if applicable.
  22313. *
  22314. * Placement is done via dojo.place, assuming the new node to be the action
  22315. * node, passing along the optional reference node and position.
  22316. *
  22317. * @param tag A string of the element to create (eg: "div", "a", "p", "li", "script", "br"),or an existing DOM node to process.
  22318. * @param attrs An object-hash of attributes to set on the newly created node.Can be null, if you don't want to set any attributes/styles.See: dojo.setAttr for a description of available attributes.
  22319. * @param refNode OptionalOptional reference node. Used by dojo.place to place the newly creatednode somewhere in the dom relative to refNode. Can be a DomNode referenceor String ID of a node.
  22320. * @param pos OptionalOptional positional reference. Defaults to "last" by way of dojo.place,though can be set to "first","after","before","last", "replace" or "only"to further control the placement of the new node relative to the refNode.'refNode' is required if a 'pos' is specified.
  22321. */
  22322. create(tag: HTMLElement, attrs: Object, refNode?: HTMLElement, pos?: String): any;
  22323. /**
  22324. * Create an element, allowing for optional attribute decoration
  22325. * and placement.
  22326. * A DOM Element creation function. A shorthand method for creating a node or
  22327. * a fragment, and allowing for a convenient optional attribute setting step,
  22328. * as well as an optional DOM placement reference.
  22329. *
  22330. * Attributes are set by passing the optional object through dojo.setAttr.
  22331. * See dojo.setAttr for noted caveats and nuances, and API if applicable.
  22332. *
  22333. * Placement is done via dojo.place, assuming the new node to be the action
  22334. * node, passing along the optional reference node and position.
  22335. *
  22336. * @param tag A string of the element to create (eg: "div", "a", "p", "li", "script", "br"),or an existing DOM node to process.
  22337. * @param attrs An object-hash of attributes to set on the newly created node.Can be null, if you don't want to set any attributes/styles.See: dojo.setAttr for a description of available attributes.
  22338. * @param refNode OptionalOptional reference node. Used by dojo.place to place the newly creatednode somewhere in the dom relative to refNode. Can be a DomNode referenceor String ID of a node.
  22339. * @param pos OptionalOptional positional reference. Defaults to "last" by way of dojo.place,though can be set to "first","after","before","last", "replace" or "only"to further control the placement of the new node relative to the refNode.'refNode' is required if a 'pos' is specified.
  22340. */
  22341. create(tag: String, attrs: Object, refNode?: HTMLElement, pos?: String): any;
  22342. /**
  22343. * Create an element, allowing for optional attribute decoration
  22344. * and placement.
  22345. * A DOM Element creation function. A shorthand method for creating a node or
  22346. * a fragment, and allowing for a convenient optional attribute setting step,
  22347. * as well as an optional DOM placement reference.
  22348. *
  22349. * Attributes are set by passing the optional object through dojo.setAttr.
  22350. * See dojo.setAttr for noted caveats and nuances, and API if applicable.
  22351. *
  22352. * Placement is done via dojo.place, assuming the new node to be the action
  22353. * node, passing along the optional reference node and position.
  22354. *
  22355. * @param tag A string of the element to create (eg: "div", "a", "p", "li", "script", "br"),or an existing DOM node to process.
  22356. * @param attrs An object-hash of attributes to set on the newly created node.Can be null, if you don't want to set any attributes/styles.See: dojo.setAttr for a description of available attributes.
  22357. * @param refNode OptionalOptional reference node. Used by dojo.place to place the newly creatednode somewhere in the dom relative to refNode. Can be a DomNode referenceor String ID of a node.
  22358. * @param pos OptionalOptional positional reference. Defaults to "last" by way of dojo.place,though can be set to "first","after","before","last", "replace" or "only"to further control the placement of the new node relative to the refNode.'refNode' is required if a 'pos' is specified.
  22359. */
  22360. create(tag: HTMLElement, attrs: Object, refNode?: String, pos?: String): any;
  22361. /**
  22362. * Create an element, allowing for optional attribute decoration
  22363. * and placement.
  22364. * A DOM Element creation function. A shorthand method for creating a node or
  22365. * a fragment, and allowing for a convenient optional attribute setting step,
  22366. * as well as an optional DOM placement reference.
  22367. *
  22368. * Attributes are set by passing the optional object through dojo.setAttr.
  22369. * See dojo.setAttr for noted caveats and nuances, and API if applicable.
  22370. *
  22371. * Placement is done via dojo.place, assuming the new node to be the action
  22372. * node, passing along the optional reference node and position.
  22373. *
  22374. * @param tag A string of the element to create (eg: "div", "a", "p", "li", "script", "br"),or an existing DOM node to process.
  22375. * @param attrs An object-hash of attributes to set on the newly created node.Can be null, if you don't want to set any attributes/styles.See: dojo.setAttr for a description of available attributes.
  22376. * @param refNode OptionalOptional reference node. Used by dojo.place to place the newly creatednode somewhere in the dom relative to refNode. Can be a DomNode referenceor String ID of a node.
  22377. * @param pos OptionalOptional positional reference. Defaults to "last" by way of dojo.place,though can be set to "first","after","before","last", "replace" or "only"to further control the placement of the new node relative to the refNode.'refNode' is required if a 'pos' is specified.
  22378. */
  22379. create(tag: String, attrs: Object, refNode?: String, pos?: String): any;
  22380. /**
  22381. * Create a feature-rich constructor from compact notation.
  22382. * Create a constructor using a compact notation for inheritance and
  22383. * prototype extension.
  22384. *
  22385. * Mixin ancestors provide a type of multiple inheritance.
  22386. * Prototypes of mixin ancestors are copied to the new class:
  22387. * changes to mixin prototypes will not affect classes to which
  22388. * they have been mixed in.
  22389. *
  22390. * Ancestors can be compound classes created by this version of
  22391. * declare(). In complex cases all base classes are going to be
  22392. * linearized according to C3 MRO algorithm
  22393. * (see http://www.python.org/download/releases/2.3/mro/ for more
  22394. * details).
  22395. *
  22396. * "className" is cached in "declaredClass" property of the new class,
  22397. * if it was supplied. The immediate super class will be cached in
  22398. * "superclass" property of the new class.
  22399. *
  22400. * Methods in "props" will be copied and modified: "nom" property
  22401. * (the declared name of the method) will be added to all copied
  22402. * functions to help identify them for the internal machinery. Be
  22403. * very careful, while reusing methods: if you use the same
  22404. * function under different names, it can produce errors in some
  22405. * cases.
  22406. *
  22407. * It is possible to use constructors created "manually" (without
  22408. * declare()) as bases. They will be called as usual during the
  22409. * creation of an instance, their methods will be chained, and even
  22410. * called by "this.inherited()".
  22411. *
  22412. * Special property "-chains-" governs how to chain methods. It is
  22413. * a dictionary, which uses method names as keys, and hint strings
  22414. * as values. If a hint string is "after", this method will be
  22415. * called after methods of its base classes. If a hint string is
  22416. * "before", this method will be called before methods of its base
  22417. * classes.
  22418. *
  22419. * If "constructor" is not mentioned in "-chains-" property, it will
  22420. * be chained using the legacy mode: using "after" chaining,
  22421. * calling preamble() method before each constructor, if available,
  22422. * and calling postscript() after all constructors were executed.
  22423. * If the hint is "after", it is chained as a regular method, but
  22424. * postscript() will be called after the chain of constructors.
  22425. * "constructor" cannot be chained "before", but it allows
  22426. * a special hint string: "manual", which means that constructors
  22427. * are not going to be chained in any way, and programmer will call
  22428. * them manually using this.inherited(). In the latter case
  22429. * postscript() will be called after the construction.
  22430. *
  22431. * All chaining hints are "inherited" from base classes and
  22432. * potentially can be overridden. Be very careful when overriding
  22433. * hints! Make sure that all chained methods can work in a proposed
  22434. * manner of chaining.
  22435. *
  22436. * Once a method was chained, it is impossible to unchain it. The
  22437. * only exception is "constructor". You don't need to define a
  22438. * method in order to supply a chaining hint.
  22439. *
  22440. * If a method is chained, it cannot use this.inherited() because
  22441. * all other methods in the hierarchy will be called automatically.
  22442. *
  22443. * Usually constructors and initializers of any kind are chained
  22444. * using "after" and destructors of any kind are chained as
  22445. * "before". Note that chaining assumes that chained methods do not
  22446. * return any value: any returned value will be discarded.
  22447. *
  22448. * @param className OptionalThe optional name of the constructor (loosely, a "class")stored in the "declaredClass" property in the created prototype.It will be used as a global name for a created constructor.
  22449. * @param superclass May be null, a Function, or an Array of Functions. This argumentspecifies a list of bases (the left-most one is the most deepestbase).
  22450. * @param props An object whose properties are copied to the created prototype.Add an instance-initialization function by making it a propertynamed "constructor".
  22451. */
  22452. declare(className: String, superclass: Function, props: Object): dojo._base.declare.__DeclareCreatedObject;
  22453. /**
  22454. * Create a feature-rich constructor from compact notation.
  22455. * Create a constructor using a compact notation for inheritance and
  22456. * prototype extension.
  22457. *
  22458. * Mixin ancestors provide a type of multiple inheritance.
  22459. * Prototypes of mixin ancestors are copied to the new class:
  22460. * changes to mixin prototypes will not affect classes to which
  22461. * they have been mixed in.
  22462. *
  22463. * Ancestors can be compound classes created by this version of
  22464. * declare(). In complex cases all base classes are going to be
  22465. * linearized according to C3 MRO algorithm
  22466. * (see http://www.python.org/download/releases/2.3/mro/ for more
  22467. * details).
  22468. *
  22469. * "className" is cached in "declaredClass" property of the new class,
  22470. * if it was supplied. The immediate super class will be cached in
  22471. * "superclass" property of the new class.
  22472. *
  22473. * Methods in "props" will be copied and modified: "nom" property
  22474. * (the declared name of the method) will be added to all copied
  22475. * functions to help identify them for the internal machinery. Be
  22476. * very careful, while reusing methods: if you use the same
  22477. * function under different names, it can produce errors in some
  22478. * cases.
  22479. *
  22480. * It is possible to use constructors created "manually" (without
  22481. * declare()) as bases. They will be called as usual during the
  22482. * creation of an instance, their methods will be chained, and even
  22483. * called by "this.inherited()".
  22484. *
  22485. * Special property "-chains-" governs how to chain methods. It is
  22486. * a dictionary, which uses method names as keys, and hint strings
  22487. * as values. If a hint string is "after", this method will be
  22488. * called after methods of its base classes. If a hint string is
  22489. * "before", this method will be called before methods of its base
  22490. * classes.
  22491. *
  22492. * If "constructor" is not mentioned in "-chains-" property, it will
  22493. * be chained using the legacy mode: using "after" chaining,
  22494. * calling preamble() method before each constructor, if available,
  22495. * and calling postscript() after all constructors were executed.
  22496. * If the hint is "after", it is chained as a regular method, but
  22497. * postscript() will be called after the chain of constructors.
  22498. * "constructor" cannot be chained "before", but it allows
  22499. * a special hint string: "manual", which means that constructors
  22500. * are not going to be chained in any way, and programmer will call
  22501. * them manually using this.inherited(). In the latter case
  22502. * postscript() will be called after the construction.
  22503. *
  22504. * All chaining hints are "inherited" from base classes and
  22505. * potentially can be overridden. Be very careful when overriding
  22506. * hints! Make sure that all chained methods can work in a proposed
  22507. * manner of chaining.
  22508. *
  22509. * Once a method was chained, it is impossible to unchain it. The
  22510. * only exception is "constructor". You don't need to define a
  22511. * method in order to supply a chaining hint.
  22512. *
  22513. * If a method is chained, it cannot use this.inherited() because
  22514. * all other methods in the hierarchy will be called automatically.
  22515. *
  22516. * Usually constructors and initializers of any kind are chained
  22517. * using "after" and destructors of any kind are chained as
  22518. * "before". Note that chaining assumes that chained methods do not
  22519. * return any value: any returned value will be discarded.
  22520. *
  22521. * @param className OptionalThe optional name of the constructor (loosely, a "class")stored in the "declaredClass" property in the created prototype.It will be used as a global name for a created constructor.
  22522. * @param superclass May be null, a Function, or an Array of Functions. This argumentspecifies a list of bases (the left-most one is the most deepestbase).
  22523. * @param props An object whose properties are copied to the created prototype.Add an instance-initialization function by making it a propertynamed "constructor".
  22524. */
  22525. declare(className: String, superclass: Function[], props: Object): dojo._base.declare.__DeclareCreatedObject;
  22526. /**
  22527. * Deprecated. This module defines the legacy dojo/_base/Deferred API.
  22528. * New code should use dojo/Deferred instead.
  22529. * The Deferred API is based on the concept of promises that provide a
  22530. * generic interface into the eventual completion of an asynchronous action.
  22531. * The motivation for promises fundamentally is about creating a
  22532. * separation of concerns that allows one to achieve the same type of
  22533. * call patterns and logical data flow in asynchronous code as can be
  22534. * achieved in synchronous code. Promises allows one
  22535. * to be able to call a function purely with arguments needed for
  22536. * execution, without conflating the call with concerns of whether it is
  22537. * sync or async. One shouldn't need to alter a call's arguments if the
  22538. * implementation switches from sync to async (or vice versa). By having
  22539. * async functions return promises, the concerns of making the call are
  22540. * separated from the concerns of asynchronous interaction (which are
  22541. * handled by the promise).
  22542. *
  22543. * The Deferred is a type of promise that provides methods for fulfilling the
  22544. * promise with a successful result or an error. The most important method for
  22545. * working with Dojo's promises is the then() method, which follows the
  22546. * CommonJS proposed promise API. An example of using a Dojo promise:
  22547. *
  22548. * var resultingPromise = someAsyncOperation.then(function(result){
  22549. * ... handle result ...
  22550. * },
  22551. * function(error){
  22552. * ... handle error ...
  22553. * });
  22554. * The .then() call returns a new promise that represents the result of the
  22555. * execution of the callback. The callbacks will never affect the original promises value.
  22556. *
  22557. * The Deferred instances also provide the following functions for backwards compatibility:
  22558. *
  22559. * addCallback(handler)
  22560. * addErrback(handler)
  22561. * callback(result)
  22562. * errback(result)
  22563. * Callbacks are allowed to return promises themselves, so
  22564. * you can build complicated sequences of events with ease.
  22565. *
  22566. * The creator of the Deferred may specify a canceller. The canceller
  22567. * is a function that will be called if Deferred.cancel is called
  22568. * before the Deferred fires. You can use this to implement clean
  22569. * aborting of an XMLHttpRequest, etc. Note that cancel will fire the
  22570. * deferred with a CancelledError (unless your canceller returns
  22571. * another kind of error), so the errbacks should be prepared to
  22572. * handle that error for cancellable Deferreds.
  22573. *
  22574. * @param canceller Optional
  22575. */
  22576. Deferred(canceller: Function): void;
  22577. /**
  22578. * Deprecated, use dojo/promise/all instead.
  22579. * Provides event handling for a group of Deferred objects.
  22580. * DeferredList takes an array of existing deferreds and returns a new deferred of its own
  22581. * this new deferred will typically have its callback fired when all of the deferreds in
  22582. * the given list have fired their own deferreds. The parameters fireOnOneCallback and
  22583. * fireOnOneErrback, will fire before all the deferreds as appropriate
  22584. *
  22585. * @param list The list of deferreds to be synchronizied with this DeferredList
  22586. * @param fireOnOneCallback OptionalWill cause the DeferredLists callback to be fired as soon as anyof the deferreds in its list have been fired instead of waiting untilthe entire list has finished
  22587. * @param fireOnOneErrback Optional
  22588. * @param consumeErrors Optional
  22589. * @param canceller OptionalA deferred canceller function, see dojo.Deferred
  22590. */
  22591. DeferredList(list: any[], fireOnOneCallback?: boolean, fireOnOneErrback?: boolean, consumeErrors?: boolean, canceller?: Function): void;
  22592. /**
  22593. * Log a debug message to indicate that a behavior has been
  22594. * deprecated.
  22595. *
  22596. * @param behaviour The API or behavior being deprecated. Usually in the formof "myApp.someFunction()".
  22597. * @param extra OptionalText to append to the message. Often provides advice on anew function or facility to achieve the same goal duringthe deprecation period.
  22598. * @param removal OptionalText to indicate when in the future the behavior will beremoved. Usually a version number.
  22599. */
  22600. deprecated(behaviour: String, extra?: String, removal?: String): void;
  22601. /**
  22602. *
  22603. * @param node
  22604. */
  22605. destroy(node: any): void;
  22606. /**
  22607. * Remove a link created by dojo.connect.
  22608. * Removes the connection between event and the method referenced by handle.
  22609. *
  22610. * @param handle the return value of the dojo.connect call that created the connection.
  22611. */
  22612. disconnect(handle: Object): void;
  22613. /**
  22614. * Returns an object with {node, x, y} with corresponding offsets.
  22615. *
  22616. * @param doc OptionalOptional document to query. If unspecified, use win.doc.
  22617. */
  22618. docScroll(doc?: HTMLDocument): Object;
  22619. /**
  22620. *
  22621. * @param node
  22622. */
  22623. empty(node: any): void;
  22624. /**
  22625. * A legacy method created for use exclusively by internal Dojo methods. Do not use this method
  22626. * directly unless you understand its possibly-different implications on the platforms your are targeting.
  22627. * Makes an attempt to evaluate scriptText in the global scope. The function works correctly for browsers
  22628. * that support indirect eval.
  22629. *
  22630. * As usual, IE does not. On IE, the only way to implement global eval is to
  22631. * use execScript. Unfortunately, execScript does not return a value and breaks some current usages of dojo.eval.
  22632. * This implementation uses the technique of executing eval in the scope of a function that is a single scope
  22633. * frame below the global scope; thereby coming close to the global scope. Note carefully that
  22634. *
  22635. * dojo.eval("var pi = 3.14;");
  22636. *
  22637. * will define global pi in non-IE environments, but define pi only in a temporary local scope for IE. If you want
  22638. * to define a global variable using dojo.eval, write something like
  22639. *
  22640. * dojo.eval("window.pi = 3.14;")
  22641. *
  22642. * @param scriptText The text to evaluation.
  22643. */
  22644. eval(scriptText: any): any;
  22645. /**
  22646. * Determines whether or not every item in arr satisfies the
  22647. * condition implemented by callback.
  22648. * This function corresponds to the JavaScript 1.6 Array.every() method, with one difference: when
  22649. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  22650. * the callback function with a value of undefined. JavaScript 1.6's every skips the holes in the sparse array.
  22651. * For more details, see:
  22652. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/every
  22653. *
  22654. * @param arr the array to iterate on. If a string, operates on individual characters.
  22655. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  22656. * @param thisObject Optionalmay be used to scope the call to callback
  22657. */
  22658. every(arr: any[], callback: Function, thisObject?: Object): boolean;
  22659. /**
  22660. * Determines whether or not every item in arr satisfies the
  22661. * condition implemented by callback.
  22662. * This function corresponds to the JavaScript 1.6 Array.every() method, with one difference: when
  22663. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  22664. * the callback function with a value of undefined. JavaScript 1.6's every skips the holes in the sparse array.
  22665. * For more details, see:
  22666. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/every
  22667. *
  22668. * @param arr the array to iterate on. If a string, operates on individual characters.
  22669. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  22670. * @param thisObject Optionalmay be used to scope the call to callback
  22671. */
  22672. every(arr: String, callback: Function, thisObject?: Object): boolean;
  22673. /**
  22674. * Determines whether or not every item in arr satisfies the
  22675. * condition implemented by callback.
  22676. * This function corresponds to the JavaScript 1.6 Array.every() method, with one difference: when
  22677. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  22678. * the callback function with a value of undefined. JavaScript 1.6's every skips the holes in the sparse array.
  22679. * For more details, see:
  22680. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/every
  22681. *
  22682. * @param arr the array to iterate on. If a string, operates on individual characters.
  22683. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  22684. * @param thisObject Optionalmay be used to scope the call to callback
  22685. */
  22686. every(arr: any[], callback: String, thisObject?: Object): boolean;
  22687. /**
  22688. * Determines whether or not every item in arr satisfies the
  22689. * condition implemented by callback.
  22690. * This function corresponds to the JavaScript 1.6 Array.every() method, with one difference: when
  22691. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  22692. * the callback function with a value of undefined. JavaScript 1.6's every skips the holes in the sparse array.
  22693. * For more details, see:
  22694. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/every
  22695. *
  22696. * @param arr the array to iterate on. If a string, operates on individual characters.
  22697. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  22698. * @param thisObject Optionalmay be used to scope the call to callback
  22699. */
  22700. every(arr: String, callback: String, thisObject?: Object): boolean;
  22701. /**
  22702. *
  22703. * @param exitcode
  22704. */
  22705. exit(exitcode: any): void;
  22706. /**
  22707. * Marks code as experimental.
  22708. * This can be used to mark a function, file, or module as
  22709. * experimental. Experimental code is not ready to be used, and the
  22710. * APIs are subject to change without notice. Experimental code may be
  22711. * completed deleted without going through the normal deprecation
  22712. * process.
  22713. *
  22714. * @param moduleName The name of a module, or the name of a module file or a specificfunction
  22715. * @param extra Optionalsome additional message for the user
  22716. */
  22717. experimental(moduleName: String, extra?: String): void;
  22718. /**
  22719. * Returns an animation that will fade node defined in 'args' from
  22720. * its current opacity to fully opaque.
  22721. *
  22722. * @param args An object with the following properties:node (DOMNode|String): The node referenced in the animationduration (Integer, optional): Duration of the animation in milliseconds.easing (Function, optional): An easing function.
  22723. */
  22724. fadeIn(args: Object): any;
  22725. /**
  22726. * Returns an animation that will fade node defined in 'args'
  22727. * from its current opacity to fully transparent.
  22728. *
  22729. * @param args An object with the following properties:node (DOMNode|String): The node referenced in the animationduration (Integer, optional): Duration of the animation in milliseconds.easing (Function, optional): An easing function.
  22730. */
  22731. fadeOut(args: Object): any;
  22732. /**
  22733. * Serialize a form field to a JavaScript object.
  22734. * Returns the value encoded in a form field as
  22735. * as a string or an array of strings. Disabled form elements
  22736. * and unchecked radio and checkboxes are skipped. Multi-select
  22737. * elements are returned as an array of string values.
  22738. *
  22739. * @param inputNode
  22740. */
  22741. fieldToObject(inputNode: HTMLElement): Object;
  22742. /**
  22743. * Serialize a form field to a JavaScript object.
  22744. * Returns the value encoded in a form field as
  22745. * as a string or an array of strings. Disabled form elements
  22746. * and unchecked radio and checkboxes are skipped. Multi-select
  22747. * elements are returned as an array of string values.
  22748. *
  22749. * @param inputNode
  22750. */
  22751. fieldToObject(inputNode: String): Object;
  22752. /**
  22753. * Returns a new Array with those items from arr that match the
  22754. * condition implemented by callback.
  22755. * This function corresponds to the JavaScript 1.6 Array.filter() method, with one difference: when
  22756. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  22757. * the callback function with a value of undefined. JavaScript 1.6's filter skips the holes in the sparse array.
  22758. * For more details, see:
  22759. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter
  22760. *
  22761. * @param arr the array to iterate over.
  22762. * @param callback a function that is invoked with three arguments (item,index, array). The return of this function is expected tobe a boolean which determines whether the passed-in itemwill be included in the returned array.
  22763. * @param thisObject Optionalmay be used to scope the call to callback
  22764. */
  22765. filter(arr: any[], callback: Function, thisObject?: Object): any[];
  22766. /**
  22767. * Returns a new Array with those items from arr that match the
  22768. * condition implemented by callback.
  22769. * This function corresponds to the JavaScript 1.6 Array.filter() method, with one difference: when
  22770. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  22771. * the callback function with a value of undefined. JavaScript 1.6's filter skips the holes in the sparse array.
  22772. * For more details, see:
  22773. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter
  22774. *
  22775. * @param arr the array to iterate over.
  22776. * @param callback a function that is invoked with three arguments (item,index, array). The return of this function is expected tobe a boolean which determines whether the passed-in itemwill be included in the returned array.
  22777. * @param thisObject Optionalmay be used to scope the call to callback
  22778. */
  22779. filter(arr: any[], callback: String, thisObject?: Object): any[];
  22780. /**
  22781. * normalizes properties on the event object including event
  22782. * bubbling methods, keystroke normalization, and x/y positions
  22783. *
  22784. * @param evt native event object
  22785. * @param sender node to treat as "currentTarget"
  22786. */
  22787. fixEvent(evt: Event, sender: HTMLElement): Event;
  22788. /**
  22789. * In RTL direction, scrollLeft should be a negative value, but IE
  22790. * returns a positive one. All codes using documentElement.scrollLeft
  22791. * must call this function to fix this error, otherwise the position
  22792. * will offset to right when there is a horizontal scrollbar.
  22793. *
  22794. * @param scrollLeft
  22795. * @param doc OptionalOptional document to query. If unspecified, use win.doc.
  22796. */
  22797. fixIeBiDiScrollLeft(scrollLeft: number, doc?: HTMLDocument): number;
  22798. /**
  22799. * for every item in arr, callback is invoked. Return values are ignored.
  22800. * If you want to break out of the loop, consider using array.every() or array.some().
  22801. * forEach does not allow breaking out of the loop over the items in arr.
  22802. * This function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when
  22803. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  22804. * the callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array.
  22805. * For more details, see:
  22806. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach
  22807. *
  22808. * @param arr
  22809. * @param callback
  22810. * @param thisObject Optional
  22811. */
  22812. forEach(arr: any[], callback: Function, thisObject?: Object): void;
  22813. /**
  22814. * for every item in arr, callback is invoked. Return values are ignored.
  22815. * If you want to break out of the loop, consider using array.every() or array.some().
  22816. * forEach does not allow breaking out of the loop over the items in arr.
  22817. * This function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when
  22818. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  22819. * the callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array.
  22820. * For more details, see:
  22821. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach
  22822. *
  22823. * @param arr
  22824. * @param callback
  22825. * @param thisObject Optional
  22826. */
  22827. forEach(arr: String, callback: Function, thisObject?: Object): void;
  22828. /**
  22829. * for every item in arr, callback is invoked. Return values are ignored.
  22830. * If you want to break out of the loop, consider using array.every() or array.some().
  22831. * forEach does not allow breaking out of the loop over the items in arr.
  22832. * This function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when
  22833. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  22834. * the callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array.
  22835. * For more details, see:
  22836. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach
  22837. *
  22838. * @param arr
  22839. * @param callback
  22840. * @param thisObject Optional
  22841. */
  22842. forEach(arr: any[], callback: String, thisObject?: Object): void;
  22843. /**
  22844. * for every item in arr, callback is invoked. Return values are ignored.
  22845. * If you want to break out of the loop, consider using array.every() or array.some().
  22846. * forEach does not allow breaking out of the loop over the items in arr.
  22847. * This function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when
  22848. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  22849. * the callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array.
  22850. * For more details, see:
  22851. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach
  22852. *
  22853. * @param arr
  22854. * @param callback
  22855. * @param thisObject Optional
  22856. */
  22857. forEach(arr: String, callback: String, thisObject?: Object): void;
  22858. /**
  22859. * Create a serialized JSON string from a form node or string
  22860. * ID identifying the form to serialize
  22861. *
  22862. * @param formNode
  22863. * @param prettyPrint Optional
  22864. */
  22865. formToJson(formNode: HTMLElement, prettyPrint?: boolean): String;
  22866. /**
  22867. * Create a serialized JSON string from a form node or string
  22868. * ID identifying the form to serialize
  22869. *
  22870. * @param formNode
  22871. * @param prettyPrint Optional
  22872. */
  22873. formToJson(formNode: String, prettyPrint?: boolean): String;
  22874. /**
  22875. * Serialize a form node to a JavaScript object.
  22876. * Returns the values encoded in an HTML form as
  22877. * string properties in an object which it then returns. Disabled form
  22878. * elements, buttons, and other non-value form elements are skipped.
  22879. * Multi-select elements are returned as an array of string values.
  22880. *
  22881. * @param formNode
  22882. */
  22883. formToObject(formNode: HTMLElement): Object;
  22884. /**
  22885. * Serialize a form node to a JavaScript object.
  22886. * Returns the values encoded in an HTML form as
  22887. * string properties in an object which it then returns. Disabled form
  22888. * elements, buttons, and other non-value form elements are skipped.
  22889. * Multi-select elements are returned as an array of string values.
  22890. *
  22891. * @param formNode
  22892. */
  22893. formToObject(formNode: String): Object;
  22894. /**
  22895. * Returns a URL-encoded string representing the form passed as either a
  22896. * node or string ID identifying the form to serialize
  22897. *
  22898. * @param formNode
  22899. */
  22900. formToQuery(formNode: HTMLElement): String;
  22901. /**
  22902. * Returns a URL-encoded string representing the form passed as either a
  22903. * node or string ID identifying the form to serialize
  22904. *
  22905. * @param formNode
  22906. */
  22907. formToQuery(formNode: String): String;
  22908. /**
  22909. * Parses a JavaScript expression and returns a JavaScript value.
  22910. * Throws for invalid JavaScript expressions. It does not use a strict JSON parser. It
  22911. * always delegates to eval(). The content passed to this method must therefore come
  22912. * from a trusted source.
  22913. * It is recommend that you use dojo/json's parse function for an
  22914. * implementation uses the (faster) native JSON parse when available.
  22915. *
  22916. * @param js a string literal of a JavaScript expression, for instance:'{ "foo": [ "bar", 1, { "baz": "thud" } ] }'
  22917. */
  22918. fromJson(js: String): any;
  22919. /**
  22920. * Gets an attribute on an HTML element.
  22921. * Handles normalized getting of attributes on DOM Nodes.
  22922. *
  22923. * @param node id or reference to the element to get the attribute on
  22924. * @param name the name of the attribute to get.
  22925. */
  22926. getAttr(node: HTMLElement, name: String): any;
  22927. /**
  22928. * Gets an attribute on an HTML element.
  22929. * Handles normalized getting of attributes on DOM Nodes.
  22930. *
  22931. * @param node id or reference to the element to get the attribute on
  22932. * @param name the name of the attribute to get.
  22933. */
  22934. getAttr(node: String, name: String): any;
  22935. /**
  22936. * returns an object with properties useful for noting the border
  22937. * dimensions.
  22938. * l/t/r/b = the sum of left/top/right/bottom border (respectively)
  22939. * w = the sum of the left and right border
  22940. * h = the sum of the top and bottom border
  22941. * The w/h are used for calculating boxes.
  22942. * Normally application code will not need to invoke this
  22943. * directly, and will use the ...box... functions instead.
  22944. *
  22945. * @param node
  22946. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  22947. */
  22948. getBorderExtents(node: HTMLElement, computedStyle?: Object): Object;
  22949. /**
  22950. * Returns a "computed style" object.
  22951. * Gets a "computed style" object which can be used to gather
  22952. * information about the current state of the rendered node.
  22953. *
  22954. * Note that this may behave differently on different browsers.
  22955. * Values may have different formats and value encodings across
  22956. * browsers.
  22957. *
  22958. * Note also that this method is expensive. Wherever possible,
  22959. * reuse the returned object.
  22960. *
  22961. * Use the dojo/dom-style.get() method for more consistent (pixelized)
  22962. * return values.
  22963. *
  22964. * @param node A reference to a DOM node. Does NOT support taking anID string for speed reasons.
  22965. */
  22966. getComputedStyle(node: HTMLElement): void;
  22967. /**
  22968. * Returns an object that encodes the width, height, left and top
  22969. * positions of the node's content box, irrespective of the
  22970. * current box model.
  22971. *
  22972. * @param node
  22973. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  22974. */
  22975. getContentBox(node: HTMLElement, computedStyle?: Object): Object;
  22976. /**
  22977. * returns the offset in x and y from the document body to the
  22978. * visual edge of the page for IE
  22979. * The following values in IE contain an offset:
  22980. *
  22981. * event.clientX
  22982. * event.clientY
  22983. * node.getBoundingClientRect().left
  22984. * node.getBoundingClientRect().top
  22985. * But other position related values do not contain this offset,
  22986. *
  22987. * such as node.offsetLeft, node.offsetTop, node.style.left and
  22988. * node.style.top. The offset is always (2, 2) in LTR direction.
  22989. * When the body is in RTL direction, the offset counts the width
  22990. * of left scroll bar's width. This function computes the actual
  22991. * offset.
  22992. *
  22993. * @param doc OptionalOptional document to query. If unspecified, use win.doc.
  22994. */
  22995. getIeDocumentElementOffset(doc?: HTMLDocument): Object;
  22996. /**
  22997. *
  22998. * @param moduleName
  22999. * @param bundleName
  23000. * @param locale
  23001. */
  23002. getL10nName(moduleName: any, bundleName: any, locale: any): String;
  23003. /**
  23004. * returns an object that encodes the width, height, left and top
  23005. * positions of the node's margin box.
  23006. *
  23007. * @param node
  23008. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  23009. */
  23010. getMarginBox(node: HTMLElement, computedStyle?: Object): Object;
  23011. /**
  23012. * returns object with properties useful for box fitting with
  23013. * regards to box margins (i.e., the outer-box).
  23014. *
  23015. * l/t = marginLeft, marginTop, respectively
  23016. * w = total width, margin inclusive
  23017. * h = total height, margin inclusive
  23018. * The w/h are used for calculating boxes.
  23019. * Normally application code will not need to invoke this
  23020. * directly, and will use the ...box... functions instead.
  23021. *
  23022. * @param node
  23023. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  23024. */
  23025. getMarginExtents(node: HTMLElement, computedStyle?: Object): Object;
  23026. /**
  23027. * returns an object that encodes the width and height of
  23028. * the node's margin box
  23029. *
  23030. * @param node
  23031. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  23032. */
  23033. getMarginSize(node: HTMLElement, computedStyle?: Object): Object;
  23034. /**
  23035. * returns an object that encodes the width and height of
  23036. * the node's margin box
  23037. *
  23038. * @param node
  23039. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  23040. */
  23041. getMarginSize(node: String, computedStyle?: Object): Object;
  23042. /**
  23043. * Returns an effective value of a property or an attribute.
  23044. *
  23045. * @param node id or reference to the element to remove the attribute from
  23046. * @param name the name of the attribute
  23047. */
  23048. getNodeProp(node: HTMLElement, name: String): any;
  23049. /**
  23050. * Returns an effective value of a property or an attribute.
  23051. *
  23052. * @param node id or reference to the element to remove the attribute from
  23053. * @param name the name of the attribute
  23054. */
  23055. getNodeProp(node: String, name: String): any;
  23056. /**
  23057. * Returns object with properties useful for box fitting with
  23058. * regards to padding.
  23059. * l/t/r/b = the sum of left/top/right/bottom padding and left/top/right/bottom border (respectively)
  23060. * w = the sum of the left and right padding and border
  23061. * h = the sum of the top and bottom padding and border
  23062. * The w/h are used for calculating boxes.
  23063. * Normally application code will not need to invoke this
  23064. * directly, and will use the ...box... functions instead.
  23065. *
  23066. * @param node
  23067. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  23068. */
  23069. getPadBorderExtents(node: HTMLElement, computedStyle?: Object): Object;
  23070. /**
  23071. * Returns object with special values specifically useful for node
  23072. * fitting.
  23073. * Returns an object with w, h, l, t properties:
  23074. *
  23075. * l/t/r/b = left/top/right/bottom padding (respectively)
  23076. * w = the total of the left and right padding
  23077. * h = the total of the top and bottom padding
  23078. * If 'node' has position, l/t forms the origin for child nodes.
  23079. *
  23080. * The w/h are used for calculating boxes.
  23081. * Normally application code will not need to invoke this
  23082. * directly, and will use the ...box... functions instead.
  23083. *
  23084. * @param node
  23085. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  23086. */
  23087. getPadExtents(node: HTMLElement, computedStyle?: Object): Object;
  23088. /**
  23089. * Gets a property on an HTML element.
  23090. * Handles normalized getting of properties on DOM nodes.
  23091. *
  23092. * @param node id or reference to the element to get the property on
  23093. * @param name the name of the property to get.
  23094. */
  23095. getProp(node: HTMLElement, name: String): any;
  23096. /**
  23097. * Gets a property on an HTML element.
  23098. * Handles normalized getting of properties on DOM nodes.
  23099. *
  23100. * @param node id or reference to the element to get the property on
  23101. * @param name the name of the property to get.
  23102. */
  23103. getProp(node: String, name: String): any;
  23104. /**
  23105. * Accesses styles on a node.
  23106. * Getting the style value uses the computed style for the node, so the value
  23107. * will be a calculated value, not just the immediate node.style value.
  23108. * Also when getting values, use specific style names,
  23109. * like "borderBottomWidth" instead of "border" since compound values like
  23110. * "border" are not necessarily reflected as expected.
  23111. * If you want to get node dimensions, use dojo/dom-geometry.getMarginBox(),
  23112. * dojo/dom-geometry.getContentBox() or dojo/dom-geometry.getPosition().
  23113. *
  23114. * @param node id or reference to node to get style for
  23115. * @param name Optionalthe style property to get
  23116. */
  23117. getStyle(node: HTMLElement, name?: String): any;
  23118. /**
  23119. * Accesses styles on a node.
  23120. * Getting the style value uses the computed style for the node, so the value
  23121. * will be a calculated value, not just the immediate node.style value.
  23122. * Also when getting values, use specific style names,
  23123. * like "borderBottomWidth" instead of "border" since compound values like
  23124. * "border" are not necessarily reflected as expected.
  23125. * If you want to get node dimensions, use dojo/dom-geometry.getMarginBox(),
  23126. * dojo/dom-geometry.getContentBox() or dojo/dom-geometry.getPosition().
  23127. *
  23128. * @param node id or reference to node to get style for
  23129. * @param name Optionalthe style property to get
  23130. */
  23131. getStyle(node: String, name?: String): any;
  23132. /**
  23133. * Returns true if the requested attribute is specified on the
  23134. * given element, and false otherwise.
  23135. *
  23136. * @param node id or reference to the element to check
  23137. * @param name the name of the attribute
  23138. */
  23139. hasAttr(node: HTMLElement, name: String): boolean;
  23140. /**
  23141. * Returns true if the requested attribute is specified on the
  23142. * given element, and false otherwise.
  23143. *
  23144. * @param node id or reference to the element to check
  23145. * @param name the name of the attribute
  23146. */
  23147. hasAttr(node: String, name: String): boolean;
  23148. /**
  23149. * Returns whether or not the specified classes are a portion of the
  23150. * class list currently applied to the node.
  23151. *
  23152. * @param node String ID or DomNode reference to check the class for.
  23153. * @param classStr A string class name to look for.
  23154. */
  23155. hasClass(node: String, classStr: String): boolean;
  23156. /**
  23157. * Returns whether or not the specified classes are a portion of the
  23158. * class list currently applied to the node.
  23159. *
  23160. * @param node String ID or DomNode reference to check the class for.
  23161. * @param classStr A string class name to look for.
  23162. */
  23163. hasClass(node: HTMLElement, classStr: String): boolean;
  23164. /**
  23165. * Gets or sets the hash string in the browser URL.
  23166. * Handles getting and setting of location.hash.
  23167. *
  23168. * If no arguments are passed, acts as a getter.
  23169. * If a string is passed, acts as a setter.
  23170. *
  23171. * @param hash Optionalthe hash is set - #string.
  23172. * @param replace OptionalIf true, updates the hash value in the current historystate instead of creating a new history state.
  23173. */
  23174. hash(hash?: String, replace?: boolean): any;
  23175. /**
  23176. * locates the first index of the provided value in the
  23177. * passed array. If the value is not found, -1 is returned.
  23178. * This method corresponds to the JavaScript 1.6 Array.indexOf method, with two differences:
  23179. *
  23180. * when run over sparse arrays, the Dojo function invokes the callback for every index
  23181. * whereas JavaScript 1.6's indexOf skips the holes in the sparse array.
  23182. * uses equality (==) rather than strict equality (===)
  23183. * For details on this method, see:
  23184. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/indexOf
  23185. *
  23186. * @param arr
  23187. * @param value
  23188. * @param fromIndex Optional
  23189. * @param findLast OptionalMakes indexOf() work like lastIndexOf(). Used internally; not meant for external usage.
  23190. */
  23191. indexOf(arr: any[], value: Object, fromIndex?: number, findLast?: boolean): number;
  23192. /**
  23193. * Returns true if the current language is left-to-right, and false otherwise.
  23194. *
  23195. * @param doc OptionalOptional document to query. If unspecified, use win.doc.
  23196. */
  23197. isBodyLtr(doc?: HTMLDocument): boolean;
  23198. /**
  23199. * Returns true if node is a descendant of ancestor
  23200. *
  23201. * @param node string id or node reference to test
  23202. * @param ancestor string id or node reference of potential parent to test against
  23203. */
  23204. isDescendant(node: HTMLElement, ancestor: HTMLElement): boolean;
  23205. /**
  23206. * Returns true if node is a descendant of ancestor
  23207. *
  23208. * @param node string id or node reference to test
  23209. * @param ancestor string id or node reference of potential parent to test against
  23210. */
  23211. isDescendant(node: String, ancestor: HTMLElement): boolean;
  23212. /**
  23213. * Returns true if node is a descendant of ancestor
  23214. *
  23215. * @param node string id or node reference to test
  23216. * @param ancestor string id or node reference of potential parent to test against
  23217. */
  23218. isDescendant(node: HTMLElement, ancestor: String): boolean;
  23219. /**
  23220. * Returns true if node is a descendant of ancestor
  23221. *
  23222. * @param node string id or node reference to test
  23223. * @param ancestor string id or node reference of potential parent to test against
  23224. */
  23225. isDescendant(node: String, ancestor: String): boolean;
  23226. /**
  23227. * locates the last index of the provided value in the passed
  23228. * array. If the value is not found, -1 is returned.
  23229. * This method corresponds to the JavaScript 1.6 Array.lastIndexOf method, with two differences:
  23230. *
  23231. * when run over sparse arrays, the Dojo function invokes the callback for every index
  23232. * whereas JavaScript 1.6's lasIndexOf skips the holes in the sparse array.
  23233. * uses equality (==) rather than strict equality (===)
  23234. * For details on this method, see:
  23235. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/lastIndexOf
  23236. *
  23237. * @param arr
  23238. * @param value
  23239. * @param fromIndex Optional
  23240. */
  23241. lastIndexOf(arr: any, value: any, fromIndex?: number): number;
  23242. /**
  23243. *
  23244. * @param f
  23245. */
  23246. loadInit(f: any): void;
  23247. /**
  23248. * applies callback to each element of arr and returns
  23249. * an Array with the results
  23250. * This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when
  23251. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  23252. * the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array.
  23253. * For more details, see:
  23254. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
  23255. *
  23256. * @param arr the array to iterate on. If a string, operates onindividual characters.
  23257. * @param callback a function is invoked with three arguments, (item, index,array), and returns a value
  23258. * @param thisObject Optionalmay be used to scope the call to callback
  23259. * @param Ctr
  23260. */
  23261. map(arr: any[], callback: Function, thisObject: Object, Ctr: any): any[];
  23262. /**
  23263. * applies callback to each element of arr and returns
  23264. * an Array with the results
  23265. * This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when
  23266. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  23267. * the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array.
  23268. * For more details, see:
  23269. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
  23270. *
  23271. * @param arr the array to iterate on. If a string, operates onindividual characters.
  23272. * @param callback a function is invoked with three arguments, (item, index,array), and returns a value
  23273. * @param thisObject Optionalmay be used to scope the call to callback
  23274. * @param Ctr
  23275. */
  23276. map(arr: String, callback: Function, thisObject: Object, Ctr: any): any[];
  23277. /**
  23278. * applies callback to each element of arr and returns
  23279. * an Array with the results
  23280. * This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when
  23281. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  23282. * the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array.
  23283. * For more details, see:
  23284. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
  23285. *
  23286. * @param arr the array to iterate on. If a string, operates onindividual characters.
  23287. * @param callback a function is invoked with three arguments, (item, index,array), and returns a value
  23288. * @param thisObject Optionalmay be used to scope the call to callback
  23289. * @param Ctr
  23290. */
  23291. map(arr: any[], callback: String, thisObject: Object, Ctr: any): any[];
  23292. /**
  23293. * applies callback to each element of arr and returns
  23294. * an Array with the results
  23295. * This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when
  23296. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  23297. * the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array.
  23298. * For more details, see:
  23299. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
  23300. *
  23301. * @param arr the array to iterate on. If a string, operates onindividual characters.
  23302. * @param callback a function is invoked with three arguments, (item, index,array), and returns a value
  23303. * @param thisObject Optionalmay be used to scope the call to callback
  23304. * @param Ctr
  23305. */
  23306. map(arr: String, callback: String, thisObject: Object, Ctr: any): any[];
  23307. /**
  23308. * Getter/setter for the margin-box of node.
  23309. * Getter/setter for the margin-box of node.
  23310. * Returns an object in the expected format of box (regardless
  23311. * if box is passed). The object might look like:
  23312. * { l: 50, t: 200, w: 300: h: 150 }
  23313. * for a node offset from its parent 50px to the left, 200px from
  23314. * the top with a margin width of 300px and a margin-height of
  23315. * 150px.
  23316. *
  23317. * @param node id or reference to DOM Node to get/set box for
  23318. * @param box OptionalIf passed, denotes that dojo.marginBox() shouldupdate/set the margin box for node. Box is an object in theabove format. All properties are optional if passed.
  23319. */
  23320. marginBox(node: HTMLElement, box?: Object): any;
  23321. /**
  23322. * Getter/setter for the margin-box of node.
  23323. * Getter/setter for the margin-box of node.
  23324. * Returns an object in the expected format of box (regardless
  23325. * if box is passed). The object might look like:
  23326. * { l: 50, t: 200, w: 300: h: 150 }
  23327. * for a node offset from its parent 50px to the left, 200px from
  23328. * the top with a margin width of 300px and a margin-height of
  23329. * 150px.
  23330. *
  23331. * @param node id or reference to DOM Node to get/set box for
  23332. * @param box OptionalIf passed, denotes that dojo.marginBox() shouldupdate/set the margin box for node. Box is an object in theabove format. All properties are optional if passed.
  23333. */
  23334. marginBox(node: String, box?: Object): any;
  23335. /**
  23336. * Returns a URL relative to a module.
  23337. *
  23338. * @param module dojo/dom-class
  23339. * @param url Optional
  23340. */
  23341. moduleUrl(module: String, url?: String): String;
  23342. /**
  23343. * Array-like object which adds syntactic
  23344. * sugar for chaining, common iteration operations, animation, and
  23345. * node manipulation. NodeLists are most often returned as the
  23346. * result of dojo/query() calls.
  23347. * NodeList instances provide many utilities that reflect
  23348. * core Dojo APIs for Array iteration and manipulation, DOM
  23349. * manipulation, and event handling. Instead of needing to dig up
  23350. * functions in the dojo package, NodeLists generally make the
  23351. * full power of Dojo available for DOM manipulation tasks in a
  23352. * simple, chainable way.
  23353. *
  23354. * @param array
  23355. */
  23356. NodeList(array: any): any[];
  23357. /**
  23358. * takes a name/value mapping object and returns a string representing
  23359. * a URL-encoded version of that object.
  23360. *
  23361. * @param map
  23362. */
  23363. objectToQuery(map: Object): any;
  23364. /**
  23365. * Attempt to insert node into the DOM, choosing from various positioning options.
  23366. * Returns the first argument resolved to a DOM node.
  23367. *
  23368. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  23369. * @param refNode id or node reference to use as basis for placement
  23370. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  23371. */
  23372. place(node: HTMLElement, refNode: HTMLElement, position?: String): HTMLElement;
  23373. /**
  23374. * Attempt to insert node into the DOM, choosing from various positioning options.
  23375. * Returns the first argument resolved to a DOM node.
  23376. *
  23377. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  23378. * @param refNode id or node reference to use as basis for placement
  23379. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  23380. */
  23381. place(node: String, refNode: HTMLElement, position?: String): HTMLElement;
  23382. /**
  23383. * Attempt to insert node into the DOM, choosing from various positioning options.
  23384. * Returns the first argument resolved to a DOM node.
  23385. *
  23386. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  23387. * @param refNode id or node reference to use as basis for placement
  23388. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  23389. */
  23390. place(node: HTMLElement, refNode: String, position?: String): HTMLElement;
  23391. /**
  23392. * Attempt to insert node into the DOM, choosing from various positioning options.
  23393. * Returns the first argument resolved to a DOM node.
  23394. *
  23395. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  23396. * @param refNode id or node reference to use as basis for placement
  23397. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  23398. */
  23399. place(node: String, refNode: String, position?: String): HTMLElement;
  23400. /**
  23401. * Attempt to insert node into the DOM, choosing from various positioning options.
  23402. * Returns the first argument resolved to a DOM node.
  23403. *
  23404. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  23405. * @param refNode id or node reference to use as basis for placement
  23406. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  23407. */
  23408. place(node: HTMLElement, refNode: HTMLElement, position?: number): HTMLElement;
  23409. /**
  23410. * Attempt to insert node into the DOM, choosing from various positioning options.
  23411. * Returns the first argument resolved to a DOM node.
  23412. *
  23413. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  23414. * @param refNode id or node reference to use as basis for placement
  23415. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  23416. */
  23417. place(node: String, refNode: HTMLElement, position?: number): HTMLElement;
  23418. /**
  23419. * Attempt to insert node into the DOM, choosing from various positioning options.
  23420. * Returns the first argument resolved to a DOM node.
  23421. *
  23422. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  23423. * @param refNode id or node reference to use as basis for placement
  23424. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  23425. */
  23426. place(node: HTMLElement, refNode: String, position?: number): HTMLElement;
  23427. /**
  23428. * Attempt to insert node into the DOM, choosing from various positioning options.
  23429. * Returns the first argument resolved to a DOM node.
  23430. *
  23431. * @param node id or node reference, or HTML fragment starting with "<" to place relative to refNode
  23432. * @param refNode id or node reference to use as basis for placement
  23433. * @param position Optionalstring noting the position of node relative to refNode or anumber indicating the location in the childNodes collection of refNode.Accepted string values are:beforeafterreplaceonlyfirstlast"first" and "last" indicate positions as children of refNode, "replace" replaces refNode,"only" replaces all children. position defaults to "last" if not specified
  23434. */
  23435. place(node: String, refNode: String, position?: number): HTMLElement;
  23436. /**
  23437. * require one or more modules based on which host environment
  23438. * Dojo is currently operating in
  23439. * This method takes a "map" of arrays which one can use to
  23440. * optionally load dojo modules. The map is indexed by the
  23441. * possible dojo.name values, with two additional values:
  23442. * "default" and "common". The items in the "default" array will
  23443. * be loaded if none of the other items have been choosen based on
  23444. * dojo.name, set by your host environment. The items in the
  23445. * "common" array will always be loaded, regardless of which
  23446. * list is chosen.
  23447. *
  23448. * @param modMap
  23449. */
  23450. platformRequire(modMap: Object): void;
  23451. /**
  23452. * If the context stack contains elements, ensure that
  23453. * subsequent code executes in the previous context to the
  23454. * current context. The current context set ([global,
  23455. * document]) is returned.
  23456. *
  23457. */
  23458. popContext(): void;
  23459. /**
  23460. * Gets the position and size of the passed element relative to
  23461. * the viewport (if includeScroll==false), or relative to the
  23462. * document root (if includeScroll==true).
  23463. * Returns an object of the form:
  23464. * { x: 100, y: 300, w: 20, h: 15 }.
  23465. * If includeScroll==true, the x and y values will include any
  23466. * document offsets that may affect the position relative to the
  23467. * viewport.
  23468. * Uses the border-box model (inclusive of border and padding but
  23469. * not margin). Does not act as a setter.
  23470. *
  23471. * @param node
  23472. * @param includeScroll Optional
  23473. */
  23474. position(node: HTMLElement, includeScroll: boolean): Object;
  23475. /**
  23476. * Gets the position and size of the passed element relative to
  23477. * the viewport (if includeScroll==false), or relative to the
  23478. * document root (if includeScroll==true).
  23479. * Returns an object of the form:
  23480. * { x: 100, y: 300, w: 20, h: 15 }.
  23481. * If includeScroll==true, the x and y values will include any
  23482. * document offsets that may affect the position relative to the
  23483. * viewport.
  23484. * Uses the border-box model (inclusive of border and padding but
  23485. * not margin). Does not act as a setter.
  23486. *
  23487. * @param node
  23488. * @param includeScroll Optional
  23489. */
  23490. position(node: String, includeScroll?: boolean): Object;
  23491. /**
  23492. * Gets or sets a property on an HTML element.
  23493. * Handles normalized getting and setting of properties on DOM
  23494. * Nodes. If 2 arguments are passed, and a the second argument is a
  23495. * string, acts as a getter.
  23496. *
  23497. * If a third argument is passed, or if the second argument is a
  23498. * map of attributes, acts as a setter.
  23499. *
  23500. * When passing functions as values, note that they will not be
  23501. * directly assigned to slots on the node, but rather the default
  23502. * behavior will be removed and the new behavior will be added
  23503. * using dojo.connect(), meaning that event handler properties
  23504. * will be normalized and that some caveats with regards to
  23505. * non-standard behaviors for onsubmit apply. Namely that you
  23506. * should cancel form submission using dojo.stopEvent() on the
  23507. * passed event object instead of returning a boolean value from
  23508. * the handler itself.
  23509. *
  23510. * @param node id or reference to the element to get or set the property on
  23511. * @param name the name of the property to get or set.
  23512. * @param value OptionalThe value to set for the property
  23513. */
  23514. prop(node: HTMLElement, name: String, value?: String): any;
  23515. /**
  23516. * Gets or sets a property on an HTML element.
  23517. * Handles normalized getting and setting of properties on DOM
  23518. * Nodes. If 2 arguments are passed, and a the second argument is a
  23519. * string, acts as a getter.
  23520. *
  23521. * If a third argument is passed, or if the second argument is a
  23522. * map of attributes, acts as a setter.
  23523. *
  23524. * When passing functions as values, note that they will not be
  23525. * directly assigned to slots on the node, but rather the default
  23526. * behavior will be removed and the new behavior will be added
  23527. * using dojo.connect(), meaning that event handler properties
  23528. * will be normalized and that some caveats with regards to
  23529. * non-standard behaviors for onsubmit apply. Namely that you
  23530. * should cancel form submission using dojo.stopEvent() on the
  23531. * passed event object instead of returning a boolean value from
  23532. * the handler itself.
  23533. *
  23534. * @param node id or reference to the element to get or set the property on
  23535. * @param name the name of the property to get or set.
  23536. * @param value OptionalThe value to set for the property
  23537. */
  23538. prop(node: String, name: String, value?: String): any;
  23539. /**
  23540. * Gets or sets a property on an HTML element.
  23541. * Handles normalized getting and setting of properties on DOM
  23542. * Nodes. If 2 arguments are passed, and a the second argument is a
  23543. * string, acts as a getter.
  23544. *
  23545. * If a third argument is passed, or if the second argument is a
  23546. * map of attributes, acts as a setter.
  23547. *
  23548. * When passing functions as values, note that they will not be
  23549. * directly assigned to slots on the node, but rather the default
  23550. * behavior will be removed and the new behavior will be added
  23551. * using dojo.connect(), meaning that event handler properties
  23552. * will be normalized and that some caveats with regards to
  23553. * non-standard behaviors for onsubmit apply. Namely that you
  23554. * should cancel form submission using dojo.stopEvent() on the
  23555. * passed event object instead of returning a boolean value from
  23556. * the handler itself.
  23557. *
  23558. * @param node id or reference to the element to get or set the property on
  23559. * @param name the name of the property to get or set.
  23560. * @param value OptionalThe value to set for the property
  23561. */
  23562. prop(node: HTMLElement, name: Object, value?: String): any;
  23563. /**
  23564. * Gets or sets a property on an HTML element.
  23565. * Handles normalized getting and setting of properties on DOM
  23566. * Nodes. If 2 arguments are passed, and a the second argument is a
  23567. * string, acts as a getter.
  23568. *
  23569. * If a third argument is passed, or if the second argument is a
  23570. * map of attributes, acts as a setter.
  23571. *
  23572. * When passing functions as values, note that they will not be
  23573. * directly assigned to slots on the node, but rather the default
  23574. * behavior will be removed and the new behavior will be added
  23575. * using dojo.connect(), meaning that event handler properties
  23576. * will be normalized and that some caveats with regards to
  23577. * non-standard behaviors for onsubmit apply. Namely that you
  23578. * should cancel form submission using dojo.stopEvent() on the
  23579. * passed event object instead of returning a boolean value from
  23580. * the handler itself.
  23581. *
  23582. * @param node id or reference to the element to get or set the property on
  23583. * @param name the name of the property to get or set.
  23584. * @param value OptionalThe value to set for the property
  23585. */
  23586. prop(node: String, name: Object, value?: String): any;
  23587. /**
  23588. *
  23589. * @param mid
  23590. */
  23591. provide(mid: any): void;
  23592. /**
  23593. * causes subsequent calls to Dojo methods to assume the
  23594. * passed object and, optionally, document as the default
  23595. * scopes to use. A 2-element array of the previous global and
  23596. * document are returned.
  23597. * dojo.pushContext treats contexts as a stack. The
  23598. * auto-detected contexts which are initially provided using
  23599. * dojo.setContext() require authors to keep state in order to
  23600. * "return" to a previous context, whereas the
  23601. * dojo.pushContext and dojo.popContext methods provide a more
  23602. * natural way to augment blocks of code to ensure that they
  23603. * execute in a different window or frame without issue. If
  23604. * called without any arguments, the default context (the
  23605. * context when Dojo is first loaded) is instead pushed into
  23606. * the stack. If only a single string is passed, a node in the
  23607. * intitial context's document is looked up and its
  23608. * contextWindow and contextDocument properties are used as
  23609. * the context to push. This means that iframes can be given
  23610. * an ID and code can be executed in the scope of the iframe's
  23611. * document in subsequent calls easily.
  23612. *
  23613. * @param g OptionalThe global context. If a string, the id of the frame tosearch for a context and document.
  23614. * @param d OptionalThe document element to execute subsequent code with.
  23615. */
  23616. pushContext(g?: Object, d?: HTMLDocument): void;
  23617. /**
  23618. * causes subsequent calls to Dojo methods to assume the
  23619. * passed object and, optionally, document as the default
  23620. * scopes to use. A 2-element array of the previous global and
  23621. * document are returned.
  23622. * dojo.pushContext treats contexts as a stack. The
  23623. * auto-detected contexts which are initially provided using
  23624. * dojo.setContext() require authors to keep state in order to
  23625. * "return" to a previous context, whereas the
  23626. * dojo.pushContext and dojo.popContext methods provide a more
  23627. * natural way to augment blocks of code to ensure that they
  23628. * execute in a different window or frame without issue. If
  23629. * called without any arguments, the default context (the
  23630. * context when Dojo is first loaded) is instead pushed into
  23631. * the stack. If only a single string is passed, a node in the
  23632. * intitial context's document is looked up and its
  23633. * contextWindow and contextDocument properties are used as
  23634. * the context to push. This means that iframes can be given
  23635. * an ID and code can be executed in the scope of the iframe's
  23636. * document in subsequent calls easily.
  23637. *
  23638. * @param g OptionalThe global context. If a string, the id of the frame tosearch for a context and document.
  23639. * @param d OptionalThe document element to execute subsequent code with.
  23640. */
  23641. pushContext(g?: String, d?: HTMLDocument): void;
  23642. /**
  23643. * Create an object representing a de-serialized query section of a
  23644. * URL. Query keys with multiple values are returned in an array.
  23645. *
  23646. * @param str
  23647. */
  23648. queryToObject(str: String): Object;
  23649. /**
  23650. * Sends an HTTP POST request to the server. In addition to the properties
  23651. * listed for the dojo.__XhrArgs type, the following property is allowed:
  23652. *
  23653. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  23654. */
  23655. rawXhrPost(args: Object): any;
  23656. /**
  23657. * Sends an HTTP PUT request to the server. In addition to the properties
  23658. * listed for the dojo.__XhrArgs type, the following property is allowed:
  23659. *
  23660. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  23661. */
  23662. rawXhrPut(args: Object): any;
  23663. /**
  23664. * Add a function to execute on DOM content loaded and all requested modules have arrived and been evaluated.
  23665. * In most cases, the domReady plug-in should suffice and this method should not be needed.
  23666. *
  23667. * When called in a non-browser environment, just checks that all requested modules have arrived and been
  23668. * evaluated.
  23669. *
  23670. * @param priority OptionalThe order in which to exec this callback relative to other callbacks, defaults to 1000
  23671. * @param context The context in which to run execute callback, or a callback if not using context
  23672. * @param callback OptionalThe function to execute.
  23673. */
  23674. ready(priority: number, context: any, callback: Function): void;
  23675. /**
  23676. * Maps a module name to a path
  23677. * An unregistered module is given the default path of ../[module],
  23678. * relative to Dojo root. For example, module acme is mapped to
  23679. * ../acme. If you want to use a different module name, use
  23680. * dojo.registerModulePath.
  23681. *
  23682. * @param moduleName
  23683. * @param prefix
  23684. */
  23685. registerModulePath(moduleName: String, prefix: String): void;
  23686. /**
  23687. * Removes an attribute from an HTML element.
  23688. *
  23689. * @param node id or reference to the element to remove the attribute from
  23690. * @param name the name of the attribute to remove
  23691. */
  23692. removeAttr(node: HTMLElement, name: String): void;
  23693. /**
  23694. * Removes an attribute from an HTML element.
  23695. *
  23696. * @param node id or reference to the element to remove the attribute from
  23697. * @param name the name of the attribute to remove
  23698. */
  23699. removeAttr(node: String, name: String): void;
  23700. /**
  23701. * Removes the specified classes from node. No contains()
  23702. * check is required.
  23703. *
  23704. * @param node String ID or DomNode reference to remove the class from.
  23705. * @param classStr OptionalAn optional String class name to remove, or several space-separatedclass names, or an array of class names. If omitted, all class nameswill be deleted.
  23706. */
  23707. removeClass(node: String, classStr?: String): void;
  23708. /**
  23709. * Removes the specified classes from node. No contains()
  23710. * check is required.
  23711. *
  23712. * @param node String ID or DomNode reference to remove the class from.
  23713. * @param classStr OptionalAn optional String class name to remove, or several space-separatedclass names, or an array of class names. If omitted, all class nameswill be deleted.
  23714. */
  23715. removeClass(node: HTMLElement, classStr?: String): void;
  23716. /**
  23717. * Removes the specified classes from node. No contains()
  23718. * check is required.
  23719. *
  23720. * @param node String ID or DomNode reference to remove the class from.
  23721. * @param classStr OptionalAn optional String class name to remove, or several space-separatedclass names, or an array of class names. If omitted, all class nameswill be deleted.
  23722. */
  23723. removeClass(node: String, classStr?: any[]): void;
  23724. /**
  23725. * Removes the specified classes from node. No contains()
  23726. * check is required.
  23727. *
  23728. * @param node String ID or DomNode reference to remove the class from.
  23729. * @param classStr OptionalAn optional String class name to remove, or several space-separatedclass names, or an array of class names. If omitted, all class nameswill be deleted.
  23730. */
  23731. removeClass(node: HTMLElement, classStr?: any[]): void;
  23732. /**
  23733. * Replaces one or more classes on a node if not present.
  23734. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  23735. *
  23736. * @param node String ID or DomNode reference to remove the class from.
  23737. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  23738. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  23739. */
  23740. replaceClass(node: String, addClassStr: String, removeClassStr?: String): void;
  23741. /**
  23742. * Replaces one or more classes on a node if not present.
  23743. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  23744. *
  23745. * @param node String ID or DomNode reference to remove the class from.
  23746. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  23747. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  23748. */
  23749. replaceClass(node: HTMLElement, addClassStr: String, removeClassStr?: String): void;
  23750. /**
  23751. * Replaces one or more classes on a node if not present.
  23752. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  23753. *
  23754. * @param node String ID or DomNode reference to remove the class from.
  23755. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  23756. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  23757. */
  23758. replaceClass(node: String, addClassStr: any[], removeClassStr?: String): void;
  23759. /**
  23760. * Replaces one or more classes on a node if not present.
  23761. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  23762. *
  23763. * @param node String ID or DomNode reference to remove the class from.
  23764. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  23765. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  23766. */
  23767. replaceClass(node: HTMLElement, addClassStr: any[], removeClassStr?: String): void;
  23768. /**
  23769. * Replaces one or more classes on a node if not present.
  23770. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  23771. *
  23772. * @param node String ID or DomNode reference to remove the class from.
  23773. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  23774. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  23775. */
  23776. replaceClass(node: String, addClassStr: String, removeClassStr?: any[]): void;
  23777. /**
  23778. * Replaces one or more classes on a node if not present.
  23779. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  23780. *
  23781. * @param node String ID or DomNode reference to remove the class from.
  23782. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  23783. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  23784. */
  23785. replaceClass(node: HTMLElement, addClassStr: String, removeClassStr?: any[]): void;
  23786. /**
  23787. * Replaces one or more classes on a node if not present.
  23788. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  23789. *
  23790. * @param node String ID or DomNode reference to remove the class from.
  23791. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  23792. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  23793. */
  23794. replaceClass(node: String, addClassStr: any[], removeClassStr?: any[]): void;
  23795. /**
  23796. * Replaces one or more classes on a node if not present.
  23797. * Operates more quickly than calling dojo.removeClass and dojo.addClass
  23798. *
  23799. * @param node String ID or DomNode reference to remove the class from.
  23800. * @param addClassStr A String class name to add, or several space-separated class names,or an array of class names.
  23801. * @param removeClassStr OptionalA String class name to remove, or several space-separated class names,or an array of class names.
  23802. */
  23803. replaceClass(node: HTMLElement, addClassStr: any[], removeClassStr?: any[]): void;
  23804. /**
  23805. * loads a Javascript module from the appropriate URI
  23806. * Modules are loaded via dojo.require by using one of two loaders: the normal loader
  23807. * and the xdomain loader. The xdomain loader is used when dojo was built with a
  23808. * custom build that specified loader=xdomain and the module lives on a modulePath
  23809. * that is a whole URL, with protocol and a domain. The versions of Dojo that are on
  23810. * the Google and AOL CDNs use the xdomain loader.
  23811. *
  23812. * If the module is loaded via the xdomain loader, it is an asynchronous load, since
  23813. * the module is added via a dynamically created script tag. This
  23814. * means that dojo.require() can return before the module has loaded. However, this
  23815. * should only happen in the case where you do dojo.require calls in the top-level
  23816. * HTML page, or if you purposely avoid the loader checking for dojo.require
  23817. * dependencies in your module by using a syntax like dojo["require"] to load the module.
  23818. *
  23819. * Sometimes it is useful to not have the loader detect the dojo.require calls in the
  23820. * module so that you can dynamically load the modules as a result of an action on the
  23821. * page, instead of right at module load time.
  23822. *
  23823. * Also, for script blocks in an HTML page, the loader does not pre-process them, so
  23824. * it does not know to download the modules before the dojo.require calls occur.
  23825. *
  23826. * So, in those two cases, when you want on-the-fly module loading or for script blocks
  23827. * in the HTML page, special care must be taken if the dojo.required code is loaded
  23828. * asynchronously. To make sure you can execute code that depends on the dojo.required
  23829. * modules, be sure to add the code that depends on the modules in a dojo.addOnLoad()
  23830. * callback. dojo.addOnLoad waits for all outstanding modules to finish loading before
  23831. * executing.
  23832. *
  23833. * This type of syntax works with both xdomain and normal loaders, so it is good
  23834. * practice to always use this idiom for on-the-fly code loading and in HTML script
  23835. * blocks. If at some point you change loaders and where the code is loaded from,
  23836. * it will all still work.
  23837. *
  23838. * More on how dojo.require
  23839. * dojo.require("A.B") first checks to see if symbol A.B is
  23840. * defined. If it is, it is simply returned (nothing to do).
  23841. *
  23842. * If it is not defined, it will look for A/B.js in the script root
  23843. * directory.
  23844. *
  23845. * dojo.require throws an exception if it cannot find a file
  23846. * to load, or if the symbol A.B is not defined after loading.
  23847. *
  23848. * It returns the object A.B, but note the caveats above about on-the-fly loading and
  23849. * HTML script blocks when the xdomain loader is loading a module.
  23850. *
  23851. * dojo.require() does nothing about importing symbols into
  23852. * the current namespace. It is presumed that the caller will
  23853. * take care of that.
  23854. *
  23855. * @param moduleName module name to load, using periods for separators, e.g. "dojo.date.locale". Module paths are de-referenced by dojo'sinternal mapping of locations to names and are disambiguated bylongest prefix. See dojo.registerModulePath() for details onregistering new modules.
  23856. * @param omitModuleCheck Optionalif true, omitModuleCheck skips the step of ensuring that theloaded file actually defines the symbol it is referenced by.For example if it called as dojo.require("a.b.c") and thefile located at a/b/c.js does not define an object a.b.c,and exception will be throws whereas no exception is raisedwhen called as dojo.require("a.b.c", true)
  23857. */
  23858. require(moduleName: String, omitModuleCheck?: boolean): any;
  23859. /**
  23860. * If the condition is true then call dojo.require() for the specified
  23861. * resource
  23862. *
  23863. * @param condition
  23864. * @param moduleName
  23865. * @param omitModuleCheck Optional
  23866. */
  23867. requireAfterIf(condition: boolean, moduleName: String, omitModuleCheck?: boolean): void;
  23868. /**
  23869. * If the condition is true then call dojo.require() for the specified
  23870. * resource
  23871. *
  23872. * @param condition
  23873. * @param moduleName
  23874. * @param omitModuleCheck Optional
  23875. */
  23876. requireIf(condition: boolean, moduleName: String, omitModuleCheck?: boolean): void;
  23877. /**
  23878. *
  23879. * @param moduleName
  23880. * @param bundleName
  23881. * @param locale Optional
  23882. */
  23883. requireLocalization(moduleName: String, bundleName: String, locale?: String): void;
  23884. /**
  23885. * Mix in properties skipping a constructor and decorating functions
  23886. * like it is done by declare().
  23887. * This function is used to mix in properties like lang.mixin does,
  23888. * but it skips a constructor property and decorates functions like
  23889. * declare() does.
  23890. *
  23891. * It is meant to be used with classes and objects produced with
  23892. * declare. Functions mixed in with dojo.safeMixin can use
  23893. * this.inherited() like normal methods.
  23894. *
  23895. * This function is used to implement extend() method of a constructor
  23896. * produced with declare().
  23897. *
  23898. * @param target Target object to accept new properties.
  23899. * @param source Source object for new properties.
  23900. */
  23901. safeMixin(target: Object, source: Object): Object;
  23902. /**
  23903. * Sets an attribute on an HTML element.
  23904. * Handles normalized setting of attributes on DOM Nodes.
  23905. *
  23906. * When passing functions as values, note that they will not be
  23907. * directly assigned to slots on the node, but rather the default
  23908. * behavior will be removed and the new behavior will be added
  23909. * using dojo.connect(), meaning that event handler properties
  23910. * will be normalized and that some caveats with regards to
  23911. * non-standard behaviors for onsubmit apply. Namely that you
  23912. * should cancel form submission using dojo.stopEvent() on the
  23913. * passed event object instead of returning a boolean value from
  23914. * the handler itself.
  23915. *
  23916. * @param node id or reference to the element to set the attribute on
  23917. * @param name the name of the attribute to set, or a hash of key-value pairs to set.
  23918. * @param value Optionalthe value to set for the attribute, if the name is a string.
  23919. */
  23920. setAttr(node: HTMLElement, name: String, value?: String): any;
  23921. /**
  23922. * Sets an attribute on an HTML element.
  23923. * Handles normalized setting of attributes on DOM Nodes.
  23924. *
  23925. * When passing functions as values, note that they will not be
  23926. * directly assigned to slots on the node, but rather the default
  23927. * behavior will be removed and the new behavior will be added
  23928. * using dojo.connect(), meaning that event handler properties
  23929. * will be normalized and that some caveats with regards to
  23930. * non-standard behaviors for onsubmit apply. Namely that you
  23931. * should cancel form submission using dojo.stopEvent() on the
  23932. * passed event object instead of returning a boolean value from
  23933. * the handler itself.
  23934. *
  23935. * @param node id or reference to the element to set the attribute on
  23936. * @param name the name of the attribute to set, or a hash of key-value pairs to set.
  23937. * @param value Optionalthe value to set for the attribute, if the name is a string.
  23938. */
  23939. setAttr(node: String, name: String, value?: String): any;
  23940. /**
  23941. * Sets an attribute on an HTML element.
  23942. * Handles normalized setting of attributes on DOM Nodes.
  23943. *
  23944. * When passing functions as values, note that they will not be
  23945. * directly assigned to slots on the node, but rather the default
  23946. * behavior will be removed and the new behavior will be added
  23947. * using dojo.connect(), meaning that event handler properties
  23948. * will be normalized and that some caveats with regards to
  23949. * non-standard behaviors for onsubmit apply. Namely that you
  23950. * should cancel form submission using dojo.stopEvent() on the
  23951. * passed event object instead of returning a boolean value from
  23952. * the handler itself.
  23953. *
  23954. * @param node id or reference to the element to set the attribute on
  23955. * @param name the name of the attribute to set, or a hash of key-value pairs to set.
  23956. * @param value Optionalthe value to set for the attribute, if the name is a string.
  23957. */
  23958. setAttr(node: HTMLElement, name: Object, value?: String): any;
  23959. /**
  23960. * Sets an attribute on an HTML element.
  23961. * Handles normalized setting of attributes on DOM Nodes.
  23962. *
  23963. * When passing functions as values, note that they will not be
  23964. * directly assigned to slots on the node, but rather the default
  23965. * behavior will be removed and the new behavior will be added
  23966. * using dojo.connect(), meaning that event handler properties
  23967. * will be normalized and that some caveats with regards to
  23968. * non-standard behaviors for onsubmit apply. Namely that you
  23969. * should cancel form submission using dojo.stopEvent() on the
  23970. * passed event object instead of returning a boolean value from
  23971. * the handler itself.
  23972. *
  23973. * @param node id or reference to the element to set the attribute on
  23974. * @param name the name of the attribute to set, or a hash of key-value pairs to set.
  23975. * @param value Optionalthe value to set for the attribute, if the name is a string.
  23976. */
  23977. setAttr(node: String, name: Object, value?: String): any;
  23978. /**
  23979. * Sets the size of the node's contents, irrespective of margins,
  23980. * padding, or borders.
  23981. *
  23982. * @param node
  23983. * @param box hash with optional "w", and "h" properties for "width", and "height"respectively. All specified properties should have numeric values in whole pixels.
  23984. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  23985. */
  23986. setContentSize(node: HTMLElement, box: Object, computedStyle?: Object): void;
  23987. /**
  23988. * changes the behavior of many core Dojo functions that deal with
  23989. * namespace and DOM lookup, changing them to work in a new global
  23990. * context (e.g., an iframe). The varibles dojo.global and dojo.doc
  23991. * are modified as a result of calling this function and the result of
  23992. * dojo.body() likewise differs.
  23993. *
  23994. * @param globalObject
  23995. * @param globalDocument
  23996. */
  23997. setContext(globalObject: Object, globalDocument: HTMLDocument): void;
  23998. /**
  23999. * sets the size of the node's margin box and placement
  24000. * (left/top), irrespective of box model. Think of it as a
  24001. * passthrough to setBox that handles box-model vagaries for
  24002. * you.
  24003. *
  24004. * @param node
  24005. * @param box hash with optional "l", "t", "w", and "h" properties for "left", "right", "width", and "height"respectively. All specified properties should have numeric values in whole pixels.
  24006. * @param computedStyle OptionalThis parameter accepts computed styles object.If this parameter is omitted, the functions will calldojo/dom-style.getComputedStyle to get one. It is a better way, callingdojo/dom-style.getComputedStyle once, and then pass the reference to thiscomputedStyle parameter. Wherever possible, reuse the returnedobject of dojo/dom-style.getComputedStyle().
  24007. */
  24008. setMarginBox(node: HTMLElement, box: Object, computedStyle?: Object): void;
  24009. /**
  24010. * Sets a property on an HTML element.
  24011. * Handles normalized setting of properties on DOM nodes.
  24012. *
  24013. * When passing functions as values, note that they will not be
  24014. * directly assigned to slots on the node, but rather the default
  24015. * behavior will be removed and the new behavior will be added
  24016. * using dojo.connect(), meaning that event handler properties
  24017. * will be normalized and that some caveats with regards to
  24018. * non-standard behaviors for onsubmit apply. Namely that you
  24019. * should cancel form submission using dojo.stopEvent() on the
  24020. * passed event object instead of returning a boolean value from
  24021. * the handler itself.
  24022. *
  24023. * @param node id or reference to the element to set the property on
  24024. * @param name the name of the property to set, or a hash object to setmultiple properties at once.
  24025. * @param value OptionalThe value to set for the property
  24026. */
  24027. setProp(node: HTMLElement, name: String, value?: String): any;
  24028. /**
  24029. * Sets a property on an HTML element.
  24030. * Handles normalized setting of properties on DOM nodes.
  24031. *
  24032. * When passing functions as values, note that they will not be
  24033. * directly assigned to slots on the node, but rather the default
  24034. * behavior will be removed and the new behavior will be added
  24035. * using dojo.connect(), meaning that event handler properties
  24036. * will be normalized and that some caveats with regards to
  24037. * non-standard behaviors for onsubmit apply. Namely that you
  24038. * should cancel form submission using dojo.stopEvent() on the
  24039. * passed event object instead of returning a boolean value from
  24040. * the handler itself.
  24041. *
  24042. * @param node id or reference to the element to set the property on
  24043. * @param name the name of the property to set, or a hash object to setmultiple properties at once.
  24044. * @param value OptionalThe value to set for the property
  24045. */
  24046. setProp(node: String, name: String, value?: String): any;
  24047. /**
  24048. * Sets a property on an HTML element.
  24049. * Handles normalized setting of properties on DOM nodes.
  24050. *
  24051. * When passing functions as values, note that they will not be
  24052. * directly assigned to slots on the node, but rather the default
  24053. * behavior will be removed and the new behavior will be added
  24054. * using dojo.connect(), meaning that event handler properties
  24055. * will be normalized and that some caveats with regards to
  24056. * non-standard behaviors for onsubmit apply. Namely that you
  24057. * should cancel form submission using dojo.stopEvent() on the
  24058. * passed event object instead of returning a boolean value from
  24059. * the handler itself.
  24060. *
  24061. * @param node id or reference to the element to set the property on
  24062. * @param name the name of the property to set, or a hash object to setmultiple properties at once.
  24063. * @param value OptionalThe value to set for the property
  24064. */
  24065. setProp(node: HTMLElement, name: Object, value?: String): any;
  24066. /**
  24067. * Sets a property on an HTML element.
  24068. * Handles normalized setting of properties on DOM nodes.
  24069. *
  24070. * When passing functions as values, note that they will not be
  24071. * directly assigned to slots on the node, but rather the default
  24072. * behavior will be removed and the new behavior will be added
  24073. * using dojo.connect(), meaning that event handler properties
  24074. * will be normalized and that some caveats with regards to
  24075. * non-standard behaviors for onsubmit apply. Namely that you
  24076. * should cancel form submission using dojo.stopEvent() on the
  24077. * passed event object instead of returning a boolean value from
  24078. * the handler itself.
  24079. *
  24080. * @param node id or reference to the element to set the property on
  24081. * @param name the name of the property to set, or a hash object to setmultiple properties at once.
  24082. * @param value OptionalThe value to set for the property
  24083. */
  24084. setProp(node: String, name: Object, value?: String): any;
  24085. /**
  24086. *
  24087. * @param node
  24088. * @param selectable
  24089. */
  24090. setSelectable(node: any, selectable: any): void;
  24091. /**
  24092. * Sets styles on a node.
  24093. *
  24094. * @param node id or reference to node to set style for
  24095. * @param name the style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  24096. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  24097. */
  24098. setStyle(node: HTMLElement, name: String, value?: String): String;
  24099. /**
  24100. * Sets styles on a node.
  24101. *
  24102. * @param node id or reference to node to set style for
  24103. * @param name the style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  24104. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  24105. */
  24106. setStyle(node: String, name: String, value?: String): String;
  24107. /**
  24108. * Sets styles on a node.
  24109. *
  24110. * @param node id or reference to node to set style for
  24111. * @param name the style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  24112. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  24113. */
  24114. setStyle(node: HTMLElement, name: Object, value?: String): String;
  24115. /**
  24116. * Sets styles on a node.
  24117. *
  24118. * @param node id or reference to node to set style for
  24119. * @param name the style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  24120. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  24121. */
  24122. setStyle(node: String, name: Object, value?: String): String;
  24123. /**
  24124. * Determines whether or not any item in arr satisfies the
  24125. * condition implemented by callback.
  24126. * This function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when
  24127. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  24128. * the callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array.
  24129. * For more details, see:
  24130. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some
  24131. *
  24132. * @param arr the array to iterate over. If a string, operates on individual characters.
  24133. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  24134. * @param thisObject Optionalmay be used to scope the call to callback
  24135. */
  24136. some(arr: any[], callback: Function, thisObject?: Object): boolean;
  24137. /**
  24138. * Determines whether or not any item in arr satisfies the
  24139. * condition implemented by callback.
  24140. * This function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when
  24141. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  24142. * the callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array.
  24143. * For more details, see:
  24144. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some
  24145. *
  24146. * @param arr the array to iterate over. If a string, operates on individual characters.
  24147. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  24148. * @param thisObject Optionalmay be used to scope the call to callback
  24149. */
  24150. some(arr: String, callback: Function, thisObject?: Object): boolean;
  24151. /**
  24152. * Determines whether or not any item in arr satisfies the
  24153. * condition implemented by callback.
  24154. * This function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when
  24155. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  24156. * the callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array.
  24157. * For more details, see:
  24158. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some
  24159. *
  24160. * @param arr the array to iterate over. If a string, operates on individual characters.
  24161. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  24162. * @param thisObject Optionalmay be used to scope the call to callback
  24163. */
  24164. some(arr: any[], callback: String, thisObject?: Object): boolean;
  24165. /**
  24166. * Determines whether or not any item in arr satisfies the
  24167. * condition implemented by callback.
  24168. * This function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when
  24169. * run over sparse arrays, this implementation passes the "holes" in the sparse array to
  24170. * the callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array.
  24171. * For more details, see:
  24172. * https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some
  24173. *
  24174. * @param arr the array to iterate over. If a string, operates on individual characters.
  24175. * @param callback a function is invoked with three arguments: item, index,and array and returns true if the condition is met.
  24176. * @param thisObject Optionalmay be used to scope the call to callback
  24177. */
  24178. some(arr: String, callback: String, thisObject?: Object): boolean;
  24179. /**
  24180. *
  24181. */
  24182. Stateful(): void;
  24183. /**
  24184. * prevents propagation and clobbers the default action of the
  24185. * passed event
  24186. *
  24187. * @param evt The event object. If omitted, window.event is used on IE.
  24188. */
  24189. stopEvent(evt: Event): void;
  24190. /**
  24191. * Accesses styles on a node. If 2 arguments are
  24192. * passed, acts as a getter. If 3 arguments are passed, acts
  24193. * as a setter.
  24194. * Getting the style value uses the computed style for the node, so the value
  24195. * will be a calculated value, not just the immediate node.style value.
  24196. * Also when getting values, use specific style names,
  24197. * like "borderBottomWidth" instead of "border" since compound values like
  24198. * "border" are not necessarily reflected as expected.
  24199. * If you want to get node dimensions, use dojo.marginBox(),
  24200. * dojo.contentBox() or dojo.position().
  24201. *
  24202. * @param node id or reference to node to get/set style for
  24203. * @param name Optionalthe style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  24204. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  24205. */
  24206. style(node: HTMLElement, name?: String, value?: String): any;
  24207. /**
  24208. * Accesses styles on a node. If 2 arguments are
  24209. * passed, acts as a getter. If 3 arguments are passed, acts
  24210. * as a setter.
  24211. * Getting the style value uses the computed style for the node, so the value
  24212. * will be a calculated value, not just the immediate node.style value.
  24213. * Also when getting values, use specific style names,
  24214. * like "borderBottomWidth" instead of "border" since compound values like
  24215. * "border" are not necessarily reflected as expected.
  24216. * If you want to get node dimensions, use dojo.marginBox(),
  24217. * dojo.contentBox() or dojo.position().
  24218. *
  24219. * @param node id or reference to node to get/set style for
  24220. * @param name Optionalthe style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  24221. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  24222. */
  24223. style(node: String, name?: String, value?: String): any;
  24224. /**
  24225. * Accesses styles on a node. If 2 arguments are
  24226. * passed, acts as a getter. If 3 arguments are passed, acts
  24227. * as a setter.
  24228. * Getting the style value uses the computed style for the node, so the value
  24229. * will be a calculated value, not just the immediate node.style value.
  24230. * Also when getting values, use specific style names,
  24231. * like "borderBottomWidth" instead of "border" since compound values like
  24232. * "border" are not necessarily reflected as expected.
  24233. * If you want to get node dimensions, use dojo.marginBox(),
  24234. * dojo.contentBox() or dojo.position().
  24235. *
  24236. * @param node id or reference to node to get/set style for
  24237. * @param name Optionalthe style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  24238. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  24239. */
  24240. style(node: HTMLElement, name?: Object, value?: String): any;
  24241. /**
  24242. * Accesses styles on a node. If 2 arguments are
  24243. * passed, acts as a getter. If 3 arguments are passed, acts
  24244. * as a setter.
  24245. * Getting the style value uses the computed style for the node, so the value
  24246. * will be a calculated value, not just the immediate node.style value.
  24247. * Also when getting values, use specific style names,
  24248. * like "borderBottomWidth" instead of "border" since compound values like
  24249. * "border" are not necessarily reflected as expected.
  24250. * If you want to get node dimensions, use dojo.marginBox(),
  24251. * dojo.contentBox() or dojo.position().
  24252. *
  24253. * @param node id or reference to node to get/set style for
  24254. * @param name Optionalthe style property to set in DOM-accessor format("borderWidth", not "border-width") or an object with key/valuepairs suitable for setting each property.
  24255. * @param value OptionalIf passed, sets value on the node for style, handlingcross-browser concerns. When setting a pixel value,be sure to include "px" in the value. For instance, top: "200px".Otherwise, in some cases, some browsers will not apply the style.
  24256. */
  24257. style(node: String, name?: Object, value?: String): any;
  24258. /**
  24259. * instantiates an HTML fragment returning the corresponding DOM.
  24260. *
  24261. * @param frag the HTML fragment
  24262. * @param doc Optionaloptional document to use when creating DOM nodes, defaults todojo/_base/window.doc if not specified.
  24263. */
  24264. toDom(frag: String, doc?: HTMLDocument): any;
  24265. /**
  24266. * Adds a class to node if not present, or removes if present.
  24267. * Pass a boolean condition if you want to explicitly add or remove.
  24268. * Returns the condition that was specified directly or indirectly.
  24269. *
  24270. * @param node String ID or DomNode reference to toggle a class string
  24271. * @param classStr A String class name to toggle, or several space-separated class names,or an array of class names.
  24272. * @param condition OptionalIf passed, true means to add the class, false means to remove.Otherwise dojo.hasClass(node, classStr) is used to detect the class presence.
  24273. */
  24274. toggleClass(node: String, classStr: String, condition?: boolean): boolean;
  24275. /**
  24276. * Adds a class to node if not present, or removes if present.
  24277. * Pass a boolean condition if you want to explicitly add or remove.
  24278. * Returns the condition that was specified directly or indirectly.
  24279. *
  24280. * @param node String ID or DomNode reference to toggle a class string
  24281. * @param classStr A String class name to toggle, or several space-separated class names,or an array of class names.
  24282. * @param condition OptionalIf passed, true means to add the class, false means to remove.Otherwise dojo.hasClass(node, classStr) is used to detect the class presence.
  24283. */
  24284. toggleClass(node: HTMLElement, classStr: String, condition?: boolean): boolean;
  24285. /**
  24286. * Adds a class to node if not present, or removes if present.
  24287. * Pass a boolean condition if you want to explicitly add or remove.
  24288. * Returns the condition that was specified directly or indirectly.
  24289. *
  24290. * @param node String ID or DomNode reference to toggle a class string
  24291. * @param classStr A String class name to toggle, or several space-separated class names,or an array of class names.
  24292. * @param condition OptionalIf passed, true means to add the class, false means to remove.Otherwise dojo.hasClass(node, classStr) is used to detect the class presence.
  24293. */
  24294. toggleClass(node: String, classStr: any[], condition?: boolean): boolean;
  24295. /**
  24296. * Adds a class to node if not present, or removes if present.
  24297. * Pass a boolean condition if you want to explicitly add or remove.
  24298. * Returns the condition that was specified directly or indirectly.
  24299. *
  24300. * @param node String ID or DomNode reference to toggle a class string
  24301. * @param classStr A String class name to toggle, or several space-separated class names,or an array of class names.
  24302. * @param condition OptionalIf passed, true means to add the class, false means to remove.Otherwise dojo.hasClass(node, classStr) is used to detect the class presence.
  24303. */
  24304. toggleClass(node: HTMLElement, classStr: any[], condition?: boolean): boolean;
  24305. /**
  24306. * Returns a JSON serialization of an object.
  24307. * Returns a JSON serialization of an object.
  24308. * Note that this doesn't check for infinite recursion, so don't do that!
  24309. * It is recommend that you use dojo/json's stringify function for an lighter
  24310. * and faster implementation that matches the native JSON API and uses the
  24311. * native JSON serializer when available.
  24312. *
  24313. * @param it an object to be serialized. Objects may define their ownserialization via a special "json" or "json" functionproperty. If a specialized serializer has been defined, it willbe used as a fallback.Note that in 1.6, toJson would serialize undefined, but this no longer supportedsince it is not supported by native JSON serializer.
  24314. * @param prettyPrint Optionalif true, we indent objects and arrays to make the output prettier.The variable dojo.toJsonIndentStr is used as the indent string --to use something other than the default (tab), change that variablebefore calling dojo.toJson().Note that if native JSON support is available, it will be used for serialization,and native implementations vary on the exact spacing used in pretty printing.
  24315. */
  24316. toJson(it: Object, prettyPrint?: boolean): any;
  24317. /**
  24318. * converts style value to pixels on IE or return a numeric value.
  24319. *
  24320. * @param node
  24321. * @param value
  24322. */
  24323. toPixelValue(node: HTMLElement, value: String): number;
  24324. /**
  24325. * Remove a topic listener.
  24326. *
  24327. * @param handle The handle returned from a call to subscribe.
  24328. */
  24329. unsubscribe(handle: Object): void;
  24330. /**
  24331. * Transparently applies callbacks to values and/or promises.
  24332. * Accepts promises but also transparently handles non-promises. If no
  24333. * callbacks are provided returns a promise, regardless of the initial
  24334. * value. Foreign promises are converted.
  24335. *
  24336. * If callbacks are provided and the initial value is not a promise,
  24337. * the callback is executed immediately with no error handling. Returns
  24338. * a promise if the initial value is a promise, or the result of the
  24339. * callback otherwise.
  24340. *
  24341. * @param valueOrPromise Either a regular value or an object with a then() method thatfollows the Promises/A specification.
  24342. * @param callback OptionalCallback to be invoked when the promise is resolved, or a non-promiseis received.
  24343. * @param errback OptionalCallback to be invoked when the promise is rejected.
  24344. * @param progback OptionalCallback to be invoked when the promise emits a progress update.
  24345. */
  24346. when(valueOrPromise: any, callback?: Function, errback?: Function, progback?: Function): dojo.promise.Promise<any>;
  24347. /**
  24348. * signal fired by impending window destruction. You may use
  24349. * dojo.addOnWIndowUnload() or dojo.connect() to this method to perform
  24350. * page/application cleanup methods. See dojo.addOnWindowUnload for more info.
  24351. *
  24352. */
  24353. windowUnloaded(): void;
  24354. /**
  24355. * Invoke callback with documentObject as dojo/_base/window::doc.
  24356. * Invoke callback with documentObject as dojo/_base/window::doc. If provided,
  24357. * callback will be executed in the context of object thisObject
  24358. * When callback() returns or throws an error, the dojo/_base/window::doc will
  24359. * be restored to its previous state.
  24360. *
  24361. * @param documentObject
  24362. * @param callback
  24363. * @param thisObject Optional
  24364. * @param cbArguments Optional
  24365. */
  24366. withDoc(documentObject: HTMLDocument, callback: Function, thisObject?: Object, cbArguments?: any[]): any;
  24367. /**
  24368. * Invoke callback with globalObject as dojo.global and
  24369. * globalObject.document as dojo.doc.
  24370. * Invoke callback with globalObject as dojo.global and
  24371. * globalObject.document as dojo.doc. If provided, globalObject
  24372. * will be executed in the context of object thisObject
  24373. * When callback() returns or throws an error, the dojo.global
  24374. * and dojo.doc will be restored to its previous state.
  24375. *
  24376. * @param globalObject
  24377. * @param callback
  24378. * @param thisObject Optional
  24379. * @param cbArguments Optional
  24380. */
  24381. withGlobal(globalObject: Object, callback: Function, thisObject?: Object, cbArguments?: any[]): any;
  24382. /**
  24383. *
  24384. * @param method
  24385. * @param args
  24386. */
  24387. xhr(method: any, args: any): any;
  24388. /**
  24389. * Sends an HTTP DELETE request to the server.
  24390. *
  24391. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  24392. */
  24393. xhrDelete(args: Object): any;
  24394. /**
  24395. * Sends an HTTP GET request to the server.
  24396. *
  24397. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  24398. */
  24399. xhrGet(args: Object): any;
  24400. /**
  24401. * Sends an HTTP POST request to the server. In addition to the properties
  24402. * listed for the dojo.__XhrArgs type, the following property is allowed:
  24403. *
  24404. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  24405. */
  24406. xhrPost(args: Object): any;
  24407. /**
  24408. * Sends an HTTP PUT request to the server. In addition to the properties
  24409. * listed for the dojo.__XhrArgs type, the following property is allowed:
  24410. *
  24411. * @param args An object with the following properties:handleAs (String, optional): Acceptable values are: text (default), json, json-comment-optional,json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlerssync (Boolean, optional): false is default. Indicates whether the request shouldbe a synchronous (blocking) request.headers (Object, optional): Additional HTTP headers to send in the request.failOk (Boolean, optional): false is default. Indicates whether a request should beallowed to fail (and therefore no console error message inthe event of a failure)contentType (String|Boolean): "application/x-www-form-urlencoded" is default. Set to false toprevent a Content-Type header from being sent, or to a stringto send a different Content-Type.load: This function will becalled on a successful HTTP response code.error: This function willbe called when the request fails due to a network or server error, the urlis invalid, etc. It will also be called if the load or handle callback throws anexception, unless djConfig.debugAtAllCosts is true. This allows deployed applicationsto continue to run even when a logic error happens in the callback, while makingit easier to troubleshoot while in debug mode.handle: This function willbe called at the end of every request, whether or not an error occurs.url (String): URL to server endpoint.content (Object, optional): Contains properties with string values. Theseproperties will be serialized as name1=value2 andpassed in the request.timeout (Integer, optional): Milliseconds to wait for the response. If this timepasses, the then error callbacks are called.form (DOMNode, optional): DOM node for a form. Used to extract the form valuesand send to the server.preventCache (Boolean, optional): Default is false. If true, then a"dojo.preventCache" parameter is sent in the requestwith a value that changes with each request(timestamp). Useful only with GET-type requests.rawBody (String, optional): Sets the raw body for an HTTP request. If this is used, then the contentproperty is ignored. This is mostly useful for HTTP methods that havea body to their requests, like PUT or POST. This property can be used insteadof postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.ioPublish (Boolean, optional): Set this explicitly to false to prevent publishing of topics related toIO operations. Otherwise, if djConfig.ioPublish is set to true, topicswill be published via dojo/topic.publish() for different phases of an IO operation.See dojo/main.__IoPublish for a list of topics that are published.
  24412. */
  24413. xhrPut(args: Object): any;
  24414. }
  24415. namespace main {
  24416. /**
  24417. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.__IoArgs.html
  24418. *
  24419. *
  24420. */
  24421. class __IoArgs {
  24422. constructor();
  24423. /**
  24424. * Contains properties with string values. These
  24425. * properties will be serialized as name1=value2 and
  24426. * passed in the request.
  24427. *
  24428. */
  24429. "content": Object;
  24430. /**
  24431. * DOM node for a form. Used to extract the form values
  24432. * and send to the server.
  24433. *
  24434. */
  24435. "form": HTMLElement;
  24436. /**
  24437. * Acceptable values depend on the type of IO
  24438. * transport (see specific IO calls for more information).
  24439. *
  24440. */
  24441. "handleAs": string;
  24442. /**
  24443. * Set this explicitly to false to prevent publishing of topics related to
  24444. * IO operations. Otherwise, if djConfig.ioPublish is set to true, topics
  24445. * will be published via dojo/topic.publish() for different phases of an IO operation.
  24446. * See dojo/main.__IoPublish for a list of topics that are published.
  24447. *
  24448. */
  24449. "ioPublish": boolean;
  24450. /**
  24451. * Default is false. If true, then a
  24452. * "dojo.preventCache" parameter is sent in the request
  24453. * with a value that changes with each request
  24454. * (timestamp). Useful only with GET-type requests.
  24455. *
  24456. */
  24457. "preventCache": boolean;
  24458. /**
  24459. * Sets the raw body for an HTTP request. If this is used, then the content
  24460. * property is ignored. This is mostly useful for HTTP methods that have
  24461. * a body to their requests, like PUT or POST. This property can be used instead
  24462. * of postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.
  24463. *
  24464. */
  24465. "rawBody": string;
  24466. /**
  24467. * Milliseconds to wait for the response. If this time
  24468. * passes, the then error callbacks are called.
  24469. *
  24470. */
  24471. "timeout": number;
  24472. /**
  24473. * URL to server endpoint.
  24474. *
  24475. */
  24476. "url": string;
  24477. /**
  24478. * This function will
  24479. * be called when the request fails due to a network or server error, the url
  24480. * is invalid, etc. It will also be called if the load or handle callback throws an
  24481. * exception, unless djConfig.debugAtAllCosts is true. This allows deployed applications
  24482. * to continue to run even when a logic error happens in the callback, while making
  24483. * it easier to troubleshoot while in debug mode.
  24484. *
  24485. * @param response The response in the format as defined with handleAs.
  24486. * @param ioArgs Provides additional information about the request.
  24487. */
  24488. error(response: Object, ioArgs: dojo.main.__IoCallbackArgs): void;
  24489. /**
  24490. * This function will
  24491. * be called at the end of every request, whether or not an error occurs.
  24492. *
  24493. * @param loadOrError Provides a string that tells you whether this functionwas called because of success (load) or failure (error).
  24494. * @param response The response in the format as defined with handleAs.
  24495. * @param ioArgs Provides additional information about the request.
  24496. */
  24497. handle(loadOrError: String, response: Object, ioArgs: dojo.main.__IoCallbackArgs): void;
  24498. /**
  24499. * This function will be
  24500. * called on a successful HTTP response code.
  24501. *
  24502. * @param response The response in the format as defined with handleAs.
  24503. * @param ioArgs Provides additional information about the request.
  24504. */
  24505. load(response: Object, ioArgs: dojo.main.__IoCallbackArgs): void;
  24506. }
  24507. /**
  24508. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.__IoCallbackArgs.html
  24509. *
  24510. *
  24511. */
  24512. class __IoCallbackArgs {
  24513. constructor();
  24514. /**
  24515. * the original object argument to the IO call.
  24516. *
  24517. */
  24518. "args": Object;
  24519. /**
  24520. * For dojo/io/script calls only, indicates
  24521. * whether the script tag that represents the
  24522. * request can be deleted after callbacks have
  24523. * been called. Used internally to know when
  24524. * cleanup can happen on JSONP-type requests.
  24525. *
  24526. */
  24527. "canDelete": boolean;
  24528. /**
  24529. * The final indicator on how the response will be
  24530. * handled.
  24531. *
  24532. */
  24533. "handleAs": string;
  24534. /**
  24535. * For dojo/io/script calls only, the internal
  24536. * script ID used for the request.
  24537. *
  24538. */
  24539. "id": string;
  24540. /**
  24541. * For dojo/io/script calls only: holds the JSON
  24542. * response for JSONP-type requests. Used
  24543. * internally to hold on to the JSON responses.
  24544. * You should not need to access it directly --
  24545. * the same object should be passed to the success
  24546. * callbacks directly.
  24547. *
  24548. */
  24549. "json": Object;
  24550. /**
  24551. * For non-GET requests, the
  24552. * name1=value1&name2=value2 parameters sent up in
  24553. * the request.
  24554. *
  24555. */
  24556. "query": string;
  24557. /**
  24558. * The final URL used for the call. Many times it
  24559. * will be different than the original args.url
  24560. * value.
  24561. *
  24562. */
  24563. "url": string;
  24564. /**
  24565. * For XMLHttpRequest calls only, the
  24566. * XMLHttpRequest object that was used for the
  24567. * request.
  24568. *
  24569. */
  24570. "xhr": Object;
  24571. }
  24572. /**
  24573. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.__IoPublish.html
  24574. *
  24575. * This is a list of IO topics that can be published
  24576. * if djConfig.ioPublish is set to true. IO topics can be
  24577. * published for any Input/Output, network operation. So,
  24578. * dojo.xhr, dojo.io.script and dojo.io.iframe can all
  24579. * trigger these topics to be published.
  24580. *
  24581. */
  24582. class __IoPublish {
  24583. constructor();
  24584. /**
  24585. * "/dojo/io/done" is sent whenever an IO request has completed,
  24586. * either by loading or by erroring. It passes the error and
  24587. * the dojo.Deferred for the request with the topic.
  24588. *
  24589. */
  24590. "done": string;
  24591. /**
  24592. * "/dojo/io/error" is sent whenever an IO request has errored.
  24593. * It passes the error and the dojo.Deferred
  24594. * for the request with the topic.
  24595. *
  24596. */
  24597. "error": string;
  24598. /**
  24599. * "/dojo/io/load" is sent whenever an IO request has loaded
  24600. * successfully. It passes the response and the dojo.Deferred
  24601. * for the request with the topic.
  24602. *
  24603. */
  24604. "load": string;
  24605. /**
  24606. * "/dojo/io/send" is sent whenever a new IO request is started.
  24607. * It passes the dojo.Deferred for the request with the topic.
  24608. *
  24609. */
  24610. "send": string;
  24611. /**
  24612. * "/dojo/io/start" is sent when there are no outstanding IO
  24613. * requests, and a new IO request is started. No arguments
  24614. * are passed with this topic.
  24615. *
  24616. */
  24617. "start": string;
  24618. /**
  24619. * "/dojo/io/stop" is sent when all outstanding IO requests have
  24620. * finished. No arguments are passed with this topic.
  24621. *
  24622. */
  24623. "stop": string;
  24624. }
  24625. /**
  24626. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.__XhrArgs.html
  24627. *
  24628. * In addition to the properties listed for the dojo._IoArgs type,
  24629. * the following properties are allowed for dojo.xhr* methods.
  24630. *
  24631. */
  24632. class __XhrArgs {
  24633. constructor();
  24634. /**
  24635. * Contains properties with string values. These
  24636. * properties will be serialized as name1=value2 and
  24637. * passed in the request.
  24638. *
  24639. */
  24640. "content": Object;
  24641. /**
  24642. * "application/x-www-form-urlencoded" is default. Set to false to
  24643. * prevent a Content-Type header from being sent, or to a string
  24644. * to send a different Content-Type.
  24645. *
  24646. */
  24647. "contentType": string;
  24648. /**
  24649. * false is default. Indicates whether a request should be
  24650. * allowed to fail (and therefore no console error message in
  24651. * the event of a failure)
  24652. *
  24653. */
  24654. "failOk": boolean;
  24655. /**
  24656. * DOM node for a form. Used to extract the form values
  24657. * and send to the server.
  24658. *
  24659. */
  24660. "form": HTMLElement;
  24661. /**
  24662. * Acceptable values are: text (default), json, json-comment-optional,
  24663. * json-comment-filtered, javascript, xml. See dojo/_base/xhr.contentHandlers
  24664. *
  24665. */
  24666. "handleAs": string;
  24667. /**
  24668. * Additional HTTP headers to send in the request.
  24669. *
  24670. */
  24671. "headers": Object;
  24672. /**
  24673. * Set this explicitly to false to prevent publishing of topics related to
  24674. * IO operations. Otherwise, if djConfig.ioPublish is set to true, topics
  24675. * will be published via dojo/topic.publish() for different phases of an IO operation.
  24676. * See dojo/main.__IoPublish for a list of topics that are published.
  24677. *
  24678. */
  24679. "ioPublish": boolean;
  24680. /**
  24681. * Default is false. If true, then a
  24682. * "dojo.preventCache" parameter is sent in the request
  24683. * with a value that changes with each request
  24684. * (timestamp). Useful only with GET-type requests.
  24685. *
  24686. */
  24687. "preventCache": boolean;
  24688. /**
  24689. * Sets the raw body for an HTTP request. If this is used, then the content
  24690. * property is ignored. This is mostly useful for HTTP methods that have
  24691. * a body to their requests, like PUT or POST. This property can be used instead
  24692. * of postData and putData for dojo/_base/xhr.rawXhrPost and dojo/_base/xhr.rawXhrPut respectively.
  24693. *
  24694. */
  24695. "rawBody": string;
  24696. /**
  24697. * false is default. Indicates whether the request should
  24698. * be a synchronous (blocking) request.
  24699. *
  24700. */
  24701. "sync": boolean;
  24702. /**
  24703. * Milliseconds to wait for the response. If this time
  24704. * passes, the then error callbacks are called.
  24705. *
  24706. */
  24707. "timeout": number;
  24708. /**
  24709. * URL to server endpoint.
  24710. *
  24711. */
  24712. "url": string;
  24713. /**
  24714. * This function will
  24715. * be called when the request fails due to a network or server error, the url
  24716. * is invalid, etc. It will also be called if the load or handle callback throws an
  24717. * exception, unless djConfig.debugAtAllCosts is true. This allows deployed applications
  24718. * to continue to run even when a logic error happens in the callback, while making
  24719. * it easier to troubleshoot while in debug mode.
  24720. *
  24721. * @param response The response in the format as defined with handleAs.
  24722. * @param ioArgs Provides additional information about the request.
  24723. */
  24724. error(response: Object, ioArgs: dojo.main.__IoCallbackArgs): void;
  24725. /**
  24726. * This function will
  24727. * be called at the end of every request, whether or not an error occurs.
  24728. *
  24729. * @param loadOrError Provides a string that tells you whether this functionwas called because of success (load) or failure (error).
  24730. * @param response The response in the format as defined with handleAs.
  24731. * @param ioArgs Provides additional information about the request.
  24732. */
  24733. handle(loadOrError: String, response: Object, ioArgs: dojo.main.__IoCallbackArgs): void;
  24734. /**
  24735. * This function will be
  24736. * called on a successful HTTP response code.
  24737. *
  24738. * @param response The response in the format as defined with handleAs.
  24739. * @param ioArgs Provides additional information about the request.
  24740. */
  24741. load(response: Object, ioArgs: dojo.main.__IoCallbackArgs): void;
  24742. }
  24743. /**
  24744. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.Stateful.html
  24745. *
  24746. * Base class for objects that provide named properties with optional getter/setter
  24747. * control and the ability to watch for property changes
  24748. *
  24749. * The class also provides the functionality to auto-magically manage getters
  24750. * and setters for object attributes/properties.
  24751. *
  24752. * Getters and Setters should follow the format of _xxxGetter or _xxxSetter where
  24753. * the xxx is a name of the attribute to handle. So an attribute of "foo"
  24754. * would have a custom getter of _fooGetter and a custom setter of _fooSetter.
  24755. *
  24756. */
  24757. class Stateful {
  24758. constructor();
  24759. /**
  24760. * Get a property on a Stateful instance.
  24761. * Get a named property on a Stateful object. The property may
  24762. * potentially be retrieved via a getter method in subclasses. In the base class
  24763. * this just retrieves the object's property.
  24764. *
  24765. * @param name The property to get.
  24766. */
  24767. get(name: String): any;
  24768. /**
  24769. *
  24770. * @param params Optional
  24771. */
  24772. postscript(params?: Object): void;
  24773. /**
  24774. * Set a property on a Stateful instance
  24775. * Sets named properties on a stateful object and notifies any watchers of
  24776. * the property. A programmatic setter may be defined in subclasses.
  24777. *
  24778. * @param name The property to set.
  24779. * @param value The value to set in the property.
  24780. */
  24781. set(name: String, value: Object): any;
  24782. /**
  24783. * Watches a property for changes
  24784. *
  24785. * @param name OptionalIndicates the property to watch. This is optional (the callback may be theonly parameter), and if omitted, all the properties will be watched
  24786. * @param callback The function to execute when the property changes. This will be called afterthe property has been changed. The callback will be called with the |this|set to the instance, the first argument as the name of the property, thesecond argument as the old value and the third argument as the new value.
  24787. */
  24788. watch(property: string, callback:{(property?:string, oldValue?:any, newValue?: any):void}) :{unwatch():void};
  24789. }
  24790. /**
  24791. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main._hasResource.html
  24792. *
  24793. *
  24794. */
  24795. interface _hasResource {
  24796. }
  24797. /**
  24798. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main._contentHandlers.html
  24799. *
  24800. * A map of available XHR transport handle types. Name matches the
  24801. * handleAs attribute passed to XHR calls.
  24802. * A map of available XHR transport handle types. Name matches the
  24803. * handleAs attribute passed to XHR calls. Each contentHandler is
  24804. * called, passing the xhr object for manipulation. The return value
  24805. * from the contentHandler will be passed to the load or handle
  24806. * functions defined in the original xhr call.
  24807. *
  24808. */
  24809. interface _contentHandlers {
  24810. /**
  24811. *
  24812. * @param xhr
  24813. */
  24814. auto(xhr: any): void;
  24815. /**
  24816. * A contentHandler which evaluates the response data, expecting it to be valid JavaScript
  24817. *
  24818. * @param xhr
  24819. */
  24820. javascript(xhr: any): any;
  24821. /**
  24822. * A contentHandler which returns a JavaScript object created from the response data
  24823. *
  24824. * @param xhr
  24825. */
  24826. json(xhr: any): any;
  24827. /**
  24828. * A contentHandler which expects comment-filtered JSON.
  24829. * A contentHandler which expects comment-filtered JSON.
  24830. * the json-comment-filtered option was implemented to prevent
  24831. * "JavaScript Hijacking", but it is less secure than standard JSON. Use
  24832. * standard JSON instead. JSON prefixing can be used to subvert hijacking.
  24833. *
  24834. * Will throw a notice suggesting to use application/json mimetype, as
  24835. * json-commenting can introduce security issues. To decrease the chances of hijacking,
  24836. * use the standard json contentHandler, and prefix your "JSON" with: {}&&
  24837. *
  24838. * use djConfig.useCommentedJson = true to turn off the notice
  24839. *
  24840. * @param xhr
  24841. */
  24842. json_comment_filtered(xhr: any): any;
  24843. /**
  24844. * A contentHandler which checks the presence of comment-filtered JSON and
  24845. * alternates between the json and json-comment-filtered contentHandlers.
  24846. *
  24847. * @param xhr
  24848. */
  24849. json_comment_optional(xhr: any): any;
  24850. /**
  24851. *
  24852. * @param xhr
  24853. */
  24854. olson_zoneinfo(xhr: any): void;
  24855. /**
  24856. * A contentHandler which simply returns the plaintext response data
  24857. *
  24858. * @param xhr
  24859. */
  24860. text(xhr: any): any;
  24861. /**
  24862. * A contentHandler returning an XML Document parsed from the response data
  24863. *
  24864. * @param xhr
  24865. */
  24866. xml(xhr: any): any;
  24867. }
  24868. /**
  24869. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.cldr.html
  24870. *
  24871. *
  24872. */
  24873. interface cldr {
  24874. /**
  24875. * TODOC
  24876. *
  24877. */
  24878. monetary: Object;
  24879. /**
  24880. * TODOC
  24881. *
  24882. */
  24883. supplemental: Object;
  24884. }
  24885. /**
  24886. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main._nodeDataCache.html
  24887. *
  24888. *
  24889. */
  24890. interface _nodeDataCache {
  24891. }
  24892. /**
  24893. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.colors.html
  24894. *
  24895. *
  24896. */
  24897. interface colors {
  24898. /**
  24899. * creates a greyscale color with an optional alpha
  24900. *
  24901. * @param g
  24902. * @param a Optional
  24903. */
  24904. makeGrey(g: number, a?: number): void;
  24905. }
  24906. /**
  24907. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.back.html
  24908. *
  24909. * Browser history management resources
  24910. *
  24911. */
  24912. interface back {
  24913. /**
  24914. * adds a state object (args) to the history list.
  24915. * To support getting back button notifications, the object
  24916. * argument should implement a function called either "back",
  24917. * "backButton", or "handle". The string "back" will be passed as
  24918. * the first and only argument to this callback.
  24919. *
  24920. * To support getting forward button notifications, the object
  24921. * argument should implement a function called either "forward",
  24922. * "forwardButton", or "handle". The string "forward" will be
  24923. * passed as the first and only argument to this callback.
  24924. *
  24925. * If you want the browser location string to change, define "changeUrl" on the object. If the
  24926. * value of "changeUrl" is true, then a unique number will be appended to the URL as a fragment
  24927. * identifier (http://some.domain.com/path#uniquenumber). If it is any other value that does
  24928. * not evaluate to false, that value will be used as the fragment identifier. For example,
  24929. * if changeUrl: 'page1', then the URL will look like: http://some.domain.com/path#page1
  24930. *
  24931. * There are problems with using dojo/back with semantically-named fragment identifiers
  24932. * ("hash values" on an URL). In most browsers it will be hard for dojo/back to know
  24933. * distinguish a back from a forward event in those cases. For back/forward support to
  24934. * work best, the fragment ID should always be a unique value (something using new Date().getTime()
  24935. * for example). If you want to detect hash changes using semantic fragment IDs, then
  24936. * consider using dojo/hash instead (in Dojo 1.4+).
  24937. *
  24938. * @param args The state object that will be added to the history list.
  24939. */
  24940. addToHistory(args: Object): void;
  24941. /**
  24942. *
  24943. */
  24944. getHash(): any;
  24945. /**
  24946. * private method. Do not call this directly.
  24947. *
  24948. */
  24949. goBack(): void;
  24950. /**
  24951. * private method. Do not call this directly.
  24952. *
  24953. */
  24954. goForward(): void;
  24955. /**
  24956. * Initializes the undo stack. This must be called from a
  24957. * block that lives inside the <code>&lt;body&gt;</code> tag to prevent bugs on IE.
  24958. * </p>
  24959. * <p>Only call this method before the page&#39;s DOM is finished loading. Otherwise
  24960. * it will not work. Be careful with xdomain loading or djConfig.debugAtAllCosts scenarios,
  24961. * in order for this method to work, dojo/back will need to be part of a build layer.</p>
  24962. * </div>
  24963. * </div>
  24964. * <div class="jsdoc-field extension-module">
  24965. * <div class="jsdoc-title"><a name="1_9dojo_main_back_setHash"></a><span class="functionIcon">setHash</span><span class="parameters">(h)</span>
  24966. * </div>
  24967. * <div class="jsdoc-inheritance">Defined by <a href="/api/1.9/dojo/back" class="jsdoc-link">dojo/back</a><span title="Must manually require () dojo/back to access" class="jsdoc-extension"></span>
  24968. * </div>
  24969. * <div class="jsdoc-full-summary"></div>
  24970. * <table class="jsdoc-parameters">
  24971. * <tr>
  24972. * <th>Parameter</th>
  24973. * <th>Type</th>
  24974. * <th>Description</th>
  24975. * </tr>
  24976. * <tr>
  24977. * <td class="jsdoc-param-name">h</td>
  24978. * <td class="jsdoc-param-type">undefined</td>
  24979. * <td class="jsdoc-param-description">
  24980. * </td>
  24981. * </tr>
  24982. * </table>
  24983. * </div>
  24984. * <div class="jsdoc-field extension-module">
  24985. * <div class="jsdoc-title"><a name="1_9dojo_main_back_setInitialState"></a><span class="functionIcon">setInitialState</span><span class="parameters">(args)</span>
  24986. * </div>
  24987. * <div class="jsdoc-inheritance">Defined by <a href="/api/1.9/dojo/back" class="jsdoc-link">dojo/back</a><span title="Must manually require () dojo/back to access" class="jsdoc-extension"></span>
  24988. * </div>
  24989. * <div class="jsdoc-full-summary"><p>Sets the state object and back callback for the very first page
  24990. * that is loaded.
  24991. * </p>
  24992. * <p>It is recommended that you call this method as part of an event
  24993. * listener that is registered via dojo/ready.</p>
  24994. * </div>
  24995. * <table class="jsdoc-parameters">
  24996. * <tr>
  24997. * <th>Parameter</th>
  24998. * <th>Type</th>
  24999. * <th>Description</th>
  25000. * </tr>
  25001. * <tr>
  25002. * <td class="jsdoc-param-name">args</td>
  25003. * <td class="jsdoc-param-type">Object</td>
  25004. * <td class="jsdoc-param-description"><p>See the addToHistory() function for the list of valid args properties.</p>
  25005. *
  25006. * </td>
  25007. * </tr>
  25008. * </table>
  25009. * </div>
  25010. * </div>
  25011. * </div>
  25012. * </div><a href="https://docs.google.com/spreadsheet/viewform?hl=en_US&amp;formkey=dFlDcHEyaHMwbEd4MFBObkNrX0E1MFE6MQ&amp;entry_0=/api/1.9/dojo/main.back" class="feedback">Error in the documentation? Can't find what you are looking for? Let us know!</a>
  25013. */
  25014. init(): void;
  25015. }
  25016. /**
  25017. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.data.html
  25018. *
  25019. *
  25020. */
  25021. interface data {
  25022. /**
  25023. *
  25024. */
  25025. api: Object;
  25026. /**
  25027. *
  25028. */
  25029. util: Object;
  25030. /**
  25031. *
  25032. */
  25033. ItemFileReadStore(): void;
  25034. /**
  25035. *
  25036. */
  25037. ItemFileWriteStore(): void;
  25038. /**
  25039. *
  25040. */
  25041. ObjectStore(): void;
  25042. }
  25043. /**
  25044. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.config.html
  25045. *
  25046. * This module defines the user configuration during bootstrap.
  25047. * By defining user configuration as a module value, an entire configuration can be specified in a build,
  25048. * thereby eliminating the need for sniffing and or explicitly setting in the global variable dojoConfig.
  25049. * Also, when multiple instances of dojo exist in a single application, each will necessarily be located
  25050. * at an unique absolute module identifier as given by the package configuration. Implementing configuration
  25051. * as a module allows for specifying unique, per-instance configurations.
  25052. *
  25053. */
  25054. interface config {
  25055. /**
  25056. * Adds a callback via dojo/ready. Useful when Dojo is added after
  25057. * the page loads and djConfig.afterOnLoad is true. Supports the same
  25058. * arguments as dojo/ready. When using a function reference, use
  25059. * djConfig.addOnLoad = function(){};. For object with function name use
  25060. * djConfig.addOnLoad = [myObject, "functionName"]; and for object with
  25061. * function reference use
  25062. * djConfig.addOnLoad = [myObject, function(){}];
  25063. *
  25064. */
  25065. addOnLoad: Function;
  25066. /**
  25067. *
  25068. */
  25069. afterOnLoad: boolean;
  25070. /**
  25071. *
  25072. */
  25073. baseUrl: Object;
  25074. /**
  25075. * Defines a callback to be used when dependencies are defined before
  25076. * the loader has been loaded. When provided, they cause the loader to
  25077. * execute require(deps, callback) once it has finished loading.
  25078. * Should be used with deps.
  25079. *
  25080. */
  25081. callback: Function;
  25082. /**
  25083. *
  25084. */
  25085. debugContainerId: string;
  25086. /**
  25087. *
  25088. */
  25089. debugHeight: number;
  25090. /**
  25091. * Default duration, in milliseconds, for wipe and fade animations within dijits.
  25092. * Assigned to dijit.defaultDuration.
  25093. *
  25094. */
  25095. defaultDuration: number;
  25096. /**
  25097. * Whether deferred instrumentation should be loaded or included
  25098. * in builds.
  25099. *
  25100. */
  25101. deferredInstrumentation: boolean;
  25102. /**
  25103. * Defines dependencies to be used before the loader has been loaded.
  25104. * When provided, they cause the loader to execute require(deps, callback)
  25105. * once it has finished loading. Should be used with callback.
  25106. *
  25107. */
  25108. deps: Function;
  25109. /**
  25110. * Used by some modules to configure an empty iframe. Used by dojo/io/iframe and
  25111. * dojo/back, and dijit/popup support in IE where an iframe is needed to make sure native
  25112. * controls do not bleed through the popups. Normally this configuration variable
  25113. * does not need to be set, except when using cross-domain/CDN Dojo builds.
  25114. * Save dojo/resources/blank.html to your domain and set djConfig.dojoBlankHtmlUrl
  25115. * to the path on your domain your copy of blank.html.
  25116. *
  25117. */
  25118. dojoBlankHtmlUrl: string;
  25119. /**
  25120. * No default value. Specifies additional locales whose
  25121. * resources should also be loaded alongside the default locale when
  25122. * calls to dojo.requireLocalization() are processed.
  25123. *
  25124. */
  25125. extraLocale: any[];
  25126. /**
  25127. * Set this to true to enable publishing of topics for the different phases of
  25128. * IO operations. Publishing is done via dojo/topic.publish(). See dojo/main.__IoPublish for a list
  25129. * of topics that are published.
  25130. *
  25131. */
  25132. ioPublish: Object;
  25133. /**
  25134. * Defaults to false. If set to true, ensures that Dojo provides
  25135. * extended debugging feedback via Firebug. If Firebug is not available
  25136. * on your platform, setting isDebug to true will force Dojo to
  25137. * pull in (and display) the version of Firebug Lite which is
  25138. * integrated into the Dojo distribution, thereby always providing a
  25139. * debugging/logging console when isDebug is enabled. Note that
  25140. * Firebug's console.* methods are ALWAYS defined by Dojo. If
  25141. * isDebug is false and you are on a platform without Firebug, these
  25142. * methods will be defined as no-ops.
  25143. *
  25144. */
  25145. isDebug: boolean;
  25146. /**
  25147. * The locale to assume for loading localized resources in this page,
  25148. * specified according to RFC 3066.
  25149. * Must be specified entirely in lowercase, e.g. en-us and zh-cn.
  25150. * See the documentation for dojo.i18n and dojo.requireLocalization
  25151. * for details on loading localized resources. If no locale is specified,
  25152. * Dojo assumes the locale of the user agent, according to navigator.userLanguage
  25153. * or navigator.language properties.
  25154. *
  25155. */
  25156. locale: string;
  25157. /**
  25158. * A map of module names to paths relative to dojo.baseUrl. The
  25159. * key/value pairs correspond directly to the arguments which
  25160. * dojo.registerModulePath accepts. Specifying
  25161. * djConfig.modulePaths = { "foo": "../../bar" } is the equivalent
  25162. * of calling dojo.registerModulePath("foo", "../../bar");. Multiple
  25163. * modules may be configured via djConfig.modulePaths.
  25164. *
  25165. */
  25166. modulePaths: Object;
  25167. /**
  25168. * Run the parser after the page is loaded
  25169. *
  25170. */
  25171. parseOnLoad: boolean;
  25172. /**
  25173. * An array of module names to be loaded immediately after dojo.js has been included
  25174. * in a page.
  25175. *
  25176. */
  25177. require: Object;
  25178. /**
  25179. * Array containing the r, g, b components used as transparent color in dojo.Color;
  25180. * if undefined, [255,255,255] (white) will be used.
  25181. *
  25182. */
  25183. transparentColor: any[];
  25184. /**
  25185. * Used by dojox.analytics.Urchin as the default UA-123456-7 account
  25186. * number used when being created. Alternately, you can pass an acct:""
  25187. * parameter to the constructor a la: new dojox.analytics.Urchin({ acct:"UA-123456-7" });
  25188. *
  25189. */
  25190. urchin: string;
  25191. /**
  25192. * If set to a value that evaluates to true such as a string or array and
  25193. * isDebug is true and Firebug is not available or running, then it bypasses
  25194. * the creation of Firebug Lite allowing you to define your own console object.
  25195. *
  25196. */
  25197. useCustomLogger: Object;
  25198. /**
  25199. * Whether the deferred instrumentation should be used.
  25200. *
  25201. * "report-rejections": report each rejection as it occurs.
  25202. * true or 1 or "report-unhandled-rejections": wait 1 second
  25203. * in an attempt to detect unhandled rejections.
  25204. *
  25205. */
  25206. useDeferredInstrumentation: boolean;
  25207. }
  25208. /**
  25209. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.contentHandlers.html
  25210. *
  25211. * A map of available XHR transport handle types. Name matches the
  25212. * handleAs attribute passed to XHR calls.
  25213. * A map of available XHR transport handle types. Name matches the
  25214. * handleAs attribute passed to XHR calls. Each contentHandler is
  25215. * called, passing the xhr object for manipulation. The return value
  25216. * from the contentHandler will be passed to the load or handle
  25217. * functions defined in the original xhr call.
  25218. *
  25219. */
  25220. interface contentHandlers {
  25221. /**
  25222. *
  25223. * @param xhr
  25224. */
  25225. auto(xhr: any): void;
  25226. /**
  25227. * A contentHandler which evaluates the response data, expecting it to be valid JavaScript
  25228. *
  25229. * @param xhr
  25230. */
  25231. javascript(xhr: any): any;
  25232. /**
  25233. * A contentHandler which returns a JavaScript object created from the response data
  25234. *
  25235. * @param xhr
  25236. */
  25237. json(xhr: any): any;
  25238. /**
  25239. * A contentHandler which expects comment-filtered JSON.
  25240. * A contentHandler which expects comment-filtered JSON.
  25241. * the json-comment-filtered option was implemented to prevent
  25242. * "JavaScript Hijacking", but it is less secure than standard JSON. Use
  25243. * standard JSON instead. JSON prefixing can be used to subvert hijacking.
  25244. *
  25245. * Will throw a notice suggesting to use application/json mimetype, as
  25246. * json-commenting can introduce security issues. To decrease the chances of hijacking,
  25247. * use the standard json contentHandler, and prefix your "JSON" with: {}&&
  25248. *
  25249. * use djConfig.useCommentedJson = true to turn off the notice
  25250. *
  25251. * @param xhr
  25252. */
  25253. json_comment_filtered(xhr: any): any;
  25254. /**
  25255. * A contentHandler which checks the presence of comment-filtered JSON and
  25256. * alternates between the json and json-comment-filtered contentHandlers.
  25257. *
  25258. * @param xhr
  25259. */
  25260. json_comment_optional(xhr: any): any;
  25261. /**
  25262. *
  25263. * @param xhr
  25264. */
  25265. olson_zoneinfo(xhr: any): void;
  25266. /**
  25267. * A contentHandler which simply returns the plaintext response data
  25268. *
  25269. * @param xhr
  25270. */
  25271. text(xhr: any): any;
  25272. /**
  25273. * A contentHandler returning an XML Document parsed from the response data
  25274. *
  25275. * @param xhr
  25276. */
  25277. xml(xhr: any): any;
  25278. }
  25279. /**
  25280. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.date.html
  25281. *
  25282. *
  25283. */
  25284. interface date {
  25285. /**
  25286. * TODOC
  25287. *
  25288. */
  25289. stamp: Object;
  25290. /**
  25291. * Add to a Date in intervals of different size, from milliseconds to years
  25292. *
  25293. * @param date Date object to start with
  25294. * @param interval A string representing the interval. One of the following:"year", "month", "day", "hour", "minute", "second","millisecond", "quarter", "week", "weekday"
  25295. * @param amount How much to add to the date.
  25296. */
  25297. add(date: Date, interval: String, amount: number): any;
  25298. /**
  25299. * Compare two date objects by date, time, or both.
  25300. * Returns 0 if equal, positive if a > b, else negative.
  25301. *
  25302. * @param date1 Date object
  25303. * @param date2 OptionalDate object. If not specified, the current Date is used.
  25304. * @param portion OptionalA string indicating the "date" or "time" portion of a Date object.Compares both "date" and "time" by default. One of the following:"date", "time", "datetime"
  25305. */
  25306. compare(date1: Date, date2?: Date, portion?: String): number;
  25307. /**
  25308. * Get the difference in a specific unit of time (e.g., number of
  25309. * months, weeks, days, etc.) between two dates, rounded to the
  25310. * nearest integer.
  25311. *
  25312. * @param date1 Date object
  25313. * @param date2 OptionalDate object. If not specified, the current Date is used.
  25314. * @param interval OptionalA string representing the interval. One of the following:"year", "month", "day", "hour", "minute", "second","millisecond", "quarter", "week", "weekday"Defaults to "day".
  25315. */
  25316. difference(date1: Date, date2?: Date, interval?: String): any;
  25317. /**
  25318. * Returns the number of days in the month used by dateObject
  25319. *
  25320. * @param dateObject
  25321. */
  25322. getDaysInMonth(dateObject: Date): number;
  25323. /**
  25324. * Get the user's time zone as provided by the browser
  25325. * Try to get time zone info from toString or toLocaleString method of
  25326. * the Date object -- UTC offset is not a time zone. See
  25327. * http://www.twinsun.com/tz/tz-link.htm Note: results may be
  25328. * inconsistent across browsers.
  25329. *
  25330. * @param dateObject Needed because the timezone may vary with time (daylight savings)
  25331. */
  25332. getTimezoneName(dateObject: Date): any;
  25333. /**
  25334. * Determines if the year of the dateObject is a leap year
  25335. * Leap years are years with an additional day YYYY-02-29, where the
  25336. * year number is a multiple of four with the following exception: If
  25337. * a year is a multiple of 100, then it is only a leap year if it is
  25338. * also a multiple of 400. For example, 1900 was not a leap year, but
  25339. * 2000 is one.
  25340. *
  25341. * @param dateObject
  25342. */
  25343. isLeapYear(dateObject: Date): boolean;
  25344. }
  25345. /**
  25346. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.currency.html
  25347. *
  25348. * localized formatting and parsing routines for currencies
  25349. * extends dojo.number to provide culturally-appropriate formatting of values
  25350. * in various world currencies, including use of a currency symbol. The currencies are specified
  25351. * by a three-letter international symbol in all uppercase, and support for the currencies is
  25352. * provided by the data in dojo.cldr. The scripts generating dojo.cldr specify which
  25353. * currency support is included. A fixed number of decimal places is determined based
  25354. * on the currency type and is not determined by the 'pattern' argument. The fractional
  25355. * portion is optional, by default, and variable length decimals are not supported.
  25356. *
  25357. */
  25358. interface currency {
  25359. /**
  25360. * Format a Number as a currency, using locale-specific settings
  25361. * Create a string from a Number using a known, localized pattern.
  25362. * Formatting patterns
  25363. * appropriate to the locale are chosen from the CLDR
  25364. * as well as the appropriate symbols and delimiters and number of decimal places.
  25365. *
  25366. * @param value the number to be formatted.
  25367. * @param options Optional
  25368. */
  25369. format(value: number, options?: dojo.currency.__FormatOptions): any;
  25370. /**
  25371. *
  25372. * @param expression
  25373. * @param options OptionalAn object with the following properties:type (String, optional): Should not be set. Value is assumed to be currency.currency (String, optional): an ISO4217 currency code, a three letter sequence like "USD".For use with dojo.currency only.symbol (String, optional): localized currency symbol. The default will be looked up in table of supported currencies in dojo.cldrA ISO4217 currency code will be used if not found.places (Number, optional): fixed number of decimal places to accept. The default is determined based on which currency is used.fractional (Boolean|Array, optional): Whether to include the fractional portion, where the number of decimal places are implied by the currencyor explicit 'places' parameter. The value [true,false] makes the fractional portion optional.By default for currencies, it the fractional portion is optional.pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization. Literal characters in patterns are not supported.locale (String, optional): override the locale used to determine formatting rulesstrict (Boolean, optional): strict parsing, false by default. Strict parsing requires input as produced by the format() method.Non-strict is more permissive, e.g. flexible on white space, omitting thousands separators
  25374. */
  25375. parse(expression: String, options?: Object): any;
  25376. /**
  25377. *
  25378. * @param options OptionalAn object with the following properties:pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization.type (String, optional): choose a format type based on the locale from the following:decimal, scientific (not yet supported), percent, currency. decimal by default.locale (String, optional): override the locale used to determine formatting rulesstrict (Boolean, optional): strict parsing, false by default. Strict parsing requires input as produced by the format() method.Non-strict is more permissive, e.g. flexible on white space, omitting thousands separatorsplaces (Number|String, optional): number of decimal places to accept: Infinity, a positive number, ora range "n,m". Defined by pattern or Infinity if pattern not provided.
  25379. */
  25380. regexp(options: Object): any;
  25381. }
  25382. /**
  25383. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.dnd.html
  25384. *
  25385. *
  25386. */
  25387. interface dnd {
  25388. /**
  25389. * Used by dojo/dnd/Manager to scroll document or internal node when the user
  25390. * drags near the edge of the viewport or a scrollable node
  25391. *
  25392. */
  25393. autoscroll: Object;
  25394. /**
  25395. *
  25396. */
  25397. move: Object;
  25398. /**
  25399. *
  25400. */
  25401. AutoSource(): void;
  25402. /**
  25403. *
  25404. */
  25405. Avatar(): void;
  25406. /**
  25407. *
  25408. */
  25409. Container(): void;
  25410. /**
  25411. *
  25412. */
  25413. Manager(): void;
  25414. /**
  25415. *
  25416. */
  25417. Moveable(): void;
  25418. /**
  25419. *
  25420. */
  25421. Mover(): void;
  25422. /**
  25423. *
  25424. */
  25425. Selector(): void;
  25426. /**
  25427. *
  25428. */
  25429. Source(): void;
  25430. /**
  25431. *
  25432. */
  25433. Target(): void;
  25434. /**
  25435. *
  25436. */
  25437. TimedMoveable(): void;
  25438. }
  25439. /**
  25440. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.doc.html
  25441. *
  25442. * Alias for the current document. 'doc' can be modified
  25443. * for temporary context shifting. See also withDoc().
  25444. * Use this rather than referring to 'window.document' to ensure your code runs
  25445. * correctly in managed contexts.
  25446. *
  25447. */
  25448. interface doc {
  25449. /**
  25450. *
  25451. */
  25452. documentElement: Object;
  25453. /**
  25454. *
  25455. */
  25456. dojoClick: boolean;
  25457. }
  25458. /**
  25459. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.gears.html
  25460. *
  25461. * TODOC
  25462. *
  25463. */
  25464. interface gears {
  25465. /**
  25466. * True if client is using Google Gears
  25467. *
  25468. */
  25469. available: Object;
  25470. }
  25471. /**
  25472. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.global.html
  25473. *
  25474. * Alias for the current window. 'global' can be modified
  25475. * for temporary context shifting. See also withGlobal().
  25476. * Use this rather than referring to 'window' to ensure your code runs
  25477. * correctly in managed contexts.
  25478. *
  25479. */
  25480. interface global {
  25481. /**
  25482. *
  25483. */
  25484. $(): any;
  25485. /**
  25486. *
  25487. * @param start
  25488. * @param data
  25489. * @param responseCode
  25490. * @param errorMsg
  25491. */
  25492. GoogleSearchStoreCallback_undefined_NaN(start: any, data: any, responseCode: any, errorMsg: any): void;
  25493. /**
  25494. *
  25495. */
  25496. jQuery(): any;
  25497. /**
  25498. *
  25499. */
  25500. swfIsInHTML(): void;
  25501. /**
  25502. *
  25503. */
  25504. undefined_onload(): void;
  25505. }
  25506. /**
  25507. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.dijit.html
  25508. *
  25509. *
  25510. */
  25511. interface dijit {
  25512. /**
  25513. *
  25514. */
  25515. form: Object;
  25516. /**
  25517. *
  25518. */
  25519. layout: Object;
  25520. /**
  25521. * W3C range API
  25522. *
  25523. */
  25524. range: Object;
  25525. /**
  25526. *
  25527. */
  25528. registry: Object;
  25529. /**
  25530. *
  25531. */
  25532. tree: Object;
  25533. /**
  25534. *
  25535. * @param id
  25536. */
  25537. byId(id: any): any;
  25538. /**
  25539. *
  25540. */
  25541. Calendar(): void;
  25542. /**
  25543. *
  25544. */
  25545. CalendarLite(): void;
  25546. /**
  25547. *
  25548. */
  25549. CheckedMenuItem(): void;
  25550. /**
  25551. *
  25552. */
  25553. ColorPalette(): void;
  25554. /**
  25555. *
  25556. */
  25557. Declaration(): void;
  25558. /**
  25559. *
  25560. */
  25561. Destroyable(): void;
  25562. /**
  25563. *
  25564. */
  25565. Dialog(): void;
  25566. /**
  25567. *
  25568. */
  25569. DialogUnderlay(): void;
  25570. /**
  25571. *
  25572. */
  25573. DropDownMenu(): void;
  25574. /**
  25575. *
  25576. */
  25577. Dye(): void;
  25578. /**
  25579. *
  25580. */
  25581. Editor(): void;
  25582. /**
  25583. *
  25584. */
  25585. Fieldset(): void;
  25586. /**
  25587. *
  25588. */
  25589. InlineEditBox(): void;
  25590. /**
  25591. *
  25592. */
  25593. Menu(): void;
  25594. /**
  25595. *
  25596. */
  25597. MenuBar(): void;
  25598. /**
  25599. *
  25600. */
  25601. MenuBarItem(): void;
  25602. /**
  25603. *
  25604. */
  25605. MenuItem(): void;
  25606. /**
  25607. *
  25608. */
  25609. MenuSeparator(): void;
  25610. /**
  25611. *
  25612. */
  25613. PopupMenuBarItem(): void;
  25614. /**
  25615. *
  25616. */
  25617. PopupMenuItem(): void;
  25618. /**
  25619. *
  25620. */
  25621. ProgressBar(): void;
  25622. /**
  25623. *
  25624. */
  25625. RadioButtonMenuItem(): void;
  25626. /**
  25627. *
  25628. */
  25629. TitlePane(): void;
  25630. /**
  25631. *
  25632. */
  25633. Toolbar(): void;
  25634. /**
  25635. *
  25636. */
  25637. ToolbarSeparator(): void;
  25638. /**
  25639. *
  25640. */
  25641. Tooltip(): void;
  25642. /**
  25643. *
  25644. */
  25645. TooltipDialog(): void;
  25646. /**
  25647. *
  25648. */
  25649. Tree(): void;
  25650. /**
  25651. *
  25652. */
  25653. WidgetSet(): void;
  25654. }
  25655. /**
  25656. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.io.html
  25657. *
  25658. *
  25659. */
  25660. interface io {
  25661. /**
  25662. *
  25663. */
  25664. iframe: Object;
  25665. /**
  25666. * TODOC
  25667. *
  25668. */
  25669. script: Object;
  25670. }
  25671. /**
  25672. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.fx.html
  25673. *
  25674. * Effects library on top of Base animations
  25675. *
  25676. */
  25677. interface fx {
  25678. /**
  25679. * Collection of easing functions to use beyond the default
  25680. * dojo._defaultEasing function.
  25681. *
  25682. */
  25683. easing: Object;
  25684. /**
  25685. * Chain a list of dojo/_base/fx.Animations to run in sequence
  25686. * Return a dojo/_base/fx.Animation which will play all passed
  25687. * dojo/_base/fx.Animation instances in sequence, firing its own
  25688. * synthesized events simulating a single animation. (eg:
  25689. * onEnd of this animation means the end of the chain,
  25690. * not the individual animations within)
  25691. *
  25692. * @param animations
  25693. */
  25694. chain(animations: dojo._base.fx.Animation[]): any;
  25695. /**
  25696. * Combine a list of dojo/_base/fx.Animations to run in parallel
  25697. * Combine an array of dojo/_base/fx.Animations to run in parallel,
  25698. * providing a new dojo/_base/fx.Animation instance encompasing each
  25699. * animation, firing standard animation events.
  25700. *
  25701. * @param animations
  25702. */
  25703. combine(animations: dojo._base.fx.Animation[]): any;
  25704. /**
  25705. * Slide a node to a new top/left position
  25706. * Returns an animation that will slide "node"
  25707. * defined in args Object from its current position to
  25708. * the position defined by (args.left, args.top).
  25709. *
  25710. * @param args A hash-map of standard dojo/_base/fx.Animation constructor properties(such as easing: node: duration: and so on). Special args membersare top and left, which indicate the new position to slide to.
  25711. */
  25712. slideTo(args: Object): any;
  25713. /**
  25714. *
  25715. */
  25716. Toggler(): void;
  25717. /**
  25718. * Expand a node to it's natural height.
  25719. * Returns an animation that will expand the
  25720. * node defined in 'args' object from it's current height to
  25721. * it's natural height (with no scrollbar).
  25722. * Node must have no margin/border/padding.
  25723. *
  25724. * @param args A hash-map of standard dojo/_base/fx.Animation constructor properties(such as easing: node: duration: and so on)
  25725. */
  25726. wipeIn(args: Object): any;
  25727. /**
  25728. * Shrink a node to nothing and hide it.
  25729. * Returns an animation that will shrink node defined in "args"
  25730. * from it's current height to 1px, and then hide it.
  25731. *
  25732. * @param args A hash-map of standard dojo/_base/fx.Animation constructor properties(such as easing: node: duration: and so on)
  25733. */
  25734. wipeOut(args: Object): any;
  25735. }
  25736. /**
  25737. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.html.html
  25738. *
  25739. * TODOC
  25740. *
  25741. */
  25742. interface html {
  25743. /**
  25744. * inserts (replaces) the given content into the given node. dojo/dom-construct.place(cont, node, "only")
  25745. * may be a better choice for simple HTML insertion.
  25746. * Unless you need to use the params capabilities of this method, you should use
  25747. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct..place() has more robust support for injecting
  25748. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  25749. * elements, or inserting a DOM node. dojo/dom-construct..place does not handle NodeList insertions
  25750. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct.place() has more robust support for injecting
  25751. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  25752. * elements, or inserting a DOM node. dojo/dom-construct.place does not handle NodeList insertions
  25753. * or the other capabilities as defined by the params object for this method.
  25754. *
  25755. * @param node the parent element that will receive the content
  25756. * @param cont the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  25757. * @param params OptionalOptional flags/properties to configure the content-setting. See dojo/html/_ContentSetter
  25758. */
  25759. set(node: HTMLElement, cont: String, params?: Object): any;
  25760. /**
  25761. * inserts (replaces) the given content into the given node. dojo/dom-construct.place(cont, node, "only")
  25762. * may be a better choice for simple HTML insertion.
  25763. * Unless you need to use the params capabilities of this method, you should use
  25764. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct..place() has more robust support for injecting
  25765. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  25766. * elements, or inserting a DOM node. dojo/dom-construct..place does not handle NodeList insertions
  25767. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct.place() has more robust support for injecting
  25768. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  25769. * elements, or inserting a DOM node. dojo/dom-construct.place does not handle NodeList insertions
  25770. * or the other capabilities as defined by the params object for this method.
  25771. *
  25772. * @param node the parent element that will receive the content
  25773. * @param cont the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  25774. * @param params OptionalOptional flags/properties to configure the content-setting. See dojo/html/_ContentSetter
  25775. */
  25776. set(node: HTMLElement, cont: HTMLElement, params?: Object): any;
  25777. /**
  25778. * inserts (replaces) the given content into the given node. dojo/dom-construct.place(cont, node, "only")
  25779. * may be a better choice for simple HTML insertion.
  25780. * Unless you need to use the params capabilities of this method, you should use
  25781. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct..place() has more robust support for injecting
  25782. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  25783. * elements, or inserting a DOM node. dojo/dom-construct..place does not handle NodeList insertions
  25784. * dojo/dom-construct.place(cont, node, "only"). dojo/dom-construct.place() has more robust support for injecting
  25785. * an HTML string into the DOM, but it only handles inserting an HTML string as DOM
  25786. * elements, or inserting a DOM node. dojo/dom-construct.place does not handle NodeList insertions
  25787. * or the other capabilities as defined by the params object for this method.
  25788. *
  25789. * @param node the parent element that will receive the content
  25790. * @param cont the content to be set on the parent element.This can be an html string, a node reference or a NodeList, dojo/NodeList, Array or other enumerable list of nodes
  25791. * @param params OptionalOptional flags/properties to configure the content-setting. See dojo/html/_ContentSetter
  25792. */
  25793. set(node: HTMLElement, cont: NodeList, params?: Object): any;
  25794. }
  25795. /**
  25796. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.dojox.html
  25797. *
  25798. *
  25799. */
  25800. interface dojox {
  25801. /**
  25802. *
  25803. */
  25804. analytics: Object;
  25805. /**
  25806. *
  25807. */
  25808. app: Object;
  25809. /**
  25810. *
  25811. */
  25812. atom: Object;
  25813. /**
  25814. *
  25815. */
  25816. av: Object;
  25817. /**
  25818. *
  25819. */
  25820. BidiComplex: Object;
  25821. /**
  25822. *
  25823. */
  25824. calc: Object;
  25825. /**
  25826. *
  25827. */
  25828. calendar: Object;
  25829. /**
  25830. *
  25831. */
  25832. charting: Object;
  25833. /**
  25834. *
  25835. */
  25836. collections: Object;
  25837. /**
  25838. *
  25839. */
  25840. color: Object;
  25841. /**
  25842. *
  25843. */
  25844. css3: Object;
  25845. /**
  25846. *
  25847. */
  25848. data: Object;
  25849. /**
  25850. *
  25851. */
  25852. date: Object;
  25853. /**
  25854. *
  25855. */
  25856. dgauges: Object;
  25857. /**
  25858. *
  25859. */
  25860. dnd: Object;
  25861. /**
  25862. *
  25863. */
  25864. drawing: Object;
  25865. /**
  25866. *
  25867. */
  25868. dtl: Object;
  25869. /**
  25870. *
  25871. */
  25872. editor: Object;
  25873. /**
  25874. *
  25875. */
  25876. embed: Object;
  25877. /**
  25878. *
  25879. */
  25880. encoding: Object;
  25881. /**
  25882. *
  25883. */
  25884. enhanced: Object;
  25885. /**
  25886. * Utilities to embed and communicate with the Flash player from Javascript
  25887. *
  25888. */
  25889. flash: Object;
  25890. /**
  25891. *
  25892. */
  25893. form: Object;
  25894. /**
  25895. *
  25896. */
  25897. fx: Object;
  25898. /**
  25899. *
  25900. */
  25901. gantt: Object;
  25902. /**
  25903. *
  25904. */
  25905. gauges: Object;
  25906. /**
  25907. *
  25908. */
  25909. geo: Object;
  25910. /**
  25911. *
  25912. */
  25913. gesture: Object;
  25914. /**
  25915. *
  25916. */
  25917. gfx: Object;
  25918. /**
  25919. *
  25920. */
  25921. gfx3d: Object;
  25922. /**
  25923. *
  25924. */
  25925. grid: Object;
  25926. /**
  25927. *
  25928. */
  25929. help: Object;
  25930. /**
  25931. *
  25932. */
  25933. highlight: Object;
  25934. /**
  25935. *
  25936. */
  25937. html: Object;
  25938. /**
  25939. *
  25940. */
  25941. image: Object;
  25942. /**
  25943. *
  25944. */
  25945. io: Object;
  25946. /**
  25947. *
  25948. */
  25949. jq: Object;
  25950. /**
  25951. *
  25952. */
  25953. json: Object;
  25954. /**
  25955. *
  25956. */
  25957. jsonPath: Object;
  25958. /**
  25959. *
  25960. */
  25961. lang: Object;
  25962. /**
  25963. *
  25964. */
  25965. layout: Object;
  25966. /**
  25967. *
  25968. */
  25969. math: Object;
  25970. /**
  25971. *
  25972. */
  25973. mdnd: Object;
  25974. /**
  25975. *
  25976. */
  25977. mobile: Object;
  25978. /**
  25979. *
  25980. */
  25981. mvc: Object;
  25982. /**
  25983. *
  25984. */
  25985. openlayers: Object;
  25986. /**
  25987. *
  25988. */
  25989. rails: Object;
  25990. /**
  25991. *
  25992. */
  25993. robot: Object;
  25994. /**
  25995. *
  25996. */
  25997. rpc: Object;
  25998. /**
  25999. *
  26000. */
  26001. secure: Object;
  26002. /**
  26003. *
  26004. */
  26005. sketch: Object;
  26006. /**
  26007. *
  26008. */
  26009. sql: Object;
  26010. /**
  26011. *
  26012. */
  26013. string: Object;
  26014. /**
  26015. *
  26016. */
  26017. testing: Object;
  26018. /**
  26019. *
  26020. */
  26021. timing: Object;
  26022. /**
  26023. *
  26024. */
  26025. treemap: Object;
  26026. /**
  26027. *
  26028. */
  26029. uuid: Object;
  26030. /**
  26031. *
  26032. */
  26033. validate: Object;
  26034. /**
  26035. *
  26036. */
  26037. widget: Object;
  26038. /**
  26039. *
  26040. */
  26041. xml: Object;
  26042. /**
  26043. * Provides a simple socket connection using WebSocket, or alternate
  26044. * communication mechanisms in legacy browsers for comet-style communication. This is based
  26045. * on the WebSocket API and returns an object that implements the WebSocket interface:
  26046. * http://dev.w3.org/html5/websockets/#websocket
  26047. * Provides socket connections. This can be used with virtually any Comet protocol.
  26048. *
  26049. * @param argsOrUrl This uses the same arguments as the other I/O functions in Dojo, or aURL to connect to. The URL should be a relative URL in order to properlywork with WebSockets (it can still be host relative, like //other-site.org/endpoint)
  26050. */
  26051. socket(argsOrUrl: Object): any;
  26052. /**
  26053. *
  26054. * @param format
  26055. * @param filler
  26056. */
  26057. sprintf(format: String, filler: any): void;
  26058. }
  26059. /**
  26060. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.i18n.html
  26061. *
  26062. * This module implements the dojo/i18n! plugin and the v1.6- i18n API
  26063. * We choose to include our own plugin to leverage functionality already contained in dojo
  26064. * and thereby reduce the size of the plugin compared to various loader implementations. Also, this
  26065. * allows foreign AMD loaders to be used without their plugins.
  26066. *
  26067. */
  26068. interface i18n {
  26069. /**
  26070. *
  26071. */
  26072. cache: Object;
  26073. /**
  26074. *
  26075. */
  26076. dynamic: boolean;
  26077. /**
  26078. *
  26079. */
  26080. unitTests: any[];
  26081. /**
  26082. *
  26083. * @param moduleName
  26084. * @param bundleName
  26085. * @param locale
  26086. */
  26087. getL10nName(moduleName: any, bundleName: any, locale: any): String;
  26088. /**
  26089. *
  26090. * @param moduleName
  26091. * @param bundleName
  26092. * @param locale
  26093. */
  26094. getLocalization(moduleName: any, bundleName: any, locale: any): any;
  26095. /**
  26096. * id is in one of the following formats
  26097. *
  26098. * /nls/
  26099. * => load the bundle, localized to config.locale; load all bundles localized to
  26100. * config.extraLocale (if any); return the loaded bundle localized to config.locale.
  26101. * /nls//
  26102. * => load then return the bundle localized to
  26103. * preload/nls//
  26104. * => for config.locale and all config.extraLocale, load all bundles found
  26105. * in the best-matching bundle rollup. A value of 1 is returned, which
  26106. * is meaningless other than to say the plugin is executing the requested
  26107. * preloads
  26108. *
  26109. * In cases 1 and 2, is always normalized to an absolute module id upon entry; see
  26110. * normalize. In case 3, it is assumed to be absolute; this is arranged by the builder.
  26111. *
  26112. * To load a bundle means to insert the bundle into the plugin's cache and publish the bundle
  26113. * value to the loader. Given , , and a particular , the cache key
  26114. *
  26115. * <path>/nls/<bundle>/<locale>
  26116. * will hold the value. Similarly, then plugin will publish this value to the loader by
  26117. *
  26118. * define("<path>/nls/<bundle>/<locale>", <bundle-value>);
  26119. * Given this algorithm, other machinery can provide fast load paths be preplacing
  26120. * values in the plugin's cache, which is public. When a load is demanded the
  26121. * cache is inspected before starting any loading. Explicitly placing values in the plugin
  26122. * cache is an advanced/experimental feature that should not be needed; use at your own risk.
  26123. *
  26124. * For the normal AMD algorithm, the root bundle is loaded first, which instructs the
  26125. * plugin what additional localized bundles are required for a particular locale. These
  26126. * additional locales are loaded and a mix of the root and each progressively-specific
  26127. * locale is returned. For example:
  26128. *
  26129. * The client demands "dojo/i18n!some/path/nls/someBundle
  26130. * The loader demands load(some/path/nls/someBundle)
  26131. * This plugin require's "some/path/nls/someBundle", which is the root bundle.
  26132. * Assuming config.locale is "ab-cd-ef" and the root bundle indicates that localizations
  26133. * are available for "ab" and "ab-cd-ef" (note the missing "ab-cd", then the plugin
  26134. * requires "some/path/nls/ab/someBundle" and "some/path/nls/ab-cd-ef/someBundle"
  26135. * Upon receiving all required bundles, the plugin constructs the value of the bundle
  26136. * ab-cd-ef as...
  26137. * mixin(mixin(mixin({}, require("some/path/nls/someBundle"),
  26138. * require("some/path/nls/ab/someBundle")),
  26139. * require("some/path/nls/ab-cd-ef/someBundle"));
  26140. *
  26141. * This value is inserted into the cache and published to the loader at the
  26142. * key/module-id some/path/nls/someBundle/ab-cd-ef.
  26143. *
  26144. * The special preload signature (case 3) instructs the plugin to stop servicing all normal requests
  26145. * (further preload requests will be serviced) until all ongoing preloading has completed.
  26146. *
  26147. * The preload signature instructs the plugin that a special rollup module is available that contains
  26148. * one or more flattened, localized bundles. The JSON array of available locales indicates which locales
  26149. * are available. Here is an example:
  26150. *
  26151. * *preload*some/path/nls/someModule*["root", "ab", "ab-cd-ef"]
  26152. * This indicates the following rollup modules are available:
  26153. *
  26154. * some/path/nls/someModule_ROOT
  26155. * some/path/nls/someModule_ab
  26156. * some/path/nls/someModule_ab-cd-ef
  26157. * Each of these modules is a normal AMD module that contains one or more flattened bundles in a hash.
  26158. * For example, assume someModule contained the bundles some/bundle/path/someBundle and
  26159. * some/bundle/path/someOtherBundle, then some/path/nls/someModule_ab would be expressed as follows:
  26160. *
  26161. * define({
  26162. * some/bundle/path/someBundle:<value of someBundle, flattened with respect to locale ab>,
  26163. * some/bundle/path/someOtherBundle:<value of someOtherBundle, flattened with respect to locale ab>,
  26164. * });
  26165. * E.g., given this design, preloading for locale=="ab" can execute the following algorithm:
  26166. *
  26167. * require(["some/path/nls/someModule_ab"], function(rollup){
  26168. * for(var p in rollup){
  26169. * var id = p + "/ab",
  26170. * cache[id] = rollup[p];
  26171. * define(id, rollup[p]);
  26172. * }
  26173. * });
  26174. * Similarly, if "ab-cd" is requested, the algorithm can determine that "ab" is the best available and
  26175. * load accordingly.
  26176. *
  26177. * The builder will write such rollups for every layer if a non-empty localeList profile property is
  26178. * provided. Further, the builder will include the following cache entry in the cache associated with
  26179. * any layer.
  26180. *
  26181. * "*now":function(r){r(['dojo/i18n!*preload*<path>/nls/<module>*<JSON array of available locales>']);}
  26182. * The *now special cache module instructs the loader to apply the provided function to context-require
  26183. * with respect to the particular layer being defined. This causes the plugin to hold all normal service
  26184. * requests until all preloading is complete.
  26185. *
  26186. * Notice that this algorithm is rarely better than the standard AMD load algorithm. Consider the normal case
  26187. * where the target locale has a single segment and a layer depends on a single bundle:
  26188. *
  26189. * Without Preloads:
  26190. *
  26191. * Layer loads root bundle.
  26192. * bundle is demanded; plugin loads single localized bundle.
  26193. * With Preloads:
  26194. *
  26195. * Layer causes preloading of target bundle.
  26196. * bundle is demanded; service is delayed until preloading complete; bundle is returned.
  26197. * In each case a single transaction is required to load the target bundle. In cases where multiple bundles
  26198. * are required and/or the locale has multiple segments, preloads still requires a single transaction whereas
  26199. * the normal path requires an additional transaction for each additional bundle/locale-segment. However all
  26200. * of these additional transactions can be done concurrently. Owing to this analysis, the entire preloading
  26201. * algorithm can be discard during a build by setting the has feature dojo-preload-i18n-Api to false.
  26202. *
  26203. * @param id
  26204. * @param require
  26205. * @param load
  26206. */
  26207. load(id: any, require: any, load: any): void;
  26208. /**
  26209. * id may be relative.
  26210. * preload has form *preload*<path>/nls/<module>*<flattened locales> and
  26211. * therefore never looks like a relative
  26212. *
  26213. * @param id
  26214. * @param toAbsMid
  26215. */
  26216. normalize(id: any, toAbsMid: any): any;
  26217. /**
  26218. *
  26219. * @param locale
  26220. */
  26221. normalizeLocale(locale: any): any;
  26222. }
  26223. /**
  26224. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.scopeMap.html
  26225. *
  26226. *
  26227. */
  26228. interface scopeMap {
  26229. /**
  26230. *
  26231. */
  26232. dijit: any[];
  26233. /**
  26234. *
  26235. */
  26236. dojo: any[];
  26237. /**
  26238. *
  26239. */
  26240. dojox: any[];
  26241. }
  26242. /**
  26243. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.regexp.html
  26244. *
  26245. * Regular expressions and Builder resources
  26246. *
  26247. */
  26248. interface regexp {
  26249. /**
  26250. * Builds a regular expression that groups subexpressions
  26251. * A utility function used by some of the RE generators. The
  26252. * subexpressions are constructed by the function, re, in the second
  26253. * parameter. re builds one subexpression for each elem in the array
  26254. * a, in the first parameter. Returns a string for a regular
  26255. * expression that groups all the subexpressions.
  26256. *
  26257. * @param arr A single value or an array of values.
  26258. * @param re A function. Takes one parameter and converts it to a regularexpression.
  26259. * @param nonCapture OptionalIf true, uses non-capturing match, otherwise matches are retainedby regular expression. Defaults to false
  26260. */
  26261. buildGroupRE(arr: Object, re: Function, nonCapture?: boolean): any;
  26262. /**
  26263. * Builds a regular expression that groups subexpressions
  26264. * A utility function used by some of the RE generators. The
  26265. * subexpressions are constructed by the function, re, in the second
  26266. * parameter. re builds one subexpression for each elem in the array
  26267. * a, in the first parameter. Returns a string for a regular
  26268. * expression that groups all the subexpressions.
  26269. *
  26270. * @param arr A single value or an array of values.
  26271. * @param re A function. Takes one parameter and converts it to a regularexpression.
  26272. * @param nonCapture OptionalIf true, uses non-capturing match, otherwise matches are retainedby regular expression. Defaults to false
  26273. */
  26274. buildGroupRE(arr: any[], re: Function, nonCapture?: boolean): any;
  26275. /**
  26276. * Adds escape sequences for special characters in regular expressions
  26277. *
  26278. * @param str
  26279. * @param except Optionala String with special characters to be left unescaped
  26280. */
  26281. escapeString(str: String, except?: String): any;
  26282. /**
  26283. * adds group match to expression
  26284. *
  26285. * @param expression
  26286. * @param nonCapture OptionalIf true, uses non-capturing match, otherwise matches are retainedby regular expression.
  26287. */
  26288. group(expression: String, nonCapture?: boolean): String;
  26289. }
  26290. /**
  26291. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.mouseButtons.html
  26292. *
  26293. *
  26294. */
  26295. interface mouseButtons {
  26296. /**
  26297. * Numeric value of the left mouse button for the platform.
  26298. *
  26299. */
  26300. LEFT: number;
  26301. /**
  26302. * Numeric value of the middle mouse button for the platform.
  26303. *
  26304. */
  26305. MIDDLE: number;
  26306. /**
  26307. * Numeric value of the right mouse button for the platform.
  26308. *
  26309. */
  26310. RIGHT: number;
  26311. /**
  26312. * Checks an event object for a pressed button
  26313. *
  26314. * @param e Event object to examine
  26315. * @param button The button value (example: dojo.mouseButton.LEFT)
  26316. */
  26317. isButton(e: Event, button: number): boolean;
  26318. /**
  26319. * Checks an event object for the pressed left button
  26320. *
  26321. * @param e Event object to examine
  26322. */
  26323. isLeft(e: Event): boolean;
  26324. /**
  26325. * Checks an event object for the pressed middle button
  26326. *
  26327. * @param e Event object to examine
  26328. */
  26329. isMiddle(e: Event): boolean;
  26330. /**
  26331. * Checks an event object for the pressed right button
  26332. *
  26333. * @param e Event object to examine
  26334. */
  26335. isRight(e: Event): boolean;
  26336. }
  26337. /**
  26338. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.rpc.html
  26339. *
  26340. *
  26341. */
  26342. interface rpc {
  26343. /**
  26344. *
  26345. */
  26346. JsonpService(): void;
  26347. /**
  26348. *
  26349. */
  26350. JsonService(): void;
  26351. /**
  26352. *
  26353. */
  26354. RpcService(): void;
  26355. }
  26356. /**
  26357. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.number.html
  26358. *
  26359. * localized formatting and parsing routines for Number
  26360. *
  26361. */
  26362. interface number_ {
  26363. /**
  26364. * Format a Number as a String, using locale-specific settings
  26365. * Create a string from a Number using a known localized pattern.
  26366. * Formatting patterns appropriate to the locale are chosen from the
  26367. * Common Locale Data Repository as well as the appropriate symbols and
  26368. * delimiters.
  26369. * If value is Infinity, -Infinity, or is not a valid JavaScript number, return null.
  26370. *
  26371. * @param value the number to be formatted
  26372. * @param options OptionalAn object with the following properties:pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization. Literal characters in patterns are not supported.type (String, optional): choose a format type based on the locale from the following:decimal, scientific (not yet supported), percent, currency. decimal by default.places (Number, optional): fixed number of decimal places to show. This overrides anyinformation in the provided pattern.round (Number, optional): 5 rounds to nearest .5; 0 rounds to nearest whole (default). -1means do not round.locale (String, optional): override the locale used to determine formatting rulesfractional (Boolean, optional): If false, show no decimal places, overriding places and pattern settings.
  26373. */
  26374. format(value: number, options?: Object): any;
  26375. /**
  26376. * Convert a properly formatted string to a primitive Number, using
  26377. * locale-specific settings.
  26378. * Create a Number from a string using a known localized pattern.
  26379. * Formatting patterns are chosen appropriate to the locale
  26380. * and follow the syntax described by
  26381. * unicode.org TR35
  26382. * Note that literal characters in patterns are not supported.
  26383. *
  26384. * @param expression A string representation of a Number
  26385. * @param options OptionalAn object with the following properties:pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization. Literal characters in patterns are not supported.type (String, optional): choose a format type based on the locale from the following:decimal, scientific (not yet supported), percent, currency. decimal by default.locale (String, optional): override the locale used to determine formatting rulesstrict (Boolean, optional): strict parsing, false by default. Strict parsing requires input as produced by the format() method.Non-strict is more permissive, e.g. flexible on white space, omitting thousands separatorsfractional (Boolean|Array, optional): Whether to include the fractional portion, where the number of decimal places are implied by patternor explicit 'places' parameter. The value [true,false] makes the fractional portion optional.
  26386. */
  26387. parse(expression: String, options?: Object): number;
  26388. /**
  26389. * Builds the regular needed to parse a number
  26390. * Returns regular expression with positive and negative match, group
  26391. * and decimal separators
  26392. *
  26393. * @param options OptionalAn object with the following properties:pattern (String, optional): override formatting patternwith this string. Default value is based on locale. Overriding this property will defeatlocalization.type (String, optional): choose a format type based on the locale from the following:decimal, scientific (not yet supported), percent, currency. decimal by default.locale (String, optional): override the locale used to determine formatting rulesstrict (Boolean, optional): strict parsing, false by default. Strict parsing requires input as produced by the format() method.Non-strict is more permissive, e.g. flexible on white space, omitting thousands separatorsplaces (Number|String, optional): number of decimal places to accept: Infinity, a positive number, ora range "n,m". Defined by pattern or Infinity if pattern not provided.
  26394. */
  26395. regexp(options?: Object): any;
  26396. /**
  26397. * Rounds to the nearest value with the given number of decimal places, away from zero
  26398. * Rounds to the nearest value with the given number of decimal places, away from zero if equal.
  26399. * Similar to Number.toFixed(), but compensates for browser quirks. Rounding can be done by
  26400. * fractional increments also, such as the nearest quarter.
  26401. * NOTE: Subject to floating point errors. See dojox/math/round for experimental workaround.
  26402. *
  26403. * @param value The number to round
  26404. * @param places OptionalThe number of decimal places where rounding takes place. Defaults to 0 for whole rounding.Must be non-negative.
  26405. * @param increment OptionalRounds next place to nearest value of increment/10. 10 by default.
  26406. */
  26407. round(value: number, places?: number, increment?: number): number;
  26408. }
  26409. /**
  26410. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.keys.html
  26411. *
  26412. * Definitions for common key values. Client code should test keyCode against these named constants,
  26413. * as the actual codes can vary by browser.
  26414. *
  26415. */
  26416. interface keys {
  26417. /**
  26418. *
  26419. */
  26420. ALT: number;
  26421. /**
  26422. *
  26423. */
  26424. BACKSPACE: number;
  26425. /**
  26426. *
  26427. */
  26428. CAPS_LOCK: number;
  26429. /**
  26430. *
  26431. */
  26432. CLEAR: number;
  26433. /**
  26434. *
  26435. */
  26436. copyKey: number;
  26437. /**
  26438. *
  26439. */
  26440. CTRL: number;
  26441. /**
  26442. *
  26443. */
  26444. DELETE: number;
  26445. /**
  26446. *
  26447. */
  26448. DOWN_ARROW: number;
  26449. /**
  26450. *
  26451. */
  26452. DOWN_DPAD: number;
  26453. /**
  26454. *
  26455. */
  26456. END: number;
  26457. /**
  26458. *
  26459. */
  26460. ENTER: number;
  26461. /**
  26462. *
  26463. */
  26464. ESCAPE: number;
  26465. /**
  26466. *
  26467. */
  26468. F1: number;
  26469. /**
  26470. *
  26471. */
  26472. F10: number;
  26473. /**
  26474. *
  26475. */
  26476. F11: number;
  26477. /**
  26478. *
  26479. */
  26480. F12: number;
  26481. /**
  26482. *
  26483. */
  26484. F13: number;
  26485. /**
  26486. *
  26487. */
  26488. F14: number;
  26489. /**
  26490. *
  26491. */
  26492. F15: number;
  26493. /**
  26494. *
  26495. */
  26496. F2: number;
  26497. /**
  26498. *
  26499. */
  26500. F3: number;
  26501. /**
  26502. *
  26503. */
  26504. F4: number;
  26505. /**
  26506. *
  26507. */
  26508. F5: number;
  26509. /**
  26510. *
  26511. */
  26512. F6: number;
  26513. /**
  26514. *
  26515. */
  26516. F7: number;
  26517. /**
  26518. *
  26519. */
  26520. F8: number;
  26521. /**
  26522. *
  26523. */
  26524. F9: number;
  26525. /**
  26526. *
  26527. */
  26528. HELP: number;
  26529. /**
  26530. *
  26531. */
  26532. HOME: number;
  26533. /**
  26534. *
  26535. */
  26536. INSERT: number;
  26537. /**
  26538. *
  26539. */
  26540. LEFT_ARROW: number;
  26541. /**
  26542. *
  26543. */
  26544. LEFT_DPAD: number;
  26545. /**
  26546. *
  26547. */
  26548. LEFT_WINDOW: number;
  26549. /**
  26550. *
  26551. */
  26552. META: number;
  26553. /**
  26554. *
  26555. */
  26556. NUM_LOCK: number;
  26557. /**
  26558. *
  26559. */
  26560. NUMPAD_0: number;
  26561. /**
  26562. *
  26563. */
  26564. NUMPAD_1: number;
  26565. /**
  26566. *
  26567. */
  26568. NUMPAD_2: number;
  26569. /**
  26570. *
  26571. */
  26572. NUMPAD_3: number;
  26573. /**
  26574. *
  26575. */
  26576. NUMPAD_4: number;
  26577. /**
  26578. *
  26579. */
  26580. NUMPAD_5: number;
  26581. /**
  26582. *
  26583. */
  26584. NUMPAD_6: number;
  26585. /**
  26586. *
  26587. */
  26588. NUMPAD_7: number;
  26589. /**
  26590. *
  26591. */
  26592. NUMPAD_8: number;
  26593. /**
  26594. *
  26595. */
  26596. NUMPAD_9: number;
  26597. /**
  26598. *
  26599. */
  26600. NUMPAD_DIVIDE: number;
  26601. /**
  26602. *
  26603. */
  26604. NUMPAD_ENTER: number;
  26605. /**
  26606. *
  26607. */
  26608. NUMPAD_MINUS: number;
  26609. /**
  26610. *
  26611. */
  26612. NUMPAD_MULTIPLY: number;
  26613. /**
  26614. *
  26615. */
  26616. NUMPAD_PERIOD: number;
  26617. /**
  26618. *
  26619. */
  26620. NUMPAD_PLUS: number;
  26621. /**
  26622. *
  26623. */
  26624. PAGE_DOWN: number;
  26625. /**
  26626. *
  26627. */
  26628. PAGE_UP: number;
  26629. /**
  26630. *
  26631. */
  26632. PAUSE: number;
  26633. /**
  26634. *
  26635. */
  26636. RIGHT_ARROW: number;
  26637. /**
  26638. *
  26639. */
  26640. RIGHT_DPAD: number;
  26641. /**
  26642. *
  26643. */
  26644. RIGHT_WINDOW: number;
  26645. /**
  26646. *
  26647. */
  26648. SCROLL_LOCK: number;
  26649. /**
  26650. *
  26651. */
  26652. SELECT: number;
  26653. /**
  26654. *
  26655. */
  26656. SHIFT: number;
  26657. /**
  26658. *
  26659. */
  26660. SPACE: number;
  26661. /**
  26662. *
  26663. */
  26664. TAB: number;
  26665. /**
  26666. *
  26667. */
  26668. UP_ARROW: number;
  26669. /**
  26670. *
  26671. */
  26672. UP_DPAD: number;
  26673. }
  26674. /**
  26675. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.tests.html
  26676. *
  26677. * D.O.H. Test files for Dojo unit testing.
  26678. *
  26679. */
  26680. interface tests {
  26681. }
  26682. /**
  26683. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.version.html
  26684. *
  26685. * Version number of the Dojo Toolkit
  26686. * Hash about the version, including
  26687. *
  26688. * major: Integer: Major version. If total version is "1.2.0beta1", will be 1
  26689. * minor: Integer: Minor version. If total version is "1.2.0beta1", will be 2
  26690. * patch: Integer: Patch version. If total version is "1.2.0beta1", will be 0
  26691. * flag: String: Descriptor flag. If total version is "1.2.0beta1", will be "beta1"
  26692. * revision: Number: The Git rev from which dojo was pulled
  26693. *
  26694. */
  26695. interface version {
  26696. /**
  26697. *
  26698. */
  26699. flag: string;
  26700. /**
  26701. *
  26702. */
  26703. major: number;
  26704. /**
  26705. *
  26706. */
  26707. minor: number;
  26708. /**
  26709. *
  26710. */
  26711. patch: number;
  26712. /**
  26713. *
  26714. */
  26715. revision: number;
  26716. /**
  26717. *
  26718. */
  26719. toString(): String;
  26720. }
  26721. /**
  26722. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.string.html
  26723. *
  26724. * String utilities for Dojo
  26725. *
  26726. */
  26727. interface string_ {
  26728. /**
  26729. * Pad a string to guarantee that it is at least size length by
  26730. * filling with the character ch at either the start or end of the
  26731. * string. Pads at the start, by default.
  26732. *
  26733. * @param text the string to pad
  26734. * @param size length to provide padding
  26735. * @param ch Optionalcharacter to pad, defaults to '0'
  26736. * @param end Optionaladds padding at the end if true, otherwise pads at start
  26737. */
  26738. pad(text: String, size: number, ch?: String, end?: boolean): number;
  26739. /**
  26740. * Efficiently replicate a string n times.
  26741. *
  26742. * @param str the string to replicate
  26743. * @param num number of times to replicate the string
  26744. */
  26745. rep(str: String, num: number): String;
  26746. /**
  26747. * Performs parameterized substitutions on a string. Throws an
  26748. * exception if any parameter is unmatched.
  26749. *
  26750. * @param template a string with expressions in the form ${key} to be replaced or${key:format} which specifies a format function. keys are case-sensitive.
  26751. * @param map hash to search for substitutions
  26752. * @param transform Optionala function to process all parameters before substitution takesplace, e.g. mylib.encodeXML
  26753. * @param thisObject Optionalwhere to look for optional format function; default to the globalnamespace
  26754. */
  26755. substitute(template: String, map: Object, transform?: Function, thisObject?: Object): any;
  26756. /**
  26757. * Performs parameterized substitutions on a string. Throws an
  26758. * exception if any parameter is unmatched.
  26759. *
  26760. * @param template a string with expressions in the form ${key} to be replaced or${key:format} which specifies a format function. keys are case-sensitive.
  26761. * @param map hash to search for substitutions
  26762. * @param transform Optionala function to process all parameters before substitution takesplace, e.g. mylib.encodeXML
  26763. * @param thisObject Optionalwhere to look for optional format function; default to the globalnamespace
  26764. */
  26765. substitute(template: String, map: any[], transform?: Function, thisObject?: Object): any;
  26766. /**
  26767. * Trims whitespace from both sides of the string
  26768. * This version of trim() was taken from Steven Levithan's blog.
  26769. * The short yet performant version of this function is dojo/_base/lang.trim(),
  26770. * which is part of Dojo base. Uses String.prototype.trim instead, if available.
  26771. *
  26772. * @param str String to be trimmed
  26773. */
  26774. trim(str: String): String;
  26775. }
  26776. /**
  26777. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.touch.html
  26778. *
  26779. * This module provides unified touch event handlers by exporting
  26780. * press, move, release and cancel which can also run well on desktop.
  26781. * Based on http://dvcs.w3.org/hg/webevents/raw-file/tip/touchevents.html
  26782. * Also, if the dojoClick property is set to truthy on a DOM node, dojo/touch generates
  26783. * click events immediately for this node and its descendants (except for descendants that
  26784. * have a dojoClick property set to falsy), to avoid the delay before native browser click events,
  26785. * and regardless of whether evt.preventDefault() was called in a touch.press event listener.
  26786. *
  26787. */
  26788. interface touch {
  26789. /**
  26790. * Register a listener to 'touchcancel'|'mouseleave' for the given node
  26791. *
  26792. * @param node Target node to listen to
  26793. * @param listener Callback function
  26794. */
  26795. cancel(node: HTMLElement, listener: Function): any;
  26796. /**
  26797. * Register a listener to mouse.enter or touch equivalent for the given node
  26798. *
  26799. * @param node Target node to listen to
  26800. * @param listener Callback function
  26801. */
  26802. enter(node: HTMLElement, listener: Function): any;
  26803. /**
  26804. * Register a listener to mouse.leave or touch equivalent for the given node
  26805. *
  26806. * @param node Target node to listen to
  26807. * @param listener Callback function
  26808. */
  26809. leave(node: HTMLElement, listener: Function): any;
  26810. /**
  26811. * Register a listener that fires when the mouse cursor or a finger is dragged over the given node.
  26812. *
  26813. * @param node Target node to listen to
  26814. * @param listener Callback function
  26815. */
  26816. move(node: HTMLElement, listener: Function): any;
  26817. /**
  26818. * Register a listener to 'mouseout' or touch equivalent for the given node
  26819. *
  26820. * @param node Target node to listen to
  26821. * @param listener Callback function
  26822. */
  26823. out(node: HTMLElement, listener: Function): any;
  26824. /**
  26825. * Register a listener to 'mouseover' or touch equivalent for the given node
  26826. *
  26827. * @param node Target node to listen to
  26828. * @param listener Callback function
  26829. */
  26830. over(node: HTMLElement, listener: Function): any;
  26831. /**
  26832. * Register a listener to 'touchstart'|'mousedown' for the given node
  26833. *
  26834. * @param node Target node to listen to
  26835. * @param listener Callback function
  26836. */
  26837. press(node: HTMLElement, listener: Function): any;
  26838. /**
  26839. * Register a listener to releasing the mouse button while the cursor is over the given node
  26840. * (i.e. "mouseup") or for removing the finger from the screen while touching the given node.
  26841. *
  26842. * @param node Target node to listen to
  26843. * @param listener Callback function
  26844. */
  26845. release(node: HTMLElement, listener: Function): any;
  26846. }
  26847. /**
  26848. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.store.html
  26849. *
  26850. *
  26851. */
  26852. interface store {
  26853. /**
  26854. *
  26855. */
  26856. util: Object;
  26857. /**
  26858. *
  26859. * @param masterStore
  26860. * @param cachingStore
  26861. * @param options
  26862. */
  26863. Cache(masterStore: any, cachingStore: any, options: any): any;
  26864. /**
  26865. *
  26866. */
  26867. DataStore(): void;
  26868. /**
  26869. *
  26870. */
  26871. JsonRest(): void;
  26872. /**
  26873. *
  26874. */
  26875. Memory(): void;
  26876. /**
  26877. * The Observable store wrapper takes a store and sets an observe method on query()
  26878. * results that can be used to monitor results for changes.
  26879. * Observable wraps an existing store so that notifications can be made when a query
  26880. * is performed.
  26881. *
  26882. * @param store
  26883. */
  26884. Observable(store: dojo.store.api.Store): any;
  26885. }
  26886. /**
  26887. * Permalink: http://dojotoolkit.org/api/1.9/dojo/main.window.html
  26888. *
  26889. * TODOC
  26890. *
  26891. */
  26892. interface window {
  26893. /**
  26894. * Get window object associated with document doc.
  26895. *
  26896. * @param doc The document to get the associated window for.
  26897. */
  26898. get(doc: HTMLDocument): any;
  26899. /**
  26900. * Returns the dimensions and scroll position of the viewable area of a browser window
  26901. *
  26902. * @param doc Optional
  26903. */
  26904. getBox(doc?: HTMLDocument): Object;
  26905. /**
  26906. * Scroll the passed node into view using minimal movement, if it is not already.
  26907. *
  26908. * @param node
  26909. * @param pos Optional
  26910. */
  26911. scrollIntoView(node: HTMLElement, pos: Object): void;
  26912. }
  26913. }
  26914. /**
  26915. * Permalink: http://dojotoolkit.org/api/1.9/dojo/string.html
  26916. *
  26917. * String utilities for Dojo
  26918. *
  26919. */
  26920. interface string_ {
  26921. /**
  26922. * Pad a string to guarantee that it is at least size length by
  26923. * filling with the character ch at either the start or end of the
  26924. * string. Pads at the start, by default.
  26925. *
  26926. * @param text the string to pad
  26927. * @param size length to provide padding
  26928. * @param ch Optionalcharacter to pad, defaults to '0'
  26929. * @param end Optionaladds padding at the end if true, otherwise pads at start
  26930. */
  26931. pad(text: String, size: number, ch?: String, end?: boolean): number;
  26932. /**
  26933. * Efficiently replicate a string n times.
  26934. *
  26935. * @param str the string to replicate
  26936. * @param num number of times to replicate the string
  26937. */
  26938. rep(str: String, num: number): String;
  26939. /**
  26940. * Performs parameterized substitutions on a string. Throws an
  26941. * exception if any parameter is unmatched.
  26942. *
  26943. * @param template a string with expressions in the form ${key} to be replaced or${key:format} which specifies a format function. keys are case-sensitive.
  26944. * @param map hash to search for substitutions
  26945. * @param transform Optionala function to process all parameters before substitution takesplace, e.g. mylib.encodeXML
  26946. * @param thisObject Optionalwhere to look for optional format function; default to the globalnamespace
  26947. */
  26948. substitute(template: String, map: Object, transform?: Function, thisObject?: Object): any;
  26949. /**
  26950. * Performs parameterized substitutions on a string. Throws an
  26951. * exception if any parameter is unmatched.
  26952. *
  26953. * @param template a string with expressions in the form ${key} to be replaced or${key:format} which specifies a format function. keys are case-sensitive.
  26954. * @param map hash to search for substitutions
  26955. * @param transform Optionala function to process all parameters before substitution takesplace, e.g. mylib.encodeXML
  26956. * @param thisObject Optionalwhere to look for optional format function; default to the globalnamespace
  26957. */
  26958. substitute(template: String, map: any[], transform?: Function, thisObject?: Object): any;
  26959. /**
  26960. * Trims whitespace from both sides of the string
  26961. * This version of trim() was taken from Steven Levithan's blog.
  26962. * The short yet performant version of this function is dojo/_base/lang.trim(),
  26963. * which is part of Dojo base. Uses String.prototype.trim instead, if available.
  26964. *
  26965. * @param str String to be trimmed
  26966. */
  26967. trim(str: String): String;
  26968. }
  26969. /**
  26970. * Permalink: http://dojotoolkit.org/api/1.9/dojo/text.html
  26971. *
  26972. * This module implements the dojo/text! plugin and the dojo.cache API.
  26973. * We choose to include our own plugin to leverage functionality already contained in dojo
  26974. * and thereby reduce the size of the plugin compared to various foreign loader implementations.
  26975. * Also, this allows foreign AMD loaders to be used without their plugins.
  26976. *
  26977. * CAUTION: this module is designed to optionally function synchronously to support the dojo v1.x synchronous
  26978. * loader. This feature is outside the scope of the CommonJS plugins specification.
  26979. *
  26980. */
  26981. interface text {
  26982. /**
  26983. *
  26984. */
  26985. dynamic: boolean;
  26986. /**
  26987. *
  26988. * @param id Path to the resource.
  26989. * @param require Object that include the function toUrl with given id returns a valid URL from which to load the text.
  26990. * @param load Callback function which will be called, when the loading finished.
  26991. */
  26992. load(id: String, require: Function, load: Function): void;
  26993. /**
  26994. *
  26995. * @param id
  26996. * @param toAbsMid
  26997. */
  26998. normalize(id: any, toAbsMid: any): String;
  26999. }
  27000. /**
  27001. * Permalink: http://dojotoolkit.org/api/1.9/dojo/topic.html
  27002. *
  27003. * Pubsub hub.
  27004. *
  27005. */
  27006. interface topic {
  27007. /**
  27008. * Publishes a message to a topic on the pub/sub hub. All arguments after
  27009. * the first will be passed to the subscribers, so any number of arguments
  27010. * can be provided (not just event).
  27011. *
  27012. * @param topic The name of the topic to publish to
  27013. * @param event An event to distribute to the topic listeners
  27014. */
  27015. publish(topic: String, event: Object): any;
  27016. /**
  27017. * Subscribes to a topic on the pub/sub hub
  27018. *
  27019. * @param topic The topic to subscribe to
  27020. * @param listener A function to call when a message is published to the given topic
  27021. */
  27022. subscribe(topic: String, listener: Function): any;
  27023. }
  27024. /**
  27025. * Permalink: http://dojotoolkit.org/api/1.9/dojo/uacss.html
  27026. *
  27027. * Applies pre-set CSS classes to the top-level HTML node, based on:
  27028. *
  27029. * browser (ex: dj_ie)
  27030. * browser version (ex: dj_ie6)
  27031. * box model (ex: dj_contentBox)
  27032. * text direction (ex: dijitRtl)
  27033. * In addition, browser, browser version, and box model are
  27034. * combined with an RTL flag when browser text is RTL. ex: dj_ie-rtl.
  27035. *
  27036. * Returns the has() method.
  27037. *
  27038. */
  27039. interface uacss {
  27040. }
  27041. /**
  27042. * Permalink: http://dojotoolkit.org/api/1.9/dojo/window.html
  27043. *
  27044. * TODOC
  27045. *
  27046. */
  27047. interface window {
  27048. /**
  27049. * Get window object associated with document doc.
  27050. *
  27051. * @param doc The document to get the associated window for.
  27052. */
  27053. get(doc: HTMLDocument): any;
  27054. /**
  27055. * Returns the dimensions and scroll position of the viewable area of a browser window
  27056. *
  27057. * @param doc Optional
  27058. */
  27059. getBox(doc?: HTMLDocument): Object;
  27060. /**
  27061. * Scroll the passed node into view using minimal movement, if it is not already.
  27062. *
  27063. * @param node
  27064. * @param pos Optional
  27065. */
  27066. scrollIntoView(node: HTMLElement, pos: Object): void;
  27067. }
  27068. /**
  27069. * Permalink: http://dojotoolkit.org/api/1.9/dojo/touch.html
  27070. *
  27071. * This module provides unified touch event handlers by exporting
  27072. * press, move, release and cancel which can also run well on desktop.
  27073. * Based on http://dvcs.w3.org/hg/webevents/raw-file/tip/touchevents.html
  27074. * Also, if the dojoClick property is set to truthy on a DOM node, dojo/touch generates
  27075. * click events immediately for this node and its descendants (except for descendants that
  27076. * have a dojoClick property set to falsy), to avoid the delay before native browser click events,
  27077. * and regardless of whether evt.preventDefault() was called in a touch.press event listener.
  27078. *
  27079. */
  27080. interface touch {
  27081. /**
  27082. * Register a listener to 'touchcancel'|'mouseleave' for the given node
  27083. *
  27084. * @param node Target node to listen to
  27085. * @param listener Callback function
  27086. */
  27087. cancel(node: HTMLElement, listener: Function): any;
  27088. /**
  27089. * Register a listener to mouse.enter or touch equivalent for the given node
  27090. *
  27091. * @param node Target node to listen to
  27092. * @param listener Callback function
  27093. */
  27094. enter(node: HTMLElement, listener: Function): any;
  27095. /**
  27096. * Register a listener to mouse.leave or touch equivalent for the given node
  27097. *
  27098. * @param node Target node to listen to
  27099. * @param listener Callback function
  27100. */
  27101. leave(node: HTMLElement, listener: Function): any;
  27102. /**
  27103. * Register a listener that fires when the mouse cursor or a finger is dragged over the given node.
  27104. *
  27105. * @param node Target node to listen to
  27106. * @param listener Callback function
  27107. */
  27108. move(node: HTMLElement, listener: Function): any;
  27109. /**
  27110. * Register a listener to 'mouseout' or touch equivalent for the given node
  27111. *
  27112. * @param node Target node to listen to
  27113. * @param listener Callback function
  27114. */
  27115. out(node: HTMLElement, listener: Function): any;
  27116. /**
  27117. * Register a listener to 'mouseover' or touch equivalent for the given node
  27118. *
  27119. * @param node Target node to listen to
  27120. * @param listener Callback function
  27121. */
  27122. over(node: HTMLElement, listener: Function): any;
  27123. /**
  27124. * Register a listener to 'touchstart'|'mousedown' for the given node
  27125. *
  27126. * @param node Target node to listen to
  27127. * @param listener Callback function
  27128. */
  27129. press(node: HTMLElement, listener: Function): any;
  27130. /**
  27131. * Register a listener to releasing the mouse button while the cursor is over the given node
  27132. * (i.e. "mouseup") or for removing the finger from the screen while touching the given node.
  27133. *
  27134. * @param node Target node to listen to
  27135. * @param listener Callback function
  27136. */
  27137. release(node: HTMLElement, listener: Function): any;
  27138. }
  27139. }
  27140. declare module "dojo/request" {
  27141. var exp: dojo.request
  27142. export=exp;
  27143. }
  27144. declare module "dojo/request.__BaseOptions" {
  27145. var exp: dojo.request.__BaseOptions
  27146. export=exp;
  27147. }
  27148. declare module "dojo/request.__MethodOptions" {
  27149. var exp: dojo.request.__MethodOptions
  27150. export=exp;
  27151. }
  27152. declare module "dojo/request.__Options" {
  27153. var exp: dojo.request.__Options
  27154. export=exp;
  27155. }
  27156. declare module "dojo/request.__Promise" {
  27157. var exp: dojo.request.__Promise
  27158. export=exp;
  27159. }
  27160. declare module "dojo/request/handlers" {
  27161. var exp: dojo.request.handlers
  27162. export=exp;
  27163. }
  27164. declare module "dojo/request/iframe" {
  27165. var exp: dojo.request.iframe
  27166. export=exp;
  27167. }
  27168. declare module "dojo/request/iframe.__MethodOptions" {
  27169. var exp: dojo.request.iframe.__MethodOptions
  27170. export=exp;
  27171. }
  27172. declare module "dojo/request/iframe.__BaseOptions" {
  27173. var exp: dojo.request.iframe.__BaseOptions
  27174. export=exp;
  27175. }
  27176. declare module "dojo/request/iframe.__Options" {
  27177. var exp: dojo.request.iframe.__Options
  27178. export=exp;
  27179. }
  27180. declare module "dojo/request/notify" {
  27181. var exp: dojo.request.notify
  27182. export=exp;
  27183. }
  27184. declare module "dojo/request/registry" {
  27185. var exp: dojo.request.registry
  27186. export=exp;
  27187. }
  27188. declare module "dojo/request/node" {
  27189. var exp: dojo.request.node
  27190. export=exp;
  27191. }
  27192. declare module "dojo/request/node.__MethodOptions" {
  27193. var exp: dojo.request.node.__MethodOptions
  27194. export=exp;
  27195. }
  27196. declare module "dojo/request/node.__Options" {
  27197. var exp: dojo.request.node.__Options
  27198. export=exp;
  27199. }
  27200. declare module "dojo/request/node.__BaseOptions" {
  27201. var exp: dojo.request.node.__BaseOptions
  27202. export=exp;
  27203. }
  27204. declare module "dojo/request/watch" {
  27205. var exp: dojo.request.watch
  27206. export=exp;
  27207. }
  27208. declare module "dojo/request/script" {
  27209. var exp: dojo.request.script
  27210. export=exp;
  27211. }
  27212. declare module "dojo/request/script.__MethodOptions" {
  27213. var exp: dojo.request.script.__MethodOptions
  27214. export=exp;
  27215. }
  27216. declare module "dojo/request/script.__BaseOptions" {
  27217. var exp: dojo.request.script.__BaseOptions
  27218. export=exp;
  27219. }
  27220. declare module "dojo/request/script.__Options" {
  27221. var exp: dojo.request.script.__Options
  27222. export=exp;
  27223. }
  27224. declare module "dojo/request/xhr" {
  27225. var exp: dojo.request.xhr
  27226. export=exp;
  27227. }
  27228. declare module "dojo/request/xhr.__BaseOptions" {
  27229. var exp: dojo.request.xhr.__BaseOptions
  27230. export=exp;
  27231. }
  27232. declare module "dojo/request/xhr.__MethodOptions" {
  27233. var exp: dojo.request.xhr.__MethodOptions
  27234. export=exp;
  27235. }
  27236. declare module "dojo/request/xhr.__Options" {
  27237. var exp: dojo.request.xhr.__Options
  27238. export=exp;
  27239. }
  27240. declare module "dojo/request/default" {
  27241. var exp: dojo.request.default_
  27242. export=exp;
  27243. }
  27244. declare module "dojo/request/util" {
  27245. var exp: dojo.request.util
  27246. export=exp;
  27247. }
  27248. declare module "dojo/AdapterRegistry" {
  27249. var exp: dojo.AdapterRegistry
  27250. export=exp;
  27251. }
  27252. declare module "dojo/cache" {
  27253. var exp: dojo.cache
  27254. export=exp;
  27255. }
  27256. declare module "dojo/cookie" {
  27257. var exp: dojo.cookie
  27258. export=exp;
  27259. }
  27260. declare module "dojo/domReady" {
  27261. var exp: dojo.domReady
  27262. export=exp;
  27263. }
  27264. declare module "dojo/hash" {
  27265. var exp: dojo.hash
  27266. export=exp;
  27267. }
  27268. declare module "dojo/has" {
  27269. var exp: dojo.has
  27270. export=exp;
  27271. }
  27272. declare module "dojo/hccss" {
  27273. var exp: dojo.hccss
  27274. export=exp;
  27275. }
  27276. declare module "dojo/NodeList-data" {
  27277. var exp: dojo.NodeList_data
  27278. export=exp;
  27279. }
  27280. declare module "dojo/NodeList-html" {
  27281. var exp: dojo.NodeList_html
  27282. export=exp;
  27283. }
  27284. declare module "dojo/NodeList-fx" {
  27285. var exp: dojo.NodeList_fx
  27286. export=exp;
  27287. }
  27288. declare module "dojo/NodeList-dom" {
  27289. var exp: dojo.NodeList_dom
  27290. export=exp;
  27291. }
  27292. declare module "dojo/NodeList-manipulate" {
  27293. var exp: dojo.NodeList_manipulate
  27294. export=exp;
  27295. }
  27296. declare module "dojo/NodeList-traverse" {
  27297. var exp: dojo.NodeList_traverse
  27298. export=exp;
  27299. }
  27300. declare module "dojo/on" {
  27301. var exp: dojo.on
  27302. export=exp;
  27303. }
  27304. declare module "dojo/query" {
  27305. var exp: dojo.query
  27306. export=exp;
  27307. }
  27308. declare module "dojo/ready" {
  27309. var exp: dojo.ready
  27310. export=exp;
  27311. }
  27312. declare module "dojo/sniff" {
  27313. var exp: dojo.sniff
  27314. export=exp;
  27315. }
  27316. declare module "dojo/when" {
  27317. var exp: dojo.when
  27318. export=exp;
  27319. }
  27320. declare module "dojo/date" {
  27321. var exp: dojo.date
  27322. export=exp;
  27323. }
  27324. declare module "dojo/date/stamp" {
  27325. var exp: dojo.date.stamp
  27326. export=exp;
  27327. }
  27328. declare module "dojo/date/locale" {
  27329. var exp: dojo.date.locale
  27330. export=exp;
  27331. }
  27332. declare module "dojo/date/locale.__FormatOptions" {
  27333. var exp: dojo.date.locale.__FormatOptions
  27334. export=exp;
  27335. }
  27336. declare module "dojo/fx" {
  27337. var exp: dojo.fx
  27338. export=exp;
  27339. }
  27340. declare module "dojo/fx/Toggler" {
  27341. var exp: dojo.fx.Toggler
  27342. export=exp;
  27343. }
  27344. declare module "dojo/fx/easing" {
  27345. var exp: dojo.fx.easing
  27346. export=exp;
  27347. }
  27348. declare module "dojo/router" {
  27349. var exp: dojo.router
  27350. export=exp;
  27351. }
  27352. declare module "dojo/router/RouterBase" {
  27353. var exp: typeof dojo.router.RouterBase
  27354. export=exp;
  27355. }
  27356. declare module "dojo/aspect" {
  27357. var exp: dojo.aspect
  27358. export=exp;
  27359. }
  27360. declare module "dojo/back" {
  27361. var exp: dojo.back
  27362. export=exp;
  27363. }
  27364. declare module "dojo/colors" {
  27365. var exp: dojo.colors
  27366. export=exp;
  27367. }
  27368. declare module "dojo/currency" {
  27369. var exp: dojo.currency
  27370. export=exp;
  27371. }
  27372. declare module "dojo/currency.__FormatOptions" {
  27373. var exp: dojo.currency.__FormatOptions
  27374. export=exp;
  27375. }
  27376. declare module "dojo/currency.__ParseOptions" {
  27377. var exp: dojo.currency.__ParseOptions
  27378. export=exp;
  27379. }
  27380. declare module "dojo/dom" {
  27381. var exp: dojo.dom
  27382. export=exp;
  27383. }
  27384. declare module "dojo/dom-attr" {
  27385. var exp: dojo.dom_attr
  27386. export=exp;
  27387. }
  27388. declare module "dojo/dom-class" {
  27389. var exp: dojo.dom_class
  27390. export=exp;
  27391. }
  27392. declare module "dojo/dom-form" {
  27393. var exp: dojo.dom_form
  27394. export=exp;
  27395. }
  27396. declare module "dojo/dom-construct" {
  27397. var exp: dojo.dom_construct
  27398. export=exp;
  27399. }
  27400. declare module "dojo/dom-prop" {
  27401. var exp: dojo.dom_prop
  27402. export=exp;
  27403. }
  27404. declare module "dojo/dom-prop.names" {
  27405. var exp: dojo.dom_prop.names
  27406. export=exp;
  27407. }
  27408. declare module "dojo/dom-style" {
  27409. var exp: dojo.dom_style
  27410. export=exp;
  27411. }
  27412. declare module "dojo/dom-geometry" {
  27413. var exp: dojo.dom_geometry
  27414. export=exp;
  27415. }
  27416. declare module "dojo/gears" {
  27417. var exp: dojo.gears
  27418. export=exp;
  27419. }
  27420. declare module "dojo/gears.available" {
  27421. var exp: dojo.gears.available
  27422. export=exp;
  27423. }
  27424. declare module "dojo/html" {
  27425. var exp: dojo.html
  27426. export=exp;
  27427. }
  27428. declare module "dojo/html._ContentSetter" {
  27429. var exp: dojo.html._ContentSetter
  27430. export=exp;
  27431. }
  27432. declare module "dojo/io-query" {
  27433. var exp: dojo.io_query
  27434. export=exp;
  27435. }
  27436. declare module "dojo/i18n" {
  27437. var exp: dojo.i18n
  27438. export=exp;
  27439. }
  27440. declare module "dojo/i18n.cache" {
  27441. var exp: dojo.i18n.cache
  27442. export=exp;
  27443. }
  27444. declare module "dojo/json" {
  27445. var exp: dojo.json
  27446. export=exp;
  27447. }
  27448. declare module "dojo/loadInit" {
  27449. var exp: dojo.loadInit
  27450. export=exp;
  27451. }
  27452. declare module "dojo/keys" {
  27453. var exp: dojo.keys
  27454. export=exp;
  27455. }
  27456. declare module "dojo/mouse" {
  27457. var exp: dojo.mouse
  27458. export=exp;
  27459. }
  27460. declare module "dojo/node" {
  27461. var exp: dojo.node
  27462. export=exp;
  27463. }
  27464. declare module "dojo/number" {
  27465. var exp: dojo.number_
  27466. export=exp;
  27467. }
  27468. declare module "dojo/number.__FormatAbsoluteOptions" {
  27469. var exp: dojo.number_.__FormatAbsoluteOptions
  27470. export=exp;
  27471. }
  27472. declare module "dojo/number.__IntegerRegexpFlags" {
  27473. var exp: dojo.number_.__IntegerRegexpFlags
  27474. export=exp;
  27475. }
  27476. declare module "dojo/number.__FormatOptions" {
  27477. var exp: dojo.number_.__FormatOptions
  27478. export=exp;
  27479. }
  27480. declare module "dojo/number.__RealNumberRegexpFlags" {
  27481. var exp: dojo.number_.__RealNumberRegexpFlags
  27482. export=exp;
  27483. }
  27484. declare module "dojo/number.__ParseOptions" {
  27485. var exp: dojo.number_.__ParseOptions
  27486. export=exp;
  27487. }
  27488. declare module "dojo/number.__RegexpOptions" {
  27489. var exp: dojo.number_.__RegexpOptions
  27490. export=exp;
  27491. }
  27492. declare module "dojo/parser" {
  27493. var exp: dojo.parser
  27494. export=exp;
  27495. }
  27496. declare module "dojo/regexp" {
  27497. var exp: dojo.regexp
  27498. export=exp;
  27499. }
  27500. declare module "dojo/require" {
  27501. var exp: dojo.require
  27502. export=exp;
  27503. }
  27504. declare module "dojo/robotx" {
  27505. var exp: dojo.robotx
  27506. export=exp;
  27507. }
  27508. declare module "dojo/robotx._runsemaphore" {
  27509. var exp: dojo.robotx._runsemaphore
  27510. export=exp;
  27511. }
  27512. declare module "dojo/robot" {
  27513. var exp: dojo.robot
  27514. export=exp;
  27515. }
  27516. declare module "dojo/robot._runsemaphore" {
  27517. var exp: dojo.robot._runsemaphore
  27518. export=exp;
  27519. }
  27520. declare module "dojo/main" {
  27521. var exp: dojo.main
  27522. export=exp;
  27523. }
  27524. declare module "dojo/main.__IoArgs" {
  27525. var exp: dojo.main.__IoArgs
  27526. export=exp;
  27527. }
  27528. declare module "dojo/main.__IoCallbackArgs" {
  27529. var exp: dojo.main.__IoCallbackArgs
  27530. export=exp;
  27531. }
  27532. declare module "dojo/main.__IoPublish" {
  27533. var exp: dojo.main.__IoPublish
  27534. export=exp;
  27535. }
  27536. declare module "dojo/main.__XhrArgs" {
  27537. var exp: dojo.main.__XhrArgs
  27538. export=exp;
  27539. }
  27540. declare module "dojo/main.Stateful" {
  27541. var exp: dojo.main.Stateful
  27542. export=exp;
  27543. }
  27544. declare module "dojo/main._hasResource" {
  27545. var exp: dojo.main._hasResource
  27546. export=exp;
  27547. }
  27548. declare module "dojo/main._contentHandlers" {
  27549. var exp: dojo.main._contentHandlers
  27550. export=exp;
  27551. }
  27552. declare module "dojo/main.cldr" {
  27553. var exp: dojo.main.cldr
  27554. export=exp;
  27555. }
  27556. declare module "dojo/main._nodeDataCache" {
  27557. var exp: dojo.main._nodeDataCache
  27558. export=exp;
  27559. }
  27560. declare module "dojo/main.colors" {
  27561. var exp: dojo.main.colors
  27562. export=exp;
  27563. }
  27564. declare module "dojo/main.back" {
  27565. var exp: dojo.main.back
  27566. export=exp;
  27567. }
  27568. declare module "dojo/main.data" {
  27569. var exp: dojo.main.data
  27570. export=exp;
  27571. }
  27572. declare module "dojo/main.config" {
  27573. var exp: dojo.main.config
  27574. export=exp;
  27575. }
  27576. declare module "dojo/main.contentHandlers" {
  27577. var exp: dojo.main.contentHandlers
  27578. export=exp;
  27579. }
  27580. declare module "dojo/main.date" {
  27581. var exp: dojo.main.date
  27582. export=exp;
  27583. }
  27584. declare module "dojo/main.currency" {
  27585. var exp: dojo.main.currency
  27586. export=exp;
  27587. }
  27588. declare module "dojo/main.dnd" {
  27589. var exp: dojo.main.dnd
  27590. export=exp;
  27591. }
  27592. declare module "dojo/main.doc" {
  27593. var exp: dojo.main.doc
  27594. export=exp;
  27595. }
  27596. declare module "dojo/main.gears" {
  27597. var exp: dojo.main.gears
  27598. export=exp;
  27599. }
  27600. declare module "dojo/main.global" {
  27601. var exp: dojo.main.global
  27602. export=exp;
  27603. }
  27604. declare module "dojo/main.dijit" {
  27605. var exp: dojo.main.dijit
  27606. export=exp;
  27607. }
  27608. declare module "dojo/main.io" {
  27609. var exp: dojo.main.io
  27610. export=exp;
  27611. }
  27612. declare module "dojo/main.fx" {
  27613. var exp: dojo.main.fx
  27614. export=exp;
  27615. }
  27616. declare module "dojo/main.html" {
  27617. var exp: dojo.main.html
  27618. export=exp;
  27619. }
  27620. declare module "dojo/main.dojox" {
  27621. var exp: dojo.main.dojox
  27622. export=exp;
  27623. }
  27624. declare module "dojo/main.i18n" {
  27625. var exp: dojo.main.i18n
  27626. export=exp;
  27627. }
  27628. declare module "dojo/main.scopeMap" {
  27629. var exp: dojo.main.scopeMap
  27630. export=exp;
  27631. }
  27632. declare module "dojo/main.regexp" {
  27633. var exp: dojo.main.regexp
  27634. export=exp;
  27635. }
  27636. declare module "dojo/main.mouseButtons" {
  27637. var exp: dojo.main.mouseButtons
  27638. export=exp;
  27639. }
  27640. declare module "dojo/main.rpc" {
  27641. var exp: dojo.main.rpc
  27642. export=exp;
  27643. }
  27644. declare module "dojo/main.number" {
  27645. var exp: dojo.main.number_
  27646. export=exp;
  27647. }
  27648. declare module "dojo/main.keys" {
  27649. var exp: dojo.main.keys
  27650. export=exp;
  27651. }
  27652. declare module "dojo/main.tests" {
  27653. var exp: dojo.main.tests
  27654. export=exp;
  27655. }
  27656. declare module "dojo/main.version" {
  27657. var exp: dojo.main.version
  27658. export=exp;
  27659. }
  27660. declare module "dojo/main.string" {
  27661. var exp: dojo.main.string_
  27662. export=exp;
  27663. }
  27664. declare module "dojo/main.touch" {
  27665. var exp: dojo.main.touch
  27666. export=exp;
  27667. }
  27668. declare module "dojo/main.store" {
  27669. var exp: dojo.main.store
  27670. export=exp;
  27671. }
  27672. declare module "dojo/main.window" {
  27673. var exp: dojo.main.window
  27674. export=exp;
  27675. }
  27676. declare module "dojo/string" {
  27677. var exp: dojo.string_
  27678. export=exp;
  27679. }
  27680. declare module "dojo/text" {
  27681. var exp: dojo.text
  27682. export=exp;
  27683. }
  27684. declare module "dojo/topic" {
  27685. var exp: dojo.topic
  27686. export=exp;
  27687. }
  27688. declare module "dojo/uacss" {
  27689. var exp: dojo.uacss
  27690. export=exp;
  27691. }
  27692. declare module "dojo/window" {
  27693. var exp: dojo.window
  27694. export=exp;
  27695. }
  27696. declare module "dojo/touch" {
  27697. var exp: dojo.touch
  27698. export=exp;
  27699. }
  27700. declare module "dojo/DeferredList" {
  27701. var exp: typeof dojo.DeferredList
  27702. export=exp;
  27703. }
  27704. declare module "dojo/Deferred" {
  27705. var exp: typeof dojo.Deferred
  27706. export=exp;
  27707. }
  27708. declare module "dojo/Evented" {
  27709. var exp: typeof dojo.Evented
  27710. export=exp;
  27711. }
  27712. declare module "dojo/NodeList" {
  27713. var exp: typeof dojo.NodeList
  27714. export=exp;
  27715. }
  27716. declare module "dojo/NodeList._nodeDataCache" {
  27717. var exp: dojo.NodeList._nodeDataCache
  27718. export=exp;
  27719. }
  27720. declare module "dojo/Stateful" {
  27721. var exp: typeof dojo.Stateful
  27722. export=exp;
  27723. }
  27724. declare module "dojo/_base/declare" {
  27725. var exp: dojo._base.declare
  27726. export=exp;
  27727. }
  27728. declare module "dojo/_base/declare.__DeclareCreatedObject" {
  27729. var exp: dojo._base.declare.__DeclareCreatedObject
  27730. export=exp;
  27731. }
  27732. declare module "dojo/_base/Deferred" {
  27733. var exp: dojo._base.Deferred
  27734. export=exp;
  27735. }
  27736. declare module "dojo/_base/url" {
  27737. var exp: dojo._base.url
  27738. export=exp;
  27739. }
  27740. declare module "dojo/_base/url.authority" {
  27741. var exp: dojo._base.url.authority
  27742. export=exp;
  27743. }
  27744. declare module "dojo/_base/url.password" {
  27745. var exp: dojo._base.url.password
  27746. export=exp;
  27747. }
  27748. declare module "dojo/_base/url.port" {
  27749. var exp: dojo._base.url.port
  27750. export=exp;
  27751. }
  27752. declare module "dojo/_base/url.fragment" {
  27753. var exp: dojo._base.url.fragment
  27754. export=exp;
  27755. }
  27756. declare module "dojo/_base/url.query" {
  27757. var exp: dojo._base.url.query
  27758. export=exp;
  27759. }
  27760. declare module "dojo/_base/url.user" {
  27761. var exp: dojo._base.url.user
  27762. export=exp;
  27763. }
  27764. declare module "dojo/_base/url.scheme" {
  27765. var exp: dojo._base.url.scheme
  27766. export=exp;
  27767. }
  27768. declare module "dojo/_base/xhr" {
  27769. var exp: dojo._base.xhr
  27770. export=exp;
  27771. }
  27772. declare module "dojo/_base/xhr.contentHandlers" {
  27773. var exp: dojo._base.xhr.contentHandlers
  27774. export=exp;
  27775. }
  27776. declare module "dojo/_base/browser" {
  27777. var exp: dojo._base.browser
  27778. export=exp;
  27779. }
  27780. declare module "dojo/_base/array" {
  27781. var exp: dojo._base.array
  27782. export=exp;
  27783. }
  27784. declare module "dojo/_base/connect" {
  27785. var exp: dojo._base.connect
  27786. export=exp;
  27787. }
  27788. declare module "dojo/_base/event" {
  27789. var exp: dojo._base.event
  27790. export=exp;
  27791. }
  27792. declare module "dojo/_base/html" {
  27793. var exp: dojo._base.html
  27794. export=exp;
  27795. }
  27796. declare module "dojo/_base/json" {
  27797. var exp: dojo._base.json
  27798. export=exp;
  27799. }
  27800. declare module "dojo/_base/fx" {
  27801. var exp: dojo._base.fx
  27802. export=exp;
  27803. }
  27804. declare module "dojo/_base/query" {
  27805. var exp: dojo._base.query
  27806. export=exp;
  27807. }
  27808. declare module "dojo/_base/NodeList" {
  27809. var exp: dojo._base.NodeList
  27810. export=exp;
  27811. }
  27812. declare module "dojo/_base/sniff" {
  27813. var exp: dojo._base.sniff
  27814. export=exp;
  27815. }
  27816. declare module "dojo/_base/lang" {
  27817. var exp: dojo._base.lang
  27818. export=exp;
  27819. }
  27820. declare module "dojo/_base/unload" {
  27821. var exp: dojo._base.unload
  27822. export=exp;
  27823. }
  27824. declare module "dojo/_base/window" {
  27825. var exp: dojo._base.window
  27826. export=exp;
  27827. }
  27828. declare module "dojo/_base/window.doc" {
  27829. var exp: dojo._base.window.doc
  27830. export=exp;
  27831. }
  27832. declare module "dojo/_base/window.global" {
  27833. var exp: dojo._base.window.global
  27834. export=exp;
  27835. }
  27836. declare module "dojo/_base/kernel" {
  27837. var exp: dojo._base.kernel
  27838. export=exp;
  27839. }
  27840. declare module "dojo/_base/kernel.__IoCallbackArgs" {
  27841. var exp: dojo._base.kernel.__IoCallbackArgs
  27842. export=exp;
  27843. }
  27844. declare module "dojo/_base/kernel.__IoPublish" {
  27845. var exp: dojo._base.kernel.__IoPublish
  27846. export=exp;
  27847. }
  27848. declare module "dojo/_base/kernel.__IoArgs" {
  27849. var exp: dojo._base.kernel.__IoArgs
  27850. export=exp;
  27851. }
  27852. declare module "dojo/_base/kernel.__XhrArgs" {
  27853. var exp: dojo._base.kernel.__XhrArgs
  27854. export=exp;
  27855. }
  27856. declare module "dojo/_base/kernel.Stateful" {
  27857. var exp: dojo._base.kernel.Stateful
  27858. export=exp;
  27859. }
  27860. declare module "dojo/_base/kernel._contentHandlers" {
  27861. var exp: dojo._base.kernel._contentHandlers
  27862. export=exp;
  27863. }
  27864. declare module "dojo/_base/kernel._hasResource" {
  27865. var exp: dojo._base.kernel._hasResource
  27866. export=exp;
  27867. }
  27868. declare module "dojo/_base/kernel._nodeDataCache" {
  27869. var exp: dojo._base.kernel._nodeDataCache
  27870. export=exp;
  27871. }
  27872. declare module "dojo/_base/kernel.back" {
  27873. var exp: dojo._base.kernel.back
  27874. export=exp;
  27875. }
  27876. declare module "dojo/_base/kernel.cldr" {
  27877. var exp: dojo._base.kernel.cldr
  27878. export=exp;
  27879. }
  27880. declare module "dojo/_base/kernel.colors" {
  27881. var exp: dojo._base.kernel.colors
  27882. export=exp;
  27883. }
  27884. declare module "dojo/_base/kernel.config" {
  27885. var exp: dojo._base.kernel.config
  27886. export=exp;
  27887. }
  27888. declare module "dojo/_base/kernel.contentHandlers" {
  27889. var exp: dojo._base.kernel.contentHandlers
  27890. export=exp;
  27891. }
  27892. declare module "dojo/_base/kernel.dnd" {
  27893. var exp: dojo._base.kernel.dnd
  27894. export=exp;
  27895. }
  27896. declare module "dojo/_base/kernel.date" {
  27897. var exp: dojo._base.kernel.date
  27898. export=exp;
  27899. }
  27900. declare module "dojo/_base/kernel.doc" {
  27901. var exp: dojo._base.kernel.doc
  27902. export=exp;
  27903. }
  27904. declare module "dojo/_base/kernel.data" {
  27905. var exp: dojo._base.kernel.data
  27906. export=exp;
  27907. }
  27908. declare module "dojo/_base/kernel.currency" {
  27909. var exp: dojo._base.kernel.currency
  27910. export=exp;
  27911. }
  27912. declare module "dojo/_base/kernel.dijit" {
  27913. var exp: dojo._base.kernel.dijit
  27914. export=exp;
  27915. }
  27916. declare module "dojo/_base/kernel.global" {
  27917. var exp: dojo._base.kernel.global
  27918. export=exp;
  27919. }
  27920. declare module "dojo/_base/kernel.gears" {
  27921. var exp: dojo._base.kernel.gears
  27922. export=exp;
  27923. }
  27924. declare module "dojo/_base/kernel.fx" {
  27925. var exp: dojo._base.kernel.fx
  27926. export=exp;
  27927. }
  27928. declare module "dojo/_base/kernel.html" {
  27929. var exp: dojo._base.kernel.html
  27930. export=exp;
  27931. }
  27932. declare module "dojo/_base/kernel.io" {
  27933. var exp: dojo._base.kernel.io
  27934. export=exp;
  27935. }
  27936. declare module "dojo/_base/kernel.dojox" {
  27937. var exp: dojo._base.kernel.dojox
  27938. export=exp;
  27939. }
  27940. declare module "dojo/_base/kernel.i18n" {
  27941. var exp: dojo._base.kernel.i18n
  27942. export=exp;
  27943. }
  27944. declare module "dojo/_base/kernel.mouseButtons" {
  27945. var exp: dojo._base.kernel.mouseButtons
  27946. export=exp;
  27947. }
  27948. declare module "dojo/_base/kernel.rpc" {
  27949. var exp: dojo._base.kernel.rpc
  27950. export=exp;
  27951. }
  27952. declare module "dojo/_base/kernel.regexp" {
  27953. var exp: dojo._base.kernel.regexp
  27954. export=exp;
  27955. }
  27956. declare module "dojo/_base/kernel.number" {
  27957. var exp: dojo._base.kernel.number_
  27958. export=exp;
  27959. }
  27960. declare module "dojo/_base/kernel.scopeMap" {
  27961. var exp: dojo._base.kernel.scopeMap
  27962. export=exp;
  27963. }
  27964. declare module "dojo/_base/kernel.tests" {
  27965. var exp: dojo._base.kernel.tests
  27966. export=exp;
  27967. }
  27968. declare module "dojo/_base/kernel.keys" {
  27969. var exp: dojo._base.kernel.keys
  27970. export=exp;
  27971. }
  27972. declare module "dojo/_base/kernel.store" {
  27973. var exp: dojo._base.kernel.store
  27974. export=exp;
  27975. }
  27976. declare module "dojo/_base/kernel.string" {
  27977. var exp: dojo._base.kernel.string_
  27978. export=exp;
  27979. }
  27980. declare module "dojo/_base/kernel.version" {
  27981. var exp: dojo._base.kernel.version
  27982. export=exp;
  27983. }
  27984. declare module "dojo/_base/kernel.touch" {
  27985. var exp: dojo._base.kernel.touch
  27986. export=exp;
  27987. }
  27988. declare module "dojo/_base/kernel.window" {
  27989. var exp: dojo._base.kernel.window
  27990. export=exp;
  27991. }
  27992. declare module "dojo/_base/config" {
  27993. var exp: dojo._base.config
  27994. export=exp;
  27995. }
  27996. declare module "dojo/_base/config.modulePaths" {
  27997. var exp: dojo._base.config.modulePaths
  27998. export=exp;
  27999. }
  28000. declare module "dojo/_base/Color" {
  28001. var exp: typeof dojo._base.Color
  28002. export=exp;
  28003. }
  28004. declare module "dojo/_base/Color.named" {
  28005. var exp: dojo._base.Color.named
  28006. export=exp;
  28007. }
  28008. declare module "dojo/cldr/monetary" {
  28009. var exp: dojo.cldr.monetary
  28010. export=exp;
  28011. }
  28012. declare module "dojo/cldr/supplemental" {
  28013. var exp: dojo.cldr.supplemental
  28014. export=exp;
  28015. }
  28016. declare module "dojo/data/ItemFileReadStore" {
  28017. var exp: typeof dojo.data.ItemFileReadStore
  28018. export=exp;
  28019. }
  28020. declare module "dojo/data/ObjectStore" {
  28021. var exp: typeof dojo.data.ObjectStore
  28022. export=exp;
  28023. }
  28024. declare module "dojo/data/ItemFileWriteStore" {
  28025. var exp: typeof dojo.data.ItemFileWriteStore
  28026. export=exp;
  28027. }
  28028. declare module "dojo/data/api/Item" {
  28029. var exp: typeof dojo.data.api.Item
  28030. export=exp;
  28031. }
  28032. declare module "dojo/data/api/Identity" {
  28033. var exp: typeof dojo.data.api.Identity
  28034. export=exp;
  28035. }
  28036. declare module "dojo/data/api/Request" {
  28037. var exp: typeof dojo.data.api.Request
  28038. export=exp;
  28039. }
  28040. declare module "dojo/data/api/Notification" {
  28041. var exp: typeof dojo.data.api.Notification
  28042. export=exp;
  28043. }
  28044. declare module "dojo/data/api/Read" {
  28045. var exp: typeof dojo.data.api.Read
  28046. export=exp;
  28047. }
  28048. declare module "dojo/data/api/Write" {
  28049. var exp: typeof dojo.data.api.Write
  28050. export=exp;
  28051. }
  28052. declare module "dojo/data/util/filter" {
  28053. var exp: dojo.data.util.filter
  28054. export=exp;
  28055. }
  28056. declare module "dojo/data/util/simpleFetch" {
  28057. var exp: dojo.data.util.simpleFetch
  28058. export=exp;
  28059. }
  28060. declare module "dojo/data/util/sorter" {
  28061. var exp: dojo.data.util.sorter
  28062. export=exp;
  28063. }
  28064. declare module "dojo/dnd/autoscroll" {
  28065. var exp: dojo.dnd.autoscroll
  28066. export=exp;
  28067. }
  28068. declare module "dojo/dnd/autoscroll._validOverflow" {
  28069. var exp: dojo.dnd.autoscroll._validOverflow
  28070. export=exp;
  28071. }
  28072. declare module "dojo/dnd/autoscroll._validNodes" {
  28073. var exp: dojo.dnd.autoscroll._validNodes
  28074. export=exp;
  28075. }
  28076. declare module "dojo/dnd/common" {
  28077. var exp: dojo.dnd.common
  28078. export=exp;
  28079. }
  28080. declare module "dojo/dnd/common._empty" {
  28081. var exp: dojo.dnd.common._empty
  28082. export=exp;
  28083. }
  28084. declare module "dojo/dnd/common._defaultCreatorNodes" {
  28085. var exp: dojo.dnd.common._defaultCreatorNodes
  28086. export=exp;
  28087. }
  28088. declare module "dojo/dnd/move" {
  28089. var exp: dojo.dnd.move
  28090. export=exp;
  28091. }
  28092. declare module "dojo/dnd/move.parentConstrainedMoveable" {
  28093. var exp: dojo.dnd.move.parentConstrainedMoveable
  28094. export=exp;
  28095. }
  28096. declare module "dojo/dnd/move.boxConstrainedMoveable" {
  28097. var exp: dojo.dnd.move.boxConstrainedMoveable
  28098. export=exp;
  28099. }
  28100. declare module "dojo/dnd/move.constrainedMoveable" {
  28101. var exp: dojo.dnd.move.constrainedMoveable
  28102. export=exp;
  28103. }
  28104. declare module "dojo/dnd/Avatar" {
  28105. var exp: typeof dojo.dnd.Avatar
  28106. export=exp;
  28107. }
  28108. declare module "dojo/dnd/Manager" {
  28109. var exp: typeof dojo.dnd.Manager
  28110. export=exp;
  28111. }
  28112. declare module "dojo/dnd/Container" {
  28113. var exp: typeof dojo.dnd.Container
  28114. export=exp;
  28115. }
  28116. declare module "dojo/dnd/Container.__ContainerArgs" {
  28117. var exp: dojo.dnd.Container.__ContainerArgs
  28118. export=exp;
  28119. }
  28120. declare module "dojo/dnd/AutoSource" {
  28121. var exp: typeof dojo.dnd.AutoSource
  28122. export=exp;
  28123. }
  28124. declare module "dojo/dnd/Mover" {
  28125. var exp: typeof dojo.dnd.Mover
  28126. export=exp;
  28127. }
  28128. declare module "dojo/dnd/Moveable" {
  28129. var exp: typeof dojo.dnd.Moveable
  28130. export=exp;
  28131. }
  28132. declare module "dojo/dnd/Moveable.__MoveableArgs" {
  28133. var exp: typeof dojo.dnd.Moveable.__MoveableArgs
  28134. export=exp;
  28135. }
  28136. declare module "dojo/dnd/Selector" {
  28137. var exp: typeof dojo.dnd.Selector
  28138. export=exp;
  28139. }
  28140. declare module "dojo/dnd/TimedMoveable" {
  28141. var exp: typeof dojo.dnd.TimedMoveable
  28142. export=exp;
  28143. }
  28144. declare module "dojo/dnd/Target" {
  28145. var exp: typeof dojo.dnd.Target
  28146. export=exp;
  28147. }
  28148. declare module "dojo/dnd/Source" {
  28149. var exp: typeof dojo.dnd.Source
  28150. export=exp;
  28151. }
  28152. declare module "dojo/errors/create" {
  28153. var exp: dojo.errors.create
  28154. export=exp;
  28155. }
  28156. declare module "dojo/errors/CancelError" {
  28157. var exp: dojo.errors.CancelError
  28158. export=exp;
  28159. }
  28160. declare module "dojo/errors/RequestError" {
  28161. var exp: dojo.errors.RequestError
  28162. export=exp;
  28163. }
  28164. declare module "dojo/errors/RequestTimeoutError" {
  28165. var exp: dojo.errors.RequestTimeoutError
  28166. export=exp;
  28167. }
  28168. declare module "dojo/io/iframe" {
  28169. var exp: dojo.io.iframe
  28170. export=exp;
  28171. }
  28172. declare module "dojo/io/script" {
  28173. var exp: dojo.io.script
  28174. export=exp;
  28175. }
  28176. declare module "dojo/promise/all" {
  28177. var exp: dojo.promise.all
  28178. export=exp;
  28179. }
  28180. declare module "dojo/promise/first" {
  28181. var exp: dojo.promise.first
  28182. export=exp;
  28183. }
  28184. declare module "dojo/promise/instrumentation" {
  28185. var exp: dojo.promise.instrumentation
  28186. export=exp;
  28187. }
  28188. declare module "dojo/promise/tracer" {
  28189. var exp: dojo.promise.tracer
  28190. export=exp;
  28191. }
  28192. declare module "dojo/promise/Promise" {
  28193. interface Promise<T> extends dojo.promise.Promise<T> { }
  28194. export = Promise;
  28195. }
  28196. declare module "dojo/rpc/JsonpService" {
  28197. var exp: typeof dojo.rpc.JsonpService
  28198. export=exp;
  28199. }
  28200. declare module "dojo/rpc/JsonService" {
  28201. var exp: typeof dojo.rpc.JsonService
  28202. export=exp;
  28203. }
  28204. declare module "dojo/rpc/RpcService" {
  28205. var exp: typeof dojo.rpc.RpcService
  28206. export=exp;
  28207. }
  28208. declare module "dojo/selector/lite" {
  28209. var exp: dojo.selector.lite
  28210. export=exp;
  28211. }
  28212. declare module "dojo/selector/acme" {
  28213. var exp: dojo.selector.acme
  28214. export=exp;
  28215. }
  28216. declare module "dojo/selector/_loader" {
  28217. var exp: dojo.selector._loader
  28218. export=exp;
  28219. }
  28220. declare module "dojo/store/Observable" {
  28221. var exp: dojo.store.Observable
  28222. export=exp;
  28223. }
  28224. declare module "dojo/store/Cache" {
  28225. var exp: typeof dojo.store.Cache
  28226. export=exp;
  28227. }
  28228. declare module "dojo/store/DataStore" {
  28229. var exp: typeof dojo.store.DataStore
  28230. export=exp;
  28231. }
  28232. declare module "dojo/store/Memory" {
  28233. var exp: typeof dojo.store.Memory
  28234. export=exp;
  28235. }
  28236. declare module "dojo/store/JsonRest" {
  28237. var exp: typeof dojo.store.JsonRest
  28238. export=exp;
  28239. }
  28240. declare module "dojo/store/api/Store" {
  28241. var exp: typeof dojo.store.api.Store
  28242. export=exp;
  28243. }
  28244. declare module "dojo/store/api/Store.PutDirectives" {
  28245. var exp: typeof dojo.store.api.Store.PutDirectives
  28246. export=exp;
  28247. }
  28248. declare module "dojo/store/api/Store.QueryOptions" {
  28249. var exp: typeof dojo.store.api.Store.QueryOptions
  28250. export=exp;
  28251. }
  28252. declare module "dojo/store/api/Store.QueryResults" {
  28253. var exp: typeof dojo.store.api.Store.QueryResults
  28254. export=exp;
  28255. }
  28256. declare module "dojo/store/api/Store.SortInformation" {
  28257. var exp: typeof dojo.store.api.Store.SortInformation
  28258. export=exp;
  28259. }
  28260. declare module "dojo/store/api/Store.Transaction" {
  28261. var exp: typeof dojo.store.api.Store.Transaction
  28262. export=exp;
  28263. }
  28264. declare module "dojo/store/util/QueryResults" {
  28265. var exp: dojo.store.util.QueryResults
  28266. export=exp;
  28267. }
  28268. declare module "dojo/store/util/SimpleQueryEngine" {
  28269. var exp: dojo.store.util.SimpleQueryEngine
  28270. export=exp;
  28271. }