{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/widgets/programCoursesItemWidget/js/programCoursesItemWidget.js","webpack:///./wlc/truncate.js"],"names":["CLS","ProgramCoursesItemWidget","_createClass","element","_this","this","_classCallCheck","$element","$","$toggler","find","concat","on","hasClass","removeClass","addClass","$contentDescription","handleTruncate","__webpack_require__","d","__webpack_exports__","truncate_html__WEBPACK_IMPORTED_MODULE_0__","limit","arguments","length","undefined","html","text","originalHtml","readMoreLabel","data","readLessLabel","readMore","readLess","trimmedHtml","truncate","ellipsis","event","currentTarget"],"mappings":"k5BAAA,IACMA,EAAM,2BAICC,4GAAwBC,CACpC,SAAAD,EAAYE,GAAS,IAAAC,EAAAC,kGAAAC,CAAAD,KAAAJ,GACpBI,KAAKF,QAAUA,EACfE,KAAKE,SAAWC,EAAEL,GAElBE,KAAKI,SAAWJ,KAAKE,SAASG,KAAI,IAAAC,OAAKX,EAAG,aAC1CK,KAAKI,SAASG,GAAG,QAAS,WACrBR,EAAKG,SAASM,SAAQ,GAAAF,OAAIX,EAAG,cAIhCI,EAAKG,SAASO,YAAW,GAAAH,OAAIX,EAAG,cAHhCI,EAAKG,SAASQ,SAAQ,GAAAJ,OAAIX,EAAG,gBAO/BK,KAAKW,oBAAsBX,KAAKE,SAASG,KAAI,IAAAC,OAAKX,EAAG,yBAErDiB,YAAeZ,KAAKW,oBAAqB,2DCtB3C,SAAAR,GAAAU,EAAAC,EAAAC,EAAA,sBAAAH,IAAA,IAAAI,EAAAH,EAAA,KAEWD,EAAiB,SAACV,GAA0B,IAAhBe,EAAKC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,IAC1CG,EAAOnB,EAASmB,OAChBC,EAAOpB,EAASoB,OAChBC,EAAeF,EACfG,EAAgBtB,EAASuB,KAAK,mBAC9BC,EAAgBxB,EAASuB,KAAK,mBAElC,GAAGH,EAAKH,OAASF,EAAO,CACvB,IAAIU,EAAQ,mEAAArB,OAAsEkB,EAAa,QAC3FI,EAAQ,mEAAAtB,OAAsEoB,EAAa,QAG3FG,EAAcC,YAAST,EAAMJ,GAChCc,SAAQ,MAAAzB,OAAQqB,KAGjBzB,EAASmB,KAAKQ,GAEd3B,EAASK,GAAG,QAAO,aAAgB,SAACyB,GAChC7B,EAAE6B,EAAMC,eAAezB,SAAS,mBAClCN,EAASmB,KAAI,GAAAf,OAAIiB,EAAY,KAAAjB,OAAIsB,IAGjC1B,EAASmB,KAAKQ","file":"widget-7.2f662a3aa586e55a56ca.js","sourcesContent":["const NS = 'ProgramCoursesItemWidget';\nconst CLS = 'programCoursesItemWidget';\n\nimport { handleTruncate } from '../../../../global/js/wlc/truncate';\n\nexport class ProgramCoursesItemWidget {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\n\t\tthis.$toggler = this.$element.find(`.${CLS}-toggler`);\n\t\tthis.$toggler.on('click', () => {\n\t\t\tif(!this.$element.hasClass(`${CLS}--compact`)) {\n\t\t\t\tthis.$element.addClass(`${CLS}--compact`);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.$element.removeClass(`${CLS}--compact`);\n\t\t\t}\n\t\t});\n\n\t\tthis.$contentDescription = this.$element.find(`.${CLS}-content-description`);\n\n\t\thandleTruncate(this.$contentDescription, 300);\n\t}\n}\n","import truncate from 'truncate-html';\n\nexport let handleTruncate = ($element, limit = 250) => {\n\tlet html = $element.html();\n\tlet text = $element.text();\n\tlet originalHtml = html;\n\tlet readMoreLabel = $element.data('read-more-label');\n\tlet readLessLabel = $element.data('read-less-label');\n\n\tif(text.length > limit) {\n\t\tlet readMore = `${readMoreLabel}`;\n\t\tlet readLess = `${readLessLabel}`;\n\t\t\n\t\t// trim the string\n\t\tlet trimmedHtml = truncate(html, limit, {\n\t\t\tellipsis: ` … ${readMore}`\n\t\t});\n\n\t\t$element.html(trimmedHtml);\n\n\t\t$element.on('click', `.read-more`, (event) => {\n\t\t\tif($(event.currentTarget).hasClass('read-more--more')) {\n\t\t\t\t$element.html(`${originalHtml} ${readLess}`);\n\t\t\t}\n\t\t\telse {\n\t\t\t\t$element.html(trimmedHtml);\n\t\t\t}\n\t\t});\n\t}\n};\n"],"sourceRoot":""}