PHP Classes

File: WITheme/WICMS/admin/js/plugins/textEditor/tinymce_4.2.6_dev/tinymce/js/tinymce/plugins/wordcount/plugin.js

Recommend this page to a friend!
  Classes of Jules Warner   WICMS   WITheme/WICMS/admin/js/plugins/textEditor/tinymce_4.2.6_dev/tinymce/js/tinymce/plugins/wordcount/plugin.js   Download  
File: WITheme/WICMS/admin/js/plugins/textEditor/tinymce_4.2.6_dev/tinymce/js/tinymce/plugins/wordcount/plugin.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: WICMS
Database driven content management system with PDO
Author: By
Last change:
Date: 7 years ago
Size: 1,855 bytes
 

Contents

Class file image Download
/** * plugin.js * * Released under LGPL License. * Copyright (c) 1999-2015 Ephox Corp. All rights reserved * * License: http://www.tinymce.com/license * Contributing: http://www.tinymce.com/contributing */ /*global tinymce:true */ tinymce.PluginManager.add('wordcount', function(editor) { var self = this, countre, cleanre; // Included most unicode blocks see: http://en.wikipedia.org/wiki/Unicode_block // Latin-1_Supplement letters, a-z, u2019 == &rsquo; countre = editor.getParam('wordcount_countregex', /[\w\u2019\x27\-\u00C0-\u1FFF]+/g); cleanre = editor.getParam('wordcount_cleanregex', /[0-9.(),;:!?%#$?\x27\x22_+=\\\/\-]*/g); function update() { editor.theme.panel.find('#wordcount').text(['Words: {0}', self.getCount()]); } editor.on('init', function() { var statusbar = editor.theme.panel && editor.theme.panel.find('#statusbar')[0]; if (statusbar) { window.setTimeout(function() { statusbar.insert({ type: 'label', name: 'wordcount', text: ['Words: {0}', self.getCount()], classes: 'wordcount', disabled: editor.settings.readonly }, 0); editor.on('setcontent beforeaddundo', update); editor.on('keyup', function(e) { if (e.keyCode == 32) { update(); } }); }, 0); } }); self.getCount = function() { var tx = editor.getContent({format: 'raw'}); var tc = 0; if (tx) { tx = tx.replace(/\.\.\./g, ' '); // convert ellipses to spaces tx = tx.replace(/<.[^<>]*?>/g, ' ').replace(/&nbsp;|&#160;/gi, ' '); // remove html tags and space chars // deal with html entities tx = tx.replace(/(\w+)(&#?[a-z0-9]+;)+(\w+)/i, "$1$3").replace(/&.+?;/g, ' '); tx = tx.replace(cleanre, ''); // remove numbers and punctuation var wordArray = tx.match(countre); if (wordArray) { tc = wordArray.length; } } return tc; }; });