Skip to content

Commit

Permalink
Fixes filter bugs
Browse files Browse the repository at this point in the history
Bug id: #638 #726
  • Loading branch information
a2batic committed Nov 7, 2017
1 parent cccca1d commit 5155124
Show file tree
Hide file tree
Showing 15 changed files with 318 additions and 115 deletions.
6 changes: 5 additions & 1 deletion src/commons/stores/user-store.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,11 @@
} else if (data[i].status === "false") {
user.status = "disabled";
}
user.role = data[i].role;
if (data[i].role === "limited") {
user.role = "read-only";
} else {
user.role = data[i].role;
}
user.notification = data[i].email_notifications;
user.email = data[i].email;
userList.push(user);
Expand Down
17 changes: 9 additions & 8 deletions src/modules/alerts/alerts.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,17 @@ <h1 class="bold-text">Alerts</h1>
<div class="col-sm-12">
<form class="toolbar-pf-actions">
<div class="form-group toolbar-pf-filter filter-section">
<label class="sr-only" for="filter">Name</label>
<label class="sr-only" for="filter">Cluster</label>
<div class="input-group">
<div class="input-group-btn">
<select ng-disabled="alertCntrl.alertList.length === 0" ng-model="alertCntrl.filterBy" class="btn btn-default dropdown-toggle filterSelect" ng-change="alertCntrl.changeOption()">
<option value="clusterName">Cluster Name</option>
<option value="fqdn">Host Name</option>
<option value="severity">Severity</option>
</select>
<button ng-disabled="alertCntrl.alertList.length === 0" type="button" class="btn btn-default dropdown-toggle filterSelect" ng-model="alertCntrl.filterBy" ng-change="alertCntrl.searchBy = {}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{alertCntrl.filterByValue}} <span class="caret"></span></button>
<ul class="dropdown-menu">
<li ng-class="{'selected':(alertCntrl.filterBy === 'clusterName')}"><a href="" ng-click="alertCntrl.changingFilterBy('clusterName')">Cluster</a></li>
<li ng-class="{'selected':(alertCntrl.filterBy === 'fqdn')}"><a href="" ng-click="alertCntrl.changingFilterBy('fqdn')">Host</a></li>
<li ng-class="{'selected':(alertCntrl.filterBy === 'severity')}"><a href="" ng-click="alertCntrl.changingFilterBy('severity')">Severity</a></li>
</ul>
</div>
<input type="text" class="form-control" id="filter" ng-model="alertCntrl.searchBy[alertCntrl.filterBy]" placeholder="{{alertCntrl.filterByText}}" ng-readonly="alertCntrl.alertList.length === 0">
<input type="text" class="form-control" id="filter" ng-model="alertCntrl.searchBy[alertCntrl.filterBy]" placeholder="Filter by {{alertCntrl.filterPlaceholder}}" ng-readonly="alertCntrl.alertList.length === 0">
</div>
</div>
<div class="form-group date-selector" ng-class="{'disable-picker': (alertCntrl.alertList.length === 0)}">
Expand Down Expand Up @@ -48,7 +49,7 @@ <h1 class="bold-text">Alerts</h1>
<ng-pluralize count="alertCntrl.filteredAlertList.length" when="{'one': 'Alert', 'other': 'Alerts'}"></ng-pluralize>
</div>
<div class="severity-counts" ng-show="alertCntrl.severityList.warningAlerts.length" ng-click="alertCntrl.setSeverity('warning')">
<i class="pficon pficon pficon-warning-triangle-o" ></i> {{alertCntrl.severityList.warningAlerts.length}}
<i class="pficon pficon pficon-warning-triangle-o"></i> {{alertCntrl.severityList.warningAlerts.length}}
</div>
<div class="severity-counts" ng-show="alertCntrl.severityList.errorAlerts.length" ng-click="alertCntrl.setSeverity('error')">
<i class="pficon pficon-error-circle-o"></i> {{alertCntrl.severityList.errorAlerts.length}}
Expand Down
38 changes: 22 additions & 16 deletions src/modules/alerts/alerts.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,20 @@
vm.severity = "";
vm.searchDescText = "";
vm.filterBy = "clusterName";
vm.filterByText = "Filter by Cluster Name";
vm.filterPlaceholder = "Cluster Name";
vm.searchBy = {};
vm.alertList = [];
vm.filterBy = "clusterName";
vm.filterByValue = "Cluster";

