diff --git a/ember-data.js b/ember-data.js index 3e4a10e0281..0f789773b96 100644 --- a/ember-data.js +++ b/ember-data.js @@ -8773,7 +8773,6 @@ // EVENTS deleteRecord: function (internalModel) { internalModel.transitionTo('deleted.uncommitted'); - internalModel.disconnectRelationships(); }, didSetProperty: function (internalModel, context) { @@ -8858,7 +8857,6 @@ }); ember$data$lib$system$model$states$$createdState.uncommitted.deleteRecord = function (internalModel) { - internalModel.disconnectRelationships(); internalModel.transitionTo('deleted.saved'); internalModel.send('invokeLifecycleCallbacks'); }; @@ -8883,7 +8881,6 @@ ember$data$lib$system$model$states$$updatedState.uncommitted.deleteRecord = function (internalModel) { internalModel.transitionTo('deleted.uncommitted'); - internalModel.disconnectRelationships(); }; var ember$data$lib$system$model$states$$RootState = { @@ -9019,7 +9016,6 @@ deleteRecord: function (internalModel) { internalModel.transitionTo('deleted.uncommitted'); - internalModel.disconnectRelationships(); }, unloadRecord: function (internalModel) { @@ -9132,6 +9128,7 @@ isDirty: false, setup: function (internalModel) { + internalModel.clearRelationships(); var store = internalModel.store; store._dematerializeRecord(internalModel); }, @@ -9246,18 +9243,6 @@ } }, - disconnect: function () { - this.members.forEach(function (member) { - this.removeRecordFromInverse(member); - }, this); - }, - - reconnect: function () { - this.members.forEach(function (member) { - this.addRecordToInverse(member); - }, this); - }, - removeRecords: function (records) { var self = this; ember$data$lib$system$relationships$state$relationship$$forEach.call(records, function (record) { @@ -9355,12 +9340,6 @@ } }, - addRecordToInverse: function (record) { - if (this.inverseKey) { - record._relationships.get(this.inverseKey).addRecord(this.record); - } - }, - removeRecordFromInverse: function (record) { var inverseRelationship = record._relationships.get(this.inverseKey); //Need to check for existence, as the record might unloading at the moment @@ -9874,9 +9853,11 @@ return this.store.findMany(ember$data$lib$system$relationships$state$has$many$$map.call(manyArray.toArray(), function (rec) { return rec._internalModel; })).then(function () { - //Goes away after the manyArray refactor - manyArray.set('isLoaded', true); - return manyArray; + if (!manyArray.get('isDestroyed')) { + //Goes away after the manyArray refactor + manyArray.set('isLoaded', true); + return manyArray; + } }); }; ember$data$lib$system$relationships$state$has$many$$ManyRelationship.prototype.notifyHasManyChanged = function () { @@ -10855,7 +10836,6 @@ if (this.isDeleted()) { //TODO: Should probably move this to the state machine somehow this.becameReady(); - this.reconnectRelationships(); } if (this.isNew()) { @@ -10967,7 +10947,6 @@ this.eachRelationship(function (name, relationship) { if (this._relationships.has(name)) { var rel = this._relationships.get(name); - //TODO(Igor) figure out whether we want to clear or disconnect rel.clear(); rel.destroy(); } @@ -10979,26 +10958,6 @@ }); }, - disconnectRelationships: function () { - this.eachRelationship(function (name, relationship) { - this._relationships.get(name).disconnect(); - }, this); - var model = this; - ember$data$lib$system$model$internal$model$$forEach.call(ember$data$lib$system$object$polyfills$$keysFunc(this._implicitRelationships), function (key) { - model._implicitRelationships[key].disconnect(); - }); - }, - - reconnectRelationships: function () { - this.eachRelationship(function (name, relationship) { - this._relationships.get(name).reconnect(); - }, this); - var model = this; - ember$data$lib$system$model$internal$model$$forEach.call(ember$data$lib$system$object$polyfills$$keysFunc(this._implicitRelationships), function (key) { - model._implicitRelationships[key].reconnect(); - }); - }, - /** When a find request is triggered on the store, the user can optionally pass in attributes and relationships to be preloaded. These are meant to behave as if they diff --git a/ember-data.prod.js b/ember-data.prod.js index 8297febb75c..07b45c04cb5 100644 --- a/ember-data.prod.js +++ b/ember-data.prod.js @@ -8609,7 +8609,6 @@ // EVENTS deleteRecord: function (internalModel) { internalModel.transitionTo('deleted.uncommitted'); - internalModel.disconnectRelationships(); }, didSetProperty: function (internalModel, context) { @@ -8694,7 +8693,6 @@ }); ember$data$lib$system$model$states$$createdState.uncommitted.deleteRecord = function (internalModel) { - internalModel.disconnectRelationships(); internalModel.transitionTo('deleted.saved'); internalModel.send('invokeLifecycleCallbacks'); }; @@ -8718,7 +8716,6 @@ ember$data$lib$system$model$states$$updatedState.uncommitted.deleteRecord = function (internalModel) { internalModel.transitionTo('deleted.uncommitted'); - internalModel.disconnectRelationships(); }; var ember$data$lib$system$model$states$$RootState = { @@ -8854,7 +8851,6 @@ deleteRecord: function (internalModel) { internalModel.transitionTo('deleted.uncommitted'); - internalModel.disconnectRelationships(); }, unloadRecord: function (internalModel) { @@ -8967,6 +8963,7 @@ isDirty: false, setup: function (internalModel) { + internalModel.clearRelationships(); var store = internalModel.store; store._dematerializeRecord(internalModel); }, @@ -9081,18 +9078,6 @@ } }, - disconnect: function () { - this.members.forEach(function (member) { - this.removeRecordFromInverse(member); - }, this); - }, - - reconnect: function () { - this.members.forEach(function (member) { - this.addRecordToInverse(member); - }, this); - }, - removeRecords: function (records) { var self = this; ember$data$lib$system$relationships$state$relationship$$forEach.call(records, function (record) { @@ -9190,12 +9175,6 @@ } }, - addRecordToInverse: function (record) { - if (this.inverseKey) { - record._relationships.get(this.inverseKey).addRecord(this.record); - } - }, - removeRecordFromInverse: function (record) { var inverseRelationship = record._relationships.get(this.inverseKey); //Need to check for existence, as the record might unloading at the moment @@ -9696,9 +9675,11 @@ return this.store.findMany(ember$data$lib$system$relationships$state$has$many$$map.call(manyArray.toArray(), function (rec) { return rec._internalModel; })).then(function () { - //Goes away after the manyArray refactor - manyArray.set('isLoaded', true); - return manyArray; + if (!manyArray.get('isDestroyed')) { + //Goes away after the manyArray refactor + manyArray.set('isLoaded', true); + return manyArray; + } }); }; ember$data$lib$system$relationships$state$has$many$$ManyRelationship.prototype.notifyHasManyChanged = function () { @@ -10659,7 +10640,6 @@ if (this.isDeleted()) { //TODO: Should probably move this to the state machine somehow this.becameReady(); - this.reconnectRelationships(); } if (this.isNew()) { @@ -10771,7 +10751,6 @@ this.eachRelationship(function (name, relationship) { if (this._relationships.has(name)) { var rel = this._relationships.get(name); - //TODO(Igor) figure out whether we want to clear or disconnect rel.clear(); rel.destroy(); } @@ -10783,26 +10762,6 @@ }); }, - disconnectRelationships: function () { - this.eachRelationship(function (name, relationship) { - this._relationships.get(name).disconnect(); - }, this); - var model = this; - ember$data$lib$system$model$internal$model$$forEach.call(ember$data$lib$system$object$polyfills$$keysFunc(this._implicitRelationships), function (key) { - model._implicitRelationships[key].disconnect(); - }); - }, - - reconnectRelationships: function () { - this.eachRelationship(function (name, relationship) { - this._relationships.get(name).reconnect(); - }, this); - var model = this; - ember$data$lib$system$model$internal$model$$forEach.call(ember$data$lib$system$object$polyfills$$keysFunc(this._implicitRelationships), function (key) { - model._implicitRelationships[key].reconnect(); - }); - }, - /** When a find request is triggered on the store, the user can optionally pass in attributes and relationships to be preloaded. These are meant to behave as if they