HEX
Server: Apache/2.4.41
System: Linux mainweb 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64
User: nationalmedicaregrp (1119)
PHP: 8.3.7
Disabled: exec,passthru,shell_exec,system,popen,proc_open,pcntl_exec
Upload Files
File: /home/flbestac/public_html/wp-content/plugins/essential-blocks/src/blocks/infobox/src/edit.js
/**
 * WordPress dependencies
 */
import { __ } from "@wordpress/i18n";
import { memo } from "@wordpress/element";
/**
 * Internal dependencies
 */
import {
    BlockProps,
    withBlockContext
} from "@essential-blocks/controls";

import InfoboxContainer from "./components/infobox-edit";
import Inspector from "./inspector";
import Style from "./style";
import defaultAttributes from './attributes';
import { useEffect } from "react";

function Edit(props) {
    const {
        attributes,
        setAttributes,
        isSelected,
    } = props;

    const {
        enableTitle,
        showMedia,
        iconView,
        iconShape,
        layoutPreset,
        flexDirection,
        contentAlignment,
        mediaAlignSelf,
        contentsAlignment,
        mediaAlignment,
        btnAlign,
        version
    } = attributes;

    // you must declare this variable
    const enhancedProps = {
        ...props,
        blockPrefix: 'eb-infobox',
        style: <Style {...props} />
    };

    useEffect(() => {
        if (enableTitle === undefined) {
            setAttributes({ enableTitle: true });
        }
        if (showMedia === undefined) {
            setAttributes({ showMedia: true });
        }
        if (iconView === undefined) {
            setAttributes({ iconView: 'default' });
        }
        if (iconShape === undefined) {
            setAttributes({ iconShape: 'circle' });
        }
        if (flexDirection === undefined) {
            setAttributes({ flexDirection: 'column' });
        }
        if (contentAlignment === undefined) {
            setAttributes({ contentAlignment: 'center' });
        }
        if (mediaAlignSelf === undefined) {
            setAttributes({ mediaAlignSelf: 'center' });
        }
        if (contentsAlignment === undefined) {
            setAttributes({ contentsAlignment: 'center' });
        }
        if (mediaAlignment === undefined) {
            setAttributes({ mediaAlignment: 'center' });
        }
        if (btnAlign === undefined) {
            setAttributes({ btnAlign: 'center' });
        }

        if (!version || version == "1") {
            setAttributes({ version: "2" });
        }

    }, [])

    return (
        <>
            {isSelected && (
                <Inspector
                    attributes={attributes}
                    setAttributes={setAttributes}
                />
            )}
            <BlockProps.Edit {...enhancedProps}>

                <InfoboxContainer
                    setAttributes={setAttributes}
                    attributes={attributes}
                />
            </BlockProps.Edit>
        </>
    );
}
export default memo(withBlockContext(defaultAttributes)(Edit))