This is an automated email from the ASF dual-hosted git repository.

scottyaslan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new 650da75  NIFI-9258: - Populating the empty state when a parameter is 
not referenced by any component. - Tweaking margins so the references are 
slightly more compact.
650da75 is described below

commit 650da75f2dbaa15cc10bd64fe102ef0f6d7c8bc3
Author: Matt Gilman <[email protected]>
AuthorDate: Tue Oct 5 15:26:28 2021 -0400

    NIFI-9258:
    - Populating the empty state when a parameter is not referenced by any 
component.
    - Tweaking margins so the references are slightly more compact.
    
    This closes #5442
    
    Signed-off-by: Scott Aslan <[email protected]>
---
 .../webapp/css/new-parameter-context-dialog.css    |  13 +-
 .../webapp/js/nf/canvas/nf-parameter-contexts.js   | 275 +++++++++++----------
 2 files changed, 150 insertions(+), 138 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/new-parameter-context-dialog.css
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/new-parameter-context-dialog.css
index 8b4ef45..a3c3051 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/new-parameter-context-dialog.css
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/css/new-parameter-context-dialog.css
@@ -87,7 +87,7 @@
 #parameter-referencing-components-container {
     position: absolute;
     bottom: 10px;
-    top: 75px;
+    top: 62px;
     width: calc(100% - 5px);
     overflow: auto;
     border: 0 solid #CCCCCC;
@@ -95,6 +95,10 @@
     padding: 2px;
 }
 
