mirror of https://github.com/apache/nifi.git
NIFI-1580 - Allow double-click to display config
* Added double-click shortcut opening config/details dialog to processors, connections, ports and labels. * Created a base for further default action selection, disabling, etc. * Omitted default action configuration UI - that might be a separate JIRA ticket.
This commit is contained in:
parent
cf49a58ee7
commit
ef9cb5be23
|
@ -466,6 +466,7 @@
|
||||||
<include>${staging.dir}/js/nf/canvas/nf-connection-configuration.js</include>
|
<include>${staging.dir}/js/nf/canvas/nf-connection-configuration.js</include>
|
||||||
<include>${staging.dir}/js/nf/nf-connection-details.js</include>
|
<include>${staging.dir}/js/nf/nf-connection-details.js</include>
|
||||||
<include>${staging.dir}/js/nf/canvas/nf-context-menu.js</include>
|
<include>${staging.dir}/js/nf/canvas/nf-context-menu.js</include>
|
||||||
|
<include>${staging.dir}/js/nf/canvas/nf-quick-select.js</include>
|
||||||
<include>${staging.dir}/js/nf/canvas/nf-selectable.js</include>
|
<include>${staging.dir}/js/nf/canvas/nf-selectable.js</include>
|
||||||
<include>${staging.dir}/js/nf/canvas/nf-birdseye.js</include>
|
<include>${staging.dir}/js/nf/canvas/nf-birdseye.js</include>
|
||||||
<include>${staging.dir}/js/nf/canvas/nf-draggable.js</include>
|
<include>${staging.dir}/js/nf/canvas/nf-draggable.js</include>
|
||||||
|
|
|
@ -50,6 +50,7 @@ nf.canvas.script.tags=<script type="text/javascript" src="js/nf/nf-ng-bridge.js?
|
||||||
<script type="text/javascript" src="js/nf/canvas/nf-connection-configuration.js?${project.version}"></script>\n\
|
<script type="text/javascript" src="js/nf/canvas/nf-connection-configuration.js?${project.version}"></script>\n\
|
||||||
<script type="text/javascript" src="js/nf/nf-connection-details.js?${project.version}"></script>\n\
|
<script type="text/javascript" src="js/nf/nf-connection-details.js?${project.version}"></script>\n\
|
||||||
<script type="text/javascript" src="js/nf/canvas/nf-context-menu.js?${project.version}"></script>\n\
|
<script type="text/javascript" src="js/nf/canvas/nf-context-menu.js?${project.version}"></script>\n\
|
||||||
|
<script type="text/javascript" src="js/nf/canvas/nf-quick-select.js?${project.version}"></script>\n\
|
||||||
<script type="text/javascript" src="js/nf/canvas/nf-selectable.js?${project.version}"></script>\n\
|
<script type="text/javascript" src="js/nf/canvas/nf-selectable.js?${project.version}"></script>\n\
|
||||||
<script type="text/javascript" src="js/nf/canvas/nf-birdseye.js?${project.version}"></script>\n\
|
<script type="text/javascript" src="js/nf/canvas/nf-birdseye.js?${project.version}"></script>\n\
|
||||||
<script type="text/javascript" src="js/nf/canvas/nf-draggable.js?${project.version}"></script>\n\
|
<script type="text/javascript" src="js/nf/canvas/nf-draggable.js?${project.version}"></script>\n\
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
'nf.Canvas',
|
'nf.Canvas',
|
||||||
'nf.Graph',
|
'nf.Graph',
|
||||||
'nf.ContextMenu',
|
'nf.ContextMenu',
|
||||||
|
'nf.QuickSelect',
|
||||||
'nf.Shell',
|
'nf.Shell',
|
||||||
'nf.Settings',
|
'nf.Settings',
|
||||||
'nf.Snippet',
|
'nf.Snippet',
|
||||||
|
@ -80,8 +81,8 @@
|
||||||
'nf.ng.Canvas.OperateCtrl',
|
'nf.ng.Canvas.OperateCtrl',
|
||||||
'nf.ng.BreadcrumbsDirective',
|
'nf.ng.BreadcrumbsDirective',
|
||||||
'nf.ng.DraggableDirective'],
|
'nf.ng.DraggableDirective'],
|
||||||
function ($, angular, nfCommon, nfCanvasUtils, nfErrorHandler, nfClient, nfClusterSummary, nfDialog, nfStorage, nfCanvas, nfGraph, nfContextMenu, nfShell, nfSettings, nfActions, nfSnippet, nfQueueListing, nfComponentState, nfComponentVersion, nfDraggable, nfConnectable, nfStatusHistory, nfBirdseye, nfConnectionConfiguration, nfControllerService, nfReportingTask, nfPolicyManagement, nfProcessorConfiguration, nfProcessGroupConfiguration, nfControllerServices, nfRemoteProcessGroupConfiguration, nfRemoteProcessGroupPorts, nfPortConfiguration, nfLabelConfiguration, nfProcessorDetails, nfPortDetails, nfConnectionDetails, nfRemoteProcessGroupDetails, nfGoto, nfNgBridge, appCtrl, appConfig, serviceProvider, breadcrumbsCtrl, headerCtrl, flowStatusCtrl, globalMenuCtrl, toolboxCtrl, processorComponent, inputPortComponent, outputPortComponent, processGroupComponent, remoteProcessGroupComponent, funnelComponent, templateComponent, labelComponent, graphControlsCtrl, navigateCtrl, operateCtrl, breadcrumbsDirective, draggableDirective) {
|
function ($, angular, nfCommon, nfCanvasUtils, nfErrorHandler, nfClient, nfClusterSummary, nfDialog, nfStorage, nfCanvas, nfGraph, nfContextMenu, nfQuickSelect, nfShell, nfSettings, nfActions, nfSnippet, nfQueueListing, nfComponentState, nfComponentVersion, nfDraggable, nfConnectable, nfStatusHistory, nfBirdseye, nfConnectionConfiguration, nfControllerService, nfReportingTask, nfPolicyManagement, nfProcessorConfiguration, nfProcessGroupConfiguration, nfControllerServices, nfRemoteProcessGroupConfiguration, nfRemoteProcessGroupPorts, nfPortConfiguration, nfLabelConfiguration, nfProcessorDetails, nfPortDetails, nfConnectionDetails, nfRemoteProcessGroupDetails, nfGoto, nfNgBridge, appCtrl, appConfig, serviceProvider, breadcrumbsCtrl, headerCtrl, flowStatusCtrl, globalMenuCtrl, toolboxCtrl, processorComponent, inputPortComponent, outputPortComponent, processGroupComponent, remoteProcessGroupComponent, funnelComponent, templateComponent, labelComponent, graphControlsCtrl, navigateCtrl, operateCtrl, breadcrumbsDirective, draggableDirective) {
|
||||||
return factory($, angular, nfCommon, nfCanvasUtils, nfErrorHandler, nfClient, nfClusterSummary, nfDialog, nfStorage, nfCanvas, nfGraph, nfContextMenu, nfShell, nfSettings, nfActions, nfSnippet, nfQueueListing, nfComponentState, nfComponentVersion, nfDraggable, nfConnectable, nfStatusHistory, nfBirdseye, nfConnectionConfiguration, nfControllerService, nfReportingTask, nfPolicyManagement, nfProcessorConfiguration, nfProcessGroupConfiguration, nfControllerServices, nfRemoteProcessGroupConfiguration, nfRemoteProcessGroupPorts, nfPortConfiguration, nfLabelConfiguration, nfProcessorDetails, nfPortDetails, nfConnectionDetails, nfRemoteProcessGroupDetails, nfGoto, nfNgBridge, appCtrl, appConfig, serviceProvider, breadcrumbsCtrl, headerCtrl, flowStatusCtrl, globalMenuCtrl, toolboxCtrl, processorComponent, inputPortComponent, outputPortComponent, processGroupComponent, remoteProcessGroupComponent, funnelComponent, templateComponent, labelComponent, graphControlsCtrl, navigateCtrl, operateCtrl, breadcrumbsDirective, draggableDirective);
|
return factory($, angular, nfCommon, nfCanvasUtils, nfErrorHandler, nfClient, nfClusterSummary, nfDialog, nfStorage, nfCanvas, nfGraph, nfContextMenu, nfQuickSelect, nfShell, nfSettings, nfActions, nfSnippet, nfQueueListing, nfComponentState, nfComponentVersion, nfDraggable, nfConnectable, nfStatusHistory, nfBirdseye, nfConnectionConfiguration, nfControllerService, nfReportingTask, nfPolicyManagement, nfProcessorConfiguration, nfProcessGroupConfiguration, nfControllerServices, nfRemoteProcessGroupConfiguration, nfRemoteProcessGroupPorts, nfPortConfiguration, nfLabelConfiguration, nfProcessorDetails, nfPortDetails, nfConnectionDetails, nfRemoteProcessGroupDetails, nfGoto, nfNgBridge, appCtrl, appConfig, serviceProvider, breadcrumbsCtrl, headerCtrl, flowStatusCtrl, globalMenuCtrl, toolboxCtrl, processorComponent, inputPortComponent, outputPortComponent, processGroupComponent, remoteProcessGroupComponent, funnelComponent, templateComponent, labelComponent, graphControlsCtrl, navigateCtrl, operateCtrl, breadcrumbsDirective, draggableDirective);
|
||||||
});
|
});
|
||||||
} else if (typeof exports === 'object' && typeof module === 'object') {
|
} else if (typeof exports === 'object' && typeof module === 'object') {
|
||||||
module.exports = factory(require('jquery'),
|
module.exports = factory(require('jquery'),
|
||||||
|
@ -96,6 +97,7 @@
|
||||||
require('nf.Canvas'),
|
require('nf.Canvas'),
|
||||||
require('nf.Graph'),
|
require('nf.Graph'),
|
||||||
require('nf.ContextMenu'),
|
require('nf.ContextMenu'),
|
||||||
|
require('nf.QuickSelect'),
|
||||||
require('nf.Shell'),
|
require('nf.Shell'),
|
||||||
require('nf.Settings'),
|
require('nf.Settings'),
|
||||||
require('nf.Actions'),
|
require('nf.Actions'),
|
||||||
|
@ -158,6 +160,7 @@
|
||||||
root.nf.Canvas,
|
root.nf.Canvas,
|
||||||
root.nf.Graph,
|
root.nf.Graph,
|
||||||
root.nf.ContextMenu,
|
root.nf.ContextMenu,
|
||||||
|
root.nf.QuickSelect,
|
||||||
root.nf.Shell,
|
root.nf.Shell,
|
||||||
root.nf.Settings,
|
root.nf.Settings,
|
||||||
root.nf.Actions,
|
root.nf.Actions,
|
||||||
|
@ -208,7 +211,7 @@
|
||||||
root.nf.ng.BreadcrumbsDirective,
|
root.nf.ng.BreadcrumbsDirective,
|
||||||
root.nf.ng.DraggableDirective);
|
root.nf.ng.DraggableDirective);
|
||||||
}
|
}
|
||||||
}(this, function ($, angular, nfCommon, nfCanvasUtils, nfErrorHandler, nfClient, nfClusterSummary, nfDialog, nfStorage, nfCanvas, nfGraph, nfContextMenu, nfShell, nfSettings, nfActions, nfSnippet, nfQueueListing, nfComponentState, nfComponentVersion, nfDraggable, nfConnectable, nfStatusHistory, nfBirdseye, nfConnectionConfiguration, nfControllerService, nfReportingTask, nfPolicyManagement, nfProcessorConfiguration, nfProcessGroupConfiguration, nfControllerServices, nfRemoteProcessGroupConfiguration, nfRemoteProcessGroupPorts, nfPortConfiguration, nfLabelConfiguration, nfProcessorDetails, nfPortDetails, nfConnectionDetails, nfRemoteProcessGroupDetails, nfGoto, nfNgBridge, appCtrl, appConfig, serviceProvider, breadcrumbsCtrl, headerCtrl, flowStatusCtrl, globalMenuCtrl, toolboxCtrl, processorComponent, inputPortComponent, outputPortComponent, processGroupComponent, remoteProcessGroupComponent, funnelComponent, templateComponent, labelComponent, graphControlsCtrl, navigateCtrl, operateCtrl, breadcrumbsDirective, draggableDirective) {
|
}(this, function ($, angular, nfCommon, nfCanvasUtils, nfErrorHandler, nfClient, nfClusterSummary, nfDialog, nfStorage, nfCanvas, nfGraph, nfContextMenu, nfQuickSelect, nfShell, nfSettings, nfActions, nfSnippet, nfQueueListing, nfComponentState, nfComponentVersion, nfDraggable, nfConnectable, nfStatusHistory, nfBirdseye, nfConnectionConfiguration, nfControllerService, nfReportingTask, nfPolicyManagement, nfProcessorConfiguration, nfProcessGroupConfiguration, nfControllerServices, nfRemoteProcessGroupConfiguration, nfRemoteProcessGroupPorts, nfPortConfiguration, nfLabelConfiguration, nfProcessorDetails, nfPortDetails, nfConnectionDetails, nfRemoteProcessGroupDetails, nfGoto, nfNgBridge, appCtrl, appConfig, serviceProvider, breadcrumbsCtrl, headerCtrl, flowStatusCtrl, globalMenuCtrl, toolboxCtrl, processorComponent, inputPortComponent, outputPortComponent, processGroupComponent, remoteProcessGroupComponent, funnelComponent, templateComponent, labelComponent, graphControlsCtrl, navigateCtrl, operateCtrl, breadcrumbsDirective, draggableDirective) {
|
||||||
|
|
||||||
var config = {
|
var config = {
|
||||||
urls: {
|
urls: {
|
||||||
|
@ -337,6 +340,7 @@
|
||||||
nfCanvas.View.init();
|
nfCanvas.View.init();
|
||||||
// initialize the context menu and invert control of the actions
|
// initialize the context menu and invert control of the actions
|
||||||
nfContextMenu.init(nfActions);
|
nfContextMenu.init(nfActions);
|
||||||
|
nfQuickSelect.init(nfActions);
|
||||||
// initialize the shell and invert control of the context menu
|
// initialize the shell and invert control of the context menu
|
||||||
nfShell.init(nfContextMenu);
|
nfShell.init(nfContextMenu);
|
||||||
nfNgBridge.injector.get('headerCtrl').init();
|
nfNgBridge.injector.get('headerCtrl').init();
|
||||||
|
|
|
@ -52,6 +52,7 @@
|
||||||
|
|
||||||
var nfSelectable;
|
var nfSelectable;
|
||||||
var nfConnectionConfiguration;
|
var nfConnectionConfiguration;
|
||||||
|
var nfQuickSelect;
|
||||||
var nfContextMenu;
|
var nfContextMenu;
|
||||||
|
|
||||||
// the dimensions for the connection label
|
// the dimensions for the connection label
|
||||||
|
@ -753,7 +754,7 @@
|
||||||
// update URL deep linking params
|
// update URL deep linking params
|
||||||
nfCanvasUtils.setURLParameters();
|
nfCanvasUtils.setURLParameters();
|
||||||
})
|
})
|
||||||
.call(nfContextMenu.activate);
|
.call(nfContextMenu.activate).call(nfQuickSelect.activate);
|
||||||
|
|
||||||
// update the midpoints
|
// update the midpoints
|
||||||
nfCanvasUtils.transition(midpoints, transition)
|
nfCanvasUtils.transition(midpoints, transition)
|
||||||
|
@ -793,7 +794,7 @@
|
||||||
// update URL deep linking params
|
// update URL deep linking params
|
||||||
nfCanvasUtils.setURLParameters();
|
nfCanvasUtils.setURLParameters();
|
||||||
})
|
})
|
||||||
.call(nfContextMenu.activate);
|
.call(nfContextMenu.activate).call(nfQuickSelect.activate);
|
||||||
|
|
||||||
// connection label
|
// connection label
|
||||||
connectionLabelContainer.append('rect')
|
connectionLabelContainer.append('rect')
|
||||||
|
@ -1560,10 +1561,12 @@
|
||||||
*
|
*
|
||||||
* @param nfSelectableRef The nfSelectable module.
|
* @param nfSelectableRef The nfSelectable module.
|
||||||
* @param nfContextMenuRef The nfContextMenu module.
|
* @param nfContextMenuRef The nfContextMenu module.
|
||||||
|
* @param nfQuickSelectRef The nfQuickSelect module.
|
||||||
*/
|
*/
|
||||||
init: function (nfSelectableRef, nfContextMenuRef, nfConnectionConfigurationRef) {
|
init: function (nfSelectableRef, nfContextMenuRef, nfQuickSelectRef, nfConnectionConfigurationRef) {
|
||||||
nfSelectable = nfSelectableRef;
|
nfSelectable = nfSelectableRef;
|
||||||
nfContextMenu = nfContextMenuRef;
|
nfContextMenu = nfContextMenuRef;
|
||||||
|
nfQuickSelect = nfQuickSelectRef;
|
||||||
nfConnectionConfiguration = nfConnectionConfigurationRef;
|
nfConnectionConfiguration = nfConnectionConfigurationRef;
|
||||||
|
|
||||||
connectionMap = d3.map();
|
connectionMap = d3.map();
|
||||||
|
|
|
@ -35,9 +35,10 @@
|
||||||
'nf.Connectable',
|
'nf.Connectable',
|
||||||
'nf.Draggable',
|
'nf.Draggable',
|
||||||
'nf.Selectable',
|
'nf.Selectable',
|
||||||
'nf.ContextMenu'],
|
'nf.ContextMenu',
|
||||||
function ($, d3, nfCommon, nfNgBridge, nfLabel, nfFunnel, nfPort, nfRemoteProcessGroup, nfProcessGroup, nfProcessor, nfConnection, nfConnectionConfiguration, nfCanvasUtils, nfConnectable, nfDraggable, nfSelectable, nfContextMenu) {
|
'nf.QuickSelect'],
|
||||||
return (nf.Graph = factory($, d3, nfCommon, nfNgBridge, nfLabel, nfFunnel, nfPort, nfRemoteProcessGroup, nfProcessGroup, nfProcessor, nfConnection, nfConnectionConfiguration, nfCanvasUtils, nfConnectable, nfDraggable, nfSelectable, nfContextMenu));
|
function ($, d3, nfCommon, nfNgBridge, nfLabel, nfFunnel, nfPort, nfRemoteProcessGroup, nfProcessGroup, nfProcessor, nfConnection, nfConnectionConfiguration, nfCanvasUtils, nfConnectable, nfDraggable, nfSelectable, nfContextMenu, nfQuickSelect) {
|
||||||
|
return (nf.Graph = factory($, d3, nfCommon, nfNgBridge, nfLabel, nfFunnel, nfPort, nfRemoteProcessGroup, nfProcessGroup, nfProcessor, nfConnection, nfConnectionConfiguration, nfCanvasUtils, nfConnectable, nfDraggable, nfSelectable, nfContextMenu, nfQuickSelect));
|
||||||
});
|
});
|
||||||
} else if (typeof exports === 'object' && typeof module === 'object') {
|
} else if (typeof exports === 'object' && typeof module === 'object') {
|
||||||
module.exports = (nf.Graph =
|
module.exports = (nf.Graph =
|
||||||
|
@ -57,7 +58,8 @@
|
||||||
require('nf.Connectable'),
|
require('nf.Connectable'),
|
||||||
require('nf.Draggable'),
|
require('nf.Draggable'),
|
||||||
require('nf.Selectable'),
|
require('nf.Selectable'),
|
||||||
require('nf.ContextMenu')));
|
require('nf.ContextMenu'),
|
||||||
|
require('nf.QuickSelect')));
|
||||||
} else {
|
} else {
|
||||||
nf.Graph = factory(root.$,
|
nf.Graph = factory(root.$,
|
||||||
root.d3,
|
root.d3,
|
||||||
|
@ -75,9 +77,10 @@
|
||||||
root.nf.Connectable,
|
root.nf.Connectable,
|
||||||
root.nf.Draggable,
|
root.nf.Draggable,
|
||||||
root.nf.Selectable,
|
root.nf.Selectable,
|
||||||
root.nf.ContextMenu);
|
root.nf.ContextMenu,
|
||||||
|
root.nf.QuickSelect);
|
||||||
}
|
}
|
||||||
}(this, function ($, d3, nfCommon, nfNgBridge, nfLabel, nfFunnel, nfPort, nfRemoteProcessGroup, nfProcessGroup, nfProcessor, nfConnection, nfConnectionConfiguration, nfCanvasUtils, nfConnectable, nfDraggable, nfSelectable, nfContextMenu) {
|
}(this, function ($, d3, nfCommon, nfNgBridge, nfLabel, nfFunnel, nfPort, nfRemoteProcessGroup, nfProcessGroup, nfProcessor, nfConnection, nfConnectionConfiguration, nfCanvasUtils, nfConnectable, nfDraggable, nfSelectable, nfContextMenu, nfQuickSelect) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var combinePorts = function (contents) {
|
var combinePorts = function (contents) {
|
||||||
|
@ -198,13 +201,13 @@
|
||||||
var nfGraph = {
|
var nfGraph = {
|
||||||
init: function () {
|
init: function () {
|
||||||
// initialize the object responsible for each type of component
|
// initialize the object responsible for each type of component
|
||||||
nfLabel.init(nfConnectable, nfDraggable, nfSelectable, nfContextMenu);
|
nfLabel.init(nfConnectable, nfDraggable, nfSelectable, nfContextMenu, nfQuickSelect);
|
||||||
nfFunnel.init(nfConnectable, nfDraggable, nfSelectable, nfContextMenu);
|
nfFunnel.init(nfConnectable, nfDraggable, nfSelectable, nfContextMenu);
|
||||||
nfPort.init(nfConnectable, nfDraggable, nfSelectable, nfContextMenu);
|
nfPort.init(nfConnectable, nfDraggable, nfSelectable, nfContextMenu, nfQuickSelect);
|
||||||
nfRemoteProcessGroup.init(nfConnectable, nfDraggable, nfSelectable, nfContextMenu);
|
nfRemoteProcessGroup.init(nfConnectable, nfDraggable, nfSelectable, nfContextMenu);
|
||||||
nfProcessGroup.init(nfConnectable, nfDraggable, nfSelectable, nfContextMenu);
|
nfProcessGroup.init(nfConnectable, nfDraggable, nfSelectable, nfContextMenu);
|
||||||
nfProcessor.init(nfConnectable, nfDraggable, nfSelectable, nfContextMenu);
|
nfProcessor.init(nfConnectable, nfDraggable, nfSelectable, nfContextMenu, nfQuickSelect);
|
||||||
nfConnection.init(nfSelectable, nfContextMenu, nfConnectionConfiguration);
|
nfConnection.init(nfSelectable, nfContextMenu, nfQuickSelect, nfConnectionConfiguration);
|
||||||
|
|
||||||
// display the deep link
|
// display the deep link
|
||||||
return nfCanvasUtils.showDeepLink(true);
|
return nfCanvasUtils.showDeepLink(true);
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
var nfConnectable;
|
var nfConnectable;
|
||||||
var nfDraggable;
|
var nfDraggable;
|
||||||
var nfSelectable;
|
var nfSelectable;
|
||||||
|
var nfQuickSelect;
|
||||||
var nfContextMenu;
|
var nfContextMenu;
|
||||||
|
|
||||||
var dimensions = {
|
var dimensions = {
|
||||||
|
@ -142,7 +143,7 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
// always support selecting
|
// always support selecting
|
||||||
label.call(nfSelectable.activate).call(nfContextMenu.activate);
|
label.call(nfSelectable.activate).call(nfContextMenu.activate).call(nfQuickSelect.activate);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -313,12 +314,14 @@
|
||||||
* @param nfDraggableRef The nfDraggable module.
|
* @param nfDraggableRef The nfDraggable module.
|
||||||
* @param nfSelectableRef The nfSelectable module.
|
* @param nfSelectableRef The nfSelectable module.
|
||||||
* @param nfContextMenuRef The nfContextMenu module.
|
* @param nfContextMenuRef The nfContextMenu module.
|
||||||
|
* @param nfQuickSelectRef The nfQuickSelect module.
|
||||||
*/
|
*/
|
||||||
init: function (nfConnectableRef, nfDraggableRef, nfSelectableRef, nfContextMenuRef) {
|
init: function (nfConnectableRef, nfDraggableRef, nfSelectableRef, nfContextMenuRef, nfQuickSelectRef) {
|
||||||
nfConnectable = nfConnectableRef;
|
nfConnectable = nfConnectableRef;
|
||||||
nfDraggable = nfDraggableRef;
|
nfDraggable = nfDraggableRef;
|
||||||
nfSelectable = nfSelectableRef;
|
nfSelectable = nfSelectableRef;
|
||||||
nfContextMenu = nfContextMenuRef;
|
nfContextMenu = nfContextMenuRef;
|
||||||
|
nfQuickSelect = nfQuickSelectRef;
|
||||||
|
|
||||||
labelMap = d3.map();
|
labelMap = d3.map();
|
||||||
removedCache = d3.map();
|
removedCache = d3.map();
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
var nfConnectable;
|
var nfConnectable;
|
||||||
var nfDraggable;
|
var nfDraggable;
|
||||||
var nfSelectable;
|
var nfSelectable;
|
||||||
|
var nfQuickSelect;
|
||||||
var nfContextMenu;
|
var nfContextMenu;
|
||||||
|
|
||||||
var PREVIEW_NAME_LENGTH = 15;
|
var PREVIEW_NAME_LENGTH = 15;
|
||||||
|
@ -192,7 +193,7 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
// make ports selectable
|
// make ports selectable
|
||||||
port.call(nfSelectable.activate).call(nfContextMenu.activate);
|
port.call(nfSelectable.activate).call(nfContextMenu.activate).call(nfQuickSelect.activate);
|
||||||
|
|
||||||
// only activate dragging and connecting if appropriate
|
// only activate dragging and connecting if appropriate
|
||||||
port.filter(function (d) {
|
port.filter(function (d) {
|
||||||
|
@ -529,12 +530,14 @@
|
||||||
* @param nfDraggableRef The nfDraggable module.
|
* @param nfDraggableRef The nfDraggable module.
|
||||||
* @param nfSelectableRef The nfSelectable module.
|
* @param nfSelectableRef The nfSelectable module.
|
||||||
* @param nfContextMenuRef The nfContextMenu module.
|
* @param nfContextMenuRef The nfContextMenu module.
|
||||||
|
* @param nfQuickSelectRef The nfQuickSelect module.
|
||||||
*/
|
*/
|
||||||
init: function (nfConnectableRef, nfDraggableRef, nfSelectableRef, nfContextMenuRef) {
|
init: function (nfConnectableRef, nfDraggableRef, nfSelectableRef, nfContextMenuRef, nfQuickSelectRef) {
|
||||||
nfConnectable = nfConnectableRef;
|
nfConnectable = nfConnectableRef;
|
||||||
nfDraggable = nfDraggableRef;
|
nfDraggable = nfDraggableRef;
|
||||||
nfSelectable = nfSelectableRef;
|
nfSelectable = nfSelectableRef;
|
||||||
nfContextMenu = nfContextMenuRef;
|
nfContextMenu = nfContextMenuRef;
|
||||||
|
nfQuickSelect = nfQuickSelectRef;
|
||||||
|
|
||||||
portMap = d3.map();
|
portMap = d3.map();
|
||||||
removedCache = d3.map();
|
removedCache = d3.map();
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
var nfConnectable;
|
var nfConnectable;
|
||||||
var nfDraggable;
|
var nfDraggable;
|
||||||
var nfSelectable;
|
var nfSelectable;
|
||||||
|
var nfQuickSelect;
|
||||||
var nfContextMenu;
|
var nfContextMenu;
|
||||||
|
|
||||||
var PREVIEW_NAME_LENGTH = 25;
|
var PREVIEW_NAME_LENGTH = 25;
|
||||||
|
@ -181,7 +182,7 @@
|
||||||
.text('\uf132');
|
.text('\uf132');
|
||||||
|
|
||||||
// make processors selectable
|
// make processors selectable
|
||||||
processor.call(nfSelectable.activate).call(nfContextMenu.activate);
|
processor.call(nfSelectable.activate).call(nfContextMenu.activate).call(nfQuickSelect.activate);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -876,12 +877,14 @@
|
||||||
* @param nfDraggableRef The nfDraggable module.
|
* @param nfDraggableRef The nfDraggable module.
|
||||||
* @param nfSelectableRef The nfSelectable module.
|
* @param nfSelectableRef The nfSelectable module.
|
||||||
* @param nfContextMenuRef The nfContextMenu module.
|
* @param nfContextMenuRef The nfContextMenu module.
|
||||||
|
* @param nfQuickSelectRef The nfQuickSelect module.
|
||||||
*/
|
*/
|
||||||
init: function (nfConnectableRef, nfDraggableRef, nfSelectableRef, nfContextMenuRef) {
|
init: function (nfConnectableRef, nfDraggableRef, nfSelectableRef, nfContextMenuRef, nfQuickSelectRef) {
|
||||||
nfConnectable = nfConnectableRef;
|
nfConnectable = nfConnectableRef;
|
||||||
nfDraggable = nfDraggableRef;
|
nfDraggable = nfDraggableRef;
|
||||||
nfSelectable = nfSelectableRef;
|
nfSelectable = nfSelectableRef;
|
||||||
nfContextMenu = nfContextMenuRef;
|
nfContextMenu = nfContextMenuRef;
|
||||||
|
nfQuickSelect = nfQuickSelectRef;
|
||||||
|
|
||||||
processorMap = d3.map();
|
processorMap = d3.map();
|
||||||
removedCache = d3.map();
|
removedCache = d3.map();
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file distributed with
|
||||||
|
* this work for additional information regarding copyright ownership.
|
||||||
|
* The ASF licenses this file to You 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* global define, module, require, exports */
|
||||||
|
|
||||||
|
(function (root, factory) {
|
||||||
|
if (typeof define === 'function' && define.amd) {
|
||||||
|
define(['d3',
|
||||||
|
'nf.CanvasUtils'],
|
||||||
|
function (d3, nfCanvasUtils) {
|
||||||
|
return (nf.QuickSelect = factory(d3, nfCanvasUtils));
|
||||||
|
});
|
||||||
|
} else if (typeof exports === 'object' && typeof module === 'object') {
|
||||||
|
module.exports = (nf.QuickSelect =
|
||||||
|
factory(require('d3'),
|
||||||
|
require('nf.CanvasUtils')));
|
||||||
|
} else {
|
||||||
|
nf.QuickSelect = factory(
|
||||||
|
root.d3,
|
||||||
|
root.nf.CanvasUtils);
|
||||||
|
}
|
||||||
|
}(this, function (d3, nfCanvasUtils) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var nfActions;
|
||||||
|
|
||||||
|
var nfQuickSelect = {
|
||||||
|
/**
|
||||||
|
* Initialize the context menu.
|
||||||
|
*
|
||||||
|
* @param nfActionsRef The nfActions module.
|
||||||
|
*/
|
||||||
|
init: function (nfActionsRef) {
|
||||||
|
nfActions = nfActionsRef;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Attempts to show configuration or details dialog for the specified slection.
|
||||||
|
*/
|
||||||
|
quickSelect: function () {
|
||||||
|
var selection = nfCanvasUtils.getSelection();
|
||||||
|
|
||||||
|
if (nfCanvasUtils.isConfigurable(selection)) {
|
||||||
|
nfActions.showConfiguration(selection);
|
||||||
|
} else if (nfCanvasUtils.hasDetails(selection)) {
|
||||||
|
nfActions.showDetails(selection);
|
||||||
|
}
|
||||||
|
|
||||||
|
// stop propagation and prevent default
|
||||||
|
d3.event.preventDefault();
|
||||||
|
d3.event.stopPropagation();
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Activates the quick select behavior for the components in the specified selection.
|
||||||
|
*
|
||||||
|
* @param {selection} components
|
||||||
|
*/
|
||||||
|
activate: function (components) {
|
||||||
|
components.on('dblclick', function () {
|
||||||
|
// get the clicked component to update selection
|
||||||
|
nfQuickSelect.quickSelect();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return nfQuickSelect;
|
||||||
|
}));
|
Loading…
Reference in New Issue