vm.filterByCreatedDate = filterByCreatedDate;
vm.resetCount = resetCount;
vm.setSeverity = setSeverity;
vm.filterBySeverity = filterBySeverity;
vm.searchByDesc = searchByDesc;
vm.clearAllFilters = clearAllFilters;
vm.clearDate = clearDate;
vm.changeOption = changeOption;
vm.changingFilterBy = changingFilterBy;

vm.date = {
fromDate: "",
Expand Down Expand Up @@ -134,28 +137,30 @@
}

function setSeverity(value) {
vm.changeOption();
vm.severity = value;
vm.filterBy = "severity";
vm.filterByValue = "Severity";
vm.searchBy[vm.filterBy] = value;
}

function changeOption() {
vm.searchBy = {};

switch (vm.filterBy) {
case "clusterName":
vm.filterByText = "Filter by Cluster name";
function changingFilterBy(filterValue) {
vm.filterBy = filterValue;
switch (filterValue) {
case 'clusterName':
vm.filterByValue = "Cluster";
vm.filterPlaceholder = "Cluster name";
break;

case "fqdn":
vm.filterByText = "Filter by Host name";
case 'fqdn':
vm.filterByValue = "Host";
vm.filterPlaceholder = "Host name";
break;

case "severity":
vm.filterByText = "Filter by Severity";
case 'severity':
vm.filterByValue = "Severity";
vm.filterPlaceholder = "Severity";
break;
}
};
}

function searchByDesc(list) {
Expand All @@ -167,13 +172,14 @@
}

function clearAllFilters() {
vm.searchBy[vm.filterBy] = "";
vm.searchBy = {};
vm.date.toDate = "";
vm.date.fromDate = "";
vm.searchDescText = "";
vm.filterBy = "clusterName";
vm.severity = "";
vm.filterByText = "Filter by Cluster name";
vm.filterPlaceholder = "Cluster name";
vm.filterByValue = "Cluster";
vm.invalidToDate = false;
}

Expand Down
19 changes: 10 additions & 9 deletions src/modules/bricks/host-bricks/host-bricks.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,21 @@ <h1 class="bold-text">Brick Details</h1>
<div class="col-sm-12">
<form class="toolbar-pf-actions">
<div class="form-group toolbar-pf-filter">
<label class="sr-only" for="filter">Name</label>
<label class="sr-only" for="filter">Brick Path</label>
<div class="input-group">
<div class="input-group-btn">
<!-- Search By -->
<select ng-init="vm.filterBy = 'brickPath'" ng-disabled="vm.brickList.length === 0" ng-model="vm.filterBy" class="btn btn-default dropdown-toggle filterSelect" ng-change="vm.searchBy = {}">
<option value="brickPath">Brick Path</option>
<option value="status">Brick Status</option>
<!-- <option value="role">Utilization More Than</option>
<option value="status">Utilization Less Than</option>
<option value="status">Disk Device Path</option> -->
</select>
<button ng-disabled="vm.brickList.length === 0" type="button" class="btn btn-default dropdown-toggle filterSelect" ng-model="vm.filterBy" ng-change="vm.searchBy = {}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{vm.filterByValue}} <span class="caret"></span></button>
<ul class="dropdown-menu">
<li ng-class="{'selected':(vm.filterBy === 'brickPath')}"><a href="" ng-click="vm.changingFilterBy('brickPath')">Brick Path</a></li>
<li ng-class="{'selected':(vm.filterBy === 'status')}"><a href="" ng-click="vm.changingFilterBy('status')">Brick Status</a></li>
<!-- <li><a href="" ng-click="vm.changingFilterBy('role')">Utilization More Than</a></li>
<li><a href="" ng-click="vm.changingFilterBy('status')">Utilization Less Than</a></li>
<li><a href="" ng-click="vm.changingFilterBy('status')">Disk Device Path</a></li> -->
</ul>
</div>
<!-- /btn-group -->
<input ng-disabled="vm.brickList.length === 0" type="text" class="form-control" id="filter" ng-model="vm.searchBy[vm.filterBy]" placeholder="Filter by {{vm.filterBy | capitalize}}">
<input ng-disabled="vm.brickList.length === 0" type="text" class="form-control" id="filter" ng-model="vm.searchBy[vm.filterBy]" placeholder="Filter by {{vm.filterPlaceholder}}">
</div>
<!-- /input-group -->
</div>
Expand Down
23 changes: 21 additions & 2 deletions src/modules/bricks/host-bricks/host-bricks.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,16 @@
hostBrickTimer;

vm.isDataLoading = true;
vm.flag = false;
vm.brickList = [];
vm.filterBy = "brickPath";
vm.filterByValue = "Brick Path";
vm.filterPlaceholder = "Brick Path";

vm.redirectToGrafana = redirectToGrafana;
vm.addTooltip = addTooltip;
vm.clearAllFilters = clearAllFilters;
vm.flag = false;
vm.changingFilterBy = changingFilterBy;

init();

Expand Down Expand Up @@ -75,7 +80,7 @@
hostName = brick.brickPath.split(":")[0].replace(/\./gi, "_");

brickName = brickName.replace(/\//gi, "|");
utils.redirectToGrafana("bricks", $event, { clusterId: vm.clusterId, hostName: hostName, brickName: brickName, volumeName: brick.volName});
utils.redirectToGrafana("bricks", $event, { clusterId: vm.clusterId, hostName: hostName, brickName: brickName, volumeName: brick.volName });
}

/*Cancelling interval when scope is destroy*/
Expand All @@ -91,6 +96,20 @@
vm.filterBy = "brickPath";
vm.searchBy = {};
}

