Skip to content

Releases: GrapesJS/grapesjs

v0.17.25

25 Aug 19:43
Compare
Choose a tag to compare

Docs

Added

  • Added headless option in order to use GrapesJS in Nodejs.
    Not all the API are supported: #3672
  • Added canvas.getCoords and canvas.setCoords methods #3668
  • Added default device option in deviceManager configuration #3679
  • Added onClick property to Block
  • Allow Content-Security-Policy without unsafe eval #3558

Fixed

  • Fix default color in ColorPicker #3670
  • Sync text component before store #3615
  • Make asset selection more consistent #3613
  • Fix badge positioning #3675
  • Fix absolute mode positioning #2547

v0.17.22

02 Aug 19:39
Compare
Choose a tag to compare

Added

  • Allow exporting CSS rules from code manager by using json option.
    editor.CodeManager.getCode(component, 'css', { json: 1 })
  • Generate CSS code from the array of rules in code manager.
    editor.CodeManager.getCode(null, 'css', { rules: [...] })
  • Added editor.addStyle method
  • Added editor.getEditing method

Fixed

  • Fix error when adding iframe as HTML code #3575
  • Fix activatable blocks on drop #3579
  • Don't escape textnodes in script components #3620
  • Escape asset rendering #3596
  • Update style manager properties on dragMode change #2374

v0.17.19

23 Jun 22:44
Compare
Choose a tag to compare

Added

  • Added iframe component #3491
  • Allow editing iframe content before load #3285

Changed

  • Deprecated style-signature Component property

Fixed

  • Fixed button trait type #3497
  • Fixed errors on page remove
  • Avoid unselectable components in component-enter command #3511
  • Fixed default command run post frame load #3475
  • Fixed conflicts in RTE with multiple editor instances #3475
  • Fixed layers visibility change #3508

v0.17.4

26 May 20:08
Compare
Choose a tag to compare

Added

  • Add a new extend option in LayerManager config, in order to extend the layer item view

Changed

  • Allow droppable component property to be a function for a more granular check #3393

Fixed

  • Avoid tracking device changes in undo manager #3437
  • Prevent breaking the changes counter #3412
  • Fix destroy method #3442
  • Check target in sorter before move #2498
  • Fixed issue with panels visible attribute being not used #3430

Removed

  • Remove old staticRules option in CssComposer #3425
  • Remove old wrapper related configurations #3459

⚠️ v0.17.3

22 Apr 23:38
e914a3f
Compare
Choose a tag to compare

⚠️ POSSIBLY BREAKING CHANGE

Added

  • ⚠️ New Pages API for handling multi-pages in GrapesJS Check PR - Demo
  • Adds a title attribute to layers panel elements #3360
  • Added Swedish translation #3384

Changed

  • Update _gjs_canvas.scss, allow vars to override and fix missing use of $canvasTop #3391

v0.16.45

22 Mar 23:12
Compare
Choose a tag to compare

Changed

  • Expose the view for block category models #3293

Fixed

  • Improve Layer name editing #3319
  • Fix string symbols #3325

v0.16.44

04 Mar 00:41
Compare
Choose a tag to compare

Added

  • Expose CodeMirror in CodeMirrorEditor.js #3286

Changed

  • Resize components properly with percentages #3186

Fixed

  • Fix clone #3291
  • Avoid rendering blocks twice #3283 #3284
  • Fix for old Components with JS containing comments #3300

Removed

  • Remove useless code from Block #3274

v0.16.41

19 Feb 19:10
Compare
Choose a tag to compare

Added

  • Added root options optsHtml and optsCss, in order to pass them as default to editor.toHtml() and editor.toCss() (eg. used already in the export code and the Storage)
  • Added cleanId option to editor.getHtml in order to remove unnecessary IDs (eg. those created automatically)
  • Added Component.removeAttributes method
  • Added options as a second argument to the Component.components() method
  • Added ComponentView.onAttrUpdate callback
  • Added component:remove:before event. This allows to put conditions before deleting a component
editor.on('component:remove:before', function(component, remove, opts) {
  if (component.is('my-custom-type')) {
    opts.abort = true; // This will abort the remove
    // Pseudo-code of some modal/dialog
    yourAsyncDialog('Are you sure?', {
      confirmed: () => remove(), // complete the remove
    });
  }
});

Changed

  • Skip the CSSRule from the JSON if there is no style
  • Avoid rendering content if the component has children components

Fixed

  • Fixed useless updates in component.addAttributes
  • Defer SelectComponent in order to prevent canvas "freeze" #2692
  • Make the Droppable end event more reliable
  • Hide toolbars properly
  • Pass properly options in setStyle #3176
  • Trigger the counter change on text update #3224
  • Fixed Sorter errors and moved them in the warning logs
  • Avoid dropping non-selectable and non-editable text nodes inside the editor

v0.16.34

06 Jan 20:47
Compare
Choose a tag to compare

Docs

  • Updated Components & JS guide with the new approach for the creation of Components with JS (the old one still works).
    The biggest advantage over the previous one is how the final code is created. With the old one, you could have the whole script content duplicated as many times as components of the same type (new script content will be output only once per type). The new approach avoids also issues with different JS minifiers (due to string templates).

Added

  • Added script-props property to Component. Read the new Components & JS
  • Wherever you add/remove/update a component you can now pass noCount option to avoid triggering the count of changes (eg. for skipping the Storage)
editor.addComponents('<div>New components</div>', { noCount: true });
// or
component.append('<div>New components</div>', { noCount: true });
  • Added move() method to the Component

Changed

  • Start using grapesjs-cli for the dev server and the build
  • In UndoManager, start using noUndo option instead of avoidStore for skipping the trigger
  • Rerender Component toolbar when necessary
  • Keep track of selected components when turning on/off the preview

Fixed

  • Avoid useless change counter updates #3189
  • Properly hide all toolbars when a Component is removed #3175
  • Pass properly the options when removing components and rules #3176
  • Adjust editor listeners in PropertyView #3197
  • Avoid twice the storage of src in Image components #3201
  • Hide properly the toolbar on the preview on #3209

v0.16.30

06 Dec 18:23
Compare
Choose a tag to compare

Added

  • Added Catalan language #3105
  • Allow to pass el prop to Buttons from Panels module
  • New getRules(selector) method added in CssComposer module
  • Added and improved destroy method in all modules, in order to fix general memory leaks
  • Added limitlessMax and limitlessMin props to InputNumber in order to allow showing calculated values from components #3147
  • Added keydown event to handle up and down arrows in InputNumber #3158
  • Added contains method to Component
  • Started Symbol implementation (for now, only private APIs)

Changed

  • Codemirror version upgrade #3106
  • Improve number trait #3132
  • Replaced node-sass with dart-sass #3148
  • Apply avoidDefaults option also to Selectors in toJSON method

Fixed

  • Clone properly the component with its related styles #3093
  • Fix unbind of keymaps #2758
  • Fix RTE update in text components #3069
  • Fix update of properties on setTarget in StyleManager #3081
  • Fix hover state in Layers #3065
  • Prevent frame scroll on the first component drag #3134
  • Parse single textnode as component #3034
  • Prevent losing component id on undo/redo