diff --git a/SAS/TMSS/frontend/tmss_webapp/src/layout/components/AppBreadcrumb.js b/SAS/TMSS/frontend/tmss_webapp/src/layout/components/AppBreadcrumb.js index 974fdf4b2cceb9e837802f67749f00c2f711ab2a..cd4a49698e6e3f50cf24031e0e37e2e59e71eecd 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/layout/components/AppBreadcrumb.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/layout/components/AppBreadcrumb.js @@ -1,12 +1,15 @@ import React,{ Component } from 'react'; import PropTypes from 'prop-types'; -import {Link, matchPath} from 'react-router-dom'; +import { matchPath} from 'react-router-dom'; import { routes } from '../../routes'; import { withRouter } from 'react-router-dom/cjs/react-router-dom.min'; export class AppBreadcrumb extends Component { static propTypes = { - match: PropTypes.object, + section: PropTypes.object, + location:PropTypes.object, + setPageTitle: PropTypes.func, + history :PropTypes.object } constructor(props) { diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/SystemEvent/system.event.list.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/SystemEvent/system.event.list.js index 8199b3140ca7eb02b881761cf4e721177583bfce..dd4e842f1a6c961ef45d0b2d3e93abd943d39098 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/SystemEvent/system.event.list.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/SystemEvent/system.event.list.js @@ -499,9 +499,9 @@ export class SystemEventList extends Component { await Promise.all(promises).then(responses => { let systemEvent = {}; this.setState({ userrole: responses[0] }); - this.totalPage = responses[1] && responses[1].data ? responses[1].data.count : 1; + this.totalPage = responses[1]?.data ? responses[1].data.count : 1; this.systemEvents = []; - if (responses[1] && responses[1].data) { + if (responses[1]?.data) { for (const response of responses[1].data.results) { systemEvent = response; if (response.affected_hardware_doc.stations) { @@ -526,9 +526,10 @@ export class SystemEventList extends Component { } } this.pageUpdated = true; + this.setState({ isLoading: false, - systemEventList: this.systemEvents, + systemEventList:[...this.systemEvents], }); diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/WeekView.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/WeekView.js index daa6c3315fa31cdae586b48ec463d557d7e6ee12..09a4690287d801c007e04a2e0c9cc6ec84c19281 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/WeekView.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/WeekView.js @@ -292,10 +292,10 @@ export default function WeekView() { isLoading: true, })) setShowSummary(true) - if (summaryItem.type === "RESERVATION") { - fetchReservationSummaryInformation(summaryItem.id, setSummarySettings).catch(e => console.error("Couldn't retrieve reservations details for id: ", summaryItem.id, e)) + if (summaryItem?.type === "RESERVATION") { + fetchReservationSummaryInformation(summaryItem?.id, setSummarySettings).catch(e => console.error("Couldn't retrieve reservations details for id: ", summaryItem?.id, e)) } else { //a Scheduling Unit summary is selected - fetchSUSummaryInformation(summaryItem.id, setSummarySettings,summaryItem.item).catch(e => console.error("Couldn't retrieve summary details for id: ", summaryItem.id, e)) + fetchSUSummaryInformation(summaryItem?.id, setSummarySettings,summaryItem?.item).catch(e => console.error("Couldn't retrieve summary details for id: ", summaryItem?.id, e)) } } }, [summaryItem]); diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/components/toolbar/Filters.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/components/toolbar/Filters.js index 6376969ec79336526e34d0a3d90b960a55cabd07..e4691a550461bde93f5c68b826e54721192dc788 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/components/toolbar/Filters.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/components/toolbar/Filters.js @@ -1,4 +1,4 @@ -import { InputSwitch } from "primereact/inputswitch"; +import Toggle from './Toggle' import { MultiSelect } from "primereact/multiselect"; import { useEffect, useState } from "react"; import { updateStore } from "../../../../services/store.helper"; @@ -15,26 +15,7 @@ import { ProgressSpinner } from 'primereact/progressspinner'; import { fetchAllOptionsForMultiSelects } from "../../data/filters.data"; const isDebugLoggingOn = false -function Toggle(props) { //TODO: extract to separate class - const { - labelName, - tooltipText, - checkedValue, - onChangeCallback, - } = props - - if (checkedValue === undefined || onChangeCallback === undefined) { - return null - } - return <div className={`toggle-container ${checkedValue ? "" : "disabled"}`}> - <label>{labelName}</label> - <InputSwitch checked={checkedValue} - tooltip={tooltipText} - onChange={(e) => onChangeCallback(e.value) - } /> - </div> -} function filterReservations(reservations, visibleStartTime, reservationFilter, projectFilter,endTime,startTime) { diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/components/toolbar/Toggle.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/components/toolbar/Toggle.js new file mode 100644 index 0000000000000000000000000000000000000000..98706626017d24e737983ed5e2f71744a53c5ef6 --- /dev/null +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/components/toolbar/Toggle.js @@ -0,0 +1,29 @@ +import { InputSwitch } from "primereact/inputswitch" +import PropTypes from 'prop-types'; +export default function Toggle(props) { + const { + labelName, + tooltipText, + checkedValue, + onChangeCallback, + } = props + + if (checkedValue === undefined || onChangeCallback === undefined) { + return null + } + + return <div className={`toggle-container ${checkedValue ? "" : "disabled"}`}> + <label>{labelName}</label> + <InputSwitch checked={checkedValue} + tooltip={tooltipText} + onChange={(e) => onChangeCallback(e.value) + } /> + </div> +} + +Toggle.propTypes = { + labelName: PropTypes.string, + tooltipText: PropTypes.string, + checkedValue: PropTypes.bool, + onChangeCallback: PropTypes.func.isRequired, + }; \ No newline at end of file diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/timeline.renderer.helper.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/timeline.renderer.helper.js index 4fe0eef72fd65d8065d28cc2e56e896aba38bc77..0692aedd8884a2a92b530c7f800c4074cc642a28 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/timeline.renderer.helper.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/timeline.renderer.helper.js @@ -9,10 +9,13 @@ function getItemDivStyle(itemContext, item, hasItemColors = false) { }; if (hasItemColors) { style.color = item.color - style.background = itemContext.selected ? 'none' : item.bgColor + style.background = item.bgColor style.opacity = item.opacity ? item.opacity : 100 } - return style; + if (item.type=="SUNTIME") { + style.cursor='default'; + } + return style; } function getItemContentStyle(itemContext,