UNPKG

modaq

Version:

Quiz Bowl Reader using TypeScript, React, and MobX

82 lines 3.72 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.hideDialog = exports.validatePlayer = exports.changeNewName = exports.renamePlayer = void 0; const NewGameValidator = __importStar(require("../../state/NewGameValidator")); const AppState_1 = require("../../state/AppState"); require("../../state/GameState"); const TeamState_1 = require("../../state/TeamState"); require("../../state/RenamePlayerDialogState"); function renamePlayer() { const appState = AppState_1.AppState.instance; const game = appState.game; const renameDialogState = appState.uiState.dialogState.renamePlayerDialog; if (renameDialogState == undefined) { return; } renameDialogState.clearErrorMessage(); const errorMessage = validatePlayer(); if (errorMessage != undefined) { renameDialogState.setErrorMessage(errorMessage); return; } const succeeded = game.tryUpdatePlayerName(renameDialogState.player.teamName, renameDialogState.player.name, renameDialogState.newName); if (!succeeded) { renameDialogState.setErrorMessage("Couldn't rename the player. Make sure the name is unique on the team and try again."); return; } hideDialog(); } exports.renamePlayer = renamePlayer; function changeNewName(newName) { const appState = AppState_1.AppState.instance; const renamePlayerDialog = appState.uiState.dialogState.renamePlayerDialog; if (renamePlayerDialog == undefined) { return; } renamePlayerDialog.setName(newName); } exports.changeNewName = changeNewName; function validatePlayer() { const appState = AppState_1.AppState.instance; const renamePlayerDialog = appState.uiState.dialogState.renamePlayerDialog; if (renamePlayerDialog == undefined) { return "Dialog is closed"; } const newPlayer = new TeamState_1.Player(renamePlayerDialog.newName, renamePlayerDialog.player.teamName, renamePlayerDialog.player.isStarter); // Trim the player name on submit, so the user can type in spaces while creating the name in the UI const trimmedPlayerName = newPlayer.name.trim(); if (trimmedPlayerName.length === 0) { return "Player name cannot be blank"; } if (appState.game.teamNames.indexOf(newPlayer.teamName) === -1) { return "Team doesn't exist"; } const playersOnTeam = [...appState.game.getPlayers(newPlayer.teamName), newPlayer]; return NewGameValidator.newPlayerNameUnique(playersOnTeam, trimmedPlayerName); } exports.validatePlayer = validatePlayer; function hideDialog() { const appState = AppState_1.AppState.instance; appState.uiState.dialogState.hideRenamePlayerDialog(); } exports.hideDialog = hideDialog; //# sourceMappingURL=RenamePlayerDialogController.js.map