mirror of https://github.com/apache/nifi.git
NIFI-3369 - Disable "Add" button on new...
...connection dialog if no relationships selected Disabled confirmation button for both Create and Configure Connection dialogs when no relationship was selected. Signed-off-by: Scott Aslan <scottyaslan@gmail.com> This closes #2152
This commit is contained in:
parent
0e50279467
commit
1f1269c817
|
@ -73,6 +73,16 @@
|
|||
d3.select('path.connector').remove();
|
||||
};
|
||||
|
||||
/**
|
||||
* Activates dialog's button model refresh on a connection relationships change.
|
||||
*/
|
||||
var addDialogRelationshipsChangeListener = function() {
|
||||
// refresh button model when a relationship selection changes
|
||||
$('div.available-relationship').bind('change', function() {
|
||||
$('#connection-configuration').modal('refreshButtons');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the source in the new connection dialog.
|
||||
*
|
||||
|
@ -90,6 +100,8 @@
|
|||
createRelationshipOption(relationship.name);
|
||||
});
|
||||
|
||||
addDialogRelationshipsChangeListener();
|
||||
|
||||
// if there is a single relationship auto select
|
||||
var relationships = $('#relationship-names').children('div');
|
||||
if (relationships.length === 1) {
|
||||
|
@ -104,21 +116,13 @@
|
|||
hover: '#004849',
|
||||
text: '#ffffff'
|
||||
},
|
||||
disabled: function () {
|
||||
// ensure some relationships were selected
|
||||
return getSelectedRelationships().length === 0;
|
||||
},
|
||||
handler: {
|
||||
click: function () {
|
||||
// get the selected relationships
|
||||
var selectedRelationships = getSelectedRelationships();
|
||||
|
||||
// ensure some relationships were selected
|
||||
if (selectedRelationships.length > 0) {
|
||||
addConnection(selectedRelationships);
|
||||
} else {
|
||||
// inform users that no relationships were selected
|
||||
nfDialog.showOkDialog({
|
||||
headerText: 'Connection Configuration',
|
||||
dialogContent: 'The connection must have at least one relationship selected.'
|
||||
});
|
||||
}
|
||||
addConnection(getSelectedRelationships());
|
||||
|
||||
// close the dialog
|
||||
$('#connection-configuration').modal('hide');
|
||||
|
@ -1331,6 +1335,8 @@
|
|||
createRelationshipOption(name);
|
||||
});
|
||||
|
||||
addDialogRelationshipsChangeListener();
|
||||
|
||||
// ensure all selected relationships are present
|
||||
// (may be undefined) and selected
|
||||
$.each(selectedRelationships, function (i, name) {
|
||||
|
@ -1395,30 +1401,23 @@
|
|||
hover: '#004849',
|
||||
text: '#ffffff'
|
||||
},
|
||||
disabled: function () {
|
||||
// ensure some relationships were selected with a processor as the source
|
||||
if (nfCanvasUtils.isProcessor(source)) {
|
||||
return getSelectedRelationships().length === 0;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
handler: {
|
||||
click: function () {
|
||||
// get the selected relationships
|
||||
var selectedRelationships = getSelectedRelationships();
|
||||
|
||||
// see if we're working with a processor as the source
|
||||
if (nfCanvasUtils.isProcessor(source)) {
|
||||
if (selectedRelationships.length > 0) {
|
||||
// if there are relationships selected update
|
||||
updateConnection(selectedRelationships).done(function () {
|
||||
// update the selected relationships
|
||||
updateConnection(getSelectedRelationships()).done(function () {
|
||||
deferred.resolve();
|
||||
}).fail(function () {
|
||||
deferred.reject();
|
||||
});
|
||||
} else {
|
||||
// inform users that no relationships were selected and the source is a processor
|
||||
nfDialog.showOkDialog({
|
||||
headerText: 'Connection Configuration',
|
||||
dialogContent: 'The connection must have at least one relationship selected.'
|
||||
});
|
||||
|
||||
// reject the deferred
|
||||
deferred.reject();
|
||||
}
|
||||
} else {
|
||||
// there are no relationships, but the source wasn't a processor, so update anyway
|
||||
updateConnection(undefined).done(function () {
|
||||
|
|
|
@ -61,6 +61,8 @@
|
|||
} else {
|
||||
checkbox.removeClass('checkbox-checked').addClass('checkbox-unchecked');
|
||||
}
|
||||
// emit a state change event
|
||||
checkbox.trigger('change');
|
||||
});
|
||||
|
||||
// setup click areas for custom checkboxes
|
||||
|
|
Loading…
Reference in New Issue