ember-model-original-attributes

0.1.0 • Public • Published

ember-model-original-attributes

Build Status npm version

Add new computed properties to Models with values equal to some saved attribute's values.

Install

ember install ember-model-original-attributes

Usage

Create a section originalAttributes in the config/environment.js:

module.exports = function(/* environment, appConfig */) {
  return {
    originalAttributes: {
      prefix: 'old',
      models: {
        user: {
          attrs: ['firstName', 'lastName']
        }
      }
    }
  };
};

Model user will have two new computed properties called oldFirstName and oldLastName. Both of them will be equal to the saved values of the firstName and lastName.

Existing computed properties, attributes or relationships won't be overridden.

Prefix original is used by default.

Property models is a hash with keys equal to Model names. Its values are hashes with property attrs. Each attrs is an array with attribute names that should be

store.findRecord('user', '1').then(user => {
  user.get('firstName');      // 'Jim'
  user.get('oldFirstName');   // 'Jim'
  user.set('firstName', 'Tychus');
  user.get('firstName');      // 'Tychus'
  user.get('oldFirstName');   // 'Jim'
  user.save().then(() => {
    user.get('firstName');    // 'Tychus'
    user.get('oldFirstName'); // 'Tychus'
  });
});

Package Sidebar

Install

npm i ember-model-original-attributes

Weekly Downloads

2

Version

0.1.0

License

MIT

Last publish

Collaborators

  • onechiporenko