React-dnd: рдЪрд╛рдЗрд▓реНрдб рдиреЛрдбреНрд╕ рдкрд░ рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди 3 рдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдбреНрд░реИрдЧрдкреНрд░рд┐рд╡реНрдпреВ рдЧрд▓рдд рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рдЕрдЧре░ 2015  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: react-dnd/react-dnd

рдЕрд░реЗ!

рд╣рдо рдПрдХ рддрддреНрд╡ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдПрдХ рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди 3 рдбреА рд╕реАрдПрд╕рдПрд╕ рд╢реИрд▓реА рд╣реЛрддреА рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдкреВрд░реА рдбреНрд░реИрдЧ-рд▓реЗрдпрд░ рдХреЛ рд░рд┐рдкреЛрдЬрд┐рд╢рди рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЪреВрдВрдХрд┐ рдЯреНрд░рд╛рдВрд╕рдкреНрд▓ 3 рдбреА рд░реВрдЯ рдПрд▓рд┐рдореЗрдВрдЯ рдкрд░ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдПрдХ рдмрдЪреНрдЪреЗ рдХреЗ рдиреЛрдб рдкрд░ рд╣реИред

рдореИрдВрдиреЗ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛, рдЬреЛ рдЖрдкрдХреЛ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИред (рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ ReactDnD.min.js рдХреЛ "./scripts/react-dnd-1.1.4/dist" рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдХреЛрдИ CDN рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬреЛ рдХрд┐ ReactDnD рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ)ред

рдорджрдж рдХреЗ рд▓рд┐рдП рд╢реБрдХреНрд░рд┐рдпрд╛!

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>DragPreview with wrong position example</title>

        <script src="http://fb.me/react-with-addons-0.13.3.js"></script>
        <script src="http://fb.me/JSXTransformer-0.13.3.js"></script>
        <script src="scripts/react-dnd-1.1.4/dist/ReactDnD.min.js"></script>

        <style>
            .ReactDnDElement {
                background: red;
                overflow: hidden;
                width: 200px;
                height: 100px;
            }

            .ReactDnDElement .wrapper {
                display: flex;
                align-items: center;
                width: 600px;
                height: 100%;
                transform: translate3d(-275px, 0, 0);
            }

            .ReactDnDElement .wrapper div {
                width: 150px;
                height: 50%;
            }

            .ReactDnDElement .wrapper div.green { background: green; }
            .ReactDnDElement .wrapper div.blue { background: blue; }
            .ReactDnDElement .wrapper div.yellow { background: yellow; }
            .ReactDnDElement .wrapper div.magenta { background: magenta; }
        </style>
    </head>

    <body>
        <script type="text/jsx">
            /* ReactDnDApp */

            var ReactDnDApp = React.createClass({
                render: function() {
                    return (
                        <ReactDnDElement></ReactDnDElement>
                    );
                }
            });

            ReactDnDApp = ReactDnD.DragDropContext(ReactDnD.HTML5)(ReactDnDApp)


            /* ReactDnDElement */

            var ReactDnDElement = React.createClass({
                render: function() {
                    return this.props.connectDragSource(
                        this.props.connectDragPreview(
                            <div className="ReactDnDElement">
                                <div className="wrapper">
                                    <div className="green"></div>
                                    <div className="blue"></div>
                                    <div className="yellow"></div>
                                    <div className="magenta"></div>
                                </div>
                            </div>
                        )
                    );
                }
            });

            ReactDnDElement = ReactDnD.DragSource("dndElement", {
                beginDrag: function(props) {
                    return {};
                }
            }, function(connect, monitor) {
                return {
                    connectDragSource: connect.dragSource(),
                    connectDragPreview: connect.dragPreview()
                };
            })(ReactDnDElement);


            /* RUN IT! */

            React.render(React.createElement(ReactDnDApp), document.body);
        </script>
    </body>
</html>

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╡реИрд╕реЗ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓реЛрдЧ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЬрд▓реНрдж рд╣реА рдареАрдХ рдХрд░ рджреЗрдВрдЧреЗ ..

рдХрдо рд╕рдВрднрд╛рд╡рдирд╛ред HTML5 рдбреНрд░реИрдЧ рдФрд░ рдбреНрд░реЙрдк IE5 рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдорд╛рдирдХреАрдХреГрдд рд╣реИ, рдФрд░ рдЙрдореНрд░ рдХреЗ рд▓рд┐рдП рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрд╕рдВрдЧрдд рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗрдм рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдмреЗрд╣рддрд░ рдирд╣реАрдВред рдХрд╕реНрдЯрдо рдорд╛рдЙрд╕ рдФрд░ рдЯрдЪ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдПрдХ рдмреЗрд╣рддрд░ рдЙрдкрд╛рдп рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд░рд┐рдПрдХреНрдЯ рдбреАрдПрдирдбреА рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реВрдВред

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЗрд╢реА html5 рдбреНрд░реИрдЧ рдФрд░ рдбреНрд░реЙрдк рдлрдВрдХреНрд╢рдирд▓рд┐рдЯреА рдХреЗ рд╕рд╛рде рднреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рджреЗрд╢реА html5 рдбреНрд░реИрдЧ рдФрд░ рдбреНрд░реЙрдк рдореЗрдердб рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рдФрд░ рд╕рдлрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд░реЛрдо рдФрд░ рдУрдкреЗрд░рд╛ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдмрд┐рдВрджреБ рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕рдлрд╛рд░реА рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд░реЛрдо, рдУрдкреЗрд░рд╛ рдФрд░ FIREFOX рдХреЗ рд▓рд┐рдП рд╣реИред

