Compare commits

..

2 Commits

Author SHA1 Message Date
Charles Hacskaylo
5ec95b1dd1 [Frontend] Refactor to allow left pane to dynamically layout
open #157
IN-PROGRESS, DOESN'T WORK YET;
Changed browse.html to normalize mct-representation;
Changed to use flex column layout;
Solution pending email to team "Angular's markup cruft";
2015-10-16 18:43:06 -07:00
Victor Woeltjen
f198c281bc [Mobile] Suppress Create button on mobile
nasa/openmctweb#157
2015-09-28 15:57:55 -07:00
25 changed files with 304 additions and 886 deletions

View File

@@ -1,22 +0,0 @@
{
"extensions": {
"routes": [
{
"when": "/cli",
"templateUrl": "templates/cli.html"
}
],
"controllers": [
{
"key": "CLIController",
"implementation": "CLIController.js",
"depends": [ "$scope", "navigationService", "objectService" ]
}
],
"stylesheets": [
{
"stylesheetUrl": "stylesheets/cli.css"
}
]
}
}

View File

@@ -1,47 +0,0 @@
.iw-container {
position: absolute;
bottom: 30px;
left: 0;
top: 0;
right: 0;
}
.iw-stdin {
position: absolute;
bottom: 0;
left: 0;
height: 30px;
width: calc(100% - 8px);
margin: 4px;
font-family: monospace;
font-size: 16px;
}
.iw-stdout {
position: absolute;
left: 6px;
right: 6px;
top: 12px;
bottom: 44px;
border: 1px #211 solid;
border-radius: 12px;
padding: 8px;
background: #302;
overflow: auto;
box-shadow: inset 0px 2px 8px 0px rgba(0, 0, 0, 0.5);
}
.iw-stdout span {
display: block;
font-family: monospace;
color: #FD9;
font-size: 16px;
margin-top: 2px;
margin-bottom: 2px;
min-height: 1em;
white-space: pre;
}
.iw-stdout span.iw-user-input {
color: gray;
}

View File

@@ -1,15 +0,0 @@
<div class="abs holder-all browse-mode" ng-controller="CLIController">
<div class="iw-container">
<div class="iw-stdout" mct-scroll-y="stdoutScroll">
<span ng-repeat="line in stdout track by $index"
class="{{line.cssClass}}"
ng-bind="line.text">
</span>
</div>
<form ng-submit="enter(stdin)">
<input type="text" class="iw-stdin" ng-model="stdin" autofocus>
</form>
</div>
<mct-include key="'bottombar'"></mct-include>
</div>

View File

