Sha256: 9eb98294e1042900b0dcefce07df141f2d35e195a4b215682c8c68535bc2d671

Contents?: true

Size: 1.02 KB

Versions: 3

Compression:

Stored size: 1.02 KB

Contents

$ ->
  # Define editor behavior for multienum attributes.

  scrivito.on 'editing', ->
    template = (values) ->
      element = $('<select></select>')
        .attr('multiple', 'true')
        .addClass('form-control')

      $.each values, (index, value) ->
        $('<option></option>')
          .attr('value', value)
          .text(value)
          .appendTo(element)

      element

    save = (event) ->
      element = $(event.currentTarget)
      cmsField = element.data('cmsField')
      content = element.val()
      cmsField.scrivito('save', content).done ->
        cmsField.trigger('scrivito_reload')

    $(document).on 'click', '[data-scrivito-field-type="multienum"]:not([data-editor]), [data-editor="multienum"]', (event) ->
      cmsField = $(event.currentTarget)
      selected = cmsField.scrivito('content')
      values = cmsField.data('values')

      template(values)
        .data('cmsField', cmsField)
        .val(selected)
        .insertAfter(cmsField)
        .focusout(save)
        .focus()

      cmsField.hide()

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
scrivito_editors-0.0.10 app/assets/javascripts/scrivito_editors/multienum_editor.js.coffee
scrivito_editors-0.0.9 app/assets/javascripts/scrivito_editors/multienum_editor.js.coffee
scrivito_editors-0.0.8 app/assets/javascripts/scrivito_editors/multienum_editor.js.coffee