{"version":3,"file":"../../widgets/headerNotifyWidget.js","sources":["widgets/headerNotifyWidget.js"],"sourcesContent":["\"use strict\";\n\nvar notifyWidget = function () {\n var messageTemplate = '';\n var notifyWidgetParams = {\n model: {},\n url: {},\n template: {},\n needLoad: {}\n };\n\n function renderUnreadMssgs(data) {\n var $mssgsListWrap = $('.popup .mssgs-list-wrap');\n\n if (data.Messages.length) {\n var template = messageTemplate.render(data);\n $('.popup .mssgs-list').html(template).show();\n } else {\n $mssgsListWrap.addClass('-empty');\n }\n }\n\n function getUnreadMssgs(callback) {\n $.ajax({\n url: notifyWidgetParams.url.getMssgs,\n type: 'GET',\n success: function success(data) {\n callback(data);\n }\n });\n }\n\n function hideMssgPopup(e) {\n var $popup = $('#mssgNotifyLink > .popup');\n var $popupBtn = $('.account-menu-mssgs');\n var $mssgsListWrap = $popup.find('.mssgs-list-wrap');\n\n if (!$popup.is(e.target) && $popup.has(e.target).length === 0 && !$popupBtn.is(e.target) && $popupBtn.has(e.target).length === 0) {\n $popup.hide();\n $mssgsListWrap.removeClass('-empty');\n }\n }\n\n function unbindHandlers() {\n $(document).off('mouseup', hideMssgPopup);\n $(document).off('click', '.account-menu-mssgs');\n $(document).off('click', '.popup-close');\n }\n\n function bindHandlers() {\n $(document).on('mouseup', hideMssgPopup);\n $(document).on('click', '.account-menu-mssgs', function () {\n var $this = $(this);\n var $popup = $this.parent().next('.popup');\n var $loader = $popup.find('.loader');\n $popup.show();\n\n if (notifyWidgetParams.needLoad) {\n $loader.show();\n getUnreadMssgs(function (data) {\n $loader.hide();\n renderUnreadMssgs(data);\n });\n } else {\n renderUnreadMssgs({\n Messages: []\n });\n }\n });\n $(document).on('click', '.popup-close', function () {\n var $this = $(this);\n var $mssgsListWrap = $('.popup .mssgs-list-wrap');\n $this.closest('.popup').hide();\n $mssgsListWrap.removeClass('-empty');\n });\n }\n\n function setParams(notifyParams) {\n notifyWidgetParams = $.extend({}, notifyWidgetParams, notifyParams);\n }\n\n function compileTemplates() {\n messageTemplate = Hogan.compile(notifyWidgetParams.template.mssg);\n }\n\n function init(notifyParams) {\n unbindHandlers();\n setParams(notifyParams);\n compileTemplates();\n bindHandlers();\n }\n\n return {\n init: init\n };\n}();"],"names":["notifyWidget","messageTemplate","notifyWidgetParams","model","url","template","needLoad","renderUnreadMssgs","data","$mssgsListWrap","$","Messages","length","render","html","show","addClass","hideMssgPopup","e","$popup","$popupBtn","find","is","target","has","hide","removeClass","bindHandlers","document","on","callback","this","parent","next","$loader","ajax","getMssgs","type","success","$this","closest","init","notifyParams","off","extend","Hogan","compile","mssg"],"mappings":"aAEA,IAAIA,aAAe,WACjB,IAAIC,EAAkB,GAClBC,EAAqB,CACvBC,MAAO,GACPC,IAAK,GACLC,SAAU,GACVC,SAAU,IAGZ,SAASC,EAAkBC,GACzB,IAAIC,EAAiBC,EAAE,2BAEnBF,EAAKG,SAASC,QACZP,EAAWJ,EAAgBY,OAAOL,GACtCE,EAAE,sBAAsBI,KAAKT,GAAUU,QAEvCN,EAAeO,SAAS,UAc5B,SAASC,EAAcC,GACrB,IAAIC,EAAST,EAAE,4BACXU,EAAYV,EAAE,uBACdD,EAAiBU,EAAOE,KAAK,oBAE5BF,EAAOG,GAAGJ,EAAEK,SAA2C,IAAhCJ,EAAOK,IAAIN,EAAEK,QAAQX,QAAiBQ,EAAUE,GAAGJ,EAAEK,SAA8C,IAAnCH,EAAUI,IAAIN,EAAEK,QAAQX,SAClHO,EAAOM,OACPhB,EAAeiB,YAAY,WAU/B,SAASC,IACPjB,EAAEkB,UAAUC,GAAG,UAAWZ,GAC1BP,EAAEkB,UAAUC,GAAG,QAAS,sBAAuB,WAC7C,IA9BoBC,EA+BhBX,EADQT,EAAEqB,MACKC,SAASC,KAAK,UAC7BC,EAAUf,EAAOE,KAAK,WAC1BF,EAAOJ,OAEHb,EAAmBI,UACrB4B,EAAQnB,OApCUe,EAqCH,SAAUtB,GACvB0B,EAAQT,OACRlB,EAAkBC,IAtCxBE,EAAEyB,KAAK,CACL/B,IAAKF,EAAmBE,IAAIgC,SAC5BC,KAAM,MACNC,QAAS,SAAiB9B,GACxBsB,EAAStB,OAqCTD,EAAkB,CAChBI,SAAU,OAIhBD,EAAEkB,UAAUC,GAAG,QAAS,eAAgB,WACtC,IAAIU,EAAQ7B,EAAEqB,MACVtB,EAAiBC,EAAE,2BACvB6B,EAAMC,QAAQ,UAAUf,OACxBhB,EAAeiB,YAAY,YAmB/B,MAAO,CACLe,KARF,SAAcC,GAzCZhC,EAAEkB,UAAUe,IAAI,UAAW1B,GAC3BP,EAAEkB,UAAUe,IAAI,QAAS,uBACzBjC,EAAEkB,UAAUe,IAAI,QAAS,gBA+BRD,EAUPA,EATVxC,EAAqBQ,EAAEkC,OAAO,GAAI1C,EAAoBwC,GAItDzC,EAAkB4C,MAAMC,QAAQ5C,EAAmBG,SAAS0C,MAO5DpB,MAvFe"}