рдкреЗрдЬрдХрд┐рдЯ - рд╕реНрд╡-рд╣реЛрд╕реНрдЯреЗрдб GrapesJS рд╕рд╛рдЗрдЯ рдмрд┐рд▓реНрдбрд░, рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрдЪрд╛ рдЧрдпрд╛ред рдЬрд▓реНрджреА рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рдЕрдВрдХ #2303ЁЯТм рдЙрддреНрддрд░ рджрд┐рдпрд╛рдЦреЛрд▓рд╛ рдЧрдпрд╛ 2 рдЕрдХреНрдЯреВрдмрд░ 2019рджреНрд╡рд╛рд░рд╛ megarg2 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ

рдПрдХ рдирдП рдХрд╕реНрдЯрдо рдШрдЯрдХ рдХреЗ HTML рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛

рддреНрд╡рд░рд┐рдд рдЙрддреНрддрд░рджреНрд╡рд╛рд░рд╛ megargтЭд 1

рдореИрдВрдиреЗ рдЗрд╕реЗ рдиреАрдЪреЗ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ toHTML: рдлрд╝рдВрдХреНрд╢рди () { let el = 0; el = defaultType.model.prototype.toHTML.apply(this) + el; return el; }, рдЖрдкрдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж

рдиреАрдЪреЗ рдкреВрд░рд╛ рдЙрддреНрддрд░ рдкрдврд╝реЗрдВ тЖУ

рдкреНрд░рд╢реНрди

рдореИрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреИрд╕реЗ рдЯреВрдПрдЪрдЯреАрдПрдордПрд▓ рдЖрдЙрдЯрдкреБрдЯ рд╣реИред рдореИрдВ рдореМрдЬреВрджрд╛ рдПрдЪрдЯреАрдПрдордПрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдШрдЯрдХ рдХреА "toHTML" рд╕рдВрдкрддреНрддрд┐ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАрдпрд╣ рдПрдХ рдирдпрд╛ HTML рддрддреНрд╡ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИрд▓реЗрдХрд┐рди рдпрд╣ рдореМрдЬреВрджрд╛ HTML рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдореИрдВрдиреЗ рдореВрд▓ рдШрдЯрдХ html рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HTML рдХреЗ рдЕрдВрджрд░ HTML рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛, рдпрд╣ рдПрдХ рдЕрдирдВрдд рд▓реВрдк рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ред рдХреНрдпрд╛ рдореМрдЬреВрджрд╛ toHTML рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рддрд╛рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХреВрдВ рдФрд░ рдлрд┐рд░ рдирдП "toHTML:" рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рд╕рдХреВрдВред рд╕рдВрдкрд╛рджрдХ рдпрд╛ рдирд┐рд░реНрдпрд╛рдд рдирдП рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛ...

рдЬрд╡рд╛рдм (3)

megargтАв 3 рдЕрдХреНрдЯреВрдмрд░ 2019

рдореИрдВрдиреЗ рдЗрд╕реЗ рдиреАрдЪреЗ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ toHTML: рдлрд╝рдВрдХреНрд╢рди () { let el = я┐╜0я┐╜; el = defaultType.model.prototype.toHTML.apply(this) + el; return el; },

рдЖрдкрдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж

scott-coatesтАв 12 рдирд╡рдореНрдмрд░ 2019

рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ defaultType рд▓рд┐рдП: var defaultType = editor.DomComponents.getType('default');

рдФрд░ рдпрд╣ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

var prototype = Object.getPrototypeOf(this);
var el = prototype.__proto__.toHTML.call(this);
return el;
pouyamiralayiтАв 2 рдЕрдХреНрдЯреВрдмрд░ 2019

рдирдорд╕реНрддреЗ! рдХреНрдпрд╛ рдЖрдкрдиреЗ 'component.view.el`` inside your ``toHTML``? it will give you access to the current DOM' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛? рдЪреАрдпрд░реНрд╕!

рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдФрд░ рдЙрддреНрддрд░

рдЗрд╕реА рддрд░рд╣ рдХреА рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢реЛрдз рдЬрд╛рд░реА рд░рдЦреЗрдВред

