κ΄λ ¨: #594
#594μμ κ²μλ¬Ό μ΄μ μ μ₯μ΄ μλ£λλ©΄ μ κ²μλ¬Ό IDλ₯Ό λ°μνλλ‘ νμ¬ λΈλΌμ°μ 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 );
} );
λν보μμμ€:
automattic/notifications-panel λ° automattic/wp-calypsoμ ν΅ν©νκΈ° μν΄ μ΄λ₯Ό μννλ λ°©λ²μ νμΈνμμμ€.
Calypsoμ μ¬μ©μ μ μ ν΅ν©
그건 κ·Έλ κ³ , μμ²λκ² μ μλνμ΅λλ€.
8κ°μμ΄ μ§λ¬μ§λ§ μ¬μ ν νμν©λλ€ π λ°μ΄ν°λ₯Ό μ²λ¦¬νλ λ°©μμμ μ£Όμ 리ν©ν λ§μ΄ μμμ§λ§ λ―Έλ€μ¨μ΄λ μ¬μ ν μ€μν μν μ ν©λλ€. νν¬ λΌμ΄λΈλ¬λ¦¬κ° μ¬κΈ°μ μ ν©νμ§ μ¬λΆλ₯Ό νμν μ μμ΅λλ€. https://github.com/WordPress/gutenberg/blob/master/editor/store/middlewares.js#L40 μμ νν°λ₯Ό μ¬μ©νμ¬ μΆκ° λ―Έλ€μ¨μ΄λ₯Ό μ£Όμ ν μ μμ΅λλ€ @youknowriad λ μμμ μν΄ λ΄λΆ APIλ₯Ό λ§λ€ κ²μ μ μνμ΅λλ€.
μ΄κ²μ λ°μ΄ν° λͺ¨λμ΄ μλ μλ‘μ΄ ν¨ν΄μΌλ‘ λ체λμμ΅λλ€. νΉν subscribe
λ° withSelect
APIλ κ°λ°μκ° μκ°μ΄ μ§λ¨μ λ°λΌ λ³κ²½ μ¬νμ κ΄μ°°νκ³ μ΄μ λμν μ μλλ‘ ν©λλ€. https://github.com/WordPress /gutenberg/blob/master/packages/data/README.md
κ°μ₯ μ μ©ν λκΈ
automattic/notifications-panel λ° automattic/wp-calypsoμ ν΅ν©νκΈ° μν΄ μ΄λ₯Ό μννλ λ°©λ²μ νμΈνμμμ€.
κ°νμ μ£Όμ
iframe λͺ¨λμ κΈ°λ³Έ μμ
Calypsoμ μ¬μ©μ μ μ ν΅ν©
그건 κ·Έλ κ³ , μμ²λκ² μ μλνμ΅λλ€.