-
Notifications
You must be signed in to change notification settings - Fork 44
Expand file tree
/
Copy pathreadmore.min.js
More file actions
1 lines (1 loc) · 2.91 KB
/
Copy pathreadmore.min.js
File metadata and controls
1 lines (1 loc) · 2.91 KB
1
"use strict";function readMore(e){function t(e,t,s){function o(){s.debug("setToggleMoreText"),T.toggle.moreText=T.hmMoreText||"Read more"}function m(){s.debug("setToggleLessText"),T.toggle.lessText=T.hmLessText||"Read less"}function n(){s.debug("setCurrentToggleText"),T.toggle.text=T.toggle.state?T.toggle.lessText:T.toggle.moreText}function g(){s.debug("setShowToggle"),T.toggle.show=T.moreText&&T.moreText.length>0}function l(){s.debug("setLinkClass"),T.toggle.linkClass=T.hmLinkClass}function i(){s.debug("setDotsClass"),T.toggle.dotsClass=T.hmDotsClass}function a(){s.debug("validateLimit"),T.hmLimit=T.hmLimit&&T.hmLimit<=0?void 0:T.hmLimit}function h(){return s.debug("getMoreTextLimit"),T.hmLimit&&T.hmLimit<T.hmText.length?T.hmLimit-T.hmText.length:0}function r(){s.debug("setLessAndMoreText"),T.lessText=e("limitTo")(T.hmText,T.hmLimit),T.moreText=e("limitTo")(T.hmText,h())}var T=this;T.toggle={dots:" ...",dotsClass:T.hmDotsClass,linkClass:T.hmLinkClass},T.$onInit=function(){s.debug("initialize"),o(),m(),a(),r(),g(),n(),l(),i()},T.doToggle=function(t){t&&(t.preventDefault(),t.stopPropagation()),s.debug("doToggle"),T.toggle.state=!T.toggle.state,T.showMoreText=!T.showMoreText,T.showMoreText?(T.lessText="",T.moreText=T.hmText):(T.lessText=e("limitTo")(T.hmText,T.hmLimit),T.moreText=e("limitTo")(T.hmText,h())),n()},t.$watch("vm.hmMoreText",function(e,t){e!=t&&(s.debug("hmMoreText changed"),o(),n())}),t.$watch("vm.hmLessText",function(e,t){e!=t&&(s.debug("hmLessText changed"),m(),n())}),t.$watch("vm.hmDotsClass",function(e,t){e!=t&&(s.debug("hmDotsClass changed"),i())}),t.$watch("vm.hmLinkClass",function(e,t){e!=t&&(s.debug("hmLinkClass changed"),l())}),t.$watch("vm.hmText",function(e,t){e!=t&&(s.debug("hmText changed"),a(),r(),g())}),t.$watch("vm.hmLimit",function(e,t){e!=t&&(s.debug("hmLimit changed"),a(),r(),g())})}return t.$inject=["$filter","$scope","$log"],{restrict:"AE",scope:{hmText:"@",hmTextClass:"@",hmLimit:"@",hmMoreText:"@",hmLessText:"@",hmDotsClass:"@",hmLinkClass:"@"},template:e.get("readmore.template.html"),controller:t,controllerAs:"vm",bindToController:!0}}readMore.$inject=["$templateCache"],angular.module("hm.readmore",["ngAnimate","ngSanitize"]).directive("hmReadMore",readMore).config(["$logProvider",function(e){e.debugEnabled(!1)}]),angular.module("hm.readmore").run(["$templateCache",function(e){e.put("readmore.template.html",'<span name="text"><span ng-show="vm.hmTextClass === \'\'" ng-bind-html="vm.showMoreText ? vm.moreText:vm.lessText" style="white-space:pre-wrap; "></span><span ng-show="vm.hmTextClass !== \'\'" ng-bind-html="vm.showMoreText ? vm.moreText:vm.lessText" style="white-space:pre-wrap; font-family: monospace;"></span></span><span name="toggle" ng-show="vm.toggle.show" style="padding-left: 1em;">\x3c!--<span ng-class="vm.toggle.dotsClass" ng-show="!vm.toggle.state">{{ vm.toggle.dots }}</span>--\x3e<a ng-class="vm.toggle.linkClass" ng-click="vm.doToggle($event)">{{ vm.toggle.text }}</a></span>')}]);