rulechain-page.component.scss 4.37 KB
/**
 * Copyright © 2016-2019 The Thingsboard Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

:host {
  width: 100%;
  height: 100%;
  .tb-rulechain {
    width: 100%;
    height: 100%;
    section.tb-header-buttons.tb-library-open {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2;
      pointer-events: none;

      .mat-button.tb-btn-open-library {
        top: 0;
        left: 0;
        width: 36px;
        height: 36px;
        margin: 4px 0 0 4px;
        line-height: 36px;
        opacity: .5;
      }
    }
    .tb-rulechain-library {
      z-index: 1;
      width: 250px;
      min-width: 250px;

      .mat-toolbar {
        height: 48px;
        min-height: 48px;
        padding: 0;

        .mat-toolbar-tools {
          height: 48px;
          padding: 0 6px;
          font-size: 14px;

          .mat-button.mat-icon-button {
            margin: 0;

            &.tb-small {
              width: 32px;
              height: 32px;
              min-height: 32px;
              padding: 6px;
              line-height: 20px;
              mat-icon {
                width: 20px;
                min-width: 20px;
                height: 20px;
                min-height: 20px;
                font-size: 20px;
                line-height: 20px;
              }
            }
          }
        }
      }
      .tb-rulechain-library-panel-group {
        overflow-x: hidden;
        overflow-y: auto;
        .mat-expansion-panel {
          border-radius: 0px;
          &:last-child {
            margin-bottom: 5px;
          }
          .mat-expansion-panel-header {
            background: #e6e6e6;
          }
          &.mat-expanded {
            .mat-expansion-panel-header {
              border-bottom: 1px solid;
              border-color: #909090;
            }
          }
        }
        .tb-panel-title {
          min-width: 140px;
          user-select: none;
        }
        .fc-canvas {
          background: #f9f9f9;
        }
      }
    }
    .tb-rulechain-graph {
      z-index: 0;
    }
  }
}

:host ::ng-deep {
  .tb-rulechain {
    section.tb-header-buttons.tb-library-open {
      .mat-fab {
        .mat-button-wrapper {
          padding: 0;
        }
      }
    }
    .tb-rulechain-library {
      .mat-toolbar {
        .mat-toolbar-tools {
          .mat-form-field {
            .mat-form-field-infix {
              width: auto;
            }
          }
        }
      }
      .tb-rulechain-library-panel-group {
        .mat-expansion-panel-body {
          padding: 0;
        }
      }
    }
  }
  .fc-canvas {
    .fc-node {
      border-radius: 8px;
      &.fc-selected {
        &:not(.fc-edit) {
          margin: -3px;
          border: solid 3px #f00;
        }
      }
    }

    .fc-edit {
      .fc-nodeedit,
      .fc-nodedelete {
        border: solid 2px #fff;
        background: #f83e05;
        outline: none;
      }
    }

    .fc-arrow-marker {
      polygon {
        fill: #808080;
        stroke: #808080;
      }
    }

    .fc-arrow-marker-selected {
      polygon {
        fill: #f00;
        stroke: #f00;
      }
    }

    .fc-edge {
      outline: none;
      stroke: #808080;

      &.fc-selected {
        stroke: #f00;
      }

      &.fc-hover {
        stroke: #808080;
      }
    }

    .edge-endpoint {
      fill: #808080;
    }

    .fc-edge-label {
      opacity: 1 !important;
      &:focus {
        outline: 0;
      }

      &.fc-selected {
        .fc-edge-label-text {
          span {
            color: #fff !important;
            background-color: #f00 !important;
            border: solid #f00 !important;
          }
        }
      }

      .fc-edge-label-text {
        font-size: 14px !important;
        font-weight: 600 !important;

        span {
          background-color: #fff !important;
          color: #003a79 !important;
          border: solid 2px #003a79 !important;
        }
      }
    }
  }
}