Sha256: 6b32aa87f28f66a7d08625cba8da6ca726e3a60315938836eb272d454c09c142

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 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('save.scrivito_editors')
        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

1 entries across 1 versions & 1 rubygems

Version Path
scrivito_editors-0.0.11 app/assets/javascripts/scrivito_editors/multienum_editor.js.coffee