React-dnd: рдПрдХрд╛рдзрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 25 рдЕрдХреНрддреВре░ 2014  ┬╖  30рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: react-dnd/react-dnd

рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреИрдЯрд░реНрди рд╣реИ рдЬрд┐рд╕реЗ рджреЗрд╢реА рдбреНрд░реИрдЧ рдПрдВрдб рдбреНрд░реЙрдк рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ: рдХрдИ рддрддреНрд╡реЛрдВ рдХреЛ рдЦреАрдВрдЪрдирд╛ред рдЬрдмрдХрд┐ рдЪрдпрди рдпрд╛рдВрддреНрд░рд┐рдХреА рдРрдк рд╕реЗ рдРрдк (cmd + рдХреНрд▓рд┐рдХрд┐рдВрдЧ, рдЪреЗрдХрдмреЙрдХреНрд╕, рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕рдореВрд╣) рдореЗрдВ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдЗрд╕реЗ _possible_ рдмрдирд╛рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

screen shot 2014-10-26 at 1 07 07

рдЪреВрдВрдХрд┐ рдХрдИ рдбреНрд░реИрдЧ рдХрд┐рдП рдЧрдП рдЖрдЗрдЯрдо рдбреАрдУрдПрдо рдореЗрдВ рднрд╛рдИ рдмрд╣рди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ setDragImage(element, x, y) рдХрд╛рдлреА рдкрд╛рдЧрд▓ рд╣реИ рдФрд░ рдХреЛрдИ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдбреНрд░реИрдЧ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рдХрдИ рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдмреЛрдЭ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рдпрджрд┐ рд╣рдо "рдПрдХрд╛рдзрд┐рдХ" рдбреНрд░реИрдЧ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдирд╣реАрдВ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдПрдХ рддрд░рд╣ рд╕реЗ, рдпрд╣ рдкрд░рд┐рджреГрд╢реНрдп рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрднрд╡ рд╣реИ: рдЙрдкрднреЛрдХреНрддрд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЪрдпрдирд┐рдд рддрддреНрд╡реЛрдВ рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, dragPreview рдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ Image рдФрд░ (рдЬрд╣рд╛рдБ рддрдХ рд╡реНрдпрд╛рдкрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ) рддрд░реНрдХ рдХрд╛ рд╕рдВрдмрдВрдз рд╣реИ) рдХрдИ рддрддреНрд╡ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЬрд╛рдирдиреЗ рдХрд╛ рдХреЛрдИ рд╕рдорд░реНрдерд┐рдд рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЙрд╕ рд╕рдореВрд╣ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЦреАрдВрдЪрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдбреАрдПрдирдбреА рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЕрдЧрд░ рд╣рдо рдХреБрдЫ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдШрдЯрдХ рдХреЛ getDragState(type).isDragging = true , рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдХреЛ рдирд╣реАрдВред рдЖрдкрдХреЗ рдРрдк рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрджрд┐ рдЖрдк рдПрдХрд╛рдзрд┐рдХ рдЪрдпрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ "рдЪрдпрдирд┐рдд" рдЖрдЗрдЯрдо рдЬрд╛рдЧрд░реВрдХ рд╣реЛрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЦреАрдВрдЪрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдбреАрдУрдПрдо-рдЦреАрдВрдЪрд╛" рдЬрд╛ рд░рд╣рд╛ рд╣реЛред

рд╣рдореЗрдВ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдбреАрдПрдирдбреА рдмрддрд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП, "рдЕрд░реЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ onDragStart рдХрд┐рд╕реА рдЕрдиреНрдп рдШрдЯрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдореИрдВ рдпрд╣ рджрд┐рдЦрд╛рд╡рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рднреА рдЦреАрдВрдЪрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдореЗрд░рд╛ getDragState(type) рджрд░реНрдкрдг рдиреЗ рдШрдЯрдХ рдХреЗ getDragState(type) рдШрд╕реАрдЯрд╛, рдФрд░ рдореЗрд░рд╛ endDrag(didDrop) рднреА рдмреБрд▓рд╛рдпрд╛ рддрд╛рдХрд┐ рдореИрдВ рдЕрдкрдирд╛ рд╕рд╛рдорд╛рди рдХрд░ рд╕рдХреВрдВ"ред

