diff --git a/awx/ui/client/src/network-ui/debug.directive.js b/awx/ui/client/src/network-ui/debug.directive.js index 9b58302787..c593f0be5b 100644 --- a/awx/ui/client/src/network-ui/debug.directive.js +++ b/awx/ui/client/src/network-ui/debug.directive.js @@ -3,7 +3,18 @@ const templateUrl = require('~network-ui/debug.partial.svg'); function debug () { - return { restrict: 'A', templateUrl}; + return { + restrict: 'A', + templateUrl, + link: function(){ + $('.NetworkUI__debug-text').each(function(index, option){ + let startingY = 15; + let offset = 20; + let y = startingY + (index * offset); + option.setAttribute('y', y); + }); + } + }; } exports.debug = debug; diff --git a/awx/ui/client/src/network-ui/debug.partial.svg b/awx/ui/client/src/network-ui/debug.partial.svg index ff49f518f0..8a852a9bd3 100644 --- a/awx/ui/client/src/network-ui/debug.partial.svg +++ b/awx/ui/client/src/network-ui/debug.partial.svg @@ -3,47 +3,48 @@ - view_port.x: {{view_port.x}} - view_port.y: {{view_port.y}} - view_port.width: {{view_port.width}} - view_port.height: {{view_port.height}} - width: {{graph.width}} - height: {{graph.height}} - rc: {{graph.right_column}} - Mouse down: {{onMouseDownResult}} - Mouse up: {{onMouseUpResult}} - Mouse move: {{onMouseMoveResult}} - Mouse over: {{onMouseOverResult}} - Mouse enter: {{onMouseEnterResult}} - Mouse leave: {{onMouseLeaveResult}} - Current scale: {{current_scale.toFixed(4)}} - Pan X: {{panX.toFixed(2)}} - Pan Y: {{panY.toFixed(2)}} - View State: {{view_controller.state.name}} - Mouse X: {{mouseX.toFixed(2)}} - Mouse Y: {{mouseY.toFixed(2)}} - Scaled X: {{scaledX.toFixed(2)}} - Scaled Y: {{scaledY.toFixed(2)}} - Key: {{last_key}} - Key Code: {{last_key_code}} - Move State: {{move_controller.state.name}} - Selected devices: {{selected_devices.length}} - Selected links: {{selected_links.length}} - Link State: {{link_controller.state.name}} - Buttons State: {{buttons_controller.state.name}} - Time State: {{time_controller.state.name}} - Time Pointer: {{time_pointer}} - Group State: {{group_controller.state.name}} - Hotkeys State: {{hotkeys_controller.state.name}} - Mode State: {{mode_controller.state.name}} - Device Detail State: {{device_detail_controller.state.name}} - Site State: {{site_controller.state.name}} - Rack State: {{rack_controller.state.name}} - Stream State: {{stream_controller.state.name}} - App Toolbox State: {{app_toolbox_controller.state.name}} - Inventory Toolbox State: {{inventory_toolbox_controller.state.name}} - Rack Toolbox State: {{rack_toolbox_controller.state.name}} - Site Toolbox State: {{site_toolbox_controller.state.name}} + view_port.x: {{view_port.x}} + view_port.y: {{view_port.y}} + view_port.width: {{view_port.width}} + view_port.height: {{view_port.height}} + width: {{graph.width}} + height: {{graph.height}} + rc: {{graph.right_column}} + Mouse down: {{onMouseDownResult}} + Mouse up: {{onMouseUpResult}} + Mouse move: {{onMouseMoveResult}} + Mouse over: {{onMouseOverResult}} + Mouse enter: {{onMouseEnterResult}} + Mouse leave: {{onMouseLeaveResult}} + Current scale: {{current_scale.toFixed(4)}} + Pan X: {{panX.toFixed(2)}} + Pan Y: {{panY.toFixed(2)}} + View State: {{view_controller.state.name}} + Mouse X: {{mouseX.toFixed(2)}} + Mouse Y: {{mouseY.toFixed(2)}} + Scaled X: {{scaledX.toFixed(2)}} + Scaled Y: {{scaledY.toFixed(2)}} + Key: {{last_key}} + Key Code: {{last_key_code}} + Move State: {{move_controller.state.name}} + Move Readonly State: {{move_readonly_controller.state.name}} + Selected devices: {{selected_devices.length}} + Selected links: {{selected_links.length}} + Link State: {{link_controller.state.name}} + Buttons State: {{buttons_controller.state.name}} + Time State: {{time_controller.state.name}} + Time Pointer: {{time_pointer}} + Group State: {{group_controller.state.name}} + Hotkeys State: {{hotkeys_controller.state.name}} + Mode State: {{mode_controller.state.name}} + Device Detail State: {{device_detail_controller.state.name}} + Site State: {{site_controller.state.name}} + Rack State: {{rack_controller.state.name}} + Stream State: {{stream_controller.state.name}} + App Toolbox State: {{app_toolbox_controller.state.name}} + Inventory Toolbox State: {{inventory_toolbox_controller.state.name}} + Rack Toolbox State: {{rack_toolbox_controller.state.name}} + Site Toolbox State: {{site_toolbox_controller.state.name}}
-
+
diff --git a/awx/ui/client/src/network-ui/network.ui.controller.js b/awx/ui/client/src/network-ui/network.ui.controller.js index 8c9a455165..cd75aa6b9f 100644 --- a/awx/ui/client/src/network-ui/network.ui.controller.js +++ b/awx/ui/client/src/network-ui/network.ui.controller.js @@ -6,6 +6,7 @@ var hotkeys = require('./hotkeys.fsm.js'); var toolbox_fsm = require('./toolbox.fsm.js'); var view = require('./view.fsm.js'); var move = require('./move.fsm.js'); +var move_readonly = require('./move.readonly.fsm.js'); var buttons = require('./buttons.fsm.js'); var time = require('./time.fsm.js'); var test_fsm = require('./test.fsm.js'); @@ -151,8 +152,8 @@ var NetworkUIController = function($scope, from_y: 0, to_x: 0, to_y: 0}; - - $scope.send_trace_message = function (message) { + $scope.canEdit = $scope.$parent.$resolve.resolvedModels.canEdit; + $scope.send_trace_message = function (message) { if (!$scope.recording) { return; } @@ -194,13 +195,14 @@ var NetworkUIController = function($scope, $scope.hotkeys_controller = new fsm.FSMController($scope, "hotkeys_fsm", hotkeys.Start, $scope); $scope.keybindings_controller = new fsm.FSMController($scope, "keybindings_fsm", keybindings.Start, $scope); $scope.view_controller = new fsm.FSMController($scope, "view_fsm", view.Start, $scope); - $scope.move_controller = new fsm.FSMController($scope, "move_fsm", move.Start, $scope); + $scope.move_controller = new fsm.FSMController($scope, "move_fsm", $scope.canEdit ? move.Start : move.Disable, $scope); + $scope.move_readonly_controller = new fsm.FSMController($scope, "move_readonly_fsm", !$scope.canEdit? move_readonly.Start : move_readonly.Disable, $scope); $scope.details_panel_controller = new fsm.FSMController($scope, "details_panel_fsm", details_panel_fsm.Start, $scope); $scope.buttons_controller = new fsm.FSMController($scope, "buttons_fsm", buttons.Start, $scope); $scope.time_controller = new fsm.FSMController($scope, "time_fsm", time.Start, $scope); $scope.test_controller = new fsm.FSMController($scope, "test_fsm", test_fsm.Start, $scope); - $scope.inventory_toolbox_controller = new fsm.FSMController($scope, "toolbox_fsm", toolbox_fsm.Start, $scope); + $scope.inventory_toolbox_controller = new fsm.FSMController($scope, "toolbox_fsm", !$scope.canEdit ? toolbox_fsm.Disabled : toolbox_fsm.Start, $scope); var toolboxTopMargin = $('.Networking-top').height(); var toolboxTitleMargin = toolboxTopMargin + 35; @@ -321,9 +323,12 @@ var NetworkUIController = function($scope, $scope.move_controller.delegate_channel = new fsm.Channel($scope.move_controller, $scope.view_controller, $scope); - $scope.details_panel_controller.delegate_channel = new fsm.Channel($scope.details_panel_controller, + $scope.move_readonly_controller.delegate_channel = new fsm.Channel($scope.move_readonly_controller, $scope.move_controller, $scope); + $scope.details_panel_controller.delegate_channel = new fsm.Channel($scope.details_panel_controller, + $scope.move_readonly_controller, + $scope); $scope.inventory_toolbox_controller.delegate_channel = new fsm.Channel($scope.inventory_toolbox_controller, $scope.details_panel_controller, $scope); @@ -880,14 +885,19 @@ var NetworkUIController = function($scope, }; // Context Menu Buttons + const contextMenuButtonHeight = 26; + let contextMenuHeight = 64; $scope.context_menu_buttons = [ - new models.ContextMenuButton("Details", 236, 231, 160, 26, $scope.onDetailsContextButton, $scope), - new models.ContextMenuButton("Remove", 256, 231, 160, 26, $scope.onDeleteContextMenu, $scope) + new models.ContextMenuButton("Details", 236, 231, 160, contextMenuButtonHeight, $scope.onDetailsContextButton, $scope), + new models.ContextMenuButton("Remove", 256, 231, 160, contextMenuButtonHeight, $scope.onDeleteContextMenu, $scope) ]; - + if(!$scope.canEdit){ + $scope.context_menu_buttons.pop(); + contextMenuHeight = $scope.context_menu_buttons.length * contextMenuButtonHeight + 12; + } // Context Menus $scope.context_menus = [ - new models.ContextMenu('HOST', 210, 200, 160, 64, $scope.contextMenuCallback, false, $scope.context_menu_buttons, $scope) + new models.ContextMenu('HOST', 210, 200, 160, contextMenuHeight, $scope.contextMenuCallback, false, $scope.context_menu_buttons, $scope) ]; $scope.onDownloadTraceButton = function () { @@ -1397,6 +1407,8 @@ var NetworkUIController = function($scope, $scope.view_controller.state.start($scope.view_controller); $scope.move_controller.state = move.Start; $scope.move_controller.state.start($scope.move_controller); + $scope.move_readonly_controller.state = move_readonly.Start; + $scope.move_readonly_controller.state.start($scope.move_readonly_controller); $scope.details_panel_controller.state = details_panel_fsm.Start; $scope.details_panel_controller.state.start($scope.details_panel_controller); $scope.time_controller.state = time.Start; diff --git a/awx/ui/client/src/network-ui/network_ui.partial.svg b/awx/ui/client/src/network-ui/network_ui.partial.svg index 22c1c89189..afb740b3d5 100644 --- a/awx/ui/client/src/network-ui/network_ui.partial.svg +++ b/awx/ui/client/src/network-ui/network_ui.partial.svg @@ -67,7 +67,7 @@ - +