mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-17 06:01:33 -06:00
WebUI: Clean up duplicated codes in dynamic table
Call class super methods. PR #23576.
This commit is contained in:
@@ -564,6 +564,7 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
column["force_hide"] = false;
|
column["force_hide"] = false;
|
||||||
column["caption"] = caption;
|
column["caption"] = caption;
|
||||||
column["style"] = style;
|
column["style"] = style;
|
||||||
|
if (defaultWidth !== -1)
|
||||||
column["width"] = localPreferences.get(`column_${name}_width_${this.dynamicTableDivId}`, defaultWidth);
|
column["width"] = localPreferences.get(`column_${name}_width_${this.dynamicTableDivId}`, defaultWidth);
|
||||||
column["dataProperties"] = [name];
|
column["dataProperties"] = [name];
|
||||||
column["getRowValue"] = function(row, pos) {
|
column["getRowValue"] = function(row, pos) {
|
||||||
@@ -3098,9 +3099,7 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
return [...this.getRowValues()];
|
return [...this.getRowValues()];
|
||||||
}
|
}
|
||||||
selectRow(rowId) {
|
selectRow(rowId) {
|
||||||
this.selectedRows.push(rowId);
|
super.selectRow(rowId);
|
||||||
this.setRowClass();
|
|
||||||
this.onSelectedRowChanged();
|
|
||||||
|
|
||||||
let path = "";
|
let path = "";
|
||||||
for (const row of this.getRowValues()) {
|
for (const row of this.getRowValues()) {
|
||||||
@@ -3177,42 +3176,6 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
newColumn(name, style, caption, defaultWidth, defaultVisible) {
|
|
||||||
const column = {};
|
|
||||||
column["name"] = name;
|
|
||||||
column["title"] = name;
|
|
||||||
column["visible"] = defaultVisible;
|
|
||||||
column["force_hide"] = false;
|
|
||||||
column["caption"] = caption;
|
|
||||||
column["style"] = style;
|
|
||||||
if (defaultWidth !== -1)
|
|
||||||
column["width"] = defaultWidth;
|
|
||||||
|
|
||||||
column["dataProperties"] = [name];
|
|
||||||
column["getRowValue"] = function(row, pos) {
|
|
||||||
if (pos === undefined)
|
|
||||||
pos = 0;
|
|
||||||
return row["full_data"][this.dataProperties[pos]];
|
|
||||||
};
|
|
||||||
column["compareRows"] = function(row1, row2) {
|
|
||||||
const value1 = this.getRowValue(row1);
|
|
||||||
const value2 = this.getRowValue(row2);
|
|
||||||
if ((typeof(value1) === "number") && (typeof(value2) === "number"))
|
|
||||||
return compareNumbers(value1, value2);
|
|
||||||
return window.qBittorrent.Misc.naturalSortCollator.compare(value1, value2);
|
|
||||||
};
|
|
||||||
column["updateTd"] = function(td, row) {
|
|
||||||
const value = this.getRowValue(row);
|
|
||||||
td.textContent = value;
|
|
||||||
td.title = value;
|
|
||||||
};
|
|
||||||
column["onResize"] = null;
|
|
||||||
this.columns.push(column);
|
|
||||||
this.columns[name] = column;
|
|
||||||
|
|
||||||
this.hiddenTableHeader.append(document.createElement("th"));
|
|
||||||
this.fixedTableHeader.append(document.createElement("th"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class RssArticleTable extends DynamicTable {
|
class RssArticleTable extends DynamicTable {
|
||||||
@@ -3225,9 +3188,7 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
return [...this.getRowValues()];
|
return [...this.getRowValues()];
|
||||||
}
|
}
|
||||||
selectRow(rowId) {
|
selectRow(rowId) {
|
||||||
this.selectedRows.push(rowId);
|
super.selectRow(rowId);
|
||||||
this.setRowClass();
|
|
||||||
this.onSelectedRowChanged();
|
|
||||||
|
|
||||||
let articleId = "";
|
let articleId = "";
|
||||||
let feedUid = "";
|
let feedUid = "";
|
||||||
@@ -3259,42 +3220,6 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
|
|
||||||
return super.updateRow(tr, fullUpdate);
|
return super.updateRow(tr, fullUpdate);
|
||||||
}
|
}
|
||||||
newColumn(name, style, caption, defaultWidth, defaultVisible) {
|
|
||||||
const column = {};
|
|
||||||
column["name"] = name;
|
|
||||||
column["title"] = name;
|
|
||||||
column["visible"] = defaultVisible;
|
|
||||||
column["force_hide"] = false;
|
|
||||||
column["caption"] = caption;
|
|
||||||
column["style"] = style;
|
|
||||||
if (defaultWidth !== -1)
|
|
||||||
column["width"] = defaultWidth;
|
|
||||||
|
|
||||||
column["dataProperties"] = [name];
|
|
||||||
column["getRowValue"] = function(row, pos) {
|
|
||||||
if (pos === undefined)
|
|
||||||
pos = 0;
|
|
||||||
return row["full_data"][this.dataProperties[pos]];
|
|
||||||
};
|
|
||||||
column["compareRows"] = function(row1, row2) {
|
|
||||||
const value1 = this.getRowValue(row1);
|
|
||||||
const value2 = this.getRowValue(row2);
|
|
||||||
if ((typeof(value1) === "number") && (typeof(value2) === "number"))
|
|
||||||
return compareNumbers(value1, value2);
|
|
||||||
return window.qBittorrent.Misc.naturalSortCollator.compare(value1, value2);
|
|
||||||
};
|
|
||||||
column["updateTd"] = function(td, row) {
|
|
||||||
const value = this.getRowValue(row);
|
|
||||||
td.textContent = value;
|
|
||||||
td.title = value;
|
|
||||||
};
|
|
||||||
column["onResize"] = null;
|
|
||||||
this.columns.push(column);
|
|
||||||
this.columns[name] = column;
|
|
||||||
|
|
||||||
this.hiddenTableHeader.append(document.createElement("th"));
|
|
||||||
this.fixedTableHeader.append(document.createElement("th"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class RssDownloaderRulesTable extends DynamicTable {
|
class RssDownloaderRulesTable extends DynamicTable {
|
||||||
@@ -3342,46 +3267,8 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
window.qBittorrent.RssDownloader.renameRule(this.getRow(tr.rowId).full_data.name);
|
window.qBittorrent.RssDownloader.renameRule(this.getRow(tr.rowId).full_data.name);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
newColumn(name, style, caption, defaultWidth, defaultVisible) {
|
|
||||||
const column = {};
|
|
||||||
column["name"] = name;
|
|
||||||
column["title"] = name;
|
|
||||||
column["visible"] = defaultVisible;
|
|
||||||
column["force_hide"] = false;
|
|
||||||
column["caption"] = caption;
|
|
||||||
column["style"] = style;
|
|
||||||
if (defaultWidth !== -1)
|
|
||||||
column["width"] = defaultWidth;
|
|
||||||
|
|
||||||
column["dataProperties"] = [name];
|
|
||||||
column["getRowValue"] = function(row, pos) {
|
|
||||||
if (pos === undefined)
|
|
||||||
pos = 0;
|
|
||||||
return row["full_data"][this.dataProperties[pos]];
|
|
||||||
};
|
|
||||||
column["compareRows"] = function(row1, row2) {
|
|
||||||
const value1 = this.getRowValue(row1);
|
|
||||||
const value2 = this.getRowValue(row2);
|
|
||||||
if ((typeof(value1) === "number") && (typeof(value2) === "number"))
|
|
||||||
return compareNumbers(value1, value2);
|
|
||||||
return window.qBittorrent.Misc.naturalSortCollator.compare(value1, value2);
|
|
||||||
};
|
|
||||||
column["updateTd"] = function(td, row) {
|
|
||||||
const value = this.getRowValue(row);
|
|
||||||
td.textContent = value;
|
|
||||||
td.title = value;
|
|
||||||
};
|
|
||||||
column["onResize"] = null;
|
|
||||||
this.columns.push(column);
|
|
||||||
this.columns[name] = column;
|
|
||||||
|
|
||||||
this.hiddenTableHeader.append(document.createElement("th"));
|
|
||||||
this.fixedTableHeader.append(document.createElement("th"));
|
|
||||||
}
|
|
||||||
selectRow(rowId) {
|
selectRow(rowId) {
|
||||||
this.selectedRows.push(rowId);
|
super.selectRow(rowId);
|
||||||
this.setRowClass();
|
|
||||||
this.onSelectedRowChanged();
|
|
||||||
|
|
||||||
let name = "";
|
let name = "";
|
||||||
for (const row of this.getRowValues()) {
|
for (const row of this.getRowValues()) {
|
||||||
@@ -3427,42 +3314,6 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
getFilteredAndSortedRows() {
|
getFilteredAndSortedRows() {
|
||||||
return [...this.getRowValues()];
|
return [...this.getRowValues()];
|
||||||
}
|
}
|
||||||
newColumn(name, style, caption, defaultWidth, defaultVisible) {
|
|
||||||
const column = {};
|
|
||||||
column["name"] = name;
|
|
||||||
column["title"] = name;
|
|
||||||
column["visible"] = defaultVisible;
|
|
||||||
column["force_hide"] = false;
|
|
||||||
column["caption"] = caption;
|
|
||||||
column["style"] = style;
|
|
||||||
if (defaultWidth !== -1)
|
|
||||||
column["width"] = defaultWidth;
|
|
||||||
|
|
||||||
column["dataProperties"] = [name];
|
|
||||||
column["getRowValue"] = function(row, pos) {
|
|
||||||
if (pos === undefined)
|
|
||||||
pos = 0;
|
|
||||||
return row["full_data"][this.dataProperties[pos]];
|
|
||||||
};
|
|
||||||
column["compareRows"] = function(row1, row2) {
|
|
||||||
const value1 = this.getRowValue(row1);
|
|
||||||
const value2 = this.getRowValue(row2);
|
|
||||||
if ((typeof(value1) === "number") && (typeof(value2) === "number"))
|
|
||||||
return compareNumbers(value1, value2);
|
|
||||||
return window.qBittorrent.Misc.naturalSortCollator.compare(value1, value2);
|
|
||||||
};
|
|
||||||
column["updateTd"] = function(td, row) {
|
|
||||||
const value = this.getRowValue(row);
|
|
||||||
td.textContent = value;
|
|
||||||
td.title = value;
|
|
||||||
};
|
|
||||||
column["onResize"] = null;
|
|
||||||
this.columns.push(column);
|
|
||||||
this.columns[name] = column;
|
|
||||||
|
|
||||||
this.hiddenTableHeader.append(document.createElement("th"));
|
|
||||||
this.fixedTableHeader.append(document.createElement("th"));
|
|
||||||
}
|
|
||||||
selectRow() {}
|
selectRow() {}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3475,42 +3326,6 @@ window.qBittorrent.DynamicTable ??= (() => {
|
|||||||
getFilteredAndSortedRows() {
|
getFilteredAndSortedRows() {
|
||||||
return [...this.getRowValues()];
|
return [...this.getRowValues()];
|
||||||
}
|
}
|
||||||
newColumn(name, style, caption, defaultWidth, defaultVisible) {
|
|
||||||
const column = {};
|
|
||||||
column["name"] = name;
|
|
||||||
column["title"] = name;
|
|
||||||
column["visible"] = defaultVisible;
|
|
||||||
column["force_hide"] = false;
|
|
||||||
column["caption"] = caption;
|
|
||||||
column["style"] = style;
|
|
||||||
if (defaultWidth !== -1)
|
|
||||||
column["width"] = defaultWidth;
|
|
||||||
|
|
||||||
column["dataProperties"] = [name];
|
|
||||||
column["getRowValue"] = function(row, pos) {
|
|
||||||
if (pos === undefined)
|
|
||||||
pos = 0;
|
|
||||||
return row["full_data"][this.dataProperties[pos]];
|
|
||||||
};
|
|
||||||
column["compareRows"] = function(row1, row2) {
|
|
||||||
const value1 = this.getRowValue(row1);
|
|
||||||
const value2 = this.getRowValue(row2);
|
|
||||||
if ((typeof(value1) === "number") && (typeof(value2) === "number"))
|
|
||||||
return compareNumbers(value1, value2);
|
|
||||||
return window.qBittorrent.Misc.naturalSortCollator.compare(value1, value2);
|
|
||||||
};
|
|
||||||
column["updateTd"] = function(td, row) {
|
|
||||||
const value = this.getRowValue(row);
|
|
||||||
td.textContent = value;
|
|
||||||
td.title = value;
|
|
||||||
};
|
|
||||||
column["onResize"] = null;
|
|
||||||
this.columns.push(column);
|
|
||||||
this.columns[name] = column;
|
|
||||||
|
|
||||||
this.hiddenTableHeader.append(document.createElement("th"));
|
|
||||||
this.fixedTableHeader.append(document.createElement("th"));
|
|
||||||
}
|
|
||||||
selectRow() {}
|
selectRow() {}
|
||||||
updateRow(tr, fullUpdate) {
|
updateRow(tr, fullUpdate) {
|
||||||
const row = this.rows.get(tr.rowId);
|
const row = this.rows.get(tr.rowId);
|
||||||
|
|||||||
Reference in New Issue
Block a user