CaffGeek/MBACNationals

View on GitHub
Web.Admin/2014/wordpress/wp-admin/js/word-count.dev.js

Summary

Maintainability
A
0 mins
Test Coverage
// Word count
(function($) {
    wpWordCount = {

        init : function() {
            var t = this, last = 0, co = $('#content');

            $('#wp-word-count').html( wordCountL10n.count.replace( /%d/, '<span id="word-count">0</span>' ) );
            t.block = 0;
            t.wc(co.val());
            co.keyup( function(e) {
                if ( e.keyCode == last ) return true;
                if ( 13 == e.keyCode || 8 == last || 46 == last ) t.wc(co.val());
                last = e.keyCode;
                return true;
            });
        },

        wc : function(tx) {
            var t = this, w = $('#word-count'), tc = 0;

            if ( t.block ) return;
            t.block = 1;

            setTimeout( function() {
                if ( tx ) {
                    tx = tx.replace( /<.[^<>]*?>/g, ' ' ).replace( /&nbsp;|&#160;/gi, ' ' );
                    tx = tx.replace( /[0-9.(),;:!?%#$¿'"_+=\\/-]*/g, '' );
                    tx.replace( /\S\s+/g, function(){tc++;} );
                }
                w.html(tc.toString());

                setTimeout( function() { t.block = 0; }, 2000 );
            }, 1 );
        }
    }

    $(document).ready( function(){ wpWordCount.init(); } );
}(jQuery));