|
@@ -1,25 +1,35 @@
|
|
|
import React, { useContext } from 'react';
|
|
|
import { WidgetContext } from '../../WidgetProvider/WidgetProvider';
|
|
|
-import { WidgetActionContext } from '../../ActionProvider/WidgetActionProvider';
|
|
|
import { getWidgetBaseStyle, getWidgetTitle } from '../../WidgetManager/utils/utils';
|
|
|
import styled from 'styled-components/macro';
|
|
|
import { darken, getLuminance, lighten } from 'polished';
|
|
|
import { BoardActionContext } from '../../ActionProvider/BoardActionProvider';
|
|
|
import { DownloadFileType } from '../../../../../constants';
|
|
|
+import { useSelector } from 'react-redux';
|
|
|
+import { selectSharePermission } from '../../../../SharePage/slice/selectors';
|
|
|
+import { message } from 'antd';
|
|
|
+import useI18NPrefix from '../../../../../hooks/useI18NPrefix';
|
|
|
|
|
|
export const ExportBtnWidgetCore: React.FC<{}> = () => {
|
|
|
const widget = useContext(WidgetContext);
|
|
|
const { onBoardToDownLoad } = useContext(BoardActionContext);
|
|
|
- const onQuery = e => {
|
|
|
+ const t = useI18NPrefix('viz')
|
|
|
+ const sharePermission = useSelector(selectSharePermission);
|
|
|
+ const allowDownload = !!sharePermission?.allowDownload;
|
|
|
+ const onExport = e => {
|
|
|
e.stopPropagation();
|
|
|
- onBoardToDownLoad?.(DownloadFileType.Excel);
|
|
|
+ if (allowDownload){
|
|
|
+ onBoardToDownLoad?.(DownloadFileType.Excel);
|
|
|
+ }else {
|
|
|
+ message.error(t('action.share.unDataPermission'))
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
const title = getWidgetTitle(widget.config.customConfig.props);
|
|
|
title.title = widget.config.name;
|
|
|
const { background } = getWidgetBaseStyle(widget.config.customConfig.props);
|
|
|
return (
|
|
|
- <Wrapper color={background.color} onClick={onQuery}>
|
|
|
+ <Wrapper color={background.color} onClick={onExport}>
|
|
|
<span
|
|
|
style={{
|
|
|
color: title.font.color,
|