Issue #835Opened February 4, 2018by chiqui3d1 reactions

Update the Canvas with a custom function

Question

I'm trying to create a function that replaces all the attributes of link, these make the change in the canvas, but don't save it when I try it with the editor.storage() function;

here the code:

 $("button#replace_url").on("click", function(e) {
                e.preventDefault();
                var body = editor.Canvas.getBody().ownerDocument;
                body.querySelectorAll('a').forEach(function(el) {
                    var ahref = el;
                    ahref.setAttribute('href', "http://facebook.com");
                    ahref.setAttribute("target", "_blank");
                });
                editor.store();
                modal.close();
            });

Answers (2)

artfFebruary 6, 20181 reactions

@chiqui3d in this way you're just updating the view, the output code is generated by the model instead (when you update the model changes are reflected in the view) So your example will be something like this

const wrapper = editor.DomComponents.getWrapper();
wrapper.find('a').forEach(aModel => aModel.addAttributes({ href: '.../...' }))
lock[bot]September 18, 20190 reactions

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

Related Questions and Answers

Continue research with similar issue discussions.

Paid Plugins That Match This Issue

Curated by issue keywords and label relevance to help you ship faster.

View all plugins

Loading paid plugin recommendations...

Browse Plugin Categories

Jump directly to plugin category pages on the marketplace.