function changingFilterBy(filterValue) {
vm.filterBy = filterValue;
switch (filterValue) {
case 'brickPath':
vm.filterByValue = "Brick Path";
vm.filterPlaceholder = "Brick Path";
break;
case 'status':
vm.filterByValue = "Brick Status";
vm.filterPlaceholder = "Brick Status";
break;
};
}
}

})();
22 changes: 12 additions & 10 deletions src/modules/clusters/cluster-list/cluster-list.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,25 @@ <h1 class="bold-text">Clusters</h1>
<label class="sr-only" for="filter">Name</label>
<div class="input-group">
<div class="input-group-btn">
<select ng-disabled="clusterCntrl.clusterList.length === 0" ng-model="clusterCntrl.filterBy" class="btn btn-default dropdown-toggle filterSelect" ng-change="clusterCntrl.searchBy = {}">
<option value="name">Name</option>
</select>
<button ng-disabled="clusterCntrl.clusterList.length === 0" type="button" class="btn btn-default dropdown-toggle filterSelect" ng-model="clusterCntrl.filterBy" ng-change="clusterCntrl.searchBy = {}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{clusterCntrl.filterByValue}} <span class="caret"></span></button>
<ul class="dropdown-menu">
<li ng-class="{'selected':(clusterCntrl.filterBy === 'name')}"><a href="" ng-click="clusterCntrl.changingFilterBy('name')">Name</a></li>
</ul>
</div>
<!-- /btn-group -->
<input type="text" class="form-control" id="filter" ng-model="clusterCntrl.searchBy[clusterCntrl.filterBy]" placeholder="Filter by {{clusterCntrl.filterBy | capitalize}}">
<input ng-disabled="clusterCntrl.clusterList.length === 0" type="text" class="form-control" id="filter" ng-model="clusterCntrl.searchBy[clusterCntrl.filterBy]" placeholder="Filter by {{clusterCntrl.filterPlaceholder}}">
</div>
<!-- /input-group -->
</div>
<div class="form-group">
<div class="dropdown btn-group">
<select ng-disabled="clusterCntrl.clusterList.length === 0" ng-model="clusterCntrl.orderBy" class="btn btn-default dropdown-toggle filterSelect">
<option value="name">Name</option>
<option value="status">Status</option>
<option value="sdsVersion">Cluster Version</option>
<option value="managed">Managed</option>
</select>
<button type="button" ng-disabled="clusterCntrl.clusterList.length === 0" class="btn btn-default dropdown-toggle filterSelect" ng-model="clusterCntrl.orderBy" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{clusterCntrl.orderByValue}} <span class="caret"></span></button>
<ul class="dropdown-menu">
<li ng-class="{'selected':(clusterCntrl.orderBy === 'name')}"><a href="" ng-click="clusterCntrl.changingOrderBy('name')">Name</a></li>
<li ng-class="{'selected':(clusterCntrl.orderBy === 'status')}"><a href="" ng-click="clusterCntrl.changingOrderBy('status')">Status</a></li>
<li ng-class="{'selected':(clusterCntrl.orderBy === 'sdsVersion')}"><a href="" ng-click="clusterCntrl.changingOrderBy('sdsVersion')">Cluster Version</a></li>
<li ng-class="{'selected':(clusterCntrl.orderBy === 'managed')}"><a href="" ng-click="clusterCntrl.changingOrderBy('managed')">Managed</a></li>
</ul>
</div>
<button ng-init="clusterCntrl.ascOrder = ''" ng-disabled="clusterCntrl.clusterList.length === 0" class="btn btn-link" type="button">
<span ng-if="clusterCntrl.ascOrder !== ''" class="fa fa-sort-alpha-desc" ng-click="clusterCntrl.ascOrder = ''"></span>
Expand Down
41 changes: 37 additions & 4 deletions src/modules/clusters/cluster-list/cluster-list.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,17 @@

