暫無描述
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

outlook-ios-16.00.debug.js 367KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623
  1. /* Outlook iOS specific API library */
  2. /* Version: 16.0.7526.1000 */
  3. /*
  4. Copyright (c) Microsoft Corporation. All rights reserved.
  5. */
  6. /*
  7. Your use of this file is governed by the Microsoft Services Agreement http://go.microsoft.com/fwlink/?LinkId=266419.
  8. */
  9. var __extends=this && this.__extends || function(d, b)
  10. {
  11. for(var p in b)
  12. if(b.hasOwnProperty(p))
  13. d[p]=b[p];
  14. function __()
  15. {
  16. this.constructor=d
  17. }
  18. d.prototype=b===null ? Object.create(b) : (__.prototype=b.prototype,new __)
  19. };
  20. var OfficeExt;
  21. (function(OfficeExt)
  22. {
  23. var MicrosoftAjaxFactory=function()
  24. {
  25. function MicrosoftAjaxFactory(){}
  26. MicrosoftAjaxFactory.prototype.isMsAjaxLoaded=function()
  27. {
  28. if(typeof Sys !=="undefined" && typeof Type !=="undefined" && Sys.StringBuilder && typeof Sys.StringBuilder==="function" && Type.registerNamespace && typeof Type.registerNamespace==="function" && Type.registerClass && typeof Type.registerClass==="function" && typeof Function._validateParams==="function" && Sys.Serialization && Sys.Serialization.JavaScriptSerializer && typeof Sys.Serialization.JavaScriptSerializer.serialize==="function")
  29. return true;
  30. else
  31. return false
  32. };
  33. MicrosoftAjaxFactory.prototype.loadMsAjaxFull=function(callback)
  34. {
  35. var msAjaxCDNPath=(window.location.protocol.toLowerCase()==="https:" ? "https:" : "http:")+"//ajax.aspnetcdn.com/ajax/3.5/MicrosoftAjax.js";
  36. OSF.OUtil.loadScript(msAjaxCDNPath,callback)
  37. };
  38. Object.defineProperty(MicrosoftAjaxFactory.prototype,"msAjaxError",{
  39. get: function()
  40. {
  41. if(this._msAjaxError==null && this.isMsAjaxLoaded())
  42. this._msAjaxError=Error;
  43. return this._msAjaxError
  44. },
  45. set: function(errorClass)
  46. {
  47. this._msAjaxError=errorClass
  48. },
  49. enumerable: true,
  50. configurable: true
  51. });
  52. Object.defineProperty(MicrosoftAjaxFactory.prototype,"msAjaxSerializer",{
  53. get: function()
  54. {
  55. if(this._msAjaxSerializer==null && this.isMsAjaxLoaded())
  56. this._msAjaxSerializer=Sys.Serialization.JavaScriptSerializer;
  57. return this._msAjaxSerializer
  58. },
  59. set: function(serializerClass)
  60. {
  61. this._msAjaxSerializer=serializerClass
  62. },
  63. enumerable: true,
  64. configurable: true
  65. });
  66. Object.defineProperty(MicrosoftAjaxFactory.prototype,"msAjaxString",{
  67. get: function()
  68. {
  69. if(this._msAjaxString==null && this.isMsAjaxLoaded())
  70. this._msAjaxSerializer=String;
  71. return this._msAjaxString
  72. },
  73. set: function(stringClass)
  74. {
  75. this._msAjaxString=stringClass
  76. },
  77. enumerable: true,
  78. configurable: true
  79. });
  80. Object.defineProperty(MicrosoftAjaxFactory.prototype,"msAjaxDebug",{
  81. get: function()
  82. {
  83. if(this._msAjaxDebug==null && this.isMsAjaxLoaded())
  84. this._msAjaxDebug=Sys.Debug;
  85. return this._msAjaxDebug
  86. },
  87. set: function(debugClass)
  88. {
  89. this._msAjaxDebug=debugClass
  90. },
  91. enumerable: true,
  92. configurable: true
  93. });
  94. return MicrosoftAjaxFactory
  95. }();
  96. OfficeExt.MicrosoftAjaxFactory=MicrosoftAjaxFactory
  97. })(OfficeExt || (OfficeExt={}));
  98. var OsfMsAjaxFactory=new OfficeExt.MicrosoftAjaxFactory;
  99. var OSF=OSF || {};
  100. var OfficeExt;
  101. (function(OfficeExt)
  102. {
  103. var SafeStorage=function()
  104. {
  105. function SafeStorage(_internalStorage)
  106. {
  107. this._internalStorage=_internalStorage
  108. }
  109. SafeStorage.prototype.getItem=function(key)
  110. {
  111. try
  112. {
  113. return this._internalStorage && this._internalStorage.getItem(key)
  114. }
  115. catch(e)
  116. {
  117. return null
  118. }
  119. };
  120. SafeStorage.prototype.setItem=function(key, data)
  121. {
  122. try
  123. {
  124. this._internalStorage && this._internalStorage.setItem(key,data)
  125. }
  126. catch(e){}
  127. };
  128. SafeStorage.prototype.clear=function()
  129. {
  130. try
  131. {
  132. this._internalStorage && this._internalStorage.clear()
  133. }
  134. catch(e){}
  135. };
  136. SafeStorage.prototype.removeItem=function(key)
  137. {
  138. try
  139. {
  140. this._internalStorage && this._internalStorage.removeItem(key)
  141. }
  142. catch(e){}
  143. };
  144. SafeStorage.prototype.getKeysWithPrefix=function(keyPrefix)
  145. {
  146. var keyList=[];
  147. try
  148. {
  149. var len=this._internalStorage && this._internalStorage.length || 0;
  150. for(var i=0; i < len; i++)
  151. {
  152. var key=this._internalStorage.key(i);
  153. if(key.indexOf(keyPrefix)===0)
  154. keyList.push(key)
  155. }
  156. }
  157. catch(e){}
  158. return keyList
  159. };
  160. return SafeStorage
  161. }();
  162. OfficeExt.SafeStorage=SafeStorage
  163. })(OfficeExt || (OfficeExt={}));
  164. OSF.XdmFieldName={
  165. ConversationUrl: "ConversationUrl",
  166. AppId: "AppId"
  167. };
  168. OSF.WindowNameItemKeys={
  169. BaseFrameName: "baseFrameName",
  170. HostInfo: "hostInfo",
  171. XdmInfo: "xdmInfo",
  172. SerializerVersion: "serializerVersion",
  173. AppContext: "appContext"
  174. };
  175. OSF.OUtil=function()
  176. {
  177. var _uniqueId=-1;
  178. var _xdmInfoKey="&_xdm_Info=";
  179. var _serializerVersionKey="&_serializer_version=";
  180. var _xdmSessionKeyPrefix="_xdm_";
  181. var _serializerVersionKeyPrefix="_serializer_version=";
  182. var _fragmentSeparator="#";
  183. var _fragmentInfoDelimiter="&";
  184. var _classN="class";
  185. var _loadedScripts={};
  186. var _defaultScriptLoadingTimeout=3e4;
  187. var _safeSessionStorage=null;
  188. var _safeLocalStorage=null;
  189. var _rndentropy=(new Date).getTime();
  190. function _random()
  191. {
  192. var nextrand=2147483647 * Math.random();
  193. nextrand ^=_rndentropy ^ (new Date).getMilliseconds() << Math.floor(Math.random() * (31 - 10));
  194. return nextrand.toString(16)
  195. }
  196. function _getSessionStorage()
  197. {
  198. if(!_safeSessionStorage)
  199. {
  200. try
  201. {
  202. var sessionStorage=window.sessionStorage
  203. }
  204. catch(ex)
  205. {
  206. sessionStorage=null
  207. }
  208. _safeSessionStorage=new OfficeExt.SafeStorage(sessionStorage)
  209. }
  210. return _safeSessionStorage
  211. }
  212. function _reOrderTabbableElements(elements)
  213. {
  214. var bucket0=[];
  215. var bucketPositive=[];
  216. var i;
  217. var len=elements.length;
  218. var ele;
  219. for(i=0; i < len; i++)
  220. {
  221. ele=elements[i];
  222. if(ele.tabIndex)
  223. {
  224. if(ele.tabIndex > 0)
  225. bucketPositive.push(ele);
  226. else if(ele.tabIndex===0)
  227. bucket0.push(ele)
  228. }
  229. else
  230. bucket0.push(ele)
  231. }
  232. bucketPositive=bucketPositive.sort(function(left, right)
  233. {
  234. var diff=left.tabIndex - right.tabIndex;
  235. if(diff===0)
  236. diff=bucketPositive.indexOf(left) - bucketPositive.indexOf(right);
  237. return diff
  238. });
  239. return[].concat(bucketPositive,bucket0)
  240. }
  241. return{
  242. set_entropy: function OSF_OUtil$set_entropy(entropy)
  243. {
  244. if(typeof entropy=="string")
  245. for(var i=0; i < entropy.length; i+=4)
  246. {
  247. var temp=0;
  248. for(var j=0; j < 4 && i+j < entropy.length; j++)
  249. temp=(temp << 8)+entropy.charCodeAt(i+j);
  250. _rndentropy ^=temp
  251. }
  252. else if(typeof entropy=="number")
  253. _rndentropy ^=entropy;
  254. else
  255. _rndentropy ^=2147483647 * Math.random();
  256. _rndentropy &=2147483647
  257. },
  258. extend: function OSF_OUtil$extend(child, parent)
  259. {
  260. var F=function(){};
  261. F.prototype=parent.prototype;
  262. child.prototype=new F;
  263. child.prototype.constructor=child;
  264. child.uber=parent.prototype;
  265. if(parent.prototype.constructor===Object.prototype.constructor)
  266. parent.prototype.constructor=parent
  267. },
  268. setNamespace: function OSF_OUtil$setNamespace(name, parent)
  269. {
  270. if(parent && name && !parent[name])
  271. parent[name]={}
  272. },
  273. unsetNamespace: function OSF_OUtil$unsetNamespace(name, parent)
  274. {
  275. if(parent && name && parent[name])
  276. delete parent[name]
  277. },
  278. loadScript: function OSF_OUtil$loadScript(url, callback, timeoutInMs)
  279. {
  280. if(url && callback)
  281. {
  282. var doc=window.document;
  283. var _loadedScriptEntry=_loadedScripts[url];
  284. if(!_loadedScriptEntry)
  285. {
  286. var script=doc.createElement("script");
  287. script.type="text/javascript";
  288. _loadedScriptEntry={
  289. loaded: false,
  290. pendingCallbacks: [callback],
  291. timer: null
  292. };
  293. _loadedScripts[url]=_loadedScriptEntry;
  294. var onLoadCallback=function OSF_OUtil_loadScript$onLoadCallback()
  295. {
  296. if(_loadedScriptEntry.timer !=null)
  297. {
  298. clearTimeout(_loadedScriptEntry.timer);
  299. delete _loadedScriptEntry.timer
  300. }
  301. _loadedScriptEntry.loaded=true;
  302. var pendingCallbackCount=_loadedScriptEntry.pendingCallbacks.length;
  303. for(var i=0; i < pendingCallbackCount; i++)
  304. {
  305. var currentCallback=_loadedScriptEntry.pendingCallbacks.shift();
  306. currentCallback()
  307. }
  308. };
  309. var onLoadError=function OSF_OUtil_loadScript$onLoadError()
  310. {
  311. delete _loadedScripts[url];
  312. if(_loadedScriptEntry.timer !=null)
  313. {
  314. clearTimeout(_loadedScriptEntry.timer);
  315. delete _loadedScriptEntry.timer
  316. }
  317. var pendingCallbackCount=_loadedScriptEntry.pendingCallbacks.length;
  318. for(var i=0; i < pendingCallbackCount; i++)
  319. {
  320. var currentCallback=_loadedScriptEntry.pendingCallbacks.shift();
  321. currentCallback()
  322. }
  323. };
  324. if(script.readyState)
  325. script.onreadystatechange=function()
  326. {
  327. if(script.readyState=="loaded" || script.readyState=="complete")
  328. {
  329. script.onreadystatechange=null;
  330. onLoadCallback()
  331. }
  332. };
  333. else
  334. script.onload=onLoadCallback;
  335. script.onerror=onLoadError;
  336. timeoutInMs=timeoutInMs || _defaultScriptLoadingTimeout;
  337. _loadedScriptEntry.timer=setTimeout(onLoadError,timeoutInMs);
  338. script.src=url;
  339. doc.getElementsByTagName("head")[0].appendChild(script)
  340. }
  341. else if(_loadedScriptEntry.loaded)
  342. callback();
  343. else
  344. _loadedScriptEntry.pendingCallbacks.push(callback)
  345. }
  346. },
  347. loadCSS: function OSF_OUtil$loadCSS(url)
  348. {
  349. if(url)
  350. {
  351. var doc=window.document;
  352. var link=doc.createElement("link");
  353. link.type="text/css";
  354. link.rel="stylesheet";
  355. link.href=url;
  356. doc.getElementsByTagName("head")[0].appendChild(link)
  357. }
  358. },
  359. parseEnum: function OSF_OUtil$parseEnum(str, enumObject)
  360. {
  361. var parsed=enumObject[str.trim()];
  362. if(typeof parsed=="undefined")
  363. {
  364. OsfMsAjaxFactory.msAjaxDebug.trace("invalid enumeration string:"+str);
  365. throw OsfMsAjaxFactory.msAjaxError.argument("str");
  366. }
  367. return parsed
  368. },
  369. delayExecutionAndCache: function OSF_OUtil$delayExecutionAndCache()
  370. {
  371. var obj={calc: arguments[0]};
  372. return function()
  373. {
  374. if(obj.calc)
  375. {
  376. obj.val=obj.calc.apply(this,arguments);
  377. delete obj.calc
  378. }
  379. return obj.val
  380. }
  381. },
  382. getUniqueId: function OSF_OUtil$getUniqueId()
  383. {
  384. _uniqueId=_uniqueId+1;
  385. return _uniqueId.toString()
  386. },
  387. formatString: function OSF_OUtil$formatString()
  388. {
  389. var args=arguments;
  390. var source=args[0];
  391. return source.replace(/{(\d+)}/gm,function(match, number)
  392. {
  393. var index=parseInt(number,10)+1;
  394. return args[index]===undefined ? "{"+number+"}" : args[index]
  395. })
  396. },
  397. generateConversationId: function OSF_OUtil$generateConversationId()
  398. {
  399. return[_random(),_random(),(new Date).getTime().toString()].join("_")
  400. },
  401. getFrameName: function OSF_OUtil$getFrameName(cacheKey)
  402. {
  403. return _xdmSessionKeyPrefix+cacheKey+this.generateConversationId()
  404. },
  405. addXdmInfoAsHash: function OSF_OUtil$addXdmInfoAsHash(url, xdmInfoValue)
  406. {
  407. return OSF.OUtil.addInfoAsHash(url,_xdmInfoKey,xdmInfoValue,false)
  408. },
  409. addSerializerVersionAsHash: function OSF_OUtil$addSerializerVersionAsHash(url, serializerVersion)
  410. {
  411. return OSF.OUtil.addInfoAsHash(url,_serializerVersionKey,serializerVersion,true)
  412. },
  413. addInfoAsHash: function OSF_OUtil$addInfoAsHash(url, keyName, infoValue, encodeInfo)
  414. {
  415. url=url.trim() || "";
  416. var urlParts=url.split(_fragmentSeparator);
  417. var urlWithoutFragment=urlParts.shift();
  418. var fragment=urlParts.join(_fragmentSeparator);
  419. var newFragment;
  420. if(encodeInfo)
  421. newFragment=[keyName,encodeURIComponent(infoValue),fragment].join("");
  422. else
  423. newFragment=[fragment,keyName,infoValue].join("");
  424. return[urlWithoutFragment,_fragmentSeparator,newFragment].join("")
  425. },
  426. parseHostInfoFromWindowName: function OSF_OUtil$parseHostInfoFromWindowName(skipSessionStorage, windowName)
  427. {
  428. return OSF.OUtil.parseInfoFromWindowName(skipSessionStorage,windowName,OSF.WindowNameItemKeys.HostInfo)
  429. },
  430. parseXdmInfo: function OSF_OUtil$parseXdmInfo(skipSessionStorage)
  431. {
  432. var xdmInfoValue=OSF.OUtil.parseXdmInfoWithGivenFragment(skipSessionStorage,window.location.hash);
  433. if(!xdmInfoValue)
  434. xdmInfoValue=OSF.OUtil.parseXdmInfoFromWindowName(skipSessionStorage,window.name);
  435. return xdmInfoValue
  436. },
  437. parseXdmInfoFromWindowName: function OSF_OUtil$parseXdmInfoFromWindowName(skipSessionStorage, windowName)
  438. {
  439. return OSF.OUtil.parseInfoFromWindowName(skipSessionStorage,windowName,OSF.WindowNameItemKeys.XdmInfo)
  440. },
  441. parseXdmInfoWithGivenFragment: function OSF_OUtil$parseXdmInfoWithGivenFragment(skipSessionStorage, fragment)
  442. {
  443. return OSF.OUtil.parseInfoWithGivenFragment(_xdmInfoKey,_xdmSessionKeyPrefix,false,skipSessionStorage,fragment)
  444. },
  445. parseSerializerVersion: function OSF_OUtil$parseSerializerVersion(skipSessionStorage)
  446. {
  447. var serializerVersion=OSF.OUtil.parseSerializerVersionWithGivenFragment(skipSessionStorage,window.location.hash);
  448. if(isNaN(serializerVersion))
  449. serializerVersion=OSF.OUtil.parseSerializerVersionFromWindowName(skipSessionStorage,window.name);
  450. return serializerVersion
  451. },
  452. parseSerializerVersionFromWindowName: function OSF_OUtil$parseSerializerVersionFromWindowName(skipSessionStorage, windowName)
  453. {
  454. return parseInt(OSF.OUtil.parseInfoFromWindowName(skipSessionStorage,windowName,OSF.WindowNameItemKeys.SerializerVersion))
  455. },
  456. parseSerializerVersionWithGivenFragment: function OSF_OUtil$parseSerializerVersionWithGivenFragment(skipSessionStorage, fragment)
  457. {
  458. return parseInt(OSF.OUtil.parseInfoWithGivenFragment(_serializerVersionKey,_serializerVersionKeyPrefix,true,skipSessionStorage,fragment))
  459. },
  460. parseInfoFromWindowName: function OSF_OUtil$parseInfoFromWindowName(skipSessionStorage, windowName, infoKey)
  461. {
  462. try
  463. {
  464. var windowNameObj=JSON.parse(windowName);
  465. var infoValue=windowNameObj !=null ? windowNameObj[infoKey] : null;
  466. var osfSessionStorage=_getSessionStorage();
  467. if(!skipSessionStorage && osfSessionStorage && windowNameObj !=null)
  468. {
  469. var sessionKey=windowNameObj[OSF.WindowNameItemKeys.BaseFrameName]+infoKey;
  470. if(infoValue)
  471. osfSessionStorage.setItem(sessionKey,infoValue);
  472. else
  473. infoValue=osfSessionStorage.getItem(sessionKey)
  474. }
  475. return infoValue
  476. }
  477. catch(Exception)
  478. {
  479. return null
  480. }
  481. },
  482. parseInfoWithGivenFragment: function OSF_OUtil$parseInfoWithGivenFragment(infoKey, infoKeyPrefix, decodeInfo, skipSessionStorage, fragment)
  483. {
  484. var fragmentParts=fragment.split(infoKey);
  485. var infoValue=fragmentParts.length > 1 ? fragmentParts[fragmentParts.length - 1] : null;
  486. if(decodeInfo && infoValue !=null)
  487. {
  488. if(infoValue.indexOf(_fragmentInfoDelimiter) >=0)
  489. infoValue=infoValue.split(_fragmentInfoDelimiter)[0];
  490. infoValue=decodeURIComponent(infoValue)
  491. }
  492. var osfSessionStorage=_getSessionStorage();
  493. if(!skipSessionStorage && osfSessionStorage)
  494. {
  495. var sessionKeyStart=window.name.indexOf(infoKeyPrefix);
  496. if(sessionKeyStart > -1)
  497. {
  498. var sessionKeyEnd=window.name.indexOf(";",sessionKeyStart);
  499. if(sessionKeyEnd==-1)
  500. sessionKeyEnd=window.name.length;
  501. var sessionKey=window.name.substring(sessionKeyStart,sessionKeyEnd);
  502. if(infoValue)
  503. osfSessionStorage.setItem(sessionKey,infoValue);
  504. else
  505. infoValue=osfSessionStorage.getItem(sessionKey)
  506. }
  507. }
  508. return infoValue
  509. },
  510. getConversationId: function OSF_OUtil$getConversationId()
  511. {
  512. var searchString=window.location.search;
  513. var conversationId=null;
  514. if(searchString)
  515. {
  516. var index=searchString.indexOf("&");
  517. conversationId=index > 0 ? searchString.substring(1,index) : searchString.substr(1);
  518. if(conversationId && conversationId.charAt(conversationId.length - 1)==="=")
  519. {
  520. conversationId=conversationId.substring(0,conversationId.length - 1);
  521. if(conversationId)
  522. conversationId=decodeURIComponent(conversationId)
  523. }
  524. }
  525. return conversationId
  526. },
  527. getInfoItems: function OSF_OUtil$getInfoItems(strInfo)
  528. {
  529. var items=strInfo.split("$");
  530. if(typeof items[1]=="undefined")
  531. items=strInfo.split("|");
  532. if(typeof items[1]=="undefined")
  533. items=strInfo.split("%7C");
  534. return items
  535. },
  536. getXdmFieldValue: function OSF_OUtil$getXdmFieldValue(xdmFieldName, skipSessionStorage)
  537. {
  538. var fieldValue="";
  539. var xdmInfoValue=OSF.OUtil.parseXdmInfo(skipSessionStorage);
  540. if(xdmInfoValue)
  541. {
  542. var items=OSF.OUtil.getInfoItems(xdmInfoValue);
  543. if(items !=undefined && items.length >=3)
  544. switch(xdmFieldName)
  545. {
  546. case OSF.XdmFieldName.ConversationUrl:
  547. fieldValue=items[2];
  548. case OSF.XdmFieldName.AppId:
  549. fieldValue=items[1]
  550. }
  551. }
  552. return fieldValue
  553. },
  554. validateParamObject: function OSF_OUtil$validateParamObject(params, expectedProperties, callback)
  555. {
  556. var e=Function._validateParams(arguments,[{
  557. name: "params",
  558. type: Object,
  559. mayBeNull: false
  560. },{
  561. name: "expectedProperties",
  562. type: Object,
  563. mayBeNull: false
  564. },{
  565. name: "callback",
  566. type: Function,
  567. mayBeNull: true
  568. }]);
  569. if(e)
  570. throw e;
  571. for(var p in expectedProperties)
  572. {
  573. e=Function._validateParameter(params[p],expectedProperties[p],p);
  574. if(e)
  575. throw e;
  576. }
  577. },
  578. writeProfilerMark: function OSF_OUtil$writeProfilerMark(text)
  579. {
  580. if(window.msWriteProfilerMark)
  581. {
  582. window.msWriteProfilerMark(text);
  583. OsfMsAjaxFactory.msAjaxDebug.trace(text)
  584. }
  585. },
  586. outputDebug: function OSF_OUtil$outputDebug(text)
  587. {
  588. if(typeof OsfMsAjaxFactory !=="undefined" && OsfMsAjaxFactory.msAjaxDebug && OsfMsAjaxFactory.msAjaxDebug.trace)
  589. OsfMsAjaxFactory.msAjaxDebug.trace(text)
  590. },
  591. defineNondefaultProperty: function OSF_OUtil$defineNondefaultProperty(obj, prop, descriptor, attributes)
  592. {
  593. descriptor=descriptor || {};
  594. for(var nd in attributes)
  595. {
  596. var attribute=attributes[nd];
  597. if(descriptor[attribute]==undefined)
  598. descriptor[attribute]=true
  599. }
  600. Object.defineProperty(obj,prop,descriptor);
  601. return obj
  602. },
  603. defineNondefaultProperties: function OSF_OUtil$defineNondefaultProperties(obj, descriptors, attributes)
  604. {
  605. descriptors=descriptors || {};
  606. for(var prop in descriptors)
  607. OSF.OUtil.defineNondefaultProperty(obj,prop,descriptors[prop],attributes);
  608. return obj
  609. },
  610. defineEnumerableProperty: function OSF_OUtil$defineEnumerableProperty(obj, prop, descriptor)
  611. {
  612. return OSF.OUtil.defineNondefaultProperty(obj,prop,descriptor,["enumerable"])
  613. },
  614. defineEnumerableProperties: function OSF_OUtil$defineEnumerableProperties(obj, descriptors)
  615. {
  616. return OSF.OUtil.defineNondefaultProperties(obj,descriptors,["enumerable"])
  617. },
  618. defineMutableProperty: function OSF_OUtil$defineMutableProperty(obj, prop, descriptor)
  619. {
  620. return OSF.OUtil.defineNondefaultProperty(obj,prop,descriptor,["writable","enumerable","configurable"])
  621. },
  622. defineMutableProperties: function OSF_OUtil$defineMutableProperties(obj, descriptors)
  623. {
  624. return OSF.OUtil.defineNondefaultProperties(obj,descriptors,["writable","enumerable","configurable"])
  625. },
  626. finalizeProperties: function OSF_OUtil$finalizeProperties(obj, descriptor)
  627. {
  628. descriptor=descriptor || {};
  629. var props=Object.getOwnPropertyNames(obj);
  630. var propsLength=props.length;
  631. for(var i=0; i < propsLength; i++)
  632. {
  633. var prop=props[i];
  634. var desc=Object.getOwnPropertyDescriptor(obj,prop);
  635. if(!desc.get && !desc.set)
  636. desc.writable=descriptor.writable || false;
  637. desc.configurable=descriptor.configurable || false;
  638. desc.enumerable=descriptor.enumerable || true;
  639. Object.defineProperty(obj,prop,desc)
  640. }
  641. return obj
  642. },
  643. mapList: function OSF_OUtil$MapList(list, mapFunction)
  644. {
  645. var ret=[];
  646. if(list)
  647. for(var item in list)
  648. ret.push(mapFunction(list[item]));
  649. return ret
  650. },
  651. listContainsKey: function OSF_OUtil$listContainsKey(list, key)
  652. {
  653. for(var item in list)
  654. if(key==item)
  655. return true;
  656. return false
  657. },
  658. listContainsValue: function OSF_OUtil$listContainsElement(list, value)
  659. {
  660. for(var item in list)
  661. if(value==list[item])
  662. return true;
  663. return false
  664. },
  665. augmentList: function OSF_OUtil$augmentList(list, addenda)
  666. {
  667. var add=list.push ? function(key, value)
  668. {
  669. list.push(value)
  670. } : function(key, value)
  671. {
  672. list[key]=value
  673. };
  674. for(var key in addenda)
  675. add(key,addenda[key])
  676. },
  677. redefineList: function OSF_Outil$redefineList(oldList, newList)
  678. {
  679. for(var key1 in oldList)
  680. delete oldList[key1];
  681. for(var key2 in newList)
  682. oldList[key2]=newList[key2]
  683. },
  684. isArray: function OSF_OUtil$isArray(obj)
  685. {
  686. return Object.prototype.toString.apply(obj)==="[object Array]"
  687. },
  688. isFunction: function OSF_OUtil$isFunction(obj)
  689. {
  690. return Object.prototype.toString.apply(obj)==="[object Function]"
  691. },
  692. isDate: function OSF_OUtil$isDate(obj)
  693. {
  694. return Object.prototype.toString.apply(obj)==="[object Date]"
  695. },
  696. addEventListener: function OSF_OUtil$addEventListener(element, eventName, listener)
  697. {
  698. if(element.addEventListener)
  699. element.addEventListener(eventName,listener,false);
  700. else if(Sys.Browser.agent===Sys.Browser.InternetExplorer && element.attachEvent)
  701. element.attachEvent("on"+eventName,listener);
  702. else
  703. element["on"+eventName]=listener
  704. },
  705. removeEventListener: function OSF_OUtil$removeEventListener(element, eventName, listener)
  706. {
  707. if(element.removeEventListener)
  708. element.removeEventListener(eventName,listener,false);
  709. else if(Sys.Browser.agent===Sys.Browser.InternetExplorer && element.detachEvent)
  710. element.detachEvent("on"+eventName,listener);
  711. else
  712. element["on"+eventName]=null
  713. },
  714. getCookieValue: function OSF_OUtil$getCookieValue(cookieName)
  715. {
  716. var tmpCookieString=RegExp(cookieName+"[^;]+").exec(document.cookie);
  717. return tmpCookieString.toString().replace(/^[^=]+./,"")
  718. },
  719. xhrGet: function OSF_OUtil$xhrGet(url, onSuccess, onError)
  720. {
  721. var xmlhttp;
  722. try
  723. {
  724. xmlhttp=new XMLHttpRequest;
  725. xmlhttp.onreadystatechange=function()
  726. {
  727. if(xmlhttp.readyState==4)
  728. if(xmlhttp.status==200)
  729. onSuccess(xmlhttp.responseText);
  730. else
  731. onError(xmlhttp.status)
  732. };
  733. xmlhttp.open("GET",url,true);
  734. xmlhttp.send()
  735. }
  736. catch(ex)
  737. {
  738. onError(ex)
  739. }
  740. },
  741. xhrGetFull: function OSF_OUtil$xhrGetFull(url, oneDriveFileName, onSuccess, onError)
  742. {
  743. var xmlhttp;
  744. var requestedFileName=oneDriveFileName;
  745. try
  746. {
  747. xmlhttp=new XMLHttpRequest;
  748. xmlhttp.onreadystatechange=function()
  749. {
  750. if(xmlhttp.readyState==4)
  751. if(xmlhttp.status==200)
  752. onSuccess(xmlhttp,requestedFileName);
  753. else
  754. onError(xmlhttp.status)
  755. };
  756. xmlhttp.open("GET",url,true);
  757. xmlhttp.send()
  758. }
  759. catch(ex)
  760. {
  761. onError(ex)
  762. }
  763. },
  764. encodeBase64: function OSF_Outil$encodeBase64(input)
  765. {
  766. if(!input)
  767. return input;
  768. var codex="ABCDEFGHIJKLMNOP"+"QRSTUVWXYZabcdef"+"ghijklmnopqrstuv"+"wxyz0123456789+/=";
  769. var output=[];
  770. var temp=[];
  771. var index=0;
  772. var c1,
  773. c2,
  774. c3,
  775. a,
  776. b,
  777. c;
  778. var i;
  779. var length=input.length;
  780. do
  781. {
  782. c1=input.charCodeAt(index++);
  783. c2=input.charCodeAt(index++);
  784. c3=input.charCodeAt(index++);
  785. i=0;
  786. a=c1 & 255;
  787. b=c1 >> 8;
  788. c=c2 & 255;
  789. temp[i++]=a >> 2;
  790. temp[i++]=(a & 3) << 4 | b >> 4;
  791. temp[i++]=(b & 15) << 2 | c >> 6;
  792. temp[i++]=c & 63;
  793. if(!isNaN(c2))
  794. {
  795. a=c2 >> 8;
  796. b=c3 & 255;
  797. c=c3 >> 8;
  798. temp[i++]=a >> 2;
  799. temp[i++]=(a & 3) << 4 | b >> 4;
  800. temp[i++]=(b & 15) << 2 | c >> 6;
  801. temp[i++]=c & 63
  802. }
  803. if(isNaN(c2))
  804. temp[i - 1]=64;
  805. else if(isNaN(c3))
  806. {
  807. temp[i - 2]=64;
  808. temp[i - 1]=64
  809. }
  810. for(var t=0; t < i; t++)
  811. output.push(codex.charAt(temp[t]))
  812. } while(index < length);
  813. return output.join("")
  814. },
  815. getSessionStorage: function OSF_Outil$getSessionStorage()
  816. {
  817. return _getSessionStorage()
  818. },
  819. getLocalStorage: function OSF_Outil$getLocalStorage()
  820. {
  821. if(!_safeLocalStorage)
  822. {
  823. try
  824. {
  825. var localStorage=window.localStorage
  826. }
  827. catch(ex)
  828. {
  829. localStorage=null
  830. }
  831. _safeLocalStorage=new OfficeExt.SafeStorage(localStorage)
  832. }
  833. return _safeLocalStorage
  834. },
  835. convertIntToCssHexColor: function OSF_Outil$convertIntToCssHexColor(val)
  836. {
  837. var hex="#"+(Number(val)+16777216).toString(16).slice(-6);
  838. return hex
  839. },
  840. attachClickHandler: function OSF_Outil$attachClickHandler(element, handler)
  841. {
  842. element.onclick=function(e)
  843. {
  844. handler()
  845. };
  846. element.ontouchend=function(e)
  847. {
  848. handler();
  849. e.preventDefault()
  850. }
  851. },
  852. getQueryStringParamValue: function OSF_Outil$getQueryStringParamValue(queryString, paramName)
  853. {
  854. var e=Function._validateParams(arguments,[{
  855. name: "queryString",
  856. type: String,
  857. mayBeNull: false
  858. },{
  859. name: "paramName",
  860. type: String,
  861. mayBeNull: false
  862. }]);
  863. if(e)
  864. {
  865. OsfMsAjaxFactory.msAjaxDebug.trace("OSF_Outil_getQueryStringParamValue: Parameters cannot be null.");
  866. return""
  867. }
  868. var queryExp=new RegExp("[\\?&]"+paramName+"=([^&#]*)","i");
  869. if(!queryExp.test(queryString))
  870. {
  871. OsfMsAjaxFactory.msAjaxDebug.trace("OSF_Outil_getQueryStringParamValue: The parameter is not found.");
  872. return""
  873. }
  874. return queryExp.exec(queryString)[1]
  875. },
  876. isiOS: function OSF_Outil$isiOS()
  877. {
  878. return window.navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false
  879. },
  880. isChrome: function OSF_Outil$isChrome()
  881. {
  882. return window.navigator.userAgent.indexOf("Chrome") > 0 && !OSF.OUtil.isEdge()
  883. },
  884. isEdge: function OSF_Outil$isEdge()
  885. {
  886. return window.navigator.userAgent.indexOf("Edge") > 0
  887. },
  888. isIE: function OSF_Outil$isIE()
  889. {
  890. return window.navigator.userAgent.indexOf("Trident") > 0
  891. },
  892. isFirefox: function OSF_Outil$isFirefox()
  893. {
  894. return window.navigator.userAgent.indexOf("Firefox") > 0
  895. },
  896. shallowCopy: function OSF_Outil$shallowCopy(sourceObj)
  897. {
  898. var copyObj=sourceObj.constructor();
  899. for(var property in sourceObj)
  900. if(sourceObj.hasOwnProperty(property))
  901. copyObj[property]=sourceObj[property];
  902. return copyObj
  903. },
  904. createObject: function OSF_Outil$createObject(properties)
  905. {
  906. var obj=null;
  907. if(properties)
  908. {
  909. obj={};
  910. var len=properties.length;
  911. for(var i=0; i < len; i++)
  912. obj[properties[i].name]=properties[i].value
  913. }
  914. return obj
  915. },
  916. addClass: function OSF_OUtil$addClass(elmt, val)
  917. {
  918. if(!OSF.OUtil.hasClass(elmt,val))
  919. {
  920. var className=elmt.getAttribute(_classN);
  921. if(className)
  922. elmt.setAttribute(_classN,className+" "+val);
  923. else
  924. elmt.setAttribute(_classN,val)
  925. }
  926. },
  927. hasClass: function OSF_OUtil$hasClass(elmt, clsName)
  928. {
  929. var className=elmt.getAttribute(_classN);
  930. return className && className.match(new RegExp("(\\s|^)"+clsName+"(\\s|$)"))
  931. },
  932. focusToFirstTabbable: function OSF_OUtil$focusToFirstTabbable(all, backward)
  933. {
  934. var next;
  935. var focused=false;
  936. var candidate;
  937. var setFlag=function(e)
  938. {
  939. focused=true
  940. };
  941. var findNextPos=function(allLen, currPos, backward)
  942. {
  943. if(currPos < 0 || currPos > allLen)
  944. return-1;
  945. else if(currPos===0 && backward)
  946. return-1;
  947. else if(currPos===allLen - 1 && !backward)
  948. return-1;
  949. if(backward)
  950. return currPos - 1;
  951. else
  952. return currPos+1
  953. };
  954. all=_reOrderTabbableElements(all);
  955. next=backward ? all.length - 1 : 0;
  956. if(all.length===0)
  957. return null;
  958. while(!focused && next >=0 && next < all.length)
  959. {
  960. candidate=all[next];
  961. window.focus();
  962. candidate.addEventListener("focus",setFlag);
  963. candidate.focus();
  964. candidate.removeEventListener("focus",setFlag);
  965. next=findNextPos(all.length,next,backward);
  966. if(!focused && candidate===document.activeElement)
  967. focused=true
  968. }
  969. if(focused)
  970. return candidate;
  971. else
  972. return null
  973. },
  974. focusToNextTabbable: function OSF_OUtil$focusToNextTabbable(all, curr, shift)
  975. {
  976. var currPos;
  977. var next;
  978. var focused=false;
  979. var candidate;
  980. var setFlag=function(e)
  981. {
  982. focused=true
  983. };
  984. var findCurrPos=function(all, curr)
  985. {
  986. var i=0;
  987. for(; i < all.length; i++)
  988. if(all[i]===curr)
  989. return i;
  990. return-1
  991. };
  992. var findNextPos=function(allLen, currPos, shift)
  993. {
  994. if(currPos < 0 || currPos > allLen)
  995. return-1;
  996. else if(currPos===0 && shift)
  997. return-1;
  998. else if(currPos===allLen - 1 && !shift)
  999. return-1;
  1000. if(shift)
  1001. return currPos - 1;
  1002. else
  1003. return currPos+1
  1004. };
  1005. all=_reOrderTabbableElements(all);
  1006. currPos=findCurrPos(all,curr);
  1007. next=findNextPos(all.length,currPos,shift);
  1008. if(next < 0)
  1009. return null;
  1010. while(!focused && next >=0 && next < all.length)
  1011. {
  1012. candidate=all[next];
  1013. candidate.addEventListener("focus",setFlag);
  1014. candidate.focus();
  1015. candidate.removeEventListener("focus",setFlag);
  1016. next=findNextPos(all.length,next,shift);
  1017. if(!focused && candidate===document.activeElement)
  1018. focused=true
  1019. }
  1020. if(focused)
  1021. return candidate;
  1022. else
  1023. return null
  1024. }
  1025. }
  1026. }();
  1027. OSF.OUtil.Guid=function()
  1028. {
  1029. var hexCode=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];
  1030. return{generateNewGuid: function OSF_Outil_Guid$generateNewGuid()
  1031. {
  1032. var result="";
  1033. var tick=(new Date).getTime();
  1034. var index=0;
  1035. for(; index < 32 && tick > 0; index++)
  1036. {
  1037. if(index==8 || index==12 || index==16 || index==20)
  1038. result+="-";
  1039. result+=hexCode[tick % 16];
  1040. tick=Math.floor(tick / 16)
  1041. }
  1042. for(; index < 32; index++)
  1043. {
  1044. if(index==8 || index==12 || index==16 || index==20)
  1045. result+="-";
  1046. result+=hexCode[Math.floor(Math.random() * 16)]
  1047. }
  1048. return result
  1049. }}
  1050. }();
  1051. window.OSF=OSF;
  1052. OSF.OUtil.setNamespace("OSF",window);
  1053. OSF.AppName={
  1054. Unsupported: 0,
  1055. Excel: 1,
  1056. Word: 2,
  1057. PowerPoint: 4,
  1058. Outlook: 8,
  1059. ExcelWebApp: 16,
  1060. WordWebApp: 32,
  1061. OutlookWebApp: 64,
  1062. Project: 128,
  1063. AccessWebApp: 256,
  1064. PowerpointWebApp: 512,
  1065. ExcelIOS: 1024,
  1066. Sway: 2048,
  1067. WordIOS: 4096,
  1068. PowerPointIOS: 8192,
  1069. Access: 16384,
  1070. Lync: 32768,
  1071. OutlookIOS: 65536,
  1072. OneNoteWebApp: 131072,
  1073. OneNote: 262144,
  1074. ExcelWinRT: 524288,
  1075. WordWinRT: 1048576,
  1076. PowerpointWinRT: 2097152,
  1077. OutlookAndroid: 4194304,
  1078. OneNoteWinRT: 8388608
  1079. };
  1080. OSF.InternalPerfMarker={
  1081. DataCoercionBegin: "Agave.HostCall.CoerceDataStart",
  1082. DataCoercionEnd: "Agave.HostCall.CoerceDataEnd"
  1083. };
  1084. OSF.HostCallPerfMarker={
  1085. IssueCall: "Agave.HostCall.IssueCall",
  1086. ReceiveResponse: "Agave.HostCall.ReceiveResponse",
  1087. RuntimeExceptionRaised: "Agave.HostCall.RuntimeExecptionRaised"
  1088. };
  1089. OSF.AgaveHostAction={
  1090. Select: 0,
  1091. UnSelect: 1,
  1092. CancelDialog: 2,
  1093. InsertAgave: 3,
  1094. CtrlF6In: 4,
  1095. CtrlF6Exit: 5,
  1096. CtrlF6ExitShift: 6,
  1097. SelectWithError: 7,
  1098. NotifyHostError: 8,
  1099. RefreshAddinCommands: 9,
  1100. PageIsReady: 10,
  1101. TabIn: 11,
  1102. TabInShift: 12,
  1103. TabExit: 13,
  1104. TabExitShift: 14,
  1105. EscExit: 15,
  1106. F2Exit: 16,
  1107. ExitNoFocusable: 17,
  1108. ExitNoFocusableShift: 18
  1109. };
  1110. OSF.SharedConstants={NotificationConversationIdSuffix: "_ntf"};
  1111. OSF.DialogMessageType={
  1112. DialogMessageReceived: 0,
  1113. DialogClosed: 12006
  1114. };
  1115. OSF.OfficeAppContext=function OSF_OfficeAppContext(id, appName, appVersion, appUILocale, dataLocale, docUrl, clientMode, settings, reason, osfControlType, eToken, correlationId, appInstanceId, touchEnabled, commerceAllowed, appMinorVersion, requirementMatrix, hostCustomMessage, clientWindowHeight, clientWindowWidth, addinName)
  1116. {
  1117. this._id=id;
  1118. this._appName=appName;
  1119. this._appVersion=appVersion;
  1120. this._appUILocale=appUILocale;
  1121. this._dataLocale=dataLocale;
  1122. this._docUrl=docUrl;
  1123. this._clientMode=clientMode;
  1124. this._settings=settings;
  1125. this._reason=reason;
  1126. this._osfControlType=osfControlType;
  1127. this._eToken=eToken;
  1128. this._correlationId=correlationId;
  1129. this._appInstanceId=appInstanceId;
  1130. this._touchEnabled=touchEnabled;
  1131. this._commerceAllowed=commerceAllowed;
  1132. this._appMinorVersion=appMinorVersion;
  1133. this._requirementMatrix=requirementMatrix;
  1134. this._hostCustomMessage=hostCustomMessage;
  1135. this._isDialog=false;
  1136. this._clientWindowHeight=clientWindowHeight;
  1137. this._clientWindowWidth=clientWindowWidth;
  1138. this._addinName=addinName;
  1139. this.get_id=function get_id()
  1140. {
  1141. return this._id
  1142. };
  1143. this.get_appName=function get_appName()
  1144. {
  1145. return this._appName
  1146. };
  1147. this.get_appVersion=function get_appVersion()
  1148. {
  1149. return this._appVersion
  1150. };
  1151. this.get_appUILocale=function get_appUILocale()
  1152. {
  1153. return this._appUILocale
  1154. };
  1155. this.get_dataLocale=function get_dataLocale()
  1156. {
  1157. return this._dataLocale
  1158. };
  1159. this.get_docUrl=function get_docUrl()
  1160. {
  1161. return this._docUrl
  1162. };
  1163. this.get_clientMode=function get_clientMode()
  1164. {
  1165. return this._clientMode
  1166. };
  1167. this.get_bindings=function get_bindings()
  1168. {
  1169. return this._bindings
  1170. };
  1171. this.get_settings=function get_settings()
  1172. {
  1173. return this._settings
  1174. };
  1175. this.get_reason=function get_reason()
  1176. {
  1177. return this._reason
  1178. };
  1179. this.get_osfControlType=function get_osfControlType()
  1180. {
  1181. return this._osfControlType
  1182. };
  1183. this.get_eToken=function get_eToken()
  1184. {
  1185. return this._eToken
  1186. };
  1187. this.get_correlationId=function get_correlationId()
  1188. {
  1189. return this._correlationId
  1190. };
  1191. this.get_appInstanceId=function get_appInstanceId()
  1192. {
  1193. return this._appInstanceId
  1194. };
  1195. this.get_touchEnabled=function get_touchEnabled()
  1196. {
  1197. return this._touchEnabled
  1198. };
  1199. this.get_commerceAllowed=function get_commerceAllowed()
  1200. {
  1201. return this._commerceAllowed
  1202. };
  1203. this.get_appMinorVersion=function get_appMinorVersion()
  1204. {
  1205. return this._appMinorVersion
  1206. };
  1207. this.get_requirementMatrix=function get_requirementMatrix()
  1208. {
  1209. return this._requirementMatrix
  1210. };
  1211. this.get_hostCustomMessage=function get_hostCustomMessage()
  1212. {
  1213. return this._hostCustomMessage
  1214. };
  1215. this.get_isDialog=function get_isDialog()
  1216. {
  1217. return this._isDialog
  1218. };
  1219. this.get_clientWindowHeight=function get_clientWindowHeight()
  1220. {
  1221. return this._clientWindowHeight
  1222. };
  1223. this.get_clientWindowWidth=function get_clientWindowWidth()
  1224. {
  1225. return this._clientWindowWidth
  1226. };
  1227. this.get_addinName=function get_addinName()
  1228. {
  1229. return this._addinName
  1230. }
  1231. };
  1232. OSF.OsfControlType={
  1233. DocumentLevel: 0,
  1234. ContainerLevel: 1
  1235. };
  1236. OSF.ClientMode={
  1237. ReadOnly: 0,
  1238. ReadWrite: 1
  1239. };
  1240. OSF.OUtil.setNamespace("Microsoft",window);
  1241. OSF.OUtil.setNamespace("Office",Microsoft);
  1242. OSF.OUtil.setNamespace("Client",Microsoft.Office);
  1243. OSF.OUtil.setNamespace("WebExtension",Microsoft.Office);
  1244. Microsoft.Office.WebExtension.InitializationReason={
  1245. Inserted: "inserted",
  1246. DocumentOpened: "documentOpened"
  1247. };
  1248. Microsoft.Office.WebExtension.ValueFormat={
  1249. Unformatted: "unformatted",
  1250. Formatted: "formatted"
  1251. };
  1252. Microsoft.Office.WebExtension.FilterType={All: "all"};
  1253. Microsoft.Office.WebExtension.Parameters={
  1254. BindingType: "bindingType",
  1255. CoercionType: "coercionType",
  1256. ValueFormat: "valueFormat",
  1257. FilterType: "filterType",
  1258. Columns: "columns",
  1259. SampleData: "sampleData",
  1260. GoToType: "goToType",
  1261. SelectionMode: "selectionMode",
  1262. Id: "id",
  1263. PromptText: "promptText",
  1264. ItemName: "itemName",
  1265. FailOnCollision: "failOnCollision",
  1266. StartRow: "startRow",
  1267. StartColumn: "startColumn",
  1268. RowCount: "rowCount",
  1269. ColumnCount: "columnCount",
  1270. Callback: "callback",
  1271. AsyncContext: "asyncContext",
  1272. Data: "data",
  1273. Rows: "rows",
  1274. OverwriteIfStale: "overwriteIfStale",
  1275. FileType: "fileType",
  1276. EventType: "eventType",
  1277. Handler: "handler",
  1278. SliceSize: "sliceSize",
  1279. SliceIndex: "sliceIndex",
  1280. ActiveView: "activeView",
  1281. Status: "status",
  1282. Xml: "xml",
  1283. Namespace: "namespace",
  1284. Prefix: "prefix",
  1285. XPath: "xPath",
  1286. Text: "text",
  1287. ImageLeft: "imageLeft",
  1288. ImageTop: "imageTop",
  1289. ImageWidth: "imageWidth",
  1290. ImageHeight: "imageHeight",
  1291. TaskId: "taskId",
  1292. FieldId: "fieldId",
  1293. FieldValue: "fieldValue",
  1294. ServerUrl: "serverUrl",
  1295. ListName: "listName",
  1296. ResourceId: "resourceId",
  1297. ViewType: "viewType",
  1298. ViewName: "viewName",
  1299. GetRawValue: "getRawValue",
  1300. CellFormat: "cellFormat",
  1301. TableOptions: "tableOptions",
  1302. TaskIndex: "taskIndex",
  1303. ResourceIndex: "resourceIndex",
  1304. CustomFieldId: "customFieldId",
  1305. Url: "url",
  1306. MessageHandler: "messageHandler",
  1307. Width: "width",
  1308. Height: "height",
  1309. RequireHTTPs: "requireHTTPS",
  1310. MessageToParent: "messageToParent",
  1311. DisplayInIframe: "displayInIframe"
  1312. };
  1313. OSF.OUtil.setNamespace("DDA",OSF);
  1314. OSF.DDA.DocumentMode={
  1315. ReadOnly: 1,
  1316. ReadWrite: 0
  1317. };
  1318. OSF.DDA.PropertyDescriptors={AsyncResultStatus: "AsyncResultStatus"};
  1319. OSF.DDA.EventDescriptors={};
  1320. OSF.DDA.ListDescriptors={};
  1321. OSF.DDA.UI={};
  1322. OSF.DDA.getXdmEventName=function OSF_DDA$GetXdmEventName(id, eventType)
  1323. {
  1324. if(eventType==Microsoft.Office.WebExtension.EventType.BindingSelectionChanged || eventType==Microsoft.Office.WebExtension.EventType.BindingDataChanged || eventType==Microsoft.Office.WebExtension.EventType.DataNodeDeleted || eventType==Microsoft.Office.WebExtension.EventType.DataNodeInserted || eventType==Microsoft.Office.WebExtension.EventType.DataNodeReplaced)
  1325. return id+"_"+eventType;
  1326. else
  1327. return eventType
  1328. };
  1329. OSF.DDA.MethodDispId={
  1330. dispidMethodMin: 64,
  1331. dispidGetSelectedDataMethod: 64,
  1332. dispidSetSelectedDataMethod: 65,
  1333. dispidAddBindingFromSelectionMethod: 66,
  1334. dispidAddBindingFromPromptMethod: 67,
  1335. dispidGetBindingMethod: 68,
  1336. dispidReleaseBindingMethod: 69,
  1337. dispidGetBindingDataMethod: 70,
  1338. dispidSetBindingDataMethod: 71,
  1339. dispidAddRowsMethod: 72,
  1340. dispidClearAllRowsMethod: 73,
  1341. dispidGetAllBindingsMethod: 74,
  1342. dispidLoadSettingsMethod: 75,
  1343. dispidSaveSettingsMethod: 76,
  1344. dispidGetDocumentCopyMethod: 77,
  1345. dispidAddBindingFromNamedItemMethod: 78,
  1346. dispidAddColumnsMethod: 79,
  1347. dispidGetDocumentCopyChunkMethod: 80,
  1348. dispidReleaseDocumentCopyMethod: 81,
  1349. dispidNavigateToMethod: 82,
  1350. dispidGetActiveViewMethod: 83,
  1351. dispidGetDocumentThemeMethod: 84,
  1352. dispidGetOfficeThemeMethod: 85,
  1353. dispidGetFilePropertiesMethod: 86,
  1354. dispidClearFormatsMethod: 87,
  1355. dispidSetTableOptionsMethod: 88,
  1356. dispidSetFormatsMethod: 89,
  1357. dispidExecuteRichApiRequestMethod: 93,
  1358. dispidAppCommandInvocationCompletedMethod: 94,
  1359. dispidCloseContainerMethod: 97,
  1360. dispidAddDataPartMethod: 128,
  1361. dispidGetDataPartByIdMethod: 129,
  1362. dispidGetDataPartsByNamespaceMethod: 130,
  1363. dispidGetDataPartXmlMethod: 131,
  1364. dispidGetDataPartNodesMethod: 132,
  1365. dispidDeleteDataPartMethod: 133,
  1366. dispidGetDataNodeValueMethod: 134,
  1367. dispidGetDataNodeXmlMethod: 135,
  1368. dispidGetDataNodesMethod: 136,
  1369. dispidSetDataNodeValueMethod: 137,
  1370. dispidSetDataNodeXmlMethod: 138,
  1371. dispidAddDataNamespaceMethod: 139,
  1372. dispidGetDataUriByPrefixMethod: 140,
  1373. dispidGetDataPrefixByUriMethod: 141,
  1374. dispidGetDataNodeTextMethod: 142,
  1375. dispidSetDataNodeTextMethod: 143,
  1376. dispidMessageParentMethod: 144,
  1377. dispidMethodMax: 144,
  1378. dispidGetSelectedTaskMethod: 110,
  1379. dispidGetSelectedResourceMethod: 111,
  1380. dispidGetTaskMethod: 112,
  1381. dispidGetResourceFieldMethod: 113,
  1382. dispidGetWSSUrlMethod: 114,
  1383. dispidGetTaskFieldMethod: 115,
  1384. dispidGetProjectFieldMethod: 116,
  1385. dispidGetSelectedViewMethod: 117,
  1386. dispidGetTaskByIndexMethod: 118,
  1387. dispidGetResourceByIndexMethod: 119,
  1388. dispidSetTaskFieldMethod: 120,
  1389. dispidSetResourceFieldMethod: 121,
  1390. dispidGetMaxTaskIndexMethod: 122,
  1391. dispidGetMaxResourceIndexMethod: 123,
  1392. dispidCreateTaskMethod: 124
  1393. };
  1394. OSF.DDA.EventDispId={
  1395. dispidEventMin: 0,
  1396. dispidInitializeEvent: 0,
  1397. dispidSettingsChangedEvent: 1,
  1398. dispidDocumentSelectionChangedEvent: 2,
  1399. dispidBindingSelectionChangedEvent: 3,
  1400. dispidBindingDataChangedEvent: 4,
  1401. dispidDocumentOpenEvent: 5,
  1402. dispidDocumentCloseEvent: 6,
  1403. dispidActiveViewChangedEvent: 7,
  1404. dispidDocumentThemeChangedEvent: 8,
  1405. dispidOfficeThemeChangedEvent: 9,
  1406. dispidDialogMessageReceivedEvent: 10,
  1407. dispidDialogNotificationShownInAddinEvent: 11,
  1408. dispidActivationStatusChangedEvent: 32,
  1409. dispidAppCommandInvokedEvent: 39,
  1410. dispidOlkItemSelectedChangedEvent: 46,
  1411. dispidTaskSelectionChangedEvent: 56,
  1412. dispidResourceSelectionChangedEvent: 57,
  1413. dispidViewSelectionChangedEvent: 58,
  1414. dispidDataNodeAddedEvent: 60,
  1415. dispidDataNodeReplacedEvent: 61,
  1416. dispidDataNodeDeletedEvent: 62,
  1417. dispidEventMax: 63
  1418. };
  1419. OSF.DDA.ErrorCodeManager=function()
  1420. {
  1421. var _errorMappings={};
  1422. return{
  1423. getErrorArgs: function OSF_DDA_ErrorCodeManager$getErrorArgs(errorCode)
  1424. {
  1425. var errorArgs=_errorMappings[errorCode];
  1426. if(!errorArgs)
  1427. errorArgs=_errorMappings[this.errorCodes.ooeInternalError];
  1428. else
  1429. {
  1430. if(!errorArgs.name)
  1431. errorArgs.name=_errorMappings[this.errorCodes.ooeInternalError].name;
  1432. if(!errorArgs.message)
  1433. errorArgs.message=_errorMappings[this.errorCodes.ooeInternalError].message
  1434. }
  1435. return errorArgs
  1436. },
  1437. addErrorMessage: function OSF_DDA_ErrorCodeManager$addErrorMessage(errorCode, errorNameMessage)
  1438. {
  1439. _errorMappings[errorCode]=errorNameMessage
  1440. },
  1441. errorCodes: {
  1442. ooeSuccess: 0,
  1443. ooeChunkResult: 1,
  1444. ooeCoercionTypeNotSupported: 1e3,
  1445. ooeGetSelectionNotMatchDataType: 1001,
  1446. ooeCoercionTypeNotMatchBinding: 1002,
  1447. ooeInvalidGetRowColumnCounts: 1003,
  1448. ooeSelectionNotSupportCoercionType: 1004,
  1449. ooeInvalidGetStartRowColumn: 1005,
  1450. ooeNonUniformPartialGetNotSupported: 1006,
  1451. ooeGetDataIsTooLarge: 1008,
  1452. ooeFileTypeNotSupported: 1009,
  1453. ooeGetDataParametersConflict: 1010,
  1454. ooeInvalidGetColumns: 1011,
  1455. ooeInvalidGetRows: 1012,
  1456. ooeInvalidReadForBlankRow: 1013,
  1457. ooeUnsupportedDataObject: 2e3,
  1458. ooeCannotWriteToSelection: 2001,
  1459. ooeDataNotMatchSelection: 2002,
  1460. ooeOverwriteWorksheetData: 2003,
  1461. ooeDataNotMatchBindingSize: 2004,
  1462. ooeInvalidSetStartRowColumn: 2005,
  1463. ooeInvalidDataFormat: 2006,
  1464. ooeDataNotMatchCoercionType: 2007,
  1465. ooeDataNotMatchBindingType: 2008,
  1466. ooeSetDataIsTooLarge: 2009,
  1467. ooeNonUniformPartialSetNotSupported: 2010,
  1468. ooeInvalidSetColumns: 2011,
  1469. ooeInvalidSetRows: 2012,
  1470. ooeSetDataParametersConflict: 2013,
  1471. ooeCellDataAmountBeyondLimits: 2014,
  1472. ooeSelectionCannotBound: 3e3,
  1473. ooeBindingNotExist: 3002,
  1474. ooeBindingToMultipleSelection: 3003,
  1475. ooeInvalidSelectionForBindingType: 3004,
  1476. ooeOperationNotSupportedOnThisBindingType: 3005,
  1477. ooeNamedItemNotFound: 3006,
  1478. ooeMultipleNamedItemFound: 3007,
  1479. ooeInvalidNamedItemForBindingType: 3008,
  1480. ooeUnknownBindingType: 3009,
  1481. ooeOperationNotSupportedOnMatrixData: 3010,
  1482. ooeInvalidColumnsForBinding: 3011,
  1483. ooeSettingNameNotExist: 4e3,
  1484. ooeSettingsCannotSave: 4001,
  1485. ooeSettingsAreStale: 4002,
  1486. ooeOperationNotSupported: 5e3,
  1487. ooeInternalError: 5001,
  1488. ooeDocumentReadOnly: 5002,
  1489. ooeEventHandlerNotExist: 5003,
  1490. ooeInvalidApiCallInContext: 5004,
  1491. ooeShuttingDown: 5005,
  1492. ooeUnsupportedEnumeration: 5007,
  1493. ooeIndexOutOfRange: 5008,
  1494. ooeBrowserAPINotSupported: 5009,
  1495. ooeInvalidParam: 5010,
  1496. ooeRequestTimeout: 5011,
  1497. ooeTooManyIncompleteRequests: 5100,
  1498. ooeRequestTokenUnavailable: 5101,
  1499. ooeActivityLimitReached: 5102,
  1500. ooeCustomXmlNodeNotFound: 6e3,
  1501. ooeCustomXmlError: 6100,
  1502. ooeCustomXmlExceedQuota: 6101,
  1503. ooeCustomXmlOutOfDate: 6102,
  1504. ooeNoCapability: 7e3,
  1505. ooeCannotNavTo: 7001,
  1506. ooeSpecifiedIdNotExist: 7002,
  1507. ooeNavOutOfBound: 7004,
  1508. ooeElementMissing: 8e3,
  1509. ooeProtectedError: 8001,
  1510. ooeInvalidCellsValue: 8010,
  1511. ooeInvalidTableOptionValue: 8011,
  1512. ooeInvalidFormatValue: 8012,
  1513. ooeRowIndexOutOfRange: 8020,
  1514. ooeColIndexOutOfRange: 8021,
  1515. ooeFormatValueOutOfRange: 8022,
  1516. ooeCellFormatAmountBeyondLimits: 8023,
  1517. ooeMemoryFileLimit: 11e3,
  1518. ooeNetworkProblemRetrieveFile: 11001,
  1519. ooeInvalidSliceSize: 11002,
  1520. ooeInvalidCallback: 11101,
  1521. ooeInvalidWidth: 12e3,
  1522. ooeInvalidHeight: 12001,
  1523. ooeNavigationError: 12002,
  1524. ooeInvalidScheme: 12003,
  1525. ooeAppDomains: 12004,
  1526. ooeRequireHTTPS: 12005,
  1527. ooeWebDialogClosed: 12006,
  1528. ooeDialogAlreadyOpened: 12007,
  1529. ooeEndUserAllow: 12008,
  1530. ooeEndUserIgnore: 12009
  1531. },
  1532. initializeErrorMessages: function OSF_DDA_ErrorCodeManager$initializeErrorMessages(stringNS)
  1533. {
  1534. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCoercionTypeNotSupported]={
  1535. name: stringNS.L_InvalidCoercion,
  1536. message: stringNS.L_CoercionTypeNotSupported
  1537. };
  1538. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeGetSelectionNotMatchDataType]={
  1539. name: stringNS.L_DataReadError,
  1540. message: stringNS.L_GetSelectionNotSupported
  1541. };
  1542. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCoercionTypeNotMatchBinding]={
  1543. name: stringNS.L_InvalidCoercion,
  1544. message: stringNS.L_CoercionTypeNotMatchBinding
  1545. };
  1546. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidGetRowColumnCounts]={
  1547. name: stringNS.L_DataReadError,
  1548. message: stringNS.L_InvalidGetRowColumnCounts
  1549. };
  1550. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSelectionNotSupportCoercionType]={
  1551. name: stringNS.L_DataReadError,
  1552. message: stringNS.L_SelectionNotSupportCoercionType
  1553. };
  1554. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidGetStartRowColumn]={
  1555. name: stringNS.L_DataReadError,
  1556. message: stringNS.L_InvalidGetStartRowColumn
  1557. };
  1558. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNonUniformPartialGetNotSupported]={
  1559. name: stringNS.L_DataReadError,
  1560. message: stringNS.L_NonUniformPartialGetNotSupported
  1561. };
  1562. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeGetDataIsTooLarge]={
  1563. name: stringNS.L_DataReadError,
  1564. message: stringNS.L_GetDataIsTooLarge
  1565. };
  1566. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeFileTypeNotSupported]={
  1567. name: stringNS.L_DataReadError,
  1568. message: stringNS.L_FileTypeNotSupported
  1569. };
  1570. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeGetDataParametersConflict]={
  1571. name: stringNS.L_DataReadError,
  1572. message: stringNS.L_GetDataParametersConflict
  1573. };
  1574. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidGetColumns]={
  1575. name: stringNS.L_DataReadError,
  1576. message: stringNS.L_InvalidGetColumns
  1577. };
  1578. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidGetRows]={
  1579. name: stringNS.L_DataReadError,
  1580. message: stringNS.L_InvalidGetRows
  1581. };
  1582. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidReadForBlankRow]={
  1583. name: stringNS.L_DataReadError,
  1584. message: stringNS.L_InvalidReadForBlankRow
  1585. };
  1586. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeUnsupportedDataObject]={
  1587. name: stringNS.L_DataWriteError,
  1588. message: stringNS.L_UnsupportedDataObject
  1589. };
  1590. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCannotWriteToSelection]={
  1591. name: stringNS.L_DataWriteError,
  1592. message: stringNS.L_CannotWriteToSelection
  1593. };
  1594. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDataNotMatchSelection]={
  1595. name: stringNS.L_DataWriteError,
  1596. message: stringNS.L_DataNotMatchSelection
  1597. };
  1598. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeOverwriteWorksheetData]={
  1599. name: stringNS.L_DataWriteError,
  1600. message: stringNS.L_OverwriteWorksheetData
  1601. };
  1602. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDataNotMatchBindingSize]={
  1603. name: stringNS.L_DataWriteError,
  1604. message: stringNS.L_DataNotMatchBindingSize
  1605. };
  1606. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSetStartRowColumn]={
  1607. name: stringNS.L_DataWriteError,
  1608. message: stringNS.L_InvalidSetStartRowColumn
  1609. };
  1610. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidDataFormat]={
  1611. name: stringNS.L_InvalidFormat,
  1612. message: stringNS.L_InvalidDataFormat
  1613. };
  1614. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDataNotMatchCoercionType]={
  1615. name: stringNS.L_InvalidDataObject,
  1616. message: stringNS.L_DataNotMatchCoercionType
  1617. };
  1618. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDataNotMatchBindingType]={
  1619. name: stringNS.L_InvalidDataObject,
  1620. message: stringNS.L_DataNotMatchBindingType
  1621. };
  1622. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSetDataIsTooLarge]={
  1623. name: stringNS.L_DataWriteError,
  1624. message: stringNS.L_SetDataIsTooLarge
  1625. };
  1626. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNonUniformPartialSetNotSupported]={
  1627. name: stringNS.L_DataWriteError,
  1628. message: stringNS.L_NonUniformPartialSetNotSupported
  1629. };
  1630. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSetColumns]={
  1631. name: stringNS.L_DataWriteError,
  1632. message: stringNS.L_InvalidSetColumns
  1633. };
  1634. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSetRows]={
  1635. name: stringNS.L_DataWriteError,
  1636. message: stringNS.L_InvalidSetRows
  1637. };
  1638. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSetDataParametersConflict]={
  1639. name: stringNS.L_DataWriteError,
  1640. message: stringNS.L_SetDataParametersConflict
  1641. };
  1642. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSelectionCannotBound]={
  1643. name: stringNS.L_BindingCreationError,
  1644. message: stringNS.L_SelectionCannotBound
  1645. };
  1646. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeBindingNotExist]={
  1647. name: stringNS.L_InvalidBindingError,
  1648. message: stringNS.L_BindingNotExist
  1649. };
  1650. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeBindingToMultipleSelection]={
  1651. name: stringNS.L_BindingCreationError,
  1652. message: stringNS.L_BindingToMultipleSelection
  1653. };
  1654. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSelectionForBindingType]={
  1655. name: stringNS.L_BindingCreationError,
  1656. message: stringNS.L_InvalidSelectionForBindingType
  1657. };
  1658. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeOperationNotSupportedOnThisBindingType]={
  1659. name: stringNS.L_InvalidBindingOperation,
  1660. message: stringNS.L_OperationNotSupportedOnThisBindingType
  1661. };
  1662. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNamedItemNotFound]={
  1663. name: stringNS.L_BindingCreationError,
  1664. message: stringNS.L_NamedItemNotFound
  1665. };
  1666. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeMultipleNamedItemFound]={
  1667. name: stringNS.L_BindingCreationError,
  1668. message: stringNS.L_MultipleNamedItemFound
  1669. };
  1670. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidNamedItemForBindingType]={
  1671. name: stringNS.L_BindingCreationError,
  1672. message: stringNS.L_InvalidNamedItemForBindingType
  1673. };
  1674. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeUnknownBindingType]={
  1675. name: stringNS.L_InvalidBinding,
  1676. message: stringNS.L_UnknownBindingType
  1677. };
  1678. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeOperationNotSupportedOnMatrixData]={
  1679. name: stringNS.L_InvalidBindingOperation,
  1680. message: stringNS.L_OperationNotSupportedOnMatrixData
  1681. };
  1682. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidColumnsForBinding]={
  1683. name: stringNS.L_InvalidBinding,
  1684. message: stringNS.L_InvalidColumnsForBinding
  1685. };
  1686. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSettingNameNotExist]={
  1687. name: stringNS.L_ReadSettingsError,
  1688. message: stringNS.L_SettingNameNotExist
  1689. };
  1690. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSettingsCannotSave]={
  1691. name: stringNS.L_SaveSettingsError,
  1692. message: stringNS.L_SettingsCannotSave
  1693. };
  1694. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSettingsAreStale]={
  1695. name: stringNS.L_SettingsStaleError,
  1696. message: stringNS.L_SettingsAreStale
  1697. };
  1698. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeOperationNotSupported]={
  1699. name: stringNS.L_HostError,
  1700. message: stringNS.L_OperationNotSupported
  1701. };
  1702. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError]={
  1703. name: stringNS.L_InternalError,
  1704. message: stringNS.L_InternalErrorDescription
  1705. };
  1706. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDocumentReadOnly]={
  1707. name: stringNS.L_PermissionDenied,
  1708. message: stringNS.L_DocumentReadOnly
  1709. };
  1710. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeEventHandlerNotExist]={
  1711. name: stringNS.L_EventRegistrationError,
  1712. message: stringNS.L_EventHandlerNotExist
  1713. };
  1714. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidApiCallInContext]={
  1715. name: stringNS.L_InvalidAPICall,
  1716. message: stringNS.L_InvalidApiCallInContext
  1717. };
  1718. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeShuttingDown]={
  1719. name: stringNS.L_ShuttingDown,
  1720. message: stringNS.L_ShuttingDown
  1721. };
  1722. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeUnsupportedEnumeration]={
  1723. name: stringNS.L_UnsupportedEnumeration,
  1724. message: stringNS.L_UnsupportedEnumerationMessage
  1725. };
  1726. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeIndexOutOfRange]={
  1727. name: stringNS.L_IndexOutOfRange,
  1728. message: stringNS.L_IndexOutOfRange
  1729. };
  1730. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeBrowserAPINotSupported]={
  1731. name: stringNS.L_APINotSupported,
  1732. message: stringNS.L_BrowserAPINotSupported
  1733. };
  1734. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeRequestTimeout]={
  1735. name: stringNS.L_APICallFailed,
  1736. message: stringNS.L_RequestTimeout
  1737. };
  1738. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeTooManyIncompleteRequests]={
  1739. name: stringNS.L_APICallFailed,
  1740. message: stringNS.L_TooManyIncompleteRequests
  1741. };
  1742. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeRequestTokenUnavailable]={
  1743. name: stringNS.L_APICallFailed,
  1744. message: stringNS.L_RequestTokenUnavailable
  1745. };
  1746. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeActivityLimitReached]={
  1747. name: stringNS.L_APICallFailed,
  1748. message: stringNS.L_ActivityLimitReached
  1749. };
  1750. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCustomXmlNodeNotFound]={
  1751. name: stringNS.L_InvalidNode,
  1752. message: stringNS.L_CustomXmlNodeNotFound
  1753. };
  1754. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCustomXmlError]={
  1755. name: stringNS.L_CustomXmlError,
  1756. message: stringNS.L_CustomXmlError
  1757. };
  1758. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCustomXmlExceedQuota]={
  1759. name: stringNS.L_CustomXmlError,
  1760. message: stringNS.L_CustomXmlError
  1761. };
  1762. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCustomXmlOutOfDate]={
  1763. name: stringNS.L_CustomXmlError,
  1764. message: stringNS.L_CustomXmlError
  1765. };
  1766. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability]={
  1767. name: stringNS.L_PermissionDenied,
  1768. message: stringNS.L_NoCapability
  1769. };
  1770. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCannotNavTo]={
  1771. name: stringNS.L_CannotNavigateTo,
  1772. message: stringNS.L_CannotNavigateTo
  1773. };
  1774. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSpecifiedIdNotExist]={
  1775. name: stringNS.L_SpecifiedIdNotExist,
  1776. message: stringNS.L_SpecifiedIdNotExist
  1777. };
  1778. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNavOutOfBound]={
  1779. name: stringNS.L_NavOutOfBound,
  1780. message: stringNS.L_NavOutOfBound
  1781. };
  1782. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCellDataAmountBeyondLimits]={
  1783. name: stringNS.L_DataWriteReminder,
  1784. message: stringNS.L_CellDataAmountBeyondLimits
  1785. };
  1786. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeElementMissing]={
  1787. name: stringNS.L_MissingParameter,
  1788. message: stringNS.L_ElementMissing
  1789. };
  1790. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeProtectedError]={
  1791. name: stringNS.L_PermissionDenied,
  1792. message: stringNS.L_NoCapability
  1793. };
  1794. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidCellsValue]={
  1795. name: stringNS.L_InvalidValue,
  1796. message: stringNS.L_InvalidCellsValue
  1797. };
  1798. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidTableOptionValue]={
  1799. name: stringNS.L_InvalidValue,
  1800. message: stringNS.L_InvalidTableOptionValue
  1801. };
  1802. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidFormatValue]={
  1803. name: stringNS.L_InvalidValue,
  1804. message: stringNS.L_InvalidFormatValue
  1805. };
  1806. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeRowIndexOutOfRange]={
  1807. name: stringNS.L_OutOfRange,
  1808. message: stringNS.L_RowIndexOutOfRange
  1809. };
  1810. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeColIndexOutOfRange]={
  1811. name: stringNS.L_OutOfRange,
  1812. message: stringNS.L_ColIndexOutOfRange
  1813. };
  1814. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeFormatValueOutOfRange]={
  1815. name: stringNS.L_OutOfRange,
  1816. message: stringNS.L_FormatValueOutOfRange
  1817. };
  1818. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCellFormatAmountBeyondLimits]={
  1819. name: stringNS.L_FormattingReminder,
  1820. message: stringNS.L_CellFormatAmountBeyondLimits
  1821. };
  1822. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeMemoryFileLimit]={
  1823. name: stringNS.L_MemoryLimit,
  1824. message: stringNS.L_CloseFileBeforeRetrieve
  1825. };
  1826. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNetworkProblemRetrieveFile]={
  1827. name: stringNS.L_NetworkProblem,
  1828. message: stringNS.L_NetworkProblemRetrieveFile
  1829. };
  1830. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSliceSize]={
  1831. name: stringNS.L_InvalidValue,
  1832. message: stringNS.L_SliceSizeNotSupported
  1833. };
  1834. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDialogAlreadyOpened]={
  1835. name: stringNS.L_DisplayDialogError,
  1836. message: stringNS.L_DialogAlreadyOpened
  1837. };
  1838. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidWidth]={
  1839. name: stringNS.L_IndexOutOfRange,
  1840. message: stringNS.L_IndexOutOfRange
  1841. };
  1842. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidHeight]={
  1843. name: stringNS.L_IndexOutOfRange,
  1844. message: stringNS.L_IndexOutOfRange
  1845. };
  1846. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNavigationError]={
  1847. name: stringNS.L_DisplayDialogError,
  1848. message: stringNS.L_NetworkProblem
  1849. };
  1850. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidScheme]={
  1851. name: stringNS.L_DialogNavigateError,
  1852. message: stringNS.L_DialogAddressNotTrusted
  1853. };
  1854. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeAppDomains]={
  1855. name: stringNS.L_DisplayDialogError,
  1856. message: stringNS.L_DialogAddressNotTrusted
  1857. };
  1858. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeRequireHTTPS]={
  1859. name: stringNS.L_DisplayDialogError,
  1860. message: stringNS.L_DialogAddressNotTrusted
  1861. };
  1862. _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeEndUserIgnore]={
  1863. name: stringNS.L_DisplayDialogError,
  1864. message: stringNS.L_UserClickIgnore
  1865. }
  1866. }
  1867. }
  1868. }();
  1869. var OfficeExt;
  1870. (function(OfficeExt)
  1871. {
  1872. var Requirement;
  1873. (function(Requirement)
  1874. {
  1875. var RequirementMatrix=function()
  1876. {
  1877. function RequirementMatrix(_setMap)
  1878. {
  1879. this.isSetSupported=function _isSetSupported(name, minVersion)
  1880. {
  1881. if(name==undefined)
  1882. return false;
  1883. if(minVersion==undefined)
  1884. minVersion=0;
  1885. var setSupportArray=this._setMap;
  1886. var sets=setSupportArray._sets;
  1887. if(sets.hasOwnProperty(name.toLowerCase()))
  1888. {
  1889. var setMaxVersion=sets[name.toLowerCase()];
  1890. return setMaxVersion > 0 && setMaxVersion >=minVersion
  1891. }
  1892. else
  1893. return false
  1894. };
  1895. this._setMap=_setMap
  1896. }
  1897. return RequirementMatrix
  1898. }();
  1899. Requirement.RequirementMatrix=RequirementMatrix;
  1900. var DefaultSetRequirement=function()
  1901. {
  1902. function DefaultSetRequirement(setMap)
  1903. {
  1904. this._addSetMap=function DefaultSetRequirement_addSetMap(addedSet)
  1905. {
  1906. for(var name in addedSet)
  1907. this._sets[name]=addedSet[name]
  1908. };
  1909. this._sets=setMap
  1910. }
  1911. return DefaultSetRequirement
  1912. }();
  1913. Requirement.DefaultSetRequirement=DefaultSetRequirement;
  1914. var ExcelClientDefaultSetRequirement=function(_super)
  1915. {
  1916. __extends(ExcelClientDefaultSetRequirement,_super);
  1917. function ExcelClientDefaultSetRequirement()
  1918. {
  1919. _super.call(this,{
  1920. bindingevents: 1.1,
  1921. documentevents: 1.1,
  1922. excelapi: 1.1,
  1923. matrixbindings: 1.1,
  1924. matrixcoercion: 1.1,
  1925. selection: 1.1,
  1926. settings: 1.1,
  1927. tablebindings: 1.1,
  1928. tablecoercion: 1.1,
  1929. textbindings: 1.1,
  1930. textcoercion: 1.1
  1931. })
  1932. }
  1933. return ExcelClientDefaultSetRequirement
  1934. }(DefaultSetRequirement);
  1935. Requirement.ExcelClientDefaultSetRequirement=ExcelClientDefaultSetRequirement;
  1936. var ExcelClientV1DefaultSetRequirement=function(_super)
  1937. {
  1938. __extends(ExcelClientV1DefaultSetRequirement,_super);
  1939. function ExcelClientV1DefaultSetRequirement()
  1940. {
  1941. _super.call(this);
  1942. this._addSetMap({imagecoercion: 1.1})
  1943. }
  1944. return ExcelClientV1DefaultSetRequirement
  1945. }(ExcelClientDefaultSetRequirement);
  1946. Requirement.ExcelClientV1DefaultSetRequirement=ExcelClientV1DefaultSetRequirement;
  1947. var OutlookClientDefaultSetRequirement=function(_super)
  1948. {
  1949. __extends(OutlookClientDefaultSetRequirement,_super);
  1950. function OutlookClientDefaultSetRequirement()
  1951. {
  1952. _super.call(this,{mailbox: 1.3})
  1953. }
  1954. return OutlookClientDefaultSetRequirement
  1955. }(DefaultSetRequirement);
  1956. Requirement.OutlookClientDefaultSetRequirement=OutlookClientDefaultSetRequirement;
  1957. var WordClientDefaultSetRequirement=function(_super)
  1958. {
  1959. __extends(WordClientDefaultSetRequirement,_super);
  1960. function WordClientDefaultSetRequirement()
  1961. {
  1962. _super.call(this,{
  1963. bindingevents: 1.1,
  1964. compressedfile: 1.1,
  1965. customxmlparts: 1.1,
  1966. documentevents: 1.1,
  1967. file: 1.1,
  1968. htmlcoercion: 1.1,
  1969. matrixbindings: 1.1,
  1970. matrixcoercion: 1.1,
  1971. ooxmlcoercion: 1.1,
  1972. pdffile: 1.1,
  1973. selection: 1.1,
  1974. settings: 1.1,
  1975. tablebindings: 1.1,
  1976. tablecoercion: 1.1,
  1977. textbindings: 1.1,
  1978. textcoercion: 1.1,
  1979. textfile: 1.1,
  1980. wordapi: 1.1
  1981. })
  1982. }
  1983. return WordClientDefaultSetRequirement
  1984. }(DefaultSetRequirement);
  1985. Requirement.WordClientDefaultSetRequirement=WordClientDefaultSetRequirement;
  1986. var WordClientV1DefaultSetRequirement=function(_super)
  1987. {
  1988. __extends(WordClientV1DefaultSetRequirement,_super);
  1989. function WordClientV1DefaultSetRequirement()
  1990. {
  1991. _super.call(this);
  1992. this._addSetMap({
  1993. customxmlparts: 1.2,
  1994. wordapi: 1.2,
  1995. imagecoercion: 1.1
  1996. })
  1997. }
  1998. return WordClientV1DefaultSetRequirement
  1999. }(WordClientDefaultSetRequirement);
  2000. Requirement.WordClientV1DefaultSetRequirement=WordClientV1DefaultSetRequirement;
  2001. var PowerpointClientDefaultSetRequirement=function(_super)
  2002. {
  2003. __extends(PowerpointClientDefaultSetRequirement,_super);
  2004. function PowerpointClientDefaultSetRequirement()
  2005. {
  2006. _super.call(this,{
  2007. activeview: 1.1,
  2008. compressedfile: 1.1,
  2009. documentevents: 1.1,
  2010. file: 1.1,
  2011. pdffile: 1.1,
  2012. selection: 1.1,
  2013. settings: 1.1,
  2014. textcoercion: 1.1
  2015. })
  2016. }
  2017. return PowerpointClientDefaultSetRequirement
  2018. }(DefaultSetRequirement);
  2019. Requirement.PowerpointClientDefaultSetRequirement=PowerpointClientDefaultSetRequirement;
  2020. var PowerpointClientV1DefaultSetRequirement=function(_super)
  2021. {
  2022. __extends(PowerpointClientV1DefaultSetRequirement,_super);
  2023. function PowerpointClientV1DefaultSetRequirement()
  2024. {
  2025. _super.call(this);
  2026. this._addSetMap({imagecoercion: 1.1})
  2027. }
  2028. return PowerpointClientV1DefaultSetRequirement
  2029. }(PowerpointClientDefaultSetRequirement);
  2030. Requirement.PowerpointClientV1DefaultSetRequirement=PowerpointClientV1DefaultSetRequirement;
  2031. var ProjectClientDefaultSetRequirement=function(_super)
  2032. {
  2033. __extends(ProjectClientDefaultSetRequirement,_super);
  2034. function ProjectClientDefaultSetRequirement()
  2035. {
  2036. _super.call(this,{
  2037. selection: 1.1,
  2038. textcoercion: 1.1
  2039. })
  2040. }
  2041. return ProjectClientDefaultSetRequirement
  2042. }(DefaultSetRequirement);
  2043. Requirement.ProjectClientDefaultSetRequirement=ProjectClientDefaultSetRequirement;
  2044. var ExcelWebDefaultSetRequirement=function(_super)
  2045. {
  2046. __extends(ExcelWebDefaultSetRequirement,_super);
  2047. function ExcelWebDefaultSetRequirement()
  2048. {
  2049. _super.call(this,{
  2050. bindingevents: 1.1,
  2051. documentevents: 1.1,
  2052. matrixbindings: 1.1,
  2053. matrixcoercion: 1.1,
  2054. selection: 1.1,
  2055. settings: 1.1,
  2056. tablebindings: 1.1,
  2057. tablecoercion: 1.1,
  2058. textbindings: 1.1,
  2059. textcoercion: 1.1,
  2060. file: 1.1
  2061. })
  2062. }
  2063. return ExcelWebDefaultSetRequirement
  2064. }(DefaultSetRequirement);
  2065. Requirement.ExcelWebDefaultSetRequirement=ExcelWebDefaultSetRequirement;
  2066. var WordWebDefaultSetRequirement=function(_super)
  2067. {
  2068. __extends(WordWebDefaultSetRequirement,_super);
  2069. function WordWebDefaultSetRequirement()
  2070. {
  2071. _super.call(this,{
  2072. customxmlparts: 1.1,
  2073. documentevents: 1.1,
  2074. file: 1.1,
  2075. ooxmlcoercion: 1.1,
  2076. selection: 1.1,
  2077. settings: 1.1,
  2078. textcoercion: 1.1
  2079. })
  2080. }
  2081. return WordWebDefaultSetRequirement
  2082. }(DefaultSetRequirement);
  2083. Requirement.WordWebDefaultSetRequirement=WordWebDefaultSetRequirement;
  2084. var PowerpointWebDefaultSetRequirement=function(_super)
  2085. {
  2086. __extends(PowerpointWebDefaultSetRequirement,_super);
  2087. function PowerpointWebDefaultSetRequirement()
  2088. {
  2089. _super.call(this,{
  2090. activeview: 1.1,
  2091. settings: 1.1
  2092. })
  2093. }
  2094. return PowerpointWebDefaultSetRequirement
  2095. }(DefaultSetRequirement);
  2096. Requirement.PowerpointWebDefaultSetRequirement=PowerpointWebDefaultSetRequirement;
  2097. var OutlookWebDefaultSetRequirement=function(_super)
  2098. {
  2099. __extends(OutlookWebDefaultSetRequirement,_super);
  2100. function OutlookWebDefaultSetRequirement()
  2101. {
  2102. _super.call(this,{mailbox: 1.3})
  2103. }
  2104. return OutlookWebDefaultSetRequirement
  2105. }(DefaultSetRequirement);
  2106. Requirement.OutlookWebDefaultSetRequirement=OutlookWebDefaultSetRequirement;
  2107. var SwayWebDefaultSetRequirement=function(_super)
  2108. {
  2109. __extends(SwayWebDefaultSetRequirement,_super);
  2110. function SwayWebDefaultSetRequirement()
  2111. {
  2112. _super.call(this,{
  2113. activeview: 1.1,
  2114. documentevents: 1.1,
  2115. selection: 1.1,
  2116. settings: 1.1,
  2117. textcoercion: 1.1
  2118. })
  2119. }
  2120. return SwayWebDefaultSetRequirement
  2121. }(DefaultSetRequirement);
  2122. Requirement.SwayWebDefaultSetRequirement=SwayWebDefaultSetRequirement;
  2123. var AccessWebDefaultSetRequirement=function(_super)
  2124. {
  2125. __extends(AccessWebDefaultSetRequirement,_super);
  2126. function AccessWebDefaultSetRequirement()
  2127. {
  2128. _super.call(this,{
  2129. bindingevents: 1.1,
  2130. partialtablebindings: 1.1,
  2131. settings: 1.1,
  2132. tablebindings: 1.1,
  2133. tablecoercion: 1.1
  2134. })
  2135. }
  2136. return AccessWebDefaultSetRequirement
  2137. }(DefaultSetRequirement);
  2138. Requirement.AccessWebDefaultSetRequirement=AccessWebDefaultSetRequirement;
  2139. var ExcelIOSDefaultSetRequirement=function(_super)
  2140. {
  2141. __extends(ExcelIOSDefaultSetRequirement,_super);
  2142. function ExcelIOSDefaultSetRequirement()
  2143. {
  2144. _super.call(this,{
  2145. bindingevents: 1.1,
  2146. documentevents: 1.1,
  2147. matrixbindings: 1.1,
  2148. matrixcoercion: 1.1,
  2149. selection: 1.1,
  2150. settings: 1.1,
  2151. tablebindings: 1.1,
  2152. tablecoercion: 1.1,
  2153. textbindings: 1.1,
  2154. textcoercion: 1.1
  2155. })
  2156. }
  2157. return ExcelIOSDefaultSetRequirement
  2158. }(DefaultSetRequirement);
  2159. Requirement.ExcelIOSDefaultSetRequirement=ExcelIOSDefaultSetRequirement;
  2160. var WordIOSDefaultSetRequirement=function(_super)
  2161. {
  2162. __extends(WordIOSDefaultSetRequirement,_super);
  2163. function WordIOSDefaultSetRequirement()
  2164. {
  2165. _super.call(this,{
  2166. bindingevents: 1.1,
  2167. compressedfile: 1.1,
  2168. customxmlparts: 1.1,
  2169. documentevents: 1.1,
  2170. file: 1.1,
  2171. htmlcoercion: 1.1,
  2172. matrixbindings: 1.1,
  2173. matrixcoercion: 1.1,
  2174. ooxmlcoercion: 1.1,
  2175. pdffile: 1.1,
  2176. selection: 1.1,
  2177. settings: 1.1,
  2178. tablebindings: 1.1,
  2179. tablecoercion: 1.1,
  2180. textbindings: 1.1,
  2181. textcoercion: 1.1,
  2182. textfile: 1.1
  2183. })
  2184. }
  2185. return WordIOSDefaultSetRequirement
  2186. }(DefaultSetRequirement);
  2187. Requirement.WordIOSDefaultSetRequirement=WordIOSDefaultSetRequirement;
  2188. var WordIOSV1DefaultSetRequirement=function(_super)
  2189. {
  2190. __extends(WordIOSV1DefaultSetRequirement,_super);
  2191. function WordIOSV1DefaultSetRequirement()
  2192. {
  2193. _super.call(this);
  2194. this._addSetMap({
  2195. customxmlparts: 1.2,
  2196. wordapi: 1.2
  2197. })
  2198. }
  2199. return WordIOSV1DefaultSetRequirement
  2200. }(WordIOSDefaultSetRequirement);
  2201. Requirement.WordIOSV1DefaultSetRequirement=WordIOSV1DefaultSetRequirement;
  2202. var PowerpointIOSDefaultSetRequirement=function(_super)
  2203. {
  2204. __extends(PowerpointIOSDefaultSetRequirement,_super);
  2205. function PowerpointIOSDefaultSetRequirement()
  2206. {
  2207. _super.call(this,{
  2208. activeview: 1.1,
  2209. compressedfile: 1.1,
  2210. documentevents: 1.1,
  2211. file: 1.1,
  2212. pdffile: 1.1,
  2213. selection: 1.1,
  2214. settings: 1.1,
  2215. textcoercion: 1.1
  2216. })
  2217. }
  2218. return PowerpointIOSDefaultSetRequirement
  2219. }(DefaultSetRequirement);
  2220. Requirement.PowerpointIOSDefaultSetRequirement=PowerpointIOSDefaultSetRequirement;
  2221. var OutlookIOSDefaultSetRequirement=function(_super)
  2222. {
  2223. __extends(OutlookIOSDefaultSetRequirement,_super);
  2224. function OutlookIOSDefaultSetRequirement()
  2225. {
  2226. _super.call(this,{mailbox: 1.1})
  2227. }
  2228. return OutlookIOSDefaultSetRequirement
  2229. }(DefaultSetRequirement);
  2230. Requirement.OutlookIOSDefaultSetRequirement=OutlookIOSDefaultSetRequirement;
  2231. var RequirementsMatrixFactory=function()
  2232. {
  2233. function RequirementsMatrixFactory(){}
  2234. RequirementsMatrixFactory.initializeOsfDda=function()
  2235. {
  2236. OSF.OUtil.setNamespace("Requirement",OSF.DDA)
  2237. };
  2238. RequirementsMatrixFactory.getDefaultRequirementMatrix=function(appContext)
  2239. {
  2240. this.initializeDefaultSetMatrix();
  2241. var defaultRequirementMatrix=undefined;
  2242. var clientRequirement=appContext.get_requirementMatrix();
  2243. if(clientRequirement !=undefined && clientRequirement.length > 0 && typeof JSON !=="undefined")
  2244. {
  2245. var matrixItem=JSON.parse(appContext.get_requirementMatrix().toLowerCase());
  2246. defaultRequirementMatrix=new RequirementMatrix(new DefaultSetRequirement(matrixItem))
  2247. }
  2248. else
  2249. {
  2250. var appLocator=RequirementsMatrixFactory.getClientFullVersionString(appContext);
  2251. if(RequirementsMatrixFactory.DefaultSetArrayMatrix !=undefined && RequirementsMatrixFactory.DefaultSetArrayMatrix[appLocator] !=undefined)
  2252. defaultRequirementMatrix=new RequirementMatrix(RequirementsMatrixFactory.DefaultSetArrayMatrix[appLocator]);
  2253. else
  2254. defaultRequirementMatrix=new RequirementMatrix(new DefaultSetRequirement({}))
  2255. }
  2256. return defaultRequirementMatrix
  2257. };
  2258. RequirementsMatrixFactory.getClientFullVersionString=function(appContext)
  2259. {
  2260. var appMinorVersion=appContext.get_appMinorVersion();
  2261. var appMinorVersionString="";
  2262. var appFullVersion="";
  2263. var appName=appContext.get_appName();
  2264. var isIOSClient=appName==1024 || appName==4096 || appName==8192 || appName==65536;
  2265. if(isIOSClient && appContext.get_appVersion()==1)
  2266. if(appName==4096 && appMinorVersion >=15)
  2267. appFullVersion="16.00.01";
  2268. else
  2269. appFullVersion="16.00";
  2270. else if(appContext.get_appName()==64)
  2271. appFullVersion=appContext.get_appVersion();
  2272. else
  2273. {
  2274. if(appMinorVersion < 10)
  2275. appMinorVersionString="0"+appMinorVersion;
  2276. else
  2277. appMinorVersionString=""+appMinorVersion;
  2278. appFullVersion=appContext.get_appVersion()+"."+appMinorVersionString
  2279. }
  2280. return appContext.get_appName()+"-"+appFullVersion
  2281. };
  2282. RequirementsMatrixFactory.initializeDefaultSetMatrix=function()
  2283. {
  2284. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Excel_RCLIENT_1600]=new ExcelClientDefaultSetRequirement;
  2285. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_RCLIENT_1600]=new WordClientDefaultSetRequirement;
  2286. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.PowerPoint_RCLIENT_1600]=new PowerpointClientDefaultSetRequirement;
  2287. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Excel_RCLIENT_1601]=new ExcelClientV1DefaultSetRequirement;
  2288. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_RCLIENT_1601]=new WordClientV1DefaultSetRequirement;
  2289. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.PowerPoint_RCLIENT_1601]=new PowerpointClientV1DefaultSetRequirement;
  2290. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Outlook_RCLIENT_1600]=new OutlookClientDefaultSetRequirement;
  2291. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Excel_WAC_1600]=new ExcelWebDefaultSetRequirement;
  2292. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_WAC_1600]=new WordWebDefaultSetRequirement;
  2293. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Outlook_WAC_1600]=new OutlookWebDefaultSetRequirement;
  2294. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Outlook_WAC_1601]=new OutlookWebDefaultSetRequirement;
  2295. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Project_RCLIENT_1600]=new ProjectClientDefaultSetRequirement;
  2296. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Access_WAC_1600]=new AccessWebDefaultSetRequirement;
  2297. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.PowerPoint_WAC_1600]=new PowerpointWebDefaultSetRequirement;
  2298. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Excel_IOS_1600]=new ExcelIOSDefaultSetRequirement;
  2299. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.SWAY_WAC_1600]=new SwayWebDefaultSetRequirement;
  2300. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_IOS_1600]=new WordIOSDefaultSetRequirement;
  2301. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_IOS_16001]=new WordIOSV1DefaultSetRequirement;
  2302. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.PowerPoint_IOS_1600]=new PowerpointIOSDefaultSetRequirement;
  2303. RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Outlook_IOS_1600]=new OutlookIOSDefaultSetRequirement
  2304. };
  2305. RequirementsMatrixFactory.Excel_RCLIENT_1600="1-16.00";
  2306. RequirementsMatrixFactory.Excel_RCLIENT_1601="1-16.01";
  2307. RequirementsMatrixFactory.Word_RCLIENT_1600="2-16.00";
  2308. RequirementsMatrixFactory.Word_RCLIENT_1601="2-16.01";
  2309. RequirementsMatrixFactory.PowerPoint_RCLIENT_1600="4-16.00";
  2310. RequirementsMatrixFactory.PowerPoint_RCLIENT_1601="4-16.01";
  2311. RequirementsMatrixFactory.Outlook_RCLIENT_1600="8-16.00";
  2312. RequirementsMatrixFactory.Excel_WAC_1600="16-16.00";
  2313. RequirementsMatrixFactory.Word_WAC_1600="32-16.00";
  2314. RequirementsMatrixFactory.Outlook_WAC_1600="64-16.00";
  2315. RequirementsMatrixFactory.Outlook_WAC_1601="64-16.01";
  2316. RequirementsMatrixFactory.Project_RCLIENT_1600="128-16.00";
  2317. RequirementsMatrixFactory.Access_WAC_1600="256-16.00";
  2318. RequirementsMatrixFactory.PowerPoint_WAC_1600="512-16.00";
  2319. RequirementsMatrixFactory.Excel_IOS_1600="1024-16.00";
  2320. RequirementsMatrixFactory.SWAY_WAC_1600="2048-16.00";
  2321. RequirementsMatrixFactory.Word_IOS_1600="4096-16.00";
  2322. RequirementsMatrixFactory.Word_IOS_16001="4096-16.00.01";
  2323. RequirementsMatrixFactory.PowerPoint_IOS_1600="8192-16.00";
  2324. RequirementsMatrixFactory.Outlook_IOS_1600="65536-16.00";
  2325. RequirementsMatrixFactory.DefaultSetArrayMatrix={};
  2326. return RequirementsMatrixFactory
  2327. }();
  2328. Requirement.RequirementsMatrixFactory=RequirementsMatrixFactory
  2329. })(Requirement=OfficeExt.Requirement || (OfficeExt.Requirement={}))
  2330. })(OfficeExt || (OfficeExt={}));
  2331. OfficeExt.Requirement.RequirementsMatrixFactory.initializeOsfDda();
  2332. Microsoft.Office.WebExtension.ApplicationMode={
  2333. WebEditor: "webEditor",
  2334. WebViewer: "webViewer",
  2335. Client: "client"
  2336. };
  2337. Microsoft.Office.WebExtension.DocumentMode={
  2338. ReadOnly: "readOnly",
  2339. ReadWrite: "readWrite"
  2340. };
  2341. OSF.NamespaceManager=function OSF_NamespaceManager()
  2342. {
  2343. var _userOffice;
  2344. var _useShortcut=false;
  2345. return{
  2346. enableShortcut: function OSF_NamespaceManager$enableShortcut()
  2347. {
  2348. if(!_useShortcut)
  2349. {
  2350. if(window.Office)
  2351. _userOffice=window.Office;
  2352. else
  2353. OSF.OUtil.setNamespace("Office",window);
  2354. window.Office=Microsoft.Office.WebExtension;
  2355. _useShortcut=true
  2356. }
  2357. },
  2358. disableShortcut: function OSF_NamespaceManager$disableShortcut()
  2359. {
  2360. if(_useShortcut)
  2361. {
  2362. if(_userOffice)
  2363. window.Office=_userOffice;
  2364. else
  2365. OSF.OUtil.unsetNamespace("Office",window);
  2366. _useShortcut=false
  2367. }
  2368. }
  2369. }
  2370. }();
  2371. OSF.NamespaceManager.enableShortcut();
  2372. Microsoft.Office.WebExtension.useShortNamespace=function Microsoft_Office_WebExtension_useShortNamespace(useShortcut)
  2373. {
  2374. if(useShortcut)
  2375. OSF.NamespaceManager.enableShortcut();
  2376. else
  2377. OSF.NamespaceManager.disableShortcut()
  2378. };
  2379. Microsoft.Office.WebExtension.select=function Microsoft_Office_WebExtension_select(str, errorCallback)
  2380. {
  2381. var promise;
  2382. if(str && typeof str=="string")
  2383. {
  2384. var index=str.indexOf("#");
  2385. if(index !=-1)
  2386. {
  2387. var op=str.substring(0,index);
  2388. var target=str.substring(index+1);
  2389. switch(op)
  2390. {
  2391. case"binding":
  2392. case"bindings":
  2393. if(target)
  2394. promise=new OSF.DDA.BindingPromise(target);
  2395. break
  2396. }
  2397. }
  2398. }
  2399. if(!promise)
  2400. {
  2401. if(errorCallback)
  2402. {
  2403. var callbackType=typeof errorCallback;
  2404. if(callbackType=="function")
  2405. {
  2406. var callArgs={};
  2407. callArgs[Microsoft.Office.WebExtension.Parameters.Callback]=errorCallback;
  2408. OSF.DDA.issueAsyncResult(callArgs,OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidApiCallInContext,OSF.DDA.ErrorCodeManager.getErrorArgs(OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidApiCallInContext))
  2409. }
  2410. else
  2411. throw OSF.OUtil.formatString(Strings.OfficeOM.L_CallbackNotAFunction,callbackType);
  2412. }
  2413. }
  2414. else
  2415. {
  2416. promise.onFail=errorCallback;
  2417. return promise
  2418. }
  2419. };
  2420. OSF.DDA.Context=function OSF_DDA_Context(officeAppContext, document, license, appOM, getOfficeTheme)
  2421. {
  2422. OSF.OUtil.defineEnumerableProperties(this,{
  2423. contentLanguage: {value: officeAppContext.get_dataLocale()},
  2424. displayLanguage: {value: officeAppContext.get_appUILocale()},
  2425. touchEnabled: {value: officeAppContext.get_touchEnabled()},
  2426. commerceAllowed: {value: officeAppContext.get_commerceAllowed()}
  2427. });
  2428. if(license)
  2429. OSF.OUtil.defineEnumerableProperty(this,"license",{value: license});
  2430. if(officeAppContext.ui)
  2431. OSF.OUtil.defineEnumerableProperty(this,"ui",{value: officeAppContext.ui});
  2432. if(!officeAppContext.get_isDialog())
  2433. {
  2434. if(document)
  2435. OSF.OUtil.defineEnumerableProperty(this,"document",{value: document});
  2436. if(appOM)
  2437. {
  2438. var displayName=appOM.displayName || "appOM";
  2439. delete appOM.displayName;
  2440. OSF.OUtil.defineEnumerableProperty(this,displayName,{value: appOM})
  2441. }
  2442. if(getOfficeTheme)
  2443. OSF.OUtil.defineEnumerableProperty(this,"officeTheme",{get: function()
  2444. {
  2445. return getOfficeTheme()
  2446. }});
  2447. var requirements=OfficeExt.Requirement.RequirementsMatrixFactory.getDefaultRequirementMatrix(officeAppContext);
  2448. OSF.OUtil.defineEnumerableProperty(this,"requirements",{value: requirements})
  2449. }
  2450. };
  2451. OSF.DDA.OutlookContext=function OSF_DDA_OutlookContext(appContext, settings, license, appOM, getOfficeTheme)
  2452. {
  2453. OSF.DDA.OutlookContext.uber.constructor.call(this,appContext,null,license,appOM,getOfficeTheme);
  2454. if(settings)
  2455. OSF.OUtil.defineEnumerableProperty(this,"roamingSettings",{value: settings})
  2456. };
  2457. OSF.OUtil.extend(OSF.DDA.OutlookContext,OSF.DDA.Context);
  2458. OSF.DDA.OutlookAppOm=function OSF_DDA_OutlookAppOm(appContext, window, appReady){};
  2459. OSF.DDA.Document=function OSF_DDA_Document(officeAppContext, settings)
  2460. {
  2461. var mode;
  2462. switch(officeAppContext.get_clientMode())
  2463. {
  2464. case OSF.ClientMode.ReadOnly:
  2465. mode=Microsoft.Office.WebExtension.DocumentMode.ReadOnly;
  2466. break;
  2467. case OSF.ClientMode.ReadWrite:
  2468. mode=Microsoft.Office.WebExtension.DocumentMode.ReadWrite;
  2469. break
  2470. }
  2471. if(settings)
  2472. OSF.OUtil.defineEnumerableProperty(this,"settings",{value: settings});
  2473. OSF.OUtil.defineMutableProperties(this,{
  2474. mode: {value: mode},
  2475. url: {value: officeAppContext.get_docUrl()}
  2476. })
  2477. };
  2478. OSF.DDA.JsomDocument=function OSF_DDA_JsomDocument(officeAppContext, bindingFacade, settings)
  2479. {
  2480. OSF.DDA.JsomDocument.uber.constructor.call(this,officeAppContext,settings);
  2481. if(bindingFacade)
  2482. OSF.OUtil.defineEnumerableProperty(this,"bindings",{get: function OSF_DDA_Document$GetBindings()
  2483. {
  2484. return bindingFacade
  2485. }});
  2486. var am=OSF.DDA.AsyncMethodNames;
  2487. OSF.DDA.DispIdHost.addAsyncMethods(this,[am.GetSelectedDataAsync,am.SetSelectedDataAsync]);
  2488. OSF.DDA.DispIdHost.addEventSupport(this,new OSF.EventDispatch([Microsoft.Office.WebExtension.EventType.DocumentSelectionChanged]))
  2489. };
  2490. OSF.OUtil.extend(OSF.DDA.JsomDocument,OSF.DDA.Document);
  2491. OSF.OUtil.defineEnumerableProperty(Microsoft.Office.WebExtension,"context",{get: function Microsoft_Office_WebExtension$GetContext()
  2492. {
  2493. var context;
  2494. if(OSF && OSF._OfficeAppFactory)
  2495. context=OSF._OfficeAppFactory.getContext();
  2496. return context
  2497. }});
  2498. OSF.DDA.License=function OSF_DDA_License(eToken)
  2499. {
  2500. OSF.OUtil.defineEnumerableProperty(this,"value",{value: eToken})
  2501. };
  2502. OSF.DDA.ApiMethodCall=function OSF_DDA_ApiMethodCall(requiredParameters, supportedOptions, privateStateCallbacks, checkCallArgs, displayName)
  2503. {
  2504. var requiredCount=requiredParameters.length;
  2505. var getInvalidParameterString=OSF.OUtil.delayExecutionAndCache(function()
  2506. {
  2507. return OSF.OUtil.formatString(Strings.OfficeOM.L_InvalidParameters,displayName)
  2508. });
  2509. this.verifyArguments=function OSF_DDA_ApiMethodCall$VerifyArguments(params, args)
  2510. {
  2511. for(var name in params)
  2512. {
  2513. var param=params[name];
  2514. var arg=args[name];
  2515. if(param["enum"])
  2516. switch(typeof arg)
  2517. {
  2518. case"string":
  2519. if(OSF.OUtil.listContainsValue(param["enum"],arg))
  2520. break;
  2521. case"undefined":
  2522. throw OSF.DDA.ErrorCodeManager.errorCodes.ooeUnsupportedEnumeration;
  2523. default:
  2524. throw getInvalidParameterString();
  2525. }
  2526. if(param["types"])
  2527. if(!OSF.OUtil.listContainsValue(param["types"],typeof arg))
  2528. throw getInvalidParameterString();
  2529. }
  2530. };
  2531. this.extractRequiredArguments=function OSF_DDA_ApiMethodCall$ExtractRequiredArguments(userArgs, caller, stateInfo)
  2532. {
  2533. if(userArgs.length < requiredCount)
  2534. throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_MissingRequiredArguments);
  2535. var requiredArgs=[];
  2536. var index;
  2537. for(index=0; index < requiredCount; index++)
  2538. requiredArgs.push(userArgs[index]);
  2539. this.verifyArguments(requiredParameters,requiredArgs);
  2540. var ret={};
  2541. for(index=0; index < requiredCount; index++)
  2542. {
  2543. var param=requiredParameters[index];
  2544. var arg=requiredArgs[index];
  2545. if(param.verify)
  2546. {
  2547. var isValid=param.verify(arg,caller,stateInfo);
  2548. if(!isValid)
  2549. throw getInvalidParameterString();
  2550. }
  2551. ret[param.name]=arg
  2552. }
  2553. return ret
  2554. },this.fillOptions=function OSF_DDA_ApiMethodCall$FillOptions(options, requiredArgs, caller, stateInfo)
  2555. {
  2556. options=options || {};
  2557. for(var optionName in supportedOptions)
  2558. if(!OSF.OUtil.listContainsKey(options,optionName))
  2559. {
  2560. var value=undefined;
  2561. var option=supportedOptions[optionName];
  2562. if(option.calculate && requiredArgs)
  2563. value=option.calculate(requiredArgs,caller,stateInfo);
  2564. if(!value && option.defaultValue !==undefined)
  2565. value=option.defaultValue;
  2566. options[optionName]=value
  2567. }
  2568. return options
  2569. };
  2570. this.constructCallArgs=function OSF_DAA_ApiMethodCall$ConstructCallArgs(required, options, caller, stateInfo)
  2571. {
  2572. var callArgs={};
  2573. for(var r in required)
  2574. callArgs[r]=required[r];
  2575. for(var o in options)
  2576. callArgs[o]=options[o];
  2577. for(var s in privateStateCallbacks)
  2578. callArgs[s]=privateStateCallbacks[s](caller,stateInfo);
  2579. if(checkCallArgs)
  2580. callArgs=checkCallArgs(callArgs,caller,stateInfo);
  2581. return callArgs
  2582. }
  2583. };
  2584. OSF.OUtil.setNamespace("AsyncResultEnum",OSF.DDA);
  2585. OSF.DDA.AsyncResultEnum.Properties={
  2586. Context: "Context",
  2587. Value: "Value",
  2588. Status: "Status",
  2589. Error: "Error"
  2590. };
  2591. Microsoft.Office.WebExtension.AsyncResultStatus={
  2592. Succeeded: "succeeded",
  2593. Failed: "failed"
  2594. };
  2595. OSF.DDA.AsyncResultEnum.ErrorCode={
  2596. Success: 0,
  2597. Failed: 1
  2598. };
  2599. OSF.DDA.AsyncResultEnum.ErrorProperties={
  2600. Name: "Name",
  2601. Message: "Message",
  2602. Code: "Code"
  2603. };
  2604. OSF.DDA.AsyncMethodNames={};
  2605. OSF.DDA.AsyncMethodNames.addNames=function(methodNames)
  2606. {
  2607. for(var entry in methodNames)
  2608. {
  2609. var am={};
  2610. OSF.OUtil.defineEnumerableProperties(am,{
  2611. id: {value: entry},
  2612. displayName: {value: methodNames[entry]}
  2613. });
  2614. OSF.DDA.AsyncMethodNames[entry]=am
  2615. }
  2616. };
  2617. OSF.DDA.AsyncMethodCall=function OSF_DDA_AsyncMethodCall(requiredParameters, supportedOptions, privateStateCallbacks, onSucceeded, onFailed, checkCallArgs, displayName)
  2618. {
  2619. var requiredCount=requiredParameters.length;
  2620. var apiMethods=new OSF.DDA.ApiMethodCall(requiredParameters,supportedOptions,privateStateCallbacks,checkCallArgs,displayName);
  2621. function OSF_DAA_AsyncMethodCall$ExtractOptions(userArgs, requiredArgs, caller, stateInfo)
  2622. {
  2623. if(userArgs.length > requiredCount+2)
  2624. throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyArguments);
  2625. var options,
  2626. parameterCallback;
  2627. for(var i=userArgs.length - 1; i >=requiredCount; i--)
  2628. {
  2629. var argument=userArgs[i];
  2630. switch(typeof argument)
  2631. {
  2632. case"object":
  2633. if(options)
  2634. throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyOptionalObjects);
  2635. else
  2636. options=argument;
  2637. break;
  2638. case"function":
  2639. if(parameterCallback)
  2640. throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyOptionalFunction);
  2641. else
  2642. parameterCallback=argument;
  2643. break;
  2644. default:
  2645. throw OsfMsAjaxFactory.msAjaxError.argument(Strings.OfficeOM.L_InValidOptionalArgument);
  2646. break
  2647. }
  2648. }
  2649. options=apiMethods.fillOptions(options,requiredArgs,caller,stateInfo);
  2650. if(parameterCallback)
  2651. if(options[Microsoft.Office.WebExtension.Parameters.Callback])
  2652. throw Strings.OfficeOM.L_RedundantCallbackSpecification;
  2653. else
  2654. options[Microsoft.Office.WebExtension.Parameters.Callback]=parameterCallback;
  2655. apiMethods.verifyArguments(supportedOptions,options);
  2656. return options
  2657. }
  2658. this.verifyAndExtractCall=function OSF_DAA_AsyncMethodCall$VerifyAndExtractCall(userArgs, caller, stateInfo)
  2659. {
  2660. var required=apiMethods.extractRequiredArguments(userArgs,caller,stateInfo);
  2661. var options=OSF_DAA_AsyncMethodCall$ExtractOptions(userArgs,required,caller,stateInfo);
  2662. var callArgs=apiMethods.constructCallArgs(required,options,caller,stateInfo);
  2663. return callArgs
  2664. };
  2665. this.processResponse=function OSF_DAA_AsyncMethodCall$ProcessResponse(status, response, caller, callArgs)
  2666. {
  2667. var payload;
  2668. if(status==OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
  2669. if(onSucceeded)
  2670. payload=onSucceeded(response,caller,callArgs);
  2671. else
  2672. payload=response;
  2673. else if(onFailed)
  2674. payload=onFailed(status,response);
  2675. else
  2676. payload=OSF.DDA.ErrorCodeManager.getErrorArgs(status);
  2677. return payload
  2678. };
  2679. this.getCallArgs=function(suppliedArgs)
  2680. {
  2681. var options,
  2682. parameterCallback;
  2683. for(var i=suppliedArgs.length - 1; i >=requiredCount; i--)
  2684. {
  2685. var argument=suppliedArgs[i];
  2686. switch(typeof argument)
  2687. {
  2688. case"object":
  2689. options=argument;
  2690. break;
  2691. case"function":
  2692. parameterCallback=argument;
  2693. break
  2694. }
  2695. }
  2696. options=options || {};
  2697. if(parameterCallback)
  2698. options[Microsoft.Office.WebExtension.Parameters.Callback]=parameterCallback;
  2699. return options
  2700. }
  2701. };
  2702. OSF.DDA.AsyncMethodCallFactory=function()
  2703. {
  2704. return{manufacture: function(params)
  2705. {
  2706. var supportedOptions=params.supportedOptions ? OSF.OUtil.createObject(params.supportedOptions) : [];
  2707. var privateStateCallbacks=params.privateStateCallbacks ? OSF.OUtil.createObject(params.privateStateCallbacks) : [];
  2708. return new OSF.DDA.AsyncMethodCall(params.requiredArguments || [],supportedOptions,privateStateCallbacks,params.onSucceeded,params.onFailed,params.checkCallArgs,params.method.displayName)
  2709. }}
  2710. }();
  2711. OSF.DDA.AsyncMethodCalls={};
  2712. OSF.DDA.AsyncMethodCalls.define=function(callDefinition)
  2713. {
  2714. OSF.DDA.AsyncMethodCalls[callDefinition.method.id]=OSF.DDA.AsyncMethodCallFactory.manufacture(callDefinition)
  2715. };
  2716. OSF.DDA.Error=function OSF_DDA_Error(name, message, code)
  2717. {
  2718. OSF.OUtil.defineEnumerableProperties(this,{
  2719. name: {value: name},
  2720. message: {value: message},
  2721. code: {value: code}
  2722. })
  2723. };
  2724. OSF.DDA.AsyncResult=function OSF_DDA_AsyncResult(initArgs, errorArgs)
  2725. {
  2726. OSF.OUtil.defineEnumerableProperties(this,{
  2727. value: {value: initArgs[OSF.DDA.AsyncResultEnum.Properties.Value]},
  2728. status: {value: errorArgs ? Microsoft.Office.WebExtension.AsyncResultStatus.Failed : Microsoft.Office.WebExtension.AsyncResultStatus.Succeeded}
  2729. });
  2730. if(initArgs[OSF.DDA.AsyncResultEnum.Properties.Context])
  2731. OSF.OUtil.defineEnumerableProperty(this,"asyncContext",{value: initArgs[OSF.DDA.AsyncResultEnum.Properties.Context]});
  2732. if(errorArgs)
  2733. OSF.OUtil.defineEnumerableProperty(this,"error",{value: new OSF.DDA.Error(errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Name],errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Message],errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Code])})
  2734. };
  2735. OSF.DDA.issueAsyncResult=function OSF_DDA$IssueAsyncResult(callArgs, status, payload)
  2736. {
  2737. var callback=callArgs[Microsoft.Office.WebExtension.Parameters.Callback];
  2738. if(callback)
  2739. {
  2740. var asyncInitArgs={};
  2741. asyncInitArgs[OSF.DDA.AsyncResultEnum.Properties.Context]=callArgs[Microsoft.Office.WebExtension.Parameters.AsyncContext];
  2742. var errorArgs;
  2743. if(status==OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
  2744. asyncInitArgs[OSF.DDA.AsyncResultEnum.Properties.Value]=payload;
  2745. else
  2746. {
  2747. errorArgs={};
  2748. payload=payload || OSF.DDA.ErrorCodeManager.getErrorArgs(OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError);
  2749. errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Code]=status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  2750. errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Name]=payload.name || payload;
  2751. errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Message]=payload.message || payload
  2752. }
  2753. callback(new OSF.DDA.AsyncResult(asyncInitArgs,errorArgs))
  2754. }
  2755. };
  2756. OSF.DDA.SyncMethodNames={};
  2757. OSF.DDA.SyncMethodNames.addNames=function(methodNames)
  2758. {
  2759. for(var entry in methodNames)
  2760. {
  2761. var am={};
  2762. OSF.OUtil.defineEnumerableProperties(am,{
  2763. id: {value: entry},
  2764. displayName: {value: methodNames[entry]}
  2765. });
  2766. OSF.DDA.SyncMethodNames[entry]=am
  2767. }
  2768. };
  2769. OSF.DDA.SyncMethodCall=function OSF_DDA_SyncMethodCall(requiredParameters, supportedOptions, privateStateCallbacks, checkCallArgs, displayName)
  2770. {
  2771. var requiredCount=requiredParameters.length;
  2772. var apiMethods=new OSF.DDA.ApiMethodCall(requiredParameters,supportedOptions,privateStateCallbacks,checkCallArgs,displayName);
  2773. function OSF_DAA_SyncMethodCall$ExtractOptions(userArgs, requiredArgs, caller, stateInfo)
  2774. {
  2775. if(userArgs.length > requiredCount+1)
  2776. throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyArguments);
  2777. var options,
  2778. parameterCallback;
  2779. for(var i=userArgs.length - 1; i >=requiredCount; i--)
  2780. {
  2781. var argument=userArgs[i];
  2782. switch(typeof argument)
  2783. {
  2784. case"object":
  2785. if(options)
  2786. throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyOptionalObjects);
  2787. else
  2788. options=argument;
  2789. break;
  2790. default:
  2791. throw OsfMsAjaxFactory.msAjaxError.argument(Strings.OfficeOM.L_InValidOptionalArgument);
  2792. break
  2793. }
  2794. }
  2795. options=apiMethods.fillOptions(options,requiredArgs,caller,stateInfo);
  2796. apiMethods.verifyArguments(supportedOptions,options);
  2797. return options
  2798. }
  2799. this.verifyAndExtractCall=function OSF_DAA_AsyncMethodCall$VerifyAndExtractCall(userArgs, caller, stateInfo)
  2800. {
  2801. var required=apiMethods.extractRequiredArguments(userArgs,caller,stateInfo);
  2802. var options=OSF_DAA_SyncMethodCall$ExtractOptions(userArgs,required,caller,stateInfo);
  2803. var callArgs=apiMethods.constructCallArgs(required,options,caller,stateInfo);
  2804. return callArgs
  2805. }
  2806. };
  2807. OSF.DDA.SyncMethodCallFactory=function()
  2808. {
  2809. return{manufacture: function(params)
  2810. {
  2811. var supportedOptions=params.supportedOptions ? OSF.OUtil.createObject(params.supportedOptions) : [];
  2812. return new OSF.DDA.SyncMethodCall(params.requiredArguments || [],supportedOptions,params.privateStateCallbacks,params.checkCallArgs,params.method.displayName)
  2813. }}
  2814. }();
  2815. OSF.DDA.SyncMethodCalls={};
  2816. OSF.DDA.SyncMethodCalls.define=function(callDefinition)
  2817. {
  2818. OSF.DDA.SyncMethodCalls[callDefinition.method.id]=OSF.DDA.SyncMethodCallFactory.manufacture(callDefinition)
  2819. };
  2820. OSF.DDA.ListType=function()
  2821. {
  2822. var listTypes={};
  2823. return{
  2824. setListType: function OSF_DDA_ListType$AddListType(t, prop)
  2825. {
  2826. listTypes[t]=prop
  2827. },
  2828. isListType: function OSF_DDA_ListType$IsListType(t)
  2829. {
  2830. return OSF.OUtil.listContainsKey(listTypes,t)
  2831. },
  2832. getDescriptor: function OSF_DDA_ListType$getDescriptor(t)
  2833. {
  2834. return listTypes[t]
  2835. }
  2836. }
  2837. }();
  2838. OSF.DDA.HostParameterMap=function(specialProcessor, mappings)
  2839. {
  2840. var toHostMap="toHost";
  2841. var fromHostMap="fromHost";
  2842. var self="self";
  2843. var dynamicTypes={};
  2844. dynamicTypes[Microsoft.Office.WebExtension.Parameters.Data]={
  2845. toHost: function(data)
  2846. {
  2847. if(data !=null && data.rows !==undefined)
  2848. {
  2849. var tableData={};
  2850. tableData[OSF.DDA.TableDataProperties.TableRows]=data.rows;
  2851. tableData[OSF.DDA.TableDataProperties.TableHeaders]=data.headers;
  2852. data=tableData
  2853. }
  2854. return data
  2855. },
  2856. fromHost: function(args)
  2857. {
  2858. return args
  2859. }
  2860. };
  2861. dynamicTypes[Microsoft.Office.WebExtension.Parameters.SampleData]=dynamicTypes[Microsoft.Office.WebExtension.Parameters.Data];
  2862. function mapValues(preimageSet, mapping)
  2863. {
  2864. var ret=preimageSet ? {} : undefined;
  2865. for(var entry in preimageSet)
  2866. {
  2867. var preimage=preimageSet[entry];
  2868. var image;
  2869. if(OSF.DDA.ListType.isListType(entry))
  2870. {
  2871. image=[];
  2872. for(var subEntry in preimage)
  2873. image.push(mapValues(preimage[subEntry],mapping))
  2874. }
  2875. else if(OSF.OUtil.listContainsKey(dynamicTypes,entry))
  2876. image=dynamicTypes[entry][mapping](preimage);
  2877. else if(mapping==fromHostMap && specialProcessor.preserveNesting(entry))
  2878. image=mapValues(preimage,mapping);
  2879. else
  2880. {
  2881. var maps=mappings[entry];
  2882. if(maps)
  2883. {
  2884. var map=maps[mapping];
  2885. if(map)
  2886. {
  2887. image=map[preimage];
  2888. if(image===undefined)
  2889. image=preimage
  2890. }
  2891. }
  2892. else
  2893. image=preimage
  2894. }
  2895. ret[entry]=image
  2896. }
  2897. return ret
  2898. }
  2899. function generateArguments(imageSet, parameters)
  2900. {
  2901. var ret;
  2902. for(var param in parameters)
  2903. {
  2904. var arg;
  2905. if(specialProcessor.isComplexType(param))
  2906. arg=generateArguments(imageSet,mappings[param][toHostMap]);
  2907. else
  2908. arg=imageSet[param];
  2909. if(arg !=undefined)
  2910. {
  2911. if(!ret)
  2912. ret={};
  2913. var index=parameters[param];
  2914. if(index==self)
  2915. index=param;
  2916. ret[index]=specialProcessor.pack(param,arg)
  2917. }
  2918. }
  2919. return ret
  2920. }
  2921. function extractArguments(source, parameters, extracted)
  2922. {
  2923. if(!extracted)
  2924. extracted={};
  2925. for(var param in parameters)
  2926. {
  2927. var index=parameters[param];
  2928. var value;
  2929. if(index==self)
  2930. value=source;
  2931. else
  2932. value=source[index];
  2933. if(value===null || value===undefined)
  2934. extracted[param]=undefined;
  2935. else
  2936. {
  2937. value=specialProcessor.unpack(param,value);
  2938. var map;
  2939. if(specialProcessor.isComplexType(param))
  2940. {
  2941. map=mappings[param][fromHostMap];
  2942. if(specialProcessor.preserveNesting(param))
  2943. extracted[param]=extractArguments(value,map);
  2944. else
  2945. extractArguments(value,map,extracted)
  2946. }
  2947. else if(OSF.DDA.ListType.isListType(param))
  2948. {
  2949. map={};
  2950. var entryDescriptor=OSF.DDA.ListType.getDescriptor(param);
  2951. map[entryDescriptor]=self;
  2952. var extractedValues=new Array(value.length);
  2953. for(var item in value)
  2954. extractedValues[item]=extractArguments(value[item],map);
  2955. extracted[param]=extractedValues
  2956. }
  2957. else
  2958. extracted[param]=value
  2959. }
  2960. }
  2961. return extracted
  2962. }
  2963. function applyMap(mapName, preimage, mapping)
  2964. {
  2965. var parameters=mappings[mapName][mapping];
  2966. var image;
  2967. if(mapping=="toHost")
  2968. {
  2969. var imageSet=mapValues(preimage,mapping);
  2970. image=generateArguments(imageSet,parameters)
  2971. }
  2972. else if(mapping=="fromHost")
  2973. {
  2974. var argumentSet=extractArguments(preimage,parameters);
  2975. image=mapValues(argumentSet,mapping)
  2976. }
  2977. return image
  2978. }
  2979. if(!mappings)
  2980. mappings={};
  2981. this.addMapping=function(mapName, description)
  2982. {
  2983. var toHost,
  2984. fromHost;
  2985. if(description.map)
  2986. {
  2987. toHost=description.map;
  2988. fromHost={};
  2989. for(var preimage in toHost)
  2990. {
  2991. var image=toHost[preimage];
  2992. if(image==self)
  2993. image=preimage;
  2994. fromHost[image]=preimage
  2995. }
  2996. }
  2997. else
  2998. {
  2999. toHost=description.toHost;
  3000. fromHost=description.fromHost
  3001. }
  3002. var pair=mappings[mapName];
  3003. if(pair)
  3004. {
  3005. var currMap=pair[toHostMap];
  3006. for(var th in currMap)
  3007. toHost[th]=currMap[th];
  3008. currMap=pair[fromHostMap];
  3009. for(var fh in currMap)
  3010. fromHost[fh]=currMap[fh]
  3011. }
  3012. else
  3013. pair=mappings[mapName]={};
  3014. pair[toHostMap]=toHost;
  3015. pair[fromHostMap]=fromHost
  3016. };
  3017. this.toHost=function(mapName, preimage)
  3018. {
  3019. return applyMap(mapName,preimage,toHostMap)
  3020. };
  3021. this.fromHost=function(mapName, image)
  3022. {
  3023. return applyMap(mapName,image,fromHostMap)
  3024. };
  3025. this.self=self;
  3026. this.addComplexType=function(ct)
  3027. {
  3028. specialProcessor.addComplexType(ct)
  3029. };
  3030. this.getDynamicType=function(dt)
  3031. {
  3032. return specialProcessor.getDynamicType(dt)
  3033. };
  3034. this.setDynamicType=function(dt, handler)
  3035. {
  3036. specialProcessor.setDynamicType(dt,handler)
  3037. };
  3038. this.dynamicTypes=dynamicTypes;
  3039. this.doMapValues=function(preimageSet, mapping)
  3040. {
  3041. return mapValues(preimageSet,mapping)
  3042. }
  3043. };
  3044. OSF.DDA.SpecialProcessor=function(complexTypes, dynamicTypes)
  3045. {
  3046. this.addComplexType=function OSF_DDA_SpecialProcessor$addComplexType(ct)
  3047. {
  3048. complexTypes.push(ct)
  3049. };
  3050. this.getDynamicType=function OSF_DDA_SpecialProcessor$getDynamicType(dt)
  3051. {
  3052. return dynamicTypes[dt]
  3053. };
  3054. this.setDynamicType=function OSF_DDA_SpecialProcessor$setDynamicType(dt, handler)
  3055. {
  3056. dynamicTypes[dt]=handler
  3057. };
  3058. this.isComplexType=function OSF_DDA_SpecialProcessor$isComplexType(t)
  3059. {
  3060. return OSF.OUtil.listContainsValue(complexTypes,t)
  3061. };
  3062. this.isDynamicType=function OSF_DDA_SpecialProcessor$isDynamicType(p)
  3063. {
  3064. return OSF.OUtil.listContainsKey(dynamicTypes,p)
  3065. };
  3066. this.preserveNesting=function OSF_DDA_SpecialProcessor$preserveNesting(p)
  3067. {
  3068. var pn=[];
  3069. if(OSF.DDA.PropertyDescriptors)
  3070. pn.push(OSF.DDA.PropertyDescriptors.Subset);
  3071. if(OSF.DDA.DataNodeEventProperties)
  3072. pn=pn.concat([OSF.DDA.DataNodeEventProperties.OldNode,OSF.DDA.DataNodeEventProperties.NewNode,OSF.DDA.DataNodeEventProperties.NextSiblingNode]);
  3073. return OSF.OUtil.listContainsValue(pn,p)
  3074. };
  3075. this.pack=function OSF_DDA_SpecialProcessor$pack(param, arg)
  3076. {
  3077. var value;
  3078. if(this.isDynamicType(param))
  3079. value=dynamicTypes[param].toHost(arg);
  3080. else
  3081. value=arg;
  3082. return value
  3083. };
  3084. this.unpack=function OSF_DDA_SpecialProcessor$unpack(param, arg)
  3085. {
  3086. var value;
  3087. if(this.isDynamicType(param))
  3088. value=dynamicTypes[param].fromHost(arg);
  3089. else
  3090. value=arg;
  3091. return value
  3092. }
  3093. };
  3094. OSF.DDA.getDecoratedParameterMap=function(specialProcessor, initialDefs)
  3095. {
  3096. var parameterMap=new OSF.DDA.HostParameterMap(specialProcessor);
  3097. var self=parameterMap.self;
  3098. function createObject(properties)
  3099. {
  3100. var obj=null;
  3101. if(properties)
  3102. {
  3103. obj={};
  3104. var len=properties.length;
  3105. for(var i=0; i < len; i++)
  3106. obj[properties[i].name]=properties[i].value
  3107. }
  3108. return obj
  3109. }
  3110. parameterMap.define=function define(definition)
  3111. {
  3112. var args={};
  3113. var toHost=createObject(definition.toHost);
  3114. if(definition.invertible)
  3115. args.map=toHost;
  3116. else if(definition.canonical)
  3117. args.toHost=args.fromHost=toHost;
  3118. else
  3119. {
  3120. args.toHost=toHost;
  3121. args.fromHost=createObject(definition.fromHost)
  3122. }
  3123. parameterMap.addMapping(definition.type,args);
  3124. if(definition.isComplexType)
  3125. parameterMap.addComplexType(definition.type)
  3126. };
  3127. for(var id in initialDefs)
  3128. parameterMap.define(initialDefs[id]);
  3129. return parameterMap
  3130. };
  3131. OSF.OUtil.setNamespace("DispIdHost",OSF.DDA);
  3132. OSF.DDA.DispIdHost.Methods={
  3133. InvokeMethod: "invokeMethod",
  3134. AddEventHandler: "addEventHandler",
  3135. RemoveEventHandler: "removeEventHandler",
  3136. OpenDialog: "openDialog",
  3137. CloseDialog: "closeDialog",
  3138. MessageParent: "messageParent"
  3139. };
  3140. OSF.DDA.DispIdHost.Delegates={
  3141. ExecuteAsync: "executeAsync",
  3142. RegisterEventAsync: "registerEventAsync",
  3143. UnregisterEventAsync: "unregisterEventAsync",
  3144. ParameterMap: "parameterMap",
  3145. OpenDialog: "openDialog",
  3146. CloseDialog: "closeDialog",
  3147. MessageParent: "messageParent"
  3148. };
  3149. OSF.DDA.DispIdHost.Facade=function OSF_DDA_DispIdHost_Facade(getDelegateMethods, parameterMap)
  3150. {
  3151. var dispIdMap={};
  3152. var jsom=OSF.DDA.AsyncMethodNames;
  3153. var did=OSF.DDA.MethodDispId;
  3154. var methodMap={
  3155. GoToByIdAsync: did.dispidNavigateToMethod,
  3156. GetSelectedDataAsync: did.dispidGetSelectedDataMethod,
  3157. SetSelectedDataAsync: did.dispidSetSelectedDataMethod,
  3158. GetDocumentCopyChunkAsync: did.dispidGetDocumentCopyChunkMethod,
  3159. ReleaseDocumentCopyAsync: did.dispidReleaseDocumentCopyMethod,
  3160. GetDocumentCopyAsync: did.dispidGetDocumentCopyMethod,
  3161. AddFromSelectionAsync: did.dispidAddBindingFromSelectionMethod,
  3162. AddFromPromptAsync: did.dispidAddBindingFromPromptMethod,
  3163. AddFromNamedItemAsync: did.dispidAddBindingFromNamedItemMethod,
  3164. GetAllAsync: did.dispidGetAllBindingsMethod,
  3165. GetByIdAsync: did.dispidGetBindingMethod,
  3166. ReleaseByIdAsync: did.dispidReleaseBindingMethod,
  3167. GetDataAsync: did.dispidGetBindingDataMethod,
  3168. SetDataAsync: did.dispidSetBindingDataMethod,
  3169. AddRowsAsync: did.dispidAddRowsMethod,
  3170. AddColumnsAsync: did.dispidAddColumnsMethod,
  3171. DeleteAllDataValuesAsync: did.dispidClearAllRowsMethod,
  3172. RefreshAsync: did.dispidLoadSettingsMethod,
  3173. SaveAsync: did.dispidSaveSettingsMethod,
  3174. GetActiveViewAsync: did.dispidGetActiveViewMethod,
  3175. GetFilePropertiesAsync: did.dispidGetFilePropertiesMethod,
  3176. GetOfficeThemeAsync: did.dispidGetOfficeThemeMethod,
  3177. GetDocumentThemeAsync: did.dispidGetDocumentThemeMethod,
  3178. ClearFormatsAsync: did.dispidClearFormatsMethod,
  3179. SetTableOptionsAsync: did.dispidSetTableOptionsMethod,
  3180. SetFormatsAsync: did.dispidSetFormatsMethod,
  3181. ExecuteRichApiRequestAsync: did.dispidExecuteRichApiRequestMethod,
  3182. AppCommandInvocationCompletedAsync: did.dispidAppCommandInvocationCompletedMethod,
  3183. CloseContainerAsync: did.dispidCloseContainerMethod,
  3184. AddDataPartAsync: did.dispidAddDataPartMethod,
  3185. GetDataPartByIdAsync: did.dispidGetDataPartByIdMethod,
  3186. GetDataPartsByNameSpaceAsync: did.dispidGetDataPartsByNamespaceMethod,
  3187. GetPartXmlAsync: did.dispidGetDataPartXmlMethod,
  3188. GetPartNodesAsync: did.dispidGetDataPartNodesMethod,
  3189. DeleteDataPartAsync: did.dispidDeleteDataPartMethod,
  3190. GetNodeValueAsync: did.dispidGetDataNodeValueMethod,
  3191. GetNodeXmlAsync: did.dispidGetDataNodeXmlMethod,
  3192. GetRelativeNodesAsync: did.dispidGetDataNodesMethod,
  3193. SetNodeValueAsync: did.dispidSetDataNodeValueMethod,
  3194. SetNodeXmlAsync: did.dispidSetDataNodeXmlMethod,
  3195. AddDataPartNamespaceAsync: did.dispidAddDataNamespaceMethod,
  3196. GetDataPartNamespaceAsync: did.dispidGetDataUriByPrefixMethod,
  3197. GetDataPartPrefixAsync: did.dispidGetDataPrefixByUriMethod,
  3198. GetNodeTextAsync: did.dispidGetDataNodeTextMethod,
  3199. SetNodeTextAsync: did.dispidSetDataNodeTextMethod,
  3200. GetSelectedTask: did.dispidGetSelectedTaskMethod,
  3201. GetTask: did.dispidGetTaskMethod,
  3202. GetWSSUrl: did.dispidGetWSSUrlMethod,
  3203. GetTaskField: did.dispidGetTaskFieldMethod,
  3204. GetSelectedResource: did.dispidGetSelectedResourceMethod,
  3205. GetResourceField: did.dispidGetResourceFieldMethod,
  3206. GetProjectField: did.dispidGetProjectFieldMethod,
  3207. GetSelectedView: did.dispidGetSelectedViewMethod,
  3208. GetTaskByIndex: did.dispidGetTaskByIndexMethod,
  3209. GetResourceByIndex: did.dispidGetResourceByIndexMethod,
  3210. SetTaskField: did.dispidSetTaskFieldMethod,
  3211. SetResourceField: did.dispidSetResourceFieldMethod,
  3212. GetMaxTaskIndex: did.dispidGetMaxTaskIndexMethod,
  3213. GetMaxResourceIndex: did.dispidGetMaxResourceIndexMethod,
  3214. CreateTask: did.dispidCreateTaskMethod
  3215. };
  3216. for(var method in methodMap)
  3217. if(jsom[method])
  3218. dispIdMap[jsom[method].id]=methodMap[method];
  3219. jsom=OSF.DDA.SyncMethodNames;
  3220. did=OSF.DDA.MethodDispId;
  3221. var asyncMethodMap={MessageParent: did.dispidMessageParentMethod};
  3222. for(var method in asyncMethodMap)
  3223. if(jsom[method])
  3224. dispIdMap[jsom[method].id]=asyncMethodMap[method];
  3225. jsom=Microsoft.Office.WebExtension.EventType;
  3226. did=OSF.DDA.EventDispId;
  3227. var eventMap={
  3228. SettingsChanged: did.dispidSettingsChangedEvent,
  3229. DocumentSelectionChanged: did.dispidDocumentSelectionChangedEvent,
  3230. BindingSelectionChanged: did.dispidBindingSelectionChangedEvent,
  3231. BindingDataChanged: did.dispidBindingDataChangedEvent,
  3232. ActiveViewChanged: did.dispidActiveViewChangedEvent,
  3233. OfficeThemeChanged: did.dispidOfficeThemeChangedEvent,
  3234. DocumentThemeChanged: did.dispidDocumentThemeChangedEvent,
  3235. AppCommandInvoked: did.dispidAppCommandInvokedEvent,
  3236. DialogMessageReceived: did.dispidDialogMessageReceivedEvent,
  3237. OlkItemSelectedChanged: did.dispidOlkItemSelectedChangedEvent,
  3238. TaskSelectionChanged: did.dispidTaskSelectionChangedEvent,
  3239. ResourceSelectionChanged: did.dispidResourceSelectionChangedEvent,
  3240. ViewSelectionChanged: did.dispidViewSelectionChangedEvent,
  3241. DataNodeInserted: did.dispidDataNodeAddedEvent,
  3242. DataNodeReplaced: did.dispidDataNodeReplacedEvent,
  3243. DataNodeDeleted: did.dispidDataNodeDeletedEvent
  3244. };
  3245. for(var event in eventMap)
  3246. if(jsom[event])
  3247. dispIdMap[jsom[event]]=eventMap[event];
  3248. function onException(ex, asyncMethodCall, suppliedArgs, callArgs)
  3249. {
  3250. if(typeof ex=="number")
  3251. {
  3252. if(!callArgs)
  3253. callArgs=asyncMethodCall.getCallArgs(suppliedArgs);
  3254. OSF.DDA.issueAsyncResult(callArgs,ex,OSF.DDA.ErrorCodeManager.getErrorArgs(ex))
  3255. }
  3256. else
  3257. throw ex;
  3258. }
  3259. this[OSF.DDA.DispIdHost.Methods.InvokeMethod]=function OSF_DDA_DispIdHost_Facade$InvokeMethod(method, suppliedArguments, caller, privateState)
  3260. {
  3261. var callArgs;
  3262. try
  3263. {
  3264. var methodName=method.id;
  3265. var asyncMethodCall=OSF.DDA.AsyncMethodCalls[methodName];
  3266. callArgs=asyncMethodCall.verifyAndExtractCall(suppliedArguments,caller,privateState);
  3267. var dispId=dispIdMap[methodName];
  3268. var delegate=getDelegateMethods(methodName);
  3269. var richApiInExcelMethodSubstitution=null;
  3270. if(window.Excel && window.Office.context.requirements.isSetSupported("RedirectV1Api"))
  3271. window.Excel._RedirectV1APIs=true;
  3272. if(window.Excel && window.Excel._RedirectV1APIs && (richApiInExcelMethodSubstitution=window.Excel._V1APIMap[methodName]))
  3273. {
  3274. if(richApiInExcelMethodSubstitution.preprocess)
  3275. callArgs=richApiInExcelMethodSubstitution.preprocess(callArgs);
  3276. var ctx=new window.Excel.RequestContext;
  3277. var result=richApiInExcelMethodSubstitution.call(ctx,callArgs);
  3278. ctx.sync().then(function()
  3279. {
  3280. var response=result.value;
  3281. var status=response.status;
  3282. delete response["status"];
  3283. delete response["@odata.type"];
  3284. if(richApiInExcelMethodSubstitution.postprocess)
  3285. response=richApiInExcelMethodSubstitution.postprocess(response,callArgs);
  3286. if(status !=0)
  3287. response=OSF.DDA.ErrorCodeManager.getErrorArgs(status);
  3288. OSF.DDA.issueAsyncResult(callArgs,status,response)
  3289. })["catch"](function(error)
  3290. {
  3291. OSF.DDA.issueAsyncResult(callArgs,OSF.DDA.ErrorCodeManager.errorCodes.ooeFailure,null)
  3292. })
  3293. }
  3294. else
  3295. {
  3296. var hostCallArgs;
  3297. if(parameterMap.toHost)
  3298. hostCallArgs=parameterMap.toHost(dispId,callArgs);
  3299. else
  3300. hostCallArgs=callArgs;
  3301. delegate[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]({
  3302. dispId: dispId,
  3303. hostCallArgs: hostCallArgs,
  3304. onCalling: function OSF_DDA_DispIdFacade$Execute_onCalling(){},
  3305. onReceiving: function OSF_DDA_DispIdFacade$Execute_onReceiving(){},
  3306. onComplete: function(status, hostResponseArgs)
  3307. {
  3308. var responseArgs;
  3309. if(status==OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
  3310. if(parameterMap.fromHost)
  3311. responseArgs=parameterMap.fromHost(dispId,hostResponseArgs);
  3312. else
  3313. responseArgs=hostResponseArgs;
  3314. else
  3315. responseArgs=hostResponseArgs;
  3316. var payload=asyncMethodCall.processResponse(status,responseArgs,caller,callArgs);
  3317. OSF.DDA.issueAsyncResult(callArgs,status,payload)
  3318. }
  3319. })
  3320. }
  3321. }
  3322. catch(ex)
  3323. {
  3324. onException(ex,asyncMethodCall,suppliedArguments,callArgs)
  3325. }
  3326. };
  3327. this[OSF.DDA.DispIdHost.Methods.AddEventHandler]=function OSF_DDA_DispIdHost_Facade$AddEventHandler(suppliedArguments, eventDispatch, caller)
  3328. {
  3329. var callArgs;
  3330. var eventType,
  3331. handler;
  3332. function onEnsureRegistration(status)
  3333. {
  3334. if(status==OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
  3335. {
  3336. var added=eventDispatch.addEventHandler(eventType,handler);
  3337. if(!added)
  3338. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeEventHandlerAdditionFailed
  3339. }
  3340. var error;
  3341. if(status !=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
  3342. error=OSF.DDA.ErrorCodeManager.getErrorArgs(status);
  3343. OSF.DDA.issueAsyncResult(callArgs,status,error)
  3344. }
  3345. try
  3346. {
  3347. var asyncMethodCall=OSF.DDA.AsyncMethodCalls[OSF.DDA.AsyncMethodNames.AddHandlerAsync.id];
  3348. callArgs=asyncMethodCall.verifyAndExtractCall(suppliedArguments,caller,eventDispatch);
  3349. eventType=callArgs[Microsoft.Office.WebExtension.Parameters.EventType];
  3350. handler=callArgs[Microsoft.Office.WebExtension.Parameters.Handler];
  3351. if(eventDispatch.getEventHandlerCount(eventType)==0)
  3352. {
  3353. var dispId=dispIdMap[eventType];
  3354. var invoker=getDelegateMethods(eventType)[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync];
  3355. invoker({
  3356. eventType: eventType,
  3357. dispId: dispId,
  3358. targetId: caller.id || "",
  3359. onCalling: function OSF_DDA_DispIdFacade$Execute_onCalling()
  3360. {
  3361. OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall)
  3362. },
  3363. onReceiving: function OSF_DDA_DispIdFacade$Execute_onReceiving()
  3364. {
  3365. OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse)
  3366. },
  3367. onComplete: onEnsureRegistration,
  3368. onEvent: function handleEvent(hostArgs)
  3369. {
  3370. var args=parameterMap.fromHost(dispId,hostArgs);
  3371. eventDispatch.fireEvent(OSF.DDA.OMFactory.manufactureEventArgs(eventType,caller,args))
  3372. }
  3373. })
  3374. }
  3375. else
  3376. onEnsureRegistration(OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
  3377. }
  3378. catch(ex)
  3379. {
  3380. onException(ex,asyncMethodCall,suppliedArguments,callArgs)
  3381. }
  3382. };
  3383. this[OSF.DDA.DispIdHost.Methods.RemoveEventHandler]=function OSF_DDA_DispIdHost_Facade$RemoveEventHandler(suppliedArguments, eventDispatch, caller)
  3384. {
  3385. var callArgs;
  3386. var eventType,
  3387. handler;
  3388. function onEnsureRegistration(status)
  3389. {
  3390. var error;
  3391. if(status !=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
  3392. error=OSF.DDA.ErrorCodeManager.getErrorArgs(status);
  3393. OSF.DDA.issueAsyncResult(callArgs,status,error)
  3394. }
  3395. try
  3396. {
  3397. var asyncMethodCall=OSF.DDA.AsyncMethodCalls[OSF.DDA.AsyncMethodNames.RemoveHandlerAsync.id];
  3398. callArgs=asyncMethodCall.verifyAndExtractCall(suppliedArguments,caller,eventDispatch);
  3399. eventType=callArgs[Microsoft.Office.WebExtension.Parameters.EventType];
  3400. handler=callArgs[Microsoft.Office.WebExtension.Parameters.Handler];
  3401. var status,
  3402. removeSuccess;
  3403. if(handler===null)
  3404. {
  3405. removeSuccess=eventDispatch.clearEventHandlers(eventType);
  3406. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess
  3407. }
  3408. else
  3409. {
  3410. removeSuccess=eventDispatch.removeEventHandler(eventType,handler);
  3411. status=removeSuccess ? OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess : OSF.DDA.ErrorCodeManager.errorCodes.ooeEventHandlerNotExist
  3412. }
  3413. if(removeSuccess && eventDispatch.getEventHandlerCount(eventType)==0)
  3414. {
  3415. var dispId=dispIdMap[eventType];
  3416. var invoker=getDelegateMethods(eventType)[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync];
  3417. invoker({
  3418. eventType: eventType,
  3419. dispId: dispId,
  3420. targetId: caller.id || "",
  3421. onCalling: function OSF_DDA_DispIdFacade$Execute_onCalling()
  3422. {
  3423. OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall)
  3424. },
  3425. onReceiving: function OSF_DDA_DispIdFacade$Execute_onReceiving()
  3426. {
  3427. OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse)
  3428. },
  3429. onComplete: onEnsureRegistration
  3430. })
  3431. }
  3432. else
  3433. onEnsureRegistration(status)
  3434. }
  3435. catch(ex)
  3436. {
  3437. onException(ex,asyncMethodCall,suppliedArguments,callArgs)
  3438. }
  3439. };
  3440. this[OSF.DDA.DispIdHost.Methods.OpenDialog]=function OSF_DDA_DispIdHost_Facade$OpenDialog(suppliedArguments, eventDispatch, caller)
  3441. {
  3442. var callArgs;
  3443. var targetId;
  3444. var dialogMessageEvent=Microsoft.Office.WebExtension.EventType.DialogMessageReceived;
  3445. var dialogOtherEvent=Microsoft.Office.WebExtension.EventType.DialogEventReceived;
  3446. function onEnsureRegistration(status)
  3447. {
  3448. var payload;
  3449. if(status !=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
  3450. payload=OSF.DDA.ErrorCodeManager.getErrorArgs(status);
  3451. else
  3452. {
  3453. var onSucceedArgs={};
  3454. onSucceedArgs[Microsoft.Office.WebExtension.Parameters.Id]=targetId;
  3455. onSucceedArgs[Microsoft.Office.WebExtension.Parameters.Data]=eventDispatch;
  3456. var payload=asyncMethodCall.processResponse(status,onSucceedArgs,caller,callArgs);
  3457. OSF.DialogShownStatus.hasDialogShown=true;
  3458. eventDispatch.clearEventHandlers(dialogMessageEvent);
  3459. eventDispatch.clearEventHandlers(dialogOtherEvent)
  3460. }
  3461. OSF.DDA.issueAsyncResult(callArgs,status,payload)
  3462. }
  3463. try
  3464. {
  3465. if(dialogMessageEvent==undefined || dialogOtherEvent==undefined)
  3466. onEnsureRegistration(OSF.DDA.ErrorCodeManager.ooeOperationNotSupported);
  3467. if(OSF.DDA.AsyncMethodNames.DisplayDialogAsync==null)
  3468. {
  3469. onEnsureRegistration(OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError);
  3470. return
  3471. }
  3472. var asyncMethodCall=OSF.DDA.AsyncMethodCalls[OSF.DDA.AsyncMethodNames.DisplayDialogAsync.id];
  3473. callArgs=asyncMethodCall.verifyAndExtractCall(suppliedArguments,caller,eventDispatch);
  3474. var dispId=dispIdMap[dialogMessageEvent];
  3475. var delegateMethods=getDelegateMethods(dialogMessageEvent);
  3476. var invoker=delegateMethods[OSF.DDA.DispIdHost.Delegates.OpenDialog] !=undefined ? delegateMethods[OSF.DDA.DispIdHost.Delegates.OpenDialog] : delegateMethods[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync];
  3477. targetId=JSON.stringify(callArgs);
  3478. invoker({
  3479. eventType: dialogMessageEvent,
  3480. dispId: dispId,
  3481. targetId: targetId,
  3482. onCalling: function OSF_DDA_DispIdFacade$Execute_onCalling()
  3483. {
  3484. OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall)
  3485. },
  3486. onReceiving: function OSF_DDA_DispIdFacade$Execute_onReceiving()
  3487. {
  3488. OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse)
  3489. },
  3490. onComplete: onEnsureRegistration,
  3491. onEvent: function handleEvent(hostArgs)
  3492. {
  3493. var args=parameterMap.fromHost(dispId,hostArgs);
  3494. var event=OSF.DDA.OMFactory.manufactureEventArgs(dialogMessageEvent,caller,args);
  3495. if(event.type==dialogOtherEvent)
  3496. {
  3497. var payload=OSF.DDA.ErrorCodeManager.getErrorArgs(event.error);
  3498. var errorArgs={};
  3499. errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Code]=status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  3500. errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Name]=payload.name || payload;
  3501. errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Message]=payload.message || payload;
  3502. event.error=new OSF.DDA.Error(errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Name],errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Message],errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Code])
  3503. }
  3504. eventDispatch.fireOrQueueEvent(event);
  3505. if(args[OSF.DDA.PropertyDescriptors.MessageType]==OSF.DialogMessageType.DialogClosed)
  3506. {
  3507. eventDispatch.clearEventHandlers(dialogMessageEvent);
  3508. eventDispatch.clearEventHandlers(dialogOtherEvent);
  3509. OSF.DialogShownStatus.hasDialogShown=false
  3510. }
  3511. }
  3512. })
  3513. }
  3514. catch(ex)
  3515. {
  3516. onException(ex,asyncMethodCall,suppliedArguments,callArgs)
  3517. }
  3518. };
  3519. this[OSF.DDA.DispIdHost.Methods.CloseDialog]=function OSF_DDA_DispIdHost_Facade$CloseDialog(suppliedArguments, targetId, eventDispatch, caller)
  3520. {
  3521. var callArgs;
  3522. var dialogMessageEvent,
  3523. dialogOtherEvent;
  3524. var closeStatus=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess;
  3525. function closeCallback(status)
  3526. {
  3527. closeStatus=status;
  3528. OSF.DialogShownStatus.hasDialogShown=false
  3529. }
  3530. try
  3531. {
  3532. var asyncMethodCall=OSF.DDA.AsyncMethodCalls[OSF.DDA.AsyncMethodNames.CloseAsync.id];
  3533. callArgs=asyncMethodCall.verifyAndExtractCall(suppliedArguments,caller,eventDispatch);
  3534. dialogMessageEvent=Microsoft.Office.WebExtension.EventType.DialogMessageReceived;
  3535. dialogOtherEvent=Microsoft.Office.WebExtension.EventType.DialogEventReceived;
  3536. eventDispatch.clearEventHandlers(dialogMessageEvent);
  3537. eventDispatch.clearEventHandlers(dialogOtherEvent);
  3538. var dispId=dispIdMap[dialogMessageEvent];
  3539. var delegateMethods=getDelegateMethods(dialogMessageEvent);
  3540. var invoker=delegateMethods[OSF.DDA.DispIdHost.Delegates.CloseDialog] !=undefined ? delegateMethods[OSF.DDA.DispIdHost.Delegates.CloseDialog] : delegateMethods[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync];
  3541. invoker({
  3542. eventType: dialogMessageEvent,
  3543. dispId: dispId,
  3544. targetId: targetId,
  3545. onCalling: function OSF_DDA_DispIdFacade$Execute_onCalling()
  3546. {
  3547. OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall)
  3548. },
  3549. onReceiving: function OSF_DDA_DispIdFacade$Execute_onReceiving()
  3550. {
  3551. OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse)
  3552. },
  3553. onComplete: closeCallback
  3554. })
  3555. }
  3556. catch(ex)
  3557. {
  3558. onException(ex,asyncMethodCall,suppliedArguments,callArgs)
  3559. }
  3560. if(closeStatus !=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
  3561. throw OSF.OUtil.formatString(Strings.OfficeOM.L_FunctionCallFailed,OSF.DDA.AsyncMethodNames.CloseAsync.displayName,closeStatus);
  3562. };
  3563. this[OSF.DDA.DispIdHost.Methods.MessageParent]=function OSF_DDA_DispIdHost_Facade$MessageParent(suppliedArguments, caller)
  3564. {
  3565. var stateInfo={};
  3566. var syncMethodCall=OSF.DDA.SyncMethodCalls[OSF.DDA.SyncMethodNames.MessageParent.id];
  3567. var callArgs=syncMethodCall.verifyAndExtractCall(suppliedArguments,caller,stateInfo);
  3568. var delegate=getDelegateMethods(OSF.DDA.SyncMethodNames.MessageParent.id);
  3569. var invoker=delegate[OSF.DDA.DispIdHost.Delegates.MessageParent];
  3570. var dispId=dispIdMap[OSF.DDA.SyncMethodNames.MessageParent.id];
  3571. return invoker({
  3572. dispId: dispId,
  3573. hostCallArgs: callArgs,
  3574. onCalling: function OSF_DDA_DispIdFacade$Execute_onCalling()
  3575. {
  3576. OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall)
  3577. },
  3578. onReceiving: function OSF_DDA_DispIdFacade$Execute_onReceiving()
  3579. {
  3580. OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse)
  3581. }
  3582. })
  3583. }
  3584. };
  3585. OSF.DDA.DispIdHost.addAsyncMethods=function OSF_DDA_DispIdHost$AddAsyncMethods(target, asyncMethodNames, privateState)
  3586. {
  3587. for(var entry in asyncMethodNames)
  3588. {
  3589. var method=asyncMethodNames[entry];
  3590. var name=method.displayName;
  3591. if(!target[name])
  3592. OSF.OUtil.defineEnumerableProperty(target,name,{value: function(asyncMethod)
  3593. {
  3594. return function()
  3595. {
  3596. var invokeMethod=OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.InvokeMethod];
  3597. invokeMethod(asyncMethod,arguments,target,privateState)
  3598. }
  3599. }(method)})
  3600. }
  3601. };
  3602. OSF.DDA.DispIdHost.addEventSupport=function OSF_DDA_DispIdHost$AddEventSupport(target, eventDispatch)
  3603. {
  3604. var add=OSF.DDA.AsyncMethodNames.AddHandlerAsync.displayName;
  3605. var remove=OSF.DDA.AsyncMethodNames.RemoveHandlerAsync.displayName;
  3606. if(!target[add])
  3607. OSF.OUtil.defineEnumerableProperty(target,add,{value: function()
  3608. {
  3609. var addEventHandler=OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.AddEventHandler];
  3610. addEventHandler(arguments,eventDispatch,target)
  3611. }});
  3612. if(!target[remove])
  3613. OSF.OUtil.defineEnumerableProperty(target,remove,{value: function()
  3614. {
  3615. var removeEventHandler=OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.RemoveEventHandler];
  3616. removeEventHandler(arguments,eventDispatch,target)
  3617. }})
  3618. };
  3619. OSF.OUtil.setNamespace("SafeArray",OSF.DDA);
  3620. OSF.DDA.SafeArray.Response={
  3621. Status: 0,
  3622. Payload: 1
  3623. };
  3624. OSF.DDA.SafeArray.UniqueArguments={
  3625. Offset: "offset",
  3626. Run: "run",
  3627. BindingSpecificData: "bindingSpecificData",
  3628. MergedCellGuid: "{66e7831f-81b2-42e2-823c-89e872d541b3}"
  3629. };
  3630. OSF.OUtil.setNamespace("Delegate",OSF.DDA.SafeArray);
  3631. OSF.DDA.SafeArray.Delegate._onException=function OSF_DDA_SafeArray_Delegate$OnException(ex, args)
  3632. {
  3633. var status;
  3634. var statusNumber=ex.number;
  3635. if(statusNumber)
  3636. switch(statusNumber)
  3637. {
  3638. case-2146828218:
  3639. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability;
  3640. break;
  3641. case-2147467259:
  3642. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeDialogAlreadyOpened;
  3643. break;
  3644. case-2146828283:
  3645. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidParam;
  3646. break;
  3647. case-2146827850:
  3648. default:
  3649. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  3650. break
  3651. }
  3652. if(args.onComplete)
  3653. args.onComplete(status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError)
  3654. };
  3655. OSF.DDA.SafeArray.Delegate._onExceptionSyncMethod=function OSF_DDA_SafeArray_Delegate$OnExceptionSyncMethod(ex, args)
  3656. {
  3657. var status;
  3658. var number=ex.number;
  3659. if(number)
  3660. switch(number)
  3661. {
  3662. case-2146828218:
  3663. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability;
  3664. break;
  3665. case-2146827850:
  3666. default:
  3667. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  3668. break
  3669. }
  3670. return status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError
  3671. };
  3672. OSF.DDA.SafeArray.Delegate.SpecialProcessor=function OSF_DDA_SafeArray_Delegate_SpecialProcessor()
  3673. {
  3674. function _2DVBArrayToJaggedArray(vbArr)
  3675. {
  3676. var ret;
  3677. try
  3678. {
  3679. var rows=vbArr.ubound(1);
  3680. var cols=vbArr.ubound(2);
  3681. vbArr=vbArr.toArray();
  3682. if(rows==1 && cols==1)
  3683. ret=[vbArr];
  3684. else
  3685. {
  3686. ret=[];
  3687. for(var row=0; row < rows; row++)
  3688. {
  3689. var rowArr=[];
  3690. for(var col=0; col < cols; col++)
  3691. {
  3692. var datum=vbArr[row * cols+col];
  3693. if(datum !=OSF.DDA.SafeArray.UniqueArguments.MergedCellGuid)
  3694. rowArr.push(datum)
  3695. }
  3696. if(rowArr.length > 0)
  3697. ret.push(rowArr)
  3698. }
  3699. }
  3700. }
  3701. catch(ex){}
  3702. return ret
  3703. }
  3704. var complexTypes=[];
  3705. var dynamicTypes={};
  3706. dynamicTypes[Microsoft.Office.WebExtension.Parameters.Data]=function()
  3707. {
  3708. var tableRows=0;
  3709. var tableHeaders=1;
  3710. return{
  3711. toHost: function OSF_DDA_SafeArray_Delegate_SpecialProcessor_Data$toHost(data)
  3712. {
  3713. if(OSF.DDA.TableDataProperties && typeof data !="string" && data[OSF.DDA.TableDataProperties.TableRows] !==undefined)
  3714. {
  3715. var tableData=[];
  3716. tableData[tableRows]=data[OSF.DDA.TableDataProperties.TableRows];
  3717. tableData[tableHeaders]=data[OSF.DDA.TableDataProperties.TableHeaders];
  3718. data=tableData
  3719. }
  3720. return data
  3721. },
  3722. fromHost: function OSF_DDA_SafeArray_Delegate_SpecialProcessor_Data$fromHost(hostArgs)
  3723. {
  3724. var ret;
  3725. if(hostArgs.toArray)
  3726. {
  3727. var dimensions=hostArgs.dimensions();
  3728. if(dimensions===2)
  3729. ret=_2DVBArrayToJaggedArray(hostArgs);
  3730. else
  3731. {
  3732. var array=hostArgs.toArray();
  3733. if(array.length===2 && (array[0] !=null && array[0].toArray || array[1] !=null && array[1].toArray))
  3734. {
  3735. ret={};
  3736. ret[OSF.DDA.TableDataProperties.TableRows]=_2DVBArrayToJaggedArray(array[tableRows]);
  3737. ret[OSF.DDA.TableDataProperties.TableHeaders]=_2DVBArrayToJaggedArray(array[tableHeaders])
  3738. }
  3739. else
  3740. ret=array
  3741. }
  3742. }
  3743. else
  3744. ret=hostArgs;
  3745. return ret
  3746. }
  3747. }
  3748. }();
  3749. OSF.DDA.SafeArray.Delegate.SpecialProcessor.uber.constructor.call(this,complexTypes,dynamicTypes);
  3750. this.unpack=function OSF_DDA_SafeArray_Delegate_SpecialProcessor$unpack(param, arg)
  3751. {
  3752. var value;
  3753. if(this.isComplexType(param) || OSF.DDA.ListType.isListType(param))
  3754. {
  3755. var toArraySupported=(arg || typeof arg==="unknown") && arg.toArray;
  3756. value=toArraySupported ? arg.toArray() : arg || {}
  3757. }
  3758. else if(this.isDynamicType(param))
  3759. value=dynamicTypes[param].fromHost(arg);
  3760. else
  3761. value=arg;
  3762. return value
  3763. }
  3764. };
  3765. OSF.OUtil.extend(OSF.DDA.SafeArray.Delegate.SpecialProcessor,OSF.DDA.SpecialProcessor);
  3766. OSF.DDA.SafeArray.Delegate.ParameterMap=OSF.DDA.getDecoratedParameterMap(new OSF.DDA.SafeArray.Delegate.SpecialProcessor,[{
  3767. type: Microsoft.Office.WebExtension.Parameters.ValueFormat,
  3768. toHost: [{
  3769. name: Microsoft.Office.WebExtension.ValueFormat.Unformatted,
  3770. value: 0
  3771. },{
  3772. name: Microsoft.Office.WebExtension.ValueFormat.Formatted,
  3773. value: 1
  3774. }]
  3775. },{
  3776. type: Microsoft.Office.WebExtension.Parameters.FilterType,
  3777. toHost: [{
  3778. name: Microsoft.Office.WebExtension.FilterType.All,
  3779. value: 0
  3780. }]
  3781. }]);
  3782. OSF.DDA.SafeArray.Delegate.ParameterMap.define({
  3783. type: OSF.DDA.PropertyDescriptors.AsyncResultStatus,
  3784. fromHost: [{
  3785. name: Microsoft.Office.WebExtension.AsyncResultStatus.Succeeded,
  3786. value: 0
  3787. },{
  3788. name: Microsoft.Office.WebExtension.AsyncResultStatus.Failed,
  3789. value: 1
  3790. }]
  3791. });
  3792. OSF.DDA.SafeArray.Delegate.executeAsync=function OSF_DDA_SafeArray_Delegate$ExecuteAsync(args)
  3793. {
  3794. function toArray(args)
  3795. {
  3796. var arrArgs=args;
  3797. if(OSF.OUtil.isArray(args))
  3798. {
  3799. var len=arrArgs.length;
  3800. for(var i=0; i < len; i++)
  3801. arrArgs[i]=toArray(arrArgs[i])
  3802. }
  3803. else if(OSF.OUtil.isDate(args))
  3804. arrArgs=args.getVarDate();
  3805. else if(typeof args==="object" && !OSF.OUtil.isArray(args))
  3806. {
  3807. arrArgs=[];
  3808. for(var index in args)
  3809. if(!OSF.OUtil.isFunction(args[index]))
  3810. arrArgs[index]=toArray(args[index])
  3811. }
  3812. return arrArgs
  3813. }
  3814. function fromSafeArray(value)
  3815. {
  3816. var ret=value;
  3817. if(value !=null && value.toArray)
  3818. {
  3819. var arrayResult=value.toArray();
  3820. ret=new Array(arrayResult.length);
  3821. for(var i=0; i < arrayResult.length; i++)
  3822. ret[i]=fromSafeArray(arrayResult[i])
  3823. }
  3824. return ret
  3825. }
  3826. try
  3827. {
  3828. if(args.onCalling)
  3829. args.onCalling();
  3830. var startTime=(new Date).getTime();
  3831. OSF.ClientHostController.execute(args.dispId,toArray(args.hostCallArgs),function OSF_DDA_SafeArrayFacade$Execute_OnResponse(hostResponseArgs, resultCode)
  3832. {
  3833. var result=hostResponseArgs.toArray();
  3834. var status=result[OSF.DDA.SafeArray.Response.Status];
  3835. if(status==OSF.DDA.ErrorCodeManager.errorCodes.ooeChunkResult)
  3836. {
  3837. var payload=result[OSF.DDA.SafeArray.Response.Payload];
  3838. payload=fromSafeArray(payload);
  3839. if(payload !=null)
  3840. {
  3841. if(!args._chunkResultData)
  3842. args._chunkResultData=new Array;
  3843. args._chunkResultData[payload[0]]=payload[1]
  3844. }
  3845. return false
  3846. }
  3847. if(args.onReceiving)
  3848. args.onReceiving();
  3849. if(args.onComplete)
  3850. {
  3851. var payload;
  3852. if(status==OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
  3853. {
  3854. if(result.length > 2)
  3855. {
  3856. payload=[];
  3857. for(var i=1; i < result.length; i++)
  3858. payload[i - 1]=result[i]
  3859. }
  3860. else
  3861. payload=result[OSF.DDA.SafeArray.Response.Payload];
  3862. if(args._chunkResultData)
  3863. {
  3864. payload=fromSafeArray(payload);
  3865. if(payload !=null)
  3866. {
  3867. var expectedChunkCount=payload[payload.length - 1];
  3868. if(args._chunkResultData.length==expectedChunkCount)
  3869. payload[payload.length - 1]=args._chunkResultData;
  3870. else
  3871. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError
  3872. }
  3873. }
  3874. }
  3875. else
  3876. payload=result[OSF.DDA.SafeArray.Response.Payload];
  3877. args.onComplete(status,payload)
  3878. }
  3879. if(OSF.AppTelemetry)
  3880. OSF.AppTelemetry.onMethodDone(args.dispId,args.hostCallArgs,Math.abs((new Date).getTime() - startTime),status);
  3881. return true
  3882. })
  3883. }
  3884. catch(ex)
  3885. {
  3886. OSF.DDA.SafeArray.Delegate._onException(ex,args)
  3887. }
  3888. };
  3889. OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent=function OSF_DDA_SafeArrayDelegate$GetOnAfterRegisterEvent(register, args)
  3890. {
  3891. var startTime=(new Date).getTime();
  3892. return function OSF_DDA_SafeArrayDelegate$OnAfterRegisterEvent(hostResponseArgs)
  3893. {
  3894. if(args.onReceiving)
  3895. args.onReceiving();
  3896. var status=hostResponseArgs.toArray ? hostResponseArgs.toArray()[OSF.DDA.SafeArray.Response.Status] : hostResponseArgs;
  3897. if(args.onComplete)
  3898. args.onComplete(status);
  3899. if(OSF.AppTelemetry)
  3900. OSF.AppTelemetry.onRegisterDone(register,args.dispId,Math.abs((new Date).getTime() - startTime),status)
  3901. }
  3902. };
  3903. OSF.DDA.SafeArray.Delegate.registerEventAsync=function OSF_DDA_SafeArray_Delegate$RegisterEventAsync(args)
  3904. {
  3905. if(args.onCalling)
  3906. args.onCalling();
  3907. var callback=OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(true,args);
  3908. try
  3909. {
  3910. OSF.ClientHostController.registerEvent(args.dispId,args.targetId,function OSF_DDA_SafeArrayDelegate$RegisterEventAsync_OnEvent(eventDispId, payload)
  3911. {
  3912. if(args.onEvent)
  3913. args.onEvent(payload);
  3914. if(OSF.AppTelemetry)
  3915. OSF.AppTelemetry.onEventDone(args.dispId)
  3916. },callback)
  3917. }
  3918. catch(ex)
  3919. {
  3920. OSF.DDA.SafeArray.Delegate._onException(ex,args)
  3921. }
  3922. };
  3923. OSF.DDA.SafeArray.Delegate.unregisterEventAsync=function OSF_DDA_SafeArray_Delegate$UnregisterEventAsync(args)
  3924. {
  3925. if(args.onCalling)
  3926. args.onCalling();
  3927. var callback=OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(false,args);
  3928. try
  3929. {
  3930. OSF.ClientHostController.unregisterEvent(args.dispId,args.targetId,callback)
  3931. }
  3932. catch(ex)
  3933. {
  3934. OSF.DDA.SafeArray.Delegate._onException(ex,args)
  3935. }
  3936. };
  3937. OSF.ClientMode={
  3938. ReadWrite: 0,
  3939. ReadOnly: 1
  3940. };
  3941. OSF.DDA.RichInitializationReason={
  3942. 1: Microsoft.Office.WebExtension.InitializationReason.Inserted,
  3943. 2: Microsoft.Office.WebExtension.InitializationReason.DocumentOpened
  3944. };
  3945. OSF.InitializationHelper=function OSF_InitializationHelper(hostInfo, webAppState, context, settings, hostFacade)
  3946. {
  3947. this._hostInfo=hostInfo;
  3948. this._webAppState=webAppState;
  3949. this._context=context;
  3950. this._settings=settings;
  3951. this._hostFacade=hostFacade;
  3952. this._initializeSettings=this.initializeSettings
  3953. };
  3954. OSF.InitializationHelper.prototype.deserializeSettings=function OSF_InitializationHelper$deserializeSettings(serializedSettings, refreshSupported)
  3955. {
  3956. var settings;
  3957. var osfSessionStorage=OSF.OUtil.getSessionStorage();
  3958. if(osfSessionStorage)
  3959. {
  3960. var storageSettings=osfSessionStorage.getItem(OSF._OfficeAppFactory.getCachedSessionSettingsKey());
  3961. if(storageSettings)
  3962. serializedSettings=typeof JSON !=="undefined" ? JSON.parse(storageSettings) : OsfMsAjaxFactory.msAjaxSerializer.deserialize(storageSettings,true);
  3963. else
  3964. {
  3965. storageSettings=typeof JSON !=="undefined" ? JSON.stringify(serializedSettings) : OsfMsAjaxFactory.msAjaxSerializer.serialize(serializedSettings);
  3966. osfSessionStorage.setItem(OSF._OfficeAppFactory.getCachedSessionSettingsKey(),storageSettings)
  3967. }
  3968. }
  3969. var deserializedSettings=OSF.DDA.SettingsManager.deserializeSettings(serializedSettings);
  3970. if(refreshSupported)
  3971. settings=new OSF.DDA.RefreshableSettings(deserializedSettings);
  3972. else
  3973. settings=new OSF.DDA.Settings(deserializedSettings);
  3974. return settings
  3975. };
  3976. OSF.InitializationHelper.prototype.saveAndSetDialogInfo=function OSF_InitializationHelper$saveAndSetDialogInfo(hostInfoValue){};
  3977. OSF.InitializationHelper.prototype.setAgaveHostCommunication=function OSF_InitializationHelper$setAgaveHostCommunication(){};
  3978. OSF.InitializationHelper.prototype.prepareRightBeforeWebExtensionInitialize=function OSF_InitializationHelper$prepareRightBeforeWebExtensionInitialize(appContext)
  3979. {
  3980. this.prepareApiSurface(appContext);
  3981. Microsoft.Office.WebExtension.initialize(this.getInitializationReason(appContext))
  3982. };
  3983. OSF.InitializationHelper.prototype.prepareApiSurface=function OSF_InitializationHelper$prepareApiSurfaceAndInitialize(appContext)
  3984. {
  3985. var license=new OSF.DDA.License(appContext.get_eToken());
  3986. var getOfficeThemeHandler=OSF.DDA.OfficeTheme && OSF.DDA.OfficeTheme.getOfficeTheme ? OSF.DDA.OfficeTheme.getOfficeTheme : null;
  3987. if(appContext.get_isDialog())
  3988. {
  3989. if(OSF.DDA.UI.ChildUI)
  3990. appContext.ui=new OSF.DDA.UI.ChildUI
  3991. }
  3992. else if(OSF.DDA.UI.ParentUI)
  3993. {
  3994. appContext.ui=new OSF.DDA.UI.ParentUI;
  3995. if(OfficeExt.Container)
  3996. OSF.DDA.DispIdHost.addAsyncMethods(appContext.ui,[OSF.DDA.AsyncMethodNames.CloseContainerAsync])
  3997. }
  3998. OSF._OfficeAppFactory.setContext(new OSF.DDA.Context(appContext,appContext.doc,license,null,getOfficeThemeHandler));
  3999. var getDelegateMethods,
  4000. parameterMap;
  4001. getDelegateMethods=OSF.DDA.DispIdHost.getClientDelegateMethods;
  4002. parameterMap=OSF.DDA.SafeArray.Delegate.ParameterMap;
  4003. OSF._OfficeAppFactory.setHostFacade(new OSF.DDA.DispIdHost.Facade(getDelegateMethods,parameterMap))
  4004. };
  4005. OSF.InitializationHelper.prototype.getInitializationReason=function(appContext)
  4006. {
  4007. return OSF.DDA.RichInitializationReason[appContext.get_reason()]
  4008. };
  4009. OSF.DDA.DispIdHost.getClientDelegateMethods=function(actionId)
  4010. {
  4011. var delegateMethods={};
  4012. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=OSF.DDA.SafeArray.Delegate.executeAsync;
  4013. delegateMethods[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync]=OSF.DDA.SafeArray.Delegate.registerEventAsync;
  4014. delegateMethods[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync]=OSF.DDA.SafeArray.Delegate.unregisterEventAsync;
  4015. delegateMethods[OSF.DDA.DispIdHost.Delegates.OpenDialog]=OSF.DDA.SafeArray.Delegate.openDialog;
  4016. delegateMethods[OSF.DDA.DispIdHost.Delegates.CloseDialog]=OSF.DDA.SafeArray.Delegate.closeDialog;
  4017. delegateMethods[OSF.DDA.DispIdHost.Delegates.MessageParent]=OSF.DDA.SafeArray.Delegate.messageParent;
  4018. if(OSF.DDA.AsyncMethodNames.RefreshAsync && actionId==OSF.DDA.AsyncMethodNames.RefreshAsync.id)
  4019. {
  4020. var readSerializedSettings=function(hostCallArgs, onCalling, onReceiving)
  4021. {
  4022. return OSF.DDA.ClientSettingsManager.read(onCalling,onReceiving)
  4023. };
  4024. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=OSF.DDA.ClientSettingsManager.getSettingsExecuteMethod(readSerializedSettings)
  4025. }
  4026. if(OSF.DDA.AsyncMethodNames.SaveAsync && actionId==OSF.DDA.AsyncMethodNames.SaveAsync.id)
  4027. {
  4028. var writeSerializedSettings=function(hostCallArgs, onCalling, onReceiving)
  4029. {
  4030. return OSF.DDA.ClientSettingsManager.write(hostCallArgs[OSF.DDA.SettingsManager.SerializedSettings],hostCallArgs[Microsoft.Office.WebExtension.Parameters.OverwriteIfStale],onCalling,onReceiving)
  4031. };
  4032. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=OSF.DDA.ClientSettingsManager.getSettingsExecuteMethod(writeSerializedSettings)
  4033. }
  4034. return delegateMethods
  4035. };
  4036. var OSF=OSF || {};
  4037. var OSFWebkit;
  4038. (function(OSFWebkit)
  4039. {
  4040. var WebkitSafeArray=function()
  4041. {
  4042. function WebkitSafeArray(data)
  4043. {
  4044. this.data=data;
  4045. this.safeArrayFlag=this.isSafeArray(data)
  4046. }
  4047. WebkitSafeArray.prototype.dimensions=function()
  4048. {
  4049. var dimensions=0;
  4050. if(this.safeArrayFlag)
  4051. dimensions=this.data[0][0];
  4052. else if(this.isArray())
  4053. dimensions=2;
  4054. return dimensions
  4055. };
  4056. WebkitSafeArray.prototype.getItem=function()
  4057. {
  4058. var array=[];
  4059. var element=null;
  4060. if(this.safeArrayFlag)
  4061. array=this.toArray();
  4062. else
  4063. array=this.data;
  4064. element=array;
  4065. for(var i=0; i < arguments.length; i++)
  4066. element=element[arguments[i]];
  4067. return element
  4068. };
  4069. WebkitSafeArray.prototype.lbound=function(dimension)
  4070. {
  4071. return 0
  4072. };
  4073. WebkitSafeArray.prototype.ubound=function(dimension)
  4074. {
  4075. var ubound=0;
  4076. if(this.safeArrayFlag)
  4077. ubound=this.data[0][dimension];
  4078. else if(this.isArray())
  4079. if(dimension==1)
  4080. return this.data.length;
  4081. else if(dimension==2)
  4082. if(OSF.OUtil.isArray(this.data[0]))
  4083. return this.data[0].length;
  4084. else if(this.data[0] !=null)
  4085. return 1;
  4086. return ubound
  4087. };
  4088. WebkitSafeArray.prototype.toArray=function()
  4089. {
  4090. if(this.isArray()==false)
  4091. return this.data;
  4092. var arr=[];
  4093. var startingIndex=this.safeArrayFlag ? 1 : 0;
  4094. for(var i=startingIndex; i < this.data.length; i++)
  4095. {
  4096. var element=this.data[i];
  4097. if(this.isSafeArray(element))
  4098. arr.push(new WebkitSafeArray(element));
  4099. else
  4100. arr.push(element)
  4101. }
  4102. return arr
  4103. };
  4104. WebkitSafeArray.prototype.isArray=function()
  4105. {
  4106. return OSF.OUtil.isArray(this.data)
  4107. };
  4108. WebkitSafeArray.prototype.isSafeArray=function(obj)
  4109. {
  4110. var isSafeArray=false;
  4111. if(OSF.OUtil.isArray(obj) && OSF.OUtil.isArray(obj[0]))
  4112. {
  4113. var bounds=obj[0];
  4114. var dimensions=bounds[0];
  4115. if(bounds.length !=dimensions+1)
  4116. return false;
  4117. var expectedArraySize=1;
  4118. for(var i=1; i < bounds.length; i++)
  4119. {
  4120. var dimension=bounds[i];
  4121. if(isFinite(dimension)==false)
  4122. return false;
  4123. expectedArraySize=expectedArraySize * dimension
  4124. }
  4125. expectedArraySize++;
  4126. isSafeArray=expectedArraySize==obj.length
  4127. }
  4128. return isSafeArray
  4129. };
  4130. return WebkitSafeArray
  4131. }();
  4132. OSFWebkit.WebkitSafeArray=WebkitSafeArray
  4133. })(OSFWebkit || (OSFWebkit={}));
  4134. var OSFWebkit;
  4135. (function(OSFWebkit)
  4136. {
  4137. var ScriptMessaging;
  4138. (function(ScriptMessaging)
  4139. {
  4140. var scriptMessenger=null;
  4141. function agaveHostCallback(callbackId, params)
  4142. {
  4143. scriptMessenger.agaveHostCallback(callbackId,params)
  4144. }
  4145. ScriptMessaging.agaveHostCallback=agaveHostCallback;
  4146. function agaveHostEventCallback(callbackId, params)
  4147. {
  4148. scriptMessenger.agaveHostEventCallback(callbackId,params)
  4149. }
  4150. ScriptMessaging.agaveHostEventCallback=agaveHostEventCallback;
  4151. function GetScriptMessenger()
  4152. {
  4153. if(scriptMessenger==null)
  4154. scriptMessenger=new WebkitScriptMessaging("OSF.ScriptMessaging.agaveHostCallback","OSF.ScriptMessaging.agaveHostEventCallback");
  4155. return scriptMessenger
  4156. }
  4157. ScriptMessaging.GetScriptMessenger=GetScriptMessenger;
  4158. var EventHandlerCallback=function()
  4159. {
  4160. function EventHandlerCallback(id, targetId, handler)
  4161. {
  4162. this.id=id;
  4163. this.targetId=targetId;
  4164. this.handler=handler
  4165. }
  4166. return EventHandlerCallback
  4167. }();
  4168. var WebkitScriptMessaging=function()
  4169. {
  4170. function WebkitScriptMessaging(methodCallbackName, eventCallbackName)
  4171. {
  4172. this.callingIndex=0;
  4173. this.callbackList={};
  4174. this.eventHandlerList={};
  4175. this.asyncMethodCallbackFunctionName=methodCallbackName;
  4176. this.eventCallbackFunctionName=eventCallbackName;
  4177. this.conversationId=WebkitScriptMessaging.getCurrentTimeMS().toString()
  4178. }
  4179. WebkitScriptMessaging.prototype.invokeMethod=function(handlerName, methodId, params, callback)
  4180. {
  4181. var messagingArgs={};
  4182. this.postWebkitMessage(messagingArgs,handlerName,methodId,params,callback)
  4183. };
  4184. WebkitScriptMessaging.prototype.registerEvent=function(handlerName, methodId, dispId, targetId, handler, callback)
  4185. {
  4186. var messagingArgs={eventCallbackFunction: this.eventCallbackFunctionName};
  4187. var hostArgs={
  4188. id: dispId,
  4189. targetId: targetId
  4190. };
  4191. var correlationId=this.postWebkitMessage(messagingArgs,handlerName,methodId,hostArgs,callback);
  4192. this.eventHandlerList[correlationId]=new EventHandlerCallback(dispId,targetId,handler)
  4193. };
  4194. WebkitScriptMessaging.prototype.unregisterEvent=function(handlerName, methodId, dispId, targetId, callback)
  4195. {
  4196. var hostArgs={
  4197. id: dispId,
  4198. targetId: targetId
  4199. };
  4200. for(var key in this.eventHandlerList)
  4201. if(this.eventHandlerList.hasOwnProperty(key))
  4202. {
  4203. var eventCallback=this.eventHandlerList[key];
  4204. if(eventCallback.id==dispId && eventCallback.targetId==targetId)
  4205. delete this.eventHandlerList[key]
  4206. }
  4207. this.invokeMethod(handlerName,methodId,hostArgs,callback)
  4208. };
  4209. WebkitScriptMessaging.prototype.agaveHostCallback=function(callbackId, params)
  4210. {
  4211. var callbackFunction=this.callbackList[callbackId];
  4212. if(callbackFunction)
  4213. {
  4214. var callbacksDone=callbackFunction(params);
  4215. if(callbacksDone===undefined || callbacksDone===true)
  4216. delete this.callbackList[callbackId]
  4217. }
  4218. };
  4219. WebkitScriptMessaging.prototype.agaveHostEventCallback=function(callbackId, params)
  4220. {
  4221. var eventCallback=this.eventHandlerList[callbackId];
  4222. if(eventCallback)
  4223. eventCallback.handler(params)
  4224. };
  4225. WebkitScriptMessaging.prototype.postWebkitMessage=function(messagingArgs, handlerName, methodId, params, callback)
  4226. {
  4227. var correlationId=this.generateCorrelationId();
  4228. this.callbackList[correlationId]=callback;
  4229. messagingArgs.methodId=methodId;
  4230. messagingArgs.params=params;
  4231. messagingArgs.callbackId=correlationId;
  4232. messagingArgs.callbackFunction=this.asyncMethodCallbackFunctionName;
  4233. var invokePostMessage=function()
  4234. {
  4235. window.webkit.messageHandlers[handlerName].postMessage(JSON.stringify(messagingArgs))
  4236. };
  4237. var currentTimestamp=WebkitScriptMessaging.getCurrentTimeMS();
  4238. if(this.lastMessageTimestamp==null || currentTimestamp - this.lastMessageTimestamp >=WebkitScriptMessaging.MESSAGE_TIME_DELTA)
  4239. {
  4240. invokePostMessage();
  4241. this.lastMessageTimestamp=currentTimestamp
  4242. }
  4243. else
  4244. {
  4245. this.lastMessageTimestamp+=WebkitScriptMessaging.MESSAGE_TIME_DELTA;
  4246. setTimeout(function()
  4247. {
  4248. invokePostMessage()
  4249. },this.lastMessageTimestamp - currentTimestamp)
  4250. }
  4251. return correlationId
  4252. };
  4253. WebkitScriptMessaging.prototype.generateCorrelationId=function()
  4254. {
  4255. ++this.callingIndex;
  4256. return this.conversationId+this.callingIndex
  4257. };
  4258. WebkitScriptMessaging.getCurrentTimeMS=function()
  4259. {
  4260. return(new Date).getTime()
  4261. };
  4262. WebkitScriptMessaging.MESSAGE_TIME_DELTA=10;
  4263. return WebkitScriptMessaging
  4264. }();
  4265. ScriptMessaging.WebkitScriptMessaging=WebkitScriptMessaging
  4266. })(ScriptMessaging=OSFWebkit.ScriptMessaging || (OSFWebkit.ScriptMessaging={}))
  4267. })(OSFWebkit || (OSFWebkit={}));
  4268. OSF.ScriptMessaging=OSFWebkit.ScriptMessaging;
  4269. var OSFWebkit;
  4270. (function(OSFWebkit)
  4271. {
  4272. OSFWebkit.MessageHandlerName="Agave";
  4273. OSFWebkit.PopupMessageHandlerName="WefPopupHandler";
  4274. (function(AppContextProperties)
  4275. {
  4276. AppContextProperties[AppContextProperties["Settings"]=0]="Settings";
  4277. AppContextProperties[AppContextProperties["SolutionReferenceId"]=1]="SolutionReferenceId";
  4278. AppContextProperties[AppContextProperties["AppType"]=2]="AppType";
  4279. AppContextProperties[AppContextProperties["MajorVersion"]=3]="MajorVersion";
  4280. AppContextProperties[AppContextProperties["MinorVersion"]=4]="MinorVersion";
  4281. AppContextProperties[AppContextProperties["RevisionVersion"]=5]="RevisionVersion";
  4282. AppContextProperties[AppContextProperties["APIVersionSequence"]=6]="APIVersionSequence";
  4283. AppContextProperties[AppContextProperties["AppCapabilities"]=7]="AppCapabilities";
  4284. AppContextProperties[AppContextProperties["APPUILocale"]=8]="APPUILocale";
  4285. AppContextProperties[AppContextProperties["AppDataLocale"]=9]="AppDataLocale";
  4286. AppContextProperties[AppContextProperties["BindingCount"]=10]="BindingCount";
  4287. AppContextProperties[AppContextProperties["DocumentUrl"]=11]="DocumentUrl";
  4288. AppContextProperties[AppContextProperties["ActivationMode"]=12]="ActivationMode";
  4289. AppContextProperties[AppContextProperties["ControlIntegrationLevel"]=13]="ControlIntegrationLevel";
  4290. AppContextProperties[AppContextProperties["SolutionToken"]=14]="SolutionToken";
  4291. AppContextProperties[AppContextProperties["APISetVersion"]=15]="APISetVersion";
  4292. AppContextProperties[AppContextProperties["CorrelationId"]=16]="CorrelationId";
  4293. AppContextProperties[AppContextProperties["InstanceId"]=17]="InstanceId";
  4294. AppContextProperties[AppContextProperties["TouchEnabled"]=18]="TouchEnabled";
  4295. AppContextProperties[AppContextProperties["CommerceAllowed"]=19]="CommerceAllowed";
  4296. AppContextProperties[AppContextProperties["RequirementMatrix"]=20]="RequirementMatrix"
  4297. })(OSFWebkit.AppContextProperties || (OSFWebkit.AppContextProperties={}));
  4298. var AppContextProperties=OSFWebkit.AppContextProperties;
  4299. (function(MethodId)
  4300. {
  4301. MethodId[MethodId["Execute"]=1]="Execute";
  4302. MethodId[MethodId["RegisterEvent"]=2]="RegisterEvent";
  4303. MethodId[MethodId["UnregisterEvent"]=3]="UnregisterEvent";
  4304. MethodId[MethodId["WriteSettings"]=4]="WriteSettings";
  4305. MethodId[MethodId["GetContext"]=5]="GetContext"
  4306. })(OSFWebkit.MethodId || (OSFWebkit.MethodId={}));
  4307. var MethodId=OSFWebkit.MethodId;
  4308. var WebkitHostController=function()
  4309. {
  4310. function WebkitHostController(hostScriptProxy)
  4311. {
  4312. this.hostScriptProxy=hostScriptProxy
  4313. }
  4314. WebkitHostController.prototype.execute=function(id, params, callback)
  4315. {
  4316. var args=params;
  4317. if(args==null)
  4318. args=[];
  4319. var hostParams={
  4320. id: id,
  4321. apiArgs: args
  4322. };
  4323. var agaveResponseCallback=function(payload)
  4324. {
  4325. if(callback)
  4326. {
  4327. var invokeArguments=[];
  4328. if(OSF.OUtil.isArray(payload))
  4329. for(var i=0; i < payload.length; i++)
  4330. {
  4331. var element=payload[i];
  4332. if(OSF.OUtil.isArray(element))
  4333. element=new OSFWebkit.WebkitSafeArray(element);
  4334. invokeArguments.unshift(element)
  4335. }
  4336. return callback.apply(null,invokeArguments)
  4337. }
  4338. };
  4339. this.hostScriptProxy.invokeMethod(OSF.Webkit.MessageHandlerName,OSF.Webkit.MethodId.Execute,hostParams,agaveResponseCallback)
  4340. };
  4341. WebkitHostController.prototype.registerEvent=function(id, targetId, handler, callback)
  4342. {
  4343. var agaveEventHandlerCallback=function(payload)
  4344. {
  4345. var safeArraySource=payload;
  4346. var eventId=0;
  4347. if(OSF.OUtil.isArray(payload) && payload.length >=2)
  4348. {
  4349. safeArraySource=payload[0];
  4350. eventId=payload[1]
  4351. }
  4352. if(handler)
  4353. handler(eventId,new OSFWebkit.WebkitSafeArray(safeArraySource))
  4354. };
  4355. var agaveResponseCallback=function(payload)
  4356. {
  4357. if(callback)
  4358. return callback(new OSFWebkit.WebkitSafeArray(payload))
  4359. };
  4360. this.hostScriptProxy.registerEvent(OSF.Webkit.MessageHandlerName,OSF.Webkit.MethodId.RegisterEvent,id,targetId,agaveEventHandlerCallback,agaveResponseCallback)
  4361. };
  4362. WebkitHostController.prototype.unregisterEvent=function(id, targetId, callback)
  4363. {
  4364. var agaveResponseCallback=function(response)
  4365. {
  4366. return callback(new OSFWebkit.WebkitSafeArray(response))
  4367. };
  4368. this.hostScriptProxy.unregisterEvent(OSF.Webkit.MessageHandlerName,OSF.Webkit.MethodId.UnregisterEvent,id,targetId,agaveResponseCallback)
  4369. };
  4370. WebkitHostController.prototype.messageParent=function(params)
  4371. {
  4372. var message=params[Microsoft.Office.WebExtension.Parameters.MessageToParent];
  4373. var messageObj={dialogMessage: {
  4374. messageType: OSF.DialogMessageType.DialogMessageReceived,
  4375. messageContent: message
  4376. }};
  4377. window.opener.postMessage(JSON.stringify(messageObj),window.location.origin)
  4378. };
  4379. WebkitHostController.prototype.openDialog=function(id, targetId, handler, callback)
  4380. {
  4381. var magicWord="action=displayDialog";
  4382. var fragmentSeparator="#";
  4383. var callArgs=JSON.parse(targetId);
  4384. var callUrl=callArgs.url;
  4385. if(!callUrl)
  4386. return;
  4387. var urlParts=callUrl.split(fragmentSeparator);
  4388. var seperator="?";
  4389. if(urlParts[0].indexOf("?") > -1)
  4390. seperator="&";
  4391. var width=screen.width * callArgs.width / 100;
  4392. var height=screen.height * callArgs.height / 100;
  4393. var params="width="+width+", height="+height;
  4394. urlParts[0]=urlParts[0].concat(seperator).concat(magicWord);
  4395. var openUrl=urlParts.join(fragmentSeparator);
  4396. WebkitHostController.popup=window.open(openUrl,"",params);
  4397. function receiveMessage(event)
  4398. {
  4399. if(event.origin==window.location.origin)
  4400. try
  4401. {
  4402. var messageObj=JSON.parse(event.data);
  4403. if(messageObj.dialogMessage)
  4404. handler(id,[OSF.DialogMessageType.DialogMessageReceived,messageObj.dialogMessage.messageContent])
  4405. }
  4406. catch(e)
  4407. {
  4408. OsfMsAjaxFactory.msAjaxDebug.trace("messages received cannot be handlered. Message:"+event.data)
  4409. }
  4410. }
  4411. window.addEventListener("message",receiveMessage);
  4412. var interval;
  4413. function checkWindowClose()
  4414. {
  4415. try
  4416. {
  4417. if(WebkitHostController.popup==null || WebkitHostController.popup.closed)
  4418. {
  4419. window.clearInterval(interval);
  4420. window.removeEventListener("message",receiveMessage);
  4421. handler(id,[OSF.DialogMessageType.DialogClosed])
  4422. }
  4423. }
  4424. catch(e)
  4425. {
  4426. OsfMsAjaxFactory.msAjaxDebug.trace("Error happened when popup window closed.")
  4427. }
  4428. }
  4429. interval=window.setInterval(checkWindowClose,1e3);
  4430. callback(OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
  4431. };
  4432. WebkitHostController.prototype.closeDialog=function(id, targetId, callback)
  4433. {
  4434. if(WebkitHostController.popup)
  4435. {
  4436. WebkitHostController.popup.close();
  4437. WebkitHostController.popup=null;
  4438. callback(OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
  4439. }
  4440. else
  4441. callback(OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError)
  4442. };
  4443. return WebkitHostController
  4444. }();
  4445. OSFWebkit.WebkitHostController=WebkitHostController
  4446. })(OSFWebkit || (OSFWebkit={}));
  4447. OSF.Webkit=OSFWebkit;
  4448. OSF.ClientHostController=new OSFWebkit.WebkitHostController(OSF.ScriptMessaging.GetScriptMessenger());
  4449. OSF.DDA.ClientSettingsManager={
  4450. getSettingsExecuteMethod: function OSF_DDA_ClientSettingsManager$getSettingsExecuteMethod(hostDelegateMethod)
  4451. {
  4452. return function(args)
  4453. {
  4454. var status,
  4455. response;
  4456. var onComplete=function onComplete(status, response)
  4457. {
  4458. if(args.onReceiving)
  4459. args.onReceiving();
  4460. if(args.onComplete)
  4461. args.onComplete(status,response)
  4462. };
  4463. try
  4464. {
  4465. hostDelegateMethod(args.hostCallArgs,args.onCalling,onComplete)
  4466. }
  4467. catch(ex)
  4468. {
  4469. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  4470. response={
  4471. name: Strings.OfficeOM.L_InternalError,
  4472. message: ex
  4473. };
  4474. onComplete(status,response)
  4475. }
  4476. }
  4477. },
  4478. read: function OSF_DDA_ClientSettingsManager$read(onCalling, onComplete)
  4479. {
  4480. var keys=[];
  4481. var values=[];
  4482. if(onCalling)
  4483. onCalling();
  4484. var initializationHelper=OSF._OfficeAppFactory.getInitializationHelper();
  4485. var onReceivedContext=function onReceivedContext(appContext)
  4486. {
  4487. if(onComplete)
  4488. onComplete(OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess,appContext.get_settings())
  4489. };
  4490. initializationHelper.getAppContext(null,onReceivedContext)
  4491. },
  4492. write: function OSF_DDA_ClientSettingsManager$write(serializedSettings, overwriteIfStale, onCalling, onComplete)
  4493. {
  4494. var hostParams={};
  4495. var keys=[];
  4496. var values=[];
  4497. for(var key in serializedSettings)
  4498. {
  4499. keys.push(key);
  4500. values.push(serializedSettings[key])
  4501. }
  4502. hostParams["keys"]=keys;
  4503. hostParams["values"]=values;
  4504. if(onCalling)
  4505. onCalling();
  4506. var onWriteCompleted=function onWriteCompleted(status)
  4507. {
  4508. if(onComplete)
  4509. onComplete(status[0],null)
  4510. };
  4511. OSF.ScriptMessaging.GetScriptMessenger().invokeMethod(OSF.Webkit.MessageHandlerName,OSF.Webkit.MethodId.WriteSettings,hostParams,onWriteCompleted)
  4512. }
  4513. };
  4514. OSF.InitializationHelper.prototype.initializeSettings=function OSF_InitializationHelper$initializeSettings(appContext, refreshSupported)
  4515. {
  4516. var serializedSettings=appContext.get_settings();
  4517. var settings=this.deserializeSettings(serializedSettings,refreshSupported);
  4518. return settings
  4519. };
  4520. OSF.InitializationHelper.prototype.getAppContext=function OSF_InitializationHelper$getAppContext(wnd, gotAppContext)
  4521. {
  4522. var getInvocationCallback=function OSF_InitializationHelper_getAppContextAsync$getInvocationCallbackWebApp(appContext)
  4523. {
  4524. var returnedContext;
  4525. var appContextProperties=OSF.Webkit.AppContextProperties;
  4526. var appType=appContext[appContextProperties.AppType];
  4527. var hostSettings=appContext[appContextProperties.Settings];
  4528. var serializedSettings={};
  4529. var keys=hostSettings[0];
  4530. var values=hostSettings[1];
  4531. for(var index=0; index < keys.length; index++)
  4532. serializedSettings[keys[index]]=values[index];
  4533. var id=appContext[appContextProperties.SolutionReferenceId];
  4534. var version=appContext[appContextProperties.MajorVersion];
  4535. var clientMode=appContext[appContextProperties.AppCapabilities];
  4536. var UILocale=appContext[appContextProperties.APPUILocale];
  4537. var dataLocale=appContext[appContextProperties.AppDataLocale];
  4538. var docUrl=appContext[appContextProperties.DocumentUrl];
  4539. var reason=appContext[appContextProperties.ActivationMode];
  4540. var osfControlType=appContext[appContextProperties.ControlIntegrationLevel];
  4541. var eToken=appContext[appContextProperties.SolutionToken];
  4542. eToken=eToken ? eToken.toString() : "";
  4543. var correlationId=appContext[appContextProperties.CorrelationId];
  4544. var appInstanceId=appContext[appContextProperties.InstanceId];
  4545. var touchEnabled=appContext[appContextProperties.TouchEnabled];
  4546. var commerceAllowed=appContext[appContextProperties.CommerceAllowed];
  4547. var minorVersion=appContext[appContextProperties.MinorVersion];
  4548. var requirementMatrix=appContext[appContextProperties.RequirementMatrix];
  4549. returnedContext=new OSF.OfficeAppContext(id,appType,version,UILocale,dataLocale,docUrl,clientMode,serializedSettings,reason,osfControlType,eToken,correlationId,appInstanceId,touchEnabled,commerceAllowed,minorVersion,requirementMatrix);
  4550. if(OSF.AppTelemetry)
  4551. OSF.AppTelemetry.initialize(returnedContext);
  4552. gotAppContext(returnedContext)
  4553. };
  4554. var handler;
  4555. if(this._hostInfo.isDialog)
  4556. handler=OSF.Webkit.PopupMessageHandlerName;
  4557. else
  4558. handler=OSF.Webkit.MessageHandlerName;
  4559. OSF.ScriptMessaging.GetScriptMessenger().invokeMethod(handler,OSF.Webkit.MethodId.GetContext,[],getInvocationCallback)
  4560. };
  4561. (function()
  4562. {
  4563. var checkScriptOverride=function OSF$checkScriptOverride()
  4564. {
  4565. var postScriptOverrideCheckAction=function OSF$postScriptOverrideCheckAction(customizedScriptPath)
  4566. {
  4567. if(customizedScriptPath)
  4568. OSF.OUtil.loadScript(customizedScriptPath,function()
  4569. {
  4570. OsfMsAjaxFactory.msAjaxDebug.trace("loaded customized script:"+customizedScriptPath)
  4571. })
  4572. };
  4573. var conversationID,
  4574. webAppUrl,
  4575. items;
  4576. var clientEndPoint=null;
  4577. var xdmInfoValue=OSF.OUtil.parseXdmInfo();
  4578. if(xdmInfoValue)
  4579. {
  4580. items=OSF.OUtil.getInfoItems(xdmInfoValue);
  4581. if(items && items.length >=3)
  4582. {
  4583. conversationID=items[0];
  4584. webAppUrl=items[2];
  4585. var serializerVersion=OSF.OUtil.parseSerializerVersionWithGivenFragment(false,OSF._OfficeAppFactory.getWindowLocationHash());
  4586. if(isNaN(serializerVersion) && OSF._OfficeAppFactory.getWindowName)
  4587. serializerVersion=OSF.OUtil.parseSerializerVersionFromWindowName(false,OSF._OfficeAppFactory.getWindowName());
  4588. clientEndPoint=Microsoft.Office.Common.XdmCommunicationManager.connect(conversationID,window.parent,webAppUrl,serializerVersion)
  4589. }
  4590. }
  4591. var customizedScriptPath=null;
  4592. if(!clientEndPoint)
  4593. {
  4594. try
  4595. {
  4596. if(window.external && typeof window.external.getCustomizedScriptPath !=="undefined")
  4597. customizedScriptPath=window.external.getCustomizedScriptPath()
  4598. }
  4599. catch(ex)
  4600. {
  4601. OsfMsAjaxFactory.msAjaxDebug.trace("no script override through window.external.")
  4602. }
  4603. postScriptOverrideCheckAction(customizedScriptPath)
  4604. }
  4605. else
  4606. try
  4607. {
  4608. clientEndPoint.invoke("getCustomizedScriptPathAsync",function OSF$getCustomizedScriptPathAsyncCallback(errorCode, scriptPath)
  4609. {
  4610. postScriptOverrideCheckAction(errorCode===0 ? scriptPath : null)
  4611. },{__timeout__: 1e3})
  4612. }
  4613. catch(ex)
  4614. {
  4615. OsfMsAjaxFactory.msAjaxDebug.trace("no script override through cross frame communication.")
  4616. }
  4617. };
  4618. var requiresMsAjax=true;
  4619. if(requiresMsAjax && !OsfMsAjaxFactory.isMsAjaxLoaded())
  4620. if(!(OSF._OfficeAppFactory && OSF._OfficeAppFactory && OSF._OfficeAppFactory.getLoadScriptHelper && OSF._OfficeAppFactory.getLoadScriptHelper().isScriptLoading(OSF.ConstantNames.MicrosoftAjaxId)))
  4621. OsfMsAjaxFactory.loadMsAjaxFull(function OSF$loadMSAjaxCallback()
  4622. {
  4623. if(OsfMsAjaxFactory.isMsAjaxLoaded())
  4624. checkScriptOverride();
  4625. else
  4626. throw"Not able to load MicrosoftAjax.js.";
  4627. });
  4628. else
  4629. OSF._OfficeAppFactory.getLoadScriptHelper().waitForScripts([OSF.ConstantNames.MicrosoftAjaxId],checkScriptOverride);
  4630. else
  4631. checkScriptOverride()
  4632. })();
  4633. Microsoft.Office.WebExtension.EventType={};
  4634. OSF.EventDispatch=function OSF_EventDispatch(eventTypes)
  4635. {
  4636. this._eventHandlers={};
  4637. this._queuedEventsArgs={};
  4638. for(var entry in eventTypes)
  4639. {
  4640. var eventType=eventTypes[entry];
  4641. this._eventHandlers[eventType]=[];
  4642. this._queuedEventsArgs[eventType]=[]
  4643. }
  4644. };
  4645. OSF.EventDispatch.prototype={
  4646. getSupportedEvents: function OSF_EventDispatch$getSupportedEvents()
  4647. {
  4648. var events=[];
  4649. for(var eventName in this._eventHandlers)
  4650. events.push(eventName);
  4651. return events
  4652. },
  4653. supportsEvent: function OSF_EventDispatch$supportsEvent(event)
  4654. {
  4655. var isSupported=false;
  4656. for(var eventName in this._eventHandlers)
  4657. if(event==eventName)
  4658. {
  4659. isSupported=true;
  4660. break
  4661. }
  4662. return isSupported
  4663. },
  4664. hasEventHandler: function OSF_EventDispatch$hasEventHandler(eventType, handler)
  4665. {
  4666. var handlers=this._eventHandlers[eventType];
  4667. if(handlers && handlers.length > 0)
  4668. for(var h in handlers)
  4669. if(handlers[h]===handler)
  4670. return true;
  4671. return false
  4672. },
  4673. addEventHandler: function OSF_EventDispatch$addEventHandler(eventType, handler)
  4674. {
  4675. if(typeof handler !="function")
  4676. return false;
  4677. var handlers=this._eventHandlers[eventType];
  4678. if(handlers && !this.hasEventHandler(eventType,handler))
  4679. {
  4680. handlers.push(handler);
  4681. return true
  4682. }
  4683. else
  4684. return false
  4685. },
  4686. addEventHandlerAndFireQueuedEvent: function OSF_EventDispatch$addEventHandlerAndFireQueuedEvent(eventType, handler)
  4687. {
  4688. var handlers=this._eventHandlers[eventType];
  4689. var isFirstHandler=handlers.length==0;
  4690. var succeed=this.addEventHandler(eventType,handler);
  4691. if(isFirstHandler && succeed)
  4692. this.fireQueuedEvent(eventType);
  4693. return succeed
  4694. },
  4695. removeEventHandler: function OSF_EventDispatch$removeEventHandler(eventType, handler)
  4696. {
  4697. var handlers=this._eventHandlers[eventType];
  4698. if(handlers && handlers.length > 0)
  4699. for(var index=0; index < handlers.length; index++)
  4700. if(handlers[index]===handler)
  4701. {
  4702. handlers.splice(index,1);
  4703. return true
  4704. }
  4705. return false
  4706. },
  4707. clearEventHandlers: function OSF_EventDispatch$clearEventHandlers(eventType)
  4708. {
  4709. if(typeof this._eventHandlers[eventType] !="undefined" && this._eventHandlers[eventType].length > 0)
  4710. {
  4711. this._eventHandlers[eventType]=[];
  4712. return true
  4713. }
  4714. return false
  4715. },
  4716. getEventHandlerCount: function OSF_EventDispatch$getEventHandlerCount(eventType)
  4717. {
  4718. return this._eventHandlers[eventType] !=undefined ? this._eventHandlers[eventType].length : -1
  4719. },
  4720. fireEvent: function OSF_EventDispatch$fireEvent(eventArgs)
  4721. {
  4722. if(eventArgs.type==undefined)
  4723. return false;
  4724. var eventType=eventArgs.type;
  4725. if(eventType && this._eventHandlers[eventType])
  4726. {
  4727. var eventHandlers=this._eventHandlers[eventType];
  4728. for(var handler in eventHandlers)
  4729. eventHandlers[handler](eventArgs);
  4730. return true
  4731. }
  4732. else
  4733. return false
  4734. },
  4735. fireOrQueueEvent: function OSF_EventDispatch$fireOrQueueEvent(eventArgs)
  4736. {
  4737. var eventType=eventArgs.type;
  4738. if(eventType && this._eventHandlers[eventType])
  4739. {
  4740. var eventHandlers=this._eventHandlers[eventType];
  4741. var queuedEvents=this._queuedEventsArgs[eventType];
  4742. if(eventHandlers.length==0)
  4743. queuedEvents.push(eventArgs);
  4744. else
  4745. this.fireEvent(eventArgs);
  4746. return true
  4747. }
  4748. else
  4749. return false
  4750. },
  4751. fireQueuedEvent: function OSF_EventDispatch$queueEvent(eventType)
  4752. {
  4753. if(eventType && this._eventHandlers[eventType])
  4754. {
  4755. var eventHandlers=this._eventHandlers[eventType];
  4756. var queuedEvents=this._queuedEventsArgs[eventType];
  4757. if(eventHandlers.length > 0)
  4758. {
  4759. var eventHandler=eventHandlers[0];
  4760. while(queuedEvents.length > 0)
  4761. {
  4762. var eventArgs=queuedEvents.shift();
  4763. eventHandler(eventArgs)
  4764. }
  4765. return true
  4766. }
  4767. }
  4768. return false
  4769. }
  4770. };
  4771. OSF.DDA.OMFactory=OSF.DDA.OMFactory || {};
  4772. OSF.DDA.OMFactory.manufactureEventArgs=function OSF_DDA_OMFactory$manufactureEventArgs(eventType, target, eventProperties)
  4773. {
  4774. var args;
  4775. switch(eventType)
  4776. {
  4777. case Microsoft.Office.WebExtension.EventType.DocumentSelectionChanged:
  4778. args=new OSF.DDA.DocumentSelectionChangedEventArgs(target);
  4779. break;
  4780. case Microsoft.Office.WebExtension.EventType.BindingSelectionChanged:
  4781. args=new OSF.DDA.BindingSelectionChangedEventArgs(this.manufactureBinding(eventProperties,target.document),eventProperties[OSF.DDA.PropertyDescriptors.Subset]);
  4782. break;
  4783. case Microsoft.Office.WebExtension.EventType.BindingDataChanged:
  4784. args=new OSF.DDA.BindingDataChangedEventArgs(this.manufactureBinding(eventProperties,target.document));
  4785. break;
  4786. case Microsoft.Office.WebExtension.EventType.SettingsChanged:
  4787. args=new OSF.DDA.SettingsChangedEventArgs(target);
  4788. break;
  4789. case Microsoft.Office.WebExtension.EventType.ActiveViewChanged:
  4790. args=new OSF.DDA.ActiveViewChangedEventArgs(eventProperties);
  4791. break;
  4792. case Microsoft.Office.WebExtension.EventType.OfficeThemeChanged:
  4793. args=new OSF.DDA.Theming.OfficeThemeChangedEventArgs(eventProperties);
  4794. break;
  4795. case Microsoft.Office.WebExtension.EventType.DocumentThemeChanged:
  4796. args=new OSF.DDA.Theming.DocumentThemeChangedEventArgs(eventProperties);
  4797. break;
  4798. case Microsoft.Office.WebExtension.EventType.AppCommandInvoked:
  4799. args=OSF.DDA.AppCommand.AppCommandInvokedEventArgs.create(eventProperties);
  4800. break;
  4801. case Microsoft.Office.WebExtension.EventType.DataNodeInserted:
  4802. args=new OSF.DDA.NodeInsertedEventArgs(this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.NewNode]),eventProperties[OSF.DDA.DataNodeEventProperties.InUndoRedo]);
  4803. break;
  4804. case Microsoft.Office.WebExtension.EventType.DataNodeReplaced:
  4805. args=new OSF.DDA.NodeReplacedEventArgs(this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.OldNode]),this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.NewNode]),eventProperties[OSF.DDA.DataNodeEventProperties.InUndoRedo]);
  4806. break;
  4807. case Microsoft.Office.WebExtension.EventType.DataNodeDeleted:
  4808. args=new OSF.DDA.NodeDeletedEventArgs(this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.OldNode]),this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.NextSiblingNode]),eventProperties[OSF.DDA.DataNodeEventProperties.InUndoRedo]);
  4809. break;
  4810. case Microsoft.Office.WebExtension.EventType.TaskSelectionChanged:
  4811. args=new OSF.DDA.TaskSelectionChangedEventArgs(target);
  4812. break;
  4813. case Microsoft.Office.WebExtension.EventType.ResourceSelectionChanged:
  4814. args=new OSF.DDA.ResourceSelectionChangedEventArgs(target);
  4815. break;
  4816. case Microsoft.Office.WebExtension.EventType.ViewSelectionChanged:
  4817. args=new OSF.DDA.ViewSelectionChangedEventArgs(target);
  4818. break;
  4819. case Microsoft.Office.WebExtension.EventType.DialogMessageReceived:
  4820. args=new OSF.DDA.DialogEventArgs(eventProperties);
  4821. break;
  4822. case Microsoft.Office.WebExtension.EventType.OlkItemSelectedChanged:
  4823. args=new OSF.DDA.OlkItemSelectedChangedEventArgs(target);
  4824. break;
  4825. default:
  4826. throw OsfMsAjaxFactory.msAjaxError.argument(Microsoft.Office.WebExtension.Parameters.EventType,OSF.OUtil.formatString(Strings.OfficeOM.L_NotSupportedEventType,eventType));
  4827. }
  4828. return args
  4829. };
  4830. OSF.DDA.AsyncMethodNames.addNames({
  4831. AddHandlerAsync: "addHandlerAsync",
  4832. RemoveHandlerAsync: "removeHandlerAsync"
  4833. });
  4834. OSF.DDA.AsyncMethodCalls.define({
  4835. method: OSF.DDA.AsyncMethodNames.AddHandlerAsync,
  4836. requiredArguments: [{
  4837. name: Microsoft.Office.WebExtension.Parameters.EventType,
  4838. "enum": Microsoft.Office.WebExtension.EventType,
  4839. verify: function(eventType, caller, eventDispatch)
  4840. {
  4841. return eventDispatch.supportsEvent(eventType)
  4842. }
  4843. },{
  4844. name: Microsoft.Office.WebExtension.Parameters.Handler,
  4845. types: ["function"]
  4846. }],
  4847. supportedOptions: [],
  4848. privateStateCallbacks: []
  4849. });
  4850. OSF.DDA.AsyncMethodCalls.define({
  4851. method: OSF.DDA.AsyncMethodNames.RemoveHandlerAsync,
  4852. requiredArguments: [{
  4853. name: Microsoft.Office.WebExtension.Parameters.EventType,
  4854. "enum": Microsoft.Office.WebExtension.EventType,
  4855. verify: function(eventType, caller, eventDispatch)
  4856. {
  4857. return eventDispatch.supportsEvent(eventType)
  4858. }
  4859. }],
  4860. supportedOptions: [{
  4861. name: Microsoft.Office.WebExtension.Parameters.Handler,
  4862. value: {
  4863. types: ["function","object"],
  4864. defaultValue: null
  4865. }
  4866. }],
  4867. privateStateCallbacks: []
  4868. });
  4869. OSF.DialogShownStatus={
  4870. hasDialogShown: false,
  4871. isWindowDialog: false
  4872. };
  4873. OSF.OUtil.augmentList(OSF.DDA.EventDescriptors,{DialogMessageReceivedEvent: "DialogMessageReceivedEvent"});
  4874. OSF.OUtil.augmentList(Microsoft.Office.WebExtension.EventType,{
  4875. DialogMessageReceived: "dialogMessageReceived",
  4876. DialogEventReceived: "dialogEventReceived"
  4877. });
  4878. OSF.OUtil.augmentList(OSF.DDA.PropertyDescriptors,{
  4879. MessageType: "messageType",
  4880. MessageContent: "messageContent"
  4881. });
  4882. OSF.DDA.DialogEventType={};
  4883. OSF.OUtil.augmentList(OSF.DDA.DialogEventType,{
  4884. DialogClosed: "dialogClosed",
  4885. NavigationFailed: "naviationFailed"
  4886. });
  4887. OSF.DDA.AsyncMethodNames.addNames({
  4888. DisplayDialogAsync: "displayDialogAsync",
  4889. CloseAsync: "close"
  4890. });
  4891. OSF.DDA.SyncMethodNames.addNames({
  4892. MessageParent: "messageParent",
  4893. AddMessageHandler: "addEventHandler"
  4894. });
  4895. OSF.DDA.UI.ParentUI=function OSF_DDA_ParentUI()
  4896. {
  4897. var eventDispatch=new OSF.EventDispatch([Microsoft.Office.WebExtension.EventType.DialogMessageReceived,Microsoft.Office.WebExtension.EventType.DialogEventReceived]);
  4898. var openDialogName=OSF.DDA.AsyncMethodNames.DisplayDialogAsync.displayName;
  4899. var target=this;
  4900. if(!target[openDialogName])
  4901. OSF.OUtil.defineEnumerableProperty(target,openDialogName,{value: function()
  4902. {
  4903. var openDialog=OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.OpenDialog];
  4904. openDialog(arguments,eventDispatch,target)
  4905. }});
  4906. OSF.OUtil.finalizeProperties(this)
  4907. };
  4908. OSF.DDA.UI.ChildUI=function OSF_DDA_ChildUI()
  4909. {
  4910. var messageParentName=OSF.DDA.SyncMethodNames.MessageParent.displayName;
  4911. var target=this;
  4912. if(!target[messageParentName])
  4913. OSF.OUtil.defineEnumerableProperty(target,messageParentName,{value: function()
  4914. {
  4915. var messageParent=OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.MessageParent];
  4916. return messageParent(arguments,target)
  4917. }});
  4918. OSF.OUtil.finalizeProperties(this)
  4919. };
  4920. OSF.DialogHandler=function OSF_DialogHandler(){};
  4921. OSF.DDA.DialogEventArgs=function OSF_DDA_DialogEventArgs(message)
  4922. {
  4923. if(message[OSF.DDA.PropertyDescriptors.MessageType]==OSF.DialogMessageType.DialogMessageReceived)
  4924. OSF.OUtil.defineEnumerableProperties(this,{
  4925. type: {value: Microsoft.Office.WebExtension.EventType.DialogMessageReceived},
  4926. message: {value: message[OSF.DDA.PropertyDescriptors.MessageContent]}
  4927. });
  4928. else
  4929. OSF.OUtil.defineEnumerableProperties(this,{
  4930. type: {value: Microsoft.Office.WebExtension.EventType.DialogEventReceived},
  4931. error: {value: message[OSF.DDA.PropertyDescriptors.MessageType]}
  4932. })
  4933. };
  4934. OSF.DDA.AsyncMethodCalls.define({
  4935. method: OSF.DDA.AsyncMethodNames.DisplayDialogAsync,
  4936. requiredArguments: [{
  4937. name: Microsoft.Office.WebExtension.Parameters.Url,
  4938. types: ["string"]
  4939. }],
  4940. supportedOptions: [{
  4941. name: Microsoft.Office.WebExtension.Parameters.Width,
  4942. value: {
  4943. types: ["number"],
  4944. defaultValue: 99
  4945. }
  4946. },{
  4947. name: Microsoft.Office.WebExtension.Parameters.Height,
  4948. value: {
  4949. types: ["number"],
  4950. defaultValue: 99
  4951. }
  4952. },{
  4953. name: Microsoft.Office.WebExtension.Parameters.RequireHTTPs,
  4954. value: {
  4955. types: ["boolean"],
  4956. defaultValue: true
  4957. }
  4958. },{
  4959. name: Microsoft.Office.WebExtension.Parameters.DisplayInIframe,
  4960. value: {
  4961. types: ["boolean"],
  4962. defaultValue: true
  4963. }
  4964. }],
  4965. privateStateCallbacks: [],
  4966. onSucceeded: function(args, caller, callArgs)
  4967. {
  4968. var targetId=args[Microsoft.Office.WebExtension.Parameters.Id];
  4969. var eventDispatch=args[Microsoft.Office.WebExtension.Parameters.Data];
  4970. var dialog=new OSF.DialogHandler;
  4971. var closeDialog=OSF.DDA.AsyncMethodNames.CloseAsync.displayName;
  4972. OSF.OUtil.defineEnumerableProperty(dialog,closeDialog,{value: function()
  4973. {
  4974. var closeDialogfunction=OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.CloseDialog];
  4975. closeDialogfunction(arguments,targetId,eventDispatch,dialog)
  4976. }});
  4977. var addHandler=OSF.DDA.SyncMethodNames.AddMessageHandler.displayName;
  4978. OSF.OUtil.defineEnumerableProperty(dialog,addHandler,{value: function()
  4979. {
  4980. var syncMethodCall=OSF.DDA.SyncMethodCalls[OSF.DDA.SyncMethodNames.AddMessageHandler.id];
  4981. var callArgs=syncMethodCall.verifyAndExtractCall(arguments,dialog,eventDispatch);
  4982. var eventType=callArgs[Microsoft.Office.WebExtension.Parameters.EventType];
  4983. var handler=callArgs[Microsoft.Office.WebExtension.Parameters.Handler];
  4984. return eventDispatch.addEventHandlerAndFireQueuedEvent(eventType,handler)
  4985. }});
  4986. return dialog
  4987. },
  4988. checkCallArgs: function(callArgs, caller, stateInfo)
  4989. {
  4990. if(callArgs[Microsoft.Office.WebExtension.Parameters.Width] <=0)
  4991. callArgs[Microsoft.Office.WebExtension.Parameters.Width]=1;
  4992. if(callArgs[Microsoft.Office.WebExtension.Parameters.Width] > 100)
  4993. callArgs[Microsoft.Office.WebExtension.Parameters.Width]=99;
  4994. if(callArgs[Microsoft.Office.WebExtension.Parameters.Height] <=0)
  4995. callArgs[Microsoft.Office.WebExtension.Parameters.Height]=1;
  4996. if(callArgs[Microsoft.Office.WebExtension.Parameters.Height] > 100)
  4997. callArgs[Microsoft.Office.WebExtension.Parameters.Height]=99;
  4998. return callArgs
  4999. }
  5000. });
  5001. OSF.DDA.AsyncMethodCalls.define({
  5002. method: OSF.DDA.AsyncMethodNames.CloseAsync,
  5003. requiredArguments: [],
  5004. supportedOptions: [],
  5005. privateStateCallbacks: []
  5006. });
  5007. OSF.DDA.SyncMethodCalls.define({
  5008. method: OSF.DDA.SyncMethodNames.MessageParent,
  5009. requiredArguments: [{
  5010. name: Microsoft.Office.WebExtension.Parameters.MessageToParent,
  5011. types: ["string","number","boolean"]
  5012. }],
  5013. supportedOptions: []
  5014. });
  5015. OSF.DDA.SyncMethodCalls.define({
  5016. method: OSF.DDA.SyncMethodNames.AddMessageHandler,
  5017. requiredArguments: [{
  5018. name: Microsoft.Office.WebExtension.Parameters.EventType,
  5019. "enum": Microsoft.Office.WebExtension.EventType,
  5020. verify: function(eventType, caller, eventDispatch)
  5021. {
  5022. return eventDispatch.supportsEvent(eventType)
  5023. }
  5024. },{
  5025. name: Microsoft.Office.WebExtension.Parameters.Handler,
  5026. types: ["function"]
  5027. }],
  5028. supportedOptions: []
  5029. });
  5030. OSF.DDA.SafeArray.Delegate.openDialog=function OSF_DDA_SafeArray_Delegate$OpenDialog(args)
  5031. {
  5032. try
  5033. {
  5034. if(args.onCalling)
  5035. args.onCalling();
  5036. var callback=OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(true,args);
  5037. OSF.ClientHostController.openDialog(args.dispId,args.targetId,function OSF_DDA_SafeArrayDelegate$RegisterEventAsync_OnEvent(eventDispId, payload)
  5038. {
  5039. if(args.onEvent)
  5040. args.onEvent(payload);
  5041. if(OSF.AppTelemetry)
  5042. OSF.AppTelemetry.onEventDone(args.dispId)
  5043. },callback)
  5044. }
  5045. catch(ex)
  5046. {
  5047. OSF.DDA.SafeArray.Delegate._onException(ex,args)
  5048. }
  5049. };
  5050. OSF.DDA.SafeArray.Delegate.closeDialog=function OSF_DDA_SafeArray_Delegate$CloseDialog(args)
  5051. {
  5052. if(args.onCalling)
  5053. args.onCalling();
  5054. var callback=OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(false,args);
  5055. try
  5056. {
  5057. OSF.ClientHostController.closeDialog(args.dispId,args.targetId,callback)
  5058. }
  5059. catch(ex)
  5060. {
  5061. OSF.DDA.SafeArray.Delegate._onException(ex,args)
  5062. }
  5063. };
  5064. OSF.DDA.SafeArray.Delegate.messageParent=function OSF_DDA_SafeArray_Delegate$MessageParent(args)
  5065. {
  5066. try
  5067. {
  5068. if(args.onCalling)
  5069. args.onCalling();
  5070. var startTime=(new Date).getTime();
  5071. var result=OSF.ClientHostController.messageParent(args.hostCallArgs);
  5072. if(args.onReceiving)
  5073. args.onReceiving();
  5074. if(OSF.AppTelemetry)
  5075. OSF.AppTelemetry.onMethodDone(args.dispId,args.hostCallArgs,Math.abs((new Date).getTime() - startTime),result);
  5076. return result
  5077. }
  5078. catch(ex)
  5079. {
  5080. return OSF.DDA.SafeArray.Delegate._onExceptionSyncMethod(ex)
  5081. }
  5082. };
  5083. OSF.DDA.SafeArray.Delegate.ParameterMap.define({
  5084. type: OSF.DDA.EventDispId.dispidDialogMessageReceivedEvent,
  5085. fromHost: [{
  5086. name: OSF.DDA.EventDescriptors.DialogMessageReceivedEvent,
  5087. value: OSF.DDA.SafeArray.Delegate.ParameterMap.self
  5088. }],
  5089. isComplexType: true
  5090. });
  5091. OSF.DDA.SafeArray.Delegate.ParameterMap.define({
  5092. type: OSF.DDA.EventDescriptors.DialogMessageReceivedEvent,
  5093. fromHost: [{
  5094. name: OSF.DDA.PropertyDescriptors.MessageType,
  5095. value: 0
  5096. },{
  5097. name: OSF.DDA.PropertyDescriptors.MessageContent,
  5098. value: 1
  5099. }],
  5100. isComplexType: true
  5101. });
  5102. OSF.OUtil.augmentList(Microsoft.Office.WebExtension.EventType,{OlkItemSelectedChanged: "olkItemSelectedChanged"});
  5103. OSF.DDA.OlkItemSelectedChangedEventArgs=function OSF_DDA_OlkItemSelectedChangedEventArgs(mailboxInstance)
  5104. {
  5105. OSF.OUtil.defineEnumerableProperties(this,{
  5106. type: {value: Microsoft.Office.WebExtension.EventType.OlkItemSelectedChanged},
  5107. mailbox: {value: mailboxInstance}
  5108. })
  5109. };
  5110. OSF.DDA.SafeArray.Delegate.ParameterMap.define({type: OSF.DDA.EventDispId.dispidOlkItemSelectedChangedEvent});
  5111. var OSFLog;
  5112. (function(OSFLog)
  5113. {
  5114. var BaseUsageData=function()
  5115. {
  5116. function BaseUsageData(table)
  5117. {
  5118. this._table=table;
  5119. this._fields={}
  5120. }
  5121. Object.defineProperty(BaseUsageData.prototype,"Fields",{
  5122. get: function()
  5123. {
  5124. return this._fields
  5125. },
  5126. enumerable: true,
  5127. configurable: true
  5128. });
  5129. Object.defineProperty(BaseUsageData.prototype,"Table",{
  5130. get: function()
  5131. {
  5132. return this._table
  5133. },
  5134. enumerable: true,
  5135. configurable: true
  5136. });
  5137. BaseUsageData.prototype.SerializeFields=function(){};
  5138. BaseUsageData.prototype.SetSerializedField=function(key, value)
  5139. {
  5140. if(typeof value !=="undefined" && value !==null)
  5141. this._serializedFields[key]=value.toString()
  5142. };
  5143. BaseUsageData.prototype.SerializeRow=function()
  5144. {
  5145. this._serializedFields={};
  5146. this.SetSerializedField("Table",this._table);
  5147. this.SerializeFields();
  5148. return JSON.stringify(this._serializedFields)
  5149. };
  5150. return BaseUsageData
  5151. }();
  5152. OSFLog.BaseUsageData=BaseUsageData;
  5153. var AppActivatedUsageData=function(_super)
  5154. {
  5155. __extends(AppActivatedUsageData,_super);
  5156. function AppActivatedUsageData()
  5157. {
  5158. _super.call(this,"AppActivated")
  5159. }
  5160. Object.defineProperty(AppActivatedUsageData.prototype,"CorrelationId",{
  5161. get: function()
  5162. {
  5163. return this.Fields["CorrelationId"]
  5164. },
  5165. set: function(value)
  5166. {
  5167. this.Fields["CorrelationId"]=value
  5168. },
  5169. enumerable: true,
  5170. configurable: true
  5171. });
  5172. Object.defineProperty(AppActivatedUsageData.prototype,"SessionId",{
  5173. get: function()
  5174. {
  5175. return this.Fields["SessionId"]
  5176. },
  5177. set: function(value)
  5178. {
  5179. this.Fields["SessionId"]=value
  5180. },
  5181. enumerable: true,
  5182. configurable: true
  5183. });
  5184. Object.defineProperty(AppActivatedUsageData.prototype,"AppId",{
  5185. get: function()
  5186. {
  5187. return this.Fields["AppId"]
  5188. },
  5189. set: function(value)
  5190. {
  5191. this.Fields["AppId"]=value
  5192. },
  5193. enumerable: true,
  5194. configurable: true
  5195. });
  5196. Object.defineProperty(AppActivatedUsageData.prototype,"AppInstanceId",{
  5197. get: function()
  5198. {
  5199. return this.Fields["AppInstanceId"]
  5200. },
  5201. set: function(value)
  5202. {
  5203. this.Fields["AppInstanceId"]=value
  5204. },
  5205. enumerable: true,
  5206. configurable: true
  5207. });
  5208. Object.defineProperty(AppActivatedUsageData.prototype,"AppURL",{
  5209. get: function()
  5210. {
  5211. return this.Fields["AppURL"]
  5212. },
  5213. set: function(value)
  5214. {
  5215. this.Fields["AppURL"]=value
  5216. },
  5217. enumerable: true,
  5218. configurable: true
  5219. });
  5220. Object.defineProperty(AppActivatedUsageData.prototype,"AssetId",{
  5221. get: function()
  5222. {
  5223. return this.Fields["AssetId"]
  5224. },
  5225. set: function(value)
  5226. {
  5227. this.Fields["AssetId"]=value
  5228. },
  5229. enumerable: true,
  5230. configurable: true
  5231. });
  5232. Object.defineProperty(AppActivatedUsageData.prototype,"Browser",{
  5233. get: function()
  5234. {
  5235. return this.Fields["Browser"]
  5236. },
  5237. set: function(value)
  5238. {
  5239. this.Fields["Browser"]=value
  5240. },
  5241. enumerable: true,
  5242. configurable: true
  5243. });
  5244. Object.defineProperty(AppActivatedUsageData.prototype,"UserId",{
  5245. get: function()
  5246. {
  5247. return this.Fields["UserId"]
  5248. },
  5249. set: function(value)
  5250. {
  5251. this.Fields["UserId"]=value
  5252. },
  5253. enumerable: true,
  5254. configurable: true
  5255. });
  5256. Object.defineProperty(AppActivatedUsageData.prototype,"Host",{
  5257. get: function()
  5258. {
  5259. return this.Fields["Host"]
  5260. },
  5261. set: function(value)
  5262. {
  5263. this.Fields["Host"]=value
  5264. },
  5265. enumerable: true,
  5266. configurable: true
  5267. });
  5268. Object.defineProperty(AppActivatedUsageData.prototype,"HostVersion",{
  5269. get: function()
  5270. {
  5271. return this.Fields["HostVersion"]
  5272. },
  5273. set: function(value)
  5274. {
  5275. this.Fields["HostVersion"]=value
  5276. },
  5277. enumerable: true,
  5278. configurable: true
  5279. });
  5280. Object.defineProperty(AppActivatedUsageData.prototype,"ClientId",{
  5281. get: function()
  5282. {
  5283. return this.Fields["ClientId"]
  5284. },
  5285. set: function(value)
  5286. {
  5287. this.Fields["ClientId"]=value
  5288. },
  5289. enumerable: true,
  5290. configurable: true
  5291. });
  5292. Object.defineProperty(AppActivatedUsageData.prototype,"AppSizeWidth",{
  5293. get: function()
  5294. {
  5295. return this.Fields["AppSizeWidth"]
  5296. },
  5297. set: function(value)
  5298. {
  5299. this.Fields["AppSizeWidth"]=value
  5300. },
  5301. enumerable: true,
  5302. configurable: true
  5303. });
  5304. Object.defineProperty(AppActivatedUsageData.prototype,"AppSizeHeight",{
  5305. get: function()
  5306. {
  5307. return this.Fields["AppSizeHeight"]
  5308. },
  5309. set: function(value)
  5310. {
  5311. this.Fields["AppSizeHeight"]=value
  5312. },
  5313. enumerable: true,
  5314. configurable: true
  5315. });
  5316. Object.defineProperty(AppActivatedUsageData.prototype,"Message",{
  5317. get: function()
  5318. {
  5319. return this.Fields["Message"]
  5320. },
  5321. set: function(value)
  5322. {
  5323. this.Fields["Message"]=value
  5324. },
  5325. enumerable: true,
  5326. configurable: true
  5327. });
  5328. Object.defineProperty(AppActivatedUsageData.prototype,"DocUrl",{
  5329. get: function()
  5330. {
  5331. return this.Fields["DocUrl"]
  5332. },
  5333. set: function(value)
  5334. {
  5335. this.Fields["DocUrl"]=value
  5336. },
  5337. enumerable: true,
  5338. configurable: true
  5339. });
  5340. AppActivatedUsageData.prototype.SerializeFields=function()
  5341. {
  5342. this.SetSerializedField("CorrelationId",this.CorrelationId);
  5343. this.SetSerializedField("SessionId",this.SessionId);
  5344. this.SetSerializedField("AppId",this.AppId);
  5345. this.SetSerializedField("AppInstanceId",this.AppInstanceId);
  5346. this.SetSerializedField("AppURL",this.AppURL);
  5347. this.SetSerializedField("AssetId",this.AssetId);
  5348. this.SetSerializedField("Browser",this.Browser);
  5349. this.SetSerializedField("UserId",this.UserId);
  5350. this.SetSerializedField("Host",this.Host);
  5351. this.SetSerializedField("HostVersion",this.HostVersion);
  5352. this.SetSerializedField("ClientId",this.ClientId);
  5353. this.SetSerializedField("AppSizeWidth",this.AppSizeWidth);
  5354. this.SetSerializedField("AppSizeHeight",this.AppSizeHeight);
  5355. this.SetSerializedField("Message",this.Message);
  5356. this.SetSerializedField("DocUrl",this.DocUrl)
  5357. };
  5358. return AppActivatedUsageData
  5359. }(BaseUsageData);
  5360. OSFLog.AppActivatedUsageData=AppActivatedUsageData;
  5361. var ScriptLoadUsageData=function(_super)
  5362. {
  5363. __extends(ScriptLoadUsageData,_super);
  5364. function ScriptLoadUsageData()
  5365. {
  5366. _super.call(this,"ScriptLoad")
  5367. }
  5368. Object.defineProperty(ScriptLoadUsageData.prototype,"CorrelationId",{
  5369. get: function()
  5370. {
  5371. return this.Fields["CorrelationId"]
  5372. },
  5373. set: function(value)
  5374. {
  5375. this.Fields["CorrelationId"]=value
  5376. },
  5377. enumerable: true,
  5378. configurable: true
  5379. });
  5380. Object.defineProperty(ScriptLoadUsageData.prototype,"SessionId",{
  5381. get: function()
  5382. {
  5383. return this.Fields["SessionId"]
  5384. },
  5385. set: function(value)
  5386. {
  5387. this.Fields["SessionId"]=value
  5388. },
  5389. enumerable: true,
  5390. configurable: true
  5391. });
  5392. Object.defineProperty(ScriptLoadUsageData.prototype,"ScriptId",{
  5393. get: function()
  5394. {
  5395. return this.Fields["ScriptId"]
  5396. },
  5397. set: function(value)
  5398. {
  5399. this.Fields["ScriptId"]=value
  5400. },
  5401. enumerable: true,
  5402. configurable: true
  5403. });
  5404. Object.defineProperty(ScriptLoadUsageData.prototype,"StartTime",{
  5405. get: function()
  5406. {
  5407. return this.Fields["StartTime"]
  5408. },
  5409. set: function(value)
  5410. {
  5411. this.Fields["StartTime"]=value
  5412. },
  5413. enumerable: true,
  5414. configurable: true
  5415. });
  5416. Object.defineProperty(ScriptLoadUsageData.prototype,"ResponseTime",{
  5417. get: function()
  5418. {
  5419. return this.Fields["ResponseTime"]
  5420. },
  5421. set: function(value)
  5422. {
  5423. this.Fields["ResponseTime"]=value
  5424. },
  5425. enumerable: true,
  5426. configurable: true
  5427. });
  5428. ScriptLoadUsageData.prototype.SerializeFields=function()
  5429. {
  5430. this.SetSerializedField("CorrelationId",this.CorrelationId);
  5431. this.SetSerializedField("SessionId",this.SessionId);
  5432. this.SetSerializedField("ScriptId",this.ScriptId);
  5433. this.SetSerializedField("StartTime",this.StartTime);
  5434. this.SetSerializedField("ResponseTime",this.ResponseTime)
  5435. };
  5436. return ScriptLoadUsageData
  5437. }(BaseUsageData);
  5438. OSFLog.ScriptLoadUsageData=ScriptLoadUsageData;
  5439. var AppClosedUsageData=function(_super)
  5440. {
  5441. __extends(AppClosedUsageData,_super);
  5442. function AppClosedUsageData()
  5443. {
  5444. _super.call(this,"AppClosed")
  5445. }
  5446. Object.defineProperty(AppClosedUsageData.prototype,"CorrelationId",{
  5447. get: function()
  5448. {
  5449. return this.Fields["CorrelationId"]
  5450. },
  5451. set: function(value)
  5452. {
  5453. this.Fields["CorrelationId"]=value
  5454. },
  5455. enumerable: true,
  5456. configurable: true
  5457. });
  5458. Object.defineProperty(AppClosedUsageData.prototype,"SessionId",{
  5459. get: function()
  5460. {
  5461. return this.Fields["SessionId"]
  5462. },
  5463. set: function(value)
  5464. {
  5465. this.Fields["SessionId"]=value
  5466. },
  5467. enumerable: true,
  5468. configurable: true
  5469. });
  5470. Object.defineProperty(AppClosedUsageData.prototype,"FocusTime",{
  5471. get: function()
  5472. {
  5473. return this.Fields["FocusTime"]
  5474. },
  5475. set: function(value)
  5476. {
  5477. this.Fields["FocusTime"]=value
  5478. },
  5479. enumerable: true,
  5480. configurable: true
  5481. });
  5482. Object.defineProperty(AppClosedUsageData.prototype,"AppSizeFinalWidth",{
  5483. get: function()
  5484. {
  5485. return this.Fields["AppSizeFinalWidth"]
  5486. },
  5487. set: function(value)
  5488. {
  5489. this.Fields["AppSizeFinalWidth"]=value
  5490. },
  5491. enumerable: true,
  5492. configurable: true
  5493. });
  5494. Object.defineProperty(AppClosedUsageData.prototype,"AppSizeFinalHeight",{
  5495. get: function()
  5496. {
  5497. return this.Fields["AppSizeFinalHeight"]
  5498. },
  5499. set: function(value)
  5500. {
  5501. this.Fields["AppSizeFinalHeight"]=value
  5502. },
  5503. enumerable: true,
  5504. configurable: true
  5505. });
  5506. Object.defineProperty(AppClosedUsageData.prototype,"OpenTime",{
  5507. get: function()
  5508. {
  5509. return this.Fields["OpenTime"]
  5510. },
  5511. set: function(value)
  5512. {
  5513. this.Fields["OpenTime"]=value
  5514. },
  5515. enumerable: true,
  5516. configurable: true
  5517. });
  5518. Object.defineProperty(AppClosedUsageData.prototype,"CloseMethod",{
  5519. get: function()
  5520. {
  5521. return this.Fields["CloseMethod"]
  5522. },
  5523. set: function(value)
  5524. {
  5525. this.Fields["CloseMethod"]=value
  5526. },
  5527. enumerable: true,
  5528. configurable: true
  5529. });
  5530. AppClosedUsageData.prototype.SerializeFields=function()
  5531. {
  5532. this.SetSerializedField("CorrelationId",this.CorrelationId);
  5533. this.SetSerializedField("SessionId",this.SessionId);
  5534. this.SetSerializedField("FocusTime",this.FocusTime);
  5535. this.SetSerializedField("AppSizeFinalWidth",this.AppSizeFinalWidth);
  5536. this.SetSerializedField("AppSizeFinalHeight",this.AppSizeFinalHeight);
  5537. this.SetSerializedField("OpenTime",this.OpenTime);
  5538. this.SetSerializedField("CloseMethod",this.CloseMethod)
  5539. };
  5540. return AppClosedUsageData
  5541. }(BaseUsageData);
  5542. OSFLog.AppClosedUsageData=AppClosedUsageData;
  5543. var APIUsageUsageData=function(_super)
  5544. {
  5545. __extends(APIUsageUsageData,_super);
  5546. function APIUsageUsageData()
  5547. {
  5548. _super.call(this,"APIUsage")
  5549. }
  5550. Object.defineProperty(APIUsageUsageData.prototype,"CorrelationId",{
  5551. get: function()
  5552. {
  5553. return this.Fields["CorrelationId"]
  5554. },
  5555. set: function(value)
  5556. {
  5557. this.Fields["CorrelationId"]=value
  5558. },
  5559. enumerable: true,
  5560. configurable: true
  5561. });
  5562. Object.defineProperty(APIUsageUsageData.prototype,"SessionId",{
  5563. get: function()
  5564. {
  5565. return this.Fields["SessionId"]
  5566. },
  5567. set: function(value)
  5568. {
  5569. this.Fields["SessionId"]=value
  5570. },
  5571. enumerable: true,
  5572. configurable: true
  5573. });
  5574. Object.defineProperty(APIUsageUsageData.prototype,"APIType",{
  5575. get: function()
  5576. {
  5577. return this.Fields["APIType"]
  5578. },
  5579. set: function(value)
  5580. {
  5581. this.Fields["APIType"]=value
  5582. },
  5583. enumerable: true,
  5584. configurable: true
  5585. });
  5586. Object.defineProperty(APIUsageUsageData.prototype,"APIID",{
  5587. get: function()
  5588. {
  5589. return this.Fields["APIID"]
  5590. },
  5591. set: function(value)
  5592. {
  5593. this.Fields["APIID"]=value
  5594. },
  5595. enumerable: true,
  5596. configurable: true
  5597. });
  5598. Object.defineProperty(APIUsageUsageData.prototype,"Parameters",{
  5599. get: function()
  5600. {
  5601. return this.Fields["Parameters"]
  5602. },
  5603. set: function(value)
  5604. {
  5605. this.Fields["Parameters"]=value
  5606. },
  5607. enumerable: true,
  5608. configurable: true
  5609. });
  5610. Object.defineProperty(APIUsageUsageData.prototype,"ResponseTime",{
  5611. get: function()
  5612. {
  5613. return this.Fields["ResponseTime"]
  5614. },
  5615. set: function(value)
  5616. {
  5617. this.Fields["ResponseTime"]=value
  5618. },
  5619. enumerable: true,
  5620. configurable: true
  5621. });
  5622. Object.defineProperty(APIUsageUsageData.prototype,"ErrorType",{
  5623. get: function()
  5624. {
  5625. return this.Fields["ErrorType"]
  5626. },
  5627. set: function(value)
  5628. {
  5629. this.Fields["ErrorType"]=value
  5630. },
  5631. enumerable: true,
  5632. configurable: true
  5633. });
  5634. APIUsageUsageData.prototype.SerializeFields=function()
  5635. {
  5636. this.SetSerializedField("CorrelationId",this.CorrelationId);
  5637. this.SetSerializedField("SessionId",this.SessionId);
  5638. this.SetSerializedField("APIType",this.APIType);
  5639. this.SetSerializedField("APIID",this.APIID);
  5640. this.SetSerializedField("Parameters",this.Parameters);
  5641. this.SetSerializedField("ResponseTime",this.ResponseTime);
  5642. this.SetSerializedField("ErrorType",this.ErrorType)
  5643. };
  5644. return APIUsageUsageData
  5645. }(BaseUsageData);
  5646. OSFLog.APIUsageUsageData=APIUsageUsageData;
  5647. var AppInitializationUsageData=function(_super)
  5648. {
  5649. __extends(AppInitializationUsageData,_super);
  5650. function AppInitializationUsageData()
  5651. {
  5652. _super.call(this,"AppInitialization")
  5653. }
  5654. Object.defineProperty(AppInitializationUsageData.prototype,"CorrelationId",{
  5655. get: function()
  5656. {
  5657. return this.Fields["CorrelationId"]
  5658. },
  5659. set: function(value)
  5660. {
  5661. this.Fields["CorrelationId"]=value
  5662. },
  5663. enumerable: true,
  5664. configurable: true
  5665. });
  5666. Object.defineProperty(AppInitializationUsageData.prototype,"SessionId",{
  5667. get: function()
  5668. {
  5669. return this.Fields["SessionId"]
  5670. },
  5671. set: function(value)
  5672. {
  5673. this.Fields["SessionId"]=value
  5674. },
  5675. enumerable: true,
  5676. configurable: true
  5677. });
  5678. Object.defineProperty(AppInitializationUsageData.prototype,"SuccessCode",{
  5679. get: function()
  5680. {
  5681. return this.Fields["SuccessCode"]
  5682. },
  5683. set: function(value)
  5684. {
  5685. this.Fields["SuccessCode"]=value
  5686. },
  5687. enumerable: true,
  5688. configurable: true
  5689. });
  5690. Object.defineProperty(AppInitializationUsageData.prototype,"Message",{
  5691. get: function()
  5692. {
  5693. return this.Fields["Message"]
  5694. },
  5695. set: function(value)
  5696. {
  5697. this.Fields["Message"]=value
  5698. },
  5699. enumerable: true,
  5700. configurable: true
  5701. });
  5702. AppInitializationUsageData.prototype.SerializeFields=function()
  5703. {
  5704. this.SetSerializedField("CorrelationId",this.CorrelationId);
  5705. this.SetSerializedField("SessionId",this.SessionId);
  5706. this.SetSerializedField("SuccessCode",this.SuccessCode);
  5707. this.SetSerializedField("Message",this.Message)
  5708. };
  5709. return AppInitializationUsageData
  5710. }(BaseUsageData);
  5711. OSFLog.AppInitializationUsageData=AppInitializationUsageData
  5712. })(OSFLog || (OSFLog={}));
  5713. var Logger;
  5714. (function(Logger)
  5715. {
  5716. "use strict";
  5717. (function(TraceLevel)
  5718. {
  5719. TraceLevel[TraceLevel["info"]=0]="info";
  5720. TraceLevel[TraceLevel["warning"]=1]="warning";
  5721. TraceLevel[TraceLevel["error"]=2]="error"
  5722. })(Logger.TraceLevel || (Logger.TraceLevel={}));
  5723. var TraceLevel=Logger.TraceLevel;
  5724. (function(SendFlag)
  5725. {
  5726. SendFlag[SendFlag["none"]=0]="none";
  5727. SendFlag[SendFlag["flush"]=1]="flush"
  5728. })(Logger.SendFlag || (Logger.SendFlag={}));
  5729. var SendFlag=Logger.SendFlag;
  5730. function allowUploadingData()
  5731. {
  5732. if(OSF.Logger && OSF.Logger.ulsEndpoint)
  5733. OSF.Logger.ulsEndpoint.loadProxyFrame()
  5734. }
  5735. Logger.allowUploadingData=allowUploadingData;
  5736. function sendLog(traceLevel, message, flag)
  5737. {
  5738. if(OSF.Logger && OSF.Logger.ulsEndpoint)
  5739. {
  5740. var jsonObj={
  5741. traceLevel: traceLevel,
  5742. message: message,
  5743. flag: flag,
  5744. internalLog: true
  5745. };
  5746. var logs=JSON.stringify(jsonObj);
  5747. OSF.Logger.ulsEndpoint.writeLog(logs)
  5748. }
  5749. }
  5750. Logger.sendLog=sendLog;
  5751. function creatULSEndpoint()
  5752. {
  5753. try
  5754. {
  5755. return new ULSEndpointProxy
  5756. }
  5757. catch(e)
  5758. {
  5759. return null
  5760. }
  5761. }
  5762. var ULSEndpointProxy=function()
  5763. {
  5764. function ULSEndpointProxy()
  5765. {
  5766. var _this=this;
  5767. this.proxyFrame=null;
  5768. this.telemetryEndPoint="https://telemetryservice.firstpartyapps.oaspapps.com/telemetryservice/telemetryproxy.html";
  5769. this.buffer=[];
  5770. this.proxyFrameReady=false;
  5771. OSF.OUtil.addEventListener(window,"message",function(e)
  5772. {
  5773. return _this.tellProxyFrameReady(e)
  5774. });
  5775. setTimeout(function()
  5776. {
  5777. _this.loadProxyFrame()
  5778. },3e3)
  5779. }
  5780. ULSEndpointProxy.prototype.writeLog=function(log)
  5781. {
  5782. if(this.proxyFrameReady===true)
  5783. this.proxyFrame.contentWindow.postMessage(log,ULSEndpointProxy.telemetryOrigin);
  5784. else if(this.buffer.length < 128)
  5785. this.buffer.push(log)
  5786. };
  5787. ULSEndpointProxy.prototype.loadProxyFrame=function()
  5788. {
  5789. if(this.proxyFrame==null)
  5790. {
  5791. this.proxyFrame=document.createElement("iframe");
  5792. this.proxyFrame.setAttribute("style","display:none");
  5793. this.proxyFrame.setAttribute("src",this.telemetryEndPoint);
  5794. document.head.appendChild(this.proxyFrame)
  5795. }
  5796. };
  5797. ULSEndpointProxy.prototype.tellProxyFrameReady=function(e)
  5798. {
  5799. var _this=this;
  5800. if(e.data==="ProxyFrameReadyToLog")
  5801. {
  5802. this.proxyFrameReady=true;
  5803. for(var i=0; i < this.buffer.length; i++)
  5804. this.writeLog(this.buffer[i]);
  5805. this.buffer.length=0;
  5806. OSF.OUtil.removeEventListener(window,"message",function(e)
  5807. {
  5808. return _this.tellProxyFrameReady(e)
  5809. })
  5810. }
  5811. else if(e.data==="ProxyFrameReadyToInit")
  5812. {
  5813. var initJson={
  5814. appName: "Office APPs",
  5815. sessionId: OSF.OUtil.Guid.generateNewGuid()
  5816. };
  5817. var initStr=JSON.stringify(initJson);
  5818. this.proxyFrame.contentWindow.postMessage(initStr,ULSEndpointProxy.telemetryOrigin)
  5819. }
  5820. };
  5821. ULSEndpointProxy.telemetryOrigin="https://telemetryservice.firstpartyapps.oaspapps.com";
  5822. return ULSEndpointProxy
  5823. }();
  5824. if(!OSF.Logger)
  5825. OSF.Logger=Logger;
  5826. Logger.ulsEndpoint=creatULSEndpoint()
  5827. })(Logger || (Logger={}));
  5828. var OSFAppTelemetry;
  5829. (function(OSFAppTelemetry)
  5830. {
  5831. "use strict";
  5832. var appInfo;
  5833. var sessionId=OSF.OUtil.Guid.generateNewGuid();
  5834. var osfControlAppCorrelationId="";
  5835. var omexDomainRegex=new RegExp("^https?://store\\.office(ppe|-int)?\\.com/","i");
  5836. var AppInfo=function()
  5837. {
  5838. function AppInfo(){}
  5839. return AppInfo
  5840. }();
  5841. var Event=function()
  5842. {
  5843. function Event(name, handler)
  5844. {
  5845. this.name=name;
  5846. this.handler=handler
  5847. }
  5848. return Event
  5849. }();
  5850. var AppStorage=function()
  5851. {
  5852. function AppStorage()
  5853. {
  5854. this.clientIDKey="Office API client";
  5855. this.logIdSetKey="Office App Log Id Set"
  5856. }
  5857. AppStorage.prototype.getClientId=function()
  5858. {
  5859. var clientId=this.getValue(this.clientIDKey);
  5860. if(!clientId || clientId.length <=0 || clientId.length > 40)
  5861. {
  5862. clientId=OSF.OUtil.Guid.generateNewGuid();
  5863. this.setValue(this.clientIDKey,clientId)
  5864. }
  5865. return clientId
  5866. };
  5867. AppStorage.prototype.saveLog=function(logId, log)
  5868. {
  5869. var logIdSet=this.getValue(this.logIdSetKey);
  5870. logIdSet=(logIdSet && logIdSet.length > 0 ? logIdSet+";" : "")+logId;
  5871. this.setValue(this.logIdSetKey,logIdSet);
  5872. this.setValue(logId,log)
  5873. };
  5874. AppStorage.prototype.enumerateLog=function(callback, clean)
  5875. {
  5876. var logIdSet=this.getValue(this.logIdSetKey);
  5877. if(logIdSet)
  5878. {
  5879. var ids=logIdSet.split(";");
  5880. for(var id in ids)
  5881. {
  5882. var logId=ids[id];
  5883. var log=this.getValue(logId);
  5884. if(log)
  5885. {
  5886. if(callback)
  5887. callback(logId,log);
  5888. if(clean)
  5889. this.remove(logId)
  5890. }
  5891. }
  5892. if(clean)
  5893. this.remove(this.logIdSetKey)
  5894. }
  5895. };
  5896. AppStorage.prototype.getValue=function(key)
  5897. {
  5898. var osfLocalStorage=OSF.OUtil.getLocalStorage();
  5899. var value="";
  5900. if(osfLocalStorage)
  5901. value=osfLocalStorage.getItem(key);
  5902. return value
  5903. };
  5904. AppStorage.prototype.setValue=function(key, value)
  5905. {
  5906. var osfLocalStorage=OSF.OUtil.getLocalStorage();
  5907. if(osfLocalStorage)
  5908. osfLocalStorage.setItem(key,value)
  5909. };
  5910. AppStorage.prototype.remove=function(key)
  5911. {
  5912. var osfLocalStorage=OSF.OUtil.getLocalStorage();
  5913. if(osfLocalStorage)
  5914. try
  5915. {
  5916. osfLocalStorage.removeItem(key)
  5917. }
  5918. catch(ex){}
  5919. };
  5920. return AppStorage
  5921. }();
  5922. var AppLogger=function()
  5923. {
  5924. function AppLogger(){}
  5925. AppLogger.prototype.LogData=function(data)
  5926. {
  5927. if(!OSF.Logger)
  5928. return;
  5929. OSF.Logger.sendLog(OSF.Logger.TraceLevel.info,data.SerializeRow(),OSF.Logger.SendFlag.none)
  5930. };
  5931. AppLogger.prototype.LogRawData=function(log)
  5932. {
  5933. if(!OSF.Logger)
  5934. return;
  5935. OSF.Logger.sendLog(OSF.Logger.TraceLevel.info,log,OSF.Logger.SendFlag.none)
  5936. };
  5937. return AppLogger
  5938. }();
  5939. function initialize(context)
  5940. {
  5941. if(!OSF.Logger)
  5942. return;
  5943. if(appInfo)
  5944. return;
  5945. appInfo=new AppInfo;
  5946. appInfo.hostVersion=context.get_appVersion();
  5947. appInfo.appId=context.get_id();
  5948. appInfo.host=context.get_appName();
  5949. appInfo.browser=window.navigator.userAgent;
  5950. appInfo.correlationId=context.get_correlationId();
  5951. appInfo.clientId=(new AppStorage).getClientId();
  5952. appInfo.appInstanceId=context.get_appInstanceId();
  5953. if(appInfo.appInstanceId)
  5954. appInfo.appInstanceId=appInfo.appInstanceId.replace(/[{}]/g,"").toLowerCase();
  5955. appInfo.message=context.get_hostCustomMessage();
  5956. var docUrl=context.get_docUrl();
  5957. appInfo.docUrl=omexDomainRegex.test(docUrl) ? docUrl : "";
  5958. var index=location.href.indexOf("?");
  5959. appInfo.appURL=index==-1 ? location.href : location.href.substring(0,index);
  5960. (function getUserIdAndAssetIdFromToken(token, appInfo)
  5961. {
  5962. var xmlContent;
  5963. var parser;
  5964. var xmlDoc;
  5965. appInfo.assetId="";
  5966. appInfo.userId="";
  5967. try
  5968. {
  5969. xmlContent=decodeURIComponent(token);
  5970. parser=new DOMParser;
  5971. xmlDoc=parser.parseFromString(xmlContent,"text/xml");
  5972. appInfo.userId=xmlDoc.getElementsByTagName("t")[0].attributes.getNamedItem("cid").nodeValue;
  5973. appInfo.assetId=xmlDoc.getElementsByTagName("t")[0].attributes.getNamedItem("aid").nodeValue
  5974. }
  5975. catch(e){}
  5976. finally
  5977. {
  5978. xmlContent=null;
  5979. xmlDoc=null;
  5980. parser=null
  5981. }
  5982. })(context.get_eToken(),appInfo);
  5983. (function handleLifecycle()
  5984. {
  5985. var startTime=new Date;
  5986. var lastFocus=null;
  5987. var focusTime=0;
  5988. var finished=false;
  5989. var adjustFocusTime=function()
  5990. {
  5991. if(document.hasFocus())
  5992. {
  5993. if(lastFocus==null)
  5994. lastFocus=new Date
  5995. }
  5996. else if(lastFocus)
  5997. {
  5998. focusTime+=Math.abs((new Date).getTime() - lastFocus.getTime());
  5999. lastFocus=null
  6000. }
  6001. };
  6002. var eventList=[];
  6003. eventList.push(new Event("focus",adjustFocusTime));
  6004. eventList.push(new Event("blur",adjustFocusTime));
  6005. eventList.push(new Event("focusout",adjustFocusTime));
  6006. eventList.push(new Event("focusin",adjustFocusTime));
  6007. var exitFunction=function()
  6008. {
  6009. for(var i=0; i < eventList.length; i++)
  6010. OSF.OUtil.removeEventListener(window,eventList[i].name,eventList[i].handler);
  6011. eventList.length=0;
  6012. if(!finished)
  6013. {
  6014. if(document.hasFocus() && lastFocus)
  6015. {
  6016. focusTime+=Math.abs((new Date).getTime() - lastFocus.getTime());
  6017. lastFocus=null
  6018. }
  6019. OSFAppTelemetry.onAppClosed(Math.abs((new Date).getTime() - startTime.getTime()),focusTime);
  6020. finished=true
  6021. }
  6022. };
  6023. eventList.push(new Event("beforeunload",exitFunction));
  6024. eventList.push(new Event("unload",exitFunction));
  6025. for(var i=0; i < eventList.length; i++)
  6026. OSF.OUtil.addEventListener(window,eventList[i].name,eventList[i].handler);
  6027. adjustFocusTime()
  6028. })();
  6029. OSFAppTelemetry.onAppActivated()
  6030. }
  6031. OSFAppTelemetry.initialize=initialize;
  6032. function onAppActivated()
  6033. {
  6034. if(!appInfo)
  6035. return;
  6036. (new AppStorage).enumerateLog(function(id, log)
  6037. {
  6038. return(new AppLogger).LogRawData(log)
  6039. },true);
  6040. var data=new OSFLog.AppActivatedUsageData;
  6041. data.SessionId=sessionId;
  6042. data.AppId=appInfo.appId;
  6043. data.AssetId=appInfo.assetId;
  6044. data.AppURL=appInfo.appURL;
  6045. data.UserId=appInfo.userId;
  6046. data.ClientId=appInfo.clientId;
  6047. data.Browser=appInfo.browser;
  6048. data.Host=appInfo.host;
  6049. data.HostVersion=appInfo.hostVersion;
  6050. data.CorrelationId=appInfo.correlationId;
  6051. data.AppSizeWidth=window.innerWidth;
  6052. data.AppSizeHeight=window.innerHeight;
  6053. data.AppInstanceId=appInfo.appInstanceId;
  6054. data.Message=appInfo.message;
  6055. data.DocUrl=appInfo.docUrl;
  6056. (new AppLogger).LogData(data);
  6057. setTimeout(function()
  6058. {
  6059. if(!OSF.Logger)
  6060. return;
  6061. OSF.Logger.allowUploadingData()
  6062. },100)
  6063. }
  6064. OSFAppTelemetry.onAppActivated=onAppActivated;
  6065. function onScriptDone(scriptId, msStartTime, msResponseTime, appCorrelationId)
  6066. {
  6067. var data=new OSFLog.ScriptLoadUsageData;
  6068. data.CorrelationId=appCorrelationId;
  6069. data.SessionId=sessionId;
  6070. data.ScriptId=scriptId;
  6071. data.StartTime=msStartTime;
  6072. data.ResponseTime=msResponseTime;
  6073. (new AppLogger).LogData(data)
  6074. }
  6075. OSFAppTelemetry.onScriptDone=onScriptDone;
  6076. function onCallDone(apiType, id, parameters, msResponseTime, errorType)
  6077. {
  6078. if(!appInfo)
  6079. return;
  6080. var data=new OSFLog.APIUsageUsageData;
  6081. data.CorrelationId=osfControlAppCorrelationId;
  6082. data.SessionId=sessionId;
  6083. data.APIType=apiType;
  6084. data.APIID=id;
  6085. data.Parameters=parameters;
  6086. data.ResponseTime=msResponseTime;
  6087. data.ErrorType=errorType;
  6088. (new AppLogger).LogData(data)
  6089. }
  6090. OSFAppTelemetry.onCallDone=onCallDone;
  6091. function onMethodDone(id, args, msResponseTime, errorType)
  6092. {
  6093. var parameters=null;
  6094. if(args)
  6095. if(typeof args=="number")
  6096. parameters=String(args);
  6097. else if(typeof args==="object")
  6098. for(var index in args)
  6099. {
  6100. if(parameters !==null)
  6101. parameters+=",";
  6102. else
  6103. parameters="";
  6104. if(typeof args[index]=="number")
  6105. parameters+=String(args[index])
  6106. }
  6107. else
  6108. parameters="";
  6109. OSF.AppTelemetry.onCallDone("method",id,parameters,msResponseTime,errorType)
  6110. }
  6111. OSFAppTelemetry.onMethodDone=onMethodDone;
  6112. function onPropertyDone(propertyName, msResponseTime)
  6113. {
  6114. OSF.AppTelemetry.onCallDone("property",-1,propertyName,msResponseTime)
  6115. }
  6116. OSFAppTelemetry.onPropertyDone=onPropertyDone;
  6117. function onEventDone(id, errorType)
  6118. {
  6119. OSF.AppTelemetry.onCallDone("event",id,null,0,errorType)
  6120. }
  6121. OSFAppTelemetry.onEventDone=onEventDone;
  6122. function onRegisterDone(register, id, msResponseTime, errorType)
  6123. {
  6124. OSF.AppTelemetry.onCallDone(register ? "registerevent" : "unregisterevent",id,null,msResponseTime,errorType)
  6125. }
  6126. OSFAppTelemetry.onRegisterDone=onRegisterDone;
  6127. function onAppClosed(openTime, focusTime)
  6128. {
  6129. if(!appInfo)
  6130. return;
  6131. var data=new OSFLog.AppClosedUsageData;
  6132. data.CorrelationId=osfControlAppCorrelationId;
  6133. data.SessionId=sessionId;
  6134. data.FocusTime=focusTime;
  6135. data.OpenTime=openTime;
  6136. data.AppSizeFinalWidth=window.innerWidth;
  6137. data.AppSizeFinalHeight=window.innerHeight;
  6138. (new AppStorage).saveLog(sessionId,data.SerializeRow())
  6139. }
  6140. OSFAppTelemetry.onAppClosed=onAppClosed;
  6141. function setOsfControlAppCorrelationId(correlationId)
  6142. {
  6143. osfControlAppCorrelationId=correlationId
  6144. }
  6145. OSFAppTelemetry.setOsfControlAppCorrelationId=setOsfControlAppCorrelationId;
  6146. function doAppInitializationLogging(isException, message)
  6147. {
  6148. var data=new OSFLog.AppInitializationUsageData;
  6149. data.CorrelationId=osfControlAppCorrelationId;
  6150. data.SessionId=sessionId;
  6151. data.SuccessCode=isException ? 1 : 0;
  6152. data.Message=message;
  6153. (new AppLogger).LogData(data)
  6154. }
  6155. OSFAppTelemetry.doAppInitializationLogging=doAppInitializationLogging;
  6156. function logAppCommonMessage(message)
  6157. {
  6158. doAppInitializationLogging(false,message)
  6159. }
  6160. OSFAppTelemetry.logAppCommonMessage=logAppCommonMessage;
  6161. function logAppException(errorMessage)
  6162. {
  6163. doAppInitializationLogging(true,errorMessage)
  6164. }
  6165. OSFAppTelemetry.logAppException=logAppException;
  6166. OSF.AppTelemetry=OSFAppTelemetry
  6167. })(OSFAppTelemetry || (OSFAppTelemetry={}));
  6168. var OfficeExt;
  6169. (function(OfficeExt)
  6170. {
  6171. var AppCommand;
  6172. (function(AppCommand)
  6173. {
  6174. var AppCommandManager=function()
  6175. {
  6176. function AppCommandManager()
  6177. {
  6178. var _this=this;
  6179. this._pseudoDocument=null;
  6180. this._eventDispatch=null;
  6181. this._processAppCommandInvocation=function(args)
  6182. {
  6183. var verifyResult=_this._verifyManifestCallback(args.callbackName);
  6184. if(verifyResult.errorCode !=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
  6185. {
  6186. _this._invokeAppCommandCompletedMethod(args.appCommandId,verifyResult.errorCode,"");
  6187. return
  6188. }
  6189. var eventObj=_this._constructEventObjectForCallback(args);
  6190. if(eventObj)
  6191. window.setTimeout(function()
  6192. {
  6193. verifyResult.callback(eventObj)
  6194. },0);
  6195. else
  6196. _this._invokeAppCommandCompletedMethod(args.appCommandId,OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError,"")
  6197. }
  6198. }
  6199. AppCommandManager.initializeOsfDda=function()
  6200. {
  6201. OSF.DDA.AsyncMethodNames.addNames({AppCommandInvocationCompletedAsync: "appCommandInvocationCompletedAsync"});
  6202. OSF.DDA.AsyncMethodCalls.define({
  6203. method: OSF.DDA.AsyncMethodNames.AppCommandInvocationCompletedAsync,
  6204. requiredArguments: [{
  6205. name: Microsoft.Office.WebExtension.Parameters.Id,
  6206. types: ["string"]
  6207. },{
  6208. name: Microsoft.Office.WebExtension.Parameters.Status,
  6209. types: ["number"]
  6210. },{
  6211. name: Microsoft.Office.WebExtension.Parameters.Data,
  6212. types: ["string"]
  6213. }]
  6214. });
  6215. OSF.OUtil.augmentList(OSF.DDA.EventDescriptors,{AppCommandInvokedEvent: "AppCommandInvokedEvent"});
  6216. OSF.OUtil.augmentList(Microsoft.Office.WebExtension.EventType,{AppCommandInvoked: "appCommandInvoked"});
  6217. OSF.OUtil.setNamespace("AppCommand",OSF.DDA);
  6218. OSF.DDA.AppCommand.AppCommandInvokedEventArgs=OfficeExt.AppCommand.AppCommandInvokedEventArgs
  6219. };
  6220. AppCommandManager.prototype.initializeAndChangeOnce=function(callback)
  6221. {
  6222. AppCommand.registerDdaFacade();
  6223. this._pseudoDocument={};
  6224. OSF.DDA.DispIdHost.addAsyncMethods(this._pseudoDocument,[OSF.DDA.AsyncMethodNames.AppCommandInvocationCompletedAsync,]);
  6225. this._eventDispatch=new OSF.EventDispatch([Microsoft.Office.WebExtension.EventType.AppCommandInvoked,]);
  6226. var onRegisterCompleted=function(result)
  6227. {
  6228. if(callback)
  6229. if(result.status=="succeeded")
  6230. callback(OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess);
  6231. else
  6232. callback(OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError)
  6233. };
  6234. OSF.DDA.DispIdHost.addEventSupport(this._pseudoDocument,this._eventDispatch);
  6235. this._pseudoDocument.addHandlerAsync(Microsoft.Office.WebExtension.EventType.AppCommandInvoked,this._processAppCommandInvocation,onRegisterCompleted)
  6236. };
  6237. AppCommandManager.prototype._verifyManifestCallback=function(callbackName)
  6238. {
  6239. var defaultResult={
  6240. callback: null,
  6241. errorCode: OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidCallback
  6242. };
  6243. callbackName=callbackName.trim();
  6244. try
  6245. {
  6246. var callList=callbackName.split(".");
  6247. var parentObject=window;
  6248. for(var i=0; i < callList.length - 1; i++)
  6249. if(parentObject[callList[i]] && (typeof parentObject[callList[i]]=="object" || typeof parentObject[callList[i]]=="function"))
  6250. parentObject=parentObject[callList[i]];
  6251. else
  6252. return defaultResult;
  6253. var callbackFunc=parentObject[callList[callList.length - 1]];
  6254. if(typeof callbackFunc !="function")
  6255. return defaultResult
  6256. }
  6257. catch(e)
  6258. {
  6259. return defaultResult
  6260. }
  6261. return{
  6262. callback: callbackFunc,
  6263. errorCode: OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess
  6264. }
  6265. };
  6266. AppCommandManager.prototype._invokeAppCommandCompletedMethod=function(appCommandId, resultCode, data)
  6267. {
  6268. this._pseudoDocument.appCommandInvocationCompletedAsync(appCommandId,resultCode,data)
  6269. };
  6270. AppCommandManager.prototype._constructEventObjectForCallback=function(args)
  6271. {
  6272. var _this=this;
  6273. var eventObj=new AppCommandCallbackEventArgs;
  6274. try
  6275. {
  6276. var jsonData=JSON.parse(args.eventObjStr);
  6277. this._translateEventObjectInternal(jsonData,eventObj);
  6278. Object.defineProperty(eventObj,"completed",{
  6279. value: function()
  6280. {
  6281. var jsonString=JSON.stringify(eventObj);
  6282. _this._invokeAppCommandCompletedMethod(args.appCommandId,OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess,jsonString)
  6283. },
  6284. enumerable: true
  6285. })
  6286. }
  6287. catch(e)
  6288. {
  6289. eventObj=null
  6290. }
  6291. return eventObj
  6292. };
  6293. AppCommandManager.prototype._translateEventObjectInternal=function(input, output)
  6294. {
  6295. for(var key in input)
  6296. {
  6297. if(!input.hasOwnProperty(key))
  6298. continue;
  6299. var inputChild=input[key];
  6300. if(typeof inputChild=="object" && inputChild !=null)
  6301. {
  6302. OSF.OUtil.defineEnumerableProperty(output,key,{value: {}});
  6303. this._translateEventObjectInternal(inputChild,output[key])
  6304. }
  6305. else
  6306. Object.defineProperty(output,key,{
  6307. value: inputChild,
  6308. enumerable: true,
  6309. writable: true
  6310. })
  6311. }
  6312. };
  6313. AppCommandManager.prototype._constructObjectByTemplate=function(template, input)
  6314. {
  6315. var output={};
  6316. if(!template || !input)
  6317. return output;
  6318. for(var key in template)
  6319. if(template.hasOwnProperty(key))
  6320. {
  6321. output[key]=null;
  6322. if(input[key] !=null)
  6323. {
  6324. var templateChild=template[key];
  6325. var inputChild=input[key];
  6326. var inputChildType=typeof inputChild;
  6327. if(typeof templateChild=="object" && templateChild !=null)
  6328. output[key]=this._constructObjectByTemplate(templateChild,inputChild);
  6329. else if(inputChildType=="number" || inputChildType=="string" || inputChildType=="boolean")
  6330. output[key]=inputChild
  6331. }
  6332. }
  6333. return output
  6334. };
  6335. AppCommandManager.instance=function()
  6336. {
  6337. if(AppCommandManager._instance==null)
  6338. AppCommandManager._instance=new AppCommandManager;
  6339. return AppCommandManager._instance
  6340. };
  6341. AppCommandManager._instance=null;
  6342. return AppCommandManager
  6343. }();
  6344. AppCommand.AppCommandManager=AppCommandManager;
  6345. var AppCommandInvokedEventArgs=function()
  6346. {
  6347. function AppCommandInvokedEventArgs(appCommandId, callbackName, eventObjStr)
  6348. {
  6349. this.type=Microsoft.Office.WebExtension.EventType.AppCommandInvoked;
  6350. this.appCommandId=appCommandId;
  6351. this.callbackName=callbackName;
  6352. this.eventObjStr=eventObjStr
  6353. }
  6354. AppCommandInvokedEventArgs.create=function(eventProperties)
  6355. {
  6356. return new AppCommandInvokedEventArgs(eventProperties[AppCommand.AppCommandInvokedEventEnums.AppCommandId],eventProperties[AppCommand.AppCommandInvokedEventEnums.CallbackName],eventProperties[AppCommand.AppCommandInvokedEventEnums.EventObjStr])
  6357. };
  6358. return AppCommandInvokedEventArgs
  6359. }();
  6360. AppCommand.AppCommandInvokedEventArgs=AppCommandInvokedEventArgs;
  6361. var AppCommandCallbackEventArgs=function()
  6362. {
  6363. function AppCommandCallbackEventArgs(){}
  6364. return AppCommandCallbackEventArgs
  6365. }();
  6366. AppCommand.AppCommandCallbackEventArgs=AppCommandCallbackEventArgs;
  6367. AppCommand.AppCommandInvokedEventEnums={
  6368. AppCommandId: "appCommandId",
  6369. CallbackName: "callbackName",
  6370. EventObjStr: "eventObjStr"
  6371. }
  6372. })(AppCommand=OfficeExt.AppCommand || (OfficeExt.AppCommand={}))
  6373. })(OfficeExt || (OfficeExt={}));
  6374. OfficeExt.AppCommand.AppCommandManager.initializeOsfDda();
  6375. var OfficeExt;
  6376. (function(OfficeExt)
  6377. {
  6378. var AppCommand;
  6379. (function(AppCommand)
  6380. {
  6381. function registerDdaFacade()
  6382. {
  6383. if(OSF.DDA.SafeArray)
  6384. {
  6385. var parameterMap=OSF.DDA.SafeArray.Delegate.ParameterMap;
  6386. parameterMap.define({
  6387. type: OSF.DDA.MethodDispId.dispidAppCommandInvocationCompletedMethod,
  6388. toHost: [{
  6389. name: Microsoft.Office.WebExtension.Parameters.Id,
  6390. value: 0
  6391. },{
  6392. name: Microsoft.Office.WebExtension.Parameters.Status,
  6393. value: 1
  6394. },{
  6395. name: Microsoft.Office.WebExtension.Parameters.Data,
  6396. value: 2
  6397. }]
  6398. });
  6399. parameterMap.define({
  6400. type: OSF.DDA.EventDispId.dispidAppCommandInvokedEvent,
  6401. fromHost: [{
  6402. name: OSF.DDA.EventDescriptors.AppCommandInvokedEvent,
  6403. value: parameterMap.self
  6404. }],
  6405. isComplexType: true
  6406. });
  6407. parameterMap.define({
  6408. type: OSF.DDA.EventDescriptors.AppCommandInvokedEvent,
  6409. fromHost: [{
  6410. name: OfficeExt.AppCommand.AppCommandInvokedEventEnums.AppCommandId,
  6411. value: 0
  6412. },{
  6413. name: OfficeExt.AppCommand.AppCommandInvokedEventEnums.CallbackName,
  6414. value: 1
  6415. },{
  6416. name: OfficeExt.AppCommand.AppCommandInvokedEventEnums.EventObjStr,
  6417. value: 2
  6418. },],
  6419. isComplexType: true
  6420. })
  6421. }
  6422. }
  6423. AppCommand.registerDdaFacade=registerDdaFacade
  6424. })(AppCommand=OfficeExt.AppCommand || (OfficeExt.AppCommand={}))
  6425. })(OfficeExt || (OfficeExt={}));
  6426. OSF.DDA.AsyncMethodNames.addNames({CloseContainerAsync: "closeContainer"});
  6427. var OfficeExt;
  6428. (function(OfficeExt)
  6429. {
  6430. var Container=function()
  6431. {
  6432. function Container(parameters){}
  6433. return Container
  6434. }();
  6435. OfficeExt.Container=Container
  6436. })(OfficeExt || (OfficeExt={}));
  6437. OSF.DDA.AsyncMethodCalls.define({
  6438. method: OSF.DDA.AsyncMethodNames.CloseContainerAsync,
  6439. requiredArguments: [],
  6440. supportedOptions: [],
  6441. privateStateCallbacks: []
  6442. });
  6443. OSF.DDA.SafeArray.Delegate.ParameterMap.define({
  6444. type: OSF.DDA.MethodDispId.dispidCloseContainerMethod,
  6445. fromHost: [],
  6446. toHost: []
  6447. });
  6448. var OfficeJsClient_OutlookWin32;
  6449. (function(OfficeJsClient_OutlookWin32)
  6450. {
  6451. function prepareApiSurface(appContext)
  6452. {
  6453. if(appContext.get_isDialog())
  6454. appContext.ui=new OSF.DDA.UI.ChildUI;
  6455. else
  6456. {
  6457. appContext.ui=new OSF.DDA.UI.ParentUI;
  6458. OSF.DDA.DispIdHost.addAsyncMethods(appContext.ui,[OSF.DDA.AsyncMethodNames.CloseContainerAsync])
  6459. }
  6460. }
  6461. OfficeJsClient_OutlookWin32.prepareApiSurface=prepareApiSurface;
  6462. function prepareRightAfterWebExtensionInitialize()
  6463. {
  6464. var appCommandHandler=OfficeExt.AppCommand.AppCommandManager.instance();
  6465. appCommandHandler.initializeAndChangeOnce()
  6466. }
  6467. OfficeJsClient_OutlookWin32.prepareRightAfterWebExtensionInitialize=prepareRightAfterWebExtensionInitialize
  6468. })(OfficeJsClient_OutlookWin32 || (OfficeJsClient_OutlookWin32={}));
  6469. OSF.InitializationHelper.prototype.prepareRightAfterWebExtensionInitialize=function OSF_InitializationHelper$prepareRightAfterWebExtensionInitialize()
  6470. {
  6471. OfficeJsClient_OutlookWin32.prepareRightAfterWebExtensionInitialize()
  6472. };
  6473. OSF.InitializationHelper.prototype.prepareApiSurface=function OSF_InitializationHelper$prepareApiSurface(appContext)
  6474. {
  6475. var license=new OSF.DDA.License(appContext.get_eToken());
  6476. if(appContext.get_appName()==OSF.AppName.OutlookWebApp)
  6477. {
  6478. OSF.WebApp._UpdateLinksForHostAndXdmInfo();
  6479. this.initWebDialog(appContext);
  6480. OSF._OfficeAppFactory.setContext(new OSF.DDA.OutlookContext(appContext,this._settings,license,appContext.appOM));
  6481. OSF._OfficeAppFactory.setHostFacade(new OSF.DDA.DispIdHost.Facade(OSF.DDA.WAC.getDelegateMethods,OSF.DDA.WAC.Delegate.ParameterMap))
  6482. }
  6483. else
  6484. {
  6485. OfficeJsClient_OutlookWin32.prepareApiSurface(appContext);
  6486. OSF._OfficeAppFactory.setContext(new OSF.DDA.OutlookContext(appContext,this._settings,license,appContext.appOM,OSF.DDA.Theming ? OSF.DDA.Theming.getOfficeTheme : null,appContext.ui));
  6487. OSF._OfficeAppFactory.setHostFacade(new OSF.DDA.DispIdHost.Facade(OSF.DDA.DispIdHost.getClientDelegateMethods,OSF.DDA.SafeArray.Delegate.ParameterMap))
  6488. }
  6489. };
  6490. OSF.DDA.SettingsManager={
  6491. SerializedSettings: "serializedSettings",
  6492. DateJSONPrefix: "Date(",
  6493. DataJSONSuffix: ")",
  6494. serializeSettings: function OSF_DDA_SettingsManager$serializeSettings(settingsCollection)
  6495. {
  6496. var ret={};
  6497. for(var key in settingsCollection)
  6498. {
  6499. var value=settingsCollection[key];
  6500. try
  6501. {
  6502. if(JSON)
  6503. value=JSON.stringify(value,function dateReplacer(k, v)
  6504. {
  6505. return OSF.OUtil.isDate(this[k]) ? OSF.DDA.SettingsManager.DateJSONPrefix+this[k].getTime()+OSF.DDA.SettingsManager.DataJSONSuffix : v
  6506. });
  6507. else
  6508. value=Sys.Serialization.JavaScriptSerializer.serialize(value);
  6509. ret[key]=value
  6510. }
  6511. catch(ex){}
  6512. }
  6513. return ret
  6514. },
  6515. deserializeSettings: function OSF_DDA_SettingsManager$deserializeSettings(serializedSettings)
  6516. {
  6517. var ret={};
  6518. serializedSettings=serializedSettings || {};
  6519. for(var key in serializedSettings)
  6520. {
  6521. var value=serializedSettings[key];
  6522. try
  6523. {
  6524. if(JSON)
  6525. value=JSON.parse(value,function dateReviver(k, v)
  6526. {
  6527. var d;
  6528. if(typeof v==="string" && v && v.length > 6 && v.slice(0,5)===OSF.DDA.SettingsManager.DateJSONPrefix && v.slice(-1)===OSF.DDA.SettingsManager.DataJSONSuffix)
  6529. {
  6530. d=new Date(parseInt(v.slice(5,-1)));
  6531. if(d)
  6532. return d
  6533. }
  6534. return v
  6535. });
  6536. else
  6537. value=Sys.Serialization.JavaScriptSerializer.deserialize(value,true);
  6538. ret[key]=value
  6539. }
  6540. catch(ex){}
  6541. }
  6542. return ret
  6543. }
  6544. };
  6545. OSF.InitializationHelper.prototype.loadAppSpecificScriptAndCreateOM=function OSF_InitializationHelper$loadAppSpecificScriptAndCreateOM(appContext, appReady, basePath)
  6546. {
  6547. Type.registerNamespace("Microsoft.Office.WebExtension.MailboxEnums");
  6548. Microsoft.Office.WebExtension.MailboxEnums.EntityType={
  6549. MeetingSuggestion: "meetingSuggestion",
  6550. TaskSuggestion: "taskSuggestion",
  6551. Address: "address",
  6552. EmailAddress: "emailAddress",
  6553. Url: "url",
  6554. PhoneNumber: "phoneNumber",
  6555. Contact: "contact",
  6556. FlightReservations: "flightReservations",
  6557. ParcelDeliveries: "parcelDeliveries"
  6558. };
  6559. Microsoft.Office.WebExtension.MailboxEnums.ItemType={
  6560. Message: "message",
  6561. Appointment: "appointment"
  6562. };
  6563. Microsoft.Office.WebExtension.MailboxEnums.ResponseType={
  6564. None: "none",
  6565. Organizer: "organizer",
  6566. Tentative: "tentative",
  6567. Accepted: "accepted",
  6568. Declined: "declined"
  6569. };
  6570. Microsoft.Office.WebExtension.MailboxEnums.RecipientType={
  6571. Other: "other",
  6572. DistributionList: "distributionList",
  6573. User: "user",
  6574. ExternalUser: "externalUser"
  6575. };
  6576. Microsoft.Office.WebExtension.MailboxEnums.AttachmentType={
  6577. File: "file",
  6578. Item: "item",
  6579. Cloud: "cloud"
  6580. };
  6581. Microsoft.Office.WebExtension.MailboxEnums.BodyType={
  6582. Text: "text",
  6583. Html: "html"
  6584. };
  6585. Microsoft.Office.WebExtension.MailboxEnums.ItemNotificationMessageType={
  6586. ProgressIndicator: "progressIndicator",
  6587. InformationalMessage: "informationalMessage",
  6588. ErrorMessage: "errorMessage"
  6589. };
  6590. Microsoft.Office.WebExtension.CoercionType={
  6591. Text: "text",
  6592. Html: "html"
  6593. };
  6594. Microsoft.Office.WebExtension.MailboxEnums.UserProfileType={
  6595. Office365: "office365",
  6596. OutlookCom: "outlookCom",
  6597. Enterprise: "enterprise"
  6598. };
  6599. Microsoft.Office.WebExtension.MailboxEnums.RestVersion={
  6600. v1_0: "v1.0",
  6601. v2_0: "v2.0",
  6602. Beta: "beta"
  6603. };
  6604. Microsoft.Office.WebExtension.MailboxEnums.ModuleType={Addins: "addins"};
  6605. Type.registerNamespace("OSF.DDA");
  6606. var OSF=window["OSF"] || {};
  6607. OSF.DDA=OSF.DDA || {};
  6608. window["OSF"]["DDA"]["OutlookAppOm"]=OSF.DDA.OutlookAppOm=function(officeAppContext, targetWindow, appReadyCallback)
  6609. {
  6610. this.$$d_navigateToModuleAsync=Function.createDelegate(this,this.navigateToModuleAsync);
  6611. this.$$d_displayPersonaCardAsync=Function.createDelegate(this,this.displayPersonaCardAsync);
  6612. this.$$d_displayNewMessageFormApi=Function.createDelegate(this,this.displayNewMessageFormApi);
  6613. this.$$d__displayNewAppointmentFormApi$p$0=Function.createDelegate(this,this._displayNewAppointmentFormApi$p$0);
  6614. this.$$d_windowOpenOverrideHandler=Function.createDelegate(this,this.windowOpenOverrideHandler);
  6615. this.$$d__getRestUrl$p$0=Function.createDelegate(this,this._getRestUrl$p$0);
  6616. this.$$d__getEwsUrl$p$0=Function.createDelegate(this,this._getEwsUrl$p$0);
  6617. this.$$d__getDiagnostics$p$0=Function.createDelegate(this,this._getDiagnostics$p$0);
  6618. this.$$d__getUserProfile$p$0=Function.createDelegate(this,this._getUserProfile$p$0);
  6619. this.$$d__getItem$p$0=Function.createDelegate(this,this._getItem$p$0);
  6620. this.$$d__callAppReadyCallback$p$0=Function.createDelegate(this,this._callAppReadyCallback$p$0);
  6621. this.$$d__getInitialDataResponseHandler$p$0=Function.createDelegate(this,this._getInitialDataResponseHandler$p$0);
  6622. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p=this;
  6623. this._officeAppContext$p$0=officeAppContext;
  6624. this._appReadyCallback$p$0=appReadyCallback;
  6625. var $$t_4=this;
  6626. var stringLoadedCallback=function()
  6627. {
  6628. if(appReadyCallback)
  6629. if(!officeAppContext["get_isDialog"]())
  6630. $$t_4.invokeHostMethod(1,null,$$t_4.$$d__getInitialDataResponseHandler$p$0);
  6631. else
  6632. window.setTimeout($$t_4.$$d__callAppReadyCallback$p$0,0)
  6633. };
  6634. if(this._areStringsLoaded$p$0())
  6635. stringLoadedCallback();
  6636. else
  6637. this._loadLocalizedScript$p$0(stringLoadedCallback)
  6638. };
  6639. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i=function(currentPermissionLevel)
  6640. {
  6641. if(!currentPermissionLevel)
  6642. throw Error.create(window["_u"]["ExtensibilityStrings"]["l_ElevatedPermissionNeeded_Text"]);
  6643. };
  6644. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i=function(value, minValue, maxValue, argumentName)
  6645. {
  6646. if(value < minValue || value > maxValue)
  6647. throw Error.argumentOutOfRange(argumentName);
  6648. };
  6649. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidModule$p=function(module)
  6650. {
  6651. if($h.ScriptHelpers.isNullOrUndefined(module))
  6652. throw Error.argumentNull("module");
  6653. else if(module==="")
  6654. throw Error.argument("module","module cannot be empty.");
  6655. if(module !==window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ModuleType"]["Addins"])
  6656. throw Error.notImplemented(String.format("API not supported for module '{0}'",module));
  6657. };
  6658. window["OSF"]["DDA"]["OutlookAppOm"]._getHtmlBody$p=function(data)
  6659. {
  6660. var htmlBody="";
  6661. if("htmlBody" in data)
  6662. {
  6663. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidHtmlBody$p(data["htmlBody"]);
  6664. htmlBody=data["htmlBody"]
  6665. }
  6666. return htmlBody
  6667. };
  6668. window["OSF"]["DDA"]["OutlookAppOm"]._getAttachments$p=function(data)
  6669. {
  6670. var attachments=[];
  6671. if("attachments" in data)
  6672. {
  6673. attachments=data["attachments"];
  6674. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentsArray$p(attachments)
  6675. }
  6676. return attachments
  6677. };
  6678. window["OSF"]["DDA"]["OutlookAppOm"]._getOptionsAndCallback$p=function(data)
  6679. {
  6680. var args=[];
  6681. if("options" in data)
  6682. args[0]=data["options"];
  6683. if("callback" in data)
  6684. args[args["length"]]=data["callback"];
  6685. return args
  6686. };
  6687. window["OSF"]["DDA"]["OutlookAppOm"]._createAttachmentsDataForHost$p=function(attachments)
  6688. {
  6689. var attachmentsData=new Array(0);
  6690. if(Array["isInstanceOfType"](attachments))
  6691. for(var i=0; i < attachments["length"]; i++)
  6692. if(Object["isInstanceOfType"](attachments[i]))
  6693. {
  6694. var attachment=attachments[i];
  6695. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachment$p(attachment);
  6696. attachmentsData[i]=window["OSF"]["DDA"]["OutlookAppOm"]._createAttachmentData$p(attachment)
  6697. }
  6698. else
  6699. throw Error.argument("attachments");
  6700. return attachmentsData
  6701. };
  6702. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidHtmlBody$p=function(htmlBody)
  6703. {
  6704. if(!String["isInstanceOfType"](htmlBody))
  6705. throw Error.argument("htmlBody");
  6706. if($h.ScriptHelpers.isNullOrUndefined(htmlBody))
  6707. throw Error.argument("htmlBody");
  6708. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(htmlBody.length,0,window["OSF"]["DDA"]["OutlookAppOm"].maxBodyLength,"htmlBody")
  6709. };
  6710. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentsArray$p=function(attachments)
  6711. {
  6712. if(!Array["isInstanceOfType"](attachments))
  6713. throw Error.argument("attachments");
  6714. };
  6715. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachment$p=function(attachment)
  6716. {
  6717. if(!Object["isInstanceOfType"](attachment))
  6718. throw Error.argument("attachments");
  6719. if(!("type" in attachment) || !("name" in attachment))
  6720. throw Error.argument("attachments");
  6721. if(!("url" in attachment || "itemId" in attachment))
  6722. throw Error.argument("attachments");
  6723. };
  6724. window["OSF"]["DDA"]["OutlookAppOm"]._createAttachmentData$p=function(attachment)
  6725. {
  6726. var attachmentData=null;
  6727. if(attachment["type"]==="file")
  6728. {
  6729. var url=attachment["url"];
  6730. var name=attachment["name"];
  6731. var isInline=$h.ScriptHelpers.isValueTrue(attachment["isInline"]);
  6732. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentUrlOrName$p(url,name);
  6733. attachmentData=window["OSF"]["DDA"]["OutlookAppOm"]._createFileAttachmentData$p(url,name,isInline)
  6734. }
  6735. else if(attachment["type"]==="item")
  6736. {
  6737. var itemId=window["OSF"]["DDA"]["OutlookAppOm"].getItemIdBasedOnHost(attachment["itemId"]);
  6738. var name=attachment["name"];
  6739. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentItemIdOrName$p(itemId,name);
  6740. attachmentData=window["OSF"]["DDA"]["OutlookAppOm"]._createItemAttachmentData$p(itemId,name)
  6741. }
  6742. else
  6743. throw Error.argument("attachments");
  6744. return attachmentData
  6745. };
  6746. window["OSF"]["DDA"]["OutlookAppOm"]._createFileAttachmentData$p=function(url, name, isInline)
  6747. {
  6748. return["file",name,url,isInline]
  6749. };
  6750. window["OSF"]["DDA"]["OutlookAppOm"]._createItemAttachmentData$p=function(itemId, name)
  6751. {
  6752. return["item",name,itemId]
  6753. };
  6754. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentUrlOrName$p=function(url, name)
  6755. {
  6756. if(!String["isInstanceOfType"](url) || !String["isInstanceOfType"](name))
  6757. throw Error.argument("attachments");
  6758. if(url.length > 2048)
  6759. throw Error.argumentOutOfRange("attachments",url.length,window["_u"]["ExtensibilityStrings"]["l_AttachmentUrlTooLong_Text"]);
  6760. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentName$p(name)
  6761. };
  6762. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentItemIdOrName$p=function(itemId, name)
  6763. {
  6764. if(!String["isInstanceOfType"](itemId) || !String["isInstanceOfType"](name))
  6765. throw Error.argument("attachments");
  6766. if(itemId.length > 200)
  6767. throw Error.argumentOutOfRange("attachments",itemId.length,window["_u"]["ExtensibilityStrings"]["l_AttachmentItemIdTooLong_Text"]);
  6768. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentName$p(name)
  6769. };
  6770. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentName$p=function(name)
  6771. {
  6772. if(name.length > 255)
  6773. throw Error.argumentOutOfRange("attachments",name.length,window["_u"]["ExtensibilityStrings"]["l_AttachmentNameTooLong_Text"]);
  6774. };
  6775. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidRestVersion$p=function(restVersion)
  6776. {
  6777. if(!restVersion)
  6778. throw Error.argumentNull("restVersion");
  6779. if(restVersion !==window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RestVersion"]["v1_0"] && restVersion !==window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RestVersion"]["v2_0"] && restVersion !==window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RestVersion"]["Beta"])
  6780. throw Error.argument("restVersion");
  6781. };
  6782. window["OSF"]["DDA"]["OutlookAppOm"].getItemIdBasedOnHost=function(itemId)
  6783. {
  6784. if(window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._initialData$p$0 && window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._initialData$p$0.get__isRestIdSupported$i$0())
  6785. return window["OSF"]["DDA"]["OutlookAppOm"]._instance$p["convertToRestId"](itemId,window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RestVersion"]["v1_0"]);
  6786. return window["OSF"]["DDA"]["OutlookAppOm"]._instance$p["convertToEwsId"](itemId,window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RestVersion"]["v1_0"])
  6787. };
  6788. window["OSF"]["DDA"]["OutlookAppOm"]["addAdditionalArgs"]=function(dispid, data)
  6789. {
  6790. return data
  6791. };
  6792. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnArgumentType$p=function(value, expectedType, argumentName)
  6793. {
  6794. if(Object["getType"](value) !==expectedType)
  6795. throw Error.argumentType(argumentName);
  6796. };
  6797. window["OSF"]["DDA"]["OutlookAppOm"]._validateOptionalStringParameter$p=function(value, minLength, maxLength, name)
  6798. {
  6799. if($h.ScriptHelpers.isNullOrUndefined(value))
  6800. return;
  6801. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnArgumentType$p(value,String,name);
  6802. var stringValue=value;
  6803. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(stringValue.length,minLength,maxLength,name)
  6804. };
  6805. window["OSF"]["DDA"]["OutlookAppOm"]._convertRecipientArrayParameterForOutlookForDisplayApi$p=function(array)
  6806. {
  6807. return array ? array["join"](";") : null
  6808. };
  6809. window["OSF"]["DDA"]["OutlookAppOm"]._convertComposeEmailDictionaryParameterForSetApi$p=function(recipients)
  6810. {
  6811. if(!recipients)
  6812. return null;
  6813. var results=new Array(recipients["length"]);
  6814. for(var i=0; i < recipients["length"]; i++)
  6815. results[i]=[recipients[i]["address"],recipients[i]["name"]];
  6816. return results
  6817. };
  6818. window["OSF"]["DDA"]["OutlookAppOm"]._validateAndNormalizeRecipientEmails$p=function(emailset, name)
  6819. {
  6820. if($h.ScriptHelpers.isNullOrUndefined(emailset))
  6821. return null;
  6822. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnArgumentType$p(emailset,Array,name);
  6823. var originalAttendees=emailset;
  6824. var updatedAttendees=null;
  6825. var normalizationNeeded=false;
  6826. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(originalAttendees["length"],0,window["OSF"]["DDA"]["OutlookAppOm"]._maxRecipients$p,String.format("{0}.length",name));
  6827. for(var i=0; i < originalAttendees["length"]; i++)
  6828. if($h.EmailAddressDetails["isInstanceOfType"](originalAttendees[i]))
  6829. {
  6830. normalizationNeeded=true;
  6831. break
  6832. }
  6833. if(normalizationNeeded)
  6834. updatedAttendees=[];
  6835. for(var i=0; i < originalAttendees["length"]; i++)
  6836. if(normalizationNeeded)
  6837. {
  6838. updatedAttendees[i]=$h.EmailAddressDetails["isInstanceOfType"](originalAttendees[i]) ? originalAttendees[i]["emailAddress"] : originalAttendees[i];
  6839. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnArgumentType$p(updatedAttendees[i],String,String.format("{0}[{1}]",name,i))
  6840. }
  6841. else
  6842. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnArgumentType$p(originalAttendees[i],String,String.format("{0}[{1}]",name,i));
  6843. return updatedAttendees
  6844. };
  6845. OSF.DDA.OutlookAppOm.prototype={
  6846. _initialData$p$0: null,
  6847. _item$p$0: null,
  6848. _userProfile$p$0: null,
  6849. _diagnostics$p$0: null,
  6850. _officeAppContext$p$0: null,
  6851. _appReadyCallback$p$0: null,
  6852. _clientEndPoint$p$0: null,
  6853. _hostItemType$p$0: 0,
  6854. _additionalOutlookParams$p$0: null,
  6855. get_clientEndPoint: function()
  6856. {
  6857. if(!this._clientEndPoint$p$0)
  6858. this._clientEndPoint$p$0=OSF._OfficeAppFactory["getClientEndPoint"]();
  6859. return this._clientEndPoint$p$0
  6860. },
  6861. set_clientEndPoint: function(value)
  6862. {
  6863. this._clientEndPoint$p$0=value;
  6864. return value
  6865. },
  6866. get_initialData: function()
  6867. {
  6868. return this._initialData$p$0
  6869. },
  6870. get__appName$i$0: function()
  6871. {
  6872. return this._officeAppContext$p$0["get_appName"]()
  6873. },
  6874. get_additionalOutlookParams: function()
  6875. {
  6876. return this._additionalOutlookParams$p$0
  6877. },
  6878. windowOpenOverrideHandler: function(url, targetName, features, replace)
  6879. {
  6880. this.invokeHostMethod(403,{launchUrl: url},null)
  6881. },
  6882. createAsyncResult: function(value, errorCode, detailedErrorCode, userContext, errorMessage)
  6883. {
  6884. var initArgs={};
  6885. var errorArgs=null;
  6886. initArgs[OSF.DDA.AsyncResultEnum.Properties["Value"]]=value;
  6887. initArgs[OSF.DDA.AsyncResultEnum.Properties["Context"]]=userContext;
  6888. if(0 !==errorCode)
  6889. {
  6890. errorArgs={};
  6891. var errorProperties=$h.OutlookErrorManager.getErrorArgs(detailedErrorCode);
  6892. errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties["Name"]]=errorProperties["name"];
  6893. errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties["Message"]]=!errorMessage ? errorProperties["message"] : errorMessage;
  6894. errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties["Code"]]=detailedErrorCode
  6895. }
  6896. return new OSF.DDA.AsyncResult(initArgs,errorArgs)
  6897. },
  6898. _throwOnMethodCallForInsufficientPermission$i$0: function(requiredPermissionLevel, methodName)
  6899. {
  6900. if(this._initialData$p$0._permissionLevel$p$0 < requiredPermissionLevel)
  6901. throw Error.create(String.format(window["_u"]["ExtensibilityStrings"]["l_ElevatedPermissionNeededForMethod_Text"],methodName));
  6902. },
  6903. _displayReplyForm$i$0: function(obj)
  6904. {
  6905. this._displayReplyFormHelper$p$0(obj,false)
  6906. },
  6907. _displayReplyAllForm$i$0: function(obj)
  6908. {
  6909. this._displayReplyFormHelper$p$0(obj,true)
  6910. },
  6911. _displayReplyFormHelper$p$0: function(obj, isReplyAll)
  6912. {
  6913. if(String["isInstanceOfType"](obj))
  6914. this._doDisplayReplyForm$p$0(obj,isReplyAll);
  6915. else if(Object["isInstanceOfType"](obj) && Object.getTypeName(obj)==="Object")
  6916. this._doDisplayReplyFormWithAttachments$p$0(obj,isReplyAll);
  6917. else
  6918. throw Error.argumentType();
  6919. },
  6920. _doDisplayReplyForm$p$0: function(htmlBody, isReplyAll)
  6921. {
  6922. if(!$h.ScriptHelpers.isNullOrUndefined(htmlBody))
  6923. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(htmlBody.length,0,window["OSF"]["DDA"]["OutlookAppOm"].maxBodyLength,"htmlBody");
  6924. this.invokeHostMethod(isReplyAll ? 11 : 10,{htmlBody: htmlBody},null)
  6925. },
  6926. _doDisplayReplyFormWithAttachments$p$0: function(data, isReplyAll)
  6927. {
  6928. var htmlBody=window["OSF"]["DDA"]["OutlookAppOm"]._getHtmlBody$p(data);
  6929. var attachments=window["OSF"]["DDA"]["OutlookAppOm"]._getAttachments$p(data);
  6930. var parameters=$h.CommonParameters.parse(window["OSF"]["DDA"]["OutlookAppOm"]._getOptionsAndCallback$p(data),false);
  6931. var $$t_6=this;
  6932. this._standardInvokeHostMethod$i$0(isReplyAll ? 31 : 30,{
  6933. htmlBody: htmlBody,
  6934. attachments: window["OSF"]["DDA"]["OutlookAppOm"]._createAttachmentsDataForHost$p(attachments)
  6935. },function(rawInput)
  6936. {
  6937. return rawInput
  6938. },parameters._asyncContext$p$0,parameters._callback$p$0)
  6939. },
  6940. _standardInvokeHostMethod$i$0: function(dispid, data, format, userContext, callback)
  6941. {
  6942. var $$t_B=this;
  6943. this.invokeHostMethod(dispid,data,function(resultCode, response)
  6944. {
  6945. if(callback)
  6946. {
  6947. var asyncResult=null;
  6948. if(Object["isInstanceOfType"](response))
  6949. {
  6950. var responseDictionary=response;
  6951. if("error" in responseDictionary || "data" in responseDictionary || "errorCode" in responseDictionary)
  6952. if(!responseDictionary["error"])
  6953. {
  6954. var formattedData=format ? format(responseDictionary["data"]) : responseDictionary["data"];
  6955. asyncResult=$$t_B.createAsyncResult(formattedData,0,0,userContext,null)
  6956. }
  6957. else
  6958. {
  6959. var errorCode=responseDictionary["errorCode"];
  6960. asyncResult=$$t_B.createAsyncResult(null,1,errorCode,userContext,null)
  6961. }
  6962. }
  6963. if(!asyncResult && resultCode)
  6964. asyncResult=$$t_B.createAsyncResult(null,1,9002,userContext,null);
  6965. callback(asyncResult)
  6966. }
  6967. })
  6968. },
  6969. invokeHostMethod: function(dispid, data, responseCallback)
  6970. {
  6971. if(64===this._officeAppContext$p$0["get_appName"]())
  6972. {
  6973. var args={ApiParams: data};
  6974. args["MethodData"]={
  6975. ControlId: OSF._OfficeAppFactory["getId"](),
  6976. DispatchId: dispid
  6977. };
  6978. args=window["OSF"]["DDA"]["OutlookAppOm"]["addAdditionalArgs"](dispid,args);
  6979. if(dispid===1)
  6980. this.get_clientEndPoint()["invoke"]("GetInitialData",responseCallback,args);
  6981. else
  6982. this.get_clientEndPoint()["invoke"]("ExecuteMethod",responseCallback,args)
  6983. }
  6984. else if(!this._isOwaOnlyMethod$p$0(dispid))
  6985. {
  6986. var executeParameters=this.convertToOutlookParameters(dispid,data);
  6987. var $$t_B=this;
  6988. OSF.ClientHostController["execute"](dispid,executeParameters,function(nativeData, resultCode)
  6989. {
  6990. if(responseCallback)
  6991. {
  6992. var responseData=nativeData.toArray();
  6993. var rawData=window["JSON"]["parse"](responseData[0]);
  6994. if(Object["isInstanceOfType"](rawData))
  6995. {
  6996. var deserializedData=rawData;
  6997. if(responseData["length"] > 1 && responseData[1])
  6998. {
  6999. deserializedData["error"]=true;
  7000. deserializedData["errorCode"]=responseData[1]
  7001. }
  7002. else
  7003. deserializedData["error"]=false;
  7004. responseCallback(resultCode,deserializedData)
  7005. }
  7006. else if(Number["isInstanceOfType"](rawData))
  7007. {
  7008. var returnDict={};
  7009. returnDict["error"]=true;
  7010. returnDict["errorCode"]=rawData;
  7011. responseCallback(resultCode,returnDict)
  7012. }
  7013. else
  7014. throw Error.notImplemented("Return data type from host must be Dictionary or int");
  7015. }
  7016. })
  7017. }
  7018. else if(responseCallback)
  7019. responseCallback(-2,null)
  7020. },
  7021. _dictionaryToDate$i$0: function(input)
  7022. {
  7023. var retValue=new Date(input["year"],input["month"],input["date"],input["hours"],input["minutes"],input["seconds"],!input["milliseconds"] ? 0 : input["milliseconds"]);
  7024. if(window["isNaN"](retValue["getTime"]()))
  7025. throw Error.format(window["_u"]["ExtensibilityStrings"]["l_InvalidDate_Text"]);
  7026. return retValue
  7027. },
  7028. _dateToDictionary$i$0: function(input)
  7029. {
  7030. var retValue={};
  7031. retValue["month"]=input["getMonth"]();
  7032. retValue["date"]=input["getDate"]();
  7033. retValue["year"]=input["getFullYear"]();
  7034. retValue["hours"]=input["getHours"]();
  7035. retValue["minutes"]=input["getMinutes"]();
  7036. retValue["seconds"]=input["getSeconds"]();
  7037. retValue["milliseconds"]=input["getMilliseconds"]();
  7038. return retValue
  7039. },
  7040. _isOwaOnlyMethod$p$0: function(dispId)
  7041. {
  7042. switch(dispId)
  7043. {
  7044. case 402:
  7045. case 401:
  7046. case 400:
  7047. case 403:
  7048. return true;
  7049. default:
  7050. return false
  7051. }
  7052. },
  7053. isOutlook16OrGreater: function()
  7054. {
  7055. var hostVersion=this._initialData$p$0.get__hostVersion$i$0();
  7056. var endIndex=0;
  7057. var majorVersionNumber=0;
  7058. if(hostVersion)
  7059. {
  7060. endIndex=hostVersion.indexOf(".");
  7061. majorVersionNumber=window["parseInt"](hostVersion.substring(0,endIndex))
  7062. }
  7063. return majorVersionNumber >=16
  7064. },
  7065. convertToOutlookParameters: function(dispid, data)
  7066. {
  7067. var executeParameters=null;
  7068. var optionalParameters={};
  7069. switch(dispid)
  7070. {
  7071. case 1:
  7072. case 2:
  7073. case 3:
  7074. case 14:
  7075. case 18:
  7076. case 26:
  7077. case 32:
  7078. case 41:
  7079. case 34:
  7080. break;
  7081. case 12:
  7082. optionalParameters["isRest"]=data["isRest"];
  7083. break;
  7084. case 4:
  7085. var jsonProperty=window["JSON"]["stringify"](data["customProperties"]);
  7086. executeParameters=[jsonProperty];
  7087. break;
  7088. case 5:
  7089. executeParameters=[data["body"]];
  7090. break;
  7091. case 8:
  7092. case 9:
  7093. executeParameters=[data["itemId"]];
  7094. break;
  7095. case 7:
  7096. executeParameters=[window["OSF"]["DDA"]["OutlookAppOm"]._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["requiredAttendees"]),window["OSF"]["DDA"]["OutlookAppOm"]._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["optionalAttendees"]),data["start"],data["end"],data["location"],window["OSF"]["DDA"]["OutlookAppOm"]._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["resources"]),data["subject"],data["body"]];
  7097. break;
  7098. case 44:
  7099. executeParameters=[window["OSF"]["DDA"]["OutlookAppOm"]._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["toRecipients"]),window["OSF"]["DDA"]["OutlookAppOm"]._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["ccRecipients"]),window["OSF"]["DDA"]["OutlookAppOm"]._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["bccRecipients"]),data["subject"],data["htmlBody"],data["attachments"]];
  7100. break;
  7101. case 43:
  7102. executeParameters=[data["ewsIdOrEmail"]];
  7103. break;
  7104. case 45:
  7105. executeParameters=[data["module"],data["queryString"]];
  7106. break;
  7107. case 40:
  7108. executeParameters=[data["extensionId"],data["consentState"]];
  7109. break;
  7110. case 11:
  7111. case 10:
  7112. executeParameters=[data["htmlBody"]];
  7113. break;
  7114. case 31:
  7115. case 30:
  7116. executeParameters=[data["htmlBody"],data["attachments"]];
  7117. break;
  7118. case 23:
  7119. case 13:
  7120. case 38:
  7121. case 29:
  7122. executeParameters=[data["data"],data["coercionType"]];
  7123. break;
  7124. case 37:
  7125. case 28:
  7126. executeParameters=[data["coercionType"]];
  7127. break;
  7128. case 17:
  7129. executeParameters=[data["subject"]];
  7130. break;
  7131. case 15:
  7132. executeParameters=[data["recipientField"]];
  7133. break;
  7134. case 22:
  7135. case 21:
  7136. executeParameters=[data["recipientField"],window["OSF"]["DDA"]["OutlookAppOm"]._convertComposeEmailDictionaryParameterForSetApi$p(data["recipientArray"])];
  7137. break;
  7138. case 19:
  7139. executeParameters=[data["itemId"],data["name"]];
  7140. break;
  7141. case 16:
  7142. executeParameters=[data["uri"],data["name"],data["isInline"]];
  7143. break;
  7144. case 20:
  7145. executeParameters=[data["attachmentIndex"]];
  7146. break;
  7147. case 25:
  7148. executeParameters=[data["TimeProperty"],data["time"]];
  7149. break;
  7150. case 24:
  7151. executeParameters=[data["TimeProperty"]];
  7152. break;
  7153. case 27:
  7154. executeParameters=[data["location"]];
  7155. break;
  7156. case 33:
  7157. case 35:
  7158. executeParameters=[data["key"],data["type"],data["persistent"],data["message"],data["icon"]];
  7159. break;
  7160. case 36:
  7161. executeParameters=[data["key"]];
  7162. break;
  7163. default:
  7164. Sys.Debug.fail("Unexpected method dispid");
  7165. break
  7166. }
  7167. if(dispid !==1)
  7168. {
  7169. var $$t_5;
  7170. this._additionalOutlookParams$p$0.updateOutlookExecuteParameters($$t_5={val: executeParameters},optionalParameters),executeParameters=$$t_5["val"]
  7171. }
  7172. return executeParameters
  7173. },
  7174. _displayNewAppointmentFormApi$p$0: function(parameters)
  7175. {
  7176. var normalizedRequiredAttendees=window["OSF"]["DDA"]["OutlookAppOm"]._validateAndNormalizeRecipientEmails$p(parameters["requiredAttendees"],"requiredAttendees");
  7177. var normalizedOptionalAttendees=window["OSF"]["DDA"]["OutlookAppOm"]._validateAndNormalizeRecipientEmails$p(parameters["optionalAttendees"],"optionalAttendees");
  7178. window["OSF"]["DDA"]["OutlookAppOm"]._validateOptionalStringParameter$p(parameters["location"],0,window["OSF"]["DDA"]["OutlookAppOm"]._maxLocationLength$p,"location");
  7179. window["OSF"]["DDA"]["OutlookAppOm"]._validateOptionalStringParameter$p(parameters["body"],0,window["OSF"]["DDA"]["OutlookAppOm"].maxBodyLength,"body");
  7180. window["OSF"]["DDA"]["OutlookAppOm"]._validateOptionalStringParameter$p(parameters["subject"],0,window["OSF"]["DDA"]["OutlookAppOm"]._maxSubjectLength$p,"subject");
  7181. if(!$h.ScriptHelpers.isNullOrUndefined(parameters["start"]))
  7182. {
  7183. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnArgumentType$p(parameters["start"],Date,"start");
  7184. var startDateTime=parameters["start"];
  7185. parameters["start"]=startDateTime["getTime"]();
  7186. if(!$h.ScriptHelpers.isNullOrUndefined(parameters["end"]))
  7187. {
  7188. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnArgumentType$p(parameters["end"],Date,"end");
  7189. var endDateTime=parameters["end"];
  7190. if(endDateTime < startDateTime)
  7191. throw Error.argumentOutOfRange("end",endDateTime,window["_u"]["ExtensibilityStrings"]["l_InvalidEventDates_Text"]);
  7192. parameters["end"]=endDateTime["getTime"]()
  7193. }
  7194. }
  7195. var updatedParameters=null;
  7196. if(normalizedRequiredAttendees || normalizedOptionalAttendees)
  7197. {
  7198. updatedParameters={};
  7199. var $$dict_7=parameters;
  7200. for(var $$key_8 in $$dict_7)
  7201. {
  7202. var entry={
  7203. key: $$key_8,
  7204. value: $$dict_7[$$key_8]
  7205. };
  7206. updatedParameters[entry["key"]]=entry["value"]
  7207. }
  7208. if(normalizedRequiredAttendees)
  7209. updatedParameters["requiredAttendees"]=normalizedRequiredAttendees;
  7210. if(normalizedOptionalAttendees)
  7211. updatedParameters["optionalAttendees"]=normalizedOptionalAttendees
  7212. }
  7213. this.invokeHostMethod(7,updatedParameters || parameters,null)
  7214. },
  7215. displayNewMessageFormApi: function(parameters)
  7216. {
  7217. var updatedParameters={};
  7218. if(parameters)
  7219. {
  7220. var normalizedToRecipients=window["OSF"]["DDA"]["OutlookAppOm"]._validateAndNormalizeRecipientEmails$p(parameters["toRecipients"],"toRecipients");
  7221. var normalizedCcRecipients=window["OSF"]["DDA"]["OutlookAppOm"]._validateAndNormalizeRecipientEmails$p(parameters["ccRecipients"],"ccRecipients");
  7222. var normalizedBccRecipients=window["OSF"]["DDA"]["OutlookAppOm"]._validateAndNormalizeRecipientEmails$p(parameters["bccRecipients"],"bccRecipients");
  7223. window["OSF"]["DDA"]["OutlookAppOm"]._validateOptionalStringParameter$p(parameters["htmlBody"],0,window["OSF"]["DDA"]["OutlookAppOm"].maxBodyLength,"htmlBody");
  7224. window["OSF"]["DDA"]["OutlookAppOm"]._validateOptionalStringParameter$p(parameters["subject"],0,window["OSF"]["DDA"]["OutlookAppOm"]._maxSubjectLength$p,"subject");
  7225. var attachments=window["OSF"]["DDA"]["OutlookAppOm"]._getAttachments$p(parameters);
  7226. var $$dict_7=parameters;
  7227. for(var $$key_8 in $$dict_7)
  7228. {
  7229. var entry={
  7230. key: $$key_8,
  7231. value: $$dict_7[$$key_8]
  7232. };
  7233. updatedParameters[entry["key"]]=entry["value"]
  7234. }
  7235. if(normalizedToRecipients)
  7236. updatedParameters["toRecipients"]=normalizedToRecipients;
  7237. if(normalizedCcRecipients)
  7238. updatedParameters["ccRecipients"]=normalizedCcRecipients;
  7239. if(normalizedBccRecipients)
  7240. updatedParameters["bccRecipients"]=normalizedBccRecipients;
  7241. if(attachments)
  7242. updatedParameters["attachments"]=window["OSF"]["DDA"]["OutlookAppOm"]._createAttachmentsDataForHost$p(attachments)
  7243. }
  7244. this.invokeHostMethod(44,updatedParameters || parameters,null)
  7245. },
  7246. displayPersonaCardAsync: function(ewsIdOrEmail)
  7247. {
  7248. var args=[];
  7249. for(var $$pai_3=1; $$pai_3 < arguments["length"];++$$pai_3)
  7250. args[$$pai_3 - 1]=arguments[$$pai_3];
  7251. if($h.ScriptHelpers.isNullOrUndefined(ewsIdOrEmail))
  7252. throw Error.argumentNull("ewsIdOrEmail");
  7253. else if(ewsIdOrEmail==="")
  7254. throw Error.argument("ewsIdOrEmail","ewsIdOrEmail cannot be empty.");
  7255. var parameters=$h.CommonParameters.parse(args,false);
  7256. this._standardInvokeHostMethod$i$0(43,{ewsIdOrEmail: ewsIdOrEmail.trim()},null,parameters._asyncContext$p$0,parameters._callback$p$0)
  7257. },
  7258. navigateToModuleAsync: function(module)
  7259. {
  7260. var args=[];
  7261. for(var $$pai_5=1; $$pai_5 < arguments["length"];++$$pai_5)
  7262. args[$$pai_5 - 1]=arguments[$$pai_5];
  7263. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidModule$p(module);
  7264. var parameters=$h.CommonParameters.parse(args,false);
  7265. var updatedParameters={};
  7266. if(module===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ModuleType"]["Addins"])
  7267. {
  7268. var queryString="";
  7269. if(parameters._options$p$0 && parameters._options$p$0["queryString"])
  7270. queryString=parameters._options$p$0["queryString"];
  7271. updatedParameters["queryString"]=queryString
  7272. }
  7273. updatedParameters["module"]=module;
  7274. this._standardInvokeHostMethod$i$0(45,updatedParameters,null,parameters._asyncContext$p$0,parameters._callback$p$0)
  7275. },
  7276. _initializeMethods$p$0: function()
  7277. {
  7278. var currentInstance=this;
  7279. if($h.Item["isInstanceOfType"](this._item$p$0) || this._hostItemType$p$0===6)
  7280. {
  7281. currentInstance["displayNewAppointmentForm"]=this.$$d__displayNewAppointmentFormApi$p$0;
  7282. currentInstance["displayNewMessageForm"]=this.$$d_displayNewMessageFormApi;
  7283. currentInstance["displayPersonaCardAsync"]=this.$$d_displayPersonaCardAsync;
  7284. currentInstance["navigateToModuleAsync"]=this.$$d_navigateToModuleAsync
  7285. }
  7286. },
  7287. _getInitialDataResponseHandler$p$0: function(resultCode, data)
  7288. {
  7289. if(resultCode)
  7290. return;
  7291. this["initialize"](data);
  7292. this["displayName"]="mailbox";
  7293. window.setTimeout(this.$$d__callAppReadyCallback$p$0,0)
  7294. },
  7295. _callAppReadyCallback$p$0: function()
  7296. {
  7297. this._appReadyCallback$p$0()
  7298. },
  7299. _invokeGetTokenMethodAsync$p$0: function(outlookDispid, data, methodName, callback, userContext)
  7300. {
  7301. if($h.ScriptHelpers.isNullOrUndefined(callback))
  7302. throw Error.argumentNull("callback");
  7303. var $$t_9=this;
  7304. this.invokeHostMethod(outlookDispid,data,function(resultCode, response)
  7305. {
  7306. var asyncResult;
  7307. if(resultCode)
  7308. asyncResult=$$t_9.createAsyncResult(null,1,9017,userContext,String.format(window["_u"]["ExtensibilityStrings"]["l_InternalProtocolError_Text"],resultCode));
  7309. else
  7310. {
  7311. var responseDictionary=response;
  7312. if(responseDictionary["wasSuccessful"])
  7313. asyncResult=$$t_9.createAsyncResult(responseDictionary["token"],0,0,userContext,null);
  7314. else
  7315. asyncResult=$$t_9.createAsyncResult(null,1,responseDictionary["errorCode"],userContext,responseDictionary["errorMessage"])
  7316. }
  7317. callback(asyncResult)
  7318. })
  7319. },
  7320. _getItem$p$0: function()
  7321. {
  7322. return this._item$p$0
  7323. },
  7324. _getUserProfile$p$0: function()
  7325. {
  7326. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._initialData$p$0._permissionLevel$p$0);
  7327. return this._userProfile$p$0
  7328. },
  7329. _getDiagnostics$p$0: function()
  7330. {
  7331. return this._diagnostics$p$0
  7332. },
  7333. _getEwsUrl$p$0: function()
  7334. {
  7335. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._initialData$p$0._permissionLevel$p$0);
  7336. return this._initialData$p$0.get__ewsUrl$i$0()
  7337. },
  7338. _getRestUrl$p$0: function()
  7339. {
  7340. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._initialData$p$0._permissionLevel$p$0);
  7341. if(!this._initialData$p$0.get__restUrl$i$0())
  7342. return null;
  7343. return this._initialData$p$0.get__restUrl$i$0()
  7344. },
  7345. _findOffset$p$0: function(value)
  7346. {
  7347. var ranges=this._initialData$p$0.get__timeZoneOffsets$i$0();
  7348. for(var r=0; r < ranges["length"]; r++)
  7349. {
  7350. var range=ranges[r];
  7351. var start=window["parseInt"](range["start"]);
  7352. var end=window["parseInt"](range["end"]);
  7353. if(value["getTime"]() - start >=0 && value["getTime"]() - end < 0)
  7354. return window["parseInt"](range["offset"])
  7355. }
  7356. throw Error.format(window["_u"]["ExtensibilityStrings"]["l_InvalidDate_Text"]);
  7357. },
  7358. _areStringsLoaded$p$0: function()
  7359. {
  7360. var stringsLoaded=false;
  7361. try
  7362. {
  7363. stringsLoaded=!$h.ScriptHelpers.isNullOrUndefined(window["_u"]["ExtensibilityStrings"]["l_EwsRequestOversized_Text"])
  7364. }
  7365. catch($$e_1){}
  7366. return stringsLoaded
  7367. },
  7368. _loadLocalizedScript$p$0: function(stringLoadedCallback)
  7369. {
  7370. var url=null;
  7371. var baseUrl="";
  7372. var scripts=document.getElementsByTagName("script");
  7373. for(var i=scripts.length - 1; i >=0; i--)
  7374. {
  7375. var filename=null;
  7376. var attributes=scripts[i].attributes;
  7377. if(attributes)
  7378. {
  7379. var attribute=attributes.getNamedItem("src");
  7380. if(attribute)
  7381. filename=attribute.value;
  7382. if(filename)
  7383. {
  7384. var debug=false;
  7385. filename=filename.toLowerCase();
  7386. var officeIndex=filename.indexOf("office_strings.js");
  7387. if(officeIndex < 0)
  7388. {
  7389. officeIndex=filename.indexOf("office_strings.debug.js");
  7390. debug=true
  7391. }
  7392. if(officeIndex > 0 && officeIndex < filename.length)
  7393. {
  7394. url=filename.replace(debug ? "office_strings.debug.js" : "office_strings.js","outlook_strings.js");
  7395. var languageUrl=filename.substring(0,officeIndex);
  7396. var lastIndexOfSlash=languageUrl.lastIndexOf("/",languageUrl.length - 2);
  7397. if(lastIndexOfSlash===-1)
  7398. lastIndexOfSlash=languageUrl.lastIndexOf("\\",languageUrl.length - 2);
  7399. if(lastIndexOfSlash !==-1 && languageUrl.length > lastIndexOfSlash+1)
  7400. baseUrl=languageUrl.substring(0,lastIndexOfSlash+1);
  7401. break
  7402. }
  7403. }
  7404. }
  7405. }
  7406. if(url)
  7407. {
  7408. var head=document.getElementsByTagName("head")[0];
  7409. var scriptElement=null;
  7410. var $$t_H=this;
  7411. var scriptElementCallback=function()
  7412. {
  7413. if(stringLoadedCallback && (!scriptElement.readyState || scriptElement.readyState && (scriptElement.readyState==="loaded" || scriptElement.readyState==="complete")))
  7414. {
  7415. scriptElement.onload=null;
  7416. scriptElement.onreadystatechange=null;
  7417. stringLoadedCallback()
  7418. }
  7419. };
  7420. var $$t_I=this;
  7421. var failureCallback=function()
  7422. {
  7423. if(!$$t_I._areStringsLoaded$p$0())
  7424. {
  7425. var fallbackUrl=baseUrl+"en-us/"+"outlook_strings.js";
  7426. scriptElement.onload=null;
  7427. scriptElement.onreadystatechange=null;
  7428. scriptElement=$$t_I._createScriptElement$p$0(fallbackUrl);
  7429. scriptElement.onload=scriptElementCallback;
  7430. scriptElement.onreadystatechange=scriptElementCallback;
  7431. head.appendChild(scriptElement)
  7432. }
  7433. };
  7434. scriptElement=this._createScriptElement$p$0(url);
  7435. scriptElement.onload=scriptElementCallback;
  7436. scriptElement.onreadystatechange=scriptElementCallback;
  7437. window.setTimeout(failureCallback,2e3);
  7438. head.appendChild(scriptElement)
  7439. }
  7440. },
  7441. _createScriptElement$p$0: function(url)
  7442. {
  7443. var scriptElement=document.createElement("script");
  7444. scriptElement.type="text/javascript";
  7445. scriptElement.src=url;
  7446. return scriptElement
  7447. }
  7448. };
  7449. OSF.DDA.OutlookAppOm.prototype.initialize=function(initialData)
  7450. {
  7451. var ItemTypeKey="itemType";
  7452. this._initialData$p$0=new $h.InitialData(initialData);
  7453. this._hostItemType$p$0=initialData[ItemTypeKey];
  7454. if(1===initialData[ItemTypeKey])
  7455. this._item$p$0=new $h.Message(this._initialData$p$0);
  7456. else if(3===initialData[ItemTypeKey])
  7457. this._item$p$0=new $h.MeetingRequest(this._initialData$p$0);
  7458. else if(2===initialData[ItemTypeKey])
  7459. this._item$p$0=new $h.Appointment(this._initialData$p$0);
  7460. else if(4===initialData[ItemTypeKey])
  7461. this._item$p$0=new $h.MessageCompose(this._initialData$p$0);
  7462. else if(5===initialData[ItemTypeKey])
  7463. this._item$p$0=new $h.AppointmentCompose(this._initialData$p$0);
  7464. else if(6===initialData[ItemTypeKey]);
  7465. else
  7466. Sys.Debug.trace("Unexpected item type was received from the host.");
  7467. this._userProfile$p$0=new $h.UserProfile(this._initialData$p$0);
  7468. this._diagnostics$p$0=new $h.Diagnostics(this._initialData$p$0,this._officeAppContext$p$0["get_appName"]());
  7469. var supportsAdditionalParameters=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.get__appName$i$0() !==8 || this.isOutlook16OrGreater();
  7470. this._additionalOutlookParams$p$0=new $h.AdditionalGlobalParameters(supportsAdditionalParameters);
  7471. this._initializeMethods$p$0();
  7472. $h.InitialData._defineReadOnlyProperty$i(this,"item",this.$$d__getItem$p$0);
  7473. $h.InitialData._defineReadOnlyProperty$i(this,"userProfile",this.$$d__getUserProfile$p$0);
  7474. $h.InitialData._defineReadOnlyProperty$i(this,"diagnostics",this.$$d__getDiagnostics$p$0);
  7475. $h.InitialData._defineReadOnlyProperty$i(this,"ewsUrl",this.$$d__getEwsUrl$p$0);
  7476. $h.InitialData._defineReadOnlyProperty$i(this,"restUrl",this.$$d__getRestUrl$p$0);
  7477. if(window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.get__appName$i$0()===64)
  7478. if(this._initialData$p$0.get__overrideWindowOpen$i$0())
  7479. window.open=this.$$d_windowOpenOverrideHandler
  7480. };
  7481. OSF.DDA.OutlookAppOm.prototype.makeEwsRequestAsync=function(data)
  7482. {
  7483. var args=[];
  7484. for(var $$pai_5=1; $$pai_5 < arguments["length"];++$$pai_5)
  7485. args[$$pai_5 - 1]=arguments[$$pai_5];
  7486. if($h.ScriptHelpers.isNullOrUndefined(data))
  7487. throw Error.argumentNull("data");
  7488. if(data.length > window["OSF"]["DDA"]["OutlookAppOm"]._maxEwsRequestSize$p)
  7489. throw Error.argument("data",window["_u"]["ExtensibilityStrings"]["l_EwsRequestOversized_Text"]);
  7490. this._throwOnMethodCallForInsufficientPermission$i$0(3,"makeEwsRequestAsync");
  7491. var parameters=$h.CommonParameters.parse(args,true,true);
  7492. var ewsRequest=new $h.EwsRequest(parameters._asyncContext$p$0);
  7493. var $$t_4=this;
  7494. ewsRequest.onreadystatechange=function()
  7495. {
  7496. if(4===ewsRequest.get__requestState$i$1())
  7497. parameters._callback$p$0(ewsRequest._asyncResult$p$0)
  7498. };
  7499. ewsRequest.send(data)
  7500. };
  7501. OSF.DDA.OutlookAppOm.prototype.recordDataPoint=function(data)
  7502. {
  7503. if($h.ScriptHelpers.isNullOrUndefined(data))
  7504. throw Error.argumentNull("data");
  7505. this.invokeHostMethod(402,data,null)
  7506. };
  7507. OSF.DDA.OutlookAppOm.prototype.recordTrace=function(data)
  7508. {
  7509. if($h.ScriptHelpers.isNullOrUndefined(data))
  7510. throw Error.argumentNull("data");
  7511. this.invokeHostMethod(401,data,null)
  7512. };
  7513. OSF.DDA.OutlookAppOm.prototype.trackCtq=function(data)
  7514. {
  7515. if($h.ScriptHelpers.isNullOrUndefined(data))
  7516. throw Error.argumentNull("data");
  7517. this.invokeHostMethod(400,data,null)
  7518. };
  7519. OSF.DDA.OutlookAppOm.prototype.convertToLocalClientTime=function(timeValue)
  7520. {
  7521. var date=new Date(timeValue["getTime"]());
  7522. var offset=date["getTimezoneOffset"]() * -1;
  7523. if(this._initialData$p$0 && this._initialData$p$0.get__timeZoneOffsets$i$0())
  7524. {
  7525. date["setUTCMinutes"](date["getUTCMinutes"]() - offset);
  7526. offset=this._findOffset$p$0(date);
  7527. date["setUTCMinutes"](date["getUTCMinutes"]()+offset)
  7528. }
  7529. var retValue=this._dateToDictionary$i$0(date);
  7530. retValue["timezoneOffset"]=offset;
  7531. return retValue
  7532. };
  7533. OSF.DDA.OutlookAppOm.prototype.convertToUtcClientTime=function(input)
  7534. {
  7535. var retValue=this._dictionaryToDate$i$0(input);
  7536. if(this._initialData$p$0 && this._initialData$p$0.get__timeZoneOffsets$i$0())
  7537. {
  7538. var offset=this._findOffset$p$0(retValue);
  7539. retValue["setUTCMinutes"](retValue["getUTCMinutes"]() - offset);
  7540. offset=!input["timezoneOffset"] ? retValue["getTimezoneOffset"]() * -1 : input["timezoneOffset"];
  7541. retValue["setUTCMinutes"](retValue["getUTCMinutes"]()+offset)
  7542. }
  7543. return retValue
  7544. };
  7545. OSF.DDA.OutlookAppOm.prototype.convertToRestId=function(itemId, restVersion)
  7546. {
  7547. if(!itemId)
  7548. throw Error.argumentNull("itemId");
  7549. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidRestVersion$p(restVersion);
  7550. return itemId.replace(new RegExp("[/]","g"),"-").replace(new RegExp("[+]","g"),"_")
  7551. };
  7552. OSF.DDA.OutlookAppOm.prototype.convertToEwsId=function(itemId, restVersion)
  7553. {
  7554. if(!itemId)
  7555. throw Error.argumentNull("itemId");
  7556. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidRestVersion$p(restVersion);
  7557. return itemId.replace(new RegExp("[-]","g"),"/").replace(new RegExp("[_]","g"),"+")
  7558. };
  7559. OSF.DDA.OutlookAppOm.prototype.getUserIdentityTokenAsync=function()
  7560. {
  7561. var args=[];
  7562. for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
  7563. args[$$pai_2]=arguments[$$pai_2];
  7564. this._throwOnMethodCallForInsufficientPermission$i$0(1,"getUserIdentityTokenAsync");
  7565. var parameters=$h.CommonParameters.parse(args,true,true);
  7566. this._invokeGetTokenMethodAsync$p$0(2,null,"GetUserIdentityToken",parameters._callback$p$0,parameters._asyncContext$p$0)
  7567. };
  7568. OSF.DDA.OutlookAppOm.prototype.getCallbackTokenAsync=function()
  7569. {
  7570. var args=[];
  7571. for(var $$pai_7=0; $$pai_7 < arguments["length"];++$$pai_7)
  7572. args[$$pai_7]=arguments[$$pai_7];
  7573. this._throwOnMethodCallForInsufficientPermission$i$0(1,"getCallbackTokenAsync");
  7574. var parameters=$h.CommonParameters.parse(args,true,true);
  7575. var options={};
  7576. if(parameters._options$p$0)
  7577. for(var $$arr_3=Object["keys"](parameters._options$p$0), $$len_4=$$arr_3.length, $$idx_5=0; $$idx_5 < $$len_4;++$$idx_5)
  7578. {
  7579. var key=$$arr_3[$$idx_5];
  7580. options[key]=parameters._options$p$0[key]
  7581. }
  7582. if(!("isRest" in options))
  7583. options["isRest"]=false;
  7584. this._invokeGetTokenMethodAsync$p$0(12,options,"GetCallbackToken",parameters._callback$p$0,parameters._asyncContext$p$0)
  7585. };
  7586. OSF.DDA.OutlookAppOm.prototype.displayMessageForm=function(itemId)
  7587. {
  7588. if($h.ScriptHelpers.isNullOrUndefined(itemId))
  7589. throw Error.argumentNull("itemId");
  7590. this.invokeHostMethod(8,{itemId: window["OSF"]["DDA"]["OutlookAppOm"].getItemIdBasedOnHost(itemId)},null)
  7591. };
  7592. OSF.DDA.OutlookAppOm.prototype.displayAppointmentForm=function(itemId)
  7593. {
  7594. if($h.ScriptHelpers.isNullOrUndefined(itemId))
  7595. throw Error.argumentNull("itemId");
  7596. this.invokeHostMethod(9,{itemId: window["OSF"]["DDA"]["OutlookAppOm"].getItemIdBasedOnHost(itemId)},null)
  7597. };
  7598. OSF.DDA.OutlookAppOm.prototype.RegisterConsentAsync=function(consentState)
  7599. {
  7600. if(consentState !==2 && consentState !==1 && consentState)
  7601. throw Error.argumentOutOfRange("consentState");
  7602. var parameters={};
  7603. parameters["consentState"]=consentState["toString"]();
  7604. parameters["extensionId"]=this["GetExtensionId"]();
  7605. this.invokeHostMethod(40,parameters,null)
  7606. };
  7607. OSF.DDA.OutlookAppOm.prototype.CloseApp=function()
  7608. {
  7609. this.invokeHostMethod(42,null,null)
  7610. };
  7611. OSF.DDA.OutlookAppOm.prototype.GetIsRead=function()
  7612. {
  7613. return this._initialData$p$0.get__isRead$i$0()
  7614. };
  7615. OSF.DDA.OutlookAppOm.prototype.GetEndNodeUrl=function()
  7616. {
  7617. return this._initialData$p$0.get__endNodeUrl$i$0()
  7618. };
  7619. OSF.DDA.OutlookAppOm.prototype.GetConsentMetadata=function()
  7620. {
  7621. return this._initialData$p$0.get__consentMetadata$i$0()
  7622. };
  7623. OSF.DDA.OutlookAppOm.prototype.GetEntryPointUrl=function()
  7624. {
  7625. return this._initialData$p$0.get__entryPointUrl$i$0()
  7626. };
  7627. OSF.DDA.OutlookAppOm.prototype.GetMarketplaceContentMarket=function()
  7628. {
  7629. return this._initialData$p$0.get__marketplaceContentMarket$i$0()
  7630. };
  7631. OSF.DDA.OutlookAppOm.prototype.GetMarketplaceAssetId=function()
  7632. {
  7633. return this._initialData$p$0.get__marketplaceAssetId$i$0()
  7634. };
  7635. OSF.DDA.OutlookAppOm.prototype.GetExtensionId=function()
  7636. {
  7637. return this._initialData$p$0.get__extensionId$i$0()
  7638. };
  7639. OSF.DDA.OutlookAppOm.prototype.setCurrentItemNumber=function(itemNumber)
  7640. {
  7641. this._additionalOutlookParams$p$0.setCurrentItemNumber(itemNumber)
  7642. };
  7643. window["OSF"]["DDA"]["Settings"]=OSF.DDA.Settings=function(data)
  7644. {
  7645. this._rawData$p$0=data
  7646. };
  7647. window["OSF"]["DDA"]["Settings"]._convertFromRawSettings$p=function(rawSettings)
  7648. {
  7649. if(!rawSettings)
  7650. return{};
  7651. if(window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.get__appName$i$0()===8 || window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.get__appName$i$0()===65536 || window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.get__appName$i$0()===4194304)
  7652. {
  7653. var outlookSettings=rawSettings["SettingsKey"];
  7654. if(outlookSettings)
  7655. return OSF.DDA.SettingsManager["deserializeSettings"](outlookSettings)
  7656. }
  7657. return rawSettings
  7658. };
  7659. OSF.DDA.Settings.prototype={
  7660. _rawData$p$0: null,
  7661. _settingsData$p$0: null,
  7662. get__data$p$0: function()
  7663. {
  7664. if(!this._settingsData$p$0)
  7665. {
  7666. this._settingsData$p$0=window["OSF"]["DDA"]["Settings"]._convertFromRawSettings$p(this._rawData$p$0);
  7667. this._rawData$p$0=null
  7668. }
  7669. return this._settingsData$p$0
  7670. },
  7671. _saveSettingsForOutlook$p$0: function(callback, userContext)
  7672. {
  7673. var storedException=null;
  7674. try
  7675. {
  7676. var serializedSettings=OSF.DDA.SettingsManager["serializeSettings"](this.get__data$p$0());
  7677. var jsonSettings=window["JSON"]["stringify"](serializedSettings);
  7678. var settingsObjectToSave={SettingsKey: jsonSettings};
  7679. OSF.DDA.ClientSettingsManager["write"](settingsObjectToSave)
  7680. }
  7681. catch(ex)
  7682. {
  7683. storedException=ex
  7684. }
  7685. if(callback)
  7686. {
  7687. var asyncResult;
  7688. if(storedException)
  7689. asyncResult=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(null,1,9019,userContext,storedException["message"]);
  7690. else
  7691. asyncResult=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(null,0,0,userContext,null);
  7692. callback(asyncResult)
  7693. }
  7694. },
  7695. _saveSettingsForOwa$p$0: function(callback, userContext)
  7696. {
  7697. var serializedSettings=OSF.DDA.SettingsManager["serializeSettings"](this.get__data$p$0());
  7698. var $$t_7=this;
  7699. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.invokeHostMethod(404,[serializedSettings],function(resultCode, response)
  7700. {
  7701. if(callback)
  7702. {
  7703. var asyncResult;
  7704. if(resultCode)
  7705. asyncResult=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(null,1,9017,userContext,String.format(window["_u"]["ExtensibilityStrings"]["l_InternalProtocolError_Text"],resultCode));
  7706. else
  7707. {
  7708. var responseDictionary=response;
  7709. if(!responseDictionary["error"])
  7710. asyncResult=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(null,0,0,userContext,null);
  7711. else
  7712. asyncResult=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(null,1,9019,userContext,responseDictionary["errorMessage"])
  7713. }
  7714. callback(asyncResult)
  7715. }
  7716. })
  7717. }
  7718. };
  7719. OSF.DDA.Settings.prototype.get=function(name)
  7720. {
  7721. return this.get__data$p$0()[name]
  7722. };
  7723. OSF.DDA.Settings.prototype.set=function(name, value)
  7724. {
  7725. this.get__data$p$0()[name]=value
  7726. };
  7727. OSF.DDA.Settings.prototype.remove=function(name)
  7728. {
  7729. delete this.get__data$p$0()[name]
  7730. };
  7731. OSF.DDA.Settings.prototype.saveAsync=function()
  7732. {
  7733. var args=[];
  7734. for(var $$pai_4=0; $$pai_4 < arguments["length"];++$$pai_4)
  7735. args[$$pai_4]=arguments[$$pai_4];
  7736. var commonParameters=$h.CommonParameters.parse(args,false);
  7737. if(window["JSON"]["stringify"](OSF.DDA.SettingsManager["serializeSettings"](this.get__data$p$0())).length > 32768)
  7738. {
  7739. var asyncResult=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(null,1,9019,commonParameters._asyncContext$p$0,"");
  7740. var $$t_3=this;
  7741. window.setTimeout(function()
  7742. {
  7743. commonParameters._callback$p$0(asyncResult)
  7744. },0);
  7745. return
  7746. }
  7747. if(window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.get__appName$i$0()===64)
  7748. this._saveSettingsForOwa$p$0(commonParameters._callback$p$0,commonParameters._asyncContext$p$0);
  7749. else
  7750. this._saveSettingsForOutlook$p$0(commonParameters._callback$p$0,commonParameters._asyncContext$p$0)
  7751. };
  7752. Type.registerNamespace("$h");
  7753. var $h=window["$h"] || {};
  7754. Type.registerNamespace("Office.cast");
  7755. var Office=window["Office"] || {};
  7756. Office.cast=Office.cast || {};
  7757. $h.AdditionalGlobalParameters=function(supported)
  7758. {
  7759. this._parameterBlobSupported$p$0=supported;
  7760. this._itemNumber$p$0=0
  7761. };
  7762. $h.AdditionalGlobalParameters.prototype={
  7763. _parameterBlobSupported$p$0: false,
  7764. _itemNumber$p$0: 0,
  7765. setCurrentItemNumber: function(itemNumber)
  7766. {
  7767. if(itemNumber > 0)
  7768. this._itemNumber$p$0=itemNumber
  7769. },
  7770. updateOutlookExecuteParameters: function(executeParameters, additionalApiParameters)
  7771. {
  7772. if(this._parameterBlobSupported$p$0)
  7773. {
  7774. if(this._itemNumber$p$0 > 0)
  7775. additionalApiParameters["itemNumber"]=this._itemNumber$p$0["toString"]();
  7776. if(!Object["keys"](additionalApiParameters)["length"])
  7777. return;
  7778. if(!executeParameters["val"])
  7779. executeParameters["val"]=[];
  7780. executeParameters["val"]["push"](window["JSON"]["stringify"](additionalApiParameters))
  7781. }
  7782. }
  7783. };
  7784. $h.Appointment=function(dataDictionary)
  7785. {
  7786. this.$$d__getOrganizer$p$2=Function.createDelegate(this,this._getOrganizer$p$2);
  7787. this.$$d__getNormalizedSubject$p$2=Function.createDelegate(this,this._getNormalizedSubject$p$2);
  7788. this.$$d__getSubject$p$2=Function.createDelegate(this,this._getSubject$p$2);
  7789. this.$$d__getResources$p$2=Function.createDelegate(this,this._getResources$p$2);
  7790. this.$$d__getRequiredAttendees$p$2=Function.createDelegate(this,this._getRequiredAttendees$p$2);
  7791. this.$$d__getOptionalAttendees$p$2=Function.createDelegate(this,this._getOptionalAttendees$p$2);
  7792. this.$$d__getLocation$p$2=Function.createDelegate(this,this._getLocation$p$2);
  7793. this.$$d__getEnd$p$2=Function.createDelegate(this,this._getEnd$p$2);
  7794. this.$$d__getStart$p$2=Function.createDelegate(this,this._getStart$p$2);
  7795. $h.Appointment["initializeBase"](this,[dataDictionary]);
  7796. $h.InitialData._defineReadOnlyProperty$i(this,"start",this.$$d__getStart$p$2);
  7797. $h.InitialData._defineReadOnlyProperty$i(this,"end",this.$$d__getEnd$p$2);
  7798. $h.InitialData._defineReadOnlyProperty$i(this,"location",this.$$d__getLocation$p$2);
  7799. $h.InitialData._defineReadOnlyProperty$i(this,"optionalAttendees",this.$$d__getOptionalAttendees$p$2);
  7800. $h.InitialData._defineReadOnlyProperty$i(this,"requiredAttendees",this.$$d__getRequiredAttendees$p$2);
  7801. $h.InitialData._defineReadOnlyProperty$i(this,"resources",this.$$d__getResources$p$2);
  7802. $h.InitialData._defineReadOnlyProperty$i(this,"subject",this.$$d__getSubject$p$2);
  7803. $h.InitialData._defineReadOnlyProperty$i(this,"normalizedSubject",this.$$d__getNormalizedSubject$p$2);
  7804. $h.InitialData._defineReadOnlyProperty$i(this,"organizer",this.$$d__getOrganizer$p$2)
  7805. };
  7806. $h.Appointment.prototype={
  7807. getItemType: function()
  7808. {
  7809. return window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemType"]["Appointment"]
  7810. },
  7811. _getStart$p$2: function()
  7812. {
  7813. return this._data$p$0.get__start$i$0()
  7814. },
  7815. _getEnd$p$2: function()
  7816. {
  7817. return this._data$p$0.get__end$i$0()
  7818. },
  7819. _getLocation$p$2: function()
  7820. {
  7821. return this._data$p$0.get__location$i$0()
  7822. },
  7823. _getOptionalAttendees$p$2: function()
  7824. {
  7825. return this._data$p$0.get__cc$i$0()
  7826. },
  7827. _getRequiredAttendees$p$2: function()
  7828. {
  7829. return this._data$p$0.get__to$i$0()
  7830. },
  7831. _getResources$p$2: function()
  7832. {
  7833. return this._data$p$0.get__resources$i$0()
  7834. },
  7835. _getSubject$p$2: function()
  7836. {
  7837. return this._data$p$0.get__subject$i$0()
  7838. },
  7839. _getNormalizedSubject$p$2: function()
  7840. {
  7841. return this._data$p$0.get__normalizedSubject$i$0()
  7842. },
  7843. _getOrganizer$p$2: function()
  7844. {
  7845. return this._data$p$0.get__organizer$i$0()
  7846. }
  7847. };
  7848. $h.Appointment.prototype.getEntities=function()
  7849. {
  7850. return this._data$p$0._getEntities$i$0()
  7851. };
  7852. $h.Appointment.prototype.getEntitiesByType=function(entityType)
  7853. {
  7854. return this._data$p$0._getEntitiesByType$i$0(entityType)
  7855. };
  7856. $h.Appointment.prototype.getSelectedEntities=function()
  7857. {
  7858. return this._data$p$0._getSelectedEntities$i$0()
  7859. };
  7860. $h.Appointment.prototype.getRegExMatches=function()
  7861. {
  7862. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"getRegExMatches");
  7863. return this._data$p$0._getRegExMatches$i$0()
  7864. };
  7865. $h.Appointment.prototype.getFilteredEntitiesByName=function(name)
  7866. {
  7867. return this._data$p$0._getFilteredEntitiesByName$i$0(name)
  7868. };
  7869. $h.Appointment.prototype.getRegExMatchesByName=function(name)
  7870. {
  7871. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"getRegExMatchesByName");
  7872. return this._data$p$0._getRegExMatchesByName$i$0(name)
  7873. };
  7874. $h.Appointment.prototype.getSelectedRegExMatches=function()
  7875. {
  7876. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"getSelectedRegExMatches");
  7877. return this._data$p$0._getSelectedRegExMatches$i$0()
  7878. };
  7879. $h.Appointment.prototype.displayReplyForm=function(obj)
  7880. {
  7881. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._displayReplyForm$i$0(obj)
  7882. };
  7883. $h.Appointment.prototype.displayReplyAllForm=function(obj)
  7884. {
  7885. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._displayReplyAllForm$i$0(obj)
  7886. };
  7887. $h.AppointmentCompose=function(data)
  7888. {
  7889. this.$$d__getLocation$p$2=Function.createDelegate(this,this._getLocation$p$2);
  7890. this.$$d__getEnd$p$2=Function.createDelegate(this,this._getEnd$p$2);
  7891. this.$$d__getStart$p$2=Function.createDelegate(this,this._getStart$p$2);
  7892. this.$$d__getOptionalAttendees$p$2=Function.createDelegate(this,this._getOptionalAttendees$p$2);
  7893. this.$$d__getRequiredAttendees$p$2=Function.createDelegate(this,this._getRequiredAttendees$p$2);
  7894. $h.AppointmentCompose["initializeBase"](this,[data]);
  7895. $h.InitialData._defineReadOnlyProperty$i(this,"requiredAttendees",this.$$d__getRequiredAttendees$p$2);
  7896. $h.InitialData._defineReadOnlyProperty$i(this,"optionalAttendees",this.$$d__getOptionalAttendees$p$2);
  7897. $h.InitialData._defineReadOnlyProperty$i(this,"start",this.$$d__getStart$p$2);
  7898. $h.InitialData._defineReadOnlyProperty$i(this,"end",this.$$d__getEnd$p$2);
  7899. $h.InitialData._defineReadOnlyProperty$i(this,"location",this.$$d__getLocation$p$2)
  7900. };
  7901. $h.AppointmentCompose.prototype={
  7902. _requiredAttendees$p$2: null,
  7903. _optionalAttendees$p$2: null,
  7904. _start$p$2: null,
  7905. _end$p$2: null,
  7906. _location$p$2: null,
  7907. getItemType: function()
  7908. {
  7909. return window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemType"]["Appointment"]
  7910. },
  7911. _getRequiredAttendees$p$2: function()
  7912. {
  7913. this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
  7914. if(!this._requiredAttendees$p$2)
  7915. this._requiredAttendees$p$2=new $h.ComposeRecipient(0,"requiredAttendees");
  7916. return this._requiredAttendees$p$2
  7917. },
  7918. _getOptionalAttendees$p$2: function()
  7919. {
  7920. this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
  7921. if(!this._optionalAttendees$p$2)
  7922. this._optionalAttendees$p$2=new $h.ComposeRecipient(1,"optionalAttendees");
  7923. return this._optionalAttendees$p$2
  7924. },
  7925. _getStart$p$2: function()
  7926. {
  7927. this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
  7928. if(!this._start$p$2)
  7929. this._start$p$2=new $h.ComposeTime(1);
  7930. return this._start$p$2
  7931. },
  7932. _getEnd$p$2: function()
  7933. {
  7934. this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
  7935. if(!this._end$p$2)
  7936. this._end$p$2=new $h.ComposeTime(2);
  7937. return this._end$p$2
  7938. },
  7939. _getLocation$p$2: function()
  7940. {
  7941. this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
  7942. if(!this._location$p$2)
  7943. this._location$p$2=new $h.ComposeLocation;
  7944. return this._location$p$2
  7945. }
  7946. };
  7947. $h.AttachmentConstants=function(){};
  7948. $h.AttachmentDetails=function(data)
  7949. {
  7950. this.$$d__getIsInline$p$0=Function.createDelegate(this,this._getIsInline$p$0);
  7951. this.$$d__getAttachmentType$p$0=Function.createDelegate(this,this._getAttachmentType$p$0);
  7952. this.$$d__getSize$p$0=Function.createDelegate(this,this._getSize$p$0);
  7953. this.$$d__getContentType$p$0=Function.createDelegate(this,this._getContentType$p$0);
  7954. this.$$d__getName$p$0=Function.createDelegate(this,this._getName$p$0);
  7955. this.$$d__getId$p$0=Function.createDelegate(this,this._getId$p$0);
  7956. this._data$p$0=data;
  7957. $h.InitialData._defineReadOnlyProperty$i(this,"id",this.$$d__getId$p$0);
  7958. $h.InitialData._defineReadOnlyProperty$i(this,"name",this.$$d__getName$p$0);
  7959. $h.InitialData._defineReadOnlyProperty$i(this,"contentType",this.$$d__getContentType$p$0);
  7960. $h.InitialData._defineReadOnlyProperty$i(this,"size",this.$$d__getSize$p$0);
  7961. $h.InitialData._defineReadOnlyProperty$i(this,"attachmentType",this.$$d__getAttachmentType$p$0);
  7962. $h.InitialData._defineReadOnlyProperty$i(this,"isInline",this.$$d__getIsInline$p$0)
  7963. };
  7964. $h.AttachmentDetails.prototype={
  7965. _data$p$0: null,
  7966. _getId$p$0: function()
  7967. {
  7968. return this._data$p$0["id"]
  7969. },
  7970. _getName$p$0: function()
  7971. {
  7972. return this._data$p$0["name"]
  7973. },
  7974. _getContentType$p$0: function()
  7975. {
  7976. return this._data$p$0["contentType"]
  7977. },
  7978. _getSize$p$0: function()
  7979. {
  7980. return this._data$p$0["size"]
  7981. },
  7982. _getAttachmentType$p$0: function()
  7983. {
  7984. var response=this._data$p$0["attachmentType"];
  7985. return response < $h.AttachmentDetails._attachmentTypeMap$p["length"] ? $h.AttachmentDetails._attachmentTypeMap$p[response] : window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["AttachmentType"]["File"]
  7986. },
  7987. _getIsInline$p$0: function()
  7988. {
  7989. return this._data$p$0["isInline"]
  7990. }
  7991. };
  7992. $h.Body=function(){};
  7993. $h.Body._tryMapToHostCoercionType$i=function(coercionType, hostCoercionType)
  7994. {
  7995. hostCoercionType["val"]=undefined;
  7996. if(coercionType===window["Microsoft"]["Office"]["WebExtension"]["CoercionType"]["Html"])
  7997. hostCoercionType["val"]=3;
  7998. else if(coercionType===window["Microsoft"]["Office"]["WebExtension"]["CoercionType"]["Text"])
  7999. hostCoercionType["val"]=0;
  8000. else
  8001. return false;
  8002. return true
  8003. };
  8004. $h.Body.prototype.getAsync=function(coercionType)
  8005. {
  8006. var args=[];
  8007. for(var $$pai_7=1; $$pai_7 < arguments["length"];++$$pai_7)
  8008. args[$$pai_7 - 1]=arguments[$$pai_7];
  8009. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"body.getAsync");
  8010. var commonParameters=$h.CommonParameters.parse(args,true);
  8011. var hostCoercionType;
  8012. var $$t_5,
  8013. $$t_6;
  8014. if(!($$t_6=$h.Body._tryMapToHostCoercionType$i(coercionType,$$t_5={val: hostCoercionType}),hostCoercionType=$$t_5["val"],$$t_6))
  8015. throw Error.argument("coercionType");
  8016. var dataToHost={coercionType: hostCoercionType};
  8017. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(37,dataToHost,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
  8018. };
  8019. $h.ComposeBody=function()
  8020. {
  8021. $h.ComposeBody["initializeBase"](this)
  8022. };
  8023. $h.ComposeBody._createParameterDictionaryToHost$i=function(data, parameters)
  8024. {
  8025. var dataToHost={data: data};
  8026. if(parameters._options$p$0 && parameters._options$p$0["hasOwnProperty"]("coercionType") && !$h.ScriptHelpers.isNull(parameters._options$p$0["coercionType"]))
  8027. {
  8028. var hostCoercionType;
  8029. var $$t_4,
  8030. $$t_5;
  8031. if(!($$t_5=$h.Body._tryMapToHostCoercionType$i(parameters._options$p$0["coercionType"],$$t_4={val: hostCoercionType}),hostCoercionType=$$t_4["val"],$$t_5))
  8032. {
  8033. if(parameters._callback$p$0)
  8034. parameters._callback$p$0(window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(null,1,1e3,parameters._asyncContext$p$0,null));
  8035. return null
  8036. }
  8037. dataToHost["coercionType"]=hostCoercionType
  8038. }
  8039. else
  8040. dataToHost["coercionType"]=0;
  8041. return dataToHost
  8042. };
  8043. $h.ComposeBody.prototype.getTypeAsync=function()
  8044. {
  8045. var args=[];
  8046. for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
  8047. args[$$pai_2]=arguments[$$pai_2];
  8048. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"body.getTypeAsync");
  8049. var parameters=$h.CommonParameters.parse(args,true);
  8050. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(14,null,null,parameters._asyncContext$p$0,parameters._callback$p$0)
  8051. };
  8052. $h.ComposeBody.prototype.setSelectedDataAsync=function(data)
  8053. {
  8054. var args=[];
  8055. for(var $$pai_4=1; $$pai_4 < arguments["length"];++$$pai_4)
  8056. args[$$pai_4 - 1]=arguments[$$pai_4];
  8057. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"body.setSelectedDataAsync");
  8058. var parameters=$h.CommonParameters.parse(args,false);
  8059. if(!String["isInstanceOfType"](data))
  8060. throw Error.argumentType("data",Object["getType"](data),String);
  8061. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(data.length,0,1e6,"data");
  8062. var dataToHost=$h.ComposeBody._createParameterDictionaryToHost$i(data,parameters);
  8063. if(!dataToHost)
  8064. return;
  8065. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(13,dataToHost,null,parameters._asyncContext$p$0,parameters._callback$p$0)
  8066. };
  8067. $h.ComposeBody.prototype.prependAsync=function(data)
  8068. {
  8069. var args=[];
  8070. for(var $$pai_4=1; $$pai_4 < arguments["length"];++$$pai_4)
  8071. args[$$pai_4 - 1]=arguments[$$pai_4];
  8072. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"body.prependAsync");
  8073. var parameters=$h.CommonParameters.parse(args,false);
  8074. if(!String["isInstanceOfType"](data))
  8075. throw Error.argumentType("data",Object["getType"](data),String);
  8076. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(data.length,0,1e6,"data");
  8077. var dataToHost=$h.ComposeBody._createParameterDictionaryToHost$i(data,parameters);
  8078. if(!dataToHost)
  8079. return;
  8080. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(23,dataToHost,null,parameters._asyncContext$p$0,parameters._callback$p$0)
  8081. };
  8082. $h.ComposeBody.prototype.setAsync=function(data)
  8083. {
  8084. var args=[];
  8085. for(var $$pai_4=1; $$pai_4 < arguments["length"];++$$pai_4)
  8086. args[$$pai_4 - 1]=arguments[$$pai_4];
  8087. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"body.setAsync");
  8088. var parameters=$h.CommonParameters.parse(args,false);
  8089. if(!String["isInstanceOfType"](data))
  8090. throw Error.argumentType("data",Object["getType"](data),String);
  8091. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(data.length,0,1e6,"data");
  8092. var dataToHost=$h.ComposeBody._createParameterDictionaryToHost$i(data,parameters);
  8093. if(!dataToHost)
  8094. return;
  8095. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(38,dataToHost,null,parameters._asyncContext$p$0,parameters._callback$p$0)
  8096. };
  8097. $h.ComposeItem=function(data)
  8098. {
  8099. this.$$d__getBody$p$1=Function.createDelegate(this,this._getBody$p$1);
  8100. this.$$d__getSubject$p$1=Function.createDelegate(this,this._getSubject$p$1);
  8101. $h.ComposeItem["initializeBase"](this,[data]);
  8102. $h.InitialData._defineReadOnlyProperty$i(this,"subject",this.$$d__getSubject$p$1);
  8103. $h.InitialData._defineReadOnlyProperty$i(this,"body",this.$$d__getBody$p$1)
  8104. };
  8105. $h.ComposeItem.prototype={
  8106. _subject$p$1: null,
  8107. _body$p$1: null,
  8108. _getBody$p$1: function()
  8109. {
  8110. this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
  8111. if(!this._body$p$1)
  8112. this._body$p$1=new $h.ComposeBody;
  8113. return this._body$p$1
  8114. },
  8115. _getSubject$p$1: function()
  8116. {
  8117. this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
  8118. if(!this._subject$p$1)
  8119. this._subject$p$1=new $h.ComposeSubject;
  8120. return this._subject$p$1
  8121. }
  8122. };
  8123. $h.ComposeItem.prototype.addFileAttachmentAsync=function(uri, attachmentName)
  8124. {
  8125. var args=[];
  8126. for(var $$pai_6=2; $$pai_6 < arguments["length"];++$$pai_6)
  8127. args[$$pai_6 - 2]=arguments[$$pai_6];
  8128. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"addFileAttachmentAsync");
  8129. if(!$h.ScriptHelpers.isNonEmptyString(uri))
  8130. throw Error.argument("uri");
  8131. if(!$h.ScriptHelpers.isNonEmptyString(attachmentName))
  8132. throw Error.argument("attachmentName");
  8133. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(uri.length,0,2048,"uri");
  8134. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(attachmentName.length,0,255,"attachmentName");
  8135. var commonParameters=$h.CommonParameters.parse(args,false);
  8136. var isInline=false;
  8137. if(!$h.ScriptHelpers.isNull(commonParameters._options$p$0))
  8138. isInline=$h.ScriptHelpers.isValueTrue(commonParameters._options$p$0["isInline"]);
  8139. var parameters={
  8140. uri: uri,
  8141. name: attachmentName,
  8142. isInline: isInline,
  8143. __timeout__: 6e5
  8144. };
  8145. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(16,parameters,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
  8146. };
  8147. $h.ComposeItem.prototype.addItemAttachmentAsync=function(itemId, attachmentName)
  8148. {
  8149. var args=[];
  8150. for(var $$pai_5=2; $$pai_5 < arguments["length"];++$$pai_5)
  8151. args[$$pai_5 - 2]=arguments[$$pai_5];
  8152. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"addItemAttachmentAsync");
  8153. if(!$h.ScriptHelpers.isNonEmptyString(itemId))
  8154. throw Error.argument("itemId");
  8155. if(!$h.ScriptHelpers.isNonEmptyString(attachmentName))
  8156. throw Error.argument("attachmentName");
  8157. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(itemId.length,0,200,"itemId");
  8158. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(attachmentName.length,0,255,"attachmentName");
  8159. var commonParameters=$h.CommonParameters.parse(args,false);
  8160. var parameters={
  8161. itemId: window["OSF"]["DDA"]["OutlookAppOm"].getItemIdBasedOnHost(itemId),
  8162. name: attachmentName,
  8163. __timeout__: 6e5
  8164. };
  8165. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(19,parameters,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
  8166. };
  8167. $h.ComposeItem.prototype.removeAttachmentAsync=function(attachmentId)
  8168. {
  8169. var args=[];
  8170. for(var $$pai_3=1; $$pai_3 < arguments["length"];++$$pai_3)
  8171. args[$$pai_3 - 1]=arguments[$$pai_3];
  8172. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"removeAttachmentAsync");
  8173. if(!$h.ScriptHelpers.isNonEmptyString(attachmentId))
  8174. throw Error.argument("attachmentId");
  8175. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(attachmentId.length,0,200,"attachmentId");
  8176. var commonParameters=$h.CommonParameters.parse(args,false);
  8177. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(20,{attachmentIndex: attachmentId},null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
  8178. };
  8179. $h.ComposeItem.prototype.getSelectedDataAsync=function(coercionType)
  8180. {
  8181. var args=[];
  8182. for(var $$pai_7=1; $$pai_7 < arguments["length"];++$$pai_7)
  8183. args[$$pai_7 - 1]=arguments[$$pai_7];
  8184. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"getSelectedDataAsync");
  8185. var commonParameters=$h.CommonParameters.parse(args,true);
  8186. var hostCoercionType;
  8187. var $$t_5,
  8188. $$t_6;
  8189. if(coercionType !==window["Microsoft"]["Office"]["WebExtension"]["CoercionType"]["Html"] && coercionType !==window["Microsoft"]["Office"]["WebExtension"]["CoercionType"]["Text"] || !($$t_6=$h.Body._tryMapToHostCoercionType$i(coercionType,$$t_5={val: hostCoercionType}),hostCoercionType=$$t_5["val"],$$t_6))
  8190. throw Error.argument("coercionType");
  8191. var dataToHost={coercionType: hostCoercionType};
  8192. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(28,dataToHost,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
  8193. };
  8194. $h.ComposeItem.prototype.setSelectedDataAsync=function(data)
  8195. {
  8196. var args=[];
  8197. for(var $$pai_4=1; $$pai_4 < arguments["length"];++$$pai_4)
  8198. args[$$pai_4 - 1]=arguments[$$pai_4];
  8199. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"setSelectedDataAsync");
  8200. var parameters=$h.CommonParameters.parse(args,false);
  8201. if(!String["isInstanceOfType"](data))
  8202. throw Error.argumentType("data",Object["getType"](data),String);
  8203. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(data.length,0,1e6,"data");
  8204. var dataToHost=$h.ComposeBody._createParameterDictionaryToHost$i(data,parameters);
  8205. if(!dataToHost)
  8206. return;
  8207. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(29,dataToHost,null,parameters._asyncContext$p$0,parameters._callback$p$0)
  8208. };
  8209. $h.ComposeItem.prototype.close=function()
  8210. {
  8211. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(41,null,null,null,null)
  8212. };
  8213. $h.ComposeItem.prototype.saveAsync=function()
  8214. {
  8215. var args=[];
  8216. for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
  8217. args[$$pai_2]=arguments[$$pai_2];
  8218. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"saveAsync");
  8219. var parameters=$h.CommonParameters.parse(args,false);
  8220. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(32,null,null,parameters._asyncContext$p$0,parameters._callback$p$0)
  8221. };
  8222. $h.ComposeRecipient=function(type, propertyName)
  8223. {
  8224. this._type$p$0=type;
  8225. this._propertyName$p$0=propertyName
  8226. };
  8227. $h.ComposeRecipient._throwOnInvalidDisplayNameOrEmail$p=function(displayName, emailAddress)
  8228. {
  8229. if(!displayName && !emailAddress)
  8230. throw Error.argument("recipients");
  8231. if(displayName && displayName.length > 255)
  8232. throw Error.argumentOutOfRange("recipients",displayName.length,window["_u"]["ExtensibilityStrings"]["l_DisplayNameTooLong_Text"]);
  8233. if(emailAddress && emailAddress.length > 571)
  8234. throw Error.argumentOutOfRange("recipients",emailAddress.length,window["_u"]["ExtensibilityStrings"]["l_EmailAddressTooLong_Text"]);
  8235. };
  8236. $h.ComposeRecipient._getAsyncFormatter$p=function(rawInput)
  8237. {
  8238. var input=rawInput;
  8239. var output=[];
  8240. for(var i=0; i < input["length"]; i++)
  8241. {
  8242. var email=new $h.EmailAddressDetails(input[i]);
  8243. output[i]=email
  8244. }
  8245. return output
  8246. };
  8247. $h.ComposeRecipient._createEmailDictionaryForHost$p=function(address, name)
  8248. {
  8249. return{
  8250. address: address,
  8251. name: name
  8252. }
  8253. };
  8254. $h.ComposeRecipient.prototype={
  8255. _propertyName$p$0: null,
  8256. _type$p$0: 0,
  8257. setAddHelper: function(recipients, args, isSet)
  8258. {
  8259. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(recipients["length"],0,100,"recipients");
  8260. var parameters=$h.CommonParameters.parse(args,false);
  8261. var recipientData=[];
  8262. if(Array["isInstanceOfType"](recipients))
  8263. for(var i=0; i < recipients["length"]; i++)
  8264. if(String["isInstanceOfType"](recipients[i]))
  8265. {
  8266. $h.ComposeRecipient._throwOnInvalidDisplayNameOrEmail$p(recipients[i],recipients[i]);
  8267. recipientData[i]=$h.ComposeRecipient._createEmailDictionaryForHost$p(recipients[i],recipients[i])
  8268. }
  8269. else if($h.EmailAddressDetails["isInstanceOfType"](recipients[i]))
  8270. {
  8271. var address=recipients[i];
  8272. $h.ComposeRecipient._throwOnInvalidDisplayNameOrEmail$p(address["displayName"],address["emailAddress"]);
  8273. recipientData[i]=$h.ComposeRecipient._createEmailDictionaryForHost$p(address["emailAddress"],address["displayName"])
  8274. }
  8275. else if(Object["isInstanceOfType"](recipients[i]))
  8276. {
  8277. var input=recipients[i];
  8278. var emailAddress=input["emailAddress"];
  8279. var displayName=input["displayName"];
  8280. $h.ComposeRecipient._throwOnInvalidDisplayNameOrEmail$p(displayName,emailAddress);
  8281. recipientData[i]=$h.ComposeRecipient._createEmailDictionaryForHost$p(emailAddress,displayName)
  8282. }
  8283. else
  8284. throw Error.argument("recipients");
  8285. else
  8286. throw Error.argument("recipients");
  8287. var $$t_B=this;
  8288. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(isSet ? 21 : 22,{
  8289. recipientField: this._type$p$0,
  8290. recipientArray: recipientData
  8291. },function(rawInput)
  8292. {
  8293. return rawInput
  8294. },parameters._asyncContext$p$0,parameters._callback$p$0)
  8295. }
  8296. };
  8297. $h.ComposeRecipient.prototype.getAsync=function()
  8298. {
  8299. var args=[];
  8300. for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
  8301. args[$$pai_2]=arguments[$$pai_2];
  8302. var parameters=$h.CommonParameters.parse(args,true);
  8303. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,this._propertyName$p$0+".getAsync");
  8304. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(15,{recipientField: this._type$p$0},$h.ComposeRecipient._getAsyncFormatter$p,parameters._asyncContext$p$0,parameters._callback$p$0)
  8305. };
  8306. $h.ComposeRecipient.prototype.setAsync=function(recipients)
  8307. {
  8308. var args=[];
  8309. for(var $$pai_2=1; $$pai_2 < arguments["length"];++$$pai_2)
  8310. args[$$pai_2 - 1]=arguments[$$pai_2];
  8311. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,this._propertyName$p$0+".setAsync");
  8312. this.setAddHelper(recipients,args,true)
  8313. };
  8314. $h.ComposeRecipient.prototype.addAsync=function(recipients)
  8315. {
  8316. var args=[];
  8317. for(var $$pai_2=1; $$pai_2 < arguments["length"];++$$pai_2)
  8318. args[$$pai_2 - 1]=arguments[$$pai_2];
  8319. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,this._propertyName$p$0+".addAsync");
  8320. this.setAddHelper(recipients,args,false)
  8321. };
  8322. $h.ComposeRecipient.RecipientField=function(){};
  8323. $h.ComposeRecipient.RecipientField.prototype={
  8324. to: 0,
  8325. cc: 1,
  8326. bcc: 2,
  8327. requiredAttendees: 0,
  8328. optionalAttendees: 1
  8329. };
  8330. $h.ComposeRecipient.RecipientField["registerEnum"]("$h.0",false);
  8331. $h.ComposeLocation=function(){};
  8332. $h.ComposeLocation.prototype.getAsync=function()
  8333. {
  8334. var args=[];
  8335. for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
  8336. args[$$pai_2]=arguments[$$pai_2];
  8337. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"location.getAsync");
  8338. var parameters=$h.CommonParameters.parse(args,true);
  8339. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(26,null,null,parameters._asyncContext$p$0,parameters._callback$p$0)
  8340. };
  8341. $h.ComposeLocation.prototype.setAsync=function(location)
  8342. {
  8343. var args=[];
  8344. for(var $$pai_3=1; $$pai_3 < arguments["length"];++$$pai_3)
  8345. args[$$pai_3 - 1]=arguments[$$pai_3];
  8346. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"location.setAsync");
  8347. var parameters=$h.CommonParameters.parse(args,false);
  8348. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(location.length,0,255,"location");
  8349. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(27,{location: location},null,parameters._asyncContext$p$0,parameters._callback$p$0)
  8350. };
  8351. $h.ComposeSubject=function(){};
  8352. $h.ComposeSubject.prototype.getAsync=function()
  8353. {
  8354. var args=[];
  8355. for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
  8356. args[$$pai_2]=arguments[$$pai_2];
  8357. var parameters=$h.CommonParameters.parse(args,true);
  8358. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"subject.getAsync");
  8359. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(18,null,null,parameters._asyncContext$p$0,parameters._callback$p$0)
  8360. };
  8361. $h.ComposeSubject.prototype.setAsync=function(data)
  8362. {
  8363. var args=[];
  8364. for(var $$pai_3=1; $$pai_3 < arguments["length"];++$$pai_3)
  8365. args[$$pai_3 - 1]=arguments[$$pai_3];
  8366. var parameters=$h.CommonParameters.parse(args,false);
  8367. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"subject.setAsync");
  8368. if(!String["isInstanceOfType"](data))
  8369. throw Error.argument("data");
  8370. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(data.length,0,255,"data");
  8371. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(17,{subject: data},null,parameters._asyncContext$p$0,parameters._callback$p$0)
  8372. };
  8373. $h.ComposeTime=function(type)
  8374. {
  8375. this.$$d__ticksToDateFormatter$p$0=Function.createDelegate(this,this._ticksToDateFormatter$p$0);
  8376. this._timeType$p$0=type
  8377. };
  8378. $h.ComposeTime.prototype={
  8379. _timeType$p$0: 0,
  8380. _ticksToDateFormatter$p$0: function(rawInput)
  8381. {
  8382. var ticks=rawInput;
  8383. return new Date(ticks)
  8384. },
  8385. _getPropertyName$p$0: function()
  8386. {
  8387. return this._timeType$p$0===1 ? "start" : "end"
  8388. }
  8389. };
  8390. $h.ComposeTime.prototype.getAsync=function()
  8391. {
  8392. var args=[];
  8393. for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
  8394. args[$$pai_2]=arguments[$$pai_2];
  8395. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,this._getPropertyName$p$0()+".getAsync");
  8396. var parameters=$h.CommonParameters.parse(args,true);
  8397. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(24,{TimeProperty: this._timeType$p$0},this.$$d__ticksToDateFormatter$p$0,parameters._asyncContext$p$0,parameters._callback$p$0)
  8398. };
  8399. $h.ComposeTime.prototype.setAsync=function(dateTime)
  8400. {
  8401. var args=[];
  8402. for(var $$pai_3=1; $$pai_3 < arguments["length"];++$$pai_3)
  8403. args[$$pai_3 - 1]=arguments[$$pai_3];
  8404. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,this._getPropertyName$p$0()+".setAsync");
  8405. if(!Date["isInstanceOfType"](dateTime))
  8406. throw Error.argumentType("dateTime",Object["getType"](dateTime),Date);
  8407. if(window["isNaN"](dateTime["getTime"]()))
  8408. throw Error.argument("dateTime");
  8409. if(dateTime["getTime"]() < -864e13 || dateTime["getTime"]() > 864e13)
  8410. throw Error.argumentOutOfRange("dateTime");
  8411. var parameters=$h.CommonParameters.parse(args,false);
  8412. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(25,{
  8413. TimeProperty: this._timeType$p$0,
  8414. time: dateTime["getTime"]()
  8415. },null,parameters._asyncContext$p$0,parameters._callback$p$0)
  8416. };
  8417. $h.ComposeTime.TimeType=function(){};
  8418. $h.ComposeTime.TimeType.prototype={
  8419. start: 1,
  8420. end: 2
  8421. };
  8422. $h.ComposeTime.TimeType["registerEnum"]("$h.1",false);
  8423. $h.Contact=function(data)
  8424. {
  8425. this.$$d__getContactString$p$0=Function.createDelegate(this,this._getContactString$p$0);
  8426. this.$$d__getAddresses$p$0=Function.createDelegate(this,this._getAddresses$p$0);
  8427. this.$$d__getUrls$p$0=Function.createDelegate(this,this._getUrls$p$0);
  8428. this.$$d__getEmailAddresses$p$0=Function.createDelegate(this,this._getEmailAddresses$p$0);
  8429. this.$$d__getPhoneNumbers$p$0=Function.createDelegate(this,this._getPhoneNumbers$p$0);
  8430. this.$$d__getBusinessName$p$0=Function.createDelegate(this,this._getBusinessName$p$0);
  8431. this.$$d__getPersonName$p$0=Function.createDelegate(this,this._getPersonName$p$0);
  8432. this._data$p$0=data;
  8433. $h.InitialData._defineReadOnlyProperty$i(this,"personName",this.$$d__getPersonName$p$0);
  8434. $h.InitialData._defineReadOnlyProperty$i(this,"businessName",this.$$d__getBusinessName$p$0);
  8435. $h.InitialData._defineReadOnlyProperty$i(this,"phoneNumbers",this.$$d__getPhoneNumbers$p$0);
  8436. $h.InitialData._defineReadOnlyProperty$i(this,"emailAddresses",this.$$d__getEmailAddresses$p$0);
  8437. $h.InitialData._defineReadOnlyProperty$i(this,"urls",this.$$d__getUrls$p$0);
  8438. $h.InitialData._defineReadOnlyProperty$i(this,"addresses",this.$$d__getAddresses$p$0);
  8439. $h.InitialData._defineReadOnlyProperty$i(this,"contactString",this.$$d__getContactString$p$0)
  8440. };
  8441. $h.Contact.prototype={
  8442. _data$p$0: null,
  8443. _phoneNumbers$p$0: null,
  8444. _getPersonName$p$0: function()
  8445. {
  8446. return this._data$p$0["PersonName"]
  8447. },
  8448. _getBusinessName$p$0: function()
  8449. {
  8450. return this._data$p$0["BusinessName"]
  8451. },
  8452. _getAddresses$p$0: function()
  8453. {
  8454. return $h.Entities._getExtractedStringProperty$i(this._data$p$0,"Addresses")
  8455. },
  8456. _getEmailAddresses$p$0: function()
  8457. {
  8458. return $h.Entities._getExtractedStringProperty$i(this._data$p$0,"EmailAddresses")
  8459. },
  8460. _getUrls$p$0: function()
  8461. {
  8462. return $h.Entities._getExtractedStringProperty$i(this._data$p$0,"Urls")
  8463. },
  8464. _getPhoneNumbers$p$0: function()
  8465. {
  8466. if(!this._phoneNumbers$p$0)
  8467. {
  8468. var $$t_1=this;
  8469. this._phoneNumbers$p$0=$h.Entities._getExtractedObjects$i($h.PhoneNumber,this._data$p$0,"PhoneNumbers",function(data)
  8470. {
  8471. return new $h.PhoneNumber(data)
  8472. })
  8473. }
  8474. return this._phoneNumbers$p$0
  8475. },
  8476. _getContactString$p$0: function()
  8477. {
  8478. return this._data$p$0["ContactString"]
  8479. }
  8480. };
  8481. $h.CustomProperties=function(data)
  8482. {
  8483. if($h.ScriptHelpers.isNullOrUndefined(data))
  8484. throw Error.argumentNull("data");
  8485. if(Array["isInstanceOfType"](data))
  8486. {
  8487. var customPropertiesArray=data;
  8488. if(customPropertiesArray["length"] > 0)
  8489. this._data$p$0=customPropertiesArray[0];
  8490. else
  8491. throw Error.argument("data");
  8492. }
  8493. else
  8494. this._data$p$0=data
  8495. };
  8496. $h.CustomProperties.prototype={_data$p$0: null};
  8497. $h.CustomProperties.prototype.get=function(name)
  8498. {
  8499. var value=this._data$p$0[name];
  8500. if(typeof value==="string")
  8501. {
  8502. var valueString=value;
  8503. if(valueString.length > 6 && valueString.startsWith("Date(") && valueString.endsWith(")"))
  8504. {
  8505. var ticksString=valueString.substring(5,valueString.length - 1);
  8506. var ticks=window["parseInt"](ticksString);
  8507. if(!window["isNaN"](ticks))
  8508. {
  8509. var dateTimeValue=new Date(ticks);
  8510. if(dateTimeValue)
  8511. value=dateTimeValue
  8512. }
  8513. }
  8514. }
  8515. return value
  8516. };
  8517. $h.CustomProperties.prototype.set=function(name, value)
  8518. {
  8519. if(window["OSF"]["OUtil"]["isDate"](value))
  8520. value="Date("+value["getTime"]()+")";
  8521. this._data$p$0[name]=value
  8522. };
  8523. $h.CustomProperties.prototype.remove=function(name)
  8524. {
  8525. delete this._data$p$0[name]
  8526. };
  8527. $h.CustomProperties.prototype.saveAsync=function()
  8528. {
  8529. var args=[];
  8530. for(var $$pai_4=0; $$pai_4 < arguments["length"];++$$pai_4)
  8531. args[$$pai_4]=arguments[$$pai_4];
  8532. var MaxCustomPropertiesLength=2500;
  8533. if(window["JSON"]["stringify"](this._data$p$0).length > MaxCustomPropertiesLength)
  8534. throw Error.argument();
  8535. var parameters=$h.CommonParameters.parse(args,false,true);
  8536. var saveCustomProperties=new $h.SaveDictionaryRequest(parameters._callback$p$0,parameters._asyncContext$p$0);
  8537. saveCustomProperties._sendRequest$i$0(4,"SaveCustomProperties",{customProperties: this._data$p$0})
  8538. };
  8539. $h.Diagnostics=function(data, appName)
  8540. {
  8541. this.$$d__getOwaView$p$0=Function.createDelegate(this,this._getOwaView$p$0);
  8542. this.$$d__getHostVersion$p$0=Function.createDelegate(this,this._getHostVersion$p$0);
  8543. this.$$d__getHostName$p$0=Function.createDelegate(this,this._getHostName$p$0);
  8544. this._data$p$0=data;
  8545. this._appName$p$0=appName;
  8546. $h.InitialData._defineReadOnlyProperty$i(this,"hostName",this.$$d__getHostName$p$0);
  8547. $h.InitialData._defineReadOnlyProperty$i(this,"hostVersion",this.$$d__getHostVersion$p$0);
  8548. if(64===this._appName$p$0)
  8549. $h.InitialData._defineReadOnlyProperty$i(this,"OWAView",this.$$d__getOwaView$p$0)
  8550. };
  8551. $h.Diagnostics.prototype={
  8552. _data$p$0: null,
  8553. _appName$p$0: 0,
  8554. _getHostName$p$0: function()
  8555. {
  8556. switch(this._appName$p$0)
  8557. {
  8558. case 8:
  8559. return"Outlook";
  8560. case 64:
  8561. return"OutlookWebApp";
  8562. case 65536:
  8563. return"OutlookIOS";
  8564. case 4194304:
  8565. return"OutlookAndroid";
  8566. default:
  8567. return null
  8568. }
  8569. },
  8570. _getHostVersion$p$0: function()
  8571. {
  8572. return this._data$p$0.get__hostVersion$i$0()
  8573. },
  8574. _getOwaView$p$0: function()
  8575. {
  8576. return this._data$p$0.get__owaView$i$0()
  8577. }
  8578. };
  8579. $h.EmailAddressDetails=function(data)
  8580. {
  8581. this.$$d__getRecipientType$p$0=Function.createDelegate(this,this._getRecipientType$p$0);
  8582. this.$$d__getAppointmentResponse$p$0=Function.createDelegate(this,this._getAppointmentResponse$p$0);
  8583. this.$$d__getDisplayName$p$0=Function.createDelegate(this,this._getDisplayName$p$0);
  8584. this.$$d__getEmailAddress$p$0=Function.createDelegate(this,this._getEmailAddress$p$0);
  8585. this._data$p$0=data;
  8586. $h.InitialData._defineReadOnlyProperty$i(this,"emailAddress",this.$$d__getEmailAddress$p$0);
  8587. $h.InitialData._defineReadOnlyProperty$i(this,"displayName",this.$$d__getDisplayName$p$0);
  8588. if($h.ScriptHelpers.dictionaryContainsKey(data,"appointmentResponse"))
  8589. $h.InitialData._defineReadOnlyProperty$i(this,"appointmentResponse",this.$$d__getAppointmentResponse$p$0);
  8590. if($h.ScriptHelpers.dictionaryContainsKey(data,"recipientType"))
  8591. $h.InitialData._defineReadOnlyProperty$i(this,"recipientType",this.$$d__getRecipientType$p$0)
  8592. };
  8593. $h.EmailAddressDetails._createFromEmailUserDictionary$i=function(data)
  8594. {
  8595. var emailAddressDetailsDictionary={};
  8596. var displayName=data["Name"];
  8597. var emailAddress=data["UserId"];
  8598. emailAddressDetailsDictionary["name"]=displayName || $h.EmailAddressDetails._emptyString$p;
  8599. emailAddressDetailsDictionary["address"]=emailAddress || $h.EmailAddressDetails._emptyString$p;
  8600. return new $h.EmailAddressDetails(emailAddressDetailsDictionary)
  8601. };
  8602. $h.EmailAddressDetails.prototype={
  8603. _data$p$0: null,
  8604. _getEmailAddress$p$0: function()
  8605. {
  8606. return this._data$p$0["address"]
  8607. },
  8608. _getDisplayName$p$0: function()
  8609. {
  8610. return this._data$p$0["name"]
  8611. },
  8612. _getAppointmentResponse$p$0: function()
  8613. {
  8614. var response=this._data$p$0["appointmentResponse"];
  8615. return response < $h.EmailAddressDetails._responseTypeMap$p["length"] ? $h.EmailAddressDetails._responseTypeMap$p[response] : window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ResponseType"]["None"]
  8616. },
  8617. _getRecipientType$p$0: function()
  8618. {
  8619. var response=this._data$p$0["recipientType"];
  8620. return response < $h.EmailAddressDetails._recipientTypeMap$p["length"] ? $h.EmailAddressDetails._recipientTypeMap$p[response] : window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RecipientType"]["Other"]
  8621. }
  8622. };
  8623. $h.EmailAddressDetails.prototype.toJSON=function()
  8624. {
  8625. var result={};
  8626. result["emailAddress"]=this._getEmailAddress$p$0();
  8627. result["displayName"]=this._getDisplayName$p$0();
  8628. if($h.ScriptHelpers.dictionaryContainsKey(this._data$p$0,"appointmentResponse"))
  8629. result["appointmentResponse"]=this._getAppointmentResponse$p$0();
  8630. if($h.ScriptHelpers.dictionaryContainsKey(this._data$p$0,"recipientType"))
  8631. result["recipientType"]=this._getRecipientType$p$0();
  8632. return result
  8633. };
  8634. $h.Entities=function(data, filteredEntitiesData, timeSent, permissionLevel)
  8635. {
  8636. this.$$d__createMeetingSuggestion$p$0=Function.createDelegate(this,this._createMeetingSuggestion$p$0);
  8637. this.$$d__getParcelDeliveries$p$0=Function.createDelegate(this,this._getParcelDeliveries$p$0);
  8638. this.$$d__getFlightReservations$p$0=Function.createDelegate(this,this._getFlightReservations$p$0);
  8639. this.$$d__getContacts$p$0=Function.createDelegate(this,this._getContacts$p$0);
  8640. this.$$d__getPhoneNumbers$p$0=Function.createDelegate(this,this._getPhoneNumbers$p$0);
  8641. this.$$d__getUrls$p$0=Function.createDelegate(this,this._getUrls$p$0);
  8642. this.$$d__getEmailAddresses$p$0=Function.createDelegate(this,this._getEmailAddresses$p$0);
  8643. this.$$d__getMeetingSuggestions$p$0=Function.createDelegate(this,this._getMeetingSuggestions$p$0);
  8644. this.$$d__getTaskSuggestions$p$0=Function.createDelegate(this,this._getTaskSuggestions$p$0);
  8645. this.$$d__getAddresses$p$0=Function.createDelegate(this,this._getAddresses$p$0);
  8646. this._data$p$0=data || {};
  8647. this._filteredData$p$0=filteredEntitiesData || {};
  8648. this._dateTimeSent$p$0=timeSent;
  8649. $h.InitialData._defineReadOnlyProperty$i(this,"addresses",this.$$d__getAddresses$p$0);
  8650. $h.InitialData._defineReadOnlyProperty$i(this,"taskSuggestions",this.$$d__getTaskSuggestions$p$0);
  8651. $h.InitialData._defineReadOnlyProperty$i(this,"meetingSuggestions",this.$$d__getMeetingSuggestions$p$0);
  8652. $h.InitialData._defineReadOnlyProperty$i(this,"emailAddresses",this.$$d__getEmailAddresses$p$0);
  8653. $h.InitialData._defineReadOnlyProperty$i(this,"urls",this.$$d__getUrls$p$0);
  8654. $h.InitialData._defineReadOnlyProperty$i(this,"phoneNumbers",this.$$d__getPhoneNumbers$p$0);
  8655. $h.InitialData._defineReadOnlyProperty$i(this,"contacts",this.$$d__getContacts$p$0);
  8656. $h.InitialData._defineReadOnlyProperty$i(this,"flightReservations",this.$$d__getFlightReservations$p$0);
  8657. $h.InitialData._defineReadOnlyProperty$i(this,"parcelDeliveries",this.$$d__getParcelDeliveries$p$0);
  8658. this._permissionLevel$p$0=permissionLevel
  8659. };
  8660. $h.Entities._getExtractedObjects$i=function(T, data, name, creator, removeDuplicates, stringPropertyName)
  8661. {
  8662. var results=null;
  8663. var extractedObjects=data[name];
  8664. if(!extractedObjects)
  8665. return new Array(0);
  8666. if(removeDuplicates)
  8667. extractedObjects=$h.Entities._removeDuplicate$p(Object,extractedObjects,$h.Entities._entityDictionaryEquals$p,stringPropertyName);
  8668. results=new Array(extractedObjects["length"]);
  8669. var count=0;
  8670. for(var $$arr_9=extractedObjects, $$len_A=$$arr_9.length, $$idx_B=0; $$idx_B < $$len_A;++$$idx_B)
  8671. {
  8672. var extractedObject=$$arr_9[$$idx_B];
  8673. if(creator)
  8674. results[count++]=creator(extractedObject);
  8675. else
  8676. results[count++]=extractedObject
  8677. }
  8678. return results
  8679. };
  8680. $h.Entities._getExtractedStringProperty$i=function(data, name, removeDuplicate)
  8681. {
  8682. var extractedProperties=data[name];
  8683. if(!extractedProperties)
  8684. return new Array(0);
  8685. if(removeDuplicate)
  8686. extractedProperties=$h.Entities._removeDuplicate$p(String,extractedProperties,$h.Entities._stringEquals$p,null);
  8687. return extractedProperties
  8688. };
  8689. $h.Entities._createContact$p=function(data)
  8690. {
  8691. return new $h.Contact(data)
  8692. };
  8693. $h.Entities._createTaskSuggestion$p=function(data)
  8694. {
  8695. return new $h.TaskSuggestion(data)
  8696. };
  8697. $h.Entities._createPhoneNumber$p=function(data)
  8698. {
  8699. return new $h.PhoneNumber(data)
  8700. };
  8701. $h.Entities._entityDictionaryEquals$p=function(dictionary1, dictionary2, entityPropertyIdentifier)
  8702. {
  8703. if(dictionary1===dictionary2)
  8704. return true;
  8705. if(!dictionary1 || !dictionary2)
  8706. return false;
  8707. if(dictionary1[entityPropertyIdentifier]===dictionary2[entityPropertyIdentifier])
  8708. return true;
  8709. return false
  8710. };
  8711. $h.Entities._stringEquals$p=function(string1, string2, entityProperty)
  8712. {
  8713. return string1===string2
  8714. };
  8715. $h.Entities._removeDuplicate$p=function(T, array, entityEquals, entityPropertyIdentifier)
  8716. {
  8717. for(var matchIndex1=array["length"] - 1; matchIndex1 >=0; matchIndex1--)
  8718. {
  8719. var removeMatch=false;
  8720. for(var matchIndex2=matchIndex1 - 1; matchIndex2 >=0; matchIndex2--)
  8721. if(entityEquals(array[matchIndex1],array[matchIndex2],entityPropertyIdentifier))
  8722. {
  8723. removeMatch=true;
  8724. break
  8725. }
  8726. if(removeMatch)
  8727. Array.removeAt(array,matchIndex1)
  8728. }
  8729. return array
  8730. };
  8731. $h.Entities.prototype={
  8732. _dateTimeSent$p$0: null,
  8733. _data$p$0: null,
  8734. _filteredData$p$0: null,
  8735. _filteredEntitiesCache$p$0: null,
  8736. _permissionLevel$p$0: 0,
  8737. _taskSuggestions$p$0: null,
  8738. _meetingSuggestions$p$0: null,
  8739. _phoneNumbers$p$0: null,
  8740. _contacts$p$0: null,
  8741. _addresses$p$0: null,
  8742. _emailAddresses$p$0: null,
  8743. _urls$p$0: null,
  8744. _flightReservations$p$0: null,
  8745. _parcelDeliveries$p$0: null,
  8746. _getByType$i$0: function(entityType)
  8747. {
  8748. if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["MeetingSuggestion"])
  8749. return this._getMeetingSuggestions$p$0();
  8750. else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["TaskSuggestion"])
  8751. return this._getTaskSuggestions$p$0();
  8752. else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["Address"])
  8753. return this._getAddresses$p$0();
  8754. else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["PhoneNumber"])
  8755. return this._getPhoneNumbers$p$0();
  8756. else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["EmailAddress"])
  8757. return this._getEmailAddresses$p$0();
  8758. else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["Url"])
  8759. return this._getUrls$p$0();
  8760. else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["Contact"])
  8761. return this._getContacts$p$0();
  8762. else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["FlightReservations"])
  8763. return this._getFlightReservations$p$0();
  8764. else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["ParcelDeliveries"])
  8765. return this._getParcelDeliveries$p$0();
  8766. return null
  8767. },
  8768. _getFilteredEntitiesByName$i$0: function(name)
  8769. {
  8770. if(!this._filteredEntitiesCache$p$0)
  8771. this._filteredEntitiesCache$p$0={};
  8772. if(!$h.ScriptHelpers.dictionaryContainsKey(this._filteredEntitiesCache$p$0,name))
  8773. {
  8774. var found=false;
  8775. for(var i=0; i < $h.Entities._allEntityKeys$p["length"]; i++)
  8776. {
  8777. var entityTypeKey=$h.Entities._allEntityKeys$p[i];
  8778. var perEntityTypeDictionary=this._filteredData$p$0[entityTypeKey];
  8779. if(!perEntityTypeDictionary)
  8780. continue;
  8781. if($h.ScriptHelpers.dictionaryContainsKey(perEntityTypeDictionary,name))
  8782. {
  8783. switch(entityTypeKey)
  8784. {
  8785. case"EmailAddresses":
  8786. case"Urls":
  8787. this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedStringProperty$i(perEntityTypeDictionary,name);
  8788. break;
  8789. case"Addresses":
  8790. this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedStringProperty$i(perEntityTypeDictionary,name,true);
  8791. break;
  8792. case"PhoneNumbers":
  8793. this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedObjects$i($h.PhoneNumber,perEntityTypeDictionary,name,$h.Entities._createPhoneNumber$p,false,null);
  8794. break;
  8795. case"TaskSuggestions":
  8796. this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedObjects$i($h.TaskSuggestion,perEntityTypeDictionary,name,$h.Entities._createTaskSuggestion$p,true,"TaskString");
  8797. break;
  8798. case"MeetingSuggestions":
  8799. this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedObjects$i($h.MeetingSuggestion,perEntityTypeDictionary,name,this.$$d__createMeetingSuggestion$p$0,true,"MeetingString");
  8800. break;
  8801. case"Contacts":
  8802. this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedObjects$i($h.Contact,perEntityTypeDictionary,name,$h.Entities._createContact$p,true,"ContactString");
  8803. break
  8804. }
  8805. found=true;
  8806. break
  8807. }
  8808. }
  8809. if(!found)
  8810. this._filteredEntitiesCache$p$0[name]=null
  8811. }
  8812. return this._filteredEntitiesCache$p$0[name]
  8813. },
  8814. _createMeetingSuggestion$p$0: function(data)
  8815. {
  8816. return new $h.MeetingSuggestion(data,this._dateTimeSent$p$0)
  8817. },
  8818. _getAddresses$p$0: function()
  8819. {
  8820. if(!this._addresses$p$0)
  8821. this._addresses$p$0=$h.Entities._getExtractedStringProperty$i(this._data$p$0,"Addresses",true);
  8822. return this._addresses$p$0
  8823. },
  8824. _getEmailAddresses$p$0: function()
  8825. {
  8826. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
  8827. if(!this._emailAddresses$p$0)
  8828. this._emailAddresses$p$0=$h.Entities._getExtractedStringProperty$i(this._data$p$0,"EmailAddresses",false);
  8829. return this._emailAddresses$p$0
  8830. },
  8831. _getUrls$p$0: function()
  8832. {
  8833. if(!this._urls$p$0)
  8834. this._urls$p$0=$h.Entities._getExtractedStringProperty$i(this._data$p$0,"Urls",false);
  8835. return this._urls$p$0
  8836. },
  8837. _getPhoneNumbers$p$0: function()
  8838. {
  8839. if(!this._phoneNumbers$p$0)
  8840. this._phoneNumbers$p$0=$h.Entities._getExtractedObjects$i($h.PhoneNumber,this._data$p$0,"PhoneNumbers",$h.Entities._createPhoneNumber$p);
  8841. return this._phoneNumbers$p$0
  8842. },
  8843. _getTaskSuggestions$p$0: function()
  8844. {
  8845. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
  8846. if(!this._taskSuggestions$p$0)
  8847. this._taskSuggestions$p$0=$h.Entities._getExtractedObjects$i($h.TaskSuggestion,this._data$p$0,"TaskSuggestions",$h.Entities._createTaskSuggestion$p,true,"TaskString");
  8848. return this._taskSuggestions$p$0
  8849. },
  8850. _getMeetingSuggestions$p$0: function()
  8851. {
  8852. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
  8853. if(!this._meetingSuggestions$p$0)
  8854. this._meetingSuggestions$p$0=$h.Entities._getExtractedObjects$i($h.MeetingSuggestion,this._data$p$0,"MeetingSuggestions",this.$$d__createMeetingSuggestion$p$0,true,"MeetingString");
  8855. return this._meetingSuggestions$p$0
  8856. },
  8857. _getContacts$p$0: function()
  8858. {
  8859. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
  8860. if(!this._contacts$p$0)
  8861. this._contacts$p$0=$h.Entities._getExtractedObjects$i($h.Contact,this._data$p$0,"Contacts",$h.Entities._createContact$p,true,"ContactString");
  8862. return this._contacts$p$0
  8863. },
  8864. _getParcelDeliveries$p$0: function()
  8865. {
  8866. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
  8867. if(!this._parcelDeliveries$p$0)
  8868. this._parcelDeliveries$p$0=$h.Entities._getExtractedObjects$i(Object,this._data$p$0,"ParcelDeliveries",null);
  8869. return this._parcelDeliveries$p$0
  8870. },
  8871. _getFlightReservations$p$0: function()
  8872. {
  8873. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
  8874. if(!this._flightReservations$p$0)
  8875. this._flightReservations$p$0=$h.Entities._getExtractedObjects$i(Object,this._data$p$0,"FlightReservations",null);
  8876. return this._flightReservations$p$0
  8877. }
  8878. };
  8879. $h.ReplyConstants=function(){};
  8880. $h.AsyncConstants=function(){};
  8881. window["Office"]["cast"]["item"]=Office.cast.item=function(){};
  8882. window["Office"]["cast"]["item"]["toItemRead"]=function(item)
  8883. {
  8884. if($h.Item["isInstanceOfType"](item))
  8885. return item;
  8886. throw Error.argumentType();
  8887. };
  8888. window["Office"]["cast"]["item"]["toItemCompose"]=function(item)
  8889. {
  8890. if($h.ComposeItem["isInstanceOfType"](item))
  8891. return item;
  8892. throw Error.argumentType();
  8893. };
  8894. window["Office"]["cast"]["item"]["toMessage"]=function(item)
  8895. {
  8896. return window["Office"]["cast"]["item"]["toMessageRead"](item)
  8897. };
  8898. window["Office"]["cast"]["item"]["toMessageRead"]=function(item)
  8899. {
  8900. if($h.Message["isInstanceOfType"](item))
  8901. return item;
  8902. throw Error.argumentType();
  8903. };
  8904. window["Office"]["cast"]["item"]["toMessageCompose"]=function(item)
  8905. {
  8906. if($h.MessageCompose["isInstanceOfType"](item))
  8907. return item;
  8908. throw Error.argumentType();
  8909. };
  8910. window["Office"]["cast"]["item"]["toMeetingRequest"]=function(item)
  8911. {
  8912. if($h.MeetingRequest["isInstanceOfType"](item))
  8913. return item;
  8914. throw Error.argumentType();
  8915. };
  8916. window["Office"]["cast"]["item"]["toAppointment"]=function(item)
  8917. {
  8918. return window["Office"]["cast"]["item"]["toAppointmentRead"](item)
  8919. };
  8920. window["Office"]["cast"]["item"]["toAppointmentRead"]=function(item)
  8921. {
  8922. if($h.Appointment["isInstanceOfType"](item))
  8923. return item;
  8924. throw Error.argumentType();
  8925. };
  8926. window["Office"]["cast"]["item"]["toAppointmentCompose"]=function(item)
  8927. {
  8928. if($h.AppointmentCompose["isInstanceOfType"](item))
  8929. return item;
  8930. throw Error.argumentType();
  8931. };
  8932. $h.Item=function(data)
  8933. {
  8934. this.$$d__getBody$p$1=Function.createDelegate(this,this._getBody$p$1);
  8935. this.$$d__getAttachments$p$1=Function.createDelegate(this,this._getAttachments$p$1);
  8936. this.$$d__getItemClass$p$1=Function.createDelegate(this,this._getItemClass$p$1);
  8937. this.$$d__getItemId$p$1=Function.createDelegate(this,this._getItemId$p$1);
  8938. this.$$d__getDateTimeModified$p$1=Function.createDelegate(this,this._getDateTimeModified$p$1);
  8939. this.$$d__getDateTimeCreated$p$1=Function.createDelegate(this,this._getDateTimeCreated$p$1);
  8940. $h.Item["initializeBase"](this,[data]);
  8941. $h.InitialData._defineReadOnlyProperty$i(this,"dateTimeCreated",this.$$d__getDateTimeCreated$p$1);
  8942. $h.InitialData._defineReadOnlyProperty$i(this,"dateTimeModified",this.$$d__getDateTimeModified$p$1);
  8943. $h.InitialData._defineReadOnlyProperty$i(this,"itemId",this.$$d__getItemId$p$1);
  8944. $h.InitialData._defineReadOnlyProperty$i(this,"itemClass",this.$$d__getItemClass$p$1);
  8945. $h.InitialData._defineReadOnlyProperty$i(this,"attachments",this.$$d__getAttachments$p$1);
  8946. $h.InitialData._defineReadOnlyProperty$i(this,"body",this.$$d__getBody$p$1)
  8947. };
  8948. $h.Item.prototype={
  8949. _body$p$1: null,
  8950. _getItemId$p$1: function()
  8951. {
  8952. return this._data$p$0.get__itemId$i$0()
  8953. },
  8954. _getItemClass$p$1: function()
  8955. {
  8956. return this._data$p$0.get__itemClass$i$0()
  8957. },
  8958. _getDateTimeCreated$p$1: function()
  8959. {
  8960. return this._data$p$0.get__dateTimeCreated$i$0()
  8961. },
  8962. _getDateTimeModified$p$1: function()
  8963. {
  8964. return this._data$p$0.get__dateTimeModified$i$0()
  8965. },
  8966. _getAttachments$p$1: function()
  8967. {
  8968. return this._data$p$0.get__attachments$i$0()
  8969. },
  8970. _getBody$p$1: function()
  8971. {
  8972. if(!this._body$p$1)
  8973. this._body$p$1=new $h.Body;
  8974. return this._body$p$1
  8975. }
  8976. };
  8977. $h.ItemBase=function(data)
  8978. {
  8979. this.$$d__createCustomProperties$i$0=Function.createDelegate(this,this._createCustomProperties$i$0);
  8980. this.$$d__getNotificationMessages$p$0=Function.createDelegate(this,this._getNotificationMessages$p$0);
  8981. this.$$d_getItemType=Function.createDelegate(this,this.getItemType);
  8982. this._data$p$0=data;
  8983. $h.InitialData._defineReadOnlyProperty$i(this,"itemType",this.$$d_getItemType);
  8984. $h.InitialData._defineReadOnlyProperty$i(this,"notificationMessages",this.$$d__getNotificationMessages$p$0)
  8985. };
  8986. $h.ItemBase.prototype={
  8987. _data$p$0: null,
  8988. _notificationMessages$p$0: null,
  8989. get_data: function()
  8990. {
  8991. return this._data$p$0
  8992. },
  8993. _createCustomProperties$i$0: function(data)
  8994. {
  8995. return new $h.CustomProperties(data)
  8996. },
  8997. _getNotificationMessages$p$0: function()
  8998. {
  8999. if(!this._notificationMessages$p$0)
  9000. this._notificationMessages$p$0=new $h.NotificationMessages;
  9001. return this._notificationMessages$p$0
  9002. }
  9003. };
  9004. $h.ItemBase.prototype.loadCustomPropertiesAsync=function()
  9005. {
  9006. var args=[];
  9007. for(var $$pai_3=0; $$pai_3 < arguments["length"];++$$pai_3)
  9008. args[$$pai_3]=arguments[$$pai_3];
  9009. var parameters=$h.CommonParameters.parse(args,true,true);
  9010. var loadCustomProperties=new $h._loadDictionaryRequest(this.$$d__createCustomProperties$i$0,"customProperties",parameters._callback$p$0,parameters._asyncContext$p$0);
  9011. loadCustomProperties._sendRequest$i$0(3,"LoadCustomProperties",{})
  9012. };
  9013. $h.MeetingRequest=function(data)
  9014. {
  9015. this.$$d__getRequiredAttendees$p$3=Function.createDelegate(this,this._getRequiredAttendees$p$3);
  9016. this.$$d__getOptionalAttendees$p$3=Function.createDelegate(this,this._getOptionalAttendees$p$3);
  9017. this.$$d__getLocation$p$3=Function.createDelegate(this,this._getLocation$p$3);
  9018. this.$$d__getEnd$p$3=Function.createDelegate(this,this._getEnd$p$3);
  9019. this.$$d__getStart$p$3=Function.createDelegate(this,this._getStart$p$3);
  9020. $h.MeetingRequest["initializeBase"](this,[data]);
  9021. $h.InitialData._defineReadOnlyProperty$i(this,"start",this.$$d__getStart$p$3);
  9022. $h.InitialData._defineReadOnlyProperty$i(this,"end",this.$$d__getEnd$p$3);
  9023. $h.InitialData._defineReadOnlyProperty$i(this,"location",this.$$d__getLocation$p$3);
  9024. $h.InitialData._defineReadOnlyProperty$i(this,"optionalAttendees",this.$$d__getOptionalAttendees$p$3);
  9025. $h.InitialData._defineReadOnlyProperty$i(this,"requiredAttendees",this.$$d__getRequiredAttendees$p$3)
  9026. };
  9027. $h.MeetingRequest.prototype={
  9028. _getStart$p$3: function()
  9029. {
  9030. return this._data$p$0.get__start$i$0()
  9031. },
  9032. _getEnd$p$3: function()
  9033. {
  9034. return this._data$p$0.get__end$i$0()
  9035. },
  9036. _getLocation$p$3: function()
  9037. {
  9038. return this._data$p$0.get__location$i$0()
  9039. },
  9040. _getOptionalAttendees$p$3: function()
  9041. {
  9042. return this._data$p$0.get__cc$i$0()
  9043. },
  9044. _getRequiredAttendees$p$3: function()
  9045. {
  9046. return this._data$p$0.get__to$i$0()
  9047. }
  9048. };
  9049. $h.MeetingSuggestion=function(data, dateTimeSent)
  9050. {
  9051. this.$$d__getEndTime$p$0=Function.createDelegate(this,this._getEndTime$p$0);
  9052. this.$$d__getStartTime$p$0=Function.createDelegate(this,this._getStartTime$p$0);
  9053. this.$$d__getSubject$p$0=Function.createDelegate(this,this._getSubject$p$0);
  9054. this.$$d__getLocation$p$0=Function.createDelegate(this,this._getLocation$p$0);
  9055. this.$$d__getAttendees$p$0=Function.createDelegate(this,this._getAttendees$p$0);
  9056. this.$$d__getMeetingString$p$0=Function.createDelegate(this,this._getMeetingString$p$0);
  9057. this._data$p$0=data;
  9058. this._dateTimeSent$p$0=dateTimeSent;
  9059. $h.InitialData._defineReadOnlyProperty$i(this,"meetingString",this.$$d__getMeetingString$p$0);
  9060. $h.InitialData._defineReadOnlyProperty$i(this,"attendees",this.$$d__getAttendees$p$0);
  9061. $h.InitialData._defineReadOnlyProperty$i(this,"location",this.$$d__getLocation$p$0);
  9062. $h.InitialData._defineReadOnlyProperty$i(this,"subject",this.$$d__getSubject$p$0);
  9063. $h.InitialData._defineReadOnlyProperty$i(this,"start",this.$$d__getStartTime$p$0);
  9064. $h.InitialData._defineReadOnlyProperty$i(this,"end",this.$$d__getEndTime$p$0)
  9065. };
  9066. $h.MeetingSuggestion.prototype={
  9067. _dateTimeSent$p$0: null,
  9068. _data$p$0: null,
  9069. _attendees$p$0: null,
  9070. _getMeetingString$p$0: function()
  9071. {
  9072. return this._data$p$0["MeetingString"]
  9073. },
  9074. _getLocation$p$0: function()
  9075. {
  9076. return this._data$p$0["Location"]
  9077. },
  9078. _getSubject$p$0: function()
  9079. {
  9080. return this._data$p$0["Subject"]
  9081. },
  9082. _getStartTime$p$0: function()
  9083. {
  9084. var time=this._createDateTimeFromParameter$p$0("StartTime");
  9085. var resolvedTime=$h.MeetingSuggestionTimeDecoder.resolve(time,this._dateTimeSent$p$0);
  9086. if(resolvedTime["getTime"]() !==time["getTime"]())
  9087. return window["OSF"]["DDA"]["OutlookAppOm"]._instance$p["convertToUtcClientTime"](window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._dateToDictionary$i$0(resolvedTime));
  9088. return time
  9089. },
  9090. _getEndTime$p$0: function()
  9091. {
  9092. var time=this._createDateTimeFromParameter$p$0("EndTime");
  9093. var resolvedTime=$h.MeetingSuggestionTimeDecoder.resolve(time,this._dateTimeSent$p$0);
  9094. if(resolvedTime["getTime"]() !==time["getTime"]())
  9095. return window["OSF"]["DDA"]["OutlookAppOm"]._instance$p["convertToUtcClientTime"](window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._dateToDictionary$i$0(resolvedTime));
  9096. return time
  9097. },
  9098. _createDateTimeFromParameter$p$0: function(keyName)
  9099. {
  9100. var dateTimeString=this._data$p$0[keyName];
  9101. if(!dateTimeString)
  9102. return null;
  9103. return new Date(dateTimeString)
  9104. },
  9105. _getAttendees$p$0: function()
  9106. {
  9107. if(!this._attendees$p$0)
  9108. {
  9109. var $$t_1=this;
  9110. this._attendees$p$0=$h.Entities._getExtractedObjects$i($h.EmailAddressDetails,this._data$p$0,"Attendees",function(data)
  9111. {
  9112. return $h.EmailAddressDetails._createFromEmailUserDictionary$i(data)
  9113. })
  9114. }
  9115. return this._attendees$p$0
  9116. }
  9117. };
  9118. $h.MeetingSuggestionTimeDecoder=function(){};
  9119. $h.MeetingSuggestionTimeDecoder.resolve=function(inTime, sentTime)
  9120. {
  9121. if(!sentTime)
  9122. return inTime;
  9123. try
  9124. {
  9125. var tod;
  9126. var outDate;
  9127. var extractedDate;
  9128. var sentDate=new Date(sentTime["getFullYear"](),sentTime["getMonth"](),sentTime["getDate"](),0,0,0,0);
  9129. var $$t_7,
  9130. $$t_8,
  9131. $$t_9;
  9132. if(!($$t_9=$h.MeetingSuggestionTimeDecoder._decode$p(inTime,$$t_7={val: extractedDate},$$t_8={val: tod}),extractedDate=$$t_7["val"],tod=$$t_8["val"],$$t_9))
  9133. return inTime;
  9134. else
  9135. {
  9136. if($h._preciseDate["isInstanceOfType"](extractedDate))
  9137. outDate=$h.MeetingSuggestionTimeDecoder._resolvePreciseDate$p(sentDate,extractedDate);
  9138. else if($h._relativeDate["isInstanceOfType"](extractedDate))
  9139. outDate=$h.MeetingSuggestionTimeDecoder._resolveRelativeDate$p(sentDate,extractedDate);
  9140. else
  9141. outDate=sentDate;
  9142. if(window["isNaN"](outDate["getTime"]()))
  9143. return sentTime;
  9144. outDate["setMilliseconds"](outDate["getMilliseconds"]()+tod);
  9145. return outDate
  9146. }
  9147. }
  9148. catch($$e_6)
  9149. {
  9150. return sentTime
  9151. }
  9152. };
  9153. $h.MeetingSuggestionTimeDecoder._isNullOrUndefined$i=function(value)
  9154. {
  9155. return null===value || value===undefined
  9156. };
  9157. $h.MeetingSuggestionTimeDecoder._resolvePreciseDate$p=function(sentDate, precise)
  9158. {
  9159. var year=precise._year$i$1;
  9160. var month=!precise._month$i$1 ? sentDate["getMonth"]() : precise._month$i$1 - 1;
  9161. var day=precise._day$i$1;
  9162. if(!day)
  9163. return sentDate;
  9164. var candidate;
  9165. if($h.MeetingSuggestionTimeDecoder._isNullOrUndefined$i(year))
  9166. {
  9167. candidate=new Date(sentDate["getFullYear"](),month,day);
  9168. if(candidate["getTime"]() < sentDate["getTime"]())
  9169. candidate=new Date(sentDate["getFullYear"]()+1,month,day)
  9170. }
  9171. else
  9172. candidate=new Date(year < 50 ? 2e3+year : 1900+year,month,day);
  9173. if(candidate["getMonth"]() !==month)
  9174. return sentDate;
  9175. return candidate
  9176. };
  9177. $h.MeetingSuggestionTimeDecoder._resolveRelativeDate$p=function(sentDate, relative)
  9178. {
  9179. var date;
  9180. switch(relative._unit$i$1)
  9181. {
  9182. case 0:
  9183. date=new Date(sentDate["getFullYear"](),sentDate["getMonth"](),sentDate["getDate"]());
  9184. date["setDate"](date["getDate"]()+relative._offset$i$1);
  9185. return date;
  9186. case 5:
  9187. return $h.MeetingSuggestionTimeDecoder._findBestDateForWeekDate$p(sentDate,relative._offset$i$1,relative._tag$i$1);
  9188. case 2:
  9189. var days=1;
  9190. switch(relative._modifier$i$1)
  9191. {
  9192. case 1:
  9193. break;
  9194. case 2:
  9195. days=16;
  9196. break;
  9197. default:
  9198. if(!relative._offset$i$1)
  9199. days=sentDate["getDate"]();
  9200. break
  9201. }
  9202. date=new Date(sentDate["getFullYear"](),sentDate["getMonth"](),days);
  9203. date["setMonth"](date["getMonth"]()+relative._offset$i$1);
  9204. if(date["getTime"]() < sentDate["getTime"]())
  9205. date["setDate"](date["getDate"]()+sentDate["getDate"]() - 1);
  9206. return date;
  9207. case 1:
  9208. date=new Date(sentDate["getFullYear"](),sentDate["getMonth"](),sentDate["getDate"]());
  9209. date["setDate"](sentDate["getDate"]()+7 * relative._offset$i$1);
  9210. if(relative._modifier$i$1===1 || !relative._modifier$i$1)
  9211. {
  9212. date["setDate"](date["getDate"]()+1 - date["getDay"]());
  9213. if(date["getTime"]() < sentDate["getTime"]())
  9214. return sentDate;
  9215. return date
  9216. }
  9217. else if(relative._modifier$i$1===2)
  9218. {
  9219. date["setDate"](date["getDate"]()+5 - date["getDay"]());
  9220. return date
  9221. }
  9222. break;
  9223. case 4:
  9224. return $h.MeetingSuggestionTimeDecoder._findBestDateForWeekOfMonthDate$p(sentDate,relative);
  9225. case 3:
  9226. if(relative._offset$i$1 > 0)
  9227. return new Date(sentDate["getFullYear"]()+relative._offset$i$1,0,1);
  9228. break;
  9229. default:
  9230. break
  9231. }
  9232. return sentDate
  9233. };
  9234. $h.MeetingSuggestionTimeDecoder._findBestDateForWeekDate$p=function(sentDate, offset, tag)
  9235. {
  9236. if(offset > -5 && offset < 5)
  9237. {
  9238. var dayOfWeek=(tag+6) % 7+1;
  9239. var days=7 * offset+(dayOfWeek - sentDate["getDay"]());
  9240. sentDate["setDate"](sentDate["getDate"]()+days);
  9241. return sentDate
  9242. }
  9243. else
  9244. {
  9245. var days=(tag - sentDate["getDay"]()) % 7;
  9246. if(days < 0)
  9247. days+=7;
  9248. sentDate["setDate"](sentDate["getDate"]()+days);
  9249. return sentDate
  9250. }
  9251. };
  9252. $h.MeetingSuggestionTimeDecoder._findBestDateForWeekOfMonthDate$p=function(sentDate, relative)
  9253. {
  9254. var date;
  9255. var firstDay;
  9256. var newDate;
  9257. date=sentDate;
  9258. if(relative._tag$i$1 <=0 || relative._tag$i$1 > 12 || relative._offset$i$1 <=0 || relative._offset$i$1 > 5)
  9259. return sentDate;
  9260. var monthOffset=(12+relative._tag$i$1 - date["getMonth"]() - 1) % 12;
  9261. firstDay=new Date(date["getFullYear"](),date["getMonth"]()+monthOffset,1);
  9262. if(relative._modifier$i$1===1)
  9263. if(relative._offset$i$1===1 && firstDay["getDay"]() !==6 && firstDay["getDay"]())
  9264. return firstDay;
  9265. else
  9266. {
  9267. newDate=new Date(firstDay["getFullYear"](),firstDay["getMonth"](),firstDay["getDate"]());
  9268. newDate["setDate"](newDate["getDate"]()+(7+(1 - firstDay["getDay"]())) % 7);
  9269. if(firstDay["getDay"]() !==6 && firstDay["getDay"]() && firstDay["getDay"]() !==1)
  9270. newDate["setDate"](newDate["getDate"]() - 7);
  9271. newDate["setDate"](newDate["getDate"]()+7 * (relative._offset$i$1 - 1));
  9272. if(newDate["getMonth"]()+1 !==relative._tag$i$1)
  9273. return sentDate;
  9274. return newDate
  9275. }
  9276. else
  9277. {
  9278. newDate=new Date(firstDay["getFullYear"](),firstDay["getMonth"](),$h.MeetingSuggestionTimeDecoder._daysInMonth$p(firstDay["getMonth"](),firstDay["getFullYear"]()));
  9279. var offset=1 - newDate["getDay"]();
  9280. if(offset > 0)
  9281. offset=offset - 7;
  9282. newDate["setDate"](newDate["getDate"]()+offset);
  9283. newDate["setDate"](newDate["getDate"]()+7 * (1 - relative._offset$i$1));
  9284. if(newDate["getMonth"]()+1 !==relative._tag$i$1)
  9285. if(firstDay["getDay"]() !==6 && firstDay["getDay"]())
  9286. return firstDay;
  9287. else
  9288. return sentDate;
  9289. else
  9290. return newDate
  9291. }
  9292. };
  9293. $h.MeetingSuggestionTimeDecoder._decode$p=function(inDate, date, time)
  9294. {
  9295. var DateValueMask=32767;
  9296. date["val"]=null;
  9297. time["val"]=0;
  9298. if(!inDate)
  9299. return false;
  9300. time["val"]=$h.MeetingSuggestionTimeDecoder._getTimeOfDayInMillisecondsUTC$p(inDate);
  9301. var inDateAtMidnight=inDate["getTime"]() - time["val"];
  9302. var value=(inDateAtMidnight - $h.MeetingSuggestionTimeDecoder._baseDate$p["getTime"]()) / 864e5;
  9303. if(value < 0)
  9304. return false;
  9305. else if(value >=262144)
  9306. return false;
  9307. else
  9308. {
  9309. var type=value >> 15;
  9310. value=value & DateValueMask;
  9311. switch(type)
  9312. {
  9313. case 0:
  9314. return $h.MeetingSuggestionTimeDecoder._decodePreciseDate$p(value,date);
  9315. case 1:
  9316. return $h.MeetingSuggestionTimeDecoder._decodeRelativeDate$p(value,date);
  9317. default:
  9318. return false
  9319. }
  9320. }
  9321. };
  9322. $h.MeetingSuggestionTimeDecoder._decodePreciseDate$p=function(value, date)
  9323. {
  9324. var c_SubTypeMask=7;
  9325. var c_MonthMask=15;
  9326. var c_DayMask=31;
  9327. var c_YearMask=127;
  9328. var year=null;
  9329. var month=0;
  9330. var day=0;
  9331. date["val"]=null;
  9332. var subType=value >> 12 & c_SubTypeMask;
  9333. if((subType & 4)===4)
  9334. {
  9335. year=value >> 5 & c_YearMask;
  9336. if((subType & 2)===2)
  9337. {
  9338. if((subType & 1)===1)
  9339. return false;
  9340. month=value >> 1 & c_MonthMask
  9341. }
  9342. }
  9343. else
  9344. {
  9345. if((subType & 2)===2)
  9346. month=value >> 8 & c_MonthMask;
  9347. if((subType & 1)===1)
  9348. day=value >> 3 & c_DayMask
  9349. }
  9350. date["val"]=new $h._preciseDate(day,month,year);
  9351. return true
  9352. };
  9353. $h.MeetingSuggestionTimeDecoder._decodeRelativeDate$p=function(value, date)
  9354. {
  9355. var TagMask=15;
  9356. var OffsetMask=63;
  9357. var UnitMask=7;
  9358. var ModifierMask=3;
  9359. var tag=value & TagMask;
  9360. value >>=4;
  9361. var offset=$h.MeetingSuggestionTimeDecoder._fromComplement$p(value & OffsetMask,6);
  9362. value >>=6;
  9363. var unit=value & UnitMask;
  9364. value >>=3;
  9365. var modifier=value & ModifierMask;
  9366. try
  9367. {
  9368. date["val"]=new $h._relativeDate(modifier,offset,unit,tag);
  9369. return true
  9370. }
  9371. catch($$e_A)
  9372. {
  9373. date["val"]=null;
  9374. return false
  9375. }
  9376. };
  9377. $h.MeetingSuggestionTimeDecoder._fromComplement$p=function(value, n)
  9378. {
  9379. var signed=1 << n - 1;
  9380. var mask=(1 << n) - 1;
  9381. if((value & signed)===signed)
  9382. return-((value ^ mask)+1);
  9383. else
  9384. return value
  9385. };
  9386. $h.MeetingSuggestionTimeDecoder._daysInMonth$p=function(month, year)
  9387. {
  9388. return 32 - new Date(year,month,32)["getDate"]()
  9389. };
  9390. $h.MeetingSuggestionTimeDecoder._getTimeOfDayInMillisecondsUTC$p=function(inputTime)
  9391. {
  9392. var timeOfDay=0;
  9393. timeOfDay+=inputTime["getUTCHours"]() * 3600;
  9394. timeOfDay+=inputTime["getUTCMinutes"]() * 60;
  9395. timeOfDay+=inputTime["getUTCSeconds"]();
  9396. timeOfDay *=1e3;
  9397. timeOfDay+=inputTime["getUTCMilliseconds"]();
  9398. return timeOfDay
  9399. };
  9400. $h._extractedDate=function(){};
  9401. $h._preciseDate=function(day, month, year)
  9402. {
  9403. $h._preciseDate["initializeBase"](this);
  9404. if(day < 0 || day > 31)
  9405. throw Error.argumentOutOfRange("day");
  9406. if(month < 0 || month > 12)
  9407. throw Error.argumentOutOfRange("month");
  9408. this._day$i$1=day;
  9409. this._month$i$1=month;
  9410. if(!$h.MeetingSuggestionTimeDecoder._isNullOrUndefined$i(year))
  9411. {
  9412. if(!month && day)
  9413. throw Error.argument("Invalid arguments");
  9414. if(year < 0 || year > 2099)
  9415. throw Error.argumentOutOfRange("year");
  9416. this._year$i$1=year % 100
  9417. }
  9418. else if(!this._month$i$1 && !this._day$i$1)
  9419. throw Error.argument("Invalid datetime");
  9420. };
  9421. $h._preciseDate.prototype={
  9422. _day$i$1: 0,
  9423. _month$i$1: 0,
  9424. _year$i$1: null
  9425. };
  9426. $h._relativeDate=function(modifier, offset, unit, tag)
  9427. {
  9428. $h._relativeDate["initializeBase"](this);
  9429. if(offset < -32 || offset > 31)
  9430. throw Error.argumentOutOfRange("offset");
  9431. if(tag < 0 || tag > 15)
  9432. throw Error.argumentOutOfRange("tag");
  9433. if(!unit && offset < 0)
  9434. throw Error.argument("unit & offset do not form a valid date");
  9435. this._modifier$i$1=modifier;
  9436. this._offset$i$1=offset;
  9437. this._unit$i$1=unit;
  9438. this._tag$i$1=tag
  9439. };
  9440. $h._relativeDate.prototype={
  9441. _modifier$i$1: 0,
  9442. _offset$i$1: 0,
  9443. _unit$i$1: 0,
  9444. _tag$i$1: 0
  9445. };
  9446. $h.Message=function(dataDictionary)
  9447. {
  9448. this.$$d__getConversationId$p$2=Function.createDelegate(this,this._getConversationId$p$2);
  9449. this.$$d__getInternetMessageId$p$2=Function.createDelegate(this,this._getInternetMessageId$p$2);
  9450. this.$$d__getCc$p$2=Function.createDelegate(this,this._getCc$p$2);
  9451. this.$$d__getTo$p$2=Function.createDelegate(this,this._getTo$p$2);
  9452. this.$$d__getFrom$p$2=Function.createDelegate(this,this._getFrom$p$2);
  9453. this.$$d__getSender$p$2=Function.createDelegate(this,this._getSender$p$2);
  9454. this.$$d__getNormalizedSubject$p$2=Function.createDelegate(this,this._getNormalizedSubject$p$2);
  9455. this.$$d__getSubject$p$2=Function.createDelegate(this,this._getSubject$p$2);
  9456. $h.Message["initializeBase"](this,[dataDictionary]);
  9457. $h.InitialData._defineReadOnlyProperty$i(this,"subject",this.$$d__getSubject$p$2);
  9458. $h.InitialData._defineReadOnlyProperty$i(this,"normalizedSubject",this.$$d__getNormalizedSubject$p$2);
  9459. $h.InitialData._defineReadOnlyProperty$i(this,"sender",this.$$d__getSender$p$2);
  9460. $h.InitialData._defineReadOnlyProperty$i(this,"from",this.$$d__getFrom$p$2);
  9461. $h.InitialData._defineReadOnlyProperty$i(this,"to",this.$$d__getTo$p$2);
  9462. $h.InitialData._defineReadOnlyProperty$i(this,"cc",this.$$d__getCc$p$2);
  9463. $h.InitialData._defineReadOnlyProperty$i(this,"internetMessageId",this.$$d__getInternetMessageId$p$2);
  9464. $h.InitialData._defineReadOnlyProperty$i(this,"conversationId",this.$$d__getConversationId$p$2)
  9465. };
  9466. $h.Message.prototype={
  9467. getItemType: function()
  9468. {
  9469. return window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemType"]["Message"]
  9470. },
  9471. _getSubject$p$2: function()
  9472. {
  9473. return this._data$p$0.get__subject$i$0()
  9474. },
  9475. _getNormalizedSubject$p$2: function()
  9476. {
  9477. return this._data$p$0.get__normalizedSubject$i$0()
  9478. },
  9479. _getSender$p$2: function()
  9480. {
  9481. return this._data$p$0.get__sender$i$0()
  9482. },
  9483. _getFrom$p$2: function()
  9484. {
  9485. return this._data$p$0.get__from$i$0()
  9486. },
  9487. _getTo$p$2: function()
  9488. {
  9489. return this._data$p$0.get__to$i$0()
  9490. },
  9491. _getCc$p$2: function()
  9492. {
  9493. return this._data$p$0.get__cc$i$0()
  9494. },
  9495. _getInternetMessageId$p$2: function()
  9496. {
  9497. return this._data$p$0.get__internetMessageId$i$0()
  9498. },
  9499. _getConversationId$p$2: function()
  9500. {
  9501. return this._data$p$0.get__conversationId$i$0()
  9502. }
  9503. };
  9504. $h.Message.prototype.getEntities=function()
  9505. {
  9506. return this._data$p$0._getEntities$i$0()
  9507. };
  9508. $h.Message.prototype.getEntitiesByType=function(entityType)
  9509. {
  9510. return this._data$p$0._getEntitiesByType$i$0(entityType)
  9511. };
  9512. $h.Message.prototype.getFilteredEntitiesByName=function(name)
  9513. {
  9514. return this._data$p$0._getFilteredEntitiesByName$i$0(name)
  9515. };
  9516. $h.Message.prototype.getSelectedEntities=function()
  9517. {
  9518. return this._data$p$0._getSelectedEntities$i$0()
  9519. };
  9520. $h.Message.prototype.getRegExMatches=function()
  9521. {
  9522. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"getRegExMatches");
  9523. return this._data$p$0._getRegExMatches$i$0()
  9524. };
  9525. $h.Message.prototype.getRegExMatchesByName=function(name)
  9526. {
  9527. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"getRegExMatchesByName");
  9528. return this._data$p$0._getRegExMatchesByName$i$0(name)
  9529. };
  9530. $h.Message.prototype.getSelectedRegExMatches=function()
  9531. {
  9532. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"getSelectedRegExMatches");
  9533. return this._data$p$0._getSelectedRegExMatches$i$0()
  9534. };
  9535. $h.Message.prototype.displayReplyForm=function(obj)
  9536. {
  9537. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._displayReplyForm$i$0(obj)
  9538. };
  9539. $h.Message.prototype.displayReplyAllForm=function(obj)
  9540. {
  9541. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._displayReplyAllForm$i$0(obj)
  9542. };
  9543. $h.MessageCompose=function(data)
  9544. {
  9545. this.$$d__getConversationId$p$2=Function.createDelegate(this,this._getConversationId$p$2);
  9546. this.$$d__getBcc$p$2=Function.createDelegate(this,this._getBcc$p$2);
  9547. this.$$d__getCc$p$2=Function.createDelegate(this,this._getCc$p$2);
  9548. this.$$d__getTo$p$2=Function.createDelegate(this,this._getTo$p$2);
  9549. $h.MessageCompose["initializeBase"](this,[data]);
  9550. $h.InitialData._defineReadOnlyProperty$i(this,"to",this.$$d__getTo$p$2);
  9551. $h.InitialData._defineReadOnlyProperty$i(this,"cc",this.$$d__getCc$p$2);
  9552. $h.InitialData._defineReadOnlyProperty$i(this,"bcc",this.$$d__getBcc$p$2);
  9553. $h.InitialData._defineReadOnlyProperty$i(this,"conversationId",this.$$d__getConversationId$p$2)
  9554. };
  9555. $h.MessageCompose.prototype={
  9556. _to$p$2: null,
  9557. _cc$p$2: null,
  9558. _bcc$p$2: null,
  9559. getItemType: function()
  9560. {
  9561. return window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemType"]["Message"]
  9562. },
  9563. _getTo$p$2: function()
  9564. {
  9565. this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
  9566. if(!this._to$p$2)
  9567. this._to$p$2=new $h.ComposeRecipient(0,"to");
  9568. return this._to$p$2
  9569. },
  9570. _getCc$p$2: function()
  9571. {
  9572. this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
  9573. if(!this._cc$p$2)
  9574. this._cc$p$2=new $h.ComposeRecipient(1,"cc");
  9575. return this._cc$p$2
  9576. },
  9577. _getBcc$p$2: function()
  9578. {
  9579. this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
  9580. if(!this._bcc$p$2)
  9581. this._bcc$p$2=new $h.ComposeRecipient(2,"bcc");
  9582. return this._bcc$p$2
  9583. },
  9584. _getConversationId$p$2: function()
  9585. {
  9586. return this._data$p$0.get__conversationId$i$0()
  9587. }
  9588. };
  9589. $h.NotificationMessages=function(){};
  9590. $h.NotificationMessages._mapToHostItemNotificationMessageType$p=function(dataToHost)
  9591. {
  9592. var notificationType;
  9593. var hostItemNotificationMessageType;
  9594. notificationType=dataToHost["type"];
  9595. if(notificationType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemNotificationMessageType"]["ProgressIndicator"])
  9596. hostItemNotificationMessageType=1;
  9597. else if(notificationType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemNotificationMessageType"]["InformationalMessage"])
  9598. hostItemNotificationMessageType=0;
  9599. else if(notificationType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemNotificationMessageType"]["ErrorMessage"])
  9600. hostItemNotificationMessageType=2;
  9601. else
  9602. throw Error.argument("type");
  9603. dataToHost["type"]=hostItemNotificationMessageType
  9604. };
  9605. $h.NotificationMessages._validateKey$p=function(key)
  9606. {
  9607. if(!$h.ScriptHelpers.isNonEmptyString(key))
  9608. throw Error.argument("key");
  9609. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(key.length,0,32,"key")
  9610. };
  9611. $h.NotificationMessages._validateDictionary$p=function(dictionary)
  9612. {
  9613. if(!$h.ScriptHelpers.isNonEmptyString(dictionary["type"]))
  9614. throw Error.argument("type");
  9615. if(dictionary["type"]===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemNotificationMessageType"]["InformationalMessage"])
  9616. {
  9617. if(!$h.ScriptHelpers.isNonEmptyString(dictionary["icon"]))
  9618. throw Error.argument("icon");
  9619. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(dictionary["icon"].length,0,32,"icon");
  9620. if($h.ScriptHelpers.isUndefined(dictionary["persistent"]))
  9621. throw Error.argument("persistent");
  9622. if(!Boolean["isInstanceOfType"](dictionary["persistent"]))
  9623. throw Error.argumentType("persistent",Object["getType"](dictionary["persistent"]),Boolean);
  9624. }
  9625. else
  9626. {
  9627. if(!$h.ScriptHelpers.isUndefined(dictionary["icon"]))
  9628. throw Error.argument("icon");
  9629. if(!$h.ScriptHelpers.isUndefined(dictionary["persistent"]))
  9630. throw Error.argument("persistent");
  9631. }
  9632. if(!$h.ScriptHelpers.isNonEmptyString(dictionary["message"]))
  9633. throw Error.argument("message");
  9634. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(dictionary["message"].length,0,150,"message")
  9635. };
  9636. $h.NotificationMessages.prototype.addAsync=function(key, dictionary)
  9637. {
  9638. var args=[];
  9639. for(var $$pai_5=2; $$pai_5 < arguments["length"];++$$pai_5)
  9640. args[$$pai_5 - 2]=arguments[$$pai_5];
  9641. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(0,"NotificationMessages.addAsync");
  9642. var commonParameters=$h.CommonParameters.parse(args,false);
  9643. $h.NotificationMessages._validateKey$p(key);
  9644. $h.NotificationMessages._validateDictionary$p(dictionary);
  9645. var dataToHost={};
  9646. dataToHost=$h.ScriptHelpers.deepClone(dictionary);
  9647. dataToHost["key"]=key;
  9648. $h.NotificationMessages._mapToHostItemNotificationMessageType$p(dataToHost);
  9649. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(33,dataToHost,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
  9650. };
  9651. $h.NotificationMessages.prototype.getAllAsync=function()
  9652. {
  9653. var args=[];
  9654. for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
  9655. args[$$pai_2]=arguments[$$pai_2];
  9656. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(0,"NotificationMessages.getAllAsync");
  9657. var commonParameters=$h.CommonParameters.parse(args,true);
  9658. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(34,null,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
  9659. };
  9660. $h.NotificationMessages.prototype.replaceAsync=function(key, dictionary)
  9661. {
  9662. var args=[];
  9663. for(var $$pai_5=2; $$pai_5 < arguments["length"];++$$pai_5)
  9664. args[$$pai_5 - 2]=arguments[$$pai_5];
  9665. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(0,"NotificationMessages.replaceAsync");
  9666. var commonParameters=$h.CommonParameters.parse(args,false);
  9667. $h.NotificationMessages._validateKey$p(key);
  9668. $h.NotificationMessages._validateDictionary$p(dictionary);
  9669. var dataToHost={};
  9670. dataToHost=$h.ScriptHelpers.deepClone(dictionary);
  9671. dataToHost["key"]=key;
  9672. $h.NotificationMessages._mapToHostItemNotificationMessageType$p(dataToHost);
  9673. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(35,dataToHost,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
  9674. };
  9675. $h.NotificationMessages.prototype.removeAsync=function(key)
  9676. {
  9677. var args=[];
  9678. for(var $$pai_4=1; $$pai_4 < arguments["length"];++$$pai_4)
  9679. args[$$pai_4 - 1]=arguments[$$pai_4];
  9680. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(0,"NotificationMessages.removeAsync");
  9681. var commonParameters=$h.CommonParameters.parse(args,false);
  9682. $h.NotificationMessages._validateKey$p(key);
  9683. var dataToHost={key: key};
  9684. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(36,dataToHost,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
  9685. };
  9686. $h.OutlookErrorManager=function(){};
  9687. $h.OutlookErrorManager.getErrorArgs=function(errorCode)
  9688. {
  9689. if(!$h.OutlookErrorManager._isInitialized$p)
  9690. $h.OutlookErrorManager._initialize$p();
  9691. return OSF.DDA.ErrorCodeManager["getErrorArgs"](errorCode)
  9692. };
  9693. $h.OutlookErrorManager._initialize$p=function()
  9694. {
  9695. $h.OutlookErrorManager._addErrorMessage$p(9e3,"AttachmentSizeExceeded",window["_u"]["ExtensibilityStrings"]["l_AttachmentExceededSize_Text"]);
  9696. $h.OutlookErrorManager._addErrorMessage$p(9001,"NumberOfAttachmentsExceeded",window["_u"]["ExtensibilityStrings"]["l_ExceededMaxNumberOfAttachments_Text"]);
  9697. $h.OutlookErrorManager._addErrorMessage$p(9002,"InternalFormatError",window["_u"]["ExtensibilityStrings"]["l_InternalFormatError_Text"]);
  9698. $h.OutlookErrorManager._addErrorMessage$p(9003,"InvalidAttachmentId",window["_u"]["ExtensibilityStrings"]["l_InvalidAttachmentId_Text"]);
  9699. $h.OutlookErrorManager._addErrorMessage$p(9004,"InvalidAttachmentPath",window["_u"]["ExtensibilityStrings"]["l_InvalidAttachmentPath_Text"]);
  9700. $h.OutlookErrorManager._addErrorMessage$p(9005,"CannotAddAttachmentBeforeUpgrade",window["_u"]["ExtensibilityStrings"]["l_CannotAddAttachmentBeforeUpgrade_Text"]);
  9701. $h.OutlookErrorManager._addErrorMessage$p(9006,"AttachmentDeletedBeforeUploadCompletes",window["_u"]["ExtensibilityStrings"]["l_AttachmentDeletedBeforeUploadCompletes_Text"]);
  9702. $h.OutlookErrorManager._addErrorMessage$p(9007,"AttachmentUploadGeneralFailure",window["_u"]["ExtensibilityStrings"]["l_AttachmentUploadGeneralFailure_Text"]);
  9703. $h.OutlookErrorManager._addErrorMessage$p(9008,"AttachmentToDeleteDoesNotExist",window["_u"]["ExtensibilityStrings"]["l_DeleteAttachmentDoesNotExist_Text"]);
  9704. $h.OutlookErrorManager._addErrorMessage$p(9009,"AttachmentDeleteGeneralFailure",window["_u"]["ExtensibilityStrings"]["l_AttachmentDeleteGeneralFailure_Text"]);
  9705. $h.OutlookErrorManager._addErrorMessage$p(9010,"InvalidEndTime",window["_u"]["ExtensibilityStrings"]["l_InvalidEndTime_Text"]);
  9706. $h.OutlookErrorManager._addErrorMessage$p(9011,"HtmlSanitizationFailure",window["_u"]["ExtensibilityStrings"]["l_HtmlSanitizationFailure_Text"]);
  9707. $h.OutlookErrorManager._addErrorMessage$p(9012,"NumberOfRecipientsExceeded",String.format(window["_u"]["ExtensibilityStrings"]["l_NumberOfRecipientsExceeded_Text"],500));
  9708. $h.OutlookErrorManager._addErrorMessage$p(9013,"NoValidRecipientsProvided",window["_u"]["ExtensibilityStrings"]["l_NoValidRecipientsProvided_Text"]);
  9709. $h.OutlookErrorManager._addErrorMessage$p(9014,"CursorPositionChanged",window["_u"]["ExtensibilityStrings"]["l_CursorPositionChanged_Text"]);
  9710. $h.OutlookErrorManager._addErrorMessage$p(9016,"InvalidSelection",window["_u"]["ExtensibilityStrings"]["l_InvalidSelection_Text"]);
  9711. $h.OutlookErrorManager._addErrorMessage$p(9017,"AccessRestricted","");
  9712. $h.OutlookErrorManager._addErrorMessage$p(9018,"GenericTokenError","");
  9713. $h.OutlookErrorManager._addErrorMessage$p(9019,"GenericSettingsError","");
  9714. $h.OutlookErrorManager._addErrorMessage$p(9020,"GenericResponseError","");
  9715. $h.OutlookErrorManager._addErrorMessage$p(9021,"SaveError",window["_u"]["ExtensibilityStrings"]["l_SaveError_Text"]);
  9716. $h.OutlookErrorManager._addErrorMessage$p(9022,"MessageInDifferentStoreError",window["_u"]["ExtensibilityStrings"]["l_MessageInDifferentStoreError_Text"]);
  9717. $h.OutlookErrorManager._addErrorMessage$p(9023,"DuplicateNotificationKey",window["_u"]["ExtensibilityStrings"]["l_DuplicateNotificationKey_Text"]);
  9718. $h.OutlookErrorManager._addErrorMessage$p(9024,"NotificationKeyNotFound",window["_u"]["ExtensibilityStrings"]["l_NotificationKeyNotFound_Text"]);
  9719. $h.OutlookErrorManager._addErrorMessage$p(9025,"NumberOfNotificationsExceeded",window["_u"]["ExtensibilityStrings"]["l_NumberOfNotificationsExceeded_Text"]);
  9720. $h.OutlookErrorManager._addErrorMessage$p(9026,"PersistedNotificationArrayReadError",window["_u"]["ExtensibilityStrings"]["l_PersistedNotificationArrayReadError_Text"]);
  9721. $h.OutlookErrorManager._addErrorMessage$p(9027,"PersistedNotificationArraySaveError",window["_u"]["ExtensibilityStrings"]["l_PersistedNotificationArraySaveError_Text"]);
  9722. $h.OutlookErrorManager._addErrorMessage$p(9028,"CannotPersistPropertyInUnsavedDraftError",window["_u"]["ExtensibilityStrings"]["l_CannotPersistPropertyInUnsavedDraftError_Text"]);
  9723. $h.OutlookErrorManager._addErrorMessage$p(9029,"CanOnlyGetTokenForSavedItem",window["_u"]["ExtensibilityStrings"]["l_CallSaveAsyncBeforeToken_Text"]);
  9724. $h.OutlookErrorManager._isInitialized$p=true
  9725. };
  9726. $h.OutlookErrorManager._addErrorMessage$p=function(errorCode, errorName, errorMessage)
  9727. {
  9728. OSF.DDA.ErrorCodeManager["addErrorMessage"](errorCode,{
  9729. name: errorName,
  9730. message: errorMessage
  9731. })
  9732. };
  9733. $h.OutlookErrorManager.OutlookErrorCodes=function(){};
  9734. $h.OutlookErrorManager.OsfDdaErrorCodes=function(){};
  9735. $h.PhoneNumber=function(data)
  9736. {
  9737. this.$$d__getPhoneType$p$0=Function.createDelegate(this,this._getPhoneType$p$0);
  9738. this.$$d__getOriginalPhoneString$p$0=Function.createDelegate(this,this._getOriginalPhoneString$p$0);
  9739. this.$$d__getPhoneString$p$0=Function.createDelegate(this,this._getPhoneString$p$0);
  9740. this._data$p$0=data;
  9741. $h.InitialData._defineReadOnlyProperty$i(this,"phoneString",this.$$d__getPhoneString$p$0);
  9742. $h.InitialData._defineReadOnlyProperty$i(this,"originalPhoneString",this.$$d__getOriginalPhoneString$p$0);
  9743. $h.InitialData._defineReadOnlyProperty$i(this,"type",this.$$d__getPhoneType$p$0)
  9744. };
  9745. $h.PhoneNumber.prototype={
  9746. _data$p$0: null,
  9747. _getPhoneString$p$0: function()
  9748. {
  9749. return this._data$p$0["PhoneString"]
  9750. },
  9751. _getOriginalPhoneString$p$0: function()
  9752. {
  9753. return this._data$p$0["OriginalPhoneString"]
  9754. },
  9755. _getPhoneType$p$0: function()
  9756. {
  9757. return this._data$p$0["Type"]
  9758. }
  9759. };
  9760. $h.TaskSuggestion=function(data)
  9761. {
  9762. this.$$d__getAssignees$p$0=Function.createDelegate(this,this._getAssignees$p$0);
  9763. this.$$d__getTaskString$p$0=Function.createDelegate(this,this._getTaskString$p$0);
  9764. this._data$p$0=data;
  9765. $h.InitialData._defineReadOnlyProperty$i(this,"taskString",this.$$d__getTaskString$p$0);
  9766. $h.InitialData._defineReadOnlyProperty$i(this,"assignees",this.$$d__getAssignees$p$0)
  9767. };
  9768. $h.TaskSuggestion.prototype={
  9769. _data$p$0: null,
  9770. _assignees$p$0: null,
  9771. _getTaskString$p$0: function()
  9772. {
  9773. return this._data$p$0["TaskString"]
  9774. },
  9775. _getAssignees$p$0: function()
  9776. {
  9777. if(!this._assignees$p$0)
  9778. {
  9779. var $$t_1=this;
  9780. this._assignees$p$0=$h.Entities._getExtractedObjects$i($h.EmailAddressDetails,this._data$p$0,"Assignees",function(data)
  9781. {
  9782. return $h.EmailAddressDetails._createFromEmailUserDictionary$i(data)
  9783. })
  9784. }
  9785. return this._assignees$p$0
  9786. }
  9787. };
  9788. $h.UserProfile=function(data)
  9789. {
  9790. this.$$d__getUserProfileType$p$0=Function.createDelegate(this,this._getUserProfileType$p$0);
  9791. this.$$d__getTimeZone$p$0=Function.createDelegate(this,this._getTimeZone$p$0);
  9792. this.$$d__getEmailAddress$p$0=Function.createDelegate(this,this._getEmailAddress$p$0);
  9793. this.$$d__getDisplayName$p$0=Function.createDelegate(this,this._getDisplayName$p$0);
  9794. this._data$p$0=data;
  9795. $h.InitialData._defineReadOnlyProperty$i(this,"displayName",this.$$d__getDisplayName$p$0);
  9796. $h.InitialData._defineReadOnlyProperty$i(this,"emailAddress",this.$$d__getEmailAddress$p$0);
  9797. $h.InitialData._defineReadOnlyProperty$i(this,"timeZone",this.$$d__getTimeZone$p$0);
  9798. $h.InitialData._defineReadOnlyProperty$i(this,"type",this.$$d__getUserProfileType$p$0)
  9799. };
  9800. $h.UserProfile.prototype={
  9801. _data$p$0: null,
  9802. _getUserProfileType$p$0: function()
  9803. {
  9804. return this._data$p$0.get__userProfileType$i$0()
  9805. },
  9806. _getDisplayName$p$0: function()
  9807. {
  9808. return this._data$p$0.get__userDisplayName$i$0()
  9809. },
  9810. _getEmailAddress$p$0: function()
  9811. {
  9812. return this._data$p$0.get__userEmailAddress$i$0()
  9813. },
  9814. _getTimeZone$p$0: function()
  9815. {
  9816. return this._data$p$0.get__userTimeZone$i$0()
  9817. }
  9818. };
  9819. $h.OutlookDispid=function(){};
  9820. $h.OutlookDispid.prototype={
  9821. owaOnlyMethod: 0,
  9822. getInitialData: 1,
  9823. getUserIdentityToken: 2,
  9824. loadCustomProperties: 3,
  9825. saveCustomProperties: 4,
  9826. ewsRequest: 5,
  9827. displayNewAppointmentForm: 7,
  9828. displayMessageForm: 8,
  9829. displayAppointmentForm: 9,
  9830. displayReplyForm: 10,
  9831. displayReplyAllForm: 11,
  9832. getCallbackToken: 12,
  9833. bodySetSelectedDataAsync: 13,
  9834. getBodyTypeAsync: 14,
  9835. getRecipientsAsync: 15,
  9836. addFileAttachmentAsync: 16,
  9837. setSubjectAsync: 17,
  9838. getSubjectAsync: 18,
  9839. addItemAttachmentAsync: 19,
  9840. removeAttachmentAsync: 20,
  9841. setRecipientsAsync: 21,
  9842. addRecipientsAsync: 22,
  9843. bodyPrependAsync: 23,
  9844. getTimeAsync: 24,
  9845. setTimeAsync: 25,
  9846. getLocationAsync: 26,
  9847. setLocationAsync: 27,
  9848. getSelectedDataAsync: 28,
  9849. setSelectedDataAsync: 29,
  9850. displayReplyFormWithAttachments: 30,
  9851. displayReplyAllFormWithAttachments: 31,
  9852. saveAsync: 32,
  9853. addNotficationMessageAsync: 33,
  9854. getAllNotficationMessagesAsync: 34,
  9855. replaceNotficationMessageAsync: 35,
  9856. removeNotficationMessageAsync: 36,
  9857. getBodyAsync: 37,
  9858. setBodyAsync: 38,
  9859. appCommands1: 39,
  9860. registerConsentAsync: 40,
  9861. close: 41,
  9862. closeApp: 42,
  9863. displayPersonaCardAsync: 43,
  9864. displayNewMessageForm: 44,
  9865. navigateToModuleAsync: 45,
  9866. eventCompleted: 94,
  9867. closeContainer: 97,
  9868. messageParent: 144,
  9869. trackCtq: 400,
  9870. recordTrace: 401,
  9871. recordDataPoint: 402,
  9872. windowOpenOverrideHandler: 403,
  9873. saveSettingsRequest: 404
  9874. };
  9875. $h.OutlookDispid["registerEnum"]("$h.2",false);
  9876. $h.RequestState=function(){};
  9877. $h.RequestState.prototype={
  9878. unsent: 0,
  9879. opened: 1,
  9880. headersReceived: 2,
  9881. loading: 3,
  9882. done: 4
  9883. };
  9884. $h.RequestState["registerEnum"]("$h.3",false);
  9885. $h.CommonParameters=function(options, callback, asyncContext)
  9886. {
  9887. this._options$p$0=options;
  9888. this._callback$p$0=callback;
  9889. this._asyncContext$p$0=asyncContext
  9890. };
  9891. $h.CommonParameters.parse=function(args, isCallbackRequired, tryLegacy)
  9892. {
  9893. var legacyParameters;
  9894. var $$t_8,
  9895. $$t_9;
  9896. if(tryLegacy && ($$t_9=$h.CommonParameters._tryParseLegacy$p(args,$$t_8={val: legacyParameters}),legacyParameters=$$t_8["val"],$$t_9))
  9897. return legacyParameters;
  9898. var argsLength=args["length"];
  9899. var options=null;
  9900. var callback=null;
  9901. var asyncContext=null;
  9902. if(argsLength===1)
  9903. if(Function["isInstanceOfType"](args[0]))
  9904. callback=args[0];
  9905. else if(Object["isInstanceOfType"](args[0]))
  9906. options=args[0];
  9907. else
  9908. throw Error.argumentType();
  9909. else if(argsLength===2)
  9910. {
  9911. if(!Object["isInstanceOfType"](args[0]))
  9912. throw Error.argument("options");
  9913. if(!Function["isInstanceOfType"](args[1]))
  9914. throw Error.argument("callback");
  9915. options=args[0];
  9916. callback=args[1]
  9917. }
  9918. else if(argsLength)
  9919. throw Error.parameterCount(window["_u"]["ExtensibilityStrings"]["l_ParametersNotAsExpected_Text"]);
  9920. if(isCallbackRequired && !callback)
  9921. throw Error.argumentNull("callback");
  9922. if(options && !$h.ScriptHelpers.isNullOrUndefined(options["asyncContext"]))
  9923. asyncContext=options["asyncContext"];
  9924. return new $h.CommonParameters(options,callback,asyncContext)
  9925. };
  9926. $h.CommonParameters._tryParseLegacy$p=function(args, commonParameters)
  9927. {
  9928. commonParameters["val"]=null;
  9929. var argsLength=args["length"];
  9930. var callback=null;
  9931. var userContext=null;
  9932. if(!argsLength || argsLength > 2)
  9933. return false;
  9934. if(!Function["isInstanceOfType"](args[0]))
  9935. return false;
  9936. callback=args[0];
  9937. if(argsLength > 1)
  9938. userContext=args[1];
  9939. commonParameters["val"]=new $h.CommonParameters(null,callback,userContext);
  9940. return true
  9941. };
  9942. $h.CommonParameters.prototype={
  9943. _options$p$0: null,
  9944. _callback$p$0: null,
  9945. _asyncContext$p$0: null,
  9946. get_options: function()
  9947. {
  9948. return this._options$p$0
  9949. },
  9950. get_callback: function()
  9951. {
  9952. return this._callback$p$0
  9953. },
  9954. get_asyncContext: function()
  9955. {
  9956. return this._asyncContext$p$0
  9957. }
  9958. };
  9959. $h.EwsRequest=function(userContext)
  9960. {
  9961. $h.EwsRequest["initializeBase"](this,[userContext])
  9962. };
  9963. $h.EwsRequest.prototype={
  9964. readyState: 1,
  9965. status: 0,
  9966. statusText: null,
  9967. onreadystatechange: null,
  9968. responseText: null,
  9969. get__statusCode$i$1: function()
  9970. {
  9971. return this.status
  9972. },
  9973. set__statusCode$i$1: function(value)
  9974. {
  9975. this.status=value;
  9976. return value
  9977. },
  9978. get__statusDescription$i$1: function()
  9979. {
  9980. return this.statusText
  9981. },
  9982. set__statusDescription$i$1: function(value)
  9983. {
  9984. this.statusText=value;
  9985. return value
  9986. },
  9987. get__requestState$i$1: function()
  9988. {
  9989. return this.readyState
  9990. },
  9991. set__requestState$i$1: function(value)
  9992. {
  9993. this.readyState=value;
  9994. return value
  9995. },
  9996. get_hasOnReadyStateChangeCallback: function()
  9997. {
  9998. return!$h.ScriptHelpers.isNullOrUndefined(this.onreadystatechange)
  9999. },
  10000. get__response$i$1: function()
  10001. {
  10002. return this.responseText
  10003. },
  10004. set__response$i$1: function(value)
  10005. {
  10006. this.responseText=value;
  10007. return value
  10008. },
  10009. send: function(data)
  10010. {
  10011. this._checkSendConditions$i$1();
  10012. if($h.ScriptHelpers.isNullOrUndefined(data))
  10013. this._throwInvalidStateException$i$1();
  10014. this._sendRequest$i$0(5,"EwsRequest",{body: data})
  10015. },
  10016. _callOnReadyStateChangeCallback$i$1: function()
  10017. {
  10018. if(!$h.ScriptHelpers.isNullOrUndefined(this.onreadystatechange))
  10019. this.onreadystatechange()
  10020. },
  10021. _parseExtraResponseData$i$1: function(response){},
  10022. executeExtraFailedResponseSteps: function(){}
  10023. };
  10024. $h.InitialData=function(data)
  10025. {
  10026. this._data$p$0=data;
  10027. this._permissionLevel$p$0=this._calculatePermissionLevel$p$0()
  10028. };
  10029. $h.InitialData._defineReadOnlyProperty$i=function(o, methodName, getter)
  10030. {
  10031. var propertyDescriptor={
  10032. get: getter,
  10033. configurable: false
  10034. };
  10035. window["Object"]["defineProperty"](o,methodName,propertyDescriptor)
  10036. };
  10037. $h.InitialData.prototype={
  10038. _toRecipients$p$0: null,
  10039. _ccRecipients$p$0: null,
  10040. _attachments$p$0: null,
  10041. _resources$p$0: null,
  10042. _entities$p$0: null,
  10043. _selectedEntities$p$0: null,
  10044. _data$p$0: null,
  10045. _permissionLevel$p$0: 0,
  10046. get__isRestIdSupported$i$0: function()
  10047. {
  10048. return this._data$p$0["isRestIdSupported"]
  10049. },
  10050. get__itemId$i$0: function()
  10051. {
  10052. return this._data$p$0["id"]
  10053. },
  10054. get__itemClass$i$0: function()
  10055. {
  10056. return this._data$p$0["itemClass"]
  10057. },
  10058. get__dateTimeCreated$i$0: function()
  10059. {
  10060. return new Date(this._data$p$0["dateTimeCreated"])
  10061. },
  10062. get__dateTimeModified$i$0: function()
  10063. {
  10064. return new Date(this._data$p$0["dateTimeModified"])
  10065. },
  10066. get__dateTimeSent$i$0: function()
  10067. {
  10068. return new Date(this._data$p$0["dateTimeSent"])
  10069. },
  10070. get__subject$i$0: function()
  10071. {
  10072. this._throwOnRestrictedPermissionLevel$i$0();
  10073. return this._data$p$0["subject"]
  10074. },
  10075. get__normalizedSubject$i$0: function()
  10076. {
  10077. this._throwOnRestrictedPermissionLevel$i$0();
  10078. return this._data$p$0["normalizedSubject"]
  10079. },
  10080. get__internetMessageId$i$0: function()
  10081. {
  10082. return this._data$p$0["internetMessageId"]
  10083. },
  10084. get__conversationId$i$0: function()
  10085. {
  10086. return this._data$p$0["conversationId"]
  10087. },
  10088. get__sender$i$0: function()
  10089. {
  10090. this._throwOnRestrictedPermissionLevel$i$0();
  10091. var sender=this._data$p$0["sender"];
  10092. return $h.ScriptHelpers.isNullOrUndefined(sender) ? null : new $h.EmailAddressDetails(sender)
  10093. },
  10094. get__from$i$0: function()
  10095. {
  10096. this._throwOnRestrictedPermissionLevel$i$0();
  10097. var from=this._data$p$0["from"];
  10098. return $h.ScriptHelpers.isNullOrUndefined(from) ? null : new $h.EmailAddressDetails(from)
  10099. },
  10100. get__to$i$0: function()
  10101. {
  10102. this._throwOnRestrictedPermissionLevel$i$0();
  10103. if(null===this._toRecipients$p$0)
  10104. this._toRecipients$p$0=this._createEmailAddressDetails$p$0("to");
  10105. return this._toRecipients$p$0
  10106. },
  10107. get__cc$i$0: function()
  10108. {
  10109. this._throwOnRestrictedPermissionLevel$i$0();
  10110. if(null===this._ccRecipients$p$0)
  10111. this._ccRecipients$p$0=this._createEmailAddressDetails$p$0("cc");
  10112. return this._ccRecipients$p$0
  10113. },
  10114. get__attachments$i$0: function()
  10115. {
  10116. this._throwOnRestrictedPermissionLevel$i$0();
  10117. if(null===this._attachments$p$0)
  10118. this._attachments$p$0=this._createAttachmentDetails$p$0();
  10119. return this._attachments$p$0
  10120. },
  10121. get__ewsUrl$i$0: function()
  10122. {
  10123. return this._data$p$0["ewsUrl"]
  10124. },
  10125. get__restUrl$i$0: function()
  10126. {
  10127. return this._data$p$0["restUrl"]
  10128. },
  10129. get__marketplaceAssetId$i$0: function()
  10130. {
  10131. return this._data$p$0["marketplaceAssetId"]
  10132. },
  10133. get__extensionId$i$0: function()
  10134. {
  10135. return this._data$p$0["extensionId"]
  10136. },
  10137. get__marketplaceContentMarket$i$0: function()
  10138. {
  10139. return this._data$p$0["marketplaceContentMarket"]
  10140. },
  10141. get__consentMetadata$i$0: function()
  10142. {
  10143. return this._data$p$0["consentMetadata"]
  10144. },
  10145. get__isRead$i$0: function()
  10146. {
  10147. return this._data$p$0["isRead"]
  10148. },
  10149. get__endNodeUrl$i$0: function()
  10150. {
  10151. return this._data$p$0["endNodeUrl"]
  10152. },
  10153. get__entryPointUrl$i$0: function()
  10154. {
  10155. return this._data$p$0["entryPointUrl"]
  10156. },
  10157. get__start$i$0: function()
  10158. {
  10159. return new Date(this._data$p$0["start"])
  10160. },
  10161. get__end$i$0: function()
  10162. {
  10163. return new Date(this._data$p$0["end"])
  10164. },
  10165. get__location$i$0: function()
  10166. {
  10167. return this._data$p$0["location"]
  10168. },
  10169. get__userProfileType$i$0: function()
  10170. {
  10171. return this._data$p$0["userProfileType"]
  10172. },
  10173. get__resources$i$0: function()
  10174. {
  10175. this._throwOnRestrictedPermissionLevel$i$0();
  10176. if(null===this._resources$p$0)
  10177. this._resources$p$0=this._createEmailAddressDetails$p$0("resources");
  10178. return this._resources$p$0
  10179. },
  10180. get__organizer$i$0: function()
  10181. {
  10182. this._throwOnRestrictedPermissionLevel$i$0();
  10183. var organizer=this._data$p$0["organizer"];
  10184. return $h.ScriptHelpers.isNullOrUndefined(organizer) ? null : new $h.EmailAddressDetails(organizer)
  10185. },
  10186. get__userDisplayName$i$0: function()
  10187. {
  10188. return this._data$p$0["userDisplayName"]
  10189. },
  10190. get__userEmailAddress$i$0: function()
  10191. {
  10192. return this._data$p$0["userEmailAddress"]
  10193. },
  10194. get__userTimeZone$i$0: function()
  10195. {
  10196. return this._data$p$0["userTimeZone"]
  10197. },
  10198. get__timeZoneOffsets$i$0: function()
  10199. {
  10200. return this._data$p$0["timeZoneOffsets"]
  10201. },
  10202. get__hostVersion$i$0: function()
  10203. {
  10204. return this._data$p$0["hostVersion"]
  10205. },
  10206. get__owaView$i$0: function()
  10207. {
  10208. return this._data$p$0["owaView"]
  10209. },
  10210. get__overrideWindowOpen$i$0: function()
  10211. {
  10212. return this._data$p$0["overrideWindowOpen"]
  10213. },
  10214. _getEntities$i$0: function()
  10215. {
  10216. if(!this._entities$p$0)
  10217. this._entities$p$0=new $h.Entities(this._data$p$0["entities"],this._data$p$0["filteredEntities"],this.get__dateTimeSent$i$0(),this._permissionLevel$p$0);
  10218. return this._entities$p$0
  10219. },
  10220. _getSelectedEntities$i$0: function()
  10221. {
  10222. if(!this._selectedEntities$p$0)
  10223. this._selectedEntities$p$0=new $h.Entities(this._data$p$0["selectedEntities"],null,this.get__dateTimeSent$i$0(),this._permissionLevel$p$0);
  10224. return this._selectedEntities$p$0
  10225. },
  10226. _getEntitiesByType$i$0: function(entityType)
  10227. {
  10228. var entites=this._getEntities$i$0();
  10229. return entites._getByType$i$0(entityType)
  10230. },
  10231. _getFilteredEntitiesByName$i$0: function(name)
  10232. {
  10233. var entities=this._getEntities$i$0();
  10234. return entities._getFilteredEntitiesByName$i$0(name)
  10235. },
  10236. _getRegExMatches$i$0: function()
  10237. {
  10238. if(!this._data$p$0["regExMatches"])
  10239. return null;
  10240. return this._data$p$0["regExMatches"]
  10241. },
  10242. _getSelectedRegExMatches$i$0: function()
  10243. {
  10244. if(!this._data$p$0["selectedRegExMatches"])
  10245. return null;
  10246. return this._data$p$0["selectedRegExMatches"]
  10247. },
  10248. _getRegExMatchesByName$i$0: function(regexName)
  10249. {
  10250. var regexMatches=this._getRegExMatches$i$0();
  10251. if(!regexMatches || !regexMatches[regexName])
  10252. return null;
  10253. return regexMatches[regexName]
  10254. },
  10255. _throwOnRestrictedPermissionLevel$i$0: function()
  10256. {
  10257. window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0)
  10258. },
  10259. _createEmailAddressDetails$p$0: function(key)
  10260. {
  10261. var to=this._data$p$0[key];
  10262. if($h.ScriptHelpers.isNullOrUndefined(to))
  10263. return[];
  10264. var recipients=[];
  10265. for(var i=0; i < to["length"]; i++)
  10266. if(!$h.ScriptHelpers.isNullOrUndefined(to[i]))
  10267. recipients[i]=new $h.EmailAddressDetails(to[i]);
  10268. return recipients
  10269. },
  10270. _createAttachmentDetails$p$0: function()
  10271. {
  10272. var attachments=this._data$p$0["attachments"];
  10273. if($h.ScriptHelpers.isNullOrUndefined(attachments))
  10274. return[];
  10275. var attachmentDetails=[];
  10276. for(var i=0; i < attachments["length"]; i++)
  10277. if(!$h.ScriptHelpers.isNullOrUndefined(attachments[i]))
  10278. attachmentDetails[i]=new $h.AttachmentDetails(attachments[i]);
  10279. return attachmentDetails
  10280. },
  10281. _calculatePermissionLevel$p$0: function()
  10282. {
  10283. var HostReadItem=1;
  10284. var HostReadWriteMailbox=2;
  10285. var HostReadWriteItem=3;
  10286. var permissionLevelFromHost=this._data$p$0["permissionLevel"];
  10287. if($h.ScriptHelpers.isUndefined(this._permissionLevel$p$0))
  10288. return 0;
  10289. switch(permissionLevelFromHost)
  10290. {
  10291. case HostReadItem:
  10292. return 1;
  10293. case HostReadWriteItem:
  10294. return 2;
  10295. case HostReadWriteMailbox:
  10296. return 3;
  10297. default:
  10298. return 0
  10299. }
  10300. }
  10301. };
  10302. $h._loadDictionaryRequest=function(createResultObject, dictionaryName, callback, userContext)
  10303. {
  10304. $h._loadDictionaryRequest["initializeBase"](this,[userContext]);
  10305. this._createResultObject$p$1=createResultObject;
  10306. this._dictionaryName$p$1=dictionaryName;
  10307. this._callback$p$1=callback
  10308. };
  10309. $h._loadDictionaryRequest.prototype={
  10310. _dictionaryName$p$1: null,
  10311. _createResultObject$p$1: null,
  10312. _callback$p$1: null,
  10313. handleResponse: function(response)
  10314. {
  10315. if(response["wasSuccessful"])
  10316. {
  10317. var value=response[this._dictionaryName$p$1];
  10318. var responseData=window["JSON"]["parse"](value);
  10319. this.createAsyncResult(this._createResultObject$p$1(responseData),0,0,null)
  10320. }
  10321. else
  10322. this.createAsyncResult(null,1,9020,response["errorMessage"]);
  10323. this._callback$p$1(this._asyncResult$p$0)
  10324. }
  10325. };
  10326. $h.ProxyRequestBase=function(userContext)
  10327. {
  10328. $h.ProxyRequestBase["initializeBase"](this,[userContext])
  10329. };
  10330. $h.ProxyRequestBase.prototype={
  10331. handleResponse: function(response)
  10332. {
  10333. if(!response["wasProxySuccessful"])
  10334. {
  10335. this.set__statusCode$i$1(500);
  10336. this.set__statusDescription$i$1("Error");
  10337. var errorMessage=response["errorMessage"];
  10338. this.set__response$i$1(errorMessage);
  10339. this.createAsyncResult(null,1,9020,errorMessage)
  10340. }
  10341. else
  10342. {
  10343. this.set__statusCode$i$1(response["statusCode"]);
  10344. this.set__statusDescription$i$1(response["statusDescription"]);
  10345. this.set__response$i$1(response["body"]);
  10346. this.createAsyncResult(this.get__response$i$1(),0,0,null)
  10347. }
  10348. this._parseExtraResponseData$i$1(response);
  10349. this._cycleReadyStateFromHeadersReceivedToLoadingToDone$i$1()
  10350. },
  10351. _throwInvalidStateException$i$1: function()
  10352. {
  10353. throw Error.create("DOMException",{
  10354. code: 11,
  10355. message: "INVALID_STATE_ERR"
  10356. });
  10357. },
  10358. _cycleReadyStateFromHeadersReceivedToLoadingToDone$i$1: function()
  10359. {
  10360. var $$t_0=this;
  10361. this._changeReadyState$i$1(2,function()
  10362. {
  10363. $$t_0._changeReadyState$i$1(3,function()
  10364. {
  10365. $$t_0._changeReadyState$i$1(4,null)
  10366. })
  10367. })
  10368. },
  10369. _changeReadyState$i$1: function(state, nextStep)
  10370. {
  10371. this.set__requestState$i$1(state);
  10372. var $$t_2=this;
  10373. window.setTimeout(function()
  10374. {
  10375. try
  10376. {
  10377. $$t_2._callOnReadyStateChangeCallback$i$1()
  10378. }
  10379. finally
  10380. {
  10381. if(!$h.ScriptHelpers.isNullOrUndefined(nextStep))
  10382. nextStep()
  10383. }
  10384. },0)
  10385. },
  10386. _checkSendConditions$i$1: function()
  10387. {
  10388. if(this.get__requestState$i$1() !==1)
  10389. this._throwInvalidStateException$i$1();
  10390. if(this._isSent$p$0)
  10391. this._throwInvalidStateException$i$1()
  10392. }
  10393. };
  10394. $h.RequestBase=function(userContext)
  10395. {
  10396. this._userContext$p$0=userContext
  10397. };
  10398. $h.RequestBase.prototype={
  10399. _isSent$p$0: false,
  10400. _asyncResult$p$0: null,
  10401. _userContext$p$0: null,
  10402. get_asyncResult: function()
  10403. {
  10404. return this._asyncResult$p$0
  10405. },
  10406. _sendRequest$i$0: function(dispid, methodName, dataToSend)
  10407. {
  10408. this._isSent$p$0=true;
  10409. var $$t_5=this;
  10410. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.invokeHostMethod(dispid,dataToSend,function(resultCode, response)
  10411. {
  10412. if(resultCode)
  10413. $$t_5.createAsyncResult(null,1,9017,String.format(window["_u"]["ExtensibilityStrings"]["l_InternalProtocolError_Text"],resultCode));
  10414. else
  10415. $$t_5.handleResponse(response)
  10416. })
  10417. },
  10418. createAsyncResult: function(value, errorCode, detailedErrorCode, errorDescription)
  10419. {
  10420. this._asyncResult$p$0=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(value,errorCode,detailedErrorCode,this._userContext$p$0,errorDescription)
  10421. }
  10422. };
  10423. $h.SaveDictionaryRequest=function(callback, userContext)
  10424. {
  10425. $h.SaveDictionaryRequest["initializeBase"](this,[userContext]);
  10426. if(!$h.ScriptHelpers.isNullOrUndefined(callback))
  10427. this._callback$p$1=callback
  10428. };
  10429. $h.SaveDictionaryRequest.prototype={
  10430. _callback$p$1: null,
  10431. handleResponse: function(response)
  10432. {
  10433. if(response["wasSuccessful"])
  10434. this.createAsyncResult(null,0,0,null);
  10435. else
  10436. this.createAsyncResult(null,1,9020,response["errorMessage"]);
  10437. if(!$h.ScriptHelpers.isNullOrUndefined(this._callback$p$1))
  10438. this._callback$p$1(this._asyncResult$p$0)
  10439. }
  10440. };
  10441. $h.ScriptHelpers=function(){};
  10442. $h.ScriptHelpers.isNull=function(value)
  10443. {
  10444. return null===value
  10445. };
  10446. $h.ScriptHelpers.isNullOrUndefined=function(value)
  10447. {
  10448. return $h.ScriptHelpers.isNull(value) || $h.ScriptHelpers.isUndefined(value)
  10449. };
  10450. $h.ScriptHelpers.isUndefined=function(value)
  10451. {
  10452. return value===undefined
  10453. };
  10454. $h.ScriptHelpers.dictionaryContainsKey=function(obj, keyName)
  10455. {
  10456. return Object["isInstanceOfType"](obj) ? keyName in obj : false
  10457. };
  10458. $h.ScriptHelpers.isNonEmptyString=function(value)
  10459. {
  10460. if(!value)
  10461. return false;
  10462. return String["isInstanceOfType"](value)
  10463. };
  10464. $h.ScriptHelpers.deepClone=function(obj)
  10465. {
  10466. return window["JSON"]["parse"](window["JSON"]["stringify"](obj))
  10467. };
  10468. $h.ScriptHelpers.isValueTrue=function(value)
  10469. {
  10470. if(!$h.ScriptHelpers.isNullOrUndefined(value))
  10471. return value["toString"]().toLowerCase()==="true";
  10472. return false
  10473. };
  10474. window["OSF"]["DDA"]["OutlookAppOm"]["registerClass"]("OSF.DDA.OutlookAppOm");
  10475. window["OSF"]["DDA"]["Settings"]["registerClass"]("OSF.DDA.Settings");
  10476. $h.AdditionalGlobalParameters["registerClass"]("$h.4");
  10477. $h.ItemBase["registerClass"]("$h.5");
  10478. $h.Item["registerClass"]("$h.6",$h.ItemBase);
  10479. $h.Appointment["registerClass"]("$h.7",$h.Item);
  10480. $h.ComposeItem["registerClass"]("$h.8",$h.ItemBase);
  10481. $h.AppointmentCompose["registerClass"]("$h.9",$h.ComposeItem);
  10482. $h.AttachmentDetails["registerClass"]("$h.A");
  10483. $h.Body["registerClass"]("$h.B");
  10484. $h.ComposeBody["registerClass"]("$h.C",$h.Body);
  10485. $h.ComposeRecipient["registerClass"]("$h.D");
  10486. $h.ComposeLocation["registerClass"]("$h.E");
  10487. $h.ComposeSubject["registerClass"]("$h.F");
  10488. $h.ComposeTime["registerClass"]("$h.G");
  10489. $h.Contact["registerClass"]("$h.H");
  10490. $h.CustomProperties["registerClass"]("$h.I");
  10491. $h.Diagnostics["registerClass"]("$h.J");
  10492. $h.EmailAddressDetails["registerClass"]("$h.K");
  10493. $h.Entities["registerClass"]("$h.L");
  10494. $h.Message["registerClass"]("$h.M",$h.Item);
  10495. $h.MeetingRequest["registerClass"]("$h.N",$h.Message);
  10496. $h.MeetingSuggestion["registerClass"]("$h.O");
  10497. $h._extractedDate["registerClass"]("$h.P");
  10498. $h._preciseDate["registerClass"]("$h.Q",$h._extractedDate);
  10499. $h._relativeDate["registerClass"]("$h.R",$h._extractedDate);
  10500. $h.MessageCompose["registerClass"]("$h.S",$h.ComposeItem);
  10501. $h.NotificationMessages["registerClass"]("$h.T");
  10502. $h.PhoneNumber["registerClass"]("$h.U");
  10503. $h.TaskSuggestion["registerClass"]("$h.V");
  10504. $h.UserProfile["registerClass"]("$h.W");
  10505. $h.CommonParameters["registerClass"]("$h.X");
  10506. $h.RequestBase["registerClass"]("$h.Y");
  10507. $h.ProxyRequestBase["registerClass"]("$h.Z",$h.RequestBase);
  10508. $h.EwsRequest["registerClass"]("$h.a",$h.ProxyRequestBase);
  10509. $h.InitialData["registerClass"]("$h.b");
  10510. $h._loadDictionaryRequest["registerClass"]("$h.c",$h.RequestBase);
  10511. $h.SaveDictionaryRequest["registerClass"]("$h.d",$h.RequestBase);
  10512. window["OSF"]["DDA"]["OutlookAppOm"].asyncMethodTimeoutKeyName="__timeout__";
  10513. window["OSF"]["DDA"]["OutlookAppOm"].ewsIdOrEmailParamName="ewsIdOrEmail";
  10514. window["OSF"]["DDA"]["OutlookAppOm"].moduleParamName="module";
  10515. window["OSF"]["DDA"]["OutlookAppOm"].queryStringParamName="queryString";
  10516. window["OSF"]["DDA"]["OutlookAppOm"]._maxRecipients$p=100;
  10517. window["OSF"]["DDA"]["OutlookAppOm"]._maxSubjectLength$p=255;
  10518. window["OSF"]["DDA"]["OutlookAppOm"].maxBodyLength=32768;
  10519. window["OSF"]["DDA"]["OutlookAppOm"]._maxLocationLength$p=255;
  10520. window["OSF"]["DDA"]["OutlookAppOm"]._maxEwsRequestSize$p=1e6;
  10521. window["OSF"]["DDA"]["OutlookAppOm"].executeMethodName="ExecuteMethod";
  10522. window["OSF"]["DDA"]["OutlookAppOm"].getInitialDataMethodName="GetInitialData";
  10523. window["OSF"]["DDA"]["OutlookAppOm"].itemIdParameterName="itemId";
  10524. window["OSF"]["DDA"]["OutlookAppOm"].restVersionParameterName="restVersion";
  10525. window["OSF"]["DDA"]["OutlookAppOm"]._instance$p=null;
  10526. $h.AdditionalGlobalParameters.itemNumberKey="itemNumber";
  10527. $h.AttachmentConstants.maxAttachmentNameLength=255;
  10528. $h.AttachmentConstants.maxUrlLength=2048;
  10529. $h.AttachmentConstants.maxItemIdLength=200;
  10530. $h.AttachmentConstants.maxRemoveIdLength=200;
  10531. $h.AttachmentConstants.attachmentParameterName="attachments";
  10532. $h.AttachmentConstants.attachmentTypeParameterName="type";
  10533. $h.AttachmentConstants.attachmentUrlParameterName="url";
  10534. $h.AttachmentConstants.attachmentItemIdParameterName="itemId";
  10535. $h.AttachmentConstants.attachmentNameParameterName="name";
  10536. $h.AttachmentConstants.attachmentIsInlineParameterName="isInline";
  10537. $h.AttachmentConstants.attachmentTypeFileName="file";
  10538. $h.AttachmentConstants.attachmentTypeItemName="item";
  10539. $h.AttachmentDetails._attachmentTypeMap$p=[window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["AttachmentType"]["File"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["AttachmentType"]["Item"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["AttachmentType"]["Cloud"]];
  10540. $h.Body.coercionTypeParameterName="coercionType";
  10541. $h.ComposeRecipient.displayNameLengthLimit=255;
  10542. $h.ComposeRecipient.maxSmtpLength=571;
  10543. $h.ComposeRecipient.recipientsLimit=100;
  10544. $h.ComposeRecipient.totalRecipientsLimit=500;
  10545. $h.ComposeRecipient.addressParameterName="address";
  10546. $h.ComposeRecipient.nameParameterName="name";
  10547. $h.ComposeLocation.locationKey="location";
  10548. $h.ComposeLocation.maximumLocationLength=255;
  10549. $h.ComposeSubject.maximumSubjectLength=255;
  10550. $h.ComposeTime.timeTypeName="TimeProperty";
  10551. $h.ComposeTime.timeDataName="time";
  10552. $h.Diagnostics.outlookAppName="Outlook";
  10553. $h.Diagnostics.outlookWebAppName="OutlookWebApp";
  10554. $h.Diagnostics.outlookIOSAppName="OutlookIOS";
  10555. $h.Diagnostics.outlookAndroidAppName="OutlookAndroid";
  10556. $h.EmailAddressDetails._emptyString$p="";
  10557. $h.EmailAddressDetails._responseTypeMap$p=[window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ResponseType"]["None"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ResponseType"]["Organizer"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ResponseType"]["Tentative"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ResponseType"]["Accepted"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ResponseType"]["Declined"]];
  10558. $h.EmailAddressDetails._recipientTypeMap$p=[window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RecipientType"]["Other"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RecipientType"]["DistributionList"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RecipientType"]["User"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RecipientType"]["ExternalUser"]];
  10559. $h.Entities._allEntityKeys$p=["Addresses","EmailAddresses","Urls","PhoneNumbers","TaskSuggestions","MeetingSuggestions","Contacts","FlightReservations","ParcelDeliveries"];
  10560. $h.ReplyConstants.htmlBodyKeyName="htmlBody";
  10561. $h.AsyncConstants.optionsKeyName="options";
  10562. $h.AsyncConstants.callbackKeyName="callback";
  10563. $h.AsyncConstants.asyncResultKeyName="asyncResult";
  10564. $h.MeetingSuggestionTimeDecoder._baseDate$p=new Date("0001-01-01T00:00:00Z");
  10565. $h.NotificationMessages.maximumKeyLength=32;
  10566. $h.NotificationMessages.maximumIconLength=32;
  10567. $h.NotificationMessages.maximumMessageLength=150;
  10568. $h.NotificationMessages.notificationsKeyParameterName="key";
  10569. $h.NotificationMessages.notificationsTypeParameterName="type";
  10570. $h.NotificationMessages.notificationsIconParameterName="icon";
  10571. $h.NotificationMessages.notificationsMessageParameterName="message";
  10572. $h.NotificationMessages.notificationsPersistentParameterName="persistent";
  10573. $h.OutlookErrorManager.errorNameKey="name";
  10574. $h.OutlookErrorManager.errorMessageKey="message";
  10575. $h.OutlookErrorManager._isInitialized$p=false;
  10576. $h.OutlookErrorManager.OutlookErrorCodes.attachmentSizeExceeded=9e3;
  10577. $h.OutlookErrorManager.OutlookErrorCodes.numberOfAttachmentsExceeded=9001;
  10578. $h.OutlookErrorManager.OutlookErrorCodes.internalFormatError=9002;
  10579. $h.OutlookErrorManager.OutlookErrorCodes.invalidAttachmentId=9003;
  10580. $h.OutlookErrorManager.OutlookErrorCodes.invalidAttachmentPath=9004;
  10581. $h.OutlookErrorManager.OutlookErrorCodes.cannotAddAttachmentBeforeUpgrade=9005;
  10582. $h.OutlookErrorManager.OutlookErrorCodes.attachmentDeletedBeforeUploadCompletes=9006;
  10583. $h.OutlookErrorManager.OutlookErrorCodes.attachmentUploadGeneralFailure=9007;
  10584. $h.OutlookErrorManager.OutlookErrorCodes.attachmentToDeleteDoesNotExist=9008;
  10585. $h.OutlookErrorManager.OutlookErrorCodes.attachmentDeleteGeneralFailure=9009;
  10586. $h.OutlookErrorManager.OutlookErrorCodes.invalidEndTime=9010;
  10587. $h.OutlookErrorManager.OutlookErrorCodes.htmlSanitizationFailure=9011;
  10588. $h.OutlookErrorManager.OutlookErrorCodes.numberOfRecipientsExceeded=9012;
  10589. $h.OutlookErrorManager.OutlookErrorCodes.noValidRecipientsProvided=9013;
  10590. $h.OutlookErrorManager.OutlookErrorCodes.cursorPositionChanged=9014;
  10591. $h.OutlookErrorManager.OutlookErrorCodes.invalidSelection=9016;
  10592. $h.OutlookErrorManager.OutlookErrorCodes.accessRestricted=9017;
  10593. $h.OutlookErrorManager.OutlookErrorCodes.genericTokenError=9018;
  10594. $h.OutlookErrorManager.OutlookErrorCodes.genericSettingsError=9019;
  10595. $h.OutlookErrorManager.OutlookErrorCodes.genericResponseError=9020;
  10596. $h.OutlookErrorManager.OutlookErrorCodes.saveError=9021;
  10597. $h.OutlookErrorManager.OutlookErrorCodes.messageInDifferentStoreError=9022;
  10598. $h.OutlookErrorManager.OutlookErrorCodes.duplicateNotificationKey=9023;
  10599. $h.OutlookErrorManager.OutlookErrorCodes.notificationKeyNotFound=9024;
  10600. $h.OutlookErrorManager.OutlookErrorCodes.numberOfNotificationsExceeded=9025;
  10601. $h.OutlookErrorManager.OutlookErrorCodes.persistedNotificationArrayReadError=9026;
  10602. $h.OutlookErrorManager.OutlookErrorCodes.persistedNotificationArraySaveError=9027;
  10603. $h.OutlookErrorManager.OutlookErrorCodes.cannotPersistPropertyInUnsavedDraftError=9028;
  10604. $h.OutlookErrorManager.OutlookErrorCodes.callSaveAsyncBeforeToken=9029;
  10605. $h.OutlookErrorManager.OutlookErrorCodes.ooeInvalidDataFormat=2006;
  10606. $h.OutlookErrorManager.OsfDdaErrorCodes.ooeCoercionTypeNotSupported=1e3;
  10607. $h.CommonParameters.asyncContextKeyName="asyncContext";
  10608. $h.InitialData.userProfileTypeKey="userProfileType";
  10609. $h.ScriptHelpers.emptyString="";
  10610. OSF.DDA.ErrorCodeManager.initializeErrorMessages(Strings.OfficeOM);
  10611. if(appContext.get_appName()==OSF.AppName.OutlookWebApp || appContext.get_appName()==OSF.AppName.OutlookIOS || appContext.get_appName()==OSF.AppName.OutlookAndroid)
  10612. this._settings=this._initializeSettings(appContext,false);
  10613. else
  10614. this._settings=this._initializeSettings(false);
  10615. appContext.appOM=new OSF.DDA.OutlookAppOm(appContext,this._webAppState.wnd,appReady);
  10616. if(appContext.get_appName()==OSF.AppName.Outlook || appContext.get_appName()==OSF.AppName.OutlookWebApp)
  10617. OSF.DDA.DispIdHost.addEventSupport(appContext.appOM,new OSF.EventDispatch([Microsoft.Office.WebExtension.EventType.OlkItemSelectedChanged]))
  10618. }