You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mc...@apache.org on 2022/10/28 20:23:25 UTC

[nifi] branch main updated: NIFI-10715: improve tooltips in parameter providers (#6598)

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

mcgilman 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 e862a02df6 NIFI-10715: improve tooltips in parameter providers (#6598)
e862a02df6 is described below

commit e862a02df60e9415fee12b4c740318f8e2960119
Author: M Tien <56...@users.noreply.github.com>
AuthorDate: Fri Oct 28 13:23:18 2022 -0700

    NIFI-10715: improve tooltips in parameter providers (#6598)
    
    * NIFI-10715: clean up tooltips in parameter providers
    
    * more clean up
    
    This closes #6598
---
 .../webapp/js/nf/canvas/nf-parameter-provider.js   | 87 ++++++++++++----------
 1 file changed, 49 insertions(+), 38 deletions(-)

diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-provider.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-provider.js
index c943bba7ee..4d9c2846eb 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-provider.js
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-parameter-provider.js
@@ -98,9 +98,6 @@
     // load the controller services
     var controllerServicesUri = config.urls.api + '/flow/controller/controller-services';
 
-    var groupCount = 0;
-    var parameterCount = 0;
-
     var SENSITIVE = 'SENSITIVE';
     var NON_SENSITIVE = 'NON_SENSITIVE';
 
@@ -629,9 +626,6 @@
             var updatedParameterProviderEntity = _.cloneDeep(response);
             currentParameterProviderEntity = response;
 
-            groupCount = 0;
-            parameterCount = 0;
-
             // populate the fetch parameters dialog
             $('#fetch-parameters-id').text(updatedParameterProviderEntity.id);
             $('#fetch-parameters-name').text(nfCommon.getComponentName(updatedParameterProviderEntity));
@@ -860,6 +854,7 @@
     var loadParameterGroups = function (parameterProviderGroupEntity) {
         // providedGroups will be an array of groups
         if (nfCommon.isDefinedAndNotNull(parameterProviderGroupEntity)) {
+            var groupCount = 0;
             var groupsGrid = $('#parameter-groups-table').data('gridInstance');
             var groupsData = groupsGrid.getData();
 
@@ -2501,6 +2496,10 @@
 
         selectableParametersGrid.setSortColumn('name', true);
         selectableParametersGrid.onSort.subscribe(function (e, args) {
+            // clean up tooltips
+            nfCommon.cleanUpTooltips($('#selectable-parameters-table'), 'div.fa-asterisk');
+            nfCommon.cleanUpTooltips($('#selectable-parameters-table'), 'div.fa-hashtag');
+
             sortParameters({
                 columnId: args.sortCol.id,
                 sortAsc: args.sortAsc
@@ -2601,33 +2600,38 @@
         selectableParametersTable.data('gridInstance', selectableParametersGrid).on('mouseenter', 'div.slick-cell', function (e) {
             var asteriskIconElement =  $(this).find('div.fa-asterisk');
 
-            var asteriskTooltipContent = '';
-            if (asteriskIconElement.hasClass('new')) {
-                asteriskTooltipContent = nfCommon.escapeHtml('Newly discovered parameter.');
-            } else if (asteriskIconElement.hasClass('changed')) {
-                asteriskTooltipContent = nfCommon.escapeHtml('Value has changed.');
-            } else if (asteriskIconElement.hasClass('removed')) {
-                asteriskTooltipContent = nfCommon.escapeHtml('Parameter has been removed from its source. Apply to remove from the synced parameter context.');
-            } else if (asteriskIconElement.hasClass('missing_but_referenced')) {
-                asteriskTooltipContent = nfCommon.escapeHtml('Parameter has been removed from its source and is still being referenced in a component. To remove the parameter from the parameter context, first un-reference the parameter, then re-fetch and apply.');
-            }
+            if (asteriskIconElement.length && !asteriskIconElement.data('qtip')) {
+                var asteriskTooltipContent = '';
+
+                if (asteriskIconElement.hasClass('new')) {
+                    asteriskTooltipContent = nfCommon.escapeHtml('Newly discovered parameter.');
+                } else if (asteriskIconElement.hasClass('changed')) {
+                    asteriskTooltipContent = nfCommon.escapeHtml('Value has changed.');
+                } else if (asteriskIconElement.hasClass('removed')) {
+                    asteriskTooltipContent = nfCommon.escapeHtml('Parameter has been removed from its source. Apply to remove from the synced parameter context.');
+                } else if (asteriskIconElement.hasClass('missing_but_referenced')) {
+                    asteriskTooltipContent = nfCommon.escapeHtml('Parameter has been removed from its source and is still being referenced in a component. To remove the parameter from the parameter context, first un-reference the parameter, then re-fetch and apply.');
+                }
 
-            // initialize tooltip
-            asteriskIconElement.qtip($.extend({},
-                nfCommon.config.tooltipConfig,
-                {
-                    content: asteriskTooltipContent
-                }));
+                // initialize tooltip
+                asteriskIconElement.qtip($.extend({},
+                    nfCommon.config.tooltipConfig,
+                    {
+                        content: asteriskTooltipContent
+                    }));
+            }
 
             var hashtagIconElement =  $(this).find('div.fa-hashtag');
-            var hashtagTooltipContent = nfCommon.escapeHtml('This parameter is currently referenced by a property. The sensitivity cannot be changed.');
-
-            // initialize tooltip
-            hashtagIconElement.qtip($.extend({},
-                nfCommon.config.tooltipConfig,
-                {
-                    content: hashtagTooltipContent
-                }));
+            if (hashtagIconElement.length && !hashtagIconElement.data('qtip')) {
+                var hashtagTooltipContent = nfCommon.escapeHtml('This parameter is currently referenced by a property. The sensitivity cannot be changed.');
+
+                // initialize tooltip
+                hashtagIconElement.qtip($.extend({},
+                    nfCommon.config.tooltipConfig,
+                    {
+                        content: hashtagTooltipContent
+                    }));
+            }
         });
 
         /**
@@ -2748,6 +2752,9 @@
         groupsGrid.registerPlugin(new Slick.AutoTooltips());
         groupsGrid.setSortColumn('name', true);
         groupsGrid.onSort.subscribe(function (e, args) {
+            // clean up tooltips
+            nfCommon.cleanUpTooltips($('#parameter-groups-table'), 'div.fa-star');
+
             sortParameters({
                 columnId: args.sortCol.id,
                 sortAsc: args.sortAsc
@@ -2809,14 +2816,16 @@
         // hold onto an instance of the grid and create parameter context tooltip
         parameterGroupsTable.data('gridInstance', groupsGrid).on('mouseenter', 'div.slick-cell', function (e) {
             var starIconElement =  $(this).find('div.fa-star');
-            var tooltipContent = nfCommon.escapeHtml('Synced to a parameter context.');
-
-            // initialize tooltip
-            starIconElement.qtip($.extend({},
-                nfCommon.config.tooltipConfig,
-                {
-                    content: tooltipContent
-                }));
+            if (starIconElement.length && !starIconElement.data('qtip')) {
+                var tooltipContent = nfCommon.escapeHtml('Synced to a parameter context.');
+
+                // initialize tooltip
+                starIconElement.qtip($.extend({},
+                    nfCommon.config.tooltipConfig,
+                    {
+                        content: tooltipContent
+                    }));
+            }
         });
     };
     // end initParameterGroupTable
@@ -2967,6 +2976,8 @@
 
                         // clean up tooltips
                         nfCommon.cleanUpTooltips($('#parameter-groups-table'), 'div.fa-star');
+                        nfCommon.cleanUpTooltips($('#selectable-parameters-table'), 'div.fa-asterisk');
+                        nfCommon.cleanUpTooltips($('#selectable-parameters-table'), 'div.fa-hashtag');
 
                         // reset progress
                         $('div.parameter-contexts-to-update').removeClass('ajax-loading ajax-complete ajax-error');