Sha256: 48986f4a84bc70cb5df45b91e7ee3778004f21b8d28b988be079f51f6deb7225

Contents?: true

Size: 1 KB

Versions: 1

Compression:

Stored size: 1 KB

Contents

$ ->
  # Integrates a resource browser based editor for reference CMS attributes.

  scrivito.on 'editing', ->
    $('body').on 'click', '[data-scrivito-field-type="reference"]:not([data-editor]), [data-editor="reference"]', (event) ->
      event.preventDefault()

      cmsField = $(event.currentTarget)
      selected = [cmsField.scrivito('content')].filter (element) -> element
      filters = cmsField.data('filters') || cmsField.data('filter')

      # Open resource browser with current reference selected.
      Resourcebrowser.open
        selection: selected
        filters: filters
        selectionMode: 'single'

        onSave: (selection) =>
          onResourcebrowserSave(selection, cmsField)

    # Save single reference when resource browser calls "save".
    onResourcebrowserSave = (selection, cmsField) ->
      value = selection[0] || null

      cmsField.scrivito('save', value)
      .done ->
        cmsField.trigger('save.scrivito_editors')
        cmsField.trigger('scrivito_reload')

      true

Version data entries

1 entries across 1 versions & 1 rubygems

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