From 290e9b481168cbb753758ffbe95765e77233ebd6 Mon Sep 17 00:00:00 2001 From: shentao Date: Mon, 18 Sep 2017 20:41:28 +0800 Subject: Upload source code of monitor pages Change-Id: I7fdb2239cebe69f990feafecb6460296aca04ead Issue-Id: USECASEUI-33 Signed-off-by: shentao --- .../fusion/scripts/controller/alarmController.js | 233 +++++++++++++++++++++ 1 file changed, 233 insertions(+) create mode 100644 usecaseui-monitor/src/main/webapp/app/uui/fusion/scripts/controller/alarmController.js (limited to 'usecaseui-monitor/src/main/webapp/app/uui/fusion/scripts/controller/alarmController.js') diff --git a/usecaseui-monitor/src/main/webapp/app/uui/fusion/scripts/controller/alarmController.js b/usecaseui-monitor/src/main/webapp/app/uui/fusion/scripts/controller/alarmController.js new file mode 100644 index 00000000..6ca18ac6 --- /dev/null +++ b/usecaseui-monitor/src/main/webapp/app/uui/fusion/scripts/controller/alarmController.js @@ -0,0 +1,233 @@ +app.controller('perCtrl', function ($scope) { + +}); + +app.controller('alarmGridCtrl', ['$scope','$log', '$http', '$timeout', '$interval', 'uiGridConstants', 'uiGridGroupingConstants', + function ($scope,$log, $http, $timeout, $interval) { + $scope.selectedRows = new Array(); + var mydefalutData = [ + {name: "shebei1", Id: "22", State: '1', Cpu: "40%", Memory: "60,0", Disk: "60,000", Network: "60,000"}, + {name: "shebei1", Id: "226", State: '2', Cpu: "40%", Memory: "60", Disk: "60,", Network: "60,000"}, + { + name: "shebei1", + Id: "225", + State: '2', + Cpu: "40%", + Memory: "60,000", + Disk: "60,000", + Network: "60,000" + }, + {name: "shebei1", Id: "224", State: '3', Cpu: "40%", Memory: "600", Disk: "60,000", Network: "60,000"}, + + { + name: "shebei1", + Id: "223", + State: '2', + Cpu: "40%", + Memory: "60,000", + Disk: "60,000", + Network: "60,000" + }, + { + name: "shebei1", + Id: "221", + State: '3', + Cpu: "40%", + Memory: "60,000", + Disk: "60,000", + Network: "60,000" + } + + ]; + $scope.items = [ + 'The first choice!', + 'And another choice for you.', + 'but wait! A third!' + ]; + + $scope.toggled = function(open) { + $log.log('Dropdown is now: ', open); + }; + + $scope.status = { + isopen: false + }; + + $scope.toggleDropdown = function($event) { + $event.preventDefault(); + $event.stopPropagation(); + $scope.status.isopen = !$scope.status.isopen; + }; + + $scope.appendToEl = angular.element(document.querySelector('#dropdown-long-content')); + $scope.gridOptions = { + data: 'myData', + columnDefs: [{ + field: 'name', + displayName: 'name', + width: '8%', + enableColumnMenu: false,// 是否显示列头部菜单按钮 + enableHiding: false, + suppressRemoveSort: true, + enableCellEdit: false // 是否可编辑 + }, + {field: "Id"}, + {field: "State",cellFilter:'mapGender'}, + {field: "Cpu"}, + {field: "Memory"}, + {field: "Disk"}, + {field: "Network"}, + {field: "Action", cellTemplate : + '
' + , enableCellEdit:false}, + ], + enableSorting: true, //是否排序 + useExternalSorting: false, //是否使用自定义排序规则 + enableGridMenu: true, //是否显示grid 菜单 + showGridFooter: true, //是否显示grid footer + enableHorizontalScrollbar: 1, //grid水平滚动条是否显示, 0-不显示 1-显示 + enableVerticalScrollbar: 0, //grid垂直滚动条是否显示, 0-不显示 1-显示 + enableFiltering: true, + //-------- 分页属性 ---------------- + enablePagination: true, //是否分页,默认为true + enablePaginationControls: true, //使用默认的底部分页 + paginationPageSizes: [10, 15, 20], //每页显示个数可选项 + paginationCurrentPage: 1, //当前页码 + paginationPageSize: 10, //每页显示个数 + //paginationTemplate:"
", //自定义底部分页代码 + totalItems: 0, // 总数量 + useExternalPagination: true,//是否使用分页按钮 + + + //----------- 选中 ---------------------- + enableFooterTotalSelected: true, // 是否显示选中的总数,默认为true, 如果显示,showGridFooter 必须为true + enableFullRowSelection: true, //是否点击行任意位置后选中,默认为false,当为true时,checkbox可以显示但是不可选中 + enableRowHeaderSelection: true, //是否显示选中checkbox框 ,默认为true + enableRowSelection: false, // 行选择是否可用,默认为true; + enableSelectAll: true, // 选择所有checkbox是否可用,默认为true; + enableSelectionBatchEvent: true, //默认true + isRowSelectable: function (row) { //GridRow + /* if(row.entity.age > 45){ + row.grid.api.selection.selectRow(row.entity); // 选中行 + }*/ + }, + modifierKeysToMultiSelect: false,//默认false,为true时只能 按ctrl或shift键进行多选, multiSelect 必须为true; + multiSelect: true,// 是否可以选择多个,默认为true; + noUnselect: false,//默认false,选中后是否可以取消选中 + selectionRowHeaderWidth: 20,//默认30 ,设置选择列的宽度; + + + //---------------api--------------------- + onRegisterApi: function (gridApi) { + $scope.gridApi = gridApi; + //分页按钮事件 + gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) { + if (getPage) { + getPage(newPage, pageSize); + } + }); + //行选中事件 + $scope.gridApi.selection.on.rowSelectionChanged($scope, function (row, event) { + if (row) { + var num = $.inArray(row.entity.Id, $scope.selectedRows); + if (num == -1) { + $scope.selectedRows.push(row.entity.Id); + } + else { + $scope.selectedRows.splice(num, 1); + } + } + }); + $scope.gridApi.grid.registerRowsProcessor( $scope.singleFilter, 200 ); + } + }; + + var getPage = function (curPage, pageSize) { + var firstRow = (curPage - 1) * pageSize; + $scope.gridOptions.totalItems = mydefalutData.length; + $scope.gridOptions.data = mydefalutData.slice(firstRow, firstRow + pageSize); + //或者像下面这种写法 + //$scope.myData = mydefalutData.slice(firstRow, firstRow + pageSize); + }; + getPage(1, $scope.gridOptions.paginationPageSize); + + $scope.trashcan = function () { + alert('delete ' + $scope.selectedRows); + }; + + $scope.status = [ + {id: 1, name: 'danger', count: 10}, + {id: 2, name: 'alarm', count: 8}, + {id: 3, name: 'normal', count: 7}, + {id: undefined, name: 'All', count: 7} + ]; + + + + $scope.selectStatus = function (v) { + $scope.selectedStatus = v; + $scope.gridApi.grid.refresh(); + }; + $scope.activeStatus = function (status_id) { + + return status_id == $scope.selectedStatus; + }; + + $scope.singleFilter = function (renderableRows) { + var matcher = new RegExp($scope.selectedStatus); + renderableRows.forEach(function (row) { + var match = false; + ['State'].forEach(function (field) { + if (row.entity[field].match(matcher)) { + match = true; + } + }); + if (!match) { + row.visible = false; + } + }); + return renderableRows; + }; +//input框 +$scope.menuState={show: false} + $scope.toggleMenu=function() + { + $scope.menuState.show=!$scope.menuState.show; + } + //切换框 + $scope.singleModel = 1; + + $scope.radioModel = 'Middle'; + + $scope.checkModel = { + open: false, + close: true, + }; + + $scope.checkResults = []; + + $scope.$watchCollection('checkModel', function () { + $scope.checkResults = []; + angular.forEach($scope.checkModel, function (value, key) { + if (value) { + $scope.checkResults.push(key); + } + }); + }); + + }]).filter('mapGender', function () { + var genderHash = { + 1: 'danger', + 2: 'alarm' , + 3: 'normal' + }; + + return function (input) { + if (!input) { + return ''; + } else { + return genderHash[input]; + } + } + +}); \ No newline at end of file -- cgit 1.2.3-korg