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'
  });
});

/ember-model-original-attributes/

    Package Sidebar

    Install

    npm i ember-model-original-attributes

    Weekly Downloads

    3

    Version

    0.1.0

    License

    MIT

    Last publish

    Collaborators

    • onechiporenko