Sha256: 99b54a9fadb3d9f8699d2062fb1c54cdcd15b46ca54216480de353e568bee18b

Contents?: true

Size: 926 Bytes

Versions: 5

Compression:

Stored size: 926 Bytes

Contents

import $ from 'jquery';
export default class Placeholder {
  constructor(context) {
    this.context = context;

    this.$editingArea = context.layoutInfo.editingArea;
    this.options = context.options;
    this.events = {
      'summernote.init summernote.change': () => {
        this.update();
      },
      'summernote.codeview.toggled': () => {
        this.update();
      }
    };
  }

  shouldInitialize() {
    return !!this.options.placeholder;
  }

  initialize() {
    this.$placeholder = $('<div class="note-placeholder">');
    this.$placeholder.on('click', () => {
      this.context.invoke('focus');
    }).text(this.options.placeholder).prependTo(this.$editingArea);

    this.update();
  }

  destroy() {
    this.$placeholder.remove();
  }

  update() {
    const isShow = !this.context.invoke('codeview.isActivated') && this.context.invoke('editor.isEmpty');
    this.$placeholder.toggle(isShow);
  }
}

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
promethee-1.4.13 node_modules/summernote/src/js/base/module/Placeholder.js
promethee-1.4.12 node_modules/summernote/src/js/base/module/Placeholder.js
promethee-1.4.11 node_modules/summernote/src/js/base/module/Placeholder.js
promethee-1.4.10 node_modules/summernote/src/js/base/module/Placeholder.js
promethee-1.4.9 node_modules/summernote/src/js/base/module/Placeholder.js