From eff75b2aecef5051db3c78b30640cbd7f40bb7dd Mon Sep 17 00:00:00 2001 From: Peter Piela Date: Fri, 26 Aug 2016 09:55:28 -0400 Subject: [PATCH] Improve the display of node information Automatically set focus to the reason field in the maintenance popup Use filters like noValue and date: 'medium' to improve display of node data Ensure event handlers are cleaned up when the node-list is destroyed Change-Id: I15eee5beb933ff5623d21d418dbd771ab3cfc043 --- .../admin/ironic/maintenance/maintenance.html | 2 +- .../node-details/sections/configuration.html | 30 +++++++-------- .../node-details/sections/overview.html | 24 ++++++------ .../ironic/node-list/node-list.controller.js | 38 +++++++++++++------ 4 files changed, 54 insertions(+), 40 deletions(-) diff --git a/ironic_ui/static/dashboard/admin/ironic/maintenance/maintenance.html b/ironic_ui/static/dashboard/admin/ironic/maintenance/maintenance.html index 9d1dd805..4110057f 100644 --- a/ironic_ui/static/dashboard/admin/ironic/maintenance/maintenance.html +++ b/ironic_ui/static/dashboard/admin/ironic/maintenance/maintenance.html @@ -9,6 +9,7 @@ @@ -28,4 +29,3 @@ Put Node(s) Into Maintenance Mode - diff --git a/ironic_ui/static/dashboard/admin/ironic/node-details/sections/configuration.html b/ironic_ui/static/dashboard/admin/ironic/node-details/sections/configuration.html index 9bc51c3b..824c5fb7 100644 --- a/ironic_ui/static/dashboard/admin/ironic/node-details/sections/configuration.html +++ b/ironic_ui/static/dashboard/admin/ironic/node-details/sections/configuration.html @@ -6,13 +6,13 @@
Node ID
-
{$ ctrl.node.uuid $}
+
{$ ctrl.node.uuid | noValue $}
Chassis ID
{$ ctrl.node.chassis_uuid | noValue $}
Created At
-
{$ ctrl.node.created_at | date:'medium' $}
+
{$ ctrl.node.created_at | date:'medium' | noValue $}
Extra
-
{$ ctrl.node.extra $}
+
{$ ctrl.node.extra | noValue $}
@@ -114,7 +114,7 @@
{$ propertyName $}
-
{$ propertyValue $}
+
{$ propertyValue | noValue $}
@@ -125,29 +125,29 @@
Driver
-
{$ ctrl.node.driver $}
+
{$ ctrl.node.driver | noValue $}
SSH Port
-
{$ ctrl.node.driver_info.ssh_port $}
+
{$ ctrl.node.driver_info.ssh_port | noValue $}
SSH Username
-
{$ ctrl.node.driver_info.ssh_username $}
+
{$ ctrl.node.driver_info.ssh_username | noValue $}
Deploy Kernel
- {$ ctrl.node.driver_info.deploy_kernel $} + {$ ctrl.node.driver_info.deploy_kernel | noValue $} - {$ ctrl.node.driver_info.deploy_kernel $} + {$ ctrl.node.driver_info.deploy_kernel | noValue $}
Deploy Ramdisk
- {$ ctrl.node.driver_info.deploy_ramdisk $} + {$ ctrl.node.driver_info.deploy_ramdisk | noValue $} - {$ ctrl.node.driver_info.deploy_ramdisk $} + {$ ctrl.node.driver_info.deploy_ramdisk | noValue $}
@@ -176,23 +176,23 @@
Instance Name
-
{$ ctrl.node.instance_info.display_name $}
+
{$ ctrl.node.instance_info.display_name | noValue $}
Ramdisk
- {$ ctrl.node.instance_info.ramdisk $} + {$ ctrl.node.instance_info.ramdisk | noValue $}
Kernel
- {$ ctrl.node.instance_info.kernel $} + {$ ctrl.node.instance_info.kernel | noValue $}
{$ id $}
-
{$ value $}
+
{$ value | noValue $}
diff --git a/ironic_ui/static/dashboard/admin/ironic/node-details/sections/overview.html b/ironic_ui/static/dashboard/admin/ironic/node-details/sections/overview.html index d54477cd..91b98db3 100644 --- a/ironic_ui/static/dashboard/admin/ironic/node-details/sections/overview.html +++ b/ironic_ui/static/dashboard/admin/ironic/node-details/sections/overview.html @@ -8,17 +8,17 @@
Name
{$ ctrl.node['name'] $}
Maintenance
-
{$ ctrl.node['maintenance'] ? 'True' : 'False' $}
+
{$ ctrl.node['maintenance'] | yesno $}
Maintenance Reason
-
{$ ctrl.node['maintenance_reason'] $}
+
{$ ctrl.node['maintenance_reason'] | noValue $}
Inspection Started At
-
{$ ctrl.node['inspection_started_at'] $}
+
{$ ctrl.node['inspection_started_at'] | date: 'medium' | noValue $}
Inspection Finished At
-
{$ ctrl.node['inspection_finished_at'] $}
+
{$ ctrl.node['inspection_finished_at'] | date: 'medium' | noValue $}
Reservation
-
{$ ctrl.node['reservation'] $}
+
{$ ctrl.node['reservation'] | noValue $}
Console Enabled
-
{$ ctrl.node['console_enabled'] ? 'True' : 'False' $}
+
{$ ctrl.node['console_enabled'] | yesno $}
@@ -30,21 +30,21 @@
Instance ID
- {$ ctrl.node['instance_uuid'] $} + {$ ctrl.node['instance_uuid'] | noValue $}
Power State
{$ ctrl.node['power_state'] $}
Target Power State
-
{$ ctrl.node['target_power_state'] $}
+
{$ ctrl.node['target_power_state'] | noValue $}
Provision State
-
{$ ctrl.node['provision_state'] $}
+
{$ ctrl.node['provision_state'] | noValue $}
Target Provision State
-
{$ ctrl.node['target_provision_state'] $}
+
{$ ctrl.node['target_provision_state'] | noValue $}
Last Error
-
{$ ctrl.node['last_error'] $}
+
{$ ctrl.node['last_error'] | noValue $}
Updated At
-
{$ ctrl.node['updated_at'] $}
+
{$ ctrl.node['updated_at'] | date: 'medium' | noValue $}
diff --git a/ironic_ui/static/dashboard/admin/ironic/node-list/node-list.controller.js b/ironic_ui/static/dashboard/admin/ironic/node-list/node-list.controller.js index 295d96c1..a539e5b3 100755 --- a/ironic_ui/static/dashboard/admin/ironic/node-list/node-list.controller.js +++ b/ironic_ui/static/dashboard/admin/ironic/node-list/node-list.controller.js @@ -22,6 +22,7 @@ .controller('IronicNodeListController', IronicNodeListController); IronicNodeListController.$inject = [ + '$scope', '$rootScope', 'horizon.app.core.openstack-service-api.ironic', 'horizon.dashboard.admin.ironic.events', @@ -31,7 +32,8 @@ 'horizon.dashboard.admin.ironic.enroll-node.service' ]; - function IronicNodeListController($rootScope, + function IronicNodeListController($scope, + $rootScope, ironic, ironicEvents, actions, @@ -89,20 +91,32 @@ ]; // Listen for the creation of new nodes, and update the node list - $rootScope.$on(ironicEvents.ENROLL_NODE_SUCCESS, function() { - init(); - }); + var enrollNodeHandler = + $rootScope.$on(ironicEvents.ENROLL_NODE_SUCCESS, + function() { + init(); + }); - $rootScope.$on(ironicEvents.DELETE_NODE_SUCCESS, function() { - init(); - }); + var deleteNodeHandler = $rootScope.$on(ironicEvents.DELETE_NODE_SUCCESS, + function() { + init(); + }); - $rootScope.$on(ironicEvents.CREATE_PORT_SUCCESS, function() { - init(); - }); + var createPortHandler = $rootScope.$on(ironicEvents.CREATE_PORT_SUCCESS, + function() { + init(); + }); - $rootScope.$on(ironicEvents.DELETE_PORT_SUCCESS, function() { - init(); + var deletePortHandler = $rootScope.$on(ironicEvents.DELETE_PORT_SUCCESS, + function() { + init(); + }); + + $scope.$on('destroy', function() { + enrollNodeHandler(); + deleteNodeHandler(); + createPortHandler(); + deletePortHandler(); }); init();