123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587 |
- /* PowerPoint specific API library */
- /* Version: 16.0.7415.1000 */
- /*
- Copyright (c) Microsoft Corporation. All rights reserved.
- */
-
-
- /*
- Your use of this file is governed by the Microsoft Services Agreement http://go.microsoft.com/fwlink/?LinkId=266419.
- */
-
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var OfficeExt;
- (function (OfficeExt) {
- var MicrosoftAjaxFactory = (function () {
- function MicrosoftAjaxFactory() {
- }
- MicrosoftAjaxFactory.prototype.isMsAjaxLoaded = function () {
- 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") {
- return true;
- }
- else {
- return false;
- }
- };
- MicrosoftAjaxFactory.prototype.loadMsAjaxFull = function (callback) {
- var msAjaxCDNPath = (window.location.protocol.toLowerCase() === 'https:' ? 'https:' : 'http:') + '//ajax.aspnetcdn.com/ajax/3.5/MicrosoftAjax.js';
- OSF.OUtil.loadScript(msAjaxCDNPath, callback);
- };
- Object.defineProperty(MicrosoftAjaxFactory.prototype, "msAjaxError", {
- get: function () {
- if (this._msAjaxError == null && this.isMsAjaxLoaded()) {
- this._msAjaxError = Error;
- }
- return this._msAjaxError;
- },
- set: function (errorClass) {
- this._msAjaxError = errorClass;
- },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(MicrosoftAjaxFactory.prototype, "msAjaxSerializer", {
- get: function () {
- if (this._msAjaxSerializer == null && this.isMsAjaxLoaded()) {
- this._msAjaxSerializer = Sys.Serialization.JavaScriptSerializer;
- }
- return this._msAjaxSerializer;
- },
- set: function (serializerClass) {
- this._msAjaxSerializer = serializerClass;
- },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(MicrosoftAjaxFactory.prototype, "msAjaxString", {
- get: function () {
- if (this._msAjaxString == null && this.isMsAjaxLoaded()) {
- this._msAjaxSerializer = String;
- }
- return this._msAjaxString;
- },
- set: function (stringClass) {
- this._msAjaxString = stringClass;
- },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(MicrosoftAjaxFactory.prototype, "msAjaxDebug", {
- get: function () {
- if (this._msAjaxDebug == null && this.isMsAjaxLoaded()) {
- this._msAjaxDebug = Sys.Debug;
- }
- return this._msAjaxDebug;
- },
- set: function (debugClass) {
- this._msAjaxDebug = debugClass;
- },
- enumerable: true,
- configurable: true
- });
- return MicrosoftAjaxFactory;
- })();
- OfficeExt.MicrosoftAjaxFactory = MicrosoftAjaxFactory;
- })(OfficeExt || (OfficeExt = {}));
- var OsfMsAjaxFactory = new OfficeExt.MicrosoftAjaxFactory();
- var OSF = OSF || {};
- var OfficeExt;
- (function (OfficeExt) {
- var SafeStorage = (function () {
- function SafeStorage(_internalStorage) {
- this._internalStorage = _internalStorage;
- }
- SafeStorage.prototype.getItem = function (key) {
- try {
- return this._internalStorage && this._internalStorage.getItem(key);
- }
- catch (e) {
- return null;
- }
- };
- SafeStorage.prototype.setItem = function (key, data) {
- try {
- this._internalStorage && this._internalStorage.setItem(key, data);
- }
- catch (e) {
- }
- };
- SafeStorage.prototype.clear = function () {
- try {
- this._internalStorage && this._internalStorage.clear();
- }
- catch (e) {
- }
- };
- SafeStorage.prototype.removeItem = function (key) {
- try {
- this._internalStorage && this._internalStorage.removeItem(key);
- }
- catch (e) {
- }
- };
- SafeStorage.prototype.getKeysWithPrefix = function (keyPrefix) {
- var keyList = [];
- try {
- var len = this._internalStorage && this._internalStorage.length || 0;
- for (var i = 0; i < len; i++) {
- var key = this._internalStorage.key(i);
- if (key.indexOf(keyPrefix) === 0) {
- keyList.push(key);
- }
- }
- }
- catch (e) {
- }
- return keyList;
- };
- return SafeStorage;
- })();
- OfficeExt.SafeStorage = SafeStorage;
- })(OfficeExt || (OfficeExt = {}));
- OSF.XdmFieldName = {
- ConversationUrl: "ConversationUrl",
- AppId: "AppId"
- };
- OSF.WindowNameItemKeys = {
- BaseFrameName: "baseFrameName",
- HostInfo: "hostInfo",
- XdmInfo: "xdmInfo",
- SerializerVersion: "serializerVersion",
- AppContext: "appContext"
- };
- OSF.OUtil = (function () {
- var _uniqueId = -1;
- var _xdmInfoKey = '&_xdm_Info=';
- var _serializerVersionKey = '&_serializer_version=';
- var _xdmSessionKeyPrefix = '_xdm_';
- var _serializerVersionKeyPrefix = '_serializer_version=';
- var _fragmentSeparator = '#';
- var _fragmentInfoDelimiter = '&';
- var _classN = "class";
- var _loadedScripts = {};
- var _defaultScriptLoadingTimeout = 30000;
- var _safeSessionStorage = null;
- var _safeLocalStorage = null;
- var _rndentropy = new Date().getTime();
- function _random() {
- var nextrand = 0x7fffffff * (Math.random());
- nextrand ^= _rndentropy ^ ((new Date().getMilliseconds()) << Math.floor(Math.random() * (31 - 10)));
- return nextrand.toString(16);
- }
- ;
- function _getSessionStorage() {
- if (!_safeSessionStorage) {
- try {
- var sessionStorage = window.sessionStorage;
- }
- catch (ex) {
- sessionStorage = null;
- }
- _safeSessionStorage = new OfficeExt.SafeStorage(sessionStorage);
- }
- return _safeSessionStorage;
- }
- ;
- function _reOrderTabbableElements(elements) {
- var bucket0 = [];
- var bucketPositive = [];
- var i;
- var len = elements.length;
- var ele;
- for (i = 0; i < len; i++) {
- ele = elements[i];
- if (ele.tabIndex) {
- if (ele.tabIndex > 0) {
- bucketPositive.push(ele);
- }
- else if (ele.tabIndex === 0) {
- bucket0.push(ele);
- }
- }
- else {
- bucket0.push(ele);
- }
- }
- bucketPositive = bucketPositive.sort(function (left, right) {
- var diff = left.tabIndex - right.tabIndex;
- if (diff === 0) {
- diff = bucketPositive.indexOf(left) - bucketPositive.indexOf(right);
- }
- return diff;
- });
- return [].concat(bucketPositive, bucket0);
- }
- ;
- return {
- set_entropy: function OSF_OUtil$set_entropy(entropy) {
- if (typeof entropy == "string") {
- for (var i = 0; i < entropy.length; i += 4) {
- var temp = 0;
- for (var j = 0; j < 4 && i + j < entropy.length; j++) {
- temp = (temp << 8) + entropy.charCodeAt(i + j);
- }
- _rndentropy ^= temp;
- }
- }
- else if (typeof entropy == "number") {
- _rndentropy ^= entropy;
- }
- else {
- _rndentropy ^= 0x7fffffff * Math.random();
- }
- _rndentropy &= 0x7fffffff;
- },
- extend: function OSF_OUtil$extend(child, parent) {
- var F = function () { };
- F.prototype = parent.prototype;
- child.prototype = new F();
- child.prototype.constructor = child;
- child.uber = parent.prototype;
- if (parent.prototype.constructor === Object.prototype.constructor) {
- parent.prototype.constructor = parent;
- }
- },
- setNamespace: function OSF_OUtil$setNamespace(name, parent) {
- if (parent && name && !parent[name]) {
- parent[name] = {};
- }
- },
- unsetNamespace: function OSF_OUtil$unsetNamespace(name, parent) {
- if (parent && name && parent[name]) {
- delete parent[name];
- }
- },
- loadScript: function OSF_OUtil$loadScript(url, callback, timeoutInMs) {
- if (url && callback) {
- var doc = window.document;
- var _loadedScriptEntry = _loadedScripts[url];
- if (!_loadedScriptEntry) {
- var script = doc.createElement("script");
- script.type = "text/javascript";
- _loadedScriptEntry = { loaded: false, pendingCallbacks: [callback], timer: null };
- _loadedScripts[url] = _loadedScriptEntry;
- var onLoadCallback = function OSF_OUtil_loadScript$onLoadCallback() {
- if (_loadedScriptEntry.timer != null) {
- clearTimeout(_loadedScriptEntry.timer);
- delete _loadedScriptEntry.timer;
- }
- _loadedScriptEntry.loaded = true;
- var pendingCallbackCount = _loadedScriptEntry.pendingCallbacks.length;
- for (var i = 0; i < pendingCallbackCount; i++) {
- var currentCallback = _loadedScriptEntry.pendingCallbacks.shift();
- currentCallback();
- }
- };
- var onLoadError = function OSF_OUtil_loadScript$onLoadError() {
- delete _loadedScripts[url];
- if (_loadedScriptEntry.timer != null) {
- clearTimeout(_loadedScriptEntry.timer);
- delete _loadedScriptEntry.timer;
- }
- var pendingCallbackCount = _loadedScriptEntry.pendingCallbacks.length;
- for (var i = 0; i < pendingCallbackCount; i++) {
- var currentCallback = _loadedScriptEntry.pendingCallbacks.shift();
- currentCallback();
- }
- };
- if (script.readyState) {
- script.onreadystatechange = function () {
- if (script.readyState == "loaded" || script.readyState == "complete") {
- script.onreadystatechange = null;
- onLoadCallback();
- }
- };
- }
- else {
- script.onload = onLoadCallback;
- }
- script.onerror = onLoadError;
- timeoutInMs = timeoutInMs || _defaultScriptLoadingTimeout;
- _loadedScriptEntry.timer = setTimeout(onLoadError, timeoutInMs);
- script.src = url;
- doc.getElementsByTagName("head")[0].appendChild(script);
- }
- else if (_loadedScriptEntry.loaded) {
- callback();
- }
- else {
- _loadedScriptEntry.pendingCallbacks.push(callback);
- }
- }
- },
- loadCSS: function OSF_OUtil$loadCSS(url) {
- if (url) {
- var doc = window.document;
- var link = doc.createElement("link");
- link.type = "text/css";
- link.rel = "stylesheet";
- link.href = url;
- doc.getElementsByTagName("head")[0].appendChild(link);
- }
- },
- parseEnum: function OSF_OUtil$parseEnum(str, enumObject) {
- var parsed = enumObject[str.trim()];
- if (typeof (parsed) == 'undefined') {
- OsfMsAjaxFactory.msAjaxDebug.trace("invalid enumeration string:" + str);
- throw OsfMsAjaxFactory.msAjaxError.argument("str");
- }
- return parsed;
- },
- delayExecutionAndCache: function OSF_OUtil$delayExecutionAndCache() {
- var obj = { calc: arguments[0] };
- return function () {
- if (obj.calc) {
- obj.val = obj.calc.apply(this, arguments);
- delete obj.calc;
- }
- return obj.val;
- };
- },
- getUniqueId: function OSF_OUtil$getUniqueId() {
- _uniqueId = _uniqueId + 1;
- return _uniqueId.toString();
- },
- formatString: function OSF_OUtil$formatString() {
- var args = arguments;
- var source = args[0];
- return source.replace(/{(\d+)}/gm, function (match, number) {
- var index = parseInt(number, 10) + 1;
- return args[index] === undefined ? '{' + number + '}' : args[index];
- });
- },
- generateConversationId: function OSF_OUtil$generateConversationId() {
- return [_random(), _random(), (new Date()).getTime().toString()].join('_');
- },
- getFrameName: function OSF_OUtil$getFrameName(cacheKey) {
- return _xdmSessionKeyPrefix + cacheKey + this.generateConversationId();
- },
- addXdmInfoAsHash: function OSF_OUtil$addXdmInfoAsHash(url, xdmInfoValue) {
- return OSF.OUtil.addInfoAsHash(url, _xdmInfoKey, xdmInfoValue, false);
- },
- addSerializerVersionAsHash: function OSF_OUtil$addSerializerVersionAsHash(url, serializerVersion) {
- return OSF.OUtil.addInfoAsHash(url, _serializerVersionKey, serializerVersion, true);
- },
- addInfoAsHash: function OSF_OUtil$addInfoAsHash(url, keyName, infoValue, encodeInfo) {
- url = url.trim() || '';
- var urlParts = url.split(_fragmentSeparator);
- var urlWithoutFragment = urlParts.shift();
- var fragment = urlParts.join(_fragmentSeparator);
- var newFragment;
- if (encodeInfo) {
- newFragment = [keyName, encodeURIComponent(infoValue), fragment].join('');
- }
- else {
- newFragment = [fragment, keyName, infoValue].join('');
- }
- return [urlWithoutFragment, _fragmentSeparator, newFragment].join('');
- },
- parseHostInfoFromWindowName: function OSF_OUtil$parseHostInfoFromWindowName(skipSessionStorage, windowName) {
- return OSF.OUtil.parseInfoFromWindowName(skipSessionStorage, windowName, OSF.WindowNameItemKeys.HostInfo);
- },
- parseXdmInfo: function OSF_OUtil$parseXdmInfo(skipSessionStorage) {
- var xdmInfoValue = OSF.OUtil.parseXdmInfoWithGivenFragment(skipSessionStorage, window.location.hash);
- if (!xdmInfoValue) {
- xdmInfoValue = OSF.OUtil.parseXdmInfoFromWindowName(skipSessionStorage, window.name);
- }
- return xdmInfoValue;
- },
- parseXdmInfoFromWindowName: function OSF_OUtil$parseXdmInfoFromWindowName(skipSessionStorage, windowName) {
- return OSF.OUtil.parseInfoFromWindowName(skipSessionStorage, windowName, OSF.WindowNameItemKeys.XdmInfo);
- },
- parseXdmInfoWithGivenFragment: function OSF_OUtil$parseXdmInfoWithGivenFragment(skipSessionStorage, fragment) {
- return OSF.OUtil.parseInfoWithGivenFragment(_xdmInfoKey, _xdmSessionKeyPrefix, false, skipSessionStorage, fragment);
- },
- parseSerializerVersion: function OSF_OUtil$parseSerializerVersion(skipSessionStorage) {
- var serializerVersion = OSF.OUtil.parseSerializerVersionWithGivenFragment(skipSessionStorage, window.location.hash);
- if (isNaN(serializerVersion)) {
- serializerVersion = OSF.OUtil.parseSerializerVersionFromWindowName(skipSessionStorage, window.name);
- }
- return serializerVersion;
- },
- parseSerializerVersionFromWindowName: function OSF_OUtil$parseSerializerVersionFromWindowName(skipSessionStorage, windowName) {
- return parseInt(OSF.OUtil.parseInfoFromWindowName(skipSessionStorage, windowName, OSF.WindowNameItemKeys.SerializerVersion));
- },
- parseSerializerVersionWithGivenFragment: function OSF_OUtil$parseSerializerVersionWithGivenFragment(skipSessionStorage, fragment) {
- return parseInt(OSF.OUtil.parseInfoWithGivenFragment(_serializerVersionKey, _serializerVersionKeyPrefix, true, skipSessionStorage, fragment));
- },
- parseInfoFromWindowName: function OSF_OUtil$parseInfoFromWindowName(skipSessionStorage, windowName, infoKey) {
- try {
- var windowNameObj = JSON.parse(windowName);
- var infoValue = windowNameObj != null ? windowNameObj[infoKey] : null;
- var osfSessionStorage = _getSessionStorage();
- if (!skipSessionStorage && osfSessionStorage && windowNameObj != null) {
- var sessionKey = windowNameObj[OSF.WindowNameItemKeys.BaseFrameName] + infoKey;
- if (infoValue) {
- osfSessionStorage.setItem(sessionKey, infoValue);
- }
- else {
- infoValue = osfSessionStorage.getItem(sessionKey);
- }
- }
- return infoValue;
- }
- catch (Exception) {
- return null;
- }
- },
- parseInfoWithGivenFragment: function OSF_OUtil$parseInfoWithGivenFragment(infoKey, infoKeyPrefix, decodeInfo, skipSessionStorage, fragment) {
- var fragmentParts = fragment.split(infoKey);
- var infoValue = fragmentParts.length > 1 ? fragmentParts[fragmentParts.length - 1] : null;
- if (decodeInfo && infoValue != null) {
- if (infoValue.indexOf(_fragmentInfoDelimiter) >= 0) {
- infoValue = infoValue.split(_fragmentInfoDelimiter)[0];
- }
- infoValue = decodeURIComponent(infoValue);
- }
- var osfSessionStorage = _getSessionStorage();
- if (!skipSessionStorage && osfSessionStorage) {
- var sessionKeyStart = window.name.indexOf(infoKeyPrefix);
- if (sessionKeyStart > -1) {
- var sessionKeyEnd = window.name.indexOf(";", sessionKeyStart);
- if (sessionKeyEnd == -1) {
- sessionKeyEnd = window.name.length;
- }
- var sessionKey = window.name.substring(sessionKeyStart, sessionKeyEnd);
- if (infoValue) {
- osfSessionStorage.setItem(sessionKey, infoValue);
- }
- else {
- infoValue = osfSessionStorage.getItem(sessionKey);
- }
- }
- }
- return infoValue;
- },
- getConversationId: function OSF_OUtil$getConversationId() {
- var searchString = window.location.search;
- var conversationId = null;
- if (searchString) {
- var index = searchString.indexOf("&");
- conversationId = index > 0 ? searchString.substring(1, index) : searchString.substr(1);
- if (conversationId && conversationId.charAt(conversationId.length - 1) === '=') {
- conversationId = conversationId.substring(0, conversationId.length - 1);
- if (conversationId) {
- conversationId = decodeURIComponent(conversationId);
- }
- }
- }
- return conversationId;
- },
- getInfoItems: function OSF_OUtil$getInfoItems(strInfo) {
- var items = strInfo.split("$");
- if (typeof items[1] == "undefined") {
- items = strInfo.split("|");
- }
- if (typeof items[1] == "undefined") {
- items = strInfo.split("%7C");
- }
- return items;
- },
- getXdmFieldValue: function OSF_OUtil$getXdmFieldValue(xdmFieldName, skipSessionStorage) {
- var fieldValue = '';
- var xdmInfoValue = OSF.OUtil.parseXdmInfo(skipSessionStorage);
- if (xdmInfoValue) {
- var items = OSF.OUtil.getInfoItems(xdmInfoValue);
- if (items != undefined && items.length >= 3) {
- switch (xdmFieldName) {
- case OSF.XdmFieldName.ConversationUrl:
- fieldValue = items[2];
- case OSF.XdmFieldName.AppId:
- fieldValue = items[1];
- }
- }
- }
- return fieldValue;
- },
- validateParamObject: function OSF_OUtil$validateParamObject(params, expectedProperties, callback) {
- var e = Function._validateParams(arguments, [{ name: "params", type: Object, mayBeNull: false },
- { name: "expectedProperties", type: Object, mayBeNull: false },
- { name: "callback", type: Function, mayBeNull: true }
- ]);
- if (e)
- throw e;
- for (var p in expectedProperties) {
- e = Function._validateParameter(params[p], expectedProperties[p], p);
- if (e)
- throw e;
- }
- },
- writeProfilerMark: function OSF_OUtil$writeProfilerMark(text) {
- if (window.msWriteProfilerMark) {
- window.msWriteProfilerMark(text);
- OsfMsAjaxFactory.msAjaxDebug.trace(text);
- }
- },
- outputDebug: function OSF_OUtil$outputDebug(text) {
- if (typeof (OsfMsAjaxFactory) !== 'undefined' && OsfMsAjaxFactory.msAjaxDebug && OsfMsAjaxFactory.msAjaxDebug.trace) {
- OsfMsAjaxFactory.msAjaxDebug.trace(text);
- }
- },
- defineNondefaultProperty: function OSF_OUtil$defineNondefaultProperty(obj, prop, descriptor, attributes) {
- descriptor = descriptor || {};
- for (var nd in attributes) {
- var attribute = attributes[nd];
- if (descriptor[attribute] == undefined) {
- descriptor[attribute] = true;
- }
- }
- Object.defineProperty(obj, prop, descriptor);
- return obj;
- },
- defineNondefaultProperties: function OSF_OUtil$defineNondefaultProperties(obj, descriptors, attributes) {
- descriptors = descriptors || {};
- for (var prop in descriptors) {
- OSF.OUtil.defineNondefaultProperty(obj, prop, descriptors[prop], attributes);
- }
- return obj;
- },
- defineEnumerableProperty: function OSF_OUtil$defineEnumerableProperty(obj, prop, descriptor) {
- return OSF.OUtil.defineNondefaultProperty(obj, prop, descriptor, ["enumerable"]);
- },
- defineEnumerableProperties: function OSF_OUtil$defineEnumerableProperties(obj, descriptors) {
- return OSF.OUtil.defineNondefaultProperties(obj, descriptors, ["enumerable"]);
- },
- defineMutableProperty: function OSF_OUtil$defineMutableProperty(obj, prop, descriptor) {
- return OSF.OUtil.defineNondefaultProperty(obj, prop, descriptor, ["writable", "enumerable", "configurable"]);
- },
- defineMutableProperties: function OSF_OUtil$defineMutableProperties(obj, descriptors) {
- return OSF.OUtil.defineNondefaultProperties(obj, descriptors, ["writable", "enumerable", "configurable"]);
- },
- finalizeProperties: function OSF_OUtil$finalizeProperties(obj, descriptor) {
- descriptor = descriptor || {};
- var props = Object.getOwnPropertyNames(obj);
- var propsLength = props.length;
- for (var i = 0; i < propsLength; i++) {
- var prop = props[i];
- var desc = Object.getOwnPropertyDescriptor(obj, prop);
- if (!desc.get && !desc.set) {
- desc.writable = descriptor.writable || false;
- }
- desc.configurable = descriptor.configurable || false;
- desc.enumerable = descriptor.enumerable || true;
- Object.defineProperty(obj, prop, desc);
- }
- return obj;
- },
- mapList: function OSF_OUtil$MapList(list, mapFunction) {
- var ret = [];
- if (list) {
- for (var item in list) {
- ret.push(mapFunction(list[item]));
- }
- }
- return ret;
- },
- listContainsKey: function OSF_OUtil$listContainsKey(list, key) {
- for (var item in list) {
- if (key == item) {
- return true;
- }
- }
- return false;
- },
- listContainsValue: function OSF_OUtil$listContainsElement(list, value) {
- for (var item in list) {
- if (value == list[item]) {
- return true;
- }
- }
- return false;
- },
- augmentList: function OSF_OUtil$augmentList(list, addenda) {
- var add = list.push ? function (key, value) { list.push(value); } : function (key, value) { list[key] = value; };
- for (var key in addenda) {
- add(key, addenda[key]);
- }
- },
- redefineList: function OSF_Outil$redefineList(oldList, newList) {
- for (var key1 in oldList) {
- delete oldList[key1];
- }
- for (var key2 in newList) {
- oldList[key2] = newList[key2];
- }
- },
- isArray: function OSF_OUtil$isArray(obj) {
- return Object.prototype.toString.apply(obj) === "[object Array]";
- },
- isFunction: function OSF_OUtil$isFunction(obj) {
- return Object.prototype.toString.apply(obj) === "[object Function]";
- },
- isDate: function OSF_OUtil$isDate(obj) {
- return Object.prototype.toString.apply(obj) === "[object Date]";
- },
- addEventListener: function OSF_OUtil$addEventListener(element, eventName, listener) {
- if (element.addEventListener) {
- element.addEventListener(eventName, listener, false);
- }
- else if ((Sys.Browser.agent === Sys.Browser.InternetExplorer) && element.attachEvent) {
- element.attachEvent("on" + eventName, listener);
- }
- else {
- element["on" + eventName] = listener;
- }
- },
- removeEventListener: function OSF_OUtil$removeEventListener(element, eventName, listener) {
- if (element.removeEventListener) {
- element.removeEventListener(eventName, listener, false);
- }
- else if ((Sys.Browser.agent === Sys.Browser.InternetExplorer) && element.detachEvent) {
- element.detachEvent("on" + eventName, listener);
- }
- else {
- element["on" + eventName] = null;
- }
- },
- getCookieValue: function OSF_OUtil$getCookieValue(cookieName) {
- var tmpCookieString = RegExp(cookieName + "[^;]+").exec(document.cookie);
- return tmpCookieString.toString().replace(/^[^=]+./, "");
- },
- xhrGet: function OSF_OUtil$xhrGet(url, onSuccess, onError) {
- var xmlhttp;
- try {
- xmlhttp = new XMLHttpRequest();
- xmlhttp.onreadystatechange = function () {
- if (xmlhttp.readyState == 4) {
- if (xmlhttp.status == 200) {
- onSuccess(xmlhttp.responseText);
- }
- else {
- onError(xmlhttp.status);
- }
- }
- };
- xmlhttp.open("GET", url, true);
- xmlhttp.send();
- }
- catch (ex) {
- onError(ex);
- }
- },
- xhrGetFull: function OSF_OUtil$xhrGetFull(url, oneDriveFileName, onSuccess, onError) {
- var xmlhttp;
- var requestedFileName = oneDriveFileName;
- try {
- xmlhttp = new XMLHttpRequest();
- xmlhttp.onreadystatechange = function () {
- if (xmlhttp.readyState == 4) {
- if (xmlhttp.status == 200) {
- onSuccess(xmlhttp, requestedFileName);
- }
- else {
- onError(xmlhttp.status);
- }
- }
- };
- xmlhttp.open("GET", url, true);
- xmlhttp.send();
- }
- catch (ex) {
- onError(ex);
- }
- },
- encodeBase64: function OSF_Outil$encodeBase64(input) {
- if (!input)
- return input;
- var codex = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/=";
- var output = [];
- var temp = [];
- var index = 0;
- var c1, c2, c3, a, b, c;
- var i;
- var length = input.length;
- do {
- c1 = input.charCodeAt(index++);
- c2 = input.charCodeAt(index++);
- c3 = input.charCodeAt(index++);
- i = 0;
- a = c1 & 255;
- b = c1 >> 8;
- c = c2 & 255;
- temp[i++] = a >> 2;
- temp[i++] = ((a & 3) << 4) | (b >> 4);
- temp[i++] = ((b & 15) << 2) | (c >> 6);
- temp[i++] = c & 63;
- if (!isNaN(c2)) {
- a = c2 >> 8;
- b = c3 & 255;
- c = c3 >> 8;
- temp[i++] = a >> 2;
- temp[i++] = ((a & 3) << 4) | (b >> 4);
- temp[i++] = ((b & 15) << 2) | (c >> 6);
- temp[i++] = c & 63;
- }
- if (isNaN(c2)) {
- temp[i - 1] = 64;
- }
- else if (isNaN(c3)) {
- temp[i - 2] = 64;
- temp[i - 1] = 64;
- }
- for (var t = 0; t < i; t++) {
- output.push(codex.charAt(temp[t]));
- }
- } while (index < length);
- return output.join("");
- },
- getSessionStorage: function OSF_Outil$getSessionStorage() {
- return _getSessionStorage();
- },
- getLocalStorage: function OSF_Outil$getLocalStorage() {
- if (!_safeLocalStorage) {
- try {
- var localStorage = window.localStorage;
- }
- catch (ex) {
- localStorage = null;
- }
- _safeLocalStorage = new OfficeExt.SafeStorage(localStorage);
- }
- return _safeLocalStorage;
- },
- convertIntToCssHexColor: function OSF_Outil$convertIntToCssHexColor(val) {
- var hex = "#" + (Number(val) + 0x1000000).toString(16).slice(-6);
- return hex;
- },
- attachClickHandler: function OSF_Outil$attachClickHandler(element, handler) {
- element.onclick = function (e) {
- handler();
- };
- element.ontouchend = function (e) {
- handler();
- e.preventDefault();
- };
- },
- getQueryStringParamValue: function OSF_Outil$getQueryStringParamValue(queryString, paramName) {
- var e = Function._validateParams(arguments, [{ name: "queryString", type: String, mayBeNull: false },
- { name: "paramName", type: String, mayBeNull: false }
- ]);
- if (e) {
- OsfMsAjaxFactory.msAjaxDebug.trace("OSF_Outil_getQueryStringParamValue: Parameters cannot be null.");
- return "";
- }
- var queryExp = new RegExp("[\\?&]" + paramName + "=([^&#]*)", "i");
- if (!queryExp.test(queryString)) {
- OsfMsAjaxFactory.msAjaxDebug.trace("OSF_Outil_getQueryStringParamValue: The parameter is not found.");
- return "";
- }
- return queryExp.exec(queryString)[1];
- },
- isiOS: function OSF_Outil$isiOS() {
- return (window.navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false);
- },
- isChrome: function OSF_Outil$isChrome() {
- return (window.navigator.userAgent.indexOf("Chrome") > 0) && !OSF.OUtil.isEdge();
- },
- isEdge: function OSF_Outil$isEdge() {
- return window.navigator.userAgent.indexOf("Edge") > 0;
- },
- isIE: function OSF_Outil$isIE() {
- return window.navigator.userAgent.indexOf("Trident") > 0;
- },
- isFirefox: function OSF_Outil$isFirefox() {
- return window.navigator.userAgent.indexOf("Firefox") > 0;
- },
- shallowCopy: function OSF_Outil$shallowCopy(sourceObj) {
- var copyObj = sourceObj.constructor();
- for (var property in sourceObj) {
- if (sourceObj.hasOwnProperty(property)) {
- copyObj[property] = sourceObj[property];
- }
- }
- return copyObj;
- },
- createObject: function OSF_Outil$createObject(properties) {
- var obj = null;
- if (properties) {
- obj = {};
- var len = properties.length;
- for (var i = 0; i < len; i++) {
- obj[properties[i].name] = properties[i].value;
- }
- }
- return obj;
- },
- addClass: function OSF_OUtil$addClass(elmt, val) {
- if (!OSF.OUtil.hasClass(elmt, val)) {
- var className = elmt.getAttribute(_classN);
- if (className) {
- elmt.setAttribute(_classN, className + " " + val);
- }
- else {
- elmt.setAttribute(_classN, val);
- }
- }
- },
- hasClass: function OSF_OUtil$hasClass(elmt, clsName) {
- var className = elmt.getAttribute(_classN);
- return className && className.match(new RegExp('(\\s|^)' + clsName + '(\\s|$)'));
- },
- focusToFirstTabbable: function OSF_OUtil$focusToFirstTabbable(all, backward) {
- var next;
- var focused = false;
- var candidate;
- var setFlag = function (e) {
- focused = true;
- };
- var findNextPos = function (allLen, currPos, backward) {
- if (currPos < 0 || currPos > allLen) {
- return -1;
- }
- else if (currPos === 0 && backward) {
- return -1;
- }
- else if (currPos === allLen - 1 && !backward) {
- return -1;
- }
- if (backward) {
- return currPos - 1;
- }
- else {
- return currPos + 1;
- }
- };
- all = _reOrderTabbableElements(all);
- next = backward ? all.length - 1 : 0;
- if (all.length === 0) {
- return null;
- }
- while (!focused && next >= 0 && next < all.length) {
- candidate = all[next];
- window.focus();
- candidate.addEventListener('focus', setFlag);
- candidate.focus();
- candidate.removeEventListener('focus', setFlag);
- next = findNextPos(all.length, next, backward);
- if (!focused && candidate === document.activeElement) {
- focused = true;
- }
- }
- if (focused) {
- return candidate;
- }
- else {
- return null;
- }
- },
- focusToNextTabbable: function OSF_OUtil$focusToNextTabbable(all, curr, shift) {
- var currPos;
- var next;
- var focused = false;
- var candidate;
- var setFlag = function (e) {
- focused = true;
- };
- var findCurrPos = function (all, curr) {
- var i = 0;
- for (; i < all.length; i++) {
- if (all[i] === curr) {
- return i;
- }
- }
- return -1;
- };
- var findNextPos = function (allLen, currPos, shift) {
- if (currPos < 0 || currPos > allLen) {
- return -1;
- }
- else if (currPos === 0 && shift) {
- return -1;
- }
- else if (currPos === allLen - 1 && !shift) {
- return -1;
- }
- if (shift) {
- return currPos - 1;
- }
- else {
- return currPos + 1;
- }
- };
- all = _reOrderTabbableElements(all);
- currPos = findCurrPos(all, curr);
- next = findNextPos(all.length, currPos, shift);
- if (next < 0) {
- return null;
- }
- while (!focused && next >= 0 && next < all.length) {
- candidate = all[next];
- candidate.addEventListener('focus', setFlag);
- candidate.focus();
- candidate.removeEventListener('focus', setFlag);
- next = findNextPos(all.length, next, shift);
- if (!focused && candidate === document.activeElement) {
- focused = true;
- }
- }
- if (focused) {
- return candidate;
- }
- else {
- return null;
- }
- }
- };
- })();
- OSF.OUtil.Guid = (function () {
- var hexCode = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
- return {
- generateNewGuid: function OSF_Outil_Guid$generateNewGuid() {
- var result = "";
- var tick = (new Date()).getTime();
- var index = 0;
- for (; index < 32 && tick > 0; index++) {
- if (index == 8 || index == 12 || index == 16 || index == 20) {
- result += "-";
- }
- result += hexCode[tick % 16];
- tick = Math.floor(tick / 16);
- }
- for (; index < 32; index++) {
- if (index == 8 || index == 12 || index == 16 || index == 20) {
- result += "-";
- }
- result += hexCode[Math.floor(Math.random() * 16)];
- }
- return result;
- }
- };
- })();
- window.OSF = OSF;
- OSF.OUtil.setNamespace("OSF", window);
- OSF.AppName = {
- Unsupported: 0,
- Excel: 1,
- Word: 2,
- PowerPoint: 4,
- Outlook: 8,
- ExcelWebApp: 16,
- WordWebApp: 32,
- OutlookWebApp: 64,
- Project: 128,
- AccessWebApp: 256,
- PowerpointWebApp: 512,
- ExcelIOS: 1024,
- Sway: 2048,
- WordIOS: 4096,
- PowerPointIOS: 8192,
- Access: 16384,
- Lync: 32768,
- OutlookIOS: 65536,
- OneNoteWebApp: 131072,
- OneNote: 262144,
- ExcelWinRT: 524288,
- WordWinRT: 1048576,
- PowerpointWinRT: 2097152,
- OutlookAndroid: 4194304,
- OneNoteWinRT: 8388608,
- ExcelAndroid: 8388609
- };
- OSF.InternalPerfMarker = {
- DataCoercionBegin: "Agave.HostCall.CoerceDataStart",
- DataCoercionEnd: "Agave.HostCall.CoerceDataEnd"
- };
- OSF.HostCallPerfMarker = {
- IssueCall: "Agave.HostCall.IssueCall",
- ReceiveResponse: "Agave.HostCall.ReceiveResponse",
- RuntimeExceptionRaised: "Agave.HostCall.RuntimeExecptionRaised"
- };
- OSF.AgaveHostAction = {
- "Select": 0,
- "UnSelect": 1,
- "CancelDialog": 2,
- "InsertAgave": 3,
- "CtrlF6In": 4,
- "CtrlF6Exit": 5,
- "CtrlF6ExitShift": 6,
- "SelectWithError": 7,
- "NotifyHostError": 8,
- "RefreshAddinCommands": 9,
- "PageIsReady": 10,
- "TabIn": 11,
- "TabInShift": 12,
- "TabExit": 13,
- "TabExitShift": 14,
- "EscExit": 15,
- "F2Exit": 16,
- "ExitNoFocusable": 17,
- "ExitNoFocusableShift": 18
- };
- OSF.SharedConstants = {
- "NotificationConversationIdSuffix": '_ntf'
- };
- OSF.DialogMessageType = {
- DialogMessageReceived: 0,
- DialogClosed: 12006
- };
- OSF.OfficeAppContext = function OSF_OfficeAppContext(id, appName, appVersion, appUILocale, dataLocale, docUrl, clientMode, settings, reason, osfControlType, eToken, correlationId, appInstanceId, touchEnabled, commerceAllowed, appMinorVersion, requirementMatrix, hostCustomMessage, hostFullVersion, clientWindowHeight, clientWindowWidth, addinName) {
- this._id = id;
- this._appName = appName;
- this._appVersion = appVersion;
- this._appUILocale = appUILocale;
- this._dataLocale = dataLocale;
- this._docUrl = docUrl;
- this._clientMode = clientMode;
- this._settings = settings;
- this._reason = reason;
- this._osfControlType = osfControlType;
- this._eToken = eToken;
- this._correlationId = correlationId;
- this._appInstanceId = appInstanceId;
- this._touchEnabled = touchEnabled;
- this._commerceAllowed = commerceAllowed;
- this._appMinorVersion = appMinorVersion;
- this._requirementMatrix = requirementMatrix;
- this._hostCustomMessage = hostCustomMessage;
- this._hostFullVersion = hostFullVersion;
- this._isDialog = false;
- this._clientWindowHeight = clientWindowHeight;
- this._clientWindowWidth = clientWindowWidth;
- this._addinName = addinName;
- this.get_id = function get_id() { return this._id; };
- this.get_appName = function get_appName() { return this._appName; };
- this.get_appVersion = function get_appVersion() { return this._appVersion; };
- this.get_appUILocale = function get_appUILocale() { return this._appUILocale; };
- this.get_dataLocale = function get_dataLocale() { return this._dataLocale; };
- this.get_docUrl = function get_docUrl() { return this._docUrl; };
- this.get_clientMode = function get_clientMode() { return this._clientMode; };
- this.get_bindings = function get_bindings() { return this._bindings; };
- this.get_settings = function get_settings() { return this._settings; };
- this.get_reason = function get_reason() { return this._reason; };
- this.get_osfControlType = function get_osfControlType() { return this._osfControlType; };
- this.get_eToken = function get_eToken() { return this._eToken; };
- this.get_correlationId = function get_correlationId() { return this._correlationId; };
- this.get_appInstanceId = function get_appInstanceId() { return this._appInstanceId; };
- this.get_touchEnabled = function get_touchEnabled() { return this._touchEnabled; };
- this.get_commerceAllowed = function get_commerceAllowed() { return this._commerceAllowed; };
- this.get_appMinorVersion = function get_appMinorVersion() { return this._appMinorVersion; };
- this.get_requirementMatrix = function get_requirementMatrix() { return this._requirementMatrix; };
- this.get_hostCustomMessage = function get_hostCustomMessage() { return this._hostCustomMessage; };
- this.get_hostFullVersion = function get_hostFullVersion() { return this._hostFullVersion; };
- this.get_isDialog = function get_isDialog() { return this._isDialog; };
- this.get_clientWindowHeight = function get_clientWindowHeight() { return this._clientWindowHeight; };
- this.get_clientWindowWidth = function get_clientWindowWidth() { return this._clientWindowWidth; };
- this.get_addinName = function get_addinName() { return this._addinName; };
- };
- OSF.OsfControlType = {
- DocumentLevel: 0,
- ContainerLevel: 1
- };
- OSF.ClientMode = {
- ReadOnly: 0,
- ReadWrite: 1
- };
- OSF.OUtil.setNamespace("Microsoft", window);
- OSF.OUtil.setNamespace("Office", Microsoft);
- OSF.OUtil.setNamespace("Client", Microsoft.Office);
- OSF.OUtil.setNamespace("WebExtension", Microsoft.Office);
- Microsoft.Office.WebExtension.InitializationReason = {
- Inserted: "inserted",
- DocumentOpened: "documentOpened"
- };
- Microsoft.Office.WebExtension.ValueFormat = {
- Unformatted: "unformatted",
- Formatted: "formatted"
- };
- Microsoft.Office.WebExtension.FilterType = {
- All: "all"
- };
- Microsoft.Office.WebExtension.Parameters = {
- BindingType: "bindingType",
- CoercionType: "coercionType",
- ValueFormat: "valueFormat",
- FilterType: "filterType",
- Columns: "columns",
- SampleData: "sampleData",
- GoToType: "goToType",
- SelectionMode: "selectionMode",
- Id: "id",
- PromptText: "promptText",
- ItemName: "itemName",
- FailOnCollision: "failOnCollision",
- StartRow: "startRow",
- StartColumn: "startColumn",
- RowCount: "rowCount",
- ColumnCount: "columnCount",
- Callback: "callback",
- AsyncContext: "asyncContext",
- Data: "data",
- Rows: "rows",
- OverwriteIfStale: "overwriteIfStale",
- FileType: "fileType",
- EventType: "eventType",
- Handler: "handler",
- SliceSize: "sliceSize",
- SliceIndex: "sliceIndex",
- ActiveView: "activeView",
- Status: "status",
- Xml: "xml",
- Namespace: "namespace",
- Prefix: "prefix",
- XPath: "xPath",
- Text: "text",
- ImageLeft: "imageLeft",
- ImageTop: "imageTop",
- ImageWidth: "imageWidth",
- ImageHeight: "imageHeight",
- TaskId: "taskId",
- FieldId: "fieldId",
- FieldValue: "fieldValue",
- ServerUrl: "serverUrl",
- ListName: "listName",
- ResourceId: "resourceId",
- ViewType: "viewType",
- ViewName: "viewName",
- GetRawValue: "getRawValue",
- CellFormat: "cellFormat",
- TableOptions: "tableOptions",
- TaskIndex: "taskIndex",
- ResourceIndex: "resourceIndex",
- CustomFieldId: "customFieldId",
- Url: "url",
- MessageHandler: "messageHandler",
- Width: "width",
- Height: "height",
- RequireHTTPs: "requireHTTPS",
- MessageToParent: "messageToParent",
- DisplayInIframe: "displayInIframe"
- };
- OSF.OUtil.setNamespace("DDA", OSF);
- OSF.DDA.DocumentMode = {
- ReadOnly: 1,
- ReadWrite: 0
- };
- OSF.DDA.PropertyDescriptors = {
- AsyncResultStatus: "AsyncResultStatus"
- };
- OSF.DDA.EventDescriptors = {};
- OSF.DDA.ListDescriptors = {};
- OSF.DDA.UI = {};
- OSF.DDA.getXdmEventName = function OSF_DDA$GetXdmEventName(id, eventType) {
- 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) {
- return id + "_" + eventType;
- }
- else {
- return eventType;
- }
- };
- OSF.DDA.MethodDispId = {
- dispidMethodMin: 64,
- dispidGetSelectedDataMethod: 64,
- dispidSetSelectedDataMethod: 65,
- dispidAddBindingFromSelectionMethod: 66,
- dispidAddBindingFromPromptMethod: 67,
- dispidGetBindingMethod: 68,
- dispidReleaseBindingMethod: 69,
- dispidGetBindingDataMethod: 70,
- dispidSetBindingDataMethod: 71,
- dispidAddRowsMethod: 72,
- dispidClearAllRowsMethod: 73,
- dispidGetAllBindingsMethod: 74,
- dispidLoadSettingsMethod: 75,
- dispidSaveSettingsMethod: 76,
- dispidGetDocumentCopyMethod: 77,
- dispidAddBindingFromNamedItemMethod: 78,
- dispidAddColumnsMethod: 79,
- dispidGetDocumentCopyChunkMethod: 80,
- dispidReleaseDocumentCopyMethod: 81,
- dispidNavigateToMethod: 82,
- dispidGetActiveViewMethod: 83,
- dispidGetDocumentThemeMethod: 84,
- dispidGetOfficeThemeMethod: 85,
- dispidGetFilePropertiesMethod: 86,
- dispidClearFormatsMethod: 87,
- dispidSetTableOptionsMethod: 88,
- dispidSetFormatsMethod: 89,
- dispidExecuteRichApiRequestMethod: 93,
- dispidAppCommandInvocationCompletedMethod: 94,
- dispidCloseContainerMethod: 97,
- dispidAddDataPartMethod: 128,
- dispidGetDataPartByIdMethod: 129,
- dispidGetDataPartsByNamespaceMethod: 130,
- dispidGetDataPartXmlMethod: 131,
- dispidGetDataPartNodesMethod: 132,
- dispidDeleteDataPartMethod: 133,
- dispidGetDataNodeValueMethod: 134,
- dispidGetDataNodeXmlMethod: 135,
- dispidGetDataNodesMethod: 136,
- dispidSetDataNodeValueMethod: 137,
- dispidSetDataNodeXmlMethod: 138,
- dispidAddDataNamespaceMethod: 139,
- dispidGetDataUriByPrefixMethod: 140,
- dispidGetDataPrefixByUriMethod: 141,
- dispidGetDataNodeTextMethod: 142,
- dispidSetDataNodeTextMethod: 143,
- dispidMessageParentMethod: 144,
- dispidMethodMax: 144,
- dispidGetSelectedTaskMethod: 110,
- dispidGetSelectedResourceMethod: 111,
- dispidGetTaskMethod: 112,
- dispidGetResourceFieldMethod: 113,
- dispidGetWSSUrlMethod: 114,
- dispidGetTaskFieldMethod: 115,
- dispidGetProjectFieldMethod: 116,
- dispidGetSelectedViewMethod: 117,
- dispidGetTaskByIndexMethod: 118,
- dispidGetResourceByIndexMethod: 119,
- dispidSetTaskFieldMethod: 120,
- dispidSetResourceFieldMethod: 121,
- dispidGetMaxTaskIndexMethod: 122,
- dispidGetMaxResourceIndexMethod: 123,
- dispidCreateTaskMethod: 124
- };
- OSF.DDA.EventDispId = {
- dispidEventMin: 0,
- dispidInitializeEvent: 0,
- dispidSettingsChangedEvent: 1,
- dispidDocumentSelectionChangedEvent: 2,
- dispidBindingSelectionChangedEvent: 3,
- dispidBindingDataChangedEvent: 4,
- dispidDocumentOpenEvent: 5,
- dispidDocumentCloseEvent: 6,
- dispidActiveViewChangedEvent: 7,
- dispidDocumentThemeChangedEvent: 8,
- dispidOfficeThemeChangedEvent: 9,
- dispidDialogMessageReceivedEvent: 10,
- dispidDialogNotificationShownInAddinEvent: 11,
- dispidActivationStatusChangedEvent: 32,
- dispidAppCommandInvokedEvent: 39,
- dispidOlkItemSelectedChangedEvent: 46,
- dispidTaskSelectionChangedEvent: 56,
- dispidResourceSelectionChangedEvent: 57,
- dispidViewSelectionChangedEvent: 58,
- dispidDataNodeAddedEvent: 60,
- dispidDataNodeReplacedEvent: 61,
- dispidDataNodeDeletedEvent: 62,
- dispidEventMax: 63
- };
- OSF.DDA.ErrorCodeManager = (function () {
- var _errorMappings = {};
- return {
- getErrorArgs: function OSF_DDA_ErrorCodeManager$getErrorArgs(errorCode) {
- var errorArgs = _errorMappings[errorCode];
- if (!errorArgs) {
- errorArgs = _errorMappings[this.errorCodes.ooeInternalError];
- }
- else {
- if (!errorArgs.name) {
- errorArgs.name = _errorMappings[this.errorCodes.ooeInternalError].name;
- }
- if (!errorArgs.message) {
- errorArgs.message = _errorMappings[this.errorCodes.ooeInternalError].message;
- }
- }
- return errorArgs;
- },
- addErrorMessage: function OSF_DDA_ErrorCodeManager$addErrorMessage(errorCode, errorNameMessage) {
- _errorMappings[errorCode] = errorNameMessage;
- },
- errorCodes: {
- ooeSuccess: 0,
- ooeChunkResult: 1,
- ooeCoercionTypeNotSupported: 1000,
- ooeGetSelectionNotMatchDataType: 1001,
- ooeCoercionTypeNotMatchBinding: 1002,
- ooeInvalidGetRowColumnCounts: 1003,
- ooeSelectionNotSupportCoercionType: 1004,
- ooeInvalidGetStartRowColumn: 1005,
- ooeNonUniformPartialGetNotSupported: 1006,
- ooeGetDataIsTooLarge: 1008,
- ooeFileTypeNotSupported: 1009,
- ooeGetDataParametersConflict: 1010,
- ooeInvalidGetColumns: 1011,
- ooeInvalidGetRows: 1012,
- ooeInvalidReadForBlankRow: 1013,
- ooeUnsupportedDataObject: 2000,
- ooeCannotWriteToSelection: 2001,
- ooeDataNotMatchSelection: 2002,
- ooeOverwriteWorksheetData: 2003,
- ooeDataNotMatchBindingSize: 2004,
- ooeInvalidSetStartRowColumn: 2005,
- ooeInvalidDataFormat: 2006,
- ooeDataNotMatchCoercionType: 2007,
- ooeDataNotMatchBindingType: 2008,
- ooeSetDataIsTooLarge: 2009,
- ooeNonUniformPartialSetNotSupported: 2010,
- ooeInvalidSetColumns: 2011,
- ooeInvalidSetRows: 2012,
- ooeSetDataParametersConflict: 2013,
- ooeCellDataAmountBeyondLimits: 2014,
- ooeSelectionCannotBound: 3000,
- ooeBindingNotExist: 3002,
- ooeBindingToMultipleSelection: 3003,
- ooeInvalidSelectionForBindingType: 3004,
- ooeOperationNotSupportedOnThisBindingType: 3005,
- ooeNamedItemNotFound: 3006,
- ooeMultipleNamedItemFound: 3007,
- ooeInvalidNamedItemForBindingType: 3008,
- ooeUnknownBindingType: 3009,
- ooeOperationNotSupportedOnMatrixData: 3010,
- ooeInvalidColumnsForBinding: 3011,
- ooeSettingNameNotExist: 4000,
- ooeSettingsCannotSave: 4001,
- ooeSettingsAreStale: 4002,
- ooeOperationNotSupported: 5000,
- ooeInternalError: 5001,
- ooeDocumentReadOnly: 5002,
- ooeEventHandlerNotExist: 5003,
- ooeInvalidApiCallInContext: 5004,
- ooeShuttingDown: 5005,
- ooeUnsupportedEnumeration: 5007,
- ooeIndexOutOfRange: 5008,
- ooeBrowserAPINotSupported: 5009,
- ooeInvalidParam: 5010,
- ooeRequestTimeout: 5011,
- ooeTooManyIncompleteRequests: 5100,
- ooeRequestTokenUnavailable: 5101,
- ooeActivityLimitReached: 5102,
- ooeCustomXmlNodeNotFound: 6000,
- ooeCustomXmlError: 6100,
- ooeCustomXmlExceedQuota: 6101,
- ooeCustomXmlOutOfDate: 6102,
- ooeNoCapability: 7000,
- ooeCannotNavTo: 7001,
- ooeSpecifiedIdNotExist: 7002,
- ooeNavOutOfBound: 7004,
- ooeElementMissing: 8000,
- ooeProtectedError: 8001,
- ooeInvalidCellsValue: 8010,
- ooeInvalidTableOptionValue: 8011,
- ooeInvalidFormatValue: 8012,
- ooeRowIndexOutOfRange: 8020,
- ooeColIndexOutOfRange: 8021,
- ooeFormatValueOutOfRange: 8022,
- ooeCellFormatAmountBeyondLimits: 8023,
- ooeMemoryFileLimit: 11000,
- ooeNetworkProblemRetrieveFile: 11001,
- ooeInvalidSliceSize: 11002,
- ooeInvalidCallback: 11101,
- ooeInvalidWidth: 12000,
- ooeInvalidHeight: 12001,
- ooeNavigationError: 12002,
- ooeInvalidScheme: 12003,
- ooeAppDomains: 12004,
- ooeRequireHTTPS: 12005,
- ooeWebDialogClosed: 12006,
- ooeDialogAlreadyOpened: 12007,
- ooeEndUserAllow: 12008,
- ooeEndUserIgnore: 12009,
- ooeNotUILessDialog: 12010
- },
- initializeErrorMessages: function OSF_DDA_ErrorCodeManager$initializeErrorMessages(stringNS) {
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCoercionTypeNotSupported] = { name: stringNS.L_InvalidCoercion, message: stringNS.L_CoercionTypeNotSupported };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeGetSelectionNotMatchDataType] = { name: stringNS.L_DataReadError, message: stringNS.L_GetSelectionNotSupported };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCoercionTypeNotMatchBinding] = { name: stringNS.L_InvalidCoercion, message: stringNS.L_CoercionTypeNotMatchBinding };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidGetRowColumnCounts] = { name: stringNS.L_DataReadError, message: stringNS.L_InvalidGetRowColumnCounts };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSelectionNotSupportCoercionType] = { name: stringNS.L_DataReadError, message: stringNS.L_SelectionNotSupportCoercionType };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidGetStartRowColumn] = { name: stringNS.L_DataReadError, message: stringNS.L_InvalidGetStartRowColumn };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNonUniformPartialGetNotSupported] = { name: stringNS.L_DataReadError, message: stringNS.L_NonUniformPartialGetNotSupported };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeGetDataIsTooLarge] = { name: stringNS.L_DataReadError, message: stringNS.L_GetDataIsTooLarge };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeFileTypeNotSupported] = { name: stringNS.L_DataReadError, message: stringNS.L_FileTypeNotSupported };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeGetDataParametersConflict] = { name: stringNS.L_DataReadError, message: stringNS.L_GetDataParametersConflict };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidGetColumns] = { name: stringNS.L_DataReadError, message: stringNS.L_InvalidGetColumns };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidGetRows] = { name: stringNS.L_DataReadError, message: stringNS.L_InvalidGetRows };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidReadForBlankRow] = { name: stringNS.L_DataReadError, message: stringNS.L_InvalidReadForBlankRow };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeUnsupportedDataObject] = { name: stringNS.L_DataWriteError, message: stringNS.L_UnsupportedDataObject };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCannotWriteToSelection] = { name: stringNS.L_DataWriteError, message: stringNS.L_CannotWriteToSelection };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDataNotMatchSelection] = { name: stringNS.L_DataWriteError, message: stringNS.L_DataNotMatchSelection };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeOverwriteWorksheetData] = { name: stringNS.L_DataWriteError, message: stringNS.L_OverwriteWorksheetData };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDataNotMatchBindingSize] = { name: stringNS.L_DataWriteError, message: stringNS.L_DataNotMatchBindingSize };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSetStartRowColumn] = { name: stringNS.L_DataWriteError, message: stringNS.L_InvalidSetStartRowColumn };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidDataFormat] = { name: stringNS.L_InvalidFormat, message: stringNS.L_InvalidDataFormat };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDataNotMatchCoercionType] = { name: stringNS.L_InvalidDataObject, message: stringNS.L_DataNotMatchCoercionType };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDataNotMatchBindingType] = { name: stringNS.L_InvalidDataObject, message: stringNS.L_DataNotMatchBindingType };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSetDataIsTooLarge] = { name: stringNS.L_DataWriteError, message: stringNS.L_SetDataIsTooLarge };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNonUniformPartialSetNotSupported] = { name: stringNS.L_DataWriteError, message: stringNS.L_NonUniformPartialSetNotSupported };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSetColumns] = { name: stringNS.L_DataWriteError, message: stringNS.L_InvalidSetColumns };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSetRows] = { name: stringNS.L_DataWriteError, message: stringNS.L_InvalidSetRows };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSetDataParametersConflict] = { name: stringNS.L_DataWriteError, message: stringNS.L_SetDataParametersConflict };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSelectionCannotBound] = { name: stringNS.L_BindingCreationError, message: stringNS.L_SelectionCannotBound };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeBindingNotExist] = { name: stringNS.L_InvalidBindingError, message: stringNS.L_BindingNotExist };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeBindingToMultipleSelection] = { name: stringNS.L_BindingCreationError, message: stringNS.L_BindingToMultipleSelection };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSelectionForBindingType] = { name: stringNS.L_BindingCreationError, message: stringNS.L_InvalidSelectionForBindingType };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeOperationNotSupportedOnThisBindingType] = { name: stringNS.L_InvalidBindingOperation, message: stringNS.L_OperationNotSupportedOnThisBindingType };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNamedItemNotFound] = { name: stringNS.L_BindingCreationError, message: stringNS.L_NamedItemNotFound };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeMultipleNamedItemFound] = { name: stringNS.L_BindingCreationError, message: stringNS.L_MultipleNamedItemFound };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidNamedItemForBindingType] = { name: stringNS.L_BindingCreationError, message: stringNS.L_InvalidNamedItemForBindingType };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeUnknownBindingType] = { name: stringNS.L_InvalidBinding, message: stringNS.L_UnknownBindingType };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeOperationNotSupportedOnMatrixData] = { name: stringNS.L_InvalidBindingOperation, message: stringNS.L_OperationNotSupportedOnMatrixData };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidColumnsForBinding] = { name: stringNS.L_InvalidBinding, message: stringNS.L_InvalidColumnsForBinding };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSettingNameNotExist] = { name: stringNS.L_ReadSettingsError, message: stringNS.L_SettingNameNotExist };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSettingsCannotSave] = { name: stringNS.L_SaveSettingsError, message: stringNS.L_SettingsCannotSave };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSettingsAreStale] = { name: stringNS.L_SettingsStaleError, message: stringNS.L_SettingsAreStale };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeOperationNotSupported] = { name: stringNS.L_HostError, message: stringNS.L_OperationNotSupported };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError] = { name: stringNS.L_InternalError, message: stringNS.L_InternalErrorDescription };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDocumentReadOnly] = { name: stringNS.L_PermissionDenied, message: stringNS.L_DocumentReadOnly };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeEventHandlerNotExist] = { name: stringNS.L_EventRegistrationError, message: stringNS.L_EventHandlerNotExist };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidApiCallInContext] = { name: stringNS.L_InvalidAPICall, message: stringNS.L_InvalidApiCallInContext };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeShuttingDown] = { name: stringNS.L_ShuttingDown, message: stringNS.L_ShuttingDown };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeUnsupportedEnumeration] = { name: stringNS.L_UnsupportedEnumeration, message: stringNS.L_UnsupportedEnumerationMessage };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeIndexOutOfRange] = { name: stringNS.L_IndexOutOfRange, message: stringNS.L_IndexOutOfRange };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeBrowserAPINotSupported] = { name: stringNS.L_APINotSupported, message: stringNS.L_BrowserAPINotSupported };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeRequestTimeout] = { name: stringNS.L_APICallFailed, message: stringNS.L_RequestTimeout };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeTooManyIncompleteRequests] = { name: stringNS.L_APICallFailed, message: stringNS.L_TooManyIncompleteRequests };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeRequestTokenUnavailable] = { name: stringNS.L_APICallFailed, message: stringNS.L_RequestTokenUnavailable };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeActivityLimitReached] = { name: stringNS.L_APICallFailed, message: stringNS.L_ActivityLimitReached };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCustomXmlNodeNotFound] = { name: stringNS.L_InvalidNode, message: stringNS.L_CustomXmlNodeNotFound };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCustomXmlError] = { name: stringNS.L_CustomXmlError, message: stringNS.L_CustomXmlError };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCustomXmlExceedQuota] = { name: stringNS.L_CustomXmlExceedQuotaName, message: stringNS.L_CustomXmlExceedQuotaMessage };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCustomXmlOutOfDate] = { name: stringNS.L_CustomXmlOutOfDateName, message: stringNS.L_CustomXmlOutOfDateMessage };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability] = { name: stringNS.L_PermissionDenied, message: stringNS.L_NoCapability };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCannotNavTo] = { name: stringNS.L_CannotNavigateTo, message: stringNS.L_CannotNavigateTo };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSpecifiedIdNotExist] = { name: stringNS.L_SpecifiedIdNotExist, message: stringNS.L_SpecifiedIdNotExist };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNavOutOfBound] = { name: stringNS.L_NavOutOfBound, message: stringNS.L_NavOutOfBound };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCellDataAmountBeyondLimits] = { name: stringNS.L_DataWriteReminder, message: stringNS.L_CellDataAmountBeyondLimits };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeElementMissing] = { name: stringNS.L_MissingParameter, message: stringNS.L_ElementMissing };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeProtectedError] = { name: stringNS.L_PermissionDenied, message: stringNS.L_NoCapability };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidCellsValue] = { name: stringNS.L_InvalidValue, message: stringNS.L_InvalidCellsValue };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidTableOptionValue] = { name: stringNS.L_InvalidValue, message: stringNS.L_InvalidTableOptionValue };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidFormatValue] = { name: stringNS.L_InvalidValue, message: stringNS.L_InvalidFormatValue };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeRowIndexOutOfRange] = { name: stringNS.L_OutOfRange, message: stringNS.L_RowIndexOutOfRange };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeColIndexOutOfRange] = { name: stringNS.L_OutOfRange, message: stringNS.L_ColIndexOutOfRange };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeFormatValueOutOfRange] = { name: stringNS.L_OutOfRange, message: stringNS.L_FormatValueOutOfRange };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCellFormatAmountBeyondLimits] = { name: stringNS.L_FormattingReminder, message: stringNS.L_CellFormatAmountBeyondLimits };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeMemoryFileLimit] = { name: stringNS.L_MemoryLimit, message: stringNS.L_CloseFileBeforeRetrieve };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNetworkProblemRetrieveFile] = { name: stringNS.L_NetworkProblem, message: stringNS.L_NetworkProblemRetrieveFile };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSliceSize] = { name: stringNS.L_InvalidValue, message: stringNS.L_SliceSizeNotSupported };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDialogAlreadyOpened] = { name: stringNS.L_DisplayDialogError, message: stringNS.L_DialogAlreadyOpened };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidWidth] = { name: stringNS.L_IndexOutOfRange, message: stringNS.L_IndexOutOfRange };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidHeight] = { name: stringNS.L_IndexOutOfRange, message: stringNS.L_IndexOutOfRange };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNavigationError] = { name: stringNS.L_DisplayDialogError, message: stringNS.L_NetworkProblem };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidScheme] = { name: stringNS.L_DialogNavigateError, message: stringNS.L_DialogAddressNotTrusted };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeAppDomains] = { name: stringNS.L_DisplayDialogError, message: stringNS.L_DialogAddressNotTrusted };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeRequireHTTPS] = { name: stringNS.L_DisplayDialogError, message: stringNS.L_DialogAddressNotTrusted };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeEndUserIgnore] = { name: stringNS.L_DisplayDialogError, message: stringNS.L_UserClickIgnore };
- }
- };
- })();
- var OfficeExt;
- (function (OfficeExt) {
- var Requirement;
- (function (Requirement) {
- var RequirementMatrix = (function () {
- function RequirementMatrix(_setMap) {
- this.isSetSupported = function _isSetSupported(name, minVersion) {
- if (name == undefined) {
- return false;
- }
- if (minVersion == undefined) {
- minVersion = 0;
- }
- var setSupportArray = this._setMap;
- var sets = setSupportArray._sets;
- if (sets.hasOwnProperty(name.toLowerCase())) {
- var setMaxVersion = sets[name.toLowerCase()];
- return setMaxVersion > 0 && setMaxVersion >= minVersion;
- }
- else {
- return false;
- }
- };
- this._setMap = _setMap;
- this.isSetSupported = this.isSetSupported.bind(this);
- }
- return RequirementMatrix;
- })();
- Requirement.RequirementMatrix = RequirementMatrix;
- var DefaultSetRequirement = (function () {
- function DefaultSetRequirement(setMap) {
- this._addSetMap = function DefaultSetRequirement_addSetMap(addedSet) {
- for (var name in addedSet) {
- this._sets[name] = addedSet[name];
- }
- };
- this._sets = setMap;
- }
- return DefaultSetRequirement;
- })();
- Requirement.DefaultSetRequirement = DefaultSetRequirement;
- var ExcelClientDefaultSetRequirement = (function (_super) {
- __extends(ExcelClientDefaultSetRequirement, _super);
- function ExcelClientDefaultSetRequirement() {
- _super.call(this, {
- "bindingevents": 1.1,
- "documentevents": 1.1,
- "excelapi": 1.1,
- "matrixbindings": 1.1,
- "matrixcoercion": 1.1,
- "selection": 1.1,
- "settings": 1.1,
- "tablebindings": 1.1,
- "tablecoercion": 1.1,
- "textbindings": 1.1,
- "textcoercion": 1.1
- });
- }
- return ExcelClientDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.ExcelClientDefaultSetRequirement = ExcelClientDefaultSetRequirement;
- var ExcelClientV1DefaultSetRequirement = (function (_super) {
- __extends(ExcelClientV1DefaultSetRequirement, _super);
- function ExcelClientV1DefaultSetRequirement() {
- _super.call(this);
- this._addSetMap({
- "imagecoercion": 1.1
- });
- }
- return ExcelClientV1DefaultSetRequirement;
- })(ExcelClientDefaultSetRequirement);
- Requirement.ExcelClientV1DefaultSetRequirement = ExcelClientV1DefaultSetRequirement;
- var OutlookClientDefaultSetRequirement = (function (_super) {
- __extends(OutlookClientDefaultSetRequirement, _super);
- function OutlookClientDefaultSetRequirement() {
- _super.call(this, {
- "mailbox": 1.3
- });
- }
- return OutlookClientDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.OutlookClientDefaultSetRequirement = OutlookClientDefaultSetRequirement;
- var WordClientDefaultSetRequirement = (function (_super) {
- __extends(WordClientDefaultSetRequirement, _super);
- function WordClientDefaultSetRequirement() {
- _super.call(this, {
- "bindingevents": 1.1,
- "compressedfile": 1.1,
- "customxmlparts": 1.1,
- "documentevents": 1.1,
- "file": 1.1,
- "htmlcoercion": 1.1,
- "matrixbindings": 1.1,
- "matrixcoercion": 1.1,
- "ooxmlcoercion": 1.1,
- "pdffile": 1.1,
- "selection": 1.1,
- "settings": 1.1,
- "tablebindings": 1.1,
- "tablecoercion": 1.1,
- "textbindings": 1.1,
- "textcoercion": 1.1,
- "textfile": 1.1,
- "wordapi": 1.1
- });
- }
- return WordClientDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.WordClientDefaultSetRequirement = WordClientDefaultSetRequirement;
- var WordClientV1DefaultSetRequirement = (function (_super) {
- __extends(WordClientV1DefaultSetRequirement, _super);
- function WordClientV1DefaultSetRequirement() {
- _super.call(this);
- this._addSetMap({
- "customxmlparts": 1.2,
- "wordapi": 1.2,
- "imagecoercion": 1.1
- });
- }
- return WordClientV1DefaultSetRequirement;
- })(WordClientDefaultSetRequirement);
- Requirement.WordClientV1DefaultSetRequirement = WordClientV1DefaultSetRequirement;
- var PowerpointClientDefaultSetRequirement = (function (_super) {
- __extends(PowerpointClientDefaultSetRequirement, _super);
- function PowerpointClientDefaultSetRequirement() {
- _super.call(this, {
- "activeview": 1.1,
- "compressedfile": 1.1,
- "documentevents": 1.1,
- "file": 1.1,
- "pdffile": 1.1,
- "selection": 1.1,
- "settings": 1.1,
- "textcoercion": 1.1
- });
- }
- return PowerpointClientDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.PowerpointClientDefaultSetRequirement = PowerpointClientDefaultSetRequirement;
- var PowerpointClientV1DefaultSetRequirement = (function (_super) {
- __extends(PowerpointClientV1DefaultSetRequirement, _super);
- function PowerpointClientV1DefaultSetRequirement() {
- _super.call(this);
- this._addSetMap({
- "imagecoercion": 1.1
- });
- }
- return PowerpointClientV1DefaultSetRequirement;
- })(PowerpointClientDefaultSetRequirement);
- Requirement.PowerpointClientV1DefaultSetRequirement = PowerpointClientV1DefaultSetRequirement;
- var ProjectClientDefaultSetRequirement = (function (_super) {
- __extends(ProjectClientDefaultSetRequirement, _super);
- function ProjectClientDefaultSetRequirement() {
- _super.call(this, {
- "selection": 1.1,
- "textcoercion": 1.1
- });
- }
- return ProjectClientDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.ProjectClientDefaultSetRequirement = ProjectClientDefaultSetRequirement;
- var ExcelWebDefaultSetRequirement = (function (_super) {
- __extends(ExcelWebDefaultSetRequirement, _super);
- function ExcelWebDefaultSetRequirement() {
- _super.call(this, {
- "bindingevents": 1.1,
- "dialogapi": 1.1,
- "documentevents": 1.1,
- "matrixbindings": 1.1,
- "matrixcoercion": 1.1,
- "selection": 1.1,
- "settings": 1.1,
- "tablebindings": 1.1,
- "tablecoercion": 1.1,
- "textbindings": 1.1,
- "textcoercion": 1.1,
- "file": 1.1
- });
- }
- return ExcelWebDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.ExcelWebDefaultSetRequirement = ExcelWebDefaultSetRequirement;
- var WordWebDefaultSetRequirement = (function (_super) {
- __extends(WordWebDefaultSetRequirement, _super);
- function WordWebDefaultSetRequirement() {
- _super.call(this, {
- "bindingevents": 1.1,
- "compressedfile": 1.1,
- "customxmlparts": 1.1,
- "dialogapi": 1.1,
- "documentevents": 1.1,
- "file": 1.1,
- "htmlcoercion": 1.1,
- "imagecoercion": 1.1,
- "matrixbindings": 1.1,
- "matrixcoercion": 1.1,
- "ooxmlcoercion": 1.1,
- "pdffile": 1.1,
- "selection": 1.1,
- "settings": 1.1,
- "tablebindings": 1.1,
- "tablecoercion": 1.1,
- "textbindings": 1.1,
- "textcoercion": 1.1,
- "textfile": 1.1,
- "wordapi": 1.2
- });
- }
- return WordWebDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.WordWebDefaultSetRequirement = WordWebDefaultSetRequirement;
- var PowerpointWebDefaultSetRequirement = (function (_super) {
- __extends(PowerpointWebDefaultSetRequirement, _super);
- function PowerpointWebDefaultSetRequirement() {
- _super.call(this, {
- "activeview": 1.1,
- "dialogapi": 1.1,
- "settings": 1.1
- });
- }
- return PowerpointWebDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.PowerpointWebDefaultSetRequirement = PowerpointWebDefaultSetRequirement;
- var OutlookWebDefaultSetRequirement = (function (_super) {
- __extends(OutlookWebDefaultSetRequirement, _super);
- function OutlookWebDefaultSetRequirement() {
- _super.call(this, {
- "mailbox": 1.3
- });
- }
- return OutlookWebDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.OutlookWebDefaultSetRequirement = OutlookWebDefaultSetRequirement;
- var SwayWebDefaultSetRequirement = (function (_super) {
- __extends(SwayWebDefaultSetRequirement, _super);
- function SwayWebDefaultSetRequirement() {
- _super.call(this, {
- "activeview": 1.1,
- "documentevents": 1.1,
- "selection": 1.1,
- "settings": 1.1,
- "textcoercion": 1.1
- });
- }
- return SwayWebDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.SwayWebDefaultSetRequirement = SwayWebDefaultSetRequirement;
- var AccessWebDefaultSetRequirement = (function (_super) {
- __extends(AccessWebDefaultSetRequirement, _super);
- function AccessWebDefaultSetRequirement() {
- _super.call(this, {
- "bindingevents": 1.1,
- "partialtablebindings": 1.1,
- "settings": 1.1,
- "tablebindings": 1.1,
- "tablecoercion": 1.1
- });
- }
- return AccessWebDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.AccessWebDefaultSetRequirement = AccessWebDefaultSetRequirement;
- var ExcelIOSDefaultSetRequirement = (function (_super) {
- __extends(ExcelIOSDefaultSetRequirement, _super);
- function ExcelIOSDefaultSetRequirement() {
- _super.call(this, {
- "bindingevents": 1.1,
- "documentevents": 1.1,
- "matrixbindings": 1.1,
- "matrixcoercion": 1.1,
- "selection": 1.1,
- "settings": 1.1,
- "tablebindings": 1.1,
- "tablecoercion": 1.1,
- "textbindings": 1.1,
- "textcoercion": 1.1
- });
- }
- return ExcelIOSDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.ExcelIOSDefaultSetRequirement = ExcelIOSDefaultSetRequirement;
- var WordIOSDefaultSetRequirement = (function (_super) {
- __extends(WordIOSDefaultSetRequirement, _super);
- function WordIOSDefaultSetRequirement() {
- _super.call(this, {
- "bindingevents": 1.1,
- "compressedfile": 1.1,
- "customxmlparts": 1.1,
- "documentevents": 1.1,
- "file": 1.1,
- "htmlcoercion": 1.1,
- "matrixbindings": 1.1,
- "matrixcoercion": 1.1,
- "ooxmlcoercion": 1.1,
- "pdffile": 1.1,
- "selection": 1.1,
- "settings": 1.1,
- "tablebindings": 1.1,
- "tablecoercion": 1.1,
- "textbindings": 1.1,
- "textcoercion": 1.1,
- "textfile": 1.1
- });
- }
- return WordIOSDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.WordIOSDefaultSetRequirement = WordIOSDefaultSetRequirement;
- var WordIOSV1DefaultSetRequirement = (function (_super) {
- __extends(WordIOSV1DefaultSetRequirement, _super);
- function WordIOSV1DefaultSetRequirement() {
- _super.call(this);
- this._addSetMap({
- "customxmlparts": 1.2,
- "wordapi": 1.2
- });
- }
- return WordIOSV1DefaultSetRequirement;
- })(WordIOSDefaultSetRequirement);
- Requirement.WordIOSV1DefaultSetRequirement = WordIOSV1DefaultSetRequirement;
- var PowerpointIOSDefaultSetRequirement = (function (_super) {
- __extends(PowerpointIOSDefaultSetRequirement, _super);
- function PowerpointIOSDefaultSetRequirement() {
- _super.call(this, {
- "activeview": 1.1,
- "compressedfile": 1.1,
- "documentevents": 1.1,
- "file": 1.1,
- "pdffile": 1.1,
- "selection": 1.1,
- "settings": 1.1,
- "textcoercion": 1.1
- });
- }
- return PowerpointIOSDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.PowerpointIOSDefaultSetRequirement = PowerpointIOSDefaultSetRequirement;
- var OutlookIOSDefaultSetRequirement = (function (_super) {
- __extends(OutlookIOSDefaultSetRequirement, _super);
- function OutlookIOSDefaultSetRequirement() {
- _super.call(this, {
- "mailbox": 1.1
- });
- }
- return OutlookIOSDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.OutlookIOSDefaultSetRequirement = OutlookIOSDefaultSetRequirement;
- var RequirementsMatrixFactory = (function () {
- function RequirementsMatrixFactory() {
- }
- RequirementsMatrixFactory.initializeOsfDda = function () {
- OSF.OUtil.setNamespace("Requirement", OSF.DDA);
- };
- RequirementsMatrixFactory.getDefaultRequirementMatrix = function (appContext) {
- this.initializeDefaultSetMatrix();
- var defaultRequirementMatrix = undefined;
- var clientRequirement = appContext.get_requirementMatrix();
- if (clientRequirement != undefined && clientRequirement.length > 0 && typeof (JSON) !== "undefined") {
- var matrixItem = JSON.parse(appContext.get_requirementMatrix().toLowerCase());
- defaultRequirementMatrix = new RequirementMatrix(new DefaultSetRequirement(matrixItem));
- }
- else {
- var appLocator = RequirementsMatrixFactory.getClientFullVersionString(appContext);
- if (RequirementsMatrixFactory.DefaultSetArrayMatrix != undefined && RequirementsMatrixFactory.DefaultSetArrayMatrix[appLocator] != undefined) {
- defaultRequirementMatrix = new RequirementMatrix(RequirementsMatrixFactory.DefaultSetArrayMatrix[appLocator]);
- }
- else {
- defaultRequirementMatrix = new RequirementMatrix(new DefaultSetRequirement({}));
- }
- }
- return defaultRequirementMatrix;
- };
- RequirementsMatrixFactory.getClientFullVersionString = function (appContext) {
- var appMinorVersion = appContext.get_appMinorVersion();
- var appMinorVersionString = "";
- var appFullVersion = "";
- var appName = appContext.get_appName();
- var isIOSClient = appName == 1024 ||
- appName == 4096 ||
- appName == 8192 ||
- appName == 65536;
- if (isIOSClient && appContext.get_appVersion() == 1) {
- if (appName == 4096 && appMinorVersion >= 15) {
- appFullVersion = "16.00.01";
- }
- else {
- appFullVersion = "16.00";
- }
- }
- else if (appContext.get_appName() == 64) {
- appFullVersion = appContext.get_appVersion();
- }
- else {
- if (appMinorVersion < 10) {
- appMinorVersionString = "0" + appMinorVersion;
- }
- else {
- appMinorVersionString = "" + appMinorVersion;
- }
- appFullVersion = appContext.get_appVersion() + "." + appMinorVersionString;
- }
- return appContext.get_appName() + "-" + appFullVersion;
- };
- RequirementsMatrixFactory.initializeDefaultSetMatrix = function () {
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Excel_RCLIENT_1600] = new ExcelClientDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_RCLIENT_1600] = new WordClientDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.PowerPoint_RCLIENT_1600] = new PowerpointClientDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Excel_RCLIENT_1601] = new ExcelClientV1DefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_RCLIENT_1601] = new WordClientV1DefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.PowerPoint_RCLIENT_1601] = new PowerpointClientV1DefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Outlook_RCLIENT_1600] = new OutlookClientDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Excel_WAC_1600] = new ExcelWebDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_WAC_1600] = new WordWebDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Outlook_WAC_1600] = new OutlookWebDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Outlook_WAC_1601] = new OutlookWebDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Project_RCLIENT_1600] = new ProjectClientDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Access_WAC_1600] = new AccessWebDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.PowerPoint_WAC_1600] = new PowerpointWebDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Excel_IOS_1600] = new ExcelIOSDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.SWAY_WAC_1600] = new SwayWebDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_IOS_1600] = new WordIOSDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_IOS_16001] = new WordIOSV1DefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.PowerPoint_IOS_1600] = new PowerpointIOSDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Outlook_IOS_1600] = new OutlookIOSDefaultSetRequirement();
- };
- RequirementsMatrixFactory.Excel_RCLIENT_1600 = "1-16.00";
- RequirementsMatrixFactory.Excel_RCLIENT_1601 = "1-16.01";
- RequirementsMatrixFactory.Word_RCLIENT_1600 = "2-16.00";
- RequirementsMatrixFactory.Word_RCLIENT_1601 = "2-16.01";
- RequirementsMatrixFactory.PowerPoint_RCLIENT_1600 = "4-16.00";
- RequirementsMatrixFactory.PowerPoint_RCLIENT_1601 = "4-16.01";
- RequirementsMatrixFactory.Outlook_RCLIENT_1600 = "8-16.00";
- RequirementsMatrixFactory.Excel_WAC_1600 = "16-16.00";
- RequirementsMatrixFactory.Word_WAC_1600 = "32-16.00";
- RequirementsMatrixFactory.Outlook_WAC_1600 = "64-16.00";
- RequirementsMatrixFactory.Outlook_WAC_1601 = "64-16.01";
- RequirementsMatrixFactory.Project_RCLIENT_1600 = "128-16.00";
- RequirementsMatrixFactory.Access_WAC_1600 = "256-16.00";
- RequirementsMatrixFactory.PowerPoint_WAC_1600 = "512-16.00";
- RequirementsMatrixFactory.Excel_IOS_1600 = "1024-16.00";
- RequirementsMatrixFactory.SWAY_WAC_1600 = "2048-16.00";
- RequirementsMatrixFactory.Word_IOS_1600 = "4096-16.00";
- RequirementsMatrixFactory.Word_IOS_16001 = "4096-16.00.01";
- RequirementsMatrixFactory.PowerPoint_IOS_1600 = "8192-16.00";
- RequirementsMatrixFactory.Outlook_IOS_1600 = "65536-16.00";
- RequirementsMatrixFactory.DefaultSetArrayMatrix = {};
- return RequirementsMatrixFactory;
- })();
- Requirement.RequirementsMatrixFactory = RequirementsMatrixFactory;
- })(Requirement = OfficeExt.Requirement || (OfficeExt.Requirement = {}));
- })(OfficeExt || (OfficeExt = {}));
- OfficeExt.Requirement.RequirementsMatrixFactory.initializeOsfDda();
- Microsoft.Office.WebExtension.ApplicationMode = {
- WebEditor: "webEditor",
- WebViewer: "webViewer",
- Client: "client"
- };
- Microsoft.Office.WebExtension.DocumentMode = {
- ReadOnly: "readOnly",
- ReadWrite: "readWrite"
- };
- OSF.NamespaceManager = (function OSF_NamespaceManager() {
- var _userOffice;
- var _useShortcut = false;
- return {
- enableShortcut: function OSF_NamespaceManager$enableShortcut() {
- if (!_useShortcut) {
- if (window.Office) {
- _userOffice = window.Office;
- }
- else {
- OSF.OUtil.setNamespace("Office", window);
- }
- window.Office = Microsoft.Office.WebExtension;
- _useShortcut = true;
- }
- },
- disableShortcut: function OSF_NamespaceManager$disableShortcut() {
- if (_useShortcut) {
- if (_userOffice) {
- window.Office = _userOffice;
- }
- else {
- OSF.OUtil.unsetNamespace("Office", window);
- }
- _useShortcut = false;
- }
- }
- };
- })();
- OSF.NamespaceManager.enableShortcut();
- Microsoft.Office.WebExtension.useShortNamespace = function Microsoft_Office_WebExtension_useShortNamespace(useShortcut) {
- if (useShortcut) {
- OSF.NamespaceManager.enableShortcut();
- }
- else {
- OSF.NamespaceManager.disableShortcut();
- }
- };
- Microsoft.Office.WebExtension.select = function Microsoft_Office_WebExtension_select(str, errorCallback) {
- var promise;
- if (str && typeof str == "string") {
- var index = str.indexOf("#");
- if (index != -1) {
- var op = str.substring(0, index);
- var target = str.substring(index + 1);
- switch (op) {
- case "binding":
- case "bindings":
- if (target) {
- promise = new OSF.DDA.BindingPromise(target);
- }
- break;
- }
- }
- }
- if (!promise) {
- if (errorCallback) {
- var callbackType = typeof errorCallback;
- if (callbackType == "function") {
- var callArgs = {};
- callArgs[Microsoft.Office.WebExtension.Parameters.Callback] = errorCallback;
- OSF.DDA.issueAsyncResult(callArgs, OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidApiCallInContext, OSF.DDA.ErrorCodeManager.getErrorArgs(OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidApiCallInContext));
- }
- else {
- throw OSF.OUtil.formatString(Strings.OfficeOM.L_CallbackNotAFunction, callbackType);
- }
- }
- }
- else {
- promise.onFail = errorCallback;
- return promise;
- }
- };
- OSF.DDA.Context = function OSF_DDA_Context(officeAppContext, document, license, appOM, getOfficeTheme) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "contentLanguage": {
- value: officeAppContext.get_dataLocale()
- },
- "displayLanguage": {
- value: officeAppContext.get_appUILocale()
- },
- "touchEnabled": {
- value: officeAppContext.get_touchEnabled()
- },
- "commerceAllowed": {
- value: officeAppContext.get_commerceAllowed()
- }
- });
- if (license) {
- OSF.OUtil.defineEnumerableProperty(this, "license", {
- value: license
- });
- }
- if (officeAppContext.ui) {
- OSF.OUtil.defineEnumerableProperty(this, "ui", {
- value: officeAppContext.ui
- });
- }
- if (!officeAppContext.get_isDialog()) {
- if (document) {
- OSF.OUtil.defineEnumerableProperty(this, "document", {
- value: document
- });
- }
- if (appOM) {
- var displayName = appOM.displayName || "appOM";
- delete appOM.displayName;
- OSF.OUtil.defineEnumerableProperty(this, displayName, {
- value: appOM
- });
- }
- if (getOfficeTheme) {
- OSF.OUtil.defineEnumerableProperty(this, "officeTheme", {
- get: function () {
- return getOfficeTheme();
- }
- });
- }
- var requirements = OfficeExt.Requirement.RequirementsMatrixFactory.getDefaultRequirementMatrix(officeAppContext);
- OSF.OUtil.defineEnumerableProperty(this, "requirements", {
- value: requirements
- });
- }
- };
- OSF.DDA.OutlookContext = function OSF_DDA_OutlookContext(appContext, settings, license, appOM, getOfficeTheme) {
- OSF.DDA.OutlookContext.uber.constructor.call(this, appContext, null, license, appOM, getOfficeTheme);
- if (settings) {
- OSF.OUtil.defineEnumerableProperty(this, "roamingSettings", {
- value: settings
- });
- }
- };
- OSF.OUtil.extend(OSF.DDA.OutlookContext, OSF.DDA.Context);
- OSF.DDA.OutlookAppOm = function OSF_DDA_OutlookAppOm(appContext, window, appReady) { };
- OSF.DDA.Document = function OSF_DDA_Document(officeAppContext, settings) {
- var mode;
- switch (officeAppContext.get_clientMode()) {
- case OSF.ClientMode.ReadOnly:
- mode = Microsoft.Office.WebExtension.DocumentMode.ReadOnly;
- break;
- case OSF.ClientMode.ReadWrite:
- mode = Microsoft.Office.WebExtension.DocumentMode.ReadWrite;
- break;
- }
- ;
- if (settings) {
- OSF.OUtil.defineEnumerableProperty(this, "settings", {
- value: settings
- });
- }
- ;
- OSF.OUtil.defineMutableProperties(this, {
- "mode": {
- value: mode
- },
- "url": {
- value: officeAppContext.get_docUrl()
- }
- });
- };
- OSF.DDA.JsomDocument = function OSF_DDA_JsomDocument(officeAppContext, bindingFacade, settings) {
- OSF.DDA.JsomDocument.uber.constructor.call(this, officeAppContext, settings);
- if (bindingFacade) {
- OSF.OUtil.defineEnumerableProperty(this, "bindings", {
- get: function OSF_DDA_Document$GetBindings() { return bindingFacade; }
- });
- }
- var am = OSF.DDA.AsyncMethodNames;
- OSF.DDA.DispIdHost.addAsyncMethods(this, [
- am.GetSelectedDataAsync,
- am.SetSelectedDataAsync
- ]);
- OSF.DDA.DispIdHost.addEventSupport(this, new OSF.EventDispatch([Microsoft.Office.WebExtension.EventType.DocumentSelectionChanged]));
- };
- OSF.OUtil.extend(OSF.DDA.JsomDocument, OSF.DDA.Document);
- OSF.OUtil.defineEnumerableProperty(Microsoft.Office.WebExtension, "context", {
- get: function Microsoft_Office_WebExtension$GetContext() {
- var context;
- if (OSF && OSF._OfficeAppFactory) {
- context = OSF._OfficeAppFactory.getContext();
- }
- return context;
- }
- });
- OSF.DDA.License = function OSF_DDA_License(eToken) {
- OSF.OUtil.defineEnumerableProperty(this, "value", {
- value: eToken
- });
- };
- OSF.DDA.ApiMethodCall = function OSF_DDA_ApiMethodCall(requiredParameters, supportedOptions, privateStateCallbacks, checkCallArgs, displayName) {
- var requiredCount = requiredParameters.length;
- var getInvalidParameterString = OSF.OUtil.delayExecutionAndCache(function () {
- return OSF.OUtil.formatString(Strings.OfficeOM.L_InvalidParameters, displayName);
- });
- this.verifyArguments = function OSF_DDA_ApiMethodCall$VerifyArguments(params, args) {
- for (var name in params) {
- var param = params[name];
- var arg = args[name];
- if (param["enum"]) {
- switch (typeof arg) {
- case "string":
- if (OSF.OUtil.listContainsValue(param["enum"], arg)) {
- break;
- }
- case "undefined":
- throw OSF.DDA.ErrorCodeManager.errorCodes.ooeUnsupportedEnumeration;
- default:
- throw getInvalidParameterString();
- }
- }
- if (param["types"]) {
- if (!OSF.OUtil.listContainsValue(param["types"], typeof arg)) {
- throw getInvalidParameterString();
- }
- }
- }
- };
- this.extractRequiredArguments = function OSF_DDA_ApiMethodCall$ExtractRequiredArguments(userArgs, caller, stateInfo) {
- if (userArgs.length < requiredCount) {
- throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_MissingRequiredArguments);
- }
- var requiredArgs = [];
- var index;
- for (index = 0; index < requiredCount; index++) {
- requiredArgs.push(userArgs[index]);
- }
- this.verifyArguments(requiredParameters, requiredArgs);
- var ret = {};
- for (index = 0; index < requiredCount; index++) {
- var param = requiredParameters[index];
- var arg = requiredArgs[index];
- if (param.verify) {
- var isValid = param.verify(arg, caller, stateInfo);
- if (!isValid) {
- throw getInvalidParameterString();
- }
- }
- ret[param.name] = arg;
- }
- return ret;
- },
- this.fillOptions = function OSF_DDA_ApiMethodCall$FillOptions(options, requiredArgs, caller, stateInfo) {
- options = options || {};
- for (var optionName in supportedOptions) {
- if (!OSF.OUtil.listContainsKey(options, optionName)) {
- var value = undefined;
- var option = supportedOptions[optionName];
- if (option.calculate && requiredArgs) {
- value = option.calculate(requiredArgs, caller, stateInfo);
- }
- if (!value && option.defaultValue !== undefined) {
- value = option.defaultValue;
- }
- options[optionName] = value;
- }
- }
- return options;
- };
- this.constructCallArgs = function OSF_DAA_ApiMethodCall$ConstructCallArgs(required, options, caller, stateInfo) {
- var callArgs = {};
- for (var r in required) {
- callArgs[r] = required[r];
- }
- for (var o in options) {
- callArgs[o] = options[o];
- }
- for (var s in privateStateCallbacks) {
- callArgs[s] = privateStateCallbacks[s](caller, stateInfo);
- }
- if (checkCallArgs) {
- callArgs = checkCallArgs(callArgs, caller, stateInfo);
- }
- return callArgs;
- };
- };
- OSF.OUtil.setNamespace("AsyncResultEnum", OSF.DDA);
- OSF.DDA.AsyncResultEnum.Properties = {
- Context: "Context",
- Value: "Value",
- Status: "Status",
- Error: "Error"
- };
- Microsoft.Office.WebExtension.AsyncResultStatus = {
- Succeeded: "succeeded",
- Failed: "failed"
- };
- OSF.DDA.AsyncResultEnum.ErrorCode = {
- Success: 0,
- Failed: 1
- };
- OSF.DDA.AsyncResultEnum.ErrorProperties = {
- Name: "Name",
- Message: "Message",
- Code: "Code"
- };
- OSF.DDA.AsyncMethodNames = {};
- OSF.DDA.AsyncMethodNames.addNames = function (methodNames) {
- for (var entry in methodNames) {
- var am = {};
- OSF.OUtil.defineEnumerableProperties(am, {
- "id": {
- value: entry
- },
- "displayName": {
- value: methodNames[entry]
- }
- });
- OSF.DDA.AsyncMethodNames[entry] = am;
- }
- };
- OSF.DDA.AsyncMethodCall = function OSF_DDA_AsyncMethodCall(requiredParameters, supportedOptions, privateStateCallbacks, onSucceeded, onFailed, checkCallArgs, displayName) {
- var requiredCount = requiredParameters.length;
- var apiMethods = new OSF.DDA.ApiMethodCall(requiredParameters, supportedOptions, privateStateCallbacks, checkCallArgs, displayName);
- function OSF_DAA_AsyncMethodCall$ExtractOptions(userArgs, requiredArgs, caller, stateInfo) {
- if (userArgs.length > requiredCount + 2) {
- throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyArguments);
- }
- var options, parameterCallback;
- for (var i = userArgs.length - 1; i >= requiredCount; i--) {
- var argument = userArgs[i];
- switch (typeof argument) {
- case "object":
- if (options) {
- throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyOptionalObjects);
- }
- else {
- options = argument;
- }
- break;
- case "function":
- if (parameterCallback) {
- throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyOptionalFunction);
- }
- else {
- parameterCallback = argument;
- }
- break;
- default:
- throw OsfMsAjaxFactory.msAjaxError.argument(Strings.OfficeOM.L_InValidOptionalArgument);
- break;
- }
- }
- options = apiMethods.fillOptions(options, requiredArgs, caller, stateInfo);
- if (parameterCallback) {
- if (options[Microsoft.Office.WebExtension.Parameters.Callback]) {
- throw Strings.OfficeOM.L_RedundantCallbackSpecification;
- }
- else {
- options[Microsoft.Office.WebExtension.Parameters.Callback] = parameterCallback;
- }
- }
- apiMethods.verifyArguments(supportedOptions, options);
- return options;
- }
- ;
- this.verifyAndExtractCall = function OSF_DAA_AsyncMethodCall$VerifyAndExtractCall(userArgs, caller, stateInfo) {
- var required = apiMethods.extractRequiredArguments(userArgs, caller, stateInfo);
- var options = OSF_DAA_AsyncMethodCall$ExtractOptions(userArgs, required, caller, stateInfo);
- var callArgs = apiMethods.constructCallArgs(required, options, caller, stateInfo);
- return callArgs;
- };
- this.processResponse = function OSF_DAA_AsyncMethodCall$ProcessResponse(status, response, caller, callArgs) {
- var payload;
- if (status == OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess) {
- if (onSucceeded) {
- payload = onSucceeded(response, caller, callArgs);
- }
- else {
- payload = response;
- }
- }
- else {
- if (onFailed) {
- payload = onFailed(status, response);
- }
- else {
- payload = OSF.DDA.ErrorCodeManager.getErrorArgs(status);
- }
- }
- return payload;
- };
- this.getCallArgs = function (suppliedArgs) {
- var options, parameterCallback;
- for (var i = suppliedArgs.length - 1; i >= requiredCount; i--) {
- var argument = suppliedArgs[i];
- switch (typeof argument) {
- case "object":
- options = argument;
- break;
- case "function":
- parameterCallback = argument;
- break;
- }
- }
- options = options || {};
- if (parameterCallback) {
- options[Microsoft.Office.WebExtension.Parameters.Callback] = parameterCallback;
- }
- return options;
- };
- };
- OSF.DDA.AsyncMethodCallFactory = (function () {
- return {
- manufacture: function (params) {
- var supportedOptions = params.supportedOptions ? OSF.OUtil.createObject(params.supportedOptions) : [];
- var privateStateCallbacks = params.privateStateCallbacks ? OSF.OUtil.createObject(params.privateStateCallbacks) : [];
- return new OSF.DDA.AsyncMethodCall(params.requiredArguments || [], supportedOptions, privateStateCallbacks, params.onSucceeded, params.onFailed, params.checkCallArgs, params.method.displayName);
- }
- };
- })();
- OSF.DDA.AsyncMethodCalls = {};
- OSF.DDA.AsyncMethodCalls.define = function (callDefinition) {
- OSF.DDA.AsyncMethodCalls[callDefinition.method.id] = OSF.DDA.AsyncMethodCallFactory.manufacture(callDefinition);
- };
- OSF.DDA.Error = function OSF_DDA_Error(name, message, code) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "name": {
- value: name
- },
- "message": {
- value: message
- },
- "code": {
- value: code
- }
- });
- };
- OSF.DDA.AsyncResult = function OSF_DDA_AsyncResult(initArgs, errorArgs) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "value": {
- value: initArgs[OSF.DDA.AsyncResultEnum.Properties.Value]
- },
- "status": {
- value: errorArgs ? Microsoft.Office.WebExtension.AsyncResultStatus.Failed : Microsoft.Office.WebExtension.AsyncResultStatus.Succeeded
- }
- });
- if (initArgs[OSF.DDA.AsyncResultEnum.Properties.Context]) {
- OSF.OUtil.defineEnumerableProperty(this, "asyncContext", {
- value: initArgs[OSF.DDA.AsyncResultEnum.Properties.Context]
- });
- }
- if (errorArgs) {
- 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])
- });
- }
- };
- OSF.DDA.issueAsyncResult = function OSF_DDA$IssueAsyncResult(callArgs, status, payload) {
- var callback = callArgs[Microsoft.Office.WebExtension.Parameters.Callback];
- if (callback) {
- var asyncInitArgs = {};
- asyncInitArgs[OSF.DDA.AsyncResultEnum.Properties.Context] = callArgs[Microsoft.Office.WebExtension.Parameters.AsyncContext];
- var errorArgs;
- if (status == OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess) {
- asyncInitArgs[OSF.DDA.AsyncResultEnum.Properties.Value] = payload;
- }
- else {
- errorArgs = {};
- payload = payload || OSF.DDA.ErrorCodeManager.getErrorArgs(OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError);
- errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Code] = status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
- errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Name] = payload.name || payload;
- errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Message] = payload.message || payload;
- }
- callback(new OSF.DDA.AsyncResult(asyncInitArgs, errorArgs));
- }
- };
- OSF.DDA.SyncMethodNames = {};
- OSF.DDA.SyncMethodNames.addNames = function (methodNames) {
- for (var entry in methodNames) {
- var am = {};
- OSF.OUtil.defineEnumerableProperties(am, {
- "id": {
- value: entry
- },
- "displayName": {
- value: methodNames[entry]
- }
- });
- OSF.DDA.SyncMethodNames[entry] = am;
- }
- };
- OSF.DDA.SyncMethodCall = function OSF_DDA_SyncMethodCall(requiredParameters, supportedOptions, privateStateCallbacks, checkCallArgs, displayName) {
- var requiredCount = requiredParameters.length;
- var apiMethods = new OSF.DDA.ApiMethodCall(requiredParameters, supportedOptions, privateStateCallbacks, checkCallArgs, displayName);
- function OSF_DAA_SyncMethodCall$ExtractOptions(userArgs, requiredArgs, caller, stateInfo) {
- if (userArgs.length > requiredCount + 1) {
- throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyArguments);
- }
- var options, parameterCallback;
- for (var i = userArgs.length - 1; i >= requiredCount; i--) {
- var argument = userArgs[i];
- switch (typeof argument) {
- case "object":
- if (options) {
- throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyOptionalObjects);
- }
- else {
- options = argument;
- }
- break;
- default:
- throw OsfMsAjaxFactory.msAjaxError.argument(Strings.OfficeOM.L_InValidOptionalArgument);
- break;
- }
- }
- options = apiMethods.fillOptions(options, requiredArgs, caller, stateInfo);
- apiMethods.verifyArguments(supportedOptions, options);
- return options;
- }
- ;
- this.verifyAndExtractCall = function OSF_DAA_AsyncMethodCall$VerifyAndExtractCall(userArgs, caller, stateInfo) {
- var required = apiMethods.extractRequiredArguments(userArgs, caller, stateInfo);
- var options = OSF_DAA_SyncMethodCall$ExtractOptions(userArgs, required, caller, stateInfo);
- var callArgs = apiMethods.constructCallArgs(required, options, caller, stateInfo);
- return callArgs;
- };
- };
- OSF.DDA.SyncMethodCallFactory = (function () {
- return {
- manufacture: function (params) {
- var supportedOptions = params.supportedOptions ? OSF.OUtil.createObject(params.supportedOptions) : [];
- return new OSF.DDA.SyncMethodCall(params.requiredArguments || [], supportedOptions, params.privateStateCallbacks, params.checkCallArgs, params.method.displayName);
- }
- };
- })();
- OSF.DDA.SyncMethodCalls = {};
- OSF.DDA.SyncMethodCalls.define = function (callDefinition) {
- OSF.DDA.SyncMethodCalls[callDefinition.method.id] = OSF.DDA.SyncMethodCallFactory.manufacture(callDefinition);
- };
- OSF.DDA.ListType = (function () {
- var listTypes = {};
- return {
- setListType: function OSF_DDA_ListType$AddListType(t, prop) { listTypes[t] = prop; },
- isListType: function OSF_DDA_ListType$IsListType(t) { return OSF.OUtil.listContainsKey(listTypes, t); },
- getDescriptor: function OSF_DDA_ListType$getDescriptor(t) { return listTypes[t]; }
- };
- })();
- OSF.DDA.HostParameterMap = function (specialProcessor, mappings) {
- var toHostMap = "toHost";
- var fromHostMap = "fromHost";
- var sourceData = "sourceData";
- var self = "self";
- var dynamicTypes = {};
- dynamicTypes[Microsoft.Office.WebExtension.Parameters.Data] = {
- toHost: function (data) {
- if (data != null && data.rows !== undefined) {
- var tableData = {};
- tableData[OSF.DDA.TableDataProperties.TableRows] = data.rows;
- tableData[OSF.DDA.TableDataProperties.TableHeaders] = data.headers;
- data = tableData;
- }
- return data;
- },
- fromHost: function (args) {
- return args;
- }
- };
- dynamicTypes[Microsoft.Office.WebExtension.Parameters.SampleData] = dynamicTypes[Microsoft.Office.WebExtension.Parameters.Data];
- function mapValues(preimageSet, mapping) {
- var ret = preimageSet ? {} : undefined;
- for (var entry in preimageSet) {
- var preimage = preimageSet[entry];
- var image;
- if (OSF.DDA.ListType.isListType(entry)) {
- image = [];
- for (var subEntry in preimage) {
- image.push(mapValues(preimage[subEntry], mapping));
- }
- }
- else if (OSF.OUtil.listContainsKey(dynamicTypes, entry)) {
- image = dynamicTypes[entry][mapping](preimage);
- }
- else if (mapping == fromHostMap && specialProcessor.preserveNesting(entry)) {
- image = mapValues(preimage, mapping);
- }
- else {
- var maps = mappings[entry];
- if (maps) {
- var map = maps[mapping];
- if (map) {
- image = map[preimage];
- if (image === undefined) {
- image = preimage;
- }
- }
- }
- else {
- image = preimage;
- }
- }
- ret[entry] = image;
- }
- return ret;
- }
- ;
- function generateArguments(imageSet, parameters) {
- var ret;
- for (var param in parameters) {
- var arg;
- if (specialProcessor.isComplexType(param)) {
- arg = generateArguments(imageSet, mappings[param][toHostMap]);
- }
- else {
- arg = imageSet[param];
- }
- if (arg != undefined) {
- if (!ret) {
- ret = {};
- }
- var index = parameters[param];
- if (index == self) {
- index = param;
- }
- ret[index] = specialProcessor.pack(param, arg);
- }
- }
- return ret;
- }
- ;
- function extractArguments(source, parameters, extracted) {
- if (!extracted) {
- extracted = {};
- }
- for (var param in parameters) {
- var index = parameters[param];
- var value;
- if (index == self) {
- value = source;
- }
- else if (index == sourceData) {
- extracted[param] = source.toArray();
- continue;
- }
- else {
- value = source[index];
- }
- if (value === null || value === undefined) {
- extracted[param] = undefined;
- }
- else {
- value = specialProcessor.unpack(param, value);
- var map;
- if (specialProcessor.isComplexType(param)) {
- map = mappings[param][fromHostMap];
- if (specialProcessor.preserveNesting(param)) {
- extracted[param] = extractArguments(value, map);
- }
- else {
- extractArguments(value, map, extracted);
- }
- }
- else {
- if (OSF.DDA.ListType.isListType(param)) {
- map = {};
- var entryDescriptor = OSF.DDA.ListType.getDescriptor(param);
- map[entryDescriptor] = self;
- var extractedValues = new Array(value.length);
- for (var item in value) {
- extractedValues[item] = extractArguments(value[item], map);
- }
- extracted[param] = extractedValues;
- }
- else {
- extracted[param] = value;
- }
- }
- }
- }
- return extracted;
- }
- ;
- function applyMap(mapName, preimage, mapping) {
- var parameters = mappings[mapName][mapping];
- var image;
- if (mapping == "toHost") {
- var imageSet = mapValues(preimage, mapping);
- image = generateArguments(imageSet, parameters);
- }
- else if (mapping == "fromHost") {
- var argumentSet = extractArguments(preimage, parameters);
- image = mapValues(argumentSet, mapping);
- }
- return image;
- }
- ;
- if (!mappings) {
- mappings = {};
- }
- this.addMapping = function (mapName, description) {
- var toHost, fromHost;
- if (description.map) {
- toHost = description.map;
- fromHost = {};
- for (var preimage in toHost) {
- var image = toHost[preimage];
- if (image == self) {
- image = preimage;
- }
- fromHost[image] = preimage;
- }
- }
- else {
- toHost = description.toHost;
- fromHost = description.fromHost;
- }
- var pair = mappings[mapName];
- if (pair) {
- var currMap = pair[toHostMap];
- for (var th in currMap)
- toHost[th] = currMap[th];
- currMap = pair[fromHostMap];
- for (var fh in currMap)
- fromHost[fh] = currMap[fh];
- }
- else {
- pair = mappings[mapName] = {};
- }
- pair[toHostMap] = toHost;
- pair[fromHostMap] = fromHost;
- };
- this.toHost = function (mapName, preimage) { return applyMap(mapName, preimage, toHostMap); };
- this.fromHost = function (mapName, image) { return applyMap(mapName, image, fromHostMap); };
- this.self = self;
- this.sourceData = sourceData;
- this.addComplexType = function (ct) { specialProcessor.addComplexType(ct); };
- this.getDynamicType = function (dt) { return specialProcessor.getDynamicType(dt); };
- this.setDynamicType = function (dt, handler) { specialProcessor.setDynamicType(dt, handler); };
- this.dynamicTypes = dynamicTypes;
- this.doMapValues = function (preimageSet, mapping) { return mapValues(preimageSet, mapping); };
- };
- OSF.DDA.SpecialProcessor = function (complexTypes, dynamicTypes) {
- this.addComplexType = function OSF_DDA_SpecialProcessor$addComplexType(ct) {
- complexTypes.push(ct);
- };
- this.getDynamicType = function OSF_DDA_SpecialProcessor$getDynamicType(dt) {
- return dynamicTypes[dt];
- };
- this.setDynamicType = function OSF_DDA_SpecialProcessor$setDynamicType(dt, handler) {
- dynamicTypes[dt] = handler;
- };
- this.isComplexType = function OSF_DDA_SpecialProcessor$isComplexType(t) {
- return OSF.OUtil.listContainsValue(complexTypes, t);
- };
- this.isDynamicType = function OSF_DDA_SpecialProcessor$isDynamicType(p) {
- return OSF.OUtil.listContainsKey(dynamicTypes, p);
- };
- this.preserveNesting = function OSF_DDA_SpecialProcessor$preserveNesting(p) {
- var pn = [];
- if (OSF.DDA.PropertyDescriptors)
- pn.push(OSF.DDA.PropertyDescriptors.Subset);
- if (OSF.DDA.DataNodeEventProperties) {
- pn = pn.concat([
- OSF.DDA.DataNodeEventProperties.OldNode,
- OSF.DDA.DataNodeEventProperties.NewNode,
- OSF.DDA.DataNodeEventProperties.NextSiblingNode
- ]);
- }
- return OSF.OUtil.listContainsValue(pn, p);
- };
- this.pack = function OSF_DDA_SpecialProcessor$pack(param, arg) {
- var value;
- if (this.isDynamicType(param)) {
- value = dynamicTypes[param].toHost(arg);
- }
- else {
- value = arg;
- }
- return value;
- };
- this.unpack = function OSF_DDA_SpecialProcessor$unpack(param, arg) {
- var value;
- if (this.isDynamicType(param)) {
- value = dynamicTypes[param].fromHost(arg);
- }
- else {
- value = arg;
- }
- return value;
- };
- };
- OSF.DDA.getDecoratedParameterMap = function (specialProcessor, initialDefs) {
- var parameterMap = new OSF.DDA.HostParameterMap(specialProcessor);
- var self = parameterMap.self;
- function createObject(properties) {
- var obj = null;
- if (properties) {
- obj = {};
- var len = properties.length;
- for (var i = 0; i < len; i++) {
- obj[properties[i].name] = properties[i].value;
- }
- }
- return obj;
- }
- parameterMap.define = function define(definition) {
- var args = {};
- var toHost = createObject(definition.toHost);
- if (definition.invertible) {
- args.map = toHost;
- }
- else if (definition.canonical) {
- args.toHost = args.fromHost = toHost;
- }
- else {
- args.toHost = toHost;
- args.fromHost = createObject(definition.fromHost);
- }
- parameterMap.addMapping(definition.type, args);
- if (definition.isComplexType)
- parameterMap.addComplexType(definition.type);
- };
- for (var id in initialDefs)
- parameterMap.define(initialDefs[id]);
- return parameterMap;
- };
- OSF.OUtil.setNamespace("DispIdHost", OSF.DDA);
- OSF.DDA.DispIdHost.Methods = {
- InvokeMethod: "invokeMethod",
- AddEventHandler: "addEventHandler",
- RemoveEventHandler: "removeEventHandler",
- OpenDialog: "openDialog",
- CloseDialog: "closeDialog",
- MessageParent: "messageParent"
- };
- OSF.DDA.DispIdHost.Delegates = {
- ExecuteAsync: "executeAsync",
- RegisterEventAsync: "registerEventAsync",
- UnregisterEventAsync: "unregisterEventAsync",
- ParameterMap: "parameterMap",
- OpenDialog: "openDialog",
- CloseDialog: "closeDialog",
- MessageParent: "messageParent"
- };
- OSF.DDA.DispIdHost.Facade = function OSF_DDA_DispIdHost_Facade(getDelegateMethods, parameterMap) {
- var dispIdMap = {};
- var jsom = OSF.DDA.AsyncMethodNames;
- var did = OSF.DDA.MethodDispId;
- var methodMap = {
- "GoToByIdAsync": did.dispidNavigateToMethod,
- "GetSelectedDataAsync": did.dispidGetSelectedDataMethod,
- "SetSelectedDataAsync": did.dispidSetSelectedDataMethod,
- "GetDocumentCopyChunkAsync": did.dispidGetDocumentCopyChunkMethod,
- "ReleaseDocumentCopyAsync": did.dispidReleaseDocumentCopyMethod,
- "GetDocumentCopyAsync": did.dispidGetDocumentCopyMethod,
- "AddFromSelectionAsync": did.dispidAddBindingFromSelectionMethod,
- "AddFromPromptAsync": did.dispidAddBindingFromPromptMethod,
- "AddFromNamedItemAsync": did.dispidAddBindingFromNamedItemMethod,
- "GetAllAsync": did.dispidGetAllBindingsMethod,
- "GetByIdAsync": did.dispidGetBindingMethod,
- "ReleaseByIdAsync": did.dispidReleaseBindingMethod,
- "GetDataAsync": did.dispidGetBindingDataMethod,
- "SetDataAsync": did.dispidSetBindingDataMethod,
- "AddRowsAsync": did.dispidAddRowsMethod,
- "AddColumnsAsync": did.dispidAddColumnsMethod,
- "DeleteAllDataValuesAsync": did.dispidClearAllRowsMethod,
- "RefreshAsync": did.dispidLoadSettingsMethod,
- "SaveAsync": did.dispidSaveSettingsMethod,
- "GetActiveViewAsync": did.dispidGetActiveViewMethod,
- "GetFilePropertiesAsync": did.dispidGetFilePropertiesMethod,
- "GetOfficeThemeAsync": did.dispidGetOfficeThemeMethod,
- "GetDocumentThemeAsync": did.dispidGetDocumentThemeMethod,
- "ClearFormatsAsync": did.dispidClearFormatsMethod,
- "SetTableOptionsAsync": did.dispidSetTableOptionsMethod,
- "SetFormatsAsync": did.dispidSetFormatsMethod,
- "ExecuteRichApiRequestAsync": did.dispidExecuteRichApiRequestMethod,
- "AppCommandInvocationCompletedAsync": did.dispidAppCommandInvocationCompletedMethod,
- "CloseContainerAsync": did.dispidCloseContainerMethod,
- "AddDataPartAsync": did.dispidAddDataPartMethod,
- "GetDataPartByIdAsync": did.dispidGetDataPartByIdMethod,
- "GetDataPartsByNameSpaceAsync": did.dispidGetDataPartsByNamespaceMethod,
- "GetPartXmlAsync": did.dispidGetDataPartXmlMethod,
- "GetPartNodesAsync": did.dispidGetDataPartNodesMethod,
- "DeleteDataPartAsync": did.dispidDeleteDataPartMethod,
- "GetNodeValueAsync": did.dispidGetDataNodeValueMethod,
- "GetNodeXmlAsync": did.dispidGetDataNodeXmlMethod,
- "GetRelativeNodesAsync": did.dispidGetDataNodesMethod,
- "SetNodeValueAsync": did.dispidSetDataNodeValueMethod,
- "SetNodeXmlAsync": did.dispidSetDataNodeXmlMethod,
- "AddDataPartNamespaceAsync": did.dispidAddDataNamespaceMethod,
- "GetDataPartNamespaceAsync": did.dispidGetDataUriByPrefixMethod,
- "GetDataPartPrefixAsync": did.dispidGetDataPrefixByUriMethod,
- "GetNodeTextAsync": did.dispidGetDataNodeTextMethod,
- "SetNodeTextAsync": did.dispidSetDataNodeTextMethod,
- "GetSelectedTask": did.dispidGetSelectedTaskMethod,
- "GetTask": did.dispidGetTaskMethod,
- "GetWSSUrl": did.dispidGetWSSUrlMethod,
- "GetTaskField": did.dispidGetTaskFieldMethod,
- "GetSelectedResource": did.dispidGetSelectedResourceMethod,
- "GetResourceField": did.dispidGetResourceFieldMethod,
- "GetProjectField": did.dispidGetProjectFieldMethod,
- "GetSelectedView": did.dispidGetSelectedViewMethod,
- "GetTaskByIndex": did.dispidGetTaskByIndexMethod,
- "GetResourceByIndex": did.dispidGetResourceByIndexMethod,
- "SetTaskField": did.dispidSetTaskFieldMethod,
- "SetResourceField": did.dispidSetResourceFieldMethod,
- "GetMaxTaskIndex": did.dispidGetMaxTaskIndexMethod,
- "GetMaxResourceIndex": did.dispidGetMaxResourceIndexMethod,
- "CreateTask": did.dispidCreateTaskMethod
- };
- for (var method in methodMap) {
- if (jsom[method]) {
- dispIdMap[jsom[method].id] = methodMap[method];
- }
- }
- jsom = OSF.DDA.SyncMethodNames;
- did = OSF.DDA.MethodDispId;
- var asyncMethodMap = {
- "MessageParent": did.dispidMessageParentMethod
- };
- for (var method in asyncMethodMap) {
- if (jsom[method]) {
- dispIdMap[jsom[method].id] = asyncMethodMap[method];
- }
- }
- jsom = Microsoft.Office.WebExtension.EventType;
- did = OSF.DDA.EventDispId;
- var eventMap = {
- "SettingsChanged": did.dispidSettingsChangedEvent,
- "DocumentSelectionChanged": did.dispidDocumentSelectionChangedEvent,
- "BindingSelectionChanged": did.dispidBindingSelectionChangedEvent,
- "BindingDataChanged": did.dispidBindingDataChangedEvent,
- "ActiveViewChanged": did.dispidActiveViewChangedEvent,
- "OfficeThemeChanged": did.dispidOfficeThemeChangedEvent,
- "DocumentThemeChanged": did.dispidDocumentThemeChangedEvent,
- "AppCommandInvoked": did.dispidAppCommandInvokedEvent,
- "DialogMessageReceived": did.dispidDialogMessageReceivedEvent,
- "OlkItemSelectedChanged": did.dispidOlkItemSelectedChangedEvent,
- "TaskSelectionChanged": did.dispidTaskSelectionChangedEvent,
- "ResourceSelectionChanged": did.dispidResourceSelectionChangedEvent,
- "ViewSelectionChanged": did.dispidViewSelectionChangedEvent,
- "DataNodeInserted": did.dispidDataNodeAddedEvent,
- "DataNodeReplaced": did.dispidDataNodeReplacedEvent,
- "DataNodeDeleted": did.dispidDataNodeDeletedEvent
- };
- for (var event in eventMap) {
- if (jsom[event]) {
- dispIdMap[jsom[event]] = eventMap[event];
- }
- }
- function onException(ex, asyncMethodCall, suppliedArgs, callArgs) {
- if (typeof ex == "number") {
- if (!callArgs) {
- callArgs = asyncMethodCall.getCallArgs(suppliedArgs);
- }
- OSF.DDA.issueAsyncResult(callArgs, ex, OSF.DDA.ErrorCodeManager.getErrorArgs(ex));
- }
- else {
- throw ex;
- }
- }
- ;
- this[OSF.DDA.DispIdHost.Methods.InvokeMethod] = function OSF_DDA_DispIdHost_Facade$InvokeMethod(method, suppliedArguments, caller, privateState) {
- var callArgs;
- try {
- var methodName = method.id;
- var asyncMethodCall = OSF.DDA.AsyncMethodCalls[methodName];
- callArgs = asyncMethodCall.verifyAndExtractCall(suppliedArguments, caller, privateState);
- var dispId = dispIdMap[methodName];
- var delegate = getDelegateMethods(methodName);
- var richApiInExcelMethodSubstitution = null;
- if (window.Excel && window.Office.context.requirements.isSetSupported("RedirectV1Api")) {
- window.Excel._RedirectV1APIs = true;
- }
- if (window.Excel && window.Excel._RedirectV1APIs && (richApiInExcelMethodSubstitution = window.Excel._V1APIMap[methodName])) {
- if (richApiInExcelMethodSubstitution.preprocess) {
- callArgs = richApiInExcelMethodSubstitution.preprocess(callArgs);
- }
- var ctx = new window.Excel.RequestContext();
- var result = richApiInExcelMethodSubstitution.call(ctx, callArgs);
- ctx.sync()
- .then(function () {
- var response = result.value;
- var status = response.status;
- delete response["status"];
- delete response["@odata.type"];
- if (richApiInExcelMethodSubstitution.postprocess) {
- response = richApiInExcelMethodSubstitution.postprocess(response, callArgs);
- }
- if (status != 0) {
- response = OSF.DDA.ErrorCodeManager.getErrorArgs(status);
- }
- OSF.DDA.issueAsyncResult(callArgs, status, response);
- })["catch"](function (error) {
- OSF.DDA.issueAsyncResult(callArgs, OSF.DDA.ErrorCodeManager.errorCodes.ooeFailure, null);
- });
- }
- else {
- var hostCallArgs;
- if (parameterMap.toHost) {
- hostCallArgs = parameterMap.toHost(dispId, callArgs);
- }
- else {
- hostCallArgs = callArgs;
- }
- delegate[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]({
- "dispId": dispId,
- "hostCallArgs": hostCallArgs,
- "onCalling": function OSF_DDA_DispIdFacade$Execute_onCalling() { },
- "onReceiving": function OSF_DDA_DispIdFacade$Execute_onReceiving() { },
- "onComplete": function (status, hostResponseArgs) {
- var responseArgs;
- if (status == OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess) {
- if (parameterMap.fromHost) {
- responseArgs = parameterMap.fromHost(dispId, hostResponseArgs);
- }
- else {
- responseArgs = hostResponseArgs;
- }
- }
- else {
- responseArgs = hostResponseArgs;
- }
- var payload = asyncMethodCall.processResponse(status, responseArgs, caller, callArgs);
- OSF.DDA.issueAsyncResult(callArgs, status, payload);
- }
- });
- }
- }
- catch (ex) {
- onException(ex, asyncMethodCall, suppliedArguments, callArgs);
- }
- };
- this[OSF.DDA.DispIdHost.Methods.AddEventHandler] = function OSF_DDA_DispIdHost_Facade$AddEventHandler(suppliedArguments, eventDispatch, caller) {
- var callArgs;
- var eventType, handler;
- function onEnsureRegistration(status) {
- if (status == OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess) {
- var added = eventDispatch.addEventHandler(eventType, handler);
- if (!added) {
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeEventHandlerAdditionFailed;
- }
- }
- var error;
- if (status != OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess) {
- error = OSF.DDA.ErrorCodeManager.getErrorArgs(status);
- }
- OSF.DDA.issueAsyncResult(callArgs, status, error);
- }
- try {
- var asyncMethodCall = OSF.DDA.AsyncMethodCalls[OSF.DDA.AsyncMethodNames.AddHandlerAsync.id];
- callArgs = asyncMethodCall.verifyAndExtractCall(suppliedArguments, caller, eventDispatch);
- eventType = callArgs[Microsoft.Office.WebExtension.Parameters.EventType];
- handler = callArgs[Microsoft.Office.WebExtension.Parameters.Handler];
- if (eventDispatch.getEventHandlerCount(eventType) == 0) {
- var dispId = dispIdMap[eventType];
- var invoker = getDelegateMethods(eventType)[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync];
- invoker({
- "eventType": eventType,
- "dispId": dispId,
- "targetId": caller.id || "",
- "onCalling": function OSF_DDA_DispIdFacade$Execute_onCalling() { OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall); },
- "onReceiving": function OSF_DDA_DispIdFacade$Execute_onReceiving() { OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse); },
- "onComplete": onEnsureRegistration,
- "onEvent": function handleEvent(hostArgs) {
- var args = parameterMap.fromHost(dispId, hostArgs);
- eventDispatch.fireEvent(OSF.DDA.OMFactory.manufactureEventArgs(eventType, caller, args));
- }
- });
- }
- else {
- onEnsureRegistration(OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess);
- }
- }
- catch (ex) {
- onException(ex, asyncMethodCall, suppliedArguments, callArgs);
- }
- };
- this[OSF.DDA.DispIdHost.Methods.RemoveEventHandler] = function OSF_DDA_DispIdHost_Facade$RemoveEventHandler(suppliedArguments, eventDispatch, caller) {
- var callArgs;
- var eventType, handler;
- function onEnsureRegistration(status) {
- var error;
- if (status != OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess) {
- error = OSF.DDA.ErrorCodeManager.getErrorArgs(status);
- }
- OSF.DDA.issueAsyncResult(callArgs, status, error);
- }
- try {
- var asyncMethodCall = OSF.DDA.AsyncMethodCalls[OSF.DDA.AsyncMethodNames.RemoveHandlerAsync.id];
- callArgs = asyncMethodCall.verifyAndExtractCall(suppliedArguments, caller, eventDispatch);
- eventType = callArgs[Microsoft.Office.WebExtension.Parameters.EventType];
- handler = callArgs[Microsoft.Office.WebExtension.Parameters.Handler];
- var status, removeSuccess;
- if (handler === null) {
- removeSuccess = eventDispatch.clearEventHandlers(eventType);
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess;
- }
- else {
- removeSuccess = eventDispatch.removeEventHandler(eventType, handler);
- status = removeSuccess ? OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess : OSF.DDA.ErrorCodeManager.errorCodes.ooeEventHandlerNotExist;
- }
- if (removeSuccess && eventDispatch.getEventHandlerCount(eventType) == 0) {
- var dispId = dispIdMap[eventType];
- var invoker = getDelegateMethods(eventType)[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync];
- invoker({
- "eventType": eventType,
- "dispId": dispId,
- "targetId": caller.id || "",
- "onCalling": function OSF_DDA_DispIdFacade$Execute_onCalling() { OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall); },
- "onReceiving": function OSF_DDA_DispIdFacade$Execute_onReceiving() { OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse); },
- "onComplete": onEnsureRegistration
- });
- }
- else {
- onEnsureRegistration(status);
- }
- }
- catch (ex) {
- onException(ex, asyncMethodCall, suppliedArguments, callArgs);
- }
- };
- this[OSF.DDA.DispIdHost.Methods.OpenDialog] = function OSF_DDA_DispIdHost_Facade$OpenDialog(suppliedArguments, eventDispatch, caller) {
- var callArgs;
- var targetId;
- var dialogMessageEvent = Microsoft.Office.WebExtension.EventType.DialogMessageReceived;
- var dialogOtherEvent = Microsoft.Office.WebExtension.EventType.DialogEventReceived;
- function onEnsureRegistration(status) {
- var payload;
- if (status != OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess) {
- payload = OSF.DDA.ErrorCodeManager.getErrorArgs(status);
- }
- else {
- var onSucceedArgs = {};
- onSucceedArgs[Microsoft.Office.WebExtension.Parameters.Id] = targetId;
- onSucceedArgs[Microsoft.Office.WebExtension.Parameters.Data] = eventDispatch;
- var payload = asyncMethodCall.processResponse(status, onSucceedArgs, caller, callArgs);
- OSF.DialogShownStatus.hasDialogShown = true;
- eventDispatch.clearEventHandlers(dialogMessageEvent);
- eventDispatch.clearEventHandlers(dialogOtherEvent);
- }
- OSF.DDA.issueAsyncResult(callArgs, status, payload);
- }
- try {
- if (dialogMessageEvent == undefined || dialogOtherEvent == undefined) {
- onEnsureRegistration(OSF.DDA.ErrorCodeManager.ooeOperationNotSupported);
- }
- if (OSF.DDA.AsyncMethodNames.DisplayDialogAsync == null) {
- onEnsureRegistration(OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError);
- return;
- }
- var asyncMethodCall = OSF.DDA.AsyncMethodCalls[OSF.DDA.AsyncMethodNames.DisplayDialogAsync.id];
- callArgs = asyncMethodCall.verifyAndExtractCall(suppliedArguments, caller, eventDispatch);
- var dispId = dispIdMap[dialogMessageEvent];
- var delegateMethods = getDelegateMethods(dialogMessageEvent);
- var invoker = delegateMethods[OSF.DDA.DispIdHost.Delegates.OpenDialog] != undefined ?
- delegateMethods[OSF.DDA.DispIdHost.Delegates.OpenDialog] :
- delegateMethods[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync];
- targetId = JSON.stringify(callArgs);
- invoker({
- "eventType": dialogMessageEvent,
- "dispId": dispId,
- "targetId": targetId,
- "onCalling": function OSF_DDA_DispIdFacade$Execute_onCalling() { OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall); },
- "onReceiving": function OSF_DDA_DispIdFacade$Execute_onReceiving() { OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse); },
- "onComplete": onEnsureRegistration,
- "onEvent": function handleEvent(hostArgs) {
- var args = parameterMap.fromHost(dispId, hostArgs);
- var event = OSF.DDA.OMFactory.manufactureEventArgs(dialogMessageEvent, caller, args);
- if (event.type == dialogOtherEvent) {
- var payload = OSF.DDA.ErrorCodeManager.getErrorArgs(event.error);
- var errorArgs = {};
- errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Code] = status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
- errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Name] = payload.name || payload;
- errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Message] = payload.message || payload;
- event.error = new OSF.DDA.Error(errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Name], errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Message], errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Code]);
- }
- eventDispatch.fireOrQueueEvent(event);
- if (args[OSF.DDA.PropertyDescriptors.MessageType] == OSF.DialogMessageType.DialogClosed) {
- eventDispatch.clearEventHandlers(dialogMessageEvent);
- eventDispatch.clearEventHandlers(dialogOtherEvent);
- OSF.DialogShownStatus.hasDialogShown = false;
- }
- }
- });
- }
- catch (ex) {
- onException(ex, asyncMethodCall, suppliedArguments, callArgs);
- }
- };
- this[OSF.DDA.DispIdHost.Methods.CloseDialog] = function OSF_DDA_DispIdHost_Facade$CloseDialog(suppliedArguments, targetId, eventDispatch, caller) {
- var callArgs;
- var dialogMessageEvent, dialogOtherEvent;
- var closeStatus = OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess;
- function closeCallback(status) {
- closeStatus = status;
- OSF.DialogShownStatus.hasDialogShown = false;
- }
- try {
- var asyncMethodCall = OSF.DDA.AsyncMethodCalls[OSF.DDA.AsyncMethodNames.CloseAsync.id];
- callArgs = asyncMethodCall.verifyAndExtractCall(suppliedArguments, caller, eventDispatch);
- dialogMessageEvent = Microsoft.Office.WebExtension.EventType.DialogMessageReceived;
- dialogOtherEvent = Microsoft.Office.WebExtension.EventType.DialogEventReceived;
- eventDispatch.clearEventHandlers(dialogMessageEvent);
- eventDispatch.clearEventHandlers(dialogOtherEvent);
- var dispId = dispIdMap[dialogMessageEvent];
- var delegateMethods = getDelegateMethods(dialogMessageEvent);
- var invoker = delegateMethods[OSF.DDA.DispIdHost.Delegates.CloseDialog] != undefined ?
- delegateMethods[OSF.DDA.DispIdHost.Delegates.CloseDialog] :
- delegateMethods[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync];
- invoker({
- "eventType": dialogMessageEvent,
- "dispId": dispId,
- "targetId": targetId,
- "onCalling": function OSF_DDA_DispIdFacade$Execute_onCalling() { OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall); },
- "onReceiving": function OSF_DDA_DispIdFacade$Execute_onReceiving() { OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse); },
- "onComplete": closeCallback
- });
- }
- catch (ex) {
- onException(ex, asyncMethodCall, suppliedArguments, callArgs);
- }
- if (closeStatus != OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess) {
- throw OSF.OUtil.formatString(Strings.OfficeOM.L_FunctionCallFailed, OSF.DDA.AsyncMethodNames.CloseAsync.displayName, closeStatus);
- }
- };
- this[OSF.DDA.DispIdHost.Methods.MessageParent] = function OSF_DDA_DispIdHost_Facade$MessageParent(suppliedArguments, caller) {
- var stateInfo = {};
- var syncMethodCall = OSF.DDA.SyncMethodCalls[OSF.DDA.SyncMethodNames.MessageParent.id];
- var callArgs = syncMethodCall.verifyAndExtractCall(suppliedArguments, caller, stateInfo);
- var delegate = getDelegateMethods(OSF.DDA.SyncMethodNames.MessageParent.id);
- var invoker = delegate[OSF.DDA.DispIdHost.Delegates.MessageParent];
- var dispId = dispIdMap[OSF.DDA.SyncMethodNames.MessageParent.id];
- return invoker({
- "dispId": dispId,
- "hostCallArgs": callArgs,
- "onCalling": function OSF_DDA_DispIdFacade$Execute_onCalling() { OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall); },
- "onReceiving": function OSF_DDA_DispIdFacade$Execute_onReceiving() { OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse); }
- });
- };
- };
- OSF.DDA.DispIdHost.addAsyncMethods = function OSF_DDA_DispIdHost$AddAsyncMethods(target, asyncMethodNames, privateState) {
- for (var entry in asyncMethodNames) {
- var method = asyncMethodNames[entry];
- var name = method.displayName;
- if (!target[name]) {
- OSF.OUtil.defineEnumerableProperty(target, name, {
- value: (function (asyncMethod) {
- return function () {
- var invokeMethod = OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.InvokeMethod];
- invokeMethod(asyncMethod, arguments, target, privateState);
- };
- })(method)
- });
- }
- }
- };
- OSF.DDA.DispIdHost.addEventSupport = function OSF_DDA_DispIdHost$AddEventSupport(target, eventDispatch) {
- var add = OSF.DDA.AsyncMethodNames.AddHandlerAsync.displayName;
- var remove = OSF.DDA.AsyncMethodNames.RemoveHandlerAsync.displayName;
- if (!target[add]) {
- OSF.OUtil.defineEnumerableProperty(target, add, {
- value: function () {
- var addEventHandler = OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.AddEventHandler];
- addEventHandler(arguments, eventDispatch, target);
- }
- });
- }
- if (!target[remove]) {
- OSF.OUtil.defineEnumerableProperty(target, remove, {
- value: function () {
- var removeEventHandler = OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.RemoveEventHandler];
- removeEventHandler(arguments, eventDispatch, target);
- }
- });
- }
- };
- var OfficeExt;
- (function (OfficeExt) {
- var MsAjaxTypeHelper = (function () {
- function MsAjaxTypeHelper() {
- }
- MsAjaxTypeHelper.isInstanceOfType = function (type, instance) {
- if (typeof (instance) === "undefined" || instance === null)
- return false;
- if (instance instanceof type)
- return true;
- var instanceType = instance.constructor;
- if (!instanceType || (typeof (instanceType) !== "function") || !instanceType.__typeName || instanceType.__typeName === 'Object') {
- instanceType = Object;
- }
- return !!(instanceType === type) ||
- (instanceType.__typeName && type.__typeName && instanceType.__typeName === type.__typeName);
- };
- return MsAjaxTypeHelper;
- })();
- OfficeExt.MsAjaxTypeHelper = MsAjaxTypeHelper;
- var MsAjaxError = (function () {
- function MsAjaxError() {
- }
- MsAjaxError.create = function (message, errorInfo) {
- var err = new Error(message);
- err.message = message;
- if (errorInfo) {
- for (var v in errorInfo) {
- err[v] = errorInfo[v];
- }
- }
- err.popStackFrame();
- return err;
- };
- MsAjaxError.parameterCount = function (message) {
- var displayMessage = "Sys.ParameterCountException: " + (message ? message : "Parameter count mismatch.");
- var err = MsAjaxError.create(displayMessage, { name: 'Sys.ParameterCountException' });
- err.popStackFrame();
- return err;
- };
- MsAjaxError.argument = function (paramName, message) {
- var displayMessage = "Sys.ArgumentException: " + (message ? message : "Value does not fall within the expected range.");
- if (paramName) {
- displayMessage += "\n" + MsAjaxString.format("Parameter name: {0}", paramName);
- }
- var err = MsAjaxError.create(displayMessage, { name: "Sys.ArgumentException", paramName: paramName });
- err.popStackFrame();
- return err;
- };
- MsAjaxError.argumentNull = function (paramName, message) {
- var displayMessage = "Sys.ArgumentNullException: " + (message ? message : "Value cannot be null.");
- if (paramName) {
- displayMessage += "\n" + MsAjaxString.format("Parameter name: {0}", paramName);
- }
- var err = MsAjaxError.create(displayMessage, { name: "Sys.ArgumentNullException", paramName: paramName });
- err.popStackFrame();
- return err;
- };
- MsAjaxError.argumentOutOfRange = function (paramName, actualValue, message) {
- var displayMessage = "Sys.ArgumentOutOfRangeException: " + (message ? message : "Specified argument was out of the range of valid values.");
- if (paramName) {
- displayMessage += "\n" + MsAjaxString.format("Parameter name: {0}", paramName);
- }
- if (typeof (actualValue) !== "undefined" && actualValue !== null) {
- displayMessage += "\n" + MsAjaxString.format("Actual value was {0}.", actualValue);
- }
- var err = MsAjaxError.create(displayMessage, {
- name: "Sys.ArgumentOutOfRangeException",
- paramName: paramName,
- actualValue: actualValue
- });
- err.popStackFrame();
- return err;
- };
- MsAjaxError.argumentType = function (paramName, actualType, expectedType, message) {
- var displayMessage = "Sys.ArgumentTypeException: ";
- if (message) {
- displayMessage += message;
- }
- else if (actualType && expectedType) {
- displayMessage += MsAjaxString.format("Object of type '{0}' cannot be converted to type '{1}'.", actualType.getName ? actualType.getName() : actualType, expectedType.getName ? expectedType.getName() : expectedType);
- }
- else {
- displayMessage += "Object cannot be converted to the required type.";
- }
- if (paramName) {
- displayMessage += "\n" + MsAjaxString.format("Parameter name: {0}", paramName);
- }
- var err = MsAjaxError.create(displayMessage, {
- name: "Sys.ArgumentTypeException",
- paramName: paramName,
- actualType: actualType,
- expectedType: expectedType
- });
- err.popStackFrame();
- return err;
- };
- MsAjaxError.argumentUndefined = function (paramName, message) {
- var displayMessage = "Sys.ArgumentUndefinedException: " + (message ? message : "Value cannot be undefined.");
- if (paramName) {
- displayMessage += "\n" + MsAjaxString.format("Parameter name: {0}", paramName);
- }
- var err = MsAjaxError.create(displayMessage, { name: "Sys.ArgumentUndefinedException", paramName: paramName });
- err.popStackFrame();
- return err;
- };
- MsAjaxError.invalidOperation = function (message) {
- var displayMessage = "Sys.InvalidOperationException: " + (message ? message : "Operation is not valid due to the current state of the object.");
- var err = MsAjaxError.create(displayMessage, { name: 'Sys.InvalidOperationException' });
- err.popStackFrame();
- return err;
- };
- return MsAjaxError;
- })();
- OfficeExt.MsAjaxError = MsAjaxError;
- var MsAjaxString = (function () {
- function MsAjaxString() {
- }
- MsAjaxString.format = function (format) {
- var args = [];
- for (var _i = 1; _i < arguments.length; _i++) {
- args[_i - 1] = arguments[_i];
- }
- var source = format;
- return source.replace(/{(\d+)}/gm, function (match, number) {
- var index = parseInt(number, 10);
- return args[index] === undefined ? '{' + number + '}' : args[index];
- });
- };
- MsAjaxString.startsWith = function (str, prefix) {
- return (str.substr(0, prefix.length) === prefix);
- };
- return MsAjaxString;
- })();
- OfficeExt.MsAjaxString = MsAjaxString;
- var MsAjaxDebug = (function () {
- function MsAjaxDebug() {
- }
- MsAjaxDebug.trace = function (text) {
- if (typeof Debug !== "undefined" && Debug.writeln)
- Debug.writeln(text);
- if (window.console && window.console.log)
- window.console.log(text);
- if (window.opera && window.opera.postError)
- window.opera.postError(text);
- if (window.debugService && window.debugService.trace)
- window.debugService.trace(text);
- var a = document.getElementById("TraceConsole");
- if (a && a.tagName.toUpperCase() === "TEXTAREA") {
- a.innerHTML += text + "\n";
- }
- };
- return MsAjaxDebug;
- })();
- OfficeExt.MsAjaxDebug = MsAjaxDebug;
- if (!OsfMsAjaxFactory.isMsAjaxLoaded()) {
- var registerTypeInternal = function registerTypeInternal(type, name, isClass) {
- if (type.__typeName === undefined) {
- type.__typeName = name;
- }
- if (type.__class === undefined) {
- type.__class = isClass;
- }
- };
- registerTypeInternal(Function, "Function", true);
- registerTypeInternal(Error, "Error", true);
- registerTypeInternal(Object, "Object", true);
- registerTypeInternal(String, "String", true);
- registerTypeInternal(Boolean, "Boolean", true);
- registerTypeInternal(Date, "Date", true);
- registerTypeInternal(Number, "Number", true);
- registerTypeInternal(RegExp, "RegExp", true);
- registerTypeInternal(Array, "Array", true);
- if (!Function.createCallback) {
- Function.createCallback = function Function$createCallback(method, context) {
- var e = Function._validateParams(arguments, [
- { name: "method", type: Function },
- { name: "context", mayBeNull: true }
- ]);
- if (e)
- throw e;
- return function () {
- var l = arguments.length;
- if (l > 0) {
- var args = [];
- for (var i = 0; i < l; i++) {
- args[i] = arguments[i];
- }
- args[l] = context;
- return method.apply(this, args);
- }
- return method.call(this, context);
- };
- };
- }
- if (!Function.createDelegate) {
- Function.createDelegate = function Function$createDelegate(instance, method) {
- var e = Function._validateParams(arguments, [
- { name: "instance", mayBeNull: true },
- { name: "method", type: Function }
- ]);
- if (e)
- throw e;
- return function () {
- return method.apply(instance, arguments);
- };
- };
- }
- if (!Function._validateParams) {
- Function._validateParams = function (params, expectedParams, validateParameterCount) {
- var e, expectedLength = expectedParams.length;
- validateParameterCount = validateParameterCount || (typeof (validateParameterCount) === "undefined");
- e = Function._validateParameterCount(params, expectedParams, validateParameterCount);
- if (e) {
- e.popStackFrame();
- return e;
- }
- for (var i = 0, l = params.length; i < l; i++) {
- var expectedParam = expectedParams[Math.min(i, expectedLength - 1)], paramName = expectedParam.name;
- if (expectedParam.parameterArray) {
- paramName += "[" + (i - expectedLength + 1) + "]";
- }
- else if (!validateParameterCount && (i >= expectedLength)) {
- break;
- }
- e = Function._validateParameter(params[i], expectedParam, paramName);
- if (e) {
- e.popStackFrame();
- return e;
- }
- }
- return null;
- };
- }
- if (!Function._validateParameterCount) {
- Function._validateParameterCount = function (params, expectedParams, validateParameterCount) {
- var i, error, expectedLen = expectedParams.length, actualLen = params.length;
- if (actualLen < expectedLen) {
- var minParams = expectedLen;
- for (i = 0; i < expectedLen; i++) {
- var param = expectedParams[i];
- if (param.optional || param.parameterArray) {
- minParams--;
- }
- }
- if (actualLen < minParams) {
- error = true;
- }
- }
- else if (validateParameterCount && (actualLen > expectedLen)) {
- error = true;
- for (i = 0; i < expectedLen; i++) {
- if (expectedParams[i].parameterArray) {
- error = false;
- break;
- }
- }
- }
- if (error) {
- var e = MsAjaxError.parameterCount();
- e.popStackFrame();
- return e;
- }
- return null;
- };
- }
- if (!Function._validateParameter) {
- Function._validateParameter = function (param, expectedParam, paramName) {
- var e, expectedType = expectedParam.type, expectedInteger = !!expectedParam.integer, expectedDomElement = !!expectedParam.domElement, mayBeNull = !!expectedParam.mayBeNull;
- e = Function._validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName);
- if (e) {
- e.popStackFrame();
- return e;
- }
- var expectedElementType = expectedParam.elementType, elementMayBeNull = !!expectedParam.elementMayBeNull;
- if (expectedType === Array && typeof (param) !== "undefined" && param !== null &&
- (expectedElementType || !elementMayBeNull)) {
- var expectedElementInteger = !!expectedParam.elementInteger, expectedElementDomElement = !!expectedParam.elementDomElement;
- for (var i = 0; i < param.length; i++) {
- var elem = param[i];
- e = Function._validateParameterType(elem, expectedElementType, expectedElementInteger, expectedElementDomElement, elementMayBeNull, paramName + "[" + i + "]");
- if (e) {
- e.popStackFrame();
- return e;
- }
- }
- }
- return null;
- };
- }
- if (!Function._validateParameterType) {
- Function._validateParameterType = function (param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName) {
- var e, i;
- if (typeof (param) === "undefined") {
- if (mayBeNull) {
- return null;
- }
- else {
- e = OfficeExt.MsAjaxError.argumentUndefined(paramName);
- e.popStackFrame();
- return e;
- }
- }
- if (param === null) {
- if (mayBeNull) {
- return null;
- }
- else {
- e = OfficeExt.MsAjaxError.argumentNull(paramName);
- e.popStackFrame();
- return e;
- }
- }
- if (expectedType && !OfficeExt.MsAjaxTypeHelper.isInstanceOfType(expectedType, param)) {
- e = OfficeExt.MsAjaxError.argumentType(paramName, typeof (param), expectedType);
- e.popStackFrame();
- return e;
- }
- return null;
- };
- }
- if (!window.Type) {
- window.Type = Function;
- }
- if (!Type.registerNamespace) {
- Type.registerNamespace = function (ns) {
- var namespaceParts = ns.split('.');
- var currentNamespace = window;
- for (var i = 0; i < namespaceParts.length; i++) {
- currentNamespace[namespaceParts[i]] = currentNamespace[namespaceParts[i]] || {};
- currentNamespace = currentNamespace[namespaceParts[i]];
- }
- };
- }
- if (!Type.prototype.registerClass) {
- Type.prototype.registerClass = function (cls) { cls = {}; };
- }
- if (typeof (Sys) === "undefined") {
- Type.registerNamespace('Sys');
- }
- if (!Error.prototype.popStackFrame) {
- Error.prototype.popStackFrame = function () {
- if (arguments.length !== 0)
- throw MsAjaxError.parameterCount();
- if (typeof (this.stack) === "undefined" || this.stack === null ||
- typeof (this.fileName) === "undefined" || this.fileName === null ||
- typeof (this.lineNumber) === "undefined" || this.lineNumber === null) {
- return;
- }
- var stackFrames = this.stack.split("\n");
- var currentFrame = stackFrames[0];
- var pattern = this.fileName + ":" + this.lineNumber;
- while (typeof (currentFrame) !== "undefined" &&
- currentFrame !== null &&
- currentFrame.indexOf(pattern) === -1) {
- stackFrames.shift();
- currentFrame = stackFrames[0];
- }
- var nextFrame = stackFrames[1];
- if (typeof (nextFrame) === "undefined" || nextFrame === null) {
- return;
- }
- var nextFrameParts = nextFrame.match(/@(.*):(\d+)$/);
- if (typeof (nextFrameParts) === "undefined" || nextFrameParts === null) {
- return;
- }
- this.fileName = nextFrameParts[1];
- this.lineNumber = parseInt(nextFrameParts[2]);
- stackFrames.shift();
- this.stack = stackFrames.join("\n");
- };
- }
- OsfMsAjaxFactory.msAjaxError = MsAjaxError;
- OsfMsAjaxFactory.msAjaxString = MsAjaxString;
- OsfMsAjaxFactory.msAjaxDebug = MsAjaxDebug;
- }
- })(OfficeExt || (OfficeExt = {}));
- OSF.OUtil.setNamespace("SafeArray", OSF.DDA);
- OSF.DDA.SafeArray.Response = {
- Status: 0,
- Payload: 1
- };
- OSF.DDA.SafeArray.UniqueArguments = {
- Offset: "offset",
- Run: "run",
- BindingSpecificData: "bindingSpecificData",
- MergedCellGuid: "{66e7831f-81b2-42e2-823c-89e872d541b3}"
- };
- OSF.OUtil.setNamespace("Delegate", OSF.DDA.SafeArray);
- OSF.DDA.SafeArray.Delegate._onException = function OSF_DDA_SafeArray_Delegate$OnException(ex, args) {
- var status;
- var statusNumber = ex.number;
- if (statusNumber) {
- switch (statusNumber) {
- case -2146828218:
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability;
- break;
- case -2147467259:
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeDialogAlreadyOpened;
- break;
- case -2146828283:
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidParam;
- break;
- case -2146827850:
- default:
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
- break;
- }
- }
- if (args.onComplete) {
- args.onComplete(status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError);
- }
- };
- OSF.DDA.SafeArray.Delegate._onExceptionSyncMethod = function OSF_DDA_SafeArray_Delegate$OnExceptionSyncMethod(ex, args) {
- var status;
- var number = ex.number;
- if (number) {
- switch (number) {
- case -2146828218:
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability;
- break;
- case -2146827850:
- default:
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
- break;
- }
- }
- return status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
- };
- OSF.DDA.SafeArray.Delegate.SpecialProcessor = function OSF_DDA_SafeArray_Delegate_SpecialProcessor() {
- function _2DVBArrayToJaggedArray(vbArr) {
- var ret;
- try {
- var rows = vbArr.ubound(1);
- var cols = vbArr.ubound(2);
- vbArr = vbArr.toArray();
- if (rows == 1 && cols == 1) {
- ret = [vbArr];
- }
- else {
- ret = [];
- for (var row = 0; row < rows; row++) {
- var rowArr = [];
- for (var col = 0; col < cols; col++) {
- var datum = vbArr[row * cols + col];
- if (datum != OSF.DDA.SafeArray.UniqueArguments.MergedCellGuid) {
- rowArr.push(datum);
- }
- }
- if (rowArr.length > 0) {
- ret.push(rowArr);
- }
- }
- }
- }
- catch (ex) {
- }
- return ret;
- }
- var complexTypes = [];
- var dynamicTypes = {};
- dynamicTypes[Microsoft.Office.WebExtension.Parameters.Data] = (function () {
- var tableRows = 0;
- var tableHeaders = 1;
- return {
- toHost: function OSF_DDA_SafeArray_Delegate_SpecialProcessor_Data$toHost(data) {
- if (OSF.DDA.TableDataProperties && typeof data != "string" && data[OSF.DDA.TableDataProperties.TableRows] !== undefined) {
- var tableData = [];
- tableData[tableRows] = data[OSF.DDA.TableDataProperties.TableRows];
- tableData[tableHeaders] = data[OSF.DDA.TableDataProperties.TableHeaders];
- data = tableData;
- }
- return data;
- },
- fromHost: function OSF_DDA_SafeArray_Delegate_SpecialProcessor_Data$fromHost(hostArgs) {
- var ret;
- if (hostArgs.toArray) {
- var dimensions = hostArgs.dimensions();
- if (dimensions === 2) {
- ret = _2DVBArrayToJaggedArray(hostArgs);
- }
- else {
- var array = hostArgs.toArray();
- if (array.length === 2 && ((array[0] != null && array[0].toArray) || (array[1] != null && array[1].toArray))) {
- ret = {};
- ret[OSF.DDA.TableDataProperties.TableRows] = _2DVBArrayToJaggedArray(array[tableRows]);
- ret[OSF.DDA.TableDataProperties.TableHeaders] = _2DVBArrayToJaggedArray(array[tableHeaders]);
- }
- else {
- ret = array;
- }
- }
- }
- else {
- ret = hostArgs;
- }
- return ret;
- }
- };
- })();
- OSF.DDA.SafeArray.Delegate.SpecialProcessor.uber.constructor.call(this, complexTypes, dynamicTypes);
- this.unpack = function OSF_DDA_SafeArray_Delegate_SpecialProcessor$unpack(param, arg) {
- var value;
- if (this.isComplexType(param) || OSF.DDA.ListType.isListType(param)) {
- var toArraySupported = (arg || typeof arg === "unknown") && arg.toArray;
- value = toArraySupported ? arg.toArray() : arg || {};
- }
- else if (this.isDynamicType(param)) {
- value = dynamicTypes[param].fromHost(arg);
- }
- else {
- value = arg;
- }
- return value;
- };
- };
- OSF.OUtil.extend(OSF.DDA.SafeArray.Delegate.SpecialProcessor, OSF.DDA.SpecialProcessor);
- OSF.DDA.SafeArray.Delegate.ParameterMap = OSF.DDA.getDecoratedParameterMap(new OSF.DDA.SafeArray.Delegate.SpecialProcessor(), [
- {
- type: Microsoft.Office.WebExtension.Parameters.ValueFormat,
- toHost: [
- { name: Microsoft.Office.WebExtension.ValueFormat.Unformatted, value: 0 },
- { name: Microsoft.Office.WebExtension.ValueFormat.Formatted, value: 1 }
- ]
- },
- {
- type: Microsoft.Office.WebExtension.Parameters.FilterType,
- toHost: [
- { name: Microsoft.Office.WebExtension.FilterType.All, value: 0 }
- ]
- }
- ]);
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.PropertyDescriptors.AsyncResultStatus,
- fromHost: [
- { name: Microsoft.Office.WebExtension.AsyncResultStatus.Succeeded, value: 0 },
- { name: Microsoft.Office.WebExtension.AsyncResultStatus.Failed, value: 1 }
- ]
- });
- OSF.DDA.SafeArray.Delegate.executeAsync = function OSF_DDA_SafeArray_Delegate$ExecuteAsync(args) {
- function toArray(args) {
- var arrArgs = args;
- if (OSF.OUtil.isArray(args)) {
- var len = arrArgs.length;
- for (var i = 0; i < len; i++) {
- arrArgs[i] = toArray(arrArgs[i]);
- }
- }
- else if (OSF.OUtil.isDate(args)) {
- arrArgs = args.getVarDate();
- }
- else if (typeof args === "object" && !OSF.OUtil.isArray(args)) {
- arrArgs = [];
- for (var index in args) {
- if (!OSF.OUtil.isFunction(args[index])) {
- arrArgs[index] = toArray(args[index]);
- }
- }
- }
- return arrArgs;
- }
- function fromSafeArray(value) {
- var ret = value;
- if (value != null && value.toArray) {
- var arrayResult = value.toArray();
- ret = new Array(arrayResult.length);
- for (var i = 0; i < arrayResult.length; i++) {
- ret[i] = fromSafeArray(arrayResult[i]);
- }
- }
- return ret;
- }
- try {
- if (args.onCalling) {
- args.onCalling();
- }
- var startTime = (new Date()).getTime();
- OSF.ClientHostController.execute(args.dispId, toArray(args.hostCallArgs), function OSF_DDA_SafeArrayFacade$Execute_OnResponse(hostResponseArgs, resultCode) {
- var result = hostResponseArgs.toArray();
- var status = result[OSF.DDA.SafeArray.Response.Status];
- if (status == OSF.DDA.ErrorCodeManager.errorCodes.ooeChunkResult) {
- var payload = result[OSF.DDA.SafeArray.Response.Payload];
- payload = fromSafeArray(payload);
- if (payload != null) {
- if (!args._chunkResultData) {
- args._chunkResultData = new Array();
- }
- args._chunkResultData[payload[0]] = payload[1];
- }
- return false;
- }
- if (args.onReceiving) {
- args.onReceiving();
- }
- if (args.onComplete) {
- var payload;
- if (status == OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess) {
- if (result.length > 2) {
- payload = [];
- for (var i = 1; i < result.length; i++)
- payload[i - 1] = result[i];
- }
- else {
- payload = result[OSF.DDA.SafeArray.Response.Payload];
- }
- if (args._chunkResultData) {
- payload = fromSafeArray(payload);
- if (payload != null) {
- var expectedChunkCount = payload[payload.length - 1];
- if (args._chunkResultData.length == expectedChunkCount) {
- payload[payload.length - 1] = args._chunkResultData;
- }
- else {
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
- }
- }
- }
- }
- else {
- payload = result[OSF.DDA.SafeArray.Response.Payload];
- }
- args.onComplete(status, payload);
- }
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.onMethodDone(args.dispId, args.hostCallArgs, Math.abs((new Date()).getTime() - startTime), status);
- }
- return true;
- });
- }
- catch (ex) {
- OSF.DDA.SafeArray.Delegate._onException(ex, args);
- }
- };
- OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent = function OSF_DDA_SafeArrayDelegate$GetOnAfterRegisterEvent(register, args) {
- var startTime = (new Date()).getTime();
- return function OSF_DDA_SafeArrayDelegate$OnAfterRegisterEvent(hostResponseArgs) {
- if (args.onReceiving) {
- args.onReceiving();
- }
- var status = hostResponseArgs.toArray ? hostResponseArgs.toArray()[OSF.DDA.SafeArray.Response.Status] : hostResponseArgs;
- if (args.onComplete) {
- args.onComplete(status);
- }
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.onRegisterDone(register, args.dispId, Math.abs((new Date()).getTime() - startTime), status);
- }
- };
- };
- OSF.DDA.SafeArray.Delegate.registerEventAsync = function OSF_DDA_SafeArray_Delegate$RegisterEventAsync(args) {
- if (args.onCalling) {
- args.onCalling();
- }
- var callback = OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(true, args);
- try {
- OSF.ClientHostController.registerEvent(args.dispId, args.targetId, function OSF_DDA_SafeArrayDelegate$RegisterEventAsync_OnEvent(eventDispId, payload) {
- if (args.onEvent) {
- args.onEvent(payload);
- }
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.onEventDone(args.dispId);
- }
- }, callback);
- }
- catch (ex) {
- OSF.DDA.SafeArray.Delegate._onException(ex, args);
- }
- };
- OSF.DDA.SafeArray.Delegate.unregisterEventAsync = function OSF_DDA_SafeArray_Delegate$UnregisterEventAsync(args) {
- if (args.onCalling) {
- args.onCalling();
- }
- var callback = OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(false, args);
- try {
- OSF.ClientHostController.unregisterEvent(args.dispId, args.targetId, callback);
- }
- catch (ex) {
- OSF.DDA.SafeArray.Delegate._onException(ex, args);
- }
- };
- OSF.ClientMode = {
- ReadWrite: 0,
- ReadOnly: 1
- };
- OSF.DDA.RichInitializationReason = {
- 1: Microsoft.Office.WebExtension.InitializationReason.Inserted,
- 2: Microsoft.Office.WebExtension.InitializationReason.DocumentOpened
- };
- OSF.InitializationHelper = function OSF_InitializationHelper(hostInfo, webAppState, context, settings, hostFacade) {
- this._hostInfo = hostInfo;
- this._webAppState = webAppState;
- this._context = context;
- this._settings = settings;
- this._hostFacade = hostFacade;
- this._initializeSettings = this.initializeSettings;
- };
- OSF.InitializationHelper.prototype.deserializeSettings = function OSF_InitializationHelper$deserializeSettings(serializedSettings, refreshSupported) {
- var settings;
- var osfSessionStorage = OSF.OUtil.getSessionStorage();
- if (osfSessionStorage) {
- var storageSettings = osfSessionStorage.getItem(OSF._OfficeAppFactory.getCachedSessionSettingsKey());
- if (storageSettings) {
- serializedSettings = (typeof (JSON) !== "undefined") ? JSON.parse(storageSettings) : OsfMsAjaxFactory.msAjaxSerializer.deserialize(storageSettings, true);
- }
- else {
- storageSettings = (typeof (JSON) !== "undefined") ? JSON.stringify(serializedSettings) : OsfMsAjaxFactory.msAjaxSerializer.serialize(serializedSettings);
- osfSessionStorage.setItem(OSF._OfficeAppFactory.getCachedSessionSettingsKey(), storageSettings);
- }
- }
- var deserializedSettings = OSF.DDA.SettingsManager.deserializeSettings(serializedSettings);
- if (refreshSupported) {
- settings = new OSF.DDA.RefreshableSettings(deserializedSettings);
- }
- else {
- settings = new OSF.DDA.Settings(deserializedSettings);
- }
- return settings;
- };
- OSF.InitializationHelper.prototype.saveAndSetDialogInfo = function OSF_InitializationHelper$saveAndSetDialogInfo(hostInfoValue) {
- };
- OSF.InitializationHelper.prototype.setAgaveHostCommunication = function OSF_InitializationHelper$setAgaveHostCommunication() {
- };
- OSF.InitializationHelper.prototype.prepareRightBeforeWebExtensionInitialize = function OSF_InitializationHelper$prepareRightBeforeWebExtensionInitialize(appContext) {
- this.prepareApiSurface(appContext);
- Microsoft.Office.WebExtension.initialize(this.getInitializationReason(appContext));
- };
- OSF.InitializationHelper.prototype.prepareApiSurface = function OSF_InitializationHelper$prepareApiSurfaceAndInitialize(appContext) {
- var license = new OSF.DDA.License(appContext.get_eToken());
- var getOfficeThemeHandler = (OSF.DDA.OfficeTheme && OSF.DDA.OfficeTheme.getOfficeTheme) ? OSF.DDA.OfficeTheme.getOfficeTheme : null;
- if (appContext.get_isDialog()) {
- if (OSF.DDA.UI.ChildUI) {
- appContext.ui = new OSF.DDA.UI.ChildUI();
- }
- }
- else {
- if (OSF.DDA.UI.ParentUI) {
- appContext.ui = new OSF.DDA.UI.ParentUI();
- if (OfficeExt.Container) {
- OSF.DDA.DispIdHost.addAsyncMethods(appContext.ui, [OSF.DDA.AsyncMethodNames.CloseContainerAsync]);
- }
- }
- }
- OSF._OfficeAppFactory.setContext(new OSF.DDA.Context(appContext, appContext.doc, license, null, getOfficeThemeHandler));
- var getDelegateMethods, parameterMap;
- getDelegateMethods = OSF.DDA.DispIdHost.getClientDelegateMethods;
- parameterMap = OSF.DDA.SafeArray.Delegate.ParameterMap;
- OSF._OfficeAppFactory.setHostFacade(new OSF.DDA.DispIdHost.Facade(getDelegateMethods, parameterMap));
- };
- OSF.InitializationHelper.prototype.getInitializationReason = function (appContext) { return OSF.DDA.RichInitializationReason[appContext.get_reason()]; };
- OSF.DDA.DispIdHost.getClientDelegateMethods = function (actionId) {
- var delegateMethods = {};
- delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync] = OSF.DDA.SafeArray.Delegate.executeAsync;
- delegateMethods[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync] = OSF.DDA.SafeArray.Delegate.registerEventAsync;
- delegateMethods[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync] = OSF.DDA.SafeArray.Delegate.unregisterEventAsync;
- delegateMethods[OSF.DDA.DispIdHost.Delegates.OpenDialog] = OSF.DDA.SafeArray.Delegate.openDialog;
- delegateMethods[OSF.DDA.DispIdHost.Delegates.CloseDialog] = OSF.DDA.SafeArray.Delegate.closeDialog;
- delegateMethods[OSF.DDA.DispIdHost.Delegates.MessageParent] = OSF.DDA.SafeArray.Delegate.messageParent;
- if (OSF.DDA.AsyncMethodNames.RefreshAsync && actionId == OSF.DDA.AsyncMethodNames.RefreshAsync.id) {
- var readSerializedSettings = function (hostCallArgs, onCalling, onReceiving) {
- return OSF.DDA.ClientSettingsManager.read(onCalling, onReceiving);
- };
- delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync] = OSF.DDA.ClientSettingsManager.getSettingsExecuteMethod(readSerializedSettings);
- }
- if (OSF.DDA.AsyncMethodNames.SaveAsync && actionId == OSF.DDA.AsyncMethodNames.SaveAsync.id) {
- var writeSerializedSettings = function (hostCallArgs, onCalling, onReceiving) {
- return OSF.DDA.ClientSettingsManager.write(hostCallArgs[OSF.DDA.SettingsManager.SerializedSettings], hostCallArgs[Microsoft.Office.WebExtension.Parameters.OverwriteIfStale], onCalling, onReceiving);
- };
- delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync] = OSF.DDA.ClientSettingsManager.getSettingsExecuteMethod(writeSerializedSettings);
- }
- return delegateMethods;
- };
- var OfficeExt;
- (function (OfficeExt) {
- var RichClientHostController = (function () {
- function RichClientHostController() {
- }
- RichClientHostController.prototype.execute = function (id, params, callback) {
- window.external.Execute(id, params, callback);
- };
- RichClientHostController.prototype.registerEvent = function (id, targetId, handler, callback) {
- window.external.RegisterEvent(id, targetId, handler, callback);
- };
- RichClientHostController.prototype.unregisterEvent = function (id, targetId, callback) {
- window.external.UnregisterEvent(id, targetId, callback);
- };
- return RichClientHostController;
- })();
- OfficeExt.RichClientHostController = RichClientHostController;
- })(OfficeExt || (OfficeExt = {}));
- var OfficeExt;
- (function (OfficeExt) {
- var Win32RichClientHostController = (function (_super) {
- __extends(Win32RichClientHostController, _super);
- function Win32RichClientHostController() {
- _super.apply(this, arguments);
- }
- Win32RichClientHostController.prototype.messageParent = function (params) {
- var message = params[Microsoft.Office.WebExtension.Parameters.MessageToParent];
- window.external.MessageParent(message);
- };
- Win32RichClientHostController.prototype.openDialog = function (id, targetId, handler, callback) {
- this.registerEvent(id, targetId, handler, callback);
- };
- Win32RichClientHostController.prototype.closeDialog = function (id, targetId, callback) {
- this.unregisterEvent(id, targetId, callback);
- };
- return Win32RichClientHostController;
- })(OfficeExt.RichClientHostController);
- OfficeExt.Win32RichClientHostController = Win32RichClientHostController;
- })(OfficeExt || (OfficeExt = {}));
- OSF.ClientHostController = new OfficeExt.Win32RichClientHostController();
- var OfficeExt;
- (function (OfficeExt) {
- var OfficeTheme;
- (function (OfficeTheme) {
- var OfficeThemeManager = (function () {
- function OfficeThemeManager() {
- this._osfOfficeTheme = null;
- this._osfOfficeThemeTimeStamp = null;
- }
- OfficeThemeManager.prototype.getOfficeTheme = function () {
- if (OSF.DDA._OsfControlContext) {
- if (this._osfOfficeTheme && this._osfOfficeThemeTimeStamp && ((new Date()).getTime() - this._osfOfficeThemeTimeStamp < OfficeThemeManager._osfOfficeThemeCacheValidPeriod)) {
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.onPropertyDone("GetOfficeThemeInfo", 0);
- }
- }
- else {
- var startTime = (new Date()).getTime();
- var osfOfficeTheme = OSF.DDA._OsfControlContext.GetOfficeThemeInfo();
- var endTime = (new Date()).getTime();
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.onPropertyDone("GetOfficeThemeInfo", Math.abs(endTime - startTime));
- }
- this._osfOfficeTheme = JSON.parse(osfOfficeTheme);
- for (var color in this._osfOfficeTheme) {
- this._osfOfficeTheme[color] = OSF.OUtil.convertIntToCssHexColor(this._osfOfficeTheme[color]);
- }
- this._osfOfficeThemeTimeStamp = endTime;
- }
- return this._osfOfficeTheme;
- }
- };
- OfficeThemeManager.instance = function () {
- if (OfficeThemeManager._instance == null) {
- OfficeThemeManager._instance = new OfficeThemeManager();
- }
- return OfficeThemeManager._instance;
- };
- OfficeThemeManager._osfOfficeThemeCacheValidPeriod = 5000;
- OfficeThemeManager._instance = null;
- return OfficeThemeManager;
- })();
- OfficeTheme.OfficeThemeManager = OfficeThemeManager;
- OSF.OUtil.setNamespace("OfficeTheme", OSF.DDA);
- OSF.DDA.OfficeTheme.getOfficeTheme = OfficeExt.OfficeTheme.OfficeThemeManager.instance().getOfficeTheme;
- })(OfficeTheme = OfficeExt.OfficeTheme || (OfficeExt.OfficeTheme = {}));
- })(OfficeExt || (OfficeExt = {}));
- OSF.DDA.ClientSettingsManager = {
- getSettingsExecuteMethod: function OSF_DDA_ClientSettingsManager$getSettingsExecuteMethod(hostDelegateMethod) {
- return function (args) {
- var status, response;
- try {
- response = hostDelegateMethod(args.hostCallArgs, args.onCalling, args.onReceiving);
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess;
- }
- catch (ex) {
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
- response = { name: Strings.OfficeOM.L_InternalError, message: ex };
- }
- if (args.onComplete) {
- args.onComplete(status, response);
- }
- };
- },
- read: function OSF_DDA_ClientSettingsManager$read(onCalling, onReceiving) {
- var keys = [];
- var values = [];
- if (onCalling) {
- onCalling();
- }
- OSF.DDA._OsfControlContext.GetSettings().Read(keys, values);
- if (onReceiving) {
- onReceiving();
- }
- var serializedSettings = {};
- for (var index = 0; index < keys.length; index++) {
- serializedSettings[keys[index]] = values[index];
- }
- return serializedSettings;
- },
- write: function OSF_DDA_ClientSettingsManager$write(serializedSettings, overwriteIfStale, onCalling, onReceiving) {
- var keys = [];
- var values = [];
- for (var key in serializedSettings) {
- keys.push(key);
- values.push(serializedSettings[key]);
- }
- if (onCalling) {
- onCalling();
- }
- OSF.DDA._OsfControlContext.GetSettings().Write(keys, values);
- if (onReceiving) {
- onReceiving();
- }
- }
- };
- OSF.InitializationHelper.prototype.initializeSettings = function OSF_InitializationHelper$initializeSettings(refreshSupported) {
- var serializedSettings = OSF.DDA.ClientSettingsManager.read();
- var settings = this.deserializeSettings(serializedSettings, refreshSupported);
- return settings;
- };
- OSF.InitializationHelper.prototype.getAppContext = function OSF_InitializationHelper$getAppContext(wnd, gotAppContext) {
- var returnedContext;
- var context;
- var warningText = "Warning: Office.js is loaded outside of Office client";
- try {
- if (window.external && typeof window.external.GetContext !== 'undefined') {
- context = OSF.DDA._OsfControlContext = window.external.GetContext();
- }
- else {
- OsfMsAjaxFactory.msAjaxDebug.trace(warningText);
- return;
- }
- }
- catch (e) {
- OsfMsAjaxFactory.msAjaxDebug.trace(warningText);
- return;
- }
- var appType = context.GetAppType();
- var id = context.GetSolutionRef();
- var version = context.GetAppVersionMajor();
- var minorVersion = context.GetAppVersionMinor();
- var UILocale = context.GetAppUILocale();
- var dataLocale = context.GetAppDataLocale();
- var docUrl = context.GetDocUrl();
- var clientMode = context.GetAppCapabilities();
- var reason = context.GetActivationMode();
- var osfControlType = context.GetControlIntegrationLevel();
- var settings = [];
- var eToken;
- try {
- eToken = context.GetSolutionToken();
- }
- catch (ex) {
- }
- var correlationId;
- if (typeof context.GetCorrelationId !== "undefined") {
- correlationId = context.GetCorrelationId();
- }
- var appInstanceId;
- if (typeof context.GetInstanceId !== "undefined") {
- appInstanceId = context.GetInstanceId();
- }
- var touchEnabled;
- if (typeof context.GetTouchEnabled !== "undefined") {
- touchEnabled = context.GetTouchEnabled();
- }
- var commerceAllowed;
- if (typeof context.GetCommerceAllowed !== "undefined") {
- commerceAllowed = context.GetCommerceAllowed();
- }
- var requirementMatrix;
- if (typeof context.GetSupportedMatrix !== "undefined") {
- requirementMatrix = context.GetSupportedMatrix();
- }
- var hostCustomMessage;
- if (typeof context.GetHostCustomMessage !== "undefined") {
- hostCustomMessage = context.GetHostCustomMessage();
- }
- var hostFullVersion;
- if (typeof context.GetHostFullVersion !== "undefined") {
- hostFullVersion = context.GetHostFullVersion();
- }
- eToken = eToken ? eToken.toString() : "";
- returnedContext = new OSF.OfficeAppContext(id, appType, version, UILocale, dataLocale, docUrl, clientMode, settings, reason, osfControlType, eToken, correlationId, appInstanceId, touchEnabled, commerceAllowed, minorVersion, requirementMatrix, hostCustomMessage, hostFullVersion);
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.initialize(returnedContext);
- }
- gotAppContext(returnedContext);
- };
- var OSFLog;
- (function (OSFLog) {
- var BaseUsageData = (function () {
- function BaseUsageData(table) {
- this._table = table;
- this._fields = {};
- }
- Object.defineProperty(BaseUsageData.prototype, "Fields", {
- get: function () {
- return this._fields;
- },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(BaseUsageData.prototype, "Table", {
- get: function () {
- return this._table;
- },
- enumerable: true,
- configurable: true
- });
- BaseUsageData.prototype.SerializeFields = function () {
- };
- BaseUsageData.prototype.SetSerializedField = function (key, value) {
- if (typeof (value) !== "undefined" && value !== null) {
- this._serializedFields[key] = value.toString();
- }
- };
- BaseUsageData.prototype.SerializeRow = function () {
- this._serializedFields = {};
- this.SetSerializedField("Table", this._table);
- this.SerializeFields();
- return JSON.stringify(this._serializedFields);
- };
- return BaseUsageData;
- })();
- OSFLog.BaseUsageData = BaseUsageData;
- var AppActivatedUsageData = (function (_super) {
- __extends(AppActivatedUsageData, _super);
- function AppActivatedUsageData() {
- _super.call(this, "AppActivated");
- }
- Object.defineProperty(AppActivatedUsageData.prototype, "CorrelationId", {
- get: function () { return this.Fields["CorrelationId"]; },
- set: function (value) { this.Fields["CorrelationId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "SessionId", {
- get: function () { return this.Fields["SessionId"]; },
- set: function (value) { this.Fields["SessionId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "AppId", {
- get: function () { return this.Fields["AppId"]; },
- set: function (value) { this.Fields["AppId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "AppInstanceId", {
- get: function () { return this.Fields["AppInstanceId"]; },
- set: function (value) { this.Fields["AppInstanceId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "AppURL", {
- get: function () { return this.Fields["AppURL"]; },
- set: function (value) { this.Fields["AppURL"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "AssetId", {
- get: function () { return this.Fields["AssetId"]; },
- set: function (value) { this.Fields["AssetId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "Browser", {
- get: function () { return this.Fields["Browser"]; },
- set: function (value) { this.Fields["Browser"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "UserId", {
- get: function () { return this.Fields["UserId"]; },
- set: function (value) { this.Fields["UserId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "Host", {
- get: function () { return this.Fields["Host"]; },
- set: function (value) { this.Fields["Host"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "HostVersion", {
- get: function () { return this.Fields["HostVersion"]; },
- set: function (value) { this.Fields["HostVersion"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "ClientId", {
- get: function () { return this.Fields["ClientId"]; },
- set: function (value) { this.Fields["ClientId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "AppSizeWidth", {
- get: function () { return this.Fields["AppSizeWidth"]; },
- set: function (value) { this.Fields["AppSizeWidth"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "AppSizeHeight", {
- get: function () { return this.Fields["AppSizeHeight"]; },
- set: function (value) { this.Fields["AppSizeHeight"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "Message", {
- get: function () { return this.Fields["Message"]; },
- set: function (value) { this.Fields["Message"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "DocUrl", {
- get: function () { return this.Fields["DocUrl"]; },
- set: function (value) { this.Fields["DocUrl"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "OfficeJSVersion", {
- get: function () { return this.Fields["OfficeJSVersion"]; },
- set: function (value) { this.Fields["OfficeJSVersion"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppActivatedUsageData.prototype, "HostJSVersion", {
- get: function () { return this.Fields["HostJSVersion"]; },
- set: function (value) { this.Fields["HostJSVersion"] = value; },
- enumerable: true,
- configurable: true
- });
- AppActivatedUsageData.prototype.SerializeFields = function () {
- this.SetSerializedField("CorrelationId", this.CorrelationId);
- this.SetSerializedField("SessionId", this.SessionId);
- this.SetSerializedField("AppId", this.AppId);
- this.SetSerializedField("AppInstanceId", this.AppInstanceId);
- this.SetSerializedField("AppURL", this.AppURL);
- this.SetSerializedField("AssetId", this.AssetId);
- this.SetSerializedField("Browser", this.Browser);
- this.SetSerializedField("UserId", this.UserId);
- this.SetSerializedField("Host", this.Host);
- this.SetSerializedField("HostVersion", this.HostVersion);
- this.SetSerializedField("ClientId", this.ClientId);
- this.SetSerializedField("AppSizeWidth", this.AppSizeWidth);
- this.SetSerializedField("AppSizeHeight", this.AppSizeHeight);
- this.SetSerializedField("Message", this.Message);
- this.SetSerializedField("DocUrl", this.DocUrl);
- this.SetSerializedField("OfficeJSVersion", this.OfficeJSVersion);
- this.SetSerializedField("HostJSVersion", this.HostJSVersion);
- };
- return AppActivatedUsageData;
- })(BaseUsageData);
- OSFLog.AppActivatedUsageData = AppActivatedUsageData;
- var ScriptLoadUsageData = (function (_super) {
- __extends(ScriptLoadUsageData, _super);
- function ScriptLoadUsageData() {
- _super.call(this, "ScriptLoad");
- }
- Object.defineProperty(ScriptLoadUsageData.prototype, "CorrelationId", {
- get: function () { return this.Fields["CorrelationId"]; },
- set: function (value) { this.Fields["CorrelationId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(ScriptLoadUsageData.prototype, "SessionId", {
- get: function () { return this.Fields["SessionId"]; },
- set: function (value) { this.Fields["SessionId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(ScriptLoadUsageData.prototype, "ScriptId", {
- get: function () { return this.Fields["ScriptId"]; },
- set: function (value) { this.Fields["ScriptId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(ScriptLoadUsageData.prototype, "StartTime", {
- get: function () { return this.Fields["StartTime"]; },
- set: function (value) { this.Fields["StartTime"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(ScriptLoadUsageData.prototype, "ResponseTime", {
- get: function () { return this.Fields["ResponseTime"]; },
- set: function (value) { this.Fields["ResponseTime"] = value; },
- enumerable: true,
- configurable: true
- });
- ScriptLoadUsageData.prototype.SerializeFields = function () {
- this.SetSerializedField("CorrelationId", this.CorrelationId);
- this.SetSerializedField("SessionId", this.SessionId);
- this.SetSerializedField("ScriptId", this.ScriptId);
- this.SetSerializedField("StartTime", this.StartTime);
- this.SetSerializedField("ResponseTime", this.ResponseTime);
- };
- return ScriptLoadUsageData;
- })(BaseUsageData);
- OSFLog.ScriptLoadUsageData = ScriptLoadUsageData;
- var AppClosedUsageData = (function (_super) {
- __extends(AppClosedUsageData, _super);
- function AppClosedUsageData() {
- _super.call(this, "AppClosed");
- }
- Object.defineProperty(AppClosedUsageData.prototype, "CorrelationId", {
- get: function () { return this.Fields["CorrelationId"]; },
- set: function (value) { this.Fields["CorrelationId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppClosedUsageData.prototype, "SessionId", {
- get: function () { return this.Fields["SessionId"]; },
- set: function (value) { this.Fields["SessionId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppClosedUsageData.prototype, "FocusTime", {
- get: function () { return this.Fields["FocusTime"]; },
- set: function (value) { this.Fields["FocusTime"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppClosedUsageData.prototype, "AppSizeFinalWidth", {
- get: function () { return this.Fields["AppSizeFinalWidth"]; },
- set: function (value) { this.Fields["AppSizeFinalWidth"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppClosedUsageData.prototype, "AppSizeFinalHeight", {
- get: function () { return this.Fields["AppSizeFinalHeight"]; },
- set: function (value) { this.Fields["AppSizeFinalHeight"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppClosedUsageData.prototype, "OpenTime", {
- get: function () { return this.Fields["OpenTime"]; },
- set: function (value) { this.Fields["OpenTime"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppClosedUsageData.prototype, "CloseMethod", {
- get: function () { return this.Fields["CloseMethod"]; },
- set: function (value) { this.Fields["CloseMethod"] = value; },
- enumerable: true,
- configurable: true
- });
- AppClosedUsageData.prototype.SerializeFields = function () {
- this.SetSerializedField("CorrelationId", this.CorrelationId);
- this.SetSerializedField("SessionId", this.SessionId);
- this.SetSerializedField("FocusTime", this.FocusTime);
- this.SetSerializedField("AppSizeFinalWidth", this.AppSizeFinalWidth);
- this.SetSerializedField("AppSizeFinalHeight", this.AppSizeFinalHeight);
- this.SetSerializedField("OpenTime", this.OpenTime);
- this.SetSerializedField("CloseMethod", this.CloseMethod);
- };
- return AppClosedUsageData;
- })(BaseUsageData);
- OSFLog.AppClosedUsageData = AppClosedUsageData;
- var APIUsageUsageData = (function (_super) {
- __extends(APIUsageUsageData, _super);
- function APIUsageUsageData() {
- _super.call(this, "APIUsage");
- }
- Object.defineProperty(APIUsageUsageData.prototype, "CorrelationId", {
- get: function () { return this.Fields["CorrelationId"]; },
- set: function (value) { this.Fields["CorrelationId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(APIUsageUsageData.prototype, "SessionId", {
- get: function () { return this.Fields["SessionId"]; },
- set: function (value) { this.Fields["SessionId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(APIUsageUsageData.prototype, "APIType", {
- get: function () { return this.Fields["APIType"]; },
- set: function (value) { this.Fields["APIType"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(APIUsageUsageData.prototype, "APIID", {
- get: function () { return this.Fields["APIID"]; },
- set: function (value) { this.Fields["APIID"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(APIUsageUsageData.prototype, "Parameters", {
- get: function () { return this.Fields["Parameters"]; },
- set: function (value) { this.Fields["Parameters"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(APIUsageUsageData.prototype, "ResponseTime", {
- get: function () { return this.Fields["ResponseTime"]; },
- set: function (value) { this.Fields["ResponseTime"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(APIUsageUsageData.prototype, "ErrorType", {
- get: function () { return this.Fields["ErrorType"]; },
- set: function (value) { this.Fields["ErrorType"] = value; },
- enumerable: true,
- configurable: true
- });
- APIUsageUsageData.prototype.SerializeFields = function () {
- this.SetSerializedField("CorrelationId", this.CorrelationId);
- this.SetSerializedField("SessionId", this.SessionId);
- this.SetSerializedField("APIType", this.APIType);
- this.SetSerializedField("APIID", this.APIID);
- this.SetSerializedField("Parameters", this.Parameters);
- this.SetSerializedField("ResponseTime", this.ResponseTime);
- this.SetSerializedField("ErrorType", this.ErrorType);
- };
- return APIUsageUsageData;
- })(BaseUsageData);
- OSFLog.APIUsageUsageData = APIUsageUsageData;
- var AppInitializationUsageData = (function (_super) {
- __extends(AppInitializationUsageData, _super);
- function AppInitializationUsageData() {
- _super.call(this, "AppInitialization");
- }
- Object.defineProperty(AppInitializationUsageData.prototype, "CorrelationId", {
- get: function () { return this.Fields["CorrelationId"]; },
- set: function (value) { this.Fields["CorrelationId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppInitializationUsageData.prototype, "SessionId", {
- get: function () { return this.Fields["SessionId"]; },
- set: function (value) { this.Fields["SessionId"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppInitializationUsageData.prototype, "SuccessCode", {
- get: function () { return this.Fields["SuccessCode"]; },
- set: function (value) { this.Fields["SuccessCode"] = value; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppInitializationUsageData.prototype, "Message", {
- get: function () { return this.Fields["Message"]; },
- set: function (value) { this.Fields["Message"] = value; },
- enumerable: true,
- configurable: true
- });
- AppInitializationUsageData.prototype.SerializeFields = function () {
- this.SetSerializedField("CorrelationId", this.CorrelationId);
- this.SetSerializedField("SessionId", this.SessionId);
- this.SetSerializedField("SuccessCode", this.SuccessCode);
- this.SetSerializedField("Message", this.Message);
- };
- return AppInitializationUsageData;
- })(BaseUsageData);
- OSFLog.AppInitializationUsageData = AppInitializationUsageData;
- })(OSFLog || (OSFLog = {}));
- var Logger;
- (function (Logger) {
- "use strict";
- (function (TraceLevel) {
- TraceLevel[TraceLevel["info"] = 0] = "info";
- TraceLevel[TraceLevel["warning"] = 1] = "warning";
- TraceLevel[TraceLevel["error"] = 2] = "error";
- })(Logger.TraceLevel || (Logger.TraceLevel = {}));
- var TraceLevel = Logger.TraceLevel;
- (function (SendFlag) {
- SendFlag[SendFlag["none"] = 0] = "none";
- SendFlag[SendFlag["flush"] = 1] = "flush";
- })(Logger.SendFlag || (Logger.SendFlag = {}));
- var SendFlag = Logger.SendFlag;
- function allowUploadingData() {
- if (OSF.Logger && OSF.Logger.ulsEndpoint) {
- OSF.Logger.ulsEndpoint.loadProxyFrame();
- }
- }
- Logger.allowUploadingData = allowUploadingData;
- function sendLog(traceLevel, message, flag) {
- if (OSF.Logger && OSF.Logger.ulsEndpoint) {
- var jsonObj = { traceLevel: traceLevel, message: message, flag: flag, internalLog: true };
- var logs = JSON.stringify(jsonObj);
- OSF.Logger.ulsEndpoint.writeLog(logs);
- }
- }
- Logger.sendLog = sendLog;
- function creatULSEndpoint() {
- try {
- return new ULSEndpointProxy();
- }
- catch (e) {
- return null;
- }
- }
- var ULSEndpointProxy = (function () {
- function ULSEndpointProxy() {
- var _this = this;
- this.proxyFrame = null;
- this.telemetryEndPoint = "https://telemetryservice.firstpartyapps.oaspapps.com/telemetryservice/telemetryproxy.html";
- this.buffer = [];
- this.proxyFrameReady = false;
- OSF.OUtil.addEventListener(window, "message", function (e) { return _this.tellProxyFrameReady(e); });
- setTimeout(function () {
- _this.loadProxyFrame();
- }, 3000);
- }
- ULSEndpointProxy.prototype.writeLog = function (log) {
- if (this.proxyFrameReady === true) {
- this.proxyFrame.contentWindow.postMessage(log, ULSEndpointProxy.telemetryOrigin);
- }
- else {
- if (this.buffer.length < 128) {
- this.buffer.push(log);
- }
- }
- };
- ULSEndpointProxy.prototype.loadProxyFrame = function () {
- if (this.proxyFrame == null) {
- this.proxyFrame = document.createElement("iframe");
- this.proxyFrame.setAttribute("style", "display:none");
- this.proxyFrame.setAttribute("src", this.telemetryEndPoint);
- document.head.appendChild(this.proxyFrame);
- }
- };
- ULSEndpointProxy.prototype.tellProxyFrameReady = function (e) {
- var _this = this;
- if (e.data === "ProxyFrameReadyToLog") {
- this.proxyFrameReady = true;
- for (var i = 0; i < this.buffer.length; i++) {
- this.writeLog(this.buffer[i]);
- }
- this.buffer.length = 0;
- OSF.OUtil.removeEventListener(window, "message", function (e) { return _this.tellProxyFrameReady(e); });
- }
- else if (e.data === "ProxyFrameReadyToInit") {
- var initJson = { appName: "Office APPs", sessionId: OSF.OUtil.Guid.generateNewGuid() };
- var initStr = JSON.stringify(initJson);
- this.proxyFrame.contentWindow.postMessage(initStr, ULSEndpointProxy.telemetryOrigin);
- }
- };
- ULSEndpointProxy.telemetryOrigin = "https://telemetryservice.firstpartyapps.oaspapps.com";
- return ULSEndpointProxy;
- })();
- if (!OSF.Logger) {
- OSF.Logger = Logger;
- }
- Logger.ulsEndpoint = creatULSEndpoint();
- })(Logger || (Logger = {}));
- var OSFAppTelemetry;
- (function (OSFAppTelemetry) {
- "use strict";
- var appInfo;
- var sessionId = OSF.OUtil.Guid.generateNewGuid();
- var osfControlAppCorrelationId = "";
- var omexDomainRegex = new RegExp("^https?://store\\.office(ppe|-int)?\\.com/", "i");
- ;
- var AppInfo = (function () {
- function AppInfo() {
- }
- return AppInfo;
- })();
- var Event = (function () {
- function Event(name, handler) {
- this.name = name;
- this.handler = handler;
- }
- return Event;
- })();
- var AppStorage = (function () {
- function AppStorage() {
- this.clientIDKey = "Office API client";
- this.logIdSetKey = "Office App Log Id Set";
- }
- AppStorage.prototype.getClientId = function () {
- var clientId = this.getValue(this.clientIDKey);
- if (!clientId || clientId.length <= 0 || clientId.length > 40) {
- clientId = OSF.OUtil.Guid.generateNewGuid();
- this.setValue(this.clientIDKey, clientId);
- }
- return clientId;
- };
- AppStorage.prototype.saveLog = function (logId, log) {
- var logIdSet = this.getValue(this.logIdSetKey);
- logIdSet = ((logIdSet && logIdSet.length > 0) ? (logIdSet + ";") : "") + logId;
- this.setValue(this.logIdSetKey, logIdSet);
- this.setValue(logId, log);
- };
- AppStorage.prototype.enumerateLog = function (callback, clean) {
- var logIdSet = this.getValue(this.logIdSetKey);
- if (logIdSet) {
- var ids = logIdSet.split(";");
- for (var id in ids) {
- var logId = ids[id];
- var log = this.getValue(logId);
- if (log) {
- if (callback) {
- callback(logId, log);
- }
- if (clean) {
- this.remove(logId);
- }
- }
- }
- if (clean) {
- this.remove(this.logIdSetKey);
- }
- }
- };
- AppStorage.prototype.getValue = function (key) {
- var osfLocalStorage = OSF.OUtil.getLocalStorage();
- var value = "";
- if (osfLocalStorage) {
- value = osfLocalStorage.getItem(key);
- }
- return value;
- };
- AppStorage.prototype.setValue = function (key, value) {
- var osfLocalStorage = OSF.OUtil.getLocalStorage();
- if (osfLocalStorage) {
- osfLocalStorage.setItem(key, value);
- }
- };
- AppStorage.prototype.remove = function (key) {
- var osfLocalStorage = OSF.OUtil.getLocalStorage();
- if (osfLocalStorage) {
- try {
- osfLocalStorage.removeItem(key);
- }
- catch (ex) {
- }
- }
- };
- return AppStorage;
- })();
- var AppLogger = (function () {
- function AppLogger() {
- }
- AppLogger.prototype.LogData = function (data) {
- if (!OSF.Logger) {
- return;
- }
- OSF.Logger.sendLog(OSF.Logger.TraceLevel.info, data.SerializeRow(), OSF.Logger.SendFlag.none);
- };
- AppLogger.prototype.LogRawData = function (log) {
- if (!OSF.Logger) {
- return;
- }
- OSF.Logger.sendLog(OSF.Logger.TraceLevel.info, log, OSF.Logger.SendFlag.none);
- };
- return AppLogger;
- })();
- function initialize(context) {
- if (!OSF.Logger) {
- return;
- }
- if (appInfo) {
- return;
- }
- appInfo = new AppInfo();
- if (context.get_hostFullVersion()) {
- appInfo.hostVersion = context.get_hostFullVersion();
- }
- else {
- appInfo.hostVersion = context.get_appVersion();
- }
- appInfo.appId = context.get_id();
- appInfo.host = context.get_appName();
- appInfo.browser = window.navigator.userAgent;
- appInfo.correlationId = context.get_correlationId();
- appInfo.clientId = (new AppStorage()).getClientId();
- appInfo.appInstanceId = context.get_appInstanceId();
- if (appInfo.appInstanceId) {
- appInfo.appInstanceId = appInfo.appInstanceId.replace(/[{}]/g, "").toLowerCase();
- }
- appInfo.message = context.get_hostCustomMessage();
- appInfo.officeJSVersion = OSF.ConstantNames.FileVersion;
- appInfo.hostJSVersion = "16.0.7415.1000";
- var docUrl = context.get_docUrl();
- appInfo.docUrl = omexDomainRegex.test(docUrl) ? docUrl : "";
- var url = location.href;
- if (url) {
- url = url.split("?")[0].split("#")[0];
- }
- appInfo.appURL = url;
- (function getUserIdAndAssetIdFromToken(token, appInfo) {
- var xmlContent;
- var parser;
- var xmlDoc;
- appInfo.assetId = "";
- appInfo.userId = "";
- try {
- xmlContent = decodeURIComponent(token);
- parser = new DOMParser();
- xmlDoc = parser.parseFromString(xmlContent, "text/xml");
- var cidNode = xmlDoc.getElementsByTagName("t")[0].attributes.getNamedItem("cid");
- var oidNode = xmlDoc.getElementsByTagName("t")[0].attributes.getNamedItem("oid");
- if (cidNode && cidNode.nodeValue) {
- appInfo.userId = cidNode.nodeValue;
- }
- else if (oidNode && oidNode.nodeValue) {
- appInfo.userId = oidNode.nodeValue;
- }
- appInfo.assetId = xmlDoc.getElementsByTagName("t")[0].attributes.getNamedItem("aid").nodeValue;
- }
- catch (e) {
- }
- finally {
- xmlContent = null;
- xmlDoc = null;
- parser = null;
- }
- })(context.get_eToken(), appInfo);
- (function handleLifecycle() {
- var startTime = new Date();
- var lastFocus = null;
- var focusTime = 0;
- var finished = false;
- var adjustFocusTime = function () {
- if (document.hasFocus()) {
- if (lastFocus == null) {
- lastFocus = new Date();
- }
- }
- else if (lastFocus) {
- focusTime += Math.abs((new Date()).getTime() - lastFocus.getTime());
- lastFocus = null;
- }
- };
- var eventList = [];
- eventList.push(new Event("focus", adjustFocusTime));
- eventList.push(new Event("blur", adjustFocusTime));
- eventList.push(new Event("focusout", adjustFocusTime));
- eventList.push(new Event("focusin", adjustFocusTime));
- var exitFunction = function () {
- for (var i = 0; i < eventList.length; i++) {
- OSF.OUtil.removeEventListener(window, eventList[i].name, eventList[i].handler);
- }
- eventList.length = 0;
- if (!finished) {
- if (document.hasFocus() && lastFocus) {
- focusTime += Math.abs((new Date()).getTime() - lastFocus.getTime());
- lastFocus = null;
- }
- OSFAppTelemetry.onAppClosed(Math.abs((new Date()).getTime() - startTime.getTime()), focusTime);
- finished = true;
- }
- };
- eventList.push(new Event("beforeunload", exitFunction));
- eventList.push(new Event("unload", exitFunction));
- for (var i = 0; i < eventList.length; i++) {
- OSF.OUtil.addEventListener(window, eventList[i].name, eventList[i].handler);
- }
- adjustFocusTime();
- })();
- OSFAppTelemetry.onAppActivated();
- }
- OSFAppTelemetry.initialize = initialize;
- function onAppActivated() {
- if (!appInfo) {
- return;
- }
- (new AppStorage()).enumerateLog(function (id, log) { return (new AppLogger()).LogRawData(log); }, true);
- var data = new OSFLog.AppActivatedUsageData();
- data.SessionId = sessionId;
- data.AppId = appInfo.appId;
- data.AssetId = appInfo.assetId;
- data.AppURL = appInfo.appURL;
- data.UserId = appInfo.userId;
- data.ClientId = appInfo.clientId;
- data.Browser = appInfo.browser;
- data.Host = appInfo.host;
- data.HostVersion = appInfo.hostVersion;
- data.CorrelationId = appInfo.correlationId;
- data.AppSizeWidth = window.innerWidth;
- data.AppSizeHeight = window.innerHeight;
- data.AppInstanceId = appInfo.appInstanceId;
- data.Message = appInfo.message;
- data.DocUrl = appInfo.docUrl;
- data.OfficeJSVersion = appInfo.officeJSVersion;
- data.HostJSVersion = appInfo.hostJSVersion;
- (new AppLogger()).LogData(data);
- setTimeout(function () {
- if (!OSF.Logger) {
- return;
- }
- OSF.Logger.allowUploadingData();
- }, 100);
- }
- OSFAppTelemetry.onAppActivated = onAppActivated;
- function onScriptDone(scriptId, msStartTime, msResponseTime, appCorrelationId) {
- var data = new OSFLog.ScriptLoadUsageData();
- data.CorrelationId = appCorrelationId;
- data.SessionId = sessionId;
- data.ScriptId = scriptId;
- data.StartTime = msStartTime;
- data.ResponseTime = msResponseTime;
- (new AppLogger()).LogData(data);
- }
- OSFAppTelemetry.onScriptDone = onScriptDone;
- function onCallDone(apiType, id, parameters, msResponseTime, errorType) {
- if (!appInfo) {
- return;
- }
- var data = new OSFLog.APIUsageUsageData();
- data.CorrelationId = osfControlAppCorrelationId;
- data.SessionId = sessionId;
- data.APIType = apiType;
- data.APIID = id;
- data.Parameters = parameters;
- data.ResponseTime = msResponseTime;
- data.ErrorType = errorType;
- (new AppLogger()).LogData(data);
- }
- OSFAppTelemetry.onCallDone = onCallDone;
- ;
- function onMethodDone(id, args, msResponseTime, errorType) {
- var parameters = null;
- if (args) {
- if (typeof args == "number") {
- parameters = String(args);
- }
- else if (typeof args === "object") {
- for (var index in args) {
- if (parameters !== null) {
- parameters += ",";
- }
- else {
- parameters = "";
- }
- if (typeof args[index] == "number") {
- parameters += String(args[index]);
- }
- }
- }
- else {
- parameters = "";
- }
- }
- OSF.AppTelemetry.onCallDone("method", id, parameters, msResponseTime, errorType);
- }
- OSFAppTelemetry.onMethodDone = onMethodDone;
- function onPropertyDone(propertyName, msResponseTime) {
- OSF.AppTelemetry.onCallDone("property", -1, propertyName, msResponseTime);
- }
- OSFAppTelemetry.onPropertyDone = onPropertyDone;
- function onEventDone(id, errorType) {
- OSF.AppTelemetry.onCallDone("event", id, null, 0, errorType);
- }
- OSFAppTelemetry.onEventDone = onEventDone;
- function onRegisterDone(register, id, msResponseTime, errorType) {
- OSF.AppTelemetry.onCallDone(register ? "registerevent" : "unregisterevent", id, null, msResponseTime, errorType);
- }
- OSFAppTelemetry.onRegisterDone = onRegisterDone;
- function onAppClosed(openTime, focusTime) {
- if (!appInfo) {
- return;
- }
- var data = new OSFLog.AppClosedUsageData();
- data.CorrelationId = osfControlAppCorrelationId;
- data.SessionId = sessionId;
- data.FocusTime = focusTime;
- data.OpenTime = openTime;
- data.AppSizeFinalWidth = window.innerWidth;
- data.AppSizeFinalHeight = window.innerHeight;
- (new AppStorage()).saveLog(sessionId, data.SerializeRow());
- }
- OSFAppTelemetry.onAppClosed = onAppClosed;
- function setOsfControlAppCorrelationId(correlationId) {
- osfControlAppCorrelationId = correlationId;
- }
- OSFAppTelemetry.setOsfControlAppCorrelationId = setOsfControlAppCorrelationId;
- function doAppInitializationLogging(isException, message) {
- var data = new OSFLog.AppInitializationUsageData();
- data.CorrelationId = osfControlAppCorrelationId;
- data.SessionId = sessionId;
- data.SuccessCode = isException ? 1 : 0;
- data.Message = message;
- (new AppLogger()).LogData(data);
- }
- OSFAppTelemetry.doAppInitializationLogging = doAppInitializationLogging;
- function logAppCommonMessage(message) {
- doAppInitializationLogging(false, message);
- }
- OSFAppTelemetry.logAppCommonMessage = logAppCommonMessage;
- function logAppException(errorMessage) {
- doAppInitializationLogging(true, errorMessage);
- }
- OSFAppTelemetry.logAppException = logAppException;
- OSF.AppTelemetry = OSFAppTelemetry;
- })(OSFAppTelemetry || (OSFAppTelemetry = {}));
- Microsoft.Office.WebExtension.BindingType = {
- Table: "table",
- Text: "text",
- Matrix: "matrix"
- };
- OSF.DDA.BindingProperties = {
- Id: "BindingId",
- Type: Microsoft.Office.WebExtension.Parameters.BindingType
- };
- OSF.OUtil.augmentList(OSF.DDA.ListDescriptors, { BindingList: "BindingList" });
- OSF.OUtil.augmentList(OSF.DDA.PropertyDescriptors, {
- Subset: "subset",
- BindingProperties: "BindingProperties"
- });
- OSF.DDA.ListType.setListType(OSF.DDA.ListDescriptors.BindingList, OSF.DDA.PropertyDescriptors.BindingProperties);
- OSF.DDA.BindingPromise = function OSF_DDA_BindingPromise(bindingId, errorCallback) {
- this._id = bindingId;
- OSF.OUtil.defineEnumerableProperty(this, "onFail", {
- get: function () {
- return errorCallback;
- },
- set: function (onError) {
- var t = typeof onError;
- if (t != "undefined" && t != "function") {
- throw OSF.OUtil.formatString(Strings.OfficeOM.L_CallbackNotAFunction, t);
- }
- errorCallback = onError;
- }
- });
- };
- OSF.DDA.BindingPromise.prototype = {
- _fetch: function OSF_DDA_BindingPromise$_fetch(onComplete) {
- if (this.binding) {
- if (onComplete)
- onComplete(this.binding);
- }
- else {
- if (!this._binding) {
- var me = this;
- Microsoft.Office.WebExtension.context.document.bindings.getByIdAsync(this._id, function (asyncResult) {
- if (asyncResult.status == Microsoft.Office.WebExtension.AsyncResultStatus.Succeeded) {
- OSF.OUtil.defineEnumerableProperty(me, "binding", {
- value: asyncResult.value
- });
- if (onComplete)
- onComplete(me.binding);
- }
- else {
- if (me.onFail)
- me.onFail(asyncResult);
- }
- });
- }
- }
- return this;
- },
- getDataAsync: function OSF_DDA_BindingPromise$getDataAsync() {
- var args = arguments;
- this._fetch(function onComplete(binding) { binding.getDataAsync.apply(binding, args); });
- return this;
- },
- setDataAsync: function OSF_DDA_BindingPromise$setDataAsync() {
- var args = arguments;
- this._fetch(function onComplete(binding) { binding.setDataAsync.apply(binding, args); });
- return this;
- },
- addHandlerAsync: function OSF_DDA_BindingPromise$addHandlerAsync() {
- var args = arguments;
- this._fetch(function onComplete(binding) { binding.addHandlerAsync.apply(binding, args); });
- return this;
- },
- removeHandlerAsync: function OSF_DDA_BindingPromise$removeHandlerAsync() {
- var args = arguments;
- this._fetch(function onComplete(binding) { binding.removeHandlerAsync.apply(binding, args); });
- return this;
- }
- };
- OSF.DDA.BindingFacade = function OSF_DDA_BindingFacade(docInstance) {
- this._eventDispatches = [];
- OSF.OUtil.defineEnumerableProperty(this, "document", {
- value: docInstance
- });
- var am = OSF.DDA.AsyncMethodNames;
- OSF.DDA.DispIdHost.addAsyncMethods(this, [
- am.AddFromSelectionAsync,
- am.AddFromNamedItemAsync,
- am.GetAllAsync,
- am.GetByIdAsync,
- am.ReleaseByIdAsync
- ]);
- };
- OSF.DDA.UnknownBinding = function OSF_DDA_UknonwnBinding(id, docInstance) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "document": { value: docInstance },
- "id": { value: id }
- });
- };
- OSF.DDA.Binding = function OSF_DDA_Binding(id, docInstance) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "document": {
- value: docInstance
- },
- "id": {
- value: id
- }
- });
- var am = OSF.DDA.AsyncMethodNames;
- OSF.DDA.DispIdHost.addAsyncMethods(this, [
- am.GetDataAsync,
- am.SetDataAsync
- ]);
- var et = Microsoft.Office.WebExtension.EventType;
- var bindingEventDispatches = docInstance.bindings._eventDispatches;
- if (!bindingEventDispatches[id]) {
- bindingEventDispatches[id] = new OSF.EventDispatch([
- et.BindingSelectionChanged,
- et.BindingDataChanged
- ]);
- }
- var eventDispatch = bindingEventDispatches[id];
- OSF.DDA.DispIdHost.addEventSupport(this, eventDispatch);
- };
- OSF.DDA.generateBindingId = function OSF_DDA$GenerateBindingId() {
- return "UnnamedBinding_" + OSF.OUtil.getUniqueId() + "_" + new Date().getTime();
- };
- OSF.DDA.OMFactory = OSF.DDA.OMFactory || {};
- OSF.DDA.OMFactory.manufactureBinding = function OSF_DDA_OMFactory$manufactureBinding(bindingProperties, containingDocument) {
- var id = bindingProperties[OSF.DDA.BindingProperties.Id];
- var rows = bindingProperties[OSF.DDA.BindingProperties.RowCount];
- var cols = bindingProperties[OSF.DDA.BindingProperties.ColumnCount];
- var hasHeaders = bindingProperties[OSF.DDA.BindingProperties.HasHeaders];
- var binding;
- switch (bindingProperties[OSF.DDA.BindingProperties.Type]) {
- case Microsoft.Office.WebExtension.BindingType.Text:
- binding = new OSF.DDA.TextBinding(id, containingDocument);
- break;
- case Microsoft.Office.WebExtension.BindingType.Matrix:
- binding = new OSF.DDA.MatrixBinding(id, containingDocument, rows, cols);
- break;
- case Microsoft.Office.WebExtension.BindingType.Table:
- var isExcelApp = function () {
- return (OSF.DDA.ExcelDocument)
- && (Microsoft.Office.WebExtension.context.document)
- && (Microsoft.Office.WebExtension.context.document instanceof OSF.DDA.ExcelDocument);
- };
- var tableBindingObject;
- if (isExcelApp() && OSF.DDA.ExcelTableBinding) {
- tableBindingObject = OSF.DDA.ExcelTableBinding;
- }
- else {
- tableBindingObject = OSF.DDA.TableBinding;
- }
- binding = new tableBindingObject(id, containingDocument, rows, cols, hasHeaders);
- break;
- default:
- binding = new OSF.DDA.UnknownBinding(id, containingDocument);
- }
- return binding;
- };
- OSF.DDA.AsyncMethodNames.addNames({
- AddFromSelectionAsync: "addFromSelectionAsync",
- AddFromNamedItemAsync: "addFromNamedItemAsync",
- GetAllAsync: "getAllAsync",
- GetByIdAsync: "getByIdAsync",
- ReleaseByIdAsync: "releaseByIdAsync",
- GetDataAsync: "getDataAsync",
- SetDataAsync: "setDataAsync"
- });
- (function () {
- function processBinding(bindingDescriptor) {
- return OSF.DDA.OMFactory.manufactureBinding(bindingDescriptor, Microsoft.Office.WebExtension.context.document);
- }
- function getObjectId(obj) { return obj.id; }
- function processData(dataDescriptor, caller, callArgs) {
- var data = dataDescriptor[Microsoft.Office.WebExtension.Parameters.Data];
- if (OSF.DDA.TableDataProperties && data && (data[OSF.DDA.TableDataProperties.TableRows] != undefined || data[OSF.DDA.TableDataProperties.TableHeaders] != undefined)) {
- data = OSF.DDA.OMFactory.manufactureTableData(data);
- }
- data = OSF.DDA.DataCoercion.coerceData(data, callArgs[Microsoft.Office.WebExtension.Parameters.CoercionType]);
- return data == undefined ? null : data;
- }
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.AddFromSelectionAsync,
- requiredArguments: [
- {
- "name": Microsoft.Office.WebExtension.Parameters.BindingType,
- "enum": Microsoft.Office.WebExtension.BindingType
- }
- ],
- supportedOptions: [{
- name: Microsoft.Office.WebExtension.Parameters.Id,
- value: {
- "types": ["string"],
- "calculate": OSF.DDA.generateBindingId
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.Columns,
- value: {
- "types": ["object"],
- "defaultValue": null
- }
- }
- ],
- privateStateCallbacks: [],
- onSucceeded: processBinding
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.AddFromNamedItemAsync,
- requiredArguments: [{
- "name": Microsoft.Office.WebExtension.Parameters.ItemName,
- "types": ["string"]
- },
- {
- "name": Microsoft.Office.WebExtension.Parameters.BindingType,
- "enum": Microsoft.Office.WebExtension.BindingType
- }
- ],
- supportedOptions: [{
- name: Microsoft.Office.WebExtension.Parameters.Id,
- value: {
- "types": ["string"],
- "calculate": OSF.DDA.generateBindingId
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.Columns,
- value: {
- "types": ["object"],
- "defaultValue": null
- }
- }
- ],
- privateStateCallbacks: [
- {
- name: Microsoft.Office.WebExtension.Parameters.FailOnCollision,
- value: function () { return true; }
- }
- ],
- onSucceeded: processBinding
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.GetAllAsync,
- requiredArguments: [],
- supportedOptions: [],
- privateStateCallbacks: [],
- onSucceeded: function (response) { return OSF.OUtil.mapList(response[OSF.DDA.ListDescriptors.BindingList], processBinding); }
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.GetByIdAsync,
- requiredArguments: [
- {
- "name": Microsoft.Office.WebExtension.Parameters.Id,
- "types": ["string"]
- }
- ],
- supportedOptions: [],
- privateStateCallbacks: [],
- onSucceeded: processBinding
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.ReleaseByIdAsync,
- requiredArguments: [
- {
- "name": Microsoft.Office.WebExtension.Parameters.Id,
- "types": ["string"]
- }
- ],
- supportedOptions: [],
- privateStateCallbacks: [],
- onSucceeded: function (response, caller, callArgs) {
- var id = callArgs[Microsoft.Office.WebExtension.Parameters.Id];
- delete caller._eventDispatches[id];
- }
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.GetDataAsync,
- requiredArguments: [],
- supportedOptions: [{
- name: Microsoft.Office.WebExtension.Parameters.CoercionType,
- value: {
- "enum": Microsoft.Office.WebExtension.CoercionType,
- "calculate": function (requiredArgs, binding) { return OSF.DDA.DataCoercion.getCoercionDefaultForBinding(binding.type); }
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.ValueFormat,
- value: {
- "enum": Microsoft.Office.WebExtension.ValueFormat,
- "defaultValue": Microsoft.Office.WebExtension.ValueFormat.Unformatted
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.FilterType,
- value: {
- "enum": Microsoft.Office.WebExtension.FilterType,
- "defaultValue": Microsoft.Office.WebExtension.FilterType.All
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.Rows,
- value: {
- "types": ["object", "string"],
- "defaultValue": null
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.Columns,
- value: {
- "types": ["object"],
- "defaultValue": null
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.StartRow,
- value: {
- "types": ["number"],
- "defaultValue": 0
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.StartColumn,
- value: {
- "types": ["number"],
- "defaultValue": 0
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.RowCount,
- value: {
- "types": ["number"],
- "defaultValue": 0
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.ColumnCount,
- value: {
- "types": ["number"],
- "defaultValue": 0
- }
- }
- ],
- checkCallArgs: function (callArgs, caller, stateInfo) {
- if (callArgs[Microsoft.Office.WebExtension.Parameters.StartRow] == 0 &&
- callArgs[Microsoft.Office.WebExtension.Parameters.StartColumn] == 0 &&
- callArgs[Microsoft.Office.WebExtension.Parameters.RowCount] == 0 &&
- callArgs[Microsoft.Office.WebExtension.Parameters.ColumnCount] == 0) {
- delete callArgs[Microsoft.Office.WebExtension.Parameters.StartRow];
- delete callArgs[Microsoft.Office.WebExtension.Parameters.StartColumn];
- delete callArgs[Microsoft.Office.WebExtension.Parameters.RowCount];
- delete callArgs[Microsoft.Office.WebExtension.Parameters.ColumnCount];
- }
- if (callArgs[Microsoft.Office.WebExtension.Parameters.CoercionType] != OSF.DDA.DataCoercion.getCoercionDefaultForBinding(caller.type) &&
- (callArgs[Microsoft.Office.WebExtension.Parameters.StartRow] ||
- callArgs[Microsoft.Office.WebExtension.Parameters.StartColumn] ||
- callArgs[Microsoft.Office.WebExtension.Parameters.RowCount] ||
- callArgs[Microsoft.Office.WebExtension.Parameters.ColumnCount])) {
- throw OSF.DDA.ErrorCodeManager.errorCodes.ooeCoercionTypeNotMatchBinding;
- }
- return callArgs;
- },
- privateStateCallbacks: [
- {
- name: Microsoft.Office.WebExtension.Parameters.Id,
- value: getObjectId
- }
- ],
- onSucceeded: processData
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.SetDataAsync,
- requiredArguments: [
- {
- "name": Microsoft.Office.WebExtension.Parameters.Data,
- "types": ["string", "object", "number", "boolean"]
- }
- ],
- supportedOptions: [{
- name: Microsoft.Office.WebExtension.Parameters.CoercionType,
- value: {
- "enum": Microsoft.Office.WebExtension.CoercionType,
- "calculate": function (requiredArgs) { return OSF.DDA.DataCoercion.determineCoercionType(requiredArgs[Microsoft.Office.WebExtension.Parameters.Data]); }
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.Rows,
- value: {
- "types": ["object", "string"],
- "defaultValue": null
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.Columns,
- value: {
- "types": ["object"],
- "defaultValue": null
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.StartRow,
- value: {
- "types": ["number"],
- "defaultValue": 0
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.StartColumn,
- value: {
- "types": ["number"],
- "defaultValue": 0
- }
- }
- ],
- checkCallArgs: function (callArgs, caller, stateInfo) {
- if (callArgs[Microsoft.Office.WebExtension.Parameters.StartRow] == 0 &&
- callArgs[Microsoft.Office.WebExtension.Parameters.StartColumn] == 0) {
- delete callArgs[Microsoft.Office.WebExtension.Parameters.StartRow];
- delete callArgs[Microsoft.Office.WebExtension.Parameters.StartColumn];
- }
- if (callArgs[Microsoft.Office.WebExtension.Parameters.CoercionType] != OSF.DDA.DataCoercion.getCoercionDefaultForBinding(caller.type) &&
- (callArgs[Microsoft.Office.WebExtension.Parameters.StartRow] ||
- callArgs[Microsoft.Office.WebExtension.Parameters.StartColumn])) {
- throw OSF.DDA.ErrorCodeManager.errorCodes.ooeCoercionTypeNotMatchBinding;
- }
- return callArgs;
- },
- privateStateCallbacks: [
- {
- name: Microsoft.Office.WebExtension.Parameters.Id,
- value: getObjectId
- }
- ]
- });
- })();
- Microsoft.Office.WebExtension.TableData = function Microsoft_Office_WebExtension_TableData(rows, headers) {
- function fixData(data) {
- if (data == null || data == undefined) {
- return null;
- }
- try {
- for (var dim = OSF.DDA.DataCoercion.findArrayDimensionality(data, 2); dim < 2; dim++) {
- data = [data];
- }
- return data;
- }
- catch (ex) {
- }
- }
- ;
- OSF.OUtil.defineEnumerableProperties(this, {
- "headers": {
- get: function () { return headers; },
- set: function (value) {
- headers = fixData(value);
- }
- },
- "rows": {
- get: function () { return rows; },
- set: function (value) {
- rows = (value == null || (OSF.OUtil.isArray(value) && (value.length == 0))) ?
- [] :
- fixData(value);
- }
- }
- });
- this.headers = headers;
- this.rows = rows;
- };
- OSF.DDA.OMFactory = OSF.DDA.OMFactory || {};
- OSF.DDA.OMFactory.manufactureTableData = function OSF_DDA_OMFactory$manufactureTableData(tableDataProperties) {
- return new Microsoft.Office.WebExtension.TableData(tableDataProperties[OSF.DDA.TableDataProperties.TableRows], tableDataProperties[OSF.DDA.TableDataProperties.TableHeaders]);
- };
- OSF.OUtil.augmentList(OSF.DDA.PropertyDescriptors, { TableDataProperties: "TableDataProperties" });
- OSF.OUtil.augmentList(OSF.DDA.BindingProperties, {
- RowCount: "BindingRowCount",
- ColumnCount: "BindingColumnCount",
- HasHeaders: "HasHeaders"
- });
- OSF.DDA.TableDataProperties = {
- TableRows: "TableRows",
- TableHeaders: "TableHeaders"
- };
- OSF.DDA.TableBinding = function OSF_DDA_TableBinding(id, docInstance, rows, cols, hasHeaders) {
- OSF.DDA.TableBinding.uber.constructor.call(this, id, docInstance);
- OSF.OUtil.defineEnumerableProperties(this, {
- "type": {
- value: Microsoft.Office.WebExtension.BindingType.Table
- },
- "rowCount": {
- value: rows ? rows : 0
- },
- "columnCount": {
- value: cols ? cols : 0
- },
- "hasHeaders": {
- value: hasHeaders ? hasHeaders : false
- }
- });
- var am = OSF.DDA.AsyncMethodNames;
- OSF.DDA.DispIdHost.addAsyncMethods(this, [
- am.AddRowsAsync,
- am.AddColumnsAsync,
- am.DeleteAllDataValuesAsync
- ]);
- };
- OSF.OUtil.extend(OSF.DDA.TableBinding, OSF.DDA.Binding);
- OSF.DDA.AsyncMethodNames.addNames({
- AddRowsAsync: "addRowsAsync",
- AddColumnsAsync: "addColumnsAsync",
- DeleteAllDataValuesAsync: "deleteAllDataValuesAsync"
- });
- (function () {
- function getObjectId(obj) { return obj.id; }
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.AddRowsAsync,
- requiredArguments: [
- {
- "name": Microsoft.Office.WebExtension.Parameters.Data,
- "types": ["object"]
- }
- ],
- supportedOptions: [],
- privateStateCallbacks: [
- {
- name: Microsoft.Office.WebExtension.Parameters.Id,
- value: getObjectId
- }
- ]
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.AddColumnsAsync,
- requiredArguments: [
- {
- "name": Microsoft.Office.WebExtension.Parameters.Data,
- "types": ["object"]
- }
- ],
- supportedOptions: [],
- privateStateCallbacks: [
- {
- name: Microsoft.Office.WebExtension.Parameters.Id,
- value: getObjectId
- }
- ]
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.DeleteAllDataValuesAsync,
- requiredArguments: [],
- supportedOptions: [],
- privateStateCallbacks: [
- {
- name: Microsoft.Office.WebExtension.Parameters.Id,
- value: getObjectId
- }
- ]
- });
- })();
- Microsoft.Office.WebExtension.CoercionType = {
- Text: "text",
- Matrix: "matrix",
- Table: "table"
- };
- OSF.DDA.DataCoercion = (function OSF_DDA_DataCoercion() {
- return {
- findArrayDimensionality: function OSF_DDA_DataCoercion$findArrayDimensionality(obj) {
- if (OSF.OUtil.isArray(obj)) {
- var dim = 0;
- for (var index = 0; index < obj.length; index++) {
- dim = Math.max(dim, OSF.DDA.DataCoercion.findArrayDimensionality(obj[index]));
- }
- return dim + 1;
- }
- else {
- return 0;
- }
- },
- getCoercionDefaultForBinding: function OSF_DDA_DataCoercion$getCoercionDefaultForBinding(bindingType) {
- switch (bindingType) {
- case Microsoft.Office.WebExtension.BindingType.Matrix: return Microsoft.Office.WebExtension.CoercionType.Matrix;
- case Microsoft.Office.WebExtension.BindingType.Table: return Microsoft.Office.WebExtension.CoercionType.Table;
- case Microsoft.Office.WebExtension.BindingType.Text:
- default:
- return Microsoft.Office.WebExtension.CoercionType.Text;
- }
- },
- getBindingDefaultForCoercion: function OSF_DDA_DataCoercion$getBindingDefaultForCoercion(coercionType) {
- switch (coercionType) {
- case Microsoft.Office.WebExtension.CoercionType.Matrix: return Microsoft.Office.WebExtension.BindingType.Matrix;
- case Microsoft.Office.WebExtension.CoercionType.Table: return Microsoft.Office.WebExtension.BindingType.Table;
- case Microsoft.Office.WebExtension.CoercionType.Text:
- case Microsoft.Office.WebExtension.CoercionType.Html:
- case Microsoft.Office.WebExtension.CoercionType.Ooxml:
- default:
- return Microsoft.Office.WebExtension.BindingType.Text;
- }
- },
- determineCoercionType: function OSF_DDA_DataCoercion$determineCoercionType(data) {
- if (data == null || data == undefined)
- return null;
- var sourceType = null;
- var runtimeType = typeof data;
- if (data.rows !== undefined) {
- sourceType = Microsoft.Office.WebExtension.CoercionType.Table;
- }
- else if (OSF.OUtil.isArray(data)) {
- sourceType = Microsoft.Office.WebExtension.CoercionType.Matrix;
- }
- else if (runtimeType == "string" || runtimeType == "number" || runtimeType == "boolean" || OSF.OUtil.isDate(data)) {
- sourceType = Microsoft.Office.WebExtension.CoercionType.Text;
- }
- else {
- throw OSF.DDA.ErrorCodeManager.errorCodes.ooeUnsupportedDataObject;
- }
- return sourceType;
- },
- coerceData: function OSF_DDA_DataCoercion$coerceData(data, destinationType, sourceType) {
- sourceType = sourceType || OSF.DDA.DataCoercion.determineCoercionType(data);
- if (sourceType && sourceType != destinationType) {
- OSF.OUtil.writeProfilerMark(OSF.InternalPerfMarker.DataCoercionBegin);
- data = OSF.DDA.DataCoercion._coerceDataFromTable(destinationType, OSF.DDA.DataCoercion._coerceDataToTable(data, sourceType));
- OSF.OUtil.writeProfilerMark(OSF.InternalPerfMarker.DataCoercionEnd);
- }
- return data;
- },
- _matrixToText: function OSF_DDA_DataCoercion$_matrixToText(matrix) {
- if (matrix.length == 1 && matrix[0].length == 1)
- return "" + matrix[0][0];
- var val = "";
- for (var i = 0; i < matrix.length; i++) {
- val += matrix[i].join("\t") + "\n";
- }
- return val.substring(0, val.length - 1);
- },
- _textToMatrix: function OSF_DDA_DataCoercion$_textToMatrix(text) {
- var ret = text.split("\n");
- for (var i = 0; i < ret.length; i++)
- ret[i] = ret[i].split("\t");
- return ret;
- },
- _tableToText: function OSF_DDA_DataCoercion$_tableToText(table) {
- var headers = "";
- if (table.headers != null) {
- headers = OSF.DDA.DataCoercion._matrixToText([table.headers]) + "\n";
- }
- var rows = OSF.DDA.DataCoercion._matrixToText(table.rows);
- if (rows == "") {
- headers = headers.substring(0, headers.length - 1);
- }
- return headers + rows;
- },
- _tableToMatrix: function OSF_DDA_DataCoercion$_tableToMatrix(table) {
- var matrix = table.rows;
- if (table.headers != null) {
- matrix.unshift(table.headers);
- }
- return matrix;
- },
- _coerceDataFromTable: function OSF_DDA_DataCoercion$_coerceDataFromTable(coercionType, table) {
- var value;
- switch (coercionType) {
- case Microsoft.Office.WebExtension.CoercionType.Table:
- value = table;
- break;
- case Microsoft.Office.WebExtension.CoercionType.Matrix:
- value = OSF.DDA.DataCoercion._tableToMatrix(table);
- break;
- case Microsoft.Office.WebExtension.CoercionType.SlideRange:
- value = null;
- if (OSF.DDA.OMFactory.manufactureSlideRange) {
- value = OSF.DDA.OMFactory.manufactureSlideRange(OSF.DDA.DataCoercion._tableToText(table));
- }
- if (value == null) {
- value = OSF.DDA.DataCoercion._tableToText(table);
- }
- break;
- case Microsoft.Office.WebExtension.CoercionType.Text:
- case Microsoft.Office.WebExtension.CoercionType.Html:
- case Microsoft.Office.WebExtension.CoercionType.Ooxml:
- default:
- value = OSF.DDA.DataCoercion._tableToText(table);
- break;
- }
- return value;
- },
- _coerceDataToTable: function OSF_DDA_DataCoercion$_coerceDataToTable(data, sourceType) {
- if (sourceType == undefined) {
- sourceType = OSF.DDA.DataCoercion.determineCoercionType(data);
- }
- var value;
- switch (sourceType) {
- case Microsoft.Office.WebExtension.CoercionType.Table:
- value = data;
- break;
- case Microsoft.Office.WebExtension.CoercionType.Matrix:
- value = new Microsoft.Office.WebExtension.TableData(data);
- break;
- case Microsoft.Office.WebExtension.CoercionType.Text:
- case Microsoft.Office.WebExtension.CoercionType.Html:
- case Microsoft.Office.WebExtension.CoercionType.Ooxml:
- default:
- value = new Microsoft.Office.WebExtension.TableData(OSF.DDA.DataCoercion._textToMatrix(data));
- break;
- }
- return value;
- }
- };
- })();
- OSF.DDA.FilePropertiesDescriptor = {
- Url: "Url"
- };
- OSF.OUtil.augmentList(OSF.DDA.PropertyDescriptors, {
- FilePropertiesDescriptor: "FilePropertiesDescriptor"
- });
- Microsoft.Office.WebExtension.FileProperties = function Microsoft_Office_WebExtension_FileProperties(filePropertiesDescriptor) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "url": {
- value: filePropertiesDescriptor[OSF.DDA.FilePropertiesDescriptor.Url]
- }
- });
- };
- OSF.DDA.AsyncMethodNames.addNames({ GetFilePropertiesAsync: "getFilePropertiesAsync" });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.GetFilePropertiesAsync,
- fromHost: [
- { name: OSF.DDA.PropertyDescriptors.FilePropertiesDescriptor, value: 0 }
- ],
- requiredArguments: [],
- supportedOptions: [],
- onSucceeded: function (filePropertiesDescriptor, caller, callArgs) {
- return new Microsoft.Office.WebExtension.FileProperties(filePropertiesDescriptor);
- }
- });
- Microsoft.Office.WebExtension.GoToType = {
- Binding: "binding",
- NamedItem: "namedItem",
- Slide: "slide",
- Index: "index"
- };
- Microsoft.Office.WebExtension.SelectionMode = {
- Default: "default",
- Selected: "selected",
- None: "none"
- };
- Microsoft.Office.WebExtension.Index = {
- First: "first",
- Last: "last",
- Next: "next",
- Previous: "previous"
- };
- OSF.DDA.AsyncMethodNames.addNames({ GoToByIdAsync: "goToByIdAsync" });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.GoToByIdAsync,
- requiredArguments: [{
- "name": Microsoft.Office.WebExtension.Parameters.Id,
- "types": ["string", "number"]
- },
- {
- "name": Microsoft.Office.WebExtension.Parameters.GoToType,
- "enum": Microsoft.Office.WebExtension.GoToType
- }
- ],
- supportedOptions: [
- {
- name: Microsoft.Office.WebExtension.Parameters.SelectionMode,
- value: {
- "enum": Microsoft.Office.WebExtension.SelectionMode,
- "defaultValue": Microsoft.Office.WebExtension.SelectionMode.Default
- }
- }
- ]
- });
- Microsoft.Office.WebExtension.EventType = {};
- OSF.EventDispatch = function OSF_EventDispatch(eventTypes) {
- this._eventHandlers = {};
- this._queuedEventsArgs = {};
- for (var entry in eventTypes) {
- var eventType = eventTypes[entry];
- this._eventHandlers[eventType] = [];
- this._queuedEventsArgs[eventType] = [];
- }
- };
- OSF.EventDispatch.prototype = {
- getSupportedEvents: function OSF_EventDispatch$getSupportedEvents() {
- var events = [];
- for (var eventName in this._eventHandlers)
- events.push(eventName);
- return events;
- },
- supportsEvent: function OSF_EventDispatch$supportsEvent(event) {
- var isSupported = false;
- for (var eventName in this._eventHandlers) {
- if (event == eventName) {
- isSupported = true;
- break;
- }
- }
- return isSupported;
- },
- hasEventHandler: function OSF_EventDispatch$hasEventHandler(eventType, handler) {
- var handlers = this._eventHandlers[eventType];
- if (handlers && handlers.length > 0) {
- for (var h in handlers) {
- if (handlers[h] === handler)
- return true;
- }
- }
- return false;
- },
- addEventHandler: function OSF_EventDispatch$addEventHandler(eventType, handler) {
- if (typeof handler != "function") {
- return false;
- }
- var handlers = this._eventHandlers[eventType];
- if (handlers && !this.hasEventHandler(eventType, handler)) {
- handlers.push(handler);
- return true;
- }
- else {
- return false;
- }
- },
- addEventHandlerAndFireQueuedEvent: function OSF_EventDispatch$addEventHandlerAndFireQueuedEvent(eventType, handler) {
- var handlers = this._eventHandlers[eventType];
- var isFirstHandler = handlers.length == 0;
- var succeed = this.addEventHandler(eventType, handler);
- if (isFirstHandler && succeed) {
- this.fireQueuedEvent(eventType);
- }
- return succeed;
- },
- removeEventHandler: function OSF_EventDispatch$removeEventHandler(eventType, handler) {
- var handlers = this._eventHandlers[eventType];
- if (handlers && handlers.length > 0) {
- for (var index = 0; index < handlers.length; index++) {
- if (handlers[index] === handler) {
- handlers.splice(index, 1);
- return true;
- }
- }
- }
- return false;
- },
- clearEventHandlers: function OSF_EventDispatch$clearEventHandlers(eventType) {
- if (typeof this._eventHandlers[eventType] != "undefined" && this._eventHandlers[eventType].length > 0) {
- this._eventHandlers[eventType] = [];
- return true;
- }
- return false;
- },
- getEventHandlerCount: function OSF_EventDispatch$getEventHandlerCount(eventType) {
- return this._eventHandlers[eventType] != undefined ? this._eventHandlers[eventType].length : -1;
- },
- fireEvent: function OSF_EventDispatch$fireEvent(eventArgs) {
- if (eventArgs.type == undefined)
- return false;
- var eventType = eventArgs.type;
- if (eventType && this._eventHandlers[eventType]) {
- var eventHandlers = this._eventHandlers[eventType];
- for (var handler in eventHandlers)
- eventHandlers[handler](eventArgs);
- return true;
- }
- else {
- return false;
- }
- },
- fireOrQueueEvent: function OSF_EventDispatch$fireOrQueueEvent(eventArgs) {
- var eventType = eventArgs.type;
- if (eventType && this._eventHandlers[eventType]) {
- var eventHandlers = this._eventHandlers[eventType];
- var queuedEvents = this._queuedEventsArgs[eventType];
- if (eventHandlers.length == 0) {
- queuedEvents.push(eventArgs);
- }
- else {
- this.fireEvent(eventArgs);
- }
- return true;
- }
- else {
- return false;
- }
- },
- fireQueuedEvent: function OSF_EventDispatch$queueEvent(eventType) {
- if (eventType && this._eventHandlers[eventType]) {
- var eventHandlers = this._eventHandlers[eventType];
- var queuedEvents = this._queuedEventsArgs[eventType];
- if (eventHandlers.length > 0) {
- var eventHandler = eventHandlers[0];
- while (queuedEvents.length > 0) {
- var eventArgs = queuedEvents.shift();
- eventHandler(eventArgs);
- }
- return true;
- }
- }
- return false;
- }
- };
- OSF.DDA.OMFactory = OSF.DDA.OMFactory || {};
- OSF.DDA.OMFactory.manufactureEventArgs = function OSF_DDA_OMFactory$manufactureEventArgs(eventType, target, eventProperties) {
- var args;
- switch (eventType) {
- case Microsoft.Office.WebExtension.EventType.DocumentSelectionChanged:
- args = new OSF.DDA.DocumentSelectionChangedEventArgs(target);
- break;
- case Microsoft.Office.WebExtension.EventType.BindingSelectionChanged:
- args = new OSF.DDA.BindingSelectionChangedEventArgs(this.manufactureBinding(eventProperties, target.document), eventProperties[OSF.DDA.PropertyDescriptors.Subset]);
- break;
- case Microsoft.Office.WebExtension.EventType.BindingDataChanged:
- args = new OSF.DDA.BindingDataChangedEventArgs(this.manufactureBinding(eventProperties, target.document));
- break;
- case Microsoft.Office.WebExtension.EventType.SettingsChanged:
- args = new OSF.DDA.SettingsChangedEventArgs(target);
- break;
- case Microsoft.Office.WebExtension.EventType.ActiveViewChanged:
- args = new OSF.DDA.ActiveViewChangedEventArgs(eventProperties);
- break;
- case Microsoft.Office.WebExtension.EventType.OfficeThemeChanged:
- args = new OSF.DDA.Theming.OfficeThemeChangedEventArgs(eventProperties);
- break;
- case Microsoft.Office.WebExtension.EventType.DocumentThemeChanged:
- args = new OSF.DDA.Theming.DocumentThemeChangedEventArgs(eventProperties);
- break;
- case Microsoft.Office.WebExtension.EventType.AppCommandInvoked:
- args = OSF.DDA.AppCommand.AppCommandInvokedEventArgs.create(eventProperties);
- break;
- case Microsoft.Office.WebExtension.EventType.DataNodeInserted:
- args = new OSF.DDA.NodeInsertedEventArgs(this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.NewNode]), eventProperties[OSF.DDA.DataNodeEventProperties.InUndoRedo]);
- break;
- case Microsoft.Office.WebExtension.EventType.DataNodeReplaced:
- args = new OSF.DDA.NodeReplacedEventArgs(this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.OldNode]), this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.NewNode]), eventProperties[OSF.DDA.DataNodeEventProperties.InUndoRedo]);
- break;
- case Microsoft.Office.WebExtension.EventType.DataNodeDeleted:
- args = new OSF.DDA.NodeDeletedEventArgs(this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.OldNode]), this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.NextSiblingNode]), eventProperties[OSF.DDA.DataNodeEventProperties.InUndoRedo]);
- break;
- case Microsoft.Office.WebExtension.EventType.TaskSelectionChanged:
- args = new OSF.DDA.TaskSelectionChangedEventArgs(target);
- break;
- case Microsoft.Office.WebExtension.EventType.ResourceSelectionChanged:
- args = new OSF.DDA.ResourceSelectionChangedEventArgs(target);
- break;
- case Microsoft.Office.WebExtension.EventType.ViewSelectionChanged:
- args = new OSF.DDA.ViewSelectionChangedEventArgs(target);
- break;
- case Microsoft.Office.WebExtension.EventType.DialogMessageReceived:
- args = new OSF.DDA.DialogEventArgs(eventProperties);
- break;
- case Microsoft.Office.WebExtension.EventType.OlkItemSelectedChanged:
- if (OSF._OfficeAppFactory.getHostInfo()["hostType"] == "outlook" || OSF._OfficeAppFactory.getHostInfo()["hostType"] == "outlookwebapp") {
- args = new OSF.DDA.OlkItemSelectedChangedEventArgs(eventProperties);
- target.initialize(args["initialData"]);
- target.setCurrentItemNumber(args["itemNumber"].itemNumber);
- }
- else {
- throw OsfMsAjaxFactory.msAjaxError.argument(Microsoft.Office.WebExtension.Parameters.EventType, OSF.OUtil.formatString(Strings.OfficeOM.L_NotSupportedEventType, eventType));
- }
- break;
- default:
- throw OsfMsAjaxFactory.msAjaxError.argument(Microsoft.Office.WebExtension.Parameters.EventType, OSF.OUtil.formatString(Strings.OfficeOM.L_NotSupportedEventType, eventType));
- }
- return args;
- };
- OSF.DDA.AsyncMethodNames.addNames({
- AddHandlerAsync: "addHandlerAsync",
- RemoveHandlerAsync: "removeHandlerAsync"
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.AddHandlerAsync,
- requiredArguments: [{
- "name": Microsoft.Office.WebExtension.Parameters.EventType,
- "enum": Microsoft.Office.WebExtension.EventType,
- "verify": function (eventType, caller, eventDispatch) { return eventDispatch.supportsEvent(eventType); }
- },
- {
- "name": Microsoft.Office.WebExtension.Parameters.Handler,
- "types": ["function"]
- }
- ],
- supportedOptions: [],
- privateStateCallbacks: []
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.RemoveHandlerAsync,
- requiredArguments: [
- {
- "name": Microsoft.Office.WebExtension.Parameters.EventType,
- "enum": Microsoft.Office.WebExtension.EventType,
- "verify": function (eventType, caller, eventDispatch) { return eventDispatch.supportsEvent(eventType); }
- }
- ],
- supportedOptions: [
- {
- name: Microsoft.Office.WebExtension.Parameters.Handler,
- value: {
- "types": ["function", "object"],
- "defaultValue": null
- }
- }
- ],
- privateStateCallbacks: []
- });
- OSF.DialogShownStatus = { hasDialogShown: false, isWindowDialog: false };
- OSF.OUtil.augmentList(OSF.DDA.EventDescriptors, { DialogMessageReceivedEvent: "DialogMessageReceivedEvent" });
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.EventType, {
- DialogMessageReceived: "dialogMessageReceived",
- DialogEventReceived: "dialogEventReceived"
- });
- OSF.OUtil.augmentList(OSF.DDA.PropertyDescriptors, {
- MessageType: "messageType",
- MessageContent: "messageContent"
- });
- OSF.DDA.DialogEventType = {};
- OSF.OUtil.augmentList(OSF.DDA.DialogEventType, {
- DialogClosed: "dialogClosed",
- NavigationFailed: "naviationFailed"
- });
- OSF.DDA.AsyncMethodNames.addNames({
- DisplayDialogAsync: "displayDialogAsync",
- CloseAsync: "close"
- });
- OSF.DDA.SyncMethodNames.addNames({
- MessageParent: "messageParent",
- AddMessageHandler: "addEventHandler"
- });
- OSF.DDA.UI.ParentUI = function OSF_DDA_ParentUI() {
- var eventDispatch = new OSF.EventDispatch([Microsoft.Office.WebExtension.EventType.DialogMessageReceived, Microsoft.Office.WebExtension.EventType.DialogEventReceived]);
- var openDialogName = OSF.DDA.AsyncMethodNames.DisplayDialogAsync.displayName;
- var target = this;
- if (!target[openDialogName]) {
- OSF.OUtil.defineEnumerableProperty(target, openDialogName, {
- value: function () {
- var openDialog = OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.OpenDialog];
- openDialog(arguments, eventDispatch, target);
- }
- });
- }
- OSF.OUtil.finalizeProperties(this);
- };
- OSF.DDA.UI.ChildUI = function OSF_DDA_ChildUI() {
- var messageParentName = OSF.DDA.SyncMethodNames.MessageParent.displayName;
- var target = this;
- if (!target[messageParentName]) {
- OSF.OUtil.defineEnumerableProperty(target, messageParentName, {
- value: function () {
- var messageParent = OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.MessageParent];
- return messageParent(arguments, target);
- }
- });
- }
- OSF.OUtil.finalizeProperties(this);
- };
- OSF.DialogHandler = function OSF_DialogHandler() { };
- OSF.DDA.DialogEventArgs = function OSF_DDA_DialogEventArgs(message) {
- if (message[OSF.DDA.PropertyDescriptors.MessageType] == OSF.DialogMessageType.DialogMessageReceived) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "type": {
- value: Microsoft.Office.WebExtension.EventType.DialogMessageReceived
- },
- "message": {
- value: message[OSF.DDA.PropertyDescriptors.MessageContent]
- }
- });
- }
- else {
- OSF.OUtil.defineEnumerableProperties(this, {
- "type": {
- value: Microsoft.Office.WebExtension.EventType.DialogEventReceived
- },
- "error": {
- value: message[OSF.DDA.PropertyDescriptors.MessageType]
- }
- });
- }
- };
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.DisplayDialogAsync,
- requiredArguments: [
- {
- "name": Microsoft.Office.WebExtension.Parameters.Url,
- "types": ["string"]
- }
- ],
- supportedOptions: [
- {
- name: Microsoft.Office.WebExtension.Parameters.Width,
- value: {
- "types": ["number"],
- "defaultValue": 99
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.Height,
- value: {
- "types": ["number"],
- "defaultValue": 99
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.RequireHTTPs,
- value: {
- "types": ["boolean"],
- "defaultValue": true
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.DisplayInIframe,
- value: {
- "types": ["boolean"],
- "defaultValue": false
- }
- }
- ],
- privateStateCallbacks: [],
- onSucceeded: function (args, caller, callArgs) {
- var targetId = args[Microsoft.Office.WebExtension.Parameters.Id];
- var eventDispatch = args[Microsoft.Office.WebExtension.Parameters.Data];
- var dialog = new OSF.DialogHandler();
- var closeDialog = OSF.DDA.AsyncMethodNames.CloseAsync.displayName;
- OSF.OUtil.defineEnumerableProperty(dialog, closeDialog, {
- value: function () {
- var closeDialogfunction = OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.CloseDialog];
- closeDialogfunction(arguments, targetId, eventDispatch, dialog);
- }
- });
- var addHandler = OSF.DDA.SyncMethodNames.AddMessageHandler.displayName;
- OSF.OUtil.defineEnumerableProperty(dialog, addHandler, {
- value: function () {
- var syncMethodCall = OSF.DDA.SyncMethodCalls[OSF.DDA.SyncMethodNames.AddMessageHandler.id];
- var callArgs = syncMethodCall.verifyAndExtractCall(arguments, dialog, eventDispatch);
- var eventType = callArgs[Microsoft.Office.WebExtension.Parameters.EventType];
- var handler = callArgs[Microsoft.Office.WebExtension.Parameters.Handler];
- return eventDispatch.addEventHandlerAndFireQueuedEvent(eventType, handler);
- }
- });
- return dialog;
- },
- checkCallArgs: function (callArgs, caller, stateInfo) {
- if (callArgs[Microsoft.Office.WebExtension.Parameters.Width] <= 0) {
- callArgs[Microsoft.Office.WebExtension.Parameters.Width] = 1;
- }
- if (callArgs[Microsoft.Office.WebExtension.Parameters.Width] > 100) {
- callArgs[Microsoft.Office.WebExtension.Parameters.Width] = 99;
- }
- if (callArgs[Microsoft.Office.WebExtension.Parameters.Height] <= 0) {
- callArgs[Microsoft.Office.WebExtension.Parameters.Height] = 1;
- }
- if (callArgs[Microsoft.Office.WebExtension.Parameters.Height] > 100) {
- callArgs[Microsoft.Office.WebExtension.Parameters.Height] = 99;
- }
- if (!callArgs[Microsoft.Office.WebExtension.Parameters.RequireHTTPs]) {
- callArgs[Microsoft.Office.WebExtension.Parameters.RequireHTTPs] = true;
- }
- return callArgs;
- }
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.CloseAsync,
- requiredArguments: [],
- supportedOptions: [],
- privateStateCallbacks: []
- });
- OSF.DDA.SyncMethodCalls.define({
- method: OSF.DDA.SyncMethodNames.MessageParent,
- requiredArguments: [
- {
- "name": Microsoft.Office.WebExtension.Parameters.MessageToParent,
- "types": ["string", "number", "boolean"]
- }
- ],
- supportedOptions: []
- });
- OSF.DDA.SyncMethodCalls.define({
- method: OSF.DDA.SyncMethodNames.AddMessageHandler,
- requiredArguments: [
- {
- "name": Microsoft.Office.WebExtension.Parameters.EventType,
- "enum": Microsoft.Office.WebExtension.EventType,
- "verify": function (eventType, caller, eventDispatch) { return eventDispatch.supportsEvent(eventType); }
- },
- {
- "name": Microsoft.Office.WebExtension.Parameters.Handler,
- "types": ["function"]
- }
- ],
- supportedOptions: []
- });
- OSF.DDA.SafeArray.Delegate.openDialog = function OSF_DDA_SafeArray_Delegate$OpenDialog(args) {
- try {
- if (args.onCalling) {
- args.onCalling();
- }
- var callback = OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(true, args);
- OSF.ClientHostController.openDialog(args.dispId, args.targetId, function OSF_DDA_SafeArrayDelegate$RegisterEventAsync_OnEvent(eventDispId, payload) {
- if (args.onEvent) {
- args.onEvent(payload);
- }
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.onEventDone(args.dispId);
- }
- }, callback);
- }
- catch (ex) {
- OSF.DDA.SafeArray.Delegate._onException(ex, args);
- }
- };
- OSF.DDA.SafeArray.Delegate.closeDialog = function OSF_DDA_SafeArray_Delegate$CloseDialog(args) {
- if (args.onCalling) {
- args.onCalling();
- }
- var callback = OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(false, args);
- try {
- OSF.ClientHostController.closeDialog(args.dispId, args.targetId, callback);
- }
- catch (ex) {
- OSF.DDA.SafeArray.Delegate._onException(ex, args);
- }
- };
- OSF.DDA.SafeArray.Delegate.messageParent = function OSF_DDA_SafeArray_Delegate$MessageParent(args) {
- try {
- if (args.onCalling) {
- args.onCalling();
- }
- var startTime = (new Date()).getTime();
- var result = OSF.ClientHostController.messageParent(args.hostCallArgs);
- if (args.onReceiving) {
- args.onReceiving();
- }
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.onMethodDone(args.dispId, args.hostCallArgs, Math.abs((new Date()).getTime() - startTime), result);
- }
- return result;
- }
- catch (ex) {
- return OSF.DDA.SafeArray.Delegate._onExceptionSyncMethod(ex);
- }
- };
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.EventDispId.dispidDialogMessageReceivedEvent,
- fromHost: [
- { name: OSF.DDA.EventDescriptors.DialogMessageReceivedEvent, value: OSF.DDA.SafeArray.Delegate.ParameterMap.self }
- ],
- isComplexType: true
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.EventDescriptors.DialogMessageReceivedEvent,
- fromHost: [
- { name: OSF.DDA.PropertyDescriptors.MessageType, value: 0 },
- { name: OSF.DDA.PropertyDescriptors.MessageContent, value: 1 }
- ],
- isComplexType: true
- });
- OSF.OUtil.redefineList(Microsoft.Office.WebExtension.CoercionType, {
- Text: "text"
- });
- OSF.OUtil.redefineList(Microsoft.Office.WebExtension.ValueFormat, {
- Unformatted: "unformatted"
- });
- OSF.OUtil.redefineList(Microsoft.Office.WebExtension.FilterType, {
- All: "all"
- });
- OSF.OUtil.redefineList(Microsoft.Office.WebExtension.GoToType, {
- Slide: "slide",
- Index: "index"
- });
- delete Microsoft.Office.WebExtension.BindingType;
- delete Microsoft.Office.WebExtension.select;
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: Microsoft.Office.WebExtension.Parameters.CoercionType,
- toHost: [
- { name: Microsoft.Office.WebExtension.CoercionType.Text, value: 0 },
- { name: Microsoft.Office.WebExtension.CoercionType.Matrix, value: 1 },
- { name: Microsoft.Office.WebExtension.CoercionType.Table, value: 2 }
- ]
- });
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.CoercionType, { SlideRange: "slideRange" });
- OSF.DDA.SlideProperties = {
- Id: 0,
- Title: 1,
- Index: 2
- };
- OSF.DDA.Slide = function OSF_DDA_Slide(id, title, index) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "id": {
- value: id
- },
- "title": {
- value: title
- },
- "index": {
- value: index
- }
- });
- };
- OSF.DDA.SlideRange = function OSF_DDA_SlideRange(slides) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "slides": {
- value: slides
- }
- });
- };
- OSF.DDA.OMFactory = OSF.DDA.OMFactory || {};
- OSF.DDA.OMFactory.manufactureSlideRange = function OSF_DDA_OMFactory$manufactureSlideRange(input) {
- var items = null;
- if (JSON) {
- items = JSON.parse(input);
- }
- else {
- items = Sys.Serialization.JavaScriptSerializer.deserialize(input);
- }
- if (items == null) {
- return null;
- }
- var numField = 0;
- for (var key in OSF.DDA.SlideProperties) {
- if (OSF.DDA.SlideProperties.hasOwnProperty(key)) {
- numField++;
- }
- }
- var slides = [];
- var dataValid = true;
- for (var i = 0; i < items.length && dataValid; i++) {
- dataValid = false;
- if (items[i].length == numField) {
- var id = parseInt(items[i][OSF.DDA.SlideProperties.Id]);
- var title = items[i][OSF.DDA.SlideProperties.Title];
- var index = parseInt(items[i][OSF.DDA.SlideProperties.Index]);
- if (!isNaN(id) && !isNaN(index)) {
- dataValid = true;
- slides.push(new OSF.DDA.Slide(id, title, index));
- }
- }
- }
- if (!dataValid) {
- return null;
- }
- return new OSF.DDA.SlideRange(slides);
- };
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: Microsoft.Office.WebExtension.Parameters.CoercionType,
- toHost: [
- { name: Microsoft.Office.WebExtension.CoercionType.SlideRange, value: 7 }
- ]
- });
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.CoercionType, { Html: "html" });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: Microsoft.Office.WebExtension.Parameters.CoercionType,
- toHost: [
- { name: Microsoft.Office.WebExtension.CoercionType.Html, value: 3 }
- ]
- });
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.CoercionType, { Ooxml: "ooxml" });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: Microsoft.Office.WebExtension.Parameters.CoercionType,
- toHost: [
- { name: Microsoft.Office.WebExtension.CoercionType.Ooxml, value: 4 }
- ]
- });
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.CoercionType, { OoxmlPackage: "ooxmlPackage" });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: Microsoft.Office.WebExtension.Parameters.CoercionType,
- toHost: [
- { name: Microsoft.Office.WebExtension.CoercionType.OoxmlPackage, value: 5 }
- ]
- });
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.CoercionType, { PdfFile: "pdf" });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: Microsoft.Office.WebExtension.Parameters.CoercionType,
- toHost: [
- { name: Microsoft.Office.WebExtension.CoercionType.PdfFile, value: 6 }
- ]
- });
- Microsoft.Office.WebExtension.FileType = {
- Text: "text",
- Compressed: "compressed",
- Pdf: "pdf"
- };
- OSF.OUtil.augmentList(OSF.DDA.PropertyDescriptors, {
- FileProperties: "FileProperties",
- FileSliceProperties: "FileSliceProperties"
- });
- OSF.DDA.FileProperties = {
- Handle: "FileHandle",
- FileSize: "FileSize",
- SliceSize: Microsoft.Office.WebExtension.Parameters.SliceSize
- };
- OSF.DDA.File = function OSF_DDA_File(handle, fileSize, sliceSize) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "size": {
- value: fileSize
- },
- "sliceCount": {
- value: Math.ceil(fileSize / sliceSize)
- }
- });
- var privateState = {};
- privateState[OSF.DDA.FileProperties.Handle] = handle;
- privateState[OSF.DDA.FileProperties.SliceSize] = sliceSize;
- var am = OSF.DDA.AsyncMethodNames;
- OSF.DDA.DispIdHost.addAsyncMethods(this, [
- am.GetDocumentCopyChunkAsync,
- am.ReleaseDocumentCopyAsync
- ], privateState);
- };
- OSF.DDA.FileSliceOffset = "fileSliceoffset";
- OSF.DDA.AsyncMethodNames.addNames({
- GetDocumentCopyAsync: "getFileAsync",
- GetDocumentCopyChunkAsync: "getSliceAsync",
- ReleaseDocumentCopyAsync: "closeAsync"
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.GetDocumentCopyAsync,
- requiredArguments: [
- {
- "name": Microsoft.Office.WebExtension.Parameters.FileType,
- "enum": Microsoft.Office.WebExtension.FileType
- }
- ],
- supportedOptions: [
- {
- name: Microsoft.Office.WebExtension.Parameters.SliceSize,
- value: {
- "types": ["number"],
- "defaultValue": 4 * 1024 * 1024
- }
- }
- ],
- checkCallArgs: function (callArgs, caller, stateInfo) {
- var sliceSize = callArgs[Microsoft.Office.WebExtension.Parameters.SliceSize];
- if (sliceSize <= 0 || sliceSize > (4 * 1024 * 1024)) {
- throw OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSliceSize;
- }
- return callArgs;
- },
- onSucceeded: function (fileDescriptor, caller, callArgs) {
- return new OSF.DDA.File(fileDescriptor[OSF.DDA.FileProperties.Handle], fileDescriptor[OSF.DDA.FileProperties.FileSize], callArgs[Microsoft.Office.WebExtension.Parameters.SliceSize]);
- }
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.GetDocumentCopyChunkAsync,
- requiredArguments: [
- {
- "name": Microsoft.Office.WebExtension.Parameters.SliceIndex,
- "types": ["number"]
- }
- ],
- privateStateCallbacks: [
- {
- name: OSF.DDA.FileProperties.Handle,
- value: function (caller, stateInfo) { return stateInfo[OSF.DDA.FileProperties.Handle]; }
- },
- {
- name: OSF.DDA.FileProperties.SliceSize,
- value: function (caller, stateInfo) { return stateInfo[OSF.DDA.FileProperties.SliceSize]; }
- }
- ],
- checkCallArgs: function (callArgs, caller, stateInfo) {
- var index = callArgs[Microsoft.Office.WebExtension.Parameters.SliceIndex];
- if (index < 0 || index >= caller.sliceCount) {
- throw OSF.DDA.ErrorCodeManager.errorCodes.ooeIndexOutOfRange;
- }
- callArgs[OSF.DDA.FileSliceOffset] = parseInt((index * stateInfo[OSF.DDA.FileProperties.SliceSize]).toString());
- return callArgs;
- },
- onSucceeded: function (sliceDescriptor, caller, callArgs) {
- var slice = {};
- OSF.OUtil.defineEnumerableProperties(slice, {
- "data": {
- value: sliceDescriptor[Microsoft.Office.WebExtension.Parameters.Data]
- },
- "index": {
- value: callArgs[Microsoft.Office.WebExtension.Parameters.SliceIndex]
- },
- "size": {
- value: sliceDescriptor[OSF.DDA.FileProperties.SliceSize]
- }
- });
- return slice;
- }
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.ReleaseDocumentCopyAsync,
- privateStateCallbacks: [
- {
- name: OSF.DDA.FileProperties.Handle,
- value: function (caller, stateInfo) { return stateInfo[OSF.DDA.FileProperties.Handle]; }
- }
- ]
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.PropertyDescriptors.FileProperties,
- fromHost: [
- { name: OSF.DDA.FileProperties.Handle, value: 0 },
- { name: OSF.DDA.FileProperties.FileSize, value: 1 }
- ],
- isComplexType: true
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.PropertyDescriptors.FileSliceProperties,
- fromHost: [
- { name: Microsoft.Office.WebExtension.Parameters.Data, value: 0 },
- { name: OSF.DDA.FileProperties.SliceSize, value: 1 }
- ],
- isComplexType: true
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: Microsoft.Office.WebExtension.Parameters.FileType,
- toHost: [
- { name: Microsoft.Office.WebExtension.FileType.Text, value: 0 },
- { name: Microsoft.Office.WebExtension.FileType.Compressed, value: 5 },
- { name: Microsoft.Office.WebExtension.FileType.Pdf, value: 6 }
- ]
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidGetDocumentCopyMethod,
- toHost: [{ name: Microsoft.Office.WebExtension.Parameters.FileType, value: 0 }],
- fromHost: [
- { name: OSF.DDA.PropertyDescriptors.FileProperties, value: OSF.DDA.SafeArray.Delegate.ParameterMap.self }
- ]
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidGetDocumentCopyChunkMethod,
- toHost: [
- { name: OSF.DDA.FileProperties.Handle, value: 0 },
- { name: OSF.DDA.FileSliceOffset, value: 1 },
- { name: OSF.DDA.FileProperties.SliceSize, value: 2 }
- ],
- fromHost: [
- { name: OSF.DDA.PropertyDescriptors.FileSliceProperties, value: OSF.DDA.SafeArray.Delegate.ParameterMap.self }
- ]
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidReleaseDocumentCopyMethod,
- toHost: [{ name: OSF.DDA.FileProperties.Handle, value: 0 }]
- });
- OSF.DDA.AsyncMethodNames.addNames({
- GetSelectedDataAsync: "getSelectedDataAsync",
- SetSelectedDataAsync: "setSelectedDataAsync"
- });
- (function () {
- function processData(dataDescriptor, caller, callArgs) {
- var data = dataDescriptor[Microsoft.Office.WebExtension.Parameters.Data];
- if (OSF.DDA.TableDataProperties && data && (data[OSF.DDA.TableDataProperties.TableRows] != undefined || data[OSF.DDA.TableDataProperties.TableHeaders] != undefined)) {
- data = OSF.DDA.OMFactory.manufactureTableData(data);
- }
- data = OSF.DDA.DataCoercion.coerceData(data, callArgs[Microsoft.Office.WebExtension.Parameters.CoercionType]);
- return data == undefined ? null : data;
- }
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.GetSelectedDataAsync,
- requiredArguments: [
- {
- "name": Microsoft.Office.WebExtension.Parameters.CoercionType,
- "enum": Microsoft.Office.WebExtension.CoercionType
- }
- ],
- supportedOptions: [
- {
- name: Microsoft.Office.WebExtension.Parameters.ValueFormat,
- value: {
- "enum": Microsoft.Office.WebExtension.ValueFormat,
- "defaultValue": Microsoft.Office.WebExtension.ValueFormat.Unformatted
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.FilterType,
- value: {
- "enum": Microsoft.Office.WebExtension.FilterType,
- "defaultValue": Microsoft.Office.WebExtension.FilterType.All
- }
- }
- ],
- privateStateCallbacks: [],
- onSucceeded: processData
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.SetSelectedDataAsync,
- requiredArguments: [
- {
- "name": Microsoft.Office.WebExtension.Parameters.Data,
- "types": ["string", "object", "number", "boolean"]
- }
- ],
- supportedOptions: [
- {
- name: Microsoft.Office.WebExtension.Parameters.CoercionType,
- value: {
- "enum": Microsoft.Office.WebExtension.CoercionType,
- "calculate": function (requiredArgs) {
- return OSF.DDA.DataCoercion.determineCoercionType(requiredArgs[Microsoft.Office.WebExtension.Parameters.Data]);
- }
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.ImageLeft,
- value: {
- "types": ["number", "boolean"],
- "defaultValue": false
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.ImageTop,
- value: {
- "types": ["number", "boolean"],
- "defaultValue": false
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.ImageWidth,
- value: {
- "types": ["number", "boolean"],
- "defaultValue": false
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.ImageHeight,
- value: {
- "types": ["number", "boolean"],
- "defaultValue": false
- }
- }
- ],
- privateStateCallbacks: []
- });
- })();
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidGetSelectedDataMethod,
- fromHost: [
- { name: Microsoft.Office.WebExtension.Parameters.Data, value: OSF.DDA.SafeArray.Delegate.ParameterMap.self }
- ],
- toHost: [
- { name: Microsoft.Office.WebExtension.Parameters.CoercionType, value: 0 },
- { name: Microsoft.Office.WebExtension.Parameters.ValueFormat, value: 1 },
- { name: Microsoft.Office.WebExtension.Parameters.FilterType, value: 2 }
- ]
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidSetSelectedDataMethod,
- toHost: [
- { name: Microsoft.Office.WebExtension.Parameters.CoercionType, value: 0 },
- { name: Microsoft.Office.WebExtension.Parameters.Data, value: 1 },
- { name: Microsoft.Office.WebExtension.Parameters.ImageLeft, value: 2 },
- { name: Microsoft.Office.WebExtension.Parameters.ImageTop, value: 3 },
- { name: Microsoft.Office.WebExtension.Parameters.ImageWidth, value: 4 },
- { name: Microsoft.Office.WebExtension.Parameters.ImageHeight, value: 5 },
- ]
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: Microsoft.Office.WebExtension.Parameters.GoToType,
- toHost: [
- { name: Microsoft.Office.WebExtension.GoToType.Binding, value: 0 },
- { name: Microsoft.Office.WebExtension.GoToType.NamedItem, value: 1 },
- { name: Microsoft.Office.WebExtension.GoToType.Slide, value: 2 },
- { name: Microsoft.Office.WebExtension.GoToType.Index, value: 3 }
- ]
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: Microsoft.Office.WebExtension.Parameters.SelectionMode,
- toHost: [
- { name: Microsoft.Office.WebExtension.SelectionMode.Default, value: 0 },
- { name: Microsoft.Office.WebExtension.SelectionMode.Selected, value: 1 },
- { name: Microsoft.Office.WebExtension.SelectionMode.None, value: 2 }
- ]
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidNavigateToMethod,
- toHost: [
- { name: Microsoft.Office.WebExtension.Parameters.Id, value: 0 },
- { name: Microsoft.Office.WebExtension.Parameters.GoToType, value: 1 },
- { name: Microsoft.Office.WebExtension.Parameters.SelectionMode, value: 2 }
- ]
- });
- OSF.DDA.SettingsManager = {
- SerializedSettings: "serializedSettings",
- RefreshingSettings: "refreshingSettings",
- DateJSONPrefix: "Date(",
- DataJSONSuffix: ")",
- serializeSettings: function OSF_DDA_SettingsManager$serializeSettings(settingsCollection) {
- var ret = {};
- for (var key in settingsCollection) {
- var value = settingsCollection[key];
- try {
- if (JSON) {
- value = JSON.stringify(value, function dateReplacer(k, v) {
- return OSF.OUtil.isDate(this[k]) ? OSF.DDA.SettingsManager.DateJSONPrefix + this[k].getTime() + OSF.DDA.SettingsManager.DataJSONSuffix : v;
- });
- }
- else {
- value = Sys.Serialization.JavaScriptSerializer.serialize(value);
- }
- ret[key] = value;
- }
- catch (ex) {
- }
- }
- return ret;
- },
- deserializeSettings: function OSF_DDA_SettingsManager$deserializeSettings(serializedSettings) {
- var ret = {};
- serializedSettings = serializedSettings || {};
- for (var key in serializedSettings) {
- var value = serializedSettings[key];
- try {
- if (JSON) {
- value = JSON.parse(value, function dateReviver(k, v) {
- var d;
- if (typeof v === 'string' && v && v.length > 6 && v.slice(0, 5) === OSF.DDA.SettingsManager.DateJSONPrefix && v.slice(-1) === OSF.DDA.SettingsManager.DataJSONSuffix) {
- d = new Date(parseInt(v.slice(5, -1)));
- if (d) {
- return d;
- }
- }
- return v;
- });
- }
- else {
- value = Sys.Serialization.JavaScriptSerializer.deserialize(value, true);
- }
- ret[key] = value;
- }
- catch (ex) {
- }
- }
- return ret;
- }
- };
- OSF.DDA.Settings = function OSF_DDA_Settings(settings) {
- settings = settings || {};
- var cacheSessionSettings = function (settings) {
- var osfSessionStorage = OSF.OUtil.getSessionStorage();
- if (osfSessionStorage) {
- var serializedSettings = OSF.DDA.SettingsManager.serializeSettings(settings);
- var storageSettings = JSON ? JSON.stringify(serializedSettings) : Sys.Serialization.JavaScriptSerializer.serialize(serializedSettings);
- osfSessionStorage.setItem(OSF._OfficeAppFactory.getCachedSessionSettingsKey(), storageSettings);
- }
- };
- OSF.OUtil.defineEnumerableProperties(this, {
- "get": {
- value: function OSF_DDA_Settings$get(name) {
- var e = Function._validateParams(arguments, [
- { name: "name", type: String, mayBeNull: false }
- ]);
- if (e)
- throw e;
- var setting = settings[name];
- return typeof (setting) === 'undefined' ? null : setting;
- }
- },
- "set": {
- value: function OSF_DDA_Settings$set(name, value) {
- var e = Function._validateParams(arguments, [
- { name: "name", type: String, mayBeNull: false },
- { name: "value", mayBeNull: true }
- ]);
- if (e)
- throw e;
- settings[name] = value;
- cacheSessionSettings(settings);
- }
- },
- "remove": {
- value: function OSF_DDA_Settings$remove(name) {
- var e = Function._validateParams(arguments, [
- { name: "name", type: String, mayBeNull: false }
- ]);
- if (e)
- throw e;
- delete settings[name];
- cacheSessionSettings(settings);
- }
- }
- });
- OSF.DDA.DispIdHost.addAsyncMethods(this, [OSF.DDA.AsyncMethodNames.SaveAsync], settings);
- };
- OSF.DDA.RefreshableSettings = function OSF_DDA_RefreshableSettings(settings) {
- OSF.DDA.RefreshableSettings.uber.constructor.call(this, settings);
- OSF.DDA.DispIdHost.addAsyncMethods(this, [OSF.DDA.AsyncMethodNames.RefreshAsync], settings);
- OSF.DDA.DispIdHost.addEventSupport(this, new OSF.EventDispatch([Microsoft.Office.WebExtension.EventType.SettingsChanged]));
- };
- OSF.OUtil.extend(OSF.DDA.RefreshableSettings, OSF.DDA.Settings);
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.EventType, {
- SettingsChanged: "settingsChanged"
- });
- OSF.DDA.SettingsChangedEventArgs = function OSF_DDA_SettingsChangedEventArgs(settingsInstance) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "type": {
- value: Microsoft.Office.WebExtension.EventType.SettingsChanged
- },
- "settings": {
- value: settingsInstance
- }
- });
- };
- OSF.DDA.AsyncMethodNames.addNames({
- RefreshAsync: "refreshAsync",
- SaveAsync: "saveAsync"
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.RefreshAsync,
- requiredArguments: [],
- supportedOptions: [],
- privateStateCallbacks: [
- {
- name: OSF.DDA.SettingsManager.RefreshingSettings,
- value: function getRefreshingSettings(settingsInstance, settingsCollection) {
- return settingsCollection;
- }
- }
- ],
- onSucceeded: function deserializeSettings(serializedSettingsDescriptor, refreshingSettings, refreshingSettingsArgs) {
- var serializedSettings = serializedSettingsDescriptor[OSF.DDA.SettingsManager.SerializedSettings];
- var newSettings = OSF.DDA.SettingsManager.deserializeSettings(serializedSettings);
- var oldSettings = refreshingSettingsArgs[OSF.DDA.SettingsManager.RefreshingSettings];
- for (var setting in oldSettings) {
- refreshingSettings.remove(setting);
- }
- for (var setting in newSettings) {
- refreshingSettings.set(setting, newSettings[setting]);
- }
- return refreshingSettings;
- }
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.SaveAsync,
- requiredArguments: [],
- supportedOptions: [
- {
- name: Microsoft.Office.WebExtension.Parameters.OverwriteIfStale,
- value: {
- "types": ["boolean"],
- "defaultValue": true
- }
- }
- ],
- privateStateCallbacks: [
- {
- name: OSF.DDA.SettingsManager.SerializedSettings,
- value: function serializeSettings(settingsInstance, settingsCollection) {
- return OSF.DDA.SettingsManager.serializeSettings(settingsCollection);
- }
- }
- ]
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidLoadSettingsMethod,
- fromHost: [
- { name: OSF.DDA.SettingsManager.SerializedSettings, value: OSF.DDA.SafeArray.Delegate.ParameterMap.self }
- ]
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidSaveSettingsMethod,
- toHost: [
- { name: OSF.DDA.SettingsManager.SerializedSettings, value: OSF.DDA.SettingsManager.SerializedSettings },
- { name: Microsoft.Office.WebExtension.Parameters.OverwriteIfStale, value: Microsoft.Office.WebExtension.Parameters.OverwriteIfStale }
- ]
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({ type: OSF.DDA.EventDispId.dispidSettingsChangedEvent });
- OSF.DDA.AsyncMethodNames.addNames({
- GetOfficeThemeAsync: "getOfficeThemeAsync",
- GetDocumentThemeAsync: "getDocumentThemeAsync"
- });
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.EventType, {
- OfficeThemeChanged: "officeThemeChanged",
- DocumentThemeChanged: "documentThemeChanged"
- });
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.Parameters, {
- DocumentTheme: "documentTheme",
- OfficeTheme: "officeTheme"
- });
- OSF.OUtil.augmentList(OSF.DDA.EventDescriptors, {
- DocumentThemeChangedEvent: "DocumentThemeChangedEvent",
- OfficeThemeChangedEvent: "OfficeThemeChangedEvent"
- });
- OSF.OUtil.setNamespace("Theming", OSF.DDA);
- OSF.DDA.Theming.OfficeThemeEnum = {
- PrimaryFontColor: "primaryFontColor",
- PrimaryBackgroundColor: "primaryBackgroundColor",
- SecondaryFontColor: "secondaryFontColor",
- SecondaryBackgroundColor: "secondaryBackgroundColor"
- };
- OSF.DDA.Theming.DocumentThemeEnum = {
- PrimaryFontColor: "primaryFontColor",
- PrimaryBackgroundColor: "primaryBackgroundColor",
- SecondaryFontColor: "secondaryFontColor",
- SecondaryBackgroundColor: "secondaryBackgroundColor",
- Accent1: "accent1",
- Accent2: "accent2",
- Accent3: "accent3",
- Accent4: "accent4",
- Accent5: "accent5",
- Accent6: "accent6",
- Hyperlink: "hyperlink",
- FollowedHyperlink: "followedHyperlink",
- HeaderLatinFont: "headerLatinFont",
- HeaderEastAsianFont: "headerEastAsianFont",
- HeaderScriptFont: "headerScriptFont",
- HeaderLocalizedFont: "headerLocalizedFont",
- BodyLatinFont: "bodyLatinFont",
- BodyEastAsianFont: "bodyEastAsianFont",
- BodyScriptFont: "bodyScriptFont",
- BodyLocalizedFont: "bodyLocalizedFont"
- };
- OSF.DDA.Theming.ConvertToDocumentTheme = function OSF_DDA_Theming_ConvertToDocumentTheme(response) {
- var mappingDocumentTheme = [
- { name: "primaryFontColor", needToConvertToHex: true },
- { name: "primaryBackgroundColor", needToConvertToHex: true },
- { name: "secondaryFontColor", needToConvertToHex: true },
- { name: "secondaryBackgroundColor", needToConvertToHex: true },
- { name: "accent1", needToConvertToHex: true },
- { name: "accent2", needToConvertToHex: true },
- { name: "accent3", needToConvertToHex: true },
- { name: "accent4", needToConvertToHex: true },
- { name: "accent5", needToConvertToHex: true },
- { name: "accent6", needToConvertToHex: true },
- { name: "hyperlink", needToConvertToHex: true },
- { name: "followedHyperlink", needToConvertToHex: true },
- { name: "headerLatinFont", needToConvertToHex: false },
- { name: "headerEastAsianFont", needToConvertToHex: false },
- { name: "headerScriptFont", needToConvertToHex: false },
- { name: "headerLocalizedFont", needToConvertToHex: false },
- { name: "bodyLatinFont", needToConvertToHex: false },
- { name: "bodyEastAsianFont", needToConvertToHex: false },
- { name: "bodyScriptFont", needToConvertToHex: false },
- { name: "bodyLocalizedFont", needToConvertToHex: false }
- ];
- var result = {};
- for (var i = 0; i < mappingDocumentTheme.length; i++) {
- if (mappingDocumentTheme[i].needToConvertToHex) {
- result[mappingDocumentTheme[i].name] = OSF.OUtil.convertIntToCssHexColor(response[mappingDocumentTheme[i].name]);
- }
- else {
- result[mappingDocumentTheme[i].name] = response[mappingDocumentTheme[i].name];
- }
- }
- return result;
- };
- OSF.DDA.Theming.ConvertToOfficeTheme = function OSF_DDA_Theming_ConvertToOfficeTheme(response) {
- var result = {};
- for (var key in response) {
- result[key] = OSF.OUtil.convertIntToCssHexColor(response[key]);
- }
- return result;
- };
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.GetDocumentThemeAsync,
- requiredArguments: [],
- supportedOptions: [],
- privateStateCallbacks: [],
- onSucceeded: OSF.DDA.Theming.ConvertToDocumentTheme
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.GetOfficeThemeAsync,
- requiredArguments: [],
- supportedOptions: [],
- privateStateCallbacks: [],
- onSucceeded: OSF.DDA.Theming.ConvertToOfficeTheme
- });
- OSF.DDA.Theming.OfficeThemeChangedEventArgs = function OSF_DDA_Theming_OfficeThemeChangedEventArgs(officeTheme) {
- var ret = OSF.DDA.Theming.ConvertToOfficeTheme(officeTheme);
- OSF.OUtil.defineEnumerableProperties(this, {
- "type": {
- value: Microsoft.Office.WebExtension.EventType.OfficeThemeChanged
- },
- "officeTheme": {
- value: ret
- }
- });
- };
- OSF.DDA.Theming.DocumentThemeChangedEventArgs = function OSF_DDA_Theming_DocumentThemeChangedEventArgs(documentTheme) {
- var ret = OSF.DDA.Theming.ConvertToDocumentTheme(documentTheme);
- OSF.OUtil.defineEnumerableProperties(this, {
- "type": {
- value: Microsoft.Office.WebExtension.EventType.DocumentThemeChanged
- },
- "documentTheme": {
- value: ret
- }
- });
- };
- var OSF_DDA_Theming_InternalThemeHandler = (function () {
- function OSF_DDA_Theming_InternalThemeHandler() {
- this._pseudoDocumentObject = null;
- this._previousDocumentThemeData = null;
- this._previousOfficeThemeData = null;
- this._officeCss = null;
- this._asyncCallsCompleted = null;
- this._onAsyncCallsCompleted = null;
- }
- OSF_DDA_Theming_InternalThemeHandler.prototype.InitializeAndChangeOnce = function (callback) {
- this._officeCss = this._getOfficeThemesCss();
- if (!this._officeCss) {
- if (callback) {
- callback();
- }
- return;
- }
- this._onAsyncCallsCompleted = callback;
- this._pseudoDocumentObject = {};
- var pseudoDoc = this._pseudoDocumentObject;
- OSF.DDA.DispIdHost.addAsyncMethods(pseudoDoc, [
- OSF.DDA.AsyncMethodNames.GetOfficeThemeAsync,
- OSF.DDA.AsyncMethodNames.GetDocumentThemeAsync
- ]);
- OSF.DDA.DispIdHost.addEventSupport(pseudoDoc, new OSF.EventDispatch([
- Microsoft.Office.WebExtension.EventType.OfficeThemeChanged,
- Microsoft.Office.WebExtension.EventType.DocumentThemeChanged
- ]));
- this._asyncCallsCompleted = {};
- this._asyncCallsCompleted[OSF.DDA.AsyncMethodNames.GetOfficeThemeAsync] = false;
- this._asyncCallsCompleted[OSF.DDA.AsyncMethodNames.GetDocumentThemeAsync] = false;
- this._getAndProcessThemeData(pseudoDoc.getDocumentThemeAsync, Function.createDelegate(this, this._processDocumentThemeData), OSF.DDA.AsyncMethodNames.GetDocumentThemeAsync);
- this._getAndProcessThemeData(pseudoDoc.getOfficeThemeAsync, Function.createDelegate(this, this._processOfficeThemeData), OSF.DDA.AsyncMethodNames.GetOfficeThemeAsync);
- };
- OSF_DDA_Theming_InternalThemeHandler.prototype._getOfficeThemesCss = function () {
- function getOfficeThemesCssInternal() {
- var cssFileName = "officethemes.css";
- for (var i = 0; i < document.styleSheets.length; i++) {
- var ss = document.styleSheets[i];
- if (!ss.disabled
- && ss.href
- && cssFileName == ss.href.substring(ss.href.length - cssFileName.length, ss.href.length).toLowerCase()) {
- if ((!ss.cssRules) && (!ss.rules)) {
- return null;
- }
- else {
- return ss;
- }
- }
- }
- }
- try {
- return getOfficeThemesCssInternal();
- }
- catch (e) {
- return null;
- }
- };
- OSF_DDA_Theming_InternalThemeHandler.prototype._changeCss = function (officeCss, selector, newRule) {
- var length = officeCss.cssRules ? officeCss.cssRules.length : officeCss.rules.length;
- for (var i = 0; i < length; i++) {
- var rule;
- if (officeCss.cssRules) {
- rule = officeCss.cssRules[i];
- }
- else {
- rule = officeCss.rules[i];
- }
- var ruleSelector = rule.selectorText;
- if (ruleSelector && ruleSelector.toLowerCase() == selector.toLowerCase()) {
- if (officeCss.cssRules) {
- officeCss.deleteRule(i);
- officeCss.insertRule(ruleSelector + newRule, i);
- }
- else {
- officeCss.removeRule(i);
- officeCss.addRule(ruleSelector, newRule, i);
- }
- }
- }
- };
- OSF_DDA_Theming_InternalThemeHandler.prototype._changeDocumentThemeData = function (data) {
- var documentThemeCssMapping = [
- { name: "primaryFontColor", cssSelector: ".office-docTheme-primary-fontColor", cssProperty: "color" },
- { name: "primaryBackgroundColor", cssSelector: ".office-docTheme-primary-bgColor", cssProperty: "background-color" },
- { name: "secondaryFontColor", cssSelector: ".office-docTheme-secondary-fontColor", cssProperty: "color" },
- { name: "secondaryBackgroundColor", cssSelector: ".office-docTheme-secondary-bgColor", cssProperty: "background-color" },
- { name: "accent1", cssSelector: ".office-contentAccent1-color", cssProperty: "color" },
- { name: "accent2", cssSelector: ".office-contentAccent2-color", cssProperty: "color" },
- { name: "accent3", cssSelector: ".office-contentAccent3-color", cssProperty: "color" },
- { name: "accent4", cssSelector: ".office-contentAccent4-color", cssProperty: "color" },
- { name: "accent5", cssSelector: ".office-contentAccent5-color", cssProperty: "color" },
- { name: "accent6", cssSelector: ".office-contentAccent6-color", cssProperty: "color" },
- { name: "accent1", cssSelector: ".office-contentAccent1-bgColor", cssProperty: "background-color" },
- { name: "accent2", cssSelector: ".office-contentAccent2-bgColor", cssProperty: "background-color" },
- { name: "accent3", cssSelector: ".office-contentAccent3-bgColor", cssProperty: "background-color" },
- { name: "accent4", cssSelector: ".office-contentAccent4-bgColor", cssProperty: "background-color" },
- { name: "accent5", cssSelector: ".office-contentAccent5-bgColor", cssProperty: "background-color" },
- { name: "accent6", cssSelector: ".office-contentAccent6-bgColor", cssProperty: "background-color" },
- { name: "accent1", cssSelector: ".office-contentAccent1-borderColor", cssProperty: "border-color" },
- { name: "accent2", cssSelector: ".office-contentAccent2-borderColor", cssProperty: "border-color" },
- { name: "accent3", cssSelector: ".office-contentAccent3-borderColor", cssProperty: "border-color" },
- { name: "accent4", cssSelector: ".office-contentAccent4-borderColor", cssProperty: "border-color" },
- { name: "accent5", cssSelector: ".office-contentAccent5-borderColor", cssProperty: "border-color" },
- { name: "accent6", cssSelector: ".office-contentAccent6-borderColor", cssProperty: "border-color" },
- { name: "hyperlink", cssSelector: ".office-a", cssProperty: "color" },
- { name: "followedHyperlink", cssSelector: ".office-a:visited", cssProperty: "color" },
- { name: "headerLatinFont", cssSelector: ".office-headerFont-latin", cssProperty: "font-family" },
- { name: "headerEastAsianFont", cssSelector: ".office-headerFont-eastAsian", cssProperty: "font-family" },
- { name: "headerScriptFont", cssSelector: ".office-headerFont-script", cssProperty: "font-family" },
- { name: "headerLocalizedFont", cssSelector: ".office-headerFont-localized", cssProperty: "font-family" },
- { name: "bodyLatinFont", cssSelector: ".office-bodyFont-latin", cssProperty: "font-family" },
- { name: "bodyEastAsianFont", cssSelector: ".office-bodyFont-eastAsian", cssProperty: "font-family" },
- { name: "bodyScriptFont", cssSelector: ".office-bodyFont-script", cssProperty: "font-family" },
- { name: "bodyLocalizedFont", cssSelector: ".office-bodyFont-localized", cssProperty: "font-family" }
- ];
- var realData = data.type == "documentThemeChanged" ? data.documentTheme : data;
- for (var i = 0; i < documentThemeCssMapping.length; i++) {
- if (this._previousDocumentThemeData === null || this._previousDocumentThemeData[documentThemeCssMapping[i].name] != realData[documentThemeCssMapping[i].name]) {
- if (realData[documentThemeCssMapping[i].name] != null && realData[documentThemeCssMapping[i].name] != "") {
- var insertableText = realData[documentThemeCssMapping[i].name];
- if (documentThemeCssMapping[i].cssProperty === "font-family") {
- insertableText = '"' + insertableText.replace(/"/g, '\\"') + '"';
- }
- this._changeCss(this._officeCss, documentThemeCssMapping[i].cssSelector, "{" + documentThemeCssMapping[i].cssProperty + ":" + insertableText + ";}");
- }
- else {
- this._changeCss(this._officeCss, documentThemeCssMapping[i].cssSelector, "{}");
- }
- }
- }
- this._previousDocumentThemeData = realData;
- };
- OSF_DDA_Theming_InternalThemeHandler.prototype._changeOfficeThemeData = function (data) {
- var officeThemeCssMapping = [
- { name: "primaryFontColor", cssSelector: ".office-officeTheme-primary-fontColor", cssProperty: "color" },
- { name: "primaryBackgroundColor", cssSelector: ".office-officeTheme-primary-bgColor", cssProperty: "background-color" },
- { name: "secondaryFontColor", cssSelector: ".office-officeTheme-secondary-fontColor", cssProperty: "color" },
- { name: "secondaryBackgroundColor", cssSelector: ".office-officeTheme-secondary-bgColor", cssProperty: "background-color" }
- ];
- var realData = data.type == "officeThemeChanged" ? data.officeTheme : data;
- for (var i = 0; i < officeThemeCssMapping.length; i++) {
- if (this._previousOfficeThemeData === null || this._previousOfficeThemeData[officeThemeCssMapping[i].name] != realData[officeThemeCssMapping[i].name]) {
- if (realData[officeThemeCssMapping[i].name] !== undefined) {
- this._changeCss(this._officeCss, officeThemeCssMapping[i].cssSelector, "{" + officeThemeCssMapping[i].cssProperty + ":" + realData[officeThemeCssMapping[i].name] + ";}");
- }
- }
- }
- this._previousOfficeThemeData = realData;
- };
- OSF_DDA_Theming_InternalThemeHandler.prototype._getAndProcessThemeData = function (getThemeMethod, processResultCallback, getThemeMethodIdentifier) {
- getThemeMethod(Function.createDelegate(this, function (asyncResult) {
- if (asyncResult.status == "succeeded") {
- var data = asyncResult.value;
- processResultCallback(data);
- }
- if (this._areAllCallsCompleted(getThemeMethodIdentifier) && this._onAsyncCallsCompleted) {
- this._onAsyncCallsCompleted();
- this._onAsyncCallsCompleted = null;
- }
- }));
- };
- OSF_DDA_Theming_InternalThemeHandler.prototype._processOfficeThemeData = function (data) {
- this._changeOfficeThemeData(data);
- this._pseudoDocumentObject.addHandlerAsync(Microsoft.Office.WebExtension.EventType.OfficeThemeChanged, Function.createDelegate(this, this._changeOfficeThemeData), null);
- };
- OSF_DDA_Theming_InternalThemeHandler.prototype._processDocumentThemeData = function (data) {
- this._changeDocumentThemeData(data);
- this._pseudoDocumentObject.addHandlerAsync(Microsoft.Office.WebExtension.EventType.DocumentThemeChanged, Function.createDelegate(this, this._changeDocumentThemeData), null);
- };
- OSF_DDA_Theming_InternalThemeHandler.prototype._areAllCallsCompleted = function (completedCall) {
- var asyncCallsCompleted;
- if (!(asyncCallsCompleted = this._asyncCallsCompleted)) {
- return true;
- }
- if (completedCall && asyncCallsCompleted.hasOwnProperty(completedCall)) {
- asyncCallsCompleted[completedCall] = true;
- }
- for (var call in asyncCallsCompleted) {
- if (asyncCallsCompleted.hasOwnProperty(call) && asyncCallsCompleted[call]) {
- continue;
- }
- return false;
- }
- return true;
- };
- return OSF_DDA_Theming_InternalThemeHandler;
- })();
- OSF.DDA.Theming.InternalThemeHandler = OSF_DDA_Theming_InternalThemeHandler;
- var parameterMap = OSF.DDA.SafeArray.Delegate.ParameterMap;
- parameterMap.define({
- type: OSF.DDA.MethodDispId.dispidGetDocumentThemeMethod,
- fromHost: [
- { name: Microsoft.Office.WebExtension.Parameters.DocumentTheme, value: parameterMap.self }
- ]
- });
- parameterMap.define({
- type: OSF.DDA.MethodDispId.dispidGetOfficeThemeMethod,
- fromHost: [
- { name: Microsoft.Office.WebExtension.Parameters.OfficeTheme, value: parameterMap.self }
- ]
- });
- parameterMap.define({
- type: OSF.DDA.EventDispId.dispidDocumentThemeChangedEvent,
- fromHost: [
- { name: OSF.DDA.EventDescriptors.DocumentThemeChangedEvent, value: parameterMap.self }
- ],
- isComplexType: true
- });
- parameterMap.define({
- type: OSF.DDA.EventDispId.dispidOfficeThemeChangedEvent,
- fromHost: [
- { name: OSF.DDA.EventDescriptors.OfficeThemeChangedEvent, value: parameterMap.self }
- ],
- isComplexType: true
- });
- var destKeys = OSF.DDA.Theming.DocumentThemeEnum;
- parameterMap.define({
- type: Microsoft.Office.WebExtension.Parameters.DocumentTheme,
- fromHost: [
- { name: destKeys.PrimaryBackgroundColor, value: 0 },
- { name: destKeys.PrimaryFontColor, value: 1 },
- { name: destKeys.SecondaryBackgroundColor, value: 2 },
- { name: destKeys.SecondaryFontColor, value: 3 },
- { name: destKeys.Accent1, value: 4 },
- { name: destKeys.Accent2, value: 5 },
- { name: destKeys.Accent3, value: 6 },
- { name: destKeys.Accent4, value: 7 },
- { name: destKeys.Accent5, value: 8 },
- { name: destKeys.Accent6, value: 9 },
- { name: destKeys.Hyperlink, value: 10 },
- { name: destKeys.FollowedHyperlink, value: 11 },
- { name: destKeys.HeaderLatinFont, value: 12 },
- { name: destKeys.HeaderEastAsianFont, value: 13 },
- { name: destKeys.HeaderScriptFont, value: 14 },
- { name: destKeys.HeaderLocalizedFont, value: 15 },
- { name: destKeys.BodyLatinFont, value: 16 },
- { name: destKeys.BodyEastAsianFont, value: 17 },
- { name: destKeys.BodyScriptFont, value: 18 },
- { name: destKeys.BodyLocalizedFont, value: 19 }
- ],
- isComplexType: true
- });
- destKeys = OSF.DDA.Theming.OfficeThemeEnum;
- parameterMap.define({
- type: Microsoft.Office.WebExtension.Parameters.OfficeTheme,
- fromHost: [
- { name: destKeys.PrimaryFontColor, value: 0 },
- { name: destKeys.PrimaryBackgroundColor, value: 1 },
- { name: destKeys.SecondaryFontColor, value: 2 },
- { name: destKeys.SecondaryBackgroundColor, value: 3 }
- ],
- isComplexType: true
- });
- parameterMap.define({
- type: OSF.DDA.EventDescriptors.DocumentThemeChangedEvent,
- fromHost: [
- { name: Microsoft.Office.WebExtension.Parameters.DocumentTheme, value: parameterMap.self }
- ],
- isComplexType: true
- });
- parameterMap.define({
- type: OSF.DDA.EventDescriptors.OfficeThemeChangedEvent,
- fromHost: [
- { name: Microsoft.Office.WebExtension.Parameters.OfficeTheme, value: parameterMap.self }
- ],
- isComplexType: true
- });
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.EventType, { DocumentSelectionChanged: "documentSelectionChanged" });
- OSF.DDA.DocumentSelectionChangedEventArgs = function OSF_DDA_DocumentSelectionChangedEventArgs(docInstance) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "type": {
- value: Microsoft.Office.WebExtension.EventType.DocumentSelectionChanged
- },
- "document": {
- value: docInstance
- }
- });
- };
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({ type: OSF.DDA.EventDispId.dispidDocumentSelectionChangedEvent });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.PropertyDescriptors.FilePropertiesDescriptor,
- fromHost: [
- { name: OSF.DDA.FilePropertiesDescriptor.Url, value: 0 }
- ],
- isComplexType: true
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidGetFilePropertiesMethod,
- fromHost: [
- { name: OSF.DDA.PropertyDescriptors.FilePropertiesDescriptor, value: OSF.DDA.SafeArray.Delegate.ParameterMap.self }
- ]
- });
- OSF.OUtil.augmentList(OSF.DDA.EventDescriptors, { ActiveViewChangedEvent: "ActiveViewChangedEvent" });
- Microsoft.Office.WebExtension.ActiveView = {
- Read: "read",
- Edit: "edit"
- };
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.EventType, {
- ActiveViewChanged: "activeViewChanged"
- });
- OSF.DDA.AsyncMethodNames.addNames({
- GetActiveViewAsync: "getActiveViewAsync"
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.GetActiveViewAsync,
- requiredArguments: [],
- supportedOptions: [],
- privateStateCallbacks: [],
- onSucceeded: function (response) {
- var data = response[Microsoft.Office.WebExtension.Parameters.ActiveView];
- return data == undefined ? null : data;
- }
- });
- OSF.DDA.ActiveViewChangedEventArgs = function OSF_DDA_ActiveViewChangedEventArgs(activeView) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "type": {
- value: Microsoft.Office.WebExtension.EventType.ActiveViewChanged
- },
- "activeView": {
- value: activeView.activeView
- }
- });
- };
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: Microsoft.Office.WebExtension.Parameters.ActiveView,
- fromHost: [
- { name: 0, value: Microsoft.Office.WebExtension.ActiveView.Read },
- { name: 1, value: Microsoft.Office.WebExtension.ActiveView.Edit }
- ]
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidGetActiveViewMethod,
- fromHost: [
- { name: Microsoft.Office.WebExtension.Parameters.ActiveView, value: OSF.DDA.SafeArray.Delegate.ParameterMap.self }
- ]
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.EventDescriptors.ActiveViewChangedEvent,
- fromHost: [
- { name: Microsoft.Office.WebExtension.Parameters.ActiveView, value: 0 }
- ],
- isComplexType: true
- });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: OSF.DDA.EventDispId.dispidActiveViewChangedEvent,
- fromHost: [
- { name: OSF.DDA.EventDescriptors.ActiveViewChangedEvent, value: OSF.DDA.SafeArray.Delegate.ParameterMap.self }
- ]
- });
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.CoercionType, { Image: "image" });
- OSF.DDA.SafeArray.Delegate.ParameterMap.define({
- type: Microsoft.Office.WebExtension.Parameters.CoercionType,
- toHost: [
- { name: Microsoft.Office.WebExtension.CoercionType.Image, value: 8 }
- ]
- });
- var OfficeExt;
- (function (OfficeExt) {
- var AppCommand;
- (function (AppCommand) {
- var AppCommandManager = (function () {
- function AppCommandManager() {
- var _this = this;
- this._pseudoDocument = null;
- this._eventDispatch = null;
- this._processAppCommandInvocation = function (args) {
- var verifyResult = _this._verifyManifestCallback(args.callbackName);
- if (verifyResult.errorCode != OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess) {
- _this._invokeAppCommandCompletedMethod(args.appCommandId, verifyResult.errorCode, "");
- return;
- }
- var eventObj = _this._constructEventObjectForCallback(args);
- if (eventObj) {
- window.setTimeout(function () { verifyResult.callback(eventObj); }, 0);
- }
- else {
- _this._invokeAppCommandCompletedMethod(args.appCommandId, OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError, "");
- }
- };
- }
- AppCommandManager.initializeOsfDda = function () {
- OSF.DDA.AsyncMethodNames.addNames({
- AppCommandInvocationCompletedAsync: "appCommandInvocationCompletedAsync"
- });
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.AppCommandInvocationCompletedAsync,
- requiredArguments: [{
- "name": Microsoft.Office.WebExtension.Parameters.Id,
- "types": ["string"]
- },
- {
- "name": Microsoft.Office.WebExtension.Parameters.Status,
- "types": ["number"]
- },
- {
- "name": Microsoft.Office.WebExtension.Parameters.Data,
- "types": ["string"]
- }
- ]
- });
- OSF.OUtil.augmentList(OSF.DDA.EventDescriptors, {
- AppCommandInvokedEvent: "AppCommandInvokedEvent"
- });
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.EventType, {
- AppCommandInvoked: "appCommandInvoked"
- });
- OSF.OUtil.setNamespace("AppCommand", OSF.DDA);
- OSF.DDA.AppCommand.AppCommandInvokedEventArgs = OfficeExt.AppCommand.AppCommandInvokedEventArgs;
- };
- AppCommandManager.prototype.initializeAndChangeOnce = function (callback) {
- AppCommand.registerDdaFacade();
- this._pseudoDocument = {};
- OSF.DDA.DispIdHost.addAsyncMethods(this._pseudoDocument, [
- OSF.DDA.AsyncMethodNames.AppCommandInvocationCompletedAsync,
- ]);
- this._eventDispatch = new OSF.EventDispatch([
- Microsoft.Office.WebExtension.EventType.AppCommandInvoked,
- ]);
- var onRegisterCompleted = function (result) {
- if (callback) {
- if (result.status == "succeeded") {
- callback(OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess);
- }
- else {
- callback(OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError);
- }
- }
- };
- OSF.DDA.DispIdHost.addEventSupport(this._pseudoDocument, this._eventDispatch);
- this._pseudoDocument.addHandlerAsync(Microsoft.Office.WebExtension.EventType.AppCommandInvoked, this._processAppCommandInvocation, onRegisterCompleted);
- };
- AppCommandManager.prototype._verifyManifestCallback = function (callbackName) {
- var defaultResult = { callback: null, errorCode: OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidCallback };
- callbackName = callbackName.trim();
- try {
- var callList = callbackName.split(".");
- var parentObject = window;
- for (var i = 0; i < callList.length - 1; i++) {
- if (parentObject[callList[i]] && (typeof parentObject[callList[i]] == "object" || typeof parentObject[callList[i]] == "function")) {
- parentObject = parentObject[callList[i]];
- }
- else {
- return defaultResult;
- }
- }
- var callbackFunc = parentObject[callList[callList.length - 1]];
- if (typeof callbackFunc != "function") {
- return defaultResult;
- }
- }
- catch (e) {
- return defaultResult;
- }
- return { callback: callbackFunc, errorCode: OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess };
- };
- AppCommandManager.prototype._invokeAppCommandCompletedMethod = function (appCommandId, resultCode, data) {
- this._pseudoDocument.appCommandInvocationCompletedAsync(appCommandId, resultCode, data);
- };
- AppCommandManager.prototype._constructEventObjectForCallback = function (args) {
- var _this = this;
- var eventObj = new AppCommandCallbackEventArgs();
- try {
- var jsonData = JSON.parse(args.eventObjStr);
- this._translateEventObjectInternal(jsonData, eventObj);
- Object.defineProperty(eventObj, 'completed', {
- value: function () {
- var jsonString = JSON.stringify(eventObj);
- _this._invokeAppCommandCompletedMethod(args.appCommandId, OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess, jsonString);
- },
- enumerable: true
- });
- }
- catch (e) {
- eventObj = null;
- }
- return eventObj;
- };
- AppCommandManager.prototype._translateEventObjectInternal = function (input, output) {
- for (var key in input) {
- if (!input.hasOwnProperty(key))
- continue;
- var inputChild = input[key];
- if (typeof inputChild == "object" && inputChild != null) {
- OSF.OUtil.defineEnumerableProperty(output, key, {
- value: {}
- });
- this._translateEventObjectInternal(inputChild, output[key]);
- }
- else {
- Object.defineProperty(output, key, {
- value: inputChild,
- enumerable: true,
- writable: true
- });
- }
- }
- };
- AppCommandManager.prototype._constructObjectByTemplate = function (template, input) {
- var output = {};
- if (!template || !input)
- return output;
- for (var key in template) {
- if (template.hasOwnProperty(key)) {
- output[key] = null;
- if (input[key] != null) {
- var templateChild = template[key];
- var inputChild = input[key];
- var inputChildType = typeof inputChild;
- if (typeof templateChild == "object" && templateChild != null) {
- output[key] = this._constructObjectByTemplate(templateChild, inputChild);
- }
- else if (inputChildType == "number" || inputChildType == "string" || inputChildType == "boolean") {
- output[key] = inputChild;
- }
- }
- }
- }
- return output;
- };
- AppCommandManager.instance = function () {
- if (AppCommandManager._instance == null) {
- AppCommandManager._instance = new AppCommandManager();
- }
- return AppCommandManager._instance;
- };
- AppCommandManager._instance = null;
- return AppCommandManager;
- })();
- AppCommand.AppCommandManager = AppCommandManager;
- var AppCommandInvokedEventArgs = (function () {
- function AppCommandInvokedEventArgs(appCommandId, callbackName, eventObjStr) {
- this.type = Microsoft.Office.WebExtension.EventType.AppCommandInvoked;
- this.appCommandId = appCommandId;
- this.callbackName = callbackName;
- this.eventObjStr = eventObjStr;
- }
- AppCommandInvokedEventArgs.create = function (eventProperties) {
- return new AppCommandInvokedEventArgs(eventProperties[AppCommand.AppCommandInvokedEventEnums.AppCommandId], eventProperties[AppCommand.AppCommandInvokedEventEnums.CallbackName], eventProperties[AppCommand.AppCommandInvokedEventEnums.EventObjStr]);
- };
- return AppCommandInvokedEventArgs;
- })();
- AppCommand.AppCommandInvokedEventArgs = AppCommandInvokedEventArgs;
- var AppCommandCallbackEventArgs = (function () {
- function AppCommandCallbackEventArgs() {
- }
- return AppCommandCallbackEventArgs;
- })();
- AppCommand.AppCommandCallbackEventArgs = AppCommandCallbackEventArgs;
- AppCommand.AppCommandInvokedEventEnums = {
- AppCommandId: "appCommandId",
- CallbackName: "callbackName",
- EventObjStr: "eventObjStr"
- };
- })(AppCommand = OfficeExt.AppCommand || (OfficeExt.AppCommand = {}));
- })(OfficeExt || (OfficeExt = {}));
- OfficeExt.AppCommand.AppCommandManager.initializeOsfDda();
- var OfficeExt;
- (function (OfficeExt) {
- var AppCommand;
- (function (AppCommand) {
- function registerDdaFacade() {
- if (OSF.DDA.SafeArray) {
- var parameterMap = OSF.DDA.SafeArray.Delegate.ParameterMap;
- parameterMap.define({
- type: OSF.DDA.MethodDispId.dispidAppCommandInvocationCompletedMethod,
- toHost: [
- { name: Microsoft.Office.WebExtension.Parameters.Id, value: 0 },
- { name: Microsoft.Office.WebExtension.Parameters.Status, value: 1 },
- { name: Microsoft.Office.WebExtension.Parameters.Data, value: 2 }
- ]
- });
- parameterMap.define({
- type: OSF.DDA.EventDispId.dispidAppCommandInvokedEvent,
- fromHost: [
- { name: OSF.DDA.EventDescriptors.AppCommandInvokedEvent, value: parameterMap.self }
- ],
- isComplexType: true
- });
- parameterMap.define({
- type: OSF.DDA.EventDescriptors.AppCommandInvokedEvent,
- fromHost: [
- { name: OfficeExt.AppCommand.AppCommandInvokedEventEnums.AppCommandId, value: 0 },
- { name: OfficeExt.AppCommand.AppCommandInvokedEventEnums.CallbackName, value: 1 },
- { name: OfficeExt.AppCommand.AppCommandInvokedEventEnums.EventObjStr, value: 2 },
- ],
- isComplexType: true
- });
- }
- }
- AppCommand.registerDdaFacade = registerDdaFacade;
- })(AppCommand = OfficeExt.AppCommand || (OfficeExt.AppCommand = {}));
- })(OfficeExt || (OfficeExt = {}));
- OSF.DDA.PowerPointDocument = function OSF_DDA_PowerPointDocument(officeAppContext, settings) {
- OSF.DDA.PowerPointDocument.uber.constructor.call(this, officeAppContext, settings);
- OSF.DDA.DispIdHost.addAsyncMethods(this, [
- OSF.DDA.AsyncMethodNames.GetSelectedDataAsync,
- OSF.DDA.AsyncMethodNames.SetSelectedDataAsync,
- OSF.DDA.AsyncMethodNames.GetDocumentCopyAsync,
- OSF.DDA.AsyncMethodNames.GetActiveViewAsync,
- OSF.DDA.AsyncMethodNames.GetFilePropertiesAsync,
- OSF.DDA.AsyncMethodNames.GoToByIdAsync
- ]);
- OSF.DDA.DispIdHost.addEventSupport(this, new OSF.EventDispatch([
- Microsoft.Office.WebExtension.EventType.DocumentSelectionChanged,
- Microsoft.Office.WebExtension.EventType.ActiveViewChanged
- ]));
- OSF.OUtil.finalizeProperties(this);
- };
- OSF.OUtil.extend(OSF.DDA.PowerPointDocument, OSF.DDA.Document);
- OSF.InitializationHelper.prototype.prepareRightAfterWebExtensionInitialize = function OSF_InitializationHelper$prepareRightAfterWebExtensionInitialize() {
- var appCommandHandler = OfficeExt.AppCommand.AppCommandManager.instance();
- appCommandHandler.initializeAndChangeOnce();
- };
- OSF.InitializationHelper.prototype.loadAppSpecificScriptAndCreateOM = function OSF_InitializationHelper$loadAppSpecificScriptAndCreateOM(appContext, appReady, basePath) {
- OSF.DDA.ErrorCodeManager.initializeErrorMessages(Strings.OfficeOM);
- appContext.doc = new OSF.DDA.PowerPointDocument(appContext, this._initializeSettings(true));
- appReady();
- };
- OSF.InitializationHelper.prototype.prepareApiSurface = function OSF_InitializationHelper$PowerPointWin32_prepareApiSurface(appContext) {
- var license = new OSF.DDA.License(appContext.get_eToken());
- if (appContext.get_isDialog()) {
- appContext.ui = new OSF.DDA.UI.ChildUI();
- }
- else {
- appContext.ui = new OSF.DDA.UI.ParentUI();
- }
- OSF._OfficeAppFactory.setContext(new OSF.DDA.Context(appContext, appContext.doc, license, null, OSF.DDA.OfficeTheme.getOfficeTheme));
- OSF._OfficeAppFactory.setHostFacade(new OSF.DDA.DispIdHost.Facade(OSF.DDA.DispIdHost.getClientDelegateMethods, OSF.DDA.SafeArray.Delegate.ParameterMap));
- var themeHandler = new OSF.DDA.Theming.InternalThemeHandler();
- themeHandler.InitializeAndChangeOnce();
- };
|