react-chessboard-ui 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -89,7 +89,7 @@ export declare class JSChessEngine {
|
|
|
89
89
|
* @param moveData данные хода
|
|
90
90
|
* @param boardSize размер доски
|
|
91
91
|
*/
|
|
92
|
-
static reverseMove: (moveData: MoveData, boardSize
|
|
92
|
+
static reverseMove: (moveData: MoveData, boardSize?: number) => MoveData;
|
|
93
93
|
/**
|
|
94
94
|
* Возвращет перевернутое значение для начала и конца хода фигуры
|
|
95
95
|
* Использовать при подсветке хода если доска перевернута
|
package/dist/index.js
CHANGED
|
@@ -117,6 +117,9 @@ JSChessEngine.reverseChessBoard = function (state) {
|
|
|
117
117
|
});
|
|
118
118
|
};
|
|
119
119
|
JSChessEngine.reverseMove = function (moveData, boardSize) {
|
|
120
|
+
if (boardSize === void 0) {
|
|
121
|
+
boardSize = 8;
|
|
122
|
+
}
|
|
120
123
|
var from = moveData.from,
|
|
121
124
|
to = moveData.to,
|
|
122
125
|
figure = moveData.figure,
|
|
@@ -2031,7 +2034,8 @@ var ChessBoardFiguresLayout = function ChessBoardFiguresLayout(props) {
|
|
|
2031
2034
|
var initialState = props.initialState,
|
|
2032
2035
|
change = props.change,
|
|
2033
2036
|
reversed = props.reversed,
|
|
2034
|
-
boardConfig = props.boardConfig
|
|
2037
|
+
boardConfig = props.boardConfig,
|
|
2038
|
+
animated = props.animated;
|
|
2035
2039
|
var _useState = React.useState([]),
|
|
2036
2040
|
actualState = _useState[0],
|
|
2037
2041
|
setActualState = _useState[1];
|
|
@@ -2131,7 +2135,7 @@ var ChessBoardFiguresLayout = function ChessBoardFiguresLayout(props) {
|
|
|
2131
2135
|
style: {
|
|
2132
2136
|
top: boardConfig.cellSize * figure.position[1] + "px",
|
|
2133
2137
|
left: boardConfig.cellSize * figure.position[0] + "px",
|
|
2134
|
-
transition: !!change &&
|
|
2138
|
+
transition: !!change && animated ? 'all .15s ease-out' : 'none',
|
|
2135
2139
|
width: boardConfig.cellSize,
|
|
2136
2140
|
height: boardConfig.cellSize
|
|
2137
2141
|
}
|
|
@@ -2815,6 +2819,9 @@ var ChessBoard = function ChessBoard(props) {
|
|
|
2815
2819
|
reversed = props.reversed,
|
|
2816
2820
|
config = props.config,
|
|
2817
2821
|
playerColor = props.playerColor;
|
|
2822
|
+
var _useState = React.useState(false),
|
|
2823
|
+
animated = _useState[0],
|
|
2824
|
+
setAnimated = _useState[1];
|
|
2818
2825
|
var _useChessBoardInterac = useChessBoardInteractive({
|
|
2819
2826
|
onChange: onChange,
|
|
2820
2827
|
onEndGame: onEndGame,
|
|
@@ -2849,22 +2856,43 @@ var ChessBoard = function ChessBoard(props) {
|
|
|
2849
2856
|
handleGrabbingCell = _useChessBoardInterac.handleGrabbingCell,
|
|
2850
2857
|
getHasCheckByCellPos = _useChessBoardInterac.getHasCheckByCellPos,
|
|
2851
2858
|
handleSelectFigurePicker = _useChessBoardInterac.handleSelectFigurePicker;
|
|
2852
|
-
|
|
2853
|
-
setPlayerColor(playerColor);
|
|
2854
|
-
}, [playerColor]);
|
|
2855
|
-
React.useEffect(function () {
|
|
2859
|
+
var handleUpdateFEN = function handleUpdateFEN(FEN) {
|
|
2856
2860
|
var _FENtoGameState = FENtoGameState(FEN),
|
|
2857
2861
|
boardState = _FENtoGameState.boardState,
|
|
2858
2862
|
currentColor = _FENtoGameState.currentColor;
|
|
2859
2863
|
setInitialState(boardState);
|
|
2860
2864
|
setActualState(boardState);
|
|
2861
2865
|
setCurrentColor(currentColor);
|
|
2866
|
+
};
|
|
2867
|
+
React.useEffect(function () {
|
|
2868
|
+
setPlayerColor(playerColor);
|
|
2869
|
+
}, [playerColor]);
|
|
2870
|
+
React.useEffect(function () {
|
|
2871
|
+
handleUpdateFEN(FEN);
|
|
2862
2872
|
}, [FEN]);
|
|
2863
2873
|
React.useEffect(function () {
|
|
2864
2874
|
if (reversed) reverseChessBoard();
|
|
2865
2875
|
}, [reversed]);
|
|
2866
2876
|
React.useEffect(function () {
|
|
2867
|
-
|
|
2877
|
+
if (!change) return;
|
|
2878
|
+
var updatedChange = _extends({}, change, {
|
|
2879
|
+
move: reversed ? JSChessEngine.reverseMove(change.move) : change.move
|
|
2880
|
+
});
|
|
2881
|
+
if (change.withTransition) {
|
|
2882
|
+
setAnimated(true);
|
|
2883
|
+
setTimeout(function () {
|
|
2884
|
+
setNewMove(updatedChange);
|
|
2885
|
+
}, 10);
|
|
2886
|
+
setTimeout(function () {
|
|
2887
|
+
setAnimated(false);
|
|
2888
|
+
}, 160);
|
|
2889
|
+
setTimeout(function () {
|
|
2890
|
+
handleUpdateFEN(updatedChange.move.FEN);
|
|
2891
|
+
}, 170);
|
|
2892
|
+
} else {
|
|
2893
|
+
setNewMove(updatedChange);
|
|
2894
|
+
handleUpdateFEN(updatedChange.move.FEN);
|
|
2895
|
+
}
|
|
2868
2896
|
}, [change]);
|
|
2869
2897
|
return React__default.createElement("div", {
|
|
2870
2898
|
className: styles.chessBoard
|
|
@@ -2874,7 +2902,8 @@ var ChessBoard = function ChessBoard(props) {
|
|
|
2874
2902
|
initialState: initialState,
|
|
2875
2903
|
change: newMove,
|
|
2876
2904
|
reversed: reversed,
|
|
2877
|
-
boardConfig: boardConfig
|
|
2905
|
+
boardConfig: boardConfig,
|
|
2906
|
+
animated: animated
|
|
2878
2907
|
}), React__default.createElement(ChessBoardInteractiveLayout, {
|
|
2879
2908
|
selectedPos: fromPos,
|
|
2880
2909
|
possibleMoves: possibleMoves,
|