ember-ds-inline-edit
v0.4.2
Published
EmberJS addon for editing DS.models inline
Readme
Edit an ember DS.model inline by clicking on it to toggle editor. Click outside or press escape to rollback change and cancel edit.
inspired by ember-inline-edit

Installation
ember install ember-ds-inline-edit
Usage
Use the ds-inline-edit component and provide it a model with the property to edit/display.
{{ds-inline-edit
model=model
prop='name'
customUpdate=(action updateModelName)
onError=(action send 'onError')
onUpdate=(action send 'onUpdate')
}}Customize input template using #ds-inline-edit :
{{#ds-inline-edit model=person prop='age' as |age|}}
{{input type="number" class="form-control" value=age}}
{{/ds-inline-edit}}Ember Data Integration
By default, this plugin relies on a strict usage of Ember Data. An automatic model update is sent upon confirming edit. This behavior can be overriden by passing in a customUpdate action :
customUpdate(value, model, prop)
If the prop is an object, the default display is the following property of the model :
displayName > name > id
Only the property identified through prop is updated, the rest of the model remains
uncommited.
When an update is successful, the onUpdate function is called with the updated model.
Extending this plugin
Feel free to extend ds-inline-edit using the following code :
// app/pods/components/ds-inline-edit
import DsInlineEdit from 'ds-inline-edit/components/ds-inline-edit'
export default DsInlineEdit.extend({})You can override the following functions :
onEditSuccess() - Called when the model is updated successfully
onEditError(error) - Called on update failure (due to error from network or customUpdate)
Keyboard Support
Hit enter to confirm changes.
Hit esc or click outside the component to discard the changes.
Error Handling
When an error occurs, an onError action is executed.
