# tableberg/1.1.5/admin/src/components/MenuButton.jsx

Tableberg – Simple Gutenberg Table Block, version 1.1.5. 65 lines.

- Page: https://pluginprobe.com/plugins/tableberg/1.1.5/code/admin/src/components/MenuButton.jsx
- Raw: https://pluginprobe.com/plugins/tableberg/1.1.5/raw/admin/src/components/MenuButton.jsx
- Modified: 2026-09-16T03:30:32+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/tableberg/1.1.5/code/admin/src/components/MenuButton.jsx#L10-L20`.

```jsx
import React from "react";

/**
 * Button types.
 *
 * @type {Object}
 */
export const BUTTON_TYPES = {
    NEGATIVE: "negative",
    POSITIVE: "positive",
};

/**
 * Menu button component.
 *
 * @param {Object}   props                         component properties
 * @param {string}   props.title                   button title
 * @param {Function} [props.onClickHandler=()=>{}] click callback
 * @param {boolean}  [props.status=false]          enabled status
 * @param {string}   [props.type='negative']       button type
 * @class
 */
function MenuButton({
    title,
    onClickHandler = () => {},
    status = false,
    type = BUTTON_TYPES.NEGATIVE,
}) {
    const typeClass = () => {
        let buttonClass = "";

        switch (type) {
            case BUTTON_TYPES.NEGATIVE: {
                buttonClass = "tableberg-negative-bg";
                break;
            }
            case BUTTON_TYPES.POSITIVE: {
                buttonClass = "tableberg-positive-bg";
                break;
            }
        }

        return buttonClass;
    };

    return (
        <div
            onClick={() => {
                if (status) {
                    onClickHandler();
                }
            }}
            className={`tableberg-menu-button ${typeClass()}`}
            data-enabled={JSON.stringify(status)}
        >
            {title}
        </div>
    );
}

/**
 * @module MenuButton
 */
export default MenuButton;

```
