Issue #3009💬 AnsweredOpened September 8, 2020by BillTheGoat3 reactions

Restricting Drop on Wrapper Component

Quick answerby RJCAM1

Hi @BillTheGoat try this after init:

Read full answer below ↓

Question

Version: 0.16.22 Are you able to reproduce the bug from the demo? [ ] Yes [ X] No - requires editing js. What is the expected behavior? wrapper component should not be droppable once droppable attribute is set to false. What is the current behavior? Nothing happens when this attribute is set. Describe the bug detailed Child components can be restricted using data-gjs-droppable=".foo" or data-gjs-droppable="false", but this attribute does nothing when set on the wrapper component using the DomComponent API. I have tried adding them using domComponents in init, directly after init, or waiting f...

Answers (3)

RJCAMSeptember 10, 2020

Hi @BillTheGoat try this after init:

editor.getWrapper().set({
    'droppable': false
});
RJCAMSeptember 11, 2020

I think it's because the wrapper doesn't make part of DomComponents. DomComponents are only the components inside of the wrapper. :smile:

BillTheGoatSeptember 11, 2020

Hmmm. I tried this because the API docs list the DomComponents.getWrapper() as its first function, and it does apply attributes as seen in my sandbox above. It was doubly odd to me because it seems like the editor.getWrapper() function is just a wrapper for editor.get("DomComponents").getWrapper()...

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...

Free option

Check the open-source GrapesJS plugins on GitHub or run a quick search in our free catalog.

Browse free plugins →
Premium option

Premium plugins ship with support, regular updates, and production-ready features — save days of integration work.

Browse premium plugins →

Browse Plugin Categories

Jump directly to plugin category pages on the marketplace.