Skip to content

Commit 5e1a01c

Browse files
committed
dataservice.abstractrest make addKeyMapping available to derived types as _addKeyMapping
See http://stackoverflow.com/questions/24702308/breeze-dataservice-abstractrest-with-sparse-save-response/24769885?noredirect=1#comment40082212_24769885 update affected nuget packages
1 parent acddf61 commit 5e1a01c

File tree

3 files changed

+39
-39
lines changed

3 files changed

+39
-39
lines changed

breeze.labs.dataservice.abstractrest.js

+19-19
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* Breeze Labs Abstract REST DataServiceAdapter
33
*
4-
* v.0.6.1
4+
* v.0.6.2
55
*
66
* Extends Breeze with a REST DataService Adapter abstract type
77
*
@@ -75,6 +75,7 @@
7575

7676
// "protected" members available to derived concrete dataservice adapter types
7777
_addToSaveContext: _addToSaveContext,
78+
_addKeyMapping: _addKeyMapping,
7879
_ajaxImpl: undefined, // see initialize()
7980
_catchNoConnectionError: abstractDsaProto._catchNoConnectionError,
8081
_changeRequestSucceeded: _changeRequestSucceeded,
@@ -210,6 +211,22 @@
210211

211212
function _addToSaveContext(/* saveContext */) { }
212213

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+
213230
function _clientTypeNameToServer(typeName) {
214231
var jrAdapter = this.jsonResultsAdapter;
215232
return jrAdapter.clientTypeNameToServer ?
@@ -323,21 +340,6 @@
323340
}
324341

325342
/*** 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-
}
341343

342344
function createChangeRequests(saveContext, saveBundle) {
343345
var adapter = saveContext.adapter;
@@ -439,15 +441,13 @@
439441
if (saved && typeof saved === 'object') {
440442
// Have "saved entity" data; add its type (for JsonResultsAdapter) & KeyMapping
441443
saved.$entityType = saveContext.originalEntities[index].entityType;
442-
addKeyMapping(saveContext, index, saved);
444+
saveContext.adapter._addKeyMapping(saveContext, index, saved);
443445
} else {
444446
// No "saved entity" data; return the original entity
445447
saved = saveContext.originalEntities[index];
446448
}
447449
saveContext.saveResult.entities.push(saved);
448450
return saved;
449-
450-
451451
}
452452

453453
}, this));

nuget.builds/Breeze.DataService.SharePoint/Breeze.DataService.SharePoint.nuspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
33
<metadata>
44
<id>Breeze.DataService.SharePoint</id>
5-
<version>0.3.1</version>
5+
<version>0.3.2</version>
66
<title>Breeze Labs: SharePoint 2013 OData DataServiceAdapter</title>
77
<authors>Ward Bell,Andrew Connell</authors>
88
<owners>Ward Bell</owners>

nuget.builds/Breeze.DataService.SharePoint/content/Scripts/breeze.labs.dataservice.abstractrest.js

+19-19
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* Breeze Labs Abstract REST DataServiceAdapter
33
*
4-
* v.0.6.1
4+
* v.0.6.2
55
*
66
* Extends Breeze with a REST DataService Adapter abstract type
77
*
@@ -75,6 +75,7 @@
7575

7676
// "protected" members available to derived concrete dataservice adapter types
7777
_addToSaveContext: _addToSaveContext,
78+
_addKeyMapping: _addKeyMapping,
7879
_ajaxImpl: undefined, // see initialize()
7980
_catchNoConnectionError: abstractDsaProto._catchNoConnectionError,
8081
_changeRequestSucceeded: _changeRequestSucceeded,
@@ -210,6 +211,22 @@
210211

211212
function _addToSaveContext(/* saveContext */) { }
212213

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+
213230
function _clientTypeNameToServer(typeName) {
214231
var jrAdapter = this.jsonResultsAdapter;
215232
return jrAdapter.clientTypeNameToServer ?
@@ -323,21 +340,6 @@
323340
}
324341

325342
/*** 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-
}
341343

342344
function createChangeRequests(saveContext, saveBundle) {
343345
var adapter = saveContext.adapter;
@@ -439,15 +441,13 @@
439441
if (saved && typeof saved === 'object') {
440442
// Have "saved entity" data; add its type (for JsonResultsAdapter) & KeyMapping
441443
saved.$entityType = saveContext.originalEntities[index].entityType;
442-
addKeyMapping(saveContext, index, saved);
444+
saveContext.adapter._addKeyMapping(saveContext, index, saved);
443445
} else {
444446
// No "saved entity" data; return the original entity
445447
saved = saveContext.originalEntities[index];
446448
}
447449
saveContext.saveResult.entities.push(saved);
448450
return saved;
449-
450-
451451
}
452452

453453
}, this));

0 commit comments

Comments
 (0)