diff options
author | robocoder <anthon.pang@gmail.com> | 2010-06-23 22:33:52 +0400 |
---|---|---|
committer | robocoder <anthon.pang@gmail.com> | 2010-06-23 22:33:52 +0400 |
commit | 89bddc79b295ad5103398907a1a9117fa531b606 (patch) | |
tree | 3a5a1456245008ff36dce3f6ef84858a09efba4c /libs/jquery/jquery.truncate.js | |
parent | 6aec33f0d9e6f98131ecc7beca90645420aa088a (diff) |
refs #1442 - add missing license files per FSF review; remove uncompressed javascript folders; move jquery.tooltip and jquery.truncate to parent folder for consistency
git-svn-id: http://dev.piwik.org/svn/trunk@2371 59fd770c-687e-43c8-a1e3-f5a4ff64c105
Diffstat (limited to 'libs/jquery/jquery.truncate.js')
-rw-r--r-- | libs/jquery/jquery.truncate.js | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/libs/jquery/jquery.truncate.js b/libs/jquery/jquery.truncate.js new file mode 100644 index 0000000000..dd6d6527dc --- /dev/null +++ b/libs/jquery/jquery.truncate.js @@ -0,0 +1,61 @@ +/** + * Copyright 2007, 2008, 2009, 2010 Matthieu Aubry + * All rights reserved. + * + * @link http://dev.piwik.org/trac/browser/trunk/libs/jquery/truncate + * @license http://www.opensource.org/licenses/bsd-license.php BSD License + * @version $Id$ + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of Matthieu Aubrey nor the names of its contributors + * may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +jQuery.fn.truncate = function(max) { + return this.each( + function() { + var trail='...'; + v=jQuery.trim(jQuery(this).text()); + while(max<v.length) { + c=v.charAt(max); + newStringTruncated=v.substring(0,max)+trail; + charToRemove='"'; + regExp=new RegExp("["+charToRemove+"]","g"); + vCleaned = v + .replace(regExp,"&quot;") + .replace(/</g, '&lt;') + .replace(/>/g, '&gt;'); + newStringTruncated = newStringTruncated + .replace(regExp,"'") + .replace(/</g, '<') + .replace(/>/g, '>'); + html='<span class="truncated" title="'+vCleaned+'">'+newStringTruncated+'</span>'; + jQuery(this).html(html); + break; + max--; + } + } + ); +}; |