Added token sorted based off of last modified

This commit is contained in:
Mitchell McCaffrey 2020-08-27 17:56:59 +10:00
parent 9ab584cbe7
commit b26a89f8ca

View File

@ -188,11 +188,29 @@ function Map({
} }
// Sort so vehicles render below other tokens // Sort so vehicles render below other tokens
function sortMapTokenStates(a, b) { function sortMapTokenStates(a, b, draggingTokenOptions) {
const tokenA = tokensById[a.tokenId]; const tokenA = tokensById[a.tokenId];
const tokenB = tokensById[b.tokenId]; const tokenB = tokensById[b.tokenId];
if (tokenA && tokenB) { if (tokenA && tokenB) {
return tokenB.isVehicle - tokenA.isVehicle; // If one token is a vehicle and one isn't sort vehicles below
if (tokenB.isVehicle !== tokenA.isVehicle) {
return tokenB.isVehicle - tokenA.isVehicle;
} else if (
draggingTokenOptions &&
draggingTokenOptions.tokenState.id === a.id
) {
// If dragging token a move above
return 1;
} else if (
draggingTokenOptions &&
draggingTokenOptions.tokenState.id === b.id
) {
// If dragging token b move above
return -1;
} else {
// Else sort so last modified is on top
return a.lastModified - b.lastModified;
}
} else if (tokenA) { } else if (tokenA) {
return 1; return 1;
} else if (tokenB) { } else if (tokenB) {
@ -205,7 +223,7 @@ function Map({
const mapTokens = mapState && ( const mapTokens = mapState && (
<Group> <Group>
{Object.values(mapState.tokens) {Object.values(mapState.tokens)
.sort(sortMapTokenStates) .sort((a, b) => sortMapTokenStates(a, b, draggingTokenOptions))
.map((tokenState) => ( .map((tokenState) => (
<MapToken <MapToken
key={tokenState.id} key={tokenState.id}