{"version":3,"file":"BulkActionsGridButton.mjs","names":["React","useState","Badge","Popover","MenuItem","Typography","Tooltip","FluentButton","ChevronDownIcon","FluentIcon","AppIconDefaultIcon","ErrorIcon","BulkActionsGridButton","props","$","_c","numSelectedRows","bulkActions","triggerAction","domain","actionsAnchorEl","setActionsAnchorEl","t0","Symbol","for","event","currentTarget","handleBulkActionsClick","t1","actionId","triggerBulkAction","t2","action","JSON","parse","parameters","entityName","filterAction","t3","marginTop","marginLeft","t4","t5","t6","Boolean","t7","t8","t9","vertical","horizontal","t10","map","action_0","valid","display","justifyContent","name","icon","t11","t12"],"sources":["../../../src/UI/utilityDisplay/BulkActionsGridButton.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n  Badge,\n  Popover,\n  MenuItem,\n  Typography,\n  Tooltip\n} from '@material-ui/core';\nimport { FluentButton } from '../inputs/buttons/FluentButton';\nimport { ChevronDownIcon } from '@fluentui/react-icons';\nimport { FluentIcon } from '../../utilities/iconLibrary/FluentIcon';\nimport { AppIconDefaultIcon, ErrorIcon } from '@fluentui/react-icons';\n\nexport const BulkActionsGridButton = (props) => {\n  const { numSelectedRows, bulkActions, triggerAction, domain } = props;\n\n  const [actionsAnchorEl, setActionsAnchorEl] = useState(null);\n\n  const handleBulkActionsClick = (event) => {\n    setActionsAnchorEl(event.currentTarget);\n  };\n\n  const triggerBulkAction = (actionId) => {\n    triggerAction(actionId);\n  };\n\n  const filterAction = (action) => {\n    return !!domain\n      ? JSON.parse(action?.parameters)?.entityName === domain\n      : true;\n  };\n\n  return (\n    <div style={{ marginTop: 5, marginLeft: 20 }}>\n      <Badge badgeContent={numSelectedRows} color='secondary'>\n        <FluentButton\n          type='button'\n          onClick={handleBulkActionsClick}\n          variant='outlined'\n          color='primary'\n          endIcon={<FluentIcon component={ChevronDownIcon} size='small' />}\n        >\n          With Selected\n        </FluentButton>\n      </Badge>\n      <Popover\n        id={'actions'}\n        open={Boolean(actionsAnchorEl)}\n        anchorEl={actionsAnchorEl}\n        onClose={() => setActionsAnchorEl(null)}\n        anchorOrigin={{\n          vertical: 'bottom',\n          horizontal: 'right'\n        }}\n        transformOrigin={{\n          vertical: 'top',\n          horizontal: 'right'\n        }}\n      >\n        {bulkActions &&\n          bulkActions.map((action) => {\n            const valid = filterAction(action);\n            return (\n              <Tooltip\n                placement='right'\n                title={\n                  !valid ? 'Action entity does not match data grid entity' : ''\n                }\n              >\n                <span>\n                  <MenuItem\n                    onClick={() => triggerBulkAction(action.actionId)}\n                    style={{\n                      display: 'flex',\n                      justifyContent: 'space-between'\n                    }}\n                    disabled={!valid}\n                  >\n                    <Typography>{action.name}</Typography>\n                    <FluentIcon\n                      component={\n                        valid ? action.icon ?? AppIconDefaultIcon : ErrorIcon\n                      }\n                      style={{ marginLeft: 7 }}\n                      color={!valid && 'red'}\n                    />\n                  </MenuItem>\n                </span>\n              </Tooltip>\n            );\n          })}\n      </Popover>\n    </div>\n  );\n};\n"],"mappings":"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"}