{"version":3,"file":"js/readmore.03cf84741aecca318535.bundle.js","mappings":"itBAEO,IACGA,EA6EAC,EA9EGC,GACHF,EAAE,WACJ,WAAYG,EAAWC,IAAS,eAC5BC,KAAKC,IAAMH,EACXE,KAAKD,QAAUG,OAAOC,OAAO,CAAC,EAAG,EAAF,OACxBP,GACAG,GACAC,KAAKC,IAAIG,UAEhBJ,KAAKK,SAAWL,KAAKD,QAAQM,WAAY,EACzCL,KAAKM,OAAO,CAAC,EACbN,KAAKO,MACT,CA+DC,OA/DA,4BAED,WACIP,KAAKQ,gBACLR,KAAKS,iBACLT,KAAKU,qBACLV,KAAKW,aACT,GAAC,2BAED,WAAgB,WAEZX,KAAKM,OAAgB,QAAI,IAAIM,YAAY,UAAW,CAChDC,SAAS,EACTC,OAAQ,CACJC,WAAY,kBAAM,EAAKV,QAAQ,IAG3C,GAAC,4BAED,WACI,IAAMW,EAAOhB,KAAKC,IAAIgB,UACtBjB,KAAKC,IAAIiB,aAAa,iBAAkBF,EAC5C,GAAC,uBAED,WACI,OAAOhB,KAAKC,IAAIG,QAAQe,SAASC,UAAU,EAAGpB,KAAKD,QAAQsB,UAC/D,GAAC,uBAED,WACIrB,KAAKK,UAAW,EAChBL,KAAKW,aACT,GAAC,uBAED,WACIX,KAAKK,UAAW,EAChBL,KAAKW,aACT,GAAC,yBAED,WAAc,WAEV,GAAGX,KAAKK,SAKJ,OAJAL,KAAKC,IAAIgB,UAAY,GAAH,OAAMjB,KAAKC,IAAIG,QAAQe,SAAQ,YAAKnB,KAAKD,QAAQuB,SAAW,uGAAH,OAA0GtB,KAAKD,QAAQuB,SAAQ,eAAgB,IAC1NtB,KAAKC,IAAIsB,UAAUC,IAAI,YACvBxB,KAAKC,IAAIwB,cAAc,iBAAiBC,iBAAiB,SAAS,kBAAM,EAAKC,WAAW,SACxF3B,KAAKC,IAAI2B,cAAc5B,KAAKM,OAAgB,SAIhDN,KAAKC,IAAIgB,UAAY,GAAH,OAAMjB,KAAK6B,YAAW,+GAAuG7B,KAAKD,QAAQ+B,SAAQ,eACpK9B,KAAKC,IAAIsB,UAAUQ,OAAO,YAC1B/B,KAAKC,IAAIwB,cAAc,iBAAiBC,iBAAiB,SAAS,kBAAM,EAAKM,WAAW,IACxFhC,KAAKC,IAAI2B,cAAc5B,KAAKM,OAAgB,QAChD,GAEA,uBACA,SAAU2B,IAEPC,EAAAA,EAAAA,KACH,GAEA,gCACA,WAAqB,WACjBlC,KAAKC,IAAIyB,iBAAiB,WAAW,SAACO,GAAC,OAAK,EAAKE,UAAUF,EAAE,GACjE,KAAC,EA1EG,GA6EFrC,EAAyB,CAC3ByB,UAAW,IACXS,SAAU,YACVR,SAAU,aAGP,CACH3B,GAAAA,ICrFWyC,SAASC,iBAAiB,aAClCC,SAAQ,SAAAC,GAAG,OAAI,IAAI1C,EAASF,GAAG4C,EAAI,G","sources":["webpack:///./scripts/readmore/ReadMore.js","webpack:///./scripts/readmore/index.js"],"sourcesContent":["import {refreshAllControllers} from \"@/scripts/common/api/scrolltrigger.services\"\r\n\r\nexport const ReadMore = (() => {\r\n class RM {\r\n constructor(container, options) {\r\n this.$el = container\r\n this.options = Object.assign({}, {\r\n ...readMoreDefaultOptions,\r\n ...options,\r\n ...this.$el.dataset\r\n })\r\n this.expanded = this.options.expanded || false\r\n this.events={}\r\n this.init()\r\n }\r\n\r\n init() {\r\n this._createEvents()\r\n this._prepareString()\r\n this._addEventListeners()\r\n this._updateView()\r\n }\r\n\r\n _createEvents() {\r\n \r\n this.events['updated'] = new CustomEvent('updated', {\r\n bubbles: true,\r\n detail: {\r\n isExpanded: () => this.expanded\r\n }\r\n })\r\n }\r\n\r\n _prepareString() {\r\n const text = this.$el.innerHTML\r\n this.$el.setAttribute(\"data-full-text\", text)\r\n }\r\n\r\n _trimText() {\r\n return this.$el.dataset.fullText.substring(0, this.options.maxLength)\r\n }\r\n\r\n _readMore() {\r\n this.expanded = true\r\n this._updateView()\r\n }\r\n\r\n _readLess() {\r\n this.expanded = false\r\n this._updateView()\r\n }\r\n\r\n _updateView() {\r\n \r\n if(this.expanded) {\r\n this.$el.innerHTML = `${this.$el.dataset.fullText} ${ this.options.textLess ? `${this.options.textLess}` : '' }`\r\n this.$el.classList.add('expanded')\r\n this.$el.querySelector('.less-trigger').addEventListener('click', () => this._readLess())\r\n this.$el.dispatchEvent(this.events['updated'])\r\n return\r\n }\r\n\r\n this.$el.innerHTML = `${this._trimText()} ${this.options.textMore}`\r\n this.$el.classList.remove('expanded')\r\n this.$el.querySelector('.more-trigger').addEventListener('click', () => this._readMore())\r\n this.$el.dispatchEvent(this.events['updated'])\r\n }\r\n\r\n // Event Callbacks\r\n _onUpdate(e) {\r\n // console.log(e.detail.isExpanded())\r\n refreshAllControllers() // ScrollController Refreshing\r\n }\r\n\r\n // EventsAdd\r\n _addEventListeners() {\r\n this.$el.addEventListener('updated', (e) => this._onUpdate(e))\r\n }\r\n }\r\n\r\n const readMoreDefaultOptions = {\r\n maxLength: 300,\r\n textMore: 'Read More',\r\n textLess: 'Read Less'\r\n }\r\n\r\n return {\r\n RM\r\n }\r\n})()","import {ReadMore} from './ReadMore'\r\n(function() {\r\n const $rmAll = document.querySelectorAll('.readmore')\r\n $rmAll.forEach($rm => new ReadMore.RM($rm))\r\n})()\r\n"],"names":["RM","readMoreDefaultOptions","ReadMore","container","options","this","$el","Object","assign","dataset","expanded","events","init","_createEvents","_prepareString","_addEventListeners","_updateView","CustomEvent","bubbles","detail","isExpanded","text","innerHTML","setAttribute","fullText","substring","maxLength","textLess","classList","add","querySelector","addEventListener","_readLess","dispatchEvent","_trimText","textMore","remove","_readMore","e","refreshAllControllers","_onUpdate","document","querySelectorAll","forEach","$rm"],"sourceRoot":""}