Merge remote-tracking branch 'github/master' into open115b

Conflicts:
	platform/features/conductor/src/ConductorRepresenter.js
This commit is contained in:
Victor Woeltjen 2015-10-09 10:28:50 -07:00
commit 1efa97e6f5
24 changed files with 1325 additions and 825 deletions

View File

@ -4,7 +4,11 @@
{
"implementation": "WatchIndicator.js",
"depends": ["$interval", "$rootScope"]
},
{
"implementation": "DigestIndicator.js",
"depends": ["$interval", "$rootScope"]
}
]
}
}
}

View File

@ -0,0 +1,77 @@
/*****************************************************************************
* Open MCT Web, Copyright (c) 2014-2015, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
* Open MCT Web is 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.
*
* Open MCT Web includes source code licensed under additional open source
* licenses. See the Open Source Licenses file (LICENSES.md) included with
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/*global define*/
define(
[],
function () {
"use strict";
/**
* Displays the number of digests that have occurred since the
* indicator was first instantiated.
* @constructor
* @param $interval Angular's $interval
* @implements {Indicator}
*/
function DigestIndicator($interval, $rootScope) {
var digests = 0,
displayed = 0,
start = Date.now();
function update() {
var secs = (Date.now() - start) / 1000;
displayed = Math.round(digests / secs);
}
function increment() {
digests += 1;
}
$rootScope.$watch(increment);
// Update state every second
$interval(update, 1000);
// Provide initial state, too
update();
return {
getGlyph: function () {
return ".";
},
getGlyphClass: function () {
return undefined;
},
getText: function () {
return displayed + " digests/sec";
},
getDescription: function () {
return "";
}
};
}
return DigestIndicator;
}
);

View File

@ -42,9 +42,8 @@
</div>
</div>
<div class='object-holder abs vscroll'>
<mct-representation key="representation.selected.key"
mct-object="representation.selected.key && domainObject">
</mct-representation>
</div>
<mct-representation key="representation.selected.key"
mct-object="representation.selected.key && domainObject"
class="abs object-holder">
</mct-representation>
</span>

View File

@ -30,12 +30,11 @@
structure="toolbar.structure"
ng-model="toolbar.state">
</mct-toolbar>
<div class='holder abs object-holder work-area'>
<mct-representation key="representation.selected.key"
toolbar="toolbar"
mct-object="representation.selected.key && domainObject">
</mct-representation>
</div>
<mct-representation key="representation.selected.key"
toolbar="toolbar"
mct-object="representation.selected.key && domainObject"
class="holder abs object-holder work-area">
</mct-representation>
</div>
<mct-splitter></mct-splitter>
<div

View File

@ -45,6 +45,7 @@ $ueEditToolBarH: 25px;
$ueBrowseLeftPaneW: 25%;
$ueEditLeftPaneW: 75%;
$treeSearchInputBarH: 25px;
$ueTimeControlH: (33px, 20px, 20px);
// Overlay
$ovrTopBarH: 60px;
$ovrFooterH: 30px;

View File

@ -125,6 +125,14 @@ mct-container {
text-align: center;
}
.scrolling {
overflow: auto;
}
.vscroll {
overflow-y: auto;
}
.no-margin {
margin: 0;
}

View File

@ -10,9 +10,6 @@
&.fixed {
font-size: 0.8em;
}
&.scrolling {
overflow: auto;
}
.controls,
label,
.inline-block {

View File

@ -295,15 +295,11 @@ label.checkbox.custom {
.slider {
$knobH: 100%; //14px;
$knobW: 12px;
$slotH: 50%;
.slot {
// @include border-radius($basicCr * .75);
//@include sliderTrack();
//height: $slotH;
width: auto;
position: absolute;
//top: ($knobH - $slotH) / 2;
top: 0;
right: 0;
bottom: 0;
@ -317,30 +313,30 @@ label.checkbox.custom {
&:hover {
background-color: $sliderColorKnobHov;
}
cursor: ew-resize;
position: absolute;
height: $knobH;
width: $knobW;
width: $sliderKnobW;
top: 0;
auto: 0;
bottom: auto;
left: auto;
//&:before {
// top: 1px;
// bottom: 3px;
// left: ($knobW / 2) - 1;
//}
}
.knob-l {
@include border-left-radius($sliderKnobW);
cursor: w-resize;
}
.knob-r {
@include border-right-radius($sliderKnobW);
cursor: e-resize;
}
.range {
$tbOffset: 2px;
@include trans-prop-nice-fade(.25s);
background-color: $sliderColorRange;
cursor: ew-resize;
position: absolute;
top: 0; //$tbOffset;
right: auto;
bottom: $tbOffset;
bottom: 0;
left: auto;
height: auto;
width: auto;

View File

@ -1,15 +1,28 @@
@mixin toiLineHovEffects() {
//@include pulse(.25s);
&:before,
&:after {
background-color: $timeControllerToiLineColorHov;
}
}
.l-time-controller-visible {
}
.l-time-controller {
$minW: 400px;
$knobM: ($sliderKnobW + 1) * -1;
$rangeValOffset: $interiorMargin + $sliderKnobW;
$knobCr: $sliderKnobW;
//@if $sliderKnobW > 3 {
// $knobCr: $sliderKnobW / 2;
//}
$timeRangeSliderLROffset: 130px + $sliderKnobW;
$r1H: 33px;
$r2H: 20px;
$r3H: 20px;
$knobHOffset: 0px;
$knobM: ($sliderKnobW + $knobHOffset) * -1;
$rangeValPad: $interiorMargin;
$rangeValOffset: $sliderKnobW;
//$knobCr: $sliderKnobW;
$timeRangeSliderLROffset: 130px + $sliderKnobW + $rangeValOffset;
$r1H: nth($ueTimeControlH,1);
$r2H: nth($ueTimeControlH,2);
$r3H: nth($ueTimeControlH,3);
//height: $r1H + $r2H + $r3H + ($interiorMargin * 2);
.l-time-range-inputs-holder,
.l-time-range-slider {
@ -30,6 +43,7 @@
.l-time-range-ticks {
//@include test(red, 0.1);
@include absPosDefault(0, visible);
left: $timeRangeSliderLROffset; right: $timeRangeSliderLROffset;
}
.l-time-range-inputs-holder {
@ -54,12 +68,6 @@
}
}
.l-time-range-slider,
.l-time-range-ticks {
left: $timeRangeSliderLROffset; right: $timeRangeSliderLROffset;
}
.l-time-range-slider-holder {
//@include test(green);
height: $r2H; bottom: $r3H + ($interiorMarginSm * 1);
@ -67,6 +75,51 @@
@include box-shadow(none);
background: none;
border: none;
.range {
.toi-line {
$myC: $timeControllerToiLineColor;
$myW: 8px;
@include transform(translateX(50%));
position: absolute;
//@include test();
top: 0; right: 0; bottom: 0px; left: auto;
width: $myW;
height: auto;
z-index: 2;
&:before,
&:after {
background-color: $myC;
content: "";
position: absolute;
}
&:before {
// Vert line
top: 0; right: auto; bottom: -10px; left: floor($myW/2) - 1;
width: 2px;
//top: 0; right: 3px; bottom: 0; left: 3px;
}
&:after {
// Circle element
@include border-radius($myW);
@include transform(translateY(-50%));
top: 50%; right: 0; bottom: auto; left: 0;
width: auto;
height: $myW;
}
}
&:hover .toi-line {
@include toiLineHovEffects;
}
}
}
&:not(:active) {
//@include test(#ff00cc);
.knob,
.range {
@include transition-property(left, right);
@include transition-duration(500ms);
@include transition-timing-function(ease-in-out);
}
}
}
@ -99,10 +152,11 @@
}
.knob {
width: $sliderKnobW;
z-index: 2;
.range-value {
//@include test($sliderColorRange);
@include trans-prop-nice-fade(.25s);
padding: 0 $rangeValOffset;
position: absolute;
height: $r2H;
line-height: $r2H;
@ -112,7 +166,7 @@
color: $sliderColorKnobHov;
}
&.knob-l {
@include border-bottom-left-radius($knobCr);
//@include border-bottom-left-radius($knobCr); // MOVED TO _CONTROLS.SCSS
margin-left: $knobM;
.range-value {
text-align: right;
@ -120,11 +174,14 @@
}
}
&.knob-r {
@include border-bottom-right-radius($knobCr);
//@include border-bottom-right-radius($knobCr);
margin-right: $knobM;
.range-value {
left: $rangeValOffset;
}
&:hover + .range-holder .range .toi-line {
@include toiLineHovEffects;
}
}
}
}

View File

@ -30,21 +30,21 @@
}
.holder-all {
$myM: 0; // $interiorMarginSm;
top: $myM;
right: $myM;
bottom: $myM;
left: $myM;
$myM: 0; // $interiorMarginSm;
top: $myM;
right: $myM;
bottom: $myM;
left: $myM;
}
.browse-area,
.edit-area,
.editor {
position: absolute;
position: absolute;
}
.editor {
@include border-radius($basicCr * 1.5);
@include border-radius($basicCr * 1.5);
}
.contents {
@ -68,8 +68,8 @@
margin-right: $interiorMargin;
}
&.abs {
text-wrap: none;
white-space: nowrap;
text-wrap: none;
white-space: nowrap;
&.left,
.left {
width: 45%;
@ -95,51 +95,51 @@
}
.user-environ {
.browse-area,
.edit-area,
.editor {
top: $bodyMargin + $ueTopBarH + ($interiorMargin);
right: $bodyMargin;
bottom: $ueFooterH + $bodyMargin;
left: $bodyMargin;
}
.browse-area,
.edit-area,
.editor {
top: $bodyMargin + $ueTopBarH + ($interiorMargin);
right: $bodyMargin;
bottom: $ueFooterH + $bodyMargin;
left: $bodyMargin;
}
.browse-area,
.edit-area {
> .contents {
left: 0;
right: 0;
}
}
.browse-area,
.edit-area {
> .contents {
left: 0;
right: 0;
}
}
.edit-area {
$tbH: $btnToolbarH + $interiorMargin;
top: $bodyMargin + $ueTopBarEditH + ($interiorMargin);
.tool-bar {
bottom: auto;
height: $tbH;
line-height: $btnToolbarH;
}
.work-area {
top: $tbH + $interiorMargin * 2;
}
}
.edit-area {
$tbH: $btnToolbarH + $interiorMargin;
top: $bodyMargin + $ueTopBarEditH + ($interiorMargin);
.tool-bar {
bottom: auto;
height: $tbH;
line-height: $btnToolbarH;
}
.work-area {
top: $tbH + $interiorMargin * 2;
}
}
.ue-bottom-bar {
.ue-bottom-bar {
//@include absPosDefault($bodyMargin);
@include absPosDefault(0);// New status bar design
top: auto;
height: $ueFooterH;
.status-holder {
//right: $ueAppLogoW + $bodyMargin; New status bar design
z-index: 1;
}
.app-logo {
left: auto;
width: $ueAppLogoW;
z-index: 2;
}
}
@include absPosDefault(0); // New status bar design
top: auto;
height: $ueFooterH;
.status-holder {
//right: $ueAppLogoW + $bodyMargin; New status bar design
z-index: 1;
}
.app-logo {
left: auto;
width: $ueAppLogoW;
z-index: 2;
}
}
}
.cols {
@ -225,78 +225,80 @@
}
}
.pane {
position: absolute;
&.treeview.left {
.create-btn-holder {
bottom: auto; top: 0;
height: $ueTopBarH;
.wrapper.menu-element {
position: absolute;
bottom: $interiorMargin;
}
}
.search-holder {
top: $ueTopBarH + $interiorMarginLg;
}
.tree-holder {
overflow: auto;
top: $ueTopBarH + $interiorMarginLg + $treeSearchInputBarH + $interiorMargin;
}
.create-btn-holder {
bottom: auto;
top: 0;
height: $ueTopBarH;
.wrapper.menu-element {
position: absolute;
bottom: $interiorMargin;
}
}
.search-holder {
top: $ueTopBarH + $interiorMarginLg;
}
.tree-holder {
overflow: auto;
top: $ueTopBarH + $interiorMarginLg + $treeSearchInputBarH + $interiorMargin;
}
}
&.items {
.object-browse-bar {
.left.abs,
.right.abs {
top: auto;
}
//.left.abs {
// @include tmpBorder(green);
//}
//.right.abs {
// @include tmpBorder(red);
//}
}
.object-holder {
top: $ueTopBarH + $interiorMarginLg;
.left.abs,
.right.abs {
top: auto;
}
}
}
.object-holder {
overflow: auto;
}
}
.split-layout {
&.horizontal {
// Slides up and down
>.pane {
// @include test();
margin-top: $interiorMargin;
&:first-child {
margin-top: 0;
}
}
}
&.vertical {
// Slides left and right
>.pane {
// @include test();
margin-left: $interiorMargin;
>.holder {
left: 0;
right: 0;
}
&:first-child {
margin-left: 0;
.holder {
right: $interiorMarginSm;
}
}
}
&.horizontal {
// Slides up and down
> .pane {
// @include test();
margin-top: $interiorMargin;
&:first-child {
margin-top: 0;
}
}
}
&.vertical {
// Slides left and right
> .pane {
// @include test();
margin-left: $interiorMargin;
> .holder {
left: 0;
right: 0;
}
&:first-child {
margin-left: 0;
.holder {
right: $interiorMarginSm;
}
}
}
}
}
}
.object-holder {
overflow: hidden; // Contained objects need to handle their own overflow now
top: $ueTopBarH + $interiorMarginLg;
> ng-include {
@include absPosDefault(0, auto);
}
&.l-controls-visible {
&.l-time-controller-visible {
> ng-include {
bottom: nth($ueTimeControlH,1) + nth($ueTimeControlH,2) +nth($ueTimeControlH,3) + ($interiorMargin * 3);
}
}
}
}
.object-browse-bar .s-btn,
@ -304,10 +306,10 @@
.top-bar .s-menu-btn,
.tool-bar .s-btn,
.tool-bar .s-menu-btn {
$h: $btnToolbarH;
height: $h;
line-height: $h;
vertical-align: top;
$h: $btnToolbarH;
height: $h;
line-height: $h;
vertical-align: top;
}
.object-browse-bar,
@ -318,33 +320,29 @@
}
.object-browse-bar {
//@include test(blue);
@include absPosDefault(0, visible);
@include box-sizing(border-box);
height: $ueTopBarH;
line-height: $ueTopBarH;
white-space: nowrap;
//@include test(blue);
@include absPosDefault(0, visible);
@include box-sizing(border-box);
height: $ueTopBarH;
line-height: $ueTopBarH;
white-space: nowrap;
.left {
padding-right: $interiorMarginLg * 2;
.l-back {
display: inline-block;
float: left;
margin-right: $interiorMarginLg;
}
}
.left {
padding-right: $interiorMarginLg * 2;
.l-back {
display: inline-block;
float: left;
margin-right: $interiorMarginLg;
}
}
}
.l-flex {
@include webkitVal('display', 'flex');
@include webkitProp('flex-flow', 'row nowrap');
.left {
//@include test(red);
@include webkitProp(flex, '1 1 0');
padding-right: $interiorMarginLg;
}
}
.vscroll {
overflow-y: auto;
}
@include webkitVal('display', 'flex');
@include webkitProp('flex-flow', 'row nowrap');
.left {
//@include test(red);
@include webkitProp(flex, '1 1 0');
padding-right: $interiorMarginLg;
}
}

