123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414 |
- /* Access web application specific API library */
- /* Version: 16.0.6207.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.__extends || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- __.prototype = b.prototype;
- d.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") {
- 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.OUtil = (function () {
- var _uniqueId = -1;
- var _xdmInfoKey = '&_xdm_Info=';
- var _serializerVersionKey = '&_serializer_version=';
- var _xdmSessionKeyPrefix = '_xdm_';
- var _serializerVersionKeyPrefix = '_serializer_version=';
- var _fragmentSeparator = '#';
- 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;
- }
- ;
- 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('_');
- },
- getFrameNameAndConversationId: function OSF_OUtil$getFrameNameAndConversationId(cacheKey, frame) {
- var frameName = _xdmSessionKeyPrefix + cacheKey + this.generateConversationId();
- frame.setAttribute("name", frameName);
- return this.generateConversationId();
- },
- addXdmInfoAsHash: function OSF_OUtil$addXdmInfoAsHash(url, xdmInfoValue) {
- return OSF.OUtil.addInfoAsHash(url, _xdmInfoKey, xdmInfoValue);
- },
- addSerializerVersionAsHash: function OSF_OUtil$addSerializerVersionAsHash(url, serializerVersion) {
- return OSF.OUtil.addInfoAsHash(url, _serializerVersionKey, serializerVersion);
- },
- addInfoAsHash: function OSF_OUtil$addInfoAsHash(url, keyName, infoValue) {
- url = url.trim() || '';
- var urlParts = url.split(_fragmentSeparator);
- var urlWithoutFragment = urlParts.shift();
- var fragment = urlParts.join(_fragmentSeparator);
- return [urlWithoutFragment, _fragmentSeparator, fragment, keyName, infoValue].join('');
- },
- parseXdmInfo: function OSF_OUtil$parseXdmInfo(skipSessionStorage) {
- return OSF.OUtil.parseXdmInfoWithGivenFragment(skipSessionStorage, window.location.hash);
- },
- parseXdmInfoWithGivenFragment: function OSF_OUtil$parseXdmInfoWithGivenFragment(skipSessionStorage, fragment) {
- return OSF.OUtil.parseInfoWithGivenFragment(_xdmInfoKey, _xdmSessionKeyPrefix, skipSessionStorage, fragment);
- },
- parseSerializerVersion: function OSF_OUtil$parseSerializerVersion(skipSessionStorage) {
- return OSF.OUtil.parseSerializerVersionWithGivenFragment(skipSessionStorage, window.location.hash);
- },
- parseSerializerVersionWithGivenFragment: function OSF_OUtil$parseSerializerVersionWithGivenFragment(skipSessionStorage, fragment) {
- return parseInt(OSF.OUtil.parseInfoWithGivenFragment(_serializerVersionKey, _serializerVersionKeyPrefix, skipSessionStorage, fragment));
- },
- parseInfoWithGivenFragment: function OSF_OUtil$parseInfoWithGivenFragment(infoKey, infoKeyPrefix, skipSessionStorage, fragment) {
- var fragmentParts = fragment.split(infoKey);
- var xdmInfoValue = fragmentParts.length > 1 ? fragmentParts[fragmentParts.length - 1] : null;
- 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 (xdmInfoValue) {
- osfSessionStorage.setItem(sessionKey, xdmInfoValue);
- } else {
- xdmInfoValue = osfSessionStorage.getItem(sessionKey);
- }
- }
- }
- return xdmInfoValue;
- },
- 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("|");
- }
- return items;
- },
- getConversationUrl: function OSF_OUtil$getConversationUrl() {
- var conversationUrl = '';
- var xdmInfoValue = OSF.OUtil.parseXdmInfo(true);
- if (xdmInfoValue) {
- var items = OSF.OUtil.getInfoItems(xdmInfoValue);
- if (items != undefined && items.length >= 3) {
- conversationUrl = items[2];
- }
- }
- return conversationUrl;
- },
- 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 (Sys) !== 'undefined' && Sys && Sys.Debug) {
- 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;
- }
- },
- 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);
- }
- },
- 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);
- },
- 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;
- }
- };
- })();
-
- 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
- };
- 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
- };
-
- OSF.SharedConstants = {
- "NotificationConversationIdSuffix": '_ntf'
- };
-
- OSF.OfficeAppContext = function OSF_OfficeAppContext(id, appName, appVersion, appUILocale, dataLocale, docUrl, clientMode, settings, reason, osfControlType, eToken, correlationId, appInstanceId, touchEnabled, commerceAllowed, appMinorVersion, requirementMatrix) {
- 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.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_requirementsMatrix = function get_requirementsMatrix() {
- return this._requirementsMatrix;
- };
- };
- 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",
- 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"
- };
- 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.getXdmEventName = function OSF_DDA$GetXdmEventName(bindingId, eventType) {
- if (eventType == Microsoft.Office.WebExtension.EventType.BindingSelectionChanged || eventType == Microsoft.Office.WebExtension.EventType.BindingDataChanged) {
- return bindingId + "_" + 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,
- 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,
- dispidMethodMax: 141,
- 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
- };
- 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,
- dispidActivationStatusChangedEvent: 32,
- dispidAppCommandInvokedEvent: 39,
- 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) {
- return _errorMappings[errorCode] || _errorMappings[this.errorCodes.ooeInternalError];
- },
- 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
- },
- 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_CustomXmlError, message: stringNS.L_CustomXmlError };
- _errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCustomXmlOutOfDate] = { name: stringNS.L_CustomXmlError, message: stringNS.L_CustomXmlError };
- _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 };
- }
- };
- })();
- var OfficeExt;
- (function (OfficeExt) {
- (function (Requirement) {
- var RequirementMatrix = (function () {
- function RequirementMatrix(_setMap) {
- this.setMap = _setMap;
- }
- RequirementMatrix.prototype.isSetSupported = function (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;
- }
- };
- return RequirementMatrix;
- })();
- Requirement.RequirementMatrix = RequirementMatrix;
- var DefaultSetRequirement = (function () {
- function DefaultSetRequirement(setMap) {
- 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 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 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 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,
- "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, {
- "customxmlparts": 1.1,
- "documentevents": 1.1,
- "file": 1.1,
- "ooxmlcoercion": 1.1,
- "selection": 1.1,
- "settings": 1.1,
- "textcoercion": 1.1
- });
- }
- return WordWebDefaultSetRequirement;
- })(DefaultSetRequirement);
- Requirement.WordWebDefaultSetRequirement = WordWebDefaultSetRequirement;
- var PowerpointWebDefaultSetRequirement = (function (_super) {
- __extends(PowerpointWebDefaultSetRequirement, _super);
- function PowerpointWebDefaultSetRequirement() {
- _super.call(this, {
- "activeview": 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 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;
- if (appContext.requirementMatrix != undefined && typeof (JSON) !== "undefined") {
- var matrixItem = JSON.parse(appContext.requirementMatrix);
- defaultRequirementMatrix = new RequirementMatrix(new DefaultSetRequirement(matrixItem));
- } else {
- var appMinorVersion = appContext.get_appMinorVersion();
- var appMinorVersionString = "";
- if (appMinorVersion < 10) {
- appMinorVersionString = "0" + appMinorVersion;
- } else {
- appMinorVersionString = "" + appMinorVersion;
- }
-
- var appFullVersion = appContext.get_appVersion() + "." + appMinorVersionString;
- var appLocator = appContext.get_appName() + "-" + appFullVersion;
- if (RequirementsMatrixFactory.DefaultSetArrayMatrix != undefined && RequirementsMatrixFactory.DefaultSetArrayMatrix[appLocator] != undefined) {
- defaultRequirementMatrix = new RequirementMatrix(RequirementsMatrixFactory.DefaultSetArrayMatrix[appLocator]);
- } else {
- defaultRequirementMatrix = new RequirementMatrix(new DefaultSetRequirement({}));
- }
- }
- return defaultRequirementMatrix;
- };
- 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.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.PowerPoint_IOS_1600] = new PowerpointIOSDefaultSetRequirement();
- RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Outlook_IOS_1600] = new OutlookIOSDefaultSetRequirement();
- };
- RequirementsMatrixFactory.Excel_RCLIENT_1600 = "1-16.00";
- RequirementsMatrixFactory.Word_RCLIENT_1600 = "2-16.00";
- RequirementsMatrixFactory.PowerPoint_RCLIENT_1600 = "4-16.00";
- 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.01";
- RequirementsMatrixFactory.SWAY_WAC_1600 = "2048-16.00";
- RequirementsMatrixFactory.Word_IOS_1600 = "4096-16.00";
- RequirementsMatrixFactory.PowerPoint_IOS_1600 = "8192-16.00";
-
- RequirementsMatrixFactory.Outlook_IOS_1600 = "65536-16.00";
-
- RequirementsMatrixFactory.DefaultSetArrayMatrix = {};
- return RequirementsMatrixFactory;
- })();
- Requirement.RequirementsMatrixFactory = RequirementsMatrixFactory;
- })(OfficeExt.Requirement || (OfficeExt.Requirement = {}));
- var 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 (document) {
- OSF.OUtil.defineEnumerableProperty(this, "document", {
- value: document
- });
- }
- if (license) {
- OSF.OUtil.defineEnumerableProperty(this, "license", {
- value: license
- });
- }
- 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.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 getInvalidParameterString = OSF.OUtil.delayExecutionAndCache(function () {
- return OSF.OUtil.formatString(Strings.OfficeOM.L_InvalidParameters, displayName);
- });
-
- function OSF_DAA_AsyncMethodCall$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;
- break;
- default:
- throw getInvalidParameterString();
- }
- }
-
- if (param["types"]) {
- if (!OSF.OUtil.listContainsValue(param["types"], typeof arg)) {
- throw getInvalidParameterString();
- }
- }
- }
- }
- ;
- function OSF_DAA_AsyncMethodCall$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]);
- }
- OSF_DAA_AsyncMethodCall$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;
- }
- ;
- 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 = 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;
- }
- }
-
- if (parameterCallback) {
- if (options[Microsoft.Office.WebExtension.Parameters.Callback]) {
- throw Strings.OfficeOM.L_RedundantCallbackSpecification;
- } else {
- options[Microsoft.Office.WebExtension.Parameters.Callback] = parameterCallback;
- }
- }
- OSF_DAA_AsyncMethodCall$VerifyArguments(supportedOptions, options);
- return options;
- }
- ;
- this.verifyAndExtractCall = function OSF_DAA_AsyncMethodCall$VerifyAndExtractCall(userArgs, caller, stateInfo) {
- var required = OSF_DAA_AsyncMethodCall$ExtractRequiredArguments(userArgs, caller, stateInfo);
- var options = OSF_DAA_AsyncMethodCall$ExtractOptions(userArgs, required, 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;
- };
- 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 () {
- 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;
- }
- return {
- manufacture: function (params) {
- var supportedOptions = params.supportedOptions ? createObject(params.supportedOptions) : [];
- var privateStateCallbacks = params.privateStateCallbacks ? 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.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 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 {
- 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;
- for (var item in value) {
- value[item] = extractArguments(value[item], map);
- }
- }
- 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.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"
- };
- OSF.DDA.DispIdHost.Delegates = {
- ExecuteAsync: "executeAsync",
- RegisterEventAsync: "registerEventAsync",
- UnregisterEventAsync: "unregisterEventAsync",
- ParameterMap: "parameterMap"
- };
- 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,
- "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,
- "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
- };
- for (var method in methodMap) {
- if (jsom[method]) {
- dispIdMap[jsom[method].id] = methodMap[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,
- "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 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() {
- OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall);
- },
- "onReceiving": function OSF_DDA_DispIdFacade$Execute_onReceiving() {
- OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse);
- },
- "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);
- }
- };
- };
- 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);
- }
- });
- }
- };
-
- if (!OsfMsAjaxFactory.isMsAjaxLoaded()) {
- if (!(OSF._OfficeAppFactory && OSF._OfficeAppFactory && OSF._OfficeAppFactory.getLoadScriptHelper && OSF._OfficeAppFactory.getLoadScriptHelper().isScriptLoading(OSF.ConstantNames.MicrosoftAjaxId))) {
- var msAjaxCDNPath = (window.location.protocol.toLowerCase() === 'https:' ? 'https:' : 'http:') + '//ajax.aspnetcdn.com/ajax/3.5/MicrosoftAjax.js';
- OsfMsAjaxFactory.loadMsAjaxFull(function OSF$loadMSAjaxCallback() {
- if (!OsfMsAjaxFactory.isMsAjaxLoaded()) {
- throw 'Not able to load MicrosoftAjax.js.';
- }
- });
- }
- }
-
- OSF.OUtil.setNamespace("Microsoft", window);
- OSF.OUtil.setNamespace("Office", Microsoft);
- OSF.OUtil.setNamespace("Common", Microsoft.Office);
- OSF.SerializerVersion = {
- MsAjax: 0,
- Browser: 1
- };
-
- (function (window) {
- "use strict";
- var stringRegEx = new RegExp('"(\\\\.|[^"\\\\])*"', 'g'), trueFalseNullRegEx = new RegExp('\\b(true|false|null)\\b', 'g'), numbersRegEx = new RegExp('-?(0|([1-9]\\d*))(\\.\\d+)?([eE][+-]?\\d+)?', 'g'), badBracketsRegEx = new RegExp('[^{:,\\[\\s](?=\\s*\\[)'), badRemainderRegEx = new RegExp('[^\\s\\[\\]{}:,]'), jsonErrorMsg = "Cannot deserialize. The data does not correspond to valid JSON.";
- function addHandler(element, eventName, handler) {
- if (element.addEventListener) {
- element.addEventListener(eventName, handler, false);
- } else if (element.attachEvent) {
- element.attachEvent("on" + eventName, handler);
- }
- }
- function getAjaxSerializer() {
- if (OsfMsAjaxFactory.msAjaxSerializer) {
- return OsfMsAjaxFactory.msAjaxSerializer;
- }
- return null;
- }
- function deserialize(data, secure, oldDeserialize) {
- var transformed;
- if (!secure) {
- return oldDeserialize(data);
- }
- if (window.JSON && window.JSON.parse) {
- return window.JSON.parse(data);
- }
-
- transformed = data.replace(stringRegEx, "[]");
-
- transformed = transformed.replace(trueFalseNullRegEx, "[]");
-
- transformed = transformed.replace(numbersRegEx, "[]");
-
- if (badBracketsRegEx.test(transformed)) {
- throw jsonErrorMsg;
- }
-
- if (badRemainderRegEx.test(transformed)) {
- throw jsonErrorMsg;
- }
-
- try {
- eval("(" + data + ")");
- } catch (e) {
- throw jsonErrorMsg;
- }
- }
- function patchDeserializer() {
- var serializer = getAjaxSerializer(), oldDeserialize;
- if (serializer === null || typeof (serializer.deserialize) !== "function") {
- return false;
- }
- if (serializer.__patchVersion >= 1) {
- return true;
- }
-
- oldDeserialize = serializer.deserialize;
-
- serializer.deserialize = function (data, secure) {
- return deserialize(data, true, oldDeserialize);
- };
- serializer.__patchVersion = 1;
- return true;
- }
- if (!patchDeserializer()) {
- addHandler(window, "load", function () {
- patchDeserializer();
- });
- }
- }(window));
-
- Microsoft.Office.Common.InvokeType = {
- "async": 0,
- "sync": 1,
- "asyncRegisterEvent": 2,
- "asyncUnregisterEvent": 3,
- "syncRegisterEvent": 4,
- "syncUnregisterEvent": 5
- };
-
- Microsoft.Office.Common.InvokeResultCode = {
- "noError": 0,
- "errorInRequest": -1,
- "errorHandlingRequest": -2,
- "errorInResponse": -3,
- "errorHandlingResponse": -4,
- "errorHandlingRequestAccessDenied": -5,
- "errorHandlingMethodCallTimedout": -6
- };
-
- Microsoft.Office.Common.MessageType = {
- "request": 0,
- "response": 1
- };
-
- Microsoft.Office.Common.ActionType = {
- "invoke": 0,
- "registerEvent": 1,
- "unregisterEvent": 2 };
-
- Microsoft.Office.Common.ResponseType = {
- "forCalling": 0,
- "forEventing": 1
- };
-
- Microsoft.Office.Common.MethodObject = function Microsoft_Office_Common_MethodObject(method, invokeType, blockingOthers) {
- this._method = method;
-
- this._invokeType = invokeType;
-
- this._blockingOthers = blockingOthers;
- };
- Microsoft.Office.Common.MethodObject.prototype = {
- getMethod: function Microsoft_Office_Common_MethodObject$getMethod() {
- return this._method;
- },
- getInvokeType: function Microsoft_Office_Common_MethodObject$getInvokeType() {
- return this._invokeType;
- },
- getBlockingFlag: function Microsoft_Office_Common_MethodObject$getBlockingFlag() {
- return this._blockingOthers;
- }
- };
-
- Microsoft.Office.Common.EventMethodObject = function Microsoft_Office_Common_EventMethodObject(registerMethodObject, unregisterMethodObject) {
- this._registerMethodObject = registerMethodObject;
-
- this._unregisterMethodObject = unregisterMethodObject;
- };
- Microsoft.Office.Common.EventMethodObject.prototype = {
- getRegisterMethodObject: function Microsoft_Office_Common_EventMethodObject$getRegisterMethodObject() {
- return this._registerMethodObject;
- },
- getUnregisterMethodObject: function Microsoft_Office_Common_EventMethodObject$getUnregisterMethodObject() {
- return this._unregisterMethodObject;
- }
- };
-
- Microsoft.Office.Common.ServiceEndPoint = function Microsoft_Office_Common_ServiceEndPoint(serviceEndPointId) {
- var e = Function._validateParams(arguments, [
- { name: "serviceEndPointId", type: String, mayBeNull: false }
- ]);
- if (e)
- throw e;
-
- this._methodObjectList = {};
-
- this._eventHandlerProxyList = {};
-
- this._Id = serviceEndPointId;
-
- this._conversations = {};
-
- this._policyManager = null;
-
- this._appDomains = {};
- };
- Microsoft.Office.Common.ServiceEndPoint.prototype = {
- registerMethod: function Microsoft_Office_Common_ServiceEndPoint$registerMethod(methodName, method, invokeType, blockingOthers) {
- var e = Function._validateParams(arguments, [
- { name: "methodName", type: String, mayBeNull: false },
- { name: "method", type: Function, mayBeNull: false },
- { name: "invokeType", type: Number, mayBeNull: false },
- { name: "blockingOthers", type: Boolean, mayBeNull: false }
- ]);
- if (e)
- throw e;
- if (invokeType !== Microsoft.Office.Common.InvokeType.async && invokeType !== Microsoft.Office.Common.InvokeType.sync) {
- throw OsfMsAjaxFactory.msAjaxError.argument("invokeType");
- }
- var methodObject = new Microsoft.Office.Common.MethodObject(method, invokeType, blockingOthers);
- this._methodObjectList[methodName] = methodObject;
- },
- unregisterMethod: function Microsoft_Office_Common_ServiceEndPoint$unregisterMethod(methodName) {
- var e = Function._validateParams(arguments, [
- { name: "methodName", type: String, mayBeNull: false }
- ]);
- if (e)
- throw e;
- delete this._methodObjectList[methodName];
- },
- registerEvent: function Microsoft_Office_Common_ServiceEndPoint$registerEvent(eventName, registerMethod, unregisterMethod) {
- var e = Function._validateParams(arguments, [
- { name: "eventName", type: String, mayBeNull: false },
- { name: "registerMethod", type: Function, mayBeNull: false },
- { name: "unregisterMethod", type: Function, mayBeNull: false }
- ]);
- if (e)
- throw e;
- var methodObject = new Microsoft.Office.Common.EventMethodObject(new Microsoft.Office.Common.MethodObject(registerMethod, Microsoft.Office.Common.InvokeType.syncRegisterEvent, false), new Microsoft.Office.Common.MethodObject(unregisterMethod, Microsoft.Office.Common.InvokeType.syncUnregisterEvent, false));
- this._methodObjectList[eventName] = methodObject;
- },
- registerEventEx: function Microsoft_Office_Common_ServiceEndPoint$registerEventEx(eventName, registerMethod, registerMethodInvokeType, unregisterMethod, unregisterMethodInvokeType) {
- var e = Function._validateParams(arguments, [
- { name: "eventName", type: String, mayBeNull: false },
- { name: "registerMethod", type: Function, mayBeNull: false },
- { name: "registerMethodInvokeType", type: Number, mayBeNull: false },
- { name: "unregisterMethod", type: Function, mayBeNull: false },
- { name: "unregisterMethodInvokeType", type: Number, mayBeNull: false }
- ]);
- if (e)
- throw e;
- var methodObject = new Microsoft.Office.Common.EventMethodObject(new Microsoft.Office.Common.MethodObject(registerMethod, registerMethodInvokeType, false), new Microsoft.Office.Common.MethodObject(unregisterMethod, unregisterMethodInvokeType, false));
- this._methodObjectList[eventName] = methodObject;
- },
- unregisterEvent: function (eventName) {
- var e = Function._validateParams(arguments, [
- { name: "eventName", type: String, mayBeNull: false }
- ]);
- if (e)
- throw e;
- this.unregisterMethod(eventName);
- },
- registerConversation: function Microsoft_Office_Common_ServiceEndPoint$registerConversation(conversationId, conversationUrl, appDomains, serializerVersion) {
- var e = Function._validateParams(arguments, [
- { name: "conversationId", type: String, mayBeNull: false },
- { name: "conversationUrl", type: String, mayBeNull: false, optional: true },
- { name: "appDomains", type: Object, mayBeNull: true, optional: true },
- { name: "serializerVersion", type: Number, mayBeNull: true, optional: true }
- ]);
- if (e)
- throw e;
- ;
- if (appDomains) {
- if (!(appDomains instanceof Array)) {
- throw OsfMsAjaxFactory.msAjaxError.argument("appDomains");
- }
- this._appDomains[conversationId] = appDomains;
- }
- this._conversations[conversationId] = { url: conversationUrl, serializerVersion: serializerVersion };
- },
- unregisterConversation: function Microsoft_Office_Common_ServiceEndPoint$unregisterConversation(conversationId) {
- var e = Function._validateParams(arguments, [
- { name: "conversationId", type: String, mayBeNull: false }
- ]);
- if (e)
- throw e;
- delete this._conversations[conversationId];
- },
- setPolicyManager: function Microsoft_Office_Common_ServiceEndPoint$setPolicyManager(policyManager) {
- var e = Function._validateParams(arguments, [
- { name: "policyManager", type: Object, mayBeNull: false }
- ]);
- if (e)
- throw e;
-
- if (!policyManager.checkPermission) {
- throw OsfMsAjaxFactory.msAjaxError.argument("policyManager");
- }
- this._policyManager = policyManager;
- },
- getPolicyManager: function Microsoft_Office_Common_ServiceEndPoint$getPolicyManager() {
- return this._policyManager;
- }
- };
-
- Microsoft.Office.Common.ClientEndPoint = function Microsoft_Office_Common_ClientEndPoint(conversationId, targetWindow, targetUrl, serializerVersion) {
- var e = Function._validateParams(arguments, [
- { name: "conversationId", type: String, mayBeNull: false },
- { name: "targetWindow", mayBeNull: false },
- { name: "targetUrl", type: String, mayBeNull: false },
- { name: "serializerVersion", type: Number, mayBeNull: true, optional: true }
- ]);
- if (e)
- throw e;
-
- if (!targetWindow.postMessage) {
- throw OsfMsAjaxFactory.msAjaxError.argument("targetWindow");
- }
-
- this._conversationId = conversationId;
-
- this._targetWindow = targetWindow;
-
- this._targetUrl = targetUrl;
-
- this._callingIndex = 0;
-
- this._callbackList = {};
-
- this._eventHandlerList = {};
- if (serializerVersion != null) {
- this._serializerVersion = serializerVersion;
- } else {
- this._serializerVersion = OSF.SerializerVersion.MsAjax;
- }
- };
- Microsoft.Office.Common.ClientEndPoint.prototype = {
- invoke: function Microsoft_Office_Common_ClientEndPoint$invoke(targetMethodName, callback, param) {
- var e = Function._validateParams(arguments, [
- { name: "targetMethodName", type: String, mayBeNull: false },
- { name: "callback", type: Function, mayBeNull: true },
- { name: "param", mayBeNull: true }
- ]);
- if (e)
- throw e;
-
- var correlationId = this._callingIndex++;
-
- var now = new Date();
- var callbackEntry = { "callback": callback, "createdOn": now.getTime() };
-
- if (param && typeof param === "object" && typeof param.__timeout__ === "number") {
- callbackEntry.timeout = param.__timeout__;
- delete param.__timeout__;
- }
- this._callbackList[correlationId] = callbackEntry;
- try {
- var callRequest = new Microsoft.Office.Common.Request(targetMethodName, Microsoft.Office.Common.ActionType.invoke, this._conversationId, correlationId, param);
-
- var msg = Microsoft.Office.Common.MessagePackager.envelope(callRequest, this._serializerVersion);
- this._targetWindow.postMessage(msg, this._targetUrl);
- Microsoft.Office.Common.XdmCommunicationManager._startMethodTimeoutTimer();
- } catch (ex) {
- try {
- if (callback !== null)
- callback(Microsoft.Office.Common.InvokeResultCode.errorInRequest, ex);
- } finally {
- delete this._callbackList[correlationId];
- }
- }
- },
- registerForEvent: function Microsoft_Office_Common_ClientEndPoint$registerForEvent(targetEventName, eventHandler, callback, data) {
- var e = Function._validateParams(arguments, [
- { name: "targetEventName", type: String, mayBeNull: false },
- { name: "eventHandler", type: Function, mayBeNull: false },
- { name: "callback", type: Function, mayBeNull: true },
- { name: "data", mayBeNull: true, optional: true }
- ]);
- if (e)
- throw e;
-
- var correlationId = this._callingIndex++;
-
- var now = new Date();
- this._callbackList[correlationId] = { "callback": callback, "createdOn": now.getTime() };
- try {
- var callRequest = new Microsoft.Office.Common.Request(targetEventName, Microsoft.Office.Common.ActionType.registerEvent, this._conversationId, correlationId, data);
-
- var msg = Microsoft.Office.Common.MessagePackager.envelope(callRequest, this._serializerVersion);
- this._targetWindow.postMessage(msg, this._targetUrl);
- Microsoft.Office.Common.XdmCommunicationManager._startMethodTimeoutTimer();
-
- this._eventHandlerList[targetEventName] = eventHandler;
- } catch (ex) {
- try {
- if (callback !== null) {
- callback(Microsoft.Office.Common.InvokeResultCode.errorInRequest, ex);
- }
- } finally {
- delete this._callbackList[correlationId];
- }
- }
- },
- unregisterForEvent: function Microsoft_Office_Common_ClientEndPoint$unregisterForEvent(targetEventName, callback, data) {
- var e = Function._validateParams(arguments, [
- { name: "targetEventName", type: String, mayBeNull: false },
- { name: "callback", type: Function, mayBeNull: true },
- { name: "data", mayBeNull: true, optional: true }
- ]);
- if (e)
- throw e;
-
- var correlationId = this._callingIndex++;
-
- var now = new Date();
- this._callbackList[correlationId] = { "callback": callback, "createdOn": now.getTime() };
- try {
- var callRequest = new Microsoft.Office.Common.Request(targetEventName, Microsoft.Office.Common.ActionType.unregisterEvent, this._conversationId, correlationId, data);
-
- var msg = Microsoft.Office.Common.MessagePackager.envelope(callRequest, this._serializerVersion);
- this._targetWindow.postMessage(msg, this._targetUrl);
- Microsoft.Office.Common.XdmCommunicationManager._startMethodTimeoutTimer();
- } catch (ex) {
- try {
- if (callback !== null) {
- callback(Microsoft.Office.Common.InvokeResultCode.errorInRequest, ex);
- }
- } finally {
- delete this._callbackList[correlationId];
- }
- } finally {
- delete this._eventHandlerList[targetEventName];
- }
- }
- };
-
- Microsoft.Office.Common.XdmCommunicationManager = (function () {
- var _invokerQueue = [];
-
- var _lastMessageProcessTime = null;
-
- var _messageProcessingTimer = null;
-
- var _processInterval = 10;
-
- var _blockingFlag = false;
-
- var _methodTimeoutTimer = null;
-
- var _methodTimeoutProcessInterval = 2000;
-
- var _methodTimeoutDefault = 65000;
- var _methodTimeout = _methodTimeoutDefault;
- var _serviceEndPoints = {};
- var _clientEndPoints = {};
- var _initialized = false;
-
- function _lookupServiceEndPoint(conversationId) {
- for (var id in _serviceEndPoints) {
- if (_serviceEndPoints[id]._conversations[conversationId]) {
- return _serviceEndPoints[id];
- }
- }
- OsfMsAjaxFactory.msAjaxDebug.trace("Unknown conversation Id.");
- throw OsfMsAjaxFactory.msAjaxError.argument("conversationId");
- }
- ;
-
- function _lookupClientEndPoint(conversationId) {
- var clientEndPoint = _clientEndPoints[conversationId];
- if (!clientEndPoint) {
- OsfMsAjaxFactory.msAjaxDebug.trace("Unknown conversation Id.");
- throw OsfMsAjaxFactory.msAjaxError.argument("conversationId");
- }
- return clientEndPoint;
- }
- ;
-
- function _lookupMethodObject(serviceEndPoint, messageObject) {
- var methodOrEventMethodObject = serviceEndPoint._methodObjectList[messageObject._actionName];
- if (!methodOrEventMethodObject) {
- OsfMsAjaxFactory.msAjaxDebug.trace("The specified method is not registered on service endpoint:" + messageObject._actionName);
- throw OsfMsAjaxFactory.msAjaxError.argument("messageObject");
- }
- var methodObject = null;
- if (messageObject._actionType === Microsoft.Office.Common.ActionType.invoke) {
- methodObject = methodOrEventMethodObject;
- } else if (messageObject._actionType === Microsoft.Office.Common.ActionType.registerEvent) {
- methodObject = methodOrEventMethodObject.getRegisterMethodObject();
- } else {
- methodObject = methodOrEventMethodObject.getUnregisterMethodObject();
- }
- return methodObject;
- }
- ;
-
- function _enqueInvoker(invoker) {
- _invokerQueue.push(invoker);
- }
- ;
-
- function _dequeInvoker() {
- if (_messageProcessingTimer !== null) {
- if (!_blockingFlag) {
- if (_invokerQueue.length > 0) {
- var invoker = _invokerQueue.shift();
- _executeCommand(invoker);
- } else {
- clearInterval(_messageProcessingTimer);
- _messageProcessingTimer = null;
- }
- }
- } else {
- OsfMsAjaxFactory.msAjaxDebug.trace("channel is not ready.");
- }
- }
- ;
- function _executeCommand(invoker) {
- _blockingFlag = invoker.getInvokeBlockingFlag();
-
- invoker.invoke();
- _lastMessageProcessTime = (new Date()).getTime();
- }
- ;
-
- function _checkMethodTimeout() {
- if (_methodTimeoutTimer) {
- var clientEndPoint;
- var methodCallsNotTimedout = 0;
- var now = new Date();
- var timeoutValue;
- for (var conversationId in _clientEndPoints) {
- clientEndPoint = _clientEndPoints[conversationId];
- for (var correlationId in clientEndPoint._callbackList) {
- var callbackEntry = clientEndPoint._callbackList[correlationId];
-
- timeoutValue = callbackEntry.timeout ? callbackEntry.timeout : _methodTimeout;
- if (timeoutValue >= 0 && Math.abs(now.getTime() - callbackEntry.createdOn) >= timeoutValue) {
- try {
- if (callbackEntry.callback) {
- callbackEntry.callback(Microsoft.Office.Common.InvokeResultCode.errorHandlingMethodCallTimedout, null);
- }
- } finally {
- delete clientEndPoint._callbackList[correlationId];
- }
- } else {
- methodCallsNotTimedout++;
- }
- ;
- }
- }
- if (methodCallsNotTimedout === 0) {
- clearInterval(_methodTimeoutTimer);
- _methodTimeoutTimer = null;
- }
- } else {
- OsfMsAjaxFactory.msAjaxDebug.trace("channel is not ready.");
- }
- }
- ;
-
- function _postCallbackHandler() {
- _blockingFlag = false;
- }
- ;
-
- function _registerListener(listener) {
- if (window.addEventListener) {
- window.addEventListener("message", listener, false);
- } else if ((navigator.userAgent.indexOf("MSIE") > -1) && window.attachEvent) {
- window.attachEvent("onmessage", listener);
- } else {
- OsfMsAjaxFactory.msAjaxDebug.trace("Browser doesn't support the required API.");
- throw OsfMsAjaxFactory.msAjaxError.argument("Browser");
- }
- }
- ;
-
- function _checkOrigin(url, origin) {
- var res = false;
-
- if (url === true) {
- return true;
- }
- if (!url || !origin || !url.length || !origin.length) {
- return res;
- }
- var url_parser, org_parser;
- url_parser = document.createElement('a');
- org_parser = document.createElement('a');
- url_parser.href = url;
- org_parser.href = origin;
- res = _urlCompare(url_parser, org_parser);
- delete url_parser, org_parser;
- return res;
- }
-
- function _checkOriginWithAppDomains(allowed_domains, origin) {
- var res = false;
- if (!origin || !origin.length || !(allowed_domains) || !(allowed_domains instanceof Array) || !allowed_domains.length) {
- return res;
- }
- var org_parser = document.createElement('a');
- var app_domain_parser = document.createElement('a');
- org_parser.href = origin;
- for (var i = 0; i < allowed_domains.length && !res; i++) {
- if (allowed_domains[i].indexOf("://") !== -1) {
- app_domain_parser.href = allowed_domains[i];
- res = _urlCompare(org_parser, app_domain_parser);
- }
- }
- delete org_parser, app_domain_parser;
- return res;
- }
-
- function _urlCompare(url_parser1, url_parser2) {
- return ((url_parser1.hostname == url_parser2.hostname) && (url_parser1.protocol == url_parser2.protocol) && (url_parser1.port == url_parser2.port));
- }
-
- function _receive(e) {
- if (e.data != '') {
- var messageObject;
- var serializerVersion = OSF.SerializerVersion.MsAjax;
- var serializedMessage = e.data;
-
- try {
- messageObject = Microsoft.Office.Common.MessagePackager.unenvelope(serializedMessage, OSF.SerializerVersion.Browser);
- serializerVersion = messageObject._serializerVersion != null ? messageObject._serializerVersion : serializerVersion;
- } catch (ex) {
- }
- if (serializerVersion != OSF.SerializerVersion.Browser) {
- try {
- messageObject = Microsoft.Office.Common.MessagePackager.unenvelope(serializedMessage, serializerVersion);
- } catch (ex) {
- return;
- }
- }
- if (typeof (messageObject._messageType) == 'undefined') {
- return;
- }
-
- if (messageObject._messageType === Microsoft.Office.Common.MessageType.request) {
- var requesterUrl = (e.origin == null || e.origin == "null") ? messageObject._origin : e.origin;
- try {
- var serviceEndPoint = _lookupServiceEndPoint(messageObject._conversationId);
- ;
- var conversation = serviceEndPoint._conversations[messageObject._conversationId];
- serializerVersion = conversation.serializerVersion != null ? conversation.serializerVersion : serializerVersion;
- ;
- if (!_checkOrigin(conversation.url, e.origin) && !_checkOriginWithAppDomains(serviceEndPoint._appDomains[messageObject._conversationId], e.origin)) {
- throw "Failed origin check";
- }
- var policyManager = serviceEndPoint.getPolicyManager();
- if (policyManager && !policyManager.checkPermission(messageObject._conversationId, messageObject._actionName, messageObject._data)) {
- throw "Access Denied";
- }
- var methodObject = _lookupMethodObject(serviceEndPoint, messageObject);
-
- var invokeCompleteCallback = new Microsoft.Office.Common.InvokeCompleteCallback(e.source, requesterUrl, messageObject._actionName, messageObject._conversationId, messageObject._correlationId, _postCallbackHandler, serializerVersion);
-
- var invoker = new Microsoft.Office.Common.Invoker(methodObject, messageObject._data, invokeCompleteCallback, serviceEndPoint._eventHandlerProxyList, messageObject._conversationId, messageObject._actionName, serializerVersion);
- var shouldEnque = true;
-
- if (_messageProcessingTimer == null) {
- if ((_lastMessageProcessTime == null || (new Date()).getTime() - _lastMessageProcessTime > _processInterval) && !_blockingFlag) {
- _executeCommand(invoker);
- shouldEnque = false;
- } else {
- _messageProcessingTimer = setInterval(_dequeInvoker, _processInterval);
- }
- }
- if (shouldEnque) {
- _enqueInvoker(invoker);
- }
- } catch (ex) {
- var errorCode = Microsoft.Office.Common.InvokeResultCode.errorHandlingRequest;
- if (ex == "Access Denied") {
- errorCode = Microsoft.Office.Common.InvokeResultCode.errorHandlingRequestAccessDenied;
- }
- var callResponse = new Microsoft.Office.Common.Response(messageObject._actionName, messageObject._conversationId, messageObject._correlationId, errorCode, Microsoft.Office.Common.ResponseType.forCalling, ex);
- var envelopedResult = Microsoft.Office.Common.MessagePackager.envelope(callResponse, serializerVersion);
- if (e.source && e.source.postMessage) {
- e.source.postMessage(envelopedResult, requesterUrl);
- }
- }
- } else if (messageObject._messageType === Microsoft.Office.Common.MessageType.response) {
- var clientEndPoint = _lookupClientEndPoint(messageObject._conversationId);
- clientEndPoint._serializerVersion = serializerVersion;
- ;
- if (!_checkOrigin(clientEndPoint._targetUrl, e.origin)) {
- throw "Failed orgin check";
- }
- if (messageObject._responseType === Microsoft.Office.Common.ResponseType.forCalling) {
- var callbackEntry = clientEndPoint._callbackList[messageObject._correlationId];
- if (callbackEntry) {
- try {
- if (callbackEntry.callback)
- callbackEntry.callback(messageObject._errorCode, messageObject._data);
- } finally {
- delete clientEndPoint._callbackList[messageObject._correlationId];
- }
- }
- } else {
- var eventhandler = clientEndPoint._eventHandlerList[messageObject._actionName];
- if (eventhandler !== undefined && eventhandler !== null) {
- eventhandler(messageObject._data);
- }
- }
- } else {
- return;
- }
- }
- }
- ;
-
- function _initialize() {
- if (!_initialized) {
- _registerListener(_receive);
- _initialized = true;
- }
- }
- ;
-
- return {
- connect: function Microsoft_Office_Common_XdmCommunicationManager$connect(conversationId, targetWindow, targetUrl, serializerVersion) {
- var clientEndPoint = _clientEndPoints[conversationId];
- if (!clientEndPoint) {
- _initialize();
- clientEndPoint = new Microsoft.Office.Common.ClientEndPoint(conversationId, targetWindow, targetUrl, serializerVersion);
- _clientEndPoints[conversationId] = clientEndPoint;
- }
- return clientEndPoint;
- },
- getClientEndPoint: function Microsoft_Office_Common_XdmCommunicationManager$getClientEndPoint(conversationId) {
- var e = Function._validateParams(arguments, [
- { name: "conversationId", type: String, mayBeNull: false }
- ]);
- if (e)
- throw e;
- return _clientEndPoints[conversationId];
- },
- createServiceEndPoint: function Microsoft_Office_Common_XdmCommunicationManager$createServiceEndPoint(serviceEndPointId) {
- _initialize();
- var serviceEndPoint = new Microsoft.Office.Common.ServiceEndPoint(serviceEndPointId);
- _serviceEndPoints[serviceEndPointId] = serviceEndPoint;
- return serviceEndPoint;
- },
- getServiceEndPoint: function Microsoft_Office_Common_XdmCommunicationManager$getServiceEndPoint(serviceEndPointId) {
- var e = Function._validateParams(arguments, [
- { name: "serviceEndPointId", type: String, mayBeNull: false }
- ]);
- if (e)
- throw e;
- return _serviceEndPoints[serviceEndPointId];
- },
- deleteClientEndPoint: function Microsoft_Office_Common_XdmCommunicationManager$deleteClientEndPoint(conversationId) {
- var e = Function._validateParams(arguments, [
- { name: "conversationId", type: String, mayBeNull: false }
- ]);
- if (e)
- throw e;
- delete _clientEndPoints[conversationId];
- },
- _setMethodTimeout: function Microsoft_Office_Common_XdmCommunicationManager$_setMethodTimeout(methodTimeout) {
- var e = Function._validateParams(arguments, [
- { name: "methodTimeout", type: Number, mayBeNull: false }
- ]);
- if (e)
- throw e;
- _methodTimeout = (methodTimeout <= 0) ? _methodTimeoutDefault : methodTimeout;
- },
- _startMethodTimeoutTimer: function Microsoft_Office_Common_XdmCommunicationManager$_startMethodTimeoutTimer() {
- if (!_methodTimeoutTimer) {
- _methodTimeoutTimer = setInterval(_checkMethodTimeout, _methodTimeoutProcessInterval);
- }
- }
- };
- })();
-
- Microsoft.Office.Common.Message = function Microsoft_Office_Common_Message(messageType, actionName, conversationId, correlationId, data) {
- var e = Function._validateParams(arguments, [
- { name: "messageType", type: Number, mayBeNull: false },
- { name: "actionName", type: String, mayBeNull: false },
- { name: "conversationId", type: String, mayBeNull: false },
- { name: "correlationId", mayBeNull: false },
- { name: "data", mayBeNull: true, optional: true }
- ]);
- if (e)
- throw e;
-
- this._messageType = messageType;
-
- this._actionName = actionName;
-
- this._conversationId = conversationId;
-
- this._correlationId = correlationId;
-
- this._origin = window.location.href;
-
- if (typeof data == "undefined") {
- this._data = null;
- } else {
- this._data = data;
- }
- };
- Microsoft.Office.Common.Message.prototype = {
- getActionName: function Microsoft_Office_Common_Message$getActionName() {
- return this._actionName;
- },
- getConversationId: function Microsoft_Office_Common_Message$getConversationId() {
- return this._conversationId;
- },
- getCorrelationId: function Microsoft_Office_Common_Message$getCorrelationId() {
- return this._correlationId;
- },
- getOrigin: function Microsoft_Office_Common_Message$getOrigin() {
- return this._origin;
- },
- getData: function Microsoft_Office_Common_Message$getData() {
- return this._data;
- },
- getMessageType: function Microsoft_Office_Common_Message$getMessageType() {
- return this._messageType;
- }
- };
-
- Microsoft.Office.Common.Request = function Microsoft_Office_Common_Request(actionName, actionType, conversationId, correlationId, data) {
- Microsoft.Office.Common.Request.uber.constructor.call(this, Microsoft.Office.Common.MessageType.request, actionName, conversationId, correlationId, data);
- this._actionType = actionType;
- };
- OSF.OUtil.extend(Microsoft.Office.Common.Request, Microsoft.Office.Common.Message);
- Microsoft.Office.Common.Request.prototype.getActionType = function Microsoft_Office_Common_Request$getActionType() {
- return this._actionType;
- };
-
- Microsoft.Office.Common.Response = function Microsoft_Office_Common_Response(actionName, conversationId, correlationId, errorCode, responseType, data) {
- Microsoft.Office.Common.Response.uber.constructor.call(this, Microsoft.Office.Common.MessageType.response, actionName, conversationId, correlationId, data);
- this._errorCode = errorCode;
- this._responseType = responseType;
- };
- OSF.OUtil.extend(Microsoft.Office.Common.Response, Microsoft.Office.Common.Message);
-
- Microsoft.Office.Common.Response.prototype.getErrorCode = function Microsoft_Office_Common_Response$getErrorCode() {
- return this._errorCode;
- };
-
- Microsoft.Office.Common.Response.prototype.getResponseType = function Microsoft_Office_Common_Response$getResponseType() {
- return this._responseType;
- };
-
- Microsoft.Office.Common.MessagePackager = {
- envelope: function Microsoft_Office_Common_MessagePackager$envelope(messageObject, serializerVersion) {
- if (serializerVersion == OSF.SerializerVersion.Browser && (typeof (JSON) !== "undefined")) {
- if (typeof (messageObject) === "object") {
- messageObject._serializerVersion = serializerVersion;
- }
- return JSON.stringify(messageObject);
- } else {
- if (typeof (messageObject) === "object") {
- messageObject._serializerVersion = OSF.SerializerVersion.MsAjax;
- }
- return OsfMsAjaxFactory.msAjaxSerializer.serialize(messageObject);
- }
- },
- unenvelope: function Microsoft_Office_Common_MessagePackager$unenvelope(messageObject, serializerVersion) {
- if (serializerVersion == OSF.SerializerVersion.Browser && (typeof (JSON) !== "undefined")) {
- return JSON.parse(messageObject);
- } else {
- return OsfMsAjaxFactory.msAjaxSerializer.deserialize(messageObject, true);
- }
- }
- };
-
- Microsoft.Office.Common.ResponseSender = function Microsoft_Office_Common_ResponseSender(requesterWindow, requesterUrl, actionName, conversationId, correlationId, responseType, serializerVersion) {
- var e = Function._validateParams(arguments, [
- { name: "requesterWindow", mayBeNull: false },
- { name: "requesterUrl", type: String, mayBeNull: false },
- { name: "actionName", type: String, mayBeNull: false },
- { name: "conversationId", type: String, mayBeNull: false },
- { name: "correlationId", mayBeNull: false },
- { name: "responsetype", type: Number, maybeNull: false },
- { name: "serializerVersion", type: Number, maybeNull: true, optional: true }
- ]);
- if (e)
- throw e;
-
- this._requesterWindow = requesterWindow;
-
- this._requesterUrl = requesterUrl;
-
- this._actionName = actionName;
-
- this._conversationId = conversationId;
-
- this._correlationId = correlationId;
-
- this._invokeResultCode = Microsoft.Office.Common.InvokeResultCode.noError;
-
- this._responseType = responseType;
- var me = this;
-
- this._send = function (result) {
- try {
- var response = new Microsoft.Office.Common.Response(me._actionName, me._conversationId, me._correlationId, me._invokeResultCode, me._responseType, result);
-
- var envelopedResult = Microsoft.Office.Common.MessagePackager.envelope(response, serializerVersion);
-
- me._requesterWindow.postMessage(envelopedResult, me._requesterUrl);
- ;
- } catch (ex) {
- OsfMsAjaxFactory.msAjaxDebug.trace("ResponseSender._send error:" + ex.message);
- }
- };
- };
- Microsoft.Office.Common.ResponseSender.prototype = {
- getRequesterWindow: function Microsoft_Office_Common_ResponseSender$getRequesterWindow() {
- return this._requesterWindow;
- },
- getRequesterUrl: function Microsoft_Office_Common_ResponseSender$getRequesterUrl() {
- return this._requesterUrl;
- },
- getActionName: function Microsoft_Office_Common_ResponseSender$getActionName() {
- return this._actionName;
- },
- getConversationId: function Microsoft_Office_Common_ResponseSender$getConversationId() {
- return this._conversationId;
- },
- getCorrelationId: function Microsoft_Office_Common_ResponseSender$getCorrelationId() {
- return this._correlationId;
- },
- getSend: function Microsoft_Office_Common_ResponseSender$getSend() {
- return this._send;
- },
- setResultCode: function Microsoft_Office_Common_ResponseSender$setResultCode(resultCode) {
- this._invokeResultCode = resultCode;
- }
- };
-
- Microsoft.Office.Common.InvokeCompleteCallback = function Microsoft_Office_Common_InvokeCompleteCallback(requesterWindow, requesterUrl, actionName, conversationId, correlationId, postCallbackHandler, serializerVersion) {
- Microsoft.Office.Common.InvokeCompleteCallback.uber.constructor.call(this, requesterWindow, requesterUrl, actionName, conversationId, correlationId, Microsoft.Office.Common.ResponseType.forCalling, serializerVersion);
-
- this._postCallbackHandler = postCallbackHandler;
- var me = this;
-
- this._send = function (result) {
- try {
- var response = new Microsoft.Office.Common.Response(me._actionName, me._conversationId, me._correlationId, me._invokeResultCode, me._responseType, result);
-
- var envelopedResult = Microsoft.Office.Common.MessagePackager.envelope(response, serializerVersion);
-
- me._requesterWindow.postMessage(envelopedResult, me._requesterUrl);
-
- me._postCallbackHandler();
- } catch (ex) {
- OsfMsAjaxFactory.msAjaxDebug.trace("InvokeCompleteCallback._send error:" + ex.message);
- }
- };
- };
- OSF.OUtil.extend(Microsoft.Office.Common.InvokeCompleteCallback, Microsoft.Office.Common.ResponseSender);
-
- Microsoft.Office.Common.Invoker = function Microsoft_Office_Common_Invoker(methodObject, paramValue, invokeCompleteCallback, eventHandlerProxyList, conversationId, eventName, serializerVersion) {
- var e = Function._validateParams(arguments, [
- { name: "methodObject", mayBeNull: false },
- { name: "paramValue", mayBeNull: true },
- { name: "invokeCompleteCallback", mayBeNull: false },
- { name: "eventHandlerProxyList", mayBeNull: true },
- { name: "conversationId", type: String, mayBeNull: false },
- { name: "eventName", type: String, mayBeNull: false },
- { name: "serializerVersion", type: Number, mayBeNull: true, optional: true }
- ]);
- if (e)
- throw e;
-
- this._methodObject = methodObject;
-
- this._param = paramValue;
-
- this._invokeCompleteCallback = invokeCompleteCallback;
-
- this._eventHandlerProxyList = eventHandlerProxyList;
-
- this._conversationId = conversationId;
-
- this._eventName = eventName;
- this._serializerVersion = serializerVersion;
- };
- Microsoft.Office.Common.Invoker.prototype = {
- invoke: function Microsoft_Office_Common_Invoker$invoke() {
- try {
- var result;
- switch (this._methodObject.getInvokeType()) {
- case Microsoft.Office.Common.InvokeType.async:
- this._methodObject.getMethod()(this._param, this._invokeCompleteCallback.getSend());
- break;
- case Microsoft.Office.Common.InvokeType.sync:
- result = this._methodObject.getMethod()(this._param);
-
- this._invokeCompleteCallback.getSend()(result);
- break;
- case Microsoft.Office.Common.InvokeType.syncRegisterEvent:
- var eventHandlerProxy = this._createEventHandlerProxyObject(this._invokeCompleteCallback);
-
- result = this._methodObject.getMethod()(eventHandlerProxy.getSend(), this._param);
-
- this._eventHandlerProxyList[this._conversationId + this._eventName] = eventHandlerProxy.getSend();
-
- this._invokeCompleteCallback.getSend()(result);
- break;
- case Microsoft.Office.Common.InvokeType.syncUnregisterEvent:
- var eventHandler = this._eventHandlerProxyList[this._conversationId + this._eventName];
-
- result = this._methodObject.getMethod()(eventHandler, this._param);
-
- delete this._eventHandlerProxyList[this._conversationId + this._eventName];
-
- this._invokeCompleteCallback.getSend()(result);
- break;
- case Microsoft.Office.Common.InvokeType.asyncRegisterEvent:
- var eventHandlerProxyAsync = this._createEventHandlerProxyObject(this._invokeCompleteCallback);
-
- this._methodObject.getMethod()(eventHandlerProxyAsync.getSend(), this._invokeCompleteCallback.getSend(), this._param);
-
- this._eventHandlerProxyList[this._callerId + this._eventName] = eventHandlerProxyAsync.getSend();
-
- break;
- case Microsoft.Office.Common.InvokeType.asyncUnregisterEvent:
- var eventHandlerAsync = this._eventHandlerProxyList[this._callerId + this._eventName];
-
- this._methodObject.getMethod()(eventHandlerAsync, this._invokeCompleteCallback.getSend(), this._param);
-
- delete this._eventHandlerProxyList[this._callerId + this._eventName];
-
- break;
- default:
- break;
- }
- } catch (ex) {
- this._invokeCompleteCallback.setResultCode(Microsoft.Office.Common.InvokeResultCode.errorInResponse);
- this._invokeCompleteCallback.getSend()(ex);
- }
- },
- getInvokeBlockingFlag: function Microsoft_Office_Common_Invoker$getInvokeBlockingFlag() {
- return this._methodObject.getBlockingFlag();
- },
- _createEventHandlerProxyObject: function Microsoft_Office_Common_Invoker$_createEventHandlerProxyObject(invokeCompleteObject) {
- return new Microsoft.Office.Common.ResponseSender(invokeCompleteObject.getRequesterWindow(), invokeCompleteObject.getRequesterUrl(), invokeCompleteObject.getActionName(), invokeCompleteObject.getConversationId(), invokeCompleteObject.getCorrelationId(), Microsoft.Office.Common.ResponseType.forEventing, this._serializerVersion);
- }
- };
-
- OSF.OUtil.setNamespace("WAC", OSF.DDA);
-
- OSF.DDA.WAC.UniqueArguments = {
- Data: "Data",
- Properties: "Properties",
- BindingRequest: "DdaBindingsMethod",
- BindingResponse: "Bindings",
- SingleBindingResponse: "singleBindingResponse",
- GetData: "DdaGetBindingData",
- AddRowsColumns: "DdaAddRowsColumns",
- SetData: "DdaSetBindingData",
- ClearFormats: "DdaClearBindingFormats",
- SetFormats: "DdaSetBindingFormats",
- SettingsRequest: "DdaSettingsMethod",
- BindingEventSource: "ddaBinding",
- ArrayData: "ArrayData"
- };
- OSF.OUtil.setNamespace("Delegate", OSF.DDA.WAC);
- OSF.DDA.WAC.Delegate.SpecialProcessor = function OSF_DDA_WAC_Delegate_SpecialProcessor() {
- var complexTypes = [
- OSF.DDA.WAC.UniqueArguments.SingleBindingResponse,
- OSF.DDA.WAC.UniqueArguments.BindingRequest,
- OSF.DDA.WAC.UniqueArguments.BindingResponse,
- OSF.DDA.WAC.UniqueArguments.GetData,
- OSF.DDA.WAC.UniqueArguments.AddRowsColumns,
- OSF.DDA.WAC.UniqueArguments.SetData,
- OSF.DDA.WAC.UniqueArguments.ClearFormats,
- OSF.DDA.WAC.UniqueArguments.SetFormats,
- OSF.DDA.WAC.UniqueArguments.SettingsRequest,
- OSF.DDA.WAC.UniqueArguments.BindingEventSource
- ];
- var dynamicTypes = {};
- OSF.DDA.WAC.Delegate.SpecialProcessor.uber.constructor.call(this, complexTypes, dynamicTypes);
- };
-
- OSF.OUtil.extend(OSF.DDA.WAC.Delegate.SpecialProcessor, OSF.DDA.SpecialProcessor);
- OSF.DDA.WAC.Delegate.ParameterMap = OSF.DDA.getDecoratedParameterMap(new OSF.DDA.WAC.Delegate.SpecialProcessor(), []);
- OSF.OUtil.setNamespace("WAC", OSF.DDA);
- OSF.OUtil.setNamespace("Delegate", OSF.DDA.WAC);
- OSF.DDA.WAC.getDelegateMethods = function OSF_DDA_WAC_getDelegateMethods() {
- var delegateMethods = {};
- delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync] = OSF.DDA.WAC.Delegate.executeAsync;
- delegateMethods[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync] = OSF.DDA.WAC.Delegate.registerEventAsync;
- delegateMethods[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync] = OSF.DDA.WAC.Delegate.unregisterEventAsync;
- return delegateMethods;
- };
- OSF.DDA.WAC.Delegate.version = 1;
- OSF.DDA.WAC.Delegate.executeAsync = function OSF_DDA_WAC_Delegate$executeAsync(args) {
- if (!args.hostCallArgs) {
- args.hostCallArgs = {};
- }
- args.hostCallArgs["DdaMethod"] = {
- "ControlId": OSF._OfficeAppFactory.getId(),
- "Version": OSF.DDA.WAC.Delegate.version,
- "DispatchId": args.dispId
- };
-
- args.hostCallArgs["__timeout__"] = -1;
-
- if (args.onCalling) {
- args.onCalling();
- }
- var startTime = (new Date()).getTime();
- OSF.getClientEndPoint().invoke("executeMethod", function OSF_DDA_WAC_Delegate$OMFacade$OnResponse(xdmStatus, payload) {
- if (args.onReceiving) {
- args.onReceiving();
- }
- var error;
- if (xdmStatus == Microsoft.Office.Common.InvokeResultCode.noError) {
- OSF.DDA.WAC.Delegate.version = payload["Version"];
- error = payload["Error"];
- } else {
- switch (xdmStatus) {
- case Microsoft.Office.Common.InvokeResultCode.errorHandlingRequestAccessDenied:
- error = OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability;
- break;
- default:
- error = OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
- break;
- }
- }
- if (args.onComplete) {
- args.onComplete(error, payload);
- }
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.onMethodDone(args.dispId, null, Math.abs((new Date()).getTime() - startTime), error);
- }
- }, args.hostCallArgs);
- };
- OSF.DDA.WAC.Delegate._getOnAfterRegisterEvent = function OSF_DDA_WAC_Delegate$GetOnAfterRegisterEvent(register, args) {
- var startTime = (new Date()).getTime();
- return function OSF_DDA_WAC_Delegate$OnAfterRegisterEvent(xdmStatus, payload) {
- if (args.onReceiving) {
- args.onReceiving();
- }
- var status;
- if (xdmStatus != Microsoft.Office.Common.InvokeResultCode.noError) {
- switch (xdmStatus) {
- case Microsoft.Office.Common.InvokeResultCode.errorHandlingRequestAccessDenied:
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability;
- break;
- default:
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
- break;
- }
- } else {
- if (payload) {
- if (payload["Error"]) {
- status = payload["Error"];
- } else {
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess;
- }
- } else {
- status = OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
- }
- }
- if (args.onComplete) {
- args.onComplete(status);
- }
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.onRegisterDone(register, args.dispId, Math.abs((new Date()).getTime() - startTime), status);
- }
- };
- };
- OSF.DDA.WAC.Delegate.registerEventAsync = function OSF_DDA_WAC_Delegate$RegisterEventAsync(args) {
- if (args.onCalling) {
- args.onCalling();
- }
- OSF.getClientEndPoint().registerForEvent(OSF.DDA.getXdmEventName(args.targetId, args.eventType), function OSF_DDA_WACOMFacade$OnEvent(payload) {
- if (args.onEvent) {
- args.onEvent(payload);
- }
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.onEventDone(args.dispId);
- }
- }, OSF.DDA.WAC.Delegate._getOnAfterRegisterEvent(true, args), {
- "controlId": OSF._OfficeAppFactory.getId(),
- "eventDispId": args.dispId,
- "targetId": args.targetId
- });
- };
- OSF.DDA.WAC.Delegate.unregisterEventAsync = function OSF_DDA_WAC_Delegate$UnregisterEventAsync(args) {
- if (args.onCalling) {
- args.onCalling();
- }
- OSF.getClientEndPoint().unregisterForEvent(OSF.DDA.getXdmEventName(args.targetId, args.eventType), OSF.DDA.WAC.Delegate._getOnAfterRegisterEvent(false, args), {
- "controlId": OSF._OfficeAppFactory.getId(),
- "eventDispId": args.dispId,
- "targetId": args.targetId
- });
- };
- OSF.OUtil.setNamespace("WebApp", OSF);
-
- OSF.WebApp.AddHostInfoAndXdmInfo = function OSF_WebApp$AddHostInfoAndXdmInfo(url) {
- if (OSF._OfficeAppFactory.getWindowLocationSearch && OSF._OfficeAppFactory.getWindowLocationHash) {
- return url + OSF._OfficeAppFactory.getWindowLocationSearch() + OSF._OfficeAppFactory.getWindowLocationHash();
- } else {
- return url;
- }
- };
-
- OSF.WebApp._UpdateLinksForHostAndXdmInfo = function OSF_WebApp$_UpdateLinksForHostAndXdmInfo() {
- var links = document.querySelectorAll("a[data-officejs-navigate]");
- for (var i = 0; i < links.length; i++) {
- if (OSF.WebApp._isGoodUrl(links[i].href)) {
- links[i].href = OSF.WebApp.AddHostInfoAndXdmInfo(links[i].href);
- }
- }
-
- var forms = document.querySelectorAll("form[data-officejs-navigate]");
- for (var i = 0; i < forms.length; i++) {
- var form = forms[i];
- if (OSF.WebApp._isGoodUrl(form.action)) {
- form.action = OSF.WebApp.AddHostInfoAndXdmInfo(form.action);
- }
- }
- };
-
- OSF.WebApp._isGoodUrl = function OSF_WebApp$_isGoodUrl(url) {
- if (typeof url == 'undefined')
- return false;
- url = url.trim();
- var colonIndex = url.indexOf(':');
- var protocol = colonIndex > 0 ? url.substr(0, colonIndex) : null;
-
- var goodUrl = protocol !== null ? protocol.toLowerCase() === "http" || protocol.toLowerCase() === "https" : true;
-
- goodUrl = goodUrl && url != "#" && url != "/" && url != "" && url != OSF._OfficeAppFactory.getWebAppState().webAppUrl;
- return goodUrl;
- };
-
- 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 = function OSF_InitializationHelper$initializeSettings(appContext, refreshSupported) {
- var settings;
- var serializedSettings = appContext.get_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;
- };
-
- var windowOpen = function OSF_InitializationHelper$windowOpen(windowObj) {
- var proxy = window.open;
- windowObj.open = function (strUrl, strWindowName, strWindowFeatures) {
- var windowObject = null;
- try {
- windowObject = proxy(strUrl, strWindowName, strWindowFeatures);
- } catch (ex) {
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.logAppCommonMessage("Exception happens at windowOpen." + ex);
- }
- }
- if (!windowObject) {
- var params = {
- "strUrl": strUrl,
- "strWindowName": strWindowName,
- "strWindowFeatures": strWindowFeatures
- };
- OSF._OfficeAppFactory.getClientEndPoint().invoke("ContextActivationManager_openWindowInHost", null, params);
- }
- return windowObject;
- };
- };
- windowOpen(window);
- };
- OSF.InitializationHelper.prototype.getAppContext = function OSF_InitializationHelper$getAppContext(wnd, gotAppContext) {
- var getInvocationCallbackWebApp = function OSF_InitializationHelper_getAppContextAsync$getInvocationCallbackWebApp(errorCode, appContext) {
- var settings;
- if (appContext._appName === OSF.AppName.ExcelWebApp) {
- var serializedSettings = appContext._settings;
- settings = {};
- for (var index in serializedSettings) {
- var setting = serializedSettings[index];
- settings[setting[0]] = setting[1];
- }
- } else {
- settings = appContext._settings;
- }
- if (errorCode === 0 && appContext._id != undefined && appContext._appName != undefined && appContext._appVersion != undefined && appContext._appUILocale != undefined && appContext._dataLocale != undefined && appContext._docUrl != undefined && appContext._clientMode != undefined && appContext._settings != undefined && appContext._reason != undefined) {
- var appInstanceId = appContext._id;
-
- var touchEnabled = false;
-
- var commerceAllowed = true;
- var minorVersion = 0;
- if (appContext._minorVersion != undefined) {
- minorVersion = appContext._minorVersion;
- }
- var requirementMatrix = undefined;
- if (appContext._requirementMatrix != undefined) {
- requirementMatrix = appContext._requirementMatrix;
- }
- var returnedContext = new OSF.OfficeAppContext(appContext._id, appContext._appName, appContext._appVersion, appContext._appUILocale, appContext._dataLocale, appContext._docUrl, appContext._clientMode, settings, appContext._reason, appContext._osfControlType, appContext._eToken, appContext._correlationId, appInstanceId, touchEnabled, commerceAllowed, minorVersion, requirementMatrix);
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.initialize(returnedContext);
- }
- gotAppContext(returnedContext);
- } else {
- var errorMsg = "Function ContextActivationManager_getAppContextAsync call failed. ErrorCode is " + errorCode + ", exception: " + appContext;
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.logAppException(errorMsg);
- }
- throw errorMsg;
- }
- };
- try {
- this._webAppState.clientEndPoint.invoke("ContextActivationManager_getAppContextAsync", getInvocationCallbackWebApp, this._webAppState.id);
- } catch (ex) {
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.logAppException("Exception thrown when trying to invoke getAppContextAsync. Exception:[" + ex + "]");
- }
- throw ex;
- }
- };
- OSF.InitializationHelper.prototype.setAgaveHostCommunication = function OSF_InitializationHelper$setAgaveHostCommunication() {
- try {
- var me = this;
- var xdmInfoValue = OSF.OUtil.parseXdmInfoWithGivenFragment(false, OSF._OfficeAppFactory.getWindowLocationHash());
- if (xdmInfoValue) {
- var xdmItems = OSF.OUtil.getInfoItems(xdmInfoValue);
- if (xdmItems != undefined && xdmItems.length >= 3) {
- me._webAppState.conversationID = xdmItems[0];
- me._webAppState.id = xdmItems[1];
- me._webAppState.webAppUrl = xdmItems[2];
- }
- }
- me._webAppState.serializerVersion = OSF.OUtil.parseSerializerVersionWithGivenFragment(false, OSF._OfficeAppFactory.getWindowLocationHash());
- me._webAppState.clientEndPoint = Microsoft.Office.Common.XdmCommunicationManager.connect(me._webAppState.conversationID, me._webAppState.wnd, me._webAppState.webAppUrl, me._webAppState.serializerVersion);
- me._webAppState.serviceEndPoint = Microsoft.Office.Common.XdmCommunicationManager.createServiceEndPoint(me._webAppState.id);
- var notificationConversationId = me._webAppState.conversationID + OSF.SharedConstants.NotificationConversationIdSuffix;
- me._webAppState.serviceEndPoint.registerConversation(notificationConversationId, me._webAppState.webAppUrl);
- var focusFirstItem = function OSF_OfficeAppFactory_initialize$focusFirstItem() {
- if (!me._webAppState.focused) {
- me._webAppState.focused = true;
- var list = document.querySelectorAll('input,a,button');
- for (var i = 0; i < list.length; i++) {
- var node = list[i];
- if (node instanceof HTMLElement) {
- var element = node;
- element.focus();
- break;
- }
- }
- }
- };
- var notifyAgave = function OSF__OfficeAppFactory_initialize$notifyAgave(actionId) {
- switch (actionId) {
- case OSF.AgaveHostAction.Select:
- me._webAppState.focused = true;
- break;
- case OSF.AgaveHostAction.UnSelect:
- me._webAppState.focused = false;
- break;
- case OSF.AgaveHostAction.CtrlF6In:
- focusFirstItem();
- default:
- OsfMsAjaxFactory.msAjaxDebug.trace("actionId " + actionId + " notifyAgave is wrong.");
- break;
- }
- };
- me._webAppState.serviceEndPoint.registerMethod("Office_notifyAgave", notifyAgave, Microsoft.Office.Common.InvokeType.async, false);
- OSF.OUtil.addEventListener(window, "focus", function () {
- if (!me._webAppState.focused) {
- me._webAppState.focused = true;
- }
- me._webAppState.clientEndPoint.invoke("ContextActivationManager_notifyHost", null, [me._webAppState.id, OSF.AgaveHostAction.Select]);
- });
- OSF.OUtil.addEventListener(window, "blur", function () {
- if (me._webAppState.focused) {
- me._webAppState.focused = false;
- }
- me._webAppState.clientEndPoint.invoke("ContextActivationManager_notifyHost", null, [me._webAppState.id, OSF.AgaveHostAction.UnSelect]);
- });
-
- OSF.OUtil.addEventListener(window, "keydown", function (e) {
- if (e.keyCode == 117 && e.ctrlKey) {
- if (e.preventDefault) {
- e.preventDefault();
- } else {
- e.returnValue = false;
- }
- var actionId = OSF.AgaveHostAction.CtrlF6Exit;
- if (e.shiftKey) {
- actionId = OSF.AgaveHostAction.CtrlF6ExitShift;
- }
- me._webAppState.clientEndPoint.invoke("ContextActivationManager_notifyHost", null, [me._webAppState.id, actionId]);
- }
- });
-
- OSF.OUtil.addEventListener(window, "keypress", function (e) {
- if (e.keyCode == 117 && e.ctrlKey) {
- if (e.preventDefault) {
- e.preventDefault();
- } else {
- e.returnValue = false;
- }
- }
- });
- } catch (ex) {
- if (OSF.AppTelemetry) {
- OSF.AppTelemetry.logAppException("Exception thrown in setAgaveHostCommunication. Exception:[" + ex + "]");
- }
- throw ex;
- }
- };
- OSF.getClientEndPoint = function OSF$getClientEndPoint() {
- var initializationHelper = OSF._OfficeAppFactory.getInitializationHelper();
- return initializationHelper._webAppState.clientEndPoint;
- };
-
- 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, "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
- });
- AppActivatedUsageData.prototype.SerializeFields = function () {
- this.SetSerializedField("CorrelationId", this.CorrelationId);
- this.SetSerializedField("SessionId", this.SessionId);
- this.SetSerializedField("AppId", this.AppId);
- 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);
- };
- 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, "*");
- } 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, "*");
- }
- };
- 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 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();
- 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();
- var index = location.href.indexOf("?");
- appInfo.appURL = (index == -1) ? location.href : location.href.substring(0, index);
-
- (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");
- appInfo.userId = xmlDoc.getElementsByTagName("t")[0].attributes.getNamedItem("cid").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;
- (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.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]);
- };
-
- 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.SettingsManager = {
- SerializedSettings: "serializedSettings",
- 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);
- Microsoft.Office.WebExtension.EventType = {};
-
- OSF.EventDispatch = function OSF_EventDispatch(eventTypes) {
- this._eventHandlers = {};
- for (var entry in eventTypes) {
- var eventType = eventTypes[entry];
- this._eventHandlers[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;
- }
- },
- 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;
- }
- }
- };
- 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;
- 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.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: [],
- onSucceeded: function deserializeSettings(serializedSettingsDescriptor, refreshingSettings) {
- var serializedSettings = serializedSettingsDescriptor[OSF.DDA.SettingsManager.SerializedSettings];
- var newSettings = OSF.DDA.SettingsManager.deserializeSettings(serializedSettings);
- return newSettings;
- }
- });
-
- 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.WAC.SettingsTranslator = (function () {
- var keyIndex = 0;
- var valueIndex = 1;
- return {
- read: function OSF_DDA_WAC_SettingsTranslator$read(payload) {
- if (payload.Settings) {
- var serializedSettings = {};
- var settingsPayload = payload.Settings;
- for (var index in settingsPayload) {
- var setting = settingsPayload[index];
- serializedSettings[setting[keyIndex]] = setting[valueIndex];
- }
- return serializedSettings;
- } else if (typeof window["OSFPPTWAC"] != "undefined") {
- return payload;
- } else {
- var serializedSettings = {};
- return serializedSettings;
- }
- },
- write: function OSF_DDA_WAC_SettingsTranslator$write(serializedSettings) {
- var settingsPayload = [];
- for (var key in serializedSettings) {
- var setting = [];
- setting[keyIndex] = key;
- setting[valueIndex] = serializedSettings[key];
- settingsPayload.push(setting);
- }
- return settingsPayload;
- }
- };
- })();
- OSF.DDA.WAC.Delegate.ParameterMap.setDynamicType(OSF.DDA.SettingsManager.SerializedSettings, {
- toHost: OSF.DDA.WAC.SettingsTranslator.write,
- fromHost: OSF.DDA.WAC.SettingsTranslator.read
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.WAC.UniqueArguments.SettingsRequest,
- toHost: [
- { name: Microsoft.Office.WebExtension.Parameters.OverwriteIfStale, value: "OverwriteIfStale" },
- { name: OSF.DDA.SettingsManager.SerializedSettings, value: OSF.DDA.WAC.UniqueArguments.Properties }
- ],
- invertible: true
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidLoadSettingsMethod,
- fromHost: [
- { name: OSF.DDA.SettingsManager.SerializedSettings, value: OSF.DDA.WAC.UniqueArguments.Properties }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidSaveSettingsMethod,
- toHost: [
- { name: OSF.DDA.WAC.UniqueArguments.SettingsRequest, value: OSF.DDA.WAC.Delegate.ParameterMap.self }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({ type: OSF.DDA.EventDispId.dispidSettingsChangedEvent });
-
- 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
- }
- ]
- });
- })();
- 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
- }
- ]
- });
- })();
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.WAC.UniqueArguments.GetData,
- toHost: [
- { name: Microsoft.Office.WebExtension.Parameters.Id, value: "BindingId" },
- { name: Microsoft.Office.WebExtension.Parameters.CoercionType, value: "CoerceType" },
- { name: Microsoft.Office.WebExtension.Parameters.ValueFormat, value: "ValueFormat" },
- { name: Microsoft.Office.WebExtension.Parameters.FilterType, value: "FilterType" },
- { name: Microsoft.Office.WebExtension.Parameters.Rows, value: "Rows" },
- { name: Microsoft.Office.WebExtension.Parameters.Columns, value: "Columns" },
- { name: Microsoft.Office.WebExtension.Parameters.StartRow, value: "StartRow" },
- { name: Microsoft.Office.WebExtension.Parameters.StartColumn, value: "StartCol" },
- { name: Microsoft.Office.WebExtension.Parameters.RowCount, value: "RowCount" },
- { name: Microsoft.Office.WebExtension.Parameters.ColumnCount, value: "ColCount" }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.WAC.UniqueArguments.SetData,
- toHost: [
- { name: Microsoft.Office.WebExtension.Parameters.Id, value: "BindingId" },
- { name: Microsoft.Office.WebExtension.Parameters.CoercionType, value: "CoerceType" },
- { name: Microsoft.Office.WebExtension.Parameters.Data, value: OSF.DDA.WAC.UniqueArguments.Data },
- { name: Microsoft.Office.WebExtension.Parameters.Rows, value: "Rows" },
- { name: Microsoft.Office.WebExtension.Parameters.Columns, value: "Columns" },
- { name: Microsoft.Office.WebExtension.Parameters.StartRow, value: "StartRow" },
- { name: Microsoft.Office.WebExtension.Parameters.StartColumn, value: "StartCol" }
- ]
- });
- OSF.DDA.WAC.Delegate.ParameterMap.addComplexType(OSF.DDA.PropertyDescriptors.BindingProperties);
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.WAC.UniqueArguments.BindingRequest,
- toHost: [
- { name: Microsoft.Office.WebExtension.Parameters.ItemName, value: "ItemName" },
- { name: Microsoft.Office.WebExtension.Parameters.Id, value: "BindingId" },
- { name: Microsoft.Office.WebExtension.Parameters.BindingType, value: "BindingType" },
- { name: Microsoft.Office.WebExtension.Parameters.PromptText, value: "PromptText" },
- { name: Microsoft.Office.WebExtension.Parameters.Columns, value: "Columns" },
- { name: Microsoft.Office.WebExtension.Parameters.SampleData, value: "SampleData" },
- { name: Microsoft.Office.WebExtension.Parameters.FailOnCollision, value: "FailOnCollision" }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: Microsoft.Office.WebExtension.Parameters.BindingType,
- toHost: [
- { name: Microsoft.Office.WebExtension.BindingType.Text, value: 2 },
- { name: Microsoft.Office.WebExtension.BindingType.Matrix, value: 3 },
- { name: Microsoft.Office.WebExtension.BindingType.Table, value: 1 }
- ],
- invertible: true
- });
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.PropertyDescriptors.BindingProperties,
- fromHost: [
- { name: OSF.DDA.BindingProperties.Id, value: "Name" },
- { name: OSF.DDA.BindingProperties.Type, value: "BindingType" },
- { name: OSF.DDA.BindingProperties.RowCount, value: "RowCount" },
- { name: OSF.DDA.BindingProperties.ColumnCount, value: "ColCount" },
- { name: OSF.DDA.BindingProperties.HasHeaders, value: "HasHeaders" }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.WAC.UniqueArguments.SingleBindingResponse,
- fromHost: [
- { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: 0 }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidAddBindingFromSelectionMethod,
- fromHost: [
- { name: OSF.DDA.WAC.UniqueArguments.SingleBindingResponse, value: OSF.DDA.WAC.UniqueArguments.BindingResponse }
- ],
- toHost: [
- { name: OSF.DDA.WAC.UniqueArguments.BindingRequest, value: OSF.DDA.WAC.Delegate.ParameterMap.self }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidAddBindingFromNamedItemMethod,
- fromHost: [
- { name: OSF.DDA.WAC.UniqueArguments.SingleBindingResponse, value: OSF.DDA.WAC.UniqueArguments.BindingResponse }
- ],
- toHost: [
- { name: OSF.DDA.WAC.UniqueArguments.BindingRequest, value: OSF.DDA.WAC.Delegate.ParameterMap.self }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidReleaseBindingMethod,
- toHost: [
- { name: OSF.DDA.WAC.UniqueArguments.BindingRequest, value: OSF.DDA.WAC.Delegate.ParameterMap.self }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidGetBindingMethod,
- fromHost: [
- { name: OSF.DDA.WAC.UniqueArguments.SingleBindingResponse, value: OSF.DDA.WAC.UniqueArguments.BindingResponse }
- ],
- toHost: [
- { name: OSF.DDA.WAC.UniqueArguments.BindingRequest, value: OSF.DDA.WAC.Delegate.ParameterMap.self }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidGetAllBindingsMethod,
- fromHost: [
- { name: OSF.DDA.ListDescriptors.BindingList, value: OSF.DDA.WAC.UniqueArguments.BindingResponse }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidGetBindingDataMethod,
- fromHost: [
- { name: Microsoft.Office.WebExtension.Parameters.Data, value: OSF.DDA.WAC.UniqueArguments.Data }
- ],
- toHost: [
- { name: OSF.DDA.WAC.UniqueArguments.GetData, value: OSF.DDA.WAC.Delegate.ParameterMap.self }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidSetBindingDataMethod,
- toHost: [
- { name: OSF.DDA.WAC.UniqueArguments.SetData, value: OSF.DDA.WAC.Delegate.ParameterMap.self }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidAddRowsMethod,
- toHost: [
- { name: OSF.DDA.WAC.UniqueArguments.AddRowsColumns, value: OSF.DDA.WAC.Delegate.ParameterMap.self }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidAddColumnsMethod,
- toHost: [
- { name: OSF.DDA.WAC.UniqueArguments.AddRowsColumns, value: OSF.DDA.WAC.Delegate.ParameterMap.self }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidClearAllRowsMethod,
- toHost: [
- { name: OSF.DDA.WAC.UniqueArguments.BindingRequest, value: OSF.DDA.WAC.Delegate.ParameterMap.self }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.WAC.UniqueArguments.AddRowsColumns,
- toHost: [
- { name: Microsoft.Office.WebExtension.Parameters.Id, value: "BindingId" },
- { name: Microsoft.Office.WebExtension.Parameters.Data, value: OSF.DDA.WAC.UniqueArguments.Data }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.PropertyDescriptors.Subset,
- fromHost: [
- { name: Microsoft.Office.WebExtension.Parameters.StartRow, value: "StartRow" },
- { name: Microsoft.Office.WebExtension.Parameters.StartColumn, value: "StartCol" },
- { name: Microsoft.Office.WebExtension.Parameters.RowCount, value: "RowCount" },
- { name: Microsoft.Office.WebExtension.Parameters.ColumnCount, value: "ColCount" }
- ]
- });
- OSF.DDA.AsyncMethodNames.addNames({ AddFromPromptAsync: "addFromPromptAsync" });
-
- OSF.DDA.AsyncMethodCalls.define({
- method: OSF.DDA.AsyncMethodNames.AddFromPromptAsync,
- 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.PromptText,
- value: {
- "types": ["string"],
- "calculate": function () {
- return Strings.OfficeOM.L_AddBindingFromPromptDefaultText;
- }
- }
- },
- {
- name: Microsoft.Office.WebExtension.Parameters.SampleData,
- value: {
- "types": ["object"],
- "defaultValue": null
- }
- }
- ],
- privateStateCallbacks: [],
- onSucceeded: function (bindingDescriptor) {
- return OSF.DDA.OMFactory.manufactureBinding(bindingDescriptor, Microsoft.Office.WebExtension.context.document);
- }
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.MethodDispId.dispidAddBindingFromPromptMethod,
- fromHost: [
- { name: OSF.DDA.WAC.UniqueArguments.SingleBindingResponse, value: OSF.DDA.WAC.UniqueArguments.BindingResponse }
- ],
- toHost: [
- { name: OSF.DDA.WAC.UniqueArguments.BindingRequest, value: OSF.DDA.WAC.Delegate.ParameterMap.self }
- ]
- });
- 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.WAC.Delegate.ParameterMap.define({ type: OSF.DDA.EventDispId.dispidDocumentSelectionChangedEvent });
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.EventType, {
- BindingSelectionChanged: "bindingSelectionChanged",
- BindingDataChanged: "bindingDataChanged"
- });
- OSF.OUtil.augmentList(OSF.DDA.EventDescriptors, { BindingSelectionChangedEvent: "BindingSelectionChangedEvent" });
- OSF.DDA.BindingSelectionChangedEventArgs = function OSF_DDA_BindingSelectionChangedEventArgs(bindingInstance, subset) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "type": {
- value: Microsoft.Office.WebExtension.EventType.BindingSelectionChanged
- },
- "binding": {
- value: bindingInstance
- }
- });
- for (var prop in subset) {
- OSF.OUtil.defineEnumerableProperty(this, prop, {
- value: subset[prop]
- });
- }
- };
- OSF.DDA.BindingDataChangedEventArgs = function OSF_DDA_BindingDataChangedEventArgs(bindingInstance) {
- OSF.OUtil.defineEnumerableProperties(this, {
- "type": {
- value: Microsoft.Office.WebExtension.EventType.BindingDataChanged
- },
- "binding": {
- value: bindingInstance
- }
- });
- };
- OSF.DDA.WAC.Delegate.ParameterMap.addComplexType(OSF.DDA.EventDescriptors.BindingSelectionChangedEvent);
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.EventDescriptors.BindingSelectionChangedEvent,
- fromHost: [
- { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: OSF.DDA.WAC.UniqueArguments.BindingEventSource },
- { name: OSF.DDA.PropertyDescriptors.Subset, value: OSF.DDA.PropertyDescriptors.Subset }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.EventDispId.dispidBindingSelectionChangedEvent,
- fromHost: [
- { name: OSF.DDA.EventDescriptors.BindingSelectionChangedEvent, value: OSF.DDA.WAC.Delegate.ParameterMap.self }
- ]
- });
-
- OSF.DDA.WAC.Delegate.ParameterMap.define({
- type: OSF.DDA.EventDispId.dispidBindingDataChangedEvent,
- fromHost: [
- { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: OSF.DDA.WAC.UniqueArguments.BindingEventSource }
- ]
- });
- OSF.OUtil.augmentList(Microsoft.Office.WebExtension.FilterType, { OnlyVisible: "onlyVisible" });
-
- Microsoft.Office.WebExtension.Table = {
- ThisRow: "thisRow"
- };
-
- OSF.DDA.WAC.Delegate.ParameterMap.setDynamicType(Microsoft.Office.WebExtension.Parameters.Data, (function () {
- var tableRows = "Rows";
- var tableHeaders = "Headers";
- return {
- toHost: function OSF_DDA_ACC_Delegate_SpecialProcessor_Data$toHost(data) {
- if (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;
- } else if (OSF.DDA.DataCoercion.determineCoercionType(data) == Microsoft.Office.WebExtension.CoercionType.Text) {
- data = [[data]];
- }
- return data;
- },
- fromHost: function OSF_DDA_ACC_Delegate_SpecialProcessor_Data$fromHost(hostArgs) {
- var ret;
-
- if (hostArgs[tableRows] != undefined) {
- ret = {};
- ret[OSF.DDA.TableDataProperties.TableRows] = hostArgs[tableRows];
- ret[OSF.DDA.TableDataProperties.TableHeaders] = hostArgs[tableHeaders];
- } else {
- ret = hostArgs;
- }
- return ret;
- }
- };
- })());
-
- OSF.DDA.WAC.Delegate.ParameterMap.setDynamicType(Microsoft.Office.WebExtension.Parameters.SampleData, OSF.DDA.WAC.Delegate.ParameterMap.getDynamicType(Microsoft.Office.WebExtension.Parameters.Data));
- OSF.DDA.AccessDocument = function Microsoft_Office_WebExtension_AccessDocument(officeAppContext, settings) {
- var bf = new OSF.DDA.BindingFacade(this);
- OSF.DDA.DispIdHost.addAsyncMethods(bf, [OSF.DDA.AsyncMethodNames.AddFromPromptAsync]);
- OSF.DDA.AccessDocument.uber.constructor.call(this, officeAppContext, settings);
-
- if (bf) {
- OSF.OUtil.defineEnumerableProperty(this, "bindings", {
- get: function OSF_DDA_Document$GetBindings() {
- return bf;
- }
- });
- }
- if (this.mode == OSF.ClientMode.ReadOnly) {
- this.url = document.URL;
- }
- OSF.OUtil.finalizeProperties(this);
- };
-
- OSF.OUtil.extend(OSF.DDA.AccessDocument, OSF.DDA.Document);
-
- OSF.InitializationHelper.prototype.loadAppSpecificScriptAndCreateOM = function OSF_InitializationHelper$loadAppSpecificScriptAndCreateOM(appContext, appReady, basePath) {
- OSF.DDA.ErrorCodeManager.initializeErrorMessages(Strings.OfficeOM);
- appContext.doc = new OSF.DDA.AccessDocument(appContext, this._initializeSettings(appContext, true));
- appReady();
- };
- OSF.InitializationHelper.prototype.prepareRightBeforeWebExtensionInitialize = function OSF_InitializationHelper$prepareRightBeforeWebExtensionInitialize(appContext) {
- OSF.WebApp._UpdateLinksForHostAndXdmInfo();
- var license = new OSF.DDA.License(appContext.get_eToken());
- OSF._OfficeAppFactory.setContext(new OSF.DDA.Context(appContext, appContext.doc, license));
- var reason = appContext.get_reason();
- var getDelegateMethods = OSF.DDA.WAC.getDelegateMethods;
- var parameterMap = OSF.DDA.WAC.Delegate.ParameterMap;
- OSF._OfficeAppFactory.setHostFacade(new OSF.DDA.DispIdHost.Facade(getDelegateMethods, parameterMap));
- Microsoft.Office.WebExtension.initialize(reason);
- };
|