Sha256: 56e9307b9cd0a7b087ce097396a0fbc2215b0ab3203ebac75fa3b7b23561d7e2

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

$ ->
  # Define editor behavior for multienum attributes.

  scrivito.on 'load', ->
    if scrivito.in_editable_view()
      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')

      $(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.12 app/assets/javascripts/scrivito_editors/multienum_editor.js.coffee