рдХрд░рддрдм: getDirtyCount рдХреЛ рдкреВрд░реНрд╡рд╡рдд рдХрд░рдиреЗ/рдлрд┐рд░ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛рдПрдВ
рд╣рд╛рдп @neon12345 ! рдЬрд╣рд╛рдВ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, changesCount рдХрд╛ рдЙрдкрдпреЛрдЧ stepsBeforeSave рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм autosave рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИ рддреЛ рднрдВрдбрд╛рд░рдг рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред (рд╕реАрдПрдл: https://grapesjs.com/docs/modules/Storage.html#store-and-load-templateshttps://github.com/artf/grapesjs/рдмреНрд▓реЙрдм/dev/src/editor/model/Editor.js#L170 )...
рдиреАрдЪреЗ рдкреВрд░рд╛ рдЙрддреНрддрд░ рдкрдврд╝реЗрдВ тЖУрдкреНрд░рд╢реНрди
рд╡рд░реНрддрдорд╛рди рдореЗрдВ changesCount рдХреЗрд╡рд▓ рдкреВрд░реНрд╡рд╡рдд рдФрд░ рдлрд┐рд░ рд╕реЗ рдХрд░рдиреЗ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдРрд╕рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬрд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдпрджрд┐ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдмреВрд▓рд┐рдпрди рд╕рдВрдХреЗрддрдХ рд╣реИред рдпрджрд┐ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдмреВрд▓рд┐рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдкреВрд░реНрд╡рд╡рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рдзреНрд╡рдЬ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рд╕рд╣реЗрдЬреА рдЧрдИ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдЗрд╕ рддрд░рд╣ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рддрднреА рд╕рдВрдХреЗрдд рджреЗрдирд╛ рд╕рдВрднрд╡ рд╣реИ рдЬрдм рдкреВрд░реНрд╡рд╡рдд рд╕реНрдЯреИрдХ рдкреВрд░реНрд╡рд╡рдд рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рдХрд░реЗрдВ рдкрд░ рд╕рд╣реЗрдЬреА рдЧрдИ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ: var um = editor.UndoManager; var changepoint = null; var hasChan...
рдЬрд╡рд╛рдм (3)
рд╣рд╛рдп @neon12345 ! рдЬрд╣рд╛рдВ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, changesCount рдХрд╛ рдЙрдкрдпреЛрдЧ stepsBeforeSave рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм autosave рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИ рддреЛ рднрдВрдбрд╛рд░рдг рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред (рд╕реАрдПрдл: https://grapesjs.com/docs/modules/Storage.html#store-and-load-templateshttps://github.com/artf/grapesjs/рдмреНрд▓реЙрдм/dev/src/editor/mo...
рдареАрдХ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреВрд░реНрд╡рд╡рдд рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рдХрд░реЗрдВ рд╣рдореЗрд╢рд╛ рдСрдЯреЛрд╕реЗрд╡ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИред
getDirtyCount рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреВрд▓рд┐рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреВрд░реНрд╡рд╡рдд рдХрд░рдиреЗ/рдлрд┐рд░ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ, рддреЛ рдкреАрдЖрд░ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ
рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдФрд░ рдЙрддреНрддрд░
рдЗрд╕реА рддрд░рд╣ рдХреА рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢реЛрдз рдЬрд╛рд░реА рд░рдЦреЗрдВред
рдЕрдВрдХ #2778
рдмрдЧреНрд╕ - r.getBody рдкрд░ рд╢реВрдиреНрдп рдХреА рд╕рдВрдкрддреНрддрд┐ 'querySelector' рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддрд╛
рдирдорд╕реНрддреЗ рдореИрдВ рд╡рд┐рдЬреБрдЕрд▓рд╕реЛрд░реНрд╕ рдкреГрд╖реНрдареЛрдВ рдкрд░ grapesjs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд init рдлрд╝рдВрдХреНрд╢рди рд╣реИ - 'initEditor: function(){ var sel...
рдЕрдВрдХ #2017
рдкреНрд░рд╢реНрди: рд▓рдХреНрд╖рдг рдкреИрдирд▓ рдореЗрдВ рдмреИрдХрд╕реНрдкреЗрд╕ рдпрд╛ рдбрд┐рд▓реАрдЯ рдХреБрдВрдЬреА рджрдмрд╛рдиреЗ рд╕реЗ рдХреИрдирд╡рд╛рд╕ рд╕реЗ рддрддреНрд╡ рдирд┐рдХрд▓ рдЬрд╛рддрд╛ рд╣реИ
рдореИрдВ grapesJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреЙрд▓рд┐рдорд░ 3.x рддрддреНрд╡ рдХреЗ рднреАрддрд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╕рдм рдХреБрдЫ рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ, рднрдпрд╛рдирдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдо...
рдЕрдВрдХ #1493
рд░реЗрдВрдбрд░() рдкрд╣рд▓реА рдмрд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдмрд╛рдж рдХреА рдХреЙрд▓ рдкрд░ рдирд╣реАрдВ
рдирдорд╕реНрдХрд╛рд░ рдореИрдВрдиреЗ рдПрдХ рдХрд╕реНрдЯрдо рдШрдЯрдХ рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ <img> рддрддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп <div> рдкрд░ background-image рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдпрд╣ рдЬреНрдп...
рдЕрдВрдХ #998
рдЫрд╡рд┐ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдПрд╕реЗрдЯ рдореИрдиреЗрдЬрд░ рдЦрд╛рд▓реА рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ
рд╡рд░реНрдгрди: GrapesJS рд╕рдВрдкрд╛рджрдХ рдХрд┐рд╕реА editor.html рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: localhost:9001 PHP5 рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╕реНрдерд╛рдиреАрдп IIS рд╕рд░реНрд╡рд░ рд╣реИред...
рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ
рд╕рдорд╕реНрдпрд╛ рдХреАрд╡рд░реНрдб рдФрд░ рд▓реЗрдмрд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрдпреВрд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рддреЗрдЬрд╝реА рд╕реЗ рд╢рд┐рдк рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХреЗред
рд╕рд╢реБрд▓реНрдХ рдкреНрд▓рдЧрдЗрди рдЕрдиреБрд╢рдВрд╕рд╛рдПрдБ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИрдВ ...
рдУрдкрди-рд╕реЛрд░реНрд╕ GrapesJS рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ GitHub рдпрд╛ рд╣рдорд╛рд░реЗ рдореБрдлреНрдд рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдЪрд▓рд╛рдПрдВред
рдореБрдлреНрдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТрдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕рдорд░реНрдерди, рдирд┐рдпрдорд┐рдд рдЕрдкрдбреЗрдЯ рдФрд░ рдЙрддреНрдкрд╛рджрди-рддреИрдпрд╛рд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢рд┐рдк рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХреАрдХрд░рдг рдХрд╛рд░реНрдп рдХреЗ рджрд┐рдиреЛрдВ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВред
рдкреНрд░реАрдорд┐рдпрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ тЖТрдмреНрд░рд╛рдЙрдЬрд╝ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгрд┐рдпрд╛рдБ
рд╕реАрдзреЗ рдмрд╛рдЬрд╝рд╛рд░ рдкрд░ рдкреНрд▓рдЧрдЗрди рд╢реНрд░реЗрдгреА рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЬрд╛рдПрдБред