|
|
|
@ -383,7 +383,7 @@ export class CustomNodesInstaller extends ComfyDialog {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
resetHeaderStyles() { |
|
|
|
|
const headers = ['th_stars', 'th_last_update']; // Add the IDs of all your sortable headers here
|
|
|
|
|
const headers = ['th_author', 'th_title', 'th_stars', 'th_last_update']; // Add the IDs of all your sortable headers here
|
|
|
|
|
headers.forEach(headerId => { |
|
|
|
|
const header = this.element.querySelector(`#${headerId}`); |
|
|
|
|
if (header) { |
|
|
|
@ -410,6 +410,10 @@ export class CustomNodesInstaller extends ComfyDialog {
|
|
|
|
|
headerId = 'th_stars'; |
|
|
|
|
} else if (property === 'last_update') { |
|
|
|
|
headerId = 'th_last_update'; |
|
|
|
|
} else if (property === 'author') { |
|
|
|
|
headerId = 'th_author'; |
|
|
|
|
} else if (property === 'title') { |
|
|
|
|
headerId = 'th_title'; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// If we have a valid headerId, change its style to indicate it's the active sort column
|
|
|
|
@ -462,28 +466,40 @@ export class CustomNodesInstaller extends ComfyDialog {
|
|
|
|
|
var header1 = document.createElement('th'); |
|
|
|
|
header1.innerHTML = ' ID '; |
|
|
|
|
header1.style.width = "20px"; |
|
|
|
|
|
|
|
|
|
var header2 = document.createElement('th'); |
|
|
|
|
header2.innerHTML = 'Author'; |
|
|
|
|
header2.style.width = "150px"; |
|
|
|
|
header2.style.cursor = 'pointer'; |
|
|
|
|
header2.setAttribute('id', 'th_author'); |
|
|
|
|
header2.onclick = () => this.toggleSort('author'); |
|
|
|
|
|
|
|
|
|
var header3 = document.createElement('th'); |
|
|
|
|
header3.innerHTML = 'Name'; |
|
|
|
|
header3.style.width = "20%"; |
|
|
|
|
header3.style.cursor = 'pointer'; |
|
|
|
|
header3.setAttribute('id', 'th_title'); |
|
|
|
|
header3.onclick = () => this.toggleSort('title'); |
|
|
|
|
|
|
|
|
|
var header4 = document.createElement('th'); |
|
|
|
|
header4.innerHTML = 'Description'; |
|
|
|
|
header4.style.width = "60%"; |
|
|
|
|
// header4.classList.add('expandable-column');
|
|
|
|
|
|
|
|
|
|
var header5 = document.createElement('th'); |
|
|
|
|
header5.innerHTML = 'GitHub Stars'; |
|
|
|
|
header5.innerHTML = ' ★ '; |
|
|
|
|
header5.style.width = "130px"; |
|
|
|
|
header5.setAttribute('id', 'th_stars'); |
|
|
|
|
header5.style.cursor = 'pointer'; |
|
|
|
|
header5.onclick = () => this.toggleSort('stars'); |
|
|
|
|
|
|
|
|
|
var header6 = document.createElement('th'); |
|
|
|
|
header6.innerHTML = 'Last Update'; |
|
|
|
|
header6.style.width = "130px"; |
|
|
|
|
header6.setAttribute('id', 'th_last_update'); |
|
|
|
|
header6.style.cursor = 'pointer'; |
|
|
|
|
header6.onclick = () => this.toggleSort('last_update'); |
|
|
|
|
|
|
|
|
|
var header7 = document.createElement('th'); |
|
|
|
|
header7.innerHTML = 'Install'; |
|
|
|
|
header7.style.width = "130px"; |
|
|
|
@ -593,7 +609,12 @@ export class CustomNodesInstaller extends ComfyDialog {
|
|
|
|
|
var data5 = document.createElement('td'); |
|
|
|
|
data5.style.maxWidth = "100px"; |
|
|
|
|
data5.className = "cm-node-stars" |
|
|
|
|
if(data.stars < 0) { |
|
|
|
|
data5.textContent = 'N/A'; |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
data5.textContent = `${data.stars}`; |
|
|
|
|
} |
|
|
|
|
data5.style.whiteSpace = "nowrap"; |
|
|
|
|
data5.style.overflow = "hidden"; |
|
|
|
|
data5.style.textOverflow = "ellipsis"; |
|
|
|
@ -602,8 +623,13 @@ export class CustomNodesInstaller extends ComfyDialog {
|
|
|
|
|
var lastUpdateDate = new Date(); |
|
|
|
|
var data6 = document.createElement('td'); |
|
|
|
|
data6.style.maxWidth = "100px"; |
|
|
|
|
data6.className = "cm-node-last-update" |
|
|
|
|
data6.className = "cm-node-last-update"; |
|
|
|
|
if(data.last_update < 0) { |
|
|
|
|
data6.textContent = 'N/A'; |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
data6.textContent = `${data.last_update}`.split(' ')[0]; |
|
|
|
|
} |
|
|
|
|
data6.style.whiteSpace = "nowrap"; |
|
|
|
|
data6.style.overflow = "hidden"; |
|
|
|
|
data6.style.textOverflow = "ellipsis"; |
|
|
|
@ -685,6 +711,7 @@ export class CustomNodesInstaller extends ComfyDialog {
|
|
|
|
|
installBtn.style.backgroundColor = 'black'; |
|
|
|
|
installBtn.style.color = 'white'; |
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
default: |
|
|
|
|
installBtn.innerHTML = `Try Install`; |
|
|
|
|
installBtn.style.backgroundColor = 'Gray'; |
|
|
|
|