@ag-grid-enterprise/server-side-row-model
Advanced tools
Comparing version 30.0.3 to 30.0.5
@@ -454,10 +454,4 @@ "use strict"; | ||
}); | ||
var rowsAreContiguous = nodeRange.every(function (node, idx, all) { | ||
if (idx === 0) { | ||
return node.rowIndex === firstIndex; | ||
} | ||
return all[idx - 1].rowIndex === (node.rowIndex - 1); | ||
}); | ||
// don't allow range selection if we don't have the full range of rows | ||
if (!rowsAreContiguous || nodeRange.length !== (lastIndex - firstIndex + 1)) { | ||
if (nodeRange.length !== (lastIndex - firstIndex + 1)) { | ||
return [firstInRange]; | ||
@@ -464,0 +458,0 @@ } |
@@ -50,2 +50,8 @@ import { BeanStub, LoadSuccessParams, NumberSequence, RowNode, IRowNode, ServerSideGroupLevelParams } from "@ag-grid-community/core"; | ||
private isMasterDetail; | ||
/** | ||
* A cache of removed group nodes, this is retained for preserving group | ||
* state when the node moves in and out of the cache. Generally caused by | ||
* rows moving blocks. | ||
*/ | ||
private removedNodeCache; | ||
constructor(store: LazyStore, numberOfRows: number, storeParams: ServerSideGroupLevelParams); | ||
@@ -52,0 +58,0 @@ private init; |
@@ -58,2 +58,8 @@ "use strict"; | ||
_this.live = true; | ||
/** | ||
* A cache of removed group nodes, this is retained for preserving group | ||
* state when the node moves in and out of the cache. Generally caused by | ||
* rows moving blocks. | ||
*/ | ||
_this.removedNodeCache = new Map(); | ||
_this.store = store; | ||
@@ -317,2 +323,3 @@ _this.numberOfRows = numberOfRows; | ||
LazyCache.prototype.createRowAtIndex = function (atStoreIndex, data, createNodeCallback) { | ||
var _a, _b; | ||
// make sure an existing node isn't being overwritten | ||
@@ -340,2 +347,15 @@ var lazyNode = this.nodeMap.getBy('index', atStoreIndex); | ||
var id = this.getRowId(data); | ||
// the node was deleted at some point, but as we're refreshing | ||
// it's been cached and we can retrieve it for reuse. | ||
var deletedNode = id && ((_a = this.removedNodeCache) === null || _a === void 0 ? void 0 : _a.get(id)); | ||
if (deletedNode) { | ||
(_b = this.removedNodeCache) === null || _b === void 0 ? void 0 : _b.delete(id); | ||
this.blockUtils.updateDataIntoRowNode(deletedNode, data); | ||
this.nodeMap.set({ | ||
id: deletedNode.id, | ||
node: deletedNode, | ||
index: atStoreIndex | ||
}); | ||
return deletedNode; | ||
} | ||
var lazyNode_1 = this.nodeMap.getBy('id', id); | ||
@@ -352,2 +372,8 @@ if (lazyNode_1) { | ||
}); | ||
this.nodesToRefresh.delete(node); | ||
if (this.rowLoader.getBlockStartIndexForIndex(index) === this.rowLoader.getBlockStartIndexForIndex(atStoreIndex)) { | ||
// if the block hasn't changed and we have a nodes map, we don't need to refresh the original block, as this block | ||
// has just been refreshed. | ||
return node; | ||
} | ||
// mark all of the old block as needsVerify to trigger it for a refresh, as nodes | ||
@@ -437,3 +463,10 @@ // should not be out of place | ||
this.nodesToRefresh.delete(lazyNode.node); | ||
this.blockUtils.destroyRowNode(lazyNode.node); | ||
if (lazyNode.node.group && this.nodesToRefresh.size > 0) { | ||
// while refreshing, we retain the group nodes so they can be moved | ||
// without losing state | ||
this.removedNodeCache.set(lazyNode.node.id, lazyNode.node); | ||
} | ||
else { | ||
this.blockUtils.destroyRowNode(lazyNode.node); | ||
} | ||
}; | ||
@@ -639,2 +672,3 @@ LazyCache.prototype.getSsrmParams = function () { | ||
} | ||
// node already exists, and same as node at designated position, update data | ||
if (nodeFromCache && _this.doesNodeMatch(data, nodeFromCache.node)) { | ||
@@ -678,2 +712,3 @@ _this.blockUtils.updateDataIntoRowNode(nodeFromCache.node, data); | ||
LazyCache.prototype.fireRefreshFinishedEvent = function () { | ||
var _this = this; | ||
var finishedRefreshing = this.nodesToRefresh.size === 0; | ||
@@ -684,2 +719,8 @@ // if anything refreshing currently, skip. | ||
} | ||
// any nodes left in the map need to be cleaned up, this prevents us preserving nodes | ||
// indefinitely | ||
this.removedNodeCache.forEach(function (node) { | ||
_this.blockUtils.destroyRowNode(node); | ||
}); | ||
this.removedNodeCache = new Map(); | ||
this.store.fireRefreshFinishedEvent(); | ||
@@ -686,0 +727,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
export declare const VERSION = "30.0.3"; | ||
export declare const VERSION = "30.0.5"; |
@@ -5,2 +5,2 @@ "use strict"; | ||
// DO NOT UPDATE MANUALLY: Generated from script during build time | ||
exports.VERSION = '30.0.3'; | ||
exports.VERSION = '30.0.5'; |
@@ -417,10 +417,4 @@ "use strict"; | ||
}); | ||
const rowsAreContiguous = nodeRange.every((node, idx, all) => { | ||
if (idx === 0) { | ||
return node.rowIndex === firstIndex; | ||
} | ||
return all[idx - 1].rowIndex === (node.rowIndex - 1); | ||
}); | ||
// don't allow range selection if we don't have the full range of rows | ||
if (!rowsAreContiguous || nodeRange.length !== (lastIndex - firstIndex + 1)) { | ||
if (nodeRange.length !== (lastIndex - firstIndex + 1)) { | ||
return [firstInRange]; | ||
@@ -427,0 +421,0 @@ } |
@@ -50,2 +50,8 @@ import { BeanStub, LoadSuccessParams, NumberSequence, RowNode, IRowNode, ServerSideGroupLevelParams } from "@ag-grid-community/core"; | ||
private isMasterDetail; | ||
/** | ||
* A cache of removed group nodes, this is retained for preserving group | ||
* state when the node moves in and out of the cache. Generally caused by | ||
* rows moving blocks. | ||
*/ | ||
private removedNodeCache; | ||
constructor(store: LazyStore, numberOfRows: number, storeParams: ServerSideGroupLevelParams); | ||
@@ -52,0 +58,0 @@ private init; |
@@ -21,2 +21,8 @@ "use strict"; | ||
this.live = true; | ||
/** | ||
* A cache of removed group nodes, this is retained for preserving group | ||
* state when the node moves in and out of the cache. Generally caused by | ||
* rows moving blocks. | ||
*/ | ||
this.removedNodeCache = new Map(); | ||
this.store = store; | ||
@@ -277,2 +283,3 @@ this.numberOfRows = numberOfRows; | ||
createRowAtIndex(atStoreIndex, data, createNodeCallback) { | ||
var _a, _b; | ||
// make sure an existing node isn't being overwritten | ||
@@ -300,2 +307,15 @@ const lazyNode = this.nodeMap.getBy('index', atStoreIndex); | ||
const id = this.getRowId(data); | ||
// the node was deleted at some point, but as we're refreshing | ||
// it's been cached and we can retrieve it for reuse. | ||
const deletedNode = id && ((_a = this.removedNodeCache) === null || _a === void 0 ? void 0 : _a.get(id)); | ||
if (deletedNode) { | ||
(_b = this.removedNodeCache) === null || _b === void 0 ? void 0 : _b.delete(id); | ||
this.blockUtils.updateDataIntoRowNode(deletedNode, data); | ||
this.nodeMap.set({ | ||
id: deletedNode.id, | ||
node: deletedNode, | ||
index: atStoreIndex | ||
}); | ||
return deletedNode; | ||
} | ||
const lazyNode = this.nodeMap.getBy('id', id); | ||
@@ -312,2 +332,8 @@ if (lazyNode) { | ||
}); | ||
this.nodesToRefresh.delete(node); | ||
if (this.rowLoader.getBlockStartIndexForIndex(index) === this.rowLoader.getBlockStartIndexForIndex(atStoreIndex)) { | ||
// if the block hasn't changed and we have a nodes map, we don't need to refresh the original block, as this block | ||
// has just been refreshed. | ||
return node; | ||
} | ||
// mark all of the old block as needsVerify to trigger it for a refresh, as nodes | ||
@@ -394,3 +420,10 @@ // should not be out of place | ||
this.nodesToRefresh.delete(lazyNode.node); | ||
this.blockUtils.destroyRowNode(lazyNode.node); | ||
if (lazyNode.node.group && this.nodesToRefresh.size > 0) { | ||
// while refreshing, we retain the group nodes so they can be moved | ||
// without losing state | ||
this.removedNodeCache.set(lazyNode.node.id, lazyNode.node); | ||
} | ||
else { | ||
this.blockUtils.destroyRowNode(lazyNode.node); | ||
} | ||
} | ||
@@ -587,2 +620,3 @@ getSsrmParams() { | ||
} | ||
// node already exists, and same as node at designated position, update data | ||
if (nodeFromCache && this.doesNodeMatch(data, nodeFromCache.node)) { | ||
@@ -631,2 +665,8 @@ this.blockUtils.updateDataIntoRowNode(nodeFromCache.node, data); | ||
} | ||
// any nodes left in the map need to be cleaned up, this prevents us preserving nodes | ||
// indefinitely | ||
this.removedNodeCache.forEach(node => { | ||
this.blockUtils.destroyRowNode(node); | ||
}); | ||
this.removedNodeCache = new Map(); | ||
this.store.fireRefreshFinishedEvent(); | ||
@@ -633,0 +673,0 @@ } |
@@ -1,1 +0,1 @@ | ||
export declare const VERSION = "30.0.3"; | ||
export declare const VERSION = "30.0.5"; |
@@ -5,2 +5,2 @@ "use strict"; | ||
// DO NOT UPDATE MANUALLY: Generated from script during build time | ||
exports.VERSION = '30.0.3'; | ||
exports.VERSION = '30.0.5'; |
@@ -451,10 +451,4 @@ var __extends = (this && this.__extends) || (function () { | ||
}); | ||
var rowsAreContiguous = nodeRange.every(function (node, idx, all) { | ||
if (idx === 0) { | ||
return node.rowIndex === firstIndex; | ||
} | ||
return all[idx - 1].rowIndex === (node.rowIndex - 1); | ||
}); | ||
// don't allow range selection if we don't have the full range of rows | ||
if (!rowsAreContiguous || nodeRange.length !== (lastIndex - firstIndex + 1)) { | ||
if (nodeRange.length !== (lastIndex - firstIndex + 1)) { | ||
return [firstInRange]; | ||
@@ -461,0 +455,0 @@ } |
@@ -50,2 +50,8 @@ import { BeanStub, LoadSuccessParams, NumberSequence, RowNode, IRowNode, ServerSideGroupLevelParams } from "@ag-grid-community/core"; | ||
private isMasterDetail; | ||
/** | ||
* A cache of removed group nodes, this is retained for preserving group | ||
* state when the node moves in and out of the cache. Generally caused by | ||
* rows moving blocks. | ||
*/ | ||
private removedNodeCache; | ||
constructor(store: LazyStore, numberOfRows: number, storeParams: ServerSideGroupLevelParams); | ||
@@ -52,0 +58,0 @@ private init; |
@@ -55,2 +55,8 @@ var __extends = (this && this.__extends) || (function () { | ||
_this.live = true; | ||
/** | ||
* A cache of removed group nodes, this is retained for preserving group | ||
* state when the node moves in and out of the cache. Generally caused by | ||
* rows moving blocks. | ||
*/ | ||
_this.removedNodeCache = new Map(); | ||
_this.store = store; | ||
@@ -314,2 +320,3 @@ _this.numberOfRows = numberOfRows; | ||
LazyCache.prototype.createRowAtIndex = function (atStoreIndex, data, createNodeCallback) { | ||
var _a, _b; | ||
// make sure an existing node isn't being overwritten | ||
@@ -337,2 +344,15 @@ var lazyNode = this.nodeMap.getBy('index', atStoreIndex); | ||
var id = this.getRowId(data); | ||
// the node was deleted at some point, but as we're refreshing | ||
// it's been cached and we can retrieve it for reuse. | ||
var deletedNode = id && ((_a = this.removedNodeCache) === null || _a === void 0 ? void 0 : _a.get(id)); | ||
if (deletedNode) { | ||
(_b = this.removedNodeCache) === null || _b === void 0 ? void 0 : _b.delete(id); | ||
this.blockUtils.updateDataIntoRowNode(deletedNode, data); | ||
this.nodeMap.set({ | ||
id: deletedNode.id, | ||
node: deletedNode, | ||
index: atStoreIndex | ||
}); | ||
return deletedNode; | ||
} | ||
var lazyNode_1 = this.nodeMap.getBy('id', id); | ||
@@ -349,2 +369,8 @@ if (lazyNode_1) { | ||
}); | ||
this.nodesToRefresh.delete(node); | ||
if (this.rowLoader.getBlockStartIndexForIndex(index) === this.rowLoader.getBlockStartIndexForIndex(atStoreIndex)) { | ||
// if the block hasn't changed and we have a nodes map, we don't need to refresh the original block, as this block | ||
// has just been refreshed. | ||
return node; | ||
} | ||
// mark all of the old block as needsVerify to trigger it for a refresh, as nodes | ||
@@ -434,3 +460,10 @@ // should not be out of place | ||
this.nodesToRefresh.delete(lazyNode.node); | ||
this.blockUtils.destroyRowNode(lazyNode.node); | ||
if (lazyNode.node.group && this.nodesToRefresh.size > 0) { | ||
// while refreshing, we retain the group nodes so they can be moved | ||
// without losing state | ||
this.removedNodeCache.set(lazyNode.node.id, lazyNode.node); | ||
} | ||
else { | ||
this.blockUtils.destroyRowNode(lazyNode.node); | ||
} | ||
}; | ||
@@ -636,2 +669,3 @@ LazyCache.prototype.getSsrmParams = function () { | ||
} | ||
// node already exists, and same as node at designated position, update data | ||
if (nodeFromCache && _this.doesNodeMatch(data, nodeFromCache.node)) { | ||
@@ -675,2 +709,3 @@ _this.blockUtils.updateDataIntoRowNode(nodeFromCache.node, data); | ||
LazyCache.prototype.fireRefreshFinishedEvent = function () { | ||
var _this = this; | ||
var finishedRefreshing = this.nodesToRefresh.size === 0; | ||
@@ -681,2 +716,8 @@ // if anything refreshing currently, skip. | ||
} | ||
// any nodes left in the map need to be cleaned up, this prevents us preserving nodes | ||
// indefinitely | ||
this.removedNodeCache.forEach(function (node) { | ||
_this.blockUtils.destroyRowNode(node); | ||
}); | ||
this.removedNodeCache = new Map(); | ||
this.store.fireRefreshFinishedEvent(); | ||
@@ -683,0 +724,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
export declare const VERSION = "30.0.3"; | ||
export declare const VERSION = "30.0.5"; |
// DO NOT UPDATE MANUALLY: Generated from script during build time | ||
export var VERSION = '30.0.3'; | ||
export var VERSION = '30.0.5'; |
@@ -50,2 +50,8 @@ import { BeanStub, LoadSuccessParams, NumberSequence, RowNode, IRowNode, ServerSideGroupLevelParams } from "@ag-grid-community/core"; | ||
private isMasterDetail; | ||
/** | ||
* A cache of removed group nodes, this is retained for preserving group | ||
* state when the node moves in and out of the cache. Generally caused by | ||
* rows moving blocks. | ||
*/ | ||
private removedNodeCache; | ||
constructor(store: LazyStore, numberOfRows: number, storeParams: ServerSideGroupLevelParams); | ||
@@ -52,0 +58,0 @@ private init; |
@@ -1,1 +0,1 @@ | ||
export declare const VERSION = "30.0.3"; | ||
export declare const VERSION = "30.0.5"; |
{ | ||
"name": "@ag-grid-enterprise/server-side-row-model", | ||
"version": "30.0.3", | ||
"version": "30.0.5", | ||
"description": "Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue", | ||
@@ -13,6 +13,6 @@ "main": "./dist/esm/es6/main.mjs", | ||
"build-cjs-prod": "npx tsc -p tsconfig.cjs.es5.json --sourceMap false && npx tsc -p tsconfig.cjs.es6.json --sourceMap false", | ||
"build-esm-prod": "npx tsc -p tsconfig.esm.es5.json --sourceMap false && npx tsc -p tsconfig.esm.es6.json --sourceMap false && npx gulp build-prod", | ||
"build-esm-prod": "npx tsc -p tsconfig.esm.es5.json --sourceMap false && npx tsc -p tsconfig.esm.es6.json --sourceMap false", | ||
"package": "node ../../module-build/rollup/build.js", | ||
"build": "npm run build-cjs && npm run build-esm && npm run hash", | ||
"build-prod": "npm run build-cjs-prod && npm run build-esm-prod && npm run hash", | ||
"build": "npm run build-cjs && npm run build-esm && npx gulp mjs-processing && npm run hash", | ||
"build-prod": "npm run build-cjs-prod && npm run build-esm-prod && npx gulp mjs-processing && npm run hash", | ||
"hash": "sh ../../scripts/hashDirectory.sh > .hash" | ||
@@ -51,4 +51,4 @@ }, | ||
"dependencies": { | ||
"@ag-grid-community/core": "~30.0.3", | ||
"@ag-grid-enterprise/core": "~30.0.3" | ||
"@ag-grid-community/core": "~30.0.5", | ||
"@ag-grid-enterprise/core": "~30.0.5" | ||
}, | ||
@@ -55,0 +55,0 @@ "devDependencies": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
4519240
79426