Insider_Blog_Header-2.png

MerusCase

Recent Posts

Friday, June 05, 2009

1.2 Release

Show summary

As of June 5, 2009, additional core features and improvements to already established features have been added to MerusCase for the 1.2 release to further each user's experience.  These 1.2 features include:

Read More
Posted by MerusCase on Friday June 05, 2009 0 Comments

Labels: Engineering

Thursday, May 14, 2009

Why doesn’t Mootools have a String.truncate() method?

Show summary
I need a quick way to truncate strings! I’m surprised that neither MooTools’ String.js or String.Extras.js has such a method.  They have so many super-awesome functions, methods and extensions (I especially love the Date.js extensions!!).  Yeah, I really love mootools, and I feel compelled to share with the community.  So anyway, I wrote out a simple, straightforward String.truncate() function:
String.<span style="color:#660066;">implement</span><span style="color:#009900;">(</span><span style="color:#009900;">{</span>    <span style="color:#006600;font-style:italic;">/**     * String.truncate(max, atChar, trail)     *     * ++All parameters are optional.     * @param max = (integer) maximum length of truncated string. Defaults to 100 chars.     * @param atChar = (string) truncate at the last index of this string. If not found, just truncates to max length.     *                 If null, does not search and truncates to max length.     * @param trail = (string) what you want appended to the end of the returned string     *     * @author Michael Fuery, Fuery Solutions, Inc. http://www.fuerysolutions.com/     *     * +Requires MooTools Core 1.2.2     */</span>    truncate<span style="color:#339933;">:</span><span style="color:#003366;font-weight:bold;">function</span><span style="color:#009900;">(</span>max<span style="color:#339933;">,</span> atChar<span style="color:#339933;">,</span> trail<span style="color:#009900;">)</span><span style="color:#009900;">{</span>        <span style="color:#003366;font-weight:bold;">var</span> s <span style="color:#339933;">=</span> <span style="color:#000066;font-weight:bold;">this</span>.<span style="color:#660066;">trim</span><span style="color:#009900;">(</span><span style="color:#009900;">)</span><span style="color:#339933;">;</span>        <span style="color:#000066;font-weight:bold;">if</span><span style="color:#009900;">(</span>s.<span style="color:#660066;">length</span><span style="color:#339933;">&amp;</span>lt<span style="color:#339933;">;</span><span style="color:#cc0000;">1</span><span style="color:#009900;">)</span> <span style="color:#000066;font-weight:bold;">return</span> <span style="color:#3366cc;">''</span><span style="color:#339933;">;</span>        <span style="color:#000066;font-weight:bold;">if</span><span style="color:#009900;">(</span><span style="color:#339933;">!</span>$defined<span style="color:#009900;">(</span>max<span style="color:#009900;">)</span><span style="color:#009900;">)</span> <span style="color:#003366;font-weight:bold;">var</span> max <span style="color:#339933;">=</span> <span style="color:#cc0000;">100</span><span style="color:#339933;">;</span>        <span style="color:#000066;font-weight:bold;">else</span> max <span style="color:#339933;">=</span> max.<span style="color:#660066;">toInt</span><span style="color:#009900;">(</span><span style="color:#009900;">)</span><span style="color:#339933;">;</span>        <span style="color:#000066;font-weight:bold;">if</span><span style="color:#009900;">(</span><span style="color:#339933;">!</span>$defined<span style="color:#009900;">(</span>atChar<span style="color:#009900;">)</span><span style="color:#009900;">)</span> <span style="color:#003366;font-weight:bold;">var</span> atChar<span style="color:#339933;">=</span><span style="color:#3366cc;">' '</span><span style="color:#339933;">;</span> <span style="color:#006600;font-style:italic;">// break at space</span>        <span style="color:#000066;font-weight:bold;">else</span> <span style="color:#000066;font-weight:bold;">if</span><span style="color:#009900;">(</span>atChar <span style="color:#339933;">==</span> <span style="color:#003366;font-weight:bold;">null</span><span style="color:#009900;">)</span> <span style="color:#003366;font-weight:bold;">var</span> atChar<span style="color:#339933;">=</span><span style="color:#003366;font-weight:bold;">false</span><span style="color:#339933;">;</span>        <span style="color:#000066;font-weight:bold;">if</span><span style="color:#009900;">(</span><span style="color:#339933;">!</span>$defined<span style="color:#009900;">(</span>trail<span style="color:#009900;">)</span><span style="color:#009900;">)</span> <span style="color:#003366;font-weight:bold;">var</span> trail <span style="color:#339933;">=</span> <span style="color:#3366cc;">'...'</span><span style="color:#339933;">;</span>         <span style="color:#000066;font-weight:bold;">if</span><span style="color:#009900;">(</span>s.<span style="color:#660066;">length</span> <span style="color:#339933;">&amp;</span>gt<span style="color:#339933;">;</span> max<span style="color:#009900;">)</span> <span style="color:#009900;">{</span>            <span style="color:#003366;font-weight:bold;">var</span> i<span style="color:#339933;">=</span><span style="color:#cc0000;">0</span><span style="color:#339933;">;</span>            s <span style="color:#339933;">=</span> s.<span style="color:#660066;">slice</span><span style="color:#009900;">(</span><span style="color:#cc0000;">0</span><span style="color:#339933;">,</span>max<span style="color:#009900;">)</span><span style="color:#339933;">;</span>            <span style="color:#000066;font-weight:bold;">if</span><span style="color:#009900;">(</span>atChar<span style="color:#009900;">)</span><span style="color:#009900;">{</span>                <span style="color:#000066;font-weight:bold;">if</span><span style="color:#009900;">(</span><span style="color:#009900;">(</span>i <span style="color:#339933;">=</span> s.<span style="color:#660066;">lastIndexOf</span><span style="color:#009900;">(</span>atChar<span style="color:#009900;">)</span><span style="color:#009900;">)</span> <span style="color:#339933;">!=</span> <span style="color:#339933;">-</span><span style="color:#cc0000;">1</span><span style="color:#009900;">)</span><span style="color:#009900;">{</span>                    s <span style="color:#339933;">=</span> s.<span style="color:#660066;">substring</span><span style="color:#009900;">(</span><span style="color:#cc0000;">0</span><span style="color:#339933;">,</span> i<span style="color:#009900;">)</span><span style="color:#339933;">;</span>                <span style="color:#009900;">}</span><span style="color:#000066;font-weight:bold;">else</span><span style="color:#009900;">{</span>                    s <span style="color:#339933;">=</span> s.<span style="color:#660066;">substring</span><span style="color:#009900;">(</span><span style="color:#cc0000;">0</span><span style="color:#339933;">,</span> max<span style="color:#009900;">)</span><span style="color:#339933;">;</span>                <span style="color:#009900;">}</span>            <span style="color:#009900;">}</span>             s <span style="color:#339933;">+=</span> trail<span style="color:#339933;">;</span>        <span style="color:#009900;">}</span>         <span style="color:#000066;font-weight:bold;">return</span> s<span style="color:#339933;">;</span>    <span style="color:#009900;">}</span><span style="color:#009900;">}</span><span style="color:#009900;">)</span><span style="color:#339933;">;</span>
Read More
Posted by MerusCase on Thursday May 14, 2009 0 Comments

Labels: Engineering

Leave a Reply

Meet MerusCase

We're the only cloud-based legal practice management system trusted by thousands of lawyers to manage cases, documents, billing, and beyond. Learn more about MerusCase & schedule a demo today!

Become an Insider:

Recent Posts