diff --git a/bundles.json b/bundles.json index 8019ffa43f..fb4ca901ad 100644 --- a/bundles.json +++ b/bundles.json @@ -6,6 +6,7 @@ "platform/commonUI/browse", "platform/commonUI/edit", "platform/commonUI/dialog", + "platform/commonUI/formats", "platform/commonUI/general", "platform/commonUI/inspect", "platform/commonUI/mobile", diff --git a/docs/gendocs.js b/docs/gendocs.js index cd61b9a9bf..30182e30e7 100644 --- a/docs/gendocs.js +++ b/docs/gendocs.js @@ -187,7 +187,7 @@ GLOBAL.window = GLOBAL.window || GLOBAL; // nomnoml expects window to be define destPath = path.dirname(destination), streamOptions = {}; if (file.match(/png$/)){ - streamOptions.encoding = 'binary'; + streamOptions.encoding = null; } else { streamOptions.encoding = 'utf8'; } diff --git a/example/generator/bundle.json b/example/generator/bundle.json index cdb4736957..7cf1c7b6f2 100644 --- a/example/generator/bundle.json +++ b/example/generator/bundle.json @@ -16,6 +16,23 @@ "implementation": "SinewaveLimitCapability.js" } ], + "formats": [ + { + "key": "example.delta", + "implementation": "SinewaveDeltaFormat.js" + } + ], + "constants": [ + { + "key": "TIME_CONDUCTOR_DOMAINS", + "value": [ + { "key": "time", "name": "Time" }, + { "key": "yesterday", "name": "Yesterday" }, + { "key": "delta", "name": "Delta", "format": "example.delta" } + ], + "priority": -1 + } + ], "types": [ { "key": "generator", @@ -38,6 +55,11 @@ { "key": "yesterday", "name": "Yesterday" + }, + { + "key": "delta", + "name": "Delta", + "format": "example.delta" } ], "ranges": [ diff --git a/platform/commonUI/general/res/sass/_hide-non-functional.scss b/example/generator/src/SinewaveConstants.js similarity index 80% rename from platform/commonUI/general/res/sass/_hide-non-functional.scss rename to example/generator/src/SinewaveConstants.js index 14860ec8ce..29136ebb99 100644 --- a/platform/commonUI/general/res/sass/_hide-non-functional.scss +++ b/example/generator/src/SinewaveConstants.js @@ -19,18 +19,8 @@ * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -// Styles to temporarily hide non-functional elements +/*global define,Promise*/ -/******************************** BROWSE */ -.browse-mode { - .browse { - &.top-bar { - display: none; - } - } - - .browse-area.holder { - // When .browse.top-bar is hidden, set the top of the browse-area holder - top: $bodyMargin; - } -} \ No newline at end of file +define({ + START_TIME: Date.now() - 24 * 60 * 60 * 1000 // Now minus a day. +}); diff --git a/example/generator/src/SinewaveDeltaFormat.js b/example/generator/src/SinewaveDeltaFormat.js new file mode 100644 index 0000000000..19f3e631f9 --- /dev/null +++ b/example/generator/src/SinewaveDeltaFormat.js @@ -0,0 +1,68 @@ +/***************************************************************************** + * 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,Promise*/ + +define( + ['./SinewaveConstants', 'moment'], + function (SinewaveConstants, moment) { + "use strict"; + + var START_TIME = SinewaveConstants.START_TIME, + FORMAT_REGEX = /^-?\d+:\d+:\d+$/, + SECOND = 1000, + MINUTE = SECOND * 60, + HOUR = MINUTE * 60; + + function SinewaveDeltaFormat() { + } + + function twoDigit(v) { + return v >= 10 ? String(v) : ('0' + v); + } + + SinewaveDeltaFormat.prototype.format = function (value) { + var delta = Math.abs(value - START_TIME), + negative = value < START_TIME, + seconds = Math.floor(delta / SECOND) % 60, + minutes = Math.floor(delta / MINUTE) % 60, + hours = Math.floor(delta / HOUR); + return (negative ? "-" : "") + + [ hours, minutes, seconds ].map(twoDigit).join(":"); + }; + + SinewaveDeltaFormat.prototype.validate = function (text) { + return FORMAT_REGEX.test(text); + }; + + SinewaveDeltaFormat.prototype.parse = function (text) { + var negative = text[0] === "-", + parts = text.replace("-", "").split(":"); + return [ HOUR, MINUTE, SECOND ].map(function (sz, i) { + return parseInt(parts[i], 10) * sz; + }).reduce(function (a, b) { + return a + b; + }, 0) * (negative ? -1 : 1) + START_TIME; + }; + + return SinewaveDeltaFormat; + } +); diff --git a/example/generator/src/SinewaveTelemetrySeries.js b/example/generator/src/SinewaveTelemetrySeries.js index 1e84034766..fa47f8f59a 100644 --- a/example/generator/src/SinewaveTelemetrySeries.js +++ b/example/generator/src/SinewaveTelemetrySeries.js @@ -25,12 +25,12 @@ * Module defining SinewaveTelemetry. Created by vwoeltje on 11/12/14. */ define( - [], - function () { + ['./SinewaveConstants'], + function (SinewaveConstants) { "use strict"; var ONE_DAY = 60 * 60 * 24, - firstObservedTime = Math.floor(Date.now() / 1000) - ONE_DAY; + firstObservedTime = Math.floor(SinewaveConstants.START_TIME / 1000); /** * @@ -58,6 +58,9 @@ define( }; generatorData.getDomainValue = function (i, domain) { + // delta uses the same numeric values as the default domain, + // so it's not checked for here, just formatted for display + // differently. return (i + offset) * 1000 + firstTime * 1000 - (domain === 'yesterday' ? ONE_DAY : 0); }; diff --git a/platform/commonUI/browse/bundle.json b/platform/commonUI/browse/bundle.json index bc42a33c1f..9e7772c66d 100644 --- a/platform/commonUI/browse/bundle.json +++ b/platform/commonUI/browse/bundle.json @@ -31,10 +31,10 @@ ] }, { - "key": "BrowseTreeController", - "implementation": "BrowseTreeController.js", + "key": "PaneController", + "implementation": "PaneController.js", "priority": "preferred", - "depends": [ "$scope", "agentService" ] + "depends": [ "$scope", "agentService","$window" ] }, { "key": "BrowseObjectController", diff --git a/platform/commonUI/browse/res/templates/browse-object.html b/platform/commonUI/browse/res/templates/browse-object.html index 3bd6138da6..9dc1c8f83a 100644 --- a/platform/commonUI/browse/res/templates/browse-object.html +++ b/platform/commonUI/browse/res/templates/browse-object.html @@ -41,7 +41,6 @@ - diff --git a/platform/commonUI/browse/res/templates/browse.html b/platform/commonUI/browse/res/templates/browse.html index 9a1be7e771..cd6d01036d 100644 --- a/platform/commonUI/browse/res/templates/browse.html +++ b/platform/commonUI/browse/res/templates/browse.html @@ -22,22 +22,27 @@
-
- +
+
-
+ + - + -
-
- - +
+ + +
+ + +
+ + +
+ + + +
+ + + +
+
-
m
diff --git a/platform/commonUI/browse/res/templates/browse/object-header.html b/platform/commonUI/browse/res/templates/browse/object-header.html index 7ea43a6b9f..79fca1b76c 100644 --- a/platform/commonUI/browse/res/templates/browse/object-header.html +++ b/platform/commonUI/browse/res/templates/browse/object-header.html @@ -19,7 +19,7 @@ this source code distribution or the Licensing information page available at runtime from the About dialog for additional information. --> -
+
{{type.getGlyph()}} diff --git a/platform/commonUI/browse/res/templates/create/create-button.html b/platform/commonUI/browse/res/templates/create/create-button.html index a7b4ad96e5..663f8e3172 100644 --- a/platform/commonUI/browse/res/templates/create/create-button.html +++ b/platform/commonUI/browse/res/templates/create/create-button.html @@ -19,13 +19,12 @@ this source code distribution or the Licensing information page available at runtime from the About dialog for additional information. --> - \ No newline at end of file + \ No newline at end of file diff --git a/platform/commonUI/browse/res/templates/items/grid-item.html b/platform/commonUI/browse/res/templates/items/grid-item.html index 647d8e26da..426f354774 100644 --- a/platform/commonUI/browse/res/templates/items/grid-item.html +++ b/platform/commonUI/browse/res/templates/items/grid-item.html @@ -26,14 +26,8 @@
O
-
-
- {{type.getGlyph()}} - -
+
+ {{type.getGlyph()}}
}
diff --git a/platform/commonUI/browse/src/BrowseController.js b/platform/commonUI/browse/src/BrowseController.js index e0c00d9521..8c032f7de3 100644 --- a/platform/commonUI/browse/src/BrowseController.js +++ b/platform/commonUI/browse/src/BrowseController.js @@ -153,7 +153,6 @@ define( $scope.$on("$destroy", function () { navigationService.removeListener(setNavigation); }); - } return BrowseController; diff --git a/platform/commonUI/browse/src/BrowseTreeController.js b/platform/commonUI/browse/src/PaneController.js similarity index 83% rename from platform/commonUI/browse/src/BrowseTreeController.js rename to platform/commonUI/browse/src/PaneController.js index 31875de4fa..6a59baa0e0 100644 --- a/platform/commonUI/browse/src/BrowseTreeController.js +++ b/platform/commonUI/browse/src/PaneController.js @@ -33,10 +33,12 @@ define( * @constructor * @memberof platform/commonUI/browse */ - function BrowseTreeController($scope, agentService) { + function PaneController($scope, agentService, $window) { var self = this; this.agentService = agentService; - this.state = true; + + // Fast and cheap: if this has been opened in a new window, hide panes by default + this.state = !$window.opener; /** * Callback to invoke when any selection occurs in the tree. @@ -44,7 +46,7 @@ define( * to the tree representation. * * @property {Function} callback - * @memberof platform/commonUI/browse.BrowseTreeController# + * @memberof platform/commonUI/browse.PaneController# */ this.callback = function () { // Note that, since this is a callback to pass, this is not @@ -59,20 +61,20 @@ define( } /** - * Toggle the visibility of the tree. + * Toggle the visibility of the pane. */ - BrowseTreeController.prototype.toggle = function () { + PaneController.prototype.toggle = function () { this.state = !this.state; }; /** - * Get the desired visibility state of the tree. + * Get the desired visibility state of the pane. * @returns {boolean} true when visible */ - BrowseTreeController.prototype.visible = function () { + PaneController.prototype.visible = function () { return this.state; }; - return BrowseTreeController; + return PaneController; } ); diff --git a/platform/commonUI/browse/test/BrowseTreeControllerSpec.js b/platform/commonUI/browse/test/PaneControllerSpec.js similarity index 91% rename from platform/commonUI/browse/test/BrowseTreeControllerSpec.js rename to platform/commonUI/browse/test/PaneControllerSpec.js index 077855febf..f02da713a4 100644 --- a/platform/commonUI/browse/test/BrowseTreeControllerSpec.js +++ b/platform/commonUI/browse/test/PaneControllerSpec.js @@ -22,22 +22,24 @@ /*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ define( - ["../src/BrowseTreeController"], - function (BrowseTreeController) { + ["../src/PaneController"], + function (PaneController) { 'use strict'; - describe("The BrowseTreeController", function () { + describe("The PaneController", function () { var mockScope, mockAgentService, mockDomainObjects, + mockWindow, controller; // We want to reinstantiate for each test case // because device state can influence constructor-time behavior function instantiateController() { - return new BrowseTreeController( + return new PaneController( mockScope, - mockAgentService + mockAgentService, + mockWindow ); } @@ -58,6 +60,7 @@ define( "agentService", [ "isMobile", "isPhone", "isTablet", "isPortrait", "isLandscape" ] ); + mockWindow = jasmine.createSpyObj("$window", ["open"]); }); it("is initially visible", function () { diff --git a/platform/commonUI/browse/test/suite.json b/platform/commonUI/browse/test/suite.json index aa73dd358d..b9292b6ef1 100644 --- a/platform/commonUI/browse/test/suite.json +++ b/platform/commonUI/browse/test/suite.json @@ -1,7 +1,7 @@ [ "BrowseController", "BrowseObjectController", - "BrowseTreeController", + "PaneController", "MenuArrowController", "creation/CreateAction", "creation/CreateActionProvider", diff --git a/platform/commonUI/dialog/src/DialogService.js b/platform/commonUI/dialog/src/DialogService.js index 27ffa9ae8b..0d480f3455 100644 --- a/platform/commonUI/dialog/src/DialogService.js +++ b/platform/commonUI/dialog/src/DialogService.js @@ -181,7 +181,7 @@ define( * @typedef DialogOption * @property {string} label a label to be displayed as the button * text for this action - * @property {function} action a function to be called when the + * @property {function} callback a function to be called when the * button is clicked */ diff --git a/platform/commonUI/formats/bundle.json b/platform/commonUI/formats/bundle.json new file mode 100644 index 0000000000..99925657b2 --- /dev/null +++ b/platform/commonUI/formats/bundle.json @@ -0,0 +1,26 @@ +{ + "name": "Time services bundle", + "description": "Defines interfaces and provides default implementations for handling different time systems.", + "extensions": { + "components": [ + { + "provides": "formatService", + "type": "provider", + "implementation": "FormatProvider.js", + "depends": [ "formats[]" ] + } + ], + "formats": [ + { + "key": "utc", + "implementation": "UTCTimeFormat.js" + } + ], + "constants": [ + { + "key": "DEFAULT_TIME_FORMAT", + "value": "utc" + } + ] + } +} diff --git a/platform/commonUI/formats/src/FormatProvider.js b/platform/commonUI/formats/src/FormatProvider.js new file mode 100644 index 0000000000..e6d38fbcee --- /dev/null +++ b/platform/commonUI/formats/src/FormatProvider.js @@ -0,0 +1,114 @@ +/***************************************************************************** + * 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"; + + /** + * An object used to convert between numeric values and text values, + * typically used to display these values to the user and to convert + * user input to a numeric format, particularly for time formats. + * @interface {Format} + */ + + /** + * Parse text (typically user input) to a numeric value. + * Behavior is undefined when the text cannot be parsed; + * `validate` should be called first if the text may be invalid. + * @method parse + * @memberof Format# + * @param {string} text the text to parse + * @returns {number} the parsed numeric value + */ + + /** + * Determine whether or not some text (typically user input) can + * be parsed to a numeric value by this format. + * @method validate + * @memberof Format# + * @param {string} text the text to parse + * @returns {boolean} true if the text can be parsed + */ + + /** + * Convert a numeric value to a text value for display using + * this format. + * @method format + * @memberof Format# + * @param {number} value the numeric value to format + * @returns {string} the text representation of the value + */ + + /** + * Provides access to `Format` objects which can be used to + * convert values between human-readable text and numeric + * representations. + * @interface FormatService + */ + + /** + * Look up a format by its symbolic identifier. + * @method getFormat + * @memberof FormatService# + * @param {string} key the identifier for this format + * @returns {Format} the format + * @throws {Error} errors when the requested format is unrecognized + */ + + /** + * Provides formats from the `formats` extension category. + * @constructor + * @implements {FormatService} + * @memberof platform/commonUI/formats + * @param {Array.} format constructors, + * from the `formats` extension category. + */ + function FormatProvider(formats) { + var formatMap = {}; + + function addToMap(Format) { + var key = Format.key; + if (key && !formatMap[key]) { + formatMap[key] = new Format(); + } + } + + formats.forEach(addToMap); + this.formatMap = formatMap; + } + + FormatProvider.prototype.getFormat = function (key) { + var format = this.formatMap[key]; + if (!format) { + throw new Error("FormatProvider: No format found for " + key); + } + return format; + }; + + return FormatProvider; + +}); diff --git a/platform/commonUI/general/res/sass/_properties.scss b/platform/commonUI/formats/src/UTCTimeFormat.js similarity index 57% rename from platform/commonUI/general/res/sass/_properties.scss rename to platform/commonUI/formats/src/UTCTimeFormat.js index b48fe66406..b035fed99f 100644 --- a/platform/commonUI/general/res/sass/_properties.scss +++ b/platform/commonUI/formats/src/UTCTimeFormat.js @@ -19,17 +19,45 @@ * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* Classes to be used for lists of properties and values */ +/*global define*/ -.properties { - .s-row { - border-top: 1px solid $colorInteriorBorder; - font-size: 0.8em; - &:first-child { - border: none; - } - .s-value { - color: #fff; - } +define([ + 'moment' +], function ( + moment +) { + "use strict"; + + var DATE_FORMAT = "YYYY-MM-DD HH:mm:ss", + DATE_FORMATS = [ + DATE_FORMAT, + "YYYY-MM-DD HH:mm", + "YYYY-MM-DD" + ]; + + + /** + * Formatter for UTC timestamps. Interprets numeric values as + * milliseconds since the start of 1970. + * + * @implements {Format} + * @constructor + * @memberof platform/commonUI/formats + */ + function UTCTimeFormat() { } -} \ No newline at end of file + + UTCTimeFormat.prototype.format = function (value) { + return moment.utc(value).format(DATE_FORMAT); + }; + + UTCTimeFormat.prototype.parse = function (text) { + return moment.utc(text, DATE_FORMATS).valueOf(); + }; + + UTCTimeFormat.prototype.validate = function (text) { + return moment.utc(text, DATE_FORMATS).isValid(); + }; + + return UTCTimeFormat; +}); diff --git a/platform/commonUI/formats/test/FormatProviderSpec.js b/platform/commonUI/formats/test/FormatProviderSpec.js new file mode 100644 index 0000000000..4f68c106f7 --- /dev/null +++ b/platform/commonUI/formats/test/FormatProviderSpec.js @@ -0,0 +1,68 @@ +/***************************************************************************** + * 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,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + +define( + ['../src/FormatProvider'], + function (FormatProvider) { + 'use strict'; + + var KEYS = [ 'a', 'b', 'c' ]; + + describe("The FormatProvider", function () { + var mockFormats, + mockLog, + mockFormatInstances, + provider; + + beforeEach(function () { + mockFormatInstances = KEYS.map(function (k) { + return jasmine.createSpyObj( + 'format-' + k, + [ 'parse', 'validate', 'format' ] + ); + }); + // Return constructors + mockFormats = KEYS.map(function (k, i) { + function MockFormat() { return mockFormatInstances[i]; } + MockFormat.key = k; + return MockFormat; + }); + provider = new FormatProvider(mockFormats); + }); + + it("looks up formats by key", function () { + KEYS.forEach(function (k, i) { + expect(provider.getFormat(k)) + .toEqual(mockFormatInstances[i]); + }); + }); + + it("throws an error about unknown formats", function () { + expect(function () { + provider.getFormat('some-unknown-format'); + }).toThrow(); + }); + + }); + } +); diff --git a/platform/commonUI/formats/test/UTCTimeFormatSpec.js b/platform/commonUI/formats/test/UTCTimeFormatSpec.js new file mode 100644 index 0000000000..d55a8a9507 --- /dev/null +++ b/platform/commonUI/formats/test/UTCTimeFormatSpec.js @@ -0,0 +1,56 @@ +/***************************************************************************** + * 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,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + +define( + ['../src/UTCTimeFormat', 'moment'], + function (UTCTimeFormat, moment) { + 'use strict'; + + describe("The UTCTimeFormat", function () { + var format; + + beforeEach(function () { + format = new UTCTimeFormat(); + }); + + it("formats UTC timestamps", function () { + var timestamp = 12345670000, + formatted = format.format(timestamp); + expect(formatted).toEqual(jasmine.any(String)); + expect(moment.utc(formatted).valueOf()).toEqual(timestamp); + }); + + it("validates time inputs", function () { + expect(format.validate("1977-05-25 11:21:22")).toBe(true); + expect(format.validate("garbage text")).toBe(false); + }); + + it("parses valid input", function () { + var text = "1977-05-25 11:21:22", + parsed = format.parse(text); + expect(parsed).toEqual(jasmine.any(Number)); + expect(parsed).toEqual(moment.utc(text).valueOf()); + }); + }); + } +); diff --git a/platform/commonUI/formats/test/suite.json b/platform/commonUI/formats/test/suite.json new file mode 100644 index 0000000000..06c88fac8b --- /dev/null +++ b/platform/commonUI/formats/test/suite.json @@ -0,0 +1,4 @@ +[ + "FormatProvider", + "UTCTimeFormat" +] diff --git a/platform/commonUI/general/bundle.json b/platform/commonUI/general/bundle.json index 2bd200b130..edaa8ec103 100644 --- a/platform/commonUI/general/bundle.json +++ b/platform/commonUI/general/bundle.json @@ -61,13 +61,18 @@ { "key": "TimeRangeController", "implementation": "controllers/TimeRangeController.js", - "depends": [ "$scope", "now" ] + "depends": [ "$scope", "formatService", "DEFAULT_TIME_FORMAT", "now" ] }, { "key": "DateTimePickerController", "implementation": "controllers/DateTimePickerController.js", "depends": [ "$scope", "now" ] }, + { + "key": "DateTimeFieldController", + "implementation": "controllers/DateTimeFieldController.js", + "depends": [ "$scope", "formatService", "DEFAULT_TIME_FORMAT" ] + }, { "key": "TreeNodeController", "implementation": "controllers/TreeNodeController.js", @@ -116,6 +121,11 @@ "implementation": "controllers/SelectorController.js", "depends": [ "objectService", "$scope" ] }, + { + "key": "ObjectInspectorController", + "implementation": "controllers/ObjectInspectorController.js", + "depends": [ "$scope", "objectService" ] + }, { "key": "BannerController", "implementation": "controllers/BannerController.js", @@ -245,6 +255,10 @@ "key": "switcher", "templateUrl": "templates/controls/switcher.html", "uses": [ "view" ] + }, + { + "key": "object-inspector", + "templateUrl": "templates/object-inspector.html" } ], "controls": [ @@ -255,6 +269,10 @@ { "key": "datetime-picker", "templateUrl": "templates/controls/datetime-picker.html" + }, + { + "key": "datetime-field", + "templateUrl": "templates/controls/datetime-field.html" } ], "licenses": [ diff --git a/platform/commonUI/general/res/fonts/symbols/icomoon.io-WTD-symbols-project.json b/platform/commonUI/general/res/fonts/symbols/icomoon.io-WTD-symbols-project.json index a742a1c8eb..489d491fd2 100644 --- a/platform/commonUI/general/res/fonts/symbols/icomoon.io-WTD-symbols-project.json +++ b/platform/commonUI/general/res/fonts/symbols/icomoon.io-WTD-symbols-project.json @@ -1,19 +1,59 @@ { "metadata": { - "name": "WTD Symbols v2.3", - "lastOpened": 1444267493342, - "created": 1444266013303 + "name": "WTD Symbols", + "lastOpened": 1446490786311, + "created": 1446489891263 }, "iconSets": [ { "selection": [ + { + "order": 113, + "id": 92, + "prevSize": 32, + "code": 58901, + "name": "icon-crosshair", + "tempChar": "" + }, + { + "order": 110, + "id": 91, + "prevSize": 32, + "code": 58899, + "name": "icon-collapse-pane-left", + "tempChar": "" + }, + { + "order": 111, + "id": 90, + "prevSize": 32, + "code": 58900, + "name": "icon-collapse-pane-right", + "tempChar": "" + }, + { + "order": 109, + "id": 89, + "prevSize": 32, + "code": 58898, + "name": "icon-save", + "tempChar": "" + }, + { + "order": 108, + "id": 88, + "prevSize": 32, + "code": 58897, + "name": "icon-dataset", + "tempChar": "" + }, { "order": 90, "id": 87, "prevSize": 32, "code": 58896, "name": "icon-bell", - "tempChar": "" + "tempChar": "" }, { "order": 91, @@ -21,7 +61,7 @@ "prevSize": 32, "code": 58889, "name": "icon-hourglass", - "tempChar": "" + "tempChar": "" }, { "order": 92, @@ -34,7 +74,7 @@ 58890 ], "name": "icon-info-v15", - "tempChar": "" + "tempChar": "" }, { "order": 93, @@ -42,7 +82,7 @@ "prevSize": 32, "code": 58887, "name": "icon-x-in-circle", - "tempChar": "" + "tempChar": "" }, { "order": 94, @@ -50,7 +90,7 @@ "prevSize": 32, "code": 58881, "name": "icon-datatable", - "tempChar": "" + "tempChar": "" }, { "order": 95, @@ -58,7 +98,7 @@ "prevSize": 32, "code": 58882, "name": "icon-tabular-scrolling", - "tempChar": "" + "tempChar": "" }, { "order": 96, @@ -66,7 +106,7 @@ "prevSize": 32, "code": 58884, "name": "icon-tabular", - "tempChar": "" + "tempChar": "" }, { "order": 97, @@ -74,7 +114,7 @@ "prevSize": 32, "code": 58885, "name": "icon-calendar", - "tempChar": "" + "tempChar": "" }, { "order": 98, @@ -82,7 +122,7 @@ "prevSize": 32, "code": 58886, "name": "icon-paint-bucket", - "tempChar": "" + "tempChar": "" }, { "order": 99, @@ -90,7 +130,7 @@ "prevSize": 32, "code": 123, "name": "icon-pointer-left", - "tempChar": "" + "tempChar": "" }, { "order": 100, @@ -98,7 +138,7 @@ "prevSize": 32, "code": 125, "name": "icon-pointer-right", - "tempChar": "" + "tempChar": "" }, { "order": 101, @@ -106,7 +146,7 @@ "prevSize": 32, "code": 80, "name": "icon-person", - "tempChar": "" + "tempChar": "" }, { "order": 102, @@ -114,7 +154,7 @@ "prevSize": 32, "code": 232, "name": "icon-chain-links", - "tempChar": "" + "tempChar": "" }, { "order": 103, @@ -122,7 +162,7 @@ "prevSize": 32, "code": 115, "name": "icon-database-in-brackets", - "tempChar": "" + "tempChar": "" }, { "order": 104, @@ -130,7 +170,7 @@ "prevSize": 32, "code": 114, "name": "icon-refresh", - "tempChar": "" + "tempChar": "" }, { "order": 105, @@ -138,7 +178,7 @@ "prevSize": 32, "code": 108, "name": "icon-lock", - "tempChar": "" + "tempChar": "" }, { "order": 106, @@ -146,7 +186,7 @@ "prevSize": 32, "code": 51, "name": "icon-box-with-dashed-lines", - "tempChar": "" + "tempChar": "" }, { "order": 10, @@ -154,7 +194,7 @@ "prevSize": 32, "code": 58880, "name": "icon-box-with-arrow-cursor", - "tempChar": "" + "tempChar": "" }, { "order": 11, @@ -162,7 +202,7 @@ "prevSize": 32, "code": 65, "name": "icon-activity-mode", - "tempChar": "" + "tempChar": "" }, { "order": 12, @@ -170,7 +210,7 @@ "prevSize": 32, "code": 97, "name": "icon-activity", - "tempChar": "" + "tempChar": "" }, { "order": 87, @@ -178,7 +218,7 @@ "prevSize": 32, "code": 33, "name": "icon-alert-rect", - "tempChar": "" + "tempChar": "" }, { "order": 14, @@ -186,7 +226,7 @@ "prevSize": 32, "code": 58883, "name": "icon-alert-triangle", - "tempChar": "" + "tempChar": "" }, { "order": 15, @@ -194,7 +234,7 @@ "prevSize": 32, "code": 238, "name": "icon-arrow-double-down", - "tempChar": "" + "tempChar": "" }, { "order": 16, @@ -202,7 +242,7 @@ "prevSize": 32, "code": 235, "name": "icon-arrow-double-up", - "tempChar": "" + "tempChar": "" }, { "order": 2, @@ -210,7 +250,7 @@ "prevSize": 32, "code": 118, "name": "icon-arrow-down", - "tempChar": "" + "tempChar": "" }, { "order": 19, @@ -218,7 +258,7 @@ "prevSize": 32, "code": 60, "name": "icon-arrow-left", - "tempChar": "" + "tempChar": "" }, { "order": 20, @@ -226,7 +266,7 @@ "prevSize": 32, "code": 62, "name": "icon-arrow-right", - "tempChar": "" + "tempChar": "" }, { "order": 21, @@ -234,7 +274,7 @@ "prevSize": 32, "code": 236, "name": "icon-arrow-tall-down", - "tempChar": "" + "tempChar": "" }, { "order": 22, @@ -242,7 +282,7 @@ "prevSize": 32, "code": 237, "name": "icon-arrow-tall-up", - "tempChar": "" + "tempChar": "" }, { "order": 23, @@ -250,7 +290,7 @@ "prevSize": 32, "code": 94, "name": "icon-arrow-up", - "tempChar": "" + "tempChar": "" }, { "order": 24, @@ -258,7 +298,7 @@ "prevSize": 32, "code": 73, "name": "icon-arrows-out", - "tempChar": "" + "tempChar": "" }, { "order": 25, @@ -266,7 +306,7 @@ "prevSize": 32, "code": 58893, "name": "icon-arrows-right-left", - "tempChar": "" + "tempChar": "" }, { "order": 33, @@ -274,7 +314,7 @@ "prevSize": 32, "code": 53, "name": "icon-arrows-up-down", - "tempChar": "" + "tempChar": "" }, { "order": 26, @@ -282,7 +322,7 @@ "prevSize": 32, "code": 42, "name": "icon-asterisk", - "tempChar": "" + "tempChar": "" }, { "order": 27, @@ -290,7 +330,7 @@ "prevSize": 32, "code": 72, "name": "icon-autoflow-tabular", - "tempChar": "" + "tempChar": "" }, { "order": 28, @@ -298,7 +338,7 @@ "prevSize": 32, "code": 224, "name": "icon-box", - "tempChar": "" + "tempChar": "" }, { "order": 29, @@ -306,7 +346,7 @@ "prevSize": 32, "code": 50, "name": "icon-check", - "tempChar": "" + "tempChar": "" }, { "order": 30, @@ -314,7 +354,7 @@ "prevSize": 32, "code": 67, "name": "icon-clock", - "tempChar": "" + "tempChar": "" }, { "order": 31, @@ -322,7 +362,7 @@ "prevSize": 32, "code": 46, "name": "icon-connectivity", - "tempChar": "" + "tempChar": "" }, { "order": 32, @@ -330,7 +370,7 @@ "prevSize": 32, "code": 100, "name": "icon-database-query", - "tempChar": "" + "tempChar": "" }, { "order": 17, @@ -338,7 +378,7 @@ "prevSize": 32, "code": 68, "name": "icon-database", - "tempChar": "" + "tempChar": "" }, { "order": 35, @@ -346,7 +386,7 @@ "prevSize": 32, "code": 81, "name": "icon-dictionary", - "tempChar": "" + "tempChar": "" }, { "order": 36, @@ -354,7 +394,7 @@ "prevSize": 32, "code": 242, "name": "icon-duplicate", - "tempChar": "" + "tempChar": "" }, { "order": 37, @@ -362,7 +402,7 @@ "prevSize": 32, "code": 102, "name": "icon-folder-new", - "tempChar": "" + "tempChar": "" }, { "order": 38, @@ -370,7 +410,7 @@ "prevSize": 32, "code": 70, "name": "icon-folder", - "tempChar": "" + "tempChar": "" }, { "order": 39, @@ -378,7 +418,7 @@ "prevSize": 32, "code": 95, "name": "icon-fullscreen-collapse", - "tempChar": "" + "tempChar": "" }, { "order": 40, @@ -386,7 +426,7 @@ "prevSize": 32, "code": 122, "name": "icon-fullscreen-expand", - "tempChar": "" + "tempChar": "" }, { "order": 41, @@ -394,7 +434,7 @@ "prevSize": 32, "code": 71, "name": "icon-gear", - "tempChar": "" + "tempChar": "" }, { "order": 49, @@ -402,7 +442,7 @@ "prevSize": 32, "code": 227, "name": "icon-image", - "tempChar": "" + "tempChar": "" }, { "order": 42, @@ -410,7 +450,7 @@ "prevSize": 32, "code": 225, "name": "icon-layers", - "tempChar": "" + "tempChar": "" }, { "order": 43, @@ -418,7 +458,7 @@ "prevSize": 32, "code": 76, "name": "icon-layout", - "tempChar": "" + "tempChar": "" }, { "order": 44, @@ -426,7 +466,7 @@ "prevSize": 32, "code": 226, "name": "icon-line-horz", - "tempChar": "" + "tempChar": "" }, { "order": 75, @@ -434,7 +474,7 @@ "prevSize": 32, "code": 244, "name": "icon-link", - "tempChar": "" + "tempChar": "" }, { "order": 46, @@ -442,7 +482,7 @@ "prevSize": 32, "code": 88, "name": "icon-magnify-in", - "tempChar": "" + "tempChar": "" }, { "order": 47, @@ -450,7 +490,7 @@ "prevSize": 32, "code": 89, "name": "icon-magnify-out", - "tempChar": "" + "tempChar": "" }, { "order": 48, @@ -458,7 +498,7 @@ "prevSize": 32, "code": 77, "name": "icon-magnify", - "tempChar": "" + "tempChar": "" }, { "order": 34, @@ -466,7 +506,7 @@ "prevSize": 32, "code": 109, "name": "icon-menu", - "tempChar": "" + "tempChar": "" }, { "order": 50, @@ -474,7 +514,7 @@ "prevSize": 32, "code": 243, "name": "icon-move", - "tempChar": "" + "tempChar": "" }, { "order": 51, @@ -482,7 +522,7 @@ "prevSize": 32, "code": 121, "name": "icon-new-window", - "tempChar": "" + "tempChar": "" }, { "order": 52, @@ -490,7 +530,7 @@ "prevSize": 32, "code": 111, "name": "icon-object", - "tempChar": "" + "tempChar": "" }, { "order": 73, @@ -498,7 +538,7 @@ "prevSize": 32, "code": 63, "name": "icon-object-unknown", - "tempChar": "" + "tempChar": "" }, { "order": 53, @@ -506,7 +546,7 @@ "prevSize": 32, "code": 86, "name": "icon-packet", - "tempChar": "" + "tempChar": "" }, { "order": 54, @@ -514,7 +554,7 @@ "prevSize": 32, "code": 234, "name": "icon-page", - "tempChar": "" + "tempChar": "" }, { "order": 55, @@ -522,7 +562,7 @@ "prevSize": 32, "code": 241, "name": "icon-pause", - "tempChar": "" + "tempChar": "" }, { "order": 56, @@ -530,7 +570,7 @@ "prevSize": 32, "code": 112, "name": "icon-pencil", - "tempChar": "" + "tempChar": "" }, { "order": 65, @@ -538,7 +578,7 @@ "prevSize": 32, "code": 79, "name": "icon-people", - "tempChar": "" + "tempChar": "" }, { "order": 57, @@ -546,7 +586,7 @@ "prevSize": 32, "code": 239, "name": "icon-play", - "tempChar": "" + "tempChar": "" }, { "order": 58, @@ -554,7 +594,7 @@ "prevSize": 32, "code": 233, "name": "icon-plot-resource", - "tempChar": "" + "tempChar": "" }, { "order": 59, @@ -562,7 +602,7 @@ "prevSize": 32, "code": 43, "name": "icon-plus", - "tempChar": "" + "tempChar": "" }, { "order": 60, @@ -570,7 +610,7 @@ "prevSize": 32, "code": 45, "name": "icon-minus", - "tempChar": "" + "tempChar": "" }, { "order": 61, @@ -578,7 +618,7 @@ "prevSize": 32, "code": 54, "name": "icon-sine", - "tempChar": "" + "tempChar": "" }, { "order": 62, @@ -586,7 +626,7 @@ "prevSize": 32, "code": 228, "name": "icon-T", - "tempChar": "" + "tempChar": "" }, { "order": 63, @@ -594,7 +634,7 @@ "prevSize": 32, "code": 116, "name": "icon-telemetry-panel", - "tempChar": "" + "tempChar": "" }, { "order": 64, @@ -602,7 +642,7 @@ "prevSize": 32, "code": 84, "name": "icon-telemetry", - "tempChar": "" + "tempChar": "" }, { "order": 18, @@ -610,7 +650,7 @@ "prevSize": 32, "code": 246, "name": "icon-thumbs-strip", - "tempChar": "" + "tempChar": "" }, { "order": 67, @@ -618,7 +658,7 @@ "prevSize": 32, "code": 83, "name": "icon-timeline", - "tempChar": "" + "tempChar": "" }, { "order": 68, @@ -626,7 +666,7 @@ "prevSize": 32, "code": 245, "name": "icon-timer", - "tempChar": "" + "tempChar": "" }, { "order": 69, @@ -634,7 +674,7 @@ "prevSize": 32, "code": 90, "name": "icon-trash", - "tempChar": "" + "tempChar": "" }, { "order": 70, @@ -642,7 +682,7 @@ "prevSize": 32, "code": 229, "name": "icon-two-parts-both", - "tempChar": "" + "tempChar": "" }, { "order": 71, @@ -650,7 +690,7 @@ "prevSize": 32, "code": 231, "name": "icon-two-parts-one-only", - "tempChar": "" + "tempChar": "" }, { "order": 72, @@ -658,7 +698,7 @@ "prevSize": 32, "code": 120, "name": "icon-x-heavy", - "tempChar": "" + "tempChar": "" }, { "order": 66, @@ -666,7 +706,7 @@ "prevSize": 32, "code": 58946, "name": "icon-x", - "tempChar": "" + "tempChar": "" } ], "id": 2, @@ -681,6 +721,121 @@ "height": 1024, "prevSize": 32, "icons": [ + { + "id": 92, + "paths": [ + "M514 2c-282.8 0-512 229.2-512 512s229.2 512 512 512 512-229.2 512-512-229.2-512-512-512zM860.2 450h-282.2v-282.2c69.6 12.8 133.8 46.2 185 97.4 51 51 84.4 115.2 97.2 184.8zM450 167.8v282.2h-282.2c12.8-69.6 46.2-133.8 97.4-185 51-51 115.2-84.4 184.8-97.2zM167.8 578h282.2v282.2c-69.6-12.8-133.8-46.2-185-97.4-51-51-84.4-115.2-97.2-184.8zM578 860.2v-282.2h282.2c-12.8 69.6-46.2 133.8-97.4 185-51 51-115.2 84.4-184.8 97.2z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "grid": 0, + "tags": [ + "icon-crosshair" + ], + "colorPermutations": { + "125525525516161751": [ + 0 + ] + } + }, + { + "id": 91, + "paths": [ + "M256 0h-256v1024h256c105.6 0 192-86.4 192-192v-640c0-105.6-86.4-192-192-192z", + "M512 320l512 320v-640z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + }, + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "grid": 0, + "tags": [ + "icon-collapse-pane-left" + ], + "colorPermutations": { + "125525525516161751": [ + 0, + 0 + ] + } + }, + { + "id": 90, + "paths": [ + "M768 0h256v1024h-256c-105.6 0-192-86.4-192-192v-640c0-105.6 86.4-192 192-192z", + "M512 320l-512 320v-640z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + }, + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "grid": 0, + "tags": [ + "icon-collapse-pane-right" + ], + "colorPermutations": { + "125525525516161751": [ + 0, + 0 + ] + } + }, + { + "id": 89, + "paths": [ + "M192.2 576c-0.2 0-0.2 0 0 0l-0.2 448h640v-447.8c0 0 0 0-0.2-0.2h-639.6z", + "M978.8 210.8l-165.4-165.4c-25-25-74.2-45.4-109.4-45.4h-576c-70.4 0-128 57.6-128 128v768c0 70.4 57.6 128 128 128v-448c0-35.2 28.8-64 64-64h640c35.2 0 64 28.8 64 64v448c70.4 0 128-57.6 128-128v-576c0-35.2-20.4-84.4-45.2-109.2zM704 256c0 35.2-28.8 64-64 64h-448c-35.2 0-64-28.8-64-64v-192h320v192h128v-192h128v192z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + }, + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "grid": 0, + "tags": [ + "icon-save-v2" + ], + "colorPermutations": { + "125525525516161751": [ + 0, + 0 + ] + } + }, + { + "id": 88, + "paths": [ + "M896 192h-320c-16.4-16.4-96.8-96.8-109.2-109.2l-37.4-37.4c-25-25-74.2-45.4-109.4-45.4h-256c-35.2 0-64 28.8-64 64v384c0-70.4 57.6-128 128-128h768c70.4 0 128 57.6 128 128v-128c0-70.4-57.6-128-128-128z", + "M896 448h-768c-70.4 0-128 57.6-128 128v320c0 70.4 57.6 128 128 128h768c70.4 0 128-57.6 128-128v-320c0-70.4-57.6-128-128-128zM320 896h-128v-320h128v320zM576 896h-128v-320h128v320zM832 896h-128v-320h128v320z" + ], + "attrs": [], + "isMulticolor": false, + "grid": 0, + "tags": [ + "icon-dataset" + ], + "colorPermutations": { + "125525525516161751": [] + } + }, { "id": 87, "paths": [ diff --git a/platform/commonUI/general/res/fonts/symbols/wtdsymbols.eot b/platform/commonUI/general/res/fonts/symbols/wtdsymbols.eot index a721dd3384..43192b87f7 100755 Binary files a/platform/commonUI/general/res/fonts/symbols/wtdsymbols.eot and b/platform/commonUI/general/res/fonts/symbols/wtdsymbols.eot differ diff --git a/platform/commonUI/general/res/fonts/symbols/wtdsymbols.svg b/platform/commonUI/general/res/fonts/symbols/wtdsymbols.svg index 7d0e70d400..455f2db341 100755 --- a/platform/commonUI/general/res/fonts/symbols/wtdsymbols.svg +++ b/platform/commonUI/general/res/fonts/symbols/wtdsymbols.svg @@ -88,5 +88,10 @@ + + + + + \ No newline at end of file diff --git a/platform/commonUI/general/res/fonts/symbols/wtdsymbols.ttf b/platform/commonUI/general/res/fonts/symbols/wtdsymbols.ttf index 5bc0ca5290..0bb5126e8a 100755 Binary files a/platform/commonUI/general/res/fonts/symbols/wtdsymbols.ttf and b/platform/commonUI/general/res/fonts/symbols/wtdsymbols.ttf differ diff --git a/platform/commonUI/general/res/fonts/symbols/wtdsymbols.woff b/platform/commonUI/general/res/fonts/symbols/wtdsymbols.woff index 68386425cc..0b1935282d 100755 Binary files a/platform/commonUI/general/res/fonts/symbols/wtdsymbols.woff and b/platform/commonUI/general/res/fonts/symbols/wtdsymbols.woff differ diff --git a/platform/commonUI/general/res/sass/_constants.scss b/platform/commonUI/general/res/sass/_constants.scss index e64b5f5aaa..a3305cf0a4 100644 --- a/platform/commonUI/general/res/sass/_constants.scss +++ b/platform/commonUI/general/res/sass/_constants.scss @@ -42,7 +42,11 @@ $ueFooterH: 25px; $ueColMargin: 1.5%; $ueAppLogoW: 105px; $ueEditToolBarH: 25px; -$ueBrowseLeftPaneW: 25%; +$ueBrowseLeftPaneTreeW: 25%; +$ueBrowseRightPaneInspectW: 20%; +$ueCollapsedPaneEdgeM: 20px; +$uePaneMiniTabH: $ueTopBarH; +$uePaneMiniTabW: 9px; $ueEditLeftPaneW: 75%; $treeSearchInputBarH: 25px; $ueTimeControlH: (33px, 20px, 20px); @@ -57,7 +61,8 @@ $ueBrowseGridItemBottomBarH: 30px; $itemPadLR: 5px; // Tree $treeVCW: 10px; -$treeTypeIconH: 16px; +$treeTypeIconH: 1.4em; // was 16px +$treeTypeIconHPx: 16px; $treeTypeIconW: 20px; $treeContextTriggerW: 20px; // Tabular diff --git a/platform/commonUI/general/res/sass/_global.scss b/platform/commonUI/general/res/sass/_global.scss index 45b868922b..5b2011f5bb 100644 --- a/platform/commonUI/general/res/sass/_global.scss +++ b/platform/commonUI/general/res/sass/_global.scss @@ -34,10 +34,6 @@ font-style: normal; } -.ui-symbol { - font-family: 'symbolsfont'; -} - /************************** HTML ENTITIES */ a { color: $colorA; @@ -55,7 +51,7 @@ body, html { color: $colorBodyFg; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 100%; - //font-weight: 500; + font-weight: 200; height: 100%; width: 100%; overflow: hidden; diff --git a/platform/commonUI/general/res/sass/_icons.scss b/platform/commonUI/general/res/sass/_icons.scss index 1208b3e7cf..3b41b31011 100644 --- a/platform/commonUI/general/res/sass/_icons.scss +++ b/platform/commonUI/general/res/sass/_icons.scss @@ -29,11 +29,14 @@ } .ui-symbol { + font-family: 'symbolsfont'; &.type-icon { color: $colorObjHdrIc; } &.icon { color: $colorKey; + //position: relative; + font-size: inherit; &.alert { color: $colorAlert; &:hover { @@ -69,18 +72,32 @@ position: absolute; } -//.tree-item .type-icon { -// font-size: 16px; // 16px is crisp size -//} - -.l-icon-link:before { - content: "\f4"; -} - .l-icon-alert { display: none !important; // Remove this when alerts are enabled &:before { color: $colorAlert; content: "!"; } +} + +// NEW!! +.t-item-icon { + // Used in grid-item.html, tree-item, inspector location, more? + @extend .ui-symbol; + @extend .icon; + display: inline-block; + line-height: normal; // This is Ok for the symbolsfont + position: relative; + &.l-icon-link { + &:before { + color: $colorIconLink; + content: "\f4"; + height: auto; width: auto; + position: absolute; + left: 0; top: 0; right: 0; bottom: 10%; + @include transform-origin(bottom, left); + @include transform(scale(0.3)); + z-index: 2; + } + } } \ No newline at end of file diff --git a/platform/commonUI/general/res/sass/_inspector.scss b/platform/commonUI/general/res/sass/_inspector.scss new file mode 100644 index 0000000000..9f67ff3b73 --- /dev/null +++ b/platform/commonUI/general/res/sass/_inspector.scss @@ -0,0 +1,107 @@ +/***************************************************************************** + * 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. + *****************************************************************************/ +/* Styles for the Inspector pane */ + +.l-inspect, +.l-inspect table tr td { + font-size: 0.7rem; +} + +.l-inspect { + @extend .abs; + background: $colorInspectorBg; + color: $colorInspectorFg; + line-height: 140%; + .pane-header { + color: pushBack($colorInspectorFg, 20%); + font-size: 0.8rem; + &:before { + color: pushBack($colorInspectorFg, 10%); + content:'\e615'; // e615 Crosshair symbol + display: inline; + font-family: symbolsfont; + margin-right: $interiorMargin; + vertical-align: bottom; + } + } + + ul li, + em { + display: block; + position: relative; + } + + ul li { + margin-bottom: $interiorMarginLg; + } + + em { + @include border-radius($basicCr); + background-color: $colorInspectorSectionHeaderBg; + color: $colorInspectorSectionHeaderFg; + margin-bottom: $interiorMargin; + padding: $formTBPad $formLRPad; + text-transform: uppercase; + } + + .inspector-properties { + &:not(.first) { + border-top: 1px solid $colorInspectorSectionHeaderBg; + } + padding: $interiorMarginSm 0; + .label { + color: $colorInspectorPropName; + text-transform: uppercase; + } + .value { + color: $colorInspectorPropVal; + word-break: break-all; + } + } + + .inspector-location { + //line-height: 180%; + .location-item { + cursor: pointer; + display: inline-block; + position: relative; + padding: 2px 4px; + &:hover { + background: $colorItemTreeHoverBg; + color: $colorItemTreeHoverFg; + .icon { + color: $colorItemTreeIconHover; + } + } + } + &:not(.last) .t-object-label .t-title-label:after { + color: pushBack($colorInspectorFg, 15%); + content: '\3e'; + display: inline-block; + font-family: symbolsfont; + font-size: 8px; + line-height: inherit; + margin-left: $interiorMarginSm; + width: 4px; + } + } +} \ No newline at end of file diff --git a/platform/commonUI/general/res/sass/_main.scss b/platform/commonUI/general/res/sass/_main.scss index 05d814f3be..0dab445e84 100644 --- a/platform/commonUI/general/res/sass/_main.scss +++ b/platform/commonUI/general/res/sass/_main.scss @@ -29,7 +29,7 @@ @import "helpers/bubbles"; @import "helpers/splitter"; @import "helpers/wait-spinner"; -@import "properties"; +@import "inspector"; /********************************* CONTROLS */ @import "controls/breadcrumb"; @@ -69,7 +69,6 @@ @import "lists/tabular"; @import "plots/plots-main"; @import "iframe"; -@import "hide-non-functional"; @import "views"; @import "items/item"; @import "mobile/item"; diff --git a/platform/commonUI/general/res/sass/_mixins.scss b/platform/commonUI/general/res/sass/_mixins.scss index 784b054669..f5a21cf9dd 100644 --- a/platform/commonUI/general/res/sass/_mixins.scss +++ b/platform/commonUI/general/res/sass/_mixins.scss @@ -41,36 +41,41 @@ width: $d; } -@mixin trans-prop-nice($props, $t: 500ms) { - @if $t == 0 { +@mixin trans-prop-nice($props, $dur: 500ms, $delay: 0) { + // Multiple $props must be in parans like this: (left, right) + @if $dur == 0 { @include transition-property(none); } @else { @include transition-property($props); - @include transition-duration($t); + @include transition-duration($dur); @include transition-timing-function(ease-in-out); + @include transition-delay($delay); } } -@mixin trans-prop-nice-fade($t: 0.5s) { - @if $t == 0 { +@mixin trans-prop-nice-fade($dur: 500ms, $delay: 0) { + @if $dur == 0 { @include transition-property(none); } @else { - @include transition-property(visibility, opacity, background-color, border-color); - @include transition-duration($t); + @include transition-property(opacity, background-color, border-color, color); + @include transition-duration($dur); @include transition-timing-function(ease-in-out); + @include transition-delay($delay); } } -@mixin trans-prop-nice-resize-h($t: 0.5s) { +@mixin trans-prop-nice-resize-h($dur: 500ms, $delay: 0) { @include transition-property(height, bottom, top); - @include transition-duration($t); + @include transition-duration($dur); @include transition-timing-function(ease-in-out); + @include transition-delay($delay); } -@mixin trans-prop-nice-resize-w($t: 0.5s) { +@mixin trans-prop-nice-resize-w($dur: 500ms, $delay: 0) { @include transition-property(width, left, right); - @include transition-duration($t); + @include transition-duration($dur); @include transition-timing-function(ease-in-out); + @include transition-delay($delay); } @mixin triangle-right($size, $color) { @@ -173,31 +178,28 @@ } @mixin controlGrippy($b, $direction: horizontal, $w: 1px, $style: dotted) { - &:before { - @include trans-prop-nice("border-color", 0.75s); - content: ''; - display: block; - height: auto; - pointer-events: none; - position: absolute; - z-index: 2; + //&:before { + //@include trans-prop-nice("border-color", 25ms); + content: ''; + display: block; + //height: auto; + pointer-events: none; + position: absolute; + z-index: 2; - @if $direction == "horizontal" { - border-top: $w $style darken($b, 15%); - top: 2px; - left: 5px; - right: 5px; + @if $direction == "horizontal" { + border-top: $w $style darken($b, 15%); + top: 2px; + left: 5px; + right: 5px; + height: 1px; - } @else if $direction == "vertical" { - border-left: $w $style darken($b, 15%); - left: 2px; - bottom: 5px; - top: 5px; - } - } - &:not(.disabled):hover:before { - @include trans-prop-nice("border-color", 25ms); - border-color: $colorGrippyInteriorHover; + } @else if $direction == "vertical" { + border-left: $w $style darken($b, 15%); + left: 2px; + bottom: 5px; + top: 5px; + width: 1px; } } @@ -273,6 +275,12 @@ @return percentage($d); } +@function splitterHandleInset($splitterD: 21px, $splitterHandleD: 1px) { + // Space to either side of the handle + @return ($splitterD - $splitterHandleD) * 0.5; +} + + /*********************************************** CONTROLS, FORM ELEMENTS */ @mixin containerBase($bg: $colorBodyBg, $fg: $colorBodyFg) { @@ -364,10 +372,7 @@ /* This doesn't work on an element inside an element with absolute positioning that has height: auto */ //position: relative; top: 50%; - @include webkitProp(transform, translateY(-50%)); - //-webkit-transform: translateY(-50%); - //-ms-transform: translateY(-50%); - //transform: translateY(-50%); + @include transform(translateY(-50%)); } @mixin verticalCenterBlock($holderH, $itemH) { diff --git a/platform/commonUI/general/res/sass/controls/_buttons.scss b/platform/commonUI/general/res/sass/controls/_buttons.scss index abf191cece..956e144899 100644 --- a/platform/commonUI/general/res/sass/controls/_buttons.scss +++ b/platform/commonUI/general/res/sass/controls/_buttons.scss @@ -22,13 +22,17 @@ $baseRatio: 1.5; $pad: $interiorMargin * $baseRatio; -.s-btn { - @include box-sizing(border-box); +.s-btn, +.s-icon-btn { @include user-select(none); cursor: pointer; text-decoration: none; height: $btnStdH; line-height: $btnStdH; +} + +.s-btn { + @include box-sizing(border-box); padding: 0 $pad; font-size: 0.7rem; @@ -89,6 +93,155 @@ $pad: $interiorMargin * $baseRatio; } } +.s-icon-btn { + @extend .ui-symbol; + color: $colorBtnIcon; + &:hover { + color: lighten($colorBtnIcon, $ltGamma); + } +} + +.mini-tab { + // Meant to be used as pane hide/show control elements in concert with mct-splitter + //@extend .ui-symbol; + @include desktop { + //@include test(green); + $iconH: $uePaneMiniTabH; + $iconW: $uePaneMiniTabW; + $iconInnerLR: 0; + $arwD: 9px; + $arwOffsetX: 0px; + $arwAnimOffsetX: 2px + $iconInnerLR; + $cBg: pullForward($colorBodyBg, 15%); + $cFg: $cBg; + + + @include border-radius($basicCr); + //@include boxShdw($shdwBtns); + @include box-sizing(border-box); + @include trans-prop-nice((color, background-color), 100ms); + color: $cFg; + cursor: pointer; + font-family: symbolsfont; + font-size: $arwD; + display: block; + position: absolute; + line-height: $iconH; + height: $iconH; width: $iconW; + text-align: center; + + &:hover { + //background-color: $cBg; + color: $colorKey; //pullForward($cFg, $ltGamma); + } + + &.collapsed { + // State when the pane this element controls has been collapsed + @include btnSubtle($colorBtnBg, $colorKey, $colorBtnFg, $colorBtnIcon); + &:before { opacity: 0; } + &:after { opacity: 1; } + &:hover { + &:before { opacity: 1; } + &:after { opacity: 0; } + } + + } + + &:before, + &:after { + //@include test(); + @include trans-prop-nice((left, right, opacity), 250ms); + display: block; + height: 100%; + position: absolute; + } + + &:before { + // Always the arrow icon + //@include test(green); + //font-size: $arwD; + width: $arwD; + } + &:after { + // Always icon; content is set in _layout.scss + width: 100%; + text-align: center; + opacity: 0; + } + + &.anchor-left { + // |< + text-align: right; + &:before { + content:'\3c'; // Collapse left icon e613 + right: $iconInnerLR; + } + //&:hover:before { right: $arwAnimOffsetX; } + &.collapsed { + @include border-left-radius(0); + text-align: left; + &:before { + content:'\3e'; + left: $iconInnerLR; + } + &:hover:before { left: $arwAnimOffsetX; } + } + } + &.anchor-right { + // >| + text-align: left; + &:before { + content:'\3e'; // Collapse right icon e614 + left: $iconInnerLR; + } + //&:hover:before { left: $arwAnimOffsetX; } + &.collapsed { + @include border-right-radius(0); + &:before { + text-align: right; + content:'\3c'; + right: $iconInnerLR; + } + &:hover:before { right: $arwAnimOffsetX; } + } + } + } +} + +.mini-tab-icon { + // Meant to be used as pane hide/show control elements in concert with mct-splitter + //@extend .ui-symbol; + @include desktop { + $d: $uePaneMiniTabW; + //@include trans-prop-nice(transform, 150ms); + color: pullForward($colorBodyBg, 15%); + cursor: pointer; + display: block; + font-family: symbolsfont; + font-size: $d; + position: absolute; + height: $d; width: $d; + line-height: $d; + overflow: hidden; + word-break: break-all; + + &:before, + &:after { + position: absolute; + display: inherit; + } + + &:before { + content: '\78'; // X icon + } + + &:hover { + color: $colorKey; + //@include transform(scale(1.2)); + } + } +} + .l-btn-set { // Buttons that have a very tight conceptual grouping - no internal space between them. // Structure: .btn-set > mct-representation class=first|last > .s-btn diff --git a/platform/commonUI/general/res/sass/controls/_controls.scss b/platform/commonUI/general/res/sass/controls/_controls.scss index f7457d9dd6..a8c1f68aa3 100644 --- a/platform/commonUI/general/res/sass/controls/_controls.scss +++ b/platform/commonUI/general/res/sass/controls/_controls.scss @@ -21,246 +21,239 @@ *****************************************************************************/ .accordion { - $accordionHeadH: 18px; - margin-top: $interiorMargin; - &:first-child { - margin-top: 0; - } - .accordion-head { - $op: 0.2; - @include border-radius($basicCr * 0.75); - @include box-sizing("border-box"); - background: rgba($colorBodyFg, $op); - cursor: pointer; - font-size: 0.75em; - line-height: $accordionHeadH; - margin-bottom: $interiorMargin; - padding: 0 $interiorMargin; - position: absolute; - top: 0; - right: 0; - bottom: auto; - left: 0; - width: auto; - height: $accordionHeadH; - text-transform: uppercase; - &:hover { - background: rgba($colorBodyFg, $op * 2); - } - &:after { - content: "^"; - display: block; - font-family: 'symbolsfont'; - font-size: 0.9em; - position: absolute; - right: $interiorMargin; - text-transform: none; - top: 0; - } - &:not(.expanded):after { - content: "v"; - } - } - .accordion-contents { - position: absolute; - top: $accordionHeadH + $interiorMargin; - right: 0; - bottom: 0; - left: 0; - overflow-y: auto; - overflow-x: hidden; - } + $accordionHeadH: 18px; + margin-top: $interiorMargin; + &:first-child { + margin-top: 0; + } + .accordion-head { + $op: 0.2; + @include border-radius($basicCr * 0.75); + @include box-sizing("border-box"); + background: rgba($colorBodyFg, $op); + cursor: pointer; + font-size: 0.75em; + line-height: $accordionHeadH; + margin-bottom: $interiorMargin; + padding: 0 $interiorMargin; + position: absolute; + top: 0; + right: 0; + bottom: auto; + left: 0; + width: auto; + height: $accordionHeadH; + text-transform: uppercase; + &:hover { + background: rgba($colorBodyFg, $op * 2); + } + &:after { + content: "^"; + display: block; + font-family: 'symbolsfont'; + font-size: 0.9em; + position: absolute; + right: $interiorMargin; + text-transform: none; + top: 0; + } + &:not(.expanded):after { + content: "v"; + } + } + .accordion-contents { + position: absolute; + top: $accordionHeadH + $interiorMargin; + right: 0; + bottom: 0; + left: 0; + overflow-y: auto; + overflow-x: hidden; + } } .l-composite-control { - vertical-align: middle; - &.l-checkbox { - .composite-control-label { - line-height: 18px; - } - } + vertical-align: middle; + &.l-checkbox { + .composite-control-label { + line-height: 18px; + } + } } .l-control-group { - // Buttons that have a conceptual grouping - internal space between, and a divider between groups. - // @include test(); - @include box-sizing(border-box); - border-left: 1px solid $colorInteriorBorder; - display: inline-block; - padding: 0 $interiorMargin; - position: relative; - &:first-child { - border-left: none; - padding-left: 0; - } + // Buttons that have a conceptual grouping - internal space between, and a divider between groups. + // @include test(); + @include box-sizing(border-box); + border-left: 1px solid $colorInteriorBorder; + display: inline-block; + padding: 0 $interiorMargin; + position: relative; + &:first-child { + border-left: none; + padding-left: 0; + } } .l-local-controls { - // Control shown when hovering over an object, like plots and imagery - // Default position is upper right - $p: $interiorMargin; - position: absolute; - top: $p; - right: $p; - z-index: 5; + // Control shown when hovering over an object, like plots and imagery + // Default position is upper right + $p: $interiorMargin; + position: absolute; + top: $p; + right: $p; + z-index: 5; } .s-local-controls { - font-size: 0.7rem; + font-size: 0.7rem; } label.checkbox.custom { - $bg: pullForward($colorBodyBg, 10%); - $d: $formRowCtrlsH; - cursor: pointer; - display: inline-block; - line-height: $d; - margin-right: $interiorMargin * 4; - padding-left: $d + $interiorMargin; - position: relative; - vertical-align: middle; // was top - em { - color: $colorBodyFg; - display: inline-block; - height: $d; - min-width: $d; - &:before { - @include border-radius($basicCr * .75); - background: $bg; - //border-bottom: 1px solid lighten($bg, 10%); - @include box-shadow(inset rgba(black, 0.4) 0 1px 2px); - box-sizing: border-box; - content: " "; - font-family: 'symbolsfont'; - font-size: 0.8em; - display: inline-block; - margin-right: $interiorMargin; - height: $d; - width: $d; - left: 0; - top: 0; - position: absolute; - text-align: center; - } - } - &.no-text { - overflow: hidden; - margin-right: 0; - padding-left: 0; - height: $d; - width: $d; - em { - overflow: hidden; - } - } - input { - display: none; - &:checked ~ em:before { - background: $colorCheck; - color: lighten($colorCheck, 50%); - content: "2"; - } - } + $bg: pullForward($colorBodyBg, 10%); + $d: $formRowCtrlsH; + cursor: pointer; + display: inline-block; + line-height: $d; + margin-right: $interiorMargin * 4; + padding-left: $d + $interiorMargin; + position: relative; + vertical-align: middle; // was top + em { + color: $colorBodyFg; + display: inline-block; + height: $d; + min-width: $d; + &:before { + @include border-radius($basicCr * .75); + background: $bg; + //border-bottom: 1px solid lighten($bg, 10%); + @include box-shadow(inset rgba(black, 0.4) 0 1px 2px); + box-sizing: border-box; + content: " "; + font-family: 'symbolsfont'; + font-size: 0.8em; + display: inline-block; + margin-right: $interiorMargin; + height: $d; + width: $d; + left: 0; + top: 0; + position: absolute; + text-align: center; + } + } + &.no-text { + overflow: hidden; + margin-right: 0; + padding-left: 0; + height: $d; + width: $d; + em { + overflow: hidden; + } + } + input { + display: none; + &:checked ~ em:before { + background: $colorCheck; + color: lighten($colorCheck, 50%); + content: "2"; + } + } } .input-labeled { - margin-left: $interiorMargin; - label { - display: inline-block; - margin-right: $interiorMarginSm; - } - &.inline { - display: inline-block; - } - &:first-child { - margin-left: 0; - } + margin-left: $interiorMargin; + label { + display: inline-block; + margin-right: $interiorMarginSm; + } + &.inline { + display: inline-block; + } + &:first-child { + margin-left: 0; + } } .s-menu-btn label.checkbox.custom { - margin-left: 5px; + margin-left: 5px; } .item .checkbox { - &.checked label { - @include box-shadow(none); - border-bottom: none; - } + &.checked label { + @include box-shadow(none); + border-bottom: none; + } } .context-available { - $c: $colorKey; - color: $c; - &:hover { - color: lighten($c, 10%); - } + $c: $colorKey; + color: $c; + &:hover { + color: lighten($c, 10%); + } } .view-switcher { - @include trans-prop-nice-fade($controlFadeMs); + @include trans-prop-nice-fade($controlFadeMs); } /******************************************************** OBJECT-HEADER */ .object-header { - //@include test(); - font-size: 1em; + //@include test(); + font-size: 1em; - //> .title-label, - //> .type-icon, - //> .context-available { - // //@include tmpBorder(#6666ff); - // //vertical-align: middle; - //} + > .type-icon { + color: $colorObjHdrIc; + font-size: 120%; + float: left; + margin-right: $interiorMargin; + } - > .type-icon { - color: $colorObjHdrIc; - font-size: 120%; - float: left; - margin-right: $interiorMargin; - } + .l-elem-wrapper { + //@include test(#66f, 0.2); + @include justify-content(flex-start); + mct-representation { + // Holds the context-available item + // Must have min-width to make flex work properly + // in Safari + min-width: 0.7em; + } + } - .l-elem-wrapper { - //@include test(#66f, 0.2); - @include webkitProp(justify-content, flex-start); - mct-representation { - // Holds the context-available item - // Must have min-width to make flex work properly - // in Safari - min-width: 0.7em; - } - } + .action { + margin-right: $interiorMargin; + } - .action { - margin-right: $interiorMargin; - } + .title-label { + //@include test(green, 0.9); + color: $colorObjHdrTxt; + @include ellipsize(); + //color: pushBack($colorBodyFg, 40%); + @include webkitProp(flex, '0 1 auto'); + padding-right: 0.35em; // For context arrow. Done with em's so pad is relative to the scale of the text. + //position: relative; + } - .title-label { - //@include test(green, 0.9); - color: $colorObjHdrTxt; - @include ellipsize(); - //color: pushBack($colorBodyFg, 40%); - @include webkitProp(flex, '0 1 auto'); - padding-right: 0.35em; // For context arrow. Done with em's so pad is relative to the scale of the text. - //position: relative; - } + .context-available { + font-size: 0.7em; + @include webkitProp(flex, '0 0 1'); + //margin-right: $interiorMargin; + } - .context-available { - font-size: 0.7em; - @include webkitProp(flex, '0 0 1'); - //margin-right: $interiorMargin; - } - - @include desktop { - .context-available { - @include trans-prop-nice(opacity, 0.25s); - opacity: 0; - } - &:hover { - .context-available { - opacity: 1; - } - } - } + @include desktop { + .context-available { + @include trans-prop-nice(opacity, 0.25s); + opacity: 0; + } + &:hover { + .context-available { + opacity: 1; + } + } + } } /******************************************************** PROGRESS BAR */ @@ -280,20 +273,20 @@ label.checkbox.custom { .l-progress-bar { // Assume will be determinate by default - display: inline-block; - overflow: hidden; - position: relative; + display: inline-block; + overflow: hidden; + position: relative; - .progress-amt-holder { + .progress-amt-holder { @include absPosDefault(1px); } .progress-amt, .progress-amt:before, .progress-amt:after { - @include absPosDefault(); + @include absPosDefault(); display: block; content: ''; - } + } .progress-amt { right: auto; // Allow inline width to control } @@ -311,10 +304,10 @@ label.checkbox.custom { @include boxIncised(0.3, 4px); background: $colorProgressBarOuter; //border:1px solid $colorProgressBarOuter; - .progress-amt { - @include border-radius($basicCr); - @include boxShdw(); - @include border-radius($basicCr - 1); + .progress-amt { + @include border-radius($basicCr); + @include boxShdw(); + @include border-radius($basicCr - 1); @include trans-prop-nice(width); &:before { background-color: $colorProgressBarAmt; @@ -325,7 +318,7 @@ label.checkbox.custom { transparent 5%, rgba(#fff,0.25) 30%, transparent 100% )); } - } + } &:not(.indeterminate) { .progress-amt:before { @@ -348,187 +341,185 @@ label.checkbox.custom { /******************************************************** SLIDERS */ .slider { - $knobH: 100%; //14px; - .slot { - // @include border-radius($basicCr * .75); - //@include sliderTrack(); - width: auto; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - } - .knob { - //@include btnSubtle(); - //@include controlGrippy(rgba(black, 0.3), vertical, 1px, solid); - @include trans-prop-nice-fade(.25s); - background-color: $sliderColorKnob; - &:hover { - background-color: $sliderColorKnobHov; - } - position: absolute; - height: $knobH; - width: $sliderKnobW; - top: 0; - auto: 0; - bottom: auto; - left: auto; - } - .knob-l { - @include border-left-radius($sliderKnobW); - cursor: w-resize; - } - .knob-r { - @include border-right-radius($sliderKnobW); - cursor: e-resize; - } - .range { - @include trans-prop-nice-fade(.25s); - background-color: $sliderColorRange; - cursor: ew-resize; - position: absolute; - top: 0; //$tbOffset; - right: auto; - bottom: 0; - left: auto; - height: auto; - width: auto; - &:hover { - background-color: $sliderColorRangeHov; - } - } + $knobH: 100%; //14px; + .slot { + // @include border-radius($basicCr * .75); + //@include sliderTrack(); + width: auto; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + } + .knob { + @include trans-prop-nice-fade(.25s); + background-color: $sliderColorKnob; + &:hover { + background-color: $sliderColorKnobHov; + } + position: absolute; + height: $knobH; + width: $sliderKnobW; + top: 0; + auto: 0; + bottom: auto; + left: auto; + } + .knob-l { + @include border-left-radius($sliderKnobW); + cursor: w-resize; + } + .knob-r { + @include border-right-radius($sliderKnobW); + cursor: e-resize; + } + .range { + @include trans-prop-nice-fade(.25s); + background-color: $sliderColorRange; + cursor: ew-resize; + position: absolute; + top: 0; //$tbOffset; + right: auto; + bottom: 0; + left: auto; + height: auto; + width: auto; + &:hover { + background-color: $sliderColorRangeHov; + } + } } /******************************************************** DATETIME PICKER */ .l-datetime-picker { - $r1H: 15px; - @include user-select(none); - font-size: 0.8rem; - padding: $interiorMarginLg !important; - width: 230px; - .l-month-year-pager { - $pagerW: 20px; - //@include test(); - //font-size: 0.8rem; - height: $r1H; - margin-bottom: $interiorMargin; - position: relative; - .pager, - .val { - //@include test(red); - @extend .abs; - } - .pager { - width: $pagerW; - @extend .ui-symbol; - &.prev { - right: auto; - &:before { - content: "\3c"; - } - } - &.next { - left: auto; - text-align: right; - &:before { - content: "\3e"; - } - } - } - .val { - text-align: center; - left: $pagerW + $interiorMargin; - right: $pagerW + $interiorMargin; - } - } - .l-calendar, - .l-time-selects { - border-top: 1px solid $colorInteriorBorder - } - .l-time-selects { - line-height: $formInputH; - } + $r1H: 15px; + @include user-select(none); + font-size: 0.8rem; + padding: $interiorMarginLg !important; + width: 230px; + .l-month-year-pager { + $pagerW: 20px; + //@include test(); + //font-size: 0.8rem; + height: $r1H; + margin-bottom: $interiorMargin; + position: relative; + .pager, + .val { + //@include test(red); + @extend .abs; + } + .pager { + width: $pagerW; + @extend .ui-symbol; + &.prev { + right: auto; + &:before { + content: "\3c"; + } + } + &.next { + left: auto; + text-align: right; + &:before { + content: "\3e"; + } + } + } + .val { + text-align: center; + left: $pagerW + $interiorMargin; + right: $pagerW + $interiorMargin; + } + } + .l-calendar, + .l-time-selects { + border-top: 1px solid $colorInteriorBorder + } + .l-time-selects { + line-height: $formInputH; + } } /******************************************************** CALENDAR */ .l-calendar { - $colorMuted: pushBack($colorMenuFg, 30%); - ul.l-cal-row { - @include display-flex; - @include flex-flow(row nowrap); - margin-top: 1px; - &:first-child { - margin-top: 0; - } - li { - @include flex(1 0); - //@include test(); - margin-left: 1px; - padding: $interiorMargin; - text-align: center; - &:first-child { - margin-left: 0; - } - } - &.l-header li { - color: $colorMuted; - } - &.l-body li { - @include trans-prop-nice(background-color, .25s); - cursor: pointer; - &.in-month { - background-color: $colorCalCellInMonthBg; - } - .sub { - color: $colorMuted; - font-size: 0.8em; - } - &.selected { - background: $colorCalCellSelectedBg; - color: $colorCalCellSelectedFg; - .sub { - color: inherit; - } - } - &:hover { - background-color: $colorCalCellHovBg; - color: $colorCalCellHovFg; - .sub { - color: inherit; - } - } - } - } + $colorMuted: pushBack($colorMenuFg, 30%); + ul.l-cal-row { + @include display-flex; + @include flex-flow(row nowrap); + margin-top: 1px; + &:first-child { + margin-top: 0; + } + li { + @include flex(1 0); + //@include test(); + margin-left: 1px; + padding: $interiorMargin; + text-align: center; + &:first-child { + margin-left: 0; + } + } + &.l-header li { + color: $colorMuted; + } + &.l-body li { + @include trans-prop-nice(background-color, .25s); + cursor: pointer; + &.in-month { + background-color: $colorCalCellInMonthBg; + } + .sub { + color: $colorMuted; + font-size: 0.8em; + } + &.selected { + background: $colorCalCellSelectedBg; + color: $colorCalCellSelectedFg; + .sub { + color: inherit; + } + } + &:hover { + background-color: $colorCalCellHovBg; + color: $colorCalCellHovFg; + .sub { + color: inherit; + } + } + } + } } /******************************************************** BROWSER ELEMENTS */ @include desktop { - ::-webkit-scrollbar { - @include border-radius(2px); - @include box-sizing(border-box); - @include box-shadow(inset $scrollbarTrackShdw); - background-color: $scrollbarTrackColorBg; - height: $scrollbarTrackSize; - width: $scrollbarTrackSize; - } + ::-webkit-scrollbar { + @include border-radius(2px); + @include box-sizing(border-box); + @include box-shadow(inset $scrollbarTrackShdw); + background-color: $scrollbarTrackColorBg; + height: $scrollbarTrackSize; + width: $scrollbarTrackSize; + } - ::-webkit-scrollbar-thumb { - $bg: $scrollbarThumbColor; - $hc: $scrollbarThumbColorHov; - $gr: 5%; - @include background-image(linear-gradient(lighten($bg, $gr), $bg 20px)); - @include border-radius(2px); - @include box-sizing(border-box); - //@include boxShdwSubtle(); - //border-top: 1px solid lighten($bg, 20%); - &:hover { - @include background-image(linear-gradient(lighten($hc, $gr), $hc 20px)); - } - } + ::-webkit-scrollbar-thumb { + $bg: $scrollbarThumbColor; + $hc: $scrollbarThumbColorHov; + $gr: 5%; + @include background-image(linear-gradient(lighten($bg, $gr), $bg 20px)); + @include border-radius(2px); + @include box-sizing(border-box); + //@include boxShdwSubtle(); + //border-top: 1px solid lighten($bg, 20%); + &:hover { + @include background-image(linear-gradient(lighten($hc, $gr), $hc 20px)); + } + } - ::-webkit-scrollbar-corner { - background: $scrollbarTrackColorBg; - } -} \ No newline at end of file + ::-webkit-scrollbar-corner { + background: $scrollbarTrackColorBg; + } +} diff --git a/platform/commonUI/general/res/sass/controls/_lists.scss b/platform/commonUI/general/res/sass/controls/_lists.scss index d19f91ef47..accae0583f 100644 --- a/platform/commonUI/general/res/sass/controls/_lists.scss +++ b/platform/commonUI/general/res/sass/controls/_lists.scss @@ -32,7 +32,7 @@ .l-tree-item-flat-list { // For lists of tree-items that are flat. Remove margin, etc. normally needed for the expansion arrow. .tree-item { - .label { + .t-object-label { left: $interiorMargin !important; } } diff --git a/platform/commonUI/general/res/sass/controls/_menus.scss b/platform/commonUI/general/res/sass/controls/_menus.scss index 49693b3c59..473e9f1d45 100644 --- a/platform/commonUI/general/res/sass/controls/_menus.scss +++ b/platform/commonUI/general/res/sass/controls/_menus.scss @@ -43,6 +43,11 @@ } &.create-btn { + &:before { + content:'\2b'; + display: inline; + font-family: symbolsfont; + } .title-label { font-size: 1rem; } @@ -83,7 +88,7 @@ @include menuUlReset(); li { @include box-sizing(border-box); - border-top: 1px solid lighten($colorMenuBg, 20%); + border-top: 1px solid pullForward($colorMenuBg, 10%); color: pullForward($colorMenuBg, 60%); line-height: $menuLineH; padding: $interiorMarginSm $interiorMargin * 2 $interiorMarginSm ($interiorMargin * 2) + $treeTypeIconW; diff --git a/platform/commonUI/general/res/sass/helpers/_splitter.scss b/platform/commonUI/general/res/sass/helpers/_splitter.scss index f91f5936d4..a98fc28af5 100644 --- a/platform/commonUI/general/res/sass/helpers/_splitter.scss +++ b/platform/commonUI/general/res/sass/helpers/_splitter.scss @@ -19,68 +19,114 @@ * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -.split-layout { - $b: pullForward($colorBodyBg, $contrastRatioPercent); - .splitter { - background-color: $b; - @include border-radius($splitterEndCr); - @include boxShdw($splitterShdw); - overflow: hidden; - position: absolute; - z-index: 1; - //@if $colorSplitterHover != 'none' { - &:hover { - background-color: $colorSplitterHover; - } - //} - } - &.horizontal { - // Slides vertically up and down, splitting the element horizontally - overflow: hidden; // Suppress overall scroll; each internal pane handles its own overflow - .pane { - left: 0; - right: 0; - &.top { - bottom: auto; - } - &.bottom { - top: auto; - } - } - >.splitter { - @include controlGrippy($colorSplitterInterior, horizontal); - cursor: row-resize; - left: 0; right: 0; - width: auto; - height: $splitterW; - } - } - &.vertical { - // Slides horizontally left to right, splitting the element vertically - .pane { - top: 0; - bottom: 0; - &.left { - right: auto; - } - &.right { - left: auto; - } - } - >.splitter { - @include controlGrippy($colorBodyBg, vertical); - bottom: 0; - cursor: col-resize; - width: $splitterW; - } - } +.splitter { + // Redo the splitter. + // New look is a simple line. + // Main width is used to provide a good click area, and is always transparent + // :after will be a positioned and colored element that is the handle + + //@include test(red); + display: block; + position: absolute; + z-index: 1; + &:after { + // The handle + content:""; + pointer-events: none; + @include absPosDefault(0); + background: $colorSplitterBg; + display: block; + + @if $splitterEndCr != 'none' { + @include border-radius($splitterEndCr); + } + } + &:active { + //@include test(); + &:after { + background-color: $colorSplitterActive !important; + } + } + + @if $colorSplitterHover != 'none' { + &:not(:active) { + &:hover { + &:after { + background-color: $colorSplitterHover !important; + @include trans-prop-nice(background-color, 150ms); + } + } + } + } } -.browse-area .splitter { - top: $ueTopBarH + $interiorMarginLg; +.split-layout { + $inset: splitterHandleInset($splitterD,$splitterHandleD); + &.horizontal { + // Slides vertically up and down, splitting the element horizontally + overflow: hidden; // Suppress overall scroll; each internal pane handles its own overflow + .pane { + left: 0; + right: 0; + &.top { + bottom: auto; + } + &.bottom { + top: auto; + } + } + >.splitter { + cursor: row-resize; + left: 0; + right: 0; + height: $splitterD; + &:after { + top: $inset; bottom: $inset; + } + } + } + + &.vertical { + // Slides horizontally left to right, splitting the element vertically + .pane { + top: 0; + bottom: 0; + &.left { + right: auto; + } + &.right { + left: auto; + } + } + >.splitter { + cursor: col-resize; + top: 0; + bottom: 0; + &:not(.flush-right) { + width: $splitterD; + &:after { + left: $inset; right: $inset; + } + } + &.flush-right { + width: ceil($splitterD / 2); + &:after { + background-color: transparent; + left: auto; right: 0; width: $splitterHandleD; + } + &.edge-shdw { + @include background-image(linear-gradient(90deg, rgba(black, 0) 40%, rgba(black, 0.05) 70%, rgba(black, 0.2) 100%)); + } + } + } + } +} + +/*.browse-area .splitter { + top: 0; //$ueTopBarH + $interiorMarginLg; } .edit-area .splitter { top: 0; -} +}*/ diff --git a/platform/commonUI/general/res/sass/items/_item.scss b/platform/commonUI/general/res/sass/items/_item.scss index 9e5fe1cf47..d9d068cf90 100644 --- a/platform/commonUI/general/res/sass/items/_item.scss +++ b/platform/commonUI/general/res/sass/items/_item.scss @@ -86,27 +86,16 @@ //top: $ueBrowseGridItemTopBarH; bottom: $ueBrowseGridItemBottomBarH; // line-height: $lh; z-index: 1; - .item-type { - //@include trans-prop-nice("color", $transTime); - @include absPosDefault($iconMargin, false); - //@include test(red); - //color: $colorItemIc; - text-align: center; + .item-type, + .t-item-icon { + //@include test(); + @include transform(translateX(-50%) translateY(-55%)); + position: absolute; + top: 50%; left: 50%; + //height: $iconD; width: $iconD; font-size: $iconD * 0.95; //6em; - line-height: $iconD; - bottom: auto; - height: $iconD; - top: $iconMargin - 10; - .l-icon-link { - color: $colorIconLink; - height: auto; - line-height: 100%; - position: absolute; - font-size: 0.3em; - left: 0px; - bottom: 10px; - z-index: 2; - } + //line-height: normal; + //text-align: center; } .item-open { @include trans-prop-nice("opacity", $transTime); diff --git a/platform/commonUI/general/res/sass/mobile/_item.scss b/platform/commonUI/general/res/sass/mobile/_item.scss index 717e589cb5..e60e96c5a7 100644 --- a/platform/commonUI/general/res/sass/mobile/_item.scss +++ b/platform/commonUI/general/res/sass/mobile/_item.scss @@ -49,18 +49,11 @@ } .item-main { - .item-type { - //@include test(blue); + .item-type, + .t-item-icon { font-size: $mobileListIconSize; - right: auto; - bottom: auto; - left: 0; - line-height: 100%; - text-align: left; - width: $mobileListIconSize; - .l-icon-link { - bottom: 0; - } + left: $interiorMarginLg + $interiorMargin; + line-height: normal; } .item-open { display: block; diff --git a/platform/commonUI/general/res/sass/mobile/_layout.scss b/platform/commonUI/general/res/sass/mobile/_layout.scss index 17ff8c4213..589d7e7c90 100644 --- a/platform/commonUI/general/res/sass/mobile/_layout.scss +++ b/platform/commonUI/general/res/sass/mobile/_layout.scss @@ -32,7 +32,7 @@ background-color: $colorMobilePaneLeft; } - .pane.right-repr { + .pane.right.items { //@include test(); @include slMenuTransitions; margin-left: 0 !important; @@ -42,78 +42,66 @@ } } - .user-environ .browse-area, - .user-environ .edit-area, - .user-environ .editor { - top: 0; left: 0; right: 0; bottom: $ueFooterH; - } - - .holder.l-mobile { - top: $bodyMargin !important; + .holder.holder-create-and-search { right: $bodyMargin !important; - bottom: $bodyMargin !important; - left: $bodyMargin !important; } - // When the tree is hidden, these are the + +// When the tree is hidden, these are the // classes used for the left menu and the // right representation. - .browse-hidetree { - @include user-select(none); + .pane-tree-hidden { // Sets the left tree menu when the tree // is hidden. .pane.left.treeview { - opacity: 0; - right: 100% !important; - width: auto !important; - overflow-y: hidden; - overflow-x: hidden; + @include trans-prop-nice(opacity, 150ms); + //right: 100% !important; + //width: auto !important; + //overflow-y: hidden; + //overflow-x: hidden; + opacity: 0 !important; } - // Sets the right represenation when - // the tree is hidden. - .pane.right-repr { + .pane.right.items { left: 0 !important; } } - .browse-showtree { + .pane-tree-showing { // NOTE: DISABLED SELECTION // Selection disabled in both panes // causing cut/copy/paste menu to // not appear. Should me moved in // future to properly work - @include user-select(none); + //@include user-select(none); // Sets the left tree menu when the tree is shown. .pane.left.treeview { - @include trans-prop-nice(opacity, .4s); + @include trans-prop-nice(opacity, 250ms, $delay: 250ms); @include background-image(linear-gradient(90deg, rgba(black, 0) 98%, rgba(black, 0.3) 100%)); - opacity: 1; - display: block !important; - //width: auto !important; // CH CO right: auto !important; width: $proporMenuWithView !important; } // Sets the right representation when the tree is shown. - .pane.right-repr { + .pane.right.items { left: $proporMenuWithView !important; - //width: auto !important; - - //left: 0 !important; - //transform: translateX($proporMenuWithView); } } - .mobile-menu-icon { + .toggle-tree { + color: $colorKey !important; font-size: 110%; position: absolute; top: $bodyMargin + 2; left: $bodyMargin; + &:after { + content:'m' !important; + font-family: symbolsfont; + } } .object-browse-bar { //@include test(); - left: 30px !important; + left: 45px !important; .context-available { opacity: 1 !important; } @@ -153,13 +141,13 @@ } @include phonePortrait { - .browse-showtree { + .pane-tree-showing { .pane.left.treeview { width: $proporMenuOnly !important; } - .pane.right-repr { + .pane.right.items { left: 0 !important; - @include webkitProp(transform, translateX($proporMenuOnly)); + @include transform(translateX($proporMenuOnly)); #content-area { opacity: 0; } diff --git a/platform/commonUI/general/res/sass/mobile/_tree.scss b/platform/commonUI/general/res/sass/mobile/_tree.scss index e6efb4be55..f3862be742 100644 --- a/platform/commonUI/general/res/sass/mobile/_tree.scss +++ b/platform/commonUI/general/res/sass/mobile/_tree.scss @@ -37,21 +37,18 @@ //@include test(red); position: absolute; font-size: 1.1em; + height: $mobileTreeItemH; + line-height: inherit; right: 0px; width: $mobileTreeRightArrowW; text-align: center; } - .label { + .label, + .t-object-label { left: 0; right: $mobileTreeRightArrowW + $interiorMargin; // Allows tree item name to stop prior to the arrow - line-height: $mobileTreeItemH; - //font-size: 1.1em; // CH CO - .type-icon { - @include verticalCenterBlock($mobileTreeItemH, $treeTypeIconH); - } - .title-label { - } + line-height: inherit; } } } diff --git a/platform/commonUI/general/res/sass/tree/_tree.scss b/platform/commonUI/general/res/sass/tree/_tree.scss index d64f456b2e..a3b9a1a000 100644 --- a/platform/commonUI/general/res/sass/tree/_tree.scss +++ b/platform/commonUI/general/res/sass/tree/_tree.scss @@ -52,7 +52,6 @@ ul.tree { font-size: 0.75em; width: $treeVCW; $runningItemW: $interiorMargin + $treeVCW; - // NOTE: [Mobile] Removed Hover on Mobile @include desktop { &:hover { color: $colorItemTreeVCHover !important; @@ -60,25 +59,34 @@ ul.tree { } } - .label { + .label, + .t-object-label { display: block; - // @include test(orange); @include absPosDefault(); - //left: $runningItemW + $interiorMargin; // Adding pad to left to make room for link icon line-height: $menuLineH; - //left: $runningItemW; + + .t-item-icon { + @include txtShdwSubtle($shdwItemTreeIcon); + font-size: $treeTypeIconH; + color: $colorItemTreeIcon; + position: absolute; + left: $interiorMargin; + top: 50%; + width: $treeTypeIconH; + @include transform(translateY(-50%)); + } .type-icon { //@include absPosDefault(0, false); - $d: $treeTypeIconH; // 16px is crisp size + $d: $treeTypeIconH; @include txtShdwSubtle($shdwItemTreeIcon); - font-size: $d; + font-size: $treeTypeIconH; color: $colorItemTreeIcon; left: $interiorMargin; position: absolute; - @include verticalCenterBlock($menuLineHPx, $d); + @include verticalCenterBlock($menuLineHPx, $treeTypeIconHPx); line-height: 100%; - right: auto; width: $d; + right: auto; width: $treeTypeIconH; .icon { &.l-icon-link, @@ -100,7 +108,8 @@ ul.tree { } } } - .title-label { + .title-label, + .t-title-label { @include absPosDefault(); display: block; left: $runningItemW + ($interiorMargin * 3); @@ -116,7 +125,7 @@ ul.tree { .view-control { color: $colorItemTreeSelectedVC; } - .label .type-icon { + .t-object-label .t-item-icon { color: $colorItemTreeSelectedFg; //$colorItemTreeIconHover; } } @@ -125,9 +134,9 @@ ul.tree { // NOTE: [Mobile] Removed Hover on Mobile @include desktop { &:hover { - background: rgba($colorBodyFg, 0.1); //lighten($colorBodyBg, 5%); - color: pullForward($colorBodyFg, 20%); - .icon { + background: $colorItemTreeHoverBg; + color: $colorItemTreeHoverFg; + .t-item-icon { color: $colorItemTreeIconHover; } } @@ -152,7 +161,7 @@ ul.tree { } .tree-item { - .label { + .t-object-label { left: $interiorMargin + $treeVCW; } } \ No newline at end of file diff --git a/platform/commonUI/general/res/sass/user-environ/_layout.scss b/platform/commonUI/general/res/sass/user-environ/_layout.scss index 0d8983c182..4800cdeb6d 100644 --- a/platform/commonUI/general/res/sass/user-environ/_layout.scss +++ b/platform/commonUI/general/res/sass/user-environ/_layout.scss @@ -29,13 +29,13 @@ } } -.holder-all { +/*.holder-all { $myM: 0; // $interiorMarginSm; top: $myM; right: $myM; bottom: $myM; left: $myM; -} +}*/ .browse-area, .edit-area, @@ -96,12 +96,8 @@ .user-environ { .browse-area, - .edit-area, .editor { - top: $bodyMargin + $ueTopBarH + ($interiorMargin); - right: $bodyMargin; - bottom: $ueFooterH + $bodyMargin; - left: $bodyMargin; + top: 0; left: 0; right: 0; bottom: $ueFooterH; } .browse-area, @@ -115,31 +111,51 @@ .edit-area { $tbH: $btnToolbarH + $interiorMargin; top: $bodyMargin + $ueTopBarEditH + ($interiorMargin); + left: $bodyMargin; + right: $bodyMargin; + bottom: $bodyMargin + $ueFooterH; .tool-bar { bottom: auto; height: $tbH; line-height: $btnToolbarH; } - .work-area { + .object-holder.work-area { top: $tbH + $interiorMargin * 2; + overflow: auto; } } - .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; - } - } + // from _bottom-bar.scss + .ue-bottom-bar { + @include absPosDefault(0);// New status bar design + top: auto; + height: $ueFooterH; + line-height: $ueFooterH - ($interiorMargin * 2); + background: $colorFooterBg; + color: lighten($colorBodyBg, 30%); + font-size: .7rem; + + .status-holder { + @include box-sizing(border-box); + @include absPosDefault($interiorMargin); + @include ellipsize(); + //line-height: $ueFooterH - ($interiorMargin * 2); + right: 120px; + text-transform: uppercase; + z-index: 1; + } + .app-logo { + @include box-sizing(border-box); + @include absPosDefault($interiorMargin); + cursor: pointer; + left: auto; + width: $ueAppLogoW; + z-index: 2; + &.logo-openmctweb { + background: url($dirImgs + 'logo-openmctweb.svg') no-repeat center center; + } + } + } } .cols { @@ -205,10 +221,19 @@ .browse-mode { .split-layout { - .split-pane-component.pane.left { - min-width: 150px; - max-width: 800px; - width: $ueBrowseLeftPaneW; + .split-pane-component.pane { + //@include test(green); + &.treeview.left { + min-width: 150px; + max-width: 800px; + width: $ueBrowseLeftPaneTreeW; + } + &.t-inspect.right { + min-width: 200px; + max-width: 600px; + //padding-left: $ueCollapsedPaneEdgeM; // Allow room for mini-tab element + width: $ueBrowseRightPaneInspectW; + } } } } @@ -226,16 +251,33 @@ } .pane { + @include box-sizing(border-box); position: absolute; + + .pane-header { + text-transform: uppercase; + height: $ueTopBarH; + line-height: $ueTopBarH; + margin-bottom: $interiorMargin; + } + + .primary-pane { + // Need to lift up this pane to ensure that 'collapsed' panes don't block user interactions + z-index: 2; + } + &.treeview.left { - .create-btn-holder { - bottom: auto; - top: 0; - height: $ueTopBarH; - .wrapper.menu-element { - position: absolute; - bottom: $interiorMargin; - } + //.create-btn-holder { + // //bottom: auto; + // //top: 0; + // height: $ueTopBarH; + // .wrapper.menu-element { + // position: absolute; + // bottom: $interiorMargin; + // } + //} + .holder-create-and-search{ + } .search-holder { top: $ueTopBarH + $interiorMarginLg; @@ -245,6 +287,54 @@ top: $ueTopBarH + $interiorMarginLg + $treeSearchInputBarH + $interiorMargin; } } + + .mini-tab-icon.toggle-pane { + //@include test(blue, 0.3); + z-index: 5; + @include desktop { + $d: $uePaneMiniTabH; + $paneExpandedOffset: $splitterD + $uePaneMiniTabW; + top: $bodyMargin; + height: $d; + line-height: $d; + &:after { + // Always the icon that shows when the pane is collapsed + opacity: 0; + } + &.collapsed { + &:before { + opacity: 0; + } + &:after { + opacity: 1; + } + } + &.toggle-tree.anchor-left { + left: 0; + @include transform(translateX(-1 * $paneExpandedOffset)); + &:after { + content: '\6d'; // Menu 'hamburger' icon + } + &.collapsed { + left: 0; + @include transform(translateX((-1 * $ueCollapsedPaneEdgeM) + $interiorMargin)); + } + &:not(.collapsed):before { + @include trans-prop-nice(opacity, 200ms, 200ms); + } + } + &.toggle-inspect.anchor-right { + right: $bodyMargin; + &:after { + content: '\e615'; // e615: Crosshair icon; was e608: Info "i" icon + } + &.collapsed { + right: $interiorMargin; + } + } + } + } + &.items { .object-browse-bar { .left.abs, @@ -266,32 +356,50 @@ } } } - &.vertical { + /* &.vertical { // Slides left and right - > .pane { - // @include test(); - margin-left: $interiorMargin; + > .pane.left { > .holder { - left: 0; - right: 0; - } - &:first-child { - margin-left: 0; - .holder { - right: $interiorMarginSm; - } + left: $bodyMargin; } } + > .pane.right { + > .holder { + right: $bodyMargin; + } + } + }*/ + // Specific elements margins + .holder.holder-create-and-search { + top: $bodyMargin; + right: 0; + bottom: $bodyMargin; + left: $bodyMargin; + } + + .holder.holder-object-and-inspector { + top: 0; + right: 0; + bottom: 0; + left: 0; + .holder-object { + top: $bodyMargin; + bottom: $bodyMargin; + } + .holder-inspector-elements { + top: $bodyMargin; + bottom: $bodyMargin; + left: $bodyMargin; + right: $bodyMargin; + + } } } .object-holder { - overflow: hidden; // Contained objects need to handle their own overflow now + @include absPosDefault(0, auto); top: $ueTopBarH + $interiorMarginLg; - > ng-include { - @include absPosDefault(0, auto); - } &.l-controls-visible { &.l-time-controller-visible { bottom: nth($ueTimeControlH,1) + nth($ueTimeControlH,2) +nth($ueTimeControlH,3) + ($interiorMargin * 3); @@ -343,4 +451,84 @@ @include webkitProp(flex, '1 1 0'); padding-right: $interiorMarginLg; } -} \ No newline at end of file +} + +// When the tree is hidden, these are the +// classes used for the left menu and the +// right representation. +.pane-tree-hidden { + // Sets the left tree menu when the tree is hidden. + //.pane.left.treeview, + .tree-holder, + .splitter-treeview, + .holder-create-and-search { + opacity: 0; + } + /*.holder-create-and-search { + @include trans-prop-nice((top, left), 250ms); + top: $ueTopBarH + $interiorMargin; + left: -1 * $bodyMargin !important; + .create-btn { + @include border-left-radius(0); + @include trans-prop-nice((width), 250ms); + width: $uePaneMiniTabW !important; + text-align: center !important; + padding: 0; + .title-label, + &:after { + display: none; + } + &:before { + font-size: 9px; + } + } + }*/ +} + +.pane-tree-showing { + // Sets the left tree menu when the tree is shown. + //.pane.left.treeview, + .tree-holder, + .splitter-treeview { + @include trans-prop-nice(opacity, $dur: 250ms, $delay: 250ms); + opacity: 1; + } + + .holder-create-and-search { + @include trans-prop-nice(opacity, $dur: 250ms, $delay: 200ms); + } +} + +.pane-inspect-showing { + .l-object-and-inspector { + .l-inspect, + .splitter-inspect { + @include trans-prop-nice(opacity, $dur: 250ms, $delay: 250ms); + opacity: 1; + } + } +} +.pane-inspect-hidden { + .l-object-and-inspector { + .l-inspect, + .splitter-inspect { + opacity: 0; + } + } +} + +@include desktop { + .pane.treeview.left .tree-holder { + padding-right: $interiorMargin; + } + .pane-tree-hidden { + .pane.right.primary-pane { left: $ueCollapsedPaneEdgeM !important; } + } + .pane-inspect-hidden .l-object-and-inspector { + .pane.left { right: $ueCollapsedPaneEdgeM !important; } + } + + .pane:not(.resizing) { + @include trans-prop-nice-resize-w(250ms); + } +} diff --git a/platform/commonUI/general/res/templates/controls/datetime-field.html b/platform/commonUI/general/res/templates/controls/datetime-field.html new file mode 100644 index 0000000000..6ba8cbf901 --- /dev/null +++ b/platform/commonUI/general/res/templates/controls/datetime-field.html @@ -0,0 +1,20 @@ + + + + + + +
+ + +
+
+
diff --git a/platform/commonUI/general/res/templates/controls/time-controller.html b/platform/commonUI/general/res/templates/controls/time-controller.html index 300e56c381..e44a9ff77c 100644 --- a/platform/commonUI/general/res/templates/controls/time-controller.html +++ b/platform/commonUI/general/res/templates/controls/time-controller.html @@ -22,47 +22,24 @@
C - - - - - - - -
- - -
-
-
+ + + to - - - - - - - -
- - -
-
-
  + +  
@@ -97,7 +74,7 @@
diff --git a/platform/commonUI/general/res/templates/label.html b/platform/commonUI/general/res/templates/label.html index 7ca73bb026..beb57626a5 100644 --- a/platform/commonUI/general/res/templates/label.html +++ b/platform/commonUI/general/res/templates/label.html @@ -19,16 +19,7 @@ this source code distribution or the Licensing information page available at runtime from the About dialog for additional information. --> - - - {{type.getGlyph()}} - - - - - {{model.name}} - + +{{type.getGlyph()}} +{{model.name}} diff --git a/platform/commonUI/general/res/templates/object-inspector.html b/platform/commonUI/general/res/templates/object-inspector.html new file mode 100644 index 0000000000..83ed591ff7 --- /dev/null +++ b/platform/commonUI/general/res/templates/object-inspector.html @@ -0,0 +1,63 @@ + + +
+
Inspection
+
    +
  • + Properties +
    +
    {{ data.name }}
    +
    {{ data.value }}
    +
    +
  • +
  • + Location + + + + +
  • +
  • + Original Location + + + + +
  • +
+
+
diff --git a/platform/commonUI/general/src/controllers/DateTimeFieldController.js b/platform/commonUI/general/src/controllers/DateTimeFieldController.js new file mode 100644 index 0000000000..b87268dc5a --- /dev/null +++ b/platform/commonUI/general/src/controllers/DateTimeFieldController.js @@ -0,0 +1,79 @@ +/***************************************************************************** + * 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,Promise*/ + +define( + [], + function () { + 'use strict'; + + /** + * Controller to support the date-time entry field. + * + * Accepts a `format` property in the `structure` attribute + * which allows a date/time to be specified via its symbolic + * key (as will be used to look up said format from the + * `formatService`.) + * + * {@see FormatService} + * @constructor + * @memberof platform/commonUI/general + * @param $scope the Angular scope for this controller + * @param {FormatService} formatService the service to user to format + * domain values + * @param {string} defaultFormat the format to request when no + * format has been otherwise specified + */ + function DateTimeFieldController($scope, formatService, defaultFormat) { + var formatter = formatService.getFormat(defaultFormat); + + function updateFromModel(value) { + // Only reformat if the value is different from user + // input (to avoid reformatting valid input while typing.) + if (!formatter.validate($scope.textValue) || + formatter.parse($scope.textValue) !== value) { + $scope.textValue = formatter.format(value); + $scope.textInvalid = false; + } + } + + function updateFromView(textValue) { + $scope.textInvalid = !formatter.validate(textValue); + if (!$scope.textInvalid) { + $scope.ngModel[$scope.field] = + formatter.parse(textValue); + } + } + + function setFormat(format) { + formatter = formatService.getFormat(format || defaultFormat); + updateFromModel($scope.ngModel[$scope.field]); + } + + $scope.$watch('structure.format', setFormat); + $scope.$watch('ngModel[field]', updateFromModel); + $scope.$watch('textValue', updateFromView); + } + + return DateTimeFieldController; + } +); diff --git a/platform/commonUI/general/src/controllers/ObjectInspectorController.js b/platform/commonUI/general/src/controllers/ObjectInspectorController.js new file mode 100644 index 0000000000..5b04304af0 --- /dev/null +++ b/platform/commonUI/general/src/controllers/ObjectInspectorController.js @@ -0,0 +1,117 @@ +/***************************************************************************** + * 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,Promise*/ + +/** + * Module defining ObjectInspectorController. Created by shale on 08/21/2015. + */ +define( + [], + function () { + "use strict"; + + /** + * The ObjectInspectorController gets and formats the data for + * the inspector display + * + * @constructor + */ + function ObjectInspectorController($scope, objectService) { + $scope.primaryParents = []; + $scope.contextutalParents = []; + //$scope.isLink = false; + + // Gets an array of the contextual parents/anscestors of the selected object + function getContextualPath() { + var currentObj = $scope.ngModel.selectedObject, + currentParent, + parents = []; + + currentParent = currentObj && + currentObj.hasCapability('context') && + currentObj.getCapability('context').getParent(); + + while (currentParent && currentParent.getModel().type !== 'root' && + currentParent.hasCapability('context')) { + // Record this object + parents.unshift(currentParent); + + // Get the next one up the tree + currentObj = currentParent; + currentParent = currentObj.getCapability('context').getParent(); + } + + $scope.contextutalParents = parents; + } + + // Gets an array of the parents/anscestors of the selected object's + // primary location (locational of original non-link) + function getPrimaryPath(current) { + var location; + + // If this the the initial call of this recursive function + if (!current) { + current = $scope.ngModel.selectedObject; + $scope.primaryParents = []; + } + + location = current.getModel().location; + + if (location && location !== 'root') { + objectService.getObjects([location]).then(function (obj) { + var next = obj[location]; + + $scope.primaryParents.unshift(next); + getPrimaryPath(next); + }); + } + + } + + // Gets the metadata for the selected object + function getMetadata() { + $scope.metadata = $scope.ngModel.selectedObject && + $scope.ngModel.selectedObject.hasCapability('metadata') && + $scope.ngModel.selectedObject.useCapability('metadata'); + } + + // Set scope variables when the selected object changes + $scope.$watch('ngModel.selectedObject', function () { + $scope.isLink = $scope.ngModel.selectedObject && + $scope.ngModel.selectedObject.hasCapability('location') && + $scope.ngModel.selectedObject.getCapability('location').isLink(); + + if ($scope.isLink) { + getPrimaryPath(); + getContextualPath(); + } else { + $scope.primaryParents = []; + getContextualPath(); + } + + getMetadata(); + }); + } + + return ObjectInspectorController; + } +); \ No newline at end of file diff --git a/platform/commonUI/general/src/controllers/TimeRangeController.js b/platform/commonUI/general/src/controllers/TimeRangeController.js index d4fb21be08..cdcdb7f8d0 100644 --- a/platform/commonUI/general/src/controllers/TimeRangeController.js +++ b/platform/commonUI/general/src/controllers/TimeRangeController.js @@ -26,33 +26,32 @@ define( function (moment) { "use strict"; - var DATE_FORMAT = "YYYY-MM-DD HH:mm:ss", - TICK_SPACING_PX = 150; + var TICK_SPACING_PX = 150; + /** + * Controller used by the `time-controller` template. * @memberof platform/commonUI/general * @constructor + * @param $scope the Angular scope for this controller + * @param {FormatService} formatService the service to user to format + * domain values + * @param {string} defaultFormat the format to request when no + * format has been otherwise specified + * @param {Function} now a function to return current system time */ - function TimeConductorController($scope, now) { + function TimeRangeController($scope, formatService, defaultFormat, now) { var tickCount = 2, innerMinimumSpan = 1000, // 1 second outerMinimumSpan = 1000 * 60 * 60, // 1 hour - initialDragValue; + initialDragValue, + formatter = formatService.getFormat(defaultFormat); function formatTimestamp(ts) { - return moment.utc(ts).format(DATE_FORMAT); + return formatter.format(ts); } - function parseTimestamp(text) { - var m = moment.utc(text, DATE_FORMAT); - if (m.isValid()) { - return m.valueOf(); - } else { - throw new Error("Could not parse " + text); - } - } - - // From 0.0-1.0 to "0%"-"1%" + // From 0.0-1.0 to "0%"-"100%" function toPercent(p) { return (100 * p) + "%"; } @@ -101,41 +100,15 @@ define( return { start: bounds.start, end: bounds.end }; } - function updateBoundsTextForProperty(ngModel, property) { - try { - if (!$scope.boundsModel[property] || - parseTimestamp($scope.boundsModel[property]) !== - ngModel.outer[property]) { - $scope.boundsModel[property] = - formatTimestamp(ngModel.outer[property]); - } - } catch (e) { - // User-entered text is invalid, so leave it be - // until they fix it. - } - } - - function updateBoundsText(ngModel) { - updateBoundsTextForProperty(ngModel, 'start'); - updateBoundsTextForProperty(ngModel, 'end'); - } - function updateViewFromModel(ngModel) { - var t = now(); - ngModel = ngModel || {}; ngModel.outer = ngModel.outer || defaultBounds(); ngModel.inner = ngModel.inner || copyBounds(ngModel.outer); - // First, dates for the date pickers for outer bounds - updateBoundsText(ngModel); - - // Then various updates for the inner span - updateViewForInnerSpanFromModel(ngModel); - // Stick it back is scope (in case we just set defaults) $scope.ngModel = ngModel; + updateViewForInnerSpanFromModel(ngModel); updateTicks(); } @@ -155,7 +128,8 @@ define( } function toMillis(pixels) { - var span = $scope.ngModel.outer.end - $scope.ngModel.outer.start; + var span = + $scope.ngModel.outer.end - $scope.ngModel.outer.start; return (pixels / $scope.spanWidth) * span; } @@ -243,36 +217,10 @@ define( updateTicks(); } - function updateStartFromText(value) { - try { - updateOuterStart(parseTimestamp(value)); - updateBoundsTextForProperty($scope.ngModel, 'end'); - $scope.boundsModel.startValid = true; - } catch (e) { - $scope.boundsModel.startValid = false; - return; - } - } - - function updateEndFromText(value) { - try { - updateOuterEnd(parseTimestamp(value)); - updateBoundsTextForProperty($scope.ngModel, 'start'); - $scope.boundsModel.endValid = true; - } catch (e) { - $scope.boundsModel.endValid = false; - return; - } - } - - function updateStartFromPicker(value) { - updateOuterStart(value); - updateBoundsText($scope.ngModel); - } - - function updateEndFromPicker(value) { - updateOuterEnd(value); - updateBoundsText($scope.ngModel); + function updateFormat(key) { + formatter = formatService.getFormat(key || defaultFormat); + updateViewForInnerSpanFromModel($scope.ngModel); + updateTicks(); } $scope.startLeftDrag = startLeftDrag; @@ -282,21 +230,18 @@ define( $scope.rightDrag = rightDrag; $scope.middleDrag = middleDrag; - $scope.state = false; $scope.ticks = []; - $scope.boundsModel = {}; // Initialize scope to defaults updateViewFromModel($scope.ngModel); $scope.$watchCollection("ngModel", updateViewFromModel); $scope.$watch("spanWidth", updateSpanWidth); - $scope.$watch("ngModel.outer.start", updateStartFromPicker); - $scope.$watch("ngModel.outer.end", updateEndFromPicker); - $scope.$watch("boundsModel.start", updateStartFromText); - $scope.$watch("boundsModel.end", updateEndFromText); + $scope.$watch("ngModel.outer.start", updateOuterStart); + $scope.$watch("ngModel.outer.end", updateOuterEnd); + $scope.$watch("parameters.format", updateFormat); } - return TimeConductorController; + return TimeRangeController; } ); diff --git a/platform/commonUI/general/src/directives/MCTSplitPane.js b/platform/commonUI/general/src/directives/MCTSplitPane.js index abc54f772e..9abc641ebd 100644 --- a/platform/commonUI/general/src/directives/MCTSplitPane.js +++ b/platform/commonUI/general/src/directives/MCTSplitPane.js @@ -132,10 +132,10 @@ define( // Get actual size (to obey min-width etc.) firstSize = getSize(first[0]); first.css(anchor.dimension, firstSize + 'px'); - splitter.css(anchor.edge, (firstSize + splitterSize) + 'px'); + splitter.css(anchor.edge, firstSize + 'px'); splitter.css(anchor.opposite, "auto"); - last.css(anchor.edge, (firstSize + splitterSize * 3) + 'px'); + last.css(anchor.edge, (firstSize + splitterSize) + 'px'); last.css(anchor.opposite, "0px"); position = firstSize + splitterSize; @@ -178,6 +178,12 @@ define( return position; } + // Dynamically apply a CSS class to elements when the user + // is actively resizing + function toggleClass(classToToggle) { + $element.children().toggleClass(classToToggle); + } + // Make sure anchor parameter is something we know if (!ANCHORS[anchorKey]) { $log.warn(ANCHOR_WARNING_MESSAGE); @@ -208,6 +214,7 @@ define( // Interface exposed by controller, for mct-splitter to user return { position: getSetPosition, + toggleClass: toggleClass, anchor: function () { return anchor; } diff --git a/platform/commonUI/general/src/directives/MCTSplitter.js b/platform/commonUI/general/src/directives/MCTSplitter.js index c163c107e0..ad8f809c65 100644 --- a/platform/commonUI/general/src/directives/MCTSplitter.js +++ b/platform/commonUI/general/src/directives/MCTSplitter.js @@ -29,7 +29,8 @@ define( // Pixel width to allocate for the splitter itself var SPLITTER_TEMPLATE = "
", + "mct-drag=\"splitter.move(delta)\" " + + "mct-drag-up=\"splitter.endMove()\">
", OFFSETS_BY_EDGE = { left: "offsetLeft", right: "offsetRight", @@ -53,6 +54,7 @@ define( startMove: function () { var splitter = element[0]; initialPosition = mctSplitPane.position(); + mctSplitPane.toggleClass('resizing'); }, // Handle user changes to splitter position move: function (delta) { @@ -63,6 +65,11 @@ define( // Update the position of this splitter mctSplitPane.position(initialPosition + pixelDelta); + }, + // Grab the event when the user is done moving + // the splitter and pass it on + endMove: function() { + mctSplitPane.toggleClass('resizing'); } }; } diff --git a/platform/commonUI/general/test/controllers/DateTimeFieldControllerSpec.js b/platform/commonUI/general/test/controllers/DateTimeFieldControllerSpec.js new file mode 100644 index 0000000000..8f516ece5d --- /dev/null +++ b/platform/commonUI/general/test/controllers/DateTimeFieldControllerSpec.js @@ -0,0 +1,183 @@ +/***************************************************************************** + * 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,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + +define( + ["../../src/controllers/DateTimeFieldController", "moment"], + function (DateTimeFieldController, moment) { + 'use strict'; + + var TEST_FORMAT = "YYYY-MM-DD HH:mm:ss"; + + describe("The DateTimeFieldController", function () { + var mockScope, + mockFormatService, + mockFormat, + controller; + + function fireWatch(expr, value) { + mockScope.$watch.calls.forEach(function (call) { + if (call.args[0] === expr) { + call.args[1](value); + } + }); + } + + beforeEach(function () { + mockScope = jasmine.createSpyObj('$scope', ['$watch']); + mockFormatService = + jasmine.createSpyObj('formatService', ['getFormat']); + mockFormat = jasmine.createSpyObj('format', [ + 'parse', + 'validate', + 'format' + ]); + + mockFormatService.getFormat.andReturn(mockFormat); + + mockFormat.validate.andCallFake(function (text) { + return moment.utc(text, TEST_FORMAT).isValid(); + }); + mockFormat.parse.andCallFake(function (text) { + return moment.utc(text, TEST_FORMAT).valueOf(); + }); + mockFormat.format.andCallFake(function (value) { + return moment.utc(value).format(TEST_FORMAT); + }); + + mockScope.ngModel = { testField: 12321 }; + mockScope.field = "testField"; + mockScope.structure = { format: "someFormat" }; + + controller = new DateTimeFieldController( + mockScope, + mockFormatService + ); + }); + + it("updates models from user-entered text", function () { + var newText = "1977-05-25 17:30:00"; + + mockScope.textValue = newText; + fireWatch("textValue", newText); + expect(mockScope.ngModel.testField) + .toEqual(mockFormat.parse(newText)); + expect(mockScope.textInvalid).toBeFalsy(); + }); + + it("updates text from model values", function () { + var testTime = mockFormat.parse("1977-05-25 17:30:00"); + mockScope.ngModel.testField = testTime; + fireWatch("ngModel[field]", testTime); + expect(mockScope.textValue).toEqual("1977-05-25 17:30:00"); + }); + + describe("when user input is invalid", function () { + var newText, oldValue; + + beforeEach(function () { + newText = "Not a date"; + oldValue = mockScope.ngModel.testField; + mockScope.textValue = newText; + fireWatch("textValue", newText); + }); + + it("displays error state", function () { + expect(mockScope.textInvalid).toBeTruthy(); + }); + + it("does not modify model state", function () { + expect(mockScope.ngModel.testField).toEqual(oldValue); + }); + + it("does not modify user input", function () { + expect(mockScope.textValue).toEqual(newText); + }); + }); + + it("does not modify valid but irregular user input", function () { + // Don't want the controller "fixing" bad or + // irregularly-formatted input out from under + // the user's fingertips. + var newText = "2015-3-3 01:02:04", + oldValue = mockScope.ngModel.testField; + + mockFormat.validate.andReturn(true); + mockFormat.parse.andReturn(42); + mockScope.textValue = newText; + fireWatch("textValue", newText); + + expect(mockScope.textValue).toEqual(newText); + expect(mockScope.ngModel.testField).toEqual(42); + expect(mockScope.ngModel.testField).not.toEqual(oldValue); + }); + + it("obtains a format from the format service", function () { + fireWatch('structure.format', mockScope.structure.format); + expect(mockFormatService.getFormat) + .toHaveBeenCalledWith(mockScope.structure.format); + }); + + it("throws an error for unknown formats", function () { + mockFormatService.getFormat.andReturn(undefined); + expect(function () { + fireWatch("structure.format", "some-format"); + }).toThrow(); + }); + + describe("using the obtained format", function () { + var testValue = 1234321, + testText = "some text"; + + beforeEach(function () { + mockFormat.validate.andReturn(true); + mockFormat.parse.andReturn(testValue); + mockFormat.format.andReturn(testText); + }); + + it("parses user input", function () { + var newText = "some other new text"; + mockScope.textValue = newText; + fireWatch("textValue", newText); + expect(mockFormat.parse).toHaveBeenCalledWith(newText); + expect(mockScope.ngModel.testField).toEqual(testValue); + }); + + it("validates user input", function () { + var newText = "some other new text"; + mockScope.textValue = newText; + fireWatch("textValue", newText); + expect(mockFormat.validate).toHaveBeenCalledWith(newText); + }); + + it("formats model data for display", function () { + var newValue = 42; + mockScope.ngModel.testField = newValue; + fireWatch("ngModel[field]", newValue); + expect(mockFormat.format).toHaveBeenCalledWith(newValue); + expect(mockScope.textValue).toEqual(testText); + }); + }); + + }); + } +); diff --git a/platform/commonUI/general/test/controllers/ObjectInspectorControllerSpec.js b/platform/commonUI/general/test/controllers/ObjectInspectorControllerSpec.js new file mode 100644 index 0000000000..496467ea2d --- /dev/null +++ b/platform/commonUI/general/test/controllers/ObjectInspectorControllerSpec.js @@ -0,0 +1,112 @@ +/***************************************************************************** + * 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,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + +/** + * Created by shale on 08/24/2015. + */ +define( + ["../../src/controllers/ObjectInspectorController"], + function (ObjectInspectorController) { + "use strict"; + + describe("The object inspector controller ", function () { + var mockScope, + mockObjectService, + mockPromise, + mockDomainObject, + mockContextCapability, + mockLocationCapability, + controller; + + beforeEach(function () { + mockScope = jasmine.createSpyObj( + "$scope", + [ "$watch" ] + ); + mockScope.ngModel = {}; + mockScope.ngModel.selectedObject = 'mock selected object'; + + mockObjectService = jasmine.createSpyObj( + "objectService", + [ "getObjects" ] + ); + mockPromise = jasmine.createSpyObj( + "promise", + [ "then" ] + ); + mockObjectService.getObjects.andReturn(mockPromise); + + mockDomainObject = jasmine.createSpyObj( + "selectedObject", + [ "hasCapability", "getCapability", "useCapability", "getModel" ] + ); + mockDomainObject.getModel.andReturn({location: 'somewhere'}); + mockDomainObject.hasCapability.andReturn(true); + + mockContextCapability = jasmine.createSpyObj( + "context capability", + [ "getParent" ] + ); + mockLocationCapability = jasmine.createSpyObj( + "location capability", + [ "isLink" ] + ); + mockDomainObject.getCapability.andCallFake(function (param) { + if (param === 'location') { + return mockLocationCapability; + } else if (param === 'context') { + return mockContextCapability; + } + }); + + controller = new ObjectInspectorController(mockScope, mockObjectService); + + // Change the selected object to trigger the watch call + mockScope.ngModel.selectedObject = mockDomainObject; + }); + + it("watches for changes to the selected object", function () { + expect(mockScope.$watch).toHaveBeenCalledWith('ngModel.selectedObject', jasmine.any(Function)); + }); + + it("looks for contextual parent objects", function () { + mockScope.$watch.mostRecentCall.args[1](); + expect(mockContextCapability.getParent).toHaveBeenCalled(); + }); + + it("if link, looks for primary parent objects", function () { + mockLocationCapability.isLink.andReturn(true); + + mockScope.$watch.mostRecentCall.args[1](); + expect(mockDomainObject.getModel).toHaveBeenCalled(); + expect(mockObjectService.getObjects).toHaveBeenCalled(); + mockPromise.then.mostRecentCall.args[0]({'somewhere': mockDomainObject}); + }); + + it("gets metadata", function () { + mockScope.$watch.mostRecentCall.args[1](); + expect(mockDomainObject.useCapability).toHaveBeenCalledWith('metadata'); + }); + }); + } +); \ No newline at end of file diff --git a/platform/commonUI/general/test/controllers/TimeRangeControllerSpec.js b/platform/commonUI/general/test/controllers/TimeRangeControllerSpec.js index 91d3ecb9db..85e77e4889 100644 --- a/platform/commonUI/general/test/controllers/TimeRangeControllerSpec.js +++ b/platform/commonUI/general/test/controllers/TimeRangeControllerSpec.js @@ -33,7 +33,10 @@ define( describe("The TimeRangeController", function () { var mockScope, + mockFormatService, + testDefaultFormat, mockNow, + mockFormat, controller; function fireWatch(expr, value) { @@ -57,8 +60,30 @@ define( "$scope", [ "$apply", "$watch", "$watchCollection" ] ); + mockFormatService = jasmine.createSpyObj( + "formatService", + [ "getFormat" ] + ); + testDefaultFormat = 'utc'; + mockFormat = jasmine.createSpyObj( + "format", + [ "validate", "format", "parse" ] + ); + + mockFormatService.getFormat.andReturn(mockFormat); + + mockFormat.format.andCallFake(function (value) { + return moment.utc(value).format("YYYY-MM-DD HH:mm:ss"); + }); + mockNow = jasmine.createSpy('now'); - controller = new TimeRangeController(mockScope, mockNow); + + controller = new TimeRangeController( + mockScope, + mockFormatService, + testDefaultFormat, + mockNow + ); }); it("watches the model that was passed in", function () { @@ -167,70 +192,22 @@ define( .toBeGreaterThan(mockScope.ngModel.inner.start); }); - describe("by typing", function () { - it("updates models", function () { - var newStart = "1977-05-25 17:30:00", - newEnd = "2015-12-18 03:30:00"; - - mockScope.boundsModel.start = newStart; - fireWatch("boundsModel.start", newStart); - expect(mockScope.ngModel.outer.start) - .toEqual(moment.utc(newStart).valueOf()); - expect(mockScope.boundsModel.startValid) - .toBeTruthy(); - - mockScope.boundsModel.end = newEnd; - fireWatch("boundsModel.end", newEnd); - expect(mockScope.ngModel.outer.end) - .toEqual(moment.utc(newEnd).valueOf()); - expect(mockScope.boundsModel.endValid) - .toBeTruthy(); - }); - - it("displays error state", function () { - var newStart = "Not a date", - newEnd = "Definitely not a date", - oldStart = mockScope.ngModel.outer.start, - oldEnd = mockScope.ngModel.outer.end; - - mockScope.boundsModel.start = newStart; - fireWatch("boundsModel.start", newStart); - expect(mockScope.ngModel.outer.start) - .toEqual(oldStart); - expect(mockScope.boundsModel.startValid) - .toBeFalsy(); - - mockScope.boundsModel.end = newEnd; - fireWatch("boundsModel.end", newEnd); - expect(mockScope.ngModel.outer.end) - .toEqual(oldEnd); - expect(mockScope.boundsModel.endValid) - .toBeFalsy(); - }); - - it("does not modify user input", function () { - // Don't want the controller "fixing" bad or - // irregularly-formatted input out from under - // the user's fingertips. - var newStart = "Not a date", - newEnd = "2015-3-3 01:02:04", - oldStart = mockScope.ngModel.outer.start, - oldEnd = mockScope.ngModel.outer.end; - - mockScope.boundsModel.start = newStart; - fireWatch("boundsModel.start", newStart); - expect(mockScope.boundsModel.start) - .toEqual(newStart); - - mockScope.boundsModel.end = newEnd; - fireWatch("boundsModel.end", newEnd); - expect(mockScope.boundsModel.end) - .toEqual(newEnd); - }); - }); }); + it("watches for changes in format selection", function () { + expect(mockFormatService.getFormat) + .not.toHaveBeenCalledWith('test-format'); + fireWatch("parameters.format", 'test-format'); + expect(mockFormatService.getFormat) + .toHaveBeenCalledWith('test-format'); + }); + it("throws an error for unknown formats", function () { + mockFormatService.getFormat.andReturn(undefined); + expect(function () { + fireWatch("parameters.format", "some-format"); + }).toThrow(); + }); }); } diff --git a/platform/commonUI/general/test/suite.json b/platform/commonUI/general/test/suite.json index 0d19fbb9e4..6b89f83d61 100644 --- a/platform/commonUI/general/test/suite.json +++ b/platform/commonUI/general/test/suite.json @@ -3,8 +3,10 @@ "controllers/BottomBarController", "controllers/ClickAwayController", "controllers/ContextMenuController", + "controllers/DateTimeFieldController", "controllers/DateTimePickerController", "controllers/GetterSetterController", + "controllers/ObjectInspectorController", "controllers/SelectorController", "controllers/SplitPaneController", "controllers/TimeRangeController", diff --git a/platform/commonUI/inspect/src/gestures/InfoGesture.js b/platform/commonUI/inspect/src/gestures/InfoGesture.js index 09740841e4..688a27cb6c 100644 --- a/platform/commonUI/inspect/src/gestures/InfoGesture.js +++ b/platform/commonUI/inspect/src/gestures/InfoGesture.js @@ -55,11 +55,6 @@ define( self.trackPosition(event); }; - // Also make sure we dismiss bubble if representation is destroyed - // before the mouse actually leaves it - this.scopeOff = - element.scope().$on('$destroy', this.hideBubbleCallback); - this.element = element; this.$timeout = $timeout; this.infoService = infoService; @@ -143,7 +138,6 @@ define( this.hideBubble(); // ...and detach listeners this.element.off('mouseenter', this.showBubbleCallback); - this.scopeOff(); }; return InfoGesture; diff --git a/platform/commonUI/notification/src/NotificationService.js b/platform/commonUI/notification/src/NotificationService.js index 5064dceb0f..568d31beb5 100644 --- a/platform/commonUI/notification/src/NotificationService.js +++ b/platform/commonUI/notification/src/NotificationService.js @@ -216,18 +216,51 @@ define( * A convenience method for info notifications. Notifications * created via this method will be auto-dismissed after a default * wait period - * @param {NotificationModel} notificationModel Options describing the - * notification to display + * @param {NotificationModel | string} message either a string for + * the title of the notification message, or a {@link NotificationModel} + * defining the options notification to display * @returns {Notification} the provided notification decorated with * functions to dismiss or minimize */ - NotificationService.prototype.info = function (model) { - var notificationModel = typeof model === "string" ? {title: model} : model; + NotificationService.prototype.info = function (message) { + var notificationModel = typeof message === "string" ? {title: message} : message; notificationModel.autoDismiss = notificationModel.autoDismiss || true; notificationModel.severity = "info"; return this.notify(notificationModel); }; + /** + * A convenience method for alert notifications. Notifications + * created via this method will will have severity of "alert" enforced + * @param {NotificationModel | string} message either a string for + * the title of the alert message with default options, or a + * {@link NotificationModel} defining the options notification to + * display + * @returns {Notification} the provided notification decorated with + * functions to dismiss or minimize + */ + NotificationService.prototype.alert = function (message) { + var notificationModel = typeof message === "string" ? {title: message} : message; + notificationModel.severity = "alert"; + return this.notify(notificationModel); + }; + + /** + * A convenience method for error notifications. Notifications + * created via this method will will have severity of "error" enforced + * @param {NotificationModel | string} message either a string for + * the title of the error message with default options, or a + * {@link NotificationModel} defining the options notification to + * display + * @returns {Notification} the provided notification decorated with + * functions to dismiss or minimize + */ + NotificationService.prototype.error = function (message) { + var notificationModel = typeof message === "string" ? {title: message} : message; + notificationModel.severity = "error"; + return this.notify(notificationModel); + }; + /** * Notifies the user of an event. If there is a banner notification * already active, then it will be dismissed or minimized automatically, diff --git a/platform/commonUI/notification/test/NotificationServiceSpec.js b/platform/commonUI/notification/test/NotificationServiceSpec.js index b2fb622f52..ded62a7f48 100644 --- a/platform/commonUI/notification/test/NotificationServiceSpec.js +++ b/platform/commonUI/notification/test/NotificationServiceSpec.js @@ -57,6 +57,16 @@ define( expect(activeNotification.model).toBe(successModel); }); + it("allows specification of an info notification given just a" + + " title, making the notification active", function() { + var activeNotification, + notificationTitle = "Test info notification"; + notificationService.info(notificationTitle); + activeNotification = notificationService.getActiveNotification(); + expect(activeNotification.model.title).toBe(notificationTitle); + expect(activeNotification.model.severity).toBe("info"); + }); + it("gets a new success notification with" + " numerical auto-dismiss specified. ", function() { var activeNotification; diff --git a/platform/commonUI/themes/espresso/res/css/theme-espresso.css b/platform/commonUI/themes/espresso/res/css/theme-espresso.css index 4c59717a25..f60ef90791 100644 --- a/platform/commonUI/themes/espresso/res/css/theme-espresso.css +++ b/platform/commonUI/themes/espresso/res/css/theme-espresso.css @@ -306,7 +306,7 @@ a.disabled { *****************************************************************************/ /************************** FONTS */ @font-face { - /* + /* * Use https://icomoon.io/app with /platform/commonUI/general/res/fonts/symbols/icomoon.io-WTD-symbols-project.json */ font-family: 'symbolsfont'; @@ -314,21 +314,17 @@ a.disabled { src: url("../../../../general/res/fonts/symbols/wtdsymbols.eot?#iefix") format("embedded-opentype"), url("../../../../general/res/fonts/symbols/wtdsymbols.woff") format("woff"), url("../../../../general/res/fonts/symbols/wtdsymbols.ttf") format("truetype"), url("../../../../general/res/fonts/symbols/wtdsymbols.svg#armataregular") format("svg"); font-weight: normal; font-style: normal; } -/* line 37, ../../../../general/res/sass/_global.scss */ -.ui-symbol, .l-datetime-picker .l-month-year-pager .pager { - font-family: 'symbolsfont'; } - /************************** HTML ENTITIES */ -/* line 42, ../../../../general/res/sass/_global.scss */ +/* line 38, ../../../../general/res/sass/_global.scss */ a { color: #ccc; cursor: pointer; text-decoration: none; } - /* line 46, ../../../../general/res/sass/_global.scss */ + /* line 42, ../../../../general/res/sass/_global.scss */ a:hover { color: #fff; } -/* line 51, ../../../../general/res/sass/_global.scss */ +/* line 47, ../../../../general/res/sass/_global.scss */ body, html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: grayscale; @@ -336,28 +332,29 @@ body, html { color: #999; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 100%; + font-weight: 200; height: 100%; width: 100%; overflow: hidden; } -/* line 64, ../../../../general/res/sass/_global.scss */ +/* line 60, ../../../../general/res/sass/_global.scss */ em { font-style: normal; } -/* line 68, ../../../../general/res/sass/_global.scss */ +/* line 64, ../../../../general/res/sass/_global.scss */ input, textarea { font-family: Helvetica, Arial, sans-serif; } -/* line 72, ../../../../general/res/sass/_global.scss */ +/* line 68, ../../../../general/res/sass/_global.scss */ input[type="text"] { vertical-align: baseline; padding: 3px 5px !important; } -/* line 77, ../../../../general/res/sass/_global.scss */ +/* line 73, ../../../../general/res/sass/_global.scss */ h1, h2, h3 { margin: 0; } -/* line 81, ../../../../general/res/sass/_global.scss */ +/* line 77, ../../../../general/res/sass/_global.scss */ h1 { font-size: 1.7em; font-weight: normal !important; @@ -365,16 +362,16 @@ h1 { margin-bottom: 20px; margin-top: 0; } -/* line 89, ../../../../general/res/sass/_global.scss */ +/* line 85, ../../../../general/res/sass/_global.scss */ p { margin-bottom: 10px; } -/* line 93, ../../../../general/res/sass/_global.scss */ +/* line 89, ../../../../general/res/sass/_global.scss */ mct-container { display: block; } -/* line 97, ../../../../general/res/sass/_global.scss */ -.abs, .l-datetime-picker .l-month-year-pager .pager, +/* line 93, ../../../../general/res/sass/_global.scss */ +.abs, .l-inspect, .l-datetime-picker .l-month-year-pager .pager, .l-datetime-picker .l-month-year-pager .val, .s-menu-btn span.l-click-area { position: absolute; top: 0; @@ -384,50 +381,50 @@ mct-container { height: auto; width: auto; } -/* line 107, ../../../../general/res/sass/_global.scss */ +/* line 103, ../../../../general/res/sass/_global.scss */ .code, .codehilite { font-family: "Lucida Console", monospace; font-size: 0.7em; line-height: 150%; white-space: pre; } -/* line 114, ../../../../general/res/sass/_global.scss */ +/* line 110, ../../../../general/res/sass/_global.scss */ .codehilite { background-color: rgba(153, 153, 153, 0.1); padding: 1em; } -/* line 120, ../../../../general/res/sass/_global.scss */ +/* line 116, ../../../../general/res/sass/_global.scss */ .align-right { text-align: right; } -/* line 124, ../../../../general/res/sass/_global.scss */ +/* line 120, ../../../../general/res/sass/_global.scss */ .centered { text-align: center; } -/* line 128, ../../../../general/res/sass/_global.scss */ +/* line 124, ../../../../general/res/sass/_global.scss */ .scrolling { overflow: auto; } -/* line 132, ../../../../general/res/sass/_global.scss */ +/* line 128, ../../../../general/res/sass/_global.scss */ .vscroll { overflow-y: auto; } -/* line 136, ../../../../general/res/sass/_global.scss */ +/* line 132, ../../../../general/res/sass/_global.scss */ .no-margin { margin: 0; } -/* line 140, ../../../../general/res/sass/_global.scss */ +/* line 136, ../../../../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 144, ../../../../general/res/sass/_global.scss */ +/* line 140, ../../../../general/res/sass/_global.scss */ .hide, .hidden { display: none !important; } -/* line 149, ../../../../general/res/sass/_global.scss */ +/* line 145, ../../../../general/res/sass/_global.scss */ .sep { color: rgba(255, 255, 255, 0.2); } @@ -453,7 +450,7 @@ mct-container { * at runtime from the About dialog for additional information. *****************************************************************************/ /* line 26, ../../../../general/res/sass/_about.scss */ -.l-about.abs, .l-datetime-picker .l-month-year-pager .l-about.pager, +.l-about.abs, .l-about.l-inspect, .l-datetime-picker .l-month-year-pager .l-about.pager, .l-datetime-picker .l-month-year-pager .l-about.val, .s-menu-btn span.l-about.l-click-area { overflow: auto; } /* line 31, ../../../../general/res/sass/_about.scss */ @@ -545,7 +542,7 @@ mct-container { * at runtime from the About dialog for additional information. *****************************************************************************/ /* line 24, ../../../../general/res/sass/_text.scss */ -.abs.l-standalone, .l-datetime-picker .l-month-year-pager .l-standalone.pager, +.abs.l-standalone, .l-standalone.l-inspect, .l-datetime-picker .l-month-year-pager .l-standalone.pager, .l-datetime-picker .l-month-year-pager .l-standalone.val, .s-menu-btn span.l-standalone.l-click-area { padding: 5% 20%; } @@ -607,73 +604,89 @@ mct-container { border-top: 5px solid #0099cc; border-right: 5px solid transparent; } -/* line 32, ../../../../general/res/sass/_icons.scss */ -.ui-symbol.type-icon, .l-datetime-picker .l-month-year-pager .type-icon.pager { - color: #cccccc; } -/* line 35, ../../../../general/res/sass/_icons.scss */ -.ui-symbol.icon, .l-datetime-picker .l-month-year-pager .icon.pager { - color: #0099cc; } - /* line 37, ../../../../general/res/sass/_icons.scss */ - .ui-symbol.icon.alert, .l-datetime-picker .l-month-year-pager .icon.alert.pager { - color: #ff3c00; } - /* line 39, ../../../../general/res/sass/_icons.scss */ - .ui-symbol.icon.alert:hover, .l-datetime-picker .l-month-year-pager .icon.alert.pager:hover { - color: #ff8a66; } - /* line 43, ../../../../general/res/sass/_icons.scss */ - .ui-symbol.icon.major, .l-datetime-picker .l-month-year-pager .icon.major.pager { - font-size: 1.65em; } -/* line 47, ../../../../general/res/sass/_icons.scss */ -.ui-symbol.icon-calendar:after, .l-datetime-picker .l-month-year-pager .icon-calendar.pager:after { - content: "\e605"; } +/* line 31, ../../../../general/res/sass/_icons.scss */ +.ui-symbol, .t-item-icon, .s-icon-btn, .l-datetime-picker .l-month-year-pager .pager { + font-family: 'symbolsfont'; } + /* line 33, ../../../../general/res/sass/_icons.scss */ + .ui-symbol.type-icon, .type-icon.t-item-icon, .type-icon.s-icon-btn, .l-datetime-picker .l-month-year-pager .type-icon.pager { + color: #cccccc; } + /* line 36, ../../../../general/res/sass/_icons.scss */ + .ui-symbol.icon, .t-item-icon, .icon.s-icon-btn, .l-datetime-picker .l-month-year-pager .icon.pager, .l-datetime-picker .l-month-year-pager .pager.t-item-icon { + color: #0099cc; + font-size: inherit; } + /* line 40, ../../../../general/res/sass/_icons.scss */ + .ui-symbol.icon.alert, .alert.t-item-icon, .icon.alert.s-icon-btn, .l-datetime-picker .l-month-year-pager .icon.alert.pager, .l-datetime-picker .l-month-year-pager .alert.pager.t-item-icon { + color: #ff3c00; } + /* line 42, ../../../../general/res/sass/_icons.scss */ + .ui-symbol.icon.alert:hover, .alert.t-item-icon:hover, .icon.alert.s-icon-btn:hover, .l-datetime-picker .l-month-year-pager .icon.alert.pager:hover { + color: #ff8a66; } + /* line 46, ../../../../general/res/sass/_icons.scss */ + .ui-symbol.icon.major, .major.t-item-icon, .icon.major.s-icon-btn, .l-datetime-picker .l-month-year-pager .icon.major.pager, .l-datetime-picker .l-month-year-pager .major.pager.t-item-icon { + font-size: 1.65em; } + /* line 50, ../../../../general/res/sass/_icons.scss */ + .ui-symbol.icon-calendar:after, .icon-calendar.t-item-icon:after, .icon-calendar.s-icon-btn:after, .l-datetime-picker .l-month-year-pager .icon-calendar.pager:after { + content: "\e605"; } -/* line 52, ../../../../general/res/sass/_icons.scss */ -.bar .ui-symbol, .bar .l-datetime-picker .l-month-year-pager .pager, .l-datetime-picker .l-month-year-pager .bar .pager { +/* line 55, ../../../../general/res/sass/_icons.scss */ +.bar .ui-symbol, .bar .t-item-icon, .bar .s-icon-btn, .bar .l-datetime-picker .l-month-year-pager .pager, .l-datetime-picker .l-month-year-pager .bar .pager { display: inline-block; } -/* line 56, ../../../../general/res/sass/_icons.scss */ +/* line 59, ../../../../general/res/sass/_icons.scss */ .invoke-menu { text-shadow: none; display: inline-block; } -/* line 61, ../../../../general/res/sass/_icons.scss */ +/* line 64, ../../../../general/res/sass/_icons.scss */ .s-menu-btn .invoke-menu, -.icon.major .invoke-menu { +.icon.major .invoke-menu, +.major.t-item-icon .invoke-menu { margin-left: 3px; } -/* line 66, ../../../../general/res/sass/_icons.scss */ +/* line 69, ../../../../general/res/sass/_icons.scss */ .menu .type-icon, .tree-item .type-icon, .super-menu.menu .type-icon { position: absolute; } -/* line 76, ../../../../general/res/sass/_icons.scss */ -.l-icon-link:before { - content: "\f4"; } - -/* line 80, ../../../../general/res/sass/_icons.scss */ +/* line 75, ../../../../general/res/sass/_icons.scss */ .l-icon-alert { display: none !important; } - /* line 82, ../../../../general/res/sass/_icons.scss */ + /* line 77, ../../../../general/res/sass/_icons.scss */ .l-icon-alert:before { color: #ff3c00; content: "!"; } -/*[class*="s-limit"] { - //white-space: nowrap; - &:before { - display: inline-block; - font-family: symbolsfont; - font-size: 0.75em; - font-style: normal !important; - margin-right: $interiorMarginSm; - vertical-align: middle; - } -}*/ -/* line 25, ../../../../general/res/sass/_limits.scss */ +/* line 84, ../../../../general/res/sass/_icons.scss */ +.t-item-icon { + display: inline-block; + line-height: normal; + position: relative; } + /* line 92, ../../../../general/res/sass/_icons.scss */ + .t-item-icon.l-icon-link:before { + color: #49dedb; + content: "\f4"; + height: auto; + width: auto; + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 10%; + -moz-transform-origin: bottom left; + -ms-transform-origin: bottom left; + -webkit-transform-origin: bottom left; + transform-origin: bottom left; + -moz-transform: scale(0.3); + -ms-transform: scale(0.3); + -webkit-transform: scale(0.3); + transform: scale(0.3); + z-index: 2; } + +/* line 13, ../../../../general/res/sass/_limits.scss */ .s-limit-red { background: rgba(255, 0, 0, 0.3) !important; } -/* line 26, ../../../../general/res/sass/_limits.scss */ +/* line 14, ../../../../general/res/sass/_limits.scss */ .s-limit-yellow { background: rgba(255, 170, 0, 0.3) !important; } @@ -693,10 +706,10 @@ tr[class*="s-limit"].s-limit-yellow td:first-child:before { font-size: 0.8em; display: inline; margin-right: 3px; } -/* line 36, ../../../../general/res/sass/_limits.scss */ +/* line 24, ../../../../general/res/sass/_limits.scss */ tr[class*="s-limit"].s-limit-upr td:first-child:before { content: "ë"; } -/* line 37, ../../../../general/res/sass/_limits.scss */ +/* line 25, ../../../../general/res/sass/_limits.scss */ tr[class*="s-limit"].s-limit-lwr td:first-child:before { content: "î"; } @@ -716,10 +729,10 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { font-size: 0.8em; display: inline; margin-right: 3px; } -/* line 48, ../../../../general/res/sass/_limits.scss */ +/* line 37, ../../../../general/res/sass/_limits.scss */ :not(tr)[class*="s-limit"].s-limit-upr:before { content: "ë"; } -/* line 49, ../../../../general/res/sass/_limits.scss */ +/* line 38, ../../../../general/res/sass/_limits.scss */ :not(tr)[class*="s-limit"].s-limit-lwr:before { content: "î"; } @@ -869,9 +882,9 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { /* line 150, ../../../../general/res/sass/helpers/_bubbles.scss */ .s-infobubble { - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - border-radius: 2px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; -moz-box-shadow: rgba(0, 0, 0, 0.4) 0 1px 5px; -webkit-box-shadow: rgba(0, 0, 0, 0.4) 0 1px 5px; box-shadow: rgba(0, 0, 0, 0.4) 0 1px 5px; @@ -926,143 +939,117 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* line 25, ../../../../general/res/sass/helpers/_splitter.scss */ -.split-layout .splitter { - background-color: #454545; - -moz-border-radius: 1px; - -webkit-border-radius: 1px; - border-radius: 1px; - -moz-box-shadow: rgba(0, 0, 0, 0.4) 0 0 3px; - -webkit-box-shadow: rgba(0, 0, 0, 0.4) 0 0 3px; - box-shadow: rgba(0, 0, 0, 0.4) 0 0 3px; - overflow: hidden; +/* line 23, ../../../../general/res/sass/helpers/_splitter.scss */ +.splitter { + display: block; position: absolute; z-index: 1; } /* line 33, ../../../../general/res/sass/helpers/_splitter.scss */ - .split-layout .splitter:hover { - background-color: none; } -/* line 38, ../../../../general/res/sass/helpers/_splitter.scss */ + .splitter:after { + content: ""; + pointer-events: none; + overflow: hidden; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: auto; + height: auto; + background: #404040; + display: block; } + /* line 47, ../../../../general/res/sass/helpers/_splitter.scss */ + .splitter:active:after { + background-color: #0099cc !important; } + /* line 55, ../../../../general/res/sass/helpers/_splitter.scss */ + .splitter:not(:active):hover:after { + background-color: #595959 !important; + -moz-transition-property: background-color; + -o-transition-property: background-color; + -webkit-transition-property: background-color; + transition-property: background-color; + -moz-transition-duration: 150ms; + -o-transition-duration: 150ms; + -webkit-transition-duration: 150ms; + transition-duration: 150ms; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; } + +/* line 66, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.horizontal { overflow: hidden; } - /* line 41, ../../../../general/res/sass/helpers/_splitter.scss */ + /* line 69, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.horizontal .pane { left: 0; right: 0; } - /* line 44, ../../../../general/res/sass/helpers/_splitter.scss */ + /* line 72, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.horizontal .pane.top { bottom: auto; } - /* line 47, ../../../../general/res/sass/helpers/_splitter.scss */ + /* line 75, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.horizontal .pane.bottom { top: auto; } - /* line 51, ../../../../general/res/sass/helpers/_splitter.scss */ + /* line 79, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.horizontal > .splitter { cursor: row-resize; left: 0; right: 0; - width: auto; - height: 5px; } - /* line 159, ../../../../general/res/sass/_mixins.scss */ - .split-layout.horizontal > .splitter:before { - -moz-transition-property: "border-color"; - -o-transition-property: "border-color"; - -webkit-transition-property: "border-color"; - transition-property: "border-color"; - -moz-transition-duration: 0.75s; - -o-transition-duration: 0.75s; - -webkit-transition-duration: 0.75s; - transition-duration: 0.75s; - -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; - content: ''; - display: block; - height: auto; - pointer-events: none; - position: absolute; - z-index: 2; - border-top: 1px dotted #0d0d0d; - top: 2px; - left: 5px; - right: 5px; } - /* line 181, ../../../../general/res/sass/_mixins.scss */ - .split-layout.horizontal > .splitter:not(.disabled):hover:before { - -moz-transition-property: "border-color"; - -o-transition-property: "border-color"; - -webkit-transition-property: "border-color"; - transition-property: "border-color"; - -moz-transition-duration: 25ms; - -o-transition-duration: 25ms; - -webkit-transition-duration: 25ms; - transition-duration: 25ms; - -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; - border-color: #0099cc; } -/* line 61, ../../../../general/res/sass/helpers/_splitter.scss */ + height: 25px; } + /* line 84, ../../../../general/res/sass/helpers/_splitter.scss */ + .split-layout.horizontal > .splitter:after { + top: 12px; + bottom: 12px; } +/* line 92, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.vertical .pane { top: 0; bottom: 0; } - /* line 64, ../../../../general/res/sass/helpers/_splitter.scss */ + /* line 95, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.vertical .pane.left { right: auto; } - /* line 67, ../../../../general/res/sass/helpers/_splitter.scss */ + /* line 98, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.vertical .pane.right { left: auto; } -/* line 71, ../../../../general/res/sass/helpers/_splitter.scss */ +/* line 102, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.vertical > .splitter { - bottom: 0; cursor: col-resize; - width: 5px; } - /* line 159, ../../../../general/res/sass/_mixins.scss */ - .split-layout.vertical > .splitter:before { - -moz-transition-property: "border-color"; - -o-transition-property: "border-color"; - -webkit-transition-property: "border-color"; - transition-property: "border-color"; - -moz-transition-duration: 0.75s; - -o-transition-duration: 0.75s; - -webkit-transition-duration: 0.75s; - transition-duration: 0.75s; - -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; - content: ''; - display: block; - height: auto; - pointer-events: none; - position: absolute; - z-index: 2; - border-left: 1px dotted #0d0d0d; - left: 2px; - bottom: 5px; - top: 5px; } - /* line 181, ../../../../general/res/sass/_mixins.scss */ - .split-layout.vertical > .splitter:not(.disabled):hover:before { - -moz-transition-property: "border-color"; - -o-transition-property: "border-color"; - -webkit-transition-property: "border-color"; - transition-property: "border-color"; - -moz-transition-duration: 25ms; - -o-transition-duration: 25ms; - -webkit-transition-duration: 25ms; - transition-duration: 25ms; - -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; - border-color: #0099cc; } + top: 0; + bottom: 0; } + /* line 106, ../../../../general/res/sass/helpers/_splitter.scss */ + .split-layout.vertical > .splitter:not(.flush-right) { + width: 25px; } + /* line 108, ../../../../general/res/sass/helpers/_splitter.scss */ + .split-layout.vertical > .splitter:not(.flush-right):after { + left: 12px; + right: 12px; } + /* line 112, ../../../../general/res/sass/helpers/_splitter.scss */ + .split-layout.vertical > .splitter.flush-right { + width: 13px; } + /* line 114, ../../../../general/res/sass/helpers/_splitter.scss */ + .split-layout.vertical > .splitter.flush-right:after { + background-color: transparent; + left: auto; + right: 0; + width: 1px; } + /* line 118, ../../../../general/res/sass/helpers/_splitter.scss */ + .split-layout.vertical > .splitter.flush-right.edge-shdw { + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSI0MCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSI3MCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wNSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjIiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA='); + background-size: 100%; + background-image: -moz-linear-gradient(0deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.05) 70%, rgba(0, 0, 0, 0.2) 100%); + background-image: -webkit-linear-gradient(0deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.05) 70%, rgba(0, 0, 0, 0.2) 100%); + background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.05) 70%, rgba(0, 0, 0, 0.2) 100%); } -/* line 80, ../../../../general/res/sass/helpers/_splitter.scss */ -.browse-area .splitter { - top: 34px; } +/*.browse-area .splitter { + top: 0; //$ueTopBarH + $interiorMarginLg; +} -/* line 84, ../../../../general/res/sass/helpers/_splitter.scss */ .edit-area .splitter { - top: 0; } - + top: 0; +}*/ /***************************************************************************** * Open MCT Web, Copyright (c) 2014-2015, United States Government * as represented by the Administrator of the National Aeronautics and Space @@ -1267,18 +1254,6 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { padding: 0.375rem; border-width: 2px; } -/* Styles for messages */ -/* line 4, ../../../../general/res/sass/_messages.scss */ -.message.block { - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - border-radius: 2px; - padding: 10px; } -/* line 8, ../../../../general/res/sass/_messages.scss */ -.message.error { - background-color: rgba(255, 60, 0, 0.3); - color: #ff8a66; } - /***************************************************************************** * Open MCT Web, Copyright (c) 2014-2015, United States Government * as represented by the Administrator of the National Aeronautics and Space @@ -1300,17 +1275,84 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* Classes to be used for lists of properties and values */ -/* line 25, ../../../../general/res/sass/_properties.scss */ -.properties .s-row { - border-top: 1px solid rgba(153, 153, 153, 0.1); - font-size: 0.8em; } - /* line 28, ../../../../general/res/sass/_properties.scss */ - .properties .s-row:first-child { - border: none; } - /* line 31, ../../../../general/res/sass/_properties.scss */ - .properties .s-row .s-value { - color: #fff; } +/* Styles for the Inspector pane */ +/* line 24, ../../../../general/res/sass/_inspector.scss */ +.l-inspect, +.l-inspect table tr td { + font-size: 0.7rem; } + +/* line 29, ../../../../general/res/sass/_inspector.scss */ +.l-inspect { + background: #3b3b3b; + color: #999; + line-height: 140%; } + /* line 34, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .pane-header { + color: #666666; + font-size: 0.8rem; } + /* line 37, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .pane-header:before { + color: gray; + content: '\e615'; + display: inline; + font-family: symbolsfont; + margin-right: 5px; + vertical-align: bottom; } + /* line 47, ../../../../general/res/sass/_inspector.scss */ + .l-inspect ul li, + .l-inspect em { + display: block; + position: relative; } + /* line 53, ../../../../general/res/sass/_inspector.scss */ + .l-inspect ul li { + margin-bottom: 10px; } + /* line 57, ../../../../general/res/sass/_inspector.scss */ + .l-inspect em { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + background-color: #474747; + color: #a1a1a1; + margin-bottom: 5px; + padding: 5px 5px; + text-transform: uppercase; } + /* line 66, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-properties { + padding: 3px 0; } + /* line 67, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-properties:not(.first) { + border-top: 1px solid #474747; } + /* line 71, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-properties .label { + color: #737373; + text-transform: uppercase; } + /* line 75, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-properties .value { + color: #bfbfbf; + word-break: break-all; } + /* line 83, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-location .location-item { + cursor: pointer; + display: inline-block; + position: relative; + padding: 2px 4px; } + /* line 88, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-location .location-item:hover { + background: rgba(153, 153, 153, 0.1); + color: #cccccc; } + /* line 91, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-location .location-item:hover .icon, .l-inspect .inspector-location .location-item:hover .t-item-icon { + color: #33ccff; } + /* line 96, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-location:not(.last) .t-object-label .t-title-label:after { + color: #737373; + content: '\3e'; + display: inline-block; + font-family: symbolsfont; + font-size: 8px; + line-height: inherit; + margin-left: 3px; + width: 4px; } /********************************* CONTROLS */ /* line 1, ../../../../general/res/sass/controls/_breadcrumb.scss */ @@ -1324,9 +1366,9 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; - -moz-border-radius: 1.5px; - -webkit-border-radius: 1.5px; - border-radius: 1.5px; + -moz-border-radius: 2.25px; + -webkit-border-radius: 2.25px; + border-radius: 2.25px; -moz-transition: background-color 0.25s; -o-transition: background-color 0.25s; -webkit-transition: background-color 0.25s; @@ -1335,7 +1377,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { display: inline-block; padding: 2px 4px; } /* line 18, ../../../../general/res/sass/controls/_breadcrumb.scss */ - .l-breadcrumb .l-breadcrumb-item a .icon { + .l-breadcrumb .l-breadcrumb-item a .icon, .l-breadcrumb .l-breadcrumb-item a .t-item-icon { color: #0099cc; margin-right: 5px; } /* line 22, ../../../../general/res/sass/controls/_breadcrumb.scss */ @@ -1343,7 +1385,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { background: #4d4d4d; color: #b3b3b3; } /* line 25, ../../../../general/res/sass/controls/_breadcrumb.scss */ - .l-breadcrumb .l-breadcrumb-item a:hover .icon { + .l-breadcrumb .l-breadcrumb-item a:hover .icon, .l-breadcrumb .l-breadcrumb-item a:hover .t-item-icon { color: #33ccff; } /***************************************************************************** @@ -1368,10 +1410,8 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { * at runtime from the About dialog for additional information. *****************************************************************************/ /* line 25, ../../../../general/res/sass/controls/_buttons.scss */ -.s-btn, .s-menu-btn { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; +.s-btn, .s-menu-btn, +.s-icon-btn { -moz-user-select: -moz-none; -ms-user-select: none; -webkit-user-select: none; @@ -1379,26 +1419,32 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { cursor: pointer; text-decoration: none; height: 25px; - line-height: 25px; + line-height: 25px; } + +/* line 34, ../../../../general/res/sass/controls/_buttons.scss */ +.s-btn, .s-menu-btn { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; padding: 0 7.5px; font-size: 0.7rem; } - /* line 35, ../../../../general/res/sass/controls/_buttons.scss */ - .s-btn .icon, .s-menu-btn .icon { + /* line 39, ../../../../general/res/sass/controls/_buttons.scss */ + .s-btn .icon, .s-menu-btn .icon, .s-btn .t-item-icon, .s-menu-btn .t-item-icon { font-size: 0.8rem; color: #0099cc; } - /* line 40, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 44, ../../../../general/res/sass/controls/_buttons.scss */ .s-btn .title-label, .s-menu-btn .title-label { vertical-align: top; } - /* line 44, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 48, ../../../../general/res/sass/controls/_buttons.scss */ .s-btn.lg, .lg.s-menu-btn { font-size: 1rem; } - /* line 48, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 52, ../../../../general/res/sass/controls/_buttons.scss */ .s-btn.sm, .sm.s-menu-btn { padding: 0 5px; } - /* line 52, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 56, ../../../../general/res/sass/controls/_buttons.scss */ .s-btn.vsm, .vsm.s-menu-btn { padding: 0 2.5px; } - /* line 56, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 60, ../../../../general/res/sass/controls/_buttons.scss */ .s-btn.major, .major.s-menu-btn { background-color: #0099cc; -moz-border-radius: 3px; @@ -1427,17 +1473,17 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -webkit-transition: background, 0.25s; transition: background, 0.25s; 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 { + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .s-btn.major .icon, .major.s-menu-btn .icon, .s-btn.major .t-item-icon, .major.s-menu-btn .t-item-icon { color: #fff; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 277, ../../../../general/res/sass/_mixins.scss */ + /* line 302, ../../../../general/res/sass/_mixins.scss */ .s-btn.major:not(.disabled):hover, .major.s-menu-btn:not(.disabled):hover { background: linear-gradient(#1ac6ff, #00bfff); } - /* line 279, ../../../../general/res/sass/_mixins.scss */ - .s-btn.major:not(.disabled):hover > .icon, .major.s-menu-btn:not(.disabled):hover > .icon { + /* line 304, ../../../../general/res/sass/_mixins.scss */ + .s-btn.major:not(.disabled):hover > .icon, .major.s-menu-btn:not(.disabled):hover > .icon, .s-btn.major:not(.disabled):hover > .t-item-icon, .major.s-menu-btn:not(.disabled):hover > .t-item-icon { color: white; } } - /* line 62, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 66, ../../../../general/res/sass/controls/_buttons.scss */ .s-btn:not(.major), .s-menu-btn:not(.major) { background-color: #454545; -moz-border-radius: 3px; @@ -1466,20 +1512,20 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -webkit-transition: background, 0.25s; transition: background, 0.25s; 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 { + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .s-btn:not(.major) .icon, .s-menu-btn:not(.major) .icon, .s-btn:not(.major) .t-item-icon, .s-menu-btn:not(.major) .t-item-icon { color: #0099cc; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 277, ../../../../general/res/sass/_mixins.scss */ + /* line 302, ../../../../general/res/sass/_mixins.scss */ .s-btn:not(.major):not(.disabled):hover, .s-menu-btn:not(.major):not(.disabled):hover { background: linear-gradient(#6b6b6b, #5e5e5e); } - /* line 279, ../../../../general/res/sass/_mixins.scss */ - .s-btn:not(.major):not(.disabled):hover > .icon, .s-menu-btn:not(.major):not(.disabled):hover > .icon { + /* line 304, ../../../../general/res/sass/_mixins.scss */ + .s-btn:not(.major):not(.disabled):hover > .icon, .s-menu-btn:not(.major):not(.disabled):hover > .icon, .s-btn:not(.major):not(.disabled):hover > .t-item-icon, .s-menu-btn:not(.major):not(.disabled):hover > .t-item-icon { color: #33ccff; } } - /* line 71, ../../../../general/res/sass/controls/_buttons.scss */ - .s-btn.pause-play .icon:before, .pause-play.s-menu-btn .icon:before { + /* line 75, ../../../../general/res/sass/controls/_buttons.scss */ + .s-btn.pause-play .icon:before, .pause-play.s-menu-btn .icon:before, .s-btn.pause-play .t-item-icon:before, .pause-play.s-menu-btn .t-item-icon:before { content: "\0000F1"; } - /* line 74, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 78, ../../../../general/res/sass/controls/_buttons.scss */ .s-btn.pause-play.paused, .pause-play.paused.s-menu-btn { background-color: #c56f01; -moz-border-radius: 3px; @@ -1508,18 +1554,18 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -webkit-transition: background, 0.25s; transition: background, 0.25s; 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 { + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .s-btn.pause-play.paused .icon, .pause-play.paused.s-menu-btn .icon, .s-btn.pause-play.paused .t-item-icon, .pause-play.paused.s-menu-btn .t-item-icon { color: #fff; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 277, ../../../../general/res/sass/_mixins.scss */ + /* line 302, ../../../../general/res/sass/_mixins.scss */ .s-btn.pause-play.paused:not(.disabled):hover, .pause-play.paused.s-menu-btn:not(.disabled):hover { background: linear-gradient(#fe9815, #f88c01); } - /* line 279, ../../../../general/res/sass/_mixins.scss */ - .s-btn.pause-play.paused:not(.disabled):hover > .icon, .pause-play.paused.s-menu-btn:not(.disabled):hover > .icon { + /* line 304, ../../../../general/res/sass/_mixins.scss */ + .s-btn.pause-play.paused:not(.disabled):hover > .icon, .pause-play.paused.s-menu-btn:not(.disabled):hover > .icon, .s-btn.pause-play.paused:not(.disabled):hover > .t-item-icon, .pause-play.paused.s-menu-btn:not(.disabled):hover > .t-item-icon { color: white; } } - /* line 76, ../../../../general/res/sass/controls/_buttons.scss */ - .s-btn.pause-play.paused .icon, .pause-play.paused.s-menu-btn .icon { + /* line 80, ../../../../general/res/sass/controls/_buttons.scss */ + .s-btn.pause-play.paused .icon, .pause-play.paused.s-menu-btn .icon, .s-btn.pause-play.paused .t-item-icon, .pause-play.paused.s-menu-btn .t-item-icon { -moz-animation-name: pulse; -webkit-animation-name: pulse; animation-name: pulse; @@ -1535,23 +1581,221 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -moz-animation-timing-function: ease-in-out; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } - /* line 78, ../../../../general/res/sass/controls/_buttons.scss */ - .s-btn.pause-play.paused .icon :before, .pause-play.paused.s-menu-btn .icon :before { + /* line 82, ../../../../general/res/sass/controls/_buttons.scss */ + .s-btn.pause-play.paused .icon :before, .pause-play.paused.s-menu-btn .icon :before, .s-btn.pause-play.paused .t-item-icon :before, .pause-play.paused.s-menu-btn .t-item-icon :before { content: "\0000EF"; } - /* line 86, ../../../../general/res/sass/controls/_buttons.scss */ - .s-btn.show-thumbs .icon:before, .show-thumbs.s-menu-btn .icon:before { + /* line 90, ../../../../general/res/sass/controls/_buttons.scss */ + .s-btn.show-thumbs .icon:before, .show-thumbs.s-menu-btn .icon:before, .s-btn.show-thumbs .t-item-icon:before, .show-thumbs.s-menu-btn .t-item-icon:before { content: "\000039"; } -/* line 92, ../../../../general/res/sass/controls/_buttons.scss */ +/* line 96, ../../../../general/res/sass/controls/_buttons.scss */ +.s-icon-btn { + color: #0099cc; } + /* line 99, ../../../../general/res/sass/controls/_buttons.scss */ + .s-icon-btn:hover { + color: #33ccff; } + +@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 104, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -moz-transition-property: color, background-color; + -o-transition-property: color, background-color; + -webkit-transition-property: color, background-color; + transition-property: color, background-color; + -moz-transition-duration: 100ms; + -o-transition-duration: 100ms; + -webkit-transition-duration: 100ms; + transition-duration: 100ms; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; + color: #595959; + cursor: pointer; + font-family: symbolsfont; + font-size: 9px; + display: block; + position: absolute; + line-height: 24px; + height: 24px; + width: 9px; + text-align: center; } + /* line 133, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab:hover { + color: #0099cc; } + /* line 138, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.collapsed { + background-color: #454545; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #999; + display: inline-block; + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzUyNTI1MiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzQ1NDU0NSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); + background-size: 100%; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #525252), color-stop(100%, #454545)); + background-image: -moz-linear-gradient(#525252, #454545); + background-image: -webkit-linear-gradient(#525252, #454545); + background-image: linear-gradient(#525252, #454545); + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; + box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; + -moz-user-select: -moz-none; + -ms-user-select: none; + -webkit-user-select: none; + user-select: none; + -moz-transition: background, 0.25s; + -o-transition: background, 0.25s; + -webkit-transition: background, 0.25s; + transition: background, 0.25s; + text-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px; } + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .mini-tab.collapsed .icon, .mini-tab.collapsed .t-item-icon { + color: #0099cc; } } + @media screen and (min-device-width: 800px) and (min-device-height: 1025px) and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 800px) and (min-device-height: 1025px) and (min-device-width: 1025px) and (min-device-height: 800px), screen and (min-device-width: 1025px) and (min-device-height: 800px) and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 302, ../../../../general/res/sass/_mixins.scss */ + .mini-tab.collapsed:not(.disabled):hover { + background: linear-gradient(#6b6b6b, #5e5e5e); } + /* line 304, ../../../../general/res/sass/_mixins.scss */ + .mini-tab.collapsed:not(.disabled):hover > .icon, .mini-tab.collapsed:not(.disabled):hover > .t-item-icon { + color: #33ccff; } } +@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 141, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.collapsed:before { + opacity: 0; } + /* line 142, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.collapsed:after { + opacity: 1; } + /* line 144, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.collapsed:hover:before { + opacity: 1; } + /* line 145, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.collapsed:hover:after { + opacity: 0; } + /* line 150, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab:before, .mini-tab:after { + -moz-transition-property: left, right, opacity; + -o-transition-property: left, right, opacity; + -webkit-transition-property: left, right, opacity; + transition-property: left, right, opacity; + -moz-transition-duration: 250ms; + -o-transition-duration: 250ms; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; + display: block; + height: 100%; + position: absolute; } + /* line 159, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab:before { + width: 9px; } + /* line 165, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab:after { + width: 100%; + text-align: center; + opacity: 0; } + /* line 172, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-left { + text-align: right; } + /* line 175, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-left:before { + content: '\3c'; + right: 0; } + /* line 180, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-left.collapsed { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + text-align: left; } + /* line 183, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-left.collapsed:before { + content: '\3e'; + left: 0; } + /* line 187, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-left.collapsed:hover:before { + left: 2px; } + /* line 190, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-right { + text-align: left; } + /* line 193, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-right:before { + content: '\3e'; + left: 0; } + /* line 198, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-right.collapsed { + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + /* line 200, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-right.collapsed:before { + text-align: right; + content: '\3c'; + right: 0; } + /* line 205, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-right.collapsed:hover:before { + right: 2px; } } + +@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 211, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab-icon { + color: #595959; + cursor: pointer; + display: block; + font-family: symbolsfont; + font-size: 9px; + position: absolute; + height: 9px; + width: 9px; + line-height: 9px; + overflow: hidden; + word-break: break-all; } + /* line 228, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab-icon:before, .mini-tab-icon:after { + position: absolute; + display: inherit; } + /* line 234, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab-icon:before { + content: '\78'; } + /* line 238, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab-icon:hover { + color: #0099cc; } } + +/* line 245, ../../../../general/res/sass/controls/_buttons.scss */ .l-btn-set { font-size: 0; } - /* line 98, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 251, ../../../../general/res/sass/controls/_buttons.scss */ .l-btn-set .s-btn, .l-btn-set .s-menu-btn { -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; margin-left: 1px; } - /* line 104, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 257, ../../../../general/res/sass/controls/_buttons.scss */ .l-btn-set .first .s-btn, .l-btn-set .first .s-menu-btn { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; @@ -1560,7 +1804,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -webkit-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; margin-left: 0; } - /* line 111, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 264, ../../../../general/res/sass/controls/_buttons.scss */ .l-btn-set .last .s-btn, .l-btn-set .last .s-menu-btn { -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; @@ -1569,7 +1813,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; } -/* line 118, ../../../../general/res/sass/controls/_buttons.scss */ +/* line 271, ../../../../general/res/sass/controls/_buttons.scss */ .paused:not(.s-btn):not(.s-menu-btn) { border-color: #c56f01 !important; color: #c56f01 !important; } @@ -1613,10 +1857,10 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -webkit-box-sizing: border-box; box-sizing: border-box; text-shadow: rgba(0, 0, 0, 0.8) 0 1px 2px; - -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-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 0.25s; -o-transition-duration: 0.25s; -webkit-transition-duration: 0.25s; @@ -1625,6 +1869,10 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; border: 1px solid transparent; color: #fff; display: block; @@ -1674,45 +1922,17 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/*.control { - // UNUSED? - &.view-control { - .icon { - display: inline-block; - margin: -1px 5px 1px 2px; - vertical-align: middle; - &.triangle-down { - margin: 2px 2px -2px 0px; - } - } - - .label { - display: inline-block; - font-size: 11px; - vertical-align: middle; - } - - .toggle { - @include border-radius(3px); - display: inline-block; - padding: 1px 6px 4px 4px; - &:hover { - background: rgba(white, 0.1); - } - } - } -}*/ -/* line 51, ../../../../general/res/sass/controls/_controls.scss */ +/* line 23, ../../../../general/res/sass/controls/_controls.scss */ .accordion { margin-top: 5px; } - /* line 54, ../../../../general/res/sass/controls/_controls.scss */ + /* line 26, ../../../../general/res/sass/controls/_controls.scss */ .accordion:first-child { margin-top: 0; } - /* line 57, ../../../../general/res/sass/controls/_controls.scss */ + /* line 29, ../../../../general/res/sass/controls/_controls.scss */ .accordion .accordion-head { - -moz-border-radius: 1.5px; - -webkit-border-radius: 1.5px; - border-radius: 1.5px; + -moz-border-radius: 2.25px; + -webkit-border-radius: 2.25px; + border-radius: 2.25px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; @@ -1730,10 +1950,10 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { width: auto; height: 18px; text-transform: uppercase; } - /* line 75, ../../../../general/res/sass/controls/_controls.scss */ + /* line 47, ../../../../general/res/sass/controls/_controls.scss */ .accordion .accordion-head:hover { background: rgba(153, 153, 153, 0.4); } - /* line 78, ../../../../general/res/sass/controls/_controls.scss */ + /* line 50, ../../../../general/res/sass/controls/_controls.scss */ .accordion .accordion-head:after { content: "^"; display: block; @@ -1743,10 +1963,10 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { right: 5px; text-transform: none; top: 0; } - /* line 88, ../../../../general/res/sass/controls/_controls.scss */ + /* line 60, ../../../../general/res/sass/controls/_controls.scss */ .accordion .accordion-head:not(.expanded):after { content: "v"; } - /* line 92, ../../../../general/res/sass/controls/_controls.scss */ + /* line 64, ../../../../general/res/sass/controls/_controls.scss */ .accordion .accordion-contents { position: absolute; top: 23px; @@ -1756,14 +1976,14 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { overflow-y: auto; overflow-x: hidden; } -/* line 103, ../../../../general/res/sass/controls/_controls.scss */ +/* line 75, ../../../../general/res/sass/controls/_controls.scss */ .l-composite-control { vertical-align: middle; } - /* line 106, ../../../../general/res/sass/controls/_controls.scss */ + /* line 78, ../../../../general/res/sass/controls/_controls.scss */ .l-composite-control.l-checkbox .composite-control-label { line-height: 18px; } -/* line 112, ../../../../general/res/sass/controls/_controls.scss */ +/* line 84, ../../../../general/res/sass/controls/_controls.scss */ .l-control-group { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; @@ -1772,23 +1992,23 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { display: inline-block; padding: 0 5px; position: relative; } - /* line 120, ../../../../general/res/sass/controls/_controls.scss */ + /* line 92, ../../../../general/res/sass/controls/_controls.scss */ .l-control-group:first-child { border-left: none; padding-left: 0; } -/* line 126, ../../../../general/res/sass/controls/_controls.scss */ +/* line 98, ../../../../general/res/sass/controls/_controls.scss */ .l-local-controls { position: absolute; top: 5px; right: 5px; z-index: 5; } -/* line 136, ../../../../general/res/sass/controls/_controls.scss */ +/* line 108, ../../../../general/res/sass/controls/_controls.scss */ .s-local-controls { font-size: 0.7rem; } -/* line 140, ../../../../general/res/sass/controls/_controls.scss */ +/* line 112, ../../../../general/res/sass/controls/_controls.scss */ label.checkbox.custom { cursor: pointer; display: inline-block; @@ -1797,17 +2017,17 @@ label.checkbox.custom { padding-left: 19px; position: relative; vertical-align: middle; } - /* line 150, ../../../../general/res/sass/controls/_controls.scss */ + /* line 122, ../../../../general/res/sass/controls/_controls.scss */ label.checkbox.custom em { color: #999; display: inline-block; height: 14px; min-width: 14px; } - /* line 155, ../../../../general/res/sass/controls/_controls.scss */ + /* line 127, ../../../../general/res/sass/controls/_controls.scss */ label.checkbox.custom em:before { - -moz-border-radius: 1.5px; - -webkit-border-radius: 1.5px; - border-radius: 1.5px; + -moz-border-radius: 2.25px; + -webkit-border-radius: 2.25px; + border-radius: 2.25px; background: #4d4d4d; -moz-box-shadow: inset rgba(0, 0, 0, 0.4) 0 1px 2px; -webkit-box-shadow: inset rgba(0, 0, 0, 0.4) 0 1px 2px; @@ -1824,63 +2044,63 @@ label.checkbox.custom { top: 0; position: absolute; text-align: center; } - /* line 174, ../../../../general/res/sass/controls/_controls.scss */ + /* line 146, ../../../../general/res/sass/controls/_controls.scss */ label.checkbox.custom.no-text { overflow: hidden; margin-right: 0; padding-left: 0; height: 14px; width: 14px; } - /* line 180, ../../../../general/res/sass/controls/_controls.scss */ + /* line 152, ../../../../general/res/sass/controls/_controls.scss */ label.checkbox.custom.no-text em { overflow: hidden; } - /* line 184, ../../../../general/res/sass/controls/_controls.scss */ + /* line 156, ../../../../general/res/sass/controls/_controls.scss */ label.checkbox.custom input { display: none; } - /* line 186, ../../../../general/res/sass/controls/_controls.scss */ + /* line 158, ../../../../general/res/sass/controls/_controls.scss */ label.checkbox.custom input:checked ~ em:before { background: #0099cc; color: #ccf2ff; content: "2"; } -/* line 194, ../../../../general/res/sass/controls/_controls.scss */ +/* line 166, ../../../../general/res/sass/controls/_controls.scss */ .input-labeled { margin-left: 5px; } - /* line 196, ../../../../general/res/sass/controls/_controls.scss */ + /* line 168, ../../../../general/res/sass/controls/_controls.scss */ .input-labeled label { display: inline-block; margin-right: 3px; } - /* line 200, ../../../../general/res/sass/controls/_controls.scss */ + /* line 172, ../../../../general/res/sass/controls/_controls.scss */ .input-labeled.inline { display: inline-block; } - /* line 203, ../../../../general/res/sass/controls/_controls.scss */ + /* line 175, ../../../../general/res/sass/controls/_controls.scss */ .input-labeled:first-child { margin-left: 0; } -/* line 208, ../../../../general/res/sass/controls/_controls.scss */ +/* line 180, ../../../../general/res/sass/controls/_controls.scss */ .s-menu-btn label.checkbox.custom { margin-left: 5px; } -/* line 213, ../../../../general/res/sass/controls/_controls.scss */ +/* line 185, ../../../../general/res/sass/controls/_controls.scss */ .item .checkbox.checked label { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; border-bottom: none; } -/* line 219, ../../../../general/res/sass/controls/_controls.scss */ +/* line 191, ../../../../general/res/sass/controls/_controls.scss */ .context-available { color: #0099cc; } - /* line 222, ../../../../general/res/sass/controls/_controls.scss */ + /* line 194, ../../../../general/res/sass/controls/_controls.scss */ .context-available:hover { color: deepskyblue; } -/* line 227, ../../../../general/res/sass/controls/_controls.scss */ +/* line 199, ../../../../general/res/sass/controls/_controls.scss */ .view-switcher { - -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-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 100ms; -o-transition-duration: 100ms; -webkit-transition-duration: 100ms; @@ -1888,29 +2108,33 @@ label.checkbox.custom { -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; } + transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; } /******************************************************** OBJECT-HEADER */ -/* line 232, ../../../../general/res/sass/controls/_controls.scss */ +/* line 204, ../../../../general/res/sass/controls/_controls.scss */ .object-header { font-size: 1em; } - /* line 243, ../../../../general/res/sass/controls/_controls.scss */ + /* line 236, ../../../../general/res/sass/controls/_controls.scss */ .object-header > .type-icon { color: #cccccc; font-size: 120%; float: left; margin-right: 5px; } - /* line 250, ../../../../general/res/sass/controls/_controls.scss */ + /* line 222, ../../../../general/res/sass/controls/_controls.scss */ .object-header .l-elem-wrapper { - justify-content: flex-start; - -webkit-justify-content: flex-start; } - /* line 253, ../../../../general/res/sass/controls/_controls.scss */ + -webkit-justify-content: flex-start; + justify-content: flex-start; } + /* line 225, ../../../../general/res/sass/controls/_controls.scss */ .object-header .l-elem-wrapper mct-representation { min-width: 0.7em; } - /* line 261, ../../../../general/res/sass/controls/_controls.scss */ + /* line 233, ../../../../general/res/sass/controls/_controls.scss */ .object-header .action { margin-right: 5px; } - /* line 265, ../../../../general/res/sass/controls/_controls.scss */ + /* line 237, ../../../../general/res/sass/controls/_controls.scss */ .object-header .title-label { color: #999; overflow: hidden; @@ -1919,13 +2143,13 @@ label.checkbox.custom { flex: 0 1 auto; -webkit-flex: 0 1 auto; padding-right: 0.35em; } - /* line 275, ../../../../general/res/sass/controls/_controls.scss */ + /* line 269, ../../../../general/res/sass/controls/_controls.scss */ .object-header .context-available { font-size: 0.7em; flex: 0 0 1; -webkit-flex: 0 0 1; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 282, ../../../../general/res/sass/controls/_controls.scss */ + /* line 276, ../../../../general/res/sass/controls/_controls.scss */ .object-header .context-available { -moz-transition-property: opacity; -o-transition-property: opacity; @@ -1939,13 +2163,139 @@ label.checkbox.custom { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; opacity: 0; } - /* line 287, ../../../../general/res/sass/controls/_controls.scss */ + /* line 259, ../../../../general/res/sass/controls/_controls.scss */ .object-header:hover .context-available { opacity: 1; } } +/******************************************************** PROGRESS BAR */ +@-moz-keyframes progress { + 100% { + background-position: 20px center; } } +@-webkit-keyframes progress { + 100% { + background-position: 20px center; } } +@keyframes progress { + 100% { + background-position: 20px center; } } +/* line 281, ../../../../general/res/sass/controls/_controls.scss */ +.l-progress-bar { + display: inline-block; + overflow: hidden; + position: relative; } + /* line 287, ../../../../general/res/sass/controls/_controls.scss */ + .l-progress-bar .progress-amt-holder { + overflow: hidden; + position: absolute; + top: 1px; + right: 1px; + bottom: 1px; + left: 1px; + width: auto; + height: auto; } + /* line 290, ../../../../general/res/sass/controls/_controls.scss */ + .l-progress-bar .progress-amt, + .l-progress-bar .progress-amt:before, + .l-progress-bar .progress-amt:after { + overflow: hidden; + position: absolute; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + width: auto; + height: auto; + display: block; + content: ''; } + /* line 298, ../../../../general/res/sass/controls/_controls.scss */ + .l-progress-bar .progress-amt { + right: auto; } + /* line 303, ../../../../general/res/sass/controls/_controls.scss */ + .l-progress-bar.indeterminate .progress-amt { + width: 100% !important; } + +/* line 309, ../../../../general/res/sass/controls/_controls.scss */ +.s-progress-bar { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-box-shadow: inset rgba(0, 0, 0, 0.3) 0 1px 4px; + -webkit-box-shadow: inset rgba(0, 0, 0, 0.3) 0 1px 4px; + box-shadow: inset rgba(0, 0, 0, 0.3) 0 1px 4px; + background: rgba(0, 0, 0, 0.1); } + /* line 314, ../../../../general/res/sass/controls/_controls.scss */ + .s-progress-bar .progress-amt { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-box-shadow: rgba(0, 0, 0, 0.4) 0 0 3px; + -webkit-box-shadow: rgba(0, 0, 0, 0.4) 0 0 3px; + box-shadow: rgba(0, 0, 0, 0.4) 0 0 3px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-transition-property: width; + -o-transition-property: width; + -webkit-transition-property: width; + transition-property: width; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; } + /* line 319, ../../../../general/res/sass/controls/_controls.scss */ + .s-progress-bar .progress-amt:before { + background-color: #0099cc; } + /* line 322, ../../../../general/res/sass/controls/_controls.scss */ + .s-progress-bar .progress-amt:after { + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSI1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjMwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjI1Ii8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); + background-size: 100%; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(5%, rgba(0, 0, 0, 0)), color-stop(30%, rgba(255, 255, 255, 0.25)), color-stop(100%, rgba(0, 0, 0, 0))); + background-image: -moz-linear-gradient(rgba(0, 0, 0, 0) 5%, rgba(255, 255, 255, 0.25) 30%, rgba(0, 0, 0, 0) 100%); + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0) 5%, rgba(255, 255, 255, 0.25) 30%, rgba(0, 0, 0, 0) 100%); + background-image: linear-gradient(rgba(0, 0, 0, 0) 5%, rgba(255, 255, 255, 0.25) 30%, rgba(0, 0, 0, 0) 100%); } + /* line 331, ../../../../general/res/sass/controls/_controls.scss */ + .s-progress-bar:not(.indeterminate) .progress-amt:before { + -moz-animation: progress 0.4s linear infinite; + -webkit-animation: progress 0.4s linear infinite; + animation: progress 0.4s linear infinite; + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjEuMCIgeTE9IjAuNSIgeDI9IjAuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjEiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMC4xIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g'); + background-size: 100%; + background-image: -moz-linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.1) 100%); + background-image: -webkit-linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.1) 100%); + background-image: linear-gradient(-90deg, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.1) 100%); + background-position: 0 center; + background-repeat: repeat-x; + background-size: 20px 40%; } + /* line 339, ../../../../general/res/sass/controls/_controls.scss */ + .s-progress-bar.indeterminate .progress-amt:before { + -moz-animation: progress 0.6s linear infinite; + -webkit-animation: progress 0.6s linear infinite; + animation: progress 0.6s linear infinite; + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjEuMCIgeTE9IjEuMCIgeDI9IjAuMCIgeTI9IjAuMCI+PHN0b3Agb2Zmc2V0PSIyNSUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMC4yIi8+PHN0b3Agb2Zmc2V0PSIyNSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSI1MCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSI1MCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMC4yIi8+PHN0b3Agb2Zmc2V0PSI3NSUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMC4yIi8+PHN0b3Agb2Zmc2V0PSI3NSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); + background-size: 100%; + background-image: -moz-linear-gradient(135deg, rgba(255, 255, 255, 0.2) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0) 100%); + background-image: -webkit-linear-gradient(135deg, rgba(255, 255, 255, 0.2) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0) 100%); + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0) 100%); + background-repeat: repeat; + background-size: 20px 20px; } + /* line 344, ../../../../general/res/sass/controls/_controls.scss */ + .s-progress-bar.indeterminate .progress-amt:after { + display: none; } + /******************************************************** SLIDERS */ -/* line 298, ../../../../general/res/sass/controls/_controls.scss */ +/* line 352, ../../../../general/res/sass/controls/_controls.scss */ .slider .slot { width: auto; position: absolute; @@ -1953,12 +2303,12 @@ label.checkbox.custom { right: 0; bottom: 0; left: 0; } -/* line 308, ../../../../general/res/sass/controls/_controls.scss */ +/* line 362, ../../../../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; - -webkit-transition-property: visibility, opacity, background-color, border-color; - transition-property: visibility, opacity, background-color, border-color; + -moz-transition-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 0.25s; -o-transition-duration: 0.25s; -webkit-transition-duration: 0.25s; @@ -1967,6 +2317,10 @@ label.checkbox.custom { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; background-color: rgba(0, 153, 204, 0.6); position: absolute; height: 100%; @@ -1975,10 +2329,10 @@ label.checkbox.custom { auto: 0; bottom: auto; left: auto; } - /* line 313, ../../../../general/res/sass/controls/_controls.scss */ + /* line 307, ../../../../general/res/sass/controls/_controls.scss */ .slider .knob:hover { background-color: #0099cc; } -/* line 324, ../../../../general/res/sass/controls/_controls.scss */ +/* line 318, ../../../../general/res/sass/controls/_controls.scss */ .slider .knob-l { -moz-border-radius-topleft: 10px; -webkit-border-top-left-radius: 10px; @@ -1987,7 +2341,7 @@ label.checkbox.custom { -webkit-border-bottom-left-radius: 10px; border-bottom-left-radius: 10px; cursor: w-resize; } -/* line 328, ../../../../general/res/sass/controls/_controls.scss */ +/* line 322, ../../../../general/res/sass/controls/_controls.scss */ .slider .knob-r { -moz-border-radius-topright: 10px; -webkit-border-top-right-radius: 10px; @@ -1996,12 +2350,12 @@ label.checkbox.custom { -webkit-border-bottom-right-radius: 10px; border-bottom-right-radius: 10px; cursor: e-resize; } -/* line 332, ../../../../general/res/sass/controls/_controls.scss */ +/* line 326, ../../../../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; - -webkit-transition-property: visibility, opacity, background-color, border-color; - transition-property: visibility, opacity, background-color, border-color; + -moz-transition-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 0.25s; -o-transition-duration: 0.25s; -webkit-transition-duration: 0.25s; @@ -2010,6 +2364,10 @@ label.checkbox.custom { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; background-color: rgba(0, 153, 204, 0.3); cursor: ew-resize; position: absolute; @@ -2019,12 +2377,12 @@ label.checkbox.custom { left: auto; height: auto; width: auto; } - /* line 343, ../../../../general/res/sass/controls/_controls.scss */ + /* line 337, ../../../../general/res/sass/controls/_controls.scss */ .slider .range:hover { background-color: rgba(0, 153, 204, 0.5); } /******************************************************** DATETIME PICKER */ -/* line 350, ../../../../general/res/sass/controls/_controls.scss */ +/* line 344, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker { -moz-user-select: -moz-none; -ms-user-select: none; @@ -2033,65 +2391,65 @@ label.checkbox.custom { font-size: 0.8rem; padding: 10px !important; width: 230px; } - /* line 356, ../../../../general/res/sass/controls/_controls.scss */ + /* line 350, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker .l-month-year-pager { height: 15px; margin-bottom: 5px; position: relative; } - /* line 368, ../../../../general/res/sass/controls/_controls.scss */ + /* line 420, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker .l-month-year-pager .pager { width: 20px; } - /* line 371, ../../../../general/res/sass/controls/_controls.scss */ + /* line 423, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker .l-month-year-pager .pager.prev { right: auto; } - /* line 373, ../../../../general/res/sass/controls/_controls.scss */ + /* line 425, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker .l-month-year-pager .pager.prev:before { content: "\3c"; } - /* line 377, ../../../../general/res/sass/controls/_controls.scss */ + /* line 429, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker .l-month-year-pager .pager.next { left: auto; text-align: right; } - /* line 380, ../../../../general/res/sass/controls/_controls.scss */ + /* line 432, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker .l-month-year-pager .pager.next:before { content: "\3e"; } - /* line 385, ../../../../general/res/sass/controls/_controls.scss */ + /* line 437, ../../../../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 */ + /* line 443, ../../../../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 */ + /* line 447, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker .l-time-selects { line-height: 22px; } /******************************************************** CALENDAR */ -/* line 403, ../../../../general/res/sass/controls/_controls.scss */ +/* line 397, ../../../../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 407, ../../../../general/res/sass/controls/_controls.scss */ + /* line 459, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row:first-child { margin-top: 0; } - /* line 410, ../../../../general/res/sass/controls/_controls.scss */ + /* line 462, ../../../../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 416, ../../../../general/res/sass/controls/_controls.scss */ + /* line 468, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row li:first-child { margin-left: 0; } - /* line 420, ../../../../general/res/sass/controls/_controls.scss */ + /* line 472, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row.l-header li { color: #b3b3b3; } - /* line 423, ../../../../general/res/sass/controls/_controls.scss */ + /* line 475, ../../../../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; @@ -2105,32 +2463,36 @@ label.checkbox.custom { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; cursor: pointer; } - /* line 426, ../../../../general/res/sass/controls/_controls.scss */ + /* line 478, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row.l-body li.in-month { background-color: #616161; } - /* line 429, ../../../../general/res/sass/controls/_controls.scss */ + /* line 481, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row.l-body li .sub { color: #b3b3b3; font-size: 0.8em; } - /* line 433, ../../../../general/res/sass/controls/_controls.scss */ + /* line 485, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row.l-body li.selected { background: #006080; color: #cccccc; } - /* line 436, ../../../../general/res/sass/controls/_controls.scss */ + /* line 488, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row.l-body li.selected .sub { color: inherit; } - /* line 440, ../../../../general/res/sass/controls/_controls.scss */ + /* line 492, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row.l-body li:hover { background-color: #0099cc; color: #fff; } - /* line 443, ../../../../general/res/sass/controls/_controls.scss */ + /* line 495, ../../../../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 454, ../../../../general/res/sass/controls/_controls.scss */ + /* line 448, ../../../../general/res/sass/controls/_controls.scss */ ::-webkit-scrollbar { -moz-border-radius: 2px; -webkit-border-radius: 2px; @@ -2145,7 +2507,7 @@ label.checkbox.custom { height: 10px; width: 10px; } - /* line 463, ../../../../general/res/sass/controls/_controls.scss */ + /* line 457, ../../../../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%; @@ -2159,7 +2521,7 @@ label.checkbox.custom { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } - /* line 472, ../../../../general/res/sass/controls/_controls.scss */ + /* line 466, ../../../../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%; @@ -2168,7 +2530,7 @@ label.checkbox.custom { background-image: -webkit-linear-gradient(#5e5e5e, #525252 20px); background-image: linear-gradient(#5e5e5e, #525252 20px); } - /* line 477, ../../../../general/res/sass/controls/_controls.scss */ + /* line 471, ../../../../general/res/sass/controls/_controls.scss */ ::-webkit-scrollbar-corner { background: rgba(0, 0, 0, 0.4); } } /***************************************************************************** @@ -2201,7 +2563,7 @@ label.checkbox.custom { margin-bottom: 5px; } /* line 35, ../../../../general/res/sass/controls/_lists.scss */ -.l-tree-item-flat-list .tree-item .label { +.l-tree-item-flat-list .tree-item .t-object-label { left: 5px !important; } /***************************************************************************** @@ -2227,7 +2589,7 @@ label.checkbox.custom { *****************************************************************************/ /******************************************************** MENU BUTTONS */ /* line 31, ../../../../general/res/sass/controls/_menus.scss */ -.s-menu-btn .icon { +.s-menu-btn .icon, .s-menu-btn .t-item-icon { font-size: 120%; } /* line 35, ../../../../general/res/sass/controls/_menus.scss */ .s-menu-btn .title-label { @@ -2242,27 +2604,32 @@ label.checkbox.custom { vertical-align: top; color: rgba(255, 255, 255, 0.2); } /* line 46, ../../../../general/res/sass/controls/_menus.scss */ +.s-menu-btn.create-btn:before { + content: '\2b'; + display: inline; + font-family: symbolsfont; } +/* line 51, ../../../../general/res/sass/controls/_menus.scss */ .s-menu-btn.create-btn .title-label { font-size: 1rem; } -/* line 54, ../../../../general/res/sass/controls/_menus.scss */ +/* line 59, ../../../../general/res/sass/controls/_menus.scss */ .s-menu-btn .menu { left: 0; text-align: left; } - /* line 57, ../../../../general/res/sass/controls/_menus.scss */ - .s-menu-btn .menu .ui-symbol.icon, .s-menu-btn .menu .l-datetime-picker .l-month-year-pager .icon.pager, .l-datetime-picker .l-month-year-pager .s-menu-btn .menu .icon.pager { + /* line 62, ../../../../general/res/sass/controls/_menus.scss */ + .s-menu-btn .menu .ui-symbol.icon, .s-menu-btn .menu .t-item-icon, .s-menu-btn .menu .icon.s-icon-btn, .s-menu-btn .menu .s-icon-btn.t-item-icon, .s-menu-btn .menu .l-datetime-picker .l-month-year-pager .icon.pager, .l-datetime-picker .l-month-year-pager .s-menu-btn .menu .icon.pager, .s-menu-btn .menu .l-datetime-picker .l-month-year-pager .pager.t-item-icon, .l-datetime-picker .l-month-year-pager .s-menu-btn .menu .pager.t-item-icon { width: 12px; } /******************************************************** MENUS THEMSELVES */ -/* line 64, ../../../../general/res/sass/controls/_menus.scss */ +/* line 69, ../../../../general/res/sass/controls/_menus.scss */ .menu-element { cursor: pointer; position: relative; } -/* line 69, ../../../../general/res/sass/controls/_menus.scss */ +/* line 74, ../../../../general/res/sass/controls/_menus.scss */ .s-menu, .menu { - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - border-radius: 2px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; background-color: #6e6e6e; -moz-border-radius: 3px; -webkit-border-radius: 3px; @@ -2284,98 +2651,101 @@ label.checkbox.custom { text-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px; padding: 3px 0; } -/* line 77, ../../../../general/res/sass/controls/_menus.scss */ +/* line 82, ../../../../general/res/sass/controls/_menus.scss */ .menu { display: block; position: absolute; z-index: 10; } - /* line 82, ../../../../general/res/sass/controls/_menus.scss */ + /* line 87, ../../../../general/res/sass/controls/_menus.scss */ .menu ul { margin: 0; padding: 0; } - /* line 329, ../../../../general/res/sass/_mixins.scss */ + /* line 354, ../../../../general/res/sass/_mixins.scss */ .menu ul li { list-style-type: none; margin: 0; padding: 0; } - /* line 84, ../../../../general/res/sass/controls/_menus.scss */ + /* line 89, ../../../../general/res/sass/controls/_menus.scss */ .menu ul li { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; - border-top: 1px solid #a1a1a1; + border-top: 1px solid #878787; color: white; line-height: 1.5rem; padding: 3px 10px 3px 30px; position: relative; white-space: nowrap; } - /* line 92, ../../../../general/res/sass/controls/_menus.scss */ + /* line 97, ../../../../general/res/sass/controls/_menus.scss */ .menu ul li:first-child { border: none; } - /* line 95, ../../../../general/res/sass/controls/_menus.scss */ + /* line 100, ../../../../general/res/sass/controls/_menus.scss */ .menu ul li:hover { background: #878787; color: #fff; } - /* line 98, ../../../../general/res/sass/controls/_menus.scss */ - .menu ul li:hover .icon { + /* line 103, ../../../../general/res/sass/controls/_menus.scss */ + .menu ul li:hover .icon, .menu ul li:hover .t-item-icon { color: #fff; } - /* line 102, ../../../../general/res/sass/controls/_menus.scss */ + /* line 107, ../../../../general/res/sass/controls/_menus.scss */ .menu ul li .type-icon { left: 10px; } -/* line 109, ../../../../general/res/sass/controls/_menus.scss */ +/* line 114, ../../../../general/res/sass/controls/_menus.scss */ .menu, .context-menu, .checkbox-menu, .super-menu { pointer-events: auto; } - /* line 115, ../../../../general/res/sass/controls/_menus.scss */ + /* line 120, ../../../../general/res/sass/controls/_menus.scss */ .menu ul li a, .context-menu ul li a, .checkbox-menu ul li a, .super-menu ul li a { color: white; } - /* line 118, ../../../../general/res/sass/controls/_menus.scss */ - .menu ul li .icon, + /* line 123, ../../../../general/res/sass/controls/_menus.scss */ + .menu ul li .icon, .menu ul li .t-item-icon, .context-menu ul li .icon, .checkbox-menu ul li .icon, - .super-menu ul li .icon { + .context-menu ul li .t-item-icon, + .checkbox-menu ul li .t-item-icon, + .super-menu ul li .icon, + .super-menu ul li .t-item-icon { color: #24c8ff; } - /* line 121, ../../../../general/res/sass/controls/_menus.scss */ + /* line 126, ../../../../general/res/sass/controls/_menus.scss */ .menu ul li .type-icon, .context-menu ul li .type-icon, .checkbox-menu ul li .type-icon, .super-menu ul li .type-icon { left: 5px; } -/* line 133, ../../../../general/res/sass/controls/_menus.scss */ +/* line 138, ../../../../general/res/sass/controls/_menus.scss */ .checkbox-menu ul li { padding-left: 50px; } - /* line 135, ../../../../general/res/sass/controls/_menus.scss */ + /* line 140, ../../../../general/res/sass/controls/_menus.scss */ .checkbox-menu ul li .checkbox { position: absolute; left: 5px; top: 0.53333rem; } - /* line 140, ../../../../general/res/sass/controls/_menus.scss */ + /* line 145, ../../../../general/res/sass/controls/_menus.scss */ .checkbox-menu ul li .checkbox em { height: 0.7rem; width: 0.7rem; } - /* line 143, ../../../../general/res/sass/controls/_menus.scss */ + /* line 148, ../../../../general/res/sass/controls/_menus.scss */ .checkbox-menu ul li .checkbox em:before { font-size: 7px !important; height: 0.7rem; width: 0.7rem; line-height: 0.7rem; } - /* line 151, ../../../../general/res/sass/controls/_menus.scss */ + /* line 156, ../../../../general/res/sass/controls/_menus.scss */ .checkbox-menu ul li .type-icon { left: 25px; } -/* line 157, ../../../../general/res/sass/controls/_menus.scss */ +/* line 162, ../../../../general/res/sass/controls/_menus.scss */ .super-menu { display: block; width: 500px; height: 480px; } - /* line 165, ../../../../general/res/sass/controls/_menus.scss */ + /* line 170, ../../../../general/res/sass/controls/_menus.scss */ .super-menu .contents { overflow: hidden; position: absolute; @@ -2385,12 +2755,12 @@ label.checkbox.custom { left: 5px; width: auto; height: auto; } - /* line 168, ../../../../general/res/sass/controls/_menus.scss */ + /* line 173, ../../../../general/res/sass/controls/_menus.scss */ .super-menu .pane { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } - /* line 170, ../../../../general/res/sass/controls/_menus.scss */ + /* line 175, ../../../../general/res/sass/controls/_menus.scss */ .super-menu .pane.left { border-right: 1px solid #878787; left: 0; @@ -2399,21 +2769,21 @@ label.checkbox.custom { width: 50%; overflow-x: hidden; overflow-y: auto; } - /* line 180, ../../../../general/res/sass/controls/_menus.scss */ + /* line 185, ../../../../general/res/sass/controls/_menus.scss */ .super-menu .pane.left ul li { -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; padding-left: 30px; border-top: none; } - /* line 187, ../../../../general/res/sass/controls/_menus.scss */ + /* line 192, ../../../../general/res/sass/controls/_menus.scss */ .super-menu .pane.right { left: auto; right: 0; padding: 25px; width: 50%; } - /* line 197, ../../../../general/res/sass/controls/_menus.scss */ - .super-menu .menu-item-description .desc-area.icon { + /* line 202, ../../../../general/res/sass/controls/_menus.scss */ + .super-menu .menu-item-description .desc-area.icon, .super-menu .menu-item-description .desc-area.t-item-icon { color: white; position: relative; font-size: 8em; @@ -2422,58 +2792,483 @@ label.checkbox.custom { line-height: 150px; margin-bottom: 25px; text-align: center; } - /* line 208, ../../../../general/res/sass/controls/_menus.scss */ + /* line 213, ../../../../general/res/sass/controls/_menus.scss */ .super-menu .menu-item-description .desc-area.title { color: white; font-size: 1.2em; margin-bottom: 0.5em; } - /* line 213, ../../../../general/res/sass/controls/_menus.scss */ + /* line 218, ../../../../general/res/sass/controls/_menus.scss */ .super-menu .menu-item-description .desc-area.description { color: white; font-size: 0.8em; line-height: 1.5em; } -/* line 222, ../../../../general/res/sass/controls/_menus.scss */ +/* line 227, ../../../../general/res/sass/controls/_menus.scss */ .context-menu, .checkbox-menu { font-size: 0.80rem; } -/* line 226, ../../../../general/res/sass/controls/_menus.scss */ +/* line 231, ../../../../general/res/sass/controls/_menus.scss */ .context-menu-holder, .menu-holder { position: absolute; z-index: 70; } - /* line 230, ../../../../general/res/sass/controls/_menus.scss */ + /* line 235, ../../../../general/res/sass/controls/_menus.scss */ .context-menu-holder .context-menu-wrapper, .menu-holder .context-menu-wrapper { position: absolute; height: 100%; width: 100%; } - /* line 235, ../../../../general/res/sass/controls/_menus.scss */ + /* line 240, ../../../../general/res/sass/controls/_menus.scss */ .context-menu-holder.go-left .context-menu, .context-menu-holder.go-left .checkbox-menu, .context-menu-holder.go-left .menu, .menu-holder.go-left .context-menu, .menu-holder.go-left .checkbox-menu, .menu-holder.go-left .menu { right: 0; } - /* line 239, ../../../../general/res/sass/controls/_menus.scss */ + /* line 244, ../../../../general/res/sass/controls/_menus.scss */ .context-menu-holder.go-up .context-menu, .context-menu-holder.go-up .checkbox-menu, .context-menu-holder.go-up .menu, .menu-holder.go-up .context-menu, .menu-holder.go-up .checkbox-menu, .menu-holder.go-up .menu { bottom: 0; } -/* line 245, ../../../../general/res/sass/controls/_menus.scss */ +/* line 250, ../../../../general/res/sass/controls/_menus.scss */ .context-menu-holder { pointer-events: none; height: 200px; width: 170px; } -/* line 251, ../../../../general/res/sass/controls/_menus.scss */ +/* line 256, ../../../../general/res/sass/controls/_menus.scss */ .btn-bar.right .menu, .menus-to-left .menu { left: auto; right: 0; width: auto; } +/***************************************************************************** + * 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. + *****************************************************************************/ +/* line 39, ../../../../general/res/sass/controls/_messages.scss */ +.status.block { + color: #ccc; + cursor: default; + display: inline-block; + margin-right: 5px; } + /* line 44, ../../../../general/res/sass/controls/_messages.scss */ + .status.block .status-indicator, + .status.block .label, + .status.block .count { + display: inline-block; + vertical-align: top; } + /* line 51, ../../../../general/res/sass/controls/_messages.scss */ + .status.block .status-indicator { + margin-right: 3px; } + /* line 54, ../../../../general/res/sass/controls/_messages.scss */ + .status.block.ok .status-indicator, .status.block.info .status-indicator { + color: #62ba72; } + /* line 58, ../../../../general/res/sass/controls/_messages.scss */ + .status.block.alert .status-indicator, .status.block.warning .status-indicator, .status.block.caution .status-indicator { + color: #ffa66d; } + /* line 63, ../../../../general/res/sass/controls/_messages.scss */ + .status.block.error .status-indicator { + color: #d4585c; } + /* line 66, ../../../../general/res/sass/controls/_messages.scss */ + .status.block .label { + -moz-transition-property: max-width; + -o-transition-property: max-width; + -webkit-transition-property: max-width; + transition-property: max-width; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; + overflow: hidden; + max-width: 0px; } + /* line 72, ../../../../general/res/sass/controls/_messages.scss */ + .status.block .count { + -moz-transition-property: opacity; + -o-transition-property: opacity; + -webkit-transition-property: opacity; + transition-property: opacity; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; + font-weight: bold; + opacity: 1; } + /* line 78, ../../../../general/res/sass/controls/_messages.scss */ + .status.block:hover .label { + max-width: 450px; + width: auto; } + /* line 82, ../../../../general/res/sass/controls/_messages.scss */ + .status.block:hover .count { + opacity: 0; } + +/* Styles for messages and message banners */ +/* line 90, ../../../../general/res/sass/controls/_messages.scss */ +.message.block { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + padding: 10px; } +/* line 94, ../../../../general/res/sass/controls/_messages.scss */ +.message.error { + background-color: rgba(255, 60, 0, 0.3); + color: #ff8a66; } + +/* line 100, ../../../../general/res/sass/controls/_messages.scss */ +.l-message-banner { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + display: -webkit-flex; + display: flex; + -webkit-flex-direction: row; + flex-direction: row; + -webkit-align-items: center; + align-items: center; + position: absolute; + top: 3px; + right: auto; + bottom: 3px; + left: 50%; + height: auto; + width: auto; + line-height: 18px; + max-width: 300px; + padding: 0 5px 0 5px; + -moz-transform: translateX(-50%); + -ms-transform: translateX(-50%); + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + z-index: 10; } + /* line 116, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner.minimized { + -moz-transition-property: left, opacity; + -o-transition-property: left, opacity; + -webkit-transition-property: left, opacity; + transition-property: left, opacity; + -moz-transition-duration: 0.3s; + -o-transition-duration: 0.3s; + -webkit-transition-duration: 0.3s; + transition-duration: 0.3s; + -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; + left: 0; + opacity: 0; } + /* line 124, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner.new { + left: 50%; + opacity: 1; } + /* line 127, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner.new:not(.info) { + -moz-animation-name: pulse; + -webkit-animation-name: pulse; + animation-name: pulse; + -moz-animation-duration: 100ms; + -webkit-animation-duration: 100ms; + animation-duration: 100ms; + -moz-animation-direction: alternate; + -webkit-animation-direction: alternate; + animation-direction: alternate; + -moz-animation-iteration-count: 10; + -webkit-animation-iteration-count: 10; + animation-iteration-count: 10; + -moz-animation-timing-function: ease-in-out; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; } + /* line 132, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner .banner-elem { + -webkit-flex: 0 1 auto; + flex: 0 1 auto; + margin-left: 5px; } + /* line 136, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner a { + display: inline-block; } + /* line 139, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner .l-action { + line-height: 15px; + padding: 0 5px; } + /* line 143, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner .close { + cursor: pointer; + font-size: 7px; + width: 8px; } + /* line 149, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner .l-progress-bar { + height: 8px; + line-height: 8px; + width: 100px; } + /* line 155, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner .progress-info { + display: none; } + +/* line 165, ../../../../general/res/sass/controls/_messages.scss */ +.s-message-banner { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + background-color: gray; + color: #ccc; + cursor: pointer; } + /* line 28, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner:hover { + background-color: #999999; } + /* line 31, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner .s-action { + background-color: #666666; } + /* line 33, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner .s-action:hover { + background-color: gray; } + /* line 169, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner a { + color: inherit; } + /* line 170, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner .s-action { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-transition-property: background-color; + -o-transition-property: background-color; + -webkit-transition-property: background-color; + transition-property: background-color; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; } + /* line 174, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner .close { + opacity: 0.5; } + /* line 176, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner .close:hover { + opacity: 1; } + /* line 180, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.ok, .s-message-banner.info { + background-color: #285b31; + color: #ccc; } + /* line 28, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.ok:hover, .s-message-banner.info:hover { + background-color: #387e44; } + /* line 31, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.ok .s-action, .s-message-banner.info .s-action { + background-color: #18381e; } + /* line 33, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.ok .s-action:hover, .s-message-banner.info .s-action:hover { + background-color: #285b31; } + /* line 184, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.caution, .s-message-banner.warning, .s-message-banner.alert { + background-color: #d35200; + color: #ccc; } + /* line 28, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.caution:hover, .s-message-banner.warning:hover, .s-message-banner.alert:hover { + background-color: #ff6807; } + /* line 31, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.caution .s-action, .s-message-banner.warning .s-action, .s-message-banner.alert .s-action { + background-color: #a03e00; } + /* line 33, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.caution .s-action:hover, .s-message-banner.warning .s-action:hover, .s-message-banner.alert .s-action:hover { + background-color: #d35200; } + /* line 189, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.error { + background-color: #751e21; + color: #ccc; } + /* line 28, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.error:hover { + background-color: #9d292c; } + /* line 31, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.error .s-action { + background-color: #4c1415; } + /* line 33, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.error .s-action:hover { + background-color: #751e21; } + +/* Paths: + t-dialog | t-dialog-sm > t-message-single | t-message-list > overlay > holder > contents > l-message > + message-type > (icon) + message-contents > + top-bar > + title + hint + editor > + (if displaying list of messages) + ul > li > l-message > + ... same as above + bottom-bar +*/ +/* line 231, ../../../../general/res/sass/controls/_messages.scss */ +.l-message { + display: -webkit-flex; + display: flex; + -webkit-flex-direction: row; + flex-direction: row; + -webkit-align-items: stretch; + align-items: stretch; } + /* line 235, ../../../../general/res/sass/controls/_messages.scss */ + .l-message .type-icon.message-type { + -webkit-flex: 0 1 auto; + flex: 0 1 auto; + position: relative; } + /* line 240, ../../../../general/res/sass/controls/_messages.scss */ + .l-message .message-contents { + -webkit-flex: 1 1 auto; + flex: 1 1 auto; + margin-left: 25px; + position: relative; } + /* line 246, ../../../../general/res/sass/controls/_messages.scss */ + .l-message .message-contents .top-bar, + .l-message .message-contents .message-body { + margin-bottom: 20px; } + +/* line 195, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-single .type-icon.message-type { + text-shadow: rgba(0, 0, 0, 0.4) 0 1px 2px; + color: #ccc; + font-size: 80px; + padding: 1px; + width: 82px; } + /* line 197, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-single .type-icon.message-type:before { + content: "\e608"; } +/* line 204, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-single .message-severity-info .type-icon.message-type { + color: #62ba72; } + /* line 205, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-single .message-severity-info .type-icon.message-type:before { + content: "\e608"; } +/* line 208, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-single .message-severity-alert .type-icon.message-type { + color: #ffa66d; } + /* line 209, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-single .message-severity-alert .type-icon.message-type:before { + content: "\e610"; } +/* line 212, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-single .message-severity-error .type-icon.message-type { + color: #d4585c; } + /* line 213, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-single .message-severity-error .type-icon.message-type:before { + content: "\21"; } +@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 259, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-single .l-message, + .t-message-single .bottom-bar { + overflow: hidden; + position: absolute; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + width: auto; + height: auto; } + /* line 264, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-single .bottom-bar { + top: auto; + height: 24px; } } + +/* line 195, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-list .type-icon.message-type { + text-shadow: rgba(0, 0, 0, 0.4) 0 1px 2px; + color: #ccc; + font-size: 32px; + padding: 1px; + width: 34px; } + /* line 197, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .type-icon.message-type:before { + content: "\e608"; } +/* line 204, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-list .message-severity-info .type-icon.message-type { + color: #62ba72; } + /* line 205, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-severity-info .type-icon.message-type:before { + content: "\e608"; } +/* line 208, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-list .message-severity-alert .type-icon.message-type { + color: #ffa66d; } + /* line 209, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-severity-alert .type-icon.message-type:before { + content: "\e610"; } +/* line 212, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-list .message-severity-error .type-icon.message-type { + color: #d4585c; } + /* line 213, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-severity-error .type-icon.message-type:before { + content: "\21"; } +/* line 276, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-list .message-contents .l-message { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + background: rgba(230, 230, 230, 0.1); + margin-bottom: 5px; + padding: 10px; } + /* line 283, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-contents .l-message .message-contents, + .t-message-list .message-contents .l-message .bottom-bar { + position: relative; } + /* line 289, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-contents .l-message .message-contents { + font-size: 0.9em; + margin-left: 10px; } + /* line 292, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-contents .l-message .message-contents .message-action { + color: #b3b3b3; } + /* line 293, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-contents .l-message .message-contents .bottom-bar { + text-align: left; } + /* line 296, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-contents .l-message .top-bar, + .t-message-list .message-contents .l-message .message-body { + margin-bottom: 10px; } +@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 304, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-contents .l-message { + margin-right: 10px; } } + /* line 13, ../../../../general/res/sass/controls/_time-controller.scss */ mct-include.l-time-controller { overflow: hidden; @@ -2537,10 +3332,15 @@ mct-include.l-time-controller { mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .lbl { color: #666666; } /* line 69, ../../../../general/res/sass/controls/_time-controller.scss */ - mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .ui-symbol.icon, mct-include.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 mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .icon.pager, + mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .ui-symbol.icon, mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .t-item-icon, mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .icon.s-icon-btn, mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .s-icon-btn.t-item-icon, mct-include.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 mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .icon.pager, mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .l-datetime-picker .l-month-year-pager .pager.t-item-icon, .l-datetime-picker .l-month-year-pager mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .pager.t-item-icon, mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .ui-symbol.icon, + mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .t-item-icon, + mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .icon.s-icon-btn, + mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .s-icon-btn.t-item-icon, mct-include.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 mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .icon.pager { + .l-datetime-picker .l-month-year-pager mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .icon.pager, + mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .l-datetime-picker .l-month-year-pager .pager.t-item-icon, + .l-datetime-picker .l-month-year-pager mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .pager.t-item-icon { font-size: 11px; width: 11px; } /* line 76, ../../../../general/res/sass/controls/_time-controller.scss */ @@ -2646,10 +3446,10 @@ mct-include.l-time-controller { z-index: 2; } /* line 161, ../../../../general/res/sass/controls/_time-controller.scss */ mct-include.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-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 0.25s; -o-transition-duration: 0.25s; -webkit-transition-duration: 0.25s; @@ -2658,6 +3458,10 @@ mct-include.l-time-controller { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; padding: 0 10px; position: absolute; height: 20px; @@ -2749,9 +3553,9 @@ mct-include.l-time-controller { *****************************************************************************/ /* line 22, ../../../../general/res/sass/forms/_elems.scss */ .section-header { - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - border-radius: 2px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; background: rgba(0, 0, 0, 0.2); color: #cccccc; font-size: 0.8em; @@ -2845,7 +3649,7 @@ mct-include.l-time-controller { padding: 0 3px; position: relative; height: 150px; } - /* line 296, ../../../../general/res/sass/_mixins.scss */ + /* line 321, ../../../../general/res/sass/_mixins.scss */ .form .form-row .selector-list.error { background: rgba(255, 0, 0, 0.5); } /* line 124, ../../../../general/res/sass/forms/_elems.scss */ @@ -2876,9 +3680,9 @@ label.form-control.checkbox input { vertical-align: top; } /* line 156, ../../../../general/res/sass/forms/_elems.scss */ .l-result div.s-hint { - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - border-radius: 2px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; background: rgba(255, 51, 0, 0.8); display: block; color: #ffad99; @@ -2902,7 +3706,7 @@ input[type="text"] { color: #cccccc; outline: none; padding: 0 3px; } - /* line 296, ../../../../general/res/sass/_mixins.scss */ + /* line 321, ../../../../general/res/sass/_mixins.scss */ input[type="text"].error { background: rgba(255, 0, 0, 0.5); } /* line 172, ../../../../general/res/sass/forms/_elems.scss */ @@ -2930,7 +3734,7 @@ textarea { position: absolute; height: 100%; width: 100%; } - /* line 296, ../../../../general/res/sass/_mixins.scss */ + /* line 321, ../../../../general/res/sass/_mixins.scss */ textarea.error { background: rgba(255, 0, 0, 0.5); } @@ -2989,15 +3793,15 @@ textarea { overflow: hidden; position: relative; line-height: 22px; } - /* line 272, ../../../../general/res/sass/_mixins.scss */ - .select .icon { + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .select .icon, .select .t-item-icon { color: #0099cc; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 277, ../../../../general/res/sass/_mixins.scss */ + /* line 302, ../../../../general/res/sass/_mixins.scss */ .select:not(.disabled):hover { background: linear-gradient(#6b6b6b, #5e5e5e); } - /* line 279, ../../../../general/res/sass/_mixins.scss */ - .select:not(.disabled):hover > .icon { + /* line 304, ../../../../general/res/sass/_mixins.scss */ + .select:not(.disabled):hover > .icon, .select:not(.disabled):hover > .t-item-icon { color: #33ccff; } } /* line 31, ../../../../general/res/sass/forms/_selects.scss */ .select select { @@ -3078,7 +3882,7 @@ textarea { max-height: 400px; overflow: auto; padding: 5px; } - /* line 296, ../../../../general/res/sass/_mixins.scss */ + /* line 321, ../../../../general/res/sass/_mixins.scss */ .channel-selector .treeview.error { background: rgba(255, 0, 0, 0.5); } /* line 36, ../../../../general/res/sass/forms/_channel-selector.scss */ @@ -3114,15 +3918,15 @@ textarea { /* line 29, ../../../../general/res/sass/forms/_datetime.scss */ .complex.datetime { /* - .field-hints, - .fields { - } - - - .field-hints { - - } - */ } + .field-hints, + .fields { + } + + + .field-hints { + + } + */ } /* line 30, ../../../../general/res/sass/forms/_datetime.scss */ .complex.datetime span { display: inline-block; @@ -3244,7 +4048,7 @@ span.req { padding: 0 3px; background: #3b3b3b; border-bottom: 1px solid #4d4d4d; } - /* line 296, ../../../../general/res/sass/_mixins.scss */ + /* line 321, ../../../../general/res/sass/_mixins.scss */ .filter input.filter.error, .filter input.t-filter-input.error, .t-filter input.filter.error, @@ -3260,10 +4064,15 @@ span.req { .t-filter input.t-filter-input:not(.ng-dirty) + .t-a-clear { display: none; } /* line 42, ../../../../general/res/sass/forms/_filter.scss */ -.filter .icon.ui-symbol, .filter .l-datetime-picker .l-month-year-pager .icon.pager, .l-datetime-picker .l-month-year-pager .filter .icon.pager, +.filter .icon.ui-symbol, .filter .t-item-icon, .filter .icon.s-icon-btn, .filter .s-icon-btn.t-item-icon, .filter .l-datetime-picker .l-month-year-pager .icon.pager, .l-datetime-picker .l-month-year-pager .filter .icon.pager, .filter .l-datetime-picker .l-month-year-pager .pager.t-item-icon, .l-datetime-picker .l-month-year-pager .filter .pager.t-item-icon, .t-filter .icon.ui-symbol, +.t-filter .t-item-icon, +.t-filter .icon.s-icon-btn, +.t-filter .s-icon-btn.t-item-icon, .t-filter .l-datetime-picker .l-month-year-pager .icon.pager, -.l-datetime-picker .l-month-year-pager .t-filter .icon.pager { +.l-datetime-picker .l-month-year-pager .t-filter .icon.pager, +.t-filter .l-datetime-picker .l-month-year-pager .pager.t-item-icon, +.l-datetime-picker .l-month-year-pager .t-filter .pager.t-item-icon { -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; @@ -3274,14 +4083,21 @@ span.req { padding: 0px 5px; vertical-align: middle; } /* line 50, ../../../../general/res/sass/forms/_filter.scss */ - .filter .icon.ui-symbol:hover, .filter .l-datetime-picker .l-month-year-pager .icon.pager:hover, .l-datetime-picker .l-month-year-pager .filter .icon.pager:hover, + .filter .icon.ui-symbol:hover, .filter .t-item-icon:hover, .filter .icon.s-icon-btn:hover, .filter .s-icon-btn.t-item-icon:hover, .filter .l-datetime-picker .l-month-year-pager .icon.pager:hover, .l-datetime-picker .l-month-year-pager .filter .icon.pager:hover, .filter .l-datetime-picker .l-month-year-pager .pager.t-item-icon:hover, .l-datetime-picker .l-month-year-pager .filter .pager.t-item-icon:hover, .t-filter .icon.ui-symbol:hover, + .t-filter .t-item-icon:hover, + .t-filter .icon.s-icon-btn:hover, + .t-filter .s-icon-btn.t-item-icon:hover, .t-filter .l-datetime-picker .l-month-year-pager .icon.pager:hover, - .l-datetime-picker .l-month-year-pager .t-filter .icon.pager:hover { + .l-datetime-picker .l-month-year-pager .t-filter .icon.pager:hover, + .t-filter .l-datetime-picker .l-month-year-pager .pager.t-item-icon:hover, + .l-datetime-picker .l-month-year-pager .t-filter .pager.t-item-icon:hover { background: rgba(255, 255, 255, 0.1); } /* line 54, ../../../../general/res/sass/forms/_filter.scss */ -.filter .s-a-clear.ui-symbol, .filter .l-datetime-picker .l-month-year-pager .s-a-clear.pager, .l-datetime-picker .l-month-year-pager .filter .s-a-clear.pager, +.filter .s-a-clear.ui-symbol, .filter .s-a-clear.t-item-icon, .filter .s-a-clear.s-icon-btn, .filter .l-datetime-picker .l-month-year-pager .s-a-clear.pager, .l-datetime-picker .l-month-year-pager .filter .s-a-clear.pager, .t-filter .s-a-clear.ui-symbol, +.t-filter .s-a-clear.t-item-icon, +.t-filter .s-a-clear.s-icon-btn, .t-filter .l-datetime-picker .l-month-year-pager .s-a-clear.pager, .l-datetime-picker .l-month-year-pager .t-filter .s-a-clear.pager { -moz-border-radius: 3px; @@ -3307,8 +4123,10 @@ span.req { text-align: center; z-index: 5; } /* line 74, ../../../../general/res/sass/forms/_filter.scss */ - .filter .s-a-clear.ui-symbol:hover, .filter .l-datetime-picker .l-month-year-pager .s-a-clear.pager:hover, .l-datetime-picker .l-month-year-pager .filter .s-a-clear.pager:hover, + .filter .s-a-clear.ui-symbol:hover, .filter .s-a-clear.t-item-icon:hover, .filter .s-a-clear.s-icon-btn:hover, .filter .l-datetime-picker .l-month-year-pager .s-a-clear.pager:hover, .l-datetime-picker .l-month-year-pager .filter .s-a-clear.pager:hover, .t-filter .s-a-clear.ui-symbol:hover, + .t-filter .s-a-clear.t-item-icon:hover, + .t-filter .s-a-clear.s-icon-btn:hover, .t-filter .l-datetime-picker .l-month-year-pager .s-a-clear.pager:hover, .l-datetime-picker .l-month-year-pager .t-filter .s-a-clear.pager:hover { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); @@ -3355,13 +4173,13 @@ span.req { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* line 32, ../../../../general/res/sass/user-environ/_layout.scss */ -.holder-all { - top: 0; - right: 0; - bottom: 0; - left: 0; } - +/*.holder-all { + $myM: 0; // $interiorMarginSm; + top: $myM; + right: $myM; + bottom: $myM; + left: $myM; +}*/ /* line 40, ../../../../general/res/sass/user-environ/_layout.scss */ .browse-area, .edit-area, @@ -3370,9 +4188,9 @@ span.req { /* line 46, ../../../../general/res/sass/user-environ/_layout.scss */ .editor { - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; } + -moz-border-radius: 4.5px; + -webkit-border-radius: 4.5px; + border-radius: 4.5px; } /* line 50, ../../../../general/res/sass/user-environ/_layout.scss */ .contents { @@ -3389,26 +4207,28 @@ span.req { left: 0px; } /* line 67, ../../../../general/res/sass/user-environ/_layout.scss */ -.bar .icon.major { +.bar .icon.major, .bar .major.t-item-icon { margin-right: 5px; } /* line 70, ../../../../general/res/sass/user-environ/_layout.scss */ -.bar.abs, .l-datetime-picker .l-month-year-pager .bar.pager, +.bar.abs, .bar.l-inspect, .l-datetime-picker .l-month-year-pager .bar.pager, .l-datetime-picker .l-month-year-pager .bar.val, .s-menu-btn span.bar.l-click-area { text-wrap: none; white-space: nowrap; } /* line 73, ../../../../general/res/sass/user-environ/_layout.scss */ - .bar.abs.left, .l-datetime-picker .l-month-year-pager .bar.left.pager, + .bar.abs.left, .bar.left.l-inspect, .l-datetime-picker .l-month-year-pager .bar.left.pager, .l-datetime-picker .l-month-year-pager .bar.left.val, .s-menu-btn span.bar.left.l-click-area, .bar.abs .left, + .bar.l-inspect .left, .l-datetime-picker .l-month-year-pager .bar.pager .left, .l-datetime-picker .l-month-year-pager .bar.val .left, .s-menu-btn span.bar.l-click-area .left { width: 45%; right: auto; } /* line 78, ../../../../general/res/sass/user-environ/_layout.scss */ - .bar.abs.right, .l-datetime-picker .l-month-year-pager .bar.right.pager, + .bar.abs.right, .bar.right.l-inspect, .l-datetime-picker .l-month-year-pager .bar.right.pager, .l-datetime-picker .l-month-year-pager .bar.right.val, .s-menu-btn span.bar.right.l-click-area, .bar.abs .right, + .bar.l-inspect .right, .l-datetime-picker .l-month-year-pager .bar.pager .right, .l-datetime-picker .l-month-year-pager .bar.val .right, .s-menu-btn span.bar.l-click-area .right { @@ -3416,22 +4236,31 @@ span.req { left: auto; text-align: right; } /* line 83, ../../../../general/res/sass/user-environ/_layout.scss */ - .bar.abs.right .icon.major, .l-datetime-picker .l-month-year-pager .bar.right.pager .icon.major, - .l-datetime-picker .l-month-year-pager .bar.right.val .icon.major, .s-menu-btn span.bar.right.l-click-area .icon.major, + .bar.abs.right .icon.major, .bar.right.l-inspect .icon.major, .l-datetime-picker .l-month-year-pager .bar.right.pager .icon.major, + .l-datetime-picker .l-month-year-pager .bar.right.val .icon.major, .s-menu-btn span.bar.right.l-click-area .icon.major, .bar.abs.right .major.t-item-icon, .bar.right.l-inspect .major.t-item-icon, .l-datetime-picker .l-month-year-pager .bar.right.pager .major.t-item-icon, + .l-datetime-picker .l-month-year-pager .bar.right.val .major.t-item-icon, .s-menu-btn span.bar.right.l-click-area .major.t-item-icon, .bar.abs .right .icon.major, + .bar.l-inspect .right .icon.major, .l-datetime-picker .l-month-year-pager .bar.pager .right .icon.major, .l-datetime-picker .l-month-year-pager .bar.val .right .icon.major, - .s-menu-btn span.bar.l-click-area .right .icon.major { + .s-menu-btn span.bar.l-click-area .right .icon.major, + .bar.abs .right .major.t-item-icon, + .bar.l-inspect .right .major.t-item-icon, + .l-datetime-picker .l-month-year-pager .bar.pager .right .major.t-item-icon, + .l-datetime-picker .l-month-year-pager .bar.val .right .major.t-item-icon, + .s-menu-btn span.bar.l-click-area .right .major.t-item-icon { margin-left: 15px; } /* line 89, ../../../../general/res/sass/user-environ/_layout.scss */ - .bar.abs .l-flex .left, .l-datetime-picker .l-month-year-pager .bar.pager .l-flex .left, + .bar.abs .l-flex .left, .bar.l-inspect .l-flex .left, .l-datetime-picker .l-month-year-pager .bar.pager .l-flex .left, .l-datetime-picker .l-month-year-pager .bar.val .l-flex .left, .s-menu-btn span.bar.l-click-area .l-flex .left, .bar.abs .l-flex .right, + .bar.l-inspect .l-flex .right, .l-datetime-picker .l-month-year-pager .bar.pager .l-flex .right, .l-datetime-picker .l-month-year-pager .bar.val .l-flex .right, - .s-menu-btn span.bar.l-click-area .l-flex .right, .bar.abs.l-flex .left, .l-datetime-picker .l-month-year-pager .bar.l-flex.pager .left, + .s-menu-btn span.bar.l-click-area .l-flex .right, .bar.abs.l-flex .left, .bar.l-flex.l-inspect .left, .l-datetime-picker .l-month-year-pager .bar.l-flex.pager .left, .l-datetime-picker .l-month-year-pager .bar.l-flex.val .left, .s-menu-btn span.bar.l-flex.l-click-area .left, .bar.abs.l-flex .right, + .bar.l-flex.l-inspect .right, .l-datetime-picker .l-month-year-pager .bar.l-flex.pager .right, .l-datetime-picker .l-month-year-pager .bar.l-flex.val .right, .s-menu-btn span.bar.l-flex.l-click-area .right { @@ -3439,29 +4268,32 @@ span.req { /* line 98, ../../../../general/res/sass/user-environ/_layout.scss */ .user-environ .browse-area, -.user-environ .edit-area, .user-environ .editor { - top: 39px; - right: 10px; - bottom: 35px; - left: 10px; } -/* line 109, ../../../../general/res/sass/user-environ/_layout.scss */ + top: 0; + left: 0; + right: 0; + bottom: 25px; } +/* line 105, ../../../../general/res/sass/user-environ/_layout.scss */ .user-environ .browse-area > .contents, .user-environ .edit-area > .contents { left: 0; right: 0; } -/* line 115, ../../../../general/res/sass/user-environ/_layout.scss */ +/* line 111, ../../../../general/res/sass/user-environ/_layout.scss */ .user-environ .edit-area { - top: 45px; } - /* line 118, ../../../../general/res/sass/user-environ/_layout.scss */ + top: 45px; + left: 10px; + right: 10px; + bottom: 35px; } + /* line 117, ../../../../general/res/sass/user-environ/_layout.scss */ .user-environ .edit-area .tool-bar { bottom: auto; height: 30px; line-height: 25px; } - /* line 123, ../../../../general/res/sass/user-environ/_layout.scss */ - .user-environ .edit-area .work-area { - top: 40px; } -/* line 128, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 122, ../../../../general/res/sass/user-environ/_layout.scss */ + .user-environ .edit-area .object-holder.work-area { + top: 40px; + overflow: auto; } +/* line 129, ../../../../general/res/sass/user-environ/_layout.scss */ .user-environ .ue-bottom-bar { overflow: hidden; position: absolute; @@ -3472,21 +4304,56 @@ span.req { width: auto; height: auto; top: auto; - height: 25px; } - /* line 133, ../../../../general/res/sass/user-environ/_layout.scss */ + height: 25px; + line-height: 15px; + background: #000; + color: gray; + font-size: .7rem; } + /* line 138, ../../../../general/res/sass/user-environ/_layout.scss */ .user-environ .ue-bottom-bar .status-holder { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + position: absolute; + top: 5px; + right: 5px; + bottom: 5px; + left: 5px; + width: auto; + height: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + right: 120px; + text-transform: uppercase; z-index: 1; } - /* line 137, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 147, ../../../../general/res/sass/user-environ/_layout.scss */ .user-environ .ue-bottom-bar .app-logo { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + position: absolute; + top: 5px; + right: 5px; + bottom: 5px; + left: 5px; + width: auto; + height: auto; + cursor: pointer; left: auto; width: 105px; z-index: 2; } + /* line 154, ../../../../general/res/sass/user-environ/_layout.scss */ + .user-environ .ue-bottom-bar .app-logo.logo-openmctweb { + background: url("../../../../general/res/images/logo-openmctweb.svg") no-repeat center center; } -/* line 145, ../../../../general/res/sass/user-environ/_layout.scss */ +/* line 161, ../../../../general/res/sass/user-environ/_layout.scss */ .cols { overflow: hidden; *zoom: 1; } - /* line 147, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 163, ../../../../general/res/sass/user-environ/_layout.scss */ .cols .col { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; @@ -3497,85 +4364,156 @@ span.req { margin-left: 1.5%; padding-left: 5px; position: relative; } - /* line 155, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 171, ../../../../general/res/sass/user-environ/_layout.scss */ .cols .col:first-child { margin-left: 0; padding-left: 0; } - /* line 162, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 178, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-2 .col-1 { min-width: 250px; width: 48.5%; } - /* line 168, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 184, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-2-ff .col-100px { width: 100px; } - /* line 175, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 191, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-6 .col-1 { min-width: 83.33333px; width: 15.16667%; } - /* line 181, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 197, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-16 .col-1 { min-width: 31.25px; width: 4.75%; } - /* line 184, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 200, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-16 .col-2 { min-width: 62.5px; width: 11%; } - /* line 187, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 203, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-16 .col-7 { min-width: 218.75px; width: 42.25%; } - /* line 193, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 209, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-32 .col-2 { min-width: 31.25px; width: 4.75%; } - /* line 196, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 212, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-32 .col-15 { min-width: 234.375px; width: 45.375%; } - /* line 200, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 216, ../../../../general/res/sass/user-environ/_layout.scss */ .cols .l-row { overflow: hidden; *zoom: 1; padding: 5px 0; } -/* line 208, ../../../../general/res/sass/user-environ/_layout.scss */ -.browse-mode .split-layout .split-pane-component.pane.left { +/* line 226, ../../../../general/res/sass/user-environ/_layout.scss */ +.browse-mode .split-layout .split-pane-component.pane.treeview.left { min-width: 150px; max-width: 800px; width: 25%; } +/* line 231, ../../../../general/res/sass/user-environ/_layout.scss */ +.browse-mode .split-layout .split-pane-component.pane.t-inspect.right { + min-width: 200px; + max-width: 600px; + width: 20%; } -/* line 218, ../../../../general/res/sass/user-environ/_layout.scss */ +/* line 243, ../../../../general/res/sass/user-environ/_layout.scss */ .edit-mode .split-layout .split-pane-component.pane.right { width: 15%; } - /* line 220, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 245, ../../../../general/res/sass/user-environ/_layout.scss */ .edit-mode .split-layout .split-pane-component.pane.right .pane.bottom { min-height: 50px; height: 30%; } -/* line 228, ../../../../general/res/sass/user-environ/_layout.scss */ +/* line 253, ../../../../general/res/sass/user-environ/_layout.scss */ .pane { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; position: absolute; } - /* line 231, ../../../../general/res/sass/user-environ/_layout.scss */ - .pane.treeview.left .create-btn-holder { - bottom: auto; - top: 0; - height: 24px; } - /* line 235, ../../../../general/res/sass/user-environ/_layout.scss */ - .pane.treeview.left .create-btn-holder .wrapper.menu-element { - position: absolute; - bottom: 5px; } - /* line 240, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 257, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .pane-header { + text-transform: uppercase; + height: 24px; + line-height: 24px; + margin-bottom: 5px; } + /* line 264, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .primary-pane { + z-index: 2; } + /* line 282, ../../../../general/res/sass/user-environ/_layout.scss */ .pane.treeview.left .search-holder { top: 34px; } - /* line 243, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 285, ../../../../general/res/sass/user-environ/_layout.scss */ .pane.treeview.left .tree-holder { overflow: auto; top: 64px; } - /* 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, + /* line 291, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane { + z-index: 5; } + @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 291, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane { + top: 10px; + height: 24px; + line-height: 24px; } + /* line 300, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane:after { + opacity: 0; } + /* line 305, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.collapsed:before { + opacity: 0; } + /* line 308, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.collapsed:after { + opacity: 1; } + /* line 312, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.toggle-tree.anchor-left { + left: 0; + -moz-transform: translateX(-34px); + -ms-transform: translateX(-34px); + -webkit-transform: translateX(-34px); + transform: translateX(-34px); } + /* line 315, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.toggle-tree.anchor-left:after { + content: '\6d'; } + /* line 318, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.toggle-tree.anchor-left.collapsed { + left: 0; + -moz-transform: translateX(-15px); + -ms-transform: translateX(-15px); + -webkit-transform: translateX(-15px); + transform: translateX(-15px); } + /* line 322, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.toggle-tree.anchor-left:not(.collapsed):before { + -moz-transition-property: opacity; + -o-transition-property: opacity; + -webkit-transition-property: opacity; + transition-property: opacity; + -moz-transition-duration: 200ms; + -o-transition-duration: 200ms; + -webkit-transition-duration: 200ms; + transition-duration: 200ms; + -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; + -moz-transition-delay: 200ms; + -o-transition-delay: 200ms; + -webkit-transition-delay: 200ms; + transition-delay: 200ms; } + /* line 326, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.toggle-inspect.anchor-right { + right: 10px; } + /* line 328, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.toggle-inspect.anchor-right:after { + content: '\e615'; } + /* line 331, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.toggle-inspect.anchor-right.collapsed { + right: 5px; } } + /* line 340, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane.items .object-browse-bar .left.abs, .pane.items .object-browse-bar .left.l-inspect, .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, .pane.items .object-browse-bar .right.abs, + .pane.items .object-browse-bar .right.l-inspect, .pane.items .object-browse-bar .l-datetime-picker .l-month-year-pager .right.pager, .l-datetime-picker .l-month-year-pager .pane.items .object-browse-bar .right.pager, .pane.items .object-browse-bar .l-datetime-picker .l-month-year-pager .right.val, @@ -3584,45 +4522,66 @@ span.req { .s-menu-btn .pane.items .object-browse-bar span.right.l-click-area { top: auto; } -/* line 261, ../../../../general/res/sass/user-environ/_layout.scss */ -.split-layout.horizontal > .pane { - margin-top: 5px; } - /* line 264, ../../../../general/res/sass/user-environ/_layout.scss */ - .split-layout.horizontal > .pane:first-child { - margin-top: 0; } -/* line 271, ../../../../general/res/sass/user-environ/_layout.scss */ -.split-layout.vertical > .pane { - margin-left: 5px; } - /* line 274, ../../../../general/res/sass/user-environ/_layout.scss */ - .split-layout.vertical > .pane > .holder { - left: 0; - right: 0; } - /* line 278, ../../../../general/res/sass/user-environ/_layout.scss */ - .split-layout.vertical > .pane:first-child { - margin-left: 0; } - /* line 280, ../../../../general/res/sass/user-environ/_layout.scss */ - .split-layout.vertical > .pane:first-child .holder { - right: 3px; } - -/* 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; +/* line 348, ../../../../general/res/sass/user-environ/_layout.scss */ +.split-layout { + /* &.vertical { + // Slides left and right + > .pane.left { + > .holder { + left: $bodyMargin; + } + } + > .pane.right { + > .holder { + right: $bodyMargin; + } + } + }*/ } + /* line 351, ../../../../general/res/sass/user-environ/_layout.scss */ + .split-layout.horizontal > .pane { + margin-top: 5px; } + /* line 354, ../../../../general/res/sass/user-environ/_layout.scss */ + .split-layout.horizontal > .pane:first-child { + margin-top: 0; } + /* line 374, ../../../../general/res/sass/user-environ/_layout.scss */ + .split-layout .holder.holder-create-and-search { + top: 10px; + right: 0; + bottom: 10px; + left: 10px; } + /* line 381, ../../../../general/res/sass/user-environ/_layout.scss */ + .split-layout .holder.holder-object-and-inspector { top: 0; right: 0; bottom: 0; - left: 0; - width: auto; - height: auto; } - /* line 296, ../../../../general/res/sass/user-environ/_layout.scss */ + left: 0; } + /* line 386, ../../../../general/res/sass/user-environ/_layout.scss */ + .split-layout .holder.holder-object-and-inspector .holder-object { + top: 10px; + bottom: 10px; } + /* line 390, ../../../../general/res/sass/user-environ/_layout.scss */ + .split-layout .holder.holder-object-and-inspector .holder-inspector-elements { + top: 10px; + bottom: 10px; + left: 10px; + right: 10px; } + +/* line 400, ../../../../general/res/sass/user-environ/_layout.scss */ +.object-holder { + overflow: auto; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: auto; + height: auto; + top: 34px; } + /* line 293, ../../../../general/res/sass/user-environ/_layout.scss */ .object-holder.l-controls-visible.l-time-controller-visible { bottom: 88px; } -/* line 302, ../../../../general/res/sass/user-environ/_layout.scss */ +/* line 299, ../../../../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, @@ -3634,12 +4593,12 @@ span.req { line-height: 25px; vertical-align: top; } -/* line 315, ../../../../general/res/sass/user-environ/_layout.scss */ +/* line 426, ../../../../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 431, ../../../../general/res/sass/user-environ/_layout.scss */ .object-browse-bar { overflow: visible; position: absolute; @@ -3655,27 +4614,150 @@ span.req { height: 24px; line-height: 24px; white-space: nowrap; } - /* line 328, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 439, ../../../../general/res/sass/user-environ/_layout.scss */ .object-browse-bar .left { padding-right: 20px; } - /* line 330, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 441, ../../../../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 449, ../../../../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 452, ../../../../general/res/sass/user-environ/_layout.scss */ .l-flex .left { flex: 1 1 0; -webkit-flex: 1 1 0; padding-right: 10px; } +/* line 462, ../../../../general/res/sass/user-environ/_layout.scss */ +.pane-tree-hidden { + /*.holder-create-and-search { + @include trans-prop-nice((top, left), 250ms); + top: $ueTopBarH + $interiorMargin; + left: -1 * $bodyMargin !important; + .create-btn { + @include border-left-radius(0); + @include trans-prop-nice((width), 250ms); + width: $uePaneMiniTabW !important; + text-align: center !important; + padding: 0; + .title-label, + &:after { + display: none; + } + &:before { + font-size: 9px; + } + } + }*/ } + /* line 465, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane-tree-hidden .tree-holder, + .pane-tree-hidden .splitter-treeview, + .pane-tree-hidden .holder-create-and-search { + opacity: 0; } + +/* line 494, ../../../../general/res/sass/user-environ/_layout.scss */ +.pane-tree-showing .tree-holder, +.pane-tree-showing .splitter-treeview { + -moz-transition-property: opacity; + -o-transition-property: opacity; + -webkit-transition-property: opacity; + transition-property: opacity; + -moz-transition-duration: 250ms; + -o-transition-duration: 250ms; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -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; + -moz-transition-delay: 250ms; + -o-transition-delay: 250ms; + -webkit-transition-delay: 250ms; + transition-delay: 250ms; + opacity: 1; } +/* line 500, ../../../../general/res/sass/user-environ/_layout.scss */ +.pane-tree-showing .holder-create-and-search { + -moz-transition-property: opacity; + -o-transition-property: opacity; + -webkit-transition-property: opacity; + transition-property: opacity; + -moz-transition-duration: 250ms; + -o-transition-duration: 250ms; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -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; + -moz-transition-delay: 200ms; + -o-transition-delay: 200ms; + -webkit-transition-delay: 200ms; + transition-delay: 200ms; } + +/* line 507, ../../../../general/res/sass/user-environ/_layout.scss */ +.pane-inspect-showing .l-object-and-inspector .l-inspect, +.pane-inspect-showing .l-object-and-inspector .splitter-inspect { + -moz-transition-property: opacity; + -o-transition-property: opacity; + -webkit-transition-property: opacity; + transition-property: opacity; + -moz-transition-duration: 250ms; + -o-transition-duration: 250ms; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -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; + -moz-transition-delay: 250ms; + -o-transition-delay: 250ms; + -webkit-transition-delay: 250ms; + transition-delay: 250ms; + opacity: 1; } + +/* line 516, ../../../../general/res/sass/user-environ/_layout.scss */ +.pane-inspect-hidden .l-object-and-inspector .l-inspect, +.pane-inspect-hidden .l-object-and-inspector .splitter-inspect { + opacity: 0; } + +@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 524, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane.treeview.left .tree-holder { + padding-right: 5px; } + + /* line 528, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane-tree-hidden .pane.right.primary-pane { + left: 20px !important; } + + /* line 531, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane-inspect-hidden .l-object-and-inspector .pane.left { + right: 20px !important; } + + /* line 534, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane:not(.resizing) { + -moz-transition-property: width, left, right; + -o-transition-property: width, left, right; + -webkit-transition-property: width, left, right; + transition-property: width, left, right; + -moz-transition-duration: 250ms; + -o-transition-duration: 250ms; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; } } /***************************************************************************** * Open MCT Web, Copyright (c) 2014-2015, United States Government * as represented by the Administrator of the National Aeronautics and Space @@ -3711,7 +4793,7 @@ span.req { background-color: #262626; } /* line 35, ../../../../general/res/sass/mobile/_layout.scss */ - .pane.right-repr { + .pane.right.items { -moz-transition-duration: 0.35s; -o-transition-duration: 0.35s; -webkit-transition-duration: 0.35s; @@ -3720,7 +4802,7 @@ span.req { backface-visibility: hidden; margin-left: 0 !important; } /* line 39, ../../../../general/res/sass/mobile/_layout.scss */ - .pane.right-repr #content-area { + .pane.right.items #content-area { -moz-transition-duration: 0.35s; -o-transition-duration: 0.35s; -webkit-transition-duration: 0.35s; @@ -3730,108 +4812,103 @@ span.req { opacity: 1; } /* line 45, ../../../../general/res/sass/mobile/_layout.scss */ - .user-environ .browse-area, - .user-environ .edit-area, - .user-environ .editor { - top: 0; - left: 0; - right: 0; - bottom: 25px; } + .holder.holder-create-and-search { + right: 10px !important; } - /* line 51, ../../../../general/res/sass/mobile/_layout.scss */ - .holder.l-mobile { - top: 10px !important; - right: 10px !important; - bottom: 10px !important; - left: 10px !important; } + /* line 56, ../../../../general/res/sass/mobile/_layout.scss */ + .pane-tree-hidden .pane.left.treeview { + -moz-transition-property: opacity; + -o-transition-property: opacity; + -webkit-transition-property: opacity; + transition-property: opacity; + -moz-transition-duration: 150ms; + -o-transition-duration: 150ms; + -webkit-transition-duration: 150ms; + transition-duration: 150ms; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; + opacity: 0 !important; } + /* line 64, ../../../../general/res/sass/mobile/_layout.scss */ + .pane-tree-hidden .pane.right.items { + left: 0 !important; } - /* line 61, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-hidetree { - -moz-user-select: -moz-none; - -ms-user-select: none; - -webkit-user-select: none; - user-select: none; } - /* line 65, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-hidetree .pane.left.treeview { - opacity: 0; - right: 100% !important; - width: auto !important; - overflow-y: hidden; - overflow-x: hidden; } - /* line 74, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-hidetree .pane.right-repr { - left: 0 !important; } + /* line 78, ../../../../general/res/sass/mobile/_layout.scss */ + .pane-tree-showing .pane.left.treeview { + -moz-transition-property: opacity; + -o-transition-property: opacity; + -webkit-transition-property: opacity; + transition-property: opacity; + -moz-transition-duration: 250ms; + -o-transition-duration: 250ms; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -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; + -moz-transition-delay: 250ms; + -o-transition-delay: 250ms; + -webkit-transition-delay: 250ms; + transition-delay: 250ms; + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSI5OCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMyIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); + background-size: 100%; + background-image: -moz-linear-gradient(0deg, rgba(0, 0, 0, 0) 98%, rgba(0, 0, 0, 0.3) 100%); + background-image: -webkit-linear-gradient(0deg, rgba(0, 0, 0, 0) 98%, rgba(0, 0, 0, 0.3) 100%); + background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 98%, rgba(0, 0, 0, 0.3) 100%); + right: auto !important; + width: 40% !important; } + /* line 85, ../../../../general/res/sass/mobile/_layout.scss */ + .pane-tree-showing .pane.right.items { + left: 40% !important; } - /* line 79, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-showtree { - -moz-user-select: -moz-none; - -ms-user-select: none; - -webkit-user-select: none; - user-select: none; } - /* line 88, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-showtree .pane.left.treeview { - -moz-transition-property: opacity; - -o-transition-property: opacity; - -webkit-transition-property: opacity; - transition-property: opacity; - -moz-transition-duration: 0.4s; - -o-transition-duration: 0.4s; - -webkit-transition-duration: 0.4s; - transition-duration: 0.4s; - -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; - background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSI5OCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMyIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); - background-size: 100%; - background-image: -moz-linear-gradient(0deg, rgba(0, 0, 0, 0) 98%, rgba(0, 0, 0, 0.3) 100%); - background-image: -webkit-linear-gradient(0deg, rgba(0, 0, 0, 0) 98%, rgba(0, 0, 0, 0.3) 100%); - background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 98%, rgba(0, 0, 0, 0.3) 100%); - opacity: 1; - display: block !important; - right: auto !important; - width: 40% !important; } - /* line 98, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-showtree .pane.right-repr { - left: 40% !important; } - - /* line 107, ../../../../general/res/sass/mobile/_layout.scss */ - .mobile-menu-icon { + /* line 90, ../../../../general/res/sass/mobile/_layout.scss */ + .toggle-tree { + color: #0099cc !important; font-size: 110%; position: absolute; top: 12px; left: 10px; } + /* line 96, ../../../../general/res/sass/mobile/_layout.scss */ + .toggle-tree:after { + content: 'm' !important; + font-family: symbolsfont; } - /* line 114, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 102, ../../../../general/res/sass/mobile/_layout.scss */ .object-browse-bar { - left: 30px !important; } - /* line 117, ../../../../general/res/sass/mobile/_layout.scss */ + left: 45px !important; } + /* line 105, ../../../../general/res/sass/mobile/_layout.scss */ .object-browse-bar .context-available { opacity: 1 !important; } - /* line 120, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 108, ../../../../general/res/sass/mobile/_layout.scss */ .object-browse-bar .view-switcher { margin-right: 0 !important; } - /* line 122, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 110, ../../../../general/res/sass/mobile/_layout.scss */ .object-browse-bar .view-switcher .title-label { display: none; } - /* line 129, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 117, ../../../../general/res/sass/mobile/_layout.scss */ .tree-holder { overflow-x: hidden !important; } - /* line 133, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 121, ../../../../general/res/sass/mobile/_layout.scss */ .mobile-disable-select { -moz-user-select: -moz-none; -ms-user-select: none; -webkit-user-select: none; user-select: none; } - /* line 138, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 126, ../../../../general/res/sass/mobile/_layout.scss */ .mobile-hide, .mobile-hide-important { display: none !important; } - /* line 143, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 131, ../../../../general/res/sass/mobile/_layout.scss */ .mobile-back-hide { pointer-events: none; -moz-transition-property: opacity; @@ -3846,9 +4923,13 @@ span.req { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; opacity: 0; } - /* line 148, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 136, ../../../../general/res/sass/mobile/_layout.scss */ .mobile-back-unhide { pointer-events: all; -moz-transition-property: opacity; @@ -3863,21 +4944,27 @@ span.req { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; opacity: 1; } } @media screen and (orientation: portrait) and (max-width: 514px) and (max-height: 740px) and (max-device-width: 799px) and (max-device-height: 1024px) { - /* line 157, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-showtree .pane.left.treeview { + /* line 145, ../../../../general/res/sass/mobile/_layout.scss */ + .pane-tree-showing .pane.left.treeview { width: 90% !important; } - /* line 160, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-showtree .pane.right-repr { + /* line 148, ../../../../general/res/sass/mobile/_layout.scss */ + .pane-tree-showing .pane.right.items { left: 0 !important; - transform: translateX(90%); - -webkit-transform: translateX(90%); } - /* line 163, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-showtree .pane.right-repr #content-area { + -moz-transform: translateX(90%); + -ms-transform: translateX(90%); + -webkit-transform: translateX(90%); + transform: translateX(90%); } + /* line 151, ../../../../general/res/sass/mobile/_layout.scss */ + .pane-tree-showing .pane.right.items #content-area { opacity: 0; } } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 171, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 159, ../../../../general/res/sass/mobile/_layout.scss */ .desktop-hide { display: none; } } /***************************************************************************** @@ -4021,14 +5108,14 @@ span.req { * at runtime from the About dialog for additional information. *****************************************************************************/ /* line 23, ../../../../general/res/sass/search/_search.scss */ -.abs.search-holder, .l-datetime-picker .l-month-year-pager .search-holder.pager, +.abs.search-holder, .search-holder.l-inspect, .l-datetime-picker .l-month-year-pager .search-holder.pager, .l-datetime-picker .l-month-year-pager .search-holder.val, .s-menu-btn span.search-holder.l-click-area { height: 25px; bottom: 0; top: 23px; z-index: 5; } /* line 27, ../../../../general/res/sass/search/_search.scss */ - .abs.search-holder.active, .l-datetime-picker .l-month-year-pager .search-holder.active.pager, + .abs.search-holder.active, .search-holder.active.l-inspect, .l-datetime-picker .l-month-year-pager .search-holder.active.pager, .l-datetime-picker .l-month-year-pager .search-holder.active.val, .s-menu-btn span.search-holder.active.l-click-area { height: auto; bottom: 0; } @@ -4131,9 +5218,9 @@ span.req { visibility: visible; } /* line 178, ../../../../general/res/sass/search/_search.scss */ .search .active-filter-display { - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - border-radius: 2px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; @@ -4209,142 +5296,208 @@ span.req { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* line 23, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay .blocker { - background: rgba(0, 0, 0, 0.7); - z-index: 100; } -/* line 27, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay .clk-icon.close { - font-size: 0.8rem; - position: absolute; - top: 10px; - right: 10px; - bottom: auto; - left: auto; - z-index: 100; } -/* line 33, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay > .holder { - background-color: #4d4d4d; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #e6e6e6; - display: inline-block; - background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzU5NTk1OSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzRkNGQ0ZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); - background-size: 100%; - background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #595959), color-stop(100%, #4d4d4d)); - background-image: -moz-linear-gradient(#595959, #4d4d4d); - background-image: -webkit-linear-gradient(#595959, #4d4d4d); - background-image: linear-gradient(#595959, #4d4d4d); - -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; - -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; - box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; - -moz-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; - color: #e6e6e6; - top: 15%; - right: 15%; - bottom: 15%; - left: 15%; - z-index: 101; } - /* line 40, ../../../../general/res/sass/overlay/_overlay.scss */ - .overlay > .holder > .contents { - top: 25px; - right: 25px; - bottom: 25px; - left: 25px; } -/* line 45, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay .title { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - font-size: 1.2em; - margin-bottom: 5px; } -/* line 51, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay .top-bar { - height: 60px; } -/* line 55, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay .editor { - top: 70px; - bottom: 40px; - left: 0; - right: 0; } -/* line 61, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay .bottom-bar { - top: auto; - right: 0; - bottom: 0; - left: 0; - overflow: visible; - height: 30px; - text-align: right; } - /* line 67, ../../../../general/res/sass/overlay/_overlay.scss */ - .overlay .bottom-bar .s-btn, .overlay .bottom-bar .s-menu-btn { - font-size: 95%; - height: 30px; - line-height: 30px; - margin-left: 5px; - padding: 0 15px; } - /* line 69, ../../../../general/res/sass/overlay/_overlay.scss */ - .overlay .bottom-bar .s-btn:not(.major), .overlay .bottom-bar .s-menu-btn:not(.major) { - background-color: gray; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #fff; - display: inline-block; - background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzhjOGM4YyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzgwODA4MCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); - background-size: 100%; - background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #8c8c8c), color-stop(100%, #808080)); - background-image: -moz-linear-gradient(#8c8c8c, #808080); - background-image: -webkit-linear-gradient(#8c8c8c, #808080); - background-image: linear-gradient(#8c8c8c, #808080); - -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; - -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; - box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; - -moz-user-select: -moz-none; - -ms-user-select: none; - -webkit-user-select: none; - user-select: none; - -moz-transition: background, 0.25s; - -o-transition: background, 0.25s; - -webkit-transition: background, 0.25s; - transition: background, 0.25s; - 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; } - @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 277, ../../../../general/res/sass/_mixins.scss */ - .overlay .bottom-bar .s-btn:not(.major):not(.disabled):hover, .overlay .bottom-bar .s-menu-btn:not(.major):not(.disabled):hover { - background: linear-gradient(#a6a6a6, #999999); } - /* line 279, ../../../../general/res/sass/_mixins.scss */ - .overlay .bottom-bar .s-btn:not(.major):not(.disabled):hover > .icon, .overlay .bottom-bar .s-menu-btn:not(.major):not(.disabled):hover > .icon { - color: white; } } -/* line 85, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay .contents.l-dialog { - top: 5px; - right: 5px; - bottom: 5px; - left: 5px; - overflow: auto; } - /* line 93, ../../../../general/res/sass/overlay/_overlay.scss */ - .overlay .contents.l-dialog .field.l-med input[type='text'] { +/* line 22, ../../../../general/res/sass/overlay/_overlay.scss */ +.overlay { + font-size: 90%; } + /* line 24, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .blocker { + background: rgba(0, 0, 0, 0.7); + z-index: 100; } + /* line 28, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .clk-icon.close { + font-size: 0.8rem; + position: absolute; + top: 10px; + right: 10px; + bottom: auto; + left: auto; + z-index: 100; } + /* line 37, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay > .holder { + background-color: #4d4d4d; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #e6e6e6; + display: inline-block; + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzU5NTk1OSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzRkNGQ0ZCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); + background-size: 100%; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #595959), color-stop(100%, #4d4d4d)); + background-image: -moz-linear-gradient(#595959, #4d4d4d); + background-image: -webkit-linear-gradient(#595959, #4d4d4d); + background-image: linear-gradient(#595959, #4d4d4d); + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; + box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; + -moz-border-radius: 9px; + -webkit-border-radius: 9px; + border-radius: 9px; + color: #e6e6e6; + top: 50%; + right: auto; + bottom: auto; + left: 50%; + -moz-transform: translateX(-50%) translateY(-50%); + -ms-transform: translateX(-50%) translateY(-50%); + -webkit-transform: translateX(-50%) translateY(-50%); + transform: translateX(-50%) translateY(-50%); + height: 70%; + width: 50%; + min-height: 300px; + max-height: 800px; + min-width: 600px; + max-width: 1000px; + z-index: 101; } + /* line 54, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay > .holder > .contents { + top: 25px; + right: 25px; + bottom: 25px; + left: 25px; } + /* line 69, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .title { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 1.2em; + line-height: 120%; + margin-bottom: 5px; } + /* line 76, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .hint { + color: #b3b3b3; } + /* line 80, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .abs.top-bar, .overlay .top-bar.l-inspect, .overlay .l-datetime-picker .l-month-year-pager .top-bar.pager, .l-datetime-picker .l-month-year-pager .overlay .top-bar.pager, + .overlay .l-datetime-picker .l-month-year-pager .top-bar.val, + .l-datetime-picker .l-month-year-pager .overlay .top-bar.val, .overlay .s-menu-btn span.top-bar.l-click-area, .s-menu-btn .overlay span.top-bar.l-click-area { + height: 45px; } + /* line 84, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .abs.editor, .overlay .editor.l-inspect, .overlay .l-datetime-picker .l-month-year-pager .editor.pager, .l-datetime-picker .l-month-year-pager .overlay .editor.pager, + .overlay .l-datetime-picker .l-month-year-pager .editor.val, + .l-datetime-picker .l-month-year-pager .overlay .editor.val, .overlay .s-menu-btn span.editor.l-click-area, .s-menu-btn .overlay span.editor.l-click-area, + .overlay .abs.message-body, + .overlay .message-body.l-inspect, + .overlay .l-datetime-picker .l-month-year-pager .message-body.pager, + .l-datetime-picker .l-month-year-pager .overlay .message-body.pager, + .overlay .l-datetime-picker .l-month-year-pager .message-body.val, + .l-datetime-picker .l-month-year-pager .overlay .message-body.val, + .overlay .s-menu-btn span.message-body.l-click-area, + .s-menu-btn .overlay span.message-body.l-click-area { + top: 55px; + bottom: 34px; + left: 0; + right: 0; + overflow: auto; } + /* line 92, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .abs.editor .field.l-med input[type='text'], .overlay .editor.l-inspect .field.l-med input[type='text'], .overlay .l-datetime-picker .l-month-year-pager .editor.pager .field.l-med input[type='text'], .l-datetime-picker .l-month-year-pager .overlay .editor.pager .field.l-med input[type='text'], + .overlay .l-datetime-picker .l-month-year-pager .editor.val .field.l-med input[type='text'], + .l-datetime-picker .l-month-year-pager .overlay .editor.val .field.l-med input[type='text'], .overlay .s-menu-btn span.editor.l-click-area .field.l-med input[type='text'], .s-menu-btn .overlay span.editor.l-click-area .field.l-med input[type='text'], + .overlay .abs.message-body .field.l-med input[type='text'], + .overlay .message-body.l-inspect .field.l-med input[type='text'], + .overlay .l-datetime-picker .l-month-year-pager .message-body.pager .field.l-med input[type='text'], + .l-datetime-picker .l-month-year-pager .overlay .message-body.pager .field.l-med input[type='text'], + .overlay .l-datetime-picker .l-month-year-pager .message-body.val .field.l-med input[type='text'], + .l-datetime-picker .l-month-year-pager .overlay .message-body.val .field.l-med input[type='text'], + .overlay .s-menu-btn span.message-body.l-click-area .field.l-med input[type='text'], + .s-menu-btn .overlay span.message-body.l-click-area .field.l-med input[type='text'] { + width: 100%; } + /* line 98, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .bottom-bar { + text-align: right; } + /* line 100, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .bottom-bar .s-btn, .overlay .bottom-bar .s-menu-btn { + font-size: 95%; + height: 24px; + line-height: 24px; + margin-left: 5px; + padding: 0 15px; } + /* line 102, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .bottom-bar .s-btn:not(.major), .overlay .bottom-bar .s-menu-btn:not(.major) { + background-color: gray; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #fff; + display: inline-block; + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzhjOGM4YyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzgwODA4MCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); + background-size: 100%; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #8c8c8c), color-stop(100%, #808080)); + background-image: -moz-linear-gradient(#8c8c8c, #808080); + background-image: -webkit-linear-gradient(#8c8c8c, #808080); + background-image: linear-gradient(#8c8c8c, #808080); + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; + box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px; + -moz-user-select: -moz-none; + -ms-user-select: none; + -webkit-user-select: none; + user-select: none; + -moz-transition: background, 0.25s; + -o-transition: background, 0.25s; + -webkit-transition: background, 0.25s; + transition: background, 0.25s; + text-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px; } + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .overlay .bottom-bar .s-btn:not(.major) .icon, .overlay .bottom-bar .s-menu-btn:not(.major) .icon, .overlay .bottom-bar .s-btn:not(.major) .t-item-icon, .overlay .bottom-bar .s-menu-btn:not(.major) .t-item-icon { + color: #fff; } + @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 302, ../../../../general/res/sass/_mixins.scss */ + .overlay .bottom-bar .s-btn:not(.major):not(.disabled):hover, .overlay .bottom-bar .s-menu-btn:not(.major):not(.disabled):hover { + background: linear-gradient(#a6a6a6, #999999); } + /* line 304, ../../../../general/res/sass/_mixins.scss */ + .overlay .bottom-bar .s-btn:not(.major):not(.disabled):hover > .icon, .overlay .bottom-bar .s-menu-btn:not(.major):not(.disabled):hover > .icon, .overlay .bottom-bar .s-btn:not(.major):not(.disabled):hover > .t-item-icon, .overlay .bottom-bar .s-menu-btn:not(.major):not(.disabled):hover > .t-item-icon { + color: white; } } + /* line 110, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .bottom-bar .s-btn:first-child, .overlay .bottom-bar .s-menu-btn:first-child { + margin-left: 0; } + /* line 117, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .abs.bottom-bar, .overlay .bottom-bar.l-inspect, .overlay .l-datetime-picker .l-month-year-pager .bottom-bar.pager, .l-datetime-picker .l-month-year-pager .overlay .bottom-bar.pager, + .overlay .l-datetime-picker .l-month-year-pager .bottom-bar.val, + .l-datetime-picker .l-month-year-pager .overlay .bottom-bar.val, .overlay .s-menu-btn span.bottom-bar.l-click-area, .s-menu-btn .overlay span.bottom-bar.l-click-area { + top: auto; + right: 0; + bottom: 0; + left: 0; + overflow: visible; + height: 24px; } + /* line 127, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .l-progress-bar { + display: block; + height: 15px; + line-height: 15px; + margin: .5em 0; width: 100%; } +/* line 137, ../../../../general/res/sass/overlay/_overlay.scss */ +.t-dialog-sm .overlay > .holder { + min-height: 225px; + height: 225px; } + @media screen and (orientation: portrait) and (max-width: 514px) and (max-height: 740px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (max-height: 514px) and (max-width: 740px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (max-height: 514px) and (max-width: 740px) and (max-device-width: 1024px) and (max-device-height: 799px), screen and (orientation: portrait) and (min-width: 515px) and (max-width: 799px) and (min-height: 741px) and (max-height: 1024px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (min-height: 515px) and (max-height: 799px) and (min-width: 741px) and (max-width: 1024px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (min-height: 515px) and (max-height: 799px) and (min-width: 741px) and (max-width: 1024px) and (max-device-width: 1024px) and (max-device-height: 799px) { - /* line 4, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + /* line 3, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ .overlay .clk-icon.close { - top: 10px; - right: 10px; } - /* line 8, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + top: 20px; + right: 20px; } + /* line 7, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .overlay > .holder { + height: 90%; + width: 90%; } + /* line 10, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .overlay > .holder > .contents { + top: 20px; + right: 20px; + bottom: 20px; + left: 20px; } + /* line 17, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .overlay > .holder > .contents .top-bar > .title { + margin-right: 1.2em; } } +@media screen and (orientation: portrait) and (max-width: 514px) and (max-height: 740px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (max-height: 514px) and (max-width: 740px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (max-height: 514px) and (max-width: 740px) and (max-device-width: 1024px) and (max-device-height: 799px) { + /* line 27, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ .overlay > .holder { -moz-border-radius: 0; -webkit-border-radius: 0; @@ -4352,35 +5505,72 @@ span.req { top: 0; right: 0; bottom: 0; - left: 0; } - /* line 14, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ - .overlay > .holder > .contents { - top: 10px; - right: 10px; - bottom: 10px; - left: 10px; } - /* line 21, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ - .overlay > .holder > .contents .top-bar > .title { - margin-right: 1.2em; } - /* line 26, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ - .overlay > .holder > .contents .form.editor { - border: none; } - /* line 29, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ - .overlay > .holder > .contents .form.editor .contents { - top: 0; - right: 0; - bottom: 0; - left: 0; } } -@media screen and (orientation: portrait) and (max-width: 514px) and (max-height: 740px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (max-height: 514px) and (max-width: 740px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (max-height: 514px) and (max-width: 740px) and (max-device-width: 1024px) and (max-device-height: 799px) { - /* line 43, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ - .overlay > .holder > .contents .form.editor .contents .form-row > .label, - .overlay > .holder > .contents .form.editor .contents .form-row > .controls { - display: block; - float: none; - width: 100%; } - /* line 51, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ - .overlay > .holder > .contents .form.editor .contents .form-row > .label:after { - float: none; } } + left: 0; + height: auto; + width: auto; + min-width: 200px; + min-height: 200px; + max-height: 100%; + max-width: 100%; + overflow: auto; + -moz-transform: none; + -ms-transform: none; + -webkit-transform: none; + transform: none; } + /* line 42, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .overlay > .holder .editor .form .form-row > .label, + .overlay > .holder .editor .form .form-row > .controls { + display: block; + float: none; + width: 100%; } + /* line 50, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .overlay > .holder .editor .form .form-row > .label:after { + float: none; } + /* line 57, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .overlay > .holder .contents .abs.top-bar, .overlay > .holder .contents .top-bar.l-inspect, .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .top-bar.pager, .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .top-bar.pager, + .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .top-bar.val, + .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .top-bar.val, .overlay > .holder .contents .s-menu-btn span.top-bar.l-click-area, .s-menu-btn .overlay > .holder .contents span.top-bar.l-click-area, + .overlay > .holder .contents .abs.editor, + .overlay > .holder .contents .editor.l-inspect, + .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .editor.pager, + .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .editor.pager, + .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .editor.val, + .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .editor.val, + .overlay > .holder .contents .s-menu-btn span.editor.l-click-area, + .s-menu-btn .overlay > .holder .contents span.editor.l-click-area, + .overlay > .holder .contents .abs.message-body, + .overlay > .holder .contents .message-body.l-inspect, + .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .message-body.pager, + .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .message-body.pager, + .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .message-body.val, + .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .message-body.val, + .overlay > .holder .contents .s-menu-btn span.message-body.l-click-area, + .s-menu-btn .overlay > .holder .contents span.message-body.l-click-area, + .overlay > .holder .contents .abs.bottom-bar, + .overlay > .holder .contents .bottom-bar.l-inspect, + .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .bottom-bar.pager, + .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .bottom-bar.pager, + .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .bottom-bar.val, + .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .bottom-bar.val, + .overlay > .holder .contents .s-menu-btn span.bottom-bar.l-click-area, + .s-menu-btn .overlay > .holder .contents span.bottom-bar.l-click-area { + top: auto; + right: auto; + bottom: auto; + left: auto; + height: auto; + width: auto; + margin-bottom: 20px; + position: relative; } + + /* line 69, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .t-dialog-sm .overlay > .holder { + height: auto; + max-height: 100%; } } +@media screen and (orientation: portrait) and (max-width: 514px) and (max-height: 740px) and (max-device-width: 799px) and (max-device-height: 1024px) { + /* line 77, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .overlay > .holder .contents .bottom-bar { + text-align: center; } } /***************************************************************************** * Open MCT Web, Copyright (c) 2014-2015, United States Government * as represented by the Administrator of the National Aeronautics and Space @@ -4410,7 +5600,7 @@ ul.tree { -ms-user-select: none; -webkit-user-select: none; user-select: none; } - /* line 329, ../../../../general/res/sass/_mixins.scss */ + /* line 354, ../../../../general/res/sass/_mixins.scss */ ul.tree li { list-style-type: none; margin: 0; @@ -4429,9 +5619,9 @@ ul.tree { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - border-radius: 2px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; -moz-transition: background-color 0.25s; -o-transition: background-color 0.25s; -webkit-transition: background-color 0.25s; @@ -4451,13 +5641,15 @@ ul.tree { font-size: 0.75em; width: 10px; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 57, ../../../../general/res/sass/tree/_tree.scss */ + /* line 56, ../../../../general/res/sass/tree/_tree.scss */ .tree-item .view-control:hover, .search-result-item .view-control:hover { color: #ffc700 !important; } } - /* line 63, ../../../../general/res/sass/tree/_tree.scss */ + /* line 62, ../../../../general/res/sass/tree/_tree.scss */ .tree-item .label, - .search-result-item .label { + .tree-item .t-object-label, + .search-result-item .label, + .search-result-item .t-object-label { display: block; overflow: hidden; position: absolute; @@ -4468,11 +5660,29 @@ ul.tree { width: auto; height: auto; line-height: 1.5rem; } - /* line 71, ../../../../general/res/sass/tree/_tree.scss */ - .tree-item .label .type-icon, - .search-result-item .label .type-icon { + /* line 68, ../../../../general/res/sass/tree/_tree.scss */ + .tree-item .label .t-item-icon, + .tree-item .t-object-label .t-item-icon, + .search-result-item .label .t-item-icon, + .search-result-item .t-object-label .t-item-icon { text-shadow: rgba(0, 0, 0, 0.6) 0 1px 2px; - font-size: 16px; + font-size: 1.4em; + color: #0099cc; + position: absolute; + left: 5px; + top: 50%; + width: 1.4em; + -moz-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -webkit-transform: translateY(-50%); + transform: translateY(-50%); } + /* line 79, ../../../../general/res/sass/tree/_tree.scss */ + .tree-item .label .type-icon, + .tree-item .t-object-label .type-icon, + .search-result-item .label .type-icon, + .search-result-item .t-object-label .type-icon { + text-shadow: rgba(0, 0, 0, 0.6) 0 1px 2px; + font-size: 1.4em; color: #0099cc; left: 5px; position: absolute; @@ -4481,16 +5691,31 @@ ul.tree { height: 16px; line-height: 100%; right: auto; - width: 16px; } - /* line 84, ../../../../general/res/sass/tree/_tree.scss */ - .tree-item .label .type-icon .icon.l-icon-link, .tree-item .label .type-icon .icon.l-icon-alert, + width: 1.4em; } + /* line 92, ../../../../general/res/sass/tree/_tree.scss */ + .tree-item .label .type-icon .icon.l-icon-link, .tree-item .label .type-icon .l-icon-link.t-item-icon, .tree-item .label .type-icon .icon.l-icon-alert, .tree-item .label .type-icon .l-icon-alert.t-item-icon, + .tree-item .t-object-label .type-icon .icon.l-icon-link, + .tree-item .t-object-label .type-icon .l-icon-link.t-item-icon, + .tree-item .t-object-label .type-icon .icon.l-icon-alert, + .tree-item .t-object-label .type-icon .l-icon-alert.t-item-icon, .search-result-item .label .type-icon .icon.l-icon-link, - .search-result-item .label .type-icon .icon.l-icon-alert { + .search-result-item .label .type-icon .l-icon-link.t-item-icon, + .search-result-item .label .type-icon .icon.l-icon-alert, + .search-result-item .label .type-icon .l-icon-alert.t-item-icon, + .search-result-item .t-object-label .type-icon .icon.l-icon-link, + .search-result-item .t-object-label .type-icon .l-icon-link.t-item-icon, + .search-result-item .t-object-label .type-icon .icon.l-icon-alert, + .search-result-item .t-object-label .type-icon .l-icon-alert.t-item-icon { position: absolute; z-index: 2; } - /* line 89, ../../../../general/res/sass/tree/_tree.scss */ - .tree-item .label .type-icon .icon.l-icon-alert, - .search-result-item .label .type-icon .icon.l-icon-alert { + /* line 97, ../../../../general/res/sass/tree/_tree.scss */ + .tree-item .label .type-icon .icon.l-icon-alert, .tree-item .label .type-icon .l-icon-alert.t-item-icon, + .tree-item .t-object-label .type-icon .icon.l-icon-alert, + .tree-item .t-object-label .type-icon .l-icon-alert.t-item-icon, + .search-result-item .label .type-icon .icon.l-icon-alert, + .search-result-item .label .type-icon .l-icon-alert.t-item-icon, + .search-result-item .t-object-label .type-icon .icon.l-icon-alert, + .search-result-item .t-object-label .type-icon .l-icon-alert.t-item-icon { color: #ff3c00; font-size: 8px; line-height: 8px; @@ -4498,9 +5723,14 @@ ul.tree { width: 8px; top: 1px; right: -2px; } - /* line 95, ../../../../general/res/sass/tree/_tree.scss */ - .tree-item .label .type-icon .icon.l-icon-link, - .search-result-item .label .type-icon .icon.l-icon-link { + /* line 103, ../../../../general/res/sass/tree/_tree.scss */ + .tree-item .label .type-icon .icon.l-icon-link, .tree-item .label .type-icon .l-icon-link.t-item-icon, + .tree-item .t-object-label .type-icon .icon.l-icon-link, + .tree-item .t-object-label .type-icon .l-icon-link.t-item-icon, + .search-result-item .label .type-icon .icon.l-icon-link, + .search-result-item .label .type-icon .l-icon-link.t-item-icon, + .search-result-item .t-object-label .type-icon .icon.l-icon-link, + .search-result-item .t-object-label .type-icon .l-icon-link.t-item-icon { color: #49dedb; font-size: 8px; line-height: 8px; @@ -4508,9 +5738,15 @@ ul.tree { width: 8px; left: -3px; bottom: 0px; } - /* line 103, ../../../../general/res/sass/tree/_tree.scss */ + /* line 111, ../../../../general/res/sass/tree/_tree.scss */ .tree-item .label .title-label, - .search-result-item .label .title-label { + .tree-item .label .t-title-label, + .tree-item .t-object-label .title-label, + .tree-item .t-object-label .t-title-label, + .search-result-item .label .title-label, + .search-result-item .label .t-title-label, + .search-result-item .t-object-label .title-label, + .search-result-item .t-object-label .t-title-label { overflow: hidden; position: absolute; top: 0px; @@ -4524,48 +5760,48 @@ ul.tree { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } - /* line 113, ../../../../general/res/sass/tree/_tree.scss */ + /* line 122, ../../../../general/res/sass/tree/_tree.scss */ .tree-item.selected, .search-result-item.selected { background: #006080; color: #cccccc; } - /* line 116, ../../../../general/res/sass/tree/_tree.scss */ + /* line 125, ../../../../general/res/sass/tree/_tree.scss */ .tree-item.selected .view-control, .search-result-item.selected .view-control { color: rgba(255, 255, 255, 0.3); } - /* line 119, ../../../../general/res/sass/tree/_tree.scss */ - .tree-item.selected .label .type-icon, - .search-result-item.selected .label .type-icon { + /* line 128, ../../../../general/res/sass/tree/_tree.scss */ + .tree-item.selected .t-object-label .t-item-icon, + .search-result-item.selected .t-object-label .t-item-icon { color: #cccccc; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 127, ../../../../general/res/sass/tree/_tree.scss */ + /* line 136, ../../../../general/res/sass/tree/_tree.scss */ .tree-item:not(.selected):hover, .search-result-item:not(.selected):hover { background: rgba(153, 153, 153, 0.1); color: #cccccc; } - /* line 130, ../../../../general/res/sass/tree/_tree.scss */ - .tree-item:not(.selected):hover .icon, - .search-result-item:not(.selected):hover .icon { + /* line 139, ../../../../general/res/sass/tree/_tree.scss */ + .tree-item:not(.selected):hover .t-item-icon, + .search-result-item:not(.selected):hover .t-item-icon { color: #33ccff; } } - /* line 137, ../../../../general/res/sass/tree/_tree.scss */ + /* line 146, ../../../../general/res/sass/tree/_tree.scss */ .tree-item:not(.loading), .search-result-item:not(.loading) { cursor: pointer; } - /* line 141, ../../../../general/res/sass/tree/_tree.scss */ + /* line 150, ../../../../general/res/sass/tree/_tree.scss */ .tree-item .context-trigger, .search-result-item .context-trigger { top: -1px; position: absolute; right: 3px; } - /* line 146, ../../../../general/res/sass/tree/_tree.scss */ + /* line 155, ../../../../general/res/sass/tree/_tree.scss */ .tree-item .context-trigger .invoke-menu, .search-result-item .context-trigger .invoke-menu { font-size: 0.75em; height: 0.9rem; line-height: 0.9rem; } -/* line 155, ../../../../general/res/sass/tree/_tree.scss */ -.tree-item .label { +/* line 164, ../../../../general/res/sass/tree/_tree.scss */ +.tree-item .t-object-label { left: 15px; } /***************************************************************************** @@ -4605,21 +5841,19 @@ ul.tree { .search-result-item .view-control { position: absolute; font-size: 1.1em; + height: 35px; + line-height: inherit; right: 0px; width: 30px; text-align: center; } - /* line 45, ../../../../general/res/sass/mobile/_tree.scss */ + /* line 47, ../../../../general/res/sass/mobile/_tree.scss */ .tree-item .label, - .search-result-item .label { + .tree-item .t-object-label, + .search-result-item .label, + .search-result-item .t-object-label { left: 0; right: 35px; - line-height: 35px; } - /* line 50, ../../../../general/res/sass/mobile/_tree.scss */ - .tree-item .label .type-icon, - .search-result-item .label .type-icon { - top: 9px; - bottom: auto; - height: 16px; } } + line-height: inherit; } } /***************************************************************************** * Open MCT Web, Copyright (c) 2014-2015, United States Government * as represented by the Administrator of the National Aeronautics and Space @@ -4649,13 +5883,13 @@ ul.tree { .frame.child-frame.panel:hover { border-color: rgba(179, 179, 179, 0.1); } /* line 32, ../../../../general/res/sass/user-environ/_frame.scss */ -.frame > .object-header.abs, .l-datetime-picker .l-month-year-pager .frame > .object-header.pager, +.frame > .object-header.abs, .frame > .object-header.l-inspect, .l-datetime-picker .l-month-year-pager .frame > .object-header.pager, .l-datetime-picker .l-month-year-pager .frame > .object-header.val, .s-menu-btn .frame > span.object-header.l-click-area { font-size: 0.75em; height: 16px; line-height: 16px; } /* line 38, ../../../../general/res/sass/user-environ/_frame.scss */ -.frame > .object-holder.abs, .l-datetime-picker .l-month-year-pager .frame > .object-holder.pager, +.frame > .object-holder.abs, .frame > .object-holder.l-inspect, .l-datetime-picker .l-month-year-pager .frame > .object-holder.pager, .l-datetime-picker .l-month-year-pager .frame > .object-holder.val, .s-menu-btn .frame > span.object-holder.l-click-area { top: 21px; } /* line 41, ../../../../general/res/sass/user-environ/_frame.scss */ @@ -4714,9 +5948,9 @@ ul.tree { *****************************************************************************/ /* line 22, ../../../../general/res/sass/user-environ/_top-bar.scss */ .top-bar { - /* .title { - color: #fff; - }*/ } + /* .title { + color: #fff; + }*/ } /* line 23, ../../../../general/res/sass/user-environ/_top-bar.scss */ .top-bar.browse, .top-bar.edit { border-bottom: 1px solid rgba(153, 153, 153, 0.1); @@ -4736,92 +5970,12 @@ ul.tree { .edit-mode .top-bar .buttons-main { white-space: nowrap; } /* line 52, ../../../../general/res/sass/user-environ/_top-bar.scss */ - .edit-mode .top-bar .buttons-main.abs, .edit-mode .top-bar .l-datetime-picker .l-month-year-pager .buttons-main.pager, .l-datetime-picker .l-month-year-pager .edit-mode .top-bar .buttons-main.pager, + .edit-mode .top-bar .buttons-main.abs, .edit-mode .top-bar .buttons-main.l-inspect, .edit-mode .top-bar .l-datetime-picker .l-month-year-pager .buttons-main.pager, .l-datetime-picker .l-month-year-pager .edit-mode .top-bar .buttons-main.pager, .edit-mode .top-bar .l-datetime-picker .l-month-year-pager .buttons-main.val, .l-datetime-picker .l-month-year-pager .edit-mode .top-bar .buttons-main.val, .edit-mode .top-bar .s-menu-btn span.buttons-main.l-click-area, .s-menu-btn .edit-mode .top-bar span.buttons-main.l-click-area { bottom: auto; left: auto; } -/***************************************************************************** - * 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. - *****************************************************************************/ -/* line 22, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ -.ue-bottom-bar { - background: #000; - color: gray; - font-size: .7rem; } - /* line 28, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ - .ue-bottom-bar .status-holder { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; - position: absolute; - top: 5px; - right: 5px; - bottom: 5px; - left: 5px; - width: auto; - height: auto; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - line-height: 15px; - right: 120px; - text-transform: uppercase; } - /* line 39, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ - .ue-bottom-bar .app-logo { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; - position: absolute; - top: 5px; - right: 5px; - bottom: 5px; - left: 5px; - width: auto; - height: auto; - left: auto; - cursor: pointer; } - /* line 48, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ - .ue-bottom-bar .app-logo.logo-openmctweb { - background: url("../../../../general/res/images/logo-openmctweb.svg") no-repeat center center; } - -/* line 54, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ -.status.block { - display: inline; - margin-right: 10px; } - /* line 58, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ - .status.block .status-indicator { - display: inline-block; - margin-right: 3px; - color: #0099cc; } - /* line 65, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ - .status.block .status-indicator.ok { - color: #009900; } - /* line 68, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ - .status.block .status-indicator.caution { - color: #ffaa00; } - /***************************************************************************** * Open MCT Web, Copyright (c) 2014-2015, United States Government * as represented by the Administrator of the National Aeronautics and Space @@ -5558,35 +6712,6 @@ table { height: 100%; width: 100%; } -/***************************************************************************** - * 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. - *****************************************************************************/ -/******************************** BROWSE */ -/* line 27, ../../../../general/res/sass/_hide-non-functional.scss */ -.browse-mode .browse.top-bar { - display: none; } -/* line 32, ../../../../general/res/sass/_hide-non-functional.scss */ -.browse-mode .browse-area.holder { - top: 10px; } - /* Styles for sub-dividing views generically */ /* line 3, ../../../../general/res/sass/_views.scss */ .l-view-section { @@ -5678,15 +6803,15 @@ table { margin-bottom: 3px; margin-right: 3px; position: relative; } - /* line 272, ../../../../general/res/sass/_mixins.scss */ - .items-holder .item.grid-item .icon { + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .items-holder .item.grid-item .icon, .items-holder .item.grid-item .t-item-icon { color: #0099cc; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 277, ../../../../general/res/sass/_mixins.scss */ + /* line 302, ../../../../general/res/sass/_mixins.scss */ .items-holder .item.grid-item:not(.disabled):hover { background: linear-gradient(#666666, #595959); } - /* line 279, ../../../../general/res/sass/_mixins.scss */ - .items-holder .item.grid-item:not(.disabled):hover > .icon { + /* line 304, ../../../../general/res/sass/_mixins.scss */ + .items-holder .item.grid-item:not(.disabled):hover > .icon, .items-holder .item.grid-item:not(.disabled):hover > .t-item-icon { color: #33ccff; } } /* line 45, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item:hover .item-main .item-type { @@ -5715,10 +6840,10 @@ table { .items-holder .item.grid-item .bar.top-bar .left, .items-holder .item.grid-item .bar.top-bar .right { width: auto; } /* line 70, ../../../../general/res/sass/items/_item.scss */ - .items-holder .item.grid-item .bar.top-bar .left .icon, .items-holder .item.grid-item .bar.top-bar .right .icon { + .items-holder .item.grid-item .bar.top-bar .left .icon, .items-holder .item.grid-item .bar.top-bar .left .t-item-icon, .items-holder .item.grid-item .bar.top-bar .right .icon, .items-holder .item.grid-item .bar.top-bar .right .t-item-icon { margin-left: 3px; } /* line 72, ../../../../general/res/sass/items/_item.scss */ - .items-holder .item.grid-item .bar.top-bar .left .icon.l-icon-link, .items-holder .item.grid-item .bar.top-bar .right .icon.l-icon-link { + .items-holder .item.grid-item .bar.top-bar .left .icon.l-icon-link, .items-holder .item.grid-item .bar.top-bar .left .l-icon-link.t-item-icon, .items-holder .item.grid-item .bar.top-bar .right .icon.l-icon-link, .items-holder .item.grid-item .bar.top-bar .right .l-icon-link.t-item-icon { color: #49dedb; } /* line 78, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item .bar.bottom-bar { @@ -5729,32 +6854,17 @@ table { line-height: 160px; z-index: 1; } /* line 89, ../../../../general/res/sass/items/_item.scss */ - .items-holder .item.grid-item .item-main .item-type { - overflow: false; + .items-holder .item.grid-item .item-main .item-type, + .items-holder .item.grid-item .item-main .t-item-icon { + -moz-transform: translateX(-50%) translateY(-55%); + -ms-transform: translateX(-50%) translateY(-55%); + -webkit-transform: translateX(-50%) translateY(-55%); + transform: translateX(-50%) translateY(-55%); position: absolute; - top: 40px; - right: 40px; - bottom: 40px; - left: 40px; - width: auto; - height: auto; - text-align: center; - font-size: 96.9px; - line-height: 102px; - bottom: auto; - height: 102px; - top: 30px; } - /* line 100, ../../../../general/res/sass/items/_item.scss */ - .items-holder .item.grid-item .item-main .item-type .l-icon-link { - color: #49dedb; - height: auto; - line-height: 100%; - position: absolute; - font-size: 0.3em; - left: 0px; - bottom: 10px; - z-index: 2; } - /* line 111, ../../../../general/res/sass/items/_item.scss */ + top: 50%; + left: 50%; + font-size: 96.9px; } + /* line 100, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item .item-main .item-open { -moz-transition-property: "opacity"; -o-transition-property: "opacity"; @@ -5768,6 +6878,10 @@ table { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; opacity: 0; color: #8c8c8c; font-size: 3em; @@ -5775,14 +6889,14 @@ table { width: 50px; pointer-events: none; text-align: right; } - /* line 121, ../../../../general/res/sass/items/_item.scss */ + /* line 110, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item .title { text-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #bfbfbf; } - /* line 126, ../../../../general/res/sass/items/_item.scss */ + /* line 115, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item .details { text-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px; overflow: hidden; @@ -5790,7 +6904,7 @@ table { white-space: nowrap; color: #8c8c8c; font-size: 0.8em; } - /* line 132, ../../../../general/res/sass/items/_item.scss */ + /* line 121, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item.selected { background-color: #0099cc; -moz-border-radius: 3px; @@ -5820,26 +6934,26 @@ table { transition: background, 0.25s; 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 { + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .items-holder .item.grid-item.selected .icon, .items-holder .item.grid-item.selected .t-item-icon { color: #0099cc; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 277, ../../../../general/res/sass/_mixins.scss */ + /* line 302, ../../../../general/res/sass/_mixins.scss */ .items-holder .item.grid-item.selected:not(.disabled):hover { background: linear-gradient(#1ac6ff, #00bfff); } - /* line 279, ../../../../general/res/sass/_mixins.scss */ - .items-holder .item.grid-item.selected:not(.disabled):hover > .icon { + /* line 304, ../../../../general/res/sass/_mixins.scss */ + .items-holder .item.grid-item.selected:not(.disabled):hover > .icon, .items-holder .item.grid-item.selected:not(.disabled):hover > .t-item-icon { color: #33ccff; } } - /* line 137, ../../../../general/res/sass/items/_item.scss */ - .items-holder .item.grid-item.selected .item-type, .items-holder .item.grid-item.selected .top-bar .icon:not(.alert) { + /* line 126, ../../../../general/res/sass/items/_item.scss */ + .items-holder .item.grid-item.selected .item-type, .items-holder .item.grid-item.selected .top-bar .icon:not(.alert), .items-holder .item.grid-item.selected .top-bar .t-item-icon:not(.alert) { color: #80dfff; } - /* line 138, ../../../../general/res/sass/items/_item.scss */ + /* line 127, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item.selected .item-main .item-open { color: #80dfff; } - /* line 139, ../../../../general/res/sass/items/_item.scss */ + /* line 128, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item.selected .title { color: white; } - /* line 141, ../../../../general/res/sass/items/_item.scss */ + /* line 130, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item.selected:hover .item-main .item-type { color: white !important; } @@ -5887,18 +7001,12 @@ table { left: 40px; right: 60px; } /* line 52, ../../../../general/res/sass/mobile/_item.scss */ - .items-holder .item.grid-item .item-main .item-type { + .items-holder .item.grid-item .item-main .item-type, + .items-holder .item.grid-item .item-main .t-item-icon { font-size: 30px; - right: auto; - bottom: auto; - left: 0; - line-height: 100%; - text-align: left; - width: 30px; } - /* line 61, ../../../../general/res/sass/mobile/_item.scss */ - .items-holder .item.grid-item .item-main .item-type .l-icon-link { - bottom: 0; } - /* line 65, ../../../../general/res/sass/mobile/_item.scss */ + left: 15px; + line-height: normal; } + /* line 58, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .item-main .item-open { display: block; opacity: 1; @@ -5908,40 +7016,40 @@ table { /* line 29, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item { height: 50px; } - /* line 78, ../../../../general/res/sass/mobile/_item.scss */ + /* line 71, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .bar.top-bar { line-height: 50px !important; } - /* line 82, ../../../../general/res/sass/mobile/_item.scss */ + /* line 75, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .bar.bottom-bar { top: 7px; bottom: auto; height: 35px; } - /* line 87, ../../../../general/res/sass/mobile/_item.scss */ + /* line 80, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .item-main .item-type { top: 10px; bottom: auto; height: 30px; } - /* line 90, ../../../../general/res/sass/mobile/_item.scss */ + /* line 83, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .item-main .item-open { line-height: 50px; } } @media screen and (orientation: portrait) and (min-width: 515px) and (max-width: 799px) and (min-height: 741px) and (max-height: 1024px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (min-height: 515px) and (max-height: 799px) and (min-width: 741px) and (max-width: 1024px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (min-height: 515px) and (max-height: 799px) and (min-width: 741px) and (max-width: 1024px) and (max-device-width: 1024px) and (max-device-height: 799px) { /* line 29, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item { height: 66px; } - /* line 100, ../../../../general/res/sass/mobile/_item.scss */ + /* line 93, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .bar.top-bar { line-height: 66px !important; } - /* line 104, ../../../../general/res/sass/mobile/_item.scss */ + /* line 97, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .bar.bottom-bar { top: 15px; bottom: auto; height: 35px; } - /* line 109, ../../../../general/res/sass/mobile/_item.scss */ + /* line 102, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .item-main .item-type { top: 18px; bottom: auto; height: 30px; } - /* line 112, ../../../../general/res/sass/mobile/_item.scss */ + /* line 105, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .item-main .item-open { line-height: 66px; } } @@ -5972,10 +7080,10 @@ table { font-size: 0.75rem; } /* line 32, ../../../../general/res/sass/_autoflow.scss */ .autoflow:hover .l-autoflow-header .s-btn.change-column-width, .autoflow:hover .l-autoflow-header .change-column-width.s-menu-btn { - -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-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 50ms; -o-transition-duration: 50ms; -webkit-transition-duration: 50ms; @@ -5984,6 +7092,10 @@ table { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; opacity: 1; } /* line 40, ../../../../general/res/sass/_autoflow.scss */ .autoflow .l-autoflow-header { @@ -5996,10 +7108,10 @@ table { vertical-align: middle; } /* line 48, ../../../../general/res/sass/_autoflow.scss */ .autoflow .l-autoflow-header .s-btn.change-column-width, .autoflow .l-autoflow-header .change-column-width.s-menu-btn { - -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-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 500ms; -o-transition-duration: 500ms; -webkit-transition-duration: 500ms; @@ -6008,6 +7120,10 @@ table { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; opacity: 0; } /* line 52, ../../../../general/res/sass/_autoflow.scss */ .autoflow .l-autoflow-header .l-filter { @@ -6268,11 +7384,15 @@ table { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; position: absolute; left: 0; z-index: 1; } /* line 22, ../../../../general/res/sass/features/_time-display.scss */ - .l-time-display.l-timer .l-elem.l-value .ui-symbol.direction, .l-time-display.l-timer .l-elem.l-value .l-datetime-picker .l-month-year-pager .direction.pager, .l-datetime-picker .l-month-year-pager .l-time-display.l-timer .l-elem.l-value .direction.pager { + .l-time-display.l-timer .l-elem.l-value .ui-symbol.direction, .l-time-display.l-timer .l-elem.l-value .direction.t-item-icon, .l-time-display.l-timer .l-elem.l-value .direction.s-icon-btn, .l-time-display.l-timer .l-elem.l-value .l-datetime-picker .l-month-year-pager .direction.pager, .l-datetime-picker .l-month-year-pager .l-time-display.l-timer .l-elem.l-value .direction.pager { font-size: 0.8em; } /* line 26, ../../../../general/res/sass/features/_time-display.scss */ .l-time-display.l-timer:hover .l-elem.l-value { @@ -6282,10 +7402,10 @@ table { color: #fff; } /* line 38, ../../../../general/res/sass/features/_time-display.scss */ .l-time-display .l-btn.control { - -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-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 200ms; -o-transition-duration: 200ms; -webkit-transition-duration: 200ms; @@ -6294,6 +7414,10 @@ table { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; opacity: 0; font-size: 0.65em; vertical-align: top; } diff --git a/platform/commonUI/themes/espresso/res/sass/_constants.scss b/platform/commonUI/themes/espresso/res/sass/_constants.scss index 4fee0d9c70..789579243d 100644 --- a/platform/commonUI/themes/espresso/res/sass/_constants.scss +++ b/platform/commonUI/themes/espresso/res/sass/_constants.scss @@ -37,12 +37,14 @@ $timeControllerToiLineColorHov: #fff; // General Colors $colorAlt1: #ffc700; -$colorAlert: #ff533a; +$colorAlert: #ff3c00; $colorIconLink: #49dedb; $colorPausedBg: #c56f01; $colorPausedFg: #fff; $colorCreateBtn: $colorKey; $colorGridLines: rgba(#fff, 0.05); +$colorFormLines: rgba(#fff, 0.1); +$colorFormSectionHeader: rgba(#000, 0.2); $colorInvokeMenu: #fff; $colorObjHdrTxt: $colorBodyFg; $colorObjHdrIc: pullForward($colorObjHdrTxt, 20%); @@ -55,10 +57,10 @@ $colorMenuIc: pullForward($colorKey, 17%); $colorMenuHovBg: pullForward($colorMenuBg, 10%); $colorMenuHovFg: #fff; $colorMenuHovIc: $colorMenuHovFg; -$colorCreateMenuLgIcon: $colorMenuFg; -$colorCreateMenuText: $colorMenuFg; $shdwMenu: none; $shdwMenuText: rgba(black, 0.1) 0 1px 2px; +$colorCreateMenuLgIcon: $colorMenuFg; +$colorCreateMenuText: $colorMenuFg; // Form colors $colorCheck: $colorKey; @@ -73,6 +75,14 @@ $colorInputFg: pullForward($colorBodyFg, 20%); $colorFormText: rgba(#fff, 0.5); $colorInputIcon: pushBack($colorBodyFg, 15%); +// Inspector +$colorInspectorBg: pullForward($colorBodyBg, 3%); +$colorInspectorFg: $colorBodyFg; +$colorInspectorPropName: pushBack($colorBodyFg, 15%); +$colorInspectorPropVal: pullForward($colorInspectorFg, 15%); +$colorInspectorSectionHeaderBg: pullForward($colorInspectorBg, 5%); +$colorInspectorSectionHeaderFg: pullForward($colorInspectorBg, 40%); + // Status colors, mainly used for messaging and item ancillary symbols $colorStatusFg: #ccc; $colorStatusDefault: #ccc; @@ -139,6 +149,8 @@ $colorPlotAreaBorder: $colorInteriorBorder; $colorPlotLabelFg: pushBack($colorPlotFg, 20%); // Tree +$colorItemTreeHoverBg: rgba($colorBodyFg, 0.1); +$colorItemTreeHoverFg: pullForward($colorBodyFg, 20%); $colorItemTreeIcon: $colorKey; $colorItemTreeIconHover: lighten($colorItemTreeIcon, 20%); $colorItemTreeFg: $colorBodyFg; @@ -157,12 +169,13 @@ $scrollbarThumbColorHov: lighten($scrollbarThumbColor, 2%); $scrollbarTrackShdw: rgba(#000, 0.7) 0 1px 5px; // Splitter +$splitterD: 25px; // splitterD and HandleD should both be odd, or even +$splitterHandleD: 1px; +$colorSplitterBg: pullForward($colorBodyBg, 5%); $splitterShdw: rgba(black, 0.4) 0 0 3px; -$colorSplitterInterior: $colorBodyBg; -$colorSplitterHover: none; -$splitterW: 5px; -$splitterEndCr: 1px; -$colorGrippyInteriorHover: $colorKey; +$splitterEndCr: none; +$colorSplitterHover: pullForward($colorBodyBg, 15%); +$colorSplitterActive: $colorKey; // Mobile $colorMobilePaneLeft: darken($colorBodyBg, 5%); @@ -179,4 +192,4 @@ $colorAboutLink: #84b3ff; // Loading $colorLoadingBg: rgba($colorBodyFg, 0.2); -$colorLoadingFg: $colorAlt1; \ No newline at end of file +$colorLoadingFg: $colorAlt1; diff --git a/platform/commonUI/themes/espresso/res/sass/_mixins.scss b/platform/commonUI/themes/espresso/res/sass/_mixins.scss index 385b41a079..b196557ba3 100644 --- a/platform/commonUI/themes/espresso/res/sass/_mixins.scss +++ b/platform/commonUI/themes/espresso/res/sass/_mixins.scss @@ -4,7 +4,7 @@ @include boxShdw($shdwBtns); } - @mixin btnSubtle($bg: $colorBodyBg, $bgHov: none, $fg: $colorBodyFg, $ic: $colorBtnIcon) { +@mixin btnSubtle($bg: $colorBodyBg, $bgHov: none, $fg: $colorBodyFg, $ic: $colorBtnIcon) { @include containerSubtle($bg, $fg); @include btnBase($bg, linear-gradient(lighten($bg, 15%), lighten($bg, 10%)), $fg, $ic); @include text-shadow($shdwItemText); diff --git a/platform/commonUI/themes/snow/res/css/theme-snow.css b/platform/commonUI/themes/snow/res/css/theme-snow.css index e6fab7b20b..6ec5b55434 100644 --- a/platform/commonUI/themes/snow/res/css/theme-snow.css +++ b/platform/commonUI/themes/snow/res/css/theme-snow.css @@ -306,7 +306,7 @@ a.disabled { *****************************************************************************/ /************************** FONTS */ @font-face { - /* + /* * Use https://icomoon.io/app with /platform/commonUI/general/res/fonts/symbols/icomoon.io-WTD-symbols-project.json */ font-family: 'symbolsfont'; @@ -314,21 +314,17 @@ a.disabled { src: url("../../../../general/res/fonts/symbols/wtdsymbols.eot?#iefix") format("embedded-opentype"), url("../../../../general/res/fonts/symbols/wtdsymbols.woff") format("woff"), url("../../../../general/res/fonts/symbols/wtdsymbols.ttf") format("truetype"), url("../../../../general/res/fonts/symbols/wtdsymbols.svg#armataregular") format("svg"); font-weight: normal; font-style: normal; } -/* line 37, ../../../../general/res/sass/_global.scss */ -.ui-symbol, .l-datetime-picker .l-month-year-pager .pager { - font-family: 'symbolsfont'; } - /************************** HTML ENTITIES */ -/* line 42, ../../../../general/res/sass/_global.scss */ +/* line 38, ../../../../general/res/sass/_global.scss */ a { color: #999; cursor: pointer; text-decoration: none; } - /* line 46, ../../../../general/res/sass/_global.scss */ + /* line 42, ../../../../general/res/sass/_global.scss */ a:hover { color: #0099cc; } -/* line 51, ../../../../general/res/sass/_global.scss */ +/* line 47, ../../../../general/res/sass/_global.scss */ body, html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: grayscale; @@ -336,28 +332,29 @@ body, html { color: #666; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 100%; + font-weight: 200; height: 100%; width: 100%; overflow: hidden; } -/* line 64, ../../../../general/res/sass/_global.scss */ +/* line 60, ../../../../general/res/sass/_global.scss */ em { font-style: normal; } -/* line 68, ../../../../general/res/sass/_global.scss */ +/* line 64, ../../../../general/res/sass/_global.scss */ input, textarea { font-family: Helvetica, Arial, sans-serif; } -/* line 72, ../../../../general/res/sass/_global.scss */ +/* line 68, ../../../../general/res/sass/_global.scss */ input[type="text"] { vertical-align: baseline; padding: 3px 5px !important; } -/* line 77, ../../../../general/res/sass/_global.scss */ +/* line 73, ../../../../general/res/sass/_global.scss */ h1, h2, h3 { margin: 0; } -/* line 81, ../../../../general/res/sass/_global.scss */ +/* line 77, ../../../../general/res/sass/_global.scss */ h1 { font-size: 1.7em; font-weight: normal !important; @@ -365,16 +362,16 @@ h1 { margin-bottom: 20px; margin-top: 0; } -/* line 89, ../../../../general/res/sass/_global.scss */ +/* line 85, ../../../../general/res/sass/_global.scss */ p { margin-bottom: 10px; } -/* line 93, ../../../../general/res/sass/_global.scss */ +/* line 89, ../../../../general/res/sass/_global.scss */ mct-container { display: block; } -/* line 97, ../../../../general/res/sass/_global.scss */ -.abs, .l-datetime-picker .l-month-year-pager .pager, +/* line 93, ../../../../general/res/sass/_global.scss */ +.abs, .l-inspect, .l-datetime-picker .l-month-year-pager .pager, .l-datetime-picker .l-month-year-pager .val, .s-menu-btn span.l-click-area { position: absolute; top: 0; @@ -384,50 +381,50 @@ mct-container { height: auto; width: auto; } -/* line 107, ../../../../general/res/sass/_global.scss */ +/* line 103, ../../../../general/res/sass/_global.scss */ .code, .codehilite { font-family: "Lucida Console", monospace; font-size: 0.7em; line-height: 150%; white-space: pre; } -/* line 114, ../../../../general/res/sass/_global.scss */ +/* line 110, ../../../../general/res/sass/_global.scss */ .codehilite { background-color: rgba(102, 102, 102, 0.1); padding: 1em; } -/* line 120, ../../../../general/res/sass/_global.scss */ +/* line 116, ../../../../general/res/sass/_global.scss */ .align-right { text-align: right; } -/* line 124, ../../../../general/res/sass/_global.scss */ +/* line 120, ../../../../general/res/sass/_global.scss */ .centered { text-align: center; } -/* line 128, ../../../../general/res/sass/_global.scss */ +/* line 124, ../../../../general/res/sass/_global.scss */ .scrolling { overflow: auto; } -/* line 132, ../../../../general/res/sass/_global.scss */ +/* line 128, ../../../../general/res/sass/_global.scss */ .vscroll { overflow-y: auto; } -/* line 136, ../../../../general/res/sass/_global.scss */ +/* line 132, ../../../../general/res/sass/_global.scss */ .no-margin { margin: 0; } -/* line 140, ../../../../general/res/sass/_global.scss */ +/* line 136, ../../../../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 144, ../../../../general/res/sass/_global.scss */ +/* line 140, ../../../../general/res/sass/_global.scss */ .hide, .hidden { display: none !important; } -/* line 149, ../../../../general/res/sass/_global.scss */ +/* line 145, ../../../../general/res/sass/_global.scss */ .sep { color: rgba(255, 255, 255, 0.2); } @@ -453,7 +450,7 @@ mct-container { * at runtime from the About dialog for additional information. *****************************************************************************/ /* line 26, ../../../../general/res/sass/_about.scss */ -.l-about.abs, .l-datetime-picker .l-month-year-pager .l-about.pager, +.l-about.abs, .l-about.l-inspect, .l-datetime-picker .l-month-year-pager .l-about.pager, .l-datetime-picker .l-month-year-pager .l-about.val, .s-menu-btn span.l-about.l-click-area { overflow: auto; } /* line 31, ../../../../general/res/sass/_about.scss */ @@ -545,7 +542,7 @@ mct-container { * at runtime from the About dialog for additional information. *****************************************************************************/ /* line 24, ../../../../general/res/sass/_text.scss */ -.abs.l-standalone, .l-datetime-picker .l-month-year-pager .l-standalone.pager, +.abs.l-standalone, .l-standalone.l-inspect, .l-datetime-picker .l-month-year-pager .l-standalone.pager, .l-datetime-picker .l-month-year-pager .l-standalone.val, .s-menu-btn span.l-standalone.l-click-area { padding: 5% 20%; } @@ -607,73 +604,89 @@ mct-container { border-top: 5px solid #0099cc; border-right: 5px solid transparent; } -/* line 32, ../../../../general/res/sass/_icons.scss */ -.ui-symbol.type-icon, .l-datetime-picker .l-month-year-pager .type-icon.pager { - color: #b3b3b3; } -/* line 35, ../../../../general/res/sass/_icons.scss */ -.ui-symbol.icon, .l-datetime-picker .l-month-year-pager .icon.pager { - color: #0099cc; } - /* line 37, ../../../../general/res/sass/_icons.scss */ - .ui-symbol.icon.alert, .l-datetime-picker .l-month-year-pager .icon.alert.pager { - color: #ff3c00; } - /* line 39, ../../../../general/res/sass/_icons.scss */ - .ui-symbol.icon.alert:hover, .l-datetime-picker .l-month-year-pager .icon.alert.pager:hover { - color: #ff8a66; } - /* line 43, ../../../../general/res/sass/_icons.scss */ - .ui-symbol.icon.major, .l-datetime-picker .l-month-year-pager .icon.major.pager { - font-size: 1.65em; } -/* line 47, ../../../../general/res/sass/_icons.scss */ -.ui-symbol.icon-calendar:after, .l-datetime-picker .l-month-year-pager .icon-calendar.pager:after { - content: "\e605"; } +/* line 31, ../../../../general/res/sass/_icons.scss */ +.ui-symbol, .t-item-icon, .s-icon-btn, .l-datetime-picker .l-month-year-pager .pager { + font-family: 'symbolsfont'; } + /* line 33, ../../../../general/res/sass/_icons.scss */ + .ui-symbol.type-icon, .type-icon.t-item-icon, .type-icon.s-icon-btn, .l-datetime-picker .l-month-year-pager .type-icon.pager { + color: #b3b3b3; } + /* line 36, ../../../../general/res/sass/_icons.scss */ + .ui-symbol.icon, .t-item-icon, .icon.s-icon-btn, .l-datetime-picker .l-month-year-pager .icon.pager, .l-datetime-picker .l-month-year-pager .pager.t-item-icon { + color: #0099cc; + font-size: inherit; } + /* line 40, ../../../../general/res/sass/_icons.scss */ + .ui-symbol.icon.alert, .alert.t-item-icon, .icon.alert.s-icon-btn, .l-datetime-picker .l-month-year-pager .icon.alert.pager, .l-datetime-picker .l-month-year-pager .alert.pager.t-item-icon { + color: #ff3c00; } + /* line 42, ../../../../general/res/sass/_icons.scss */ + .ui-symbol.icon.alert:hover, .alert.t-item-icon:hover, .icon.alert.s-icon-btn:hover, .l-datetime-picker .l-month-year-pager .icon.alert.pager:hover { + color: #ff8a66; } + /* line 46, ../../../../general/res/sass/_icons.scss */ + .ui-symbol.icon.major, .major.t-item-icon, .icon.major.s-icon-btn, .l-datetime-picker .l-month-year-pager .icon.major.pager, .l-datetime-picker .l-month-year-pager .major.pager.t-item-icon { + font-size: 1.65em; } + /* line 50, ../../../../general/res/sass/_icons.scss */ + .ui-symbol.icon-calendar:after, .icon-calendar.t-item-icon:after, .icon-calendar.s-icon-btn:after, .l-datetime-picker .l-month-year-pager .icon-calendar.pager:after { + content: "\e605"; } -/* line 52, ../../../../general/res/sass/_icons.scss */ -.bar .ui-symbol, .bar .l-datetime-picker .l-month-year-pager .pager, .l-datetime-picker .l-month-year-pager .bar .pager { +/* line 55, ../../../../general/res/sass/_icons.scss */ +.bar .ui-symbol, .bar .t-item-icon, .bar .s-icon-btn, .bar .l-datetime-picker .l-month-year-pager .pager, .l-datetime-picker .l-month-year-pager .bar .pager { display: inline-block; } -/* line 56, ../../../../general/res/sass/_icons.scss */ +/* line 59, ../../../../general/res/sass/_icons.scss */ .invoke-menu { text-shadow: none; display: inline-block; } -/* line 61, ../../../../general/res/sass/_icons.scss */ +/* line 64, ../../../../general/res/sass/_icons.scss */ .s-menu-btn .invoke-menu, -.icon.major .invoke-menu { +.icon.major .invoke-menu, +.major.t-item-icon .invoke-menu { margin-left: 3px; } -/* line 66, ../../../../general/res/sass/_icons.scss */ +/* line 69, ../../../../general/res/sass/_icons.scss */ .menu .type-icon, .tree-item .type-icon, .super-menu.menu .type-icon { position: absolute; } -/* line 76, ../../../../general/res/sass/_icons.scss */ -.l-icon-link:before { - content: "\f4"; } - -/* line 80, ../../../../general/res/sass/_icons.scss */ +/* line 75, ../../../../general/res/sass/_icons.scss */ .l-icon-alert { display: none !important; } - /* line 82, ../../../../general/res/sass/_icons.scss */ + /* line 77, ../../../../general/res/sass/_icons.scss */ .l-icon-alert:before { color: #ff3c00; content: "!"; } -/*[class*="s-limit"] { - //white-space: nowrap; - &:before { - display: inline-block; - font-family: symbolsfont; - font-size: 0.75em; - font-style: normal !important; - margin-right: $interiorMarginSm; - vertical-align: middle; - } -}*/ -/* line 25, ../../../../general/res/sass/_limits.scss */ +/* line 84, ../../../../general/res/sass/_icons.scss */ +.t-item-icon { + display: inline-block; + line-height: normal; + position: relative; } + /* line 92, ../../../../general/res/sass/_icons.scss */ + .t-item-icon.l-icon-link:before { + color: #49dedb; + content: "\f4"; + height: auto; + width: auto; + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 10%; + -moz-transform-origin: bottom left; + -ms-transform-origin: bottom left; + -webkit-transform-origin: bottom left; + transform-origin: bottom left; + -moz-transform: scale(0.3); + -ms-transform: scale(0.3); + -webkit-transform: scale(0.3); + transform: scale(0.3); + z-index: 2; } + +/* line 13, ../../../../general/res/sass/_limits.scss */ .s-limit-red { background: rgba(255, 0, 0, 0.3) !important; } -/* line 26, ../../../../general/res/sass/_limits.scss */ +/* line 14, ../../../../general/res/sass/_limits.scss */ .s-limit-yellow { background: rgba(255, 170, 0, 0.3) !important; } @@ -693,10 +706,10 @@ tr[class*="s-limit"].s-limit-yellow td:first-child:before { font-size: 0.8em; display: inline; margin-right: 3px; } -/* line 36, ../../../../general/res/sass/_limits.scss */ +/* line 24, ../../../../general/res/sass/_limits.scss */ tr[class*="s-limit"].s-limit-upr td:first-child:before { content: "ë"; } -/* line 37, ../../../../general/res/sass/_limits.scss */ +/* line 25, ../../../../general/res/sass/_limits.scss */ tr[class*="s-limit"].s-limit-lwr td:first-child:before { content: "î"; } @@ -716,10 +729,10 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { font-size: 0.8em; display: inline; margin-right: 3px; } -/* line 48, ../../../../general/res/sass/_limits.scss */ +/* line 37, ../../../../general/res/sass/_limits.scss */ :not(tr)[class*="s-limit"].s-limit-upr:before { content: "ë"; } -/* line 49, ../../../../general/res/sass/_limits.scss */ +/* line 38, ../../../../general/res/sass/_limits.scss */ :not(tr)[class*="s-limit"].s-limit-lwr:before { content: "î"; } @@ -926,140 +939,98 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* line 25, ../../../../general/res/sass/helpers/_splitter.scss */ -.split-layout .splitter { - background-color: #969696; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - border-radius: 5px; - overflow: hidden; +/* line 23, ../../../../general/res/sass/helpers/_splitter.scss */ +.splitter { + display: block; position: absolute; z-index: 1; } /* line 33, ../../../../general/res/sass/helpers/_splitter.scss */ - .split-layout .splitter:hover { - background-color: #0099cc; } -/* line 38, ../../../../general/res/sass/helpers/_splitter.scss */ + .splitter:after { + content: ""; + pointer-events: none; + overflow: hidden; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: auto; + height: auto; + background: #e3e3e3; + display: block; } + /* line 47, ../../../../general/res/sass/helpers/_splitter.scss */ + .splitter:active:after { + background-color: #0099cc !important; } + +/* line 66, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.horizontal { overflow: hidden; } - /* line 41, ../../../../general/res/sass/helpers/_splitter.scss */ + /* line 69, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.horizontal .pane { left: 0; right: 0; } - /* line 44, ../../../../general/res/sass/helpers/_splitter.scss */ + /* line 72, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.horizontal .pane.top { bottom: auto; } - /* line 47, ../../../../general/res/sass/helpers/_splitter.scss */ + /* line 75, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.horizontal .pane.bottom { top: auto; } - /* line 51, ../../../../general/res/sass/helpers/_splitter.scss */ + /* line 79, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.horizontal > .splitter { cursor: row-resize; left: 0; right: 0; - width: auto; - height: 5px; } - /* line 159, ../../../../general/res/sass/_mixins.scss */ - .split-layout.horizontal > .splitter:before { - -moz-transition-property: "border-color"; - -o-transition-property: "border-color"; - -webkit-transition-property: "border-color"; - transition-property: "border-color"; - -moz-transition-duration: 0.75s; - -o-transition-duration: 0.75s; - -webkit-transition-duration: 0.75s; - transition-duration: 0.75s; - -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; - content: ''; - display: block; - height: auto; - pointer-events: none; - position: absolute; - z-index: 2; - border-top: 1px dotted #d6d6d6; - top: 2px; - left: 5px; - right: 5px; } - /* line 181, ../../../../general/res/sass/_mixins.scss */ - .split-layout.horizontal > .splitter:not(.disabled):hover:before { - -moz-transition-property: "border-color"; - -o-transition-property: "border-color"; - -webkit-transition-property: "border-color"; - transition-property: "border-color"; - -moz-transition-duration: 25ms; - -o-transition-duration: 25ms; - -webkit-transition-duration: 25ms; - transition-duration: 25ms; - -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; - border-color: #fcfcfc; } -/* line 61, ../../../../general/res/sass/helpers/_splitter.scss */ + height: 24px; } + /* line 84, ../../../../general/res/sass/helpers/_splitter.scss */ + .split-layout.horizontal > .splitter:after { + top: 11px; + bottom: 11px; } +/* line 92, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.vertical .pane { top: 0; bottom: 0; } - /* line 64, ../../../../general/res/sass/helpers/_splitter.scss */ + /* line 95, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.vertical .pane.left { right: auto; } - /* line 67, ../../../../general/res/sass/helpers/_splitter.scss */ + /* line 98, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.vertical .pane.right { left: auto; } -/* line 71, ../../../../general/res/sass/helpers/_splitter.scss */ +/* line 102, ../../../../general/res/sass/helpers/_splitter.scss */ .split-layout.vertical > .splitter { - bottom: 0; cursor: col-resize; - width: 5px; } - /* line 159, ../../../../general/res/sass/_mixins.scss */ - .split-layout.vertical > .splitter:before { - -moz-transition-property: "border-color"; - -o-transition-property: "border-color"; - -webkit-transition-property: "border-color"; - transition-property: "border-color"; - -moz-transition-duration: 0.75s; - -o-transition-duration: 0.75s; - -webkit-transition-duration: 0.75s; - transition-duration: 0.75s; - -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; - content: ''; - display: block; - height: auto; - pointer-events: none; - position: absolute; - z-index: 2; - border-left: 1px dotted #d6d6d6; - left: 2px; - bottom: 5px; - top: 5px; } - /* line 181, ../../../../general/res/sass/_mixins.scss */ - .split-layout.vertical > .splitter:not(.disabled):hover:before { - -moz-transition-property: "border-color"; - -o-transition-property: "border-color"; - -webkit-transition-property: "border-color"; - transition-property: "border-color"; - -moz-transition-duration: 25ms; - -o-transition-duration: 25ms; - -webkit-transition-duration: 25ms; - transition-duration: 25ms; - -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; - border-color: #fcfcfc; } + top: 0; + bottom: 0; } + /* line 106, ../../../../general/res/sass/helpers/_splitter.scss */ + .split-layout.vertical > .splitter:not(.flush-right) { + width: 24px; } + /* line 108, ../../../../general/res/sass/helpers/_splitter.scss */ + .split-layout.vertical > .splitter:not(.flush-right):after { + left: 11px; + right: 11px; } + /* line 112, ../../../../general/res/sass/helpers/_splitter.scss */ + .split-layout.vertical > .splitter.flush-right { + width: 12px; } + /* line 114, ../../../../general/res/sass/helpers/_splitter.scss */ + .split-layout.vertical > .splitter.flush-right:after { + background-color: transparent; + left: auto; + right: 0; + width: 2px; } + /* line 118, ../../../../general/res/sass/helpers/_splitter.scss */ + .split-layout.vertical > .splitter.flush-right.edge-shdw { + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSI0MCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSI3MCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wNSIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjIiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA='); + background-size: 100%; + background-image: -moz-linear-gradient(0deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.05) 70%, rgba(0, 0, 0, 0.2) 100%); + background-image: -webkit-linear-gradient(0deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.05) 70%, rgba(0, 0, 0, 0.2) 100%); + background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.05) 70%, rgba(0, 0, 0, 0.2) 100%); } -/* line 80, ../../../../general/res/sass/helpers/_splitter.scss */ -.browse-area .splitter { - top: 34px; } +/*.browse-area .splitter { + top: 0; //$ueTopBarH + $interiorMarginLg; +} -/* line 84, ../../../../general/res/sass/helpers/_splitter.scss */ .edit-area .splitter { - top: 0; } - + top: 0; +}*/ /***************************************************************************** * Open MCT Web, Copyright (c) 2014-2015, United States Government * as represented by the Administrator of the National Aeronautics and Space @@ -1264,18 +1235,6 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { padding: 0.375rem; border-width: 2px; } -/* Styles for messages */ -/* line 4, ../../../../general/res/sass/_messages.scss */ -.message.block { - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - padding: 10px; } -/* line 8, ../../../../general/res/sass/_messages.scss */ -.message.error { - background-color: rgba(255, 60, 0, 0.3); - color: #ff8a66; } - /***************************************************************************** * Open MCT Web, Copyright (c) 2014-2015, United States Government * as represented by the Administrator of the National Aeronautics and Space @@ -1297,17 +1256,84 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* Classes to be used for lists of properties and values */ -/* line 25, ../../../../general/res/sass/_properties.scss */ -.properties .s-row { - border-top: 1px solid rgba(102, 102, 102, 0.2); - font-size: 0.8em; } - /* line 28, ../../../../general/res/sass/_properties.scss */ - .properties .s-row:first-child { - border: none; } - /* line 31, ../../../../general/res/sass/_properties.scss */ - .properties .s-row .s-value { - color: #fff; } +/* Styles for the Inspector pane */ +/* line 24, ../../../../general/res/sass/_inspector.scss */ +.l-inspect, +.l-inspect table tr td { + font-size: 0.7rem; } + +/* line 29, ../../../../general/res/sass/_inspector.scss */ +.l-inspect { + background: #efefef; + color: #666; + line-height: 140%; } + /* line 34, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .pane-header { + color: #999999; + font-size: 0.8rem; } + /* line 37, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .pane-header:before { + color: gray; + content: '\e615'; + display: inline; + font-family: symbolsfont; + margin-right: 5px; + vertical-align: bottom; } + /* line 47, ../../../../general/res/sass/_inspector.scss */ + .l-inspect ul li, + .l-inspect em { + display: block; + position: relative; } + /* line 53, ../../../../general/res/sass/_inspector.scss */ + .l-inspect ul li { + margin-bottom: 10px; } + /* line 57, ../../../../general/res/sass/_inspector.scss */ + .l-inspect em { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + background-color: #e3e3e3; + color: #898989; + margin-bottom: 5px; + padding: 5px 5px; + text-transform: uppercase; } + /* line 66, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-properties { + padding: 3px 0; } + /* line 67, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-properties:not(.first) { + border-top: 1px solid #e3e3e3; } + /* line 71, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-properties .label { + color: #999999; + text-transform: uppercase; } + /* line 75, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-properties .value { + color: #404040; + word-break: break-all; } + /* line 83, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-location .location-item { + cursor: pointer; + display: inline-block; + position: relative; + padding: 2px 4px; } + /* line 88, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-location .location-item:hover { + background: rgba(102, 102, 102, 0.1); + color: #333333; } + /* line 91, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-location .location-item:hover .icon, .l-inspect .inspector-location .location-item:hover .t-item-icon { + color: #0099cc; } + /* line 96, ../../../../general/res/sass/_inspector.scss */ + .l-inspect .inspector-location:not(.last) .t-object-label .t-title-label:after { + color: #8c8c8c; + content: '\3e'; + display: inline-block; + font-family: symbolsfont; + font-size: 8px; + line-height: inherit; + margin-left: 3px; + width: 4px; } /********************************* CONTROLS */ /* line 1, ../../../../general/res/sass/controls/_breadcrumb.scss */ @@ -1332,7 +1358,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { display: inline-block; padding: 2px 4px; } /* line 18, ../../../../general/res/sass/controls/_breadcrumb.scss */ - .l-breadcrumb .l-breadcrumb-item a .icon { + .l-breadcrumb .l-breadcrumb-item a .icon, .l-breadcrumb .l-breadcrumb-item a .t-item-icon { color: #0099cc; margin-right: 5px; } /* line 22, ../../../../general/res/sass/controls/_breadcrumb.scss */ @@ -1340,7 +1366,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { background: white; color: gray; } /* line 25, ../../../../general/res/sass/controls/_breadcrumb.scss */ - .l-breadcrumb .l-breadcrumb-item a:hover .icon { + .l-breadcrumb .l-breadcrumb-item a:hover .icon, .l-breadcrumb .l-breadcrumb-item a:hover .t-item-icon { color: #0099cc; } /***************************************************************************** @@ -1365,10 +1391,8 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { * at runtime from the About dialog for additional information. *****************************************************************************/ /* line 25, ../../../../general/res/sass/controls/_buttons.scss */ -.s-btn, .s-menu-btn { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; +.s-btn, .s-menu-btn, +.s-icon-btn { -moz-user-select: -moz-none; -ms-user-select: none; -webkit-user-select: none; @@ -1376,26 +1400,32 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { cursor: pointer; text-decoration: none; height: 25px; - line-height: 25px; + line-height: 25px; } + +/* line 34, ../../../../general/res/sass/controls/_buttons.scss */ +.s-btn, .s-menu-btn { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; padding: 0 7.5px; font-size: 0.7rem; } - /* line 35, ../../../../general/res/sass/controls/_buttons.scss */ - .s-btn .icon, .s-menu-btn .icon { + /* line 39, ../../../../general/res/sass/controls/_buttons.scss */ + .s-btn .icon, .s-menu-btn .icon, .s-btn .t-item-icon, .s-menu-btn .t-item-icon { font-size: 0.8rem; color: #0099cc; } - /* line 40, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 44, ../../../../general/res/sass/controls/_buttons.scss */ .s-btn .title-label, .s-menu-btn .title-label { vertical-align: top; } - /* line 44, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 48, ../../../../general/res/sass/controls/_buttons.scss */ .s-btn.lg, .lg.s-menu-btn { font-size: 1rem; } - /* line 48, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 52, ../../../../general/res/sass/controls/_buttons.scss */ .s-btn.sm, .sm.s-menu-btn { padding: 0 5px; } - /* line 52, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 56, ../../../../general/res/sass/controls/_buttons.scss */ .s-btn.vsm, .vsm.s-menu-btn { padding: 0 2.5px; } - /* line 56, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 60, ../../../../general/res/sass/controls/_buttons.scss */ .s-btn.major, .major.s-menu-btn { background-color: #0099cc; -moz-border-radius: 4px; @@ -1415,17 +1445,17 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -webkit-transition: background, 0.25s; transition: background, 0.25s; text-shadow: none; } - /* line 272, ../../../../general/res/sass/_mixins.scss */ - .s-btn.major .icon, .major.s-menu-btn .icon { + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .s-btn.major .icon, .major.s-menu-btn .icon, .s-btn.major .t-item-icon, .major.s-menu-btn .t-item-icon { color: #fff; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 277, ../../../../general/res/sass/_mixins.scss */ + /* line 302, ../../../../general/res/sass/_mixins.scss */ .s-btn.major:not(.disabled):hover, .major.s-menu-btn:not(.disabled):hover { background: deepskyblue; } - /* line 279, ../../../../general/res/sass/_mixins.scss */ - .s-btn.major:not(.disabled):hover > .icon, .major.s-menu-btn:not(.disabled):hover > .icon { + /* line 304, ../../../../general/res/sass/_mixins.scss */ + .s-btn.major:not(.disabled):hover > .icon, .major.s-menu-btn:not(.disabled):hover > .icon, .s-btn.major:not(.disabled):hover > .t-item-icon, .major.s-menu-btn:not(.disabled):hover > .t-item-icon { color: white; } } - /* line 62, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 66, ../../../../general/res/sass/controls/_buttons.scss */ .s-btn:not(.major), .s-menu-btn:not(.major) { background-color: #969696; -moz-border-radius: 4px; @@ -1445,20 +1475,20 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -webkit-transition: background, 0.25s; transition: background, 0.25s; text-shadow: none; } - /* line 272, ../../../../general/res/sass/_mixins.scss */ - .s-btn:not(.major) .icon, .s-menu-btn:not(.major) .icon { + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .s-btn:not(.major) .icon, .s-menu-btn:not(.major) .icon, .s-btn:not(.major) .t-item-icon, .s-menu-btn:not(.major) .t-item-icon { color: #eee; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 277, ../../../../general/res/sass/_mixins.scss */ + /* line 302, ../../../../general/res/sass/_mixins.scss */ .s-btn:not(.major):not(.disabled):hover, .s-menu-btn:not(.major):not(.disabled):hover { background: #0099cc; } - /* line 279, ../../../../general/res/sass/_mixins.scss */ - .s-btn:not(.major):not(.disabled):hover > .icon, .s-menu-btn:not(.major):not(.disabled):hover > .icon { + /* line 304, ../../../../general/res/sass/_mixins.scss */ + .s-btn:not(.major):not(.disabled):hover > .icon, .s-menu-btn:not(.major):not(.disabled):hover > .icon, .s-btn:not(.major):not(.disabled):hover > .t-item-icon, .s-menu-btn:not(.major):not(.disabled):hover > .t-item-icon { color: white; } } - /* line 71, ../../../../general/res/sass/controls/_buttons.scss */ - .s-btn.pause-play .icon:before, .pause-play.s-menu-btn .icon:before { + /* line 75, ../../../../general/res/sass/controls/_buttons.scss */ + .s-btn.pause-play .icon:before, .pause-play.s-menu-btn .icon:before, .s-btn.pause-play .t-item-icon:before, .pause-play.s-menu-btn .t-item-icon:before { content: "\0000F1"; } - /* line 74, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 78, ../../../../general/res/sass/controls/_buttons.scss */ .s-btn.pause-play.paused, .pause-play.paused.s-menu-btn { background-color: #ff9900; -moz-border-radius: 4px; @@ -1478,18 +1508,18 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -webkit-transition: background, 0.25s; transition: background, 0.25s; text-shadow: none; } - /* line 272, ../../../../general/res/sass/_mixins.scss */ - .s-btn.pause-play.paused .icon, .pause-play.paused.s-menu-btn .icon { + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .s-btn.pause-play.paused .icon, .pause-play.paused.s-menu-btn .icon, .s-btn.pause-play.paused .t-item-icon, .pause-play.paused.s-menu-btn .t-item-icon { color: #fff; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 277, ../../../../general/res/sass/_mixins.scss */ + /* line 302, ../../../../general/res/sass/_mixins.scss */ .s-btn.pause-play.paused:not(.disabled):hover, .pause-play.paused.s-menu-btn:not(.disabled):hover { background: #ffad33; } - /* line 279, ../../../../general/res/sass/_mixins.scss */ - .s-btn.pause-play.paused:not(.disabled):hover > .icon, .pause-play.paused.s-menu-btn:not(.disabled):hover > .icon { + /* line 304, ../../../../general/res/sass/_mixins.scss */ + .s-btn.pause-play.paused:not(.disabled):hover > .icon, .pause-play.paused.s-menu-btn:not(.disabled):hover > .icon, .s-btn.pause-play.paused:not(.disabled):hover > .t-item-icon, .pause-play.paused.s-menu-btn:not(.disabled):hover > .t-item-icon { color: white; } } - /* line 76, ../../../../general/res/sass/controls/_buttons.scss */ - .s-btn.pause-play.paused .icon, .pause-play.paused.s-menu-btn .icon { + /* line 80, ../../../../general/res/sass/controls/_buttons.scss */ + .s-btn.pause-play.paused .icon, .pause-play.paused.s-menu-btn .icon, .s-btn.pause-play.paused .t-item-icon, .pause-play.paused.s-menu-btn .t-item-icon { -moz-animation-name: pulse; -webkit-animation-name: pulse; animation-name: pulse; @@ -1505,23 +1535,212 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -moz-animation-timing-function: ease-in-out; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } - /* line 78, ../../../../general/res/sass/controls/_buttons.scss */ - .s-btn.pause-play.paused .icon :before, .pause-play.paused.s-menu-btn .icon :before { + /* line 82, ../../../../general/res/sass/controls/_buttons.scss */ + .s-btn.pause-play.paused .icon :before, .pause-play.paused.s-menu-btn .icon :before, .s-btn.pause-play.paused .t-item-icon :before, .pause-play.paused.s-menu-btn .t-item-icon :before { content: "\0000EF"; } - /* line 86, ../../../../general/res/sass/controls/_buttons.scss */ - .s-btn.show-thumbs .icon:before, .show-thumbs.s-menu-btn .icon:before { + /* line 90, ../../../../general/res/sass/controls/_buttons.scss */ + .s-btn.show-thumbs .icon:before, .show-thumbs.s-menu-btn .icon:before, .s-btn.show-thumbs .t-item-icon:before, .show-thumbs.s-menu-btn .t-item-icon:before { content: "\000039"; } -/* line 92, ../../../../general/res/sass/controls/_buttons.scss */ +/* line 96, ../../../../general/res/sass/controls/_buttons.scss */ +.s-icon-btn { + color: #eee; } + /* line 99, ../../../../general/res/sass/controls/_buttons.scss */ + .s-icon-btn:hover { + color: white; } + +@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 104, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -moz-transition-property: color, background-color; + -o-transition-property: color, background-color; + -webkit-transition-property: color, background-color; + transition-property: color, background-color; + -moz-transition-duration: 100ms; + -o-transition-duration: 100ms; + -webkit-transition-duration: 100ms; + transition-duration: 100ms; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; + color: #d6d6d6; + cursor: pointer; + font-family: symbolsfont; + font-size: 9px; + display: block; + position: absolute; + line-height: 24px; + height: 24px; + width: 9px; + text-align: center; } + /* line 133, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab:hover { + color: #0099cc; } + /* line 138, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.collapsed { + background-color: #969696; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #fff; + display: inline-block; + -moz-user-select: -moz-none; + -ms-user-select: none; + -webkit-user-select: none; + user-select: none; + -moz-transition: background, 0.25s; + -o-transition: background, 0.25s; + -webkit-transition: background, 0.25s; + transition: background, 0.25s; + text-shadow: none; } + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .mini-tab.collapsed .icon, .mini-tab.collapsed .t-item-icon { + color: #eee; } } + @media screen and (min-device-width: 800px) and (min-device-height: 1025px) and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 800px) and (min-device-height: 1025px) and (min-device-width: 1025px) and (min-device-height: 800px), screen and (min-device-width: 1025px) and (min-device-height: 800px) and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 302, ../../../../general/res/sass/_mixins.scss */ + .mini-tab.collapsed:not(.disabled):hover { + background: #0099cc; } + /* line 304, ../../../../general/res/sass/_mixins.scss */ + .mini-tab.collapsed:not(.disabled):hover > .icon, .mini-tab.collapsed:not(.disabled):hover > .t-item-icon { + color: white; } } +@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 141, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.collapsed:before { + opacity: 0; } + /* line 142, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.collapsed:after { + opacity: 1; } + /* line 144, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.collapsed:hover:before { + opacity: 1; } + /* line 145, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.collapsed:hover:after { + opacity: 0; } + /* line 150, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab:before, .mini-tab:after { + -moz-transition-property: left, right, opacity; + -o-transition-property: left, right, opacity; + -webkit-transition-property: left, right, opacity; + transition-property: left, right, opacity; + -moz-transition-duration: 250ms; + -o-transition-duration: 250ms; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; + display: block; + height: 100%; + position: absolute; } + /* line 159, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab:before { + width: 9px; } + /* line 165, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab:after { + width: 100%; + text-align: center; + opacity: 0; } + /* line 172, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-left { + text-align: right; } + /* line 175, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-left:before { + content: '\3c'; + right: 0; } + /* line 180, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-left.collapsed { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + text-align: left; } + /* line 183, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-left.collapsed:before { + content: '\3e'; + left: 0; } + /* line 187, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-left.collapsed:hover:before { + left: 2px; } + /* line 190, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-right { + text-align: left; } + /* line 193, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-right:before { + content: '\3e'; + left: 0; } + /* line 198, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-right.collapsed { + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + /* line 200, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-right.collapsed:before { + text-align: right; + content: '\3c'; + right: 0; } + /* line 205, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab.anchor-right.collapsed:hover:before { + right: 2px; } } + +@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 211, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab-icon { + color: #d6d6d6; + cursor: pointer; + display: block; + font-family: symbolsfont; + font-size: 9px; + position: absolute; + height: 9px; + width: 9px; + line-height: 9px; + overflow: hidden; + word-break: break-all; } + /* line 228, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab-icon:before, .mini-tab-icon:after { + position: absolute; + display: inherit; } + /* line 234, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab-icon:before { + content: '\78'; } + /* line 238, ../../../../general/res/sass/controls/_buttons.scss */ + .mini-tab-icon:hover { + color: #0099cc; } } + +/* line 245, ../../../../general/res/sass/controls/_buttons.scss */ .l-btn-set { font-size: 0; } - /* line 98, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 251, ../../../../general/res/sass/controls/_buttons.scss */ .l-btn-set .s-btn, .l-btn-set .s-menu-btn { -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; margin-left: 1px; } - /* line 104, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 257, ../../../../general/res/sass/controls/_buttons.scss */ .l-btn-set .first .s-btn, .l-btn-set .first .s-menu-btn { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; @@ -1530,7 +1749,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; margin-left: 0; } - /* line 111, ../../../../general/res/sass/controls/_buttons.scss */ + /* line 264, ../../../../general/res/sass/controls/_buttons.scss */ .l-btn-set .last .s-btn, .l-btn-set .last .s-menu-btn { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; @@ -1539,7 +1758,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } -/* line 118, ../../../../general/res/sass/controls/_buttons.scss */ +/* line 271, ../../../../general/res/sass/controls/_buttons.scss */ .paused:not(.s-btn):not(.s-menu-btn) { border-color: #ff9900 !important; color: #ff9900 !important; } @@ -1583,10 +1802,10 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -webkit-box-sizing: border-box; box-sizing: border-box; text-shadow: rgba(0, 0, 0, 0.8) 0 1px 2px; - -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-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 0.25s; -o-transition-duration: 0.25s; -webkit-transition-duration: 0.25s; @@ -1595,6 +1814,10 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; border: 1px solid transparent; color: #fff; display: block; @@ -1644,41 +1867,13 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/*.control { - // UNUSED? - &.view-control { - .icon { - display: inline-block; - margin: -1px 5px 1px 2px; - vertical-align: middle; - &.triangle-down { - margin: 2px 2px -2px 0px; - } - } - - .label { - display: inline-block; - font-size: 11px; - vertical-align: middle; - } - - .toggle { - @include border-radius(3px); - display: inline-block; - padding: 1px 6px 4px 4px; - &:hover { - background: rgba(white, 0.1); - } - } - } -}*/ -/* line 51, ../../../../general/res/sass/controls/_controls.scss */ +/* line 23, ../../../../general/res/sass/controls/_controls.scss */ .accordion { margin-top: 5px; } - /* line 54, ../../../../general/res/sass/controls/_controls.scss */ + /* line 26, ../../../../general/res/sass/controls/_controls.scss */ .accordion:first-child { margin-top: 0; } - /* line 57, ../../../../general/res/sass/controls/_controls.scss */ + /* line 29, ../../../../general/res/sass/controls/_controls.scss */ .accordion .accordion-head { -moz-border-radius: 3px; -webkit-border-radius: 3px; @@ -1700,10 +1895,10 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { width: auto; height: 18px; text-transform: uppercase; } - /* line 75, ../../../../general/res/sass/controls/_controls.scss */ + /* line 47, ../../../../general/res/sass/controls/_controls.scss */ .accordion .accordion-head:hover { background: rgba(102, 102, 102, 0.4); } - /* line 78, ../../../../general/res/sass/controls/_controls.scss */ + /* line 50, ../../../../general/res/sass/controls/_controls.scss */ .accordion .accordion-head:after { content: "^"; display: block; @@ -1713,10 +1908,10 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { right: 5px; text-transform: none; top: 0; } - /* line 88, ../../../../general/res/sass/controls/_controls.scss */ + /* line 60, ../../../../general/res/sass/controls/_controls.scss */ .accordion .accordion-head:not(.expanded):after { content: "v"; } - /* line 92, ../../../../general/res/sass/controls/_controls.scss */ + /* line 64, ../../../../general/res/sass/controls/_controls.scss */ .accordion .accordion-contents { position: absolute; top: 23px; @@ -1726,14 +1921,14 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { overflow-y: auto; overflow-x: hidden; } -/* line 103, ../../../../general/res/sass/controls/_controls.scss */ +/* line 75, ../../../../general/res/sass/controls/_controls.scss */ .l-composite-control { vertical-align: middle; } - /* line 106, ../../../../general/res/sass/controls/_controls.scss */ + /* line 78, ../../../../general/res/sass/controls/_controls.scss */ .l-composite-control.l-checkbox .composite-control-label { line-height: 18px; } -/* line 112, ../../../../general/res/sass/controls/_controls.scss */ +/* line 84, ../../../../general/res/sass/controls/_controls.scss */ .l-control-group { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; @@ -1742,23 +1937,23 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { display: inline-block; padding: 0 5px; position: relative; } - /* line 120, ../../../../general/res/sass/controls/_controls.scss */ + /* line 92, ../../../../general/res/sass/controls/_controls.scss */ .l-control-group:first-child { border-left: none; padding-left: 0; } -/* line 126, ../../../../general/res/sass/controls/_controls.scss */ +/* line 98, ../../../../general/res/sass/controls/_controls.scss */ .l-local-controls { position: absolute; top: 5px; right: 5px; z-index: 5; } -/* line 136, ../../../../general/res/sass/controls/_controls.scss */ +/* line 108, ../../../../general/res/sass/controls/_controls.scss */ .s-local-controls { font-size: 0.7rem; } -/* line 140, ../../../../general/res/sass/controls/_controls.scss */ +/* line 112, ../../../../general/res/sass/controls/_controls.scss */ label.checkbox.custom { cursor: pointer; display: inline-block; @@ -1767,13 +1962,13 @@ label.checkbox.custom { padding-left: 19px; position: relative; vertical-align: middle; } - /* line 150, ../../../../general/res/sass/controls/_controls.scss */ + /* line 122, ../../../../general/res/sass/controls/_controls.scss */ label.checkbox.custom em { color: #666; display: inline-block; height: 14px; min-width: 14px; } - /* line 155, ../../../../general/res/sass/controls/_controls.scss */ + /* line 127, ../../../../general/res/sass/controls/_controls.scss */ label.checkbox.custom em:before { -moz-border-radius: 3px; -webkit-border-radius: 3px; @@ -1794,63 +1989,63 @@ label.checkbox.custom { top: 0; position: absolute; text-align: center; } - /* line 174, ../../../../general/res/sass/controls/_controls.scss */ + /* line 146, ../../../../general/res/sass/controls/_controls.scss */ label.checkbox.custom.no-text { overflow: hidden; margin-right: 0; padding-left: 0; height: 14px; width: 14px; } - /* line 180, ../../../../general/res/sass/controls/_controls.scss */ + /* line 152, ../../../../general/res/sass/controls/_controls.scss */ label.checkbox.custom.no-text em { overflow: hidden; } - /* line 184, ../../../../general/res/sass/controls/_controls.scss */ + /* line 156, ../../../../general/res/sass/controls/_controls.scss */ label.checkbox.custom input { display: none; } - /* line 186, ../../../../general/res/sass/controls/_controls.scss */ + /* line 158, ../../../../general/res/sass/controls/_controls.scss */ label.checkbox.custom input:checked ~ em:before { background: #0099cc; color: #ccf2ff; content: "2"; } -/* line 194, ../../../../general/res/sass/controls/_controls.scss */ +/* line 166, ../../../../general/res/sass/controls/_controls.scss */ .input-labeled { margin-left: 5px; } - /* line 196, ../../../../general/res/sass/controls/_controls.scss */ + /* line 168, ../../../../general/res/sass/controls/_controls.scss */ .input-labeled label { display: inline-block; margin-right: 3px; } - /* line 200, ../../../../general/res/sass/controls/_controls.scss */ + /* line 172, ../../../../general/res/sass/controls/_controls.scss */ .input-labeled.inline { display: inline-block; } - /* line 203, ../../../../general/res/sass/controls/_controls.scss */ + /* line 175, ../../../../general/res/sass/controls/_controls.scss */ .input-labeled:first-child { margin-left: 0; } -/* line 208, ../../../../general/res/sass/controls/_controls.scss */ +/* line 180, ../../../../general/res/sass/controls/_controls.scss */ .s-menu-btn label.checkbox.custom { margin-left: 5px; } -/* line 213, ../../../../general/res/sass/controls/_controls.scss */ +/* line 185, ../../../../general/res/sass/controls/_controls.scss */ .item .checkbox.checked label { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; border-bottom: none; } -/* line 219, ../../../../general/res/sass/controls/_controls.scss */ +/* line 191, ../../../../general/res/sass/controls/_controls.scss */ .context-available { color: #0099cc; } - /* line 222, ../../../../general/res/sass/controls/_controls.scss */ + /* line 194, ../../../../general/res/sass/controls/_controls.scss */ .context-available:hover { color: deepskyblue; } -/* line 227, ../../../../general/res/sass/controls/_controls.scss */ +/* line 199, ../../../../general/res/sass/controls/_controls.scss */ .view-switcher { - -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-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 100ms; -o-transition-duration: 100ms; -webkit-transition-duration: 100ms; @@ -1858,29 +2053,33 @@ label.checkbox.custom { -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; } + transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; } /******************************************************** OBJECT-HEADER */ -/* line 232, ../../../../general/res/sass/controls/_controls.scss */ +/* line 204, ../../../../general/res/sass/controls/_controls.scss */ .object-header { font-size: 1em; } - /* line 243, ../../../../general/res/sass/controls/_controls.scss */ + /* line 236, ../../../../general/res/sass/controls/_controls.scss */ .object-header > .type-icon { color: #b3b3b3; font-size: 120%; float: left; margin-right: 5px; } - /* line 250, ../../../../general/res/sass/controls/_controls.scss */ + /* line 243, ../../../../general/res/sass/controls/_controls.scss */ .object-header .l-elem-wrapper { - justify-content: flex-start; - -webkit-justify-content: flex-start; } - /* line 253, ../../../../general/res/sass/controls/_controls.scss */ + -webkit-justify-content: flex-start; + justify-content: flex-start; } + /* line 247, ../../../../general/res/sass/controls/_controls.scss */ .object-header .l-elem-wrapper mct-representation { min-width: 0.7em; } - /* line 261, ../../../../general/res/sass/controls/_controls.scss */ + /* line 255, ../../../../general/res/sass/controls/_controls.scss */ .object-header .action { margin-right: 5px; } - /* line 265, ../../../../general/res/sass/controls/_controls.scss */ + /* line 259, ../../../../general/res/sass/controls/_controls.scss */ .object-header .title-label { color: #666; overflow: hidden; @@ -1889,13 +2088,13 @@ label.checkbox.custom { flex: 0 1 auto; -webkit-flex: 0 1 auto; padding-right: 0.35em; } - /* line 275, ../../../../general/res/sass/controls/_controls.scss */ + /* line 269, ../../../../general/res/sass/controls/_controls.scss */ .object-header .context-available { font-size: 0.7em; flex: 0 0 1; -webkit-flex: 0 0 1; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 282, ../../../../general/res/sass/controls/_controls.scss */ + /* line 276, ../../../../general/res/sass/controls/_controls.scss */ .object-header .context-available { -moz-transition-property: opacity; -o-transition-property: opacity; @@ -1909,13 +2108,139 @@ label.checkbox.custom { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; opacity: 0; } - /* line 287, ../../../../general/res/sass/controls/_controls.scss */ + /* line 259, ../../../../general/res/sass/controls/_controls.scss */ .object-header:hover .context-available { opacity: 1; } } +/******************************************************** PROGRESS BAR */ +@-moz-keyframes progress { + 100% { + background-position: 20px center; } } +@-webkit-keyframes progress { + 100% { + background-position: 20px center; } } +@keyframes progress { + 100% { + background-position: 20px center; } } +/* line 281, ../../../../general/res/sass/controls/_controls.scss */ +.l-progress-bar { + display: inline-block; + overflow: hidden; + position: relative; } + /* line 287, ../../../../general/res/sass/controls/_controls.scss */ + .l-progress-bar .progress-amt-holder { + overflow: hidden; + position: absolute; + top: 1px; + right: 1px; + bottom: 1px; + left: 1px; + width: auto; + height: auto; } + /* line 290, ../../../../general/res/sass/controls/_controls.scss */ + .l-progress-bar .progress-amt, + .l-progress-bar .progress-amt:before, + .l-progress-bar .progress-amt:after { + overflow: hidden; + position: absolute; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + width: auto; + height: auto; + display: block; + content: ''; } + /* line 298, ../../../../general/res/sass/controls/_controls.scss */ + .l-progress-bar .progress-amt { + right: auto; } + /* line 303, ../../../../general/res/sass/controls/_controls.scss */ + .l-progress-bar.indeterminate .progress-amt { + width: 100% !important; } + +/* line 309, ../../../../general/res/sass/controls/_controls.scss */ +.s-progress-bar { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: inset rgba(0, 0, 0, 0.3) 0 1px 4px; + -webkit-box-shadow: inset rgba(0, 0, 0, 0.3) 0 1px 4px; + box-shadow: inset rgba(0, 0, 0, 0.3) 0 1px 4px; + background: rgba(0, 0, 0, 0.1); } + /* line 314, ../../../../general/res/sass/controls/_controls.scss */ + .s-progress-bar .progress-amt { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.4) 0 0 3px; + -webkit-box-shadow: rgba(0, 0, 0, 0.4) 0 0 3px; + box-shadow: rgba(0, 0, 0, 0.4) 0 0 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-transition-property: width; + -o-transition-property: width; + -webkit-transition-property: width; + transition-property: width; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; } + /* line 319, ../../../../general/res/sass/controls/_controls.scss */ + .s-progress-bar .progress-amt:before { + background-color: #0a0; } + /* line 322, ../../../../general/res/sass/controls/_controls.scss */ + .s-progress-bar .progress-amt:after { + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSI1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjMwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjI1Ii8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); + background-size: 100%; + background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(5%, rgba(0, 0, 0, 0)), color-stop(30%, rgba(255, 255, 255, 0.25)), color-stop(100%, rgba(0, 0, 0, 0))); + background-image: -moz-linear-gradient(rgba(0, 0, 0, 0) 5%, rgba(255, 255, 255, 0.25) 30%, rgba(0, 0, 0, 0) 100%); + background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0) 5%, rgba(255, 255, 255, 0.25) 30%, rgba(0, 0, 0, 0) 100%); + background-image: linear-gradient(rgba(0, 0, 0, 0) 5%, rgba(255, 255, 255, 0.25) 30%, rgba(0, 0, 0, 0) 100%); } + /* line 331, ../../../../general/res/sass/controls/_controls.scss */ + .s-progress-bar:not(.indeterminate) .progress-amt:before { + -moz-animation: progress 0.4s linear infinite; + -webkit-animation: progress 0.4s linear infinite; + animation: progress 0.4s linear infinite; + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjEuMCIgeTE9IjAuNSIgeDI9IjAuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjEiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMC4xIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g'); + background-size: 100%; + background-image: -moz-linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.1) 100%); + background-image: -webkit-linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.1) 100%); + background-image: linear-gradient(-90deg, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.1) 100%); + background-position: 0 center; + background-repeat: repeat-x; + background-size: 20px 40%; } + /* line 339, ../../../../general/res/sass/controls/_controls.scss */ + .s-progress-bar.indeterminate .progress-amt:before { + -moz-animation: progress 0.6s linear infinite; + -webkit-animation: progress 0.6s linear infinite; + animation: progress 0.6s linear infinite; + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjEuMCIgeTE9IjEuMCIgeDI9IjAuMCIgeTI9IjAuMCI+PHN0b3Agb2Zmc2V0PSIyNSUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMC4yIi8+PHN0b3Agb2Zmc2V0PSIyNSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSI1MCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSI1MCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMC4yIi8+PHN0b3Agb2Zmc2V0PSI3NSUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMC4yIi8+PHN0b3Agb2Zmc2V0PSI3NSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); + background-size: 100%; + background-image: -moz-linear-gradient(135deg, rgba(255, 255, 255, 0.2) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0) 100%); + background-image: -webkit-linear-gradient(135deg, rgba(255, 255, 255, 0.2) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0) 100%); + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0) 100%); + background-repeat: repeat; + background-size: 20px 20px; } + /* line 344, ../../../../general/res/sass/controls/_controls.scss */ + .s-progress-bar.indeterminate .progress-amt:after { + display: none; } + /******************************************************** SLIDERS */ -/* line 298, ../../../../general/res/sass/controls/_controls.scss */ +/* line 352, ../../../../general/res/sass/controls/_controls.scss */ .slider .slot { width: auto; position: absolute; @@ -1923,12 +2248,12 @@ label.checkbox.custom { right: 0; bottom: 0; left: 0; } -/* line 308, ../../../../general/res/sass/controls/_controls.scss */ +/* line 362, ../../../../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; - -webkit-transition-property: visibility, opacity, background-color, border-color; - transition-property: visibility, opacity, background-color, border-color; + -moz-transition-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 0.25s; -o-transition-duration: 0.25s; -webkit-transition-duration: 0.25s; @@ -1937,6 +2262,10 @@ label.checkbox.custom { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; background-color: rgba(0, 153, 204, 0.5); position: absolute; height: 100%; @@ -1945,10 +2274,10 @@ label.checkbox.custom { auto: 0; bottom: auto; left: auto; } - /* line 313, ../../../../general/res/sass/controls/_controls.scss */ + /* line 365, ../../../../general/res/sass/controls/_controls.scss */ .slider .knob:hover { background-color: rgba(0, 153, 204, 0.7); } -/* line 324, ../../../../general/res/sass/controls/_controls.scss */ +/* line 376, ../../../../general/res/sass/controls/_controls.scss */ .slider .knob-l { -moz-border-radius-topleft: 10px; -webkit-border-top-left-radius: 10px; @@ -1957,7 +2286,7 @@ label.checkbox.custom { -webkit-border-bottom-left-radius: 10px; border-bottom-left-radius: 10px; cursor: w-resize; } -/* line 328, ../../../../general/res/sass/controls/_controls.scss */ +/* line 322, ../../../../general/res/sass/controls/_controls.scss */ .slider .knob-r { -moz-border-radius-topright: 10px; -webkit-border-top-right-radius: 10px; @@ -1966,12 +2295,12 @@ label.checkbox.custom { -webkit-border-bottom-right-radius: 10px; border-bottom-right-radius: 10px; cursor: e-resize; } -/* line 332, ../../../../general/res/sass/controls/_controls.scss */ +/* line 326, ../../../../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; - -webkit-transition-property: visibility, opacity, background-color, border-color; - transition-property: visibility, opacity, background-color, border-color; + -moz-transition-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 0.25s; -o-transition-duration: 0.25s; -webkit-transition-duration: 0.25s; @@ -1980,6 +2309,10 @@ label.checkbox.custom { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; background-color: rgba(0, 153, 204, 0.2); cursor: ew-resize; position: absolute; @@ -1989,12 +2322,12 @@ label.checkbox.custom { left: auto; height: auto; width: auto; } - /* line 343, ../../../../general/res/sass/controls/_controls.scss */ + /* line 337, ../../../../general/res/sass/controls/_controls.scss */ .slider .range:hover { background-color: rgba(0, 153, 204, 0.4); } /******************************************************** DATETIME PICKER */ -/* line 350, ../../../../general/res/sass/controls/_controls.scss */ +/* line 344, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker { -moz-user-select: -moz-none; -ms-user-select: none; @@ -2003,65 +2336,65 @@ label.checkbox.custom { font-size: 0.8rem; padding: 10px !important; width: 230px; } - /* line 356, ../../../../general/res/sass/controls/_controls.scss */ + /* line 350, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker .l-month-year-pager { height: 15px; margin-bottom: 5px; position: relative; } - /* line 368, ../../../../general/res/sass/controls/_controls.scss */ + /* line 420, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker .l-month-year-pager .pager { width: 20px; } - /* line 371, ../../../../general/res/sass/controls/_controls.scss */ + /* line 423, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker .l-month-year-pager .pager.prev { right: auto; } - /* line 373, ../../../../general/res/sass/controls/_controls.scss */ + /* line 425, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker .l-month-year-pager .pager.prev:before { content: "\3c"; } - /* line 377, ../../../../general/res/sass/controls/_controls.scss */ + /* line 429, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker .l-month-year-pager .pager.next { left: auto; text-align: right; } - /* line 380, ../../../../general/res/sass/controls/_controls.scss */ + /* line 432, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker .l-month-year-pager .pager.next:before { content: "\3e"; } - /* line 385, ../../../../general/res/sass/controls/_controls.scss */ + /* line 437, ../../../../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 */ + /* line 443, ../../../../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 */ + /* line 447, ../../../../general/res/sass/controls/_controls.scss */ .l-datetime-picker .l-time-selects { line-height: 22px; } /******************************************************** CALENDAR */ -/* line 403, ../../../../general/res/sass/controls/_controls.scss */ +/* line 397, ../../../../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 407, ../../../../general/res/sass/controls/_controls.scss */ + /* line 459, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row:first-child { margin-top: 0; } - /* line 410, ../../../../general/res/sass/controls/_controls.scss */ + /* line 462, ../../../../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 416, ../../../../general/res/sass/controls/_controls.scss */ + /* line 468, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row li:first-child { margin-left: 0; } - /* line 420, ../../../../general/res/sass/controls/_controls.scss */ + /* line 472, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row.l-header li { color: #999999; } - /* line 423, ../../../../general/res/sass/controls/_controls.scss */ + /* line 475, ../../../../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; @@ -2075,32 +2408,36 @@ label.checkbox.custom { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; cursor: pointer; } - /* line 426, ../../../../general/res/sass/controls/_controls.scss */ + /* line 478, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row.l-body li.in-month { background-color: #f2f2f2; } - /* line 429, ../../../../general/res/sass/controls/_controls.scss */ + /* line 481, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row.l-body li .sub { color: #999999; font-size: 0.8em; } - /* line 433, ../../../../general/res/sass/controls/_controls.scss */ + /* line 485, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row.l-body li.selected { background: #1ac6ff; color: #fcfcfc; } - /* line 436, ../../../../general/res/sass/controls/_controls.scss */ + /* line 488, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row.l-body li.selected .sub { color: inherit; } - /* line 440, ../../../../general/res/sass/controls/_controls.scss */ + /* line 492, ../../../../general/res/sass/controls/_controls.scss */ .l-calendar ul.l-cal-row.l-body li:hover { background-color: #0099cc; color: #fff; } - /* line 443, ../../../../general/res/sass/controls/_controls.scss */ + /* line 495, ../../../../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 454, ../../../../general/res/sass/controls/_controls.scss */ + /* line 448, ../../../../general/res/sass/controls/_controls.scss */ ::-webkit-scrollbar { -moz-border-radius: 2px; -webkit-border-radius: 2px; @@ -2115,7 +2452,7 @@ label.checkbox.custom { height: 10px; width: 10px; } - /* line 463, ../../../../general/res/sass/controls/_controls.scss */ + /* line 457, ../../../../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%; @@ -2129,7 +2466,7 @@ label.checkbox.custom { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } - /* line 472, ../../../../general/res/sass/controls/_controls.scss */ + /* line 466, ../../../../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%; @@ -2138,7 +2475,7 @@ label.checkbox.custom { background-image: -webkit-linear-gradient(#00ace6, #0099cc 20px); background-image: linear-gradient(#00ace6, #0099cc 20px); } - /* line 477, ../../../../general/res/sass/controls/_controls.scss */ + /* line 471, ../../../../general/res/sass/controls/_controls.scss */ ::-webkit-scrollbar-corner { background: rgba(0, 0, 0, 0.1); } } /***************************************************************************** @@ -2171,7 +2508,7 @@ label.checkbox.custom { margin-bottom: 5px; } /* line 35, ../../../../general/res/sass/controls/_lists.scss */ -.l-tree-item-flat-list .tree-item .label { +.l-tree-item-flat-list .tree-item .t-object-label { left: 5px !important; } /***************************************************************************** @@ -2197,7 +2534,7 @@ label.checkbox.custom { *****************************************************************************/ /******************************************************** MENU BUTTONS */ /* line 31, ../../../../general/res/sass/controls/_menus.scss */ -.s-menu-btn .icon { +.s-menu-btn .icon, .s-menu-btn .t-item-icon { font-size: 120%; } /* line 35, ../../../../general/res/sass/controls/_menus.scss */ .s-menu-btn .title-label { @@ -2212,23 +2549,28 @@ label.checkbox.custom { vertical-align: top; color: rgba(255, 255, 255, 0.4); } /* line 46, ../../../../general/res/sass/controls/_menus.scss */ +.s-menu-btn.create-btn:before { + content: '\2b'; + display: inline; + font-family: symbolsfont; } +/* line 51, ../../../../general/res/sass/controls/_menus.scss */ .s-menu-btn.create-btn .title-label { font-size: 1rem; } -/* line 54, ../../../../general/res/sass/controls/_menus.scss */ +/* line 59, ../../../../general/res/sass/controls/_menus.scss */ .s-menu-btn .menu { left: 0; text-align: left; } - /* line 57, ../../../../general/res/sass/controls/_menus.scss */ - .s-menu-btn .menu .ui-symbol.icon, .s-menu-btn .menu .l-datetime-picker .l-month-year-pager .icon.pager, .l-datetime-picker .l-month-year-pager .s-menu-btn .menu .icon.pager { + /* line 62, ../../../../general/res/sass/controls/_menus.scss */ + .s-menu-btn .menu .ui-symbol.icon, .s-menu-btn .menu .t-item-icon, .s-menu-btn .menu .icon.s-icon-btn, .s-menu-btn .menu .s-icon-btn.t-item-icon, .s-menu-btn .menu .l-datetime-picker .l-month-year-pager .icon.pager, .l-datetime-picker .l-month-year-pager .s-menu-btn .menu .icon.pager, .s-menu-btn .menu .l-datetime-picker .l-month-year-pager .pager.t-item-icon, .l-datetime-picker .l-month-year-pager .s-menu-btn .menu .pager.t-item-icon { width: 12px; } /******************************************************** MENUS THEMSELVES */ -/* line 64, ../../../../general/res/sass/controls/_menus.scss */ +/* line 69, ../../../../general/res/sass/controls/_menus.scss */ .menu-element { cursor: pointer; position: relative; } -/* line 69, ../../../../general/res/sass/controls/_menus.scss */ +/* line 74, ../../../../general/res/sass/controls/_menus.scss */ .s-menu, .menu { -moz-border-radius: 4px; -webkit-border-radius: 4px; @@ -2248,98 +2590,101 @@ label.checkbox.custom { text-shadow: none; padding: 3px 0; } -/* line 77, ../../../../general/res/sass/controls/_menus.scss */ +/* line 82, ../../../../general/res/sass/controls/_menus.scss */ .menu { display: block; position: absolute; z-index: 10; } - /* line 82, ../../../../general/res/sass/controls/_menus.scss */ + /* line 87, ../../../../general/res/sass/controls/_menus.scss */ .menu ul { margin: 0; padding: 0; } - /* line 329, ../../../../general/res/sass/_mixins.scss */ + /* line 354, ../../../../general/res/sass/_mixins.scss */ .menu ul li { list-style-type: none; margin: 0; padding: 0; } - /* line 84, ../../../../general/res/sass/controls/_menus.scss */ + /* line 89, ../../../../general/res/sass/controls/_menus.scss */ .menu ul li { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; - border-top: 1px solid white; + border-top: 1px solid #e6e6e6; color: #666666; line-height: 1.5rem; padding: 3px 10px 3px 30px; position: relative; white-space: nowrap; } - /* line 92, ../../../../general/res/sass/controls/_menus.scss */ + /* line 97, ../../../../general/res/sass/controls/_menus.scss */ .menu ul li:first-child { border: none; } - /* line 95, ../../../../general/res/sass/controls/_menus.scss */ + /* line 100, ../../../../general/res/sass/controls/_menus.scss */ .menu ul li:hover { background: #e6e6e6; color: #4d4d4d; } - /* line 98, ../../../../general/res/sass/controls/_menus.scss */ - .menu ul li:hover .icon { + /* line 103, ../../../../general/res/sass/controls/_menus.scss */ + .menu ul li:hover .icon, .menu ul li:hover .t-item-icon { color: #0099cc; } - /* line 102, ../../../../general/res/sass/controls/_menus.scss */ + /* line 107, ../../../../general/res/sass/controls/_menus.scss */ .menu ul li .type-icon { left: 10px; } -/* line 109, ../../../../general/res/sass/controls/_menus.scss */ +/* line 114, ../../../../general/res/sass/controls/_menus.scss */ .menu, .context-menu, .checkbox-menu, .super-menu { pointer-events: auto; } - /* line 115, ../../../../general/res/sass/controls/_menus.scss */ + /* line 120, ../../../../general/res/sass/controls/_menus.scss */ .menu ul li a, .context-menu ul li a, .checkbox-menu ul li a, .super-menu ul li a { color: #4d4d4d; } - /* line 118, ../../../../general/res/sass/controls/_menus.scss */ - .menu ul li .icon, + /* line 123, ../../../../general/res/sass/controls/_menus.scss */ + .menu ul li .icon, .menu ul li .t-item-icon, .context-menu ul li .icon, .checkbox-menu ul li .icon, - .super-menu ul li .icon { + .context-menu ul li .t-item-icon, + .checkbox-menu ul li .t-item-icon, + .super-menu ul li .icon, + .super-menu ul li .t-item-icon { color: #0099cc; } - /* line 121, ../../../../general/res/sass/controls/_menus.scss */ + /* line 126, ../../../../general/res/sass/controls/_menus.scss */ .menu ul li .type-icon, .context-menu ul li .type-icon, .checkbox-menu ul li .type-icon, .super-menu ul li .type-icon { left: 5px; } -/* line 133, ../../../../general/res/sass/controls/_menus.scss */ +/* line 138, ../../../../general/res/sass/controls/_menus.scss */ .checkbox-menu ul li { padding-left: 50px; } - /* line 135, ../../../../general/res/sass/controls/_menus.scss */ + /* line 140, ../../../../general/res/sass/controls/_menus.scss */ .checkbox-menu ul li .checkbox { position: absolute; left: 5px; top: 0.53333rem; } - /* line 140, ../../../../general/res/sass/controls/_menus.scss */ + /* line 145, ../../../../general/res/sass/controls/_menus.scss */ .checkbox-menu ul li .checkbox em { height: 0.7rem; width: 0.7rem; } - /* line 143, ../../../../general/res/sass/controls/_menus.scss */ + /* line 148, ../../../../general/res/sass/controls/_menus.scss */ .checkbox-menu ul li .checkbox em:before { font-size: 7px !important; height: 0.7rem; width: 0.7rem; line-height: 0.7rem; } - /* line 151, ../../../../general/res/sass/controls/_menus.scss */ + /* line 156, ../../../../general/res/sass/controls/_menus.scss */ .checkbox-menu ul li .type-icon { left: 25px; } -/* line 157, ../../../../general/res/sass/controls/_menus.scss */ +/* line 162, ../../../../general/res/sass/controls/_menus.scss */ .super-menu { display: block; width: 500px; height: 480px; } - /* line 165, ../../../../general/res/sass/controls/_menus.scss */ + /* line 170, ../../../../general/res/sass/controls/_menus.scss */ .super-menu .contents { overflow: hidden; position: absolute; @@ -2349,12 +2694,12 @@ label.checkbox.custom { left: 5px; width: auto; height: auto; } - /* line 168, ../../../../general/res/sass/controls/_menus.scss */ + /* line 173, ../../../../general/res/sass/controls/_menus.scss */ .super-menu .pane { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } - /* line 170, ../../../../general/res/sass/controls/_menus.scss */ + /* line 175, ../../../../general/res/sass/controls/_menus.scss */ .super-menu .pane.left { border-right: 1px solid #e6e6e6; left: 0; @@ -2363,21 +2708,21 @@ label.checkbox.custom { width: 50%; overflow-x: hidden; overflow-y: auto; } - /* line 180, ../../../../general/res/sass/controls/_menus.scss */ + /* line 185, ../../../../general/res/sass/controls/_menus.scss */ .super-menu .pane.left ul li { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; padding-left: 30px; border-top: none; } - /* line 187, ../../../../general/res/sass/controls/_menus.scss */ + /* line 192, ../../../../general/res/sass/controls/_menus.scss */ .super-menu .pane.right { left: auto; right: 0; padding: 25px; width: 50%; } - /* line 197, ../../../../general/res/sass/controls/_menus.scss */ - .super-menu .menu-item-description .desc-area.icon { + /* line 202, ../../../../general/res/sass/controls/_menus.scss */ + .super-menu .menu-item-description .desc-area.icon, .super-menu .menu-item-description .desc-area.t-item-icon { color: #0099cc; position: relative; font-size: 8em; @@ -2386,58 +2731,483 @@ label.checkbox.custom { line-height: 150px; margin-bottom: 25px; text-align: center; } - /* line 208, ../../../../general/res/sass/controls/_menus.scss */ + /* line 213, ../../../../general/res/sass/controls/_menus.scss */ .super-menu .menu-item-description .desc-area.title { color: #666; font-size: 1.2em; margin-bottom: 0.5em; } - /* line 213, ../../../../general/res/sass/controls/_menus.scss */ + /* line 218, ../../../../general/res/sass/controls/_menus.scss */ .super-menu .menu-item-description .desc-area.description { color: #666; font-size: 0.8em; line-height: 1.5em; } -/* line 222, ../../../../general/res/sass/controls/_menus.scss */ +/* line 227, ../../../../general/res/sass/controls/_menus.scss */ .context-menu, .checkbox-menu { font-size: 0.80rem; } -/* line 226, ../../../../general/res/sass/controls/_menus.scss */ +/* line 231, ../../../../general/res/sass/controls/_menus.scss */ .context-menu-holder, .menu-holder { position: absolute; z-index: 70; } - /* line 230, ../../../../general/res/sass/controls/_menus.scss */ + /* line 235, ../../../../general/res/sass/controls/_menus.scss */ .context-menu-holder .context-menu-wrapper, .menu-holder .context-menu-wrapper { position: absolute; height: 100%; width: 100%; } - /* line 235, ../../../../general/res/sass/controls/_menus.scss */ + /* line 240, ../../../../general/res/sass/controls/_menus.scss */ .context-menu-holder.go-left .context-menu, .context-menu-holder.go-left .checkbox-menu, .context-menu-holder.go-left .menu, .menu-holder.go-left .context-menu, .menu-holder.go-left .checkbox-menu, .menu-holder.go-left .menu { right: 0; } - /* line 239, ../../../../general/res/sass/controls/_menus.scss */ + /* line 244, ../../../../general/res/sass/controls/_menus.scss */ .context-menu-holder.go-up .context-menu, .context-menu-holder.go-up .checkbox-menu, .context-menu-holder.go-up .menu, .menu-holder.go-up .context-menu, .menu-holder.go-up .checkbox-menu, .menu-holder.go-up .menu { bottom: 0; } -/* line 245, ../../../../general/res/sass/controls/_menus.scss */ +/* line 250, ../../../../general/res/sass/controls/_menus.scss */ .context-menu-holder { pointer-events: none; height: 200px; width: 170px; } -/* line 251, ../../../../general/res/sass/controls/_menus.scss */ +/* line 256, ../../../../general/res/sass/controls/_menus.scss */ .btn-bar.right .menu, .menus-to-left .menu { left: auto; right: 0; width: auto; } +/***************************************************************************** + * 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. + *****************************************************************************/ +/* line 39, ../../../../general/res/sass/controls/_messages.scss */ +.status.block { + color: #ccc; + cursor: default; + display: inline-block; + margin-right: 5px; } + /* line 44, ../../../../general/res/sass/controls/_messages.scss */ + .status.block .status-indicator, + .status.block .label, + .status.block .count { + display: inline-block; + vertical-align: top; } + /* line 51, ../../../../general/res/sass/controls/_messages.scss */ + .status.block .status-indicator { + margin-right: 3px; } + /* line 54, ../../../../general/res/sass/controls/_messages.scss */ + .status.block.ok .status-indicator, .status.block.info .status-indicator { + color: #60ba7b; } + /* line 58, ../../../../general/res/sass/controls/_messages.scss */ + .status.block.alert .status-indicator, .status.block.warning .status-indicator, .status.block.caution .status-indicator { + color: #ffb66c; } + /* line 63, ../../../../general/res/sass/controls/_messages.scss */ + .status.block.error .status-indicator { + color: #c96b68; } + /* line 66, ../../../../general/res/sass/controls/_messages.scss */ + .status.block .label { + -moz-transition-property: max-width; + -o-transition-property: max-width; + -webkit-transition-property: max-width; + transition-property: max-width; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; + overflow: hidden; + max-width: 0px; } + /* line 72, ../../../../general/res/sass/controls/_messages.scss */ + .status.block .count { + -moz-transition-property: opacity; + -o-transition-property: opacity; + -webkit-transition-property: opacity; + transition-property: opacity; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; + font-weight: bold; + opacity: 1; } + /* line 78, ../../../../general/res/sass/controls/_messages.scss */ + .status.block:hover .label { + max-width: 450px; + width: auto; } + /* line 82, ../../../../general/res/sass/controls/_messages.scss */ + .status.block:hover .count { + opacity: 0; } + +/* Styles for messages and message banners */ +/* line 90, ../../../../general/res/sass/controls/_messages.scss */ +.message.block { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + padding: 10px; } +/* line 94, ../../../../general/res/sass/controls/_messages.scss */ +.message.error { + background-color: rgba(255, 60, 0, 0.3); + color: #ff8a66; } + +/* line 100, ../../../../general/res/sass/controls/_messages.scss */ +.l-message-banner { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + display: -webkit-flex; + display: flex; + -webkit-flex-direction: row; + flex-direction: row; + -webkit-align-items: center; + align-items: center; + position: absolute; + top: 3px; + right: auto; + bottom: 3px; + left: 50%; + height: auto; + width: auto; + line-height: 18px; + max-width: 300px; + padding: 0 5px 0 5px; + -moz-transform: translateX(-50%); + -ms-transform: translateX(-50%); + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + z-index: 10; } + /* line 116, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner.minimized { + -moz-transition-property: left, opacity; + -o-transition-property: left, opacity; + -webkit-transition-property: left, opacity; + transition-property: left, opacity; + -moz-transition-duration: 0.3s; + -o-transition-duration: 0.3s; + -webkit-transition-duration: 0.3s; + transition-duration: 0.3s; + -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; + left: 0; + opacity: 0; } + /* line 124, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner.new { + left: 50%; + opacity: 1; } + /* line 127, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner.new:not(.info) { + -moz-animation-name: pulse; + -webkit-animation-name: pulse; + animation-name: pulse; + -moz-animation-duration: 100ms; + -webkit-animation-duration: 100ms; + animation-duration: 100ms; + -moz-animation-direction: alternate; + -webkit-animation-direction: alternate; + animation-direction: alternate; + -moz-animation-iteration-count: 10; + -webkit-animation-iteration-count: 10; + animation-iteration-count: 10; + -moz-animation-timing-function: ease-in-out; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; } + /* line 132, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner .banner-elem { + -webkit-flex: 0 1 auto; + flex: 0 1 auto; + margin-left: 5px; } + /* line 136, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner a { + display: inline-block; } + /* line 139, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner .l-action { + line-height: 15px; + padding: 0 5px; } + /* line 143, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner .close { + cursor: pointer; + font-size: 7px; + width: 8px; } + /* line 149, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner .l-progress-bar { + height: 8px; + line-height: 8px; + width: 100px; } + /* line 155, ../../../../general/res/sass/controls/_messages.scss */ + .l-message-banner .progress-info { + display: none; } + +/* line 165, ../../../../general/res/sass/controls/_messages.scss */ +.s-message-banner { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + background-color: gray; + color: #fff; + cursor: pointer; } + /* line 28, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner:hover { + background-color: #999999; } + /* line 31, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner .s-action { + background-color: #666666; } + /* line 33, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner .s-action:hover { + background-color: gray; } + /* line 169, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner a { + color: inherit; } + /* line 170, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner .s-action { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-transition-property: background-color; + -o-transition-property: background-color; + -webkit-transition-property: background-color; + transition-property: background-color; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; } + /* line 174, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner .close { + opacity: 0.5; } + /* line 176, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner .close:hover { + opacity: 1; } + /* line 180, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.ok, .s-message-banner.info { + background-color: #275a36; + color: #fff; } + /* line 28, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.ok:hover, .s-message-banner.info:hover { + background-color: #367e4c; } + /* line 31, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.ok .s-action, .s-message-banner.info .s-action { + background-color: #183621; } + /* line 33, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.ok .s-action:hover, .s-message-banner.info .s-action:hover { + background-color: #275a36; } + /* line 184, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.caution, .s-message-banner.warning, .s-message-banner.alert { + background-color: #d26a00; + color: #fff; } + /* line 28, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.caution:hover, .s-message-banner.warning:hover, .s-message-banner.alert:hover { + background-color: #ff8306; } + /* line 31, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.caution .s-action, .s-message-banner.warning .s-action, .s-message-banner.alert .s-action { + background-color: #9f5000; } + /* line 33, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.caution .s-action:hover, .s-message-banner.warning .s-action:hover, .s-message-banner.alert .s-action:hover { + background-color: #d26a00; } + /* line 189, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.error { + background-color: #702a28; + color: #fff; } + /* line 28, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.error:hover { + background-color: #963835; } + /* line 31, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.error .s-action { + background-color: #4a1c1b; } + /* line 33, ../../../../general/res/sass/controls/_messages.scss */ + .s-message-banner.error .s-action:hover { + background-color: #702a28; } + +/* Paths: + t-dialog | t-dialog-sm > t-message-single | t-message-list > overlay > holder > contents > l-message > + message-type > (icon) + message-contents > + top-bar > + title + hint + editor > + (if displaying list of messages) + ul > li > l-message > + ... same as above + bottom-bar +*/ +/* line 231, ../../../../general/res/sass/controls/_messages.scss */ +.l-message { + display: -webkit-flex; + display: flex; + -webkit-flex-direction: row; + flex-direction: row; + -webkit-align-items: stretch; + align-items: stretch; } + /* line 235, ../../../../general/res/sass/controls/_messages.scss */ + .l-message .type-icon.message-type { + -webkit-flex: 0 1 auto; + flex: 0 1 auto; + position: relative; } + /* line 240, ../../../../general/res/sass/controls/_messages.scss */ + .l-message .message-contents { + -webkit-flex: 1 1 auto; + flex: 1 1 auto; + margin-left: 25px; + position: relative; } + /* line 246, ../../../../general/res/sass/controls/_messages.scss */ + .l-message .message-contents .top-bar, + .l-message .message-contents .message-body { + margin-bottom: 20px; } + +/* line 195, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-single .type-icon.message-type { + text-shadow: rgba(255, 255, 255, 0.8) 0 0px 5px; + color: #ccc; + font-size: 80px; + padding: 1px; + width: 82px; } + /* line 197, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-single .type-icon.message-type:before { + content: "\e608"; } +/* line 204, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-single .message-severity-info .type-icon.message-type { + color: #60ba7b; } + /* line 205, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-single .message-severity-info .type-icon.message-type:before { + content: "\e608"; } +/* line 208, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-single .message-severity-alert .type-icon.message-type { + color: #ffb66c; } + /* line 209, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-single .message-severity-alert .type-icon.message-type:before { + content: "\e610"; } +/* line 212, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-single .message-severity-error .type-icon.message-type { + color: #c96b68; } + /* line 213, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-single .message-severity-error .type-icon.message-type:before { + content: "\21"; } +@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 259, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-single .l-message, + .t-message-single .bottom-bar { + overflow: hidden; + position: absolute; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + width: auto; + height: auto; } + /* line 264, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-single .bottom-bar { + top: auto; + height: 24px; } } + +/* line 195, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-list .type-icon.message-type { + text-shadow: rgba(255, 255, 255, 0.8) 0 0px 5px; + color: #ccc; + font-size: 32px; + padding: 1px; + width: 34px; } + /* line 197, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .type-icon.message-type:before { + content: "\e608"; } +/* line 204, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-list .message-severity-info .type-icon.message-type { + color: #60ba7b; } + /* line 205, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-severity-info .type-icon.message-type:before { + content: "\e608"; } +/* line 208, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-list .message-severity-alert .type-icon.message-type { + color: #ffb66c; } + /* line 209, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-severity-alert .type-icon.message-type:before { + content: "\e610"; } +/* line 212, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-list .message-severity-error .type-icon.message-type { + color: #c96b68; } + /* line 213, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-severity-error .type-icon.message-type:before { + content: "\21"; } +/* line 276, ../../../../general/res/sass/controls/_messages.scss */ +.t-message-list .message-contents .l-message { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + background: rgba(102, 102, 102, 0.1); + margin-bottom: 5px; + padding: 10px; } + /* line 283, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-contents .l-message .message-contents, + .t-message-list .message-contents .l-message .bottom-bar { + position: relative; } + /* line 289, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-contents .l-message .message-contents { + font-size: 0.9em; + margin-left: 10px; } + /* line 292, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-contents .l-message .message-contents .message-action { + color: #999999; } + /* line 293, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-contents .l-message .message-contents .bottom-bar { + text-align: left; } + /* line 296, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-contents .l-message .top-bar, + .t-message-list .message-contents .l-message .message-body { + margin-bottom: 10px; } +@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 304, ../../../../general/res/sass/controls/_messages.scss */ + .t-message-list .message-contents .l-message { + margin-right: 10px; } } + /* line 13, ../../../../general/res/sass/controls/_time-controller.scss */ mct-include.l-time-controller { overflow: hidden; @@ -2501,10 +3271,15 @@ mct-include.l-time-controller { mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .lbl { color: #999999; } /* line 69, ../../../../general/res/sass/controls/_time-controller.scss */ - mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .ui-symbol.icon, mct-include.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 mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .icon.pager, + mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .ui-symbol.icon, mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .t-item-icon, mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .icon.s-icon-btn, mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .s-icon-btn.t-item-icon, mct-include.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 mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .icon.pager, mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .l-datetime-picker .l-month-year-pager .pager.t-item-icon, .l-datetime-picker .l-month-year-pager mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-input .pager.t-item-icon, mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .ui-symbol.icon, + mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .t-item-icon, + mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .icon.s-icon-btn, + mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .s-icon-btn.t-item-icon, mct-include.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 mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .icon.pager { + .l-datetime-picker .l-month-year-pager mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .icon.pager, + mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .l-datetime-picker .l-month-year-pager .pager.t-item-icon, + .l-datetime-picker .l-month-year-pager mct-include.l-time-controller .l-time-range-inputs-holder .l-time-range-inputs-elem .pager.t-item-icon { font-size: 11px; width: 11px; } /* line 76, ../../../../general/res/sass/controls/_time-controller.scss */ @@ -2610,10 +3385,10 @@ mct-include.l-time-controller { z-index: 2; } /* line 161, ../../../../general/res/sass/controls/_time-controller.scss */ mct-include.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-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 0.25s; -o-transition-duration: 0.25s; -webkit-transition-duration: 0.25s; @@ -2622,6 +3397,10 @@ mct-include.l-time-controller { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; padding: 0 10px; position: absolute; height: 20px; @@ -2809,7 +3588,7 @@ mct-include.l-time-controller { padding: 0 3px; position: relative; height: 150px; } - /* line 296, ../../../../general/res/sass/_mixins.scss */ + /* line 321, ../../../../general/res/sass/_mixins.scss */ .form .form-row .selector-list.error { background: rgba(255, 0, 0, 0.5); } /* line 124, ../../../../general/res/sass/forms/_elems.scss */ @@ -2866,7 +3645,7 @@ input[type="text"] { color: #666; outline: none; padding: 0 3px; } - /* line 296, ../../../../general/res/sass/_mixins.scss */ + /* line 321, ../../../../general/res/sass/_mixins.scss */ input[type="text"].error { background: rgba(255, 0, 0, 0.5); } /* line 172, ../../../../general/res/sass/forms/_elems.scss */ @@ -2894,7 +3673,7 @@ textarea { position: absolute; height: 100%; width: 100%; } - /* line 296, ../../../../general/res/sass/_mixins.scss */ + /* line 321, ../../../../general/res/sass/_mixins.scss */ textarea.error { background: rgba(255, 0, 0, 0.5); } @@ -2943,8 +3722,8 @@ textarea { overflow: hidden; position: relative; line-height: 22px; } - /* line 272, ../../../../general/res/sass/_mixins.scss */ - .select .icon { + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .select .icon, .select .t-item-icon { color: #eee; } /* line 31, ../../../../general/res/sass/forms/_selects.scss */ .select select { @@ -3025,7 +3804,7 @@ textarea { max-height: 400px; overflow: auto; padding: 5px; } - /* line 296, ../../../../general/res/sass/_mixins.scss */ + /* line 321, ../../../../general/res/sass/_mixins.scss */ .channel-selector .treeview.error { background: rgba(255, 0, 0, 0.5); } /* line 36, ../../../../general/res/sass/forms/_channel-selector.scss */ @@ -3061,15 +3840,15 @@ textarea { /* line 29, ../../../../general/res/sass/forms/_datetime.scss */ .complex.datetime { /* - .field-hints, - .fields { - } - - - .field-hints { - - } - */ } + .field-hints, + .fields { + } + + + .field-hints { + + } + */ } /* line 30, ../../../../general/res/sass/forms/_datetime.scss */ .complex.datetime span { display: inline-block; @@ -3191,7 +3970,7 @@ span.req { padding: 0 3px; background: white; border-bottom: 1px solid white; } - /* line 296, ../../../../general/res/sass/_mixins.scss */ + /* line 321, ../../../../general/res/sass/_mixins.scss */ .filter input.filter.error, .filter input.t-filter-input.error, .t-filter input.filter.error, @@ -3207,10 +3986,15 @@ span.req { .t-filter input.t-filter-input:not(.ng-dirty) + .t-a-clear { display: none; } /* line 42, ../../../../general/res/sass/forms/_filter.scss */ -.filter .icon.ui-symbol, .filter .l-datetime-picker .l-month-year-pager .icon.pager, .l-datetime-picker .l-month-year-pager .filter .icon.pager, +.filter .icon.ui-symbol, .filter .t-item-icon, .filter .icon.s-icon-btn, .filter .s-icon-btn.t-item-icon, .filter .l-datetime-picker .l-month-year-pager .icon.pager, .l-datetime-picker .l-month-year-pager .filter .icon.pager, .filter .l-datetime-picker .l-month-year-pager .pager.t-item-icon, .l-datetime-picker .l-month-year-pager .filter .pager.t-item-icon, .t-filter .icon.ui-symbol, +.t-filter .t-item-icon, +.t-filter .icon.s-icon-btn, +.t-filter .s-icon-btn.t-item-icon, .t-filter .l-datetime-picker .l-month-year-pager .icon.pager, -.l-datetime-picker .l-month-year-pager .t-filter .icon.pager { +.l-datetime-picker .l-month-year-pager .t-filter .icon.pager, +.t-filter .l-datetime-picker .l-month-year-pager .pager.t-item-icon, +.l-datetime-picker .l-month-year-pager .t-filter .pager.t-item-icon { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; @@ -3221,14 +4005,21 @@ span.req { padding: 0px 5px; vertical-align: middle; } /* line 50, ../../../../general/res/sass/forms/_filter.scss */ - .filter .icon.ui-symbol:hover, .filter .l-datetime-picker .l-month-year-pager .icon.pager:hover, .l-datetime-picker .l-month-year-pager .filter .icon.pager:hover, + .filter .icon.ui-symbol:hover, .filter .t-item-icon:hover, .filter .icon.s-icon-btn:hover, .filter .s-icon-btn.t-item-icon:hover, .filter .l-datetime-picker .l-month-year-pager .icon.pager:hover, .l-datetime-picker .l-month-year-pager .filter .icon.pager:hover, .filter .l-datetime-picker .l-month-year-pager .pager.t-item-icon:hover, .l-datetime-picker .l-month-year-pager .filter .pager.t-item-icon:hover, .t-filter .icon.ui-symbol:hover, + .t-filter .t-item-icon:hover, + .t-filter .icon.s-icon-btn:hover, + .t-filter .s-icon-btn.t-item-icon:hover, .t-filter .l-datetime-picker .l-month-year-pager .icon.pager:hover, - .l-datetime-picker .l-month-year-pager .t-filter .icon.pager:hover { + .l-datetime-picker .l-month-year-pager .t-filter .icon.pager:hover, + .t-filter .l-datetime-picker .l-month-year-pager .pager.t-item-icon:hover, + .l-datetime-picker .l-month-year-pager .t-filter .pager.t-item-icon:hover { background: rgba(255, 255, 255, 0.1); } /* line 54, ../../../../general/res/sass/forms/_filter.scss */ -.filter .s-a-clear.ui-symbol, .filter .l-datetime-picker .l-month-year-pager .s-a-clear.pager, .l-datetime-picker .l-month-year-pager .filter .s-a-clear.pager, +.filter .s-a-clear.ui-symbol, .filter .s-a-clear.t-item-icon, .filter .s-a-clear.s-icon-btn, .filter .l-datetime-picker .l-month-year-pager .s-a-clear.pager, .l-datetime-picker .l-month-year-pager .filter .s-a-clear.pager, .t-filter .s-a-clear.ui-symbol, +.t-filter .s-a-clear.t-item-icon, +.t-filter .s-a-clear.s-icon-btn, .t-filter .l-datetime-picker .l-month-year-pager .s-a-clear.pager, .l-datetime-picker .l-month-year-pager .t-filter .s-a-clear.pager { -moz-border-radius: 4px; @@ -3254,8 +4045,10 @@ span.req { text-align: center; z-index: 5; } /* line 74, ../../../../general/res/sass/forms/_filter.scss */ - .filter .s-a-clear.ui-symbol:hover, .filter .l-datetime-picker .l-month-year-pager .s-a-clear.pager:hover, .l-datetime-picker .l-month-year-pager .filter .s-a-clear.pager:hover, + .filter .s-a-clear.ui-symbol:hover, .filter .s-a-clear.t-item-icon:hover, .filter .s-a-clear.s-icon-btn:hover, .filter .l-datetime-picker .l-month-year-pager .s-a-clear.pager:hover, .l-datetime-picker .l-month-year-pager .filter .s-a-clear.pager:hover, .t-filter .s-a-clear.ui-symbol:hover, + .t-filter .s-a-clear.t-item-icon:hover, + .t-filter .s-a-clear.s-icon-btn:hover, .t-filter .l-datetime-picker .l-month-year-pager .s-a-clear.pager:hover, .l-datetime-picker .l-month-year-pager .t-filter .s-a-clear.pager:hover { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); @@ -3302,13 +4095,13 @@ span.req { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* line 32, ../../../../general/res/sass/user-environ/_layout.scss */ -.holder-all { - top: 0; - right: 0; - bottom: 0; - left: 0; } - +/*.holder-all { + $myM: 0; // $interiorMarginSm; + top: $myM; + right: $myM; + bottom: $myM; + left: $myM; +}*/ /* line 40, ../../../../general/res/sass/user-environ/_layout.scss */ .browse-area, .edit-area, @@ -3336,26 +4129,28 @@ span.req { left: 0px; } /* line 67, ../../../../general/res/sass/user-environ/_layout.scss */ -.bar .icon.major { +.bar .icon.major, .bar .major.t-item-icon { margin-right: 5px; } /* line 70, ../../../../general/res/sass/user-environ/_layout.scss */ -.bar.abs, .l-datetime-picker .l-month-year-pager .bar.pager, +.bar.abs, .bar.l-inspect, .l-datetime-picker .l-month-year-pager .bar.pager, .l-datetime-picker .l-month-year-pager .bar.val, .s-menu-btn span.bar.l-click-area { text-wrap: none; white-space: nowrap; } /* line 73, ../../../../general/res/sass/user-environ/_layout.scss */ - .bar.abs.left, .l-datetime-picker .l-month-year-pager .bar.left.pager, + .bar.abs.left, .bar.left.l-inspect, .l-datetime-picker .l-month-year-pager .bar.left.pager, .l-datetime-picker .l-month-year-pager .bar.left.val, .s-menu-btn span.bar.left.l-click-area, .bar.abs .left, + .bar.l-inspect .left, .l-datetime-picker .l-month-year-pager .bar.pager .left, .l-datetime-picker .l-month-year-pager .bar.val .left, .s-menu-btn span.bar.l-click-area .left { width: 45%; right: auto; } /* line 78, ../../../../general/res/sass/user-environ/_layout.scss */ - .bar.abs.right, .l-datetime-picker .l-month-year-pager .bar.right.pager, + .bar.abs.right, .bar.right.l-inspect, .l-datetime-picker .l-month-year-pager .bar.right.pager, .l-datetime-picker .l-month-year-pager .bar.right.val, .s-menu-btn span.bar.right.l-click-area, .bar.abs .right, + .bar.l-inspect .right, .l-datetime-picker .l-month-year-pager .bar.pager .right, .l-datetime-picker .l-month-year-pager .bar.val .right, .s-menu-btn span.bar.l-click-area .right { @@ -3363,22 +4158,31 @@ span.req { left: auto; text-align: right; } /* line 83, ../../../../general/res/sass/user-environ/_layout.scss */ - .bar.abs.right .icon.major, .l-datetime-picker .l-month-year-pager .bar.right.pager .icon.major, - .l-datetime-picker .l-month-year-pager .bar.right.val .icon.major, .s-menu-btn span.bar.right.l-click-area .icon.major, + .bar.abs.right .icon.major, .bar.right.l-inspect .icon.major, .l-datetime-picker .l-month-year-pager .bar.right.pager .icon.major, + .l-datetime-picker .l-month-year-pager .bar.right.val .icon.major, .s-menu-btn span.bar.right.l-click-area .icon.major, .bar.abs.right .major.t-item-icon, .bar.right.l-inspect .major.t-item-icon, .l-datetime-picker .l-month-year-pager .bar.right.pager .major.t-item-icon, + .l-datetime-picker .l-month-year-pager .bar.right.val .major.t-item-icon, .s-menu-btn span.bar.right.l-click-area .major.t-item-icon, .bar.abs .right .icon.major, + .bar.l-inspect .right .icon.major, .l-datetime-picker .l-month-year-pager .bar.pager .right .icon.major, .l-datetime-picker .l-month-year-pager .bar.val .right .icon.major, - .s-menu-btn span.bar.l-click-area .right .icon.major { + .s-menu-btn span.bar.l-click-area .right .icon.major, + .bar.abs .right .major.t-item-icon, + .bar.l-inspect .right .major.t-item-icon, + .l-datetime-picker .l-month-year-pager .bar.pager .right .major.t-item-icon, + .l-datetime-picker .l-month-year-pager .bar.val .right .major.t-item-icon, + .s-menu-btn span.bar.l-click-area .right .major.t-item-icon { margin-left: 15px; } /* line 89, ../../../../general/res/sass/user-environ/_layout.scss */ - .bar.abs .l-flex .left, .l-datetime-picker .l-month-year-pager .bar.pager .l-flex .left, + .bar.abs .l-flex .left, .bar.l-inspect .l-flex .left, .l-datetime-picker .l-month-year-pager .bar.pager .l-flex .left, .l-datetime-picker .l-month-year-pager .bar.val .l-flex .left, .s-menu-btn span.bar.l-click-area .l-flex .left, .bar.abs .l-flex .right, + .bar.l-inspect .l-flex .right, .l-datetime-picker .l-month-year-pager .bar.pager .l-flex .right, .l-datetime-picker .l-month-year-pager .bar.val .l-flex .right, - .s-menu-btn span.bar.l-click-area .l-flex .right, .bar.abs.l-flex .left, .l-datetime-picker .l-month-year-pager .bar.l-flex.pager .left, + .s-menu-btn span.bar.l-click-area .l-flex .right, .bar.abs.l-flex .left, .bar.l-flex.l-inspect .left, .l-datetime-picker .l-month-year-pager .bar.l-flex.pager .left, .l-datetime-picker .l-month-year-pager .bar.l-flex.val .left, .s-menu-btn span.bar.l-flex.l-click-area .left, .bar.abs.l-flex .right, + .bar.l-flex.l-inspect .right, .l-datetime-picker .l-month-year-pager .bar.l-flex.pager .right, .l-datetime-picker .l-month-year-pager .bar.l-flex.val .right, .s-menu-btn span.bar.l-flex.l-click-area .right { @@ -3386,29 +4190,32 @@ span.req { /* line 98, ../../../../general/res/sass/user-environ/_layout.scss */ .user-environ .browse-area, -.user-environ .edit-area, .user-environ .editor { - top: 39px; - right: 10px; - bottom: 35px; - left: 10px; } -/* line 109, ../../../../general/res/sass/user-environ/_layout.scss */ + top: 0; + left: 0; + right: 0; + bottom: 25px; } +/* line 105, ../../../../general/res/sass/user-environ/_layout.scss */ .user-environ .browse-area > .contents, .user-environ .edit-area > .contents { left: 0; right: 0; } -/* line 115, ../../../../general/res/sass/user-environ/_layout.scss */ +/* line 111, ../../../../general/res/sass/user-environ/_layout.scss */ .user-environ .edit-area { - top: 45px; } - /* line 118, ../../../../general/res/sass/user-environ/_layout.scss */ + top: 45px; + left: 10px; + right: 10px; + bottom: 35px; } + /* line 117, ../../../../general/res/sass/user-environ/_layout.scss */ .user-environ .edit-area .tool-bar { bottom: auto; height: 30px; line-height: 25px; } - /* line 123, ../../../../general/res/sass/user-environ/_layout.scss */ - .user-environ .edit-area .work-area { - top: 40px; } -/* line 128, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 122, ../../../../general/res/sass/user-environ/_layout.scss */ + .user-environ .edit-area .object-holder.work-area { + top: 40px; + overflow: auto; } +/* line 129, ../../../../general/res/sass/user-environ/_layout.scss */ .user-environ .ue-bottom-bar { overflow: hidden; position: absolute; @@ -3419,21 +4226,56 @@ span.req { width: auto; height: auto; top: auto; - height: 25px; } - /* line 133, ../../../../general/res/sass/user-environ/_layout.scss */ + height: 25px; + line-height: 15px; + background: #000; + color: white; + font-size: .7rem; } + /* line 138, ../../../../general/res/sass/user-environ/_layout.scss */ .user-environ .ue-bottom-bar .status-holder { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + position: absolute; + top: 5px; + right: 5px; + bottom: 5px; + left: 5px; + width: auto; + height: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + right: 120px; + text-transform: uppercase; z-index: 1; } - /* line 137, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 147, ../../../../general/res/sass/user-environ/_layout.scss */ .user-environ .ue-bottom-bar .app-logo { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + position: absolute; + top: 5px; + right: 5px; + bottom: 5px; + left: 5px; + width: auto; + height: auto; + cursor: pointer; left: auto; width: 105px; z-index: 2; } + /* line 154, ../../../../general/res/sass/user-environ/_layout.scss */ + .user-environ .ue-bottom-bar .app-logo.logo-openmctweb { + background: url("../../../../general/res/images/logo-openmctweb.svg") no-repeat center center; } -/* line 145, ../../../../general/res/sass/user-environ/_layout.scss */ +/* line 161, ../../../../general/res/sass/user-environ/_layout.scss */ .cols { overflow: hidden; *zoom: 1; } - /* line 147, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 163, ../../../../general/res/sass/user-environ/_layout.scss */ .cols .col { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; @@ -3444,85 +4286,156 @@ span.req { margin-left: 1.5%; padding-left: 5px; position: relative; } - /* line 155, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 171, ../../../../general/res/sass/user-environ/_layout.scss */ .cols .col:first-child { margin-left: 0; padding-left: 0; } - /* line 162, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 178, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-2 .col-1 { min-width: 250px; width: 48.5%; } - /* line 168, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 184, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-2-ff .col-100px { width: 100px; } - /* line 175, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 191, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-6 .col-1 { min-width: 83.33333px; width: 15.16667%; } - /* line 181, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 197, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-16 .col-1 { min-width: 31.25px; width: 4.75%; } - /* line 184, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 200, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-16 .col-2 { min-width: 62.5px; width: 11%; } - /* line 187, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 203, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-16 .col-7 { min-width: 218.75px; width: 42.25%; } - /* line 193, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 209, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-32 .col-2 { min-width: 31.25px; width: 4.75%; } - /* line 196, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 212, ../../../../general/res/sass/user-environ/_layout.scss */ .cols.cols-32 .col-15 { min-width: 234.375px; width: 45.375%; } - /* line 200, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 216, ../../../../general/res/sass/user-environ/_layout.scss */ .cols .l-row { overflow: hidden; *zoom: 1; padding: 5px 0; } -/* line 208, ../../../../general/res/sass/user-environ/_layout.scss */ -.browse-mode .split-layout .split-pane-component.pane.left { +/* line 226, ../../../../general/res/sass/user-environ/_layout.scss */ +.browse-mode .split-layout .split-pane-component.pane.treeview.left { min-width: 150px; max-width: 800px; width: 25%; } +/* line 231, ../../../../general/res/sass/user-environ/_layout.scss */ +.browse-mode .split-layout .split-pane-component.pane.t-inspect.right { + min-width: 200px; + max-width: 600px; + width: 20%; } -/* line 218, ../../../../general/res/sass/user-environ/_layout.scss */ +/* line 243, ../../../../general/res/sass/user-environ/_layout.scss */ .edit-mode .split-layout .split-pane-component.pane.right { width: 15%; } - /* line 220, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 245, ../../../../general/res/sass/user-environ/_layout.scss */ .edit-mode .split-layout .split-pane-component.pane.right .pane.bottom { min-height: 50px; height: 30%; } -/* line 228, ../../../../general/res/sass/user-environ/_layout.scss */ +/* line 253, ../../../../general/res/sass/user-environ/_layout.scss */ .pane { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; position: absolute; } - /* line 231, ../../../../general/res/sass/user-environ/_layout.scss */ - .pane.treeview.left .create-btn-holder { - bottom: auto; - top: 0; - height: 24px; } - /* line 235, ../../../../general/res/sass/user-environ/_layout.scss */ - .pane.treeview.left .create-btn-holder .wrapper.menu-element { - position: absolute; - bottom: 5px; } - /* line 240, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 257, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .pane-header { + text-transform: uppercase; + height: 24px; + line-height: 24px; + margin-bottom: 5px; } + /* line 264, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .primary-pane { + z-index: 2; } + /* line 282, ../../../../general/res/sass/user-environ/_layout.scss */ .pane.treeview.left .search-holder { top: 34px; } - /* line 243, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 285, ../../../../general/res/sass/user-environ/_layout.scss */ .pane.treeview.left .tree-holder { overflow: auto; top: 64px; } - /* 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, + /* line 291, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane { + z-index: 5; } + @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 291, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane { + top: 10px; + height: 24px; + line-height: 24px; } + /* line 300, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane:after { + opacity: 0; } + /* line 305, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.collapsed:before { + opacity: 0; } + /* line 308, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.collapsed:after { + opacity: 1; } + /* line 312, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.toggle-tree.anchor-left { + left: 0; + -moz-transform: translateX(-33px); + -ms-transform: translateX(-33px); + -webkit-transform: translateX(-33px); + transform: translateX(-33px); } + /* line 315, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.toggle-tree.anchor-left:after { + content: '\6d'; } + /* line 318, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.toggle-tree.anchor-left.collapsed { + left: 0; + -moz-transform: translateX(-15px); + -ms-transform: translateX(-15px); + -webkit-transform: translateX(-15px); + transform: translateX(-15px); } + /* line 322, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.toggle-tree.anchor-left:not(.collapsed):before { + -moz-transition-property: opacity; + -o-transition-property: opacity; + -webkit-transition-property: opacity; + transition-property: opacity; + -moz-transition-duration: 200ms; + -o-transition-duration: 200ms; + -webkit-transition-duration: 200ms; + transition-duration: 200ms; + -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; + -moz-transition-delay: 200ms; + -o-transition-delay: 200ms; + -webkit-transition-delay: 200ms; + transition-delay: 200ms; } + /* line 326, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.toggle-inspect.anchor-right { + right: 10px; } + /* line 328, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.toggle-inspect.anchor-right:after { + content: '\e615'; } + /* line 331, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane .mini-tab-icon.toggle-pane.toggle-inspect.anchor-right.collapsed { + right: 5px; } } + /* line 340, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane.items .object-browse-bar .left.abs, .pane.items .object-browse-bar .left.l-inspect, .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, .pane.items .object-browse-bar .right.abs, + .pane.items .object-browse-bar .right.l-inspect, .pane.items .object-browse-bar .l-datetime-picker .l-month-year-pager .right.pager, .l-datetime-picker .l-month-year-pager .pane.items .object-browse-bar .right.pager, .pane.items .object-browse-bar .l-datetime-picker .l-month-year-pager .right.val, @@ -3531,45 +4444,66 @@ span.req { .s-menu-btn .pane.items .object-browse-bar span.right.l-click-area { top: auto; } -/* line 261, ../../../../general/res/sass/user-environ/_layout.scss */ -.split-layout.horizontal > .pane { - margin-top: 5px; } - /* line 264, ../../../../general/res/sass/user-environ/_layout.scss */ - .split-layout.horizontal > .pane:first-child { - margin-top: 0; } -/* line 271, ../../../../general/res/sass/user-environ/_layout.scss */ -.split-layout.vertical > .pane { - margin-left: 5px; } - /* line 274, ../../../../general/res/sass/user-environ/_layout.scss */ - .split-layout.vertical > .pane > .holder { - left: 0; - right: 0; } - /* line 278, ../../../../general/res/sass/user-environ/_layout.scss */ - .split-layout.vertical > .pane:first-child { - margin-left: 0; } - /* line 280, ../../../../general/res/sass/user-environ/_layout.scss */ - .split-layout.vertical > .pane:first-child .holder { - right: 3px; } - -/* 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; +/* line 348, ../../../../general/res/sass/user-environ/_layout.scss */ +.split-layout { + /* &.vertical { + // Slides left and right + > .pane.left { + > .holder { + left: $bodyMargin; + } + } + > .pane.right { + > .holder { + right: $bodyMargin; + } + } + }*/ } + /* line 351, ../../../../general/res/sass/user-environ/_layout.scss */ + .split-layout.horizontal > .pane { + margin-top: 5px; } + /* line 354, ../../../../general/res/sass/user-environ/_layout.scss */ + .split-layout.horizontal > .pane:first-child { + margin-top: 0; } + /* line 374, ../../../../general/res/sass/user-environ/_layout.scss */ + .split-layout .holder.holder-create-and-search { + top: 10px; + right: 0; + bottom: 10px; + left: 10px; } + /* line 381, ../../../../general/res/sass/user-environ/_layout.scss */ + .split-layout .holder.holder-object-and-inspector { top: 0; right: 0; bottom: 0; - left: 0; - width: auto; - height: auto; } - /* line 296, ../../../../general/res/sass/user-environ/_layout.scss */ + left: 0; } + /* line 386, ../../../../general/res/sass/user-environ/_layout.scss */ + .split-layout .holder.holder-object-and-inspector .holder-object { + top: 10px; + bottom: 10px; } + /* line 390, ../../../../general/res/sass/user-environ/_layout.scss */ + .split-layout .holder.holder-object-and-inspector .holder-inspector-elements { + top: 10px; + bottom: 10px; + left: 10px; + right: 10px; } + +/* line 400, ../../../../general/res/sass/user-environ/_layout.scss */ +.object-holder { + overflow: auto; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: auto; + height: auto; + top: 34px; } + /* line 293, ../../../../general/res/sass/user-environ/_layout.scss */ .object-holder.l-controls-visible.l-time-controller-visible { bottom: 88px; } -/* line 302, ../../../../general/res/sass/user-environ/_layout.scss */ +/* line 299, ../../../../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, @@ -3581,12 +4515,12 @@ span.req { line-height: 25px; vertical-align: top; } -/* line 315, ../../../../general/res/sass/user-environ/_layout.scss */ +/* line 426, ../../../../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 431, ../../../../general/res/sass/user-environ/_layout.scss */ .object-browse-bar { overflow: visible; position: absolute; @@ -3602,27 +4536,150 @@ span.req { height: 24px; line-height: 24px; white-space: nowrap; } - /* line 328, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 439, ../../../../general/res/sass/user-environ/_layout.scss */ .object-browse-bar .left { padding-right: 20px; } - /* line 330, ../../../../general/res/sass/user-environ/_layout.scss */ + /* line 441, ../../../../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 335, ../../../../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 452, ../../../../general/res/sass/user-environ/_layout.scss */ .l-flex .left { flex: 1 1 0; -webkit-flex: 1 1 0; padding-right: 10px; } +/* line 462, ../../../../general/res/sass/user-environ/_layout.scss */ +.pane-tree-hidden { + /*.holder-create-and-search { + @include trans-prop-nice((top, left), 250ms); + top: $ueTopBarH + $interiorMargin; + left: -1 * $bodyMargin !important; + .create-btn { + @include border-left-radius(0); + @include trans-prop-nice((width), 250ms); + width: $uePaneMiniTabW !important; + text-align: center !important; + padding: 0; + .title-label, + &:after { + display: none; + } + &:before { + font-size: 9px; + } + } + }*/ } + /* line 465, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane-tree-hidden .tree-holder, + .pane-tree-hidden .splitter-treeview, + .pane-tree-hidden .holder-create-and-search { + opacity: 0; } + +/* line 494, ../../../../general/res/sass/user-environ/_layout.scss */ +.pane-tree-showing .tree-holder, +.pane-tree-showing .splitter-treeview { + -moz-transition-property: opacity; + -o-transition-property: opacity; + -webkit-transition-property: opacity; + transition-property: opacity; + -moz-transition-duration: 250ms; + -o-transition-duration: 250ms; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -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; + -moz-transition-delay: 250ms; + -o-transition-delay: 250ms; + -webkit-transition-delay: 250ms; + transition-delay: 250ms; + opacity: 1; } +/* line 500, ../../../../general/res/sass/user-environ/_layout.scss */ +.pane-tree-showing .holder-create-and-search { + -moz-transition-property: opacity; + -o-transition-property: opacity; + -webkit-transition-property: opacity; + transition-property: opacity; + -moz-transition-duration: 250ms; + -o-transition-duration: 250ms; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -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; + -moz-transition-delay: 200ms; + -o-transition-delay: 200ms; + -webkit-transition-delay: 200ms; + transition-delay: 200ms; } + +/* line 507, ../../../../general/res/sass/user-environ/_layout.scss */ +.pane-inspect-showing .l-object-and-inspector .l-inspect, +.pane-inspect-showing .l-object-and-inspector .splitter-inspect { + -moz-transition-property: opacity; + -o-transition-property: opacity; + -webkit-transition-property: opacity; + transition-property: opacity; + -moz-transition-duration: 250ms; + -o-transition-duration: 250ms; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -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; + -moz-transition-delay: 250ms; + -o-transition-delay: 250ms; + -webkit-transition-delay: 250ms; + transition-delay: 250ms; + opacity: 1; } + +/* line 516, ../../../../general/res/sass/user-environ/_layout.scss */ +.pane-inspect-hidden .l-object-and-inspector .l-inspect, +.pane-inspect-hidden .l-object-and-inspector .splitter-inspect { + opacity: 0; } + +@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 524, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane.treeview.left .tree-holder { + padding-right: 5px; } + + /* line 528, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane-tree-hidden .pane.right.primary-pane { + left: 20px !important; } + + /* line 531, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane-inspect-hidden .l-object-and-inspector .pane.left { + right: 20px !important; } + + /* line 534, ../../../../general/res/sass/user-environ/_layout.scss */ + .pane:not(.resizing) { + -moz-transition-property: width, left, right; + -o-transition-property: width, left, right; + -webkit-transition-property: width, left, right; + transition-property: width, left, right; + -moz-transition-duration: 250ms; + -o-transition-duration: 250ms; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; } } /***************************************************************************** * Open MCT Web, Copyright (c) 2014-2015, United States Government * as represented by the Administrator of the National Aeronautics and Space @@ -3658,7 +4715,7 @@ span.req { background-color: #f7f7f7; } /* line 35, ../../../../general/res/sass/mobile/_layout.scss */ - .pane.right-repr { + .pane.right.items { -moz-transition-duration: 0.35s; -o-transition-duration: 0.35s; -webkit-transition-duration: 0.35s; @@ -3667,7 +4724,7 @@ span.req { backface-visibility: hidden; margin-left: 0 !important; } /* line 39, ../../../../general/res/sass/mobile/_layout.scss */ - .pane.right-repr #content-area { + .pane.right.items #content-area { -moz-transition-duration: 0.35s; -o-transition-duration: 0.35s; -webkit-transition-duration: 0.35s; @@ -3677,108 +4734,103 @@ span.req { opacity: 1; } /* line 45, ../../../../general/res/sass/mobile/_layout.scss */ - .user-environ .browse-area, - .user-environ .edit-area, - .user-environ .editor { - top: 0; - left: 0; - right: 0; - bottom: 25px; } + .holder.holder-create-and-search { + right: 10px !important; } - /* line 51, ../../../../general/res/sass/mobile/_layout.scss */ - .holder.l-mobile { - top: 10px !important; - right: 10px !important; - bottom: 10px !important; - left: 10px !important; } + /* line 56, ../../../../general/res/sass/mobile/_layout.scss */ + .pane-tree-hidden .pane.left.treeview { + -moz-transition-property: opacity; + -o-transition-property: opacity; + -webkit-transition-property: opacity; + transition-property: opacity; + -moz-transition-duration: 150ms; + -o-transition-duration: 150ms; + -webkit-transition-duration: 150ms; + transition-duration: 150ms; + -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; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; + opacity: 0 !important; } + /* line 64, ../../../../general/res/sass/mobile/_layout.scss */ + .pane-tree-hidden .pane.right.items { + left: 0 !important; } - /* line 61, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-hidetree { - -moz-user-select: -moz-none; - -ms-user-select: none; - -webkit-user-select: none; - user-select: none; } - /* line 65, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-hidetree .pane.left.treeview { - opacity: 0; - right: 100% !important; - width: auto !important; - overflow-y: hidden; - overflow-x: hidden; } - /* line 74, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-hidetree .pane.right-repr { - left: 0 !important; } + /* line 78, ../../../../general/res/sass/mobile/_layout.scss */ + .pane-tree-showing .pane.left.treeview { + -moz-transition-property: opacity; + -o-transition-property: opacity; + -webkit-transition-property: opacity; + transition-property: opacity; + -moz-transition-duration: 250ms; + -o-transition-duration: 250ms; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -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; + -moz-transition-delay: 250ms; + -o-transition-delay: 250ms; + -webkit-transition-delay: 250ms; + transition-delay: 250ms; + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSI5OCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMyIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); + background-size: 100%; + background-image: -moz-linear-gradient(0deg, rgba(0, 0, 0, 0) 98%, rgba(0, 0, 0, 0.3) 100%); + background-image: -webkit-linear-gradient(0deg, rgba(0, 0, 0, 0) 98%, rgba(0, 0, 0, 0.3) 100%); + background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 98%, rgba(0, 0, 0, 0.3) 100%); + right: auto !important; + width: 40% !important; } + /* line 85, ../../../../general/res/sass/mobile/_layout.scss */ + .pane-tree-showing .pane.right.items { + left: 40% !important; } - /* line 79, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-showtree { - -moz-user-select: -moz-none; - -ms-user-select: none; - -webkit-user-select: none; - user-select: none; } - /* line 88, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-showtree .pane.left.treeview { - -moz-transition-property: opacity; - -o-transition-property: opacity; - -webkit-transition-property: opacity; - transition-property: opacity; - -moz-transition-duration: 0.4s; - -o-transition-duration: 0.4s; - -webkit-transition-duration: 0.4s; - transition-duration: 0.4s; - -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; - background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSI5OCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMyIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); - background-size: 100%; - background-image: -moz-linear-gradient(0deg, rgba(0, 0, 0, 0) 98%, rgba(0, 0, 0, 0.3) 100%); - background-image: -webkit-linear-gradient(0deg, rgba(0, 0, 0, 0) 98%, rgba(0, 0, 0, 0.3) 100%); - background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 98%, rgba(0, 0, 0, 0.3) 100%); - opacity: 1; - display: block !important; - right: auto !important; - width: 40% !important; } - /* line 98, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-showtree .pane.right-repr { - left: 40% !important; } - - /* line 107, ../../../../general/res/sass/mobile/_layout.scss */ - .mobile-menu-icon { + /* line 90, ../../../../general/res/sass/mobile/_layout.scss */ + .toggle-tree { + color: #0099cc !important; font-size: 110%; position: absolute; top: 12px; left: 10px; } + /* line 96, ../../../../general/res/sass/mobile/_layout.scss */ + .toggle-tree:after { + content: 'm' !important; + font-family: symbolsfont; } - /* line 114, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 102, ../../../../general/res/sass/mobile/_layout.scss */ .object-browse-bar { - left: 30px !important; } - /* line 117, ../../../../general/res/sass/mobile/_layout.scss */ + left: 45px !important; } + /* line 105, ../../../../general/res/sass/mobile/_layout.scss */ .object-browse-bar .context-available { opacity: 1 !important; } - /* line 120, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 108, ../../../../general/res/sass/mobile/_layout.scss */ .object-browse-bar .view-switcher { margin-right: 0 !important; } - /* line 122, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 110, ../../../../general/res/sass/mobile/_layout.scss */ .object-browse-bar .view-switcher .title-label { display: none; } - /* line 129, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 117, ../../../../general/res/sass/mobile/_layout.scss */ .tree-holder { overflow-x: hidden !important; } - /* line 133, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 121, ../../../../general/res/sass/mobile/_layout.scss */ .mobile-disable-select { -moz-user-select: -moz-none; -ms-user-select: none; -webkit-user-select: none; user-select: none; } - /* line 138, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 126, ../../../../general/res/sass/mobile/_layout.scss */ .mobile-hide, .mobile-hide-important { display: none !important; } - /* line 143, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 131, ../../../../general/res/sass/mobile/_layout.scss */ .mobile-back-hide { pointer-events: none; -moz-transition-property: opacity; @@ -3793,9 +4845,13 @@ span.req { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; opacity: 0; } - /* line 148, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 136, ../../../../general/res/sass/mobile/_layout.scss */ .mobile-back-unhide { pointer-events: all; -moz-transition-property: opacity; @@ -3810,21 +4866,27 @@ span.req { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; opacity: 1; } } @media screen and (orientation: portrait) and (max-width: 514px) and (max-height: 740px) and (max-device-width: 799px) and (max-device-height: 1024px) { - /* line 157, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-showtree .pane.left.treeview { + /* line 145, ../../../../general/res/sass/mobile/_layout.scss */ + .pane-tree-showing .pane.left.treeview { width: 90% !important; } - /* line 160, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-showtree .pane.right-repr { + /* line 148, ../../../../general/res/sass/mobile/_layout.scss */ + .pane-tree-showing .pane.right.items { left: 0 !important; - transform: translateX(90%); - -webkit-transform: translateX(90%); } - /* line 163, ../../../../general/res/sass/mobile/_layout.scss */ - .browse-showtree .pane.right-repr #content-area { + -moz-transform: translateX(90%); + -ms-transform: translateX(90%); + -webkit-transform: translateX(90%); + transform: translateX(90%); } + /* line 151, ../../../../general/res/sass/mobile/_layout.scss */ + .pane-tree-showing .pane.right.items #content-area { opacity: 0; } } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 171, ../../../../general/res/sass/mobile/_layout.scss */ + /* line 159, ../../../../general/res/sass/mobile/_layout.scss */ .desktop-hide { display: none; } } /***************************************************************************** @@ -3968,14 +5030,14 @@ span.req { * at runtime from the About dialog for additional information. *****************************************************************************/ /* line 23, ../../../../general/res/sass/search/_search.scss */ -.abs.search-holder, .l-datetime-picker .l-month-year-pager .search-holder.pager, +.abs.search-holder, .search-holder.l-inspect, .l-datetime-picker .l-month-year-pager .search-holder.pager, .l-datetime-picker .l-month-year-pager .search-holder.val, .s-menu-btn span.search-holder.l-click-area { height: 25px; bottom: 0; top: 23px; z-index: 5; } /* line 27, ../../../../general/res/sass/search/_search.scss */ - .abs.search-holder.active, .l-datetime-picker .l-month-year-pager .search-holder.active.pager, + .abs.search-holder.active, .search-holder.active.l-inspect, .l-datetime-picker .l-month-year-pager .search-holder.active.pager, .l-datetime-picker .l-month-year-pager .search-holder.active.val, .s-menu-btn span.search-holder.active.l-click-area { height: auto; bottom: 0; } @@ -4156,124 +5218,190 @@ span.req { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* line 23, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay .blocker { - background: rgba(0, 0, 0, 0.7); - z-index: 100; } -/* line 27, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay .clk-icon.close { - font-size: 0.8rem; - position: absolute; - top: 10px; - right: 10px; - bottom: auto; - left: auto; - z-index: 100; } -/* line 33, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay > .holder { - background-color: #fcfcfc; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #666; - display: inline-block; - -moz-border-radius: 12px; - -webkit-border-radius: 12px; - border-radius: 12px; - color: #666; - top: 15%; - right: 15%; - bottom: 15%; - left: 15%; - z-index: 101; } - /* line 40, ../../../../general/res/sass/overlay/_overlay.scss */ - .overlay > .holder > .contents { - top: 25px; - right: 25px; - bottom: 25px; - left: 25px; } -/* line 45, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay .title { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - font-size: 1.2em; - margin-bottom: 5px; } -/* line 51, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay .top-bar { - height: 60px; } -/* line 55, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay .editor { - top: 70px; - bottom: 40px; - left: 0; - right: 0; } -/* line 61, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay .bottom-bar { - top: auto; - right: 0; - bottom: 0; - left: 0; - overflow: visible; - height: 30px; - text-align: right; } - /* line 67, ../../../../general/res/sass/overlay/_overlay.scss */ - .overlay .bottom-bar .s-btn, .overlay .bottom-bar .s-menu-btn { - font-size: 95%; - height: 30px; - line-height: 30px; - margin-left: 5px; - padding: 0 15px; } - /* line 69, ../../../../general/res/sass/overlay/_overlay.scss */ - .overlay .bottom-bar .s-btn:not(.major), .overlay .bottom-bar .s-menu-btn:not(.major) { - background-color: #969696; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #fff; - display: inline-block; - -moz-user-select: -moz-none; - -ms-user-select: none; - -webkit-user-select: none; - user-select: none; - -moz-transition: background, 0.25s; - -o-transition: background, 0.25s; - -webkit-transition: background, 0.25s; - transition: background, 0.25s; - text-shadow: none; } - /* 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; } - @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 277, ../../../../general/res/sass/_mixins.scss */ - .overlay .bottom-bar .s-btn:not(.major):not(.disabled):hover, .overlay .bottom-bar .s-menu-btn:not(.major):not(.disabled):hover { - background: #7d7d7d; } - /* line 279, ../../../../general/res/sass/_mixins.scss */ - .overlay .bottom-bar .s-btn:not(.major):not(.disabled):hover > .icon, .overlay .bottom-bar .s-menu-btn:not(.major):not(.disabled):hover > .icon { - color: white; } } -/* line 85, ../../../../general/res/sass/overlay/_overlay.scss */ -.overlay .contents.l-dialog { - top: 5px; - right: 5px; - bottom: 5px; - left: 5px; - overflow: auto; } - /* line 93, ../../../../general/res/sass/overlay/_overlay.scss */ - .overlay .contents.l-dialog .field.l-med input[type='text'] { +/* line 22, ../../../../general/res/sass/overlay/_overlay.scss */ +.overlay { + font-size: 90%; } + /* line 24, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .blocker { + background: rgba(0, 0, 0, 0.7); + z-index: 100; } + /* line 28, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .clk-icon.close { + font-size: 0.8rem; + position: absolute; + top: 10px; + right: 10px; + bottom: auto; + left: auto; + z-index: 100; } + /* line 37, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay > .holder { + background-color: #fcfcfc; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #666; + display: inline-block; + -moz-border-radius: 12px; + -webkit-border-radius: 12px; + border-radius: 12px; + color: #666; + top: 50%; + right: auto; + bottom: auto; + left: 50%; + -moz-transform: translateX(-50%) translateY(-50%); + -ms-transform: translateX(-50%) translateY(-50%); + -webkit-transform: translateX(-50%) translateY(-50%); + transform: translateX(-50%) translateY(-50%); + height: 70%; + width: 50%; + min-height: 300px; + max-height: 800px; + min-width: 600px; + max-width: 1000px; + z-index: 101; } + /* line 54, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay > .holder > .contents { + top: 25px; + right: 25px; + bottom: 25px; + left: 25px; } + /* line 69, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .title { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 1.2em; + line-height: 120%; + margin-bottom: 5px; } + /* line 76, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .hint { + color: #999999; } + /* line 80, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .abs.top-bar, .overlay .top-bar.l-inspect, .overlay .l-datetime-picker .l-month-year-pager .top-bar.pager, .l-datetime-picker .l-month-year-pager .overlay .top-bar.pager, + .overlay .l-datetime-picker .l-month-year-pager .top-bar.val, + .l-datetime-picker .l-month-year-pager .overlay .top-bar.val, .overlay .s-menu-btn span.top-bar.l-click-area, .s-menu-btn .overlay span.top-bar.l-click-area { + height: 45px; } + /* line 84, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .abs.editor, .overlay .editor.l-inspect, .overlay .l-datetime-picker .l-month-year-pager .editor.pager, .l-datetime-picker .l-month-year-pager .overlay .editor.pager, + .overlay .l-datetime-picker .l-month-year-pager .editor.val, + .l-datetime-picker .l-month-year-pager .overlay .editor.val, .overlay .s-menu-btn span.editor.l-click-area, .s-menu-btn .overlay span.editor.l-click-area, + .overlay .abs.message-body, + .overlay .message-body.l-inspect, + .overlay .l-datetime-picker .l-month-year-pager .message-body.pager, + .l-datetime-picker .l-month-year-pager .overlay .message-body.pager, + .overlay .l-datetime-picker .l-month-year-pager .message-body.val, + .l-datetime-picker .l-month-year-pager .overlay .message-body.val, + .overlay .s-menu-btn span.message-body.l-click-area, + .s-menu-btn .overlay span.message-body.l-click-area { + top: 55px; + bottom: 34px; + left: 0; + right: 0; + overflow: auto; } + /* line 92, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .abs.editor .field.l-med input[type='text'], .overlay .editor.l-inspect .field.l-med input[type='text'], .overlay .l-datetime-picker .l-month-year-pager .editor.pager .field.l-med input[type='text'], .l-datetime-picker .l-month-year-pager .overlay .editor.pager .field.l-med input[type='text'], + .overlay .l-datetime-picker .l-month-year-pager .editor.val .field.l-med input[type='text'], + .l-datetime-picker .l-month-year-pager .overlay .editor.val .field.l-med input[type='text'], .overlay .s-menu-btn span.editor.l-click-area .field.l-med input[type='text'], .s-menu-btn .overlay span.editor.l-click-area .field.l-med input[type='text'], + .overlay .abs.message-body .field.l-med input[type='text'], + .overlay .message-body.l-inspect .field.l-med input[type='text'], + .overlay .l-datetime-picker .l-month-year-pager .message-body.pager .field.l-med input[type='text'], + .l-datetime-picker .l-month-year-pager .overlay .message-body.pager .field.l-med input[type='text'], + .overlay .l-datetime-picker .l-month-year-pager .message-body.val .field.l-med input[type='text'], + .l-datetime-picker .l-month-year-pager .overlay .message-body.val .field.l-med input[type='text'], + .overlay .s-menu-btn span.message-body.l-click-area .field.l-med input[type='text'], + .s-menu-btn .overlay span.message-body.l-click-area .field.l-med input[type='text'] { + width: 100%; } + /* line 98, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .bottom-bar { + text-align: right; } + /* line 100, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .bottom-bar .s-btn, .overlay .bottom-bar .s-menu-btn { + font-size: 95%; + height: 24px; + line-height: 24px; + margin-left: 5px; + padding: 0 15px; } + /* line 102, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .bottom-bar .s-btn:not(.major), .overlay .bottom-bar .s-menu-btn:not(.major) { + background-color: #969696; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #fff; + display: inline-block; + -moz-user-select: -moz-none; + -ms-user-select: none; + -webkit-user-select: none; + user-select: none; + -moz-transition: background, 0.25s; + -o-transition: background, 0.25s; + -webkit-transition: background, 0.25s; + transition: background, 0.25s; + text-shadow: none; } + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .overlay .bottom-bar .s-btn:not(.major) .icon, .overlay .bottom-bar .s-menu-btn:not(.major) .icon, .overlay .bottom-bar .s-btn:not(.major) .t-item-icon, .overlay .bottom-bar .s-menu-btn:not(.major) .t-item-icon { + color: #fff; } + @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + /* line 302, ../../../../general/res/sass/_mixins.scss */ + .overlay .bottom-bar .s-btn:not(.major):not(.disabled):hover, .overlay .bottom-bar .s-menu-btn:not(.major):not(.disabled):hover { + background: #7d7d7d; } + /* line 304, ../../../../general/res/sass/_mixins.scss */ + .overlay .bottom-bar .s-btn:not(.major):not(.disabled):hover > .icon, .overlay .bottom-bar .s-menu-btn:not(.major):not(.disabled):hover > .icon, .overlay .bottom-bar .s-btn:not(.major):not(.disabled):hover > .t-item-icon, .overlay .bottom-bar .s-menu-btn:not(.major):not(.disabled):hover > .t-item-icon { + color: white; } } + /* line 110, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .bottom-bar .s-btn:first-child, .overlay .bottom-bar .s-menu-btn:first-child { + margin-left: 0; } + /* line 117, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .abs.bottom-bar, .overlay .bottom-bar.l-inspect, .overlay .l-datetime-picker .l-month-year-pager .bottom-bar.pager, .l-datetime-picker .l-month-year-pager .overlay .bottom-bar.pager, + .overlay .l-datetime-picker .l-month-year-pager .bottom-bar.val, + .l-datetime-picker .l-month-year-pager .overlay .bottom-bar.val, .overlay .s-menu-btn span.bottom-bar.l-click-area, .s-menu-btn .overlay span.bottom-bar.l-click-area { + top: auto; + right: 0; + bottom: 0; + left: 0; + overflow: visible; + height: 24px; } + /* line 127, ../../../../general/res/sass/overlay/_overlay.scss */ + .overlay .l-progress-bar { + display: block; + height: 15px; + line-height: 15px; + margin: .5em 0; width: 100%; } +/* line 137, ../../../../general/res/sass/overlay/_overlay.scss */ +.t-dialog-sm .overlay > .holder { + min-height: 225px; + height: 225px; } + @media screen and (orientation: portrait) and (max-width: 514px) and (max-height: 740px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (max-height: 514px) and (max-width: 740px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (max-height: 514px) and (max-width: 740px) and (max-device-width: 1024px) and (max-device-height: 799px), screen and (orientation: portrait) and (min-width: 515px) and (max-width: 799px) and (min-height: 741px) and (max-height: 1024px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (min-height: 515px) and (max-height: 799px) and (min-width: 741px) and (max-width: 1024px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (min-height: 515px) and (max-height: 799px) and (min-width: 741px) and (max-width: 1024px) and (max-device-width: 1024px) and (max-device-height: 799px) { - /* line 4, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + /* line 3, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ .overlay .clk-icon.close { - top: 10px; - right: 10px; } - /* line 8, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + top: 20px; + right: 20px; } + /* line 7, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .overlay > .holder { + height: 90%; + width: 90%; } + /* line 10, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .overlay > .holder > .contents { + top: 20px; + right: 20px; + bottom: 20px; + left: 20px; } + /* line 17, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .overlay > .holder > .contents .top-bar > .title { + margin-right: 1.2em; } } +@media screen and (orientation: portrait) and (max-width: 514px) and (max-height: 740px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (max-height: 514px) and (max-width: 740px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (max-height: 514px) and (max-width: 740px) and (max-device-width: 1024px) and (max-device-height: 799px) { + /* line 27, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ .overlay > .holder { -moz-border-radius: 0; -webkit-border-radius: 0; @@ -4281,35 +5409,72 @@ span.req { top: 0; right: 0; bottom: 0; - left: 0; } - /* line 14, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ - .overlay > .holder > .contents { - top: 10px; - right: 10px; - bottom: 10px; - left: 10px; } - /* line 21, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ - .overlay > .holder > .contents .top-bar > .title { - margin-right: 1.2em; } - /* line 26, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ - .overlay > .holder > .contents .form.editor { - border: none; } - /* line 29, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ - .overlay > .holder > .contents .form.editor .contents { - top: 0; - right: 0; - bottom: 0; - left: 0; } } -@media screen and (orientation: portrait) and (max-width: 514px) and (max-height: 740px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (max-height: 514px) and (max-width: 740px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (max-height: 514px) and (max-width: 740px) and (max-device-width: 1024px) and (max-device-height: 799px) { - /* line 43, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ - .overlay > .holder > .contents .form.editor .contents .form-row > .label, - .overlay > .holder > .contents .form.editor .contents .form-row > .controls { - display: block; - float: none; - width: 100%; } - /* line 51, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ - .overlay > .holder > .contents .form.editor .contents .form-row > .label:after { - float: none; } } + left: 0; + height: auto; + width: auto; + min-width: 200px; + min-height: 200px; + max-height: 100%; + max-width: 100%; + overflow: auto; + -moz-transform: none; + -ms-transform: none; + -webkit-transform: none; + transform: none; } + /* line 42, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .overlay > .holder .editor .form .form-row > .label, + .overlay > .holder .editor .form .form-row > .controls { + display: block; + float: none; + width: 100%; } + /* line 50, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .overlay > .holder .editor .form .form-row > .label:after { + float: none; } + /* line 57, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .overlay > .holder .contents .abs.top-bar, .overlay > .holder .contents .top-bar.l-inspect, .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .top-bar.pager, .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .top-bar.pager, + .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .top-bar.val, + .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .top-bar.val, .overlay > .holder .contents .s-menu-btn span.top-bar.l-click-area, .s-menu-btn .overlay > .holder .contents span.top-bar.l-click-area, + .overlay > .holder .contents .abs.editor, + .overlay > .holder .contents .editor.l-inspect, + .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .editor.pager, + .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .editor.pager, + .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .editor.val, + .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .editor.val, + .overlay > .holder .contents .s-menu-btn span.editor.l-click-area, + .s-menu-btn .overlay > .holder .contents span.editor.l-click-area, + .overlay > .holder .contents .abs.message-body, + .overlay > .holder .contents .message-body.l-inspect, + .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .message-body.pager, + .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .message-body.pager, + .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .message-body.val, + .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .message-body.val, + .overlay > .holder .contents .s-menu-btn span.message-body.l-click-area, + .s-menu-btn .overlay > .holder .contents span.message-body.l-click-area, + .overlay > .holder .contents .abs.bottom-bar, + .overlay > .holder .contents .bottom-bar.l-inspect, + .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .bottom-bar.pager, + .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .bottom-bar.pager, + .overlay > .holder .contents .l-datetime-picker .l-month-year-pager .bottom-bar.val, + .l-datetime-picker .l-month-year-pager .overlay > .holder .contents .bottom-bar.val, + .overlay > .holder .contents .s-menu-btn span.bottom-bar.l-click-area, + .s-menu-btn .overlay > .holder .contents span.bottom-bar.l-click-area { + top: auto; + right: auto; + bottom: auto; + left: auto; + height: auto; + width: auto; + margin-bottom: 20px; + position: relative; } + + /* line 69, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .t-dialog-sm .overlay > .holder { + height: auto; + max-height: 100%; } } +@media screen and (orientation: portrait) and (max-width: 514px) and (max-height: 740px) and (max-device-width: 799px) and (max-device-height: 1024px) { + /* line 77, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ + .overlay > .holder .contents .bottom-bar { + text-align: center; } } /***************************************************************************** * Open MCT Web, Copyright (c) 2014-2015, United States Government * as represented by the Administrator of the National Aeronautics and Space @@ -4339,7 +5504,7 @@ ul.tree { -ms-user-select: none; -webkit-user-select: none; user-select: none; } - /* line 329, ../../../../general/res/sass/_mixins.scss */ + /* line 354, ../../../../general/res/sass/_mixins.scss */ ul.tree li { list-style-type: none; margin: 0; @@ -4380,13 +5545,15 @@ ul.tree { font-size: 0.75em; width: 10px; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 57, ../../../../general/res/sass/tree/_tree.scss */ + /* line 56, ../../../../general/res/sass/tree/_tree.scss */ .tree-item .view-control:hover, .search-result-item .view-control:hover { color: #0099cc !important; } } - /* line 63, ../../../../general/res/sass/tree/_tree.scss */ + /* line 62, ../../../../general/res/sass/tree/_tree.scss */ .tree-item .label, - .search-result-item .label { + .tree-item .t-object-label, + .search-result-item .label, + .search-result-item .t-object-label { display: block; overflow: hidden; position: absolute; @@ -4397,10 +5564,27 @@ ul.tree { width: auto; height: auto; line-height: 1.5rem; } - /* line 71, ../../../../general/res/sass/tree/_tree.scss */ + /* line 68, ../../../../general/res/sass/tree/_tree.scss */ + .tree-item .label .t-item-icon, + .tree-item .t-object-label .t-item-icon, + .search-result-item .label .t-item-icon, + .search-result-item .t-object-label .t-item-icon { + font-size: 1.4em; + color: #0099cc; + position: absolute; + left: 5px; + top: 50%; + width: 1.4em; + -moz-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -webkit-transform: translateY(-50%); + transform: translateY(-50%); } + /* line 79, ../../../../general/res/sass/tree/_tree.scss */ .tree-item .label .type-icon, - .search-result-item .label .type-icon { - font-size: 16px; + .tree-item .t-object-label .type-icon, + .search-result-item .label .type-icon, + .search-result-item .t-object-label .type-icon { + font-size: 1.4em; color: #0099cc; left: 5px; position: absolute; @@ -4409,16 +5593,31 @@ ul.tree { height: 16px; line-height: 100%; right: auto; - width: 16px; } - /* line 84, ../../../../general/res/sass/tree/_tree.scss */ - .tree-item .label .type-icon .icon.l-icon-link, .tree-item .label .type-icon .icon.l-icon-alert, + width: 1.4em; } + /* line 92, ../../../../general/res/sass/tree/_tree.scss */ + .tree-item .label .type-icon .icon.l-icon-link, .tree-item .label .type-icon .l-icon-link.t-item-icon, .tree-item .label .type-icon .icon.l-icon-alert, .tree-item .label .type-icon .l-icon-alert.t-item-icon, + .tree-item .t-object-label .type-icon .icon.l-icon-link, + .tree-item .t-object-label .type-icon .l-icon-link.t-item-icon, + .tree-item .t-object-label .type-icon .icon.l-icon-alert, + .tree-item .t-object-label .type-icon .l-icon-alert.t-item-icon, .search-result-item .label .type-icon .icon.l-icon-link, - .search-result-item .label .type-icon .icon.l-icon-alert { + .search-result-item .label .type-icon .l-icon-link.t-item-icon, + .search-result-item .label .type-icon .icon.l-icon-alert, + .search-result-item .label .type-icon .l-icon-alert.t-item-icon, + .search-result-item .t-object-label .type-icon .icon.l-icon-link, + .search-result-item .t-object-label .type-icon .l-icon-link.t-item-icon, + .search-result-item .t-object-label .type-icon .icon.l-icon-alert, + .search-result-item .t-object-label .type-icon .l-icon-alert.t-item-icon { position: absolute; z-index: 2; } - /* line 89, ../../../../general/res/sass/tree/_tree.scss */ - .tree-item .label .type-icon .icon.l-icon-alert, - .search-result-item .label .type-icon .icon.l-icon-alert { + /* line 97, ../../../../general/res/sass/tree/_tree.scss */ + .tree-item .label .type-icon .icon.l-icon-alert, .tree-item .label .type-icon .l-icon-alert.t-item-icon, + .tree-item .t-object-label .type-icon .icon.l-icon-alert, + .tree-item .t-object-label .type-icon .l-icon-alert.t-item-icon, + .search-result-item .label .type-icon .icon.l-icon-alert, + .search-result-item .label .type-icon .l-icon-alert.t-item-icon, + .search-result-item .t-object-label .type-icon .icon.l-icon-alert, + .search-result-item .t-object-label .type-icon .l-icon-alert.t-item-icon { color: #ff3c00; font-size: 8px; line-height: 8px; @@ -4426,9 +5625,14 @@ ul.tree { width: 8px; top: 1px; right: -2px; } - /* line 95, ../../../../general/res/sass/tree/_tree.scss */ - .tree-item .label .type-icon .icon.l-icon-link, - .search-result-item .label .type-icon .icon.l-icon-link { + /* line 103, ../../../../general/res/sass/tree/_tree.scss */ + .tree-item .label .type-icon .icon.l-icon-link, .tree-item .label .type-icon .l-icon-link.t-item-icon, + .tree-item .t-object-label .type-icon .icon.l-icon-link, + .tree-item .t-object-label .type-icon .l-icon-link.t-item-icon, + .search-result-item .label .type-icon .icon.l-icon-link, + .search-result-item .label .type-icon .l-icon-link.t-item-icon, + .search-result-item .t-object-label .type-icon .icon.l-icon-link, + .search-result-item .t-object-label .type-icon .l-icon-link.t-item-icon { color: #49dedb; font-size: 8px; line-height: 8px; @@ -4436,9 +5640,15 @@ ul.tree { width: 8px; left: -3px; bottom: 0px; } - /* line 103, ../../../../general/res/sass/tree/_tree.scss */ + /* line 111, ../../../../general/res/sass/tree/_tree.scss */ .tree-item .label .title-label, - .search-result-item .label .title-label { + .tree-item .label .t-title-label, + .tree-item .t-object-label .title-label, + .tree-item .t-object-label .t-title-label, + .search-result-item .label .title-label, + .search-result-item .label .t-title-label, + .search-result-item .t-object-label .title-label, + .search-result-item .t-object-label .t-title-label { overflow: hidden; position: absolute; top: 0px; @@ -4452,48 +5662,48 @@ ul.tree { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } - /* line 113, ../../../../general/res/sass/tree/_tree.scss */ + /* line 122, ../../../../general/res/sass/tree/_tree.scss */ .tree-item.selected, .search-result-item.selected { background: #1ac6ff; color: #fcfcfc; } - /* line 116, ../../../../general/res/sass/tree/_tree.scss */ + /* line 125, ../../../../general/res/sass/tree/_tree.scss */ .tree-item.selected .view-control, .search-result-item.selected .view-control { color: #fcfcfc; } - /* line 119, ../../../../general/res/sass/tree/_tree.scss */ - .tree-item.selected .label .type-icon, - .search-result-item.selected .label .type-icon { + /* line 128, ../../../../general/res/sass/tree/_tree.scss */ + .tree-item.selected .t-object-label .t-item-icon, + .search-result-item.selected .t-object-label .t-item-icon { color: #fcfcfc; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 127, ../../../../general/res/sass/tree/_tree.scss */ + /* line 136, ../../../../general/res/sass/tree/_tree.scss */ .tree-item:not(.selected):hover, .search-result-item:not(.selected):hover { background: rgba(102, 102, 102, 0.1); color: #333333; } - /* line 130, ../../../../general/res/sass/tree/_tree.scss */ - .tree-item:not(.selected):hover .icon, - .search-result-item:not(.selected):hover .icon { + /* line 139, ../../../../general/res/sass/tree/_tree.scss */ + .tree-item:not(.selected):hover .t-item-icon, + .search-result-item:not(.selected):hover .t-item-icon { color: #0099cc; } } - /* line 137, ../../../../general/res/sass/tree/_tree.scss */ + /* line 146, ../../../../general/res/sass/tree/_tree.scss */ .tree-item:not(.loading), .search-result-item:not(.loading) { cursor: pointer; } - /* line 141, ../../../../general/res/sass/tree/_tree.scss */ + /* line 150, ../../../../general/res/sass/tree/_tree.scss */ .tree-item .context-trigger, .search-result-item .context-trigger { top: -1px; position: absolute; right: 3px; } - /* line 146, ../../../../general/res/sass/tree/_tree.scss */ + /* line 155, ../../../../general/res/sass/tree/_tree.scss */ .tree-item .context-trigger .invoke-menu, .search-result-item .context-trigger .invoke-menu { font-size: 0.75em; height: 0.9rem; line-height: 0.9rem; } -/* line 155, ../../../../general/res/sass/tree/_tree.scss */ -.tree-item .label { +/* line 164, ../../../../general/res/sass/tree/_tree.scss */ +.tree-item .t-object-label { left: 15px; } /***************************************************************************** @@ -4533,21 +5743,19 @@ ul.tree { .search-result-item .view-control { position: absolute; font-size: 1.1em; + height: 35px; + line-height: inherit; right: 0px; width: 30px; text-align: center; } - /* line 45, ../../../../general/res/sass/mobile/_tree.scss */ + /* line 47, ../../../../general/res/sass/mobile/_tree.scss */ .tree-item .label, - .search-result-item .label { + .tree-item .t-object-label, + .search-result-item .label, + .search-result-item .t-object-label { left: 0; right: 35px; - line-height: 35px; } - /* line 50, ../../../../general/res/sass/mobile/_tree.scss */ - .tree-item .label .type-icon, - .search-result-item .label .type-icon { - top: 9px; - bottom: auto; - height: 16px; } } + line-height: inherit; } } /***************************************************************************** * Open MCT Web, Copyright (c) 2014-2015, United States Government * as represented by the Administrator of the National Aeronautics and Space @@ -4577,13 +5785,13 @@ ul.tree { .frame.child-frame.panel:hover { border-color: rgba(128, 128, 128, 0.2); } /* line 32, ../../../../general/res/sass/user-environ/_frame.scss */ -.frame > .object-header.abs, .l-datetime-picker .l-month-year-pager .frame > .object-header.pager, +.frame > .object-header.abs, .frame > .object-header.l-inspect, .l-datetime-picker .l-month-year-pager .frame > .object-header.pager, .l-datetime-picker .l-month-year-pager .frame > .object-header.val, .s-menu-btn .frame > span.object-header.l-click-area { font-size: 0.75em; height: 16px; line-height: 16px; } /* line 38, ../../../../general/res/sass/user-environ/_frame.scss */ -.frame > .object-holder.abs, .l-datetime-picker .l-month-year-pager .frame > .object-holder.pager, +.frame > .object-holder.abs, .frame > .object-holder.l-inspect, .l-datetime-picker .l-month-year-pager .frame > .object-holder.pager, .l-datetime-picker .l-month-year-pager .frame > .object-holder.val, .s-menu-btn .frame > span.object-holder.l-click-area { top: 21px; } /* line 41, ../../../../general/res/sass/user-environ/_frame.scss */ @@ -4642,9 +5850,9 @@ ul.tree { *****************************************************************************/ /* line 22, ../../../../general/res/sass/user-environ/_top-bar.scss */ .top-bar { - /* .title { - color: #fff; - }*/ } + /* .title { + color: #fff; + }*/ } /* line 23, ../../../../general/res/sass/user-environ/_top-bar.scss */ .top-bar.browse, .top-bar.edit { border-bottom: 1px solid rgba(102, 102, 102, 0.2); @@ -4664,92 +5872,12 @@ ul.tree { .edit-mode .top-bar .buttons-main { white-space: nowrap; } /* line 52, ../../../../general/res/sass/user-environ/_top-bar.scss */ - .edit-mode .top-bar .buttons-main.abs, .edit-mode .top-bar .l-datetime-picker .l-month-year-pager .buttons-main.pager, .l-datetime-picker .l-month-year-pager .edit-mode .top-bar .buttons-main.pager, + .edit-mode .top-bar .buttons-main.abs, .edit-mode .top-bar .buttons-main.l-inspect, .edit-mode .top-bar .l-datetime-picker .l-month-year-pager .buttons-main.pager, .l-datetime-picker .l-month-year-pager .edit-mode .top-bar .buttons-main.pager, .edit-mode .top-bar .l-datetime-picker .l-month-year-pager .buttons-main.val, .l-datetime-picker .l-month-year-pager .edit-mode .top-bar .buttons-main.val, .edit-mode .top-bar .s-menu-btn span.buttons-main.l-click-area, .s-menu-btn .edit-mode .top-bar span.buttons-main.l-click-area { bottom: auto; left: auto; } -/***************************************************************************** - * 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. - *****************************************************************************/ -/* line 22, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ -.ue-bottom-bar { - background: #000; - color: white; - font-size: .7rem; } - /* line 28, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ - .ue-bottom-bar .status-holder { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; - position: absolute; - top: 5px; - right: 5px; - bottom: 5px; - left: 5px; - width: auto; - height: auto; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - line-height: 15px; - right: 120px; - text-transform: uppercase; } - /* line 39, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ - .ue-bottom-bar .app-logo { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; - position: absolute; - top: 5px; - right: 5px; - bottom: 5px; - left: 5px; - width: auto; - height: auto; - left: auto; - cursor: pointer; } - /* line 48, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ - .ue-bottom-bar .app-logo.logo-openmctweb { - background: url("../../../../general/res/images/logo-openmctweb.svg") no-repeat center center; } - -/* line 54, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ -.status.block { - display: inline; - margin-right: 10px; } - /* line 58, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ - .status.block .status-indicator { - display: inline-block; - margin-right: 3px; - color: #0099cc; } - /* line 65, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ - .status.block .status-indicator.ok { - color: #009900; } - /* line 68, ../../../../general/res/sass/user-environ/_bottom-bar.scss */ - .status.block .status-indicator.caution { - color: #ffaa00; } - /***************************************************************************** * Open MCT Web, Copyright (c) 2014-2015, United States Government * as represented by the Administrator of the National Aeronautics and Space @@ -5486,35 +6614,6 @@ table { height: 100%; width: 100%; } -/***************************************************************************** - * 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. - *****************************************************************************/ -/******************************** BROWSE */ -/* line 27, ../../../../general/res/sass/_hide-non-functional.scss */ -.browse-mode .browse.top-bar { - display: none; } -/* line 32, ../../../../general/res/sass/_hide-non-functional.scss */ -.browse-mode .browse-area.holder { - top: 10px; } - /* Styles for sub-dividing views generically */ /* line 3, ../../../../general/res/sass/_views.scss */ .l-view-section { @@ -5597,15 +6696,15 @@ table { margin-bottom: 3px; margin-right: 3px; position: relative; } - /* line 272, ../../../../general/res/sass/_mixins.scss */ - .items-holder .item.grid-item .icon { + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .items-holder .item.grid-item .icon, .items-holder .item.grid-item .t-item-icon { color: #0099cc; } @media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { - /* line 277, ../../../../general/res/sass/_mixins.scss */ + /* line 302, ../../../../general/res/sass/_mixins.scss */ .items-holder .item.grid-item:not(.disabled):hover { background: #d0d0d0; } - /* line 279, ../../../../general/res/sass/_mixins.scss */ - .items-holder .item.grid-item:not(.disabled):hover > .icon { + /* line 304, ../../../../general/res/sass/_mixins.scss */ + .items-holder .item.grid-item:not(.disabled):hover > .icon, .items-holder .item.grid-item:not(.disabled):hover > .t-item-icon { color: #33ccff; } } /* line 45, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item:hover .item-main .item-type { @@ -5634,10 +6733,10 @@ table { .items-holder .item.grid-item .bar.top-bar .left, .items-holder .item.grid-item .bar.top-bar .right { width: auto; } /* line 70, ../../../../general/res/sass/items/_item.scss */ - .items-holder .item.grid-item .bar.top-bar .left .icon, .items-holder .item.grid-item .bar.top-bar .right .icon { + .items-holder .item.grid-item .bar.top-bar .left .icon, .items-holder .item.grid-item .bar.top-bar .left .t-item-icon, .items-holder .item.grid-item .bar.top-bar .right .icon, .items-holder .item.grid-item .bar.top-bar .right .t-item-icon { margin-left: 3px; } /* line 72, ../../../../general/res/sass/items/_item.scss */ - .items-holder .item.grid-item .bar.top-bar .left .icon.l-icon-link, .items-holder .item.grid-item .bar.top-bar .right .icon.l-icon-link { + .items-holder .item.grid-item .bar.top-bar .left .icon.l-icon-link, .items-holder .item.grid-item .bar.top-bar .left .l-icon-link.t-item-icon, .items-holder .item.grid-item .bar.top-bar .right .icon.l-icon-link, .items-holder .item.grid-item .bar.top-bar .right .l-icon-link.t-item-icon { color: #49dedb; } /* line 78, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item .bar.bottom-bar { @@ -5648,32 +6747,17 @@ table { line-height: 160px; z-index: 1; } /* line 89, ../../../../general/res/sass/items/_item.scss */ - .items-holder .item.grid-item .item-main .item-type { - overflow: false; + .items-holder .item.grid-item .item-main .item-type, + .items-holder .item.grid-item .item-main .t-item-icon { + -moz-transform: translateX(-50%) translateY(-55%); + -ms-transform: translateX(-50%) translateY(-55%); + -webkit-transform: translateX(-50%) translateY(-55%); + transform: translateX(-50%) translateY(-55%); position: absolute; - top: 40px; - right: 40px; - bottom: 40px; - left: 40px; - width: auto; - height: auto; - text-align: center; - font-size: 96.9px; - line-height: 102px; - bottom: auto; - height: 102px; - top: 30px; } - /* line 100, ../../../../general/res/sass/items/_item.scss */ - .items-holder .item.grid-item .item-main .item-type .l-icon-link { - color: #49dedb; - height: auto; - line-height: 100%; - position: absolute; - font-size: 0.3em; - left: 0px; - bottom: 10px; - z-index: 2; } - /* line 111, ../../../../general/res/sass/items/_item.scss */ + top: 50%; + left: 50%; + font-size: 96.9px; } + /* line 100, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item .item-main .item-open { -moz-transition-property: "opacity"; -o-transition-property: "opacity"; @@ -5687,6 +6771,10 @@ table { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; opacity: 0; color: #8c8c8c; font-size: 3em; @@ -5694,14 +6782,14 @@ table { width: 50px; pointer-events: none; text-align: right; } - /* line 121, ../../../../general/res/sass/items/_item.scss */ + /* line 110, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item .title { text-shadow: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #666; } - /* line 126, ../../../../general/res/sass/items/_item.scss */ + /* line 115, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item .details { text-shadow: none; overflow: hidden; @@ -5709,7 +6797,7 @@ table { white-space: nowrap; color: #8c8c8c; font-size: 0.8em; } - /* line 132, ../../../../general/res/sass/items/_item.scss */ + /* line 121, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item.selected { background-color: #0099cc; -moz-border-radius: 4px; @@ -5730,19 +6818,19 @@ table { transition: background, 0.25s; text-shadow: none; color: #80dfff; } - /* line 272, ../../../../general/res/sass/_mixins.scss */ - .items-holder .item.grid-item.selected .icon { + /* line 297, ../../../../general/res/sass/_mixins.scss */ + .items-holder .item.grid-item.selected .icon, .items-holder .item.grid-item.selected .t-item-icon { color: #eee; } - /* line 137, ../../../../general/res/sass/items/_item.scss */ - .items-holder .item.grid-item.selected .item-type, .items-holder .item.grid-item.selected .top-bar .icon:not(.alert) { + /* line 126, ../../../../general/res/sass/items/_item.scss */ + .items-holder .item.grid-item.selected .item-type, .items-holder .item.grid-item.selected .top-bar .icon:not(.alert), .items-holder .item.grid-item.selected .top-bar .t-item-icon:not(.alert) { color: #80dfff; } - /* line 138, ../../../../general/res/sass/items/_item.scss */ + /* line 127, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item.selected .item-main .item-open { color: #80dfff; } - /* line 139, ../../../../general/res/sass/items/_item.scss */ + /* line 128, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item.selected .title { color: white; } - /* line 141, ../../../../general/res/sass/items/_item.scss */ + /* line 130, ../../../../general/res/sass/items/_item.scss */ .items-holder .item.grid-item.selected:hover .item-main .item-type { color: white !important; } @@ -5790,18 +6878,12 @@ table { left: 40px; right: 60px; } /* line 52, ../../../../general/res/sass/mobile/_item.scss */ - .items-holder .item.grid-item .item-main .item-type { + .items-holder .item.grid-item .item-main .item-type, + .items-holder .item.grid-item .item-main .t-item-icon { font-size: 30px; - right: auto; - bottom: auto; - left: 0; - line-height: 100%; - text-align: left; - width: 30px; } - /* line 61, ../../../../general/res/sass/mobile/_item.scss */ - .items-holder .item.grid-item .item-main .item-type .l-icon-link { - bottom: 0; } - /* line 65, ../../../../general/res/sass/mobile/_item.scss */ + left: 15px; + line-height: normal; } + /* line 58, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .item-main .item-open { display: block; opacity: 1; @@ -5811,40 +6893,40 @@ table { /* line 29, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item { height: 50px; } - /* line 78, ../../../../general/res/sass/mobile/_item.scss */ + /* line 71, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .bar.top-bar { line-height: 50px !important; } - /* line 82, ../../../../general/res/sass/mobile/_item.scss */ + /* line 75, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .bar.bottom-bar { top: 7px; bottom: auto; height: 35px; } - /* line 87, ../../../../general/res/sass/mobile/_item.scss */ + /* line 80, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .item-main .item-type { top: 10px; bottom: auto; height: 30px; } - /* line 90, ../../../../general/res/sass/mobile/_item.scss */ + /* line 83, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .item-main .item-open { line-height: 50px; } } @media screen and (orientation: portrait) and (min-width: 515px) and (max-width: 799px) and (min-height: 741px) and (max-height: 1024px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (min-height: 515px) and (max-height: 799px) and (min-width: 741px) and (max-width: 1024px) and (max-device-width: 799px) and (max-device-height: 1024px), screen and (orientation: landscape) and (min-height: 515px) and (max-height: 799px) and (min-width: 741px) and (max-width: 1024px) and (max-device-width: 1024px) and (max-device-height: 799px) { /* line 29, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item { height: 66px; } - /* line 100, ../../../../general/res/sass/mobile/_item.scss */ + /* line 93, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .bar.top-bar { line-height: 66px !important; } - /* line 104, ../../../../general/res/sass/mobile/_item.scss */ + /* line 97, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .bar.bottom-bar { top: 15px; bottom: auto; height: 35px; } - /* line 109, ../../../../general/res/sass/mobile/_item.scss */ + /* line 102, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .item-main .item-type { top: 18px; bottom: auto; height: 30px; } - /* line 112, ../../../../general/res/sass/mobile/_item.scss */ + /* line 105, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item .item-main .item-open { line-height: 66px; } } @@ -5875,10 +6957,10 @@ table { font-size: 0.75rem; } /* line 32, ../../../../general/res/sass/_autoflow.scss */ .autoflow:hover .l-autoflow-header .s-btn.change-column-width, .autoflow:hover .l-autoflow-header .change-column-width.s-menu-btn { - -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-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 50ms; -o-transition-duration: 50ms; -webkit-transition-duration: 50ms; @@ -5887,6 +6969,10 @@ table { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; opacity: 1; } /* line 40, ../../../../general/res/sass/_autoflow.scss */ .autoflow .l-autoflow-header { @@ -5899,10 +6985,10 @@ table { vertical-align: middle; } /* line 48, ../../../../general/res/sass/_autoflow.scss */ .autoflow .l-autoflow-header .s-btn.change-column-width, .autoflow .l-autoflow-header .change-column-width.s-menu-btn { - -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-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 500ms; -o-transition-duration: 500ms; -webkit-transition-duration: 500ms; @@ -5911,6 +6997,10 @@ table { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; opacity: 0; } /* line 52, ../../../../general/res/sass/_autoflow.scss */ .autoflow .l-autoflow-header .l-filter { @@ -6171,11 +7261,15 @@ table { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; position: absolute; left: 0; z-index: 1; } /* line 22, ../../../../general/res/sass/features/_time-display.scss */ - .l-time-display.l-timer .l-elem.l-value .ui-symbol.direction, .l-time-display.l-timer .l-elem.l-value .l-datetime-picker .l-month-year-pager .direction.pager, .l-datetime-picker .l-month-year-pager .l-time-display.l-timer .l-elem.l-value .direction.pager { + .l-time-display.l-timer .l-elem.l-value .ui-symbol.direction, .l-time-display.l-timer .l-elem.l-value .direction.t-item-icon, .l-time-display.l-timer .l-elem.l-value .direction.s-icon-btn, .l-time-display.l-timer .l-elem.l-value .l-datetime-picker .l-month-year-pager .direction.pager, .l-datetime-picker .l-month-year-pager .l-time-display.l-timer .l-elem.l-value .direction.pager { font-size: 0.8em; } /* line 26, ../../../../general/res/sass/features/_time-display.scss */ .l-time-display.l-timer:hover .l-elem.l-value { @@ -6185,10 +7279,10 @@ table { color: #fff; } /* line 38, ../../../../general/res/sass/features/_time-display.scss */ .l-time-display .l-btn.control { - -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-property: opacity, background-color, border-color, color; + -o-transition-property: opacity, background-color, border-color, color; + -webkit-transition-property: opacity, background-color, border-color, color; + transition-property: opacity, background-color, border-color, color; -moz-transition-duration: 200ms; -o-transition-duration: 200ms; -webkit-transition-duration: 200ms; @@ -6197,6 +7291,10 @@ table { -o-transition-timing-function: ease-in-out; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; + -moz-transition-delay: 0; + -o-transition-delay: 0; + -webkit-transition-delay: 0; + transition-delay: 0; opacity: 0; font-size: 0.65em; vertical-align: top; } diff --git a/platform/commonUI/themes/snow/res/sass/_constants.scss b/platform/commonUI/themes/snow/res/sass/_constants.scss index f97f2a4df0..8963c30b8b 100644 --- a/platform/commonUI/themes/snow/res/sass/_constants.scss +++ b/platform/commonUI/themes/snow/res/sass/_constants.scss @@ -75,6 +75,14 @@ $colorInputIcon: pushBack($colorBodyFg, 25%); $colorSelectBg: #ddd; $colorSelectFg: $colorBodyFg; +// Inspector +$colorInspectorBg: pullForward($colorBodyBg, 5%); +$colorInspectorFg: $colorBodyFg; +$colorInspectorPropName: pushBack($colorBodyFg, 20%); +$colorInspectorPropVal: pullForward($colorInspectorFg, 15%); +$colorInspectorSectionHeaderBg: pullForward($colorInspectorBg, 5%); +$colorInspectorSectionHeaderFg: pullForward($colorInspectorBg, 40%); + // Limits and staleness colors// $colorTelemFresh: pullForward($colorBodyFg, 20%); $colorTelemStale: pushBack($colorBodyFg, 20%); @@ -110,6 +118,7 @@ $colorItemBgSelected: $colorKey; // Tabular $colorTabBorder: pullForward($colorBodyBg, 10%); +$colorItemTreeHoverFg: pullForward($colorBodyFg, 20%); $colorTabBodyBg: $colorBodyBg; $colorTabBodyFg: pullForward($colorBodyFg, 20%); $colorTabHeaderBg: pullForward($colorBodyBg, 10%); @@ -125,6 +134,7 @@ $colorPlotAreaBorder: $colorInteriorBorder; $colorPlotLabelFg: pushBack($colorPlotFg, 20%); // Tree +$colorItemTreeHoverBg: rgba($colorBodyFg, 0.1); $colorItemTreeIcon: $colorKey; $colorItemTreeIconHover: $colorItemTreeIcon; //pushBack($colorItemTreeIcon, 20%); $colorItemTreeVCHover: $colorKey; @@ -143,12 +153,13 @@ $scrollbarThumbColor: darken($colorBodyBg, 50%);// $scrollbarThumbColorHov: $colorKey; // Splitter +$splitterD: 24px; +$splitterHandleD: 2px; +$colorSplitterBg: pullForward($colorBodyBg, 10%); $splitterShdw: none; -$colorSplitterInterior: $colorBodyBg; -$colorSplitterHover: $colorKey; -$splitterW: 5px; -$splitterEndCr: $splitterW; -$colorGrippyInteriorHover: $colorBodyBg; +$splitterEndCr: none; +$colorSplitterHover: none; +$colorSplitterActive: $colorKey; // Mobile $colorMobilePaneLeft: darken($colorBodyBg, 2%); diff --git a/platform/entanglement/src/actions/CopyAction.js b/platform/entanglement/src/actions/CopyAction.js index a336ffd2c9..fd9569b1ed 100644 --- a/platform/entanglement/src/actions/CopyAction.js +++ b/platform/entanglement/src/actions/CopyAction.js @@ -101,13 +101,27 @@ define( self.notificationService.info("Copying complete."); }, function error(errorDetails){ - self.$log.error("Error copying objects. ", errorDetails); - //Show more general error message - self.notificationService.notify({ + var errorMessage = { title: "Error copying objects.", severity: "error", - hint: errorDetails.message - }); + hint: errorDetails.message, + minimized: true, // want the notification to be minimized initially (don't show banner) + options: [{ + label: "OK", + callback: function() { + self.dialogService.dismiss(); + } + }] + }; + + self.dialogService.dismiss(); + if (self.notification) { + self.notification.dismiss(); // Clear the progress notification + } + self.$log.error("Error copying objects. ", errorDetails); + //Show more general error message + self.notificationService.notify(errorMessage); + self.dialogService.showBlockingMessage(errorMessage); }, function notification(details){ diff --git a/platform/entanglement/src/services/CopyService.js b/platform/entanglement/src/services/CopyService.js index 4733c902ad..b5f274ee7b 100644 --- a/platform/entanglement/src/services/CopyService.js +++ b/platform/entanglement/src/services/CopyService.js @@ -200,7 +200,7 @@ define( this.buildCopyPlan(domainObject, parent, deferred.notify) .then(this.persistObjects(deferred.notify)) .then(this.addClonesToParent(parent, deferred.notify)) - .then(deferred.resolve); + .then(deferred.resolve, deferred.reject); return deferred.promise; } else { throw new Error( diff --git a/platform/features/conductor/bundle.json b/platform/features/conductor/bundle.json index de903cfb93..c37f15d97b 100644 --- a/platform/features/conductor/bundle.json +++ b/platform/features/conductor/bundle.json @@ -36,9 +36,9 @@ { "key": "TIME_CONDUCTOR_DOMAINS", "value": [ - { "key": "time", "name": "Time" }, - { "key": "yesterday", "name": "Yesterday" } + { "key": "time", "name": "UTC", "format": "utc" } ], + "priority": "fallback", "comment": "Placeholder; to be replaced by inspection of available domains." } ] diff --git a/platform/features/conductor/res/templates/time-conductor.html b/platform/features/conductor/res/templates/time-conductor.html index 4126652d5b..16cc6296c8 100644 --- a/platform/features/conductor/res/templates/time-conductor.html +++ b/platform/features/conductor/res/templates/time-conductor.html @@ -1,4 +1,5 @@ ", + "", "" ].join(''), THROTTLE_MS = 200, @@ -74,11 +77,11 @@ define( broadcastBounds; // Combine start/end times into a single object - function bounds(start, end) { + function bounds() { return { start: conductor.displayStart(), end: conductor.displayEnd(), - domain: conductor.domain() + domain: conductor.domain().key }; } @@ -97,12 +100,9 @@ define( } function updateDomain(value) { - conductor.domain(value); - repScope.$broadcast('telemetry:display:bounds', bounds( - conductor.displayStart(), - conductor.displayEnd(), - conductor.domain() - )); + var newDomain = conductor.domain(value); + conductorScope.parameters.format = newDomain.format; + repScope.$broadcast('telemetry:display:bounds', bounds()); } // telemetry domain metadata -> option for a select control @@ -130,7 +130,8 @@ define( { outer: bounds(), inner: bounds() }; conductorScope.ngModel.options = conductor.domainOptions().map(makeOption); - conductorScope.ngModel.domain = conductor.domain(); + conductorScope.ngModel.domain = conductor.domain().key; + conductorScope.parameters = {}; conductorScope .$watch('ngModel.conductor.inner.start', updateConductorInner); diff --git a/platform/features/conductor/src/ConductorTelemetryDecorator.js b/platform/features/conductor/src/ConductorTelemetryDecorator.js index ab2d958d7e..ce5b249eaf 100644 --- a/platform/features/conductor/src/ConductorTelemetryDecorator.js +++ b/platform/features/conductor/src/ConductorTelemetryDecorator.js @@ -51,7 +51,7 @@ define( request = request || {}; request.start = start; request.end = end; - request.domain = domain; + request.domain = domain.key; return request; } diff --git a/platform/features/conductor/src/TimeConductor.js b/platform/features/conductor/src/TimeConductor.js index 0fa0403fd9..400cb06f97 100644 --- a/platform/features/conductor/src/TimeConductor.js +++ b/platform/features/conductor/src/TimeConductor.js @@ -43,7 +43,7 @@ define( function TimeConductor(start, end, domains) { this.range = { start: start, end: end }; this.domains = domains; - this.activeDomain = domains[0].key; + this.activeDomain = domains[0]; } /** @@ -73,7 +73,7 @@ define( /** * Get available domain options which can be used to bound time * selection. - * @returns {TelemetryDomain[]} available domains + * @returns {TelemetryDomainMetadata[]} available domains */ TimeConductor.prototype.domainOptions = function () { return this.domains; @@ -82,19 +82,21 @@ define( /** * Get or set (if called with an argument) the active domain. * @param {string} [key] the key identifying the domain choice - * @returns {TelemetryDomain} the active telemetry domain + * @returns {TelemetryDomainMetadata} the active telemetry domain */ TimeConductor.prototype.domain = function (key) { - function matchesKey(domain) { - return domain.key === key; - } + var i; if (arguments.length > 0) { - if (!this.domains.some(matchesKey)) { - throw new Error("Unknown domain " + key); + for (i = 0; i < this.domains.length; i += 1) { + if (this.domains[i].key === key) { + return (this.activeDomain = this.domains[i]); + } } - this.activeDomain = key; + + throw new Error("Unknown domain " + key); } + return this.activeDomain; }; diff --git a/platform/features/conductor/test/ConductorRepresenterSpec.js b/platform/features/conductor/test/ConductorRepresenterSpec.js index 5d78c8a720..cd7d3a4f91 100644 --- a/platform/features/conductor/test/ConductorRepresenterSpec.js +++ b/platform/features/conductor/test/ConductorRepresenterSpec.js @@ -129,7 +129,7 @@ define( it("exposes conductor state in scope", function () { mockConductor.displayStart.andReturn(1977); mockConductor.displayEnd.andReturn(1984); - mockConductor.domain.andReturn('d'); + mockConductor.domain.andReturn({ key: 'd' }); representer.represent(testViews[0], {}); expect(mockNewScope.ngModel.conductor).toEqual({ @@ -219,7 +219,7 @@ define( representer.represent(testViews[0], null); expect(mockNewScope.ngModel.domain) - .toEqual(mockConductor.domain()); + .toEqual(mockConductor.domain().key); }); it("exposes domain options in scope", function () { diff --git a/platform/features/conductor/test/ConductorTelemetryDecoratorSpec.js b/platform/features/conductor/test/ConductorTelemetryDecoratorSpec.js index 6e768419c1..26cdb2677b 100644 --- a/platform/features/conductor/test/ConductorTelemetryDecoratorSpec.js +++ b/platform/features/conductor/test/ConductorTelemetryDecoratorSpec.js @@ -77,7 +77,7 @@ define( mockConductor.displayStart.andReturn(42); mockConductor.displayEnd.andReturn(1977); - mockConductor.domain.andReturn("testDomain"); + mockConductor.domain.andReturn({ key: "testDomain" }); decorator = new ConductorTelemetryDecorator( mockConductorService, @@ -104,7 +104,7 @@ define( }); it("with domain selection", function () { - expect(request.domain).toEqual(mockConductor.domain()); + expect(request.domain).toEqual(mockConductor.domain().key); }); }); @@ -127,7 +127,7 @@ define( }); it("with domain selection", function () { - expect(request.domain).toEqual(mockConductor.domain()); + expect(request.domain).toEqual(mockConductor.domain().key); }); }); diff --git a/platform/features/conductor/test/TimeConductorSpec.js b/platform/features/conductor/test/TimeConductorSpec.js index c9336a93b0..ee1d2f56b7 100644 --- a/platform/features/conductor/test/TimeConductorSpec.js +++ b/platform/features/conductor/test/TimeConductorSpec.js @@ -59,12 +59,12 @@ define( }); it("exposes the current domain choice", function () { - expect(conductor.domain()).toEqual(testDomains[0].key); + expect(conductor.domain()).toEqual(testDomains[0]); }); it("allows the domain choice to be changed", function () { conductor.domain(testDomains[1].key); - expect(conductor.domain()).toEqual(testDomains[1].key); + expect(conductor.domain()).toEqual(testDomains[1]); }); it("throws an error on attempts to set an invalid domain", function () { diff --git a/platform/features/plot/src/PlotController.js b/platform/features/plot/src/PlotController.js index 19aee9ca11..d6acdb6a5c 100644 --- a/platform/features/plot/src/PlotController.js +++ b/platform/features/plot/src/PlotController.js @@ -31,10 +31,19 @@ define( "./elements/PlotPalette", "./elements/PlotAxis", "./elements/PlotLimitTracker", + "./elements/PlotTelemetryFormatter", "./modes/PlotModeOptions", "./SubPlotFactory" ], - function (PlotUpdater, PlotPalette, PlotAxis, PlotLimitTracker, PlotModeOptions, SubPlotFactory) { + function ( + PlotUpdater, + PlotPalette, + PlotAxis, + PlotLimitTracker, + PlotTelemetryFormatter, + PlotModeOptions, + SubPlotFactory + ) { "use strict"; var AXIS_DEFAULTS = [ @@ -62,7 +71,10 @@ define( PLOT_FIXED_DURATION ) { var self = this, - subPlotFactory = new SubPlotFactory(telemetryFormatter), + plotTelemetryFormatter = + new PlotTelemetryFormatter(telemetryFormatter), + subPlotFactory = + new SubPlotFactory(plotTelemetryFormatter), cachedObjects = [], updater, lastBounds, @@ -71,10 +83,9 @@ define( // Populate the scope with axis information (specifically, options // available for each axis.) function setupAxes(metadatas) { - $scope.axes = [ - new PlotAxis("domain", metadatas, AXIS_DEFAULTS[0]), - new PlotAxis("range", metadatas, AXIS_DEFAULTS[1]) - ]; + $scope.axes.forEach(function (axis) { + axis.updateMetadata(metadatas); + }); } // Trigger an update of a specific subplot; @@ -125,37 +136,49 @@ define( } } + function getUpdater() { + if (!updater) { + recreateUpdater(); + } + return updater; + } + // Handle new telemetry data in this plot function updateValues() { self.pending = false; if (handle) { setupModes(handle.getTelemetryObjects()); - } - if (updater) { - updater.update(); + setupAxes(handle.getMetadata()); + getUpdater().update(); self.modeOptions.getModeHandler().plotTelemetry(updater); - } - if (self.limitTracker) { self.limitTracker.update(); + self.update(); } - self.update(); } // Display new historical data as it becomes available function addHistoricalData(domainObject, series) { self.pending = false; - updater.addHistorical(domainObject, series); + getUpdater().addHistorical(domainObject, series); self.modeOptions.getModeHandler().plotTelemetry(updater); self.update(); } // Issue a new request for historical telemetry function requestTelemetry() { - if (handle && updater) { + if (handle) { handle.request({}, addHistoricalData); } } + // Requery for data entirely + function replot() { + if (handle) { + updater = undefined; + requestTelemetry(); + } + } + // Create a new subscription; telemetrySubscriber gets // to do the meaningful work here. function subscribe(domainObject) { @@ -167,12 +190,7 @@ define( updateValues, true // Lossless ); - if (handle) { - setupModes(handle.getTelemetryObjects()); - setupAxes(handle.getMetadata()); - recreateUpdater(); - requestTelemetry(); - } + replot(); } // Release the current subscription (called when scope is destroyed) @@ -185,12 +203,22 @@ define( // Respond to a display bounds change (requery for data) function changeDisplayBounds(event, bounds) { + var domainAxis = $scope.axes[0]; + + domainAxis.chooseOption(bounds.domain); + plotTelemetryFormatter + .setDomainFormat(domainAxis.active.format); + self.pending = true; releaseSubscription(); subscribe($scope.domainObject); setBasePanZoom(bounds); } + function updateDomainFormat(format) { + plotTelemetryFormatter.setDomainFormat(format); + } + this.modeOptions = new PlotModeOptions([], subPlotFactory); this.updateValues = updateValues; @@ -202,6 +230,13 @@ define( self.pending = true; + // Initialize axes; will get repopulated when telemetry + // metadata becomes available. + $scope.axes = [ + new PlotAxis("domains", [], AXIS_DEFAULTS[0]), + new PlotAxis("ranges", [], AXIS_DEFAULTS[1]) + ]; + // Subscribe to telemetry when a domain object becomes available $scope.$watch('domainObject', subscribe); diff --git a/platform/features/plot/src/SubPlot.js b/platform/features/plot/src/SubPlot.js index dfcaadf352..051f95f2a8 100644 --- a/platform/features/plot/src/SubPlot.js +++ b/platform/features/plot/src/SubPlot.js @@ -121,9 +121,9 @@ define( // Utility, for map/forEach loops. Index 0 is domain, // index 1 is range. function formatValue(v, i) { - return (i ? - formatter.formatRangeValue : - formatter.formatDomainValue)(v); + return i ? + formatter.formatRangeValue(v) : + formatter.formatDomainValue(v); } this.hoverCoordinates = this.mousePosition && diff --git a/platform/features/plot/src/elements/PlotAxis.js b/platform/features/plot/src/elements/PlotAxis.js index 25795fd347..e2f7809c64 100644 --- a/platform/features/plot/src/elements/PlotAxis.js +++ b/platform/features/plot/src/elements/PlotAxis.js @@ -46,21 +46,9 @@ define( * */ function PlotAxis(axisType, metadatas, defaultValue) { - var keys = {}, - options = []; - - // Look through all metadata objects and assemble a list - // of all possible domain or range options - function buildOptionsForMetadata(m) { - (m[axisType] || []).forEach(function (option) { - if (!keys[option.key]) { - keys[option.key] = true; - options.push(option); - } - }); - } - - (metadatas || []).forEach(buildOptionsForMetadata); + this.axisType = axisType; + this.defaultValue = defaultValue; + this.optionKeys = {}; /** * The currently chosen option for this axis. An @@ -68,7 +56,7 @@ define( * directly form the plot template. * @memberof platform/features/plot.PlotAxis# */ - this.active = options[0] || defaultValue; + this.active = defaultValue; /** * The set of options applicable for this axis; @@ -77,9 +65,71 @@ define( * human-readable names respectively) * @memberof platform/features/plot.PlotAxis# */ - this.options = options; + this.options = []; + + // Initialize options from metadata objects + this.updateMetadata(metadatas); } + + /** + * Update axis options to reflect current metadata. + * @param {TelemetryMetadata[]} metadata objects describing + * applicable telemetry + */ + PlotAxis.prototype.updateMetadata = function (metadatas) { + var axisType = this.axisType, + optionKeys = this.optionKeys, + newOptions = {}, + toAdd = []; + + function isValid(option) { + return option && optionKeys[option.key]; + } + + metadatas.forEach(function (m) { + (m[axisType] || []).forEach(function (option) { + var key = option.key; + if (!optionKeys[key] && !newOptions[key]) { + toAdd.push(option); + } + newOptions[key] = true; + }); + }); + + optionKeys = this.optionKeys = newOptions; + + // General approach here is to avoid changing object + // instances unless something has really changed, since + // Angular is watching; don't want to trigger extra digests. + if (!this.options.every(isValid)) { + this.options = this.options.filter(isValid); + } + + if (toAdd.length > 0) { + this.options = this.options.concat(toAdd); + } + + if (!isValid(this.active)) { + this.active = this.options[0] || this.defaultValue; + } + }; + + /** + * Change the domain/range selection for this axis. If the + * provided `key` is not recognized as an option, no change + * will occur. + * @param {string} key the identifier for the domain/range + */ + PlotAxis.prototype.chooseOption = function (key) { + var self = this; + this.options.forEach(function (option) { + if (option.key === key) { + self.active = option; + } + }); + }; + return PlotAxis; } diff --git a/platform/features/plot/src/elements/PlotTelemetryFormatter.js b/platform/features/plot/src/elements/PlotTelemetryFormatter.js new file mode 100644 index 0000000000..de2a86c4a1 --- /dev/null +++ b/platform/features/plot/src/elements/PlotTelemetryFormatter.js @@ -0,0 +1,72 @@ +/***************************************************************************** + * 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'; + + /** + * Wraps a `TelemetryFormatter` to provide formats for domain and + * range values; provides a single place to track domain/range + * formats within a plot, allowing other plot elements to simply + * request that values be formatted. + * @constructor + * @memberof platform/features/plot + * @implements {platform/telemetry.TelemetryFormatter} + * @param {TelemetryFormatter} telemetryFormatter the formatter + * to wrap. + */ + function PlotTelemetryFormatter(telemetryFormatter) { + this.telemetryFormatter = telemetryFormatter; + } + + /** + * Specify the format to use for domain values. + * @param {string} key the format's identifier + */ + PlotTelemetryFormatter.prototype.setDomainFormat = function (key) { + this.domainFormat = key; + }; + + /** + * Specify the format to use for range values. + * @param {string} key the format's identifier + */ + PlotTelemetryFormatter.prototype.setRangeFormat = function (key) { + this.rangeFormat = key; + }; + + PlotTelemetryFormatter.prototype.formatDomainValue = function (value) { + return this.telemetryFormatter + .formatDomainValue(value, this.domainFormat); + }; + + PlotTelemetryFormatter.prototype.formatRangeValue = function (value) { + return this.telemetryFormatter + .formatRangeValue(value, this.rangeFormat); + }; + + return PlotTelemetryFormatter; + } +); diff --git a/platform/features/plot/src/elements/PlotTickGenerator.js b/platform/features/plot/src/elements/PlotTickGenerator.js index f759b6bcd6..8fa957fae7 100644 --- a/platform/features/plot/src/elements/PlotTickGenerator.js +++ b/platform/features/plot/src/elements/PlotTickGenerator.js @@ -43,6 +43,14 @@ define( this.formatter = formatter; } + // For phantomjs compatibility, for headless testing + // (Function.prototype.bind unsupported) + function bind(fn, thisObj) { + return fn.bind ? fn.bind(thisObj) : function () { + return fn.apply(thisObj, arguments); + }; + } + // Generate ticks; interpolate from start up to // start + span in count steps, using the provided // formatter to represent each value. @@ -72,7 +80,7 @@ define( panZoom.origin[0], panZoom.dimensions[0], count, - this.formatter.formatDomainValue + bind(this.formatter.formatDomainValue, this.formatter) ); }; @@ -87,7 +95,7 @@ define( panZoom.origin[1], panZoom.dimensions[1], count, - this.formatter.formatRangeValue + bind(this.formatter.formatRangeValue, this.formatter) ); }; diff --git a/platform/features/plot/test/PlotControllerSpec.js b/platform/features/plot/test/PlotControllerSpec.js index dcae177920..addbdf5032 100644 --- a/platform/features/plot/test/PlotControllerSpec.js +++ b/platform/features/plot/test/PlotControllerSpec.js @@ -169,8 +169,9 @@ define( mockDomainObject ]); - // Make an object available + // Make an object available; invoke handler's callback mockScope.$watch.mostRecentCall.args[1](mockDomainObject); + mockHandler.handle.mostRecentCall.args[1](); expect(controller.getModeOptions().length).toEqual(1); @@ -181,8 +182,9 @@ define( mockDomainObject ]); - // Make an object available + // Make an object available; invoke handler's callback mockScope.$watch.mostRecentCall.args[1](mockDomainObject); + mockHandler.handle.mostRecentCall.args[1](); expect(controller.getModeOptions().length).toEqual(2); }); diff --git a/platform/features/plot/test/elements/PlotAxisSpec.js b/platform/features/plot/test/elements/PlotAxisSpec.js index cd4a82b3b9..f06f0c69cc 100644 --- a/platform/features/plot/test/elements/PlotAxisSpec.js +++ b/platform/features/plot/test/elements/PlotAxisSpec.js @@ -30,7 +30,12 @@ define( "use strict"; describe("A plot axis", function () { - var testMetadatas = [ + var testMetadatas, + testDefault, + axis; + + beforeEach(function () { + testMetadatas = [ { tests: [ { key: "t0", name: "T0" }, @@ -52,13 +57,14 @@ define( { key: "t6", name: "T6" } ] } - ], - testDefault = { key: "test", name: "Test" }, - controller = new PlotAxis("tests", testMetadatas, testDefault); + ]; + testDefault = { key: "test", name: "Test" }; + axis = new PlotAxis("tests", testMetadatas, testDefault); + }); it("pulls out a list of domain or range options", function () { // Should have filtered out duplicates, etc - expect(controller.options).toEqual([ + expect(axis.options).toEqual([ { key: "t0", name: "T0" }, { key: "t1", name: "T1" }, { key: "t2", name: "T2" }, @@ -70,7 +76,7 @@ define( }); it("chooses the first option as a default", function () { - expect(controller.active).toEqual({ key: "t0", name: "T0" }); + expect(axis.active).toEqual({ key: "t0", name: "T0" }); }); it("falls back to a provided default if no options are present", function () { @@ -78,6 +84,26 @@ define( .toEqual(testDefault); }); + it("allows options to be chosen by key", function () { + axis.chooseOption("t3"); + expect(axis.active).toEqual({ key: "t3", name: "T3" }); + }); + + it("reflects changes to applicable metadata", function () { + axis.updateMetadata([ testMetadatas[1] ]); + expect(axis.options).toEqual([ + { key: "t0", name: "T0" }, + { key: "t2", name: "T2" } + ]); + }); + + it("returns the same array instance for unchanged metadata", function () { + // ...to avoid triggering extra digest cycles. + var oldInstance = axis.options; + axis.updateMetadata(testMetadatas); + expect(axis.options).toBe(oldInstance); + }); + }); } -); \ No newline at end of file +); diff --git a/platform/features/plot/test/elements/PlotTelemetryFormatterSpec.js b/platform/features/plot/test/elements/PlotTelemetryFormatterSpec.js new file mode 100644 index 0000000000..0031a0c813 --- /dev/null +++ b/platform/features/plot/test/elements/PlotTelemetryFormatterSpec.js @@ -0,0 +1,70 @@ +/***************************************************************************** + * 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,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + +define( + ["../../src/elements/PlotTelemetryFormatter"], + function (PlotTelemetryFormatter) { + 'use strict'; + + describe("The PlotTelemetryFormatter", function () { + var mockFormatter, + formatter; + + beforeEach(function () { + mockFormatter = jasmine.createSpyObj( + 'telemetryFormatter', + ['formatDomainValue', 'formatRangeValue'] + ); + formatter = new PlotTelemetryFormatter(mockFormatter); + }); + + describe("using domain & range format keys", function () { + var rangeFormat = "someRangeFormat", + domainFormat = "someDomainFormat"; + + beforeEach(function () { + formatter.setRangeFormat(rangeFormat); + formatter.setDomainFormat(domainFormat); + }); + + it("includes format in formatDomainValue calls", function () { + mockFormatter.formatDomainValue.andReturn("formatted!"); + expect(formatter.formatDomainValue(12321)) + .toEqual("formatted!"); + expect(mockFormatter.formatDomainValue) + .toHaveBeenCalledWith(12321, domainFormat); + }); + + it("includes format in formatRangeValue calls", function () { + mockFormatter.formatRangeValue.andReturn("formatted!"); + expect(formatter.formatRangeValue(12321)) + .toEqual("formatted!"); + expect(mockFormatter.formatRangeValue) + .toHaveBeenCalledWith(12321, rangeFormat); + }); + + }); + + }); + } +); diff --git a/platform/features/plot/test/suite.json b/platform/features/plot/test/suite.json index 323d53b6b3..92dfcb1e8a 100644 --- a/platform/features/plot/test/suite.json +++ b/platform/features/plot/test/suite.json @@ -14,6 +14,7 @@ "elements/PlotPosition", "elements/PlotPreparer", "elements/PlotSeriesWindow", + "elements/PlotTelemetryFormatter", "elements/PlotTickGenerator", "elements/PlotUpdater", "modes/PlotModeOptions", diff --git a/platform/features/scrolling/src/DomainColumn.js b/platform/features/scrolling/src/DomainColumn.js index a55b4001d5..3824098118 100644 --- a/platform/features/scrolling/src/DomainColumn.js +++ b/platform/features/scrolling/src/DomainColumn.js @@ -54,7 +54,8 @@ define( DomainColumn.prototype.getValue = function (domainObject, datum) { return { text: this.telemetryFormatter.formatDomainValue( - datum[this.domainMetadata.key] + datum[this.domainMetadata.key], + this.domainMetadata.format ) }; }; diff --git a/platform/representation/bundle.json b/platform/representation/bundle.json index 331856a9a8..8b185422b9 100644 --- a/platform/representation/bundle.json +++ b/platform/representation/bundle.json @@ -4,12 +4,12 @@ { "key": "mctInclude", "implementation": "MCTInclude.js", - "depends": [ "templates[]", "$sce" ] + "depends": [ "templates[]", "templateLinker" ] }, { "key": "mctRepresentation", "implementation": "MCTRepresentation.js", - "depends": [ "representations[]", "views[]", "representers[]", "$q", "$sce", "$log" ] + "depends": [ "representations[]", "views[]", "representers[]", "$q", "templateLinker", "$log" ] } ], "gestures": [ @@ -48,6 +48,12 @@ "key": "dndService", "implementation": "services/DndService.js", "depends": [ "$log" ] + }, + { + "key": "templateLinker", + "implementation": "TemplateLinker.js", + "depends": [ "$templateRequest", "$sce", "$compile", "$log" ], + "comment": "For internal use by mct-include and mct-representation." } ], "actions": [ diff --git a/platform/representation/src/MCTInclude.js b/platform/representation/src/MCTInclude.js index dc00c8b89d..761a798dfa 100644 --- a/platform/representation/src/MCTInclude.js +++ b/platform/representation/src/MCTInclude.js @@ -54,36 +54,38 @@ define( * @param {TemplateDefinition[]} templates an array of * template extensions */ - function MCTInclude(templates, $sce) { + function MCTInclude(templates, templateLinker) { var templateMap = {}; + function link(scope, element) { + var changeTemplate = templateLinker.link( + scope, + element, + scope.key && templateMap[scope.key] + ); + + scope.$watch('key', function (key) { + changeTemplate(key && templateMap[key]); + }); + } + // Prepopulate templateMap for easy look up by key templates.forEach(function (template) { - var key = template.key, - path = $sce.trustAsResourceUrl([ - template.bundle.path, - template.bundle.resources, - template.templateUrl - ].join("/")); + var key = template.key; // First found should win (priority ordering) - templateMap[key] = templateMap[key] || path; + templateMap[key] = + templateMap[key] || templateLinker.getPath(template); }); - function controller($scope) { - // Pass the template URL to ng-include via scope. - $scope.inclusion = templateMap[$scope.key]; - } - return { // Only show at the element level restrict: "E", // Use the included controller to populate scope - controller: controller, + link: link, - // Use ng-include as a template; "inclusion" will be the real - // template path - template: '', + // May hide the element, so let other directives act first + priority: -1000, // Two-way bind key, ngModel, and parameters scope: { key: "=", ngModel: "=", parameters: "=" } diff --git a/platform/representation/src/MCTRepresentation.js b/platform/representation/src/MCTRepresentation.js index 98a814c362..d1937389d2 100644 --- a/platform/representation/src/MCTRepresentation.js +++ b/platform/representation/src/MCTRepresentation.js @@ -31,7 +31,6 @@ define( function () { "use strict"; - /** * Defines the mct-representation directive. This may be used to * present domain objects as HTML (with event wiring), with the @@ -55,7 +54,7 @@ define( * representation extensions * @param {ViewDefinition[]} views an array of view extensions */ - function MCTRepresentation(representations, views, representers, $q, $sce, $log) { + function MCTRepresentation(representations, views, representers, $q, templateLinker, $log) { var representationMap = {}, gestureMap = {}; @@ -72,11 +71,7 @@ define( // Get a path to a representation function getPath(representation) { - return $sce.trustAsResourceUrl([ - representation.bundle.path, - representation.bundle.resources, - representation.templateUrl - ].join("/")); + return templateLinker.getPath(representation); } // Look up a matching representation for this domain object @@ -94,12 +89,16 @@ define( } } - function link($scope, element, attrs) { + function link($scope, element, attrs, ctrl, transclude) { var activeRepresenters = representers.map(function (Representer) { return new Representer($scope, element, attrs); }), toClear = [], // Properties to clear out of scope on change - counter = 0; + counter = 0, + couldRepresent = false, + lastId, + lastKey, + changeTemplate = templateLinker.link($scope, element); // Populate scope with any capabilities indicated by the // representation's extension definition @@ -144,21 +143,36 @@ define( }); } + function unchanged(canRepresent, id, key) { + return canRepresent && + couldRepresent && + id === lastId && + key === lastKey; + } + // General-purpose refresh mechanism; should set up the scope // as appropriate for current representation key and // domain object. function refresh() { var domainObject = $scope.domainObject, representation = lookup($scope.key, domainObject), - uses = ((representation || {}).uses || []); + path = representation && getPath(representation), + uses = ((representation || {}).uses || []), + canRepresent = !!(path && domainObject), + id = domainObject && domainObject.getId(), + key = $scope.key; + + if (unchanged(canRepresent, id, key)) { + return; + } // Create an empty object named "representation", for this // representation to store local variables into. $scope.representation = {}; - // Look up the actual template path, pass it to ng-include - // via the "inclusion" field - $scope.inclusion = representation && getPath(representation); + // Change templates (passing in undefined to clear + // if we don't have enough info to show a template.) + changeTemplate(canRepresent ? path : undefined); // Any existing representers are no longer valid; release them. destroyRepresenters(); @@ -174,9 +188,14 @@ define( delete $scope[property]; }); + // To allow simplified change detection next time around + couldRepresent = canRepresent; + lastId = id; + lastKey = key; + // Populate scope with fields associated with the current // domain object (if one has been passed in) - if (domainObject) { + if (canRepresent) { // Track how many representations we've made in this scope, // to ensure that the correct representations are matched to // the correct object/key pairs. @@ -233,9 +252,8 @@ define( // Handle Angular's linking step link: link, - // Use ng-include as a template; "inclusion" will be the real - // template path - template: '', + // May hide the element, so let other directives act first + priority: -1000, // Two-way bind key and parameters, get the represented domain // object as "mct-object" diff --git a/platform/representation/src/TemplateLinker.js b/platform/representation/src/TemplateLinker.js new file mode 100644 index 0000000000..14d0aa041d --- /dev/null +++ b/platform/representation/src/TemplateLinker.js @@ -0,0 +1,163 @@ +/***************************************************************************** + * 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,Promise*/ + +define( + [], + function () { + "use strict"; + + /** + * The `templateLinker` service is intended for internal use by + * the `mct-include` and `mct-representation` directives. It is + * used to support common behavior of directives; specifically, + * loading templates and inserting them into a specified element, + * and/or removing that element from the DOM when there is no + * template to populate it with. + * + * @param {Function} $templateRequest Angular's `$templateRequest` + * service + * @param $sce Angular's `$sce` service + * @param {Function} $compile Angular's `$compile` service + * @param $log Angular's `$log` service + * @private + */ + function TemplateLinker($templateRequest, $sce, $compile, $log) { + this.$templateRequest = $templateRequest; + this.$sce = $sce; + this.$compile = $compile; + this.$log = $log; + } + + /** + * Load a template from the given URL. This request will be handled + * via `$templateRequest` to ensure caching et cetera. + * @param {string} the URL for the template + * @returns {Promise.} a promise for the HTML content of + * the template + * @private + */ + TemplateLinker.prototype.load = function (templateUrl) { + return this.$templateRequest( + this.$sce.trustAsResourceUrl(templateUrl), + false + ); + }; + + /** + * Get a path to a template from an extension definition fo + * a template, representation, or view. + * @param {TemplateDefinition} extensionDefinition the definition + * of the template/representation/view to resolve + */ + TemplateLinker.prototype.getPath = function (extensionDefinition) { + return [ + extensionDefinition.bundle.path, + extensionDefinition.bundle.resources, + extensionDefinition.templateUrl + ].join('/'); + }; + + /** + * Populate the given element with templates, within the given scope; + * intended to support the `link` function of the supported directives. + * + * @param {Scope} scope the Angular scope to use when rendering + * templates + * @param element the jqLite-wrapped element into which templates + * should be inserted + * @returns {Function} a function which can be called with a template + * URL to switch templates, or `undefined` to remove. + */ + TemplateLinker.prototype.link = function (scope, element, templateUrl) { + var activeElement = element, + activeTemplateUrl, + comment = this.$compile('')(scope), + activeScope, + self = this; + + function destroyScope() { + if (activeScope) { + activeScope.$destroy(); + activeScope = undefined; + } + } + + function removeElement() { + if (activeElement !== comment) { + destroyScope(); + activeElement.replaceWith(comment); + activeElement = comment; + } + } + + function addElement() { + if (activeElement !== element) { + activeElement.replaceWith(element); + activeElement = element; + activeElement.empty(); + } + } + + function populateElement(template) { + destroyScope(); + activeScope = scope.$new(false); + element.html(template); + self.$compile(element.contents())(activeScope); + } + + function badTemplate(templateUrl) { + self.$log.warn("Couldn't load template at " + templateUrl); + removeElement(); + } + + function changeTemplate(templateUrl) { + if (templateUrl) { + destroyScope(); + addElement(); + self.load(templateUrl).then(function (template) { + // Avoid race conditions + if (templateUrl === activeTemplateUrl) { + populateElement(template); + } + }, function () { + badTemplate(templateUrl); + }); + } else { + removeElement(); + } + activeTemplateUrl = templateUrl; + } + + if (templateUrl) { + changeTemplate(templateUrl); + } else { + removeElement(); + } + + return changeTemplate; + }; + + return TemplateLinker; + } +); + diff --git a/platform/representation/test/MCTIncludeSpec.js b/platform/representation/test/MCTIncludeSpec.js index 135988b509..94dc62fd0a 100644 --- a/platform/representation/test/MCTIncludeSpec.js +++ b/platform/representation/test/MCTIncludeSpec.js @@ -31,9 +31,21 @@ define( describe("The mct-include directive", function () { var testTemplates, - mockSce, + testUrls, + mockLinker, + mockScope, + mockElement, + mockChangeTemplate, mctInclude; + function fireWatch(expr, value) { + mockScope.$watch.calls.forEach(function (call) { + if (call.args[0] === expr) { + call.args[1](value); + } + }); + } + beforeEach(function () { testTemplates = [ { @@ -47,40 +59,44 @@ define( templateUrl: "z/template.html" } ]; - mockSce = jasmine.createSpyObj( - '$sce', - ['trustAsResourceUrl'] - ); - mockSce.trustAsResourceUrl.andCallFake(function (url) { - return url; + testUrls = {}; + testTemplates.forEach(function (t, i) { + testUrls[t.key] = "some URL " + String(i); }); - mctInclude = new MCTInclude(testTemplates, mockSce); - }); - - it("has a built-in template, with ng-include src=inclusion", function () { - // Not rigorous, but should detect many cases when template is broken. - expect(mctInclude.template.indexOf("ng-include")).not.toEqual(-1); - expect(mctInclude.template.indexOf("inclusion")).not.toEqual(-1); + mockLinker = jasmine.createSpyObj( + 'templateLinker', + ['link', 'getPath'] + ); + mockScope = jasmine.createSpyObj('$scope', ['$watch', '$on']); + mockElement = jasmine.createSpyObj('element', ['empty']); + mockChangeTemplate = jasmine.createSpy('changeTemplate'); + mockLinker.link.andReturn(mockChangeTemplate); + mockLinker.getPath.andCallFake(function (template) { + return testUrls[template.key]; + }); + mctInclude = new MCTInclude(testTemplates, mockLinker); + mctInclude.link(mockScope, mockElement, {}); }); it("is restricted to elements", function () { expect(mctInclude.restrict).toEqual("E"); }); - it("reads a template location from a scope's key variable", function () { - var scope = { key: "abc" }; - mctInclude.controller(scope); - expect(scope.inclusion).toEqual("a/b/c/template.html"); - - scope = { key: "xyz" }; - mctInclude.controller(scope); - expect(scope.inclusion).toEqual("x/y/z/template.html"); + it("exposes templates via the templateLinker", function () { + expect(mockLinker.link) + .toHaveBeenCalledWith(mockScope, mockElement, undefined); }); - it("trusts template URLs", function () { - mctInclude.controller({ key: "xyz" }); - expect(mockSce.trustAsResourceUrl) - .toHaveBeenCalledWith("x/y/z/template.html"); + it("reads a template location from a scope's key variable", function () { + mockScope.key = 'abc'; + fireWatch('key', mockScope.key); + expect(mockChangeTemplate) + .toHaveBeenCalledWith(testUrls.abc); + + mockScope.key = 'xyz'; + fireWatch('key', mockScope.key); + expect(mockChangeTemplate) + .toHaveBeenCalledWith(testUrls.xyz); }); }); diff --git a/platform/representation/test/MCTRepresentationSpec.js b/platform/representation/test/MCTRepresentationSpec.js index a50347df70..30fed7c0ca 100644 --- a/platform/representation/test/MCTRepresentationSpec.js +++ b/platform/representation/test/MCTRepresentationSpec.js @@ -36,10 +36,12 @@ define( describe("The mct-representation directive", function () { var testRepresentations, testViews, + testUrls, mockRepresenters, mockQ, - mockSce, + mockLinker, mockLog, + mockChangeTemplate, mockScope, mockElement, mockDomainObject, @@ -54,7 +56,17 @@ define( }; } + function fireWatch(expr, value) { + mockScope.$watch.calls.forEach(function (call) { + if (call.args[0] === expr) { + call.args[1](value); + } + }); + } + beforeEach(function () { + testUrls = {}; + testRepresentations = [ { key: "abc", @@ -85,6 +97,11 @@ define( testModel = { someKey: "some value" }; + testUrls = {}; + testViews.concat(testRepresentations).forEach(function (t, i) { + testUrls[t.key] = "some URL " + String(i); + }); + mockRepresenters = ["A", "B"].map(function (name) { var constructor = jasmine.createSpy("Representer" + name), representer = jasmine.createSpyObj( @@ -96,45 +113,44 @@ define( }); mockQ = { when: mockPromise }; - mockSce = jasmine.createSpyObj( - '$sce', - ['trustAsResourceUrl'] + mockLinker = jasmine.createSpyObj( + 'templateLinker', + ['link', 'getPath'] ); + mockChangeTemplate = jasmine.createSpy('changeTemplate'); mockLog = jasmine.createSpyObj("$log", LOG_FUNCTIONS); - - mockSce.trustAsResourceUrl.andCallFake(function (url) { - return url; - }); mockScope = jasmine.createSpyObj("scope", [ "$watch", "$on" ]); mockElement = jasmine.createSpyObj("element", JQLITE_FUNCTIONS); mockDomainObject = jasmine.createSpyObj("domainObject", DOMAIN_OBJECT_METHODS); mockDomainObject.getModel.andReturn(testModel); + mockLinker.link.andReturn(mockChangeTemplate); + mockLinker.getPath.andCallFake(function (ext) { + return testUrls[ext.key]; + }); mctRepresentation = new MCTRepresentation( testRepresentations, testViews, mockRepresenters, mockQ, - mockSce, + mockLinker, mockLog ); - }); - - - it("has a built-in template, with ng-include src=inclusion", function () { - // Not rigorous, but should detect many cases when template is broken. - expect(mctRepresentation.template.indexOf("ng-include")).not.toEqual(-1); - expect(mctRepresentation.template.indexOf("inclusion")).not.toEqual(-1); + mctRepresentation.link(mockScope, mockElement); }); it("is restricted to elements", function () { expect(mctRepresentation.restrict).toEqual("E"); }); + it("exposes templates via the templateLinker", function () { + expect(mockLinker.link) + .toHaveBeenCalledWith(mockScope, mockElement); + }); + it("watches scope when linked", function () { - mctRepresentation.link(mockScope, mockElement); expect(mockScope.$watch).toHaveBeenCalledWith( "key", jasmine.any(Function) @@ -150,42 +166,46 @@ define( }); it("recognizes keys for representations", function () { - mctRepresentation.link(mockScope, mockElement); - mockScope.key = "abc"; + mockScope.domainObject = mockDomainObject; // Trigger the watch - mockScope.$watch.calls[0].args[1](); + fireWatch('key', mockScope.key); + fireWatch('domainObject', mockDomainObject); - expect(mockScope.inclusion).toEqual("a/b/c/template.html"); + expect(mockChangeTemplate) + .toHaveBeenCalledWith(testUrls.abc); }); it("recognizes keys for views", function () { - mctRepresentation.link(mockScope, mockElement); - mockScope.key = "xyz"; + mockScope.domainObject = mockDomainObject; - // Trigger the watch - mockScope.$watch.calls[0].args[1](); + // Trigger the watches + fireWatch('key', mockScope.key); + fireWatch('domainObject', mockDomainObject); - expect(mockScope.inclusion).toEqual("x/y/z/template.html"); + expect(mockChangeTemplate) + .toHaveBeenCalledWith(testUrls.xyz); }); - it("trusts template URLs", function () { - mctRepresentation.link(mockScope, mockElement); - + it("does not load templates until there is an object", function () { mockScope.key = "xyz"; // Trigger the watch - mockScope.$watch.calls[0].args[1](); + fireWatch('key', mockScope.key); - expect(mockSce.trustAsResourceUrl) - .toHaveBeenCalledWith("x/y/z/template.html"); + expect(mockChangeTemplate) + .not.toHaveBeenCalledWith(jasmine.any(String)); + + mockScope.domainObject = mockDomainObject; + fireWatch('domainObject', mockDomainObject); + + expect(mockChangeTemplate) + .toHaveBeenCalledWith(jasmine.any(String)); }); it("loads declared capabilities", function () { - mctRepresentation.link(mockScope, mockElement); - mockScope.key = "def"; mockScope.domainObject = mockDomainObject; @@ -199,8 +219,6 @@ define( }); it("logs when no representation is available for a key", function () { - mctRepresentation.link(mockScope, mockElement); - mockScope.key = "someUnknownThing"; // Verify precondition @@ -214,8 +232,6 @@ define( }); it("clears out obsolete peroperties from scope", function () { - mctRepresentation.link(mockScope, mockElement); - mockScope.key = "def"; mockScope.domainObject = mockDomainObject; mockDomainObject.useCapability.andReturn("some value"); diff --git a/platform/representation/test/TemplateLinkerSpec.js b/platform/representation/test/TemplateLinkerSpec.js new file mode 100644 index 0000000000..726e4deab1 --- /dev/null +++ b/platform/representation/test/TemplateLinkerSpec.js @@ -0,0 +1,230 @@ +/***************************************************************************** + * 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,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + + +define( + ["../src/TemplateLinker"], + function (TemplateLinker) { + 'use strict'; + + var JQLITE_METHODS = [ 'replaceWith', 'empty', 'html', 'contents' ], + SCOPE_METHODS = [ '$on', '$new', '$destroy' ]; + + describe("TemplateLinker", function () { + var mockTemplateRequest, + mockSce, + mockCompile, + mockLog, + mockScope, + mockElement, + mockTemplates, + mockElements, + mockContents, + mockNewScope, + mockPromise, + linker; + + beforeEach(function () { + mockTemplateRequest = jasmine.createSpy('$templateRequest'); + mockSce = jasmine.createSpyObj('$sce', ['trustAsResourceUrl']); + mockCompile = jasmine.createSpy('$compile'); + mockLog = jasmine.createSpyObj('$log', ['error', 'warn']); + mockScope = jasmine.createSpyObj('$scope', SCOPE_METHODS); + mockNewScope = jasmine.createSpyObj('$scope', SCOPE_METHODS); + mockElement = jasmine.createSpyObj('element', JQLITE_METHODS); + mockPromise = jasmine.createSpyObj('promise', ['then']); + mockTemplates = {}; + mockElements = {}; + mockContents = {}; + + mockTemplateRequest.andReturn(mockPromise); + mockCompile.andCallFake(function (toCompile) { + var html = typeof toCompile === 'string' ? + toCompile : toCompile.testHtml; + mockTemplates[html] = jasmine.createSpy('template'); + mockElements[html] = + jasmine.createSpyObj('templateEl', JQLITE_METHODS); + mockTemplates[html].andReturn(mockElements[html]); + return mockTemplates[html]; + }); + mockSce.trustAsResourceUrl.andCallFake(function (url) { + return { trusted: url }; + }); + mockScope.$new.andReturn(mockNewScope); + mockElement.html.andCallFake(function (html) { + mockContents[html] = + jasmine.createSpyObj('contentsEl', JQLITE_METHODS); + mockContents[html].testHtml = html; + }); + mockElement.contents.andCallFake(function () { + return mockContents[ + mockElement.html.mostRecentCall.args[0] + ]; + }); + + linker = new TemplateLinker( + mockTemplateRequest, + mockSce, + mockCompile, + mockLog + ); + }); + + it("resolves extension paths", function () { + expect(linker.getPath({ + bundle: { + path: 'a', + resources: 'b' + }, + templateUrl: 'c/d.html' + })).toEqual('a/b/c/d.html'); + }); + + describe("when linking elements", function () { + var changeTemplate, + commentElement; + + function findCommentElement() { + mockCompile.calls.forEach(function (call) { + var html = call.args[0]; + if (html.indexOf(" @@ -53,12 +53,12 @@ - - +
@@ -71,7 +71,7 @@  - Filtered by: {{ ngModel.filtersString }} + Filtered by: {{ ngModel.filtersString }}
diff --git a/platform/telemetry/bundle.json b/platform/telemetry/bundle.json index 69b32b54c7..d264a1d6c0 100644 --- a/platform/telemetry/bundle.json +++ b/platform/telemetry/bundle.json @@ -37,7 +37,8 @@ "services": [ { "key": "telemetryFormatter", - "implementation": "TelemetryFormatter.js" + "implementation": "TelemetryFormatter.js", + "depends": [ "formatService", "DEFAULT_TIME_FORMAT" ] }, { "key": "telemetrySubscriber", @@ -63,4 +64,4 @@ } ] } -} \ No newline at end of file +} diff --git a/platform/telemetry/src/TelemetryCapability.js b/platform/telemetry/src/TelemetryCapability.js index 1fbd12a691..d89b3cd3bf 100644 --- a/platform/telemetry/src/TelemetryCapability.js +++ b/platform/telemetry/src/TelemetryCapability.js @@ -36,6 +36,64 @@ define( getRangeValue: ZERO }; + /** + * Provides metadata about telemetry associated with a + * given domain object. + * + * @typedef TelemetryMetadata + * @property {string} source the machine-readable identifier for + * the source of telemetry data for this object; used by + * {@link TelemetryService} implementations to determine + * whether or not they provide data for this object. + * @property {string} key the machine-readable identifier for + * telemetry data associated with this specific object, + * within that `source`. + * @property {TelemetryDomainMetadata[]} domains supported domain + * options for telemetry data associated with this object, + * to use in interpreting a {@link TelemetrySeries} + * @property {TelemetryRangeMetadata[]} ranges supported range + * options for telemetry data associated with this object, + * to use in interpreting a {@link TelemetrySeries} + */ + + /** + * Provides metadata about range options within a telemetry series. + * Range options describe distinct properties within any given datum + * of a telemetry series; for instance, a telemetry series containing + * both raw and uncalibrated values may provide separate ranges for + * each. + * + * @typedef TelemetryRangeMetadata + * @property {string} key machine-readable identifier for this range + * @property {string} name human-readable name for this range + * @property {string} [units] human-readable units for this range + * @property {string} [format] data format for this range; usually, + * one of `number`, or `string`. If `undefined`, + * should presume to be a `number`. Custom formats + * may be indicated here. + */ + + /** + * Provides metadata about domain options within a telemetry series. + * Domain options describe distinct properties within any given datum + * of a telemtry series; for instance, a telemetry series containing + * both spacecraft event time and earth received times may provide + * separate domains for each. + * + * Domains are typically used to represent timestamps in a telemetry + * series, but more generally may express any property which will + * have unique values for each datum in a series. It is this property + * which makes domains distinct from ranges, as it makes these values + * appropriate and meaningful for use to sort and bound a series. + * + * @typedef TelemetryDomainMetadata + * @property {string} key machine-readable identifier for this range + * @property {string} name human-readable name for this range + * @property {string} [system] machine-readable identifier for the + * time/date system associated with this domain; + * used by {@link DateService} + */ + /** * A telemetry capability provides a means of requesting telemetry * for a specific object, and for unwrapping the response (to get diff --git a/platform/telemetry/src/TelemetryFormatter.js b/platform/telemetry/src/TelemetryFormatter.js index bbd4cf100c..dd434d4ac3 100644 --- a/platform/telemetry/src/TelemetryFormatter.js +++ b/platform/telemetry/src/TelemetryFormatter.js @@ -22,14 +22,13 @@ /*global define,moment*/ define( - ['moment'], - function (moment) { + [], + function () { "use strict"; // Date format to use for domain values; in particular, // use day-of-year instead of month/day - var DATE_FORMAT = "YYYY-DDD HH:mm:ss", - VALUE_FORMAT_DIGITS = 3; + var VALUE_FORMAT_DIGITS = 3; /** * The TelemetryFormatter is responsible for formatting (as text @@ -37,22 +36,31 @@ define( * the range (usually value) of a data series. * @memberof platform/telemetry * @constructor + * @param {FormatService} formatService the service to user to format + * domain values + * @param {string} defaultFormatKey the format to request when no + * format has been otherwise specified */ - function TelemetryFormatter() { + function TelemetryFormatter(formatService, defaultFormatKey) { + this.formatService = formatService; + this.defaultFormat = formatService.getFormat(defaultFormatKey); } /** * Format a domain value. - * @param {number} v the domain value; a timestamp + * @param {number} v the domain value; usually, a timestamp * in milliseconds since start of 1970 - * @param {string} [key] the key which identifies the - * domain; if unspecified or unknown, this will - * be treated as a standard timestamp. + * @param {string} [key] a key which identifies the format + * to use * @returns {string} a textual representation of the * data and time, suitable for display. */ TelemetryFormatter.prototype.formatDomainValue = function (v, key) { - return isNaN(v) ? "" : moment.utc(v).format(DATE_FORMAT); + var formatter = (key === undefined) ? + this.defaultFormat : + this.formatService.getFormat(key); + + return isNaN(v) ? "" : formatter.format(v); }; /** diff --git a/platform/telemetry/test/TelemetryFormatterSpec.js b/platform/telemetry/test/TelemetryFormatterSpec.js index 22f1579059..23c7b95fd4 100644 --- a/platform/telemetry/test/TelemetryFormatterSpec.js +++ b/platform/telemetry/test/TelemetryFormatterSpec.js @@ -27,16 +27,35 @@ define( "use strict"; describe("The telemetry formatter", function () { - var formatter; + var mockFormatService, + mockFormat, + formatter; beforeEach(function () { - formatter = new TelemetryFormatter(); + mockFormatService = + jasmine.createSpyObj("formatService", ["getFormat"]); + mockFormat = jasmine.createSpyObj("format", [ + "validate", + "parse", + "format" + ]); + mockFormatService.getFormat.andReturn(mockFormat); + formatter = new TelemetryFormatter(mockFormatService); }); - it("formats domains using YYYY-DDD style", function () { - expect(formatter.formatDomainValue(402513731000)).toEqual( - "1982-276 17:22:11" - ); + it("formats domains using the formatService", function () { + var testValue = 12321, testResult = "some result"; + mockFormat.format.andReturn(testResult); + + expect(formatter.formatDomainValue(testValue)) + .toEqual(testResult); + expect(mockFormat.format).toHaveBeenCalledWith(testValue); + }); + + it("passes format keys to the formatService", function () { + formatter.formatDomainValue(12321, "someKey"); + expect(mockFormatService.getFormat) + .toHaveBeenCalledWith("someKey"); }); it("formats ranges as values", function () { @@ -44,4 +63,4 @@ define( }); }); } -); \ No newline at end of file +);