diff --git a/coverage/PhantomJS 1.9.8 (Mac OS X 0.0.0)/lcov-report/index.html b/coverage/PhantomJS 1.9.8 (Mac OS X 0.0.0)/lcov-report/index.html index 1f1cfc7..3c2f97b 100644 --- a/coverage/PhantomJS 1.9.8 (Mac OS X 0.0.0)/lcov-report/index.html +++ b/coverage/PhantomJS 1.9.8 (Mac OS X 0.0.0)/lcov-report/index.html @@ -15,10 +15,10 @@

Code coverage report for All files

- Statements: 35.87% (33 / 92)      - Branches: 22.68% (22 / 97)      + Statements: 35.11% (33 / 94)      + Branches: 25.29% (22 / 87)      Functions: 50% (8 / 16)      - Lines: 35.87% (33 / 92)      + Lines: 35.11% (33 / 94)      Ignored: none     

@@ -42,15 +42,15 @@

src/ - - 35.87% - (33 / 92) - 22.68% - (22 / 97) + + 35.11% + (33 / 94) + 25.29% + (22 / 87) 50% (8 / 16) - 35.87% - (33 / 92) + 35.11% + (33 / 94) @@ -58,7 +58,7 @@

diff --git a/dist/ng-reading-indicator.min.js b/dist/ng-reading-indicator.min.js index 8839337..0a95818 100644 --- a/dist/ng-reading-indicator.min.js +++ b/dist/ng-reading-indicator.min.js @@ -1,2 +1,2 @@ -!function(a,b){"use strict";var c=a.module("ngReadingIndicator",["ngSanitize"]);c.directive("ngReadingIndicator",["$window","$document","$templateCache","$sce","$timeout",function(b,c,d,e,f){var g="",h='

{{ readingTime }}
';return d.put(g,h),{restrict:"AE",scope:{elementClass:"@indicatorElement",userOptions:"&indicatorOptions",headline:"=indicatorHeadline",lazy:"=indicatorLazy"},templateUrl:function(a,b){return b.indicatorTemplateUrl||g},link:function(c,d,e){function g(b){return a.forEach(arguments,function(c){c!==b&&a.forEach(c,function(a,c){b[c]&&b[c].constructor&&b[c].constructor===Object?g(b[c],a):b[c]=a})}),b}function h(){f(function(){(w.expand||!w.expand&&"small"!==w.type)&&(w.showHeadline&&c.headline?m=c.headline:w.showHeadline&&!c.headline&&n.find("h1").length>0?(m=a.element(n.find("h1")[0]).html(),v=!1):m=!1,c.headline=m?m:null),j(),a.element(b).on("scroll",k),a.element(b).on("resize",j)})}function i(a){var b=document.body.getBoundingClientRect(),c=a.getBoundingClientRect();return{top:c.top-b.top,bottom:a.scrollHeight-window.innerHeight>0?a.scrollHeight-window.innerHeight:a.scrollHeight,height:c.height}}function j(){o=i(n[0]).bottom,p=i(n[0]).top,q=i(n[0]).height,u=v?i(n.find("h1")[0]):{top:50},k()}function k(){var e=a.element(b)[0].scrollY||a.element(b)[0].pageYOffset;r=n[0].scrollHeight-window.innerHeight>0?p>=e?0:(e-p)/o*100:p>=e?0:(e-p+(p+o-(document.body.offsetHeight-window.innerHeight)))/o*100,w.readingTime.enable?c.$apply(function(){c.readingTime=l()}):c.readingTime=null,s.style.width=r+"%",!w.expand&&"small"===w.type&&e>=p+u.top+w.topOffset||w.expand&&e>p&&e=p+u.top+w.topOffset?(a.element(d).removeClass("ng-reading-indicator-shrink"),a.element(d).addClass("ng-reading-indicator-expanded"),a.element(d)[0].style.height=""):(a.element(d)[0].style.height="0",a.element(d).addClass("ng-reading-indicator-shrink"),a.element(d).removeClass("ng-reading-indicator-expanded"))}function l(){var a=n.text().split(" ").length,b=Math.floor(a/w.readingTime.speed),c=Math.floor(a%w.readingTime.speed/(w.readingTime.speed/60)),d=w.readingTime.prefix;return!w.readingTime.seconds&&c>=30&&b++,Math.floor((9>=b?b+"0":b)*(1-r/100))>0||!w.readingTime.seconds?(d+=Math.floor((9>=b?b+"0":b)*(1-r/100)),d+=w.readingTime.minutesSuffix):0===Math.floor((9>=b?b+"0":b)*(1-r/100))&&w.readingTime.seconds?(d+=Math.round(60*(9>=b?b+"0":b)*(1-r/100)/10)*w.readingTime.secondInterval,d+=w.readingTime.secondsSuffix):d+=0+w.readingTime.secondsSuffix,d}var m=null,n=null,o=null,p=null,q=null,r=null,s=null,t=null,u=null,v=!1,w={showHeadline:!0,expand:!0,type:"small",topOffset:150,readingTime:{enable:!0,prefix:"remaining estimate ",minutesSuffix:"min",secondsSuffix:"sec",speed:150,seconds:!0,secondInterval:5}};g(w,c.userOptions()),w.expand||"small"===w.type?w.expand||"big"===w.type||a.element(d).addClass("ng-reading-indicator-shrink"):a.element(d).addClass("ng-reading-indicator-expanded"),t=c.elementClass&&""!==c.elementClass?c.elementClass:b,n=c.elementClass&&""!==c.elementClass?a.element(document.getElementsByClassName(t.replace(".",""))[0]):a.element(document.body),s=document.getElementsByClassName("ng-reading-indicator-progress")[0],e.indicatorLazy&&""!==e.indicatorLazy?c.$watch("lazy",function(a){(""!==a||a.length>0)&&h()}):h(),c.$on("$destroy",function(){a.element(b).off("scroll",k),a.element(b).off("resize",j)})}}}])}(window.angular); +!function(a,b){"use strict";var c=a.module("ngReadingIndicator",["ngSanitize"]);c.directive("ngReadingIndicator",["$window","$document","$templateCache","$sce","$timeout",function(b,c,d,e,f){var g="",h='

{{ readingTime }}
';return d.put(g,h),{restrict:"AE",scope:{elementClass:"@indicatorElement",userOptions:"&indicatorOptions",headline:"=?indicatorHeadline",lazy:"=?indicatorLazy"},templateUrl:function(a,b){return b.indicatorTemplateUrl||g},link:function(c,d,e){function g(b){return a.forEach(arguments,function(c){c!==b&&a.forEach(c,function(a,c){b[c]&&b[c].constructor&&b[c].constructor===Object?g(b[c],a):b[c]=a})}),b}function h(){f(function(){w.expand||!w.expand&&"small"!==w.type?(w.showHeadline&&c.headline?m=c.headline:w.showHeadline&&!c.headline&&n.find("h1").length>0?(m=a.element(n.find("h1")[0]).html(),v=!1):m=!1,c.headline=m?m:null):c.headine=null,j(),a.element(b).on("scroll",k),a.element(b).on("resize",j)})}function i(a){var b=document.body.getBoundingClientRect(),c=a.getBoundingClientRect();return{top:c.top-b.top,bottom:a.scrollHeight-window.innerHeight>0?a.scrollHeight-window.innerHeight:a.scrollHeight,height:c.height}}function j(){o=i(n[0]).bottom,p=i(n[0]).top,q=i(n[0]).height,u=v?i(n.find("h1")[0]):{top:0},k()}function k(){var e=a.element(b)[0].scrollY||a.element(b)[0].pageYOffset;r=n[0].scrollHeight-window.innerHeight>0?p>=e?0:(e-p)/o*100:p>=e?0:(e-p+(p+o-(document.body.offsetHeight-window.innerHeight)))/o*100,w.readingTime.enable?c.$apply(function(){c.readingTime=l()}):c.readingTime=null,s.style.width=r+"%",console.log(w,u.top,w.topOffset),!w.expand&&"small"===w.type&&e>=p+u.top+w.topOffset||w.expand&&e>p&&e=p+u.top+w.topOffset?(a.element(d).removeClass("ng-reading-indicator-shrink"),a.element(d).addClass("ng-reading-indicator-expanded"),a.element(d)[0].style.height=""):(a.element(d)[0].style.height="0",a.element(d).addClass("ng-reading-indicator-shrink"),a.element(d).removeClass("ng-reading-indicator-expanded"))}function l(){var b=a.element(n[0]).text().trim().split(" ").length,c=Math.floor(b/w.readingTime.speed),d=Math.floor(b%w.readingTime.speed/(w.readingTime.speed/60)),e=w.readingTime.prefix;return d>=30&&c++,Math.floor(c*(1-r/100))>0||!w.readingTime.seconds?(c*=1-r/100,e+=Math.floor(c),e+=w.readingTime.minutesSuffix):0===Math.floor(c*(1-r/100))&&w.readingTime.seconds?(e+=Math.round(60*c*(1-r/100)/10)*w.readingTime.secondInterval,e+=w.readingTime.secondsSuffix):e+=0+w.readingTime.secondsSuffix,e}var m=null,n=null,o=null,p=null,q=null,r=null,s=null,t=null,u=null,v=!1,w={showHeadline:!0,expand:!0,type:"small",topOffset:150,readingTime:{enable:!0,prefix:"remaining estimate ",minutesSuffix:"min",secondsSuffix:"sec",speed:150,seconds:!0,secondInterval:5}};g(w,c.userOptions()),w.expand||"small"===w.type?w.expand||"big"===w.type||a.element(d).addClass("ng-reading-indicator-shrink"):a.element(d).addClass("ng-reading-indicator-expanded"),t=c.elementClass&&""!==c.elementClass?c.elementClass:b,n=c.elementClass&&""!==c.elementClass?a.element(document.getElementsByClassName(t.replace(".",""))[0]):a.element(document.body),s=document.getElementsByClassName("ng-reading-indicator-progress")[0],e.indicatorLazy&&""!==e.indicatorLazy?c.$watch("lazy",function(a){(""!==a||a.length>0)&&h()}):h(),c.$on("$destroy",function(){a.element(b).off("scroll",k),a.element(b).off("resize",j)})}}}])}(window.angular); //# sourceMappingURL=ng-reading-indicator.min.js.map \ No newline at end of file diff --git a/dist/ng-reading-indicator.min.js.map b/dist/ng-reading-indicator.min.js.map index a3ed8b9..618aaf2 100644 --- a/dist/ng-reading-indicator.min.js.map +++ b/dist/ng-reading-indicator.min.js.map @@ -1 +1 @@ -{"version":3,"file":"ng-reading-indicator.min.js","sources":["../src/ng-reading-indicator.js"],"names":["angular","undefined","ngReadingIndicator","module","directive","$window","$document","$templateCache","$sce","$timeout","TEMPLATE_URL","template","put","restrict","scope","elementClass","userOptions","headline","lazy","templateUrl","element","attributes","indicatorTemplateUrl","link","extendDeep","dst","forEach","arguments","obj","value","key","constructor","Object","initizalize","options","expand","type","showHeadline","article","find","length","html","expandOnHeadline","updateSize","on","updateProgress","findEdges","elem","bodyRect","document","body","getBoundingClientRect","elemRect","top","bottom","scrollHeight","window","innerHeight","height","expandOffset","scrollPos","scrollY","pageYOffset","progress","offsetHeight","readingTime","enable","$apply","calculateReadingTime","progressBar","style","width","topOffset","addClass","removeClass","wordCount","text","split","minutes","Math","floor","speed","seconds","estimate","prefix","minutesSuffix","round","secondInterval","secondsSuffix","getElementsByClassName","replace","indicatorLazy","$watch","newVal","$on","off"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ng-reading-indicator.min.js","sources":["../src/ng-reading-indicator.js"],"names":["angular","undefined","ngReadingIndicator","module","directive","$window","$document","$templateCache","$sce","$timeout","TEMPLATE_URL","template","put","restrict","scope","elementClass","userOptions","headline","lazy","templateUrl","element","attributes","indicatorTemplateUrl","link","extendDeep","dst","forEach","arguments","obj","value","key","constructor","Object","initizalize","options","expand","type","showHeadline","article","find","length","html","expandOnHeadline","headine","updateSize","on","updateProgress","findEdges","elem","bodyRect","document","body","getBoundingClientRect","elemRect","top","bottom","scrollHeight","window","innerHeight","height","expandOffset","scrollPos","scrollY","pageYOffset","progress","offsetHeight","readingTime","enable","$apply","calculateReadingTime","progressBar","style","width","console","log","topOffset","addClass","removeClass","wordCount","text","trim","split","minutes","Math","floor","speed","seconds","estimate","prefix","minutesSuffix","round","secondInterval","secondsSuffix","getElementsByClassName","replace","indicatorLazy","$watch","newVal","$on","off"],"mappings":"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"} \ No newline at end of file diff --git a/src/ng-reading-indicator.js b/src/ng-reading-indicator.js index b42ce9b..a7234d3 100644 --- a/src/ng-reading-indicator.js +++ b/src/ng-reading-indicator.js @@ -118,7 +118,7 @@ bottom = findEdges(article[0]).bottom; top = findEdges(article[0]).top; height = findEdges(article[0]).height; - expandOffset = (expandOnHeadline) ? findEdges(article.find('h1')[0]) : {top: 50}; + expandOffset = (expandOnHeadline) ? findEdges(article.find('h1')[0]) : {top: 0}; updateProgress(); } @@ -140,6 +140,9 @@ } progressBar.style.width = progress + '%'; + + console.log(options, expandOffset.top, options.topOffset); + if ((!options.expand && options.type === 'small' && scrollPos >= (top + expandOffset.top + options.topOffset)) || (options.expand && scrollPos > top && scrollPos < (top + expandOffset.top + options.topOffset))) { angular.element(element)[0].style.height = '5px'; angular.element(element).addClass('ng-reading-indicator-shrink'); @@ -156,20 +159,21 @@ } function calculateReadingTime(){ - var wordCount = article.text().split(' ').length; + var wordCount = angular.element(article[0]).text().trim().split(' ').length; var minutes = Math.floor(wordCount / options.readingTime.speed); var seconds = Math.floor(wordCount % options.readingTime.speed / (options.readingTime.speed / 60)); var estimate = options.readingTime.prefix; - if (!options.readingTime.seconds && seconds >= 30) { + if (seconds >= 30) { minutes++; } - if (Math.floor((minutes <= 9 ? minutes + '0' : minutes) * (1 - (progress/100))) > 0 || !options.readingTime.seconds) { - estimate += Math.floor((minutes <= 9 ? minutes + '0' : minutes) * (1 - (progress/100))); + if (Math.floor(minutes * (1 - (progress/100))) > 0 || !options.readingTime.seconds) { + minutes = minutes * (1 - (progress/100)); + estimate += Math.floor(minutes); estimate += options.readingTime.minutesSuffix; - } else if (Math.floor((minutes <= 9 ? minutes + '0' : minutes) * (1 - (progress/100))) === 0 && options.readingTime.seconds) { - estimate += Math.round((((minutes <= 9 ? minutes + '0' : minutes)*60) * (1 - (progress/100))) / 10) * options.readingTime.secondInterval; + } else if (Math.floor(minutes * (1 - (progress/100))) === 0 && options.readingTime.seconds) { + estimate += Math.round((((minutes)*60) * (1 - (progress/100))) / 10) * options.readingTime.secondInterval; estimate += options.readingTime.secondsSuffix; } else { estimate += 0 + options.readingTime.secondsSuffix;