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) { private function getFilterName($id) {
$result = $this->dbh->query( $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 FROM ttrss_filters2 AS f LEFT JOIN ttrss_filters2_rules AS r
ON (r.filter_id = f.id) ON (r.filter_id = f.id)
LEFT JOIN ttrss_filters2_actions AS a 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"); $title = $this->dbh->fetch_result($result, 0, "title");
$num_rules = $this->dbh->fetch_result($result, 0, "num_rules"); $num_rules = $this->dbh->fetch_result($result, 0, "num_rules");
$num_actions = $this->dbh->fetch_result($result, 0, "num_actions"); $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]"); if (!$title) $title = __("[No caption]");
$title = sprintf(_ngettext("%s (%d rule)", "%s (%d rules)", $num_rules), $title, $num_rules); $title = sprintf(_ngettext("%s (%d rule)", "%s (%d rules)", $num_rules), $title, $num_rules);
$result = $this->dbh->query( $result = $this->dbh->query(
"SELECT * FROM ttrss_filters2_actions WHERE filter_id = '$id' ORDER BY id LIMIT 1"); "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; $num_actions -= 1;
} }
if ($match_any_rule) $title .= " (" . __("matches any rule") . ")";
if ($num_actions > 0) if ($num_actions > 0)
$actions = sprintf(_ngettext("%s (+%d action)", "%s (+%d actions)", $num_actions), $actions, $num_actions); $actions = sprintf(_ngettext("%s (+%d action)", "%s (+%d actions)", $num_actions), $actions, $num_actions);

View File

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

View File

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