1
0
mirror of https://git.tt-rss.org/git/tt-rss.git synced 2025-12-13 13:45:56 +00:00

toggleMark, togglePub: refactor implementation

shorten marked/published img CSS classes
This commit is contained in:
Andrew Dolgov
2018-12-01 08:20:09 +03:00
parent 3325979bf0
commit a2ef54cd92
7 changed files with 53 additions and 82 deletions

View File

@@ -26,7 +26,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio
if (this.model.store.getValue(args.item, 'id') != 'root') {
const img = dojo.doc.createElement('img');
img.src ='images/filter.png';
img.className = 'markedPic';
img.className = 'marked-pic';
tnode._filterIconNode = img;
domConstruct.place(tnode._filterIconNode, tnode.labelNode, 'before');
}

View File

@@ -400,93 +400,64 @@ function toggleMark(id, client_only) {
const query = { op: "rpc", id: id, method: "mark" };
const row = $("RROW-" + id);
if (!row) return;
const imgs = [];
if (row) {
const imgs = $$("img[class*=marked-pic][class*=marked-" + id + "]");
const row_imgs = row.getElementsByClassName("markedPic");
for (let i = 0; i < row_imgs.length; i++)
imgs.push(row_imgs[i]);
const ft = $("floatingTitle");
if (ft && ft.getAttribute("data-article-id") == id) {
const fte = ft.getElementsByClassName("markedPic");
for (var i = 0; i < fte.length; i++)
imgs.push(fte[i]);
}
for (i = 0; i < imgs.length; i++) {
const img = imgs[i];
if (!row.hasClassName("marked")) {
img.src = img.src.replace("mark_unset", "mark_set");
query.mark = 1;
} else {
img.src = img.src.replace("mark_set", "mark_unset");
query.mark = 0;
}
}
row.toggleClassName("marked");
if (!client_only)
xhrPost("backend.php", query, (transport) => {
handle_rpc_json(transport);
imgs.each((img) => {
if (!row.hasClassName("marked")) {
img.src = img.src.replace("mark_unset", "mark_set");
query.mark = 1;
} else {
img.src = img.src.replace("mark_set", "mark_unset");
query.mark = 0;
}
});
row.toggleClassName("marked");
if (!client_only)
xhrPost("backend.php", query, (transport) => {
handle_rpc_json(transport);
});
}
}
function togglePub(id, client_only, no_effects, note) {
const query = { op: "rpc", id: id, method: "publ" };
if (note != undefined) {
query.note = note;
} else {
query.note = "undefined";
}
const row = $("RROW-" + id);
if (!row) return;
const imgs = [];
const row_imgs = row.getElementsByClassName("pubPic");
for (let i = 0; i < row_imgs.length; i++)
imgs.push(row_imgs[i]);
const ft = $("floatingTitle");
if (ft && ft.getAttribute("data-article-id") == id) {
const fte = ft.getElementsByClassName("pubPic");
for (let i = 0; i < fte.length; i++)
imgs.push(fte[i]);
}
for (let i = 0; i < imgs.length; i++) {
const img = imgs[i];
if (!row.hasClassName("published") || note != undefined) {
img.src = img.src.replace("pub_unset", "pub_set");
query.pub = 1;
if (row) {
if (note != undefined) {
query.note = note;
} else {
img.src = img.src.replace("pub_set", "pub_unset");
query.pub = 0;
query.note = "undefined";
}
}
if (note != undefined)
row.addClassName("published");
else
row.toggleClassName("published");
const imgs = $$("img[class*=pub-pic][class*=pub-" + id + "]");
if (!client_only)
xhrPost("backend.php", query, (transport) => {
handle_rpc_json(transport);
imgs.each((img) => {
if (!row.hasClassName("published") || note != undefined) {
img.src = img.src.replace("pub_unset", "pub_set");
query.pub = 1;
} else {
img.src = img.src.replace("pub_set", "pub_unset");
query.pub = 0;
}
});
if (note != undefined)
row.addClassName("published");
else
row.toggleClassName("published");
if (!client_only)
xhrPost("backend.php", query, (transport) => {
handle_rpc_json(transport);
});
}
}
function moveToPost(mode, noscroll, noexpand) {
@@ -1932,7 +1903,7 @@ function updateFloatingTitle(unread_only) {
$("floatingTitle").setAttribute("data-article-id", child.getAttribute("data-article-id"));
$("floatingTitle").innerHTML = header.innerHTML;
$("floatingTitle").firstChild.innerHTML = "<img class='anchor markedPic' src='images/page_white_go.png' onclick=\"scrollToRowId('" + child.id + "')\">" + $("floatingTitle").firstChild.innerHTML;
$("floatingTitle").firstChild.innerHTML = "<img class='anchor marked-pics' src='images/page_white_go.png' onclick=\"scrollToRowId('" + child.id + "')\">" + $("floatingTitle").firstChild.innerHTML;
initFloatingMenu();