{"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__","limit","arguments","length","undefined","html","text","originalHtml","readMoreLabel","data","readLessLabel","readMore","readLess","truncatedText","substring","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,IAAAC,EAAA,SAEWD,EAAiB,SAACV,GAA0B,IAAhBc,EAAKC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,IAC1CG,EAAOlB,EAASkB,OAChBC,EAAOnB,EAASmB,OAChBC,EAAeF,EACfG,EAAgBrB,EAASsB,KAAK,mBAC9BC,EAAgBvB,EAASsB,KAAK,mBAElC,GAAGH,EAAKH,OAASF,EAAO,CACvB,IAAIU,EAAQ,mEAAApB,OAAsEiB,EAAa,QAC3FI,EAAQ,mEAAArB,OAAsEmB,EAAa,QAEzFG,EAAgBP,EAAKQ,UAAU,EAAGb,GAAS,OAASU,EAC1DxB,EAASkB,KAAKQ,GAEd1B,EAASK,GAAG,QAAO,aAAgB,SAACuB,GAChC3B,EAAE2B,EAAMC,eAAevB,SAAS,mBAClCN,EAASkB,KAAI,GAAAd,OAAIgB,EAAY,KAAAhB,OAAIqB,IAGjCzB,EAASkB,KAAKQ","file":"widget-7.d7818a52e4dc7554a6bb.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 = 280) => {\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 = `<a class=\"read-more read-more--more\"  href=\"javascript:void(0)\">${readMoreLabel}</a>`;\n\t\tlet readLess = `<a class=\"read-more read-more--less\"  href=\"javascript:void(0)\">${readLessLabel}</a>`;\n\t\t\n\t\tconst truncatedText = text.substring(0, limit) + '... ' + readMore;\n\t\t$element.html(truncatedText);\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(truncatedText);\n\t\t\t}\n\t\t});\n\t}\n};\n"],"sourceRoot":""}