feat: promotion
This commit is contained in:
@@ -374,6 +374,14 @@
|
||||
setInnerAstValues(card, iv);
|
||||
}
|
||||
|
||||
if (cd.badge && card.badge) {
|
||||
var bv = {
|
||||
left: cd.badge.left != null ? cd.badge.left : DEFAULTS.badge.left,
|
||||
top: cd.badge.top != null ? cd.badge.top : DEFAULTS.badge.top
|
||||
};
|
||||
setBadgeValues(card, bv);
|
||||
}
|
||||
|
||||
// Update originals to saved state
|
||||
originals.set(cardKey(card), getCardState(card));
|
||||
card.el.classList.remove('editor-changed');
|
||||
@@ -432,6 +440,20 @@
|
||||
}
|
||||
}
|
||||
|
||||
// Badge
|
||||
if (card.badge) {
|
||||
var badgeChanged = false;
|
||||
var badgeData = {};
|
||||
if (Math.abs(cur.badge.left - DEFAULTS.badge.left) > 0.01) { badgeData.left = +cur.badge.left.toFixed(1); badgeChanged = true; }
|
||||
if (Math.abs(cur.badge.top - DEFAULTS.badge.top) > 0.01) { badgeData.top = +cur.badge.top.toFixed(1); badgeChanged = true; }
|
||||
if (badgeChanged) {
|
||||
if (!changesOnly || Math.abs(cur.badge.left - orig.badge.left) > 0.01 || Math.abs(cur.badge.top - orig.badge.top) > 0.01) {
|
||||
cardData.badge = badgeData;
|
||||
hasChange = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (changesOnly && !hasChange) return;
|
||||
if (!changesOnly && !hasChange) return;
|
||||
|
||||
@@ -450,6 +472,7 @@
|
||||
setAsteroidScale(card, orig.asteroidScale);
|
||||
setShipValues(card, orig.ship);
|
||||
if (card.innerAst) setInnerAstValues(card, orig.innerAst);
|
||||
if (card.badge) setBadgeValues(card, orig.badge);
|
||||
card.el.classList.remove('editor-changed');
|
||||
});
|
||||
if (selected && selected.card.pageNum === pageNum) updateInfo();
|
||||
@@ -526,15 +549,34 @@
|
||||
setInnerAstValues(card, iv); markChanged(card); updateInfo(); e.preventDefault(); break;
|
||||
case '0':
|
||||
setInnerAstValues(card, Object.assign({}, DEFAULTS.innerAst));
|
||||
// Also reset transform to just translate (remove scale if any)
|
||||
card.innerAst.style.transform = 'translate(-50%, -50%)';
|
||||
markChanged(card); updateInfo(); e.preventDefault(); break;
|
||||
}
|
||||
} else if (mode === MODE_BADGE) {
|
||||
var bv = getBadgeValues(card);
|
||||
var bStep = e.shiftKey ? 0.5 : 1;
|
||||
switch (e.key) {
|
||||
case 'ArrowLeft':
|
||||
bv.left = +(bv.left - bStep).toFixed(1);
|
||||
setBadgeValues(card, bv); markChanged(card); updateInfo(); e.preventDefault(); break;
|
||||
case 'ArrowRight':
|
||||
bv.left = +(bv.left + bStep).toFixed(1);
|
||||
setBadgeValues(card, bv); markChanged(card); updateInfo(); e.preventDefault(); break;
|
||||
case 'ArrowUp':
|
||||
bv.top = +(bv.top - bStep).toFixed(1);
|
||||
setBadgeValues(card, bv); markChanged(card); updateInfo(); e.preventDefault(); break;
|
||||
case 'ArrowDown':
|
||||
bv.top = +(bv.top + bStep).toFixed(1);
|
||||
setBadgeValues(card, bv); markChanged(card); updateInfo(); e.preventDefault(); break;
|
||||
case '0':
|
||||
setBadgeValues(card, Object.assign({}, DEFAULTS.badge));
|
||||
markChanged(card); updateInfo(); e.preventDefault(); break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
document.addEventListener('click', function(e) {
|
||||
if (selected && !e.target.closest('.space-asteroid') && !e.target.closest('.cargo-ship') && !e.target.closest('.inner-ast')) {
|
||||
if (selected && !e.target.closest('.space-asteroid') && !e.target.closest('.cargo-ship') && !e.target.closest('.inner-ast') && !e.target.closest('.badge-10')) {
|
||||
deselectAll();
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user