UNPKG

dhtmlx-gantt

Version:

An open source JavaScript Gantt chart that helps you illustrate a project schedule in a nice-looking chart.

448 lines (373 loc) 8.71 kB
.gantt_container { background: var(--dhx-gantt-container-background); color: var(--dhx-gantt-container-color); font-family: var(--dhx-gantt-font-family); font-size: var(--dhx-gantt-font-size); border: 1px solid var(--dhx-gantt-base-colors-border); position: relative; white-space: nowrap; overflow-x: hidden; overflow-y: hidden; } .gantt_touch_active { overscroll-behavior: none; } .gantt_task_scroll { overflow-x: scroll; } .gantt_task, .gantt_grid { position: relative; overflow-x: hidden; overflow-y: hidden; display: inline-block; vertical-align: top; } .gantt_grid_scale, .gantt_task_scale { font-family: var(--dhx-gantt-font-family); font-size: var(--dhx-gantt-font-size); border-bottom: var(--dhx-gantt-scale-border-horizontal); box-sizing: border-box; } .gantt_grid_scale { background: var(--dhx-gantt-grid-scale-background); color: var(--dhx-gantt-grid-scale-color); } .gantt_task_scale { background: var(--dhx-gantt-timeline-scale-background); color: var(--dhx-gantt-timeline-scale-color); } .gantt_task_vscroll { background: var(--dhx-gantt-container-background); } .gantt_scale_line { box-sizing: border-box; border-top: var(--dhx-gantt-scale-border-horizontal); } .gantt_scale_line:first-child { border-top: none; } .gantt_grid_head_cell { display: inline-block; vertical-align: top; border-right: var(--dhx-gantt-grid-scale-border-vertical); text-align: center; position: relative; cursor: default; height: 100%; box-sizing: border-box; overflow: hidden; } .gantt_scale_line { clear: both; } .gantt_grid_data { width: 100%; overflow: hidden; // otherwise we can see it position: relative; background: var(--dhx-gantt-grid-body-background); } .gantt_row { position: relative; user-select: none; } .gantt_add, .gantt_grid_head_add { .dhx_gantt_icon(); .dhx_gantt_icon.dhx_gantt_icon_plus(); width: 100%; height: 100%; cursor: pointer; position: relative; opacity: 0.6; } .gantt_grid_head_cell.gantt_grid_head_add { opacity: 0.6; top: 0; } .gantt_grid_head_cell.gantt_grid_head_add:hover { opacity: 1; } .gantt_grid_data .gantt_row:hover, .gantt_grid_data .gantt_row.odd:hover { background-color: var(--dhx-gantt-base-colors-hover-color); } .gantt_grid_data .gantt_row:hover .gantt_add { opacity: 1; } .gantt_task_row, .gantt_row { border-bottom:var(--dhx-gantt-task-row-border); background: var(--dhx-gantt-task-row-background); } .gantt_row.odd, .gantt_task_row.odd { background: var(--dhx-gantt-task-row-background--odd); } .gantt_row, .gantt_cell, .gantt_task_row, .gantt_task_cell, .gantt_grid_head_cell, .gantt_scale_cell { box-sizing: border-box; } .gantt_grid_head_cell, .gantt_scale_cell { line-height: inherit; } .gantt_grid_scale .gantt_grid_column_resize_wrap { cursor: col-resize; position: absolute; width: 13px; margin-left: -7px; } .gantt_grid_column_resize_wrap .gantt_grid_column_resize { background-color: var(--dhx-gantt-base-colors-border); height: 100%; width: 1px; margin: 0 auto; } .gantt_task_grid_row_resize_wrap { cursor: row-resize; position: absolute; height: 13px; margin-top: -7px; left: 0px; width: 100%; } .gantt_task_grid_row_resize_wrap .gantt_task_grid_row_resize { background-color: var(--dhx-gantt-base-colors-border-light); top: 6px; height: 1px; width: 100%; margin: 0 auto; position: relative; } .gantt_drag_marker { pointer-events: none; } .gantt_drag_marker.gantt_grid_resize_area, .gantt_drag_marker.gantt_row_grid_resize_area { background-color: rgba(231, 231, 231, 0.5); height: 100%; width: 100%; } .gantt_drag_marker.gantt_grid_resize_area { border-left: var(--dhx-gantt-scale-border-vertical); border-right: var(--dhx-gantt-scale-border-vertical); } .gantt_drag_marker.gantt_row_grid_resize_area { border-top: var(--dhx-gantt-scale-border-horizontal); border-bottom: var(--dhx-gantt-scale-border-horizontal); } .gantt_row { display: flex; } .gantt_row>div { flex-shrink: 0; flex-grow: 0; } .gantt_cell { vertical-align: top; border-right: var(--dhx-gantt-grid-cell-border); padding-left: 6px; padding-right: 6px; height: 100%; overflow: hidden; white-space: nowrap; } .gantt_cell_tree { display: flex; gap: 4px; flex-wrap: nowrap; } .gantt_grid_scale .gantt_last_cell, .gantt_grid_data .gantt_last_cell, .gantt_task .gantt_task_scale .gantt_scale_cell.gantt_last_cell, .gantt_task_bg .gantt_last_cell { border-right-width: 0px; } .gantt_task .gantt_task_scale .gantt_scale_cell.gantt_last_cell { border-right-width: 1px; } .gantt_task_bg { overflow: hidden; } .gantt_scale_cell { position: relative; display: inline-block; white-space: nowrap; overflow: hidden; border-right: var(--dhx-gantt-grid-scale-border-vertical); text-align: center; height: 100%; } .gantt_task_cell { display: inline-block; height: 100%; border-right: var(--dhx-gantt-timeline-scale-border-vertical); } .gantt_layout_cell.gantt_ver_scroll { width: 0px; background-color: transparent; height: 1px; overflow-x: hidden; overflow-y: scroll; position: absolute; right: 0px; z-index: 1; } .gantt_ver_scroll>div { width: 1px; height: 1px; } .gantt_hor_scroll { height: 0px; background-color: transparent; width: 100%; clear: both; overflow-x: scroll; overflow-y: hidden; } .gantt_layout_cell .gantt_hor_scroll { position: absolute; } .gantt_hor_scroll>div { width: 5000px; height: 1px; } .gantt_tree_indent, .gantt_tree_icon { flex-grow: 0; flex-shrink: 0; } .gantt_tree_indent { width: 15px; height: 100%; } .gantt_tree_content, .gantt_tree_icon { vertical-align: top; } .gantt_tree_icon { width: 28px; height: 100%; background-repeat: no-repeat; background-position: center center; } .gantt_tree_content { height: 100%; white-space: nowrap; min-width: 0; overflow: hidden; width: auto; text-overflow: ellipsis; } .gantt_tree_icon.gantt_open, .gantt_tree_icon.gantt_close { .dhx_gantt_icon(); width: 20px; cursor: pointer; } .gantt_tree_icon.gantt_open { .dhx_gantt_icon.dhx_gantt_icon_menu_right(); } .gantt_tree_icon.gantt_close { .dhx_gantt_icon.dhx_gantt_icon_menu_down(); } .gantt_tree_icon.gantt_blank { width: 18px; } .gantt_tree_icon.gantt_folder_open { display: none; } .gantt_tree_icon.gantt_folder_closed { display: none; } .gantt_tree_icon.gantt_file { display: none; } .gantt_grid_head_cell .gantt_sort { position: absolute; right: 5px; top: 0; width: 7px; height: 13px; } .gantt_grid_head_cell .gantt_sort.gantt_asc { .dhx_gantt_icon(); .dhx_gantt_icon.dhx_gantt_icon_arrow_down(); } .gantt_grid_head_cell .gantt_sort.gantt_desc { .dhx_gantt_icon(); .dhx_gantt_icon.dhx_gantt_icon_arrow_up(); } .gantt_inserted, .gantt_updated { font-weight: bold; } .gantt_deleted { text-decoration: line-through; } .gantt_invalid { background-color: #FFE0E0; } .gantt_error { color: var(--dhx-gantt-base-colors-error); } .gantt_status { right: 1px; padding: 5px 10px; background: rgba(155, 155, 155, 0.1); position: absolute; top: 1px; transition: opacity 0.2s; opacity: 0; } .gantt_status.gantt_status_visible { opacity: 1; } #gantt_ajax_dots span { transition: opacity 0.2s; background-repeat: no-repeat; opacity: 0; } #gantt_ajax_dots span.gantt_dot_visible { opacity: 1; } .gantt_column_drag_marker { border: var(--dhx-gantt-grid-scale-border-vertical); opacity: 0.8; pointer-events: none; } .gantt_grid_head_cell_dragged { border: var(--dhx-gantt-grid-scale-border-vertical); opacity: 0.3; } .gantt_grid_target_marker { position: absolute; top: 0; width: 2px; height: 100%; background-color: var(--dhx-gantt-base-colors-primary); transform: translateX(-1px); } .gantt_grid_target_marker::before, .gantt_grid_target_marker::after { display: block; content: ""; position: absolute; left: -5px; width: 0px; height: 0px; border: 6px solid transparent; } .gantt_grid_target_marker::before { border-top-color: var(--dhx-gantt-base-colors-primary); } .gantt_grid_target_marker::after { bottom: 0; border-bottom-color: var(--dhx-gantt-base-colors-primary); }