summaryrefslogtreecommitdiff
path: root/js/common.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-03-03 19:07:39 +0300
committerAndrew Dolgov <[email protected]>2021-03-03 19:07:39 +0300
commitcb7f322f09fb8ed9be95978db82f99a2e8a4661b (patch)
tree7c84b6ba264fd07a3a5105ce946390a5c5554dad /js/common.js
parent06cb181f7315b709d9d8ab926f7607f3227ad168 (diff)
add basic plugin installer (uses tt-rss.org)
Diffstat (limited to 'js/common.js')
-rwxr-xr-xjs/common.js59
1 files changed, 49 insertions, 10 deletions
diff --git a/js/common.js b/js/common.js
index 194fdcd9d..9c748f9c5 100755
--- a/js/common.js
+++ b/js/common.js
@@ -262,8 +262,11 @@ const Lists = {
if (row)
checked ? row.addClassName("Selected") : row.removeClassName("Selected");
},
- select: function(elemId, selected) {
- $(elemId).querySelectorAll("li").forEach((row) => {
+ select: function(elem, selected) {
+ if (typeof elem == "string")
+ elem = document.getElementById(elem);
+
+ elem.querySelectorAll("li").forEach((row) => {
const checkNode = row.querySelector(".dijitCheckBox,input[type=checkbox]");
if (checkNode) {
const widget = dijit.getEnclosingWidget(checkNode);
@@ -278,6 +281,30 @@ const Lists = {
}
});
},
+ getSelected: function(elem) {
+ const rv = [];
+
+ if (typeof elem == "string")
+ elem = document.getElementById(elem);
+
+ elem.querySelectorAll("li").forEach((row) => {
+ if (row.hasClassName("Selected")) {
+ const rowVal = row.getAttribute("data-row-value");
+
+ if (rowVal) {
+ rv.push(rowVal);
+ } else {
+ // either older prefix-XXX notation or separate attribute
+ const rowId = row.getAttribute("data-row-id") || row.id.replace(/^[A-Z]*?-/, "");
+
+ if (!isNaN(rowId))
+ rv.push(parseInt(rowId));
+ }
+ }
+ });
+
+ return rv;
+ }
};
/* exported Tables */
@@ -293,8 +320,11 @@ const Tables = {
checked ? row.addClassName("Selected") : row.removeClassName("Selected");
},
- select: function(elemId, selected) {
- $(elemId).querySelectorAll("tr").forEach((row) => {
+ select: function(elem, selected) {
+ if (typeof elem == "string")
+ elem = document.getElementById(elem);
+
+ elem.querySelectorAll("tr").forEach((row) => {
const checkNode = row.querySelector(".dijitCheckBox,input[type=checkbox]");
if (checkNode) {
const widget = dijit.getEnclosingWidget(checkNode);
@@ -309,16 +339,25 @@ const Tables = {
}
});
},
- getSelected: function(elemId) {
+ getSelected: function(elem) {
const rv = [];
- $(elemId).querySelectorAll("tr").forEach((row) => {
+ if (typeof elem == "string")
+ elem = document.getElementById(elem);
+
+ elem.querySelectorAll("tr").forEach((row) => {
if (row.hasClassName("Selected")) {
- // either older prefix-XXX notation or separate attribute
- const rowId = row.getAttribute("data-row-id") || row.id.replace(/^[A-Z]*?-/, "");
+ const rowVal = row.getAttribute("data-row-value");
+
+ if (rowVal) {
+ rv.push(rowVal);
+ } else {
+ // either older prefix-XXX notation or separate attribute
+ const rowId = row.getAttribute("data-row-id") || row.id.replace(/^[A-Z]*?-/, "");
- if (!isNaN(rowId))
- rv.push(parseInt(rowId));
+ if (!isNaN(rowId))
+ rv.push(parseInt(rowId));
+ }
}
});