import Ember from 'ember' import layout from '../templates/components/editable-attribute' #NOTE: this is an aged component locked to model and name. Needs more to be used differently, and name does not reflect it's function (Benjamin: 2019-12-21) 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.#{@get 'attributeName'}") unless @get 'validation_message' @set 'isEditing', false model.save() rollbackRecord: -> @set 'validation_message', '' model = @get('model') model.rollbackAttributes() @set 'isEditing', false