{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wool-fe/src/views/widgets/woolMarketReportsListingItemWidget/js/woolMarketReportsListingItemWidget.js","webpack:///./truncate.js"],"names":["CLS","WoolMarketReportsListingItemWidget","_createClass","element","_this","this","_classCallCheck","$element","$","limit","$summary","find","concat","summaryHtml","html","summaryText","text","originalHtml","handleTruncate","on","click","__webpack_require__","d","__webpack_exports__","truncate_html__WEBPACK_IMPORTED_MODULE_0__","self","skipClicks","arguments","length","undefined","trimmedHtml","truncate","ellipsis","e","currentTarget","hasClass","removeClass","addClass"],"mappings":"45BAAA,IACMA,EAAM,qCAICC,4GAAkCC,CAC9C,SAAAD,EAAYE,GAAS,IAAAC,EAAAC,kGAAAC,CAAAD,KAAAJ,GACpBI,KAAKF,QAAUA,EACfE,KAAKE,SAAWC,EAAEL,GAClBE,KAAKI,MAAQ,IACbJ,KAAKK,SAAWL,KAAKE,SAASI,KAAI,IAAAC,OAAKZ,EAAG,UAC1CK,KAAKQ,YAAcR,KAAKK,SAASI,OACjCT,KAAKU,YAAcV,KAAKK,SAASM,OACjCX,KAAKY,aAAeZ,KAAKQ,YAIzBK,YAAeb,MAAM,GAGrBA,KAAKE,SAASY,GAAG,QAAS,aAAc,WAEvCf,EAAKG,SAASI,KAAI,IAAAC,OAAKZ,EAAG,aAAY,GAAGoB,gECtB5C,SAAAZ,GAAAa,EAAAC,EAAAC,EAAA,sBAAAL,IAAA,IAAAM,EAAAH,EAAA,KAEaH,EAAiB,SAACO,GAA6B,IAAvBC,EAAUC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAC9C,GAAGF,EAAKV,YAAYa,OAASH,EAAKhB,MAAO,CACxC,IAIIqB,EAAcC,YAASN,EAAKZ,YAAaY,EAAKhB,OACjDuB,SAAQ,QAAApB,OALG,sDAQZa,EAAKf,SAASI,KAAKgB,GAEfJ,GACHD,EAAKlB,SAASY,GAAG,QAAO,aAAgB,SAACc,GACrCzB,EAAEyB,EAAEC,eAAeC,SAAS,YAC9BV,EAAKf,SAASI,KAAKW,EAAKR,aAAe,qDACvCT,EAAEyB,EAAEC,eAAeE,YAAY,WAAWpB,KAAK,eAG/CS,EAAKf,SAASI,KAAKgB,GACnBtB,EAAEyB,EAAEC,eAAeG,SAAS,WAAWrB,KAAK","file":"widget-39.430117f348aedc9992ce.js","sourcesContent":["const NS = 'WoolMarketReportsListingItemWidget';\nconst CLS = 'woolMarketReportsListingItemWidget';\n\nimport { handleTruncate } from '../../../../global/js/truncate';\n\nexport class WoolMarketReportsListingItemWidget {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\t\tthis.limit = 210; // 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\t// (true) disabled read more / read less function\n\t\thandleTruncate(this, true);\n\n\t\t// read more should link to the item\n\t\tthis.$element.on('click', '.read-more', () => {\n\t\t\tconsole.log(this.$element.find(`.${CLS}-title a`));\n\t\t\tthis.$element.find(`.${CLS}-title a`)[0].click();\n\t\t});\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":""}