Sha256: f0d4ee1ca04c4cc6330c520872fcd6f04e282f522ef1a5d5d7a4623125d032af

Contents?: true

Size: 1.25 KB

Versions: 7

Compression:

Stored size: 1.25 KB

Contents

/**
 * @typedef {{name: string, value: string}} EditorProperty
 */

/**
 * @typedef {{getContent: () => EditorProperty}} CustomEditorSource
 */

var mumuki = mumuki || {};

(function (mumuki) {

  var CustomEditor = {
    /**
     * @type {CustomEditorSource[]}
     */
    sources: [],

    /**
     * @param {CustomEditorSource} source
     */
    addSource(source) {
      CustomEditor.sources.push(source);
    },

    /**
     * @deprecated use getContents instead
     */
    getContent() {
      return this.getContents();
    },

    /**
     * @returns {EditorProperty[]}
     */
    getContents() {
      return CustomEditor.sources.map( e => e.getContent() );
    },

    clearSources() {
      this.sources = [];
    },

    get hasSources() {
      return this.sources.length > 0;
    }
  };

  mumuki.load(() => {
    mumuki.CustomEditor.clearSources();
  });

  /**
   * This module allows custom editors to register
   * content sources that can not me mapped to standard selectors {@code mu-custom-editor-value},
   * {@code mu-custom-editor-extra} and {@code mu-custom-editor-test}
   *
   * CustomEditor sources are cleared after page reload even when using turbolinks
   *
   * @module mumuki.CustomEditor
   */
  mumuki.CustomEditor = CustomEditor;
}(mumuki));

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
mumuki-laboratory-7.7.6 app/assets/javascripts/mumuki_laboratory/application/custom-editor.js
mumuki-laboratory-7.7.5 app/assets/javascripts/mumuki_laboratory/application/custom-editor.js
mumuki-laboratory-7.7.4 app/assets/javascripts/mumuki_laboratory/application/custom-editor.js
mumuki-laboratory-7.7.3 app/assets/javascripts/mumuki_laboratory/application/custom-editor.js
mumuki-laboratory-7.7.2 app/assets/javascripts/mumuki_laboratory/application/custom-editor.js
mumuki-laboratory-7.7.1 app/assets/javascripts/mumuki_laboratory/application/custom-editor.js
mumuki-laboratory-7.7.0 app/assets/javascripts/mumuki_laboratory/application/custom-editor.js