View File

@ -48,7 +48,7 @@
<span class="val">{{endOuterText}}</span>
<a class="ui-symbol icon icon-calendar"></a>
<mct-popup ng-if="t2.isActive()">
<div mct-click-elsewhere="t2.setState(false)" class="xmenu-holder go-up">
<div mct-click-elsewhere="t2.setState(false)">
<mct-control key="'datetime-picker'"
ng-model="ngModel.outer"
field="'end'"
@ -64,13 +64,6 @@
<div class="l-time-range-slider">
<div class="slider"
mct-resize="spanWidth = bounds.width">
<div class="slot range-holder">
<div class="range"
mct-drag-down="startMiddleDrag()"
mct-drag="middleDrag(delta[0])"
ng-style="{ left: startInnerPct, right: endInnerPct}">
</div>
</div>
<div class="knob knob-l"
mct-drag-down="startLeftDrag()"
mct-drag="leftDrag(delta[0])"
@ -83,6 +76,14 @@
ng-style="{ right: endInnerPct }">
<div class="range-value">{{endInnerText}}</div>
</div>
<div class="slot range-holder">
<div class="range"
mct-drag-down="startMiddleDrag()"
mct-drag="middleDrag(delta[0])"
ng-style="{ left: startInnerPct, right: endInnerPct}">
<div class="toi-line"></div>
</div>
</div>
</div>
</div>
</div>

View File