vm.isDataLoading = true;
vm.clusterNotPresent = false;
vm.flag = false;
vm.profilingButtonClick = false;
vm.clusterList = [];
vm.filterBy = "name";
vm.orderBy = "name";
vm.clusterList = [];
vm.profilingButtonClick = false;
vm.orderByValue = "Name";
vm.filterByValue = "Name";
vm.filterPlaceholder = "Name";

vm.changingOrderBy = changingOrderBy;
vm.changingFilterBy = changingFilterBy;
vm.expandCluster = expandCluster;
vm.closeExpandedView = closeExpandedView;
vm.goToImportFlow = goToImportFlow;
Expand All @@ -43,7 +49,6 @@
vm.redirectToGrafana = redirectToGrafana;
vm.addTooltip = addTooltip;
vm.clearAllFilters = clearAllFilters;
vm.flag = false;

init();

Expand Down Expand Up @@ -175,7 +180,7 @@
vm.clusterList[cluster.index].isProfilingEnabled = data.enable_volume_profiling === "yes" ? "Enabled" : "Disabled";
}).catch(function(error) {
Notifications.message("danger", "", "Failed to " + (action === "Enable" ? "enable" : "disable") + " volume profile.");
}).finally(function(){
}).finally(function() {
vm.profilingButtonClick = false;
});
$event.stopPropagation();
Expand Down Expand Up @@ -260,6 +265,34 @@
vm.flag = utils.tooltip($event);
}

function changingFilterBy(filterValue) {
vm.filterBy = filterValue;
switch (filterValue) {
case 'name':
vm.filterByValue = "Name";
vm.filterPlaceholder = "Name";
break;
};
}

function changingOrderBy(orderValue) {
vm.orderBy = orderValue;
switch (orderValue) {
case 'name':
vm.orderByValue = "Name";
break;
case 'status':
vm.orderByValue = "Status";
break;
case 'sdsVersion':
vm.orderByValue = "Cluster Version";
break;
case 'managed':
vm.orderByValue = "Managed";
break;
};
}

}

})();
Loading

0 comments on commit 5155124

Please sign in to comment.