unify create filter interface
This commit is contained in:
parent
84025daba8
commit
7b5c6012d1
4 changed files with 98 additions and 80 deletions
20
backend.php
20
backend.php
|
@ -2233,6 +2233,8 @@
|
||||||
|
|
||||||
if ($quiet) return;
|
if ($quiet) return;
|
||||||
|
|
||||||
|
print "<div id=\"infoBoxShadow\"><div id=\"infoBox\">PLACEHOLDER</div></div>";
|
||||||
|
|
||||||
$result = db_query($link, "SELECT description
|
$result = db_query($link, "SELECT description
|
||||||
FROM ttrss_filter_types ORDER BY description");
|
FROM ttrss_filter_types ORDER BY description");
|
||||||
|
|
||||||
|
@ -2242,7 +2244,7 @@
|
||||||
array_push($filter_types, $line["description"]);
|
array_push($filter_types, $line["description"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
print "<div class=\"prefGenericAddBox\">
|
/* print "<div class=\"prefGenericAddBox\">
|
||||||
<input id=\"fadd_regexp\" size=\"40\"> ";
|
<input id=\"fadd_regexp\" size=\"40\"> ";
|
||||||
|
|
||||||
print_select("fadd_match", "Title", $filter_types);
|
print_select("fadd_match", "Title", $filter_types);
|
||||||
|
@ -2282,11 +2284,16 @@
|
||||||
class=\"button\" onclick=\"javascript:testFilter()\"
|
class=\"button\" onclick=\"javascript:testFilter()\"
|
||||||
value=\"Test filter\"> "; */
|
value=\"Test filter\"> "; */
|
||||||
|
|
||||||
print "<input type=\"submit\"
|
/* print "<input type=\"submit\"
|
||||||
class=\"button\" onclick=\"javascript:addFilter()\"
|
class=\"button\" onclick=\"javascript:addFilter()\"
|
||||||
value=\"Create filter\">";
|
value=\"Create filter\">"; */
|
||||||
|
|
||||||
print "</div>";
|
print "<input type=\"submit\"
|
||||||
|
class=\"button\"
|
||||||
|
onclick=\"javascript:displayDlg('quickAddFilter', false)\"
|
||||||
|
value=\"Create filter\">";
|
||||||
|
|
||||||
|
// print "</div>";
|
||||||
|
|
||||||
$result = db_query($link, "SELECT
|
$result = db_query($link, "SELECT
|
||||||
ttrss_filters.id AS id,reg_exp,
|
ttrss_filters.id AS id,reg_exp,
|
||||||
|
@ -2743,6 +2750,8 @@
|
||||||
$id = $_GET["id"];
|
$id = $_GET["id"];
|
||||||
$param = $_GET["param"];
|
$param = $_GET["param"];
|
||||||
|
|
||||||
|
print "<div class=\"infoBoxContents\">";
|
||||||
|
|
||||||
if ($id == "quickAddFeed") {
|
if ($id == "quickAddFeed") {
|
||||||
print "
|
print "
|
||||||
Feed URL: <input
|
Feed URL: <input
|
||||||
|
@ -2895,6 +2904,9 @@
|
||||||
|
|
||||||
print "</td></tr></table>";
|
print "</td></tr></table>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print "</div>";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// update feeds of all users, may be used anonymously
|
// update feeds of all users, may be used anonymously
|
||||||
|
|
80
functions.js
80
functions.js
|
@ -917,3 +917,83 @@ function center_element(e) {
|
||||||
exception_error("center_element", e);
|
exception_error("center_element", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function displayDlg(id, param) {
|
||||||
|
|
||||||
|
if (!xmlhttp_ready(xmlhttp)) {
|
||||||
|
printLockingError();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
notify("");
|
||||||
|
|
||||||
|
xmlhttp.open("GET", "backend.php?op=dlg&id=" +
|
||||||
|
param_escape(id) + "¶m=" + param_escape(param), true);
|
||||||
|
xmlhttp.onreadystatechange=dlg_display_callback;
|
||||||
|
xmlhttp.send(null);
|
||||||
|
|
||||||
|
disableHotkeys();
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeDlg() {
|
||||||
|
var dlg = document.getElementById("infoBoxShadow");
|
||||||
|
dlg.style.display = "none";
|
||||||
|
enableHotkeys();
|
||||||
|
}
|
||||||
|
|
||||||
|
function dlg_submit_callback() {
|
||||||
|
if (xmlhttp.readyState == 4) {
|
||||||
|
notify(xmlhttp.responseText);
|
||||||
|
closeDlg();
|
||||||
|
|
||||||
|
// called from prefs, reload tab
|
||||||
|
if (active_tab) {
|
||||||
|
selectTab(active_tab, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function dlg_display_callback() {
|
||||||
|
if (xmlhttp.readyState == 4) {
|
||||||
|
var dlg = document.getElementById("infoBox");
|
||||||
|
var dlg_s = document.getElementById("infoBoxShadow");
|
||||||
|
|
||||||
|
dlg.innerHTML = xmlhttp.responseText;
|
||||||
|
dlg_s.style.display = "block";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function qaddFilter() {
|
||||||
|
|
||||||
|
if (!xmlhttp_ready(xmlhttp)) {
|
||||||
|
printLockingError();
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var regexp = document.getElementById("fadd_regexp");
|
||||||
|
var match = document.getElementById("fadd_match");
|
||||||
|
var feed = document.getElementById("fadd_feed");
|
||||||
|
var action = document.getElementById("fadd_action");
|
||||||
|
|
||||||
|
if (regexp.value.length == 0) {
|
||||||
|
notify("Missing filter expression.");
|
||||||
|
} else {
|
||||||
|
notify("Adding filter...");
|
||||||
|
|
||||||
|
var v_match = match[match.selectedIndex].text;
|
||||||
|
var feed_id = feed[feed.selectedIndex].id;
|
||||||
|
var action_id = action[action.selectedIndex].id;
|
||||||
|
|
||||||
|
xmlhttp.open("GET", "backend.php?op=pref-filters&quiet=1&subop=add®exp=" +
|
||||||
|
param_escape(regexp.value) + "&match=" + v_match +
|
||||||
|
"&fid=" + param_escape(feed_id) + "&aid=" + param_escape(action_id), true);
|
||||||
|
|
||||||
|
xmlhttp.onreadystatechange=dlg_submit_callback;
|
||||||
|
xmlhttp.send(null);
|
||||||
|
|
||||||
|
regexp.value = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
74
tt-rss.js
74
tt-rss.js
|
@ -58,23 +58,6 @@ function dlg_frefresh_callback() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function dlg_submit_callback() {
|
|
||||||
if (xmlhttp.readyState == 4) {
|
|
||||||
notify(xmlhttp.responseText);
|
|
||||||
closeDlg();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function dlg_display_callback() {
|
|
||||||
if (xmlhttp.readyState == 4) {
|
|
||||||
var dlg = document.getElementById("userDlg");
|
|
||||||
var dlg_s = document.getElementById("userDlgShadow");
|
|
||||||
|
|
||||||
dlg.innerHTML = xmlhttp.responseText;
|
|
||||||
dlg_s.style.display = "block";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function hide_unread_callback() {
|
function hide_unread_callback() {
|
||||||
if (xmlhttp.readyState == 4) {
|
if (xmlhttp.readyState == 4) {
|
||||||
|
|
||||||
|
@ -578,63 +561,6 @@ function qafAdd() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function qaddFilter() {
|
|
||||||
|
|
||||||
if (!xmlhttp_ready(xmlhttp)) {
|
|
||||||
printLockingError();
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
var regexp = document.getElementById("fadd_regexp");
|
|
||||||
var match = document.getElementById("fadd_match");
|
|
||||||
var feed = document.getElementById("fadd_feed");
|
|
||||||
var action = document.getElementById("fadd_action");
|
|
||||||
|
|
||||||
if (regexp.value.length == 0) {
|
|
||||||
notify("Missing filter expression.");
|
|
||||||
} else {
|
|
||||||
notify("Adding filter...");
|
|
||||||
|
|
||||||
var v_match = match[match.selectedIndex].text;
|
|
||||||
var feed_id = feed[feed.selectedIndex].id;
|
|
||||||
var action_id = action[action.selectedIndex].id;
|
|
||||||
|
|
||||||
xmlhttp.open("GET", "backend.php?op=pref-filters&quiet=1&subop=add®exp=" +
|
|
||||||
param_escape(regexp.value) + "&match=" + v_match +
|
|
||||||
"&fid=" + param_escape(feed_id) + "&aid=" + param_escape(action_id), true);
|
|
||||||
|
|
||||||
xmlhttp.onreadystatechange=dlg_submit_callback;
|
|
||||||
xmlhttp.send(null);
|
|
||||||
|
|
||||||
regexp.value = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function displayDlg(id, param) {
|
|
||||||
|
|
||||||
if (!xmlhttp_ready(xmlhttp)) {
|
|
||||||
printLockingError();
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
notify("");
|
|
||||||
|
|
||||||
xmlhttp.open("GET", "backend.php?op=dlg&id=" +
|
|
||||||
param_escape(id) + "¶m=" + param_escape(param), true);
|
|
||||||
xmlhttp.onreadystatechange=dlg_display_callback;
|
|
||||||
xmlhttp.send(null);
|
|
||||||
|
|
||||||
disableHotkeys();
|
|
||||||
}
|
|
||||||
|
|
||||||
function closeDlg() {
|
|
||||||
var dlg = document.getElementById("userDlgShadow");
|
|
||||||
dlg.style.display = "none";
|
|
||||||
enableHotkeys();
|
|
||||||
}
|
|
||||||
|
|
||||||
function qfdDelete(feed_id) {
|
function qfdDelete(feed_id) {
|
||||||
|
|
||||||
notify("Removing feed...");
|
notify("Removing feed...");
|
||||||
|
|
|
@ -96,7 +96,7 @@ window.onload = init;
|
||||||
<div id="notify"><span id="notify_body"> </span></div>
|
<div id="notify"><span id="notify_body"> </span></div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<div id="userDlgShadow"><div id="userDlg"> </div></div>
|
<div id="infoBoxShadow"><div id="infoBox"> </div></div>
|
||||||
|
|
||||||
</tr><tr><td class="welcomePrompt">
|
</tr><tr><td class="welcomePrompt">
|
||||||
<? if (!SINGLE_USER_MODE) { ?>
|
<? if (!SINGLE_USER_MODE) { ?>
|
||||||
|
@ -240,7 +240,7 @@ window.onload = init;
|
||||||
<option id="qmcShowOnlyUnread"> Show only unread</option>
|
<option id="qmcShowOnlyUnread"> Show only unread</option>
|
||||||
<option disabled>--------</option>
|
<option disabled>--------</option>
|
||||||
<option style="color : #5050aa" disabled>Other actions:</option>
|
<option style="color : #5050aa" disabled>Other actions:</option>
|
||||||
<option id="qmcAddFilter"> Add filter</option>
|
<option id="qmcAddFilter"> Create filter</option>
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
Loading…
Reference in a new issue