$ ->
# Define editor behavior for multienum attributes.
scrivito.on 'load', ->
if scrivito.in_editable_view()
template = (values) ->
element = $('')
.attr('multiple', 'true')
.addClass('form-control')
$.each values, (index, value) ->
$('')
.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()