Sha256: de3d4bf0d68fb04a77287539fdb72147bbee6ff4410257954f15972ad3dd1645

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

$ ->
  # Define editor behavior for enum attributes.

  scrivito.on 'editing', ->
    template = (values) ->
      element = $('<select></select>')
        .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="enum"]:not([data-editor]), [data-editor="enum"]', (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/enum_editor.js.coffee