@adaptabletools/adaptable
Version:
Powerful AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
19 lines (18 loc) • 1.22 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import * as React from 'react';
import SimpleButton from '../../../../components/SimpleButton';
import { ACCESS_LEVEL_READ_ONLY } from '../../../../Utilities/Constants/GeneralConstants';
import { cn } from '../../../../lib/utils';
export const SuspendToggleButton = React.memo(({ suspendableObject, onUnSuspend, onSuspend, style, disabled, accessLevel, className, iconSize = 24, }) => {
const preparedDisabled = (accessLevel && accessLevel === ACCESS_LEVEL_READ_ONLY) || disabled;
const isSuspended = suspendableObject.IsSuspended;
const handleClick = React.useCallback(() => {
if (isSuspended) {
onUnSuspend(suspendableObject);
}
else {
onSuspend(suspendableObject);
}
}, [isSuspended, onSuspend, onUnSuspend, suspendableObject]);
return (_jsx(SimpleButton, { className: cn('ab-SuspendButton', className), "data-name": isSuspended ? 'resume' : 'suspend', disabled: preparedDisabled, style: style, variant: "text", tone: "neutral", iconSize: iconSize, icon: isSuspended ? 'resume' : 'pause', tooltip: isSuspended ? 'Resume' : 'Suspend', accessLevel: accessLevel, onClick: handleClick }));
});