@ -139,8 +139,8 @@ define(
}
$scope.isInCurrentMonth = function (cell) {
return cell.month === month;
}
return cell.month === month;
};
$scope.isSelected = function (cell) {
var date = $scope.date || {};

View File

@ -20,7 +20,7 @@
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/* line 5, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 5, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
@ -41,38 +41,38 @@ time, mark, audio, video {
font-size: 100%;
vertical-align: baseline; }
/* line 22, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 22, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
html {
line-height: 1; }
/* line 24, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 24, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
ol, ul {
list-style: none; }
/* line 26, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 26, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
table {
border-collapse: collapse;
border-spacing: 0; }
/* line 28, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 28, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
caption, th, td {
text-align: left;
font-weight: normal;
vertical-align: middle; }
/* line 30, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 30, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
q, blockquote {
quotes: none; }
/* line 103, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 103, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
q:before, q:after, blockquote:before, blockquote:after {
content: "";
content: none; }
/* line 32, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 32, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
a img {
border: none; }
/* line 116, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 116, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
display: block; }
@ -404,21 +404,29 @@ mct-container {
text-align: center; }
/* line 128, ../../../../general/res/sass/_global.scss */
.scrolling {
overflow: auto; }
/* line 132, ../../../../general/res/sass/_global.scss */
.vscroll {
overflow-y: auto; }
/* line 136, ../../../../general/res/sass/_global.scss */
.no-margin {
margin: 0; }
/* line 132, ../../../../general/res/sass/_global.scss */
/* line 140, ../../../../general/res/sass/_global.scss */
.ds {
-moz-box-shadow: rgba(0, 0, 0, 0.7) 0 4px 10px 2px;
-webkit-box-shadow: rgba(0, 0, 0, 0.7) 0 4px 10px 2px;
box-shadow: rgba(0, 0, 0, 0.7) 0 4px 10px 2px; }
/* line 136, ../../../../general/res/sass/_global.scss */
/* line 144, ../../../../general/res/sass/_global.scss */
.hide,
.hidden {
display: none !important; }
/* line 141, ../../../../general/res/sass/_global.scss */
/* line 149, ../../../../general/res/sass/_global.scss */
.sep {
color: rgba(255, 255, 255, 0.2); }
@ -1321,7 +1329,7 @@ mct-container {
-o-transition: background, 0.25s;
-webkit-transition: background, 0.25s;
transition: background, 0.25s;
text-shadow: rgba(0, 0, 0, 0.3) 0 1px 1px; }
text-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px; }
/* line 272, ../../../../general/res/sass/_mixins.scss */
.s-btn.major .icon, .major.s-menu-btn .icon {
color: #fff; }
@ -1360,7 +1368,7 @@ mct-container {
-o-transition: background, 0.25s;
-webkit-transition: background, 0.25s;
transition: background, 0.25s;
text-shadow: rgba(0, 0, 0, 0.3) 0 1px 1px; }
text-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px; }
/* line 272, ../../../../general/res/sass/_mixins.scss */
.s-btn:not(.major) .icon, .s-menu-btn:not(.major) .icon {
color: #0099cc; }
@ -1402,7 +1410,7 @@ mct-container {
-o-transition: background, 0.25s;
-webkit-transition: background, 0.25s;
transition: background, 0.25s;
text-shadow: rgba(0, 0, 0, 0.3) 0 1px 1px; }
text-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px; }
/* line 272, ../../../../general/res/sass/_mixins.scss */
.s-btn.pause-play.paused .icon, .pause-play.paused.s-menu-btn .icon {
color: #fff; }
@ -1840,7 +1848,7 @@ label.checkbox.custom {
opacity: 1; } }
/******************************************************** SLIDERS */
/* line 300, ../../../../general/res/sass/controls/_controls.scss */
/* line 298, ../../../../general/res/sass/controls/_controls.scss */
.slider .slot {
width: auto;
position: absolute;
@ -1848,7 +1856,7 @@ label.checkbox.custom {
right: 0;
bottom: 0;
left: 0; }
/* line 312, ../../../../general/res/sass/controls/_controls.scss */
/* line 308, ../../../../general/res/sass/controls/_controls.scss */
.slider .knob {
-moz-transition-property: visibility, opacity, background-color, border-color;
-o-transition-property: visibility, opacity, background-color, border-color;
@ -1862,19 +1870,36 @@ label.checkbox.custom {
-o-transition-timing-function: ease-in-out;
-webkit-transition-timing-function: ease-in-out;
transition-timing-function: ease-in-out;
background-color: rgba(0, 153, 204, 0.3);
cursor: ew-resize;
background-color: rgba(0, 153, 204, 0.6);
position: absolute;
height: 100%;
width: 12px;
width: 10px;
top: 0;
auto: 0;
bottom: auto;
left: auto; }
/* line 317, ../../../../general/res/sass/controls/_controls.scss */
/* line 313, ../../../../general/res/sass/controls/_controls.scss */
.slider .knob:hover {
background-color: #0099cc; }
/* line 335, ../../../../general/res/sass/controls/_controls.scss */
/* line 324, ../../../../general/res/sass/controls/_controls.scss */
.slider .knob-l {
-moz-border-radius-topleft: 10px;
-webkit-border-top-left-radius: 10px;
border-top-left-radius: 10px;
-moz-border-radius-bottomleft: 10px;
-webkit-border-bottom-left-radius: 10px;
border-bottom-left-radius: 10px;
cursor: w-resize; }
/* line 328, ../../../../general/res/sass/controls/_controls.scss */
.slider .knob-r {
-moz-border-radius-topright: 10px;
-webkit-border-top-right-radius: 10px;
border-top-right-radius: 10px;
-moz-border-radius-bottomright: 10px;
-webkit-border-bottom-right-radius: 10px;
border-bottom-right-radius: 10px;
cursor: e-resize; }
/* line 332, ../../../../general/res/sass/controls/_controls.scss */
.slider .range {
-moz-transition-property: visibility, opacity, background-color, border-color;
-o-transition-property: visibility, opacity, background-color, border-color;
@ -1897,12 +1922,12 @@ label.checkbox.custom {
left: auto;
height: auto;
width: auto; }
/* line 346, ../../../../general/res/sass/controls/_controls.scss */
/* line 343, ../../../../general/res/sass/controls/_controls.scss */
.slider .range:hover {
background-color: rgba(0, 153, 204, 0.5); }
/******************************************************** DATETIME PICKER */
/* line 353, ../../../../general/res/sass/controls/_controls.scss */
/* line 350, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker {
-moz-user-select: -moz-none;
-ms-user-select: none;
@ -1911,59 +1936,66 @@ label.checkbox.custom {
font-size: 0.8rem;
padding: 10px !important;
width: 230px; }
/* line 359, ../../../../general/res/sass/controls/_controls.scss */
/* line 356, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-month-year-pager {
font-size: 0.8rem;
height: 15px;
margin-bottom: 5px;
position: relative; }
/* line 371, ../../../../general/res/sass/controls/_controls.scss */
/* line 368, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-month-year-pager .pager {
width: 20px; }
/* line 374, ../../../../general/res/sass/controls/_controls.scss */
/* line 371, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-month-year-pager .pager.prev {
right: auto; }
/* line 376, ../../../../general/res/sass/controls/_controls.scss */
/* line 373, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-month-year-pager .pager.prev:before {
content: "\3c"; }
/* line 380, ../../../../general/res/sass/controls/_controls.scss */
/* line 377, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-month-year-pager .pager.next {
left: auto;
text-align: right; }
/* line 383, ../../../../general/res/sass/controls/_controls.scss */
/* line 380, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-month-year-pager .pager.next:before {
content: "\3e"; }
/* line 388, ../../../../general/res/sass/controls/_controls.scss */
/* line 385, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-month-year-pager .val {
text-align: center;
left: 25px;
right: 25px; }
/* line 391, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-calendar,
.l-datetime-picker .l-time-selects {
border-top: 1px solid rgba(153, 153, 153, 0.1); }
/* line 395, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-time-selects {
line-height: 22px; }
/******************************************************** CALENDAR */
/* line 399, ../../../../general/res/sass/controls/_controls.scss */
/* line 403, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row {
display: -webkit-flex;
display: flex;
-webkit-flex-flow: row nowrap;
flex-flow: row nowrap;
margin-top: 1px; }
/* line 403, ../../../../general/res/sass/controls/_controls.scss */
/* line 407, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row:first-child {
margin-top: 0; }
/* line 406, ../../../../general/res/sass/controls/_controls.scss */
/* line 410, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row li {
-webkit-flex: 1 0;
flex: 1 0;
margin-left: 1px;
padding: 5px;
text-align: center; }
/* line 412, ../../../../general/res/sass/controls/_controls.scss */
/* line 416, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row li:first-child {
margin-left: 0; }
/* line 416, ../../../../general/res/sass/controls/_controls.scss */
/* line 420, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-header li {
color: #b3b3b3; }
/* line 419, ../../../../general/res/sass/controls/_controls.scss */
/* line 423, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-body li {
-moz-transition-property: background-color;
-o-transition-property: background-color;
@ -1978,31 +2010,31 @@ label.checkbox.custom {
-webkit-transition-timing-function: ease-in-out;
transition-timing-function: ease-in-out;
cursor: pointer; }
/* line 422, ../../../../general/res/sass/controls/_controls.scss */
/* line 426, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-body li.in-month {
background-color: #616161; }
/* line 425, ../../../../general/res/sass/controls/_controls.scss */
/* line 429, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-body li .sub {
color: #b3b3b3;
font-size: 0.8em; }
/* line 429, ../../../../general/res/sass/controls/_controls.scss */
/* line 433, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-body li.selected {
background: #006080;
color: #cccccc; }
/* line 432, ../../../../general/res/sass/controls/_controls.scss */
/* line 436, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-body li.selected .sub {
color: inherit; }
/* line 436, ../../../../general/res/sass/controls/_controls.scss */
/* line 440, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-body li:hover {
background-color: #0099cc;
color: #fff; }
/* line 439, ../../../../general/res/sass/controls/_controls.scss */
/* line 443, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-body li:hover .sub {
color: inherit; }
/******************************************************** BROWSER ELEMENTS */
@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) {
/* line 450, ../../../../general/res/sass/controls/_controls.scss */
/* line 454, ../../../../general/res/sass/controls/_controls.scss */
::-webkit-scrollbar {
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
@ -2017,7 +2049,7 @@ label.checkbox.custom {
height: 10px;
width: 10px; }
/* line 459, ../../../../general/res/sass/controls/_controls.scss */
/* line 463, ../../../../general/res/sass/controls/_controls.scss */
::-webkit-scrollbar-thumb {
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzU5NTk1OSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzRkNGQ0ZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
background-size: 100%;
@ -2031,7 +2063,7 @@ label.checkbox.custom {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box; }
/* line 468, ../../../../general/res/sass/controls/_controls.scss */
/* line 472, ../../../../general/res/sass/controls/_controls.scss */
::-webkit-scrollbar-thumb:hover {
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzVlNWU1ZSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzUyNTI1MiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
background-size: 100%;
@ -2040,7 +2072,7 @@ label.checkbox.custom {
background-image: -webkit-linear-gradient(#5e5e5e, #525252 20px);
background-image: linear-gradient(#5e5e5e, #525252 20px); }
/* line 473, ../../../../general/res/sass/controls/_controls.scss */
/* line 477, ../../../../general/res/sass/controls/_controls.scss */
::-webkit-scrollbar-corner {
background: rgba(0, 0, 0, 0.4); } }
/*****************************************************************************
@ -2346,130 +2378,206 @@ label.checkbox.custom {
right: 0;
width: auto; }
/* line 1, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller {
min-width: 400px; }
/* line 9, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder,
.l-time-controller .l-time-range-slider {
font-size: 0.8em; }
/* line 14, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder,
.l-time-controller .l-time-range-slider-holder,
.l-time-controller .l-time-range-ticks-holder {
overflow: visible;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: auto;
height: auto;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
top: auto; }
/* line 23, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider,
.l-time-controller .l-time-range-ticks {
overflow: visible;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: auto;
height: auto; }
/* line 29, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder {
height: 33px;
bottom: 46px;
padding-top: 5px;
border-top: 1px solid rgba(153, 153, 153, 0.1); }
/* line 34, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .type-icon {
font-size: 120%;
vertical-align: middle; }
/* line 38, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .l-time-range-input,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem {
margin-right: 5px; }
/* line 41, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .l-time-range-input .lbl,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .lbl {
color: #666666; }
/* line 44, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .l-time-range-input .ui-symbol.icon, .l-time-controller .l-time-range-inputs-holder .l-time-range-input .l-datetime-picker .l-month-year-pager .icon.pager, .l-datetime-picker .l-month-year-pager .l-time-controller .l-time-range-inputs-holder .l-time-range-input .icon.pager,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .ui-symbol.icon,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .l-datetime-picker .l-month-year-pager .icon.pager,
.l-datetime-picker .l-month-year-pager .l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .icon.pager {
font-size: 11px;
width: 11px; }
/* line 51, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider,
.l-time-controller .l-time-range-ticks {
left: 125px;
right: 125px; }
/* line 57, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder {
height: 20px;
bottom: 23px; }
/* line 60, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder .range-holder {
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
background: none;
border: none; }
/* line 67, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder {
height: 20px; }
/* line 69, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks {
border-top: 1px solid rgba(255, 255, 255, 0.2); }
/* line 71, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks .tick {
background-color: rgba(255, 255, 255, 0.2);
border: none;
height: 5px;
width: 1px;
margin-left: -1px;
position: absolute; }
/* line 78, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks .tick:first-child {
margin-left: 0; }
/* line 81, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks .tick .l-time-range-tick-label {
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
color: #666666;
display: inline-block;
font-size: 0.7em;
position: absolute;
top: 8px;
white-space: nowrap;
z-index: 2; }
/* line 95, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob {
width: 5px; }
/* line 97, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob .range-value {
/* line 27, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder,
.l-time-controller .l-time-range-slider {
font-size: 0.8em; }
/* line 32, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder,
.l-time-controller .l-time-range-slider-holder,
.l-time-controller .l-time-range-ticks-holder {
overflow: visible;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: auto;
height: auto;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
min-width: 400px;
top: auto; }
/* line 42, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider,
.l-time-controller .l-time-range-ticks {
overflow: visible;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: auto;
height: auto;
left: 150px;
right: 150px; }
/* line 49, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder {
height: 33px;
bottom: 46px;
padding-top: 5px;
border-top: 1px solid rgba(153, 153, 153, 0.1); }
/* line 54, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .type-icon {
font-size: 120%;
vertical-align: middle; }
/* line 58, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .l-time-range-input,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem {
margin-right: 5px; }
/* line 61, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .l-time-range-input .lbl,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .lbl {
color: #666666; }
/* line 64, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .l-time-range-input .ui-symbol.icon, .l-time-controller .l-time-range-inputs-holder .l-time-range-input .l-datetime-picker .l-month-year-pager .icon.pager, .l-datetime-picker .l-month-year-pager .l-time-controller .l-time-range-inputs-holder .l-time-range-input .icon.pager,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .ui-symbol.icon,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .l-datetime-picker .l-month-year-pager .icon.pager,
.l-datetime-picker .l-month-year-pager .l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .icon.pager {
font-size: 11px;
width: 11px; }
/* line 71, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder {
height: 20px;
bottom: 23px; }
/* line 74, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder .range-holder {
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
background: none;
border: none; }
/* line 79, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder .range-holder .range .toi-line {
-moz-transform: translateX(50%);
-ms-transform: translateX(50%);
-webkit-transform: translateX(50%);
transform: translateX(50%);
position: absolute;
height: 20px;
line-height: 20px;
white-space: nowrap; }
/* line 103, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob:hover .range-value {
color: #0099cc; }
/* line 108, ../../../../general/res/sass/controls/_time-controller.scss */
top: 0;
right: 0;
bottom: 0px;
left: auto;
width: 8px;
height: auto;
z-index: 2; }
/* line 89, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder .range-holder .range .toi-line:before, .l-time-controller .l-time-range-slider-holder .range-holder .range .toi-line:after {
background-color: #00c2ff;
content: "";
position: absolute; }
/* line 95, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder .range-holder .range .toi-line:before {
top: 0;
right: auto;
bottom: -10px;
left: 3px;
width: 2px; }
/* line 101, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder .range-holder .range .toi-line:after {
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
-moz-transform: translateY(-50%);
-ms-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
top: 50%;
right: 0;
bottom: auto;
left: 0;
width: auto;
height: 8px; }
/* line 3, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder .range-holder .range:hover .toi-line:before, .l-time-controller .l-time-range-slider-holder .range-holder .range:hover .toi-line:after {
background-color: #fff; }
/* line 117, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder:not(:active) .knob,
.l-time-controller .l-time-range-slider-holder:not(:active) .range {
-moz-transition-property: left, right;
-o-transition-property: left, right;
-webkit-transition-property: left, right;
transition-property: left, right;
-moz-transition-duration: 500ms;
-o-transition-duration: 500ms;
-webkit-transition-duration: 500ms;
transition-duration: 500ms;
-moz-transition-timing-function: ease-in-out;
-o-transition-timing-function: ease-in-out;
-webkit-transition-timing-function: ease-in-out;
transition-timing-function: ease-in-out; }
/* line 126, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder {
height: 20px; }
/* line 128, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks {
border-top: 1px solid rgba(255, 255, 255, 0.2); }
/* line 130, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks .tick {
background-color: rgba(255, 255, 255, 0.2);
border: none;
height: 5px;
width: 1px;
margin-left: -1px;
position: absolute; }
/* line 137, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks .tick:first-child {
margin-left: 0; }
/* line 140, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks .tick .l-time-range-tick-label {
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
color: #666666;
display: inline-block;
font-size: 0.7em;
position: absolute;
top: 8px;
white-space: nowrap;
z-index: 2; }
/* line 154, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob {
z-index: 2; }
/* line 156, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob .range-value {
-moz-transition-property: visibility, opacity, background-color, border-color;
-o-transition-property: visibility, opacity, background-color, border-color;
-webkit-transition-property: visibility, opacity, background-color, border-color;
transition-property: visibility, opacity, background-color, border-color;
-moz-transition-duration: 0.25s;
-o-transition-duration: 0.25s;
-webkit-transition-duration: 0.25s;
transition-duration: 0.25s;
-moz-transition-timing-function: ease-in-out;
-o-transition-timing-function: ease-in-out;
-webkit-transition-timing-function: ease-in-out;
transition-timing-function: ease-in-out;
padding: 0 10px;
position: absolute;
height: 20px;
line-height: 20px;
white-space: nowrap; }
/* line 165, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob:hover .range-value {
color: #0099cc; }
/* line 168, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob.knob-l {
margin-left: -10px; }
/* line 171, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob.knob-l .range-value {
text-align: right;
right: 10px; }
/* line 115, ../../../../general/res/sass/controls/_time-controller.scss */
/* line 176, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob.knob-r {
margin-right: -10px; }
/* line 179, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob.knob-r .range-value {
left: 10px; }
/* line 3, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob.knob-r:hover + .range-holder .range .toi-line:before, .l-time-controller .knob.knob-r:hover + .range-holder .range .toi-line:after {
background-color: #fff; }
/* line 126, ../../../../general/res/sass/controls/_time-controller.scss */
/* line 193, ../../../../general/res/sass/controls/_time-controller.scss */
.s-time-range-val {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
@ -2769,11 +2877,12 @@ textarea {
-o-transition: background, 0.25s;
-webkit-transition: background, 0.25s;
transition: background, 0.25s;
text-shadow: rgba(0, 0, 0, 0.3) 0 1px 1px;
margin: 0 0 2px 2px;
text-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px;
margin: 0 0 2px 0;
padding: 0 5px;
overflow: hidden;
position: relative; }
position: relative;
line-height: 22px; }
/* line 272, ../../../../general/res/sass/_mixins.scss */
.select .icon {
color: #0099cc; }
@ -2784,7 +2893,7 @@ textarea {
/* line 279, ../../../../general/res/sass/_mixins.scss */
.select:not(.disabled):hover > .icon {
color: #33ccff; } }
/* line 28, ../../../../general/res/sass/forms/_selects.scss */
/* line 31, ../../../../general/res/sass/forms/_selects.scss */
.select select {
-moz-appearance: none;
-webkit-appearance: none;
@ -2797,10 +2906,10 @@ textarea {
border: none !important;
padding: 4px 25px 2px 0px;
width: 120%; }
/* line 37, ../../../../general/res/sass/forms/_selects.scss */
/* line 40, ../../../../general/res/sass/forms/_selects.scss */
.select select option {
margin: 5px 0; }
/* line 41, ../../../../general/res/sass/forms/_selects.scss */
/* line 44, ../../../../general/res/sass/forms/_selects.scss */
.select:after {
text-shadow: none;
content: '\76';
@ -2896,26 +3005,44 @@ textarea {
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/* line 23, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime span {
display: inline-block;
margin-right: 5px; }
/* line 36, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .fields {
margin-top: 3px 0;
padding: 3px 0; }
/* line 41, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .date {
width: 85px; }
/* line 44, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .date input {
width: 80px; }
/* line 50, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .time.sm {
width: 45px; }
/* line 53, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .time.sm input {
width: 40px; }
/* line 29, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime {
/*
.field-hints,
.fields {
}
.field-hints {
}
*/ }
/* line 30, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime span {
display: inline-block;
margin-right: 5px; }
/* line 46, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .fields {
margin-top: 3px 0;
padding: 3px 0; }
/* line 51, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .date {
width: 85px; }
/* line 24, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .date input[type="text"] {
width: 80px; }
/* line 55, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .time.md {
width: 65px; }
/* line 24, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .time.md input[type="text"] {
width: 60px; }
/* line 59, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .time.sm {
width: 45px; }
/* line 24, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .time.sm input[type="text"] {
width: 40px; }
/*****************************************************************************
* Open MCT Web, Copyright (c) 2014-2015, United States Government
@ -3319,26 +3446,26 @@ span.req {
min-height: 50px;
height: 30%; }
/* line 230, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 228, ../../../../general/res/sass/user-environ/_layout.scss */
.pane {
position: absolute; }
/* line 233, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 231, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .create-btn-holder {
bottom: auto;
top: 0;
height: 24px; }
/* line 236, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 235, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .create-btn-holder .wrapper.menu-element {
position: absolute;
bottom: 5px; }
/* line 241, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 240, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .search-holder {
top: 34px; }
/* line 244, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 243, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .tree-holder {
overflow: auto;
top: 64px; }
/* line 251, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 250, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.items .object-browse-bar .left.abs, .pane.items .object-browse-bar .l-datetime-picker .l-month-year-pager .left.pager, .l-datetime-picker .l-month-year-pager .pane.items .object-browse-bar .left.pager,
.pane.items .object-browse-bar .l-datetime-picker .l-month-year-pager .left.val,
.l-datetime-picker .l-month-year-pager .pane.items .object-browse-bar .left.val, .pane.items .object-browse-bar .s-menu-btn span.left.l-click-area, .s-menu-btn .pane.items .object-browse-bar span.left.l-click-area,
@ -3350,34 +3477,46 @@ span.req {
.pane.items .object-browse-bar .s-menu-btn span.right.l-click-area,
.s-menu-btn .pane.items .object-browse-bar span.right.l-click-area {
top: auto; }
/* line 262, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.items .object-holder {
top: 34px; }
/* line 266, ../../../../general/res/sass/user-environ/_layout.scss */
.pane .object-holder {
overflow: auto; }
/* line 274, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 261, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.horizontal > .pane {
margin-top: 5px; }
/* line 277, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 264, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.horizontal > .pane:first-child {
margin-top: 0; }
/* line 284, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 271, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane {
margin-left: 5px; }
/* line 287, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 274, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane > .holder {
left: 0;
right: 0; }
/* line 291, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 278, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane:first-child {
margin-left: 0; }
/* line 293, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 280, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane:first-child .holder {
right: 3px; }
/* line 302, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 289, ../../../../general/res/sass/user-environ/_layout.scss */
.object-holder {
overflow: hidden;
top: 34px; }
/* line 292, ../../../../general/res/sass/user-environ/_layout.scss */
.object-holder > ng-include {
overflow: auto;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: auto;
height: auto; }
/* line 297, ../../../../general/res/sass/user-environ/_layout.scss */
.object-holder.l-controls-visible.l-time-controller-visible > ng-include {
bottom: 88px; }
/* line 304, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .s-btn, .object-browse-bar .s-menu-btn,
.top-bar .buttons-main .s-btn,
.top-bar .buttons-main .s-menu-btn,
@ -3389,12 +3528,12 @@ span.req {
line-height: 25px;
vertical-align: top; }
/* line 315, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 317, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .view-switcher,
.top-bar .view-switcher {
margin-right: 20px; }
/* line 320, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 322, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar {
overflow: visible;
position: absolute;
@ -3410,31 +3549,27 @@ span.req {
height: 24px;
line-height: 24px;
white-space: nowrap; }
/* line 328, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 330, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .left {
padding-right: 20px; }
/* line 330, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 332, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .left .l-back {
display: inline-block;
float: left;
margin-right: 10px; }
/* line 338, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 340, ../../../../general/res/sass/user-environ/_layout.scss */
.l-flex {
display: flex;
display: -webkit-flex;
flex-flow: row nowrap;
-webkit-flex-flow: row nowrap; }
/* line 341, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 343, ../../../../general/res/sass/user-environ/_layout.scss */
.l-flex .left {
flex: 1 1 0;
-webkit-flex: 1 1 0;
padding-right: 10px; }
/* line 348, ../../../../general/res/sass/user-environ/_layout.scss */
.vscroll {
overflow-y: auto; }
/*****************************************************************************
* Open MCT Web, Copyright (c) 2014-2015, United States Government
* as represented by the Administrator of the National Aeronautics and Space
@ -4093,7 +4228,7 @@ span.req {
-o-transition: background, 0.25s;
-webkit-transition: background, 0.25s;
transition: background, 0.25s;
text-shadow: rgba(0, 0, 0, 0.3) 0 1px 1px; }
text-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px; }
/* line 272, ../../../../general/res/sass/_mixins.scss */
.overlay .bottom-bar .s-btn:not(.major) .icon, .overlay .bottom-bar .s-menu-btn:not(.major) .icon {
color: #fff; }
@ -5399,9 +5534,6 @@ table {
.l-view-section.fixed {
font-size: 0.8em; }
/* line 13, ../../../../general/res/sass/_views.scss */
.l-view-section.scrolling {
overflow: auto; }
/* line 16, ../../../../general/res/sass/_views.scss */
.l-view-section .controls,
.l-view-section label,
.l-view-section .inline-block {
@ -5464,7 +5596,7 @@ table {
-o-transition: background, 0.25s;
-webkit-transition: background, 0.25s;
transition: background, 0.25s;
text-shadow: rgba(0, 0, 0, 0.3) 0 1px 1px;
text-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px;
box-sizing: border-box;
cursor: pointer;
float: left;
@ -5613,7 +5745,7 @@ table {
-o-transition: background, 0.25s;
-webkit-transition: background, 0.25s;
transition: background, 0.25s;
text-shadow: rgba(0, 0, 0, 0.3) 0 1px 1px;
text-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px;
color: #80dfff; }
/* line 272, ../../../../general/res/sass/_mixins.scss */
.items-holder .item.grid-item.selected .icon {

View File

@ -31,7 +31,9 @@ $sliderColorKnob: rgba($sliderColorBase, 0.6);
$sliderColorKnobHov: $sliderColorBase;
$sliderColorRangeValHovBg: rgba($sliderColorBase, 0.1);
$sliderColorRangeValHovFg: $colorKeyFg;
$sliderKnobW: 4px;
$sliderKnobW: nth($ueTimeControlH,2)/2;
$timeControllerToiLineColor: #00c2ff;
$timeControllerToiLineColorHov: #fff;
// General Colors
$colorAlt1: #ffc700;

View File

@ -20,7 +20,7 @@
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/* line 5, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 5, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
@ -41,38 +41,38 @@ time, mark, audio, video {
font-size: 100%;
vertical-align: baseline; }
/* line 22, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 22, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
html {
line-height: 1; }
/* line 24, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 24, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
ol, ul {
list-style: none; }
/* line 26, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 26, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
table {
border-collapse: collapse;
border-spacing: 0; }
/* line 28, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 28, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
caption, th, td {
text-align: left;
font-weight: normal;
vertical-align: middle; }
/* line 30, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 30, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
q, blockquote {
quotes: none; }
/* line 103, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 103, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
q:before, q:after, blockquote:before, blockquote:after {
content: "";
content: none; }
/* line 32, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 32, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
a img {
border: none; }
/* line 116, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 116, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
display: block; }
@ -404,21 +404,29 @@ mct-container {
text-align: center; }
/* line 128, ../../../../general/res/sass/_global.scss */
.scrolling {
overflow: auto; }
/* line 132, ../../../../general/res/sass/_global.scss */
.vscroll {
overflow-y: auto; }
/* line 136, ../../../../general/res/sass/_global.scss */
.no-margin {
margin: 0; }
/* line 132, ../../../../general/res/sass/_global.scss */
/* line 140, ../../../../general/res/sass/_global.scss */
.ds {
-moz-box-shadow: rgba(0, 0, 0, 0.7) 0 4px 10px 2px;
-webkit-box-shadow: rgba(0, 0, 0, 0.7) 0 4px 10px 2px;
box-shadow: rgba(0, 0, 0, 0.7) 0 4px 10px 2px; }
/* line 136, ../../../../general/res/sass/_global.scss */
/* line 144, ../../../../general/res/sass/_global.scss */
.hide,
.hidden {
display: none !important; }
/* line 141, ../../../../general/res/sass/_global.scss */
/* line 149, ../../../../general/res/sass/_global.scss */
.sep {
color: rgba(255, 255, 255, 0.2); }
@ -1810,7 +1818,7 @@ label.checkbox.custom {
opacity: 1; } }
/******************************************************** SLIDERS */
/* line 300, ../../../../general/res/sass/controls/_controls.scss */
/* line 298, ../../../../general/res/sass/controls/_controls.scss */
.slider .slot {
width: auto;
position: absolute;
@ -1818,7 +1826,7 @@ label.checkbox.custom {
right: 0;
bottom: 0;
left: 0; }
/* line 312, ../../../../general/res/sass/controls/_controls.scss */
/* line 308, ../../../../general/res/sass/controls/_controls.scss */
.slider .knob {
-moz-transition-property: visibility, opacity, background-color, border-color;
-o-transition-property: visibility, opacity, background-color, border-color;
@ -1832,19 +1840,36 @@ label.checkbox.custom {
-o-transition-timing-function: ease-in-out;
-webkit-transition-timing-function: ease-in-out;
transition-timing-function: ease-in-out;
background-color: rgba(0, 153, 204, 0.3);
cursor: ew-resize;
background-color: rgba(0, 153, 204, 0.5);
position: absolute;
height: 100%;
width: 12px;
width: 10px;
top: 0;
auto: 0;
bottom: auto;
left: auto; }
/* line 317, ../../../../general/res/sass/controls/_controls.scss */
/* line 313, ../../../../general/res/sass/controls/_controls.scss */
.slider .knob:hover {
background-color: #0099cc; }
/* line 335, ../../../../general/res/sass/controls/_controls.scss */
background-color: rgba(0, 153, 204, 0.7); }
/* line 324, ../../../../general/res/sass/controls/_controls.scss */
.slider .knob-l {
-moz-border-radius-topleft: 10px;
-webkit-border-top-left-radius: 10px;
border-top-left-radius: 10px;
-moz-border-radius-bottomleft: 10px;
-webkit-border-bottom-left-radius: 10px;
border-bottom-left-radius: 10px;
cursor: w-resize; }
/* line 328, ../../../../general/res/sass/controls/_controls.scss */
.slider .knob-r {
-moz-border-radius-topright: 10px;
-webkit-border-top-right-radius: 10px;
border-top-right-radius: 10px;
-moz-border-radius-bottomright: 10px;
-webkit-border-bottom-right-radius: 10px;
border-bottom-right-radius: 10px;
cursor: e-resize; }
/* line 332, ../../../../general/res/sass/controls/_controls.scss */
.slider .range {
-moz-transition-property: visibility, opacity, background-color, border-color;
-o-transition-property: visibility, opacity, background-color, border-color;
@ -1858,7 +1883,7 @@ label.checkbox.custom {
-o-transition-timing-function: ease-in-out;
-webkit-transition-timing-function: ease-in-out;
transition-timing-function: ease-in-out;
background-color: rgba(0, 153, 204, 0.3);
background-color: rgba(0, 153, 204, 0.2);
cursor: ew-resize;
position: absolute;
top: 0;
@ -1867,12 +1892,12 @@ label.checkbox.custom {
left: auto;
height: auto;
width: auto; }
/* line 346, ../../../../general/res/sass/controls/_controls.scss */
/* line 343, ../../../../general/res/sass/controls/_controls.scss */
.slider .range:hover {
background-color: rgba(0, 153, 204, 0.5); }
background-color: rgba(0, 153, 204, 0.4); }
/******************************************************** DATETIME PICKER */
/* line 353, ../../../../general/res/sass/controls/_controls.scss */
/* line 350, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker {
-moz-user-select: -moz-none;
-ms-user-select: none;
@ -1881,59 +1906,66 @@ label.checkbox.custom {
font-size: 0.8rem;
padding: 10px !important;
width: 230px; }
/* line 359, ../../../../general/res/sass/controls/_controls.scss */
/* line 356, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-month-year-pager {
font-size: 0.8rem;
height: 15px;
margin-bottom: 5px;
position: relative; }
/* line 371, ../../../../general/res/sass/controls/_controls.scss */
/* line 368, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-month-year-pager .pager {
width: 20px; }
/* line 374, ../../../../general/res/sass/controls/_controls.scss */
/* line 371, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-month-year-pager .pager.prev {
right: auto; }
/* line 376, ../../../../general/res/sass/controls/_controls.scss */
/* line 373, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-month-year-pager .pager.prev:before {
content: "\3c"; }
/* line 380, ../../../../general/res/sass/controls/_controls.scss */
/* line 377, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-month-year-pager .pager.next {
left: auto;
text-align: right; }
/* line 383, ../../../../general/res/sass/controls/_controls.scss */
/* line 380, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-month-year-pager .pager.next:before {
content: "\3e"; }
/* line 388, ../../../../general/res/sass/controls/_controls.scss */
/* line 385, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-month-year-pager .val {
text-align: center;
left: 25px;
right: 25px; }
/* line 391, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-calendar,
.l-datetime-picker .l-time-selects {
border-top: 1px solid rgba(102, 102, 102, 0.2); }
/* line 395, ../../../../general/res/sass/controls/_controls.scss */
.l-datetime-picker .l-time-selects {
line-height: 22px; }
/******************************************************** CALENDAR */
/* line 399, ../../../../general/res/sass/controls/_controls.scss */
/* line 403, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row {
display: -webkit-flex;
display: flex;
-webkit-flex-flow: row nowrap;
flex-flow: row nowrap;
margin-top: 1px; }
/* line 403, ../../../../general/res/sass/controls/_controls.scss */
/* line 407, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row:first-child {
margin-top: 0; }
/* line 406, ../../../../general/res/sass/controls/_controls.scss */
/* line 410, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row li {
-webkit-flex: 1 0;
flex: 1 0;
margin-left: 1px;
padding: 5px;
text-align: center; }
/* line 412, ../../../../general/res/sass/controls/_controls.scss */
/* line 416, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row li:first-child {
margin-left: 0; }
/* line 416, ../../../../general/res/sass/controls/_controls.scss */
/* line 420, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-header li {
color: #999999; }
/* line 419, ../../../../general/res/sass/controls/_controls.scss */
/* line 423, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-body li {
-moz-transition-property: background-color;
-o-transition-property: background-color;
@ -1948,31 +1980,31 @@ label.checkbox.custom {
-webkit-transition-timing-function: ease-in-out;
transition-timing-function: ease-in-out;
cursor: pointer; }
/* line 422, ../../../../general/res/sass/controls/_controls.scss */
/* line 426, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-body li.in-month {
background-color: #f2f2f2; }
/* line 425, ../../../../general/res/sass/controls/_controls.scss */
/* line 429, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-body li .sub {
color: #999999;
font-size: 0.8em; }
/* line 429, ../../../../general/res/sass/controls/_controls.scss */
/* line 433, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-body li.selected {
background: #1ac6ff;
color: #fcfcfc; }
/* line 432, ../../../../general/res/sass/controls/_controls.scss */
/* line 436, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-body li.selected .sub {
color: inherit; }
/* line 436, ../../../../general/res/sass/controls/_controls.scss */
/* line 440, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-body li:hover {
background-color: #0099cc;
color: #fff; }
/* line 439, ../../../../general/res/sass/controls/_controls.scss */
/* line 443, ../../../../general/res/sass/controls/_controls.scss */
.l-calendar ul.l-cal-row.l-body li:hover .sub {
color: inherit; }
/******************************************************** BROWSER ELEMENTS */
@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) {
/* line 450, ../../../../general/res/sass/controls/_controls.scss */
/* line 454, ../../../../general/res/sass/controls/_controls.scss */
::-webkit-scrollbar {
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
@ -1987,7 +2019,7 @@ label.checkbox.custom {
height: 10px;
width: 10px; }
/* line 459, ../../../../general/res/sass/controls/_controls.scss */
/* line 463, ../../../../general/res/sass/controls/_controls.scss */
::-webkit-scrollbar-thumb {
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzg5ODk4OSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzdkN2Q3ZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
background-size: 100%;
@ -2001,7 +2033,7 @@ label.checkbox.custom {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box; }
/* line 468, ../../../../general/res/sass/controls/_controls.scss */
/* line 472, ../../../../general/res/sass/controls/_controls.scss */
::-webkit-scrollbar-thumb:hover {
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwYWNlNiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzAwOTljYyIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
background-size: 100%;
@ -2010,7 +2042,7 @@ label.checkbox.custom {
background-image: -webkit-linear-gradient(#00ace6, #0099cc 20px);
background-image: linear-gradient(#00ace6, #0099cc 20px); }
/* line 473, ../../../../general/res/sass/controls/_controls.scss */
/* line 477, ../../../../general/res/sass/controls/_controls.scss */
::-webkit-scrollbar-corner {
background: rgba(0, 0, 0, 0.1); } }
/*****************************************************************************
@ -2310,130 +2342,206 @@ label.checkbox.custom {
right: 0;
width: auto; }
/* line 1, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller {
min-width: 400px; }
/* line 9, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder,
.l-time-controller .l-time-range-slider {
font-size: 0.8em; }
/* line 14, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder,
.l-time-controller .l-time-range-slider-holder,
.l-time-controller .l-time-range-ticks-holder {
overflow: visible;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: auto;
height: auto;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
top: auto; }
/* line 23, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider,
.l-time-controller .l-time-range-ticks {
overflow: visible;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: auto;
height: auto; }
/* line 29, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder {
height: 33px;
bottom: 46px;
padding-top: 5px;
border-top: 1px solid rgba(102, 102, 102, 0.2); }
/* line 34, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .type-icon {
font-size: 120%;
vertical-align: middle; }
/* line 38, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .l-time-range-input,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem {
margin-right: 5px; }
/* line 41, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .l-time-range-input .lbl,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .lbl {
color: #999999; }
/* line 44, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .l-time-range-input .ui-symbol.icon, .l-time-controller .l-time-range-inputs-holder .l-time-range-input .l-datetime-picker .l-month-year-pager .icon.pager, .l-datetime-picker .l-month-year-pager .l-time-controller .l-time-range-inputs-holder .l-time-range-input .icon.pager,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .ui-symbol.icon,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .l-datetime-picker .l-month-year-pager .icon.pager,
.l-datetime-picker .l-month-year-pager .l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .icon.pager {
font-size: 11px;
width: 11px; }
/* line 51, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider,
.l-time-controller .l-time-range-ticks {
left: 125px;
right: 125px; }
/* line 57, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder {
height: 20px;
bottom: 23px; }
/* line 60, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder .range-holder {
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
background: none;
border: none; }
/* line 67, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder {
height: 20px; }
/* line 69, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks {
border-top: 1px solid rgba(0, 0, 0, 0.2); }
/* line 71, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks .tick {
background-color: rgba(0, 0, 0, 0.2);
border: none;
height: 5px;
width: 1px;
margin-left: -1px;
position: absolute; }
/* line 78, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks .tick:first-child {
margin-left: 0; }
/* line 81, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks .tick .l-time-range-tick-label {
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
color: #999999;
display: inline-block;
font-size: 0.7em;
position: absolute;
top: 8px;
white-space: nowrap;
z-index: 2; }
/* line 95, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob {
width: 5px; }
/* line 97, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob .range-value {
/* line 27, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder,
.l-time-controller .l-time-range-slider {
font-size: 0.8em; }
/* line 32, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder,
.l-time-controller .l-time-range-slider-holder,
.l-time-controller .l-time-range-ticks-holder {
overflow: visible;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: auto;
height: auto;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
min-width: 400px;
top: auto; }
/* line 42, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider,
.l-time-controller .l-time-range-ticks {
overflow: visible;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: auto;
height: auto;
left: 150px;
right: 150px; }
/* line 49, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder {
height: 33px;
bottom: 46px;
padding-top: 5px;
border-top: 1px solid rgba(102, 102, 102, 0.2); }
/* line 54, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .type-icon {
font-size: 120%;
vertical-align: middle; }
/* line 58, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .l-time-range-input,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem {
margin-right: 5px; }
/* line 61, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .l-time-range-input .lbl,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .lbl {
color: #999999; }
/* line 64, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-inputs-holder .l-time-range-input .ui-symbol.icon, .l-time-controller .l-time-range-inputs-holder .l-time-range-input .l-datetime-picker .l-month-year-pager .icon.pager, .l-datetime-picker .l-month-year-pager .l-time-controller .l-time-range-inputs-holder .l-time-range-input .icon.pager,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .ui-symbol.icon,
.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .l-datetime-picker .l-month-year-pager .icon.pager,
.l-datetime-picker .l-month-year-pager .l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .icon.pager {
font-size: 11px;
width: 11px; }
/* line 71, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder {
height: 20px;
bottom: 23px; }
/* line 74, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder .range-holder {
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
background: none;
border: none; }
/* line 79, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder .range-holder .range .toi-line {
-moz-transform: translateX(50%);
-ms-transform: translateX(50%);
-webkit-transform: translateX(50%);
transform: translateX(50%);
position: absolute;
height: 20px;
line-height: 20px;
white-space: nowrap; }
/* line 103, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob:hover .range-value {
color: #0099cc; }
/* line 108, ../../../../general/res/sass/controls/_time-controller.scss */
top: 0;
right: 0;
bottom: 0px;
left: auto;
width: 8px;
height: auto;
z-index: 2; }
/* line 89, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder .range-holder .range .toi-line:before, .l-time-controller .l-time-range-slider-holder .range-holder .range .toi-line:after {
background-color: #666;
content: "";
position: absolute; }
/* line 95, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder .range-holder .range .toi-line:before {
top: 0;
right: auto;
bottom: -10px;
left: 3px;
width: 2px; }
/* line 101, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder .range-holder .range .toi-line:after {
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
-moz-transform: translateY(-50%);
-ms-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
top: 50%;
right: 0;
bottom: auto;
left: 0;
width: auto;
height: 8px; }
/* line 3, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder .range-holder .range:hover .toi-line:before, .l-time-controller .l-time-range-slider-holder .range-holder .range:hover .toi-line:after {
background-color: #0052b5; }
/* line 117, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-slider-holder:not(:active) .knob,
.l-time-controller .l-time-range-slider-holder:not(:active) .range {
-moz-transition-property: left, right;
-o-transition-property: left, right;
-webkit-transition-property: left, right;
transition-property: left, right;
-moz-transition-duration: 500ms;
-o-transition-duration: 500ms;
-webkit-transition-duration: 500ms;
transition-duration: 500ms;
-moz-transition-timing-function: ease-in-out;
-o-transition-timing-function: ease-in-out;
-webkit-transition-timing-function: ease-in-out;
transition-timing-function: ease-in-out; }
/* line 126, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder {
height: 20px; }
/* line 128, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks {
border-top: 1px solid rgba(0, 0, 0, 0.2); }
/* line 130, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks .tick {
background-color: rgba(0, 0, 0, 0.2);
border: none;
height: 5px;
width: 1px;
margin-left: -1px;
position: absolute; }
/* line 137, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks .tick:first-child {
margin-left: 0; }
/* line 140, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .l-time-range-ticks-holder .l-time-range-ticks .tick .l-time-range-tick-label {
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
color: #999999;
display: inline-block;
font-size: 0.7em;
position: absolute;
top: 8px;
white-space: nowrap;
z-index: 2; }
/* line 154, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob {
z-index: 2; }
/* line 156, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob .range-value {
-moz-transition-property: visibility, opacity, background-color, border-color;
-o-transition-property: visibility, opacity, background-color, border-color;
-webkit-transition-property: visibility, opacity, background-color, border-color;
transition-property: visibility, opacity, background-color, border-color;
-moz-transition-duration: 0.25s;
-o-transition-duration: 0.25s;
-webkit-transition-duration: 0.25s;
transition-duration: 0.25s;
-moz-transition-timing-function: ease-in-out;
-o-transition-timing-function: ease-in-out;
-webkit-transition-timing-function: ease-in-out;
transition-timing-function: ease-in-out;
padding: 0 10px;
position: absolute;
height: 20px;
line-height: 20px;
white-space: nowrap; }
/* line 165, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob:hover .range-value {
color: rgba(0, 153, 204, 0.7); }
/* line 168, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob.knob-l {
margin-left: -10px; }
/* line 171, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob.knob-l .range-value {
text-align: right;
right: 10px; }
/* line 115, ../../../../general/res/sass/controls/_time-controller.scss */
/* line 176, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob.knob-r {
margin-right: -10px; }
/* line 179, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob.knob-r .range-value {
left: 10px; }
/* line 3, ../../../../general/res/sass/controls/_time-controller.scss */
.l-time-controller .knob.knob-r:hover + .range-holder .range .toi-line:before, .l-time-controller .knob.knob-r:hover + .range-holder .range .toi-line:after {
background-color: #0052b5; }
/* line 126, ../../../../general/res/sass/controls/_time-controller.scss */
/* line 193, ../../../../general/res/sass/controls/_time-controller.scss */
.s-time-range-val {
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
@ -2725,14 +2833,14 @@ textarea {
-webkit-transition: background, 0.25s;
transition: background, 0.25s;
text-shadow: none;
margin: 0 0 2px 2px;
padding: 0 5px;
overflow: hidden;
position: relative; }
position: relative;
line-height: 22px; }
/* line 272, ../../../../general/res/sass/_mixins.scss */
.select .icon {
color: #eee; }
/* line 28, ../../../../general/res/sass/forms/_selects.scss */
/* line 31, ../../../../general/res/sass/forms/_selects.scss */
.select select {
-moz-appearance: none;
-webkit-appearance: none;
@ -2745,10 +2853,10 @@ textarea {
border: none !important;
padding: 4px 25px 2px 0px;
width: 120%; }
/* line 37, ../../../../general/res/sass/forms/_selects.scss */
/* line 40, ../../../../general/res/sass/forms/_selects.scss */
.select select option {
margin: 5px 0; }
/* line 41, ../../../../general/res/sass/forms/_selects.scss */
/* line 44, ../../../../general/res/sass/forms/_selects.scss */
.select:after {
text-shadow: none;
content: '\76';
@ -2844,26 +2952,44 @@ textarea {
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/* line 23, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime span {
display: inline-block;
margin-right: 5px; }
/* line 36, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .fields {
margin-top: 3px 0;
padding: 3px 0; }
/* line 41, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .date {
width: 85px; }
/* line 44, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .date input {
width: 80px; }
/* line 50, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .time.sm {
width: 45px; }
/* line 53, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .time.sm input {
width: 40px; }
/* line 29, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime {
/*
.field-hints,
.fields {
}
.field-hints {
}
*/ }
/* line 30, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime span {
display: inline-block;
margin-right: 5px; }
/* line 46, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .fields {
margin-top: 3px 0;
padding: 3px 0; }
/* line 51, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .date {
width: 85px; }
/* line 24, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .date input[type="text"] {
width: 80px; }
/* line 55, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .time.md {
width: 65px; }
/* line 24, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .time.md input[type="text"] {
width: 60px; }
/* line 59, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .time.sm {
width: 45px; }
/* line 24, ../../../../general/res/sass/forms/_datetime.scss */
.complex.datetime .time.sm input[type="text"] {
width: 40px; }
/*****************************************************************************
* Open MCT Web, Copyright (c) 2014-2015, United States Government
@ -3267,26 +3393,26 @@ span.req {
min-height: 50px;
height: 30%; }
/* line 230, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 228, ../../../../general/res/sass/user-environ/_layout.scss */
.pane {
position: absolute; }
/* line 233, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 231, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .create-btn-holder {
bottom: auto;
top: 0;
height: 24px; }
/* line 236, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 235, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .create-btn-holder .wrapper.menu-element {
position: absolute;
bottom: 5px; }
/* line 241, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 240, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .search-holder {
top: 34px; }
/* line 244, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 243, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .tree-holder {
overflow: auto;
top: 64px; }
/* line 251, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 250, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.items .object-browse-bar .left.abs, .pane.items .object-browse-bar .l-datetime-picker .l-month-year-pager .left.pager, .l-datetime-picker .l-month-year-pager .pane.items .object-browse-bar .left.pager,
.pane.items .object-browse-bar .l-datetime-picker .l-month-year-pager .left.val,
.l-datetime-picker .l-month-year-pager .pane.items .object-browse-bar .left.val, .pane.items .object-browse-bar .s-menu-btn span.left.l-click-area, .s-menu-btn .pane.items .object-browse-bar span.left.l-click-area,
@ -3298,34 +3424,46 @@ span.req {
.pane.items .object-browse-bar .s-menu-btn span.right.l-click-area,
.s-menu-btn .pane.items .object-browse-bar span.right.l-click-area {
top: auto; }
/* line 262, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.items .object-holder {
top: 34px; }
/* line 266, ../../../../general/res/sass/user-environ/_layout.scss */
.pane .object-holder {
overflow: auto; }
/* line 274, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 261, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.horizontal > .pane {
margin-top: 5px; }
/* line 277, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 264, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.horizontal > .pane:first-child {
margin-top: 0; }
/* line 284, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 271, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane {
margin-left: 5px; }
/* line 287, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 274, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane > .holder {
left: 0;
right: 0; }
/* line 291, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 278, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane:first-child {
margin-left: 0; }
/* line 293, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 280, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane:first-child .holder {
right: 3px; }
/* line 302, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 289, ../../../../general/res/sass/user-environ/_layout.scss */
.object-holder {
overflow: hidden;
top: 34px; }
/* line 292, ../../../../general/res/sass/user-environ/_layout.scss */
.object-holder > ng-include {
overflow: auto;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: auto;
height: auto; }
/* line 297, ../../../../general/res/sass/user-environ/_layout.scss */
.object-holder.l-controls-visible.l-time-controller-visible > ng-include {
bottom: 88px; }
/* line 304, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .s-btn, .object-browse-bar .s-menu-btn,
.top-bar .buttons-main .s-btn,
.top-bar .buttons-main .s-menu-btn,
@ -3337,12 +3475,12 @@ span.req {
line-height: 25px;
vertical-align: top; }
/* line 315, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 317, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .view-switcher,
.top-bar .view-switcher {
margin-right: 20px; }
/* line 320, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 322, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar {
overflow: visible;
position: absolute;
@ -3358,31 +3496,27 @@ span.req {
height: 24px;
line-height: 24px;
white-space: nowrap; }
/* line 328, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 330, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .left {
padding-right: 20px; }
/* line 330, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 332, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .left .l-back {
display: inline-block;
float: left;
margin-right: 10px; }
/* line 338, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 340, ../../../../general/res/sass/user-environ/_layout.scss */
.l-flex {
display: flex;
display: -webkit-flex;
flex-flow: row nowrap;
-webkit-flex-flow: row nowrap; }
/* line 341, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 343, ../../../../general/res/sass/user-environ/_layout.scss */
.l-flex .left {
flex: 1 1 0;
-webkit-flex: 1 1 0;
padding-right: 10px; }
/* line 348, ../../../../general/res/sass/user-environ/_layout.scss */
.vscroll {
overflow-y: auto; }
/*****************************************************************************
* Open MCT Web, Copyright (c) 2014-2015, United States Government
* as represented by the Administrator of the National Aeronautics and Space
@ -5328,9 +5462,6 @@ table {
.l-view-section.fixed {
font-size: 0.8em; }
/* line 13, ../../../../general/res/sass/_views.scss */
.l-view-section.scrolling {
overflow: auto; }
/* line 16, ../../../../general/res/sass/_views.scss */
.l-view-section .controls,
.l-view-section label,
.l-view-section .inline-block {

View File

@ -25,13 +25,15 @@ $contrastInvokeMenuPercent: 40%;
$shdwBtns: none;
$sliderColorBase: $colorKey;
$sliderColorRangeHolder: rgba(black, 0.07);
$sliderColorRange: rgba($sliderColorBase, 0.3);
$sliderColorRangeHov: rgba($sliderColorBase, 0.5);
$sliderColorKnob: rgba($sliderColorBase, 0.6);
$sliderColorKnobHov: $sliderColorBase;
$sliderColorRange: rgba($sliderColorBase, 0.2);
$sliderColorRangeHov: rgba($sliderColorBase, 0.4);
$sliderColorKnob: rgba($sliderColorBase, 0.5);
$sliderColorKnobHov: rgba($sliderColorBase, 0.7);
$sliderColorRangeValHovBg: $sliderColorRange; //rgba($sliderColorBase, 0.1);
$sliderColorRangeValHovFg: $colorBodyFg;
$sliderKnobW: 4px;
$sliderKnobW: nth($ueTimeControlH,2)/2;
$timeControllerToiLineColor: $colorBodyFg;
$timeControllerToiLineColorHov: #0052b5;
// General Colors
$colorAlt1: #ff6600;

View File

@ -29,7 +29,8 @@ define(
function () {
"use strict";
var TOPIC_PREFIX = "mutation:";
var GENERAL_TOPIC = "mutation",
TOPIC_PREFIX = "mutation:";
// Utility function to overwrite a destination object
// with the contents of a source object.
@ -78,7 +79,11 @@ define(
* @implements {Capability}
*/
function MutationCapability(topic, now, domainObject) {
this.mutationTopic = topic(TOPIC_PREFIX + domainObject.getId());
this.generalMutationTopic =
topic(GENERAL_TOPIC);
this.specificMutationTopic =
topic(TOPIC_PREFIX + domainObject.getId());
this.now = now;
this.domainObject = domainObject;
}
@ -115,11 +120,17 @@ define(
// mutator function has a temporary copy to work with.
var domainObject = this.domainObject,
now = this.now,
t = this.mutationTopic,
generalTopic = this.generalMutationTopic,
specificTopic = this.specificMutationTopic,
model = domainObject.getModel(),
clone = JSON.parse(JSON.stringify(model)),
useTimestamp = arguments.length > 1;
function notifyListeners(model) {
generalTopic.notify(domainObject);
specificTopic.notify(model);
}
// Function to handle copying values to the actual
function handleMutation(mutationResult) {
// If mutation result was undefined, just use
@ -136,7 +147,7 @@ define(
copyValues(model, result);
}
model.modified = useTimestamp ? timestamp : now();
t.notify(model);
notifyListeners(model);
}
// Report the result of the mutation
@ -158,7 +169,7 @@ define(
* @memberof platform/core.MutationCapability#
*/
MutationCapability.prototype.listen = function (listener) {
return this.mutationTopic.listen(listener);
return this.specificMutationTopic.listen(listener);
};
/**

View File

@ -61,7 +61,7 @@ define(
* @memberof platform/core.Throttle#
*/
return function (fn, delay, apply) {
var promise, // Promise for the result of throttled function
var promise,
args = [];
function invoke() {

View File

@ -28,13 +28,8 @@ define(
var CONDUCTOR_HEIGHT = "100px",
TEMPLATE = [
'<div style=',
'"position: absolute; bottom: 0; width: 100%; ',
'overflow: hidden; ',
'height: ' + CONDUCTOR_HEIGHT + '">',
"<mct-include key=\"'time-conductor'\" ng-model='ngModel'>",
"</mct-include>",
'</div>'
"<mct-include key=\"'time-conductor'\" ng-model='conductor'>",
"</mct-include>"
].join(''),
THROTTLE_MS = 200,
GLOBAL_SHOWING = false;
@ -166,8 +161,7 @@ define(
this.conductorElement =
this.$compile(TEMPLATE)(this.conductorScope());
this.element.after(this.conductorElement[0]);
this.element.addClass('abs');
this.element.css('bottom', CONDUCTOR_HEIGHT);
this.element.addClass('l-controls-visible l-time-controller-visible');
GLOBAL_SHOWING = true;
}
};

View File

@ -19,7 +19,7 @@
this source code distribution or the Licensing information page available
at runtime from the About dialog for additional information.
-->
<div style="width: 100%; height: 100%;"
<div class="l-layout"
ng-controller="LayoutController as controller">
<div class='frame child-frame panel abs'

View File

@ -19,7 +19,7 @@
this source code distribution or the Licensing information page available
at runtime from the About dialog for additional information.
-->
<div class="abs l-iframe">
<div class="l-iframe abs">
<iframe ng-controller="EmbeddedPageController as ctl"
ng-src="{{ctl.trust(model.url)}}">
</iframe>

View File

@ -45,7 +45,15 @@
"provides": "searchService",
"type": "provider",
"implementation": "services/GenericSearchProvider.js",
"depends": [ "$q", "$timeout", "objectService", "workerService", "GENERIC_SEARCH_ROOTS" ]
"depends": [
"$q",
"$log",
"throttle",
"objectService",
"workerService",
"topic",
"GENERIC_SEARCH_ROOTS"
]
},
{
"provides": "searchService",
@ -61,4 +69,4 @@
}
]
}
}
}

View File

@ -28,61 +28,78 @@ define(
[],
function () {
"use strict";
var DEFAULT_MAX_RESULTS = 100,
DEFAULT_TIMEOUT = 1000,
MAX_CONCURRENT_REQUESTS = 100,
FLUSH_INTERVAL = 0,
stopTime;
/**
* A search service which searches through domain objects in
* A search service which searches through domain objects in
* the filetree without using external search implementations.
*
* @constructor
* @param $q Angular's $q, for promise consolidation.
* @param $timeout Angular's $timeout, for delayed function execution.
* @param $log Anglar's $log, for logging.
* @param {Function} throttle a function to throttle function invocations
* @param {ObjectService} objectService The service from which
* domain objects can be gotten.
* @param {WorkerService} workerService The service which allows
* more easy creation of web workers.
* @param {GENERIC_SEARCH_ROOTS} ROOTS An array of the root
* @param {GENERIC_SEARCH_ROOTS} ROOTS An array of the root
* domain objects' IDs.
*/
function GenericSearchProvider($q, $timeout, objectService, workerService, ROOTS) {
function GenericSearchProvider($q, $log, throttle, objectService, workerService, topic, ROOTS) {
var indexed = {},
pendingIndex = {},
pendingQueries = {},
worker = workerService.run('genericSearchWorker');
toRequest = [],
worker = workerService.run('genericSearchWorker'),
mutationTopic = topic("mutation"),
indexingStarted = Date.now(),
pendingRequests = 0,
scheduleFlush;
this.worker = worker;
this.pendingQueries = pendingQueries;
this.$q = $q;
// pendingQueries is a dictionary with the key value pairs st
// the key is the timestamp and the value is the promise
function scheduleIdsForIndexing(ids) {
ids.forEach(function (id) {
if (!indexed[id] && !pendingIndex[id]) {
indexed[id] = true;
pendingIndex[id] = true;
toRequest.push(id);
}
});
scheduleFlush();
}
// Tell the web worker to add a domain object's model to its list of items.
function indexItem(domainObject) {
var message;
// undefined check
if (domainObject && domainObject.getModel) {
// Using model instead of whole domain object because
// it's a JSON object.
message = {
request: 'index',
model: domainObject.getModel(),
id: domainObject.getId()
};
worker.postMessage(message);
var model = domainObject.getModel();
worker.postMessage({
request: 'index',
model: model,
id: domainObject.getId()
});
if (Array.isArray(model.composition)) {
scheduleIdsForIndexing(model.composition);
}
}
// Handles responses from the web worker. Namely, the results of
// a search request.
// Handles responses from the web worker. Namely, the results of
// a search request.
function handleResponse(event) {
var ids = [],
id;
// If we have the results from a search
// If we have the results from a search
if (event.data.request === 'search') {
// Convert the ids given from the web worker into domain objects
for (id in event.data.results) {
@ -91,7 +108,7 @@ define(
objectService.getObjects(ids).then(function (objects) {
var searchResults = [],
id;
// Create searchResult objects
for (id in objects) {
searchResults.push({
@ -100,8 +117,8 @@ define(
score: event.data.results[id]
});
}
// Resove the promise corresponding to this
// Resove the promise corresponding to this
pendingQueries[event.data.timestamp].resolve({
hits: searchResults,
total: event.data.total,
@ -110,83 +127,49 @@ define(
});
}
}
// Helper function for getItems(). Indexes the tree.
function indexItems(nodes) {
nodes.forEach(function (node) {
var id = node && node.getId && node.getId();
// If we have already indexed this item, stop here
if (indexed[id]) {
return;
}
// Index each item with the web worker
indexItem(node);
indexed[id] = true;
// If this node has children, index those
if (node && node.hasCapability && node.hasCapability('composition')) {
// Make sure that this is async, so doesn't block up page
$timeout(function () {
// Get the children...
node.useCapability('composition').then(function (children) {
$timeout(function () {
// ... then index the children
if (children.constructor === Array) {
indexItems(children);
} else {
indexItems([children]);
}
}, 0);
});
}, 0);
}
// Watch for changes to this item, in case it gets new children
if (node && node.hasCapability && node.hasCapability('mutation')) {
node.getCapability('mutation').listen(function (listener) {
if (listener && listener.composition) {
// If the node was mutated to have children, get the child domain objects
objectService.getObjects(listener.composition).then(function (objectsById) {
var objects = [],
id;
// Get each of the domain objects in objectsById
for (id in objectsById) {
objects.push(objectsById[id]);
}
indexItems(objects);
});
}
});
function requestAndIndex(id) {
pendingRequests += 1;
objectService.getObjects([id]).then(function (objects) {
delete pendingIndex[id];
if (objects[id]) {
indexItem(objects[id]);
}
}, function () {
$log.warn("Failed to index domain object " + id);
}).then(function () {
pendingRequests -= 1;
scheduleFlush();
});
}
// Converts the filetree into a list
function getItems() {
// Aquire root objects
objectService.getObjects(ROOTS).then(function (objectsById) {
var objects = [],
id;
// Get each of the domain objects in objectsById
for (id in objectsById) {
objects.push(objectsById[id]);
}
// Index all of the roots' descendents
indexItems(objects);
});
}
scheduleFlush = throttle(function flush() {
var batchSize =
Math.max(MAX_CONCURRENT_REQUESTS - pendingRequests, 0);
if (toRequest.length + pendingRequests < 1) {
$log.info([
'GenericSearch finished indexing after ',
((Date.now() - indexingStarted) / 1000).toFixed(2),
' seconds.'
].join(''));
} else {
toRequest.splice(-batchSize, batchSize)
.forEach(requestAndIndex);
}
}, FLUSH_INTERVAL);
worker.onmessage = handleResponse;
// Index the tree's contents once at the beginning
getItems();
// Index the tree's contents once at the beginning
scheduleIdsForIndexing(ROOTS);
// Re-index items when they are mutated
mutationTopic.listen(function (domainObject) {
var id = domainObject.getId();
indexed[id] = false;
scheduleIdsForIndexing([id]);
});
}
/**
@ -266,4 +249,4 @@ define(
return GenericSearchProvider;
}
);
);

View File

@ -31,35 +31,67 @@ define(
describe("The generic search provider ", function () {
var mockQ,
mockTimeout,
mockLog,
mockThrottle,
mockDeferred,
mockObjectService,
mockObjectPromise,
mockChainedPromise,
mockDomainObjects,
mockCapability,
mockCapabilityPromise,
mockWorkerService,
mockWorker,
mockTopic,
mockMutationTopic,
mockRoots = ['root1', 'root2'],
mockThrottledFn,
throttledCallCount,
provider,
mockProviderResults;
beforeEach(function () {
function resolveObjectPromises() {
var i;
for (i = 0; i < mockObjectPromise.then.calls.length; i += 1) {
mockChainedPromise.then.calls[i].args[0](
mockObjectPromise.then.calls[i]
.args[0](mockDomainObjects)
);
}
}
function resolveThrottledFn() {
if (mockThrottledFn.calls.length > throttledCallCount) {
mockThrottle.mostRecentCall.args[0]();
throttledCallCount = mockThrottledFn.calls.length;
}
}
function resolveAsyncTasks() {
resolveThrottledFn();
resolveObjectPromises();
}
beforeEach(function () {
mockQ = jasmine.createSpyObj(
"$q",
[ "defer" ]
);
mockLog = jasmine.createSpyObj(
"$log",
[ "error", "warn", "info", "debug" ]
);
mockDeferred = jasmine.createSpyObj(
"deferred",
[ "resolve", "reject"]
);
mockDeferred.promise = "mock promise";
mockQ.defer.andReturn(mockDeferred);
mockTimeout = jasmine.createSpy("$timeout");
mockThrottle = jasmine.createSpy("throttle");
mockThrottledFn = jasmine.createSpy("throttledFn");
throttledCallCount = 0;
mockObjectService = jasmine.createSpyObj(
"objectService",
[ "getObjects" ]
@ -68,9 +100,14 @@ define(
"promise",
[ "then", "catch" ]
);
mockChainedPromise = jasmine.createSpyObj(
"chainedPromise",
[ "then" ]
);
mockObjectService.getObjects.andReturn(mockObjectPromise);
mockTopic = jasmine.createSpy('topic');
mockWorkerService = jasmine.createSpyObj(
"workerService",
[ "run" ]
@ -80,68 +117,109 @@ define(
[ "postMessage" ]
);
mockWorkerService.run.andReturn(mockWorker);
mockCapabilityPromise = jasmine.createSpyObj(
"promise",
[ "then", "catch" ]
);
mockDomainObjects = {};
for (i = 0; i < 4; i += 1) {
mockDomainObjects[i] = (
['a', 'root1', 'root2'].forEach(function (id) {
mockDomainObjects[id] = (
jasmine.createSpyObj(
"domainObject",
[ "getId", "getModel", "hasCapability", "getCapability", "useCapability" ]
[
"getId",
"getModel",
"hasCapability",
"getCapability",
"useCapability"
]
)
);
mockDomainObjects[i].getId.andReturn(i);
mockDomainObjects[i].getCapability.andReturn(mockCapability);
mockDomainObjects[i].useCapability.andReturn(mockCapabilityPromise);
}
// Give the first object children
mockDomainObjects[0].hasCapability.andReturn(true);
mockDomainObjects[id].getId.andReturn(id);
mockDomainObjects[id].getCapability.andReturn(mockCapability);
mockDomainObjects[id].useCapability.andReturn(mockCapabilityPromise);
mockDomainObjects[id].getModel.andReturn({});
});
mockCapability = jasmine.createSpyObj(
"capability",
[ "invoke", "listen" ]
);
mockCapability.invoke.andReturn(mockCapabilityPromise);
mockDomainObjects[0].getCapability.andReturn(mockCapability);
provider = new GenericSearchProvider(mockQ, mockTimeout, mockObjectService, mockWorkerService, mockRoots);
mockDomainObjects.a.getCapability.andReturn(mockCapability);
mockMutationTopic = jasmine.createSpyObj(
'mutationTopic',
[ 'listen' ]
);
mockTopic.andCallFake(function (key) {
return key === 'mutation' && mockMutationTopic;
});
mockThrottle.andReturn(mockThrottledFn);
mockObjectPromise.then.andReturn(mockChainedPromise);
provider = new GenericSearchProvider(
mockQ,
mockLog,
mockThrottle,
mockObjectService,
mockWorkerService,
mockTopic,
mockRoots
);
});
it("indexes tree on initialization", function () {
var i;
resolveThrottledFn();
expect(mockObjectService.getObjects).toHaveBeenCalled();
expect(mockObjectPromise.then).toHaveBeenCalled();
// Call through the root-getting part
mockObjectPromise.then.mostRecentCall.args[0](mockDomainObjects);
// Call through the children-getting part
mockTimeout.mostRecentCall.args[0]();
// Array argument indicates multiple children
mockCapabilityPromise.then.mostRecentCall.args[0]([]);
mockTimeout.mostRecentCall.args[0]();
// Call again, but for single child
mockCapabilityPromise.then.mostRecentCall.args[0]({});
mockTimeout.mostRecentCall.args[0]();
expect(mockWorker.postMessage).toHaveBeenCalled();
// Call through the root-getting part
resolveObjectPromises();
mockRoots.forEach(function (id) {
expect(mockWorker.postMessage).toHaveBeenCalledWith({
request: 'index',
model: mockDomainObjects[id].getModel(),
id: id
});
});
});
it("when indexing, listens for composition changes", function () {
var mockListener = {composition: {}};
// Call indexItems
mockObjectPromise.then.mostRecentCall.args[0](mockDomainObjects);
// Call through listening for changes
expect(mockCapability.listen).toHaveBeenCalled();
mockCapability.listen.mostRecentCall.args[0](mockListener);
expect(mockObjectService.getObjects).toHaveBeenCalled();
mockObjectPromise.then.mostRecentCall.args[0](mockDomainObjects);
it("indexes members of composition", function () {
mockDomainObjects.root1.getModel.andReturn({
composition: ['a']
});
resolveAsyncTasks();
resolveAsyncTasks();
expect(mockWorker.postMessage).toHaveBeenCalledWith({
request: 'index',
model: mockDomainObjects.a.getModel(),
id: 'a'
});
});
it("listens for changes to mutation", function () {
expect(mockMutationTopic.listen)
.toHaveBeenCalledWith(jasmine.any(Function));
mockMutationTopic.listen.mostRecentCall
.args[0](mockDomainObjects.a);
resolveAsyncTasks();
expect(mockWorker.postMessage).toHaveBeenCalledWith({
request: 'index',
model: mockDomainObjects.a.getModel(),
id: mockDomainObjects.a.getId()
});
});
it("sends search queries to the worker", function () {
var timestamp = Date.now();
provider.query(' test "query" ', timestamp, 1, 2);
@ -153,20 +231,20 @@ define(
timeout: 2
});
});
it("gives an empty result for an empty query", function () {
var timestamp = Date.now(),
queryOutput;
queryOutput = provider.query('', timestamp, 1, 2);
expect(queryOutput.hits).toEqual([]);
expect(queryOutput.total).toEqual(0);
queryOutput = provider.query();
expect(queryOutput.hits).toEqual([]);
expect(queryOutput.total).toEqual(0);
});
it("handles responses from the worker", function () {
var timestamp = Date.now(),
event = {
@ -181,13 +259,35 @@ define(
timestamp: timestamp
}
};
provider.query(' test "query" ', timestamp);
mockWorker.onmessage(event);
mockObjectPromise.then.mostRecentCall.args[0](mockDomainObjects);
expect(mockDeferred.resolve).toHaveBeenCalled();
});
it("warns when objects are unavailable", function () {
resolveAsyncTasks();
expect(mockLog.warn).not.toHaveBeenCalled();
mockChainedPromise.then.mostRecentCall.args[0](
mockObjectPromise.then.mostRecentCall.args[1]()
);
expect(mockLog.warn).toHaveBeenCalled();
});
it("throttles the loading of objects to index", function () {
expect(mockObjectService.getObjects).not.toHaveBeenCalled();
resolveThrottledFn();
expect(mockObjectService.getObjects).toHaveBeenCalled();
});
it("logs when all objects have been processed", function () {
expect(mockLog.info).not.toHaveBeenCalled();
resolveAsyncTasks();
resolveThrottledFn();
expect(mockLog.info).toHaveBeenCalled();
});
});
}
);
);