engine/app/assets/javascripts/locomotive/views/current_site/edit_view.js.coffee

54 lines
1.4 KiB
CoffeeScript

#= require ../shared/form_view
#= require ../sites/domains_view
Locomotive.Views.CurrentSite ||= {}
class Locomotive.Views.CurrentSite.EditView extends Locomotive.Views.Shared.FormView
el: '#content'
events:
'click .memberships a.remove': 'remove_membership'
initialize: ->
@model = new Locomotive.Models.CurrentSite(@options.site)
Backbone.ModelBinding.bind @
window.foo = @model
render: ->
super()
@render_domain_entries()
@enable_liquid_editing()
@enable_ui_effects()
render_domain_entries: ->
@domains_view = new Locomotive.Views.Site.DomainsView model: @model, errors: @options.errors
@$('#site_domains_input label').after(@domains_view.render().el)
enable_liquid_editing: ->
input = @$('#site_robots_txt')
@editor = CodeMirror.fromTextArea input.get()[0],
mode: 'liquid'
autoMatchParens: false
lineNumbers: false
passDelay: 50
tabMode: 'shift'
theme: 'default'
onChange: (editor) => @model.set(robots_txt: editor.getValue())
enable_ui_effects: ->
@$('#site_domains_input .domain input[type=text]').editableField()
@$('.memberships .entry .role select').editableField()
remove_membership: (event) ->
event.stopPropagation() & event.preventDefault()
entry = $(event.target).parents('.entry').hide()
entry.find('input[type=hidden]').val(1)