рдкреНрд░рд╢реНрди: рдШрдЯрдХреЛрдВ рдореЗрдВ рдмрдЪреНрдЪреЛрдВ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рдХрд░реЗрдВ
рдХреНрдпрд╛ рдореЗрд░реЗ рдХрд╕реНрдЯрдо рдШрдЯрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдШрдЯрдХреЛрдВ/рдмрдЪреНрдЪреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ/рд╕реБрдирдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ? @scottccoates рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ: рдЪреАрдпрд░реНрд╕!
рдиреАрдЪреЗ рдкреВрд░рд╛ рдЙрддреНрддрд░ рдкрдврд╝реЗрдВ тЖУрдкреНрд░рд╢реНрди
рдХреНрдпрд╛ рдореЗрд░реЗ рдХрд╕реНрдЯрдо рдШрдЯрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдШрдЯрдХреЛрдВ/рдмрдЪреНрдЪреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ/рд╕реБрдирдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ? рд╢рд╛рдпрдж рдПрдХ рдШрдЯрдирд╛ рдЬрд┐рд╕рдХреА рдореИрдВ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддрд╛ рд╣реВрдВ? change:content рдЬреИрд╕рд╛ рдХреБрдЫ?
рдореИрдВ рдЕрдкрдиреЗ container рдШрдЯрдХ рдХреЗ рдмрдЪреНрдЪреЛрдВ рдореЗрдВ рд▓рдХреНрд╖рдг рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдпрджрд┐ рдмрдЪреНрдЪреЗ рдХрдВрдЯреЗрдирд░ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд▓рдХреНрд╖рдг рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ 1 рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:
// in the view
this.el.bind("DOMSubtreeModified",function(){
alert('changed');
});
рдЬрд╡рд╛рдм (3)
рдХреНрдпрд╛ рдореЗрд░реЗ рдХрд╕реНрдЯрдо рдШрдЯрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдШрдЯрдХреЛрдВ/рдмрдЪреНрдЪреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ/рд╕реБрдирдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ?
@scottccoates рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ:
init(){ // inside your model
this.listenTo(this.components().at(0),'change:prop-name', handler)
}
рдЪреАрдпрд░реНрд╕!
@pouyamiralayi рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдЕрдкрдиреЗ рдШрдЯрдХ рдХреЛ рдЫреЛрдбрд╝рдиреЗ/рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрдЪреНрдЪреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЬреЛ рдЖрдкреВрд░реНрддрд┐ рдХреА рд╣реИ рд╡рд╣ рдорджрдж рдХрд░реЗрдЧрд╛ рдпрд╛ рдХреНрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ?
@scottccoates рдпрд╣ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
editor.on('component:add', model => console.log(model.parent().get('custom-name')))
editor.on('component:remove', model => console.log(model.parent().get('custom-name')))
рдЪреАрдпрд░реНрд╕!
рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдФрд░ рдЙрддреНрддрд░
рдЗрд╕реА рддрд░рд╣ рдХреА рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢реЛрдз рдЬрд╛рд░реА рд░рдЦреЗрдВред
рдЕрдВрдХ #1995
рдмрд╛рдзреНрдп рдШрдЯрдирд╛рдУрдВ рдХреЛ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (рдмрд╕ рдореЛрдЬрд╝рд┐рд▓рд╛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдкрд░ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВ)
рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд╕реНрдЯреЛрд░реЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдШрдЯрдХ рдореЗрдВ рдХреБрдЫ рдИрд╡реЗрдВрдЯ рдЬреЛрдбрд╝реЗ рд╣реИрдВред рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ рдШрдЯрдХ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛...
рдЕрдВрдХ #1727
рдмрдЪреНрдЪреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо
рдореБрдЭреЗ рдПрдХ рдШрдЯрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЬрдм рдореИрдВ рдХреИрдирд╡рд╛рд╕ рдореЗрдВ рдПрдХ рдШрдЯрдХ рдЫреЛрдбрд╝рддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд╕реНрддреБ рдмрдирд╛рддрд╛ рд╣реВрдВред рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореБрдЭреЗ рдп...
рдЕрдВрдХ #1888
рдХреИрдирд╡рд╛рд╕ рдХреЗ рдЕрдВрджрд░ рдХрд╕реНрдЯрдо HTML рдЬреЛрдбрд╝реЗрдВ
рдЖрдкрдХреЛ рдирдорд╕реНрдХрд╛рд░ рдореИрдВ HTML рдФрд░ CSS рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреА рдЬрд░реВрд░рдд рдХреА рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╕реНрдЯрдо json рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП grapes рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдРрд╕рд╛ рдХрд░рди...
рдЕрдВрдХ #1908
рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреА рд╕рдВрдкрддреНрддрд┐ 'indexOf' рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддрд╛
рдореБрдЭреЗ рдпрд╣рд╛рдВ рдПрдХ рдкрд┐рдЫрд▓рд╛ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рд╛: https://github.com/artf/grapesjs/issues/1772 рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЕрднреА рднреА рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЖрдкрдХреЗ...
рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ
рд╕рдорд╕реНрдпрд╛ рдХреАрд╡рд░реНрдб рдФрд░ рд▓реЗрдмрд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрдпреВрд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рддреЗрдЬрд╝реА рд╕реЗ рд╢рд┐рдк рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХреЗред
рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрди рдЕрдиреБрд╢рдВрд╕рд╛рдПрдБ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИрдВ ...
рдУрдкрди-рд╕реЛрд░реНрд╕ GrapesJS рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ GitHub рдпрд╛ рд╣рдорд╛рд░реЗ рдореБрдлреНрдд рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдЪрд▓рд╛рдПрдВред
рдореБрдлреНрдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТрдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕рдорд░реНрдерди, рдирд┐рдпрдорд┐рдд рдЕрдкрдбреЗрдЯ рдФрд░ рдЙрддреНрдкрд╛рджрди-рддреИрдпрд╛рд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢рд┐рдк рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХреАрдХрд░рдг рдХрд╛рд░реНрдп рдХреЗ рджрд┐рдиреЛрдВ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВред
рдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТрдмреНрд░рд╛рдЙрдЬрд╝ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ
рд╕реАрдзреЗ рдмрд╛рдЬрд╝рд╛рд░ рдкрд░ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгреА рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЬрд╛рдПрдБред