mirror of https://github.com/apache/nifi.git
NIFI-4764: Add tooltips to status bar icons
add tooltip to process groups cleanup This closes #2394
This commit is contained in:
parent
bcac2766bc
commit
39a484b631
|
@ -149,7 +149,13 @@ image::nifi-toolbar-components.png["NiFi Components Toolbar"]
|
|||
The Components Toolbar runs across the top left portion of your screen. It consists of the components you can drag onto the
|
||||
canvas to build your dataflow. Each component is described in more detail in link:building-dataflow.html[Building a Dataflow].
|
||||
|
||||
The Status Bar is under the Components Toolbar. The Status bar provides information about the number of threads that are currently active in the flow, the amount of data that currently exists in the flow, how many Remote Process Groups exist on the canvas in each state (Transmitting, Not Transmitting), how many Processors exist on the canvas in each state (Stopped, Running, Invalid, Disabled), how many versioned Process Groups exist on the canvas in each state (Up to date, Locally modified, Stale, Locally modified and stale, Sync failure) and the timestamp at which all of this information was last refreshed. Additionally, if the instance of NiFi is clustered, the Status bar shows how many nodes are in the cluster and how many are currently connected.
|
||||
The Status Bar is under the Components Toolbar. The Status bar provides information about the number of threads that are
|
||||
currently active in the flow, the amount of data that currently exists in the flow, how many Remote Process Groups exist
|
||||
on the canvas in each state (Transmitting, Not Transmitting), how many Processors exist on the canvas in each state
|
||||
(Stopped, Running, Invalid, Disabled), how many versioned Process Groups exist on the canvas in each state (Up to date,
|
||||
Locally modified, Stale, Locally modified and stale, Sync failure) and the timestamp at which all of this information
|
||||
was last refreshed. Additionally, if the instance of NiFi is clustered, the Status bar shows how many nodes are in the
|
||||
cluster and how many are currently connected.
|
||||
|
||||
The Operate Palette sits to the left-hand side of the screen. It consists of buttons that are
|
||||
used by DFMs to manage the flow, as well as by administrators who manage user access
|
||||
|
|
|
@ -17,23 +17,23 @@
|
|||
<%@ page contentType="text/html" pageEncoding="UTF-8" session="false" %>
|
||||
<div id="flow-status" flex layout="row" layout-align="space-between center">
|
||||
<div id="flow-status-container" layout="row" layout-align="space-around center">
|
||||
<div class="fa fa-cubes" ng-if="appCtrl.nf.ClusterSummary.isClustered()"><span id="connected-nodes-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.connectedNodesCount}}</span></div>
|
||||
<div class="icon icon-threads"><span id="active-thread-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.activeThreadCount}}</span></div>
|
||||
<div class="fa fa-list"><span id="total-queued">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.totalQueued}}</span></div>
|
||||
<div class="fa fa-bullseye"><span id="controller-transmitting-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerTransmittingCount}}</span></div>
|
||||
<div class="icon icon-transmit-false"><span id="controller-not-transmitting-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerNotTransmittingCount}}</span></div>
|
||||
<div class="fa fa-play"><span id="controller-running-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerRunningCount}}</span></div>
|
||||
<div class="fa fa-stop"><span id="controller-stopped-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerStoppedCount}}</span></div>
|
||||
<div class="fa fa-warning"><span id="controller-invalid-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerInvalidCount}}</span></div>
|
||||
<div class="icon icon-enable-false"><span id="controller-disabled-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerDisabledCount}}</span></div>
|
||||
<div class="fa fa-check"><span id="controller-up-to-date-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerUpToDateCount}}</span></div>
|
||||
<div class="fa fa-asterisk"><span id="controller-locally-modified-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerLocallyModifiedCount}}</span></div>
|
||||
<div class="fa fa-arrow-circle-up"><span id="controller-stale-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerStaleCount}}</span></div>
|
||||
<div class="fa fa-exclamation-circle">
|
||||
<div class="fa fa-cubes" ng-if="appCtrl.nf.ClusterSummary.isClustered()" title="Connected nodes / Total number of nodes in the cluster"><span id="connected-nodes-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.connectedNodesCount}}</span></div>
|
||||
<div class="icon icon-threads" title="Active threads"><span id="active-thread-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.activeThreadCount}}</span></div>
|
||||
<div class="fa fa-list" title="Total queued data"><span id="total-queued">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.totalQueued}}</span></div>
|
||||
<div class="fa fa-bullseye" title="Transmitting Remote Process Groups"><span id="controller-transmitting-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerTransmittingCount}}</span></div>
|
||||
<div class="icon icon-transmit-false" title="Not Transmitting Remote Process Groups"><span id="controller-not-transmitting-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerNotTransmittingCount}}</span></div>
|
||||
<div class="fa fa-play" title="Running Components"><span id="controller-running-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerRunningCount}}</span></div>
|
||||
<div class="fa fa-stop" title="Stopped Components"><span id="controller-stopped-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerStoppedCount}}</span></div>
|
||||
<div class="fa fa-warning" title="Invalid Components"><span id="controller-invalid-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerInvalidCount}}</span></div>
|
||||
<div class="icon icon-enable-false" title="Disabled Components"><span id="controller-disabled-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerDisabledCount}}</span></div>
|
||||
<div class="fa fa-check" title="Up to date Versioned Process Groups"><span id="controller-up-to-date-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerUpToDateCount}}</span></div>
|
||||
<div class="fa fa-asterisk" title="Locally modified Versioned Process Groups"><span id="controller-locally-modified-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerLocallyModifiedCount}}</span></div>
|
||||
<div class="fa fa-arrow-circle-up" title="Stale Versioned Process Groups"><span id="controller-stale-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerStaleCount}}</span></div>
|
||||
<div class="fa fa-exclamation-circle" title="Locally modified and stale Versioned Process Groups">
|
||||
<span id="controller-locally-modified-and-stale-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerLocallyModifiedAndStaleCount}}</span>
|
||||
</div>
|
||||
<div class="fa fa-question"><span id="controller-sync-failure-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerSyncFailureCount}}</span></div>
|
||||
<div class="fa fa-refresh"><span id="stats-last-refreshed">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.statsLastRefreshed}}</span></div>
|
||||
<div class="fa fa-question" title="Sync failure Versioned Process Groups"><span id="controller-sync-failure-count">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.controllerSyncFailureCount}}</span></div>
|
||||
<div class="fa fa-refresh" title="Last refresh"><span id="stats-last-refreshed">{{appCtrl.serviceProvider.headerCtrl.flowStatusCtrl.statsLastRefreshed}}</span></div>
|
||||
<div id="canvas-loading-container" class="loading-container"></div>
|
||||
</div>
|
||||
<div layout="row" layout-align="end center">
|
||||
|
|
|
@ -308,7 +308,10 @@
|
|||
'class': 'process-group-transmitting process-group-contents-icon',
|
||||
'font-family': 'FontAwesome'
|
||||
})
|
||||
.text('\uf140');
|
||||
.text('\uf140')
|
||||
.append("title")
|
||||
.text("Transmitting Remote Process Groups");
|
||||
|
||||
|
||||
// transmitting count
|
||||
details.append('text')
|
||||
|
@ -324,7 +327,9 @@
|
|||
'class': 'process-group-not-transmitting process-group-contents-icon',
|
||||
'font-family': 'flowfont'
|
||||
})
|
||||
.text('\ue80a');
|
||||
.text('\ue80a')
|
||||
.append("title")
|
||||
.text("Not Transmitting Remote Process Groups");
|
||||
|
||||
// not transmitting count
|
||||
details.append('text')
|
||||
|
@ -340,7 +345,9 @@
|
|||
'class': 'process-group-running process-group-contents-icon',
|
||||
'font-family': 'FontAwesome'
|
||||
})
|
||||
.text('\uf04b');
|
||||
.text('\uf04b')
|
||||
.append("title")
|
||||
.text("Running Components");
|
||||
|
||||
// running count
|
||||
details.append('text')
|
||||
|
@ -356,7 +363,9 @@
|
|||
'class': 'process-group-stopped process-group-contents-icon',
|
||||
'font-family': 'FontAwesome'
|
||||
})
|
||||
.text('\uf04d');
|
||||
.text('\uf04d')
|
||||
.append("title")
|
||||
.text("Stopped Components");
|
||||
|
||||
// stopped count
|
||||
details.append('text')
|
||||
|
@ -372,7 +381,9 @@
|
|||
'class': 'process-group-invalid process-group-contents-icon',
|
||||
'font-family': 'FontAwesome'
|
||||
})
|
||||
.text('\uf071');
|
||||
.text('\uf071')
|
||||
.append("title")
|
||||
.text("Invalid Components");
|
||||
|
||||
// invalid count
|
||||
details.append('text')
|
||||
|
@ -388,7 +399,9 @@
|
|||
'class': 'process-group-disabled process-group-contents-icon',
|
||||
'font-family': 'flowfont'
|
||||
})
|
||||
.text('\ue802');
|
||||
.text('\ue802')
|
||||
.append("title")
|
||||
.text("Disabled Components");
|
||||
|
||||
// disabled count
|
||||
details.append('text')
|
||||
|
@ -407,7 +420,9 @@
|
|||
'class': 'process-group-up-to-date process-group-contents-icon',
|
||||
'font-family': 'FontAwesome'
|
||||
})
|
||||
.text('\uf00c');
|
||||
.text('\uf00c')
|
||||
.append("title")
|
||||
.text("Up to date Versioned Process Groups");
|
||||
|
||||
// up to date count
|
||||
details.append('text')
|
||||
|
@ -427,7 +442,9 @@
|
|||
'class': 'process-group-locally-modified process-group-contents-icon',
|
||||
'font-family': 'FontAwesome'
|
||||
})
|
||||
.text('\uf069');
|
||||
.text('\uf069')
|
||||
.append("title")
|
||||
.text("Locally modified Versioned Process Groups");
|
||||
|
||||
// locally modified count
|
||||
details.append('text')
|
||||
|
@ -447,7 +464,9 @@
|
|||
'class': 'process-group-stale process-group-contents-icon',
|
||||
'font-family': 'FontAwesome'
|
||||
})
|
||||
.text('\uf0aa');
|
||||
.text('\uf0aa')
|
||||
.append("title")
|
||||
.text("Stale Versioned Process Groups");
|
||||
|
||||
// stale count
|
||||
details.append('text')
|
||||
|
@ -467,7 +486,9 @@
|
|||
'class': 'process-group-locally-modified-and-stale process-group-contents-icon',
|
||||
'font-family': 'FontAwesome'
|
||||
})
|
||||
.text('\uf06a');
|
||||
.text('\uf06a')
|
||||
.append("title")
|
||||
.text("Locally modified and stale Versioned Process Groups");
|
||||
|
||||
// locally modified and stale count
|
||||
details.append('text')
|
||||
|
@ -487,7 +508,9 @@
|
|||
'class': 'process-group-sync-failure process-group-contents-icon',
|
||||
'font-family': 'FontAwesome'
|
||||
})
|
||||
.text('\uf128');
|
||||
.text('\uf128')
|
||||
.append("title")
|
||||
.text("Sync failure Versioned Process Groups");
|
||||
|
||||
// sync failure count
|
||||
details.append('text')
|
||||
|
@ -847,6 +870,7 @@
|
|||
.text(function (d) {
|
||||
return d.activeRemotePortCount;
|
||||
});
|
||||
transmittingCount.append("title").text("Transmitting Remote Process Groups");
|
||||
|
||||
// update not transmitting
|
||||
var notTransmitting = details.select('text.process-group-not-transmitting')
|
||||
|
@ -868,6 +892,7 @@
|
|||
.text(function (d) {
|
||||
return d.inactiveRemotePortCount;
|
||||
});
|
||||
notTransmittingCount.append("title").text("Not transmitting Remote Process Groups")
|
||||
|
||||
// update running
|
||||
var running = details.select('text.process-group-running')
|
||||
|
@ -889,6 +914,7 @@
|
|||
.text(function (d) {
|
||||
return d.runningCount;
|
||||
});
|
||||
runningCount.append("title").text("Running Components");
|
||||
|
||||
// update stopped
|
||||
var stopped = details.select('text.process-group-stopped')
|
||||
|
@ -910,6 +936,7 @@
|
|||
.text(function (d) {
|
||||
return d.stoppedCount;
|
||||
});
|
||||
stoppedCount.append("title").text("Stopped Components");
|
||||
|
||||
// update invalid
|
||||
var invalid = details.select('text.process-group-invalid')
|
||||
|
@ -931,6 +958,7 @@
|
|||
.text(function (d) {
|
||||
return d.invalidCount;
|
||||
});
|
||||
invalidCount.append("title").text("Invalid Components");
|
||||
|
||||
// update disabled
|
||||
var disabled = details.select('text.process-group-disabled')
|
||||
|
@ -944,7 +972,7 @@
|
|||
var invalidX = parseInt(invalidCount.attr('x'), 10);
|
||||
return invalidX + Math.round(invalidCount.node().getComputedTextLength()) + CONTENTS_SPACER;
|
||||
});
|
||||
details.select('text.process-group-disabled-count')
|
||||
var disabledCount = details.select('text.process-group-disabled-count')
|
||||
.attr('x', function () {
|
||||
var disabledCountX = parseInt(disabled.attr('x'), 10);
|
||||
return disabledCountX + Math.round(disabled.node().getComputedTextLength()) + CONTENTS_VALUE_SPACER;
|
||||
|
@ -952,6 +980,7 @@
|
|||
.text(function (d) {
|
||||
return d.disabledCount;
|
||||
});
|
||||
disabledCount.append("title").text("Disabled Components");
|
||||
|
||||
// up to date current
|
||||
var upToDate = details.select('text.process-group-up-to-date')
|
||||
|
@ -969,6 +998,7 @@
|
|||
.text(function (d) {
|
||||
return d.upToDateCount;
|
||||
});
|
||||
upToDateCount.append("title").text("Up to date Versioned Process Groups");
|
||||
|
||||
// update locally modified
|
||||
var locallyModified = details.select('text.process-group-locally-modified')
|
||||
|
@ -990,6 +1020,7 @@
|
|||
.text(function (d) {
|
||||
return d.locallyModifiedCount;
|
||||
});
|
||||
locallyModifiedCount.append("title").text("Locally modified Versioned Process Groups");
|
||||
|
||||
// update stale
|
||||
var stale = details.select('text.process-group-stale')
|
||||
|
@ -1011,6 +1042,7 @@
|
|||
.text(function (d) {
|
||||
return d.staleCount;
|
||||
});
|
||||
staleCount.append("title").text("Stale Versioned Process Groups");
|
||||
|
||||
// update locally modified and stale
|
||||
var locallyModifiedAndStale = details.select('text.process-group-locally-modified-and-stale')
|
||||
|
@ -1032,6 +1064,7 @@
|
|||
.text(function (d) {
|
||||
return d.locallyModifiedAndStaleCount;
|
||||
});
|
||||
locallyModifiedAndStaleCount.append("title").text("Locally modified and stale Versioned Process Groups");
|
||||
|
||||
// update sync failure
|
||||
var syncFailure = details.select('text.process-group-sync-failure')
|
||||
|
@ -1045,7 +1078,7 @@
|
|||
var syncFailureX = parseInt(locallyModifiedAndStaleCount.attr('x'), 10);
|
||||
return syncFailureX + Math.round(locallyModifiedAndStaleCount.node().getComputedTextLength()) + CONTENTS_SPACER - 2;
|
||||
});
|
||||
details.select('text.process-group-sync-failure-count')
|
||||
var syncFailureCount = details.select('text.process-group-sync-failure-count')
|
||||
.attr('x', function () {
|
||||
var syncFailureCountX = parseInt(syncFailure.attr('x'), 10);
|
||||
return syncFailureCountX + Math.round(syncFailure.node().getComputedTextLength()) + CONTENTS_VALUE_SPACER;
|
||||
|
@ -1053,6 +1086,7 @@
|
|||
.text(function (d) {
|
||||
return d.syncFailureCount;
|
||||
});
|
||||
syncFailureCount.append("title").text("Sync failure Versioned Process Groups");
|
||||
|
||||
// update version control information
|
||||
var versionControl = processGroup.select('text.version-control')
|
||||
|
|
Loading…
Reference in New Issue