mirror of
https://github.com/nasa/openmct.git
synced 2025-06-22 09:08:43 +00:00
Merge pull request #1519 from nasa/mct1456
[Duplicate] Differentiate between user cancellation and other errors
This commit is contained in:
@ -21,7 +21,9 @@
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
define(
|
define(
|
||||||
function () {
|
['./CancelError'],
|
||||||
|
function (CancelError) {
|
||||||
|
var CANCEL_MESSAGE = "User cancelled location selection.";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Common interface exposed by services which support move, copy,
|
* Common interface exposed by services which support move, copy,
|
||||||
@ -141,7 +143,9 @@ define(
|
|||||||
currentParent
|
currentParent
|
||||||
).then(function (newParentObj) {
|
).then(function (newParentObj) {
|
||||||
return composeService.perform(object, newParentObj);
|
return composeService.perform(object, newParentObj);
|
||||||
});
|
}, function () {
|
||||||
|
return Promise.reject(new CancelError(CANCEL_MESSAGE));
|
||||||
|
}.bind(this));
|
||||||
};
|
};
|
||||||
|
|
||||||
AbstractComposeAction.appliesTo = function (context) {
|
AbstractComposeAction.appliesTo = function (context) {
|
||||||
|
32
platform/entanglement/src/actions/CancelError.js
Normal file
32
platform/entanglement/src/actions/CancelError.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
/*****************************************************************************
|
||||||
|
* Open MCT, Copyright (c) 2014-2017, United States Government
|
||||||
|
* as represented by the Administrator of the National Aeronautics and Space
|
||||||
|
* Administration. All rights reserved.
|
||||||
|
*
|
||||||
|
* Open MCT 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 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.
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
define(function () {
|
||||||
|
function CancelError() {
|
||||||
|
Error.apply(this, arguments);
|
||||||
|
this.name = CancelError;
|
||||||
|
}
|
||||||
|
|
||||||
|
CancelError.prototype = Object.create(Error.prototype);
|
||||||
|
|
||||||
|
return CancelError;
|
||||||
|
});
|
@ -21,8 +21,8 @@
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
define(
|
define(
|
||||||
['./AbstractComposeAction'],
|
['./AbstractComposeAction', './CancelError'],
|
||||||
function (AbstractComposeAction) {
|
function (AbstractComposeAction, CancelError) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The CopyAction is available from context menus and allows a user to
|
* The CopyAction is available from context menus and allows a user to
|
||||||
@ -117,6 +117,11 @@ define(
|
|||||||
}
|
}
|
||||||
|
|
||||||
function error(errorDetails) {
|
function error(errorDetails) {
|
||||||
|
// No need to notify user of their own cancellation
|
||||||
|
if (errorDetails instanceof CancelError) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var errorDialog,
|
var errorDialog,
|
||||||
errorMessage = {
|
errorMessage = {
|
||||||
title: "Error copying objects.",
|
title: "Error copying objects.",
|
||||||
|
@ -157,9 +157,9 @@ define(
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("waits for location from user", function () {
|
it("waits for location and handles cancellation by user", function () {
|
||||||
expect(locationServicePromise.then)
|
expect(locationServicePromise.then)
|
||||||
.toHaveBeenCalledWith(jasmine.any(Function));
|
.toHaveBeenCalledWith(jasmine.any(Function), jasmine.any(Function));
|
||||||
});
|
});
|
||||||
|
|
||||||
it("copies object to selected location", function () {
|
it("copies object to selected location", function () {
|
||||||
|
@ -180,9 +180,9 @@ define(
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("waits for location from user", function () {
|
it("waits for location and handles cancellation by user", function () {
|
||||||
expect(locationServicePromise.then)
|
expect(locationServicePromise.then)
|
||||||
.toHaveBeenCalledWith(jasmine.any(Function));
|
.toHaveBeenCalledWith(jasmine.any(Function), jasmine.any(Function));
|
||||||
});
|
});
|
||||||
|
|
||||||
it("copies object to selected location", function () {
|
it("copies object to selected location", function () {
|
||||||
|
@ -133,9 +133,9 @@ define(
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("waits for location from user", function () {
|
it("waits for location and handles cancellation by user", function () {
|
||||||
expect(locationServicePromise.then)
|
expect(locationServicePromise.then)
|
||||||
.toHaveBeenCalledWith(jasmine.any(Function));
|
.toHaveBeenCalledWith(jasmine.any(Function), jasmine.any(Function));
|
||||||
});
|
});
|
||||||
|
|
||||||
it("links object to selected location", function () {
|
it("links object to selected location", function () {
|
||||||
|
@ -133,9 +133,9 @@ define(
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("waits for location from user", function () {
|
it("waits for location and handles cancellation by user", function () {
|
||||||
expect(locationServicePromise.then)
|
expect(locationServicePromise.then)
|
||||||
.toHaveBeenCalledWith(jasmine.any(Function));
|
.toHaveBeenCalledWith(jasmine.any(Function), jasmine.any(Function));
|
||||||
});
|
});
|
||||||
|
|
||||||
it("moves object to selected location", function () {
|
it("moves object to selected location", function () {
|
||||||
|
Reference in New Issue
Block a user