рд╕рдВрдмрдВрдзрд┐рдд: #594
#594 рдореЗрдВ, рдЬрдм рдХреЛрдИ рдкреЛрд╕реНрдЯ рдбреНрд░рд╛рдлреНрдЯ рд╕рд╣реЗрдЬрдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдирдИ рдкреЛрд╕реНрдЯ рдЖрдИрдбреА рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ URL рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЬрдмрдХрд┐ рдпрд╣ рд╕рдорд░реНрдкрд┐рдд рд╕рдВрдкрд╛рджрдХ рд╕реНрдХреНрд░реАрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдпрд╣ рд╕рдВрдкрд╛рджрдХ рдХреА рд╕реБрд╡рд╛рд╣реНрдпрддрд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпреЗ URL рдкрд░рд┐рд╡рд░реНрддрди рдЗрд╕ рд╕рдВрджрд░реНрдн рдХреЗ рдмрд╛рд╣рд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдХрд┐рд╕реА рд╕рдВрдкрд╛рджрдХ рдХреЛ рдЕрдиреНрдп рд╕реНрдХреНрд░реАрди (рдЬреИрд╕реЗ рдлрд╝реНрд░рдВрдЯ-рдПрдВрдб, рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝рд░) рдкрд░ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рд╕рдВрджрд░реНрдн-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рд░рд╛рдЬреНрдп рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдХрд┐рд╕реА рднреА рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╕реНрддрд╛рд░рдгреАрдпрддрд╛ рдкреИрдЯрд░реНрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдкреЛрд╕реНрдЯ рд╕реЗрд╡ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:
wp.editor.injectMiddleware( ( store ) => ( next ) => ( action ) => {
const { type, isNew, post } = action;
if ( 'REQUEST_POST_UPDATE_SUCCESS' === type ) {
const [ baseUrl, query ] = window.location.href.split( '?' );
const qs = parse( query || '' );
const newUrl = baseUrl + '?' + stringify( {
...qs,
post_id: newPost.id,
} );
window.history.replaceState( {}, 'Post ' + newPost.id, newUrl );
}
return next( action );
} );
рдпрд╣ рд╕рднреА рджреЗрдЦреЗрдВ:
middleware
)automattic/рд╕реВрдЪрдирд╛-рдкреИрдирд▓ рджреЗрдЦреЗрдВ рдФрд░ рд╣рдо рдЗрд╕реЗ automattic/wp-calypso рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ
рдмрдврд╝рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЗрдВрдЬреЗрдХреНрд╢рди
рдЖрдИрдлреНрд░реЗрдо рдореЛрдб рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреНрд░рд┐рдпрд╛рдПрдВ
рдХреИрд▓рд┐рдкреНрд╕реЛ рдореЗрдВ рдХрд╕реНрдЯрдо рдПрдХреАрдХрд░рдг
рдпрд╣ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╡реИрд╕реЗ
8 рдорд╣реАрдиреЗ рдмреАрдд рдЧрдП рдФрд░ рд╣рдореЗрдВ рдЕрднреА рднреА рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░рдореБрдЦ рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдереА, рд▓реЗрдХрд┐рди рдорд┐рдбрд▓рд╡реЗрдпрд░ рдЕрднреА рднреА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреЗ рд╣реИрдВред рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реБрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдпрд╣рд╛рдВ рдЙрдкрдпреБрдХреНрдд рд╣реЛрдЧреАред рд╣рдо рдпрд╣рд╛рдВ рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдорд┐рдбрд▓рд╡реЗрдпрд░ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/WordPress/gutenberg/blob/master/editor/store/middlewares.js#L40ред @youknowriad рдиреЗ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдВрддрд░рд┐рдХ рдПрдкреАрдЖрдИ рдмрдирд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ред
рдЗрд╕реЗ рдбреЗрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдирдП рдкреИрдЯрд░реНрди рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ subscribe
рдФрд░ withSelect
рдПрдкреАрдЖрдИ, рдЬреЛ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рд╕рдордп рдХреЗ рд╕рд╛рде рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: https://github.com/WordPress /рдЧреБрдЯреЗрдирдмрд░реНрдЧ/рдмреНрд▓реЙрдм/рдорд╛рд╕реНрдЯрд░/рдкреИрдХреЗрдЬ/рдбреЗрдЯрд╛/README.md
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
automattic/рд╕реВрдЪрдирд╛-рдкреИрдирд▓ рджреЗрдЦреЗрдВ рдФрд░ рд╣рдо рдЗрд╕реЗ automattic/wp-calypso рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ
рдмрдврд╝рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЗрдВрдЬреЗрдХреНрд╢рди
рдЖрдИрдлреНрд░реЗрдо рдореЛрдб рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреНрд░рд┐рдпрд╛рдПрдВ
рдХреИрд▓рд┐рдкреНрд╕реЛ рдореЗрдВ рдХрд╕реНрдЯрдо рдПрдХреАрдХрд░рдг
рдпрд╣ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╡реИрд╕реЗ