+#parameter-referencing-components-container 
div.referencing-component-references {
+    margin: 0;
+}
+
 .referencing-components-template {
     position: relative;
     left: 15px;
@@ -112,7 +116,7 @@
 
 span.parameter-context-referencing-component-name {
     margin-left: 5px;
-    max-width: calc(100% - 70px);
+    max-width: calc(100% - 30px);
 }
 
 #parameter-context-updating-status {
@@ -210,3 +214,8 @@ span.parameter-context-referencing-component-name {
     max-width: calc(100% - 230px);
     z-index: 999;
 }
+
+#parameter-context-referencing-components ul.referencing-component-listing {
+    margin-bottom: 0;
+    margin-left: 10px;
+}
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
index 7e203bd..6ec550d 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-contexts.js
@@ -563,15 +563,13 @@
         loadingDeferred.then(function () {
             resetUsage();
         }).then(function() {
-            var parameterReferencingComponentsContainer = 
$('#parameter-referencing-components-container');
+            var parameterReferencingComponentsContainer = 
$('#parameter-referencing-components-container').empty();
 
             // referencing component will be undefined when a new parameter is 
added
             if (nfCommon.isUndefined(referencingComponents)) {
                 // set to pending
                 $('<div class="referencing-component-container"><span 
class="unset">Pending 
Apply</span></div>').appendTo(parameterReferencingComponentsContainer);
             } else {
-                $('#parameter-referencing-components-container').empty();
-
                 // bin the referencing components according to their type
                 $.each(referencingComponents, function (_, 
referencingComponentEntity) {
                     if (referencingComponentEntity.permissions.canRead === 
true && referencingComponentEntity.permissions.canWrite === true) {
@@ -654,157 +652,162 @@
                     }
                 }
 
-                //sort alphabetically
-                var sortedReferencingProcessGroups = 
referencingProcessGroupsArray.sort(function (a, b) {
-                    if (a.name < b.name) {
-                        return -1;
-                    }
-                    if (a.name > b.name) {
-                        return 1;
-                    }
-                    return 0;
-                });
-
-                sortedReferencingProcessGroups.forEach(function 
(referencingProcessGroup) {
-                    // container for this pg's references
-                    var referencingPgReferencesContainer = $('<div 
class="referencing-component-references"></div>');
-                    
parameterReferencingComponentsContainer.append(referencingPgReferencesContainer);
-
-                    // create the collapsable listing for each PG
-                    var createReferenceBlock = function 
(referencingProcessGroup, list) {
-                        var twist = $('<div class="expansion-button 
collapsed"></div>');
-                        var title = $('<span 
class="referencing-component-title"></span>').text(referencingProcessGroup.name);
-                        var count = $('<span 
class="referencing-component-count"></span>').text('(' + 
(referencingProcessGroup.referencingProcessors.length + 
referencingProcessGroup.referencingControllerServices.length + 
referencingProcessGroup.unauthorizedReferencingComponents.length) + ')');
-                        var referencingComponents = 
$('#referencing-components-template').clone();
-                        referencingComponents.removeAttr('id');
-                        referencingComponents.removeClass('hidden');
-
-                        // create the reference block
-                        var groupTwist = $('<div 
class="referencing-component-block pointer 
unselectable"></div>').data('processGroupId', 
referencingProcessGroup.id).on('click', function () {
-                            if (twist.hasClass('collapsed')) {
-                                groupTwist.append(referencingComponents);
-
-                                var processorContainer = 
groupTwist.find('.parameter-context-referencing-processors');
-                                nfCommon.cleanUpTooltips(processorContainer, 
'div.referencing-component-state');
-                                nfCommon.cleanUpTooltips(processorContainer, 
'div.referencing-component-bulletins');
-                                processorContainer.empty();
-
-                                var controllerServiceContainer = 
groupTwist.find('.parameter-context-referencing-controller-services');
-                                
nfCommon.cleanUpTooltips(controllerServiceContainer, 
'div.referencing-component-state');
-                                
nfCommon.cleanUpTooltips(controllerServiceContainer, 
'div.referencing-component-bulletins');
-                                controllerServiceContainer.empty();
-
-                                var unauthorizedComponentsContainer = 
groupTwist.find('.parameter-context-referencing-unauthorized-components').empty();
-
-                                if 
(referencingProcessGroups[$(this).data('processGroupId')].referencingProcessors.length
 === 0) {
-                                    $('<li 
class="referencing-component-container"><span 
class="unset">None</span></li>').appendTo(processorContainer);
-                                } else {
-                                    // sort the referencing processors
-                                    
referencingProcessGroups[$(this).data('processGroupId')].referencingProcessors.sort(nameComparator);
-
-                                    // render each and register a click handler
-                                    
$.each(referencingProcessGroups[$(this).data('processGroupId')].referencingProcessors,
 function (_, referencingProcessorEntity) {
-                                        
renderReferencingProcessor(referencingProcessorEntity, processorContainer);
-                                    });
-                                }
+                if (nfCommon.isEmpty(referencingProcessGroupsArray)) {
+                    // set to none
+                    $('<div class="referencing-component-container"><span 
class="unset">None</span></div>').appendTo(parameterReferencingComponentsContainer);
+                } else {
+                    //sort alphabetically
+                    var sortedReferencingProcessGroups = 
referencingProcessGroupsArray.sort(function (a, b) {
+                        if (a.name < b.name) {
+                            return -1;
+                        }
+                        if (a.name > b.name) {
+                            return 1;
+                        }
+                        return 0;
+                    });
 
-                                if 
(referencingProcessGroups[$(this).data('processGroupId')].referencingControllerServices.length
 === 0) {
-                                    $('<li 
class="referencing-component-container"><span 
class="unset">None</span></li>').appendTo(controllerServiceContainer);
-                                } else {
-                                    // sort the referencing controller services
-                                    
referencingProcessGroups[$(this).data('processGroupId')].referencingControllerServices.sort(nameComparator);
+                    sortedReferencingProcessGroups.forEach(function 
(referencingProcessGroup) {
+                        // container for this pg's references
+                        var referencingPgReferencesContainer = $('<div 
class="referencing-component-references"></div>');
+                        
parameterReferencingComponentsContainer.append(referencingPgReferencesContainer);
+
+                        // create the collapsable listing for each PG
+                        var createReferenceBlock = function 
(referencingProcessGroup, list) {
+                            var twist = $('<div class="expansion-button 
collapsed"></div>');
+                            var title = $('<span 
class="referencing-component-title"></span>').text(referencingProcessGroup.name);
+                            var count = $('<span 
class="referencing-component-count"></span>').text('(' + 
(referencingProcessGroup.referencingProcessors.length + 
referencingProcessGroup.referencingControllerServices.length + 
referencingProcessGroup.unauthorizedReferencingComponents.length) + ')');
+                            var referencingComponents = 
$('#referencing-components-template').clone();
+                            referencingComponents.removeAttr('id');
+                            referencingComponents.removeClass('hidden');
+
+                            // create the reference block
+                            var groupTwist = $('<div 
class="referencing-component-block pointer 
unselectable"></div>').data('processGroupId', 
referencingProcessGroup.id).on('click', function () {
+                                if (twist.hasClass('collapsed')) {
+                                    groupTwist.append(referencingComponents);
+
+                                    var processorContainer = 
groupTwist.find('.parameter-context-referencing-processors');
+                                    
nfCommon.cleanUpTooltips(processorContainer, 'div.referencing-component-state');
+                                    
nfCommon.cleanUpTooltips(processorContainer, 
'div.referencing-component-bulletins');
+                                    processorContainer.empty();
+
+                                    var controllerServiceContainer = 
groupTwist.find('.parameter-context-referencing-controller-services');
+                                    
nfCommon.cleanUpTooltips(controllerServiceContainer, 
'div.referencing-component-state');
+                                    
nfCommon.cleanUpTooltips(controllerServiceContainer, 
'div.referencing-component-bulletins');
+                                    controllerServiceContainer.empty();
+
+                                    var unauthorizedComponentsContainer = 
groupTwist.find('.parameter-context-referencing-unauthorized-components').empty();
+
+                                    if 
(referencingProcessGroups[$(this).data('processGroupId')].referencingProcessors.length
 === 0) {
+                                        $('<li 
class="referencing-component-container"><span 
class="unset">None</span></li>').appendTo(processorContainer);
+                                    } else {
+                                        // sort the referencing processors
+                                        
referencingProcessGroups[$(this).data('processGroupId')].referencingProcessors.sort(nameComparator);
+
+                                        // render each and register a click 
handler
+                                        
$.each(referencingProcessGroups[$(this).data('processGroupId')].referencingProcessors,
 function (_, referencingProcessorEntity) {
+                                            
renderReferencingProcessor(referencingProcessorEntity, processorContainer);
+                                        });
+                                    }
 
-                                    // render each and register a click handler
-                                    
$.each(referencingProcessGroups[$(this).data('processGroupId')].referencingControllerServices,
 function (_, referencingControllerServiceEntity) {
-                                        
renderReferencingControllerService(referencingControllerServiceEntity, 
controllerServiceContainer);
-                                    });
-                                }
+                                    if 
(referencingProcessGroups[$(this).data('processGroupId')].referencingControllerServices.length
 === 0) {
+                                        $('<li 
class="referencing-component-container"><span 
class="unset">None</span></li>').appendTo(controllerServiceContainer);
+                                    } else {
+                                        // sort the referencing controller 
services
+                                        
referencingProcessGroups[$(this).data('processGroupId')].referencingControllerServices.sort(nameComparator);
 
-                                if 
(referencingProcessGroups[$(this).data('processGroupId')].unauthorizedReferencingComponents.length
 === 0) {
-                                    $('<li 
class="referencing-component-container"><span 
class="unset">None</span></li>').appendTo(unauthorizedComponentsContainer);
-                                } else {
-                                    // sort the unauthorized referencing 
components
-                                    
referencingProcessGroups[$(this).data('processGroupId')].unauthorizedReferencingComponents.sort(function
 (a, b) {
-                                        if (a.permissions.canRead === true && 
b.permissions.canRead === true) {
-                                            // processors before controller 
services
-                                            var sortVal = 
a.component.referenceType === b.component.referenceType ? 0 : 
a.component.referenceType > b.component.referenceType ? -1 : 1;
-
-                                            // if a and b are the same type, 
then sort by name
-                                            if (sortVal === 0) {
-                                                sortVal = a.component.name === 
b.component.name ? 0 : a.component.name > b.component.name ? 1 : -1;
-                                            }
+                                        // render each and register a click 
handler
+                                        
$.each(referencingProcessGroups[$(this).data('processGroupId')].referencingControllerServices,
 function (_, referencingControllerServiceEntity) {
+                                            
renderReferencingControllerService(referencingControllerServiceEntity, 
controllerServiceContainer);
+                                        });
+                                    }
 
-                                            return sortVal;
-                                        } else {
+                                    if 
(referencingProcessGroups[$(this).data('processGroupId')].unauthorizedReferencingComponents.length
 === 0) {
+                                        $('<li 
class="referencing-component-container"><span 
class="unset">None</span></li>').appendTo(unauthorizedComponentsContainer);
+                                    } else {
+                                        // sort the unauthorized referencing 
components
+                                        
referencingProcessGroups[$(this).data('processGroupId')].unauthorizedReferencingComponents.sort(function
 (a, b) {
+                                            if (a.permissions.canRead === true 
&& b.permissions.canRead === true) {
+                                                // processors before 
controller services
+                                                var sortVal = 
a.component.referenceType === b.component.referenceType ? 0 : 
a.component.referenceType > b.component.referenceType ? -1 : 1;
+
+                                                // if a and b are the same 
type, then sort by name
+                                                if (sortVal === 0) {
+                                                    sortVal = a.component.name 
=== b.component.name ? 0 : a.component.name > b.component.name ? 1 : -1;
+                                                }
 
-                                            // if lacking read and write perms 
on both, sort by id
-                                            if (a.permissions.canRead === 
false && b.permissions.canRead === false) {
-                                                return a.id > b.id ? 1 : -1;
+                                                return sortVal;
                                             } else {
-                                                // if only one has read perms, 
then let it come first
-                                                if (a.permissions.canRead === 
true) {
-                                                    return -1;
+
+                                                // if lacking read and write 
perms on both, sort by id
+                                                if (a.permissions.canRead === 
false && b.permissions.canRead === false) {
+                                                    return a.id > b.id ? 1 : 
-1;
                                                 } else {
-                                                    return 1;
+                                                    // if only one has read 
perms, then let it come first
+                                                    if (a.permissions.canRead 
=== true) {
+                                                        return -1;
+                                                    } else {
+                                                        return 1;
+                                                    }
                                                 }
                                             }
-                                        }
-                                    });
+                                        });
 
-                                    
$.each(referencingProcessGroups[$(this).data('processGroupId')].unauthorizedReferencingComponents,
 function (_, unauthorizedReferencingComponentEntity) {
-                                        if 
(unauthorizedReferencingComponentEntity.permissions.canRead === true) {
-                                            if 
(unauthorizedReferencingComponentEntity.component.referenceType === 
'PROCESSOR') {
-                                                
renderReferencingProcessor(unauthorizedReferencingComponentEntity, 
unauthorizedComponentsContainer);
+                                        
$.each(referencingProcessGroups[$(this).data('processGroupId')].unauthorizedReferencingComponents,
 function (_, unauthorizedReferencingComponentEntity) {
+                                            if 
(unauthorizedReferencingComponentEntity.permissions.canRead === true) {
+                                                if 
(unauthorizedReferencingComponentEntity.component.referenceType === 
'PROCESSOR') {
+                                                    
renderReferencingProcessor(unauthorizedReferencingComponentEntity, 
unauthorizedComponentsContainer);
+                                                } else {
+                                                    
renderReferencingControllerService(unauthorizedReferencingComponentEntity, 
unauthorizedComponentsContainer);
+                                                }
                                             } else {
-                                                
renderReferencingControllerService(unauthorizedReferencingComponentEntity, 
unauthorizedComponentsContainer);
+                                                var 
referencingUnauthorizedComponentContainer = $('<li 
class="referencing-component-container"></li>').appendTo(unauthorizedComponentsContainer);
+                                                $('<span 
class="parameter-context-referencing-component-name link ellipsis"></span>')
+                                                    .prop('title', 
unauthorizedReferencingComponentEntity.id)
+                                                    
.text(unauthorizedReferencingComponentEntity.id)
+                                                    .on('click', function () {
+                                                        // check if there are 
outstanding changes
+                                                        
handleOutstandingChanges().done(function () {
+                                                            // close the shell
+                                                            
$('#shell-dialog').modal('hide');
+
+                                                            // show the 
component in question
+                                                            if 
(unauthorizedReferencingComponentEntity.referenceType === 'PROCESSOR') {
+                                                                
nfCanvasUtils.showComponent(unauthorizedReferencingComponentEntity.processGroup.id,
 unauthorizedReferencingComponentEntity.id);
+                                                            } else if 
(unauthorizedReferencingComponentEntity.referenceType === 'CONTROLLER_SERVICE') 
{
+                                                                
nfProcessGroupConfiguration.showConfiguration(unauthorizedReferencingComponentEntity.processGroup.id).done(function
 () {
+                                                                    
nfProcessGroup.enterGroup(unauthorizedReferencingComponentEntity.processGroup.id);
+                                                                    
nfProcessGroupConfiguration.selectControllerService(unauthorizedReferencingComponentEntity.id);
+                                                                });
+                                                            }
+                                                        });
+                                                    })
+                                                    
.appendTo(referencingUnauthorizedComponentContainer);
                                             }
-                                        } else {
-                                            var 
referencingUnauthorizedComponentContainer = $('<li 
class="referencing-component-container"></li>').appendTo(unauthorizedComponentsContainer);
-                                            $('<span 
class="parameter-context-referencing-component-name link ellipsis"></span>')
-                                                .prop('title', 
unauthorizedReferencingComponentEntity.id)
-                                                
.text(unauthorizedReferencingComponentEntity.id)
-                                                .on('click', function () {
-                                                    // check if there are 
outstanding changes
-                                                    
handleOutstandingChanges().done(function () {
-                                                        // close the shell
-                                                        
$('#shell-dialog').modal('hide');
-
-                                                        // show the component 
in question
-                                                        if 
(unauthorizedReferencingComponentEntity.referenceType === 'PROCESSOR') {
-                                                            
nfCanvasUtils.showComponent(unauthorizedReferencingComponentEntity.processGroup.id,
 unauthorizedReferencingComponentEntity.id);
-                                                        } else if 
(unauthorizedReferencingComponentEntity.referenceType === 'CONTROLLER_SERVICE') 
{
-                                                            
nfProcessGroupConfiguration.showConfiguration(unauthorizedReferencingComponentEntity.processGroup.id).done(function
 () {
-                                                                
nfProcessGroup.enterGroup(unauthorizedReferencingComponentEntity.processGroup.id);
-                                                                
nfProcessGroupConfiguration.selectControllerService(unauthorizedReferencingComponentEntity.id);
-                                                            });
-                                                        }
-                                                    });
-                                                })
-                                                
.appendTo(referencingUnauthorizedComponentContainer);
-                                        }
-                                    });
+                                        });
+                                    }
+                                } else {
+                                    
groupTwist.find('.referencing-components-template').remove();
                                 }
-                            } else {
-                                
groupTwist.find('.referencing-components-template').remove();
-                            }
 
-                            // toggle this block
-                            toggle(twist, list);
+                                // toggle this block
+                                toggle(twist, list);
 
-                            // update the border if necessary
-                            
updateReferencingComponentsBorder($('#parameter-referencing-components-container'));
-                        
}).append(twist).append(title).append(count).appendTo(referencingPgReferencesContainer);
+                                // update the border if necessary
+                                
updateReferencingComponentsBorder($('#parameter-referencing-components-container'));
+                            
}).append(twist).append(title).append(count).appendTo(referencingPgReferencesContainer);
 
-                        // add the listing
-                        list.appendTo(referencingPgReferencesContainer);
+                            // add the listing
+                            list.appendTo(referencingPgReferencesContainer);
 
-                        // expand the group twist
-                        groupTwist.click();
-                    };
+                            // expand the group twist
+                            groupTwist.click();
+                        };
 
-                    // create block for this process group
-                    createReferenceBlock(referencingProcessGroup, groups);
-                });
+                        // create block for this process group
+                        createReferenceBlock(referencingProcessGroup, groups);
+                    });
+                }
             }
         })
         .always(function () {

Reply via email to