{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wool-fe/src/views/widgets/bookmarkSquareWidget/js/bookmarkSquareWidget.js"],"names":["BookmarkSquareWidget","element","_this","this","_classCallCheck","$element","$","bookmarkApi","data","unbookmarkApi","bookmarkMessage","id","on","event","url","preventDefault","stopPropagation","attr","concat","ajax","type","success","_response","_textStatus","jqXHR","status","displayBookmarkPopup","key","value","$bookmarkPopup","length","append","getBookmarkPopupMarkup","setTimeout","addClass","removeClass","remove"],"mappings":"g4BAAA,IAGaA,EAAoB,WA4C/B,SA3CD,SAAAA,EAAYC,GAAS,IAAAC,EAAAC,kGAAAC,CAAAD,KAAAH,GACpBG,KAAKF,QAAUA,EACfE,KAAKE,SAAWC,EAAEL,GAClBE,KAAKI,YAAcJ,KAAKE,SAASG,KAAK,eACtCL,KAAKM,cAAgBN,KAAKE,SAASG,KAAK,iBACxCL,KAAKO,gBAAkBP,KAAKE,SAASG,KAAK,oBAAsB,mBAChEL,KAAKQ,GAAKR,KAAKE,SAASG,KAAK,MAE7BL,KAAKE,SAASO,GAAG,QAAS,SAACC,GAQ1B,IAAIC,EAPJD,EAAME,iBACNF,EAAMG,kBAEHd,EAAKG,SAASG,KAAK,cAKuB,SAA1CN,EAAKG,SAASY,KAAK,oBACrBH,EAAG,GAAAI,OAAMhB,EAAKO,cAAa,QAAAS,OAAOhB,EAAKS,IACvCL,EAAEa,MACDC,KAAM,OACNN,IAAKA,EACLO,QAAS,SAACC,EAAWC,EAAaC,GACb,MAAjBA,EAAMC,QACRvB,EAAKG,SAASY,KAAK,mBAAmB,QAMzCH,EAAG,GAAAI,OAAMhB,EAAKK,YAAW,QAAAW,OAAOhB,EAAKS,IACrCL,EAAEa,MACDC,KAAM,OACNN,IAAKA,EACLO,QAAS,SAACC,EAAWC,EAAaC,GACb,MAAjBA,EAAMC,SACRvB,EAAKG,SAASY,KAAK,mBAAmB,GACtCf,EAAKwB,qCAMVC,IAAA,uBAAAC,MAED,WACC,IAAIC,EAAiBvB,EAAE,kBACpBuB,GAA4C,IAA1BA,EAAeC,SACnCxB,EAAE,QAAQyB,OAAO5B,KAAK6B,0BACtBH,EAAiBvB,EAAE,kBACnB2B,WAAW,WACVJ,EAAeK,SAAS,0BACtB,IAGHD,WAAW,WACVJ,EAAeM,YAAY,yBAE3BF,WAAW,WACVJ,EAAeO,UACb,MACD,UAEJT,IAAA,yBAAAC,MAED,WACC,6RAAAV,OAMKf,KAAKO,gBAAe,+SAzEM","file":"widget-1.430117f348aedc9992ce.js","sourcesContent":["const NS = 'BookmarkSquareWidget';\nconst CLS = 'bookmarkSquareWidget';\n\nexport class BookmarkSquareWidget {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\t\tthis.bookmarkApi = this.$element.data('bookmarkApi');\n\t\tthis.unbookmarkApi = this.$element.data('unbookmarkApi');\n\t\tthis.bookmarkMessage = this.$element.data('bookmarkMessage') || 'Item Bookmarked!';\n\t\tthis.id = this.$element.data('id');\n\n\t\tthis.$element.on('click', (event) => {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\n\t\t\tif(this.$element.data('readonly')) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet url;\n\t\t\tif(this.$element.attr('data-bookmarked') === 'true') {\n\t\t\t\turl = `${this.unbookmarkApi}?id=${this.id}`;\n\t\t\t\t$.ajax({\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\turl: url,\n\t\t\t\t\tsuccess: (_response, _textStatus, jqXHR) => {\n\t\t\t\t\t\tif(jqXHR.status === 204) {\n\t\t\t\t\t\t\tthis.$element.attr('data-bookmarked', false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\turl = `${this.bookmarkApi}?id=${this.id}`;\n\t\t\t\t$.ajax({\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\turl: url,\n\t\t\t\t\tsuccess: (_response, _textStatus, jqXHR) => {\n\t\t\t\t\t\tif(jqXHR.status === 204) {\n\t\t\t\t\t\t\tthis.$element.attr('data-bookmarked', true);\n\t\t\t\t\t\t\tthis.displayBookmarkPopup();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tdisplayBookmarkPopup() {\n\t\tlet $bookmarkPopup = $('.bookmarkPopup');\n\t\tif($bookmarkPopup && $bookmarkPopup.length === 0) {\n\t\t\t$('body').append(this.getBookmarkPopupMarkup());\n\t\t\t$bookmarkPopup = $('.bookmarkPopup');\n\t\t\tsetTimeout(() => {\n\t\t\t\t$bookmarkPopup.addClass('bookmarkPopup--reveal');\n\t\t\t}, 50);\n\n\t\t\t// 400ms to reveal and a 5 second delay to then conceal, and a 400ms delay to remove said element.\n\t\t\tsetTimeout(() => {\n\t\t\t\t$bookmarkPopup.removeClass('bookmarkPopup--reveal');\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t$bookmarkPopup.remove();\n\t\t\t\t}, 400);\n\t\t\t}, 3400);\n\t\t}\n\t}\n\n\tgetBookmarkPopupMarkup() {\n\t\treturn `
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t${this.bookmarkMessage}\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
`;\n\t}\n}\n"],"sourceRoot":""}