Fix: bugs, cleanup.

This commit is contained in:
2026-02-17 15:38:18 +00:00
parent 5661632540
commit c7db290aaf
5 changed files with 65 additions and 27 deletions

View File

@@ -38,12 +38,45 @@ BEGIN
-- Outputs
WITH User_Name AS (
SELECT
TCG_USER.user_id
, CASE
WHEN
TRIM(COALESCE(TCG_USER.firstname, '')) <> ''
AND TRIM(COALESCE(TCG_USER.surname, '')) <> ''
THEN CONCAT(
TRIM(COALESCE(TCG_USER.firstname, '')) <> ''
, ' '
, TRIM(COALESCE(TCG_USER.surname, '')) <> ''
)
WHEN TRIM(COALESCE(TCG_USER.firstname, '')) <> ''
THEN TRIM(COALESCE(TCG_USER.firstname, '')) <> ''
ELSE TRIM(COALESCE(TCG_USER.surname, '')) <> ''
END AS name
FROM tcg.public.TCG_User TCG_USER
)
RETURN QUERY SELECT
PLAYER.player_id
, PLAYER.game_id
, PLAYER.user_id
, PLAYER.deck_id
, PLAYER.name
, CASE
WHEN TRIM(COALESCE(PLAYER.name, '')) <> ''
THEN TRIM(COALESCE(PLAYER.name, '')) <> ''
WHEN
USER_NAME.name <> ''
AND TRIM(COALESCE(DECK.name, '')) <> ''
THEN CONCAT(
USER_NAME.name <> ''
, ' - '
, TRIM(COALESCE(DECK.name, '')) <> ''
)
ELSE CONCAT(
'Player '
, CAST(PLAYER.display_order AS VARCHAR)
)
END AS name
, PLAYER.notes
, PLAYER.display_order
, PLAYER.active
@@ -54,6 +87,9 @@ BEGIN
, PLAYER.change_set_id
FROM tcg.public.TCG_MTG_Game_Player PLAYER
INNER JOIN tcg.public.TCG_MTG_Game GAME ON PLAYER.game_id = GAME.game_id
-- LEFT JOIN tcg.public.TCG_User TCG_USER ON PLAYER.user_id = TCG_USER.user_id
LEFT JOIN User_Name USER_NAME ON PLAYER.user_id = USER_NAME.user_id
LEFT JOIN tcg.public.TCG_MTG_Deck DECK ON PLAYER.deck_id = DECK.deck_id
WHERE
(
(
@@ -90,9 +126,9 @@ $$;
SELECT *
FROM tcg.public.FN_TCG_MTG_Game_Player_Get_Many (
a_get_all_game := TRUE
a_get_all_game := FALSE
, a_get_inactive_game := FALSE
, a_game_ids := ''
, a_game_ids := '34'
, a_require_all_id_filters_met := TRUE
, a_require_any_id_filters_met := FALSE
)
@@ -102,7 +138,7 @@ SELECT *
FROM tcg.public.TCG_MTG_Game
;
SELECT *
FROM tcg.public.tcg_mtg_game_player_temp -- TCG_MTG_Game_Player_Temp
FROM tcg.public.TCG_MTG_Game_Player_Temp
;
SELECT *
FROM tcg.public.TCG_MTG_Game_Player

View File

@@ -1467,7 +1467,7 @@ class TableBasePage extends BasePage {
idCommandCategory = command[attrIdCommandCategory];
}
} else {
idCommandCategory = Number(valueCurrentCommandCategoryFilter);
idCommandCategory = parseInt(valueCurrentCommandCategoryFilter);
}
return idCommandCategory;
}
@@ -1483,7 +1483,7 @@ class TableBasePage extends BasePage {
let formFilters = TableBasePage.getFormFilters();
let commandFilter = formFilters.querySelector('#' + attrIdCommand);
let valueCurrentCommandFilter = DOM.getElementAttributeValueCurrent(commandFilter);
let idCommand = Number(valueCurrentCommandFilter);
let idCommand = parseInt(valueCurrentCommandFilter);
return idCommand;
}
getHasCommandFilter() {
@@ -1778,7 +1778,7 @@ class PageMtgGame extends TableBasePage {
// let activeRoundId = PageMtgGame.getActiveRoundId();
const roundDisplayOrderLabel = PageMtgGame.getRoundDisplayOrderLabel();
const currentRoundDisplayOrder = Number(DOM.getElementValueCurrent(roundDisplayOrderLabel));
const currentRoundDisplayOrder = parseInt(DOM.getElementValueCurrent(roundDisplayOrderLabel));
let activeRound = rounds.filter(round => round[flagDisplayOrder] == currentRoundDisplayOrder)[0];
if (activeRound == null) {
activeRound = PageMtgGame.makeDefaultGameRound(currentRoundDisplayOrder);
@@ -1887,6 +1887,7 @@ class PageMtgGame extends TableBasePage {
if (damage[flagActive] && (damage[flagCommanderDeaths] > 0 || damage[flagLifeGain] != 0 || damage[flagLifeLoss] != 0 || damage[flagIsEliminated])
// && rounds.filter(r => r[attrRoundId] == damage[attrRoundId])[0][flagDisplayOrder] <= currentRoundDisplayOrder
&& previousRoundIds.includes(damage[attrRoundId])) {
debugger;
let round = rounds.filter(r => r[attrRoundId] == damage[attrRoundId])[0];
let player = players.filter(p => p[attrPlayerId] == damage[attrPlayerId])[0];
let receivedFromPlayer = damage[attrReceivedFromCommanderPlayerId] == null ? {
@@ -1942,7 +1943,7 @@ class PageMtgGame extends TableBasePage {
}
static getActiveRoundDisplayOrder() {
const roundDisplayOrderLabel = PageMtgGame.getRoundDisplayOrderLabel();
return Number(DOM.getElementValueCurrent(roundDisplayOrderLabel));
return parseInt(DOM.getElementValueCurrent(roundDisplayOrderLabel));
}
static getActiveRoundId() {
const currentRoundDisplayOrder = PageMtgGame.getActiveRoundDisplayOrder();
@@ -1997,7 +1998,7 @@ class PageMtgGame extends TableBasePage {
const amount = button.classList.contains(flagRoundDisplayOrderPlus) ? 1 : -1;
const roundDisplayOrderButtonContainer = button.parentElement;
const roundDisplayOrderLabel = roundDisplayOrderButtonContainer.querySelector('span.' + flagRound + '.' + flagDisplayOrder);
const currentRoundDisplayOrder = Number(DOM.getElementValueCurrent(roundDisplayOrderLabel));
const currentRoundDisplayOrder = parseInt(DOM.getElementValueCurrent(roundDisplayOrderLabel));
const newDisplayOrder = currentRoundDisplayOrder + amount;
DOM.setElementValueCurrent(roundDisplayOrderLabel, newDisplayOrder);
DOM.isElementDirty(roundDisplayOrderLabel);
@@ -2019,7 +2020,8 @@ class PageMtgGame extends TableBasePage {
// Life gain buttons
let lifeGainButtonSelector = '.life-gain-btn';
Events.hookupEventHandler("click", lifeGainButtonSelector, (event, button) => {
const playerId = button.dataset.playerId;
debugger;
const playerId = parseInt(button.dataset.playerId);
const amount = parseInt(button.dataset.amount);
const activeRoundId = PageMtgGame.getActiveRoundId();
const damageIndex = damageRecords.findIndex(damage => damage[attrRoundId] == activeRoundId && damage[attrPlayerId] == playerId && damage[attrReceivedFromCommanderPlayerId] == null);
@@ -2034,7 +2036,7 @@ class PageMtgGame extends TableBasePage {
// Life loss buttons
let lifeLossButtonSelector = '.life-loss-btn';
Events.hookupEventHandler("click", lifeLossButtonSelector, (event, button) => {
const playerId = button.dataset.playerId;
const playerId = parseInt(button.dataset.playerId);
const amount = parseInt(button.dataset.amount);
const activeRoundId = PageMtgGame.getActiveRoundId();
const damageIndex = damageRecords.findIndex(damage => damage[attrRoundId] == activeRoundId && damage[attrPlayerId] == playerId && damage[attrReceivedFromCommanderPlayerId] == null);
@@ -2049,7 +2051,7 @@ class PageMtgGame extends TableBasePage {
// Commander death buttons
let commanderDeathButtonSelector = '.death-btn';
Events.hookupEventHandler("click", commanderDeathButtonSelector, (event, button) => {
const playerId = button.dataset.playerId;
const playerId = parseInt(button.dataset.playerId);
const isMinusButton = button.classList.contains('death-minus');
const amount = isMinusButton ? -1 : 1;
this.changeCommanderDeaths(playerId, amount);
@@ -2058,8 +2060,8 @@ class PageMtgGame extends TableBasePage {
// Commander damage buttons
let commmanderDamageButtonSelector = '.damage-btn';
Events.hookupEventHandler("click", commmanderDamageButtonSelector, (event, button) => {
const playerId = button.dataset.playerId;
const sourceId = button.dataset.sourceId;
const playerId = parseInt(button.dataset.playerId);
const sourceId = parseInt(button.dataset.sourceId);
const isMinusButton = button.classList.contains('damage-minus');
const amount = isMinusButton ? -1 : 1;
this.changeCommanderDamage(playerId, sourceId, amount);
@@ -2068,7 +2070,7 @@ class PageMtgGame extends TableBasePage {
// Eliminate buttons
let eliminatePlayerButtonSelector = '.eliminate-btn';
Events.hookupEventHandler("click", eliminatePlayerButtonSelector, (event, button) => {
const playerId = button.dataset.playerId;
const playerId = parseInt(button.dataset.playerId);
this.toggleEliminate(playerId);
});
}

File diff suppressed because one or more lines are too long

View File

@@ -674,7 +674,7 @@ export default class TableBasePage extends BasePage {
idCommandCategory = command[attrIdCommandCategory];
}
} else {
idCommandCategory = Number(valueCurrentCommandCategoryFilter);
idCommandCategory = parseInt(valueCurrentCommandCategoryFilter);
}
return idCommandCategory;
}
@@ -690,7 +690,7 @@ export default class TableBasePage extends BasePage {
let formFilters = TableBasePage.getFormFilters();
let commandFilter = formFilters.querySelector('#' + attrIdCommand);
let valueCurrentCommandFilter = DOM.getElementAttributeValueCurrent(commandFilter);
let idCommand = Number(valueCurrentCommandFilter);
let idCommand = parseInt(valueCurrentCommandFilter);
return idCommand;
}
getHasCommandFilter() {

View File

@@ -198,7 +198,7 @@ export default class PageMtgGame extends TableBasePage {
// let activeRoundId = PageMtgGame.getActiveRoundId();
const roundDisplayOrderLabel = PageMtgGame.getRoundDisplayOrderLabel();
const currentRoundDisplayOrder = Number(DOM.getElementValueCurrent(roundDisplayOrderLabel));
const currentRoundDisplayOrder = parseInt(DOM.getElementValueCurrent(roundDisplayOrderLabel));
let activeRound = rounds.filter(round => round[flagDisplayOrder] == currentRoundDisplayOrder)[0];
if (activeRound == null) {
activeRound = PageMtgGame.makeDefaultGameRound(currentRoundDisplayOrder);
@@ -402,7 +402,7 @@ export default class PageMtgGame extends TableBasePage {
}
static getActiveRoundDisplayOrder() {
const roundDisplayOrderLabel = PageMtgGame.getRoundDisplayOrderLabel();
return Number(DOM.getElementValueCurrent(roundDisplayOrderLabel));
return parseInt(DOM.getElementValueCurrent(roundDisplayOrderLabel));
}
static getActiveRoundId() {
const currentRoundDisplayOrder = PageMtgGame.getActiveRoundDisplayOrder();
@@ -464,7 +464,7 @@ export default class PageMtgGame extends TableBasePage {
const amount = button.classList.contains(flagRoundDisplayOrderPlus) ? 1 : -1;
const roundDisplayOrderButtonContainer = button.parentElement;
const roundDisplayOrderLabel = roundDisplayOrderButtonContainer.querySelector('span.' + flagRound + '.' + flagDisplayOrder);
const currentRoundDisplayOrder = Number(DOM.getElementValueCurrent(roundDisplayOrderLabel));
const currentRoundDisplayOrder = parseInt(DOM.getElementValueCurrent(roundDisplayOrderLabel));
const newDisplayOrder = currentRoundDisplayOrder + amount;
DOM.setElementValueCurrent(roundDisplayOrderLabel, newDisplayOrder);
DOM.isElementDirty(roundDisplayOrderLabel);
@@ -486,7 +486,7 @@ export default class PageMtgGame extends TableBasePage {
// Life gain buttons
let lifeGainButtonSelector = '.life-gain-btn';
Events.hookupEventHandler("click", lifeGainButtonSelector, (event, button) => {
const playerId = button.dataset.playerId;
const playerId = parseInt(button.dataset.playerId);
const amount = parseInt(button.dataset.amount);
const activeRoundId = PageMtgGame.getActiveRoundId();
const damageIndex = damageRecords.findIndex(damage => (
@@ -506,7 +506,7 @@ export default class PageMtgGame extends TableBasePage {
// Life loss buttons
let lifeLossButtonSelector = '.life-loss-btn';
Events.hookupEventHandler("click", lifeLossButtonSelector, (event, button) => {
const playerId = button.dataset.playerId;
const playerId = parseInt(button.dataset.playerId);
const amount = parseInt(button.dataset.amount);
const activeRoundId = PageMtgGame.getActiveRoundId();
const damageIndex = damageRecords.findIndex(damage => (
@@ -526,7 +526,7 @@ export default class PageMtgGame extends TableBasePage {
// Commander death buttons
let commanderDeathButtonSelector = '.death-btn';
Events.hookupEventHandler("click", commanderDeathButtonSelector, (event, button) => {
const playerId = button.dataset.playerId;
const playerId = parseInt(button.dataset.playerId);
const isMinusButton = button.classList.contains('death-minus');
const amount = (isMinusButton) ? -1 : 1;
this.changeCommanderDeaths(playerId, amount);
@@ -535,8 +535,8 @@ export default class PageMtgGame extends TableBasePage {
// Commander damage buttons
let commmanderDamageButtonSelector = '.damage-btn';
Events.hookupEventHandler("click", commmanderDamageButtonSelector, (event, button) => {
const playerId = button.dataset.playerId;
const sourceId = button.dataset.sourceId;
const playerId = parseInt(button.dataset.playerId);
const sourceId = parseInt(button.dataset.sourceId);
const isMinusButton = button.classList.contains('damage-minus');
const amount = (isMinusButton) ? -1 : 1;
this.changeCommanderDamage(playerId, sourceId, amount);
@@ -545,7 +545,7 @@ export default class PageMtgGame extends TableBasePage {
// Eliminate buttons
let eliminatePlayerButtonSelector = '.eliminate-btn';
Events.hookupEventHandler("click", eliminatePlayerButtonSelector, (event, button) => {
const playerId = button.dataset.playerId;
const playerId = parseInt(button.dataset.playerId);
this.toggleEliminate(playerId);
});
}