mirror of
https://github.com/nasa/openmct.git
synced 2025-05-11 13:03:03 +00:00
[Edit Mode] Disallow context menu actions on tree items during edit mode. #277
This commit is contained in:
parent
75d4be290c
commit
9eb8158c4e
@ -66,7 +66,8 @@
|
|||||||
"$document",
|
"$document",
|
||||||
"$rootScope",
|
"$rootScope",
|
||||||
"popupService",
|
"popupService",
|
||||||
"agentService"
|
"agentService",
|
||||||
|
"navigationService"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -55,12 +55,14 @@ define(
|
|||||||
$rootScope,
|
$rootScope,
|
||||||
popupService,
|
popupService,
|
||||||
agentService,
|
agentService,
|
||||||
|
navigationService,
|
||||||
actionContext
|
actionContext
|
||||||
) {
|
) {
|
||||||
this.$compile = $compile;
|
this.$compile = $compile;
|
||||||
this.agentService = agentService;
|
this.agentService = agentService;
|
||||||
this.actionContext = actionContext;
|
this.actionContext = actionContext;
|
||||||
this.popupService = popupService;
|
this.popupService = popupService;
|
||||||
|
this.navigationService = navigationService;
|
||||||
this.getDocument = function () { return $document; };
|
this.getDocument = function () { return $document; };
|
||||||
this.getRootScope = function () { return $rootScope; };
|
this.getRootScope = function () { return $rootScope; };
|
||||||
}
|
}
|
||||||
@ -82,6 +84,10 @@ define(
|
|||||||
menu,
|
menu,
|
||||||
popup;
|
popup;
|
||||||
|
|
||||||
|
if (this.navigationService.getNavigation() && this.navigationService.getNavigation().hasCapability('editor')){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Remove the context menu
|
// Remove the context menu
|
||||||
function dismiss() {
|
function dismiss() {
|
||||||
if (popup) {
|
if (popup) {
|
||||||
|
@ -47,6 +47,8 @@ define(
|
|||||||
mockScope,
|
mockScope,
|
||||||
mockElement,
|
mockElement,
|
||||||
mockDomainObject,
|
mockDomainObject,
|
||||||
|
mockNavigatedObject,
|
||||||
|
mockNavigationService,
|
||||||
mockEvent,
|
mockEvent,
|
||||||
mockPopup,
|
mockPopup,
|
||||||
mockActionContext,
|
mockActionContext,
|
||||||
@ -67,9 +69,11 @@ define(
|
|||||||
]);
|
]);
|
||||||
mockRootScope = jasmine.createSpyObj("$rootScope", ["$new"]);
|
mockRootScope = jasmine.createSpyObj("$rootScope", ["$new"]);
|
||||||
mockAgentService = jasmine.createSpyObj("agentService", ["isMobile"]);
|
mockAgentService = jasmine.createSpyObj("agentService", ["isMobile"]);
|
||||||
|
mockNavigationService = jasmine.createSpyObj("navigationService", ["getNavigation"]);
|
||||||
mockScope = jasmine.createSpyObj("scope", ["$destroy"]);
|
mockScope = jasmine.createSpyObj("scope", ["$destroy"]);
|
||||||
mockElement = jasmine.createSpyObj("element", JQLITE_FUNCTIONS);
|
mockElement = jasmine.createSpyObj("element", JQLITE_FUNCTIONS);
|
||||||
mockDomainObject = jasmine.createSpyObj("domainObject", DOMAIN_OBJECT_METHODS);
|
mockDomainObject = jasmine.createSpyObj("domainObject", DOMAIN_OBJECT_METHODS);
|
||||||
|
mockNavigatedObject = jasmine.createSpyObj("domainObject", DOMAIN_OBJECT_METHODS);
|
||||||
mockEvent = jasmine.createSpyObj("event", ["preventDefault", "stopPropagation"]);
|
mockEvent = jasmine.createSpyObj("event", ["preventDefault", "stopPropagation"]);
|
||||||
mockEvent.pageX = 123;
|
mockEvent.pageX = 123;
|
||||||
mockEvent.pageY = 321;
|
mockEvent.pageY = 321;
|
||||||
@ -79,6 +83,7 @@ define(
|
|||||||
mockDocument.find.andReturn(mockBody);
|
mockDocument.find.andReturn(mockBody);
|
||||||
mockRootScope.$new.andReturn(mockScope);
|
mockRootScope.$new.andReturn(mockScope);
|
||||||
mockPopupService.display.andReturn(mockPopup);
|
mockPopupService.display.andReturn(mockPopup);
|
||||||
|
mockNavigationService.getNavigation.andReturn(mockNavigatedObject);
|
||||||
|
|
||||||
mockActionContext = {key: 'menu', domainObject: mockDomainObject, event: mockEvent};
|
mockActionContext = {key: 'menu', domainObject: mockDomainObject, event: mockEvent};
|
||||||
|
|
||||||
@ -88,6 +93,7 @@ define(
|
|||||||
mockRootScope,
|
mockRootScope,
|
||||||
mockPopupService,
|
mockPopupService,
|
||||||
mockAgentService,
|
mockAgentService,
|
||||||
|
mockNavigationService,
|
||||||
mockActionContext
|
mockActionContext
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
@ -182,6 +188,15 @@ define(
|
|||||||
expect(mockBody.off).not.toHaveBeenCalled();
|
expect(mockBody.off).not.toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("is not active when in edit mode", function () {
|
||||||
|
mockNavigatedObject.hasCapability.andReturn(true);
|
||||||
|
|
||||||
|
// Show the menu
|
||||||
|
action.perform();
|
||||||
|
|
||||||
|
expect(mockPopupService.display).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
it("keeps a menu when menu is clicked on mobile", function () {
|
it("keeps a menu when menu is clicked on mobile", function () {
|
||||||
mockAgentService.isMobile.andReturn(true);
|
mockAgentService.isMobile.andReturn(true);
|
||||||
action = new ContextMenuAction(
|
action = new ContextMenuAction(
|
||||||
@ -190,6 +205,7 @@ define(
|
|||||||
mockRootScope,
|
mockRootScope,
|
||||||
mockPopupService,
|
mockPopupService,
|
||||||
mockAgentService,
|
mockAgentService,
|
||||||
|
mockNavigationService,
|
||||||
mockActionContext
|
mockActionContext
|
||||||
);
|
);
|
||||||
action.perform();
|
action.perform();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user