-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcondiFormat.min.js
1 lines (1 loc) · 2 KB
/
condiFormat.min.js
1
!function(o){"use strict";var i;o.fn.condiFormat=function(r){void 0===r&&(r={}),void 0===r.highColor&&(r.highColor="#4CAF50"),void 0===r.midColor&&(r.midColor="#FFEB3B"),void 0===r.lowColor&&(r.lowColor="#F44336"),void 0===r.midPoint&&(r.midPoint=.5),void 0===r.opacity&&(r.opacity=1),void 0===r.invertColorAt&&(r.invertColorAt=400),void 0===r.readBatchSize&&(r.readBatchSize=2e3),void 0===r.colorBatchSize&&(r.colorBatchSize=200),void 0===r.transitionSpeed&&(r.transitionSpeed=0);var t=this;r.highColor=i(r.highColor),r.midColor=i(r.midColor),r.lowColor=i(r.lowColor);var l,e,d,n,a,c,s;return c=t.length,r.transitionSpeed>0&&(s={transition:"background-color "+r.transitionSpeed+"ms ease, color "+r.transitionSpeed+"ms ease"}),n=function(){var i,s;for(s=0;s<r.readBatchSize&&(i=o(t[d]).text().trim(),""!==i&&(i=Number(i),!isNaN(i)&&isFinite(i)&&((void 0===l||i>l)&&(l=i),(void 0===e||e>i)&&(e=i))),d+=1,!(d>=c));s++);if(c>d)setTimeout(n,1);else{if(void 0===l||void 0===e)return void(void 0!==r.callback&&setTimeout(r.callback.bind(t),1));d=0,setTimeout(a,1)}},a=function(){var i,n,C,m,h;for(h=0;h<r.colorBatchSize&&(i={},n=o(t[d]),r.transitionSpeed>0&&n.css(s),C=n.text(),""!==C.trim()&&(C=Number(C),!isNaN(C)&&isFinite(C)&&(C=l-e!==0?(C-e)/(l-e):1,C<=r.midPoint?(m=C/r.midPoint,i.r=m*(r.midColor.r-r.lowColor.r)+r.lowColor.r,i.g=m*(r.midColor.g-r.lowColor.g)+r.lowColor.g,i.b=m*(r.midColor.b-r.lowColor.b)+r.lowColor.b):(m=(C-r.midPoint)/(1-r.midPoint),i.r=m*(r.highColor.r-r.midColor.r)+r.midColor.r,i.g=m*(r.highColor.g-r.midColor.g)+r.midColor.g,i.b=m*(r.highColor.b-r.midColor.b)+r.midColor.b),n.css({"background-color":"rgba("+Math.round(i.r)+", "+Math.round(i.g)+", "+Math.round(i.b)+", "+r.opacity+")"}),i.r+i.g+i.b<r.invertColorAt&&n.css({color:"#FFFFFF"}))),d+=1,!(d>=c));h++);c>d?setTimeout(a,1):void 0!==r.callback&&setTimeout(r.callback.bind(t),1)},d=0,setTimeout(n,1),this},i=function(o){var i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(o);return i?{r:parseInt(i[1],16),g:parseInt(i[2],16),b:parseInt(i[3],16)}:null}}(jQuery);