mui-language-picker
Version:
Material UI language picker
42 lines (41 loc) • 2.85 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = ChangeName;
var react_1 = __importDefault(require("react"));
var Button_1 = __importDefault(require("@mui/material/Button"));
var TextField_1 = __importDefault(require("@mui/material/TextField"));
var Dialog_1 = __importDefault(require("@mui/material/Dialog"));
var DialogActions_1 = __importDefault(require("@mui/material/DialogActions"));
var DialogContent_1 = __importDefault(require("@mui/material/DialogContent"));
var DialogContentText_1 = __importDefault(require("@mui/material/DialogContentText"));
var DialogTitle_1 = __importDefault(require("@mui/material/DialogTitle"));
var localization_1 = require("./localization");
function ChangeName(_a) {
var isOpen = _a.isOpen, onClose = _a.onClose, curName = _a.curName, onNewName = _a.onNewName, t = _a.t;
var _b = react_1.default.useState(isOpen), open = _b[0], setOpen = _b[1];
var _c = react_1.default.useState(curName || ''), name = _c[0], setName = _c[1];
var handleClose = function (save) { return function () {
if (save && name && onNewName)
onNewName(name);
if (onClose)
onClose();
setOpen(false);
}; };
var handleNameChange = function (event) {
setName(event.target.value);
};
react_1.default.useEffect(function () {
setOpen(isOpen);
}, [isOpen]);
return (react_1.default.createElement(Dialog_1.default, { open: open, onClose: handleClose() },
react_1.default.createElement(DialogTitle_1.default, null, (t === null || t === void 0 ? void 0 : t.changeName) || localization_1.languagePickerStrings_en.changeName),
react_1.default.createElement(DialogContent_1.default, null,
react_1.default.createElement(DialogContentText_1.default, null, (t === null || t === void 0 ? void 0 : t.nameInstruction) || localization_1.languagePickerStrings_en.nameInstruction),
react_1.default.createElement(TextField_1.default, { autoFocus: true, margin: "dense", id: "name", "data-testid": "name", label: (t === null || t === void 0 ? void 0 : t.newName) || localization_1.languagePickerStrings_en.newName, fullWidth: true, value: name, onChange: handleNameChange })),
react_1.default.createElement(DialogActions_1.default, null,
react_1.default.createElement(Button_1.default, { onClick: handleClose() }, (t === null || t === void 0 ? void 0 : t.cancel) || localization_1.languagePickerStrings_en.cancel),
react_1.default.createElement(Button_1.default, { onClick: handleClose(true) }, (t === null || t === void 0 ? void 0 : t.change) || localization_1.languagePickerStrings_en.change))));
}