UNPKG

pddl-gantt

Version:

Plan visualization for AI-Planning plans. The package includes HTML components for Gantt, swimlane and line plot visualization of plan originating from AI Planning solvers.

212 lines (178 loc) 4.33 kB
div.gantt { position: relative; margin: 5px; } div.planstep { position: absolute; white-space: pre; display: inline-flex; font-family: sans-serif; align-items: center; } div.planstep-bar { background-color: darkgray; height: 15px; margin: 3px; margin-left: 0px; margin-right: 0px; min-width: 1px; } div.planstep-bar-relaxed { background-color: darkgray; height: 15px; margin: 3px; margin-left: 0px; } span.error { color: red; text-overflow: ellipsis; } a:link { text-decoration: none; } a:visited { text-decoration: none; } a:hover { text-decoration: underline; } a:active { text-decoration: underline; } .planSelector { margin: 3px; width: 50px; text-align: center; padding: 1px; border: transparent 2px solid; font-family: sans-serif; } .planSelector-selected { border: 2px solid lightgray; } .planSelector:hover { border: 2px solid darkgray; } .planMetricBar { background-color: lightgreen; } .planSelectors { margin: 5px; display: flex; align-items: flex-end; overflow: auto; } th, td { border-bottom: 1px solid #ddd; text-align: left; } a.action { cursor: pointer; } td.objectName { vertical-align: baseline; } th.actionToolTip, td.actionToolTip { border-bottom-style: none; } /* https://iros.github.io/patternfills/sample_css.html */ .whitecarbon { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB3aWR0aD0nNicgaGVpZ2h0PSc2Jz4KICA8cmVjdCB3aWR0aD0nNicgaGVpZ2h0PSc2JyBmaWxsPScjZWVlZWVlJy8+CiAgPGcgaWQ9J2MnPgogICAgPHJlY3Qgd2lkdGg9JzMnIGhlaWdodD0nMycgZmlsbD0nI2U2ZTZlNicvPgogICAgPHJlY3QgeT0nMScgd2lkdGg9JzMnIGhlaWdodD0nMicgZmlsbD0nI2Q4ZDhkOCcvPgogIDwvZz4KICA8dXNlIHhsaW5rOmhyZWY9JyNjJyB4PSczJyB5PSczJy8+Cjwvc3ZnPg=="); background-repeat: repeat; } /* CHARTS */ div.lineCharts { /* ensure it is visible, when scrolling to it */ min-height: 100px; margin-top: 20px; display: inline-block; /* to ensure the loader is considered in viewport even if the plan is wider than the viewport */ } /* SPINNING LOADER */ .loader { border: 5px solid #f3f3f3; border-radius: 50%; opacity: 0.75; border-top: 5px solid blue; border-right: 5px solid green; border-bottom: 5px solid red; width: 30px; height: 30px; display: inline-block; /* to ensure the loader is considered in viewport even if the plan is wider than the viewport */ -webkit-animation: spin 2s linear infinite; animation: spin 2s linear infinite; } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* RESOURCE SWIM-LANE BARS */ /* Tooltip container */ .resourceTaskTooltip { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; position: absolute; } /* We need to unhide the overflow, so the tooltip has something to show : ( */ .resourceTaskTooltip:hover { overflow: visible; text-overflow: unset; } /* Tooltip text */ .resourceTaskTooltip .resourceTaskTooltipText { visibility: hidden; /* width: 120px; */ background-color: black; color: #fff; text-align: center; padding: 5px; border-radius: 3px; position: absolute; z-index: 1; bottom: 150%; left: 50%; margin-left: -60px; } .resourceTaskTooltip .resourceTaskTooltipText::after { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: black transparent transparent transparent; } /* Show the tooltip text when you mouse over the tooltip container */ .resourceTaskTooltip:hover .resourceTaskTooltipText { visibility: visible; } #diamond-narrow { width: 0; height: 0; border: 3px solid transparent; border-bottom: 7.5px solid red; position: relative; top: -3px; } #diamond-narrow:after { content: ''; position: absolute; left: -3px; top: 7.5px; width: 0; height: 0; border: 3px solid transparent; border-top: 7.5px solid red; }