make disabled filter rules easier to discern

show if filter set match_any_rule on the overview
This commit is contained in:
Andrew Dolgov 2015-08-17 12:33:07 +03:00
parent 961cae85a4
commit e17079dcef
3 changed files with 11 additions and 6 deletions

View File

@ -1070,20 +1070,22 @@ class Pref_Filters extends Handler_Protected {
private function getFilterName($id) {
$result = $this->dbh->query(
"SELECT title,COUNT(DISTINCT r.id) AS num_rules,COUNT(DISTINCT a.id) AS num_actions
"SELECT title,match_any_rule,COUNT(DISTINCT r.id) AS num_rules,COUNT(DISTINCT a.id) AS num_actions
FROM ttrss_filters2 AS f LEFT JOIN ttrss_filters2_rules AS r
ON (r.filter_id = f.id)
LEFT JOIN ttrss_filters2_actions AS a
ON (a.filter_id = f.id) WHERE f.id = '$id' GROUP BY f.title");
ON (a.filter_id = f.id) WHERE f.id = '$id' GROUP BY f.title, f.match_any_rule");
$title = $this->dbh->fetch_result($result, 0, "title");
$num_rules = $this->dbh->fetch_result($result, 0, "num_rules");
$num_actions = $this->dbh->fetch_result($result, 0, "num_actions");
$match_any_rule = sql_bool_to_bool($this->dbh->fetch_result($result, 0, "match_any_rule"));
if (!$title) $title = __("[No caption]");
$title = sprintf(_ngettext("%s (%d rule)", "%s (%d rules)", $num_rules), $title, $num_rules);
$result = $this->dbh->query(
"SELECT * FROM ttrss_filters2_actions WHERE filter_id = '$id' ORDER BY id LIMIT 1");
@ -1096,6 +1098,8 @@ class Pref_Filters extends Handler_Protected {
$num_actions -= 1;
}
if ($match_any_rule) $title .= " (" . __("matches any rule") . ")";
if ($num_actions > 0)
$actions = sprintf(_ngettext("%s (+%d action)", "%s (+%d actions)", $num_actions), $actions, $num_actions);

View File

@ -42,9 +42,10 @@
margin-right : 1em;
}
.claro .dijitTree .dijitTreeLabel.Disabled,
.claro .dijitTree .labelParam.Disabled {
.claro .dijitTree .dijitTreeLabel.filterDisabled,
.claro .dijitTree .labelParam.filterDisabled {
color : #555;
text-decoration: line-through;
}
.claro .dijitTreeRow.Error {

View File

@ -28,7 +28,7 @@ dojo.declare("fox.PrefFilterTree", lib.CheckBoxTree, {
if (param) {
param = dojo.doc.createElement('span');
param.className = (enabled != false) ? 'labelParam' : 'labelParam Disabled';
param.className = (enabled != false) ? 'labelParam' : 'labelParam filterDisabled';
param.innerHTML = args.item.param[0];
dojo.place(param, tnode.rowNode, 'first');
}
@ -74,7 +74,7 @@ dojo.declare("fox.PrefFilterTree", lib.CheckBoxTree, {
},
getLabelClass: function (item, opened) {
var enabled = this.model.store.getValue(item, 'enabled');
return (enabled != false) ? "dijitTreeLabel labelFixedLength" : "dijitTreeLabel labelFixedLength Disabled";
return (enabled != false) ? "dijitTreeLabel labelFixedLength" : "dijitTreeLabel labelFixedLength filterDisabled";
},
getRowClass: function (item, opened) {
return (!item.error || item.error == '') ? "dijitTreeRow" :