34 lines
1.0 KiB
CoffeeScript
34 lines
1.0 KiB
CoffeeScript
import Ember from 'ember'
|
|
import layout from '../templates/components/editable-attribute'
|
|
|
|
export default Ember.Component.extend
|
|
layout: layout
|
|
attributeName: 'name'
|
|
can_make_editable: true
|
|
isEditing: false
|
|
validation_message: ''
|
|
make_editable: (-> @set 'isEditing', true ).on 'doubleClick'
|
|
init: ->
|
|
@_super arguments...
|
|
@set 'isEditing', true if @get('model.isNew')
|
|
actions:
|
|
destroyRecord: ->
|
|
@set 'validation_message', ''
|
|
model = @get('model')
|
|
model.rollbackAttributes()
|
|
model.destroyRecord()
|
|
editRecord: -> @set('isEditing', true)
|
|
saveRecord: ->
|
|
model = @get('model')
|
|
@set 'validation_message', ''
|
|
if validate = @get('validate')
|
|
@set 'validation_message', 'Must be given' if validate is 'presence' and not @get('model.name')
|
|
unless @get 'validation_message'
|
|
@set 'isEditing', false
|
|
model.save()
|
|
rollbackRecord: ->
|
|
@set 'validation_message', ''
|
|
model = @get('model')
|
|
model.rollbackAttributes()
|
|
@set 'isEditing', false
|