go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/milo/frontend/static/common/css/console.css (about)

     1  /* Copyright 2017 The LUCI Authors.
     2   *
     3   * Licensed under the Apache License, Version 2.0 (the "License");
     4   * you may not use this file except in compliance with the License.
     5   * You may obtain a copy of the License at
     6   *
     7   *      http://www.apache.org/licenses/LICENSE-2.0
     8   *
     9   * Unless required by applicable law or agreed to in writing, software
    10   * distributed under the License is distributed on an "AS IS" BASIS,
    11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12   * See the License for the specific language governing permissions and
    13   * limitations under the License.
    14   */
    15  
    16  /* Generic */
    17  
    18  .console-column {
    19    display: flex;
    20    flex-direction: column;
    21  }
    22  
    23  .console-commits-column {
    24    justify-content: flex-end;
    25    flex: 0;
    26  }
    27  
    28  .console-row {
    29    display: flex;
    30    flex-direction: row;
    31  }
    32  
    33  .fill-row {
    34    width: 100%;
    35  }
    36  
    37  /* Title */
    38  
    39  .console-title {
    40    display: flex;
    41    flex-direction: row;
    42    justify-content: flex-start;
    43    align-items: center;
    44  }
    45  
    46  .console-title img {
    47    width: 16px;
    48    height: 16px;
    49  }
    50  
    51  .console-title span {
    52    font-weight: bold;
    53    min-height: 2.5em;
    54  }
    55  
    56  /* Tree Status */
    57  
    58  .tree-status {
    59    margin-bottom: 6px;
    60    padding: 0.5em;
    61    overflow: hidden;
    62    word-break: break-word;
    63    font-weight: normal;
    64    font-size: 16px;
    65    font-family: Verdana, Cursor;
    66    text-align: center;
    67    border-top-right-radius: 24px;
    68    border-top-left-radius: 24px;
    69    box-shadow: 2px 2px 6px rgba(0,0,0,0.6);
    70  }
    71  
    72  /* Header */
    73  
    74  .console-header {
    75    display: flex;
    76    flex-direction: row;
    77    border-radius: 0.5em;
    78    border: 1px solid silver;
    79    margin-bottom: 2em;
    80    background-color: rgb(239, 239, 239);
    81    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.6);
    82    padding: 0.5em;
    83  }
    84  
    85  .console-header-column {
    86    display: flex;
    87    flex-direction: column;
    88  }
    89  
    90  .console-header-groups {
    91    display: flex;
    92    justify-content: space-evenly;
    93    flex-wrap: wrap;
    94  }
    95  
    96  .console-header-oncalls-group {
    97    display: flex;
    98    flex-direction: column;
    99    margin: 0.2em;
   100    max-width: 45%;
   101  }
   102  
   103  .console-header-links-group {
   104    display: flex;
   105    flex-direction: column;
   106    margin: 0.2em;
   107    max-width: 80%;
   108  }
   109  
   110  .console-header-group-name {
   111    display: flex;
   112    flex-direction: column;
   113    align-items: center;
   114    font-weight: bold;
   115    min-height: 1.25em;
   116  }
   117  
   118  .console-header-group-content {
   119    display: flex;
   120    justify-content: space-evenly;
   121    flex-wrap: wrap;
   122    min-height: 1.25em;
   123  }
   124  
   125  .console-header-group-content span {
   126    padding-left: 0.2em;
   127    padding-right: 0.2em;
   128  }
   129  
   130  .console-header-group {
   131    display: flex;
   132    flex-direction: column;
   133    border-radius: 0.5em;
   134    border: 1px solid silver;
   135    margin: 0.5em;
   136    padding: 0.5em;
   137  }
   138  
   139  .console-header-group-title {
   140    display: flex;
   141    flex-direction: row;
   142    justify-content: center;
   143    align-items: center;
   144    font-weight: bold;
   145    font-size: 1.33em;
   146    border-bottom: 1px solid silver;
   147  }
   148  
   149  .console-header-group-title a {
   150    text-decoration: none;
   151  }
   152  
   153  .console-header-name {
   154    display: flex;
   155    flex-direction: row;
   156    font-weight: bold;
   157    padding: 0.5em;
   158  }
   159  
   160  .console-header-builder {
   161    display: flex;
   162    flex-grow: 1;
   163    min-height: 2em;
   164    max-height: 2em;
   165    min-width: 2em;
   166    border-width: 1px;
   167    border-style: solid;
   168    border-radius: 0.25em;
   169  }
   170  
   171  /* Legend */
   172  #legend {
   173    display: flex;
   174    justify-content: center;
   175    margin-bottom: 1em;
   176    font-weight: bold;
   177  }
   178  
   179  /* Controls */
   180  
   181  .expanded .control-expand {
   182    display: none;
   183  }
   184  
   185  .collapsed .control-collapse {
   186    display: none;
   187  }
   188  
   189  /* Commits */
   190  
   191  .console-controls {
   192    margin: 1em;
   193  }
   194  
   195  .console-commit-column {
   196    display: flex;
   197    flex-direction: column;
   198    justify-content: flex-end;
   199  }
   200  
   201  .console-commit-column div.console-commit-item:nth-child(even),
   202  .console-commit-column div.console-commit-item:nth-child(even) p {
   203    background-color: #cccccc;
   204  }
   205  
   206  .console-commit-column div.console-commit-item:nth-child(odd),
   207  .console-commit-column div.console-commit-item:nth-child(odd) p {
   208    background-color: #eee;
   209  }
   210  
   211  .console-commit-column div.console-commit-item:nth-child(even).bottom-hidden .console-commit-description-overlay {
   212    background-image: linear-gradient(rgba(204, 204, 204, 0) 0%, rgba(204, 204, 204, 0.9) 95%);
   213  }
   214  
   215  .console-commit-column div.console-commit-item:nth-child(odd).bottom-hidden .console-commit-description-overlay {
   216    background-image: linear-gradient(rgba(238, 238, 238, 0) 0%, rgba(238, 238, 238, 0.9) 95%);
   217  }
   218  
   219  .console-commit-description {
   220    position: relative;
   221    overflow: hidden;
   222  }
   223  
   224  .console-commit-description:hover {
   225    overflow: visible;
   226    z-index: 18;
   227  }
   228  
   229  .bottom-hidden .console-commit-description p {
   230    border-bottom: 1px solid black;
   231  }
   232  
   233  .console-commit-description-overlay {
   234    position: absolute;
   235    bottom: 0;
   236    width: 100%;
   237    height: 80px;
   238  }
   239  
   240  .console-commit-description:hover .console-commit-description-overlay {
   241    background-image: none !important;
   242  }
   243  
   244  .console-commit-item {
   245    display: flex;
   246    align-items: center;
   247    justify-content: left;
   248    flex-direction: column;
   249    position: relative;
   250  }
   251  
   252  .collapsed .console-commit-item {
   253    margin-bottom: 2px;
   254  }
   255  
   256  .console-commit-item-overlay {
   257    position: absolute;
   258    top: -1px;
   259    left: 0;
   260    z-index: 16;
   261    border-top: 1px solid black;
   262  }
   263  
   264  .collapsed .console-commit-item-overlay {
   265    display: none;
   266  }
   267  
   268  .console-commit-summary {
   269    display: flex;
   270    flex-direction: row;
   271    min-width: 2em;
   272    min-height: 2em;
   273    margin-right: -0.2em;
   274    padding: 1px 1em;
   275  }
   276  
   277  .expanded .console-commit-item  {
   278    border-top: 1px solid black;
   279  }
   280  
   281  .console-commit-revision {
   282    width: 6em;
   283    text-overflow: ellipsis;
   284    overflow: hidden;
   285    white-space: nowrap;
   286    display: flex;
   287    align-items: center;
   288    font-family: monospace;
   289    font-weight: bold;
   290  }
   291  
   292  .console-commit-author {
   293    text-overflow: ellipsis;
   294    overflow: hidden;
   295    white-space: nowrap;
   296    display: flex;
   297    align-items: center;
   298  }
   299  
   300  .collapsed .console-commit-author  {
   301    width: 15em;
   302  }
   303  
   304  .expanded .console-commit-author {
   305    width: 25em;
   306  }
   307  
   308  .commit {
   309    font-weight: bold;
   310  }
   311  
   312  .console-commit-description {
   313    width: 40em;
   314    z-index: 12;
   315    border-top: 1px solid black;
   316  }
   317  
   318  .console-commit-description p {
   319    padding-left: 1em;
   320    word-break: break-word;
   321  }
   322  
   323  .collapsed .console-commit-description {
   324    display: none;
   325  }
   326  
   327  /* Table Header */
   328  
   329  .console-top-row {
   330    display: flex;
   331    flex-direction: row;
   332    border-left: 1px solid silver;
   333    border-right: 1px solid silver;
   334    margin-left: 0.2em;
   335    padding-right: 0.2em;
   336  }
   337  
   338  .console-top-item {
   339    display: flex;
   340    border-top: 1px solid silver;
   341    border-left: 1px solid silver;
   342    border-right: 1px solid silver;
   343    border-bottom: 1px solid transparent;
   344    min-width: 1em;
   345    min-height: 2em;
   346    align-items: center;
   347    justify-content: center;
   348    border-top-left-radius: 0.5em;
   349    border-top-right-radius: 0.5em;
   350    margin-left: 0.2em;
   351    padding-left: 0.2em;
   352    padding-right: 0.2em;
   353    white-space: nowrap;
   354  }
   355  
   356  .no-category .console-top-item {
   357    border-top: none;
   358    border-left: none;
   359    border-right: none;
   360    border-bottom: 2px solid transparent;
   361  }
   362  
   363  .expanded .console-top-item {
   364    padding-bottom: 1em;
   365  }
   366  
   367  .console-space {
   368    display: flex;
   369    border: 1px solid transparent;
   370    min-width: 1em;
   371    min-height: 2em;
   372  }
   373  
   374  .expanded .console-space {
   375    min-height: 3em;
   376  }
   377  
   378  /* Builders */
   379  
   380  .console-builder-summary-flex {
   381    display: flex;
   382    flex-grow: 1;
   383    align-items: center;
   384    margin: 0.2em;
   385  }
   386  
   387  @supports not (display: grid) {
   388    .console-builder-summary-grid {
   389      display: flex;
   390      width: 100%;
   391    }
   392  }
   393  
   394  @supports (display: grid) {
   395    .console-builder-summary-grid {
   396      display: grid;
   397      grid-template-columns: repeat(auto-fit, minmax(2em, 1fr));
   398      width: 100%;
   399    }
   400  }
   401  
   402  .console-builder-summary-flex * {
   403    margin: 0.05em;
   404  }
   405  
   406  .console-builder-status {
   407    display: block;
   408    height: 100%;
   409    width: 100%;
   410    text-decoration: none;
   411  }
   412  
   413  .console-builder-column {
   414    display: flex;
   415    flex-direction: column;
   416    flex: 1;
   417  }
   418  
   419  .console-builder-column:last-of-type {
   420    margin-right: -0.2em;
   421  }
   422  
   423  .console-Success a.console-builder-item {
   424    background-color: #8d4;
   425    border-color: #4F8530;
   426  }
   427  
   428  .console-Failure a.console-builder-item {
   429    background-color: #e88;
   430    border-color: #A77272;
   431    color: #000;
   432    font-weight: bold;
   433  }
   434  
   435  .console-InfraFailure a.console-builder-item {
   436    background-color: #ac39ac;
   437    border-color: #ACA0B3;
   438    color: #ffffff;
   439  }
   440  
   441  .console-Exception a.console-builder-item {
   442    background-color: #ac39ac;
   443    border-color: #ACA0B3;
   444    color: #ffffff;
   445  }
   446  
   447  .console-builder-item {
   448    display: flex;
   449    border: 1px solid silver;
   450    min-width: 1em;
   451    min-height: 2em;
   452    text-decoration: none;
   453    align-items: center;
   454    justify-content: center;
   455    background-color: #fff;
   456    border-top-left-radius: 0.5em;
   457    border-top-right-radius: 0.5em;
   458    margin-top: 0.75em;
   459    margin-bottom: 2px;
   460    margin-right: 1px;
   461    margin-left: 1px;
   462    white-space: nowrap;
   463  }
   464  
   465  .console-cell-text {
   466    white-space: nowrap;
   467  }
   468  
   469  /* Builds */
   470  
   471  .console-build-column, .console-build-column-stacked {
   472    display: flex;
   473    flex-grow: 1;
   474    flex-direction: column;
   475  }
   476  
   477  .expanded .console-cell-container-inner {
   478    display: flex;
   479    flex-wrap: wrap;
   480    align-content: flex-start;
   481    justify-content: flex-start;
   482  }
   483  
   484  .console-cell-container a {
   485    text-decoration: none;
   486    align-items: center;
   487    justify-content: center;
   488  }
   489  
   490  .console-build-column div.console-cell-container:nth-child(even),
   491  .console-build-column-stacked div.console-cell-container:nth-child(even) {
   492    background-color: #cccccc;
   493  }
   494  
   495  .console-build-column div.console-cell-container:nth-child(odd),
   496  .console-build-column-stacked div.console-cell-container:nth-child(odd){
   497    background-color: #eee;
   498  }
   499  
   500  .collapsed .console-cell-spacer {
   501    display: none;
   502  }
   503  
   504  .collapsed .console-cell-text {
   505    display: none;
   506  }
   507  
   508  /* Table Cells */
   509  
   510  .console-cell, .console-cell-top, .console-cell-middle, .console-cell-bottom {
   511    display: flex;
   512    min-width: 1em;
   513    height: 20px;
   514    border-radius: 0.5em;
   515    border-width: 1px;
   516    border-style: solid;
   517  }
   518  
   519  .collapsed .console-cell, .collapsed .console-cell-top, .collapsed .console-cell-middle, .collapsed .console-cell-bottom {
   520    margin-right: 1px;
   521    margin-left: 1px;
   522  }
   523  
   524  .collapsed .console-cell-top, .collapsed .console-cell-middle {
   525    padding-bottom: 3px;
   526  }
   527  
   528  .collapsed .console-cell-top {
   529    margin-top: 1px;
   530  }
   531  
   532  .collapsed .console-cell-top {
   533    display: flex;
   534    min-width: 1em;
   535    min-height: 2em;
   536    border-bottom-left-radius: unset;
   537    border-bottom-right-radius: unset;
   538    border-top-left-radius: 0.5em;
   539    border-top-right-radius: 0.5em;
   540    border-width: 1px;
   541    border-style: solid;
   542    border-bottom: none;
   543  }
   544  
   545  .collapsed .console-cell-middle {
   546    display: flex;
   547    min-width: 1em;
   548    min-height: 2em;
   549    border-width: 1px;
   550    border-style: solid;
   551    border-top: none;
   552    border-bottom: none;
   553    border-radius: unset;
   554    padding-top: 1px;
   555  }
   556  
   557  .collapsed .console-cell, .collapsed .console-empty-cell {
   558    margin-top: 1px;
   559    margin-bottom: 1px;
   560  }
   561  
   562  .collapsed .console-cell-bottom {
   563    padding-top: 1px;
   564    margin-bottom: 1px;
   565  }
   566  
   567  .collapsed .console-cell-bottom {
   568    display: flex;
   569    min-width: 1em;
   570    min-height: 2em;
   571    border-bottom-left-radius: 0.5em;
   572    border-bottom-right-radius: 0.5em;
   573    border-top-left-radius: unset;
   574    border-top-right-radius: unset;
   575    border-width: 1px;
   576    border-style: solid;
   577    border-top: none;
   578    padding-top: 1px;
   579  }
   580  
   581  .expanded .console-cell,
   582  .expanded .console-empty-cell,
   583  .expanded .console-cell-middle,
   584  .expanded .console-cell-top,
   585  .expanded .console-cell-bottom {
   586    flex-grow: 1;
   587    padding-left: 4px;
   588    padding-right: 4px;
   589  }
   590  
   591  .console-empty-cell {
   592    display: flex;
   593    border: 1px solid rgba(0, 0, 0, 0.25);
   594    border-radius: 0.5em;
   595    height: 20px;
   596    min-width: 1em;
   597  }
   598  
   599  .collapsed .console-empty-cell {
   600    border: 1px solid transparent;
   601    min-width: 1em;
   602  }
   603  
   604  .console-empty-cell:hover {
   605    cursor: default;
   606  }
   607  
   608  /* Console List */
   609  
   610  .console-list-builder {
   611    display: flex;
   612    flex-grow: 1;
   613    min-height: 2em;
   614    max-height: 2em;
   615    min-width: 0.5em;
   616    border-width: 1px;
   617    border-style: solid;
   618    border-radius: 0.25em;
   619  }