dataItem.tsx 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import TargetingTooltip from "@/pages/launchSystemV3/components/TargetingTooltip"
  2. import { Popover, Tooltip } from "antd"
  3. import React from "react"
  4. import style from './index.less'
  5. import { CloseOutlined, CopyOutlined, FormOutlined } from "@ant-design/icons"
  6. interface Props {
  7. targeting: any
  8. geoLocationList?: any,
  9. modelList?: any
  10. onModify?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void
  11. onClear?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void
  12. onCopy?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void
  13. }
  14. const DataItem: React.FC<Props> = ({ targeting, onModify, onClear, onCopy, geoLocationList, modelList }) => {
  15. return <Popover
  16. placement="right"
  17. overlayInnerStyle={{ maxWidth: 350, maxHeight: 350, overflow: 'hidden', overflowY: 'auto' }}
  18. mouseEnterDelay={0.5}
  19. content={<TargetingTooltip
  20. targetingName={targeting?.targetingName}
  21. data={targeting}
  22. geoLocationList={geoLocationList}
  23. modelList={modelList}
  24. />}
  25. >
  26. <div className={style.dataItem}>
  27. <span className={style.targetingName}>{targeting?.targetingName}</span>
  28. <Tooltip title="根据地域一键生成多个定向">
  29. <CopyOutlined
  30. className={style.edit}
  31. onClick={(e) => {
  32. e.stopPropagation()
  33. e.preventDefault()
  34. onCopy?.(e)
  35. }}
  36. />
  37. </Tooltip>
  38. <Tooltip title="修改当前">
  39. <FormOutlined
  40. className={style.edit}
  41. onClick={(e) => {
  42. e.stopPropagation()
  43. e.preventDefault()
  44. onModify?.(e)
  45. }}
  46. />
  47. </Tooltip>
  48. <Tooltip title="删除">
  49. <CloseOutlined
  50. className={style.close}
  51. onClick={(e) => {
  52. e.stopPropagation()
  53. e.preventDefault()
  54. onClear?.(e)
  55. }}
  56. />
  57. </Tooltip>
  58. </div>
  59. </Popover>
  60. }
  61. export default React.memo(DataItem)