blob: 77ea646ceb7fd057fda16ab9540808b3abaa08d2 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/
@process-height: 30px;
@event-anim-duration: .2s;
.em-swimlane {
position: relative;
margin: 5px 0px 40px 0px;
.process-names {
width: 100px;
border-right: 1px solid @border-color;
.consolidated-view-label {
margin-top: 20px;
padding-bottom: 10px;
}
}
.process-visuals {
.force-scrollbar;
position: absolute;
left: 100px;
right: 0px;
top: 0px;
overflow: auto;
.consolidated-view {
position: relative;
margin: 20px 10px 2px 10px;
height: 20px;
border: 1px solid @border-color;
border-radius: 2px;
}
}
.em-swimlane-ruler {
margin: 9px 10px 5px 10px;
.ruler-line {
margin: 0px -10px 0px -10px;
border-top: 1px solid @border-color;
}
.unit-text {
display: inline-block;
position: relative;
transition: left .5sec ease-out;
}
.mark-container {
overflow: hidden;
font-size: 0;
overflow: hidden;
white-space: nowrap;
.ruler-mark {
display: inline-block;
border-left: 1px solid @border-color;
margin-right: -1px;
margin-bottom: -2px;
font-size: 12px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
.sub-marks {
display: block;
padding: 0px;
margin-bottom: -8px;
li {
vertical-align: top;
display: inline-block;
width: 10%;
height: 5px;
border-left: 1px solid @border-lite;
&:first-child {
border-left: none;
}
&:nth-child(2n) {
height: 8px;
}
&:nth-child(6) {
height: 12px;
}
}
}
}
}
}
}
.em-swimlane-consolidated-process {
position: absolute;
cursor: pointer;
top: 0px;
bottom: 0px;
border: 1px solid white;
transition: top .2s;
&.focused {
top: -10px;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
}
.em-swimlane-process-name {
text-align: right;
padding-right: 5px;
padding-top: 5px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
height: 30px;
}
.em-swimlane-process-visual {
position: relative;
height: 30px;
// Gives a mouse sensitive margin to the left and right,
// so that event lines appear with a padding
border-left: 10px solid transparent;
border-right: 10px solid transparent;
.process-line, .event-bar, .event-bubble {
cursor: pointer;
}
.base-line {
position: relative;
height: 1px;
margin: 0px -10px;
top: unit(unit(@process-height) * 0.5, get-unit(@process-height));
border-top: 1px dotted @border-color;
}
.process-line, .event-bar, .em-swimlane-event, .em-swimlane-blocking-event {
position: absolute;
}
.process-line {
top: unit(unit(@process-height) * 0.5 - 1, get-unit(@process-height));
height: 3px;
left: 0%;
right: 100%;
transition: left @event-anim-duration ease-out, right @event-anim-duration ease-out;
}
.event-bar {
top: unit((unit(@process-height) * 0.5) - 10, get-unit(@process-height));
height: 20px;
background-color: @border-lite;
border-radius: 2px;
border: 1px solid;
margin-right: -1px;
left: 0%;
right: 100%;
transition: left @event-anim-duration ease-out, right @event-anim-duration ease-out;
}
.em-swimlane-event {
top: unit(unit(@process-height) * 0.5, get-unit(@process-height));
left: 0%;
transition: left @event-anim-duration ease-out;
.event-line {
position: absolute;
top: -9px;
height: 18px;
border-left: 1px solid;
}
.event-bubble {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
-webkit-transition: top .2s, right .2s, bottom .2s, left .2s, border-width .2s; /* Safari */
transition: top .2s, right .2s, bottom .2s, left .2s, border-width .2s;
transition-timing-function: cubic-bezier(1.44);
border-radius: 7px;
border: 0px solid;
background-color: white;
}
}
.em-swimlane-blocking-event {
top: unit(unit(@process-height) * 0.5, get-unit(@process-height));
left: 0%;
height: 0;
transition: left @event-anim-duration ease-out, height @event-anim-duration ease-out;
.event-line {
position: absolute;
top: 0px;
border-left: 1px solid;
}
}
&:hover {
.event-bubble {
top: -7px;
right: -8px;
bottom: -8px;
left: -7px;
border: 2px solid;
}
}
}