diff --git a/SAS/TMSS/frontend/tmss_webapp/src/components/Timeline/CalendarTimeline.js b/SAS/TMSS/frontend/tmss_webapp/src/components/Timeline/CalendarTimeline.js index dafd45603e49442cde54e2865677bf094273259b..a291c53de73aec36e327dd9d2ba92a4d3378586c 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/components/Timeline/CalendarTimeline.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/components/Timeline/CalendarTimeline.js @@ -784,6 +784,7 @@ export class CalendarTimeline extends Component { overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", textAlign: "center"}; let itemStatus = null; + let itemPlaced = null; if (item.type === "SCHEDULE" || item.type === "TASK" || item.type==="STATION_TASK" ) { itemContentStyle = {lineHeight: `${Math.floor(itemContext.dimensions.height/(isStationView?1:3))}px`, maxHeight: itemContext.dimensions.height, @@ -792,6 +793,7 @@ export class CalendarTimeline extends Component { whiteSpace: isStationView?"nowrap":"inherit", textAlign: "center"}; itemStatus = item.status; + itemPlaced = item.placed; } let itemDivStyle = { background: backgroundColor, color: item.color, @@ -808,7 +810,7 @@ export class CalendarTimeline extends Component { return ( <div {...getItemProps({ - className: `rct-item ${itemStatus?'su-'+itemStatus:''}`, + className: `rct-item ${itemStatus?'su-'+itemStatus:''} ${itemPlaced===false ? 'su-non-placed':''}`, style: itemDivStyle, onMouseDown: () => { if (item.type !== "SUNTIME") { 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 74fb81eb3404d0205df2f84a77ffcf73f5ac9a71..ba7720803196988f60379d04292bbc7ad164ab86 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/layout/sass/_timeline.scss +++ b/SAS/TMSS/frontend/tmss_webapp/src/layout/sass/_timeline.scss @@ -387,6 +387,10 @@ color: white !important; } +.su-not-placed { + opacity: 0.4 !important; +} + .task-observation { background-color: #f2fff2 !important; } diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/view.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/view.js index f7fbe97b92b89ccb1765b9df55d9fbbb89da153f..ff3e0d6b6657144c9743c7e9089f1e5da95ecf75 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/view.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/view.js @@ -688,6 +688,7 @@ export class TimelineView extends Component { // selectedBgColor: suBlueprint.status? SU_STATUS_COLORS[suBlueprint.status.toUpperCase()]:"#2196f3"}; selectedBgColor: "none", status: suBlueprint.status.toLowerCase(), + placed: suBlueprint.placed, unschedulable_reason: suBlueprint.unschedulable_reason, }; return item; diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/week.view.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/week.view.js index ef196ebc0f8362df5563051dc6cfe9efc159dfd2..eeceef76e06c5b7f23b6d4dad7c8122c1e5a8a09 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/week.view.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/week.view.js @@ -579,6 +579,7 @@ export class WeekTimelineView extends Component { selectedBgColor: 'none', type: 'SCHEDULE', status: suBlueprint.status.toLowerCase(), + placed: suBlueprint.placed, unschedulable_reason: suBlueprint.unschedulable_reason }; return item; diff --git a/SAS/TMSS/frontend/tmss_webapp/src/services/schedule.service.js b/SAS/TMSS/frontend/tmss_webapp/src/services/schedule.service.js index 1c57ab4a0c52822f630d23d773cfa7b504135052..ea0dad727f3ad58e4b5fdd8d304e343401008a95 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/services/schedule.service.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/services/schedule.service.js @@ -19,6 +19,7 @@ const SU_FETCH_FIELDS = [ "id", "short_description", "status", "output_pinned", + "placed", "results_accepted", "unschedulable_reason", "scheduling_constraints_doc",