{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wool-fe/src/views/widgets/hubItemWidget/js/hubItemWidget.js","webpack:///./truncate.js"],"names":["HubItemWidget","_createClass","element","_classCallCheck","this","$element","$","limit","$summary","find","concat","summaryHtml","html","summaryText","text","originalHtml","handleTruncate","__webpack_require__","d","__webpack_exports__","truncate_html__WEBPACK_IMPORTED_MODULE_0__","self","skipClicks","arguments","length","undefined","trimmedHtml","truncate","ellipsis","on","e","currentTarget","hasClass","removeClass","addClass"],"mappings":"u4BAAA,IAKaA,4GAAaC,CACzB,SAAAD,EAAYE,gGAASC,CAAAC,KAAAJ,GACpBI,KAAKF,QAAUA,EACfE,KAAKC,SAAWC,EAAEJ,GAClBE,KAAKG,MAAQ,IACbH,KAAKI,SAAWJ,KAAKC,SAASI,KAAI,IAAAC,OATxB,gBASgC,UAC1CN,KAAKO,YAAcP,KAAKI,SAASI,OACjCR,KAAKS,YAAcT,KAAKI,SAASM,OACjCV,KAAKW,aAAeX,KAAKO,YAGzBK,YAAeZ,4DChBjB,SAAAE,GAAAW,EAAAC,EAAAC,EAAA,sBAAAH,IAAA,IAAAI,EAAAH,EAAA,KAEaD,EAAiB,SAACK,GAA6B,IAAvBC,EAAUC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAC9C,GAAGF,EAAKR,YAAYW,OAASH,EAAKd,MAAO,CACxC,IAIImB,EAAcC,YAASN,EAAKV,YAAaU,EAAKd,OACjDqB,SAAQ,QAAAlB,OALG,sDAQZW,EAAKb,SAASI,KAAKc,GAEfJ,GACHD,EAAKhB,SAASwB,GAAG,QAAO,aAAgB,SAACC,GACrCxB,EAAEwB,EAAEC,eAAeC,SAAS,YAC9BX,EAAKb,SAASI,KAAKS,EAAKN,aAAe,qDACvCT,EAAEwB,EAAEC,eAAeE,YAAY,WAAWnB,KAAK,eAG/CO,EAAKb,SAASI,KAAKc,GACnBpB,EAAEwB,EAAEC,eAAeG,SAAS,WAAWpB,KAAK","file":"widget-4.430117f348aedc9992ce.js","sourcesContent":["const NS = 'HubItemWidget';\nconst CLS = 'hubItemWidget';\n\nimport { handleTruncate } from '../../../../global/js/truncate';\n\nexport class HubItemWidget {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\t\tthis.limit = 300; // reserved limit (characters)\n\t\tthis.$summary = this.$element.find(`.${CLS}-desc`);\n\t\tthis.summaryHtml = this.$summary.html();\n\t\tthis.summaryText = this.$summary.text(); // for comparison without the extra characters from html tags\n\t\tthis.originalHtml = this.summaryHtml;\n\n\t\t// handle truncate (read more / read less)\n\t\thandleTruncate(this);\n\t}\n}\n","import truncate from 'truncate-html';\n\nexport const handleTruncate = (self, skipClicks = false) => {\n\tif(self.summaryText.length > self.limit) {\n\t\tlet readMore = `Read more`;\n\t\tlet readLess = `Read less`;\n\n\t\t// trim the string\n\t\tlet trimmedHtml = truncate(self.summaryHtml, self.limit, {\n\t\t\tellipsis: ` ... ${readMore}`\n\t\t});\n\n\t\tself.$summary.html(trimmedHtml);\n\n\t\tif(!skipClicks) {\n\t\t\tself.$element.on('click', `.read-more`, (e) => {\n\t\t\t\tif($(e.currentTarget).hasClass('is-more')) {\n\t\t\t\t\tself.$summary.html(self.originalHtml + ' ' + readLess);\n\t\t\t\t\t$(e.currentTarget).removeClass('is-more').text('Read less');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tself.$summary.html(trimmedHtml);\n\t\t\t\t\t$(e.currentTarget).addClass('is-more').text('Read more');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n"],"sourceRoot":""}