modaq
Version:
Quiz Bowl Reader using TypeScript, React, and MobX
72 lines • 2.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.hideDialog = exports.validate = exports.changeTeam = exports.changeNewName = exports.renameTeam = void 0;
const AppState_1 = require("../../state/AppState");
require("../../state/GameState");
require("../../state/RenameTeamDialogState");
function renameTeam() {
const appState = AppState_1.AppState.instance;
const game = appState.game;
const renameDialogState = appState.uiState.dialogState.renameTeamDialog;
if (renameDialogState == undefined) {
return;
}
renameDialogState.clearErrorMessage();
const errorMessage = validate();
if (errorMessage != undefined) {
renameDialogState.setErrorMessage(errorMessage);
return;
}
const succeeded = game.tryUpdateTeamName(renameDialogState.teamName, renameDialogState.newName);
if (!succeeded) {
renameDialogState.setErrorMessage("Couldn't rename the team. Make sure the name is unique and try again.");
return;
}
hideDialog();
}
exports.renameTeam = renameTeam;
function changeNewName(newName) {
const appState = AppState_1.AppState.instance;
const renameTeamDialog = appState.uiState.dialogState.renameTeamDialog;
if (renameTeamDialog == undefined) {
return;
}
renameTeamDialog.setName(newName);
}
exports.changeNewName = changeNewName;
function changeTeam(teamName) {
const appState = AppState_1.AppState.instance;
const renameTeamDialog = appState.uiState.dialogState.renameTeamDialog;
if (renameTeamDialog == undefined) {
return;
}
// Reset the new name to the team name so that it's similar
renameTeamDialog.setTeam(teamName);
renameTeamDialog.setName(teamName);
}
exports.changeTeam = changeTeam;
function validate() {
const appState = AppState_1.AppState.instance;
const renameTeamDialog = appState.uiState.dialogState.renameTeamDialog;
if (renameTeamDialog == undefined) {
return "Dialog is closed";
}
if (renameTeamDialog.newName === renameTeamDialog.teamName) {
// We can rename the team to itself
return undefined;
}
if (renameTeamDialog.newName == undefined || renameTeamDialog.newName.trim() === "") {
return "Name cannot be blank";
}
if (appState.game.teamNames.indexOf(renameTeamDialog.newName) >= 0) {
return "Team name already exists";
}
return undefined;
}
exports.validate = validate;
function hideDialog() {
const appState = AppState_1.AppState.instance;
appState.uiState.dialogState.hideRenameTeamDialog();
}
exports.hideDialog = hideDialog;
//# sourceMappingURL=RenameTeamDialogController.js.map