рдореИрдВрдиреЗ рдХреНрд░реЛрдорд┐рдпрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓рд╛ рд╣реИ: https://code.google.com/p/chromium/issues/detail?id=525604

рдЗрд╕ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЗрд░рд╛рджрд╛?

рдмреБрд░рд╛ рд╕рд╛рдорд╛рдиред рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рд╕рд┐рд░реНрдл рджреЛ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред

рдпрд╣ рдЙрди рднрдпрд╛рдирдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред рд╕рдорд╛рди x рдФрд░ y рдорд╛рди dataTransfer.setDragImage рдХрд┐рдП рдЧрдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдЬрдм рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЯрд░реЗрдХреНрдЯ рдХрд┐рдП рдЧрдП рддрддреНрд╡ рдХрд╛ рдХреЛрдИ рднреА рдмрдЪреНрдЪрд╛ рдЕрдкрдиреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдирдХрд╛рд░рд╛рддреНрдордХ рдСрдлрд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдПрдХ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреИрд╕реЗ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреБрдЫ рд╡реЗрдирд┐рд▓рд╛ рдПрдЪрдЯреАрдПрдордПрд▓ 5 рдкрд░ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ x рдФрд░ y рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЗрд╡рд▓ "рдХрд╛рдо" рдХреЗ рд▓рд┐рдП рдирд┐рдХрд▓рддреЗ рд╣реИрдВ тАЭред рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╣рдо _need_ рдЙрдиреНрд╣реЗрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдШрд╕реАрдЯ рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХреЛрдИ рднреА рд╕рдВрднрд╡ рд╕рдорд╛рдзрд╛рди рд╣реИред рдЬрдм рдбреНрд░реИрдЧ рд╕реЛрд░реНрд╕ рдиреЛрдб рдХреЗ рдХрд┐рд╕реА рднреА рдЧрд╣рд░реЗ рдиреЗрд╕реНрдЯреЗрдб рдмрдЪреНрдЪреЗ рдмрд╛рдИрдВ рдпрд╛ рдКрдкрд░реА рдХрд┐рдирд╛рд░реЗ рдХреА рд╕реАрдорд╛ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ setDragImage(node, x, y) рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рднрд▓реЗ рд╣реА рд╣рдордиреЗ рдЗрд╕реЗ рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рддреЛрдбрд╝ рджреЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ! рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдбреНрд░реИрдЧ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдЕрдВрджрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ рдмрдЪреЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдк connectDragSource _inside_ рдХреЛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдЖрд╡рд░рдг рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

.ReactDnDElement {
    background: red;
    overflow: hidden;
    width: 200px;
    height: 100px;
}

.ReactDnDElement .transform {
    transform: translate3d(-275px, 0, 0);
    width: 100%;
    height: 100%;
}

.ReactDnDElement .wrapper {
    display: flex;
    align-items: center;
    width: 600px;
    height: 100%;
}

.ReactDnDElement .wrapper div {
    width: 150px;
    height: 50%;
}

.ReactDnDElement .wrapper div.green { background: green; }
.ReactDnDElement .wrapper div.blue { background: blue; }
.ReactDnDElement .wrapper div.yellow { background: yellow; }
.ReactDnDElement .wrapper div.magenta { background: magenta; }
var ReactDnDElement = React.createClass({
    render: function() {
      return (
        <div className="ReactDnDElement">
          <div className="transform">
            {this.props.connectDragSource(
              <div className="wrapper">
                <div className="green"></div>
                <div className="blue"></div>
                <div className="yellow"></div>
                <div className="magenta"></div>
              </div>
            )}
          </div>
        </div>
      );
    }
});

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреЗрд╡рд▓ рдмрдЪреНрдЪреЗ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдбреНрд░реИрдЧ рдЗрдореЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред

screen shot 2015-09-17 at 17 48 31

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕реБрдЭрд╛рд╡ рд╣реИред рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ HTML5 рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░рд┐рдПрдХреНрдЯ рдбреАрдПрдирдбреА рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, # 70 рдореЗрдВ рдПрдХ рдорд╛рдЙрд╕ рдмреИрдХрдПрдВрдб, рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ setDragImage рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдПрдХ рдХрд╕реНрдЯрдо рдбреНрд░реИрдЧ рд▓реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ setDragImage рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЕрд░реЗ! рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╣рд╛рдБ рдЧрдВрджрд╛ рд╕рд╛рдорд╛рди! рд╡реИрд╕реЗ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓реЛрдЧ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЬрд▓реНрдж рд╣реА рдареАрдХ рдХрд░ рджреЗрдВрдЧреЗ ..

рд╡реИрд╕реЗ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓реЛрдЧ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЬрд▓реНрдж рд╣реА рдареАрдХ рдХрд░ рджреЗрдВрдЧреЗ ..

рдХрдо рд╕рдВрднрд╛рд╡рдирд╛ред HTML5 рдбреНрд░реИрдЧ рдФрд░ рдбреНрд░реЙрдк IE5 рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдорд╛рдирдХреАрдХреГрдд рд╣реИ, рдФрд░ рдЙрдореНрд░ рдХреЗ рд▓рд┐рдП рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрд╕рдВрдЧрдд рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗрдм рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдмреЗрд╣рддрд░ рдирд╣реАрдВред рдХрд╕реНрдЯрдо рдорд╛рдЙрд╕ рдФрд░ рдЯрдЪ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдПрдХ рдмреЗрд╣рддрд░ рдЙрдкрд╛рдп рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд░рд┐рдПрдХреНрдЯ рдбреАрдПрдирдбреА рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реВрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

vickyvxr picture vickyvxr  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

djeremh picture djeremh  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rubayethossain picture rubayethossain  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mx2323 picture mx2323  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

BrennanRoberts picture BrennanRoberts  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