diff --git a/SAS/TMSS/frontend/tmss_webapp/src/layout/sass/_timeline.scss b/SAS/TMSS/frontend/tmss_webapp/src/layout/sass/_timeline.scss index 3d54ed36b271e48693e381f92bca39af9412d525..8e859ebc17bec047ff967451f61f23ff1aa435c4 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/layout/sass/_timeline.scss +++ b/SAS/TMSS/frontend/tmss_webapp/src/layout/sass/_timeline.scss @@ -681,11 +681,16 @@ $vh: 1vh; .su-observing, .su-started { background-color: #EEFF41 !important; color: black !important; + a { + color: black !important; + text-decoration: underline; + } } .su-observed { background-color: green !important; color: white !important; + text-decoration: underline; } .su-processing { @@ -713,22 +718,38 @@ $vh: 1vh; .su-ingesting { background-color: #c8a2c8 !important; color: black !important; + a { + color: black !important; + text-decoration: underline; + } } .su-ingested { background-color: #a15ea1 !important; color: black !important; + a { + color: black !important; + text-decoration: underline; + } } .su-finished { background-color: #00E676 !important; color: black !important; + a { + color: black !important; + text-decoration: underline; + } } .su-warning { background-color: orange !important; color: white !important; + a { + color: white !important; + text-decoration: underline; + } } .su-fixed_time { @@ -1071,4 +1092,15 @@ body .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .JumpToSuid { margin-top:31px; -} \ No newline at end of file +} + + + .p-datatable .p-sortable-column.p-highlight + { + background-color:darkgrey + } + + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover + { + background-color:black; + } 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 6ba75231aeb0d9567b2efd824b088995ea199623..73a9c84a0e75250e8b5b878066c0aca5ee1c80c7 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/WeekView.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/WeekView.js @@ -168,6 +168,7 @@ export default function WeekView(props) { const [items, setItems] = useState({ schedulingUnitItems: [], + plainFilterSchedulingUnitItems:[], schedulingAdditionalGroupingItems: [], reservationAdditionalGroupingItems:[], reservationItems: [], @@ -445,7 +446,7 @@ export default function WeekView(props) { </div> - {showTableView && <div className={timelineClassName} > <SchedulingUnitListLite adjust={tabelViewAdjustment} blueprints={data?.schedulingUnits}></SchedulingUnitListLite></div>} + {showTableView && <div className={timelineClassName} > <SchedulingUnitListLite adjust={tabelViewAdjustment} blueprints={items?.plainFilteredSchedulingUnitItems}></SchedulingUnitListLite></div>} {!showTableView && ( Object.values(visibleTime).some(value => value === undefined) ? <ProgressSpinner /> : <Timeline 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 e4691a550461bde93f5c68b826e54721192dc788..ae5796c7b7c12a8c3a5a999d286c8d41e5bfc464 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 @@ -39,7 +39,19 @@ function filterReservations(reservations, visibleStartTime, reservationFilter, p +function plainFilterSchedulingUnitItems(schedulingUnits, visibleStartTime, onSkyToggle, schedulingUnitFilter, projectFilter) { + let schedulingUnitItems = [...schedulingUnits] + + if (projectFilter?.length) { + schedulingUnitItems = schedulingUnitItems.filter(suItem => suItem.project === null || projectFilter.includes(suItem.project)) + } else {//only show items that don't have a project + schedulingUnitItems = schedulingUnitItems.filter(suItem => suItem.project === null) + } + + schedulingUnitItems = schedulingUnitItems.filter(suItem => schedulingUnitFilter.includes(suItem.status)) + return schedulingUnitItems; +} function filterSchedulingUnits(schedulingUnits, visibleStartTime, onSkyToggle, schedulingUnitFilter, projectFilter, groupingkey) { @@ -170,10 +182,13 @@ export default function Filters(props) { }) const schedulingUnitItems = filterSchedulingUnits(data.schedulingUnits, visibleStartTime, onSkyToggle, schedulingUnitFilter, projectFilter,grouping); + const plainFilteredSchedulingUnitItems = plainFilterSchedulingUnitItems(data.schedulingUnits, visibleStartTime, onSkyToggle, schedulingUnitFilter, projectFilter); setItems(prevState => ({ ...prevState, - schedulingUnitItems: schedulingUnitItems + schedulingUnitItems: schedulingUnitItems, + plainFilteredSchedulingUnitItems:plainFilteredSchedulingUnitItems + })) refreshGrouping(grouping,schedulingUnitItems); }, [data.schedulingUnits, schedulingUnitFilter, projectFilter, onSkyToggle,grouping]) diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/toolbar/filters.helper.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/toolbar/filters.helper.js index aabfaa89b294fa9f5fb6908e17d90f299b1688b2..465f5bae53fb4788d0406035f995e6edf80c0847 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/toolbar/filters.helper.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/helpers/toolbar/filters.helper.js @@ -29,15 +29,14 @@ function splitElementPerDay(element, spanInDays, shouldShowOnSkyTimes) { if (shouldShowOnSkyTimes) { newElement.on_sky_start_time = formattedStart newElement.on_sky_stop_time = formattedEnd - } else { - if (element.process_start_time) { //it is a SU unit with process start/stop times + } else if (element.process_start_time) { //it is a SU unit with process start/stop times newElement.process_start_time = formattedStart newElement.process_stop_time = formattedEnd } else { //it is a reservation with only start/stop times newElement.start_time = formattedStart newElement.stop_time = formattedEnd } - } + newElements.push(newElement) }