ember-data-table-light

API Docs for: v0.0.3
Show:

File: addon/components/light-table/cells/editable.js

                  import Ember from 'ember';
              import Cell from 'ember-light-table/components/cells/base';
              import layout from 'ember-data-table-light/templates/components/light-table/cells/editable';
              
              const { computed } = Ember;
              
              /**
               * @class EditableCell
               * @extends Cell
               */
              export default Cell.extend({
                layout,
                classNameBindings: ['isEditing'],
                isEditing: false,
                editedValue: computed.oneWay('value'),
              
                save() {
                  if (this.get('editedValue') !== this.get('value')) {
                    this.get('row.content').set(this.get('column.valuePath'), this.get('editedValue'));
                    this.get('row.content').save();
                  }
                },
              
                doubleClick() {
                  if (!this.get('isEditing')) {
                    this.set('isEditing', true);
                  }
                },
              
                click() {
                  if (this.get('isEditing')) {
                    return false;
                  }
                },
              
                didRender() {
                  if (this.get('isEditing')) {
                    this.$('input').focus();
                  }
                },
              
                actions: {
                  exitEditMode: function() {
                    this.set('isEditing', false);
                    this.save();
                  }
                }
              });