@@ -1,177 +0,0 @@
/*****************************************************************************
* 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';
return function CLIController($scope, navigationService, objectService) {
var unlistenToMutation,
currentComposition = [];
function print(str, cssClass) {
$scope.stdout.push({
text: str,
cssClass: cssClass
});
$scope.stdoutScroll = Number.MAX_VALUE;
}
function pad(str, length) {
while (str.length < length) {
str += " ";
}
return str;
}
function summarize(domainObject) {
var type = domainObject.getCapability("type"),
typeName = type ? type.getName() : "Object",
location = domainObject.getCapability('location'),
isLink = (location && location.isLink()),
suffix = isLink ? " (link)" : "";
return "[" + typeName + "] " + domainObject.getModel().name + suffix;
}
function printComposition(domainObject) {
return domainObject.useCapability("composition").then(function (c) {
currentComposition = c;
c.forEach(function (childObject, i) {
print(i + ") " + summarize(childObject));
});
});
}
function printObject(domainObject, callback) {
// Exclude the root object; nobody wants to see that
if (domainObject.hasCapability("context")) {
print(summarize(domainObject));
}
if (domainObject.hasCapability('composition')) {
printComposition(domainObject).then(callback);
} else {
callback();
}
}
function unlisten() {
if (unlistenToMutation) {
unlistenToMutation();
unlistenToMutation = undefined;
}
}
function navChange(domainObject) {
unlisten();
unlistenToMutation = domainObject.getCapability("mutation")
.listen(function () { printObject(domainObject); });
printObject(domainObject);
}
function findTarget(id) {
if (id === "this") {
return navigationService.getNavigation();
} else {
return currentComposition[parseInt(id, 10)];
}
}
function listActions(domainObject, index) {
// Don't show actions for the root
if (!domainObject.hasCapability('context')) {
return;
}
domainObject.getCapability('action').getActions().forEach(function (a) {
var metadata = a.getMetadata(),
desc = metadata.description,
suffix = index !== undefined ? (" " + index) : "";
print(pad(metadata.key + suffix, 32) + (desc || ""));
});
}
function performAction(domainObject, action) {
domainObject.getCapability('action').perform(action);
}
function handleInput(input) {
var parts = input.split(" "),
targetObject;
if (input.length === 0) {
targetObject = navigationService.getNavigation();
if (targetObject) {
printObject(targetObject, function () {
print("");
listActions(targetObject);
});
}
return;
} else if (parts.length === 1) {
if (isNaN(parseInt(parts[0], 10))) {
targetObject = navigationService.getNavigation();
performAction(targetObject, parts[0]);
return;
}
targetObject = findTarget(parts[0]);
if (targetObject) {
listActions(targetObject, parts[0]);
return;
}
} else if (parts.length === 2) {
targetObject = findTarget(parts[1]);
if (targetObject) {
performAction(targetObject, parts[0]);
return;
}
}
// Any parse-able input should have returned already.
print("SYNTAX ERROR. READY.");
}
if (!navigationService.getNavigation()) {
objectService.getObjects(["ROOT"]).then(function (objects) {
navigationService.setNavigation(objects.ROOT);
});
}
navigationService.addListener(navChange);
$scope.stdout = [];
$scope.stdin = "";
$scope.stdoutScroll = 0;
$scope.enter = function (input) {
$scope.stdin = "";
print("");
print(input, "iw-user-input");
print("");
handleInput(input);
};
$scope.$on("$destroy", function () {
navigationService.removeListener(navChange);
unlisten();
});
};
});

View File

@@ -105,15 +105,9 @@
"actions": [
{
"key": "navigate",
"description": "Browse to this object.",
"implementation": "navigation/NavigateAction.js",
"depends": [ "navigationService", "$q" ]
},
{
"key": "back",
"implementation": "navigation/BackAction.js",
"description": "Navigate to the parent of this object."
},
{
"key": "window",
"name": "Open In New Tab",

View File

@@ -24,7 +24,7 @@
<a
class='type-icon icon ui-symbol s-back'
ng-show="context.getPath().length > 2"
ng-click="domainObject.getCapability('action').perform('back')">
ng-click="context.getParent().getCapability('action').perform('navigate')">
{
</a>

View File

@@ -27,25 +27,23 @@
ng-class="tree.visible() ? 'browse-showtree' : 'browse-hidetree'">
<mct-split-pane class='contents abs' anchor='left'>
<div class='split-pane-component treeview pane left'>
<div class="holder abs l-mobile">
<mct-representation key="'create-button'" mct-object="navigatedObject">
</mct-representation>
<div class='holder search-holder abs'
ng-class="{active: treeModel.search}">
<mct-representation key="'search'"
mct-object="domainObject"
ng-model="treeModel">
</mct-representation>
</div>
<div class='tree-holder abs mobile-tree-holder'
ng-hide="treeModel.search">
<mct-representation key="'tree'"
mct-object="domainObject"
parameters="tree"
ng-model="treeModel">
</mct-representation>
</div>
</div>
<mct-representation key="'create-button'"
mct-object="navigatedObject"
class="holder create-btn-holder">
</mct-representation>
<mct-representation key="'search'"
mct-object="domainObject"
ng-model="treeModel"
class='holder search-holder'
ng-class="{active: treeModel.search}">
</mct-representation>
<mct-representation key="'tree'"
mct-object="domainObject"
parameters="tree"
ng-model="treeModel"
class="holder tree-holder"
ng-hide="treeModel.search">
</mct-representation>
</div>
<mct-splitter class="mobile-hide"></mct-splitter>

View File

@@ -53,12 +53,11 @@ define(
*/
function CreateAction(type, parent, context, dialogService, creationService, policyService) {
this.metadata = {
key: 'create.' + type.getKey(),
key: 'create',
glyph: type.getGlyph(),
name: type.getName(),
type: type.getKey(),
description: type.getDescription(),
category: [ 'creation' ],
context: context
};

View File

@@ -63,10 +63,7 @@ define(
// domain object to serve as the container for the
// newly-created object (although the user may later
// make a different selection)
if (!destination) {
return [];
}
if (context.category && context.category !== "creation") {
if (key !== 'create' || !destination) {
return [];
}

View File

@@ -41,7 +41,7 @@ define(
// Update the set of Create actions
function refreshActions() {
$scope.createActions = $scope.action ?
$scope.action.getActions({ category: "creation" }) :
$scope.action.getActions('create') :
[];
}

View File

@@ -1,68 +0,0 @@
/*****************************************************************************
* Open MCT Web, Copyright (c) 2014-2015, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
* Open MCT Web is licensed under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0.
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
* Open MCT Web includes source code licensed under additional open source
* licenses. See the Open Source Licenses file (LICENSES.md) included with
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/*global define,Promise*/
/**
* Module defining NavigateAction. Created by vwoeltje on 11/10/14.
*/
define(
[],
function () {
"use strict";
/**
* The `back` action navigates to the contextual parent of a
* specific domain object.
* @memberof platform/commonUI/browse
* @constructor
* @implements {Action}
*/
function BackAction(context) {
this.domainObject = context.domainObject;
}
/**
* Navigate to the object described in the context.
* @returns {Promise} a promise that is resolved once the
* navigation has been updated
*/
BackAction.prototype.perform = function () {
var parent = this.domainObject.getCapability("context")
.getParent();
return parent.getCapability("action").perform("navigate");
};
/**
* Navigate as an action is only applicable when a domain object
* is described in the action context.
* @param {ActionContext} context the context in which the action
* will be performed
* @returns {boolean} true if applicable
*/
BackAction.appliesTo = function (context) {
return context.domainObject !== undefined &&
context.domainObject.hasCapability("context");
};
return BackAction;
}
);

View File

@@ -53,10 +53,9 @@ define(
// based on whether or not we are currently
// full screen.
var metadata = Object.create(FullscreenAction);
metadata.key = "fullscreen";
metadata.glyph = screenfull.isFullscreen ? "_" : "z";
metadata.description = screenfull.isFullscreen ?
EXIT_FULLSCREEN : ENTER_FULLSCREEN;
EXIT_FULLSCREEN : ENTER_FULLSCREEN;
metadata.group = "windowing";
metadata.context = this.context;
return metadata;

View File

@@ -90,7 +90,8 @@ p {
margin-bottom: $interiorMarginLg;
}
mct-container {
mct-container,
mct-representation {
display: block;
}

View File

@@ -55,6 +55,16 @@
left: $bodyMargin !important;
}
// Hide the Create button by default. example/mobile bundle will un-hide this.
.browse-mode {
.t-create-btn {
display: none;
}
.search-holder {
top: 0;
}
}
// When the tree is hidden, these are the
// classes used for the left menu and the
// right representation.

View File

@@ -20,7 +20,7 @@
* at runtime from the About dialog for additional information.
*****************************************************************************/
.abs.search-holder {
.search-holder {
//@include test(#990000);
height: $treeSearchInputBarH;
bottom: 0;
@@ -39,11 +39,8 @@
$iconWidth: 20px;
$leftMargin: 6px;
$rightPadding: 5px;
@include webkitVal(display, flex);
//display: flex;
@include webkitProp(flex-direction, column);
//flex-direction: column;
height: 100%;
@include display-flex(column nowrap);
//height: 100%;
.search-bar {
$textInputHeight: 19px; // This is equal to the default value, 19px

View File

@@ -230,20 +230,32 @@
.pane {
position: absolute;
&.treeview.left {
@include display-flex(column nowrap);
> .holder {
@include test(#0af);
margin-top: $interiorMarginLg;
&:first-child {
margin-top: 0;
}
}
.create-btn-holder {
bottom: auto; top: 0;
//bottom: auto; top: 0;
@include flex(0 0 auto);
height: $ueTopBarH;
.wrapper.menu-element {
position: absolute;
bottom: $interiorMargin;
}
//.wrapper.menu-element {
// position: absolute;
// bottom: $interiorMargin;
//}
}
.search-holder {
top: $ueTopBarH + $interiorMarginLg;
//top: $ueTopBarH + $interiorMarginLg;
@include flex(0 0 auto);
}
.tree-holder {
overflow: auto;
top: $ueTopBarH + $interiorMarginLg + $treeSearchInputBarH + $interiorMargin;
@include flex(1 0 auto);
//top: $ueTopBarH + $interiorMarginLg + $treeSearchInputBarH + $interiorMargin;
}
}
&.items {

View File

@@ -49,22 +49,17 @@ define(
var expr = attrs[attribute],
parsed = $parse(expr);
// Set the element's scroll to match the scope's state
function updateElement(value) {
element[0][property] = value;
}
// Handle event; assign to scroll state to scope
function updateScope() {
parsed.assign(scope, element[0][property]);
scope.$apply(expr);
}
// Set the element's scroll to match the scope's state
function updateElement(value) {
element[0][property] = value;
// Some values may be out of range for the scroll bar,
// so publish the real scroll value back into scope.
if (element[0][property] !== value) {
parsed.assign(scope, element[0][property]);
}
}
// Initialize state in scope
parsed.assign(scope, element[0][property]);

View File

@@ -20,7 +20,7 @@
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/* line 5, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 5, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
@@ -41,38 +41,38 @@ time, mark, audio, video {
font-size: 100%;
vertical-align: baseline; }
/* line 22, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 22, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
html {
line-height: 1; }
/* line 24, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 24, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
ol, ul {
list-style: none; }
/* line 26, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 26, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
table {
border-collapse: collapse;
border-spacing: 0; }
/* line 28, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 28, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
caption, th, td {
text-align: left;
font-weight: normal;
vertical-align: middle; }
/* line 30, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 30, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
q, blockquote {
quotes: none; }
/* line 103, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 103, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
q:before, q:after, blockquote:before, blockquote:after {
content: "";
content: none; }
/* line 32, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 32, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
a img {
border: none; }
/* line 116, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 116, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
display: block; }
@@ -369,10 +369,11 @@ p {
margin-bottom: 10px; }
/* line 93, ../../../../general/res/sass/_global.scss */
mct-container {
mct-container,
mct-representation {
display: block; }
/* line 97, ../../../../general/res/sass/_global.scss */
/* line 98, ../../../../general/res/sass/_global.scss */
.abs, .s-menu span.l-click-area {
position: absolute;
top: 0;
@@ -382,42 +383,42 @@ mct-container {
height: auto;
width: auto; }
/* line 107, ../../../../general/res/sass/_global.scss */
/* line 108, ../../../../general/res/sass/_global.scss */
.code, .codehilite {
font-family: "Lucida Console", monospace;
font-size: 0.7em;
line-height: 150%;
white-space: pre; }
/* line 114, ../../../../general/res/sass/_global.scss */
/* line 115, ../../../../general/res/sass/_global.scss */
.codehilite {
background-color: rgba(153, 153, 153, 0.1);
padding: 1em; }
/* line 120, ../../../../general/res/sass/_global.scss */
/* line 121, ../../../../general/res/sass/_global.scss */
.align-right {
text-align: right; }
/* line 124, ../../../../general/res/sass/_global.scss */
/* line 125, ../../../../general/res/sass/_global.scss */
.centered {
text-align: center; }
/* line 128, ../../../../general/res/sass/_global.scss */
/* line 129, ../../../../general/res/sass/_global.scss */
.no-margin {
margin: 0; }
/* line 132, ../../../../general/res/sass/_global.scss */
/* line 133, ../../../../general/res/sass/_global.scss */
.ds {
-moz-box-shadow: rgba(0, 0, 0, 0.7) 0 4px 10px 2px;
-webkit-box-shadow: rgba(0, 0, 0, 0.7) 0 4px 10px 2px;
box-shadow: rgba(0, 0, 0, 0.7) 0 4px 10px 2px; }
/* line 136, ../../../../general/res/sass/_global.scss */
/* line 137, ../../../../general/res/sass/_global.scss */
.hide,
.hidden {
display: none !important; }
/* line 141, ../../../../general/res/sass/_global.scss */
/* line 142, ../../../../general/res/sass/_global.scss */
.sep {
color: rgba(255, 255, 255, 0.2); }
@@ -3200,56 +3201,65 @@ span.req {
/* line 230, ../../../../general/res/sass/user-environ/_layout.scss */
.pane {
position: absolute; }
/* line 233, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .create-btn-holder {
bottom: auto;
top: 0;
height: 24px; }
/* line 236, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .create-btn-holder .wrapper.menu-element {
position: absolute;
bottom: 5px; }
/* line 241, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .search-holder {
top: 34px; }
/* line 244, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .tree-holder {
overflow: auto;
top: 64px; }
/* line 251, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 232, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left {
display: -webkit-column nowrap;
display: column nowrap; }
/* line 234, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left > .holder {
background-color: rgba(0, 170, 255, 0.2);
margin-top: 10px; }
/* line 237, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left > .holder:first-child {
margin-top: 0; }
/* line 242, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .create-btn-holder {
-webkit-flex: 0 0 auto;
flex: 0 0 auto;
height: 24px; }
/* line 251, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .search-holder {
-webkit-flex: 0 0 auto;
flex: 0 0 auto; }
/* line 255, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .tree-holder {
overflow: auto;
-webkit-flex: 1 0 auto;
flex: 1 0 auto; }
/* line 263, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.items .object-browse-bar .left.abs, .pane.items .object-browse-bar .s-menu span.left.l-click-area, .s-menu .pane.items .object-browse-bar span.left.l-click-area,
.pane.items .object-browse-bar .right.abs,
.pane.items .object-browse-bar .s-menu span.right.l-click-area,
.s-menu .pane.items .object-browse-bar span.right.l-click-area {
top: auto; }
/* line 262, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 274, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.items .object-holder {
top: 34px; }
/* line 266, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 278, ../../../../general/res/sass/user-environ/_layout.scss */
.pane .object-holder {
overflow: auto; }
/* line 274, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 286, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.horizontal > .pane {
margin-top: 5px; }
/* line 277, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 289, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.horizontal > .pane:first-child {
margin-top: 0; }
/* line 284, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 296, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane {
margin-left: 5px; }
/* line 287, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 299, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane > .holder {
left: 0;
right: 0; }
/* line 291, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 303, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane:first-child {
margin-left: 0; }
/* line 293, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 305, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane:first-child .holder {
right: 3px; }
/* line 302, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 314, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .s-btn, .object-browse-bar .s-menu,
.top-bar .buttons-main .s-btn,
.top-bar .buttons-main .s-menu,
@@ -3261,12 +3271,12 @@ span.req {
line-height: 25px;
vertical-align: top; }
/* line 315, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 327, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .view-switcher,
.top-bar .view-switcher {
margin-right: 20px; }
/* line 320, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 332, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar {
overflow: visible;
position: absolute;
@@ -3282,26 +3292,15 @@ span.req {
height: 24px;
line-height: 24px;
white-space: nowrap; }
/* line 328, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 340, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .left {
padding-right: 20px; }
/* line 330, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 342, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .left .l-back {
display: inline-block;
float: left;
margin-right: 10px; }
/*.object-holder {
.s-btn {
//background: red !important;
$h: 16px;
height: $h;
line-height: $h;
> span {
font-size: 0.7rem;
}
}
}*/
/* line 350, ../../../../general/res/sass/user-environ/_layout.scss */
.l-flex {
display: flex;
@@ -3387,30 +3386,37 @@ span.req {
bottom: 10px !important;
left: 10px !important; }
/* line 61, ../../../../general/res/sass/mobile/_layout.scss */
/* line 60, ../../../../general/res/sass/mobile/_layout.scss */
.browse-mode .t-create-btn {
display: none; }
/* line 63, ../../../../general/res/sass/mobile/_layout.scss */
.browse-mode .search-holder {
top: 0; }
/* line 71, ../../../../general/res/sass/mobile/_layout.scss */
.browse-hidetree {
-moz-user-select: -moz-none;
-ms-user-select: none;
-webkit-user-select: none;
user-select: none; }
/* line 65, ../../../../general/res/sass/mobile/_layout.scss */
/* line 75, ../../../../general/res/sass/mobile/_layout.scss */
.browse-hidetree .pane.left.treeview {
opacity: 0;
right: 100% !important;
width: auto !important;
overflow-y: hidden;
overflow-x: hidden; }
/* line 74, ../../../../general/res/sass/mobile/_layout.scss */
/* line 84, ../../../../general/res/sass/mobile/_layout.scss */
.browse-hidetree .pane.right-repr {
left: 0 !important; }
/* line 79, ../../../../general/res/sass/mobile/_layout.scss */
/* line 89, ../../../../general/res/sass/mobile/_layout.scss */
.browse-showtree {
-moz-user-select: -moz-none;
-ms-user-select: none;
-webkit-user-select: none;
user-select: none; }
/* line 88, ../../../../general/res/sass/mobile/_layout.scss */
/* line 98, ../../../../general/res/sass/mobile/_layout.scss */
.browse-showtree .pane.left.treeview {
-moz-transition-property: opacity;
-o-transition-property: opacity;
@@ -3433,47 +3439,47 @@ span.req {
display: block !important;
right: auto !important;
width: 40% !important; }
/* line 98, ../../../../general/res/sass/mobile/_layout.scss */
/* line 108, ../../../../general/res/sass/mobile/_layout.scss */
.browse-showtree .pane.right-repr {
left: 40% !important; }
/* line 107, ../../../../general/res/sass/mobile/_layout.scss */
/* line 117, ../../../../general/res/sass/mobile/_layout.scss */
.mobile-menu-icon {
font-size: 110%;
position: absolute;
top: 12px;
left: 10px; }
/* line 114, ../../../../general/res/sass/mobile/_layout.scss */
/* line 124, ../../../../general/res/sass/mobile/_layout.scss */
.object-browse-bar {
left: 30px !important; }
/* line 117, ../../../../general/res/sass/mobile/_layout.scss */
/* line 127, ../../../../general/res/sass/mobile/_layout.scss */
.object-browse-bar .context-available {
opacity: 1 !important; }
/* line 120, ../../../../general/res/sass/mobile/_layout.scss */
/* line 130, ../../../../general/res/sass/mobile/_layout.scss */
.object-browse-bar .view-switcher {
margin-right: 0 !important; }
/* line 122, ../../../../general/res/sass/mobile/_layout.scss */
/* line 132, ../../../../general/res/sass/mobile/_layout.scss */
.object-browse-bar .view-switcher .title-label {
display: none; }
/* line 129, ../../../../general/res/sass/mobile/_layout.scss */
/* line 139, ../../../../general/res/sass/mobile/_layout.scss */
.tree-holder {
overflow-x: hidden !important; }
/* line 133, ../../../../general/res/sass/mobile/_layout.scss */
/* line 143, ../../../../general/res/sass/mobile/_layout.scss */
.mobile-disable-select {
-moz-user-select: -moz-none;
-ms-user-select: none;
-webkit-user-select: none;
user-select: none; }
/* line 138, ../../../../general/res/sass/mobile/_layout.scss */
/* line 148, ../../../../general/res/sass/mobile/_layout.scss */
.mobile-hide,
.mobile-hide-important {
display: none !important; }
/* line 143, ../../../../general/res/sass/mobile/_layout.scss */
/* line 153, ../../../../general/res/sass/mobile/_layout.scss */
.mobile-back-hide {
pointer-events: none;
-moz-transition-property: opacity;
@@ -3490,7 +3496,7 @@ span.req {
transition-timing-function: ease-in-out;
opacity: 0; }
/* line 148, ../../../../general/res/sass/mobile/_layout.scss */
/* line 158, ../../../../general/res/sass/mobile/_layout.scss */
.mobile-back-unhide {
pointer-events: all;
-moz-transition-property: opacity;
@@ -3507,19 +3513,19 @@ span.req {
transition-timing-function: ease-in-out;
opacity: 1; } }
@media screen and (orientation: portrait) and (max-width: 514px) and (max-height: 740px) and (max-device-width: 799px) and (max-device-height: 1024px) {
/* line 157, ../../../../general/res/sass/mobile/_layout.scss */
/* line 167, ../../../../general/res/sass/mobile/_layout.scss */
.browse-showtree .pane.left.treeview {
width: 90% !important; }
/* line 160, ../../../../general/res/sass/mobile/_layout.scss */
/* line 170, ../../../../general/res/sass/mobile/_layout.scss */
.browse-showtree .pane.right-repr {
left: 0 !important;
transform: translateX(90%);
-webkit-transform: translateX(90%); }
/* line 163, ../../../../general/res/sass/mobile/_layout.scss */
/* line 173, ../../../../general/res/sass/mobile/_layout.scss */
.browse-showtree .pane.right-repr #content-area {
opacity: 0; } }
@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) {
/* line 171, ../../../../general/res/sass/mobile/_layout.scss */
/* line 181, ../../../../general/res/sass/mobile/_layout.scss */
.desktop-hide {
display: none; } }
/*****************************************************************************
@@ -3663,36 +3669,33 @@ span.req {
* at runtime from the About dialog for additional information.
*****************************************************************************/
/* line 23, ../../../../general/res/sass/search/_search.scss */
.abs.search-holder, .s-menu span.search-holder.l-click-area {
.search-holder {
height: 25px;
bottom: 0;
top: 23px;
z-index: 5; }
/* line 27, ../../../../general/res/sass/search/_search.scss */
.abs.search-holder.active, .s-menu span.search-holder.active.l-click-area {
.search-holder.active {
height: auto;
bottom: 0; }
/* line 38, ../../../../general/res/sass/search/_search.scss */
.search {
display: flex;
display: -webkit-flex;
flex-direction: column;
-webkit-flex-direction: column;
height: 100%; }
/* line 48, ../../../../general/res/sass/search/_search.scss */
display: -webkit-column nowrap;
display: column nowrap; }
/* line 45, ../../../../general/res/sass/search/_search.scss */
.search .search-bar {
font-size: 0.8em;
max-width: 250px;
position: relative;
width: 100%; }
/* line 60, ../../../../general/res/sass/search/_search.scss */
/* line 57, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-input {
height: 25px;
line-height: 25px;
padding-top: 0;
padding-bottom: 0; }
/* line 67, ../../../../general/res/sass/search/_search.scss */
/* line 64, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-icon,
.search .search-bar .clear-icon,
.search .search-bar .menu-icon {
@@ -3706,7 +3709,7 @@ span.req {
position: absolute;
text-align: center;
top: 4px; }
/* line 80, ../../../../general/res/sass/search/_search.scss */
/* line 77, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .clear-icon,
.search .search-bar .menu-icon {
cursor: pointer;
@@ -3714,62 +3717,62 @@ span.req {
-o-transition: color, 0.25s;
-webkit-transition: color, 0.25s;
transition: color, 0.25s; }
/* line 87, ../../../../general/res/sass/search/_search.scss */
/* line 84, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-input {
position: relative;
width: 100%;
padding-left: 22px !important;
padding-right: 44px !important; }
/* line 94, ../../../../general/res/sass/search/_search.scss */
/* line 91, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-input input {
width: 100%; }
/* line 99, ../../../../general/res/sass/search/_search.scss */
/* line 96, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-icon {
left: 3px;
transition: visibility .15s, opacity .15s, color .2s;
pointer-events: none; }
/* line 119, ../../../../general/res/sass/search/_search.scss */
/* line 116, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-input:hover + div.search-icon {
color: #8c8c8c; }
/* line 123, ../../../../general/res/sass/search/_search.scss */
/* line 120, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .clear-icon {
right: 22px;
visibility: hidden;
opacity: 0;
transition: visibility .15s, opacity .15s, color .2s; }
/* line 132, ../../../../general/res/sass/search/_search.scss */
/* line 129, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .clear-icon.content {
visibility: visible;
opacity: 1; }
/* line 137, ../../../../general/res/sass/search/_search.scss */
/* line 134, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .clear-icon:hover {
color: #8c8c8c; }
/* line 142, ../../../../general/res/sass/search/_search.scss */
/* line 139, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .menu-icon {
font-size: 0.8em;
padding-right: 4px;
right: 4px;
text-align: right; }
/* line 148, ../../../../general/res/sass/search/_search.scss */
/* line 145, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .menu-icon:hover {
color: #8c8c8c; }
/* line 153, ../../../../general/res/sass/search/_search.scss */
/* line 150, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-menu-holder {
float: right;
left: -20px;
z-index: 1;
transition: visibility .05s, opacity .05s; }
/* line 163, ../../../../general/res/sass/search/_search.scss */
/* line 160, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-menu-holder.off {
visibility: hidden;
opacity: 0; }
/* line 170, ../../../../general/res/sass/search/_search.scss */
/* line 167, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .menu-icon:hover + div.search-menu-holder {
visibility: visible; }
/* line 173, ../../../../general/res/sass/search/_search.scss */
/* line 170, ../../../../general/res/sass/search/_search.scss */
.search .search-bar div.search-menu-holder:hover {
visibility: visible; }
/* line 178, ../../../../general/res/sass/search/_search.scss */
/* line 175, ../../../../general/res/sass/search/_search.scss */
.search .active-filter-display {
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
@@ -3782,7 +3785,7 @@ span.req {
padding-left: 1.4625em;
font-size: 0.65em;
margin-top: 3px; }
/* line 193, ../../../../general/res/sass/search/_search.scss */
/* line 190, ../../../../general/res/sass/search/_search.scss */
.search .active-filter-display .clear-filters-icon {
color: #737373;
opacity: 1;
@@ -3790,7 +3793,7 @@ span.req {
position: absolute;
left: 1px;
cursor: pointer; }
/* line 205, ../../../../general/res/sass/search/_search.scss */
/* line 202, ../../../../general/res/sass/search/_search.scss */
.search .active-filter-display.off {
visibility: hidden;
opacity: 0;
@@ -3798,7 +3801,7 @@ span.req {
margin: 0;
padding: 0;
border: 0; }
/* line 215, ../../../../general/res/sass/search/_search.scss */
/* line 212, ../../../../general/res/sass/search/_search.scss */
.search .search-scroll {
order: 3;
margin-top: 4px;
@@ -3807,27 +3810,27 @@ span.req {
height: auto;
max-height: 100%;
position: relative; }
/* line 228, ../../../../general/res/sass/search/_search.scss */
/* line 225, ../../../../general/res/sass/search/_search.scss */
.search .search-scroll .load-icon {
position: relative; }
/* line 230, ../../../../general/res/sass/search/_search.scss */
/* line 227, ../../../../general/res/sass/search/_search.scss */
.search .search-scroll .load-icon.loading {
pointer-events: none;
margin-left: 6px; }
/* line 234, ../../../../general/res/sass/search/_search.scss */
/* line 231, ../../../../general/res/sass/search/_search.scss */
.search .search-scroll .load-icon.loading .title-label {
font-style: italic;
font-size: .9em;
opacity: 0.5;
margin-left: 26px;
line-height: 24px; }
/* line 244, ../../../../general/res/sass/search/_search.scss */
/* line 241, ../../../../general/res/sass/search/_search.scss */
.search .search-scroll .load-icon.loading .wait-spinner {
margin-left: 6px; }
/* line 249, ../../../../general/res/sass/search/_search.scss */
/* line 246, ../../../../general/res/sass/search/_search.scss */
.search .search-scroll .load-icon:not(.loading) {
cursor: pointer; }
/* line 254, ../../../../general/res/sass/search/_search.scss */
/* line 251, ../../../../general/res/sass/search/_search.scss */
.search .search-scroll .load-more-button {
margin-top: 5px 0;
font-size: 0.8em;

View File

@@ -20,7 +20,7 @@
* this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information.
*****************************************************************************/
/* line 5, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 5, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
@@ -41,38 +41,38 @@ time, mark, audio, video {
font-size: 100%;
vertical-align: baseline; }
/* line 22, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 22, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
html {
line-height: 1; }
/* line 24, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 24, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
ol, ul {
list-style: none; }
/* line 26, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 26, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
table {
border-collapse: collapse;
border-spacing: 0; }
/* line 28, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 28, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
caption, th, td {
text-align: left;
font-weight: normal;
vertical-align: middle; }
/* line 30, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 30, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
q, blockquote {
quotes: none; }
/* line 103, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 103, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
q:before, q:after, blockquote:before, blockquote:after {
content: "";
content: none; }
/* line 32, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 32, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
a img {
border: none; }
/* line 116, ../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
/* line 116, ../../../../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
display: block; }
@@ -369,10 +369,11 @@ p {
margin-bottom: 10px; }
/* line 93, ../../../../general/res/sass/_global.scss */
mct-container {
mct-container,
mct-representation {
display: block; }
/* line 97, ../../../../general/res/sass/_global.scss */
/* line 98, ../../../../general/res/sass/_global.scss */
.abs, .s-menu span.l-click-area {
position: absolute;
top: 0;
@@ -382,42 +383,42 @@ mct-container {
height: auto;
width: auto; }
/* line 107, ../../../../general/res/sass/_global.scss */
/* line 108, ../../../../general/res/sass/_global.scss */
.code, .codehilite {
font-family: "Lucida Console", monospace;
font-size: 0.7em;
line-height: 150%;
white-space: pre; }
/* line 114, ../../../../general/res/sass/_global.scss */
/* line 115, ../../../../general/res/sass/_global.scss */
.codehilite {
background-color: rgba(102, 102, 102, 0.1);
padding: 1em; }
/* line 120, ../../../../general/res/sass/_global.scss */
/* line 121, ../../../../general/res/sass/_global.scss */
.align-right {
text-align: right; }
/* line 124, ../../../../general/res/sass/_global.scss */
/* line 125, ../../../../general/res/sass/_global.scss */
.centered {
text-align: center; }
/* line 128, ../../../../general/res/sass/_global.scss */
/* line 129, ../../../../general/res/sass/_global.scss */
.no-margin {
margin: 0; }
/* line 132, ../../../../general/res/sass/_global.scss */
/* line 133, ../../../../general/res/sass/_global.scss */
.ds {
-moz-box-shadow: rgba(0, 0, 0, 0.7) 0 4px 10px 2px;
-webkit-box-shadow: rgba(0, 0, 0, 0.7) 0 4px 10px 2px;
box-shadow: rgba(0, 0, 0, 0.7) 0 4px 10px 2px; }
/* line 136, ../../../../general/res/sass/_global.scss */
/* line 137, ../../../../general/res/sass/_global.scss */
.hide,
.hidden {
display: none !important; }
/* line 141, ../../../../general/res/sass/_global.scss */
/* line 142, ../../../../general/res/sass/_global.scss */
.sep {
color: rgba(255, 255, 255, 0.2); }
@@ -3132,56 +3133,65 @@ span.req {
/* line 230, ../../../../general/res/sass/user-environ/_layout.scss */
.pane {
position: absolute; }
/* line 233, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .create-btn-holder {
bottom: auto;
top: 0;
height: 24px; }
/* line 236, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .create-btn-holder .wrapper.menu-element {
position: absolute;
bottom: 5px; }
/* line 241, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .search-holder {
top: 34px; }
/* line 244, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .tree-holder {
overflow: auto;
top: 64px; }
/* line 251, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 232, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left {
display: -webkit-column nowrap;
display: column nowrap; }
/* line 234, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left > .holder {
background-color: rgba(0, 170, 255, 0.2);
margin-top: 10px; }
/* line 237, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left > .holder:first-child {
margin-top: 0; }
/* line 242, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .create-btn-holder {
-webkit-flex: 0 0 auto;
flex: 0 0 auto;
height: 24px; }
/* line 251, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .search-holder {
-webkit-flex: 0 0 auto;
flex: 0 0 auto; }
/* line 255, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.treeview.left .tree-holder {
overflow: auto;
-webkit-flex: 1 0 auto;
flex: 1 0 auto; }
/* line 263, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.items .object-browse-bar .left.abs, .pane.items .object-browse-bar .s-menu span.left.l-click-area, .s-menu .pane.items .object-browse-bar span.left.l-click-area,
.pane.items .object-browse-bar .right.abs,
.pane.items .object-browse-bar .s-menu span.right.l-click-area,
.s-menu .pane.items .object-browse-bar span.right.l-click-area {
top: auto; }
/* line 262, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 274, ../../../../general/res/sass/user-environ/_layout.scss */
.pane.items .object-holder {
top: 34px; }
/* line 266, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 278, ../../../../general/res/sass/user-environ/_layout.scss */
.pane .object-holder {
overflow: auto; }
/* line 274, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 286, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.horizontal > .pane {
margin-top: 5px; }
/* line 277, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 289, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.horizontal > .pane:first-child {
margin-top: 0; }
/* line 284, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 296, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane {
margin-left: 5px; }
/* line 287, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 299, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane > .holder {
left: 0;
right: 0; }
/* line 291, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 303, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane:first-child {
margin-left: 0; }
/* line 293, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 305, ../../../../general/res/sass/user-environ/_layout.scss */
.split-layout.vertical > .pane:first-child .holder {
right: 3px; }
/* line 302, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 314, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .s-btn, .object-browse-bar .s-menu,
.top-bar .buttons-main .s-btn,
.top-bar .buttons-main .s-menu,
@@ -3193,12 +3203,12 @@ span.req {
line-height: 25px;
vertical-align: top; }
/* line 315, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 327, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .view-switcher,
.top-bar .view-switcher {
margin-right: 20px; }
/* line 320, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 332, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar {
overflow: visible;
position: absolute;
@@ -3214,26 +3224,15 @@ span.req {
height: 24px;
line-height: 24px;
white-space: nowrap; }
/* line 328, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 340, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .left {
padding-right: 20px; }
/* line 330, ../../../../general/res/sass/user-environ/_layout.scss */
/* line 342, ../../../../general/res/sass/user-environ/_layout.scss */
.object-browse-bar .left .l-back {
display: inline-block;
float: left;
margin-right: 10px; }
/*.object-holder {
.s-btn {
//background: red !important;
$h: 16px;
height: $h;
line-height: $h;
> span {
font-size: 0.7rem;
}
}
}*/
/* line 350, ../../../../general/res/sass/user-environ/_layout.scss */
.l-flex {
display: flex;
@@ -3319,30 +3318,37 @@ span.req {
bottom: 10px !important;
left: 10px !important; }
/* line 61, ../../../../general/res/sass/mobile/_layout.scss */
/* line 60, ../../../../general/res/sass/mobile/_layout.scss */
.browse-mode .t-create-btn {
display: none; }
/* line 63, ../../../../general/res/sass/mobile/_layout.scss */
.browse-mode .search-holder {
top: 0; }
/* line 71, ../../../../general/res/sass/mobile/_layout.scss */
.browse-hidetree {
-moz-user-select: -moz-none;
-ms-user-select: none;
-webkit-user-select: none;
user-select: none; }
/* line 65, ../../../../general/res/sass/mobile/_layout.scss */
/* line 75, ../../../../general/res/sass/mobile/_layout.scss */
.browse-hidetree .pane.left.treeview {
opacity: 0;
right: 100% !important;
width: auto !important;
overflow-y: hidden;
overflow-x: hidden; }
/* line 74, ../../../../general/res/sass/mobile/_layout.scss */
/* line 84, ../../../../general/res/sass/mobile/_layout.scss */
.browse-hidetree .pane.right-repr {
left: 0 !important; }
/* line 79, ../../../../general/res/sass/mobile/_layout.scss */
/* line 89, ../../../../general/res/sass/mobile/_layout.scss */
.browse-showtree {
-moz-user-select: -moz-none;
-ms-user-select: none;
-webkit-user-select: none;
user-select: none; }
/* line 88, ../../../../general/res/sass/mobile/_layout.scss */
/* line 98, ../../../../general/res/sass/mobile/_layout.scss */
.browse-showtree .pane.left.treeview {
-moz-transition-property: opacity;
-o-transition-property: opacity;
@@ -3365,47 +3371,47 @@ span.req {
display: block !important;
right: auto !important;
width: 40% !important; }
/* line 98, ../../../../general/res/sass/mobile/_layout.scss */
/* line 108, ../../../../general/res/sass/mobile/_layout.scss */
.browse-showtree .pane.right-repr {
left: 40% !important; }
/* line 107, ../../../../general/res/sass/mobile/_layout.scss */
/* line 117, ../../../../general/res/sass/mobile/_layout.scss */
.mobile-menu-icon {
font-size: 110%;
position: absolute;
top: 12px;
left: 10px; }
/* line 114, ../../../../general/res/sass/mobile/_layout.scss */
/* line 124, ../../../../general/res/sass/mobile/_layout.scss */
.object-browse-bar {
left: 30px !important; }
/* line 117, ../../../../general/res/sass/mobile/_layout.scss */
/* line 127, ../../../../general/res/sass/mobile/_layout.scss */
.object-browse-bar .context-available {
opacity: 1 !important; }
/* line 120, ../../../../general/res/sass/mobile/_layout.scss */
/* line 130, ../../../../general/res/sass/mobile/_layout.scss */
.object-browse-bar .view-switcher {
margin-right: 0 !important; }
/* line 122, ../../../../general/res/sass/mobile/_layout.scss */
/* line 132, ../../../../general/res/sass/mobile/_layout.scss */
.object-browse-bar .view-switcher .title-label {
display: none; }
/* line 129, ../../../../general/res/sass/mobile/_layout.scss */
/* line 139, ../../../../general/res/sass/mobile/_layout.scss */
.tree-holder {
overflow-x: hidden !important; }
/* line 133, ../../../../general/res/sass/mobile/_layout.scss */
/* line 143, ../../../../general/res/sass/mobile/_layout.scss */
.mobile-disable-select {
-moz-user-select: -moz-none;
-ms-user-select: none;
-webkit-user-select: none;
user-select: none; }
/* line 138, ../../../../general/res/sass/mobile/_layout.scss */
/* line 148, ../../../../general/res/sass/mobile/_layout.scss */
.mobile-hide,
.mobile-hide-important {
display: none !important; }
/* line 143, ../../../../general/res/sass/mobile/_layout.scss */
/* line 153, ../../../../general/res/sass/mobile/_layout.scss */
.mobile-back-hide {
pointer-events: none;
-moz-transition-property: opacity;
@@ -3422,7 +3428,7 @@ span.req {
transition-timing-function: ease-in-out;
opacity: 0; }
/* line 148, ../../../../general/res/sass/mobile/_layout.scss */
/* line 158, ../../../../general/res/sass/mobile/_layout.scss */
.mobile-back-unhide {
pointer-events: all;
-moz-transition-property: opacity;
@@ -3439,19 +3445,19 @@ span.req {
transition-timing-function: ease-in-out;
opacity: 1; } }
@media screen and (orientation: portrait) and (max-width: 514px) and (max-height: 740px) and (max-device-width: 799px) and (max-device-height: 1024px) {
/* line 157, ../../../../general/res/sass/mobile/_layout.scss */
/* line 167, ../../../../general/res/sass/mobile/_layout.scss */
.browse-showtree .pane.left.treeview {
width: 90% !important; }
/* line 160, ../../../../general/res/sass/mobile/_layout.scss */
/* line 170, ../../../../general/res/sass/mobile/_layout.scss */
.browse-showtree .pane.right-repr {
left: 0 !important;
transform: translateX(90%);
-webkit-transform: translateX(90%); }
/* line 163, ../../../../general/res/sass/mobile/_layout.scss */
/* line 173, ../../../../general/res/sass/mobile/_layout.scss */
.browse-showtree .pane.right-repr #content-area {
opacity: 0; } }
@media screen and (min-device-width: 800px) and (min-device-height: 1025px), screen and (min-device-width: 1025px) and (min-device-height: 800px) {
/* line 171, ../../../../general/res/sass/mobile/_layout.scss */
/* line 181, ../../../../general/res/sass/mobile/_layout.scss */
.desktop-hide {
display: none; } }
/*****************************************************************************
@@ -3595,36 +3601,33 @@ span.req {
* at runtime from the About dialog for additional information.
*****************************************************************************/
/* line 23, ../../../../general/res/sass/search/_search.scss */
.abs.search-holder, .s-menu span.search-holder.l-click-area {
.search-holder {
height: 25px;
bottom: 0;
top: 23px;
z-index: 5; }
/* line 27, ../../../../general/res/sass/search/_search.scss */
.abs.search-holder.active, .s-menu span.search-holder.active.l-click-area {
.search-holder.active {
height: auto;
bottom: 0; }
/* line 38, ../../../../general/res/sass/search/_search.scss */
.search {
display: flex;
display: -webkit-flex;
flex-direction: column;
-webkit-flex-direction: column;
height: 100%; }
/* line 48, ../../../../general/res/sass/search/_search.scss */
display: -webkit-column nowrap;
display: column nowrap; }
/* line 45, ../../../../general/res/sass/search/_search.scss */
.search .search-bar {
font-size: 0.8em;
max-width: 250px;
position: relative;
width: 100%; }
/* line 60, ../../../../general/res/sass/search/_search.scss */
/* line 57, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-input {
height: 25px;
line-height: 25px;
padding-top: 0;
padding-bottom: 0; }
/* line 67, ../../../../general/res/sass/search/_search.scss */
/* line 64, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-icon,
.search .search-bar .clear-icon,
.search .search-bar .menu-icon {
@@ -3638,7 +3641,7 @@ span.req {
position: absolute;
text-align: center;
top: 4px; }
/* line 80, ../../../../general/res/sass/search/_search.scss */
/* line 77, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .clear-icon,
.search .search-bar .menu-icon {
cursor: pointer;
@@ -3646,62 +3649,62 @@ span.req {
-o-transition: color, 0.25s;
-webkit-transition: color, 0.25s;
transition: color, 0.25s; }
/* line 87, ../../../../general/res/sass/search/_search.scss */
/* line 84, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-input {
position: relative;
width: 100%;
padding-left: 22px !important;
padding-right: 44px !important; }
/* line 94, ../../../../general/res/sass/search/_search.scss */
/* line 91, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-input input {
width: 100%; }
/* line 99, ../../../../general/res/sass/search/_search.scss */
/* line 96, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-icon {
left: 3px;
transition: visibility .15s, opacity .15s, color .2s;
pointer-events: none; }
/* line 119, ../../../../general/res/sass/search/_search.scss */
/* line 116, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-input:hover + div.search-icon {
color: #8c8c8c; }
/* line 123, ../../../../general/res/sass/search/_search.scss */
/* line 120, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .clear-icon {
right: 22px;
visibility: hidden;
opacity: 0;
transition: visibility .15s, opacity .15s, color .2s; }
/* line 132, ../../../../general/res/sass/search/_search.scss */
/* line 129, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .clear-icon.content {
visibility: visible;
opacity: 1; }
/* line 137, ../../../../general/res/sass/search/_search.scss */
/* line 134, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .clear-icon:hover {
color: #8c8c8c; }
/* line 142, ../../../../general/res/sass/search/_search.scss */
/* line 139, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .menu-icon {
font-size: 0.8em;
padding-right: 4px;
right: 4px;
text-align: right; }
/* line 148, ../../../../general/res/sass/search/_search.scss */
/* line 145, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .menu-icon:hover {
color: #8c8c8c; }
/* line 153, ../../../../general/res/sass/search/_search.scss */
/* line 150, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-menu-holder {
float: right;
left: -20px;
z-index: 1;
transition: visibility .05s, opacity .05s; }
/* line 163, ../../../../general/res/sass/search/_search.scss */
/* line 160, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .search-menu-holder.off {
visibility: hidden;
opacity: 0; }
/* line 170, ../../../../general/res/sass/search/_search.scss */
/* line 167, ../../../../general/res/sass/search/_search.scss */
.search .search-bar .menu-icon:hover + div.search-menu-holder {
visibility: visible; }
/* line 173, ../../../../general/res/sass/search/_search.scss */
/* line 170, ../../../../general/res/sass/search/_search.scss */
.search .search-bar div.search-menu-holder:hover {
visibility: visible; }
/* line 178, ../../../../general/res/sass/search/_search.scss */
/* line 175, ../../../../general/res/sass/search/_search.scss */
.search .active-filter-display {
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
@@ -3714,7 +3717,7 @@ span.req {
padding-left: 1.4625em;
font-size: 0.65em;
margin-top: 3px; }
/* line 193, ../../../../general/res/sass/search/_search.scss */
/* line 190, ../../../../general/res/sass/search/_search.scss */
.search .active-filter-display .clear-filters-icon {
color: #a6a6a6;
opacity: 1;
@@ -3722,7 +3725,7 @@ span.req {
position: absolute;
left: 1px;
cursor: pointer; }
/* line 205, ../../../../general/res/sass/search/_search.scss */
/* line 202, ../../../../general/res/sass/search/_search.scss */
.search .active-filter-display.off {
visibility: hidden;
opacity: 0;
@@ -3730,7 +3733,7 @@ span.req {
margin: 0;
padding: 0;
border: 0; }
/* line 215, ../../../../general/res/sass/search/_search.scss */
/* line 212, ../../../../general/res/sass/search/_search.scss */
.search .search-scroll {
order: 3;
margin-top: 4px;
@@ -3739,27 +3742,27 @@ span.req {
height: auto;
max-height: 100%;
position: relative; }
/* line 228, ../../../../general/res/sass/search/_search.scss */
/* line 225, ../../../../general/res/sass/search/_search.scss */
.search .search-scroll .load-icon {
position: relative; }
/* line 230, ../../../../general/res/sass/search/_search.scss */
/* line 227, ../../../../general/res/sass/search/_search.scss */
.search .search-scroll .load-icon.loading {
pointer-events: none;
margin-left: 6px; }
/* line 234, ../../../../general/res/sass/search/_search.scss */
/* line 231, ../../../../general/res/sass/search/_search.scss */
.search .search-scroll .load-icon.loading .title-label {
font-style: italic;
font-size: .9em;
opacity: 0.5;
margin-left: 26px;
line-height: 24px; }
/* line 244, ../../../../general/res/sass/search/_search.scss */
/* line 241, ../../../../general/res/sass/search/_search.scss */
.search .search-scroll .load-icon.loading .wait-spinner {
margin-left: 6px; }
/* line 249, ../../../../general/res/sass/search/_search.scss */
/* line 246, ../../../../general/res/sass/search/_search.scss */
.search .search-scroll .load-icon:not(.loading) {
cursor: pointer; }
/* line 254, ../../../../general/res/sass/search/_search.scss */
/* line 251, ../../../../general/res/sass/search/_search.scss */
.search .search-scroll .load-more-button {
margin-top: 5px 0;
font-size: 0.8em;

View File

@@ -30,14 +30,6 @@
"category": "contextual",
"implementation": "actions/LinkAction.js",
"depends": ["locationService", "linkService"]
},
{
"key": "follow",
"name": "Go To Original",
"description": "Go to the original, un-linked instance of this object.",
"glyph": "\u00F4",
"category": "contextual",
"implementation": "actions/GoToOriginalAction.js"
}
],
"components": [
@@ -60,8 +52,7 @@
"key": "location",
"name": "Location Capability",
"description": "Provides a capability for retrieving the location of an object based upon it's context.",
"implementation": "capabilities/LocationCapability",
"depends": [ "$q", "$injector" ]
"implementation": "capabilities/LocationCapability"
}
],
"services": [

View File

@@ -1,62 +0,0 @@
/*****************************************************************************
* 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";
/**
* Implements the "Go To Original" action, which follows a link back
* to an original instance of an object.
*
* @implements {Action}
* @constructor
* @private
* @memberof platform/entanglement
* @param {ActionContext} context the context in which the action
* will be performed
*/
function GoToOriginalAction(context) {
this.domainObject = context.domainObject;
}
GoToOriginalAction.prototype.perform = function () {
return this.domainObject.getCapability("location").getOriginal()
.then(function (originalObject) {
var actionCapability =
originalObject.getCapability("action");
return actionCapability &&
actionCapability.perform("navigate");
});
};
GoToOriginalAction.appliesTo = function (context) {
var domainObject = context.domainObject;
return domainObject && domainObject.hasCapability("location")
&& domainObject.getCapability("location").isLink();
};
return GoToOriginalAction;
}
);

View File

@@ -12,41 +12,11 @@ define(
*
* @constructor
*/
function LocationCapability($q, $injector, domainObject) {
function LocationCapability(domainObject) {
this.domainObject = domainObject;
this.$q = $q;
this.$injector = $injector;
return this;
}
/**
* Get an instance of this domain object in its original location.
*
* @returns {Promise.<DomainObject>} a promise for the original
* instance of this domain object
*/
LocationCapability.prototype.getOriginal = function () {
var id;
if (this.isOriginal()) {
return this.$q.when(this.domainObject);
}
id = this.domainObject.getId();
this.objectService =
this.objectService || this.$injector.get("objectService");
// Assume that an object will be correctly contextualized when
// loaded directly from the object service; this is true
// so long as LocatingObjectDecorator is present, and that
// decorator is also contained in this bundle.
return this.objectService.getObjects([id])
.then(function (objects) {
return objects[id];
});
};
/**
* Set the primary location (the parent id) of the current domain
* object.
@@ -108,6 +78,10 @@ define(
return !this.isLink();
};
return LocationCapability;
function createLocationCapability(domainObject) {
return new LocationCapability(domainObject);
}
return createLocationCapability;
}
);

View File

@@ -1,95 +0,0 @@
/*****************************************************************************
* 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,describe,beforeEach,it,jasmine,expect */
define(
[
'../../src/actions/GoToOriginalAction',
'../DomainObjectFactory',
'../ControlledPromise'
],
function (GoToOriginalAction, domainObjectFactory, ControlledPromise) {
'use strict';
describe("The 'go to original' action", function () {
var testContext,
originalDomainObject,
mockLocationCapability,
mockOriginalActionCapability,
originalPromise,
action;
beforeEach(function () {
mockLocationCapability = jasmine.createSpyObj(
'location',
[ 'isLink', 'isOriginal', 'getOriginal' ]
);
mockOriginalActionCapability = jasmine.createSpyObj(
'action',
[ 'perform', 'getActions' ]
);
originalPromise = new ControlledPromise();
mockLocationCapability.getOriginal.andReturn(originalPromise);
mockLocationCapability.isLink.andReturn(true);
mockLocationCapability.isOriginal.andCallFake(function () {
return !mockLocationCapability.isLink();
});
testContext = {
domainObject: domainObjectFactory({
capabilities: {
location: mockLocationCapability
}
})
};
originalDomainObject = domainObjectFactory({
capabilities: {
action: mockOriginalActionCapability
}
});
action = new GoToOriginalAction(testContext);
});
it("is applicable to links", function () {
expect(GoToOriginalAction.appliesTo(testContext))
.toBeTruthy();
});
it("is not applicable to originals", function () {
mockLocationCapability.isLink.andReturn(false);
expect(GoToOriginalAction.appliesTo(testContext))
.toBeFalsy();
});
it("navigates to original objects when performed", function () {
expect(mockOriginalActionCapability.perform)
.not.toHaveBeenCalled();
action.perform();
originalPromise.resolve(originalDomainObject);
expect(mockOriginalActionCapability.perform)
.toHaveBeenCalledWith('navigate');
});
});
}
);

View File

@@ -7,7 +7,6 @@ define(
'../ControlledPromise'
],
function (LocationCapability, domainObjectFactory, ControlledPromise) {
'use strict';
describe("LocationCapability", function () {
@@ -15,17 +14,13 @@ define(
var locationCapability,
persistencePromise,
mutationPromise,
mockQ,
mockInjector,
mockObjectService,
domainObject;
beforeEach(function () {
domainObject = domainObjectFactory({
id: "testObject",
capabilities: {
context: {
getParent: function () {
getParent: function() {
return domainObjectFactory({id: 'root'});
}
},
@@ -40,11 +35,6 @@ define(
}
});
mockQ = jasmine.createSpyObj("$q", ["when"]);
mockInjector = jasmine.createSpyObj("$injector", ["get"]);
mockObjectService =
jasmine.createSpyObj("objectService", ["getObjects"]);
persistencePromise = new ControlledPromise();
domainObject.capabilities.persistence.persist.andReturn(
persistencePromise
@@ -59,11 +49,7 @@ define(
}
);
locationCapability = new LocationCapability(
mockQ,
mockInjector,
domainObject
);
locationCapability = new LocationCapability(domainObject);
});
it("returns contextual location", function () {
@@ -102,57 +88,6 @@ define(
expect(whenComplete).toHaveBeenCalled();
});
describe("when used to load an original instance", function () {
var objectPromise,
qPromise,
originalObjects,
mockCallback;
function resolvePromises() {
if (mockQ.when.calls.length > 0) {
qPromise.resolve(mockQ.when.mostRecentCall.args[0]);
}
if (mockObjectService.getObjects.calls.length > 0) {
objectPromise.resolve(originalObjects);
}
}
beforeEach(function () {
objectPromise = new ControlledPromise();
qPromise = new ControlledPromise();
originalObjects = {
testObject: domainObjectFactory()
};
mockInjector.get.andCallFake(function (key) {
return key === 'objectService' && mockObjectService;
});
mockObjectService.getObjects.andReturn(objectPromise);
mockQ.when.andReturn(qPromise);
mockCallback = jasmine.createSpy('callback');
});
it("provides originals directly", function () {
domainObject.model.location = 'root';
locationCapability.getOriginal().then(mockCallback);
expect(mockCallback).not.toHaveBeenCalled();
resolvePromises();
expect(mockCallback)
.toHaveBeenCalledWith(domainObject);
});
it("loads from the object service for links", function () {
domainObject.model.location = 'some-other-root';
locationCapability.getOriginal().then(mockCallback);
expect(mockCallback).not.toHaveBeenCalled();
resolvePromises();
expect(mockCallback)
.toHaveBeenCalledWith(originalObjects.testObject);
});
});
});
});
}

View File

@@ -1,9 +1,5 @@
[
"actions/AbstractComposeAction",
"actions/CopyAction",
"actions/GoToOriginalAction",
"actions/LinkAction",
"actions/MoveAction",
"services/CopyService",
"services/LinkService",
"services/MoveService",