onix-chess-game
Version:
Chess game board
71 lines (69 loc) • 2.99 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MoveNavigator = void 0;
const tslib_1 = require("tslib");
const React = tslib_1.__importStar(require("react"));
class MoveNavigator extends React.Component {
/**
* constructor
*/
constructor(props) {
super(props);
this.setCurrentMove = (move) => {
const { onChange } = this.props;
if (onChange) {
onChange(move);
}
;
};
this.moveFirst = (e) => {
if (e.currentTarget.getAttribute('disabled') === null) {
const { currentMove } = this.props;
if (!currentMove.isBegin()) {
this.setCurrentMove(currentMove.Begin);
}
}
};
this.movePrev = (e) => {
if (e.currentTarget.getAttribute('disabled') === null) {
const { currentMove } = this.props;
if (!currentMove.isBegin()) {
this.setCurrentMove(currentMove.Prev);
}
}
};
this.moveNext = (e) => {
if (e.currentTarget.getAttribute('disabled') === null) {
const { currentMove } = this.props;
if (!currentMove.isLast()) {
this.setCurrentMove(currentMove.Next);
}
}
};
this.moveLast = (e) => {
if (e.currentTarget.getAttribute('disabled') === null) {
const { currentMove } = this.props;
if (!currentMove.isLast()) {
this.setCurrentMove(currentMove.Last);
}
}
};
}
render() {
const { currentMove } = this.props;
const { moveFirst, movePrev, moveNext, moveLast } = this;
const btnClass = "btn btn-default";
return (React.createElement("div", { className: "btn-toolbar", role: "toolbar" },
React.createElement("div", { className: "btn-group move-nav my-2" },
React.createElement("button", { className: btnClass, disabled: currentMove.isBegin(), onClick: moveFirst },
React.createElement("i", { className: "xi-page-first xi-lg" })),
React.createElement("button", { className: btnClass, disabled: currentMove.isBegin(), onClick: movePrev },
React.createElement("i", { className: "xi-page-prev xi-lg" })),
React.createElement("button", { className: btnClass, disabled: currentMove.isLast(), onClick: moveNext },
React.createElement("i", { className: "xi-page-next xi-lg" })),
React.createElement("button", { className: btnClass, disabled: currentMove.isLast(), onClick: moveLast },
React.createElement("i", { className: "xi-page-last xi-lg" })))));
}
}
exports.MoveNavigator = MoveNavigator;
//# sourceMappingURL=MoveNavigator.js.map