{"version":3,"sources":["kendo.view.js"],"names":["f","define","$","undefined","parseTransition","transition","matches","match","transitionRegExp","type","direction","reverse","kendo","window","attr","ui","attrValue","directiveSelector","Observable","Widget","roleSelector","SCRIPT","INIT","TRANSITION_START","TRANSITION_END","SHOW","HIDE","ATTACH","DETACH","sizzleErrorRegExp","bodyRegExp","LOAD_START","LOAD_COMPLETE","SHOW_START","SAME_VIEW_REQUESTED","VIEW_SHOW","VIEW_TYPE_DETERMINED","AFTER","classNames","content","view","stretchedView","widget","header","footer","View","extend","init","options","that","this","id","guid","fn","call","renderOnInit","_createElement","wrapInSections","_renderSections","tagName","model","_wrap","wrap","_evalTemplate","evalTemplate","_useWithBlock","useWithBlock","_fragments","bind","name","detachOnHide","detachOnDestroy","render","container","notInitialized","element","append","trigger","_eachFragment","clone","ViewClone","triggerBeforeShow","triggerBeforeHide","showStart","css","showEnd","hideEnd","hide","beforeTransition","afterTransition","detach","destroy","unbind","remove","purge","add","wrapper","off","fragments","methodName","placeholder","result","document","getElementById","html","e","test","message","replace","template","contents","contains","replaceWith","wrapAll","parent","_wrapper","_createContent","_createHeader","_createFooter","is","ns","addClass","ccontentElements","contentSelector","children","filter","child","contentElement","Class","noop","Layout","containers","selector","_createContainer","showIn","show","root","find","length","Error","ViewContainer","Fragment","attach","history","running","after","end","previous","locationID","current","previousEntry","back","theTransition","transitionData","effect","stop","pop","push","effects","enabled","fx","setReverse","run","then","ViewEngine","views","sandbox","_hideViews","rootView","first","layouts","viewContainer","params","events","showView","url","RegExp","remoteViewURLPrefix","_findViewElement","widgetInstance","reload","remote","_createView","urlPath","split","$1","innerHTML","wrapInner","_locate","selectors","$angular","indexOf","charAt","_findViewElementById","_createSpaView","_createMobileView","initWidget","defaultTransition","loader","getLayout","getLayoutProxy","modelScope","roles","viewOptions","jQuery","amd","a1","a2","a3"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;CAwBC,SAAUA,EAAGC,QACVA,OAAO,cACH,aACA,eACA,YACDD,IACL,WA4gBE,MA/fC,UAAUE,EAAGC,GAgRV,QAASC,GAAgBC,GACrB,IAAKA,EACD,QAEJ,IAAIC,GAAUD,EAAWE,MAAMC,MAC/B,QACIC,KAAMH,EAAQ,GACdI,UAAWJ,EAAQ,GACnBK,QAAwB,YAAfL,EAAQ,IAxR5B,GACOM,GAAQC,OAAOD,MAAOE,EAAOF,EAAME,KAAMC,EAAKH,EAAMG,GAAIC,EAAYJ,EAAMI,UAAWC,EAAoBL,EAAMK,kBAAmBC,EAAaN,EAAMM,WAAYC,EAASP,EAAMG,GAAGI,OAAQC,EAAeR,EAAMQ,aAAcC,EAAS,SAAUC,EAAO,OAAQC,EAAmB,kBAAmBC,EAAiB,gBAAiBC,EAAO,OAAQC,EAAO,OAAQC,EAAS,SAAUC,EAAS,SAAUC,EAAoB,0BAChaC,EAAa,wDACbC,EAAa,YACbC,EAAgB,eAChBC,EAAa,YACbC,EAAsB,oBACtBC,EAAY,WACZC,EAAuB,qBACvBC,EAAQ,QACRC,GACAC,QAAS,YACTC,KAAM,SACNC,cAAe,mBACfC,OAAQ,WACRC,OAAQ,WACRC,OAAQ,YAERC,EAAOjC,EAAMG,GAAGI,OAAO2B,QACvBC,KAAM,SAAUR,EAASS,GACrB,GAAIC,GAAOC,IACXF,GAAUA,MACVC,EAAKE,GAAKvC,EAAMwC,OAChBlC,EAAWmC,GAAGN,KAAKO,KAAKL,GACxBC,KAAKF,QAAU9C,EAAE4C,UAAWI,KAAKF,QAASA,GAC1CC,EAAKV,QAAUA,EACXU,EAAKD,QAAQO,cACbpC,EAAOkC,GAAGN,KAAKO,KAAKL,EAAMA,EAAKO,iBAAkBR,GAEjDC,EAAKD,QAAQS,gBACbR,EAAKS,kBAETT,EAAKU,QAAUX,EAAQW,SAAW,MAClCV,EAAKW,MAAQZ,EAAQY,MACrBX,EAAKY,MAAQb,EAAQc,QAAS,EAC9BZ,KAAKa,cAAgBf,EAAQgB,eAAgB,EAC7Cd,KAAKe,cAAgBjB,EAAQkB,aAC7BjB,EAAKkB,cACLlB,EAAKmB,MACD9C,EACAG,EACAC,EACAH,EACAC,GACDwB,IAEPA,SACIqB,KAAM,OACNd,cAAc,EACdE,gBAAgB,EAChBa,cAAc,EACdC,iBAAiB,GAErBC,OAAQ,SAAUC,GACd,GAAIxB,GAAOC,KAAMwB,GAAkBzB,EAAK0B,OAexC,OAdID,KACAzB,EAAK0B,QAAU1B,EAAKO,kBAEpBiB,GACAvE,EAAEuE,GAAWG,OAAO3B,EAAK0B,SAEzBD,IACA9D,EAAMwD,KAAKnB,EAAK0B,QAAS1B,EAAKW,OAC9BX,EAAK4B,QAAQvD,IAEbmD,IACAxB,EAAK6B,cAAcnD,GACnBsB,EAAK4B,QAAQpD,IAEVwB,EAAK0B,SAEhBI,MAAO,WACH,MAAO,IAAIC,GAAU9B,OAEzB+B,kBAAmB,WACf,OAAO,GAEXC,kBAAmB,WACf,OAAO,GAEXC,UAAW,WAAA,GACHlC,GAAOC,KACPyB,EAAU1B,EAAKuB,QACfG,IACAA,EAAQS,IAAI,UAAW,IAE3BlC,KAAK2B,QAAQ5C,GAAcO,KAAMU,QAErCmC,QAAS,aAETC,QAAS,WACLpC,KAAKqC,QAETC,iBAAkB,SAAU/E,GACxByC,KAAK2B,QAAQtD,GAAoBd,KAAMA,KAE3CgF,gBAAiB,SAAUhF,GACvByC,KAAK2B,QAAQrD,GAAkBf,KAAMA,KAEzC8E,KAAM,WACErC,KAAKF,QAAQsB,eACbpB,KAAK4B,cAAclD,GACnB1B,EAAEgD,KAAKyB,SAASe,UAEpBxC,KAAK2B,QAAQnD,IAEjBiE,QAAS,WAAA,GACD1C,GAAOC,KACPyB,EAAU1B,EAAK0B,OACfA,KACAxD,EAAOkC,GAAGsC,QAAQrC,KAAKL,GACvBrC,EAAMgF,OAAOjB,GACb/D,EAAM+E,QAAQhB,GACV1B,EAAKD,QAAQuB,iBACbI,EAAQkB,WAIpBC,MAAO,WACH,GAAI7C,GAAOC,IACXD,GAAK0C,UACLzF,EAAE+C,EAAK0B,SAASoB,IAAI9C,EAAKV,SAASwD,IAAI9C,EAAK+C,SAASC,MAAMJ,UAE9DK,UAAW,SAAUA,GACjBhG,EAAE4C,OAAOI,KAAKiB,WAAY+B,IAE9BpB,cAAe,SAAUqB,GACrB,IAAK,GAAIC,KAAelD,MAAKiB,WACzBjB,KAAKiB,WAAWiC,GAAaD,GAAYjD,KAAMkD,IAGvD5C,eAAgB,WAAA,GACyCmB,GAASpC,EAuBlD8D,EAvBRpD,EAAOC,KAAM8C,EAAU,IAAM/C,EAAKU,QAAU,GAChD,KACIpB,EAAUrC,EAAEoG,SAASC,eAAetD,EAAKV,UAAYU,EAAKV,SACtDA,EAAQ,GAAGoB,UAAYtC,IACvBkB,EAAUA,EAAQiE,QAExB,MAAOC,GACD5E,EAAkB6E,KAAKD,EAAEE,WACzBpE,EAAUU,EAAKV,SAyBvB,MAtBuB,gBAAZA,IACPA,EAAUA,EAAQqE,QAAQ,aAAc,IACpC3D,EAAKc,gBACLxB,EAAU3B,EAAMiG,SAAStE,GAAW2B,aAAcjB,EAAKgB,gBAAiBhB,EAAKW,YAEjFe,EAAUzE,EAAE8F,GAASpB,OAAOrC,GACvBU,EAAKY,QACNc,EAAUA,EAAQmC,cAGtBnC,EAAUpC,EACNU,EAAKc,gBACDsC,EAASnG,EAAEU,EAAMiG,SAAS3G,EAAE,WAAW0E,OAAOD,EAAQI,OAAM,IAAOyB,QAAUtC,aAAcjB,EAAKgB,gBAAiBhB,EAAKW,YACtH1D,EAAE6G,SAAST,SAAU3B,EAAQ,KAC7BA,EAAQqC,YAAYX,GAExB1B,EAAU0B,GAEVpD,EAAKY,QACLc,EAAUA,EAAQsC,QAAQjB,GAASkB,WAGpCvC,GAEXjB,gBAAiB,WACb,GAAIT,GAAOC,IACPD,GAAKD,QAAQS,iBACbR,EAAKkE,WACLlE,EAAKmE,iBACLnE,EAAKoE,gBACLpE,EAAKqE,kBAGbH,SAAU,WAAA,GAQFnB,GAPA/C,EAAOC,KACPX,EAAUU,EAAKV,OAEfU,GAAK+C,QADLzD,EAAQgF,GAAGnG,EAAa,SACT6B,EAAKV,QAELA,EAAQuB,KAAK,aAAelD,EAAM4G,GAAK,uBAAyB5G,EAAM4G,GAAK,oBAAsB5G,EAAM4G,GAAK,+BAA+BN,SAE1JlB,EAAU/C,EAAK+C,QACnBA,EAAQlF,KAAK,KAAMmC,EAAKE,IACxB6C,EAAQyB,SAASnF,EAAWE,MAC5BwD,EAAQyB,SAASnF,EAAWI,QAC5BsD,EAAQlF,KAAK,OAAQ,SAEzBsG,eAAgB,WAAA,GAKJM,GAJJzE,EAAOC,KACP8C,EAAU9F,EAAE+C,EAAK+C,SACjB2B,EAAkBvG,EAAa,UAC9B4E,GAAQ4B,SAASD,GAAiB,KAC/BD,EAAmB1B,EAAQ4B,WAAWC,OAAO,WAC7C,GAAIC,GAAQ5H,EAAEgD,KACd,KAAK4E,EAAMP,GAAGnG,EAAa,aAAe0G,EAAMP,GAAGnG,EAAa,WAC5D,MAAO0G,KAGfJ,EAAiB5D,KAAK,QAAUhD,EAAK,QAAU,sBAEnDoC,KAAK6E,eAAiB/B,EAAQ4B,SAASxG,EAAa,YACpD8B,KAAK6E,eAAeN,SAASnF,EAAWG,eAAegF,SAASnF,EAAWC,UAE/E8E,cAAe,WAAA,GACPpE,GAAOC,KACP8C,EAAU/C,EAAK+C,OACnB9C,MAAKP,OAASqD,EAAQ4B,SAASxG,EAAa,WAAWqG,SAASnF,EAAWK,SAE/E2E,cAAe,WAAA,GACPrE,GAAOC,KACP8C,EAAU/C,EAAK+C,OACnB9C,MAAKN,OAASoD,EAAQ4B,SAASxG,EAAa,WAAWqG,SAASnF,EAAWM,WAG/EoC,EAAYpE,EAAMoH,MAAMlF,QACxBC,KAAM,SAAUP,GACZtC,EAAE4C,OAAOI,MACLyB,QAASnC,EAAKmC,QAAQI,OAAM,GAC5B1E,WAAYmC,EAAKnC,WACjB8C,GAAIX,EAAKW,KAEbX,EAAKmC,QAAQuC,SAAStC,OAAO1B,KAAKyB,UAEtCW,QAAS,WACLpC,KAAKyB,QAAQkB,UAEjBL,iBAAkBtF,EAAE+H,KACpBxC,gBAAiBvF,EAAE+H,OAEnBC,EAASrF,EAAKC,QACdC,KAAM,SAAUR,EAASS,GACrBH,EAAKQ,GAAGN,KAAKO,KAAKJ,KAAMX,EAASS,GACjCE,KAAKiF,eAET1D,UAAW,SAAU2D,GACjB,GAAI3D,GAAYvB,KAAKiF,WAAWC,EAKhC,OAJK3D,KACDA,EAAYvB,KAAKmF,iBAAiBD,GAClClF,KAAKiF,WAAWC,GAAY3D,GAEzBA,GAEX6D,OAAQ,SAAUF,EAAU5F,EAAMnC,GAC9B6C,KAAKuB,UAAU2D,GAAUG,KAAK/F,EAAMnC,IAExCgI,iBAAkB,SAAUD,GACxB,GAAyD3D,GAArD+D,EAAOtF,KAAKsB,SAAUG,EAAU6D,EAAKC,KAAKL,EAC9C,KAAKzD,EAAQ+D,QAAUF,EAAKjB,GAAGa,GAAW,CACtC,IAAII,EAAKjB,GAAGa,GAGR,KAAUO,OAAM,6CAAgDP,EAAW,YAF3EzD,GAAU6D,EASlB,MAJA/D,GAAY,GAAImE,GAAcjE,GAC9BF,EAAUL,KAAK,WAAY,SAAUqC,GACjCA,EAAEjE,KAAKgC,OAAOG,KAEXF,KAGXoE,EAAWhG,EAAKC,QAChBgG,OAAQ,SAAUtG,EAAM4D,GACpB5D,EAAKmC,QAAQ8D,KAAKrC,GAAaY,YAAY9D,KAAKsB,WAEpDkB,OAAQ,eAGRlF,EAAmB,4BAYnBoI,EAAgB1H,EAAW4B,QAC3BC,KAAM,SAAU0B,GACZvD,EAAWmC,GAAGN,KAAKO,KAAKJ,MACxBA,KAAKuB,UAAYA,EACjBvB,KAAK6F,WACL7F,KAAKV,KAAO,KACZU,KAAK8F,SAAU,GAEnBC,MAAO,WACH/F,KAAK8F,SAAU,EACf9F,KAAK2B,QAAQ,YAAcrC,KAAMU,KAAKV,OACtCU,KAAK2B,QAAQ,UAEjBqE,IAAK,WACDhG,KAAKV,KAAK6C,UACVnC,KAAKiG,SAAS7D,UACdpC,KAAK+F,SAETV,KAAM,SAAU/F,EAAMnC,EAAY+I,GAC9B,IAAK5G,EAAKyC,qBAAuB/B,KAAKV,OAASU,KAAKV,KAAK0C,oBAErD,MADAhC,MAAK2B,QAAQ,UACN,CAEXuE,GAAaA,GAAc5G,EAAKW,EAChC,IAAIF,GAAOC,KAAMmG,EAAU7G,IAASS,EAAKT,KAAOA,EAAKuC,QAAU9B,EAAKT,KAAMuG,EAAU9F,EAAK8F,QAASO,EAAgBP,EAAQA,EAAQL,OAAS,OAAUa,EAAOD,EAAcnG,KAAOiG,EAAYI,EAAgBnJ,IAAekJ,EAAOR,EAAQA,EAAQL,OAAS,GAAGrI,WAAamC,EAAKnC,YAAaoJ,EAAiBrJ,EAAgBoJ,EAmB/T,OAlBIvG,GAAK+F,SACL/F,EAAKyG,OAAOC,OAEM,SAAlBH,IACAA,EAAgB,MAEpBvG,EAAK4B,QAAQ,YAAcrC,KAAMA,IACjCS,EAAKT,KAAOA,EACZS,EAAKkG,SAAWE,EAChBpG,EAAK+F,SAAU,EACVO,EAMDR,EAAQa,MALRb,EAAQc,MACJ1G,GAAIiG,EACJ/I,WAAYmJ,IAKfH,GAMAG,GAAkB5I,EAAMkJ,QAAQC,SAIjCvH,EAAKmC,QAAQ8C,SAAS,eACtBjF,EAAK2C,YACDoE,IAASlJ,IACToJ,EAAe9I,SAAW8I,EAAe9I,SAE7CsC,EAAKyG,OAAS9I,EAAMoJ,GAAGxH,EAAKmC,SAASiC,QAAQyC,EAAQ1E,QAAS8E,EAAehJ,MAAM+E,iBAAiB,WAChGhD,EAAKgD,iBAAiB,QACtB6D,EAAQ7D,iBAAiB,UAC1BC,gBAAgB,WACfjD,EAAKiD,gBAAgB,QACrB4D,EAAQ5D,gBAAgB,UACzB/E,UAAU+I,EAAe/I,WAAWuJ,WAAWR,EAAe9I,SACjEsC,EAAKyG,OAAOQ,MAAMC,KAAK,WACnBlH,EAAKiG,UAhBT1G,EAAK2C,YACLlC,EAAKiG,QAkBF,IAzBH1G,EAAK2C,YACL3C,EAAK6C,UACLpC,EAAKgG,SACE,IAwBftD,QAAS,WAAA,GACD1C,GAAOC,KACPV,EAAOS,EAAKT,IACZA,IAAQA,EAAKmD,SACbnD,EAAKmD,aAIbyE,EAAalJ,EAAW4B,QACxBC,KAAM,SAAUC,GACZ,GAAiBqH,GAAO5F,EAApBxB,EAAOC,IACXhC,GAAWmC,GAAGN,KAAKO,KAAKL,GACxBA,EAAKD,QAAUA,EACf9C,EAAE4C,OAAOG,EAAMD,GACfC,EAAKqH,QAAUpK,EAAE,WACjBuE,EAAYxB,EAAKwB,UACjB4F,EAAQpH,EAAKsH,WAAW9F,GACxBxB,EAAKuH,SAAWH,EAAMI,QACtBxH,EAAKyH,WACLzH,EAAK0H,cAAgB,GAAI/J,GAAMgI,cAAc3F,EAAKwB,WAClDxB,EAAK0H,cAAcvG,KAAK,WAAY,SAAUqC,GAC1CA,EAAEjE,KAAKoI,OAAS3H,EAAK2H,SAEzB3H,EAAK0H,cAAcvG,KAAK,WAAY,SAAUqC,GAC1CxD,EAAK4B,QAAQ1C,GAAaK,KAAMiE,EAAEjE,SAEtCS,EAAK0H,cAAcvG,KAAK/B,EAAO,WAC3BY,EAAK4B,QAAQxC,KAEjBa,KAAKkB,KAAKlB,KAAK2H,OAAQ7H,IAE3B6H,QACI5I,EACAI,EACAF,EACAJ,EACAC,EACAE,EACAE,GAEJuD,QAAS,WAAA,GAIIxC,GAHLF,EAAOC,KACPyH,EAAgB1H,EAAK0H,aACzB/J,GAAM+E,QAAQ1C,EAAKwB,UACnB,KAAStB,IAAMF,GAAKyH,QAChBxH,KAAKwH,QAAQvH,GAAIwC,SAEjBgF,IACAA,EAAchF,WAGtBnD,KAAM,WACF,MAAOU,MAAKyH,cAAcnI,MAE9BsI,SAAU,SAAUC,EAAK1K,EAAYuK,GAKjC,GAJAG,EAAMA,EAAInE,QAAYoE,OAAO,IAAM9H,KAAK+H,qBAAsB,IAClD,KAARF,GAAc7H,KAAK+H,sBACnBF,EAAM,KAENA,EAAInE,QAAQ,KAAM,MAAQ1D,KAAK6H,IAE/B,MADA7H,MAAK2B,QAAQ3C,IACN,CAEXgB,MAAK2B,QAAQ5C,EACb,IAAIgB,GAAOC,KAAMyB,EAAU1B,EAAKiI,iBAAiBH,GAAMvI,EAAO5B,EAAMuK,eAAexG,EAWnF,OAVA1B,GAAK8H,IAAMA,EAAInE,QAAQ,KAAM,IAC7B3D,EAAK2H,OAASA,EACVpI,GAAQA,EAAK4I,SACb5I,EAAKsD,QACLnB,MAEJzB,KAAK2B,QAAQzC,GACTiJ,OAA2B,IAAnB1G,EAAQ+D,OAChBqC,IAAKA,KAELpG,EAAQ,KACHnC,IACDA,EAAOS,EAAKqI,YAAY3G,IAErB1B,EAAK0H,cAAcpC,KAAK/F,EAAMnC,EAAY0K,KAKzDnG,OAAQ,SAAU4B,EAAMuE,GACpB,GAA6FV,GAAO7H,EAAhG8H,EAAUpH,KAAKoH,QAASiB,GAAWR,GAAO,IAAIS,MAAM,KAAK,GAAI/G,EAAYvB,KAAKuB,SAelF,OAdI3C,GAAW4E,KAAKF,KAChBA,EAAOwE,OAAOS,IAElBnB,EAAQ,GAAGoB,UAAYlF,EACvB/B,EAAUG,OAAO0F,EAAQ1C,SAAS,kBAClCyC,EAAQnH,KAAKqH,WAAWD,GACxB9H,EAAO6H,EAAMI,QACRjI,EAAKkG,SACN2B,EAAQ7H,EAAO8H,EAAQqB,UAAU,0BAA0B/D,YAE3D2D,GACA/I,EAAK+C,OAAOzE,KAAKA,EAAK,OAAQyK,GAElC9G,EAAUG,OAAOyF,GACVnH,KAAKoI,YAAY9I,IAE5BoJ,QAAS,SAAUC,GACf,MAAO3I,MAAK4I,SAAW7K,EAAkB4K,GAAazK,EAAayK,IAEvEX,iBAAkB,SAAUH,GACxB,GAAIpG,GAAS4G,EAAUR,EAAIS,MAAM,KAAK,EACtC,OAAKD,IAGL5G,EAAUzB,KAAKuB,UAAUmD,SAAS,IAAM9G,EAAK,OAAS,KAAQyK,EAAU,MACnE5G,EAAQ,IAAM4G,EAAQQ,QAAQ,YAC/BpH,EAAUzB,KAAKuB,UAAUmD,SAA+B,MAAtB2D,EAAQS,OAAO,GAAaT,EAAU,IAAMA,IAE7E5G,EAAQ,KACTA,EAAUzB,KAAK+I,qBAAqBlB,IAEjCpG,GATIzB,KAAKsH,UAWpByB,qBAAsB,SAAU9I,GAC5B,GAAIwB,GAAUzB,KAAKuB,UAAUmD,SAAS,QAAWzE,EAAK,KACtD,OAAOwB,IAEX2G,YAAa,SAAU3G,GACnB,MAAOzB,MAAKgJ,eAAevH,IAE/BwH,kBAAmB,SAAUxH,GACzB,MAAO/D,GAAMwL,WAAWzH,GACpB0H,kBAAmBnJ,KAAK7C,WACxBiM,OAAQpJ,KAAKoJ,OACb7H,UAAWvB,KAAKuB,UAChB8H,UAAWrJ,KAAKsJ,eAChBC,WAAYvJ,KAAKuJ,WACjBrB,OAAQpK,EAAU2D,EAAS,WAC5B5D,EAAG2L,QAEVR,eAAgB,SAAUvH,GACtB,GAAIgI,IAAezJ,KAAKF,aAAe2J,eACvC,OAAO,IAAI/L,GAAMiC,KAAK8B,GAClBpB,aAAcoJ,EAAYpJ,aAC1BO,KAAM6I,EAAY7I,OAAQ,EAC1BL,eAAgBkJ,EAAYlJ,eAC5Ba,aAAcqI,EAAYrI,aAC1BC,gBAAiBoI,EAAYpI,mBAGrCgG,WAAY,SAAU9F,GAClB,MAAOA,GAAUmD,SAAS1E,KAAK0I,QAAQ,SAASrG,SAGxD3E,GAAMwJ,WAAaA,EACnBxJ,EAAMgI,cAAgBA,EACtBhI,EAAMiI,SAAWA,EACjBjI,EAAMsH,OAASA,EACftH,EAAMiC,KAAOA,EACbjC,EAAMoE,UAAYA,GACpBnE,OAAOD,MAAMgM,QACR/L,OAAOD,OACE,kBAAVX,SAAwBA,OAAO4M,IAAM5M,OAAS,SAAU6M,EAAIC,EAAIC,IACrEA,GAAMD","file":"kendo.view.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.view', [\n 'kendo.core',\n 'kendo.binder',\n 'kendo.fx'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'view',\n name: 'View',\n category: 'framework',\n description: 'The View class instantiates and handles the events of a certain screen from the application.',\n depends: [\n 'core',\n 'binder',\n 'fx'\n ],\n hidden: false\n };\n (function ($, undefined) {\n var kendo = window.kendo, attr = kendo.attr, ui = kendo.ui, attrValue = kendo.attrValue, directiveSelector = kendo.directiveSelector, Observable = kendo.Observable, Widget = kendo.ui.Widget, roleSelector = kendo.roleSelector, SCRIPT = 'SCRIPT', INIT = 'init', TRANSITION_START = 'transitionStart', TRANSITION_END = 'transitionEnd', SHOW = 'show', HIDE = 'hide', ATTACH = 'attach', DETACH = 'detach', sizzleErrorRegExp = /unrecognized expression/;\n var bodyRegExp = /]*>(([\\u000a\\u000d\\u2028\\u2029]|.)*)<\\/body>/i;\n var LOAD_START = 'loadStart';\n var LOAD_COMPLETE = 'loadComplete';\n var SHOW_START = 'showStart';\n var SAME_VIEW_REQUESTED = 'sameViewRequested';\n var VIEW_SHOW = 'viewShow';\n var VIEW_TYPE_DETERMINED = 'viewTypeDetermined';\n var AFTER = 'after';\n var classNames = {\n content: 'k-content',\n view: 'k-view',\n stretchedView: 'k-stretched-view',\n widget: 'k-widget',\n header: 'k-header',\n footer: 'k-footer'\n };\n var View = kendo.ui.Widget.extend({\n init: function (content, options) {\n var that = this;\n options = options || {};\n that.id = kendo.guid();\n Observable.fn.init.call(that);\n this.options = $.extend({}, this.options, options);\n that.content = content;\n if (that.options.renderOnInit) {\n Widget.fn.init.call(that, that._createElement(), options);\n }\n if (that.options.wrapInSections) {\n that._renderSections();\n }\n that.tagName = options.tagName || 'div';\n that.model = options.model;\n that._wrap = options.wrap !== false;\n this._evalTemplate = options.evalTemplate || false;\n this._useWithBlock = options.useWithBlock;\n that._fragments = {};\n that.bind([\n INIT,\n SHOW,\n HIDE,\n TRANSITION_START,\n TRANSITION_END\n ], options);\n },\n options: {\n name: 'View',\n renderOnInit: false,\n wrapInSections: false,\n detachOnHide: true,\n detachOnDestroy: true\n },\n render: function (container) {\n var that = this, notInitialized = !that.element;\n if (notInitialized) {\n that.element = that._createElement();\n }\n if (container) {\n $(container).append(that.element);\n }\n if (notInitialized) {\n kendo.bind(that.element, that.model);\n that.trigger(INIT);\n }\n if (container) {\n that._eachFragment(ATTACH);\n that.trigger(SHOW);\n }\n return that.element;\n },\n clone: function () {\n return new ViewClone(this);\n },\n triggerBeforeShow: function () {\n return true;\n },\n triggerBeforeHide: function () {\n return true;\n },\n showStart: function () {\n var that = this;\n var element = that.render();\n if (element) {\n element.css('display', '');\n }\n this.trigger(SHOW_START, { view: this });\n },\n showEnd: function () {\n },\n hideEnd: function () {\n this.hide();\n },\n beforeTransition: function (type) {\n this.trigger(TRANSITION_START, { type: type });\n },\n afterTransition: function (type) {\n this.trigger(TRANSITION_END, { type: type });\n },\n hide: function () {\n if (this.options.detachOnHide) {\n this._eachFragment(DETACH);\n $(this.element).detach();\n }\n this.trigger(HIDE);\n },\n destroy: function () {\n var that = this;\n var element = that.element;\n if (element) {\n Widget.fn.destroy.call(that);\n kendo.unbind(element);\n kendo.destroy(element);\n if (that.options.detachOnDestroy) {\n element.remove();\n }\n }\n },\n purge: function () {\n var that = this;\n that.destroy();\n $(that.element).add(that.content).add(that.wrapper).off().remove();\n },\n fragments: function (fragments) {\n $.extend(this._fragments, fragments);\n },\n _eachFragment: function (methodName) {\n for (var placeholder in this._fragments) {\n this._fragments[placeholder][methodName](this, placeholder);\n }\n },\n _createElement: function () {\n var that = this, wrapper = '<' + that.tagName + '>', element, content;\n try {\n content = $(document.getElementById(that.content) || that.content);\n if (content[0].tagName === SCRIPT) {\n content = content.html();\n }\n } catch (e) {\n if (sizzleErrorRegExp.test(e.message)) {\n content = that.content;\n }\n }\n if (typeof content === 'string') {\n content = content.replace(/^\\s+|\\s+$/g, '');\n if (that._evalTemplate) {\n content = kendo.template(content, { useWithBlock: that._useWithBlock })(that.model || {});\n }\n element = $(wrapper).append(content);\n if (!that._wrap) {\n element = element.contents();\n }\n } else {\n element = content;\n if (that._evalTemplate) {\n var result = $(kendo.template($('
').append(element.clone(true)).html(), { useWithBlock: that._useWithBlock })(that.model || {}));\n if ($.contains(document, element[0])) {\n element.replaceWith(result);\n }\n element = result;\n }\n if (that._wrap) {\n element = element.wrapAll(wrapper).parent();\n }\n }\n return element;\n },\n _renderSections: function () {\n var that = this;\n if (that.options.wrapInSections) {\n that._wrapper();\n that._createContent();\n that._createHeader();\n that._createFooter();\n }\n },\n _wrapper: function () {\n var that = this;\n var content = that.content;\n if (content.is(roleSelector('view'))) {\n that.wrapper = that.content;\n } else {\n that.wrapper = content.wrap('
').parent();\n }\n var wrapper = that.wrapper;\n wrapper.attr('id', that.id);\n wrapper.addClass(classNames.view);\n wrapper.addClass(classNames.widget);\n wrapper.attr('role', 'view');\n },\n _createContent: function () {\n var that = this;\n var wrapper = $(that.wrapper);\n var contentSelector = roleSelector('content');\n if (!wrapper.children(contentSelector)[0]) {\n var ccontentElements = wrapper.children().filter(function () {\n var child = $(this);\n if (!child.is(roleSelector('header')) && !child.is(roleSelector('footer'))) {\n return child;\n }\n });\n ccontentElements.wrap('
');\n }\n this.contentElement = wrapper.children(roleSelector('content'));\n this.contentElement.addClass(classNames.stretchedView).addClass(classNames.content);\n },\n _createHeader: function () {\n var that = this;\n var wrapper = that.wrapper;\n this.header = wrapper.children(roleSelector('header')).addClass(classNames.header);\n },\n _createFooter: function () {\n var that = this;\n var wrapper = that.wrapper;\n this.footer = wrapper.children(roleSelector('footer')).addClass(classNames.footer);\n }\n });\n var ViewClone = kendo.Class.extend({\n init: function (view) {\n $.extend(this, {\n element: view.element.clone(true),\n transition: view.transition,\n id: view.id\n });\n view.element.parent().append(this.element);\n },\n hideEnd: function () {\n this.element.remove();\n },\n beforeTransition: $.noop,\n afterTransition: $.noop\n });\n var Layout = View.extend({\n init: function (content, options) {\n View.fn.init.call(this, content, options);\n this.containers = {};\n },\n container: function (selector) {\n var container = this.containers[selector];\n if (!container) {\n container = this._createContainer(selector);\n this.containers[selector] = container;\n }\n return container;\n },\n showIn: function (selector, view, transition) {\n this.container(selector).show(view, transition);\n },\n _createContainer: function (selector) {\n var root = this.render(), element = root.find(selector), container;\n if (!element.length && root.is(selector)) {\n if (root.is(selector)) {\n element = root;\n } else {\n throw new Error('can\\'t find a container with the specified ' + selector + ' selector');\n }\n }\n container = new ViewContainer(element);\n container.bind('accepted', function (e) {\n e.view.render(element);\n });\n return container;\n }\n });\n var Fragment = View.extend({\n attach: function (view, placeholder) {\n view.element.find(placeholder).replaceWith(this.render());\n },\n detach: function () {\n }\n });\n var transitionRegExp = /^(\\w+)(:(\\w+))?( (\\w+))?$/;\n function parseTransition(transition) {\n if (!transition) {\n return {};\n }\n var matches = transition.match(transitionRegExp) || [];\n return {\n type: matches[1],\n direction: matches[3],\n reverse: matches[5] === 'reverse'\n };\n }\n var ViewContainer = Observable.extend({\n init: function (container) {\n Observable.fn.init.call(this);\n this.container = container;\n this.history = [];\n this.view = null;\n this.running = false;\n },\n after: function () {\n this.running = false;\n this.trigger('complete', { view: this.view });\n this.trigger('after');\n },\n end: function () {\n this.view.showEnd();\n this.previous.hideEnd();\n this.after();\n },\n show: function (view, transition, locationID) {\n if (!view.triggerBeforeShow() || this.view && !this.view.triggerBeforeHide()) {\n this.trigger('after');\n return false;\n }\n locationID = locationID || view.id;\n var that = this, current = view === that.view ? view.clone() : that.view, history = that.history, previousEntry = history[history.length - 2] || {}, back = previousEntry.id === locationID, theTransition = transition || (back ? history[history.length - 1].transition : view.transition), transitionData = parseTransition(theTransition);\n if (that.running) {\n that.effect.stop();\n }\n if (theTransition === 'none') {\n theTransition = null;\n }\n that.trigger('accepted', { view: view });\n that.view = view;\n that.previous = current;\n that.running = true;\n if (!back) {\n history.push({\n id: locationID,\n transition: theTransition\n });\n } else {\n history.pop();\n }\n if (!current) {\n view.showStart();\n view.showEnd();\n that.after();\n return true;\n }\n if (!theTransition || !kendo.effects.enabled) {\n view.showStart();\n that.end();\n } else {\n view.element.addClass('k-fx-hidden');\n view.showStart();\n if (back && !transition) {\n transitionData.reverse = !transitionData.reverse;\n }\n that.effect = kendo.fx(view.element).replace(current.element, transitionData.type).beforeTransition(function () {\n view.beforeTransition('show');\n current.beforeTransition('hide');\n }).afterTransition(function () {\n view.afterTransition('show');\n current.afterTransition('hide');\n }).direction(transitionData.direction).setReverse(transitionData.reverse);\n that.effect.run().then(function () {\n that.end();\n });\n }\n return true;\n },\n destroy: function () {\n var that = this;\n var view = that.view;\n if (view && view.destroy) {\n view.destroy();\n }\n }\n });\n var ViewEngine = Observable.extend({\n init: function (options) {\n var that = this, views, container;\n Observable.fn.init.call(that);\n that.options = options;\n $.extend(that, options);\n that.sandbox = $('
');\n container = that.container;\n views = that._hideViews(container);\n that.rootView = views.first();\n that.layouts = {};\n that.viewContainer = new kendo.ViewContainer(that.container);\n that.viewContainer.bind('accepted', function (e) {\n e.view.params = that.params;\n });\n that.viewContainer.bind('complete', function (e) {\n that.trigger(VIEW_SHOW, { view: e.view });\n });\n that.viewContainer.bind(AFTER, function () {\n that.trigger(AFTER);\n });\n this.bind(this.events, options);\n },\n events: [\n SHOW_START,\n AFTER,\n VIEW_SHOW,\n LOAD_START,\n LOAD_COMPLETE,\n SAME_VIEW_REQUESTED,\n VIEW_TYPE_DETERMINED\n ],\n destroy: function () {\n var that = this;\n var viewContainer = that.viewContainer;\n kendo.destroy(that.container);\n for (var id in that.layouts) {\n this.layouts[id].destroy();\n }\n if (viewContainer) {\n viewContainer.destroy();\n }\n },\n view: function () {\n return this.viewContainer.view;\n },\n showView: function (url, transition, params) {\n url = url.replace(new RegExp('^' + this.remoteViewURLPrefix), '');\n if (url === '' && this.remoteViewURLPrefix) {\n url = '/';\n }\n if (url.replace(/^#/, '') === this.url) {\n this.trigger(SAME_VIEW_REQUESTED);\n return false;\n }\n this.trigger(SHOW_START);\n var that = this, element = that._findViewElement(url), view = kendo.widgetInstance(element);\n that.url = url.replace(/^#/, '');\n that.params = params;\n if (view && view.reload) {\n view.purge();\n element = [];\n }\n this.trigger(VIEW_TYPE_DETERMINED, {\n remote: element.length === 0,\n url: url\n });\n if (element[0]) {\n if (!view) {\n view = that._createView(element);\n }\n return that.viewContainer.show(view, transition, url);\n } else {\n return true;\n }\n },\n append: function (html, url) {\n var sandbox = this.sandbox, urlPath = (url || '').split('?')[0], container = this.container, views, view;\n if (bodyRegExp.test(html)) {\n html = RegExp.$1;\n }\n sandbox[0].innerHTML = html;\n container.append(sandbox.children('script, style'));\n views = this._hideViews(sandbox);\n view = views.first();\n if (!view.length) {\n views = view = sandbox.wrapInner('
').children();\n }\n if (urlPath) {\n view.hide().attr(attr('url'), urlPath);\n }\n container.append(views);\n return this._createView(view);\n },\n _locate: function (selectors) {\n return this.$angular ? directiveSelector(selectors) : roleSelector(selectors);\n },\n _findViewElement: function (url) {\n var element, urlPath = url.split('?')[0];\n if (!urlPath) {\n return this.rootView;\n }\n element = this.container.children('[' + attr('url') + '=\\'' + urlPath + '\\']');\n if (!element[0] && urlPath.indexOf('/') === -1) {\n element = this.container.children(urlPath.charAt(0) === '#' ? urlPath : '#' + urlPath);\n }\n if (!element[0]) {\n element = this._findViewElementById(url);\n }\n return element;\n },\n _findViewElementById: function (id) {\n var element = this.container.children('[id=\\'' + id + '\\']');\n return element;\n },\n _createView: function (element) {\n return this._createSpaView(element);\n },\n _createMobileView: function (element) {\n return kendo.initWidget(element, {\n defaultTransition: this.transition,\n loader: this.loader,\n container: this.container,\n getLayout: this.getLayoutProxy,\n modelScope: this.modelScope,\n reload: attrValue(element, 'reload')\n }, ui.roles);\n },\n _createSpaView: function (element) {\n var viewOptions = (this.options || {}).viewOptions || {};\n return new kendo.View(element, {\n renderOnInit: viewOptions.renderOnInit,\n wrap: viewOptions.wrap || false,\n wrapInSections: viewOptions.wrapInSections,\n detachOnHide: viewOptions.detachOnHide,\n detachOnDestroy: viewOptions.detachOnDestroy\n });\n },\n _hideViews: function (container) {\n return container.children(this._locate('view')).hide();\n }\n });\n kendo.ViewEngine = ViewEngine;\n kendo.ViewContainer = ViewContainer;\n kendo.Fragment = Fragment;\n kendo.Layout = Layout;\n kendo.View = View;\n kendo.ViewClone = ViewClone;\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"]}