{"version":3,"file":"kendo.notification.min.js","names":["factory","define","amd","$","undefined$1","kendo","Widget","extend","setTimeout","CLICK","SHOW","HIDE","KICLOSE","KHIDING","INFO","TOP","LEFT","RIGHT","NS","TEMPLATE","SAFE_TEMPLATE","Notification","window","jQuery","ui","replace","init","element","options","that","this","fn","call","appendTo","is","hide","_compileTemplates","templates","_guid","guid","_isRtl","support","isRtl","_compileStacking","stacking","position","top","left","notify","events","name","pinned","bottom","right","hideOnClick","button","allowHideAfter","autoHideAfter","width","height","title","animation","open","effects","duration","close","kendoTemplate","template","_compiled","each","key","value","type","templateId","html","_defaultCompiled","_safeCompiled","_getCompiled","safe","defaultCompiled","origin","paddings","paddingTop","paddingRight","paddingBottom","paddingLeft","horizontalAlignment","BOTTOM","_popupOrigin","_popupPosition","_popupPaddings","_attachPopupEvents","popup","closeIcon","attachDelay","isNaN","attachClick","target","on","_hidePopup","bind","find","_showPopup","wrapper","openPopup","x","y","last","Popup","anchor","document","body","copyAnchorStyles","modal","collision","_triggerHide","deactivate","e","sender","off","destroy","removeClass","outerWidth","outerHeight","addClass","css","margin","zIndex","_togglePin","pin","win","sign","parseInt","scrollTop","scrollLeft","_attachStaticEvents","_hideStatic","_showStatic","insertionMethod","_hideTimeouts","kendoAnimate","getNotifications","idx","attr","push","complete","remove","trigger","angular","elements","show","content","args","defaultArgs","contentId","isFunction","typeIcon","closeButton","isPlainObject","KNOTIFICATION","toggleClass","append","data","dataItem","showText","info","success","warning","error","openedNotifications","forEach","clearTimeout","guidElements","children","setOptions","newOptions","plugin"],"sources":["kendo.notification.js"],"mappings":"CAAA,SAAWA,GACW,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,CAAC,iBAAkB,mBAAoBD,GAC3FA,IAFJ,EAGG,WACC,IAcUG,EAAGC,EACLC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEAC,EACAC,EACAC,EAIAC,EACAC,EAEAC,EAEAC,EAEAC,EAKAC,EAEAC,EA7BElB,EA+dPmB,OAAOjB,MAAMkB,OA9dRlB,EAAQiB,OAAOjB,MACfC,EAASD,EAAMmB,GAAGlB,OAClBC,EAASJ,EAAEI,OACXC,EAAac,OAAOd,WACpBC,EAAQ,QACRC,EAAO,OACPC,EAAO,OAEPC,EAAU,kCACVC,EAAU,WACVC,EAAO,OAIPC,EAAM,MACNC,EAAO,OAEPC,EAAQ,QAERC,EAAK,qBAOLE,GALAD,EAAW,uQAKcM,QAAQ,aAAc,cAE/CJ,EAAef,EAAOC,OAAO,CAC7BmB,KAAM,SAASC,EAASC,GACpB,IAAIC,EAAOC,KAEXxB,EAAOyB,GAAGL,KAAKM,KAAKH,EAAMF,EAASC,IAEnCA,EAAUC,EAAKD,SAEFK,UAAa9B,EAAEyB,EAAQK,UAAUC,GAAGP,IAC7CE,EAAKF,QAAQQ,OAGjBN,EAAKO,kBAAkBR,EAAQS,WAC/BR,EAAKS,MAAQ,IAAMjC,EAAMkC,OACzBV,EAAKW,OAASnC,EAAMoC,QAAQC,MAAMf,GAClCE,EAAKc,iBAAiBf,EAAQgB,SAAUhB,EAAQiB,SAASC,IAAKlB,EAAQiB,SAASE,MAE/E1C,EAAM2C,OAAOnB,IAGjBoB,OAAQ,CACJvC,EACAC,GAGJiB,QAAS,CACLsB,KAAM,eACNL,SAAU,CACNM,QAAQ,EACRL,IAAK,KACLC,KAAM,KACNK,OAAQ,GACRC,MAAO,IAEXT,SAAU,UACVU,aAAa,EACbC,QAAQ,EACRC,eAAgB,EAChBC,cAAe,IACfxB,SAAU,KACVyB,MAAO,KACPC,OAAQ,KACRtB,UAAW,GACXuB,MAAO,KACPC,UAAW,CACPC,KAAM,CACFC,QAAS,UACTC,SAAU,KAEdC,MAAO,CACHF,QAAS,WACTC,SAAU,IACV7B,MAAM,KAKlBC,kBAAmB,SAASC,GACxB,IAAIR,EAAOC,KACPoC,EAAgB7D,EAAM8D,SAE1BtC,EAAKuC,UAAY,GAEjBjE,EAAEkE,KAAKhC,GAAW,SAASiC,EAAKC,GAC5B1C,EAAKuC,UAAUG,EAAMC,MAAQN,EAAcK,EAAMJ,UAAYhE,EAAE,IAAMoE,EAAME,YAAYC,WAG3F7C,EAAK8C,iBAAmBT,EAAc/C,GACtCU,EAAK+C,cAAgBV,EAAc9C,IAGvCyD,aAAc,SAASL,EAAMM,GACzB,IAAIC,EAAkBD,EAAOhD,KAAK8C,cAAgB9C,KAAK6C,iBAEvD,OAAOH,GAAO1C,KAAKsC,UAAUI,IAA2BO,GAG5DpC,iBAAkB,SAASC,EAAUE,EAAKC,GACtC,IAGIiC,EAAQnC,EAHRhB,EAAOC,KACPmD,EAAW,CAAEC,WAAY,EAAGC,aAAc,EAAGC,cAAe,EAAGC,YAAa,GAC5EC,EAA+B,OAATvC,EAAgB/B,EAAOC,EAGjD,OAAQ2B,GACJ,IAAK,OACDoC,EAASO,UAAeD,EACxBzC,EAAW9B,OAAYuE,SAChBL,EAASG,cACpB,MACA,KAAKnE,EACD+D,EAASjE,YACT8B,EAAW9B,kBACJkE,EAASE,aACpB,MACA,KAAKnE,EACDgE,EAASjE,WACT8B,EAAW9B,mBACJkE,EAASI,YACpB,MACA,IA7GH,KA8GOL,EAASjE,OAAYuE,EACrBzC,EAAW0C,UAAeD,SACnBL,EAASC,WACpB,MACA,QACgB,OAARpC,GACAkC,EAASO,UAAeD,EACxBzC,EAAW9B,OAAYuE,SAChBL,EAASG,gBAEhBJ,EAASjE,OAAYuE,EACrBzC,EAAW0C,UAAeD,SACnBL,EAASC,YAK5BrD,EAAK2D,aAAeR,EACpBnD,EAAK4D,eAAiB5C,EACtBhB,EAAK6D,eAAiBT,GAG1BU,mBAAoB,SAAS/D,EAASgE,GAClC,IAGIC,EAHAhE,EAAOC,KACP0B,EAAiB5B,EAAQ4B,eACzBsC,GAAeC,MAAMvC,IAAmBA,EAAiB,EAG7D,SAASwC,EAAYC,GACjBA,EAAOC,GAAGzF,EAAQS,GAAI,WAClBW,EAAKsE,WAAWP,MAIpBhE,EAAQ0B,YACRsC,EAAMQ,KAAK,YAAY,WACfN,EACAtF,GAAW,WACPwF,EAAYJ,EAAMjE,WACnB6B,GAEHwC,EAAYJ,EAAMjE,YAGnBC,EAAQ2B,SACfsC,EAAYD,EAAMjE,QAAQ0E,KAAKzF,GAC3BkF,EACAtF,GAAW,WACPwF,EAAYH,KACbrC,GAEHwC,EAAYH,KAKxBS,WAAY,SAASC,EAAS3E,GAC1B,IAIIgE,EAAOY,EAJP3E,EAAOC,KACP2B,EAAgB7B,EAAQ6B,cACxBgD,EAAI7E,EAAQiB,SAASE,KACrB2D,EAAI9E,EAAQiB,SAASC,IAGzB0D,EAAYrG,EAAE,IAAM0B,EAAKS,MAAX,mBAA6CqE,OAE3Df,EAAQ,IAAIvF,EAAMmB,GAAGoF,MAAML,EAAS,CAChCM,OAAQL,EAAU,GAAKA,EAAYM,SAASC,KAC5C/B,OAAQnD,EAAK2D,aACb3C,SAAUhB,EAAK4D,eACf5B,UAAWjC,EAAQiC,UACnBmD,kBAAkB,EAClBC,OAAO,EACPC,UAAW,GACXxE,MAAOb,EAAKW,OACZyB,MAAO,WACHpC,EAAKsF,aAAarF,KAAKH,UAE3ByF,WAAY,SAASC,GACjBA,EAAEC,OAAO3F,QAAQ4F,IAAIrG,GACrBmG,EAAEC,OAAO3F,QAAQ0E,KAAKzF,GAAS2G,IAAIrG,GACnCmG,EAAEC,OAAOE,aAIjB3F,EAAK8D,mBAAmB/D,EAASgE,GAEjCW,EAAQkB,YAAY,mBAEhBjB,EAAU,GACVZ,EAAM9B,QAEI,OAAN2C,IACAA,EAAItG,EAAEmB,QAAQoC,QAAU6C,EAAQmB,aAAe9F,EAAQiB,SAASQ,OAG1D,OAANqD,IACAA,EAAIvG,EAAEmB,QAAQqC,SAAW4C,EAAQoB,cAAgB/F,EAAQiB,SAASO,QAGtEwC,EAAM9B,KAAK2C,EAAGC,IAGlBd,EAAMW,QAAQqB,SAAS/F,EAAKS,OAAOuF,IAAItH,EAAO,CAAEuH,OAAQ,EAAEC,OAAQ,OAASlG,EAAK6D,iBAE5E9D,EAAQiB,SAASM,QACjByC,EAAMW,QAAQsB,IAAI,WAAY,SAC1BrB,EAAU,IACV3E,EAAKmG,WAAWpC,EAAMW,SAAS,IAE3BC,EAAU,IAClB3E,EAAKmG,WAAWpC,EAAMW,SAAS,GAG/B9C,EAAgB,GAChBjD,GAAW,WACPqB,EAAKsE,WAAWP,KACjBnC,IAIX0C,WAAY,SAASP,GACjBA,EAAMW,QAAQqB,SAAS/G,GACvB+E,EAAM3B,SAGV+D,WAAY,SAASzB,EAAS0B,GAC1B,IAAIC,EAAM/H,EAAEmB,QACR6G,EAAOF,GAAO,EAAI,EAEtB1B,EAAQsB,IAAI,CACR/E,IAAKsF,SAAS7B,EAAQsB,IAAI9G,GAAM,IAAMoH,EAAOD,EAAIG,YACjDtF,KAAMqF,SAAS7B,EAAQsB,IAAI7G,GAAO,IAAMmH,EAAOD,EAAII,gBAI3DC,oBAAqB,SAAS3G,EAAS2E,GACnC,IAAI1E,EAAOC,KACP0B,EAAiB5B,EAAQ4B,eACzBsC,GAAeC,MAAMvC,IAAmBA,EAAiB,EAE7D,SAASwC,EAAYC,GACjBA,EAAOC,GAAGzF,EAAQS,EAAIW,EAAK2G,YAAYpC,KAAKvE,EAAM0E,IAGlD3E,EAAQ0B,YACJwC,EACAtF,GAAW,WACPwF,EAAYO,KACb/C,GAEHwC,EAAYO,GAET3E,EAAQ2B,SACXuC,EACAtF,GAAW,WACPwF,EAAYO,EAAQF,KAAKzF,MAC1B4C,GAEHwC,EAAYO,EAAQF,KAAKzF,MAKrC6H,YAAa,SAASlC,EAAS3E,GAC3B,IAAIC,EAAOC,KACP2B,EAAgB7B,EAAQ6B,cACxBI,EAAYjC,EAAQiC,UACpB6E,EArRH,MAqRqB9G,EAAQgB,UAAkBhB,EAAQgB,UAAY5B,EAAO,YAAc,WAGpFa,EAAK8G,gBACN9G,EAAK8G,cAAgB,IAGzBpC,EACKkB,YAAY,WACZG,SAAS/F,EAAKS,OACdoG,GAAiB9G,EAAQK,UACzBE,OACAyG,aAAa/E,EAAUC,OAAQ,GAETjC,EAAKgH,mBACPxE,MAAK,SAASyE,EAAKnH,GACxCE,EAAK0G,oBAAoB3G,EAASzB,EAAEwB,IAEhC8B,EAAgB,IAAMtD,EAAEwB,GAASoH,KAAK1I,EAAM0I,KAAK,sBACjD5I,EAAEwB,GAASoH,KAAK1I,EAAM0I,KAAK,oBAAoB,GAC/ClH,EAAK8G,cAAcK,KACfxI,GAAW,WACXqB,EAAK2G,YAAYrI,EAAEwB,MACpB8B,SAKf+E,YAAa,SAASjC,GAClBA,EAAQqC,aAAarI,EAAOuB,KAAKF,QAAQiC,UAAUI,QAAS,EAAO,CAAEgF,SAAU,WAC3E1C,EAAQgB,IAAIrG,GAAImF,KAAKzF,GAAS2G,IAAIrG,GAClCqF,EAAQ2C,aAEZpH,KAAKqF,aAAaZ,IAGtBY,aAAc,SAASxF,GACnBG,KAAKqH,QAAQxI,EAAM,CAAEgB,QAASA,IAC9BG,KAAKsH,QAAQ,WAAW,WACpB,MAAO,CAAEC,SAAU1H,OAI3B2H,KAAM,SAASC,EAAS/E,EAAMM,GAC1B,IAII0E,EAAMC,EAJN5H,EAAOC,KACPF,EAAUC,EAAKD,QACf2E,EAAUpG,EAjUR,uFAkUFuJ,EAAYrJ,EAAMkC,OAqDtB,OAlDKiC,IACDA,EAAO1D,GAGXyF,EAAQwC,KAAK,aAAcvE,GAEX,OAAZ+E,GAAoBA,IAAYnJ,GAA2B,KAAZmJ,IAE3ClJ,EAAMsJ,WAAWJ,KACjBA,EAAUA,KAGdE,EAAc,CAAEG,SAAUpF,EAAM+E,QAAS,GAAIM,YAAajI,EAAQ2B,QAG9DiG,EADArJ,EAAE2J,cAAcP,GACThJ,EAAOkJ,EAAaF,GAEpBhJ,EAAOkJ,EAAa,CAAEF,QAASA,IAG1ChD,EACKqB,SAASmC,kBAAsBvF,GAC/BwF,YAAYD,wBAA2BnI,EAAQ2B,QAC/CyG,YAAYD,0BAA6BnI,EAAQ2B,QACjDwF,KAAK,CACF,YAAa,QACbnF,MAAOhC,EAAQgC,QAElBiE,IAAI,CAAEnE,MAAO9B,EAAQ8B,MAAOC,OAAQ/B,EAAQ+B,SAC5CsG,OAAOpI,EAAKgD,aAAaL,EAAMM,EAAxBjD,CAA8B2H,IAE1CjD,EAAQF,KAAK,2BAA2B0C,KAAK,KAAMW,GACnDnD,EAAQwC,KAAK,mBAAoBW,GAEjC7H,EAAKuH,QAAQ,WAAW,WACpB,MAAO,CACHC,SAAU9C,EACV2D,KAAM,CAAC,CAAEC,SAAUX,QAIvBrJ,EAAEyB,EAAQK,UAAU,GACpBJ,EAAK4G,YAAYlC,EAAS3E,GAE1BC,EAAKyE,WAAWC,EAAS3E,GAG7BC,EAAKsH,QAAQzI,EAAM,CAAEiB,QAAS4E,KAG3B1E,GAGXuI,SAAU,SAASb,EAAS/E,GACxB1C,KAAKwH,KAAKC,EAAS/E,GAAM,IAG7B6F,KAAM,SAASd,GACX,OAAOzH,KAAKwH,KAAKC,EAASzI,IAG9BwJ,QAAS,SAASf,GACd,OAAOzH,KAAKwH,KAAKC,EA5YX,YA+YVgB,QAAS,SAAShB,GACd,OAAOzH,KAAKwH,KAAKC,EA/YX,YAkZViB,MAAO,SAASjB,GACZ,OAAOzH,KAAKwH,KAAKC,EAlZb,UAqZRpH,KAAM,WACF,IAAIN,EAAOC,KACP2I,EAAsB5I,EAAKgH,mBAmB/B,OAjBIhH,EAAKD,QAAQK,UACTJ,EAAK8G,eACL9G,EAAK8G,cAAc+B,QAAQC,cAE/B9I,EAAK8G,cAAgB,GACrB8B,EAAoBpG,MAAK,SAASyE,EAAKnH,GACnCE,EAAK2G,YAAYrI,EAAEwB,QAGvB8I,EAAoBpG,MAAK,SAASyE,EAAKnH,GACnC,IAAIiE,EAAQzF,EAAEwB,GAASuI,KAAK,cACxBtE,GACA/D,EAAKsE,WAAWP,MAKrB/D,GAGXgH,iBAAkB,WACd,IACI+B,EAAezK,EAAE,IADV2B,KACqBQ,MAAX,mBAErB,OAHWR,KAGFF,QAAQK,SACN2I,EAEAA,EAAaC,SAAS,oBAIrCC,WAAY,SAASC,GACjB,IACInJ,EADAC,EAAOC,KAGXxB,EAAOyB,GAAG+I,WAAW9I,KAAKH,EAAMkJ,GAEhCnJ,EAAUC,EAAKD,QAEXmJ,EAAW1I,YAAcjC,GACzByB,EAAKO,kBAAkBR,EAAQS,WAG/B0I,EAAWnI,WAAaxC,GAAe2K,EAAWlI,WAAazC,GAC/DyB,EAAKc,iBAAiBf,EAAQgB,SAAUhB,EAAQiB,SAASC,IAAKlB,EAAQiB,SAASE,OAIvFyE,QAAS,WACLlH,EAAOyB,GAAGyF,QAAQxF,KAAKF,MACvBA,KAAK+G,mBAAmBtB,IAAIrG,GAAImF,KAAKzF,GAAS2G,IAAIrG,MAI1Db,EAAMmB,GAAGwJ,OAAO3J","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.popup'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"notification\",\n name: \"Notification\",\n category: \"web\",\n description: \"The Notification widget displays user alerts.\",\n depends: [ \"core\", \"popup\" ],\n features: [ {\n id: \"notification-fx\",\n name: \"Animation\",\n description: \"Support for animation\",\n depends: [ \"fx\" ]\n } ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n Widget = kendo.ui.Widget,\n extend = $.extend,\n setTimeout = window.setTimeout,\n CLICK = \"click\",\n SHOW = \"show\",\n HIDE = \"hide\",\n KNOTIFICATION = \"k-notification\",\n KICLOSE = \".k-notification-wrap .k-i-close\",\n KHIDING = \"k-hiding\",\n INFO = \"info\",\n SUCCESS = \"success\",\n WARNING = \"warning\",\n ERROR = \"error\",\n TOP = \"top\",\n LEFT = \"left\",\n BOTTOM = \"bottom\",\n RIGHT = \"right\",\n UP = \"up\",\n NS = \".kendoNotification\",\n WRAPPER = '
',\n TEMPLATE = '
' +\n '' +\n '
#=content#
' +\n '' +\n '
',\n SAFE_TEMPLATE = TEMPLATE.replace(\"#=content#\", \"#:content#\");\n\n var Notification = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n\n options = that.options;\n\n if (!options.appendTo || !$(options.appendTo).is(element)) {\n that.element.hide();\n }\n\n that._compileTemplates(options.templates);\n that._guid = \"_\" + kendo.guid();\n that._isRtl = kendo.support.isRtl(element);\n that._compileStacking(options.stacking, options.position.top, options.position.left);\n\n kendo.notify(that);\n },\n\n events: [\n SHOW,\n HIDE\n ],\n\n options: {\n name: \"Notification\",\n position: {\n pinned: true,\n top: null,\n left: null,\n bottom: 20,\n right: 20\n },\n stacking: \"default\",\n hideOnClick: true,\n button: false,\n allowHideAfter: 0,\n autoHideAfter: 5000,\n appendTo: null,\n width: null,\n height: null,\n templates: [],\n title: null,\n animation: {\n open: {\n effects: \"fade:in\",\n duration: 300\n },\n close: {\n effects: \"fade:out\",\n duration: 600,\n hide: true\n }\n }\n },\n\n _compileTemplates: function(templates) {\n var that = this;\n var kendoTemplate = kendo.template;\n\n that._compiled = {};\n\n $.each(templates, function(key, value) {\n that._compiled[value.type] = kendoTemplate(value.template || $(\"#\" + value.templateId).html());\n });\n\n that._defaultCompiled = kendoTemplate(TEMPLATE);\n that._safeCompiled = kendoTemplate(SAFE_TEMPLATE);\n },\n\n _getCompiled: function(type, safe) {\n var defaultCompiled = safe ? this._safeCompiled : this._defaultCompiled;\n\n return type ? this._compiled[type] || defaultCompiled : defaultCompiled;\n },\n\n _compileStacking: function(stacking, top, left) {\n var that = this,\n paddings = { paddingTop: 0, paddingRight: 0, paddingBottom: 0, paddingLeft: 0 },\n horizontalAlignment = left !== null ? LEFT : RIGHT,\n origin, position;\n\n switch (stacking) {\n case \"down\":\n origin = BOTTOM + \" \" + horizontalAlignment;\n position = TOP + \" \" + horizontalAlignment;\n delete paddings.paddingBottom;\n break;\n case RIGHT:\n origin = TOP + \" \" + RIGHT;\n position = TOP + \" \" + LEFT;\n delete paddings.paddingRight;\n break;\n case LEFT:\n origin = TOP + \" \" + LEFT;\n position = TOP + \" \" + RIGHT;\n delete paddings.paddingLeft;\n break;\n case UP:\n origin = TOP + \" \" + horizontalAlignment;\n position = BOTTOM + \" \" + horizontalAlignment;\n delete paddings.paddingTop;\n break;\n default:\n if (top !== null) {\n origin = BOTTOM + \" \" + horizontalAlignment;\n position = TOP + \" \" + horizontalAlignment;\n delete paddings.paddingBottom;\n } else {\n origin = TOP + \" \" + horizontalAlignment;\n position = BOTTOM + \" \" + horizontalAlignment;\n delete paddings.paddingTop;\n }\n break;\n }\n\n that._popupOrigin = origin;\n that._popupPosition = position;\n that._popupPaddings = paddings;\n },\n\n _attachPopupEvents: function(options, popup) {\n var that = this,\n allowHideAfter = options.allowHideAfter,\n attachDelay = !isNaN(allowHideAfter) && allowHideAfter > 0,\n closeIcon;\n\n function attachClick(target) {\n target.on(CLICK + NS, function() {\n that._hidePopup(popup);\n });\n }\n\n if (options.hideOnClick) {\n popup.bind(\"activate\", function() {\n if (attachDelay) {\n setTimeout(function() {\n attachClick(popup.element);\n }, allowHideAfter);\n } else {\n attachClick(popup.element);\n }\n });\n } else if (options.button) {\n closeIcon = popup.element.find(KICLOSE);\n if (attachDelay) {\n setTimeout(function() {\n attachClick(closeIcon);\n }, allowHideAfter);\n } else {\n attachClick(closeIcon);\n }\n }\n },\n\n _showPopup: function(wrapper, options) {\n var that = this,\n autoHideAfter = options.autoHideAfter,\n x = options.position.left,\n y = options.position.top,\n popup, openPopup;\n\n openPopup = $(\".\" + that._guid + \":not(.\" + KHIDING + \")\").last();\n\n popup = new kendo.ui.Popup(wrapper, {\n anchor: openPopup[0] ? openPopup : document.body,\n origin: that._popupOrigin,\n position: that._popupPosition,\n animation: options.animation,\n copyAnchorStyles: false,\n modal: true,\n collision: \"\",\n isRtl: that._isRtl,\n close: function() {\n that._triggerHide(this.element);\n },\n deactivate: function(e) {\n e.sender.element.off(NS);\n e.sender.element.find(KICLOSE).off(NS);\n e.sender.destroy();\n }\n });\n\n that._attachPopupEvents(options, popup);\n\n wrapper.removeClass(\"k-group k-reset\");\n\n if (openPopup[0]) {\n popup.open();\n } else {\n if (x === null) {\n x = $(window).width() - wrapper.outerWidth() - options.position.right;\n }\n\n if (y === null) {\n y = $(window).height() - wrapper.outerHeight() - options.position.bottom;\n }\n\n popup.open(x, y);\n }\n\n popup.wrapper.addClass(that._guid).css(extend({ margin: 0,zIndex: 10050 }, that._popupPaddings));\n\n if (options.position.pinned) {\n popup.wrapper.css(\"position\", \"fixed\");\n if (openPopup[0]) {\n that._togglePin(popup.wrapper, true);\n }\n } else if (!openPopup[0]) {\n that._togglePin(popup.wrapper, false);\n }\n\n if (autoHideAfter > 0) {\n setTimeout(function() {\n that._hidePopup(popup);\n }, autoHideAfter);\n }\n },\n\n _hidePopup: function(popup) {\n popup.wrapper.addClass(KHIDING);\n popup.close();\n },\n\n _togglePin: function(wrapper, pin) {\n var win = $(window),\n sign = pin ? -1 : 1;\n\n wrapper.css({\n top: parseInt(wrapper.css(TOP), 10) + sign * win.scrollTop(),\n left: parseInt(wrapper.css(LEFT), 10) + sign * win.scrollLeft()\n });\n },\n\n _attachStaticEvents: function(options, wrapper) {\n var that = this,\n allowHideAfter = options.allowHideAfter,\n attachDelay = !isNaN(allowHideAfter) && allowHideAfter > 0;\n\n function attachClick(target) {\n target.on(CLICK + NS, that._hideStatic.bind(that, wrapper));\n }\n\n if (options.hideOnClick) {\n if (attachDelay) {\n setTimeout(function() {\n attachClick(wrapper);\n }, allowHideAfter);\n } else {\n attachClick(wrapper);\n }\n } else if (options.button) {\n if (attachDelay) {\n setTimeout(function() {\n attachClick(wrapper.find(KICLOSE));\n }, allowHideAfter);\n } else {\n attachClick(wrapper.find(KICLOSE));\n }\n }\n },\n\n _showStatic: function(wrapper, options) {\n var that = this,\n autoHideAfter = options.autoHideAfter,\n animation = options.animation,\n insertionMethod = options.stacking == UP || options.stacking == LEFT ? \"prependTo\" : \"appendTo\",\n initializedNotifications;\n\n if (!that._hideTimeouts) {\n that._hideTimeouts = [];\n }\n\n wrapper\n .removeClass(\"k-popup\")\n .addClass(that._guid)\n [insertionMethod](options.appendTo)\n .hide()\n .kendoAnimate(animation.open || false);\n\n initializedNotifications = that.getNotifications();\n initializedNotifications.each(function(idx, element) {\n that._attachStaticEvents(options, $(element));\n\n if (autoHideAfter > 0 && !$(element).attr(kendo.attr(\"has-hidetimeout\"))) {\n $(element).attr(kendo.attr(\"has-hidetimeout\"), true);\n that._hideTimeouts.push(\n setTimeout(function() {\n that._hideStatic($(element));\n }, autoHideAfter));\n }\n });\n },\n\n _hideStatic: function(wrapper) {\n wrapper.kendoAnimate(extend(this.options.animation.close || false, { complete: function() {\n wrapper.off(NS).find(KICLOSE).off(NS);\n wrapper.remove();\n } }));\n this._triggerHide(wrapper);\n },\n\n _triggerHide: function(element) {\n this.trigger(HIDE, { element: element });\n this.angular(\"cleanup\", function() {\n return { elements: element };\n });\n },\n\n show: function(content, type, safe) {\n var that = this,\n options = that.options,\n wrapper = $(WRAPPER),\n contentId = kendo.guid(),\n args, defaultArgs;\n\n if (!type) {\n type = INFO;\n }\n\n wrapper.attr(\"aria-label\", type);\n\n if (content !== null && content !== undefined$1 && content !== \"\") {\n\n if (kendo.isFunction(content)) {\n content = content();\n }\n\n defaultArgs = { typeIcon: type, content: \"\", closeButton: options.button };\n\n if ($.isPlainObject(content)) {\n args = extend(defaultArgs, content);\n } else {\n args = extend(defaultArgs, { content: content });\n }\n\n wrapper\n .addClass(KNOTIFICATION + \"-\" + type)\n .toggleClass(KNOTIFICATION + \"-button\", options.button)\n .toggleClass(KNOTIFICATION + \"-closable\", options.button)\n .attr({\n \"data-role\": \"alert\",\n title: options.title\n })\n .css({ width: options.width, height: options.height })\n .append(that._getCompiled(type, safe)(args));\n\n wrapper.find(\".k-notification-content\").attr(\"id\", contentId);\n wrapper.attr(\"aria-describedby\", contentId);\n\n that.angular(\"compile\", function() {\n return {\n elements: wrapper,\n data: [{ dataItem: args }]\n };\n });\n\n if ($(options.appendTo)[0]) {\n that._showStatic(wrapper, options);\n } else {\n that._showPopup(wrapper, options);\n }\n\n that.trigger(SHOW, { element: wrapper });\n }\n\n return that;\n },\n\n showText: function(content, type) {\n this.show(content, type, true);\n },\n\n info: function(content) {\n return this.show(content, INFO);\n },\n\n success: function(content) {\n return this.show(content, SUCCESS);\n },\n\n warning: function(content) {\n return this.show(content, WARNING);\n },\n\n error: function(content) {\n return this.show(content, ERROR);\n },\n\n hide: function() {\n var that = this,\n openedNotifications = that.getNotifications();\n\n if (that.options.appendTo) {\n if (that._hideTimeouts) {\n that._hideTimeouts.forEach(clearTimeout);\n }\n that._hideTimeouts = [];\n openedNotifications.each(function(idx, element) {\n that._hideStatic($(element));\n });\n } else {\n openedNotifications.each(function(idx, element) {\n var popup = $(element).data(\"kendoPopup\");\n if (popup) {\n that._hidePopup(popup);\n }\n });\n }\n\n return that;\n },\n\n getNotifications: function() {\n var that = this,\n guidElements = $(\".\" + that._guid + \":not(.\" + KHIDING + \")\");\n\n if (that.options.appendTo) {\n return guidElements;\n } else {\n return guidElements.children(\".\" + KNOTIFICATION);\n }\n },\n\n setOptions: function(newOptions) {\n var that = this,\n options;\n\n Widget.fn.setOptions.call(that, newOptions);\n\n options = that.options;\n\n if (newOptions.templates !== undefined$1) {\n that._compileTemplates(options.templates);\n }\n\n if (newOptions.stacking !== undefined$1 || newOptions.position !== undefined$1) {\n that._compileStacking(options.stacking, options.position.top, options.position.left);\n }\n },\n\n destroy: function() {\n Widget.fn.destroy.call(this);\n this.getNotifications().off(NS).find(KICLOSE).off(NS);\n }\n });\n\n kendo.ui.plugin(Notification);\n\n })(window.kendo.jQuery);\n\n}));\n"]}