iasd-bootstrap-sass 1.7.8 → 1.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/lib/iasd-bootstrap-sass/version.rb +1 -1
- data/stylesheets/_iasd-templates.scss +4 -46
- data/templates/project/lib/iasd-bootstrap.js +514 -11
- data/templates/project/lib/iasd-bootstrap.min.js +3 -3
- data/templates/project/lib/iasd_widgets.js +18 -0
- data/templates/project/lib/jquery.badonkatrunc.min.js +494 -1
- data/templates/project/lib/ltie9.js +2 -2
- metadata +3 -4
- data/templates/project/lib/iasd_whatsapp.js +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9ab04d8b8ee78121272ab04106e2cd7b362bc4c0
|
4
|
+
data.tar.gz: c0a470ee01c8a336c9f0d2023908538c6fd2b937
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c314d4ef0ddfdc1ff949bcf8698e57c8ea40b13d2c703683f98421c1e328a4aa8267a46485c64b572dc4527809eaae01e4f76f361c35c4f7f63219b5b0406b77
|
7
|
+
data.tar.gz: af3e02ed069f415503133ead5cb94d264c2baf5db1881af6070fd709868643ffa1b47418db56a84c56c960b64fb6c543080c31e50cc3961f68c987890a50177b
|
@@ -766,59 +766,17 @@ aside.iasd-aside {
|
|
766
766
|
margin: 0;
|
767
767
|
&.facebook {
|
768
768
|
position: relative;
|
769
|
-
top: -
|
769
|
+
top: -5px;
|
770
770
|
}
|
771
771
|
&.google {
|
772
772
|
margin: 0 0 0 15px !important;
|
773
773
|
}
|
774
774
|
&.twitter {
|
775
775
|
height: 25px;
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
}
|
780
|
-
|
781
|
-
&.whatsapp {
|
782
|
-
background-color: #25D366;
|
783
|
-
border-radius: 3px;
|
784
|
-
margin: 0 0 0 10px !important;
|
785
|
-
position: relative;
|
786
|
-
top: -4px;
|
787
|
-
height: 20px;
|
788
|
-
padding: 3px 7px;
|
789
|
-
|
790
|
-
&:hover {
|
791
|
-
background-color: #23b359;
|
792
|
-
}
|
793
|
-
|
794
|
-
a {
|
795
|
-
color: #fff;
|
796
|
-
font-size: 11px;
|
797
|
-
|
798
|
-
&:focus {
|
799
|
-
border-bottom: none;
|
800
|
-
}
|
801
|
-
|
802
|
-
&:hover {
|
803
|
-
border-bottom: none;
|
804
|
-
}
|
805
|
-
|
806
|
-
span {
|
807
|
-
position: relative;
|
808
|
-
top: -2px;
|
809
|
-
}
|
810
|
-
}
|
811
|
-
|
812
|
-
.icon-whatsapp {
|
813
|
-
width: 14px;
|
814
|
-
color: #fff;
|
815
|
-
margin-right: 3px;
|
816
|
-
position: relative;
|
817
|
-
top: 2px;
|
818
|
-
}
|
776
|
+
//IE8 can't calculate by itseft :(
|
777
|
+
margin: 0 0 0 -15px !important;
|
778
|
+
width: 121px;
|
819
779
|
}
|
820
|
-
|
821
|
-
|
822
780
|
}
|
823
781
|
}
|
824
782
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*!
|
2
|
-
* IASD Bootstrap v1.7.
|
3
|
-
* Copyright 2014-
|
2
|
+
* IASD Bootstrap v1.7.9 (http://styleguide.adventistas.org)
|
3
|
+
* Copyright 2014-2020 Igreja Adventista do Sétimo Dia
|
4
4
|
* Licensed under MIT (https://github.com/igrejaadventista/styleguide/blob/master/LICENSE)
|
5
5
|
*/
|
6
6
|
|
@@ -39,7 +39,500 @@ if(!jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict
|
|
39
39
|
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
40
40
|
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
41
41
|
|
42
|
-
(function($){var methods={init:function(options){var all=this;var instanceOptions=$.extend(true,{},$.fn.badonkatrunc.defaultOptions,options);if(instanceOptions.fitDirection!="horizontal"&&instanceOptions.fitDirection!="vertical"){$.error("'"+instanceOptions.fitDirection+"' is not a valid fit direction. Use 'horizontal' or 'vertical.'");return this}if(instanceOptions.truncateLocation!="start"&&instanceOptions.truncateLocation!="middle"&&instanceOptions.truncateLocation!="end"){$.error("'"+instanceOptions.truncateLocation+"' is not a valid truncation location. Use 'start,' 'middle' or 'end.'");return this}if(instanceOptions.minimumFontSize>instanceOptions.maximumFontSize){$.error("Minimum font size can not exceed the maximum font size.");return this}if(instanceOptions.minimumLetterSpacing>instanceOptions.maximumLetterSpacing){$.error("Minimum letter spacing can not exceed the maximum letter spacing.");return this}return this.each(function(){var $this=$(this);var data=$(this).data("badonkatrunc");if(data){$this.badonkatrunc("destroy")}var instance=pluginInstance($this,instanceOptions,all);$(this).data("badonkatrunc",instance);instance.init();if(instance.options.automaticSizeTracking){resizeMonitor.add(instance)}})},destroy:function(){return this.each(function(){var $this=$(this);var data=$this.data("badonkatrunc");data.destroy();resizeMonitor.remove(data);dirtyMonitor.remove(data);$(window).unbind(".badonkatrunc");$this.removeData("badonkatrunc")})},refresh:function(){return this.each(function(){var $this=$(this);var data=$this.data("badonkatrunc");dirtyMonitor.remove(data);data.refresh()})},changeContents:function(newContents){return this.each(function(){var $this=$(this);var data=$this.data("badonkatrunc");if(typeof newContents=="string"){data.contentHtml=$("<span></span>").text(newContents).html()}else{data.contentHtml=$(newContents).html()}dirtyMonitor.add(data)})}};$.fn.badonkatrunc=function(method){if(methods[method]){return methods[method].apply(this,Array.prototype.slice.call(arguments,1))}else if(typeof method==="object"||!method){return methods.init.apply(this,arguments)}else{$.error("Method "+method+" does not exist on jQuery.badonkatrunc")}};$.fn.badonkatrunc.settings={sizeTrackingTimeout:1e3/60};$.fn.badonkatrunc.defaultOptions={automaticSizeTracking:false,fitDirection:"horizontal",minimumFontSize:1,maximumFontSize:1,fontSizeSynced:false,minimumLetterSpacing:0,maximumLetterSpacing:0,letterSpacingSynced:false,truncate:true,truncateString:"…",truncateLocation:"end",truncateOnlyWholeWords:false,extraOptimizeLimit:8};$.fn.btrunc=$.fn.badonkatrunc;var pluginInstance=function($target,options,$targetGroup){var createRenderState=function(content,fontSize,letterSpacing){return{content:content,fontSize:fontSize,letterSpacing:letterSpacing}};var instance={target:$target,options:options,refresh:function(){var self=this;var view=createHtmlTextView(this.contentHtml);var text=this.contentHtml;var fontSize=this.options.maximumFontSize;var letterSpacing=this.options.maximumLetterSpacing;var renderFunc=function(){var state=createRenderState(text,fontSize,letterSpacing);self.renderState(state)};var overflowFunc=function(){return self.getCurrentOverflow()};if(this.options.maximumFontSize-this.options.minimumFontSize>0){optimize(self.options.minimumFontSize,self.options.maximumFontSize,function(value){fontSize=value;renderFunc()},overflowFunc)}if(this.options.maximumLetterSpacing-this.options.minimumLetterSpacing>0){var truncationLevel=1;if(this.options.truncate){optimize(0,1,function(value){truncationLevel=value;text=getTruncatedHtml(view,self.options.truncateString,self.options.truncateLocation,value,true);optimize(self.options.minimumLetterSpacing,0,function(value){letterSpacing=value;renderFunc()},overflowFunc);renderFunc()},overflowFunc)}if(truncationLevel==1){optimize(self.options.minimumLetterSpacing,self.options.maximumLetterSpacing,function(value){letterSpacing=value;renderFunc()},overflowFunc)}}if(this.options.truncate){optimize(0,1,function(value){text=getTruncatedHtml(view,self.options.truncateString,self.options.truncateLocation,value,self.options.truncateOnlyWholeWords);renderFunc()},overflowFunc,this.options.extraOptimizeLimit)}this.renderState(createRenderState(text,fontSize,letterSpacing),!this.options.truncate);this.currentOptimalState=this.currentRenderedState;this.syncFonts()},syncFonts:function(){if($targetGroup.length>1&&(this.options.fontSizeSynced||this.options.letterSpacingSynced)){var lowestFontSize=this.currentOptimalState.fontSize;var lowestLetterSpacing=this.currentOptimalState.letterSpacing;for(var i=0;i<$targetGroup.length;i++){var groupInstance=$($targetGroup[i]).data("badonkatrunc");if(groupInstance!=null&&groupInstance.currentOptimalState!=null){if(groupInstance.currentOptimalState.fontSize<lowestFontSize){lowestFontSize=groupInstance.currentOptimalState.fontSize}if(groupInstance.currentOptimalState.letterSpacing<lowestLetterSpacing){lowestLetterSpacing=groupInstance.currentOptimalState.letterSpacing}}}for(var i=0;i<$targetGroup.length;i++){var groupInstance=$($targetGroup[i]).data("badonkatrunc");if(groupInstance!=null){groupInstance.acceptFontSync(lowestFontSize,lowestLetterSpacing)}}}},acceptFontSync:function(fontSize,letterSpacing){var self=this;var view=createHtmlTextView(this.contentHtml);var text=this.contentHtml;if(this.currentOptimalState!=null){if(!this.options.fontSizeSynced){fontSize=this.currentOptimalState.fontSize}if(!this.options.letterSpacingSynced){letterSpacing=this.currentOptimalState.letterSpacing}}var renderFunc=function(){self.renderState(createRenderState(text,fontSize,letterSpacing))};var overflowFunc=function(){return self.getCurrentOverflow()};if(this.options.truncate){optimize(0,1,function(value){text=getTruncatedHtml(view,self.options.truncateString,self.options.truncateLocation,value,self.options.truncateOnlyWholeWords);renderFunc()},overflowFunc)}this.renderState(createRenderState(text,fontSize,letterSpacing),!this.options.truncate)},init:function(){this.contentHtml=this.target.html();this.settingsWrapper=$('<span style="display: block; margin: 0px; padding: 0px; border: 0px;"></span>');this.settingsWrapper.addClass("badonkatrunc-wrapper");this.target.empty();this.target.append(this.settingsWrapper);this.refresh()},destroy:function(){this.target.empty();this.target.append(this.contentHtml)},renderState:function(state,forceAllowWrap){this.settingsWrapper.css("font-size",state.fontSize+"em");this.settingsWrapper.css("letter-spacing",state.letterSpacing+"em");var whiteSpace=!forceAllowWrap&&this.options.fitDirection=="horizontal"?"nowrap":"normal";this.settingsWrapper.css("white-space",whiteSpace);this.settingsWrapper.empty();this.settingsWrapper.append(state.content);this.currentRenderedState=state},getCurrentOverflow:function(){var wrapper=this.settingsWrapper[0];var overflow=this.options.fitDirection=="horizontal"?wrapper.scrollWidth-$target.width():wrapper.offsetHeight-$target.height();return overflow}};return instance};var createDispatcher=function(updateFunc,addFunc,removeFunc,updateTimeout){var dispatcherInstance={_instances:[],_updateLoop:function(){if($.isFunction(updateFunc)){for(var i=0;i<dispatcherInstance._instances.length;i++){updateFunc(dispatcherInstance._instances[i])}}if(updateTimeout!=null){if(dispatcherInstance._instances.length>0){setTimeout(dispatcherInstance._updateLoop,updateTimeout)}}else{dispatcherInstance._instances=[]}},add:function(instance){if($.inArray(instance,this._instances)!=-1){return}if($.isFunction(addFunc)){addFunc(instance)}this._instances.push(instance);if(this._instances.length==1){if(updateTimeout==null){setTimeout(this._updateLoop)}else{this._updateLoop()}}},remove:function(instance){var index=$.inArray(instance,this._instances);if(index!=-1){this._instances.splice(index,1);if($.isFunction(removeFunc)){removeFunc(instance)}}}};return dispatcherInstance};var resizeMonitor=createDispatcher(function(instance){instance.elementSizeCache.update()},function(instance){instance.elementSizeCache={width:null,height:null,update:function(){var newWidth=instance.target.width();var newHeight=instance.target.height();var hasChanged=this.width!=null&&newWidth!=this.width||this.height!=null&&newHeight!=this.height;this.width=newWidth;this.height=newHeight;if(hasChanged){this.changed()}},changed:function(){dirtyMonitor.add(instance)}}},function(instance){instance.elementSizeCache=undefined},$.fn.badonkatrunc.settings.sizeTrackingTimeout);var dirtyMonitor=createDispatcher(function(instance){instance.refresh.apply(instance)},null,null,null);var getTruncatedHtml=function(htmlTextView,truncateString,truncateLocation,amount,wordRounded){var text=htmlTextView.text;if(amount>1){amount=1}if(amount<0){amount=0}if(amount==1){return htmlTextView.html}var getTruncatedRange=function(begin,length){var words=text.split(" ");var totalEntities=wordRounded?words.length:text.length;var entityBegin=totalEntities*begin;var entityLength=totalEntities*length;if(wordRounded){var getCharacterPosition=function(wordIndex){var characterCount=0;for(var i=0;i<wordIndex;i++){characterCount+=words[i].length+1}return characterCount};var endWord=entityBegin+entityLength;entityBegin=getCharacterPosition(entityBegin);entityLength=getCharacterPosition(endWord)-entityBegin}return htmlTextView.getHtmlSubstring(entityBegin,entityLength)};switch(truncateLocation){case"middle":var amountPerSide=amount/2;var left=getTruncatedRange(0,amountPerSide);var right=getTruncatedRange(1-amountPerSide,amountPerSide);return $.trim(left)+" "+truncateString+" "+$.trim(right);case"start":var truncated=getTruncatedRange(1-amount,amount);return truncateString+$.trim(truncated);case"end":var truncated=getTruncatedRange(0,amount);return $.trim(truncated)+truncateString}};var createHtmlTextView=function(contentHtml){var $content=$("<span></span>");$content.html(contentHtml);var view={html:contentHtml,text:$content.text(),getHtmlSubstring:function(index,length){var element=$content.clone()[0];var totalProcessedLength=0;var totalOutputLength=0;var nodesWithinRange=[];var withinRange=false;var stripOutOfRangeTextInElement=function(node){if(node.nodeType==3){var dataLength=node.data.length;var newData="";var wasWithinRange=false;for(var i=0;i<dataLength;i++){totalProcessedLength++;if(totalProcessedLength>=index&&totalOutputLength<length){withinRange=true;wasWithinRange=true;newData+=node.data.substr(i,1);totalOutputLength++}else{if(withinRange==true){withinRange=false}}}node.data=newData;if(wasWithinRange){nodesWithinRange.push(node)}}else if(node.nodeType==1){if(withinRange){nodesWithinRange.push(node)}var childCount=node.childNodes.length;for(var i=0;i<childCount;i++){stripOutOfRangeTextInElement(node.childNodes[i])}}};stripOutOfRangeTextInElement(element);var parentNodesToKeep=[];var markParentNodesToKeep=function(element){var keepNode=function(node){parentNodesToKeep.push(node);if(node.parentNode!=null){keepNode(node.parentNode)}};keepNode(element)};var nodesWithinRangeCount=nodesWithinRange.length;for(var t=0;t<nodesWithinRangeCount;t++){markParentNodesToKeep(nodesWithinRange[t])}var removeUnusedNodes=function(node){var nodesToRemove=[];var childNodeCount=node.childNodes.length;for(var i=0;i<childNodeCount;i++){var childNode=node.childNodes[i];if(childNode.nodeType!=3){if($.inArray(childNode,parentNodesToKeep)==-1){nodesToRemove.push(childNode)}else{removeUnusedNodes(childNode)}}}for(var i=0;i<nodesToRemove.length;i++){var node=nodesToRemove[i];node.parentNode.removeChild(node)}};removeUnusedNodes(element);return $(element).html()}};return view};var optimize=function(min,max,actionFunc,overflowFunc,extraOptimizeLimit){var currentMax=max;var currentMin=min;var currentValue=max;var lastResult=null;var mostOptimalResult=null;var mostOptimalValue=null;var sameResultCount=0;while(true){actionFunc(currentValue);var result=overflowFunc();if(result<=0){var moreOptimal=true;if(mostOptimalResult!=null){if(mostOptimalResult>result){moreOptimal=false}else if(result==mostOptimalResult){if(currentValue<=mostOptimalValue){moreOptimal=false}}}if(moreOptimal){mostOptimalResult=result;mostOptimalValue=currentValue}}if(result==lastResult){sameResultCount++;if(extraOptimizeLimit==undefined||sameResultCount==extraOptimizeLimit){if(mostOptimalValue!=null){actionFunc(mostOptimalValue)}return}}if(result>0){currentMax=currentValue;var difference=currentValue-currentMin;currentValue-=difference/2}else if(result<=0){currentMin=currentValue;currentValue=currentMax}lastResult=result}}})(jQuery);
|
42
|
+
//(function($){var methods={init:function(options){var all=this;var instanceOptions=$.extend(true,{},$.fn.badonkatrunc.defaultOptions,options);if(instanceOptions.fitDirection!="horizontal"&&instanceOptions.fitDirection!="vertical"){$.error("'"+instanceOptions.fitDirection+"' is not a valid fit direction. Use 'horizontal' or 'vertical.'");return this;}if(instanceOptions.truncateLocation!="start"&&instanceOptions.truncateLocation!="middle"&&instanceOptions.truncateLocation!="end"){$.error("'"+instanceOptions.truncateLocation+"' is not a valid truncation location. Use 'start,' 'middle' or 'end.'");return this;}if(instanceOptions.minimumFontSize>instanceOptions.maximumFontSize){$.error("Minimum font size can not exceed the maximum font size.");return this;}if(instanceOptions.minimumLetterSpacing>instanceOptions.maximumLetterSpacing){$.error("Minimum letter spacing can not exceed the maximum letter spacing.");return this;}return this.each(function(){var $this=$(this);var data=$(this).data("badonkatrunc");if(data){$this.badonkatrunc("destroy");}var instance=pluginInstance($this,instanceOptions,all);$(this).data("badonkatrunc",instance);instance.init();if(instance.options.automaticSizeTracking){resizeMonitor.add(instance);}});},destroy:function(){return this.each(function(){var $this=$(this);var data=$this.data("badonkatrunc");data.destroy();resizeMonitor.remove(data);dirtyMonitor.remove(data);$(window).unbind(".badonkatrunc");$this.removeData("badonkatrunc");});},refresh:function(){return this.each(function(){var $this=$(this);var data=$this.data("badonkatrunc");dirtyMonitor.remove(data);data.refresh();});},changeContents:function(newContents){return this.each(function(){var $this=$(this);var data=$this.data("badonkatrunc");if(typeof(newContents)=="string"){data.contentHtml=$("<span></span>").text(newContents).html();}else{data.contentHtml=$(newContents).html();}dirtyMonitor.add(data);});}};$.fn.badonkatrunc=function(method){if(methods[method]){return methods[method].apply(this,Array.prototype.slice.call(arguments,1));}else{if(typeof method==="object"||!method){return methods.init.apply(this,arguments);}else{$.error("Method "+method+" does not exist on jQuery.badonkatrunc");}}};$.fn.badonkatrunc.settings={sizeTrackingTimeout:1000/60};$.fn.badonkatrunc.defaultOptions={automaticSizeTracking:false,fitDirection:"horizontal",minimumFontSize:1,maximumFontSize:1,fontSizeSynced:false,minimumLetterSpacing:0,maximumLetterSpacing:0,letterSpacingSynced:false,truncate:true,truncateString:"…",truncateLocation:"end",truncateOnlyWholeWords:false,extraOptimizeLimit:8};$.fn.btrunc=$.fn.badonkatrunc;var pluginInstance=function($target,options,$targetGroup){var createRenderState=function(content,fontSize,letterSpacing){return{content:content,fontSize:fontSize,letterSpacing:letterSpacing};};var instance={target:$target,options:options,refresh:function(){var self=this;var view=createHtmlTextView(this.contentHtml);var text=this.contentHtml;var fontSize=this.options.maximumFontSize;var letterSpacing=this.options.maximumLetterSpacing;var renderFunc=function(){var state=createRenderState(text,fontSize,letterSpacing);self.renderState(state);};var overflowFunc=function(){return self.getCurrentOverflow();};if(this.options.maximumFontSize-this.options.minimumFontSize>0){optimize(self.options.minimumFontSize,self.options.maximumFontSize,function(value){fontSize=value;renderFunc();},overflowFunc);}if(this.options.maximumLetterSpacing-this.options.minimumLetterSpacing>0){var truncationLevel=1;if(this.options.truncate){optimize(0,1,function(value){truncationLevel=value;text=getTruncatedHtml(view,self.options.truncateString,self.options.truncateLocation,value,true);optimize(self.options.minimumLetterSpacing,0,function(value){letterSpacing=value;renderFunc();},overflowFunc);renderFunc();},overflowFunc);}if(truncationLevel==1){optimize(self.options.minimumLetterSpacing,self.options.maximumLetterSpacing,function(value){letterSpacing=value;renderFunc();},overflowFunc);}}if(this.options.truncate){optimize(0,1,function(value){text=getTruncatedHtml(view,self.options.truncateString,self.options.truncateLocation,value,self.options.truncateOnlyWholeWords);renderFunc();},overflowFunc,this.options.extraOptimizeLimit);}this.renderState(createRenderState(text,fontSize,letterSpacing),!this.options.truncate);this.currentOptimalState=this.currentRenderedState;this.syncFonts();},syncFonts:function(){if($targetGroup.length>1&&(this.options.fontSizeSynced||this.options.letterSpacingSynced)){var lowestFontSize=this.currentOptimalState.fontSize;var lowestLetterSpacing=this.currentOptimalState.letterSpacing;for(var i=0;i<$targetGroup.length;i++){var groupInstance=$($targetGroup[i]).data("badonkatrunc");if(groupInstance!=null&&groupInstance.currentOptimalState!=null){if(groupInstance.currentOptimalState.fontSize<lowestFontSize){lowestFontSize=groupInstance.currentOptimalState.fontSize;}if(groupInstance.currentOptimalState.letterSpacing<lowestLetterSpacing){lowestLetterSpacing=groupInstance.currentOptimalState.letterSpacing;}}}for(var i=0;i<$targetGroup.length;i++){var groupInstance=$($targetGroup[i]).data("badonkatrunc");if(groupInstance!=null){groupInstance.acceptFontSync(lowestFontSize,lowestLetterSpacing);}}}},acceptFontSync:function(fontSize,letterSpacing){var self=this;var view=createHtmlTextView(this.contentHtml);var text=this.contentHtml;if(this.currentOptimalState!=null){if(!this.options.fontSizeSynced){fontSize=this.currentOptimalState.fontSize;}if(!this.options.letterSpacingSynced){letterSpacing=this.currentOptimalState.letterSpacing;}}var renderFunc=function(){self.renderState(createRenderState(text,fontSize,letterSpacing));};var overflowFunc=function(){return self.getCurrentOverflow();};if(this.options.truncate){optimize(0,1,function(value){text=getTruncatedHtml(view,self.options.truncateString,self.options.truncateLocation,value,self.options.truncateOnlyWholeWords);renderFunc();},overflowFunc);}this.renderState(createRenderState(text,fontSize,letterSpacing),!this.options.truncate);},init:function(){this.contentHtml=this.target.html();this.settingsWrapper=$('<span style="margin: 0px; padding: 0px; border: 0px;"></span>');this.settingsWrapper.addClass("badonkatrunc-wrapper");if(!$.browser.mozilla&&!$.browser.opera&&!($.browser.msie&&$.browser.version=="7.0")){this.settingsWrapper.css("display","block");}this.target.empty();this.target.append(this.settingsWrapper);this.refresh();},destroy:function(){this.target.empty();this.target.append(this.contentHtml);},renderState:function(state,forceAllowWrap){this.settingsWrapper.css("font-size",state.fontSize+"em");this.settingsWrapper.css("letter-spacing",state.letterSpacing+"em");var whiteSpace=(!forceAllowWrap&&this.options.fitDirection=="horizontal")?"nowrap":"normal";this.settingsWrapper.css("white-space",whiteSpace);this.settingsWrapper.empty();this.settingsWrapper.append(state.content);this.currentRenderedState=state;},getCurrentOverflow:function(){var wrapper=this.settingsWrapper[0];var overflow=(this.options.fitDirection=="horizontal")?wrapper.scrollWidth-$target.width():wrapper.offsetHeight-$target.height();return overflow;}};return instance;};var createDispatcher=function(updateFunc,addFunc,removeFunc,updateTimeout){var dispatcherInstance={_instances:[],_updateLoop:function(){if($.isFunction(updateFunc)){for(var i=0;i<dispatcherInstance._instances.length;i++){updateFunc(dispatcherInstance._instances[i]);}}if(updateTimeout!=null){if(dispatcherInstance._instances.length>0){setTimeout(dispatcherInstance._updateLoop,updateTimeout);}}else{dispatcherInstance._instances=[];}},add:function(instance){if($.inArray(instance,this._instances)!=-1){return;}if($.isFunction(addFunc)){addFunc(instance);}this._instances.push(instance);if(this._instances.length==1){if(updateTimeout==null){setTimeout(this._updateLoop);}else{this._updateLoop();}}},remove:function(instance){var index=$.inArray(instance,this._instances);if(index!=-1){this._instances.splice(index,1);if($.isFunction(removeFunc)){removeFunc(instance);}}}};return dispatcherInstance;};var resizeMonitor=createDispatcher(function(instance){instance.elementSizeCache.update();},function(instance){instance.elementSizeCache={width:null,height:null,update:function(){var newWidth=instance.target.width();var newHeight=instance.target.height();var hasChanged=((this.width!=null&&newWidth!=this.width)||(this.height!=null&&newHeight!=this.height));this.width=newWidth;this.height=newHeight;if(hasChanged){this.changed();}},changed:function(){dirtyMonitor.add(instance);}};},function(instance){instance.elementSizeCache=undefined;},$.fn.badonkatrunc.settings.sizeTrackingTimeout);var dirtyMonitor=createDispatcher(function(instance){instance.refresh.apply(instance);},null,null,null);var getTruncatedHtml=function(htmlTextView,truncateString,truncateLocation,amount,wordRounded){var text=htmlTextView.text;if(amount>1){amount=1;}if(amount<0){amount=0;}if(amount==1){return htmlTextView.html;}var getTruncatedRange=function(begin,length){var words=text.split(" ");var totalEntities=(wordRounded)?words.length:text.length;var entityBegin=totalEntities*begin;var entityLength=totalEntities*length;if(wordRounded){var getCharacterPosition=function(wordIndex){var characterCount=0;for(var i=0;i<wordIndex;i++){characterCount+=words[i].length+1;}return characterCount;};var endWord=entityBegin+entityLength;entityBegin=getCharacterPosition(entityBegin);entityLength=getCharacterPosition(endWord)-entityBegin;}return htmlTextView.getHtmlSubstring(entityBegin,entityLength);};switch(truncateLocation){case"middle":var amountPerSide=amount/2;var left=getTruncatedRange(0,amountPerSide);var right=getTruncatedRange(1-amountPerSide,amountPerSide);return $.trim(left)+" "+truncateString+" "+$.trim(right);case"start":var truncated=getTruncatedRange(1-amount,amount);return truncateString+$.trim(truncated);case"end":var truncated=getTruncatedRange(0,amount);return $.trim(truncated)+truncateString;}};var createHtmlTextView=function(contentHtml){var $content=$("<span></span>");$content.html(contentHtml);var view={html:contentHtml,text:$content.text(),getHtmlSubstring:function(index,length){var element=$content.clone()[0];var totalProcessedLength=0;var totalOutputLength=0;var nodesWithinRange=[];var withinRange=false;var stripOutOfRangeTextInElement=function(node){if(node.nodeType==3){var dataLength=node.data.length;var newData="";var wasWithinRange=false;for(var i=0;i<dataLength;i++){totalProcessedLength++;if(totalProcessedLength>=index&&totalOutputLength<length){withinRange=true;wasWithinRange=true;newData+=node.data.substr(i,1);totalOutputLength++;}else{if(withinRange==true){withinRange=false;}}}node.data=newData;if(wasWithinRange){nodesWithinRange.push(node);}}else{if(node.nodeType==1){if(withinRange){nodesWithinRange.push(node);}var childCount=node.childNodes.length;for(var i=0;i<childCount;i++){stripOutOfRangeTextInElement(node.childNodes[i]);}}}};stripOutOfRangeTextInElement(element);var parentNodesToKeep=[];var markParentNodesToKeep=function(element){var keepNode=function(node){parentNodesToKeep.push(node);if(node.parentNode!=null){keepNode(node.parentNode);}};keepNode(element);};var nodesWithinRangeCount=nodesWithinRange.length;for(var t=0;t<nodesWithinRangeCount;t++){markParentNodesToKeep(nodesWithinRange[t]);}var removeUnusedNodes=function(node){var nodesToRemove=[];var childNodeCount=node.childNodes.length;for(var i=0;i<childNodeCount;i++){var childNode=node.childNodes[i];if(childNode.nodeType!=3){if($.inArray(childNode,parentNodesToKeep)==-1){nodesToRemove.push(childNode);}else{removeUnusedNodes(childNode);}}}for(var i=0;i<nodesToRemove.length;i++){var node=nodesToRemove[i];node.parentNode.removeChild(node);}};removeUnusedNodes(element);return $(element).html();}};return view;};var optimize=function(min,max,actionFunc,overflowFunc,extraOptimizeLimit){var currentMax=max;var currentMin=min;var currentValue=max;var lastResult=null;var mostOptimalResult=null;var mostOptimalValue=null;var sameResultCount=0;while(true){actionFunc(currentValue);var result=overflowFunc();if(result<=0){var moreOptimal=true;if(mostOptimalResult!=null){if(mostOptimalResult>result){moreOptimal=false;}else{if(result==mostOptimalResult){if(currentValue<=mostOptimalValue){moreOptimal=false;}}}}if(moreOptimal){mostOptimalResult=result;mostOptimalValue=currentValue;}}if(result==lastResult){sameResultCount++;if(extraOptimizeLimit==undefined||sameResultCount==extraOptimizeLimit){if(mostOptimalValue!=null){actionFunc(mostOptimalValue);}return;}}if(result>0){currentMax=currentValue;var difference=(currentValue-currentMin);currentValue-=(difference/2);}else{if(result<=0){currentMin=currentValue;currentValue=currentMax;}}lastResult=result;}};})(jQuery);
|
43
|
+
|
44
|
+
|
45
|
+
(function ($) {
|
46
|
+
var methods = {
|
47
|
+
init: function (options) {
|
48
|
+
var all = this;
|
49
|
+
var instanceOptions = $.extend(true, {}, $.fn.badonkatrunc.defaultOptions, options);
|
50
|
+
if (instanceOptions.fitDirection != "horizontal" && instanceOptions.fitDirection != "vertical") {
|
51
|
+
$.error("'" + instanceOptions.fitDirection + "' is not a valid fit direction. Use 'horizontal' or 'vertical.'");
|
52
|
+
return this;
|
53
|
+
}
|
54
|
+
if (instanceOptions.truncateLocation != "start" && instanceOptions.truncateLocation != "middle" && instanceOptions.truncateLocation != "end") {
|
55
|
+
$.error("'" + instanceOptions.truncateLocation + "' is not a valid truncation location. Use 'start,' 'middle' or 'end.'");
|
56
|
+
return this;
|
57
|
+
}
|
58
|
+
if (instanceOptions.minimumFontSize > instanceOptions.maximumFontSize) {
|
59
|
+
$.error("Minimum font size can not exceed the maximum font size.");
|
60
|
+
return this;
|
61
|
+
}
|
62
|
+
if (instanceOptions.minimumLetterSpacing > instanceOptions.maximumLetterSpacing) {
|
63
|
+
$.error("Minimum letter spacing can not exceed the maximum letter spacing.");
|
64
|
+
return this;
|
65
|
+
}
|
66
|
+
return this.each(function () {
|
67
|
+
var $this = $(this);
|
68
|
+
var data = $(this).data("badonkatrunc");
|
69
|
+
if (data) {
|
70
|
+
$this.badonkatrunc("destroy");
|
71
|
+
}
|
72
|
+
var instance = pluginInstance($this, instanceOptions, all);
|
73
|
+
$(this).data("badonkatrunc", instance);
|
74
|
+
instance.init();
|
75
|
+
if (instance.options.automaticSizeTracking) {
|
76
|
+
resizeMonitor.add(instance);
|
77
|
+
}
|
78
|
+
});
|
79
|
+
},
|
80
|
+
destroy: function () {
|
81
|
+
return this.each(function () {
|
82
|
+
var $this = $(this);
|
83
|
+
var data = $this.data("badonkatrunc");
|
84
|
+
data.destroy();
|
85
|
+
resizeMonitor.remove(data);
|
86
|
+
dirtyMonitor.remove(data);
|
87
|
+
$(window).unbind(".badonkatrunc");
|
88
|
+
$this.removeData("badonkatrunc");
|
89
|
+
});
|
90
|
+
},
|
91
|
+
refresh: function () {
|
92
|
+
return this.each(function () {
|
93
|
+
var $this = $(this);
|
94
|
+
var data = $this.data("badonkatrunc");
|
95
|
+
dirtyMonitor.remove(data);
|
96
|
+
data.refresh();
|
97
|
+
});
|
98
|
+
},
|
99
|
+
changeContents: function (newContents) {
|
100
|
+
return this.each(function () {
|
101
|
+
var $this = $(this);
|
102
|
+
var data = $this.data("badonkatrunc");
|
103
|
+
if (typeof (newContents) == "string") {
|
104
|
+
data.contentHtml = $("<span></span>").text(newContents).html();
|
105
|
+
} else {
|
106
|
+
data.contentHtml = $(newContents).html();
|
107
|
+
}
|
108
|
+
dirtyMonitor.add(data);
|
109
|
+
});
|
110
|
+
}
|
111
|
+
};
|
112
|
+
$.fn.badonkatrunc = function (method) {
|
113
|
+
if (methods[method]) {
|
114
|
+
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
|
115
|
+
} else {
|
116
|
+
if (typeof method === "object" || !method) {
|
117
|
+
return methods.init.apply(this, arguments);
|
118
|
+
} else {
|
119
|
+
$.error("Method " + method + " does not exist on jQuery.badonkatrunc");
|
120
|
+
}
|
121
|
+
}
|
122
|
+
};
|
123
|
+
$.fn.badonkatrunc.settings = {
|
124
|
+
sizeTrackingTimeout: 1000 / 60
|
125
|
+
};
|
126
|
+
$.fn.badonkatrunc.defaultOptions = {
|
127
|
+
automaticSizeTracking: false,
|
128
|
+
fitDirection: "horizontal",
|
129
|
+
minimumFontSize: 1,
|
130
|
+
maximumFontSize: 1,
|
131
|
+
fontSizeSynced: false,
|
132
|
+
minimumLetterSpacing: 0,
|
133
|
+
maximumLetterSpacing: 0,
|
134
|
+
letterSpacingSynced: false,
|
135
|
+
truncate: true,
|
136
|
+
truncateString: "…",
|
137
|
+
truncateLocation: "end",
|
138
|
+
truncateOnlyWholeWords: false,
|
139
|
+
extraOptimizeLimit: 8
|
140
|
+
};
|
141
|
+
$.fn.btrunc = $.fn.badonkatrunc;
|
142
|
+
var pluginInstance = function ($target, options, $targetGroup) {
|
143
|
+
var createRenderState = function (content, fontSize, letterSpacing) {
|
144
|
+
return {
|
145
|
+
content: content,
|
146
|
+
fontSize: fontSize,
|
147
|
+
letterSpacing: letterSpacing
|
148
|
+
};
|
149
|
+
};
|
150
|
+
var instance = {
|
151
|
+
target: $target,
|
152
|
+
options: options,
|
153
|
+
refresh: function () {
|
154
|
+
var self = this;
|
155
|
+
var view = createHtmlTextView(this.contentHtml);
|
156
|
+
var text = this.contentHtml;
|
157
|
+
var fontSize = this.options.maximumFontSize;
|
158
|
+
var letterSpacing = this.options.maximumLetterSpacing;
|
159
|
+
var renderFunc = function () {
|
160
|
+
var state = createRenderState(text, fontSize, letterSpacing);
|
161
|
+
self.renderState(state);
|
162
|
+
};
|
163
|
+
var overflowFunc = function () {
|
164
|
+
return self.getCurrentOverflow();
|
165
|
+
};
|
166
|
+
if (this.options.maximumFontSize - this.options.minimumFontSize > 0) {
|
167
|
+
optimize(self.options.minimumFontSize, self.options.maximumFontSize, function (value) {
|
168
|
+
fontSize = value;
|
169
|
+
renderFunc();
|
170
|
+
}, overflowFunc);
|
171
|
+
}
|
172
|
+
if (this.options.maximumLetterSpacing - this.options.minimumLetterSpacing > 0) {
|
173
|
+
var truncationLevel = 1;
|
174
|
+
if (this.options.truncate) {
|
175
|
+
optimize(0, 1, function (value) {
|
176
|
+
truncationLevel = value;
|
177
|
+
text = getTruncatedHtml(view, self.options.truncateString, self.options.truncateLocation, value, true);
|
178
|
+
optimize(self.options.minimumLetterSpacing, 0, function (value) {
|
179
|
+
letterSpacing = value;
|
180
|
+
renderFunc();
|
181
|
+
}, overflowFunc);
|
182
|
+
renderFunc();
|
183
|
+
}, overflowFunc);
|
184
|
+
}
|
185
|
+
if (truncationLevel == 1) {
|
186
|
+
optimize(self.options.minimumLetterSpacing, self.options.maximumLetterSpacing, function (value) {
|
187
|
+
letterSpacing = value;
|
188
|
+
renderFunc();
|
189
|
+
}, overflowFunc);
|
190
|
+
}
|
191
|
+
}
|
192
|
+
if (this.options.truncate) {
|
193
|
+
optimize(0, 1, function (value) {
|
194
|
+
text = getTruncatedHtml(view, self.options.truncateString, self.options.truncateLocation, value, self.options.truncateOnlyWholeWords);
|
195
|
+
renderFunc();
|
196
|
+
}, overflowFunc, this.options.extraOptimizeLimit);
|
197
|
+
}
|
198
|
+
this.renderState(createRenderState(text, fontSize, letterSpacing), !this.options.truncate);
|
199
|
+
this.currentOptimalState = this.currentRenderedState;
|
200
|
+
this.syncFonts();
|
201
|
+
},
|
202
|
+
syncFonts: function () {
|
203
|
+
if ($targetGroup.length > 1 && (this.options.fontSizeSynced || this.options.letterSpacingSynced)) {
|
204
|
+
var lowestFontSize = this.currentOptimalState.fontSize;
|
205
|
+
var lowestLetterSpacing = this.currentOptimalState.letterSpacing;
|
206
|
+
for (var i = 0; i < $targetGroup.length; i++) {
|
207
|
+
var groupInstance = $($targetGroup[i]).data("badonkatrunc");
|
208
|
+
if (groupInstance != null && groupInstance.currentOptimalState != null) {
|
209
|
+
if (groupInstance.currentOptimalState.fontSize < lowestFontSize) {
|
210
|
+
lowestFontSize = groupInstance.currentOptimalState.fontSize;
|
211
|
+
}
|
212
|
+
if (groupInstance.currentOptimalState.letterSpacing < lowestLetterSpacing) {
|
213
|
+
lowestLetterSpacing = groupInstance.currentOptimalState.letterSpacing;
|
214
|
+
}
|
215
|
+
}
|
216
|
+
}
|
217
|
+
for (var i = 0; i < $targetGroup.length; i++) {
|
218
|
+
var groupInstance = $($targetGroup[i]).data("badonkatrunc");
|
219
|
+
if (groupInstance != null) {
|
220
|
+
groupInstance.acceptFontSync(lowestFontSize, lowestLetterSpacing);
|
221
|
+
}
|
222
|
+
}
|
223
|
+
}
|
224
|
+
},
|
225
|
+
acceptFontSync: function (fontSize, letterSpacing) {
|
226
|
+
var self = this;
|
227
|
+
var view = createHtmlTextView(this.contentHtml);
|
228
|
+
var text = this.contentHtml;
|
229
|
+
if (this.currentOptimalState != null) {
|
230
|
+
if (!this.options.fontSizeSynced) {
|
231
|
+
fontSize = this.currentOptimalState.fontSize;
|
232
|
+
}
|
233
|
+
if (!this.options.letterSpacingSynced) {
|
234
|
+
letterSpacing = this.currentOptimalState.letterSpacing;
|
235
|
+
}
|
236
|
+
}
|
237
|
+
var renderFunc = function () {
|
238
|
+
self.renderState(createRenderState(text, fontSize, letterSpacing));
|
239
|
+
};
|
240
|
+
var overflowFunc = function () {
|
241
|
+
return self.getCurrentOverflow();
|
242
|
+
};
|
243
|
+
if (this.options.truncate) {
|
244
|
+
optimize(0, 1, function (value) {
|
245
|
+
text = getTruncatedHtml(view, self.options.truncateString, self.options.truncateLocation, value, self.options.truncateOnlyWholeWords);
|
246
|
+
renderFunc();
|
247
|
+
}, overflowFunc);
|
248
|
+
}
|
249
|
+
this.renderState(createRenderState(text, fontSize, letterSpacing), !this.options.truncate);
|
250
|
+
},
|
251
|
+
init: function () {
|
252
|
+
|
253
|
+
if (!$.browser.mozilla && !$.browser.opera && !($.browser.msie && $.browser.version == "7.0")) {
|
254
|
+
this.contentHtml = this.target.html();
|
255
|
+
this.settingsWrapper = $('<span style="margin: 0px; padding: 0px; border: 0px;"></span>');
|
256
|
+
this.settingsWrapper.addClass("badonkatrunc-wrapper");
|
257
|
+
this.settingsWrapper.css("display", "block");
|
258
|
+
}
|
259
|
+
//this.target.empty();
|
260
|
+
this.target.append(this.settingsWrapper);
|
261
|
+
this.refresh();
|
262
|
+
},
|
263
|
+
destroy: function () {
|
264
|
+
this.target.empty();
|
265
|
+
this.target.append(this.contentHtml);
|
266
|
+
},
|
267
|
+
renderState: function (state, forceAllowWrap) {
|
268
|
+
this.settingsWrapper.css("font-size", state.fontSize + "em");
|
269
|
+
this.settingsWrapper.css("letter-spacing", state.letterSpacing + "em");
|
270
|
+
var whiteSpace = (!forceAllowWrap && this.options.fitDirection == "horizontal") ? "nowrap" : "normal";
|
271
|
+
this.settingsWrapper.css("white-space", whiteSpace);
|
272
|
+
this.settingsWrapper.empty();
|
273
|
+
this.settingsWrapper.append(state.content);
|
274
|
+
this.currentRenderedState = state;
|
275
|
+
},
|
276
|
+
getCurrentOverflow: function () {
|
277
|
+
var wrapper = this.settingsWrapper[0];
|
278
|
+
var overflow = (this.options.fitDirection == "horizontal") ? wrapper.scrollWidth - $target.width() : wrapper.offsetHeight - $target.height();
|
279
|
+
return overflow;
|
280
|
+
}
|
281
|
+
};
|
282
|
+
return instance;
|
283
|
+
};
|
284
|
+
var createDispatcher = function (updateFunc, addFunc, removeFunc, updateTimeout) {
|
285
|
+
var dispatcherInstance = {
|
286
|
+
_instances: [],
|
287
|
+
_updateLoop: function () {
|
288
|
+
if ($.isFunction(updateFunc)) {
|
289
|
+
for (var i = 0; i < dispatcherInstance._instances.length; i++) {
|
290
|
+
updateFunc(dispatcherInstance._instances[i]);
|
291
|
+
}
|
292
|
+
}
|
293
|
+
if (updateTimeout != null) {
|
294
|
+
if (dispatcherInstance._instances.length > 0) {
|
295
|
+
setTimeout(dispatcherInstance._updateLoop, updateTimeout);
|
296
|
+
}
|
297
|
+
} else {
|
298
|
+
dispatcherInstance._instances = [];
|
299
|
+
}
|
300
|
+
},
|
301
|
+
add: function (instance) {
|
302
|
+
if ($.inArray(instance, this._instances) != -1) {
|
303
|
+
return;
|
304
|
+
}
|
305
|
+
if ($.isFunction(addFunc)) {
|
306
|
+
addFunc(instance);
|
307
|
+
}
|
308
|
+
this._instances.push(instance);
|
309
|
+
if (this._instances.length == 1) {
|
310
|
+
if (updateTimeout == null) {
|
311
|
+
setTimeout(this._updateLoop);
|
312
|
+
} else {
|
313
|
+
this._updateLoop();
|
314
|
+
}
|
315
|
+
}
|
316
|
+
},
|
317
|
+
remove: function (instance) {
|
318
|
+
var index = $.inArray(instance, this._instances);
|
319
|
+
if (index != -1) {
|
320
|
+
this._instances.splice(index, 1);
|
321
|
+
if ($.isFunction(removeFunc)) {
|
322
|
+
removeFunc(instance);
|
323
|
+
}
|
324
|
+
}
|
325
|
+
}
|
326
|
+
};
|
327
|
+
return dispatcherInstance;
|
328
|
+
};
|
329
|
+
var resizeMonitor = createDispatcher(function (instance) {
|
330
|
+
instance.elementSizeCache.update();
|
331
|
+
}, function (instance) {
|
332
|
+
instance.elementSizeCache = {
|
333
|
+
width: null,
|
334
|
+
height: null,
|
335
|
+
update: function () {
|
336
|
+
var newWidth = instance.target.width();
|
337
|
+
var newHeight = instance.target.height();
|
338
|
+
var hasChanged = ((this.width != null && newWidth != this.width) || (this.height != null && newHeight != this.height));
|
339
|
+
this.width = newWidth;
|
340
|
+
this.height = newHeight;
|
341
|
+
if (hasChanged) {
|
342
|
+
this.changed();
|
343
|
+
}
|
344
|
+
},
|
345
|
+
changed: function () {
|
346
|
+
dirtyMonitor.add(instance);
|
347
|
+
}
|
348
|
+
};
|
349
|
+
}, function (instance) {
|
350
|
+
instance.elementSizeCache = undefined;
|
351
|
+
}, $.fn.badonkatrunc.settings.sizeTrackingTimeout);
|
352
|
+
var dirtyMonitor = createDispatcher(function (instance) {
|
353
|
+
instance.refresh.apply(instance);
|
354
|
+
}, null, null, null);
|
355
|
+
var getTruncatedHtml = function (htmlTextView, truncateString, truncateLocation, amount, wordRounded) {
|
356
|
+
var text = htmlTextView.text;
|
357
|
+
if (amount > 1) {
|
358
|
+
amount = 1;
|
359
|
+
}
|
360
|
+
if (amount < 0) {
|
361
|
+
amount = 0;
|
362
|
+
}
|
363
|
+
if (amount == 1) {
|
364
|
+
return htmlTextView.html;
|
365
|
+
}
|
366
|
+
var getTruncatedRange = function (begin, length) {
|
367
|
+
var words = text.split(" ");
|
368
|
+
var totalEntities = (wordRounded) ? words.length : text.length;
|
369
|
+
var entityBegin = totalEntities * begin;
|
370
|
+
var entityLength = totalEntities * length;
|
371
|
+
if (wordRounded) {
|
372
|
+
var getCharacterPosition = function (wordIndex) {
|
373
|
+
var characterCount = 0;
|
374
|
+
for (var i = 0; i < wordIndex; i++) {
|
375
|
+
characterCount += words[i].length + 1;
|
376
|
+
}
|
377
|
+
return characterCount;
|
378
|
+
};
|
379
|
+
var endWord = entityBegin + entityLength;
|
380
|
+
entityBegin = getCharacterPosition(entityBegin);
|
381
|
+
entityLength = getCharacterPosition(endWord) - entityBegin;
|
382
|
+
}
|
383
|
+
return htmlTextView.getHtmlSubstring(entityBegin, entityLength);
|
384
|
+
};
|
385
|
+
switch (truncateLocation) {
|
386
|
+
case "middle":
|
387
|
+
var amountPerSide = amount / 2;
|
388
|
+
var left = getTruncatedRange(0, amountPerSide);
|
389
|
+
var right = getTruncatedRange(1 - amountPerSide, amountPerSide);
|
390
|
+
return $.trim(left) + " " + truncateString + " " + $.trim(right);
|
391
|
+
case "start":
|
392
|
+
var truncated = getTruncatedRange(1 - amount, amount);
|
393
|
+
return truncateString + $.trim(truncated);
|
394
|
+
case "end":
|
395
|
+
var truncated = getTruncatedRange(0, amount);
|
396
|
+
return $.trim(truncated) + truncateString;
|
397
|
+
}
|
398
|
+
};
|
399
|
+
var createHtmlTextView = function (contentHtml) {
|
400
|
+
var $content = $("<span></span>");
|
401
|
+
$content.html(contentHtml);
|
402
|
+
var view = {
|
403
|
+
html: contentHtml,
|
404
|
+
text: $content.text(),
|
405
|
+
getHtmlSubstring: function (index, length) {
|
406
|
+
var element = $content.clone()[0];
|
407
|
+
var totalProcessedLength = 0;
|
408
|
+
var totalOutputLength = 0;
|
409
|
+
var nodesWithinRange = [];
|
410
|
+
var withinRange = false;
|
411
|
+
var stripOutOfRangeTextInElement = function (node) {
|
412
|
+
if (node.nodeType == 3) {
|
413
|
+
var dataLength = node.data.length;
|
414
|
+
var newData = "";
|
415
|
+
var wasWithinRange = false;
|
416
|
+
for (var i = 0; i < dataLength; i++) {
|
417
|
+
totalProcessedLength++;
|
418
|
+
if (totalProcessedLength >= index && totalOutputLength < length) {
|
419
|
+
withinRange = true;
|
420
|
+
wasWithinRange = true;
|
421
|
+
newData += node.data.substr(i, 1);
|
422
|
+
totalOutputLength++;
|
423
|
+
} else {
|
424
|
+
if (withinRange == true) {
|
425
|
+
withinRange = false;
|
426
|
+
}
|
427
|
+
}
|
428
|
+
}
|
429
|
+
node.data = newData;
|
430
|
+
if (wasWithinRange) {
|
431
|
+
nodesWithinRange.push(node);
|
432
|
+
}
|
433
|
+
} else {
|
434
|
+
if (node.nodeType == 1) {
|
435
|
+
if (withinRange) {
|
436
|
+
nodesWithinRange.push(node);
|
437
|
+
}
|
438
|
+
var childCount = node.childNodes.length;
|
439
|
+
for (var i = 0; i < childCount; i++) {
|
440
|
+
stripOutOfRangeTextInElement(node.childNodes[i]);
|
441
|
+
}
|
442
|
+
}
|
443
|
+
}
|
444
|
+
};
|
445
|
+
stripOutOfRangeTextInElement(element);
|
446
|
+
var parentNodesToKeep = [];
|
447
|
+
var markParentNodesToKeep = function (element) {
|
448
|
+
var keepNode = function (node) {
|
449
|
+
parentNodesToKeep.push(node);
|
450
|
+
if (node.parentNode != null) {
|
451
|
+
keepNode(node.parentNode);
|
452
|
+
}
|
453
|
+
};
|
454
|
+
keepNode(element);
|
455
|
+
};
|
456
|
+
var nodesWithinRangeCount = nodesWithinRange.length;
|
457
|
+
for (var t = 0; t < nodesWithinRangeCount; t++) {
|
458
|
+
markParentNodesToKeep(nodesWithinRange[t]);
|
459
|
+
}
|
460
|
+
var removeUnusedNodes = function (node) {
|
461
|
+
var nodesToRemove = [];
|
462
|
+
var childNodeCount = node.childNodes.length;
|
463
|
+
for (var i = 0; i < childNodeCount; i++) {
|
464
|
+
var childNode = node.childNodes[i];
|
465
|
+
if (childNode.nodeType != 3) {
|
466
|
+
if ($.inArray(childNode, parentNodesToKeep) == -1) {
|
467
|
+
nodesToRemove.push(childNode);
|
468
|
+
} else {
|
469
|
+
removeUnusedNodes(childNode);
|
470
|
+
}
|
471
|
+
}
|
472
|
+
}
|
473
|
+
for (var i = 0; i < nodesToRemove.length; i++) {
|
474
|
+
var node = nodesToRemove[i];
|
475
|
+
node.parentNode.removeChild(node);
|
476
|
+
}
|
477
|
+
};
|
478
|
+
removeUnusedNodes(element);
|
479
|
+
return $(element).html();
|
480
|
+
}
|
481
|
+
};
|
482
|
+
return view;
|
483
|
+
};
|
484
|
+
var optimize = function (min, max, actionFunc, overflowFunc, extraOptimizeLimit) {
|
485
|
+
var currentMax = max;
|
486
|
+
var currentMin = min;
|
487
|
+
var currentValue = max;
|
488
|
+
var lastResult = null;
|
489
|
+
var mostOptimalResult = null;
|
490
|
+
var mostOptimalValue = null;
|
491
|
+
var sameResultCount = 0;
|
492
|
+
while (true) {
|
493
|
+
actionFunc(currentValue);
|
494
|
+
var result = overflowFunc();
|
495
|
+
if (result <= 0) {
|
496
|
+
var moreOptimal = true;
|
497
|
+
if (mostOptimalResult != null) {
|
498
|
+
if (mostOptimalResult > result) {
|
499
|
+
moreOptimal = false;
|
500
|
+
} else {
|
501
|
+
if (result == mostOptimalResult) {
|
502
|
+
if (currentValue <= mostOptimalValue) {
|
503
|
+
moreOptimal = false;
|
504
|
+
}
|
505
|
+
}
|
506
|
+
}
|
507
|
+
}
|
508
|
+
if (moreOptimal) {
|
509
|
+
mostOptimalResult = result;
|
510
|
+
mostOptimalValue = currentValue;
|
511
|
+
}
|
512
|
+
}
|
513
|
+
if (result == lastResult) {
|
514
|
+
sameResultCount++;
|
515
|
+
if (extraOptimizeLimit == undefined || sameResultCount == extraOptimizeLimit) {
|
516
|
+
if (mostOptimalValue != null) {
|
517
|
+
actionFunc(mostOptimalValue);
|
518
|
+
}
|
519
|
+
return;
|
520
|
+
}
|
521
|
+
}
|
522
|
+
if (result > 0) {
|
523
|
+
currentMax = currentValue;
|
524
|
+
var difference = (currentValue - currentMin);
|
525
|
+
currentValue -= (difference / 2);
|
526
|
+
} else {
|
527
|
+
if (result <= 0) {
|
528
|
+
currentMin = currentValue;
|
529
|
+
currentValue = currentMax;
|
530
|
+
}
|
531
|
+
}
|
532
|
+
lastResult = result;
|
533
|
+
}
|
534
|
+
};
|
535
|
+
})(jQuery);
|
43
536
|
/*
|
44
537
|
* jQuery OwlCarousel v1.3.2
|
45
538
|
*
|
@@ -1892,6 +2385,7 @@ if (!window.matchMedia){ window.matchMedia = function(){ return { matches:false
|
|
1892
2385
|
$(document).ready(function (){
|
1893
2386
|
widgets.handleEvents();
|
1894
2387
|
owlPlugin.initPostCarousel();
|
2388
|
+
owlPlugin.initServiceCarouselFull;
|
1895
2389
|
owlPlugin.initServiceCarouselLarge();
|
1896
2390
|
owlPlugin.initServiceCarouselSmall();
|
1897
2391
|
owlPlugin.initGalleriesCarousel();
|
@@ -1948,6 +2442,23 @@ if (!window.matchMedia){ window.matchMedia = function(){ return { matches:false
|
|
1948
2442
|
}
|
1949
2443
|
},
|
1950
2444
|
|
2445
|
+
initServiceCarouselFull : function(){
|
2446
|
+
var element = $(".iasd-widget-slider > .services.full");
|
2447
|
+
if(element.length > 0) {
|
2448
|
+
owlCarousels.push(element.owlCarousel({
|
2449
|
+
items : 7,
|
2450
|
+
itemsDesktop : [1200,7],
|
2451
|
+
itemsDesktopSmall : [991,7],
|
2452
|
+
itemsTablet : [768,5],
|
2453
|
+
itemsMobile: [479,3],
|
2454
|
+
slideSpeed : 500,
|
2455
|
+
paginationSpeed : 1000,
|
2456
|
+
autoPlay: false,
|
2457
|
+
stopOnHover: true
|
2458
|
+
}).data('owlCarousel'));
|
2459
|
+
}
|
2460
|
+
},
|
2461
|
+
|
1951
2462
|
initServiceCarouselLarge : function(){
|
1952
2463
|
var element = $(".iasd-widget-slider > .services.large");
|
1953
2464
|
if(element.length > 0) {
|
@@ -2298,14 +2809,6 @@ if (!window.matchMedia){ window.matchMedia = function(){ return { matches:false
|
|
2298
2809
|
};
|
2299
2810
|
|
2300
2811
|
})(jQuery);
|
2301
|
-
(function($){
|
2302
|
-
var checkWhastapp = function() {
|
2303
|
-
if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) {
|
2304
|
-
$(".social-media .whatsapp").css({ visibility: "visible" });
|
2305
|
-
}
|
2306
|
-
}
|
2307
|
-
$('document').ready(checkWhastapp);
|
2308
|
-
})(jQuery);
|
2309
2812
|
(function($){
|
2310
2813
|
|
2311
2814
|
$(window).load(function (){
|