ember-data-source 2.15.0.beta.4 → 2.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/dist/globals/ember-data.js +140 -128
- data/dist/globals/ember-data.min.js +6 -6
- data/dist/globals/ember-data.prod.js +140 -128
- data/package.json +1 -1
- metadata +5 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3acc2ddda8750bb731dfa83dbd675b03ef74339e
|
4
|
+
data.tar.gz: 4b45eda3d2d9fecd0a0377db492a9f338bc72512
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1095dea7d3b2972d55cbc3fdc8f1829c959c6e36f1d9f2d0fe273702b60b3699bde216a3b64856eed14445ec516c9d7fba7811a8ba1d1c3d4e6cf206526b24bb
|
7
|
+
data.tar.gz: b37d9b8a28d87529d87260b7b228e436f68fbc585d351221af45170a96fa073afae0b71906fde60b418571562b3c48bc41c549c37b618c533f68cf4ae5827817
|
data/dist/globals/ember-data.js
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
* @copyright Copyright 2011-2017 Tilde Inc. and contributors.
|
7
7
|
* Portions Copyright 2011 LivingSocial Inc.
|
8
8
|
* @license Licensed under MIT license (see license.js)
|
9
|
-
* @version 2.15.0
|
9
|
+
* @version 2.15.0
|
10
10
|
*/
|
11
11
|
|
12
12
|
var loader, define, requireModule, require, requirejs;
|
@@ -14,8 +14,6 @@ var loader, define, requireModule, require, requirejs;
|
|
14
14
|
(function (global) {
|
15
15
|
'use strict';
|
16
16
|
|
17
|
-
var heimdall = global.heimdall;
|
18
|
-
|
19
17
|
function dict() {
|
20
18
|
var obj = Object.create(null);
|
21
19
|
obj['__'] = undefined;
|
@@ -32,9 +30,9 @@ var loader, define, requireModule, require, requirejs;
|
|
32
30
|
requirejs: requirejs
|
33
31
|
};
|
34
32
|
|
35
|
-
requirejs = require = requireModule = function (
|
33
|
+
requirejs = require = requireModule = function (id) {
|
36
34
|
var pending = [];
|
37
|
-
var mod = findModule(
|
35
|
+
var mod = findModule(id, '(require)', pending);
|
38
36
|
|
39
37
|
for (var i = pending.length - 1; i >= 0; i--) {
|
40
38
|
pending[i].exports();
|
@@ -57,32 +55,25 @@ var loader, define, requireModule, require, requirejs;
|
|
57
55
|
}
|
58
56
|
}
|
59
57
|
}
|
60
|
-
}
|
58
|
+
},
|
59
|
+
// Option to enable or disable the generation of default exports
|
60
|
+
makeDefaultExport: true
|
61
61
|
};
|
62
62
|
|
63
|
-
var _isArray;
|
64
|
-
if (!Array.isArray) {
|
65
|
-
_isArray = function (x) {
|
66
|
-
return Object.prototype.toString.call(x) === '[object Array]';
|
67
|
-
};
|
68
|
-
} else {
|
69
|
-
_isArray = Array.isArray;
|
70
|
-
}
|
71
|
-
|
72
63
|
var registry = dict();
|
73
64
|
var seen = dict();
|
74
65
|
|
75
66
|
var uuid = 0;
|
76
67
|
|
77
68
|
function unsupportedModule(length) {
|
78
|
-
throw new Error('an unsupported module was defined, expected `define(
|
69
|
+
throw new Error('an unsupported module was defined, expected `define(id, deps, module)` instead got: `' + length + '` arguments to define`');
|
79
70
|
}
|
80
71
|
|
81
72
|
var defaultDeps = ['require', 'exports', 'module'];
|
82
73
|
|
83
|
-
function Module(
|
84
|
-
this.
|
85
|
-
this.
|
74
|
+
function Module(id, deps, callback, alias) {
|
75
|
+
this.uuid = uuid++;
|
76
|
+
this.id = id;
|
86
77
|
this.deps = !deps.length && callback.length ? defaultDeps : deps;
|
87
78
|
this.module = { exports: {} };
|
88
79
|
this.callback = callback;
|
@@ -116,19 +107,23 @@ var loader, define, requireModule, require, requirejs;
|
|
116
107
|
return this.module.exports;
|
117
108
|
}
|
118
109
|
|
110
|
+
|
119
111
|
if (loader.wrapModules) {
|
120
|
-
this.callback = loader.wrapModules(this.
|
112
|
+
this.callback = loader.wrapModules(this.id, this.callback);
|
121
113
|
}
|
122
114
|
|
123
115
|
this.reify();
|
124
116
|
|
125
117
|
var result = this.callback.apply(this, this.reified);
|
118
|
+
this.reified.length = 0;
|
126
119
|
this.state = 'finalized';
|
127
120
|
|
128
121
|
if (!(this.hasExportsAsDep && result === undefined)) {
|
129
122
|
this.module.exports = result;
|
130
123
|
}
|
131
|
-
|
124
|
+
if (loader.makeDefaultExport) {
|
125
|
+
this.makeDefaultExport();
|
126
|
+
}
|
132
127
|
return this.module.exports;
|
133
128
|
};
|
134
129
|
|
@@ -181,27 +176,28 @@ var loader, define, requireModule, require, requirejs;
|
|
181
176
|
} else if (dep === 'module') {
|
182
177
|
entry.exports = this.module;
|
183
178
|
} else {
|
184
|
-
entry.module = findModule(resolve(dep, this.
|
179
|
+
entry.module = findModule(resolve(dep, this.id), this.id, pending);
|
185
180
|
}
|
186
181
|
}
|
187
182
|
};
|
188
183
|
|
189
184
|
Module.prototype.makeRequire = function () {
|
190
|
-
var
|
185
|
+
var id = this.id;
|
191
186
|
var r = function (dep) {
|
192
|
-
return require(resolve(dep,
|
187
|
+
return require(resolve(dep, id));
|
193
188
|
};
|
194
189
|
r['default'] = r;
|
190
|
+
r.moduleId = id;
|
195
191
|
r.has = function (dep) {
|
196
|
-
return has(resolve(dep,
|
192
|
+
return has(resolve(dep, id));
|
197
193
|
};
|
198
194
|
return r;
|
199
195
|
};
|
200
196
|
|
201
|
-
define = function (
|
202
|
-
var module = registry[
|
197
|
+
define = function (id, deps, callback) {
|
198
|
+
var module = registry[id];
|
203
199
|
|
204
|
-
// If a module for this
|
200
|
+
// If a module for this id has already been defined and is in any state
|
205
201
|
// other than `new` (meaning it has been or is currently being required),
|
206
202
|
// then we return early to avoid redefinition.
|
207
203
|
if (module && module.state !== 'new') {
|
@@ -212,42 +208,65 @@ var loader, define, requireModule, require, requirejs;
|
|
212
208
|
unsupportedModule(arguments.length);
|
213
209
|
}
|
214
210
|
|
215
|
-
if (!
|
211
|
+
if (!Array.isArray(deps)) {
|
216
212
|
callback = deps;
|
217
213
|
deps = [];
|
218
214
|
}
|
219
215
|
|
220
216
|
if (callback instanceof Alias) {
|
221
|
-
registry[
|
217
|
+
registry[id] = new Module(callback.id, deps, callback, true);
|
222
218
|
} else {
|
223
|
-
registry[
|
219
|
+
registry[id] = new Module(id, deps, callback, false);
|
224
220
|
}
|
225
221
|
};
|
226
222
|
|
223
|
+
define.exports = function (name, defaultExport) {
|
224
|
+
var module = registry[name];
|
225
|
+
|
226
|
+
// If a module for this name has already been defined and is in any state
|
227
|
+
// other than `new` (meaning it has been or is currently being required),
|
228
|
+
// then we return early to avoid redefinition.
|
229
|
+
if (module && module.state !== 'new') {
|
230
|
+
return;
|
231
|
+
}
|
232
|
+
|
233
|
+
module = new Module(name, [], noop, null);
|
234
|
+
module.module.exports = defaultExport;
|
235
|
+
module.state = 'finalized';
|
236
|
+
registry[name] = module;
|
237
|
+
|
238
|
+
return module;
|
239
|
+
};
|
240
|
+
|
241
|
+
function noop() {}
|
227
242
|
// we don't support all of AMD
|
228
243
|
// define.amd = {};
|
229
244
|
|
230
|
-
function Alias(
|
231
|
-
this.
|
245
|
+
function Alias(id) {
|
246
|
+
this.id = id;
|
232
247
|
}
|
233
248
|
|
234
|
-
define.alias = function (
|
235
|
-
|
249
|
+
define.alias = function (id, target) {
|
250
|
+
if (arguments.length === 2) {
|
251
|
+
return define(target, new Alias(id));
|
252
|
+
}
|
253
|
+
|
254
|
+
return new Alias(id);
|
236
255
|
};
|
237
256
|
|
238
|
-
function missingModule(
|
239
|
-
throw new Error('Could not find module `' +
|
257
|
+
function missingModule(id, referrer) {
|
258
|
+
throw new Error('Could not find module `' + id + '` imported from `' + referrer + '`');
|
240
259
|
}
|
241
260
|
|
242
|
-
function findModule(
|
243
|
-
var mod = registry[
|
261
|
+
function findModule(id, referrer, pending) {
|
262
|
+
var mod = registry[id] || registry[id + '/index'];
|
244
263
|
|
245
264
|
while (mod && mod.isAlias) {
|
246
|
-
mod = registry[mod.
|
265
|
+
mod = registry[mod.id];
|
247
266
|
}
|
248
267
|
|
249
268
|
if (!mod) {
|
250
|
-
missingModule(
|
269
|
+
missingModule(id, referrer);
|
251
270
|
}
|
252
271
|
|
253
272
|
if (pending && mod.state !== 'pending' && mod.state !== 'finalized') {
|
@@ -257,13 +276,14 @@ var loader, define, requireModule, require, requirejs;
|
|
257
276
|
return mod;
|
258
277
|
}
|
259
278
|
|
260
|
-
function resolve(child,
|
279
|
+
function resolve(child, id) {
|
261
280
|
if (child.charAt(0) !== '.') {
|
262
281
|
return child;
|
263
282
|
}
|
264
283
|
|
284
|
+
|
265
285
|
var parts = child.split('/');
|
266
|
-
var nameParts =
|
286
|
+
var nameParts = id.split('/');
|
267
287
|
var parentBase = nameParts.slice(0, -1);
|
268
288
|
|
269
289
|
for (var i = 0, l = parts.length; i < l; i++) {
|
@@ -284,14 +304,14 @@ var loader, define, requireModule, require, requirejs;
|
|
284
304
|
return parentBase.join('/');
|
285
305
|
}
|
286
306
|
|
287
|
-
function has(
|
288
|
-
return !!(registry[
|
307
|
+
function has(id) {
|
308
|
+
return !!(registry[id] || registry[id + '/index']);
|
289
309
|
}
|
290
310
|
|
291
311
|
requirejs.entries = requirejs._eak_seen = registry;
|
292
312
|
requirejs.has = has;
|
293
|
-
requirejs.unsee = function (
|
294
|
-
findModule(
|
313
|
+
requirejs.unsee = function (id) {
|
314
|
+
findModule(id, '(unsee)', false).unsee();
|
295
315
|
};
|
296
316
|
|
297
317
|
requirejs.clear = function () {
|
@@ -310,9 +330,12 @@ var loader, define, requireModule, require, requirejs;
|
|
310
330
|
});
|
311
331
|
define('foo/baz', [], define.alias('foo'));
|
312
332
|
define('foo/quz', define.alias('foo'));
|
333
|
+
define.alias('foo', 'foo/qux');
|
313
334
|
define('foo/bar', ['foo', './quz', './baz', './asdf', './bar', '../foo'], function () {});
|
314
335
|
define('foo/main', ['foo/bar'], function () {});
|
336
|
+
define.exports('foo/exports', {});
|
315
337
|
|
338
|
+
require('foo/exports');
|
316
339
|
require('foo/main');
|
317
340
|
require.unsee('foo/bar');
|
318
341
|
|
@@ -2792,6 +2815,14 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember', '
|
|
2792
2815
|
return true;
|
2793
2816
|
}
|
2794
2817
|
|
2818
|
+
function destroyRelationship(rel) {
|
2819
|
+
if (rel._inverseIsAsync()) {
|
2820
|
+
rel.removeInternalModelFromInverse(rel.inverseInternalModel);
|
2821
|
+
rel.removeInverseRelationships();
|
2822
|
+
} else {
|
2823
|
+
rel.removeCompletelyFromInverse();
|
2824
|
+
}
|
2825
|
+
}
|
2795
2826
|
// this (and all heimdall instrumentation) will be stripped by a babel transform
|
2796
2827
|
// https://github.com/heimdalljs/babel5-plugin-strip-heimdall
|
2797
2828
|
|
@@ -2943,7 +2974,6 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember', '
|
|
2943
2974
|
|
2944
2975
|
InternalModel.prototype.resetRecord = function resetRecord() {
|
2945
2976
|
this._record = null;
|
2946
|
-
this.dataHasInitialized = false;
|
2947
2977
|
this.isReloading = false;
|
2948
2978
|
this.error = null;
|
2949
2979
|
this.currentState = _states.default.empty;
|
@@ -3010,9 +3040,7 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember', '
|
|
3010
3040
|
InternalModel.prototype._directlyRelatedInternalModels = function _directlyRelatedInternalModels() {
|
3011
3041
|
var array = [];
|
3012
3042
|
this._relationships.forEach(function (name, rel) {
|
3013
|
-
|
3014
|
-
var server = rel.canonicalMembers.toArray();
|
3015
|
-
array = array.concat(local, server);
|
3043
|
+
array = array.concat(rel.members.list, rel.canonicalMembers.list);
|
3016
3044
|
});
|
3017
3045
|
return array;
|
3018
3046
|
};
|
@@ -3041,6 +3069,9 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember', '
|
|
3041
3069
|
};
|
3042
3070
|
|
3043
3071
|
InternalModel.prototype.unloadRecord = function unloadRecord() {
|
3072
|
+
if (this.isDestroyed) {
|
3073
|
+
return;
|
3074
|
+
}
|
3044
3075
|
this.send('unloadRecord');
|
3045
3076
|
this.dematerializeRecord();
|
3046
3077
|
|
@@ -3138,18 +3169,6 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember', '
|
|
3138
3169
|
if (this.hasRecord) {
|
3139
3170
|
this._record._notifyProperties(changedKeys);
|
3140
3171
|
}
|
3141
|
-
this.didInitializeData();
|
3142
|
-
};
|
3143
|
-
|
3144
|
-
InternalModel.prototype.becameReady = function becameReady() {
|
3145
|
-
this.store.recordArrayManager.recordWasLoaded(this);
|
3146
|
-
};
|
3147
|
-
|
3148
|
-
InternalModel.prototype.didInitializeData = function didInitializeData() {
|
3149
|
-
if (!this.dataHasInitialized) {
|
3150
|
-
this.becameReady();
|
3151
|
-
this.dataHasInitialized = true;
|
3152
|
-
}
|
3153
3172
|
};
|
3154
3173
|
|
3155
3174
|
InternalModel.prototype.createSnapshot = function createSnapshot(options) {
|
@@ -3162,7 +3181,6 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember', '
|
|
3162
3181
|
|
3163
3182
|
InternalModel.prototype.loadedData = function loadedData() {
|
3164
3183
|
this.send('loadedData');
|
3165
|
-
this.didInitializeData();
|
3166
3184
|
};
|
3167
3185
|
|
3168
3186
|
InternalModel.prototype.notFound = function notFound() {
|
@@ -3264,14 +3282,6 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember', '
|
|
3264
3282
|
this.didCleanError();
|
3265
3283
|
}
|
3266
3284
|
|
3267
|
-
//Eventually rollback will always work for relationships
|
3268
|
-
//For now we support it only out of deleted state, because we
|
3269
|
-
//have an explicit way of knowing when the server acked the relationship change
|
3270
|
-
if (this.isDeleted()) {
|
3271
|
-
//TODO: Should probably move this to the state machine somehow
|
3272
|
-
this.becameReady();
|
3273
|
-
}
|
3274
|
-
|
3275
3285
|
if (this.isNew()) {
|
3276
3286
|
this.removeFromInverseRelationships(true);
|
3277
3287
|
}
|
@@ -3413,15 +3423,9 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember', '
|
|
3413
3423
|
};
|
3414
3424
|
|
3415
3425
|
InternalModel.prototype.destroyRelationships = function destroyRelationships() {
|
3416
|
-
var
|
3417
|
-
|
3418
|
-
|
3419
|
-
if (rel._inverseIsAsync()) {
|
3420
|
-
rel.removeInternalModelFromInverse(_this);
|
3421
|
-
rel.removeInverseRelationships();
|
3422
|
-
} else {
|
3423
|
-
rel.removeCompletelyFromInverse();
|
3424
|
-
}
|
3426
|
+
var relationships = this._relationships;
|
3427
|
+
relationships.forEach(function (name, rel) {
|
3428
|
+
return destroyRelationship(rel);
|
3425
3429
|
});
|
3426
3430
|
|
3427
3431
|
var implicitRelationships = this._implicitRelationships;
|
@@ -3429,28 +3433,23 @@ define('ember-data/-private/system/model/internal-model', ['exports', 'ember', '
|
|
3429
3433
|
Object.keys(implicitRelationships).forEach(function (key) {
|
3430
3434
|
var rel = implicitRelationships[key];
|
3431
3435
|
|
3432
|
-
|
3433
|
-
rel.removeInternalModelFromInverse(_this);
|
3434
|
-
rel.removeInverseRelationships();
|
3435
|
-
} else {
|
3436
|
-
rel.removeCompletelyFromInverse();
|
3437
|
-
}
|
3436
|
+
destroyRelationship(rel);
|
3438
3437
|
|
3439
3438
|
rel.destroy();
|
3440
3439
|
});
|
3441
3440
|
};
|
3442
3441
|
|
3443
3442
|
InternalModel.prototype.preloadData = function preloadData(preload) {
|
3444
|
-
var
|
3443
|
+
var _this = this;
|
3445
3444
|
|
3446
3445
|
//TODO(Igor) consider the polymorphic case
|
3447
3446
|
Object.keys(preload).forEach(function (key) {
|
3448
3447
|
var preloadValue = get(preload, key);
|
3449
|
-
var relationshipMeta =
|
3448
|
+
var relationshipMeta = _this.modelClass.metaForProperty(key);
|
3450
3449
|
if (relationshipMeta.isRelationship) {
|
3451
|
-
|
3450
|
+
_this._preloadRelationship(key, preloadValue);
|
3452
3451
|
} else {
|
3453
|
-
|
3452
|
+
_this._data[key] = preloadValue;
|
3454
3453
|
}
|
3455
3454
|
});
|
3456
3455
|
};
|
@@ -8421,13 +8420,12 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8421
8420
|
id: id,
|
8422
8421
|
type: modelName
|
8423
8422
|
}
|
8424
|
-
};
|
8425
8423
|
|
8426
|
-
|
8427
|
-
|
8428
|
-
|
8429
|
-
|
8430
|
-
var previousPayload = void 0;
|
8424
|
+
// start flushing this individual payload. The logic is the same whether
|
8425
|
+
// it's for the left hand side of the relationship or the right hand side,
|
8426
|
+
// except the role of primary and inverse idToPayloads is reversed
|
8427
|
+
//
|
8428
|
+
};var previousPayload = void 0;
|
8431
8429
|
var idToPayloads = void 0;
|
8432
8430
|
var inverseIdToPayloads = void 0;
|
8433
8431
|
var inverseIsMany = void 0;
|
@@ -8480,7 +8478,13 @@ define('ember-data/-private/system/relationships/relationship-payloads', ['expor
|
|
8480
8478
|
// Then we will initially have set user:2 as having helicopter:1, which we
|
8481
8479
|
// need to remove before adding helicopter:1 to user:4
|
8482
8480
|
//
|
8483
|
-
|
8481
|
+
// only remove relationship information before adding if there is relationshipData.data
|
8482
|
+
// * null is considered new information "empty", and it should win
|
8483
|
+
// * undefined is NOT considered new information, we should keep original state
|
8484
|
+
// * anything else is considered new information, and it should win
|
8485
|
+
if (relationshipData.data !== undefined) {
|
8486
|
+
this._removeInverse(id, previousPayload, inverseIdToPayloads);
|
8487
|
+
}
|
8484
8488
|
idToPayloads[id] = relationshipData;
|
8485
8489
|
this._populateInverse(relationshipData, inverseRelationshipData, inverseIdToPayloads, inverseIsMany);
|
8486
8490
|
}
|
@@ -9209,27 +9213,22 @@ define('ember-data/-private/system/relationships/state/has-many', ['exports', 'e
|
|
9209
9213
|
};
|
9210
9214
|
|
9211
9215
|
ManyRelationship.prototype.setInitialInternalModels = function setInitialInternalModels(internalModels) {
|
9212
|
-
var _canonicalState;
|
9213
|
-
|
9214
9216
|
if (Array.isArray(internalModels) === false || internalModels.length === 0) {
|
9215
9217
|
return;
|
9216
9218
|
}
|
9217
9219
|
|
9218
|
-
var forCanonical = [];
|
9219
|
-
|
9220
9220
|
for (var i = 0; i < internalModels.length; i++) {
|
9221
9221
|
var internalModel = internalModels[i];
|
9222
9222
|
if (this.canonicalMembers.has(internalModel)) {
|
9223
9223
|
continue;
|
9224
9224
|
}
|
9225
9225
|
|
9226
|
-
forCanonical.push(internalModel);
|
9227
9226
|
this.canonicalMembers.add(internalModel);
|
9228
9227
|
this.members.add(internalModel);
|
9229
9228
|
this.setupInverseRelationship(internalModel);
|
9230
9229
|
}
|
9231
9230
|
|
9232
|
-
|
9231
|
+
this.canonicalState = this.canonicalMembers.toArray();
|
9233
9232
|
};
|
9234
9233
|
|
9235
9234
|
ManyRelationship.prototype.fetchLink = function fetchLink() {
|
@@ -9424,8 +9423,6 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9424
9423
|
};
|
9425
9424
|
|
9426
9425
|
Relationship.prototype.removeInverseRelationships = function removeInverseRelationships() {
|
9427
|
-
var _this = this;
|
9428
|
-
|
9429
9426
|
if (!this.inverseKey) {
|
9430
9427
|
return;
|
9431
9428
|
}
|
@@ -9433,12 +9430,13 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9433
9430
|
var allMembers =
|
9434
9431
|
// we actually want a union of members and canonicalMembers
|
9435
9432
|
// they should be disjoint but currently are not due to a bug
|
9436
|
-
this.members.
|
9433
|
+
this.members.list.concat(this.canonicalMembers.list);
|
9437
9434
|
|
9438
|
-
allMembers.
|
9439
|
-
var
|
9435
|
+
for (var i = 0; i < allMembers.length; i++) {
|
9436
|
+
var inverseInternalModel = allMembers[i];
|
9437
|
+
var relationship = inverseInternalModel._relationships.get(this.inverseKey);
|
9440
9438
|
relationship.inverseDidDematerialize();
|
9441
|
-
}
|
9439
|
+
}
|
9442
9440
|
};
|
9443
9441
|
|
9444
9442
|
Relationship.prototype.inverseDidDematerialize = function inverseDidDematerialize() {};
|
@@ -9463,18 +9461,18 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9463
9461
|
};
|
9464
9462
|
|
9465
9463
|
Relationship.prototype.removeInternalModels = function removeInternalModels(internalModels) {
|
9466
|
-
var
|
9464
|
+
var _this = this;
|
9467
9465
|
|
9468
9466
|
internalModels.forEach(function (internalModel) {
|
9469
|
-
return
|
9467
|
+
return _this.removeInternalModel(internalModel);
|
9470
9468
|
});
|
9471
9469
|
};
|
9472
9470
|
|
9473
9471
|
Relationship.prototype.addInternalModels = function addInternalModels(internalModels, idx) {
|
9474
|
-
var
|
9472
|
+
var _this2 = this;
|
9475
9473
|
|
9476
9474
|
internalModels.forEach(function (internalModel) {
|
9477
|
-
|
9475
|
+
_this2.addInternalModel(internalModel, idx);
|
9478
9476
|
if (idx !== undefined) {
|
9479
9477
|
idx++;
|
9480
9478
|
}
|
@@ -9604,7 +9602,7 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9604
9602
|
};
|
9605
9603
|
|
9606
9604
|
Relationship.prototype.removeCompletelyFromInverse = function removeCompletelyFromInverse() {
|
9607
|
-
var
|
9605
|
+
var _this3 = this;
|
9608
9606
|
|
9609
9607
|
if (!this.inverseKey) {
|
9610
9608
|
return;
|
@@ -9619,7 +9617,7 @@ define('ember-data/-private/system/relationships/state/relationship', ['exports'
|
|
9619
9617
|
var id = guidFor(inverseInternalModel);
|
9620
9618
|
|
9621
9619
|
if (seen[id] === undefined) {
|
9622
|
-
var relationship = inverseInternalModel._relationships.get(
|
9620
|
+
var relationship = inverseInternalModel._relationships.get(_this3.inverseKey);
|
9623
9621
|
relationship.removeCompletelyFromOwn(internalModel);
|
9624
9622
|
seen[id] = true;
|
9625
9623
|
}
|
@@ -11897,6 +11895,11 @@ define('ember-data/-private/system/store', ['exports', 'ember', 'ember-data/-pri
|
|
11897
11895
|
return;
|
11898
11896
|
}
|
11899
11897
|
|
11898
|
+
var existingInternalModel = this._existingInternalModelForId(modelName, id);
|
11899
|
+
|
11900
|
+
(false && _ember.default.assert('\'' + modelName + '\' was saved to the server, but the response returned the new id \'' + id + '\', which has already been used with another record.\'', isNone(existingInternalModel) || existingInternalModel === internalModel));
|
11901
|
+
|
11902
|
+
|
11900
11903
|
this._internalModelsFor(internalModel.modelName).set(id, internalModel);
|
11901
11904
|
|
11902
11905
|
internalModel.setId(id);
|
@@ -11928,9 +11931,15 @@ define('ember-data/-private/system/store', ['exports', 'ember', 'ember-data/-pri
|
|
11928
11931
|
_load: function (data) {
|
11929
11932
|
var internalModel = this._internalModelForId(data.type, data.id);
|
11930
11933
|
|
11934
|
+
var isUpdate = internalModel.currentState.isEmpty === false;
|
11935
|
+
|
11931
11936
|
internalModel.setupData(data);
|
11932
11937
|
|
11933
|
-
|
11938
|
+
if (isUpdate) {
|
11939
|
+
this.recordArrayManager.recordDidChange(internalModel);
|
11940
|
+
} else {
|
11941
|
+
this.recordArrayManager.recordWasLoaded(internalModel);
|
11942
|
+
}
|
11934
11943
|
|
11935
11944
|
return internalModel;
|
11936
11945
|
},
|
@@ -12438,15 +12447,7 @@ define('ember-data/-private/system/store', ['exports', 'ember', 'ember-data/-pri
|
|
12438
12447
|
(false && _ember.default.assert('You can no longer pass a modelClass as the first argument to store._buildInternalModel. Pass modelName instead.', typeof modelName === 'string'));
|
12439
12448
|
|
12440
12449
|
|
12441
|
-
var
|
12442
|
-
var existingInternalModel = internalModels.get(id);
|
12443
|
-
|
12444
|
-
if (existingInternalModel && existingInternalModel.hasScheduledDestroy()) {
|
12445
|
-
// unloadRecord is async, if one attempts to unload + then sync create,
|
12446
|
-
// we must ensure the unload is complete before starting the create
|
12447
|
-
existingInternalModel.destroySync();
|
12448
|
-
existingInternalModel = null;
|
12449
|
-
}
|
12450
|
+
var existingInternalModel = this._existingInternalModelForId(modelName, id);
|
12450
12451
|
|
12451
12452
|
(false && _ember.default.assert('The id ' + id + ' has already been used with another record for modelClass \'' + modelName + '\'.', !existingInternalModel));
|
12452
12453
|
|
@@ -12455,10 +12456,21 @@ define('ember-data/-private/system/store', ['exports', 'ember', 'ember-data/-pri
|
|
12455
12456
|
|
12456
12457
|
var internalModel = new _internalModel5.default(modelName, id, this, data);
|
12457
12458
|
|
12458
|
-
|
12459
|
+
this._internalModelsFor(modelName).add(internalModel, id);
|
12459
12460
|
|
12460
12461
|
return internalModel;
|
12461
12462
|
},
|
12463
|
+
_existingInternalModelForId: function (modelName, id) {
|
12464
|
+
var internalModel = this._internalModelsFor(modelName).get(id);
|
12465
|
+
|
12466
|
+
if (internalModel && internalModel.hasScheduledDestroy()) {
|
12467
|
+
// unloadRecord is async, if one attempts to unload + then sync create,
|
12468
|
+
// we must ensure the unload is complete before starting the create
|
12469
|
+
internalModel.destroySync();
|
12470
|
+
internalModel = null;
|
12471
|
+
}
|
12472
|
+
return internalModel;
|
12473
|
+
},
|
12462
12474
|
buildInternalModel: function (modelName, id, data) {
|
12463
12475
|
(false && !(false) && _ember.default.deprecate('buildInternalModel was documented as private and will be removed in the next version of Ember Data.', false, { id: 'ember-data.buildInternalModel', until: '2.17.0' }));
|
12464
12476
|
|
@@ -18448,7 +18460,7 @@ define("ember-data/version", ["exports"], function (exports) {
|
|
18448
18460
|
"use strict";
|
18449
18461
|
|
18450
18462
|
exports.__esModule = true;
|
18451
|
-
exports.default = "2.15.0
|
18463
|
+
exports.default = "2.15.0";
|
18452
18464
|
});
|
18453
18465
|
define("ember-inflector", ["module", "exports", "ember", "ember-inflector/lib/system", "ember-inflector/lib/ext/string"], function (module, exports, _ember, _system) {
|
18454
18466
|
"use strict";
|