dynamically show new label markers in headlines buffer w/o reload
This commit is contained in:
parent
1380f8eed4
commit
f92471951b
4 changed files with 56 additions and 3 deletions
|
@ -5019,7 +5019,7 @@
|
|||
$feed_id = $line["feed_id"];
|
||||
|
||||
$labels = get_article_labels($link, $id);
|
||||
$labels_str = "";
|
||||
$labels_str = "<span id=\"HLLCTR-$id\">";
|
||||
|
||||
foreach ($labels as $l) {
|
||||
$labels_str .= "<span
|
||||
|
@ -5027,6 +5027,8 @@
|
|||
$l[1]."</span>";
|
||||
}
|
||||
|
||||
$labels_str .= "</span>";
|
||||
|
||||
if (count($topmost_article_ids) < 5) {
|
||||
array_push($topmost_article_ids, $id);
|
||||
}
|
||||
|
|
|
@ -450,14 +450,34 @@
|
|||
|
||||
$label = label_find_caption($link, $label_id, $_SESSION["uid"]);
|
||||
|
||||
print "<rpc-reply>";
|
||||
|
||||
print "<info-for-headlines>";
|
||||
|
||||
if ($label) {
|
||||
|
||||
foreach ($ids as $id) {
|
||||
label_add_article($link, $id, $label, $_SESSION["uid"]);
|
||||
|
||||
print "<entry id=\"$id\"><![CDATA[";
|
||||
|
||||
$labels = get_article_labels($link, $id, $_SESSION["uid"]);
|
||||
|
||||
foreach ($labels as $l) {
|
||||
print "<span class='hlLabelRef'>".$l[1]."</span>";
|
||||
}
|
||||
|
||||
print "]]></entry>";
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
print "<rpc-reply>OK</rpc-reply>";
|
||||
print "</info-for-headlines>";
|
||||
|
||||
print "<counters>";
|
||||
getAllCounters($link, $omode);
|
||||
print "</counters>";
|
||||
print "</rpc-reply>";
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -1794,6 +1794,8 @@ ul.headlineDropdownMenu ul {
|
|||
border-color : #c0c0c0;
|
||||
border-style : solid;
|
||||
margin-left : -1px;
|
||||
max-height : 300px;
|
||||
overflow : auto;
|
||||
}
|
||||
|
||||
ul.headlineDropdownMenu ul li {
|
||||
|
|
31
viewfeed.js
31
viewfeed.js
|
@ -907,7 +907,8 @@ function selectionAssignLabel(id) {
|
|||
|
||||
new Ajax.Request(query, {
|
||||
onComplete: function(transport) {
|
||||
viewCurrentFeed();
|
||||
show_labels_in_headlines(transport);
|
||||
all_counters_callback2(transport);
|
||||
} });
|
||||
|
||||
}
|
||||
|
@ -2008,3 +2009,31 @@ function scrollArticle(offset) {
|
|||
exception_error("scrollArticle", e);
|
||||
}
|
||||
}
|
||||
|
||||
function show_labels_in_headlines(transport) {
|
||||
try {
|
||||
if (transport.responseXML) {
|
||||
var info = transport.responseXML.getElementsByTagName("info-for-headlines")[0];
|
||||
|
||||
var elems = info.getElementsByTagName("entry");
|
||||
|
||||
for (var l = 0; l < elems.length; l++) {
|
||||
var e_id = elems[l].getAttribute("id");
|
||||
|
||||
if (e_id) {
|
||||
|
||||
var ctr = document.getElementById("HLLCTR-" + e_id);
|
||||
|
||||
if (ctr) {
|
||||
ctr.innerHTML = elems[l].firstChild.nodeValue;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
} catch (e) {
|
||||
exception_error("show_labels_in_headlines", e);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue