Sha256: 1891769ecbe20d3c20b3df4fbf5ca23cd987075197b2975f50160b86165d3479

Contents?: true

Size: 1.83 KB

Versions: 2

Compression:

Stored size: 1.83 KB

Contents

tb.editor = {};

(function(){

  var editor = tb.editor;

  editor.tinymce = {loaded:false};

  var registeredPlugins = [
    'autolink','lists','image','link','media','paste', 'code'
  ];

  var registeredButtons = [
    'undo', 'redo', '|',
    'bold','italic','underline','strikethrough','|',
    'formatselect','|',
    'cut','copy','paste', '|',
    'bullist','numlist','outdent','indent','|',
    'link','unlink','image', '|', 'code', '|'
  ];

  var extendedValidElements = [
    "iframe[src|width|height|name|align|frameborder|allowfullscreen]"
  ];

  editor.init = function(options) {
    editor.unload();

    options = options || { selector: 'textarea.tinymce' };

    tinymce.init({
      selector: options.selector,
      height: 400,
      menubar: false,
      toolbar: registeredButtons.join(' '),
      plugins: registeredPlugins.join(' '),
      extended_valid_elements: extendedValidElements.join(",")
    })
  };

  editor.unload = function() {
    if(typeof tinymce != "undefined"){
      tinyMCE.remove();
    }
  };

  editor.registerPlugin = function(pluginName){
    if($.inArray(registeredPlugins, pluginName) < 0){
      registeredPlugins.push(pluginName);
    }
  };

  editor.deregisterPlugin = function(pluginName){
    var i=0;
    while(i < registeredPlugins.length){
      if(registeredPlugins[i] == pluginName){
        registeredPlugins.splice(1, i);
        break;
      }
      i++;
    }
  };

  editor.appendValidElement = function(element) {
    extendedValidElements.push(element);
  };

  editor.registerButton = function(buttonNameOrArray, rowNum){
    if(rowNum){
      console.warn('rowNum parameter is no longer used.');
    }
    if(typeof(buttonNameOrArray) == 'object'){
      registeredButtons = registeredButtons.concat(buttonNameOrArray);
    }
    else{
      registeredButtons.push(buttonNameOrArray);
    }
  };

})();

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tb_core-1.5.3 app/assets/javascripts/admin/core/editor.js
tb_core-1.5.2 app/assets/javascripts/admin/core/editor.js