{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/widgets/siteMenuWidget/js/siteMenuWidget.js"],"names":["CLS","SiteMenuWidget","element","_classCallCheck","this","$element","$","$buttonLogout","find","concat","logoutAPI","data","requestVerificationToken","dataRedirectURL","reportApi","logoutClickEvent","loadReportsCount","key","value","_this","on","event","preventDefault","stopPropagation","request","Request","method","headers","X-Requested-With","X-XSRF-Token","fetch","then","response","status","window","location","_this2","setSiteMenuLinkCountWidgetValue","_","isNil","$siteMenuLinkCountWidget","length","html","show","hide","ajax","type","url","dataType","success","error"],"mappings":"63BAAA,IACMA,EAAM,iBAECC,EAAc,WAYzB,SAXD,SAAAA,EAAYC,gGAASC,CAAAC,KAAAH,GACpBG,KAAKF,QAAUA,EACfE,KAAKC,SAAWC,EAAEJ,GAClBE,KAAKG,cAAgBH,KAAKC,SAASG,KAAI,IAAAC,OAAKT,EAAG,uBAC/CI,KAAKM,UAAYN,KAAKG,cAAcI,KAAK,aACzCP,KAAKQ,yBAA2BR,KAAKG,cAAcI,KAAK,4BACxDP,KAAKS,gBAAkBT,KAAKG,cAAcI,KAAK,eAC/CP,KAAKU,UAAYV,KAAKC,SAASM,KAAK,aAEpCP,KAAKW,mBACLX,KAAKY,yBACLC,IAAA,mBAAAC,MAED,WAAmB,IAAAC,EAAAf,KAClBA,KAAKG,cAAca,GAAG,QAAS,SAACC,GAC/BA,EAAMC,iBACND,EAAME,kBAEN,IAAIC,EAAU,IAAIC,QAAQN,EAAKT,WAC9BgB,OAAQ,OACRC,SACCC,mBAAoB,iBACpBC,eAAgBV,EAAKP,4BAKvBkB,MAAMN,GAASO,KAAK,SAACC,GACG,MAApBA,EAASC,SACXC,OAAOC,SAAWhB,EAAKN,wBAI1BI,IAAA,mBAAAC,MAED,WAAmB,IAAAkB,EAAAhC,KACdiC,EAAkC,SAACL,EAAUf,GAChD,IAAIC,EAAQc,EAASf,GACrB,IAAIqB,EAAEC,MAAMrB,GAAQ,CACnB,IAAIsB,EAA2BJ,EAAK/B,SAASG,KAAI,4CAAAC,OAA6CQ,EAAG,MAC9FuB,GAA4BA,EAAyBC,OAAS,IAC7DvB,EAAQ,GACVsB,EAAyBE,KAAKxB,GAC9BsB,EAAyBG,SAGzBH,EAAyBE,KAAK,MAC9BF,EAAyBI,WAS7BtC,EAAEuC,MACDC,KAAM,MACNC,IAAK3C,KAAKU,UACVkC,SAAU,OACVC,QAAS,SAACjB,GACLM,EAAEC,MAAMP,KACXK,EAAgCL,EAAU,2BAC1CK,EAAgCL,EAAU,mBAG5CkB,MAAO,8GAnEiB","file":"widget-24.2f662a3aa586e55a56ca.js","sourcesContent":["const NS = 'SiteMenuWidget';\nconst CLS = 'siteMenuWidget';\n\nexport class SiteMenuWidget {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\t\tthis.$buttonLogout = this.$element.find(`.${CLS}-menu-link--logout`);\n\t\tthis.logoutAPI = this.$buttonLogout.data('logoutApi');\n\t\tthis.requestVerificationToken = this.$buttonLogout.data('requestVerificationToken');\n\t\tthis.dataRedirectURL = this.$buttonLogout.data('redirectUrl');\n\t\tthis.reportApi = this.$element.data('reportApi');\n\n\t\tthis.logoutClickEvent();\n\t\tthis.loadReportsCount();\n\t}\n\n\tlogoutClickEvent() {\n\t\tthis.$buttonLogout.on('click', (event) => {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\n\t\t\tlet request = new Request(this.logoutAPI, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: {\n\t\t\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t\t\t\t'X-XSRF-Token': this.requestVerificationToken\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// submit form data using fetch api\n\t\t\tfetch(request).then((response) => {\n\t\t\t\tif(response.status === 200) {\n\t\t\t\t\twindow.location = this.dataRedirectURL;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tloadReportsCount() {\n\t\tlet setSiteMenuLinkCountWidgetValue = (response, key) => {\n\t\t\tlet value = response[key];\n\t\t\tif(!_.isNil(value)) {\n\t\t\t\tlet $siteMenuLinkCountWidget = this.$element.find(`.siteMenuLinkCountWidget[data-report-key=${key}]`);\n\t\t\t\tif($siteMenuLinkCountWidget && $siteMenuLinkCountWidget.length > 0) {\n\t\t\t\t\tif(value > 0) {\n\t\t\t\t\t\t$siteMenuLinkCountWidget.html(value);\n\t\t\t\t\t\t$siteMenuLinkCountWidget.show();\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t$siteMenuLinkCountWidget.html(null);\n\t\t\t\t\t\t$siteMenuLinkCountWidget.hide();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconsole.error(`${NS}::Error`, `The ${key} value does not exist in the response`);\n\t\t\t}\n\t\t};\n\n\t\t$.ajax({\n\t\t\ttype: 'GET',\n\t\t\turl: this.reportApi,\n\t\t\tdataType: 'json',\n\t\t\tsuccess: (response) => {\n\t\t\t\tif(!_.isNil(response)) {\n\t\t\t\t\tsetSiteMenuLinkCountWidgetValue(response, 'UnreadNotificationCount');\n\t\t\t\t\tsetSiteMenuLinkCountWidgetValue(response, 'FavoriteCount');\n\t\t\t\t}\n\t\t\t},\n\t\t\terror: () => {\n\t\t\t\tconsole.error(`${NS}::Error`, 'Could not retrieve the count values…');\n\t\t\t}\n\t\t});\n\t}\n}\n"],"sourceRoot":""}