рдЕрдВрдХ #3615

рдкрд╛рда рдШрдЯрдХ рдореЗрдВ рдкрд╛рда рдЕрджреНрдпрддрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, toHTML рд╕реЗ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛

рдпрд╣ рдкрд╛рда рдШрдЯрдХ рд╣реИ, рдпрджрд┐ рдореБрдЦреНрдп рднрд╛рдЧ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рддреЛ рдкрд╛рда HTML рд╡рд┐рдзрд┐ рдХреЗ рдШрдЯрдХ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ/рд▓рд╛рдЧреВ рдХрд░реЗрдВ/рд╕реНрдЯреЛрд░ рдХреЛ рд╕рд╣реА рдХрд░реЗрдЧрд╛, рдпрджрд┐ рдХреЗрд╡рд▓ рдкрд╛рда рдЕрдкрдбреЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗ...

4 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 24 рд╕рд┐рддрдореНрдмрд░ 2021

рдЕрдВрдХ #3779

Editor.getSelected().toHTML() encodes inline javascript

GrapesJS рд╕рдВрд╕реНрдХрд░рдг[X] рдореИрдВ GrapesJS рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЖрдк рдХрд┐рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдирд╡реАрдирддрдо (рдХреНрд░реЛрдо)рдкреНрд░рдд...

3 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 22 рд╕рд┐рддрдореНрдмрд░ 2021

рдЕрдВрдХ #2302

рдирд┐рд░реНрдпрд╛рдд рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рд╣рд░реА рдкреНрд▓рдЧрдЗрди рд╕реАрдПрд╕рдПрд╕, рдЬреЗрдПрд╕ рдФрд░ рдПрдЪрдЯреАрдПрдордПрд▓ GrapesJS рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ?

рдореИрдВрдиреЗ GrapesJS рдореЗрдВ @fullCalendar рдХреЗ рдПрдХ рдмрд╛рд╣рд░реА рдкреНрд▓рдЧрдЗрди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдХреИрдирд╡рд╛рд╕ рдкрд░ рдХреИрд▓реЗрдВрдбрд░ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖...

3 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 10 рдирд╡рдореНрдмрд░ 2020

рдЕрдВрдХ #698

Editor.getSelected().toHTML() is not consistent

рд╣реЗрд▓реЛ рд╕рдм рд▓реЛрдЧ рдореИрдВрдиреЗ рдПрдХ рдирдпрд╛ рдШрдЯрдХ рдкреНрд░рдХрд╛рд░, 'html-block' рдмрдирд╛рдпрд╛, рдЬреЛ рдПрдХ рдШрдЯрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЕрдкрдирд╛ html рдХреЛрдб рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЯреВрд▓рдмрд╛рд░ рдореЗрдВ рдПрдХ 'рд╕рдВрдкрд╛рджрд┐рдд рдХ...

3 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 18 рд╕рд┐рддрдореНрдмрд░ 2019

рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ

рд╕рдорд╕реНрдпрд╛ рдХреАрд╡рд░реНрдб рдФрд░ рд▓реЗрдмрд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрдпреВрд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рддреЗрдЬрд╝реА рд╕реЗ рд╢рд┐рдк рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХреЗред

рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рджреЗрдЦреЗрдВ

рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрди рдЕрдиреБрд╢рдВрд╕рд╛рдПрдБ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИрдВ ...

рдирд┐рдГрд╢реБрд▓реНрдХ рд╡рд┐рдХрд▓реНрдк

рдУрдкрди-рд╕реЛрд░реНрд╕ GrapesJS рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ GitHub рдпрд╛ рд╣рдорд╛рд░реЗ рдореБрдлреНрдд рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдЪрд▓рд╛рдПрдВред

рдореБрдлреНрдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТ
рдкреНрд░реАрдорд┐рдпрдо рд╡рд┐рдХрд▓реНрдк

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

рдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТ

рдмреНрд░рд╛рдЙрдЬрд╝ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ

рд╕реАрдзреЗ рдмрд╛рдЬрд╝рд╛рд░ рдкрд░ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгреА рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЬрд╛рдПрдБред