Added token sorted based off of last modified
This commit is contained in:
parent
9ab584cbe7
commit
b26a89f8ca
@ -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}
|
||||||
|
Loading…
Reference in New Issue
Block a user