Sha256: 0790fb6ee4d75bb956754c9ad80d4d2160be75c8ca7d8b1cc999efa6bc1d0bc6

Contents?: true

Size: 1.31 KB

Versions: 38

Compression:

Stored size: 1.31 KB

Contents

window.TinyMCERails = {
  configuration: {
    default: {}
  },

  initialize: function(config, options) {
    if (typeof tinyMCE != 'undefined') {
      // Merge the custom options with the given configuration
      var configuration = TinyMCERails.configuration[config || 'default'];
      configuration = TinyMCERails._merge(configuration, options);

      tinymce.init(configuration);
    } else {
      // Wait until TinyMCE is loaded
      setTimeout(function() {
        TinyMCERails.initialize(config, options);
      }, 50);
    }
  },

  setupTurbolinks: function() {
    // Remove all TinyMCE instances before rendering
    document.addEventListener('turbolinks:before-render', function() {
      tinymce.remove();
    });
  },

  _merge: function() {
    var result = {};

    for (var i = 0; i < arguments.length; ++i) {
      var source = arguments[i];

      for (var key in source) {
        if (Object.prototype.hasOwnProperty.call(source, key)) {
          if (Object.prototype.toString.call(source[key]) === '[object Object]') {
            result[key] = TinyMCERails._merge(result[key], source[key]);
          } else {
            result[key] = source[key];
          }
        }
      }
    }

    return result;
  }
};

if (typeof Turbolinks != 'undefined' && Turbolinks.supported) {
  TinyMCERails.setupTurbolinks();
}

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
tinymce-rails-7.5.1 app/assets/javascripts/tinymce/rails.js
tinymce-rails-7.5.0 app/assets/javascripts/tinymce/rails.js
tinymce-rails-6.8.5 app/assets/javascripts/tinymce/rails.js
tinymce-rails-7.4.1 app/assets/javascripts/tinymce/rails.js
tinymce-rails-7.4.0 app/assets/javascripts/tinymce/rails.js
tinymce-rails-7.3.0 app/assets/javascripts/tinymce/rails.js
tinymce-rails-7.2.1 app/assets/javascripts/tinymce/rails.js
tinymce-rails-6.8.4 app/assets/javascripts/tinymce/rails.js
tinymce-rails-7.2.0 app/assets/javascripts/tinymce/rails.js
tinymce-rails-7.1.2.1 app/assets/javascripts/tinymce/rails.js
tinymce-rails-7.1.2 app/assets/javascripts/tinymce/rails.js
tinymce-rails-7.0.1 app/assets/javascripts/tinymce/rails.js
tinymce-rails-7.0.0.1 app/assets/javascripts/tinymce/rails.js
tinymce-rails-6.8.3 app/assets/javascripts/tinymce/rails.js
tinymce-rails-6.8.2 app/assets/javascripts/tinymce/rails.js
tinymce-rails-6.8.1 app/assets/javascripts/tinymce/rails.js
tinymce-rails-6.8.0 app/assets/javascripts/tinymce/rails.js
tinymce-rails-6.7.2 app/assets/javascripts/tinymce/rails.js
tinymce-rails-6.7.1 app/assets/javascripts/tinymce/rails.js
tinymce-rails-6.7.0 app/assets/javascripts/tinymce/rails.js