Files
ember-cli-dunlop/addon/components/editable-attribute.coffee
T
2017-12-21 11:42:41 +01:00

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