From a244b8eec6140841eed972a6c5874752381d4f0a Mon Sep 17 00:00:00 2001 From: Muhammad Sulaiman Yusuf Date: Wed, 23 Nov 2022 18:06:42 +0700 Subject: [PATCH] floating shortcut button --- package.json | 1 + src/views/Dashboard/DashboardProject.js | 20 ++++++++++++++++++ src/views/SimproV2/Gantt/index.js | 27 ++++++++++++++++++++++--- 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 3bfb6da..bb4a5fa 100644 --- a/package.json +++ b/package.json @@ -79,6 +79,7 @@ "react-router-dom": "^5.0.1", "react-select": "^4.3.1", "react-slick": "^0.28.1", + "react-tiny-fab": "^4.0.4", "react-toastify": "^5.5.0", "reactstrap": "^8.0.0", "simple-line-icons": "^2.4.1", diff --git a/src/views/Dashboard/DashboardProject.js b/src/views/Dashboard/DashboardProject.js index cb9b5ac..8fce181 100644 --- a/src/views/Dashboard/DashboardProject.js +++ b/src/views/Dashboard/DashboardProject.js @@ -12,6 +12,10 @@ import { SendOutlined } from '@ant-design/icons'; import { NotificationContainer, NotificationManager } from 'react-notifications'; import ContentLoader from 'react-content-loader'; import { BehindTaskItem, Comment, HealthByBudget, HealthBySchedule, ListLoader, PopupContent, ProgressActualBar, ProgressPlanningBar, SingleTextLoader } from './Components'; +import { Fab, Action } from 'react-tiny-fab'; +import 'react-tiny-fab/dist/styles.css'; +import { useHistory } from "react-router-dom"; + const { TextArea } = Input; const styles = { @@ -76,6 +80,7 @@ const DashboardProject = () => { const [healthBySchedule, setHealthBySchedule] = useState('-') const [healthByBudget, setHealthByBudget] = useState('-') const [reportDistribution, setReportDistribution] = useState([]); + let history = useHistory(); useEffect(() => { @@ -104,6 +109,10 @@ const DashboardProject = () => { }, [plannedCost, totalCost]); + const handleRedirect = () => { + history.push("/projects/"+GANTT_ID+"/"+PROJECT_ID+"/gantt"); + } + const getProjectDetail = async () => { setIsReadyProjectDetail(false); const URL = `${BASE_OSPRO}/api/project/detail/${PROJECT_ID}`; @@ -456,6 +465,17 @@ const DashboardProject = () => { return (
+ } + alwaysShowTitle={true} + > + handleRedirect()} + > + + + diff --git a/src/views/SimproV2/Gantt/index.js b/src/views/SimproV2/Gantt/index.js index 79b8937..2863e3f 100644 --- a/src/views/SimproV2/Gantt/index.js +++ b/src/views/SimproV2/Gantt/index.js @@ -3,6 +3,9 @@ import Timeline from 'react-calendar-timeline' import 'react-calendar-timeline/lib/Timeline.css' import { USER_VERSION_GANTT_SEARCH, BASE_SIMPRO_LUMEN, BASE_URL_GANTT } from '../../../const/ApiConst'; import axios from "../../../const/interceptorApi" +import { Fab, Action } from 'react-tiny-fab'; +import 'react-tiny-fab/dist/styles.css'; +import { useHistory } from "react-router-dom"; const token = localStorage.getItem("token") const userId = parseInt(localStorage.getItem("user_id")); @@ -22,6 +25,7 @@ const Gantt = (props) => { const [ro, setRo] = useState(1) const [listUserGant, setListUserGantt] = useState([]) const [ready, setReady] = useState(false) + let history = useHistory(); useEffect(() => { document.getElementsByClassName("breadcrumb-item active").innerHTML = "Gantt Project"; @@ -61,6 +65,10 @@ const Gantt = (props) => { setListUserGantt(newTargetKeys) } + const handleRedirect = () => { + history.push("/dashboard-project/"+idProject+"/"+versionGanttId); + } + const cekPermission = () => { let check = listUserGant.includes(userId) if (check) { @@ -88,9 +96,22 @@ const Gantt = (props) => { ) return ( -
- {ready && } -
+ <> +
+ {ready && } +
+ } + alwaysShowTitle={true} + > + handleRedirect()} + > + + + + ); }