From 8363302cafd79291fb574d4c6a53e4d9dc2833ce Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Mon, 16 Nov 2015 15:09:50 -0800 Subject: [PATCH 01/15] [Workers] Allow web workers to be shared Support an additional flag in the extension category such that SharedWorkers may be used. nasa/openmctweb#308. --- docs/src/guide/index.md | 23 ++++++++++++++++++++ platform/execution/src/WorkerService.js | 9 ++++++-- platform/execution/test/WorkerServiceSpec.js | 20 ++++++++++++++++- 3 files changed, 49 insertions(+), 3 deletions(-) diff --git a/docs/src/guide/index.md b/docs/src/guide/index.md index a0159ec672..e84909d42b 100644 --- a/docs/src/guide/index.md +++ b/docs/src/guide/index.md @@ -1254,6 +1254,21 @@ object, or the current view proxy. * `all()`: Get an array of all objects in the selection state. Will include either or both of the view proxy and selected object. +## Workers Category + +The `workers` extension category allows scripts to be run as web workers +using the `workerService`. + +An extension of this category has no implementation. The following properties +are supported: + +* `key`: A symbolic string used to identify this worker. +* `workerUrl`: The path, relative to this bundle's `src` folder, where + this worker's source code resides. +* `shared`: Optional; a boolean flag which, if true, indicates that this + worker should be instantiated as a + [`SharedWorker`](https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker/SharedWorker). + # Directives Open MCT Web defines several Angular directives that are intended for use both @@ -1849,6 +1864,14 @@ the TelemetrySeries itself, in that order. * `getSeries(domainObject)`: Get the latest `TelemetrySeries` (as resulted from a previous `request(...)` call) available for this domain object. +### Worker Service + +The `workerService` may be used to run web workers defined via the +`workers` extension category. It has the following method: + +* `run(key)`: Run the worker identified by the provided `key`. Returns + a `Worker` (or `SharedWorker`, if the specified worker is defined + as a shared worker); if the `key` is unknown, returns `undefined`. # Models Domain object models in Open MCT Web are JavaScript objects describing the diff --git a/platform/execution/src/WorkerService.js b/platform/execution/src/WorkerService.js index 68eb171b0f..1e143301da 100644 --- a/platform/execution/src/WorkerService.js +++ b/platform/execution/src/WorkerService.js @@ -38,7 +38,8 @@ define( * @constructor */ function WorkerService($window, workers) { - var workerUrls = {}; + var workerUrls = {}, + sharedWorkers = {}; function addWorker(worker) { var key = worker.key; @@ -48,12 +49,15 @@ define( worker.bundle.sources, worker.scriptUrl ].join("/"); + sharedWorkers[key] = worker.shared; } } (workers || []).forEach(addWorker); this.workerUrls = workerUrls; + this.sharedWorkers = sharedWorkers; this.Worker = $window.Worker; + this.SharedWorker = $window.SharedWorker; } /** @@ -66,7 +70,8 @@ define( */ WorkerService.prototype.run = function (key) { var scriptUrl = this.workerUrls[key], - Worker = this.Worker; + Worker = this.sharedWorkers[key] ? + this.SharedWorker : this.Worker; return scriptUrl && Worker && new Worker(scriptUrl); }; diff --git a/platform/execution/test/WorkerServiceSpec.js b/platform/execution/test/WorkerServiceSpec.js index 24abab6e81..e1a287f60d 100644 --- a/platform/execution/test/WorkerServiceSpec.js +++ b/platform/execution/test/WorkerServiceSpec.js @@ -30,10 +30,14 @@ define( var mockWindow, testWorkers, mockWorker, + mockSharedWorker, service; beforeEach(function () { - mockWindow = jasmine.createSpyObj('$window', ['Worker']); + mockWindow = jasmine.createSpyObj( + '$window', + ['Worker', 'SharedWorker'] + ); testWorkers = [ { key: 'abc', @@ -49,11 +53,19 @@ define( key: 'xyz', scriptUrl: 'bad.js', bundle: { path: 'bad', sources: 'bad' } + }, + { + key: 'a-shared-worker', + shared: true, + scriptUrl: 'c.js', + bundle: { path: 'a', sources: 'b' } } ]; mockWorker = {}; + mockSharedWorker = {}; mockWindow.Worker.andReturn(mockWorker); + mockWindow.SharedWorker.andReturn(mockSharedWorker); service = new WorkerService(mockWindow, testWorkers); }); @@ -68,6 +80,12 @@ define( expect(mockWindow.Worker).toHaveBeenCalledWith('x/y/z.js'); }); + it("allows workers to be shared", function () { + expect(service.run('a-shared-worker')).toBe(mockSharedWorker); + expect(mockWindow.SharedWorker) + .toHaveBeenCalledWith('a/b/c.js'); + }); + it("returns undefined for unknown workers", function () { expect(service.run('def')).toBeUndefined(); }); From ef5a26dfcc8394e7f5ffe8bd7a6c72a0659ce83f Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Mon, 16 Nov 2015 16:16:22 -0800 Subject: [PATCH 02/15] [Documentation] Specify default value ...for shared property of workers. --- docs/src/guide/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/src/guide/index.md b/docs/src/guide/index.md index e84909d42b..3b95511a23 100644 --- a/docs/src/guide/index.md +++ b/docs/src/guide/index.md @@ -1268,6 +1268,7 @@ are supported: * `shared`: Optional; a boolean flag which, if true, indicates that this worker should be instantiated as a [`SharedWorker`](https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker/SharedWorker). + Default value is `false`. # Directives From 285c8cbd1ef5521c5e598edea9ddfab6d8559483 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Wed, 18 Nov 2015 17:17:42 -0800 Subject: [PATCH 03/15] [Status] Add status tracking Add status tracking for domain objects, and decoration of representations with status-related classes. Supports WTD-1575 by allowing pending state of taxonomy to be handled by status tracking and custom CSS, instead of by overriding platform templates. --- platform/status/README.md | 2 + platform/status/bundle.json | 23 ++++++++ platform/status/src/StatusCapability.js | 56 +++++++++++++++++++ platform/status/src/StatusRepresenter.js | 71 ++++++++++++++++++++++++ platform/status/src/StatusService.js | 62 +++++++++++++++++++++ 5 files changed, 214 insertions(+) create mode 100644 platform/status/README.md create mode 100644 platform/status/bundle.json create mode 100644 platform/status/src/StatusCapability.js create mode 100644 platform/status/src/StatusRepresenter.js create mode 100644 platform/status/src/StatusService.js diff --git a/platform/status/README.md b/platform/status/README.md new file mode 100644 index 0000000000..4d8cb7e6fa --- /dev/null +++ b/platform/status/README.md @@ -0,0 +1,2 @@ +Facilitates tracking states associated with specific domain +objects. diff --git a/platform/status/bundle.json b/platform/status/bundle.json new file mode 100644 index 0000000000..4c117a9d75 --- /dev/null +++ b/platform/status/bundle.json @@ -0,0 +1,23 @@ +{ + "extensions": { + "representers": [ + { + "implementation": "StatusRepresenter.js" + } + ], + "capabilities": [ + { + "key": "status", + "implementation": "StatusCapability.js", + "depends": [ "statusService" ] + } + ], + "services": [ + { + "key": "statusService", + "implementation": "StatusService.js", + "depends": [ "topic" ] + } + ] + } +} diff --git a/platform/status/src/StatusCapability.js b/platform/status/src/StatusCapability.js new file mode 100644 index 0000000000..21e1dda037 --- /dev/null +++ b/platform/status/src/StatusCapability.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*/ + +define( + [], + function () { + 'use strict'; + + function StatusCapability(statusService, domainObject) { + this.statusService = statusService; + this.domainObject = domainObject; + } + + StatusCapability.prototype.get = function () { + return this.statusService.getStatus(this.domainObject.getId()); + }; + + StatusCapability.prototype.set = function (status, state) { + return this.statusService.setStatus( + this.domainObject.getId(), + status, + state + ); + }; + + StatusCapability.prototype.listen = function (callback) { + return this.statusService.listen( + this.domainObject.getId(), + callback + ); + }; + + return StatusCapability; + + } +); diff --git a/platform/status/src/StatusRepresenter.js b/platform/status/src/StatusRepresenter.js new file mode 100644 index 0000000000..8f8187a3ee --- /dev/null +++ b/platform/status/src/StatusRepresenter.js @@ -0,0 +1,71 @@ +/***************************************************************************** + * 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'; + + var STATUS_CLASS_PREFIX = "l-status-"; + + function StatusRepresenter(scope, element) { + this.element = element; + this.lastClasses = []; + } + + StatusRepresenter.prototype.represent = function (representation, domainObject) { + var self = this, + statusCapability = domainObject.getCapability('status'); + + function updateStatus(flags) { + var newClasses = flags.map(function (flag) { + return STATUS_CLASS_PREFIX + flag; + }); + + self.lastClasses.forEach(function (c) { + self.element.removeClass(c); + }); + + newClasses.forEach(function (c) { + self.element.addClass(c); + }); + + self.lastClasses = newClasses; + } + + updateStatus(statusCapability.get()); + this.unlisten = statusCapability.listen(updateStatus); + }; + + StatusRepresenter.prototype.destroy = function () { + if (this.unlisten) { + this.unlisten(); + this.unlisten = undefined; + } + }; + + + return StatusRepresenter; + + } +); diff --git a/platform/status/src/StatusService.js b/platform/status/src/StatusService.js new file mode 100644 index 0000000000..ed2c2bca6a --- /dev/null +++ b/platform/status/src/StatusService.js @@ -0,0 +1,62 @@ +/***************************************************************************** + * 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'; + + var STATUS_PREFIX = "status:"; + + function StatusService(topic) { + this.statusTable = {}; + this.topic = topic; + } + + /** + * @returns {string[]} an array containing all status flags currently + * applicable to the object with this identifier + */ + StatusService.prototype.getStatus = function (id) { + return this.statusTable[id] || []; + }; + + StatusService.prototype.setStatus = function (id, status, state) { + this.statusTable[id] = this.statusTable[id] || []; + this.statusTable[id] = this.statusTable[id].filter(function (s) { + return s !== status; + }); + if (state) { + this.statusTable[id].push(status); + } + this.topic(STATUS_PREFIX + id).notify(this.statusTable[id]); + }; + + StatusService.prototype.listen = function (id, callback) { + return this.topic(STATUS_PREFIX + id).listen(callback); + }; + + return StatusService; + + } +); From 39d007470a4a62dac4a677e2498df00dba6f7b99 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Wed, 18 Nov 2015 17:23:31 -0800 Subject: [PATCH 04/15] [Status] Active platform/status bundle --- bundles.json | 1 + 1 file changed, 1 insertion(+) diff --git a/bundles.json b/bundles.json index 6ebe71b189..f87f035720 100644 --- a/bundles.json +++ b/bundles.json @@ -29,6 +29,7 @@ "platform/policy", "platform/entanglement", "platform/search", + "platform/status", "example/imagery", "example/eventGenerator", From 29fdb6d641047c2cf294b761c59a6ecc725c4fd0 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Thu, 19 Nov 2015 13:42:30 -0800 Subject: [PATCH 05/15] [Status] Add JSDoc --- platform/status/src/StatusCapability.js | 35 ++++++++++++++++++++++++ platform/status/src/StatusRepresenter.js | 17 +++++++++++- platform/status/src/StatusService.js | 30 ++++++++++++++++++++ 3 files changed, 81 insertions(+), 1 deletion(-) diff --git a/platform/status/src/StatusCapability.js b/platform/status/src/StatusCapability.js index 21e1dda037..2751c198a9 100644 --- a/platform/status/src/StatusCapability.js +++ b/platform/status/src/StatusCapability.js @@ -26,15 +26,42 @@ define( function () { 'use strict'; + /** + * The `status` capability can be used to attach information + * about the state of a domain object, expressed as simple + * string flags. + * + * Representations of domain objects will also receive CSS + * classes which reflect their current status. + * (@see platform/status.StatusRepresenter) + * + * @param {platform/status.StatusService} statusService + * the service which will track domain object status + * within the application. + * @param {DomainObject} the domain object whose status will + * be tracked. + * @constructor + * @memberof platform/status + */ function StatusCapability(statusService, domainObject) { this.statusService = statusService; this.domainObject = domainObject; } + /** + * Get all status flags currently set for this domain object. + * @returns {string[]} all current status flags. + */ StatusCapability.prototype.get = function () { return this.statusService.getStatus(this.domainObject.getId()); }; + /** + * Set a status flag on this domain object. + * @param {string} status the status to set + * @param {boolean} state true if the domain object should + * possess this status, false if it should not + */ StatusCapability.prototype.set = function (status, state) { return this.statusService.setStatus( this.domainObject.getId(), @@ -43,6 +70,14 @@ define( ); }; + /** + * Listen for changes in this domain object's status. + * @param {Function} callback function to invoke on changes; + * called with the new status of the domain object, as an + * array of strings + * @returns {Function} a function which can be used to stop + * listening to status changes for this domain object. + */ StatusCapability.prototype.listen = function (callback) { return this.statusService.listen( this.domainObject.getId(), diff --git a/platform/status/src/StatusRepresenter.js b/platform/status/src/StatusRepresenter.js index 8f8187a3ee..4bee9d6651 100644 --- a/platform/status/src/StatusRepresenter.js +++ b/platform/status/src/StatusRepresenter.js @@ -26,8 +26,23 @@ define( function () { 'use strict'; - var STATUS_CLASS_PREFIX = "l-status-"; + var STATUS_CLASS_PREFIX = "s-status-"; + /** + * Adds/removes CSS classes to `mct-representation`s to reflect the + * current status of represented domain objects, as reported by + * their `status` capability. + * + * Statuses are prefixed with `s-status-` to build CSS class names. + * As such, when a domain object has the status "pending", its + * representations will have the CSS class `s-status-pending`. + * + * @param {angular.Scope} scope the representation's scope object + * @param element the representation's jqLite-wrapped DOM element + * @implements {Representer} + * @constructor + * @memberof platform/status + */ function StatusRepresenter(scope, element) { this.element = element; this.lastClasses = []; diff --git a/platform/status/src/StatusService.js b/platform/status/src/StatusService.js index ed2c2bca6a..b19cf7ca1d 100644 --- a/platform/status/src/StatusService.js +++ b/platform/status/src/StatusService.js @@ -28,12 +28,26 @@ define( var STATUS_PREFIX = "status:"; + /** + * The `statusService` maintains information about the current + * status of specific domain objects within the system. Status + * is represented as string flags which are present when a + * domain object possesses that status, and false when it does + * not. + * + * @param {platform/core.Topic} topic the `topic` service, used + * to create/use named listeners. + * @constructor + * @memberof platform/status + */ function StatusService(topic) { this.statusTable = {}; this.topic = topic; } /** + * Get all status flags currently set for a domain object. + * @param {string} id the identifier of the domain object * @returns {string[]} an array containing all status flags currently * applicable to the object with this identifier */ @@ -41,6 +55,13 @@ define( return this.statusTable[id] || []; }; + /** + * Set a status flag for a domain object. + * @param {string} id the identifier of the domain object + * @param {string} status the status to set + * @param {boolean} state true if the domain object should + * possess this status, false if it should not + */ StatusService.prototype.setStatus = function (id, status, state) { this.statusTable[id] = this.statusTable[id] || []; this.statusTable[id] = this.statusTable[id].filter(function (s) { @@ -52,6 +73,15 @@ define( this.topic(STATUS_PREFIX + id).notify(this.statusTable[id]); }; + /** + * Listen for changes in a domain object's status. + * @param {string} id the identifier of the domain object + * @param {Function} callback function to invoke on changes; + * called with the new status of the domain object, as an + * array of strings + * @returns {Function} a function which can be used to stop + * listening to status changes for this domain object. + */ StatusService.prototype.listen = function (id, callback) { return this.topic(STATUS_PREFIX + id).listen(callback); }; From 0d07c3c289e3a984b28059a483402d0e8ff73d11 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Thu, 19 Nov 2015 13:44:06 -0800 Subject: [PATCH 06/15] [Status] Clean up classes when destroyed --- platform/status/src/StatusRepresenter.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/platform/status/src/StatusRepresenter.js b/platform/status/src/StatusRepresenter.js index 4bee9d6651..0bab5fd571 100644 --- a/platform/status/src/StatusRepresenter.js +++ b/platform/status/src/StatusRepresenter.js @@ -48,6 +48,17 @@ define( this.lastClasses = []; } + /** + * Remove any status-related classes from this representation. + * @private + */ + StatusRepresenter.prototype.clearClasses = function () { + var element = this.element; + this.lastClasses.forEach(function (c) { + element.removeClass(c); + }); + }; + StatusRepresenter.prototype.represent = function (representation, domainObject) { var self = this, statusCapability = domainObject.getCapability('status'); @@ -57,9 +68,7 @@ define( return STATUS_CLASS_PREFIX + flag; }); - self.lastClasses.forEach(function (c) { - self.element.removeClass(c); - }); + self.clearClasses(); newClasses.forEach(function (c) { self.element.addClass(c); @@ -73,6 +82,7 @@ define( }; StatusRepresenter.prototype.destroy = function () { + this.clearClasses(); if (this.unlisten) { this.unlisten(); this.unlisten = undefined; From 3ffa6f70aa657fdbab31d13cbfac2810d7b4eac4 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Thu, 19 Nov 2015 13:47:39 -0800 Subject: [PATCH 07/15] [Status] Add empty specs --- platform/status/test/StatusCapabilitySpec.js | 32 +++++++++++++++++++ platform/status/test/StatusRepresenterSpec.js | 32 +++++++++++++++++++ platform/status/test/StatusServiceSpec.js | 32 +++++++++++++++++++ platform/status/test/suite.json | 5 +++ 4 files changed, 101 insertions(+) create mode 100644 platform/status/test/StatusCapabilitySpec.js create mode 100644 platform/status/test/StatusRepresenterSpec.js create mode 100644 platform/status/test/StatusServiceSpec.js create mode 100644 platform/status/test/suite.json diff --git a/platform/status/test/StatusCapabilitySpec.js b/platform/status/test/StatusCapabilitySpec.js new file mode 100644 index 0000000000..f016ebfa89 --- /dev/null +++ b/platform/status/test/StatusCapabilitySpec.js @@ -0,0 +1,32 @@ +/***************************************************************************** + * 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/StatusCapability"], + function (StatusCapability) { + "use strict"; + + describe("The status capability", function () { + }); + } +); diff --git a/platform/status/test/StatusRepresenterSpec.js b/platform/status/test/StatusRepresenterSpec.js new file mode 100644 index 0000000000..cd058401c1 --- /dev/null +++ b/platform/status/test/StatusRepresenterSpec.js @@ -0,0 +1,32 @@ +/***************************************************************************** + * 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/StatusRepresenter"], + function (StatusRepresenter) { + "use strict"; + + describe("The status representer", function () { + }); + } +); diff --git a/platform/status/test/StatusServiceSpec.js b/platform/status/test/StatusServiceSpec.js new file mode 100644 index 0000000000..f800002551 --- /dev/null +++ b/platform/status/test/StatusServiceSpec.js @@ -0,0 +1,32 @@ +/***************************************************************************** + * 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/StatusService"], + function (StatusService) { + "use strict"; + + describe("The status service", function () { + }); + } +); diff --git a/platform/status/test/suite.json b/platform/status/test/suite.json new file mode 100644 index 0000000000..8b0cf2fd26 --- /dev/null +++ b/platform/status/test/suite.json @@ -0,0 +1,5 @@ +[ + "StatusCapability", + "StatusRepresenter", + "StatusService" +] From 5b9e43f8ff354af232870228d794e5b3fafa2087 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Thu, 19 Nov 2015 14:22:44 -0800 Subject: [PATCH 08/15] [Status] Test platform/status --- platform/status/src/StatusConstants.js | 26 ++++++ platform/status/src/StatusRepresenter.js | 6 +- platform/status/src/StatusService.js | 6 +- platform/status/test/StatusCapabilitySpec.js | 52 +++++++++++ platform/status/test/StatusRepresenterSpec.js | 90 ++++++++++++++++++- platform/status/test/StatusServiceSpec.js | 62 +++++++++++++ 6 files changed, 234 insertions(+), 8 deletions(-) create mode 100644 platform/status/src/StatusConstants.js diff --git a/platform/status/src/StatusConstants.js b/platform/status/src/StatusConstants.js new file mode 100644 index 0000000000..75b1bca2e1 --- /dev/null +++ b/platform/status/src/StatusConstants.js @@ -0,0 +1,26 @@ +/***************************************************************************** + * 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({ + CSS_CLASS_PREFIX: 's-status-', + TOPIC_PREFIX: 'status:' +}); diff --git a/platform/status/src/StatusRepresenter.js b/platform/status/src/StatusRepresenter.js index 0bab5fd571..0808688c02 100644 --- a/platform/status/src/StatusRepresenter.js +++ b/platform/status/src/StatusRepresenter.js @@ -22,11 +22,11 @@ /*global define*/ define( - [], - function () { + ['./StatusConstants'], + function (StatusConstants) { 'use strict'; - var STATUS_CLASS_PREFIX = "s-status-"; + var STATUS_CLASS_PREFIX = StatusConstants.CSS_CLASS_PREFIX; /** * Adds/removes CSS classes to `mct-representation`s to reflect the diff --git a/platform/status/src/StatusService.js b/platform/status/src/StatusService.js index b19cf7ca1d..6fff6f49d8 100644 --- a/platform/status/src/StatusService.js +++ b/platform/status/src/StatusService.js @@ -22,11 +22,11 @@ /*global define*/ define( - [], - function () { + ['./StatusConstants'], + function (StatusConstants) { 'use strict'; - var STATUS_PREFIX = "status:"; + var STATUS_PREFIX = StatusConstants.TOPIC_PREFIX; /** * The `statusService` maintains information about the current diff --git a/platform/status/test/StatusCapabilitySpec.js b/platform/status/test/StatusCapabilitySpec.js index f016ebfa89..481abf6a53 100644 --- a/platform/status/test/StatusCapabilitySpec.js +++ b/platform/status/test/StatusCapabilitySpec.js @@ -27,6 +27,58 @@ define( "use strict"; describe("The status capability", function () { + var mockStatusService, + mockDomainObject, + mockUnlisten, + testId, + testStatusFlags, + capability; + + beforeEach(function () { + testId = "some-id"; + testStatusFlags = [ 'a', 'b', 'c' ]; + + mockStatusService = jasmine.createSpyObj( + 'statusService', + [ 'listen', 'setStatus', 'getStatus' ] + ); + mockDomainObject = jasmine.createSpyObj( + 'domainObject', + [ 'getId', 'getCapability', 'getModel' ] + ); + mockUnlisten = jasmine.createSpy('unlisten'); + + mockStatusService.listen.andReturn(mockUnlisten); + mockStatusService.getStatus.andReturn(testStatusFlags); + mockDomainObject.getId.andReturn(testId); + + capability = new StatusCapability( + mockStatusService, + mockDomainObject + ); + }); + + it("sets status with the statusService", function () { + var testStatus = "some-test-status"; + capability.set(testStatus, true); + expect(mockStatusService.setStatus) + .toHaveBeenCalledWith(testId, testStatus, true); + capability.set(testStatus, false); + expect(mockStatusService.setStatus) + .toHaveBeenCalledWith(testId, testStatus, false); + }); + + it("gets status from the statusService", function () { + expect(capability.get()).toBe(testStatusFlags); + }); + + it("listens to changes from the statusService", function () { + var mockCallback = jasmine.createSpy(); + expect(capability.listen(mockCallback)) + .toBe(mockUnlisten); + expect(mockStatusService.listen) + .toHaveBeenCalledWith(testId, mockCallback); + }); }); } ); diff --git a/platform/status/test/StatusRepresenterSpec.js b/platform/status/test/StatusRepresenterSpec.js index cd058401c1..e9191587a7 100644 --- a/platform/status/test/StatusRepresenterSpec.js +++ b/platform/status/test/StatusRepresenterSpec.js @@ -22,11 +22,97 @@ /*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ define( - ["../src/StatusRepresenter"], - function (StatusRepresenter) { + ["../src/StatusRepresenter", "../src/StatusConstants"], + function (StatusRepresenter, StatusConstants) { "use strict"; describe("The status representer", function () { + var mockScope, + mockElement, + testRepresentation, + mockDomainObject, + mockStatusCapability, + mockUnlisten, + elementClasses, + testStatusFlags, + representer; + + function verifyClasses() { + expect(Object.keys(elementClasses).sort()) + .toEqual(testStatusFlags.map(function (s) { + return StatusConstants.CSS_CLASS_PREFIX + s; + }).sort()); + } + + function updateStatus(newFlags) { + testStatusFlags = newFlags; + mockStatusCapability.get.andReturn(newFlags); + mockStatusCapability.listen.mostRecentCall + .args[0](newFlags); + } + + beforeEach(function () { + testStatusFlags = [ 'x', 'y', 'z' ]; + + mockScope = {}; + mockElement = jasmine.createSpyObj('element', [ + 'addClass', + 'removeClass' + ]); + testRepresentation = { key: "someKey" }; + mockDomainObject = jasmine.createSpyObj( + 'domainObject', + [ 'getModel', 'getId', 'getCapability' ] + ); + mockStatusCapability = jasmine.createSpyObj( + 'status', + [ 'get', 'set', 'listen' ] + ); + mockUnlisten = jasmine.createSpy(); + + elementClasses = {}; + + mockElement.addClass.andCallFake(function (c) { + elementClasses[c] = true; + }); + mockElement.removeClass.andCallFake(function (c) { + delete elementClasses[c]; + }); + + mockStatusCapability.get.andReturn(testStatusFlags); + mockStatusCapability.listen.andReturn(mockUnlisten); + + mockDomainObject.getCapability.andCallFake(function (c) { + return c === 'status' && mockStatusCapability; + }); + + representer = new StatusRepresenter(mockScope, mockElement); + representer.represent(testRepresentation, mockDomainObject); + }); + + it("listens for status changes", function () { + expect(mockStatusCapability.listen) + .toHaveBeenCalledWith(jasmine.any(Function)); + }); + + it("initially sets classes to reflect status", verifyClasses); + + it("changes classes on status change callbacks", function () { + updateStatus(['a', 'x', '123']); + verifyClasses(); + }); + + it("stops listening when destroyed", function () { + expect(mockUnlisten).not.toHaveBeenCalled(); + representer.destroy(); + expect(mockUnlisten).toHaveBeenCalled(); + }); + + it("removes status classes when destroyed", function () { + expect(elementClasses).not.toEqual({}); + representer.destroy(); + expect(elementClasses).toEqual({}); + }); }); } ); diff --git a/platform/status/test/StatusServiceSpec.js b/platform/status/test/StatusServiceSpec.js index f800002551..1f85cd70a1 100644 --- a/platform/status/test/StatusServiceSpec.js +++ b/platform/status/test/StatusServiceSpec.js @@ -27,6 +27,68 @@ define( "use strict"; describe("The status service", function () { + var mockTopic, + mockTopicInstance, + mockUnlisten, + mockCallback, + testId, + testStatus, + statusService; + + beforeEach(function () { + testId = "some-domain-object-identifier"; + testStatus = "test-status"; + + mockTopic = jasmine.createSpy('topic'); + mockTopicInstance = jasmine.createSpyObj( + 'topicInstance', + [ 'notify', 'listen' ] + ); + mockUnlisten = jasmine.createSpy('unlisten'); + mockCallback = jasmine.createSpy('callback'); + + mockTopic.andReturn(mockTopicInstance); + mockTopicInstance.listen.andReturn(mockUnlisten); + + statusService = new StatusService(mockTopic); + }); + + it("initially contains no flags for an object", function () { + expect(statusService.getStatus(testId)).toEqual([]); + }); + + it("stores and clears status flags", function () { + statusService.setStatus(testId, testStatus, true); + expect(statusService.getStatus(testId)).toEqual([testStatus]); + statusService.setStatus(testId, testStatus, false); + expect(statusService.getStatus(testId)).toEqual([]); + }); + + it("uses topic to listen for changes", function () { + expect(statusService.listen(testId, mockCallback)) + .toEqual(mockUnlisten); + expect(mockTopic) + .toHaveBeenCalledWith(jasmine.any(String)); + // Just care that the topic was somehow unique to the object + expect(mockTopic.mostRecentCall.args[0].indexOf(testId)) + .not.toEqual(-1); + }); + + it("notifies listeners of changes", function () { + statusService.setStatus(testId, testStatus, true); + expect(mockTopicInstance.notify) + .toHaveBeenCalledWith([ testStatus ]); + statusService.setStatus(testId, testStatus, false); + expect(mockTopicInstance.notify) + .toHaveBeenCalledWith([ ]); + + expect(mockTopic) + .toHaveBeenCalledWith(jasmine.any(String)); + // Just care that the topic was somehow unique to the object + expect(mockTopic.mostRecentCall.args[0].indexOf(testId)) + .not.toEqual(-1); + }); + }); } ); From b5d1118a3ff8f7d1f36db846bf9270cd21571ba7 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Thu, 19 Nov 2015 15:12:03 -0800 Subject: [PATCH 09/15] [Status] Document status capability ...in the developer guide. Includes a table for listing status names and classes, per code review feedback, nasa/openmctweb#319. --- docs/src/guide/index.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/src/guide/index.md b/docs/src/guide/index.md index a0159ec672..6271337792 100644 --- a/docs/src/guide/index.md +++ b/docs/src/guide/index.md @@ -2056,6 +2056,31 @@ objects which has a `relationships` property in their model, whose value is an object containing key-value pairs, where keys are strings identifying relationship types, and values are arrays of domain object identifiers. +## Status Capability + +The `status` capability provides a way to flag domain objects as possessing +certain states, represented as simple strings. These states, in turn, are +reflected on `mct-representation` elements as classes (prefixed with +`s-status-`.) The `status` capability has the following interface: + +* `get()`: Returns an array of all status strings that currently apply + to this object. +* `set(status, state)`: Adds or removes a status flag to this domain object. + The `status` argument is the string to set; `state` is a boolean + indicating whether this status should be included (true) or removed (false). +* `listen(callback)`: Listen for changes in status. The provided `callback` + will be invoked with an array of all current status strings whenever status + changes. + +Plug-ins may add and/or recognize arbitrary status flags. Flags defined +and/or supported by the platform are: + + Status | CSS Class | Meaning +-----------|--------------------|----------------------------------- +`editing` | `s-status-editing` | Domain object is being edited. +`pending` | `s-status-pending` | Domain object is partially loaded. + + ## Telemetry Capability The telemetry capability provides a means for accessing telemetry data From 3e25d177023d1ed1b36c073c3b7265b889083908 Mon Sep 17 00:00:00 2001 From: Charles Hacskaylo Date: Thu, 19 Nov 2015 15:16:21 -0800 Subject: [PATCH 10/15] [Mobile / Frontend] Modified media query device detection approach open #169 Significant simplification of media query device detection to focus on width only; tablet max-width and desktop min-width modified to create gapless ranges; --- .../general/res/sass/mobile/_constants.scss | 46 +++------- .../general/res/sass/mobile/_mixins.scss | 23 ++--- .../espresso/res/css/theme-espresso.css | 90 +++++++++---------- .../themes/snow/res/css/theme-snow.css | 86 +++++++++--------- 4 files changed, 108 insertions(+), 137 deletions(-) diff --git a/platform/commonUI/general/res/sass/mobile/_constants.scss b/platform/commonUI/general/res/sass/mobile/_constants.scss index 56b1ebfaea..c23493ca2c 100644 --- a/platform/commonUI/general/res/sass/mobile/_constants.scss +++ b/platform/commonUI/general/res/sass/mobile/_constants.scss @@ -34,51 +34,31 @@ $mobileTreeItemH: 35px; $mobileTreeItemIndent: 20px; $mobileTreeRightArrowW: 30px; -/************************** WINDOW DIMENSIONS FOR RWD */ +/************************** DEVICE WIDTHS */ +// IMPORTANT! Usage assumes that ranges are mutually exclusive and have no gaps $phoMaxW: 514px; -$phoMaxH: 740px; - $tabMinW: 515px; -$tabMaxW: 799px; - -$tabMinH: 741px; -$tabMaxH: 1024px; - -$compMinW: 800px; -$compMinH: 1025px; +$tabMaxW: 1280px; +$desktopMinW: 1281px; /************************** MEDIA QUERIES: WINDOW CHECKS FOR SPECIFIC ORIENTATIONS FOR EACH DEVICE */ $screenPortrait: "screen and (orientation: portrait)"; $screenLandscape: "screen and (orientation: landscape)"; -$mobileDevice: "(max-device-width: #{$tabMaxW}) and (max-device-height: #{$tabMaxH})"; -$mobileDeviceEmu: "(max-device-width: #{$tabMaxH}) and (max-device-height: #{$tabMaxW})"; +$mobileDevice: "(max-device-width: #{$tabMaxW})"; -$phonePortraitCheck: "(max-width: #{$phoMaxW}) and (max-height: #{$phoMaxH})"; -$phoneLandscapeCheck: "(max-height: #{$phoMaxW}) and (max-width: #{$phoMaxH})"; - -$tabWidPorCheck: "(min-width: #{$tabMinW}) and (max-width: #{$tabMaxW})"; -$tabHeiPorCheck: "(min-height: #{$tabMinH}) and (max-height: #{$tabMaxH})"; -$tabletPortraitCheck: "#{$tabWidPorCheck} and #{$tabHeiPorCheck}"; - -$tabWidLanCheck: "(min-height: #{$tabMinW}) and (max-height: #{$tabMaxW})"; -$tabHeiLanCheck: "(min-width: #{$tabMinH}) and (max-width: #{$tabMaxH})"; -$tabletLandscapeCheck: "#{$tabWidLanCheck} and #{$tabHeiLanCheck}"; - -$desktopPortraitCheck: "(min-device-width: #{$compMinW}) and (min-device-height: #{$compMinH})"; -$desktopLandscapeCheck: "(min-device-width: #{$compMinH}) and (min-device-height: #{$compMinW})"; +$phoneCheck: "(max-device-width: #{$phoMaxW})"; +$tabletCheck: $mobileDevice; +$desktopCheck: "(min-device-width: #{$desktopMinW})"; /************************** MEDIA QUERIES: WINDOWS FOR SPECIFIC ORIENTATIONS FOR EACH DEVICE */ -$phonePortrait: "#{$screenPortrait} and #{$phonePortraitCheck} and #{$mobileDevice}"; -$phoneLandscape: "#{$screenLandscape} and #{$phoneLandscapeCheck} and #{$mobileDevice}"; -$phoneLandscapeEmu: "#{$screenLandscape} and #{$phoneLandscapeCheck} and #{$mobileDeviceEmu}"; +$phonePortrait: "#{$screenPortrait} and #{$phoneCheck} and #{$mobileDevice}"; +$phoneLandscape: "#{$screenLandscape} and #{$phoneCheck} and #{$mobileDevice}"; -$tabletPortrait: "#{$screenPortrait} and #{$tabletPortraitCheck} and #{$mobileDevice}"; -$tabletLandscape: "#{$screenLandscape} and #{$tabletLandscapeCheck} and #{$mobileDevice}"; -$tabletLandscapeEmu: "#{$screenLandscape} and #{$tabletLandscapeCheck} and #{$mobileDeviceEmu}"; +$tabletPortrait: "#{$screenPortrait} and #{$tabletCheck} and #{$mobileDevice}"; +$tabletLandscape: "#{$screenLandscape} and #{$tabletCheck} and #{$mobileDevice}"; -$desktopPortrait: "screen and #{$desktopPortraitCheck}"; -$desktopLandscape: "screen and #{$desktopLandscapeCheck}"; +$desktop: "screen and #{$desktopCheck}"; /************************** DEVICE PARAMETERS FOR MENUS/REPRESENTATIONS */ $proporMenuOnly: 90%; diff --git a/platform/commonUI/general/res/sass/mobile/_mixins.scss b/platform/commonUI/general/res/sass/mobile/_mixins.scss index 8b0ea36943..8c35d6a211 100644 --- a/platform/commonUI/general/res/sass/mobile/_mixins.scss +++ b/platform/commonUI/general/res/sass/mobile/_mixins.scss @@ -25,8 +25,7 @@ // Phones in any orientation @mixin phone { @media #{$phonePortrait}, - #{$phoneLandscape}, - #{$phoneLandscapeEmu} { + #{$phoneLandscape} { @content } } @@ -40,8 +39,7 @@ // Phones in landscape orientation @mixin phoneLandscape { - @media #{$phoneLandscape}, - #{$phoneLandscapeEmu} { + @media #{$phoneLandscape} { @content } } @@ -49,8 +47,7 @@ // Tablets in any orientation @mixin tablet { @media #{$tabletPortrait}, - #{$tabletLandscape}, - #{$tabletLandscapeEmu} { + #{$tabletLandscape} { @content } } @@ -64,8 +61,7 @@ // Tablets in landscape orientation @mixin tabletLandscape { - @media #{$tabletLandscape}, - #{$tabletLandscapeEmu} { + @media #{$tabletLandscape} { @content } } @@ -74,10 +70,8 @@ @mixin phoneandtablet { @media #{$phonePortrait}, #{$phoneLandscape}, - #{$phoneLandscapeEmu}, #{$tabletPortrait}, - #{$tabletLandscape}, - #{$tabletLandscapeEmu} { + #{$tabletLandscape} { @content } } @@ -86,17 +80,14 @@ @mixin desktopandtablet { @media #{$tabletPortrait}, #{$tabletLandscape}, - #{$tabletLandscapeEmu}, - #{$desktopPortrait}, - #{$desktopLandscape} { + #{$desktop} { @content } } // Desktop monitors in any orientation @mixin desktop { - @media #{$desktopPortrait}, - #{$desktopLandscape} { + @media #{$desktop} { @content } } diff --git a/platform/commonUI/themes/espresso/res/css/theme-espresso.css b/platform/commonUI/themes/espresso/res/css/theme-espresso.css index 41f35389eb..eda547e1b2 100644 --- a/platform/commonUI/themes/espresso/res/css/theme-espresso.css +++ b/platform/commonUI/themes/espresso/res/css/theme-espresso.css @@ -20,7 +20,7 @@ * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* line 5, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 5, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, @@ -41,38 +41,38 @@ time, mark, audio, video { font-size: 100%; vertical-align: baseline; } -/* line 22, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 22, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ html { line-height: 1; } -/* line 24, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 24, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ ol, ul { list-style: none; } -/* line 26, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 26, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ table { border-collapse: collapse; border-spacing: 0; } -/* line 28, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 28, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; } -/* line 30, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 30, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ q, blockquote { quotes: none; } - /* line 103, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ + /* line 103, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; } -/* line 32, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 32, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ a img { border: none; } -/* line 116, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 116, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } @@ -173,7 +173,7 @@ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, /* REQUIRES /platform/commonUI/general/res/sass/_constants.scss */ /************************** MOBILE REPRESENTATION ITEMS DIMENSIONS */ /************************** MOBILE TREE MENU DIMENSIONS */ -/************************** WINDOW DIMENSIONS FOR RWD */ +/************************** DEVICE WIDTHS */ /************************** MEDIA QUERIES: WINDOW CHECKS FOR SPECIFIC ORIENTATIONS FOR EACH DEVICE */ /************************** MEDIA QUERIES: WINDOWS FOR SPECIFIC ORIENTATIONS FOR EACH DEVICE */ /************************** DEVICE PARAMETERS FOR MENUS/REPRESENTATIONS */ @@ -990,7 +990,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { /* line 76, ../../../../general/res/sass/helpers/_bubbles.scss */ .l-infobubble-wrapper.arw-left .l-infobubble::before { right: 100%; } - @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), screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + @media screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (min-device-width: 1281px) { /* line 76, ../../../../general/res/sass/helpers/_bubbles.scss */ .l-infobubble-wrapper.arw-left .l-infobubble::before { width: 0; @@ -998,14 +998,14 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { border-top: 6.66667px solid transparent; border-bottom: 6.66667px solid transparent; border-right: 10px solid #ddd; } } - @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), screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + @media screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (min-device-width: 1281px) { /* line 88, ../../../../general/res/sass/helpers/_bubbles.scss */ .l-infobubble-wrapper.arw-right { margin-right: 20px; } } /* line 95, ../../../../general/res/sass/helpers/_bubbles.scss */ .l-infobubble-wrapper.arw-right .l-infobubble::before { left: 100%; } - @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), screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + @media screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (min-device-width: 1281px) { /* line 95, ../../../../general/res/sass/helpers/_bubbles.scss */ .l-infobubble-wrapper.arw-right .l-infobubble::before { width: 0; @@ -1647,7 +1647,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { /* 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) { + @media screen and (min-device-width: 1281px) { /* 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); } @@ -1686,7 +1686,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { /* 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) { + @media screen and (min-device-width: 1281px) { /* 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); } @@ -1728,7 +1728,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { /* 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) { + @media screen and (min-device-width: 1281px) { /* 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); } @@ -1766,7 +1766,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { .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) { +@media screen and (min-device-width: 1281px) { /* line 104, ../../../../general/res/sass/controls/_buttons.scss */ .mini-tab { -moz-border-radius: 3px; @@ -1836,14 +1836,14 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { /* 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) { + @media screen and (min-device-width: 1281px) and (min-device-width: 1281px) { /* 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) { +@media screen and (min-device-width: 1281px) { /* line 141, ../../../../general/res/sass/controls/_buttons.scss */ .mini-tab.collapsed:before { opacity: 0; } @@ -1932,7 +1932,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { .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) { +@media screen and (min-device-width: 1281px) { /* line 211, ../../../../general/res/sass/controls/_buttons.scss */ .mini-tab-icon { color: #595959; @@ -2319,7 +2319,7 @@ label.checkbox.custom { 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) { + @media screen and (min-device-width: 1281px) { /* line 239, ../../../../general/res/sass/controls/_controls.scss */ .object-header .context-available { -moz-transition-property: opacity; @@ -2662,7 +2662,7 @@ label.checkbox.custom { 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) { +@media screen and (min-device-width: 1281px) { /* line 484, ../../../../general/res/sass/controls/_controls.scss */ ::-webkit-scrollbar { -moz-border-radius: 2px; @@ -3364,7 +3364,7 @@ label.checkbox.custom { /* 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) { +@media screen and (min-device-width: 1281px) { /* line 259, ../../../../general/res/sass/controls/_messages.scss */ .t-message-single .l-message, .t-message-single .bottom-bar { @@ -3435,7 +3435,7 @@ label.checkbox.custom { .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) { +@media screen and (min-device-width: 1281px) { /* line 304, ../../../../general/res/sass/controls/_messages.scss */ .t-message-list .message-contents .l-message { margin-right: 10px; } } @@ -3687,7 +3687,7 @@ mct-include.l-time-controller { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -@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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px) { /* line 25, ../../../../general/res/sass/mobile/controls/_menus.scss */ .super-menu { width: 250px; @@ -3967,7 +3967,7 @@ textarea { /* 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) { + @media screen and (min-device-width: 1281px) { /* line 302, ../../../../general/res/sass/_mixins.scss */ .select:not(.disabled):hover { background: linear-gradient(#6b6b6b, #5e5e5e); } @@ -4478,7 +4478,7 @@ span.req { /* line 138, ../../../../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) { + @media screen and (min-device-width: 1281px) { /* line 138, ../../../../general/res/sass/user-environ/_layout.scss */ .pane .mini-tab-icon.toggle-pane { top: 10px; @@ -4704,7 +4704,7 @@ span.req { .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) { +@media screen and (min-device-width: 1281px) { /* line 312, ../../../../general/res/sass/user-environ/_layout.scss */ .holder-all { min-width: 600px; } @@ -4776,7 +4776,7 @@ span.req { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -@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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px) { /* line 26, ../../../../general/res/sass/mobile/_layout.scss */ .browse-wrapper, .pane { @@ -4952,7 +4952,7 @@ span.req { -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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px) { /* line 146, ../../../../general/res/sass/mobile/_layout.scss */ .pane-tree-showing .pane.left.treeview { width: 90% !important; } @@ -4966,7 +4966,7 @@ span.req { /* line 152, ../../../../general/res/sass/mobile/_layout.scss */ .pane-tree-showing .pane.right.items .holder-object-and-inspector { 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) { +@media screen and (min-device-width: 1281px) { /* line 160, ../../../../general/res/sass/mobile/_layout.scss */ .desktop-hide { display: none; } } @@ -5281,7 +5281,7 @@ span.req { margin-left: 50%; white-space: nowrap; } -@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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px) { /* line 5, ../../../../general/res/sass/mobile/search/_search.scss */ .search .search-bar .menu-icon { display: none; } @@ -5458,7 +5458,7 @@ span.req { /* 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) { + @media screen and (min-device-width: 1281px) { /* 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); } @@ -5491,7 +5491,7 @@ span.req { 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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px) { /* line 3, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ .overlay .clk-icon.close { top: 20px; @@ -5509,7 +5509,7 @@ span.req { /* 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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px) { /* line 27, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ .overlay > .holder { -moz-border-radius: 0; @@ -5580,7 +5580,7 @@ span.req { .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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px) { /* line 77, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ .overlay > .holder .contents .bottom-bar { text-align: center; } } @@ -5653,7 +5653,7 @@ ul.tree { margin-left: 5px; 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) { + @media screen and (min-device-width: 1281px) { /* line 56, ../../../../general/res/sass/tree/_tree.scss */ .tree-item .view-control:hover, .search-result-item .view-control:hover { @@ -5786,7 +5786,7 @@ ul.tree { .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) { + @media screen and (min-device-width: 1281px) { /* line 136, ../../../../general/res/sass/tree/_tree.scss */ .tree-item:not(.selected):hover, .search-result-item:not(.selected):hover { @@ -5838,7 +5838,7 @@ ul.tree { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -@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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px) { /* line 27, ../../../../general/res/sass/mobile/_tree.scss */ ul.tree ul.tree { margin-left: 20px; } @@ -5929,7 +5929,7 @@ ul.tree { /* line 65, ../../../../general/res/sass/user-environ/_frame.scss */ .frame.frame-template .view-switcher { z-index: 10; } -@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { +@media screen and (min-device-width: 1281px) { /* line 71, ../../../../general/res/sass/user-environ/_frame.scss */ .frame.frame-template .view-switcher { opacity: 0; } @@ -6821,7 +6821,7 @@ table { /* 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) { + @media screen and (min-device-width: 1281px) { /* line 302, ../../../../general/res/sass/_mixins.scss */ .items-holder .item.grid-item:not(.disabled):hover { background: linear-gradient(#666666, #595959); } @@ -6952,7 +6952,7 @@ table { /* 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) { + @media screen and (min-device-width: 1281px) { /* line 302, ../../../../general/res/sass/_mixins.scss */ .items-holder .item.grid-item.selected:not(.disabled):hover { background: linear-gradient(#1ac6ff, #00bfff); } @@ -6993,7 +6993,7 @@ table { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -@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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px) { /* line 29, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item { width: 100%; } @@ -7027,7 +7027,7 @@ table { opacity: 1; font-size: 1em; width: auto; } } -@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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px) { /* line 29, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item { height: 50px; } @@ -7047,7 +7047,7 @@ table { /* 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) { +@media screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px) { /* line 29, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item { height: 66px; } diff --git a/platform/commonUI/themes/snow/res/css/theme-snow.css b/platform/commonUI/themes/snow/res/css/theme-snow.css index 474997dd53..c45962f43d 100644 --- a/platform/commonUI/themes/snow/res/css/theme-snow.css +++ b/platform/commonUI/themes/snow/res/css/theme-snow.css @@ -20,7 +20,7 @@ * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* line 5, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 5, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, @@ -41,38 +41,38 @@ time, mark, audio, video { font-size: 100%; vertical-align: baseline; } -/* line 22, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 22, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ html { line-height: 1; } -/* line 24, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 24, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ ol, ul { list-style: none; } -/* line 26, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 26, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ table { border-collapse: collapse; border-spacing: 0; } -/* line 28, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 28, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; } -/* line 30, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 30, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ q, blockquote { quotes: none; } - /* line 103, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ + /* line 103, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; } -/* line 32, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 32, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ a img { border: none; } -/* line 116, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 116, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } @@ -173,7 +173,7 @@ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, /* REQUIRES /platform/commonUI/general/res/sass/_constants.scss */ /************************** MOBILE REPRESENTATION ITEMS DIMENSIONS */ /************************** MOBILE TREE MENU DIMENSIONS */ -/************************** WINDOW DIMENSIONS FOR RWD */ +/************************** DEVICE WIDTHS */ /************************** MEDIA QUERIES: WINDOW CHECKS FOR SPECIFIC ORIENTATIONS FOR EACH DEVICE */ /************************** MEDIA QUERIES: WINDOWS FOR SPECIFIC ORIENTATIONS FOR EACH DEVICE */ /************************** DEVICE PARAMETERS FOR MENUS/REPRESENTATIONS */ @@ -990,7 +990,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { /* line 76, ../../../../general/res/sass/helpers/_bubbles.scss */ .l-infobubble-wrapper.arw-left .l-infobubble::before { right: 100%; } - @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), screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + @media screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (min-device-width: 1281px) { /* line 76, ../../../../general/res/sass/helpers/_bubbles.scss */ .l-infobubble-wrapper.arw-left .l-infobubble::before { width: 0; @@ -998,14 +998,14 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { border-top: 6.66667px solid transparent; border-bottom: 6.66667px solid transparent; border-right: 10px solid white; } } - @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), screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + @media screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (min-device-width: 1281px) { /* line 88, ../../../../general/res/sass/helpers/_bubbles.scss */ .l-infobubble-wrapper.arw-right { margin-right: 20px; } } /* line 95, ../../../../general/res/sass/helpers/_bubbles.scss */ .l-infobubble-wrapper.arw-right .l-infobubble::before { left: 100%; } - @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), screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { + @media screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (min-device-width: 1281px) { /* line 95, ../../../../general/res/sass/helpers/_bubbles.scss */ .l-infobubble-wrapper.arw-right .l-infobubble::before { width: 0; @@ -1619,7 +1619,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { /* 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) { + @media screen and (min-device-width: 1281px) { /* line 302, ../../../../general/res/sass/_mixins.scss */ .s-btn.major:not(.disabled):hover, .major.s-menu-btn:not(.disabled):hover { background: deepskyblue; } @@ -1649,7 +1649,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { /* 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) { + @media screen and (min-device-width: 1281px) { /* line 302, ../../../../general/res/sass/_mixins.scss */ .s-btn:not(.major):not(.disabled):hover, .s-menu-btn:not(.major):not(.disabled):hover { background: #0099cc; } @@ -1682,7 +1682,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { /* 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) { + @media screen and (min-device-width: 1281px) { /* 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; } @@ -1720,7 +1720,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { .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) { +@media screen and (min-device-width: 1281px) { /* line 104, ../../../../general/res/sass/controls/_buttons.scss */ .mini-tab { -moz-border-radius: 4px; @@ -1781,14 +1781,14 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { /* 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) { + @media screen and (min-device-width: 1281px) and (min-device-width: 1281px) { /* 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) { +@media screen and (min-device-width: 1281px) { /* line 141, ../../../../general/res/sass/controls/_buttons.scss */ .mini-tab.collapsed:before { opacity: 0; } @@ -1877,7 +1877,7 @@ tr[class*="s-limit"].s-limit-lwr td:first-child:before { .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) { +@media screen and (min-device-width: 1281px) { /* line 211, ../../../../general/res/sass/controls/_buttons.scss */ .mini-tab-icon { color: #d6d6d6; @@ -2264,7 +2264,7 @@ label.checkbox.custom { 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) { + @media screen and (min-device-width: 1281px) { /* line 239, ../../../../general/res/sass/controls/_controls.scss */ .object-header .context-available { -moz-transition-property: opacity; @@ -2607,7 +2607,7 @@ label.checkbox.custom { 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) { +@media screen and (min-device-width: 1281px) { /* line 484, ../../../../general/res/sass/controls/_controls.scss */ ::-webkit-scrollbar { -moz-border-radius: 2px; @@ -3303,7 +3303,7 @@ label.checkbox.custom { /* 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) { +@media screen and (min-device-width: 1281px) { /* line 259, ../../../../general/res/sass/controls/_messages.scss */ .t-message-single .l-message, .t-message-single .bottom-bar { @@ -3374,7 +3374,7 @@ label.checkbox.custom { .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) { +@media screen and (min-device-width: 1281px) { /* line 304, ../../../../general/res/sass/controls/_messages.scss */ .t-message-list .message-contents .l-message { margin-right: 10px; } } @@ -3626,7 +3626,7 @@ mct-include.l-time-controller { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -@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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px) { /* line 25, ../../../../general/res/sass/mobile/controls/_menus.scss */ .super-menu { width: 250px; @@ -4400,7 +4400,7 @@ span.req { /* line 138, ../../../../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) { + @media screen and (min-device-width: 1281px) { /* line 138, ../../../../general/res/sass/user-environ/_layout.scss */ .pane .mini-tab-icon.toggle-pane { top: 10px; @@ -4626,7 +4626,7 @@ span.req { .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) { +@media screen and (min-device-width: 1281px) { /* line 312, ../../../../general/res/sass/user-environ/_layout.scss */ .holder-all { min-width: 600px; } @@ -4698,7 +4698,7 @@ span.req { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -@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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px) { /* line 26, ../../../../general/res/sass/mobile/_layout.scss */ .browse-wrapper, .pane { @@ -4874,7 +4874,7 @@ span.req { -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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px) { /* line 146, ../../../../general/res/sass/mobile/_layout.scss */ .pane-tree-showing .pane.left.treeview { width: 90% !important; } @@ -4888,7 +4888,7 @@ span.req { /* line 152, ../../../../general/res/sass/mobile/_layout.scss */ .pane-tree-showing .pane.right.items .holder-object-and-inspector { 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) { +@media screen and (min-device-width: 1281px) { /* line 160, ../../../../general/res/sass/mobile/_layout.scss */ .desktop-hide { display: none; } } @@ -5203,7 +5203,7 @@ span.req { margin-left: 50%; white-space: nowrap; } -@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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px) { /* line 5, ../../../../general/res/sass/mobile/search/_search.scss */ .search .search-bar .menu-icon { display: none; } @@ -5362,7 +5362,7 @@ span.req { /* 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) { + @media screen and (min-device-width: 1281px) { /* 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; } @@ -5395,7 +5395,7 @@ span.req { 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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px) { /* line 3, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ .overlay .clk-icon.close { top: 20px; @@ -5413,7 +5413,7 @@ span.req { /* 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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px) { /* line 27, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ .overlay > .holder { -moz-border-radius: 0; @@ -5484,7 +5484,7 @@ span.req { .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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px) { /* line 77, ../../../../general/res/sass/mobile/overlay/_overlay.scss */ .overlay > .holder .contents .bottom-bar { text-align: center; } } @@ -5557,7 +5557,7 @@ ul.tree { margin-left: 5px; 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) { + @media screen and (min-device-width: 1281px) { /* line 56, ../../../../general/res/sass/tree/_tree.scss */ .tree-item .view-control:hover, .search-result-item .view-control:hover { @@ -5688,7 +5688,7 @@ ul.tree { .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) { + @media screen and (min-device-width: 1281px) { /* line 136, ../../../../general/res/sass/tree/_tree.scss */ .tree-item:not(.selected):hover, .search-result-item:not(.selected):hover { @@ -5740,7 +5740,7 @@ ul.tree { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -@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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px) { /* line 27, ../../../../general/res/sass/mobile/_tree.scss */ ul.tree ul.tree { margin-left: 20px; } @@ -5831,7 +5831,7 @@ ul.tree { /* line 65, ../../../../general/res/sass/user-environ/_frame.scss */ .frame.frame-template .view-switcher { z-index: 10; } -@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) { +@media screen and (min-device-width: 1281px) { /* line 71, ../../../../general/res/sass/user-environ/_frame.scss */ .frame.frame-template .view-switcher { opacity: 0; } @@ -6714,7 +6714,7 @@ table { /* 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) { + @media screen and (min-device-width: 1281px) { /* line 302, ../../../../general/res/sass/_mixins.scss */ .items-holder .item.grid-item:not(.disabled):hover { background: #d0d0d0; } @@ -6870,7 +6870,7 @@ table { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -@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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px) { /* line 29, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item { width: 100%; } @@ -6904,7 +6904,7 @@ table { opacity: 1; font-size: 1em; width: auto; } } -@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) { +@media screen and (orientation: portrait) and (max-device-width: 514px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 514px) and (max-device-width: 1280px) { /* line 29, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item { height: 50px; } @@ -6924,7 +6924,7 @@ table { /* 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) { +@media screen and (orientation: portrait) and (max-device-width: 1280px) and (max-device-width: 1280px), screen and (orientation: landscape) and (max-device-width: 1280px) and (max-device-width: 1280px) { /* line 29, ../../../../general/res/sass/mobile/_item.scss */ .items-holder .item.grid-item { height: 66px; } From 32815d8427c5446ff3ceb986f87dc85ee9fed8df Mon Sep 17 00:00:00 2001 From: Charles Hacskaylo Date: Thu, 19 Nov 2015 18:50:10 -0800 Subject: [PATCH 11/15] [Frontend] Markup and CSS fixes open #251 Fixed markup and CSS to remove erroneously applied "select" class; Modified .select to not use overflow: hidden; Better positioning for *-options elements; --- .../general/res/sass/forms/_selects.scss | 1 - .../general/res/sass/plots/_plots-main.scss | 41 +++--- .../espresso/res/css/theme-espresso.css | 117 ++++++++++-------- .../themes/snow/res/css/theme-snow.css | 117 ++++++++++-------- .../features/plot/res/templates/plot.html | 5 +- 5 files changed, 142 insertions(+), 139 deletions(-) diff --git a/platform/commonUI/general/res/sass/forms/_selects.scss b/platform/commonUI/general/res/sass/forms/_selects.scss index 027678369c..019d41ab18 100644 --- a/platform/commonUI/general/res/sass/forms/_selects.scss +++ b/platform/commonUI/general/res/sass/forms/_selects.scss @@ -25,7 +25,6 @@ margin: 0 0 2px 0; // Needed to avoid dropshadow from being clipped by parent containers } padding: 0 $interiorMargin; - overflow: hidden; position: relative; line-height: $formInputH; select { diff --git a/platform/commonUI/general/res/sass/plots/_plots-main.scss b/platform/commonUI/general/res/sass/plots/_plots-main.scss index c1ce9fa920..96a11b45d5 100644 --- a/platform/commonUI/general/res/sass/plots/_plots-main.scss +++ b/platform/commonUI/general/res/sass/plots/_plots-main.scss @@ -20,11 +20,9 @@ * at runtime from the About dialog for additional information. *****************************************************************************/ $yBarW: 60px; -$yLabelW: auto; +$yLabelW: 10px; $xBarH: 32px; $legendH: 20px; -//$colorHash: rgba(white, 0.3); // MOVED INTO CONSTANTS -//$styleHash: dashed; // MOVED INTO CONSTANTS $swatchD: 8px; $plotDisplayArea: ($legendH + $interiorMargin, 0, $xBarH + $interiorMargin, $yBarW); // Top, right, bottom, left @@ -36,7 +34,6 @@ $plotDisplayArea: ($legendH + $interiorMargin, 0, $xBarH + $interiorMargin, $yBa height: 100%; .gl-plot-axis-area { - // @include test(green); position: absolute; &.gl-plot-x { top: auto; @@ -59,7 +56,7 @@ $plotDisplayArea: ($legendH + $interiorMargin, 0, $xBarH + $interiorMargin, $yBa .gl-plot-coords { @include box-sizing(border-box); @include border-radius($controlCr); - background: black; //rgba($colorKey, 0.5); + background: black; color: lighten($colorBodyFg, 30%); padding: 2px 5px; position: absolute; @@ -88,11 +85,9 @@ $plotDisplayArea: ($legendH + $interiorMargin, 0, $xBarH + $interiorMargin, $yBa .gl-plot-label, .l-plot-label { - // @include test(yellow); color: $colorPlotLabelFg; position: absolute; text-align: center; -// text-transform: uppercase; &.gl-plot-x-label, &.l-plot-x-label { @@ -117,20 +112,26 @@ $plotDisplayArea: ($legendH + $interiorMargin, 0, $xBarH + $interiorMargin, $yBa } } - .gl-plot-y-options { + .gl-plot-x-options, + .gl-plot-y-options { $h: 32px; -// @include test(); position: absolute; - top: 50%; - right: auto; - bottom: auto; - left: $yLabelW + $interiorMargin; - margin-top: $h / -2; height: auto; min-height: $h; - width: $h; + z-index: 2; } + .gl-plot-x-options { + top: $interiorMargin; + } + + .gl-plot-y-options { + @include transform(translateY(-50%)); + min-width: 150px; // Need this due to enclosure of .select + top: 50%; + left: $yLabelW + $interiorMargin * 2; + } + .gl-plot-hash { position: absolute; border: 0 $colorPlotHash $stylePlotHash; @@ -214,21 +215,13 @@ $plotDisplayArea: ($legendH + $interiorMargin, 0, $xBarH + $interiorMargin, $yBa display: inline-block; height: $swatchD; width: $swatchD; - //margin-right: $interiorMarginSm; - } - &[class*='s-limit'] { - .title-label { - //color: #fff; - } } } } .gl-plot-legend { .plot-legend-item { - //@include test(); @include border-radius($smallCr); - //color: #fff; line-height: 1.5em; padding: 0px $itemPadLR; .plot-color-swatch { @@ -250,7 +243,6 @@ $plotDisplayArea: ($legendH + $interiorMargin, 0, $xBarH + $interiorMargin, $yBa .gl-plot-tick, .tick-label { - // @include test(red); font-size: 0.7rem; position: absolute; overflow: hidden; @@ -277,7 +269,6 @@ $plotDisplayArea: ($legendH + $interiorMargin, 0, $xBarH + $interiorMargin, $yBa } .gl-plot-tick { - // @include test(red); &.gl-plot-x-tick-label { top: $interiorMargin; } diff --git a/platform/commonUI/themes/espresso/res/css/theme-espresso.css b/platform/commonUI/themes/espresso/res/css/theme-espresso.css index 41f35389eb..7854df16bd 100644 --- a/platform/commonUI/themes/espresso/res/css/theme-espresso.css +++ b/platform/commonUI/themes/espresso/res/css/theme-espresso.css @@ -20,7 +20,7 @@ * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* line 5, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 5, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, @@ -41,38 +41,38 @@ time, mark, audio, video { font-size: 100%; vertical-align: baseline; } -/* line 22, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 22, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ html { line-height: 1; } -/* line 24, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 24, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ ol, ul { list-style: none; } -/* line 26, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 26, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ table { border-collapse: collapse; border-spacing: 0; } -/* line 28, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 28, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; } -/* line 30, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 30, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ q, blockquote { quotes: none; } - /* line 103, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ + /* line 103, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; } -/* line 32, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 32, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ a img { border: none; } -/* line 116, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 116, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } @@ -3961,7 +3961,6 @@ textarea { text-shadow: rgba(0, 0, 0, 0.1) 0 1px 2px; margin: 0 0 2px 0; padding: 0 5px; - overflow: hidden; position: relative; line-height: 22px; } /* line 297, ../../../../general/res/sass/_mixins.scss */ @@ -3974,7 +3973,7 @@ textarea { /* 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 */ + /* line 30, ../../../../general/res/sass/forms/_selects.scss */ .select select { -moz-appearance: none; -webkit-appearance: none; @@ -3987,10 +3986,10 @@ textarea { border: none !important; padding: 4px 25px 2px 0px; width: 120%; } - /* line 40, ../../../../general/res/sass/forms/_selects.scss */ + /* line 39, ../../../../general/res/sass/forms/_selects.scss */ .select select option { margin: 5px 0; } - /* line 44, ../../../../general/res/sass/forms/_selects.scss */ + /* line 43, ../../../../general/res/sass/forms/_selects.scss */ .select:after { text-shadow: none; content: '\76'; @@ -6431,7 +6430,7 @@ table { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* line 31, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 29, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot { color: #999; font-size: 0.7rem; @@ -6439,10 +6438,10 @@ table { width: 100%; height: 100%; /****************************** Limits and Out-of-Bounds data */ } - /* line 38, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 36, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-axis-area { position: absolute; } - /* line 41, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 38, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-axis-area.gl-plot-x { top: auto; right: 0; @@ -6451,14 +6450,14 @@ table { height: 32px; width: auto; overflow: hidden; } - /* line 50, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 47, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-axis-area.gl-plot-y { top: 25px; right: auto; bottom: 37px; left: 0; width: 60px; } - /* line 59, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 56, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-coords { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; @@ -6475,10 +6474,10 @@ table { bottom: auto; left: 70px; z-index: 10; } - /* line 71, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 68, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-coords:empty { display: none; } - /* line 76, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 73, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-display-area { background-color: rgba(0, 0, 0, 0.1); position: absolute; @@ -6488,13 +6487,13 @@ table { left: 60px; cursor: crosshair; border: 1px solid rgba(153, 153, 153, 0.1); } - /* line 89, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 86, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-label, .gl-plot .l-plot-label { color: #666666; position: absolute; text-align: center; } - /* line 97, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 92, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-label.gl-plot-x-label, .gl-plot .gl-plot-label.l-plot-x-label, .gl-plot .l-plot-label.gl-plot-x-label, .gl-plot .l-plot-label.l-plot-x-label { @@ -6503,7 +6502,7 @@ table { bottom: 0; left: 0; height: auto; } - /* line 106, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 101, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-label.gl-plot-y-label, .gl-plot .gl-plot-label.l-plot-y-label, .gl-plot .l-plot-label.gl-plot-y-label, .gl-plot .l-plot-label.l-plot-y-label { @@ -6520,30 +6519,38 @@ table { left: 0; top: 50%; white-space: nowrap; } - /* line 120, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 115, ../../../../general/res/sass/plots/_plots-main.scss */ + .gl-plot .gl-plot-x-options, .gl-plot .gl-plot-y-options { position: absolute; - top: 50%; - right: auto; - bottom: auto; - left: auto5px; - margin-top: -16px; height: auto; min-height: 32px; - width: 32px; } - /* line 134, ../../../../general/res/sass/plots/_plots-main.scss */ + z-index: 2; } + /* line 124, ../../../../general/res/sass/plots/_plots-main.scss */ + .gl-plot .gl-plot-x-options { + top: 5px; } + /* line 128, ../../../../general/res/sass/plots/_plots-main.scss */ + .gl-plot .gl-plot-y-options { + -moz-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + min-width: 150px; + top: 50%; + left: 20px; } + /* line 135, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-hash { position: absolute; border: 0 rgba(255, 255, 255, 0.2) dashed; } - /* line 137, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 138, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-hash.hash-v { border-right-width: 1px; height: 100%; } - /* line 141, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 142, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-hash.hash-h { border-bottom-width: 1px; width: 100%; } - /* line 147, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 148, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-legend { position: absolute; top: 0; @@ -6553,24 +6560,24 @@ table { height: 20px; overflow-x: hidden; overflow-y: auto; } - /* line 160, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 161, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .l-limit-bar, .gl-plot .l-oob-data { position: absolute; left: 0; right: 0; width: auto; } - /* line 168, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 169, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .l-limit-bar { height: auto; z-index: 0; } - /* line 176, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 177, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .l-limit-bar.s-limit-yellow { background: rgba(255, 170, 0, 0.2); } - /* line 177, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 178, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .l-limit-bar.s-limit-red { background: rgba(255, 0, 0, 0.2); } - /* line 180, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 181, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .l-oob-data { overflow: hidden; position: absolute; @@ -6583,7 +6590,7 @@ table { pointer-events: none; height: 10px; z-index: 1; } - /* line 188, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 189, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .l-oob-data.l-oob-data-up { top: 0; bottom: auto; @@ -6592,7 +6599,7 @@ table { background-image: -moz-linear-gradient(90deg, rgba(119, 72, 214, 0), rgba(119, 72, 214, 0.5) 100%); background-image: -webkit-linear-gradient(90deg, rgba(119, 72, 214, 0), rgba(119, 72, 214, 0.5) 100%); background-image: linear-gradient(0deg, rgba(119, 72, 214, 0), rgba(119, 72, 214, 0.5) 100%); } - /* line 193, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 194, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .l-oob-data.l-oob-data-dwn { bottom: 0; top: auto; @@ -6602,7 +6609,7 @@ table { background-image: -webkit-linear-gradient(270deg, rgba(119, 72, 214, 0), rgba(119, 72, 214, 0.5) 100%); background-image: linear-gradient(180deg, rgba(119, 72, 214, 0), rgba(119, 72, 214, 0.5) 100%); } -/* line 203, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 204, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-legend .plot-legend-item, .gl-plot-legend .legend-item, .legend .plot-legend-item, @@ -6610,13 +6617,13 @@ table { display: inline-block; margin-right: 10px; margin-bottom: 3px; } - /* line 208, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 209, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-legend .plot-legend-item span, .gl-plot-legend .legend-item span, .legend .plot-legend-item span, .legend .legend-item span { vertical-align: middle; } - /* line 211, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 212, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-legend .plot-legend-item .plot-color-swatch, .gl-plot-legend .plot-legend-item .color-swatch, .gl-plot-legend .legend-item .plot-color-swatch, @@ -6632,29 +6639,29 @@ table { height: 8px; width: 8px; } -/* line 228, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 223, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-legend .plot-legend-item { -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; line-height: 1.5em; padding: 0px 5px; } - /* line 234, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 227, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-legend .plot-legend-item .plot-color-swatch { border: 1px solid #333; height: 9px; width: 9px; } -/* line 242, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 235, ../../../../general/res/sass/plots/_plots-main.scss */ .tick { position: absolute; border: 0 rgba(255, 255, 255, 0.2) solid; } - /* line 245, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 238, ../../../../general/res/sass/plots/_plots-main.scss */ .tick.tick-x { border-right-width: 1px; height: 100%; } -/* line 251, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 244, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-tick, .tick-label { font-size: 0.7rem; @@ -6662,7 +6669,7 @@ table { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } - /* line 259, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 251, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-tick.gl-plot-x-tick-label, .gl-plot-tick.tick-label-x, .tick-label.gl-plot-x-tick-label, .tick-label.tick-label-x { @@ -6673,7 +6680,7 @@ table { width: 20%; margin-left: -10%; text-align: center; } - /* line 269, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 261, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-tick.gl-plot-y-tick-label, .gl-plot-tick.tick-label-y, .tick-label.gl-plot-y-tick-label, .tick-label.tick-label-y { @@ -6683,18 +6690,18 @@ table { margin-bottom: -0.5em; text-align: right; } -/* line 281, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 272, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-tick.gl-plot-x-tick-label { top: 5px; } -/* line 284, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 275, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-tick.gl-plot-y-tick-label { right: 5px; left: 5px; } -/* line 291, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 282, ../../../../general/res/sass/plots/_plots-main.scss */ .tick-label.tick-label-x { top: 0; } -/* line 294, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 285, ../../../../general/res/sass/plots/_plots-main.scss */ .tick-label.tick-label-y { right: 0; left: 0; } diff --git a/platform/commonUI/themes/snow/res/css/theme-snow.css b/platform/commonUI/themes/snow/res/css/theme-snow.css index 474997dd53..4c5c7171b9 100644 --- a/platform/commonUI/themes/snow/res/css/theme-snow.css +++ b/platform/commonUI/themes/snow/res/css/theme-snow.css @@ -20,7 +20,7 @@ * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* line 5, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 5, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, @@ -41,38 +41,38 @@ time, mark, audio, video { font-size: 100%; vertical-align: baseline; } -/* line 22, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 22, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ html { line-height: 1; } -/* line 24, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 24, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ ol, ul { list-style: none; } -/* line 26, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 26, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ table { border-collapse: collapse; border-spacing: 0; } -/* line 28, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 28, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; } -/* line 30, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 30, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ q, blockquote { quotes: none; } - /* line 103, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ + /* line 103, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; } -/* line 32, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 32, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ a img { border: none; } -/* line 116, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ +/* line 116, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } @@ -3890,13 +3890,12 @@ textarea { transition: background, 0.25s; text-shadow: none; padding: 0 5px; - overflow: hidden; position: relative; line-height: 22px; } /* line 297, ../../../../general/res/sass/_mixins.scss */ .select .icon, .select .t-item-icon { color: #eee; } - /* line 31, ../../../../general/res/sass/forms/_selects.scss */ + /* line 30, ../../../../general/res/sass/forms/_selects.scss */ .select select { -moz-appearance: none; -webkit-appearance: none; @@ -3909,10 +3908,10 @@ textarea { border: none !important; padding: 4px 25px 2px 0px; width: 120%; } - /* line 40, ../../../../general/res/sass/forms/_selects.scss */ + /* line 39, ../../../../general/res/sass/forms/_selects.scss */ .select select option { margin: 5px 0; } - /* line 44, ../../../../general/res/sass/forms/_selects.scss */ + /* line 43, ../../../../general/res/sass/forms/_selects.scss */ .select:after { text-shadow: none; content: '\76'; @@ -6333,7 +6332,7 @@ table { * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ -/* line 31, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 29, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot { color: #666; font-size: 0.7rem; @@ -6341,10 +6340,10 @@ table { width: 100%; height: 100%; /****************************** Limits and Out-of-Bounds data */ } - /* line 38, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 36, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-axis-area { position: absolute; } - /* line 41, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 38, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-axis-area.gl-plot-x { top: auto; right: 0; @@ -6353,14 +6352,14 @@ table { height: 32px; width: auto; overflow: hidden; } - /* line 50, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 47, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-axis-area.gl-plot-y { top: 25px; right: auto; bottom: 37px; left: 0; width: 60px; } - /* line 59, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 56, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-coords { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; @@ -6377,10 +6376,10 @@ table { bottom: auto; left: 70px; z-index: 10; } - /* line 71, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 68, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-coords:empty { display: none; } - /* line 76, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 73, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-display-area { background-color: rgba(0, 0, 0, 0.05); position: absolute; @@ -6390,13 +6389,13 @@ table { left: 60px; cursor: crosshair; border: 1px solid rgba(102, 102, 102, 0.2); } - /* line 89, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 86, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-label, .gl-plot .l-plot-label { color: #999999; position: absolute; text-align: center; } - /* line 97, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 92, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-label.gl-plot-x-label, .gl-plot .gl-plot-label.l-plot-x-label, .gl-plot .l-plot-label.gl-plot-x-label, .gl-plot .l-plot-label.l-plot-x-label { @@ -6405,7 +6404,7 @@ table { bottom: 0; left: 0; height: auto; } - /* line 106, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 101, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-label.gl-plot-y-label, .gl-plot .gl-plot-label.l-plot-y-label, .gl-plot .l-plot-label.gl-plot-y-label, .gl-plot .l-plot-label.l-plot-y-label { @@ -6422,30 +6421,38 @@ table { left: 0; top: 50%; white-space: nowrap; } - /* line 120, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 115, ../../../../general/res/sass/plots/_plots-main.scss */ + .gl-plot .gl-plot-x-options, .gl-plot .gl-plot-y-options { position: absolute; - top: 50%; - right: auto; - bottom: auto; - left: auto5px; - margin-top: -16px; height: auto; min-height: 32px; - width: 32px; } - /* line 134, ../../../../general/res/sass/plots/_plots-main.scss */ + z-index: 2; } + /* line 124, ../../../../general/res/sass/plots/_plots-main.scss */ + .gl-plot .gl-plot-x-options { + top: 5px; } + /* line 128, ../../../../general/res/sass/plots/_plots-main.scss */ + .gl-plot .gl-plot-y-options { + -moz-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + min-width: 150px; + top: 50%; + left: 20px; } + /* line 135, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-hash { position: absolute; border: 0 rgba(0, 0, 0, 0.2) dashed; } - /* line 137, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 138, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-hash.hash-v { border-right-width: 1px; height: 100%; } - /* line 141, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 142, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-hash.hash-h { border-bottom-width: 1px; width: 100%; } - /* line 147, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 148, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .gl-plot-legend { position: absolute; top: 0; @@ -6455,24 +6462,24 @@ table { height: 20px; overflow-x: hidden; overflow-y: auto; } - /* line 160, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 161, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .l-limit-bar, .gl-plot .l-oob-data { position: absolute; left: 0; right: 0; width: auto; } - /* line 168, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 169, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .l-limit-bar { height: auto; z-index: 0; } - /* line 176, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 177, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .l-limit-bar.s-limit-yellow { background: rgba(255, 170, 0, 0.2); } - /* line 177, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 178, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .l-limit-bar.s-limit-red { background: rgba(255, 0, 0, 0.2); } - /* line 180, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 181, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .l-oob-data { overflow: hidden; position: absolute; @@ -6485,7 +6492,7 @@ table { pointer-events: none; height: 10px; z-index: 1; } - /* line 188, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 189, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .l-oob-data.l-oob-data-up { top: 0; bottom: auto; @@ -6494,7 +6501,7 @@ table { background-image: -moz-linear-gradient(90deg, rgba(119, 72, 214, 0), rgba(119, 72, 214, 0.5) 100%); background-image: -webkit-linear-gradient(90deg, rgba(119, 72, 214, 0), rgba(119, 72, 214, 0.5) 100%); background-image: linear-gradient(0deg, rgba(119, 72, 214, 0), rgba(119, 72, 214, 0.5) 100%); } - /* line 193, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 194, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot .l-oob-data.l-oob-data-dwn { bottom: 0; top: auto; @@ -6504,7 +6511,7 @@ table { background-image: -webkit-linear-gradient(270deg, rgba(119, 72, 214, 0), rgba(119, 72, 214, 0.5) 100%); background-image: linear-gradient(180deg, rgba(119, 72, 214, 0), rgba(119, 72, 214, 0.5) 100%); } -/* line 203, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 204, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-legend .plot-legend-item, .gl-plot-legend .legend-item, .legend .plot-legend-item, @@ -6512,13 +6519,13 @@ table { display: inline-block; margin-right: 10px; margin-bottom: 3px; } - /* line 208, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 209, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-legend .plot-legend-item span, .gl-plot-legend .legend-item span, .legend .plot-legend-item span, .legend .legend-item span { vertical-align: middle; } - /* line 211, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 212, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-legend .plot-legend-item .plot-color-swatch, .gl-plot-legend .plot-legend-item .color-swatch, .gl-plot-legend .legend-item .plot-color-swatch, @@ -6534,29 +6541,29 @@ table { height: 8px; width: 8px; } -/* line 228, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 223, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-legend .plot-legend-item { -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; line-height: 1.5em; padding: 0px 5px; } - /* line 234, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 227, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-legend .plot-legend-item .plot-color-swatch { border: 1px solid #fcfcfc; height: 9px; width: 9px; } -/* line 242, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 235, ../../../../general/res/sass/plots/_plots-main.scss */ .tick { position: absolute; border: 0 rgba(0, 0, 0, 0.2) solid; } - /* line 245, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 238, ../../../../general/res/sass/plots/_plots-main.scss */ .tick.tick-x { border-right-width: 1px; height: 100%; } -/* line 251, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 244, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-tick, .tick-label { font-size: 0.7rem; @@ -6564,7 +6571,7 @@ table { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } - /* line 259, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 251, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-tick.gl-plot-x-tick-label, .gl-plot-tick.tick-label-x, .tick-label.gl-plot-x-tick-label, .tick-label.tick-label-x { @@ -6575,7 +6582,7 @@ table { width: 20%; margin-left: -10%; text-align: center; } - /* line 269, ../../../../general/res/sass/plots/_plots-main.scss */ + /* line 261, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-tick.gl-plot-y-tick-label, .gl-plot-tick.tick-label-y, .tick-label.gl-plot-y-tick-label, .tick-label.tick-label-y { @@ -6585,18 +6592,18 @@ table { margin-bottom: -0.5em; text-align: right; } -/* line 281, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 272, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-tick.gl-plot-x-tick-label { top: 5px; } -/* line 284, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 275, ../../../../general/res/sass/plots/_plots-main.scss */ .gl-plot-tick.gl-plot-y-tick-label { right: 5px; left: 5px; } -/* line 291, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 282, ../../../../general/res/sass/plots/_plots-main.scss */ .tick-label.tick-label-x { top: 0; } -/* line 294, ../../../../general/res/sass/plots/_plots-main.scss */ +/* line 285, ../../../../general/res/sass/plots/_plots-main.scss */ .tick-label.tick-label-y { right: 0; left: 0; } diff --git a/platform/features/plot/res/templates/plot.html b/platform/features/plot/res/templates/plot.html index 0a17de15cf..4ad14c7f5b 100644 --- a/platform/features/plot/res/templates/plot.html +++ b/platform/features/plot/res/templates/plot.html @@ -62,7 +62,7 @@ ng-show="representation.showControls" ng-if="axes[1].options.length > 0">
- @@ -160,12 +160,11 @@ {{axes[0].active.name}}
-
- From 400b992ec36b4572175b160549ea31d6771f96ac Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Fri, 20 Nov 2015 09:46:08 -0800 Subject: [PATCH 12/15] [Status] Revise API Change method names, add a getter to status capability; per code review feedback, nasa/openmctweb#319. --- platform/status/src/StatusCapability.js | 15 ++++++++++++--- platform/status/src/StatusRepresenter.js | 2 +- platform/status/src/StatusService.js | 2 +- platform/status/test/StatusCapabilitySpec.js | 11 ++++++++--- platform/status/test/StatusRepresenterSpec.js | 4 ++-- platform/status/test/StatusServiceSpec.js | 6 +++--- 6 files changed, 27 insertions(+), 13 deletions(-) diff --git a/platform/status/src/StatusCapability.js b/platform/status/src/StatusCapability.js index 2751c198a9..6b0221d188 100644 --- a/platform/status/src/StatusCapability.js +++ b/platform/status/src/StatusCapability.js @@ -49,11 +49,20 @@ define( } /** - * Get all status flags currently set for this domain object. + * List all status flags currently set for this domain object. * @returns {string[]} all current status flags. */ - StatusCapability.prototype.get = function () { - return this.statusService.getStatus(this.domainObject.getId()); + StatusCapability.prototype.list = function () { + return this.statusService.listStatuses(this.domainObject.getId()); + }; + + /** + * Check if a status flag is currently set for this domain object. + * @param {string} status the status to get + * @returns {boolean} true if the flag is present, otherwise false + */ + StatusCapability.prototype.get = function (status) { + return this.list().indexOf(status) !== -1; }; /** diff --git a/platform/status/src/StatusRepresenter.js b/platform/status/src/StatusRepresenter.js index 0808688c02..550fec3e6d 100644 --- a/platform/status/src/StatusRepresenter.js +++ b/platform/status/src/StatusRepresenter.js @@ -77,7 +77,7 @@ define( self.lastClasses = newClasses; } - updateStatus(statusCapability.get()); + updateStatus(statusCapability.list()); this.unlisten = statusCapability.listen(updateStatus); }; diff --git a/platform/status/src/StatusService.js b/platform/status/src/StatusService.js index 6fff6f49d8..d75e935429 100644 --- a/platform/status/src/StatusService.js +++ b/platform/status/src/StatusService.js @@ -51,7 +51,7 @@ define( * @returns {string[]} an array containing all status flags currently * applicable to the object with this identifier */ - StatusService.prototype.getStatus = function (id) { + StatusService.prototype.listStatuses = function (id) { return this.statusTable[id] || []; }; diff --git a/platform/status/test/StatusCapabilitySpec.js b/platform/status/test/StatusCapabilitySpec.js index 481abf6a53..1bd3326c4e 100644 --- a/platform/status/test/StatusCapabilitySpec.js +++ b/platform/status/test/StatusCapabilitySpec.js @@ -40,7 +40,7 @@ define( mockStatusService = jasmine.createSpyObj( 'statusService', - [ 'listen', 'setStatus', 'getStatus' ] + [ 'listen', 'setStatus', 'listStatuses' ] ); mockDomainObject = jasmine.createSpyObj( 'domainObject', @@ -49,7 +49,7 @@ define( mockUnlisten = jasmine.createSpy('unlisten'); mockStatusService.listen.andReturn(mockUnlisten); - mockStatusService.getStatus.andReturn(testStatusFlags); + mockStatusService.listStatuses.andReturn(testStatusFlags); mockDomainObject.getId.andReturn(testId); capability = new StatusCapability( @@ -69,7 +69,7 @@ define( }); it("gets status from the statusService", function () { - expect(capability.get()).toBe(testStatusFlags); + expect(capability.list()).toBe(testStatusFlags); }); it("listens to changes from the statusService", function () { @@ -79,6 +79,11 @@ define( expect(mockStatusService.listen) .toHaveBeenCalledWith(testId, mockCallback); }); + + it("allows statuses to be checked individually", function () { + expect(capability.get('some-unset-status')).toBe(false); + expect(capability.get(testStatusFlags[0])).toBe(true); + }); }); } ); diff --git a/platform/status/test/StatusRepresenterSpec.js b/platform/status/test/StatusRepresenterSpec.js index e9191587a7..1d305ea983 100644 --- a/platform/status/test/StatusRepresenterSpec.js +++ b/platform/status/test/StatusRepresenterSpec.js @@ -66,7 +66,7 @@ define( ); mockStatusCapability = jasmine.createSpyObj( 'status', - [ 'get', 'set', 'listen' ] + [ 'list', 'get', 'set', 'listen' ] ); mockUnlisten = jasmine.createSpy(); @@ -79,7 +79,7 @@ define( delete elementClasses[c]; }); - mockStatusCapability.get.andReturn(testStatusFlags); + mockStatusCapability.list.andReturn(testStatusFlags); mockStatusCapability.listen.andReturn(mockUnlisten); mockDomainObject.getCapability.andCallFake(function (c) { diff --git a/platform/status/test/StatusServiceSpec.js b/platform/status/test/StatusServiceSpec.js index 1f85cd70a1..c064af6bc8 100644 --- a/platform/status/test/StatusServiceSpec.js +++ b/platform/status/test/StatusServiceSpec.js @@ -54,14 +54,14 @@ define( }); it("initially contains no flags for an object", function () { - expect(statusService.getStatus(testId)).toEqual([]); + expect(statusService.listStatuses(testId)).toEqual([]); }); it("stores and clears status flags", function () { statusService.setStatus(testId, testStatus, true); - expect(statusService.getStatus(testId)).toEqual([testStatus]); + expect(statusService.listStatuses(testId)).toEqual([testStatus]); statusService.setStatus(testId, testStatus, false); - expect(statusService.getStatus(testId)).toEqual([]); + expect(statusService.listStatuses(testId)).toEqual([]); }); it("uses topic to listen for changes", function () { From 49b3d672728584374c20fc84b7dd6941f5c21ef5 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Fri, 20 Nov 2015 11:05:25 -0800 Subject: [PATCH 13/15] [Mobile] Deploy via CircleCI ...to enable testing of changes for nasa/openmctweb#169. --- circle.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 2b86cc7b71..d728a63bea 100644 --- a/circle.yml +++ b/circle.yml @@ -9,6 +9,7 @@ deployment: heroku: appname: openmctweb-staging-un openmctweb-staging-deux: - branch: mobile + branch: open169 heroku: appname: openmctweb-staging-deux + From 38274728f6a4c2796b7c2384a8da1e041c76edf4 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Fri, 20 Nov 2015 11:10:33 -0800 Subject: [PATCH 14/15] [Workers] Update JSDoc ...per review feedback, nasa/openmctweb#309 --- platform/execution/src/WorkerService.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platform/execution/src/WorkerService.js b/platform/execution/src/WorkerService.js index 1e143301da..e4c2ec6a66 100644 --- a/platform/execution/src/WorkerService.js +++ b/platform/execution/src/WorkerService.js @@ -65,8 +65,12 @@ define( * that has been registered under the `workers` category * of extension. * + * This will return either a Worker or a SharedWorker, + * depending on whether a `shared` flag has been specified + * on the the extension definition for the referenced worker. + * * @param {string} key symbolic identifier for the worker - * @returns {Worker} the running Worker + * @returns {Worker | SharedWorker} the running Worker */ WorkerService.prototype.run = function (key) { var scriptUrl = this.workerUrls[key], From 2e959e8503f709224da183f9d4875648310158b2 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Fri, 20 Nov 2015 17:09:37 -0800 Subject: [PATCH 15/15] Revert "[Mobile] Deploy via CircleCI" This reverts commit 49b3d672728584374c20fc84b7dd6941f5c21ef5. --- circle.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/circle.yml b/circle.yml index d728a63bea..2b86cc7b71 100644 --- a/circle.yml +++ b/circle.yml @@ -9,7 +9,6 @@ deployment: heroku: appname: openmctweb-staging-un openmctweb-staging-deux: - branch: open169 + branch: mobile heroku: appname: openmctweb-staging-deux -