summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--functions.js9
-rw-r--r--modules/backend-rpc.php17
-rw-r--r--modules/popup-dialog.php12
-rw-r--r--tt-rss.css29
-rw-r--r--tt-rss.php2
5 files changed, 64 insertions, 5 deletions
diff --git a/functions.js b/functions.js
index 3fa9c69c0..c6ef5fba9 100644
--- a/functions.js
+++ b/functions.js
@@ -1470,6 +1470,15 @@ function infobox_callback() {
box.style.display = "block";
}
}
+
+ /* FIXME this needs to be moved out somewhere */
+
+ if (document.getElementById("tags_choices")) {
+ new Ajax.Autocompleter('tags_str', 'tags_choices',
+ "backend.php?op=rpc&subop=completeTags",
+ { tokens: ',', paramName: "search" });
+ }
+
notify("");
} catch (e) {
exception_error("infobox_callback", e);
diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php
index 7e83e816a..3303b25f9 100644
--- a/modules/backend-rpc.php
+++ b/modules/backend-rpc.php
@@ -320,5 +320,22 @@
print_error_xml(6);
}
+ if ($subop == "completeTags") {
+
+ $search = db_escape_string($_REQUEST["search"]);
+
+ $result = db_query($link, "SELECT DISTINCT tag_name FROM ttrss_tags
+ WHERE owner_uid = '".$_SESSION["uid"]."' AND
+ tag_name LIKE '$search%' ORDER BY tag_name
+ LIMIT 10");
+
+ print "<ul>";
+ while ($line = db_fetch_assoc($result)) {
+ print "<li>" . $line["tag_name"] . "</li>";
+ }
+ print "</ul>";
+
+ }
+
}
?>
diff --git a/modules/popup-dialog.php b/modules/popup-dialog.php
index 6590159d2..2805f7653 100644
--- a/modules/popup-dialog.php
+++ b/modules/popup-dialog.php
@@ -376,9 +376,13 @@
print "<tr><td colspan='2'><input type=\"hidden\" name=\"id\" value=\"$param\"></td></tr>";
- print "<tr><td colspan='2'><textarea rows='4' class='iedit' name='tags_str'>$tags_str</textarea></td></tr>";
+ print "<tr><td colspan='2'><textarea rows='4' class='iedit' id='tags_str'
+ name='tags_str'>$tags_str</textarea>
+ <div class=\"autocomplete\" id=\"tags_choices\"
+ style=\"display:none\"></div>
+ </td></tr>";
- print "<tr><td>".__('Add existing tag:')."</td>";
+/* print "<tr><td>".__('Add existing tag:')."</td>";
$result = db_query($link, "SELECT DISTINCT tag_name FROM ttrss_tags
WHERE owner_uid = '".$_SESSION["uid"]."' ORDER BY tag_name");
@@ -395,9 +399,9 @@
print_select("found_tags", '', $found_tags, "onchange=\"javascript:editTagsInsert()\"");
- print "</td>";
+ print "</td>";
- print "</tr>";
+ print "</tr>"; */
print "</table>";
diff --git a/tt-rss.css b/tt-rss.css
index 8d613fa8c..61ae3fa14 100644
--- a/tt-rss.css
+++ b/tt-rss.css
@@ -1649,3 +1649,32 @@ a[target="_new"], a[target="_blank"] {
border-color : #778899;
border-style : dotted;
}
+
+div.autocomplete {
+ position : absolute;
+ width : 250px;
+ background-color : white;
+ border :1px solid #778899;
+ margin : 0px;
+ padding : 0px;
+}
+
+div.autocomplete ul {
+ list-style-type : none;
+ margin : 0px;
+ padding : 0px;
+}
+
+div.autocomplete ul li.selected {
+ background-color : #fff7d5;
+}
+
+div.autocomplete ul li {
+ list-style-type : none;
+ display : block;
+ margin : 0;
+ padding : 2px;
+ height : 32px;
+ cursor : pointer;
+}
+
diff --git a/tt-rss.php b/tt-rss.php
index c43cb5d81..690e1720c 100644
--- a/tt-rss.php
+++ b/tt-rss.php
@@ -49,8 +49,8 @@
<link rel="shortcut icon" type="image/png" href="images/favicon.png">
<script type="text/javascript" src="prototype.js"></script>
+ <script type="text/javascript" src="scriptaculous/scriptaculous.js"></script>
<script type="text/javascript" src="localized_js.php?<?php echo $dt_add ?>"></script>
-
<script type="text/javascript" src="tt-rss.js?<?php echo $dt_add ?>"></script>
<script type="text/javascript" src="functions.js?<?php echo $dt_add ?>"></script>
<script type="text/javascript" src="feedlist.js?<?php echo $dt_add ?>"></script>