Sha256: 307e89a28f9503038279c058d5ca79bc5d93b90db990bfe41bdb6b06fa669e58

Contents?: true

Size: 1.69 KB

Versions: 84

Compression:

Stored size: 1.69 KB

Contents

(function() {
  var activate, handleClick, renderTemplate,
    indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };

  scrivito.editors.multienum_editor = {
    can_edit: function(element) {
      return $(element).is('[data-scrivito-field-type=multienum]');
    },
    activate: function(element) {
      return activate($(element));
    }
  };

  scrivito.on('load', function() {
    return scrivito.define_editor('multienum', scrivito.editors.enum_editor);
  });

  activate = function(cmsField) {
    cmsField.html(renderTemplate(cmsField.scrivito('content'), cmsField.scrivito('valid_values')));
    return cmsField.find('.scrivito_enum_editor li').on('click', function() {
      return handleClick(cmsField, $(this));
    });
  };

  renderTemplate = function(values, validValues) {
    var i, len, li, ul, validValue;
    ul = $('<ul class="scrivito_enum_editor scrivito_multi"></ul>');
    for (i = 0, len = validValues.length; i < len; i++) {
      validValue = validValues[i];
      li = $('<li></li>');
      li.text(validValue);
      if (indexOf.call(values, validValue) >= 0) {
        li.addClass('scrivito_enum_active');
      }
      ul.append(li);
    }
    return ul;
  };

  handleClick = function(cmsField, clickedItem) {
    var values;
    clickedItem.toggleClass('scrivito_enum_active');
    values = $.map(cmsField.find('li.scrivito_enum_active'), function(item) {
      return $(item).text();
    });
    cmsField.scrivito('save', values).done(function() {
      cmsField.trigger('scrivito_editors:save');
      return cmsField.trigger('scrivito_editors:blur');
    });
    return false;
  };

}).call(this);

Version data entries

84 entries across 84 versions & 1 rubygems

Version Path
scrivito_editors-1.19.0.rc2 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.19.0.rc1 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.18.0 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.18.0.rc1 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.17.0 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.17.0.rc3 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.17.0.rc2 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.17.0.rc1 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.16.0 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.16.0.rc2 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.16.0.rc1 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.15.0 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.15.0.rc2 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.15.0.rc1 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.14.0 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.14.0.rc3 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.14.0.rc2 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.14.0.rc1 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.13.0 app/assets/javascripts/scrivito_editors/multienum_editor.js
scrivito_editors-1.13.0.rc2 app/assets/javascripts/scrivito_editors/multienum_editor.js