рдШрдЯрдХ рдЙрд╕рдореЗрдВ рдХреИрд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ?

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

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рдореИрдВрдиреЗ рдПрдХрд╛рдзрд┐рдХ рдбреНрд░реИрдЧ/рдЧреНрд░рд┐рдб рд╡реНрдпреВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛: https://codesandbox.io/s/9j897k0mwyред
рдЖрдк рдХрдИ рдорджреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП cmd/ctrl рдФрд░ Shift рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЧреНрд░рд┐рдб рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЦреАрдВрдЪрдХрд░ рдХрд╣реАрдВ рднреА рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдЕрднреА рднреА рдПрдХ рдбреЗрдореЛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рд╕рд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ рдПрдХ рдШрдЯрдХ рдореЗрдВ рдкреИрдХреЗрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

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

рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдбреНрд░реИрдЧ рд╕реЛрд░реНрд╕ рдХреАрдЬрд╝ (https://github.com/gaearon/react-dnd/issues/38#issuecomment-73409935) рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдо рдлрд┐рд░ рд╕реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

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

рдереЛрдбрд╝реЗред

рдкрд╣рд▓реЗ рд╣рдо рд╢реВрдиреНрдп component (#38 рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ) рдФрд░ рд╕рдорд╛рди key (#53 рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ) рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдШрдЯрдХ рдкрд╛рд╕ рдХрд░рдирд╛ рд╕реАрдЦрддреЗ рд╣реИрдВред

рдлрд┐рд░ рд╣рдо groupKey рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред key , рдпрд╣ рдбреНрд░реИрдЧ рд╕реЛрд░реНрд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ рдФрд░ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИред рдЬрдм рдЖрдк рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ groupKey рд╕рд╛рде рдЦреАрдВрдЪрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рди рдХреЗрд╡рд▓ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд░ beginDrag рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗ, рдмрд▓реНрдХрд┐ рд╕рдорд╛рди groupKey рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдЙрдВрдЯреЗрдб рдбреНрд░реИрдЧ рд╕реЛрд░реНрд╕ рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЙрдирдХреЗ рдЖрдЗрдЯрдореНрд╕ рдХреЛ рдЗрд╕рдореЗрдВ рдПрдХрддреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред рдПрдХ рд╕рд░рдгреАред рд▓рдХреНрд╖реНрдп рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдЗрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ item рдмрдЬрд╛рдп рдкрд╛рд╕ рдХрд░реЗрдВрдЧреЗред рдЬрдм рдбреНрд░реИрдЧрд┐рдВрдЧ рдЦрддреНрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╣рдо рдЖрдЗрдЯрдо рдПрд░реЗ рдХреЗ рд╕рд╛рде рдбреНрд░реЙрдк рдЯрд╛рд░рдЧреЗрдЯ рдкрд░ acceptDrop рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рдбреНрд░реИрдЧ рд╕реЛрд░реНрд╕ рдХреЗ endDrag рдХреЛ рдЙрдирдХреЗ рдЖрдЗрдЯрдо рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗред

рдордЬреЗ рдХреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдХрд╕реНрдЯрдо "рд╕рдордЧреНрд░" рдердВрдмрдиреЗрд▓ рдШрдЯрдХ рдХреЗ рд╕рд╛рде DragLayer рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо items.length рд╕реЗ рдЧрд┐рдирддреА рдЬрд╛рдирддреЗ рд╣реИрдВред

рдореЗрд░реЗ рдорди рдореЗрдВ рдЬреЛ рдерд╛, рдЙрд╕рд╕реЗ рдХрд╣реАрдВ рдХрдо рдмрджрд╕реВрд░рдд рд╡рд┐рдЪрд╛рд░ рд╣реИ

:+1: рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП :-)

рдмрдВрдж рдХрд░рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рдпрд╛рд╕ рд╣реИред

@gaearon

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

рдЬрд╛рд╡рд╛/рд╕реНрд╡рд┐рдВрдЧ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдореЗрдВ рдбреНрд░реИрдЧ рдЗрдореЗрдЬ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд░реНрдерди рдирд╣реАрдВ рдерд╛) _рдкреЗрдбрд╝ рдХреЛ рд╕реНрд╡рдпрдВ рдбреНрд░реИрдЧ рд╕реЛрд░реНрд╕_ рдмрдирд╛рдирд╛ рдерд╛, рдФрд░ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП _рдпреЛрдЧреНрдп рдмрдирд╛рдирд╛ рдерд╛ рдХрд┐ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдбреНрд░реИрдЧ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдФрд░ рдЦреАрдВрдЪреЗрдВ рдкреНрд░рд╛рд░рдВрдн рд╕реНрдерд┐рддрд┐_ред рдХреНрдпрд╛ monitor.getInitialSourceClientOffset() рдЙрдкрд▓рдмреНрдз рд╣реИ рдЬрдм canDrag рдФрд░ beginDrag рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рд▓реЛрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рд╡реЗ рд╢рд╛рдпрдж рдпрд╣ рднреА рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрд╢реЛрдзрдХ рдХреБрдВрдЬрд┐рдпрд╛рдБ (ctrl, alt, shift) рдЙрдкрд▓рдмреНрдз рд╣реЛрдВ рдФрд░ рдбреНрд░реИрдЧ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдХреЙрдкреА рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдЫреЛрдбрд╝ рджреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╡реЗ рдХрд┐рд╕реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪрд╛рд▓ рдФрд░/рдпрд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдпреЗ рдХрд╛рд░рдХ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рд╡рд╛/рд╕реНрд╡рд┐рдВрдЧ рдореЗрдВ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдореИрдВ рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВред рд╕реНрд╡рд┐рдВрдЧ рдореЗрдВ _рдбреНрд░реИрдЧ рдЬреЗрд╕реНрдЪрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛_ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рднреА рдереА рдЬрд┐рд╕реЗ рд╕реНрд╡реИрдк рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред

рдореИрдВ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╕реВрдЪреА рдореЗрдВ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреНрд░реИрдЧрдЧреЗрдмрд▓реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд▓рд╛рдЬ рдХрд░рдирд╛ рд╕реВрдЪреА рдШрдЯрдХ рдПрдХрд▓ рдбреНрд░реИрдЧ рд╕реНрд░реЛрдд рд╣реЛрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ рдЬреЛ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдбреНрд░реЙрдк рдкреЗрд▓реЛрдб/рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдЫрд╡рд┐ рдмрдирд╛рдирд╛ рд╣реИред

рдЗрд╕ рдмрд╛рдд рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдЙрд╕ рдЖрдЗрдЯрдо рдХреЗ рдХреНрд░рдо рдХреЛ _рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдФрд░ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рдЖрдЗрдЯрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЦреАрдВрдЪрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдбреАрдПрдирдбреА рдХреЗ рд╕рд╛рде рдХрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЦреАрдВрдЪрдХрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ? рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╣реИ?

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╕рд┐рдВрдЧрд▓ рдбреНрд░реИрдЧ рд╕реЛрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХрд╛рдзрд┐рдХ рдбреНрд░реЙрдк рд▓рдХреНрд╖реНрдп рдерд╛?

+1 @ danii1 : рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдХрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЦреАрдВрдЪрдХрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ?

рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛, рд╕рдорд╛рдзрд╛рди рдореВрд▓ рд░реВрдк рд╕реЗ рдкрд╣рд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ:

  1. рдЕрдкрдиреЗ рдЪреБрдиреЗ рд╣реБрдП рдЖрдЗрдЯрдо рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦреЗрдВ
  2. CustomDragLayer рд▓рд╛рдЧреВ рдХрд░реЗрдВ (https://gaearon.github.io/react-dnd/docs-drag-layer.html рджреЗрдЦреЗрдВ) рдФрд░ рдЕрдкрдиреЗ рдЪрдпрдирд┐рдд рдЖрдЗрдЯрдо рд╕реНрд╡рдпрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВ
  3. рд╣реИрдВрдбрд▓ рдбреНрд░реЙрдк рдЕрдЧрд░ рдЧрд┐рд░рд╛ рд╣реБрдЖ рдЖрдЗрдЯрдо рдЪрдпрди рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛:

  1. рдПрдХ рд╕реЗрдЯ рдореЗрдВ рдЪрдпрдирд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦреЗрдВ
  2. рдЗрд╕реЗ рдбреАрдПрдирдбреА рд╕реНрд░реЛрдд рдХреЛ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВ
  3. startDrag рдореЗрдВ рд╕реЗрдЯ рдлреЙрд░реНрдо рдХреЛ рдкреНрд░реЙрдкрд░ рд╕реЗ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдбреНрд░реИрдЧ рдЖрдЗрдЯрдо рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░реЗрдВ
  4. рдПрдХ рдХрд╕реНрдЯрдо рдбреНрд░реИрдЧ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдмрдирд╛рдПрдВ
  5. EndDrag рдкрд░ рд╕реЗрдЯ рдХреЗ рд╕рднреА рдЖрдЗрдЯрдореНрд╕ рдХреЛ dnd рд▓рдХреНрд╖реНрдп рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдБ

рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдореИрдВ рдЙрди рдиреЛрдбреНрд╕ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЦреАрдВрдЪрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ рдЬреЛ рдЦреАрдВрдЪрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЬрдм рд╡реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЛрдбреНрд╕ рд╕рдВрд▓рдЧреНрди рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдЪрд▓рддреЗ рд╣реИрдВред рдореЗрд░рд╛ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдХ CustomDragLayer рд╣реИ рдЬреЛ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реИ рдЬрдм рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ DraggableNode рдЪрд▓ рд░рд╣рд╛ рд╣реИ ( CustomDragLayer рдкрд░ рднреА рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдореЙрдбрд▓ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ isDragging() рд╕рд╛рде рдбреНрд░реИрдЧрд╕реЛрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдХрдИ рдбреНрд░реИрдЧ рд╕реНрдерд┐рддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рддрд╛рдХрд┐ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рд╡реЗ рдЬрд┐рд╕ рдиреЛрдб рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ, рд╡рд╣ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рддрд╛рдХрд┐ рд╡реЗ CustomDragLayer рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдкреНрд░реЛрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЦреБрдж рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХреЗрдВ .

@ danii1
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЙрд╕ рд╕рдВрджрд░реНрдн рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ

рдореИрдВ рдПрдХ рдкреЛрд╕реНрдЯ рд▓рд┐рдЦреВрдВрдЧрд╛ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдбреАрдПрдирдбреА + рд░реЗрдбрдХреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХрд╛рдзрд┐рдХ рдФрд░ рдиреЗрд╕реНрдЯреЗрдб рдбреНрд░реИрдЧ рдФрд░ рдбреНрд░реЙрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░реЗрдкреЛ рдЬреЛрдбрд╝реВрдВрдЧрд╛ред

@nayemmajhar , рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛

@nayemmajhar рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рдореИрдВрдиреЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ reduxJS рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдбреАрдПрдирдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИ https://www.joomshaper.com/page-builder рдореИрдВ рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рд╕рдордп рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

@serle рдХреНрдпрд╛ рдЖрдк рдПрдХ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рд╕рд╛рдЭрд╛ рдХрд░ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛?

@ianmclean2011 рдЗрд╕реЗ рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ: https://github.com/react-dnd/react-dnd/issues/590

рдореИрдВ рдпрд╣рд╛рдБ рдХреНрд░рдордмрджреНрдз рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рдорд╛рди рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдорд▓реНрдЯреА-рдбреНрд░реИрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ: https://react-dnd.github.io/react-dnd/examples-sortable-simple.htmlред рдореИрдВ рдХрд┐рд╕реА рднреА рд╡рд╕реНрддреБ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реВрдЪреА рдореЗрдВ рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдКрдкрд░ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдгреЛрдВ/рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдирд╛ рд╕рд┐рд░ рд▓рдкреЗрдЯрдиреЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИред рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕ рдкрд░ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░/рд╡рд┐рдЪрд╛рд░/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛?

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рдореИрдВрдиреЗ рдПрдХрд╛рдзрд┐рдХ рдбреНрд░реИрдЧ/рдЧреНрд░рд┐рдб рд╡реНрдпреВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛: https://codesandbox.io/s/9j897k0mwyред
рдЖрдк рдХрдИ рдорджреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП cmd/ctrl рдФрд░ Shift рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЧреНрд░рд┐рдб рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЦреАрдВрдЪрдХрд░ рдХрд╣реАрдВ рднреА рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдЕрднреА рднреА рдПрдХ рдбреЗрдореЛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рд╕рд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ рдПрдХ рдШрдЯрдХ рдореЗрдВ рдкреИрдХреЗрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

@melvynhills рдХреНрдпрд╛ рдЖрдкрдиреЗ рдРрд╕реЗ рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдб рдШрдЯрдХ рдореЗрдВ рд╕рднреА рдЪрдпрдирд┐рдд рдХрд╛рд░реНрдб рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ? рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХрд╛рд░реНрдб рдХреЗ startDrag() рдХреЛ рд╕рднреА рдЪрдпрдирд┐рдд рдХрд╛рд░реНрдбреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИред

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

@melvynhills @jmcrthrs рдЕрдиреНрдп рдбреЗрд╕реНрдХрдЯреЙрдк dnd рдлреНрд░реЗрдорд╡рд░реНрдХ рдЬрд┐рдирдХрд╛ рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрдВрдХреНрддрд┐, рд╕реЗрд▓, рдЖрдЗрдЯрдо рдЖрджрд┐ рдХреЛ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдбреНрд░реИрдЧ рд╕реНрд░реЛрдд рдФрд░/рдпрд╛ рдбреНрд░реЙрдк рд▓рдХреНрд╖реНрдп рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдбреНрд░реИрдЧ рд╕реЛрд░реНрд╕/рдбреНрд░реЙрдк рд▓рдХреНрд╖реНрдп рдмрдирд╛рдиреЗ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рдХрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рд╕рд╛рде рд╣реА рд╕реВрдЪреА рдпрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рднреАрддрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреНрд░реЙрдк рд╕реНрдерд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛, рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рдл рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рд╕реВрдЪреА рдбреНрд░реИрдЧ рд╕реНрдЯрд╛рд░реНрдЯ рдЗрд╡реЗрдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ рддреЛ рд╡рд╣ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рдЪрдпрдирд┐рдд рдЖрдЗрдЯрдо рдХреЛ рджреЗрдЦ рд╕рдХрддреА рд╣реИред

@ jedwards1211 рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ? рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХреЛ рдЦреАрдВрдЪрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рдЬреЛ рдбреНрд░реИрдЧ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд╣реАрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдбреАрдПрдирдбреА рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╣реИред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдорд╛рдорд▓рд╛ рд╕реБрд▓рдЭрд╛рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдбреНрд░реЙрдк рд▓рдХреНрд╖реНрдп рд╣реИрдВ?
рдорд╛рди рд▓реЗрдВ рдХрд┐ рдХреЛрдИ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЖрдЗрдЯрдо рдЦреАрдВрдЪ рд░рд╣рд╛ рд╣реИ (рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдФрд░ рдПрдХ рдЖрдЗрдЯрдо рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреНрд░реЙрдк рд▓рдХреНрд╖реНрдп рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░рд╛ рдЕрд▓рдЧ рдкрд░ред drop рдХреЗрд╡рд▓ рдбреНрд░реИрдЧ рд╕реЛрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдиреЗ рдбреНрд░реИрдЧ рд╢реБрд░реВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдбреНрд░реЙрдк рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ред
рдЙрджрд╛рд╣рд░рдг:
Is development slow, Online Whiteboard for Visual Collaboration 2019-11-27 10-45-33

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдмрдирд╛рдпрд╛ https://github.com/react-dnd/react-dnd/issues/1650

@melvynhills рд╢рд╛рдпрдж рдЕрдЧрд░ рдПрдХ mousedown рд╣реИрдВрдбрд▓рд░ рдЖрдЗрдЯрдо рдЪрдпрди рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рдЖрдкрдХреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдбреАрдПрдирдбреА рдХреЗ рд╕рд╛рде рд╕рднреА рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ), рдпрд╣ рдХрдВрдЯреЗрдирд░ рдШрдЯрдХ рдХреЗ рдбреНрд░реИрдЧ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдПрдХреНрдЯ рдбреАрдПрдирдбреА рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рд╕реНрд░реЛрдд, рдХреНрдпреЛрдВрдХрд┐ рдбреНрд░реИрдЧ рдЗрд╡реЗрдВрдЯ mousedown рдмрд╛рдж рдЖрдПрдВрдЧреЗред

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдРрд╕реЗ рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдб рдШрдЯрдХ рдХреЛ рд╕рднреА рдЪрдпрдирд┐рдд рдХрд╛рд░реНрдб рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ?

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

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд╕реБрдВрджрд░-рдбреАрдПрдирдбреА рдХреЗ рд╕рд╛рде рдХрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЦреАрдВрдЪрдХрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ? рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╣реИ?

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

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

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

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

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

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

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