How to use the @webiny/app-page-builder/editor/selectors.getElementWithChildren function in @webiny/app-page-builder

To help you get started, we’ve selected a few @webiny/app-page-builder examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github webiny / webiny-js / packages / app-page-builder / src / editor / plugins / elementSettings / clone / CloneAction.js View on Github external
duplicate: ({ element }) => () => {
            const state = redux.store.getState();
            element = getElementWithChildren(state, element.id);
            const parent = getParentElementWithChildren(state, element.id);
            const position = parent.elements.findIndex(el => el.id === element.id) + 1;

            const newElement = set(parent, "elements", [
                ...parent.elements.slice(0, position),
                cloneElement(element),
                ...(position < parent.elements.length ? parent.elements.slice(position) : [])
            ]);
            return redux.store.dispatch(updateElement({ element: newElement }));
        }
    })
github webiny / webiny-js / packages / app-page-builder / src / editor / actions / actions.js View on Github external
addMiddleware([ELEMENT_DROPPED], ({ store, next, action }) => {
    next(action);

    const state = store.getState();
    const target = getElementWithChildren(state, action.payload.target.id);

    if (!target) {
        return;
    }

    const plugin = getPlugins("pb-page-element").find(pl => pl.elementType === target.type);

    if (!plugin) {
        return;
    }

    invariant(
        plugin.onReceived,
        "To accept drops, element plugin must implement `onReceived` function"
    );
github webiny / webiny-js / packages / app-page-builder / src / editor / plugins / elementSettings / save / SaveAction.js View on Github external
export default connect(state => ({
    element: getElementWithChildren(state, getActiveElementId(state))
}))(SaveAction);
github webiny / webiny-js / packages / app-page-builder / src / editor / actions / actions.js View on Github external
}

    const plugin = getPlugins("pb-page-element").find(pl => pl.elementType === target.type);

    if (!plugin) {
        return;
    }

    invariant(
        plugin.onReceived,
        "To accept drops, element plugin must implement `onReceived` function"
    );

    let { source } = action.payload;
    if (source.path) {
        source = getElementWithChildren(state, source.id);
    }

    const targetPlugin = getPlugins("pb-page-element").find(pl => pl.elementType === target.type);

    if (!targetPlugin) {
        return;
    }

    targetPlugin.onReceived({
        source,
        target,
        position: action.payload.target.position
    });
});

@webiny/app-page-builder

[![](https://img.shields.io/npm/dw/@webiny/app-page-builder.svg)](https://www.npmjs.com/package/@webiny/app-page-builder) [![](https://img.shields.io/npm/v/@webiny/app-page-builder.svg)](https://www.npmjs.com/package/@webiny/app-page-builder) [![code sty

MIT
Latest version published 2 days ago

Package Health Score

80 / 100
Full package analysis

Similar packages