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

рдЕрдВрдХ #419ЁЯТм рдЙрддреНрддрд░ рджрд┐рдпрд╛рдЦреЛрд▓рд╛ рдЧрдпрд╛ 13 рдЕрдХреНрдЯреВрдмрд░ 2017рджреНрд╡рд╛рд░рд╛ sanjeevSavitr0 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ

рдХрдорд╛рдВрдб рдореЗрдВ рдирдП рддрддреНрд╡ рдЬреЛрдбрд╝рдирд╛

рддреНрд╡рд░рд┐рдд рдЙрддреНрддрд░рджреНрд╡рд╛рд░рд╛ artf

[рдШрдЯрдХ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ] (https://github.com/artf/grapesjs/wiki/Components#how-components-work) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЪрдпрди рдпреЛрдЧреНрдп рд╣реЛрдВ рддреЛ рдЖрдкрдХреЛ рдореЙрдбрд▓ (рдЙрджрд╛рд╣рд░рдг model.get('components').add('<div>...</div>')) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдШрдЯрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ (рдЖрдк рдореЙрдбрд▓ рдХреЗ рдмрд┐рдирд╛ рддрддреНрд╡реЛрдВ рдХрд╛ рдЪрдпрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ)ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдХрд┐рдпрд╛,...

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

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

рдЖрджреЗрд╢:{ { рдЖрдИрдбреА: 'sub_menu_item', рдЪрд▓рд╛рдПрдБ: рдлрд╝рдВрдХреНрд╢рди (рд╕рдВрдкрд╛рджрдХ, senderBtn){

            const comp = editor.getSelected(); 
            comp.view.el.querySelector('[data-js=submenu_container]').innerHTML += '<a class="navbar-menu-link">рдЙрдк рдореЗрдиреВ рдЖрдЗрдЯрдо</a>'; 

        }, 
      }, 
}

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

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

artfтАв 16 рдЕрдХреНрдЯреВрдмрд░ 2017

[рдШрдЯрдХ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ] (https://github.com/artf/grapesjs/wiki/Components#how-components-work) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЪрдпрди рдпреЛрдЧреНрдп рд╣реЛрдВ рддреЛ рдЖрдкрдХреЛ рдореЙрдбрд▓ (рдЙрджрд╛рд╣рд░рдг model.get('components').add('<div>...</div>')) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдШрдЯрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ (рдЖрдк рдореЙрдбрд▓ рдХреЗ рдмрд┐рдирд╛ рддрддреНрд╡реЛрдВ рдХрд╛ рдЪрдпрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ)...

lock[bot]тАв 18 рд╕рд┐рддрдореНрдмрд░ 2019

рдпрд╣ рдереНрд░реЗрдб рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЙрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреЛрдИ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ. рдХреГрдкрдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдмрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВ.

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

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

рдЕрдВрдХ #400

рдХрдорд╛рдВрдб рдореЗрдВ рдПрдХ рддрддреНрд╡ рдЫреБрдкрд╛рдПрдВ

рдирдорд╕реНрддреЗ рдЬрдм рднреА рд╣рдо рдЯреВрд▓рдмрд╛рд░ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрддреНрд╡ рдХреЛ рдЫрд┐рдкрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЖрджреЗрд╢: { рдбрд┐рдлреЙрд▓реНрдЯ: [{ рдЖрдИрдбреА: 'submenuitem', рдЪрд▓рд╛рдПрдБ: рдлрд╝рдВрдХреН...

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

рдЕрдВрдХ #1985

рджреВрд░рд╕реНрде рд╕рдВрдЧреНрд░рд╣рдг рдХреЗ рд╕рд╛рде рдСрдЯреЛрд╕реЗрд╡ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рднреЗрдЬрддрд╛ рд╣реИ

рдУрдПрд╕: рд╡рд┐рдВрдбреЛрдЬ 10 рдмреНрд░рд╛рдЙрдЬрд╝рд░: рдХреНрд░реЛрдо 73 GrapesJS рд╕рдВрд╕реНрдХрд░рдг: 0.14.57 рдореИрдВрдиреЗ рдЗрд╕ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рд┐рдореЛрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ grapesjs.init(): рдЬрдмрдХ...

3 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 6 рдордИ 2020

рдЕрдВрдХ #1306

рдХрд┐рд╕реА рдХреИрдирд╡рд╛рд╕ рддрддреНрд╡ рдореЗрдВ рдкрд╛рда рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛ HTML рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж рдЙрд╕ рдкрд░ рдЕрджреНрдпрддрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ.

рдПрдЪ @artf, рдореЗрд░реЗ рдкрд╛рд╕ HTML рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рдмреАрдЪ рдореЗрдВ рдПрдХ рдиреБрдХрд╕рд╛рди рд╣реИред рдЕрднреА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкреЙрдкрдЕрдк рдореЛрдбрд▓ рд╕рдВрд╡рд╛рдж рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдкрд╛рда рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХ...

3 рдЙрддреНрддрд░рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 18 рдорд╛рд░реНрдЪ 2020

рдЕрдВрдХ #1863

рдмреНрд▓реЙрдХ рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ рдирдП рдШрдЯрдХ рдЬреЛрдбрд╝рдирд╛

рдореИрдВ рдХрдИ рдШрдЯрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдореЗрд░реЗ рдХреИрдирд╡рд╛рд╕ рдореЗрдВ рдмреНрд▓реЙрдХ рдореИрдиреЗрдЬрд░ рдореЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ рд╣реИ рдХрд┐ рдЖрдИрдбреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рд╡реЗ рдареАрдХ рд╕реЗ рджрд┐...

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

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

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

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

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

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

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

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

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

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

рд╕рдВрдмрдВрдзрд┐рдд рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

рдПрдХ рд╣реА рд╡рд┐рд╖рдп рдкрд░ рдЧрд╣рди рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛рдПрдБред

рд╕рднреА рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ тЖТ

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

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