MCPcopy Index your code
hub / github.com/easydiffusion/easydiffusion / createCollapsibles

Function createCollapsibles

ui/media/js/utils.js:65–108  ·  view source on GitHub ↗
(node)

Source from the content-addressed store, hash-verified

63}
64
65function createCollapsibles(node) {
66 let save = false
67 if (!node) {
68 node = document
69 save = true
70 }
71 let collapsibles = node.querySelectorAll(".collapsible")
72 collapsibles.forEach(function (c) {
73 if (save && c.parentElement.id) {
74 COLLAPSIBLE_PANELS.push(c.parentElement)
75 }
76 let handle = document.createElement("span")
77 handle.className = "collapsible-handle"
78
79 if (c.classList.contains("active")) {
80 handle.innerHTML = "➖" // minus
81 } else {
82 handle.innerHTML = "➕" // plus
83 }
84 c.insertBefore(handle, c.firstChild)
85
86 c.addEventListener("click", function () {
87 toggleCollapsible(c.parentElement)
88 })
89 })
90 if (save) {
91 let saved = localStorage.getItem(COLLAPSIBLES_KEY)
92 if (!saved) {
93 saved = tryLoadOldCollapsibles()
94 }
95 if (!saved) {
96 saveCollapsibles()
97 saved = localStorage.getItem(COLLAPSIBLES_KEY)
98 }
99 let values = JSON.parse(saved)
100 COLLAPSIBLE_PANELS.forEach((element) => {
101 let value = element.querySelector(".collapsible").className.indexOf("active") !== -1
102 if (values[element.id] != value) {
103 toggleCollapsible(element)
104 }
105 })
106 COLLAPSIBLES_INITIALIZED = true
107 }
108}
109
110function tryLoadOldCollapsibles() {
111 const old_map = {

Callers 5

createTaskFunction · 0.85
updateEmbeddingsListFunction · 0.85
main.jsFile · 0.85
loadModifiersFunction · 0.85

Calls 6

toggleCollapsibleFunction · 0.85
tryLoadOldCollapsiblesFunction · 0.85
saveCollapsiblesFunction · 0.85
pushMethod · 0.80
parseMethod · 0.80
addEventListenerMethod · 0.45

Tested by

no test coverage detected