1
1
/*
2
2
* Breeze Labs Abstract REST DataServiceAdapter
3
3
*
4
- * v.0.6.1
4
+ * v.0.6.2
5
5
*
6
6
* Extends Breeze with a REST DataService Adapter abstract type
7
7
*
75
75
76
76
// "protected" members available to derived concrete dataservice adapter types
77
77
_addToSaveContext : _addToSaveContext ,
78
+ _addKeyMapping : _addKeyMapping ,
78
79
_ajaxImpl : undefined , // see initialize()
79
80
_catchNoConnectionError : abstractDsaProto . _catchNoConnectionError ,
80
81
_changeRequestSucceeded : _changeRequestSucceeded ,
210
211
211
212
function _addToSaveContext ( /* saveContext */ ) { }
212
213
214
+ function _addKeyMapping ( saveContext , index , saved ) {
215
+ var tempKey = saveContext . tempKeys [ index ] ;
216
+ if ( tempKey ) {
217
+ // entity had a temporary key; add a temp-to-perm key mapping
218
+ var entityType = tempKey . entityType ;
219
+ var tempValue = tempKey . values [ 0 ] ;
220
+ var realKey = getRealKey ( entityType , saved ) ;
221
+ var keyMapping = {
222
+ entityTypeName : entityType . name ,
223
+ tempValue : tempValue ,
224
+ realValue : realKey . values [ 0 ]
225
+ } ;
226
+ saveContext . saveResult . keyMappings . push ( keyMapping ) ;
227
+ }
228
+ }
229
+
213
230
function _clientTypeNameToServer ( typeName ) {
214
231
var jrAdapter = this . jsonResultsAdapter ;
215
232
return jrAdapter . clientTypeNameToServer ?
323
340
}
324
341
325
342
/*** private members ***/
326
- function addKeyMapping ( saveContext , index , saved ) {
327
- var tempKey = saveContext . tempKeys [ index ] ;
328
- if ( tempKey ) {
329
- // entity had a temporary key; add a temp-to-perm key mapping
330
- var entityType = tempKey . entityType ;
331
- var tempValue = tempKey . values [ 0 ] ;
332
- var realKey = getRealKey ( entityType , saved ) ;
333
- var keyMapping = {
334
- entityTypeName : entityType . name ,
335
- tempValue : tempValue ,
336
- realValue : realKey . values [ 0 ]
337
- } ;
338
- saveContext . saveResult . keyMappings . push ( keyMapping ) ;
339
- }
340
- }
341
343
342
344
function createChangeRequests ( saveContext , saveBundle ) {
343
345
var adapter = saveContext . adapter ;
439
441
if ( saved && typeof saved === 'object' ) {
440
442
// Have "saved entity" data; add its type (for JsonResultsAdapter) & KeyMapping
441
443
saved . $entityType = saveContext . originalEntities [ index ] . entityType ;
442
- addKeyMapping ( saveContext , index , saved ) ;
444
+ saveContext . adapter . _addKeyMapping ( saveContext , index , saved ) ;
443
445
} else {
444
446
// No "saved entity" data; return the original entity
445
447
saved = saveContext . originalEntities [ index ] ;
446
448
}
447
449
saveContext . saveResult . entities . push ( saved ) ;
448
450
return saved ;
449
-
450
-
451
451
}
452
452
453
453
} , this ) ) ;
0 commit comments