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

Function createModifierGroup

ui/media/js/image-modifiers.js:86–148  ·  view source on GitHub ↗
(modifierGroup, isInitiallyOpen, removeBy)

Source from the content-addressed store, hash-verified

84}
85
86function createModifierGroup(modifierGroup, isInitiallyOpen, removeBy) {
87 const title = modifierGroup.category
88 const modifiers = modifierGroup.modifiers
89
90 const titleEl = document.createElement("h5")
91 titleEl.className = "collapsible"
92 titleEl.innerText = title
93
94 const modifiersEl = document.createElement("div")
95 modifiersEl.classList.add("collapsible-content", "editor-modifiers-leaf")
96
97 if (isInitiallyOpen === true) {
98 titleEl.classList.add("active")
99 }
100
101 modifiers.forEach((modObj) => {
102 const modifierName = modObj.modifier
103 const modifierPreviews = modObj?.previews?.map(
104 (preview) =>
105 `${IMAGE_REGEX.test(preview.image) ? preview.image : modifierThumbnailPath + "/" + preview.path}`
106 )
107
108 const modifierCard = createModifierCard(modifierName, modifierPreviews, removeBy)
109
110 if (typeof modifierCard == "object") {
111 modifiersEl.appendChild(modifierCard)
112 const trimmedName = trimModifiers(modifierName)
113
114 modifierCard.addEventListener("click", () => {
115 if (activeTags.map((x) => trimModifiers(x.name)).includes(trimmedName)) {
116 // remove modifier from active array
117 activeTags = activeTags.filter((x) => trimModifiers(x.name) != trimmedName)
118 toggleCardState(trimmedName, false)
119 } else {
120 // add modifier to active array
121 activeTags.push({
122 name: modifierName,
123 element: modifierCard.cloneNode(true),
124 originElement: modifierCard,
125 previews: modifierPreviews,
126 })
127 toggleCardState(trimmedName, true)
128 }
129
130 refreshTagsList()
131 document.dispatchEvent(new Event("refreshImageModifiers"))
132 })
133 }
134 })
135
136 let brk = document.createElement("br")
137 brk.style.clear = "both"
138 modifiersEl.appendChild(brk)
139
140 let e = document.createElement("div")
141 e.className = "modifier-category"
142 e.appendChild(titleEl)
143 e.appendChild(modifiersEl)

Callers 2

loadModifiersFunction · 0.85

Calls 9

createModifierCardFunction · 0.85
trimModifiersFunction · 0.85
toggleCardStateFunction · 0.85
refreshTagsListFunction · 0.85
pushMethod · 0.80
addMethod · 0.45
appendChildMethod · 0.45
addEventListenerMethod · 0.45
dispatchEventMethod · 0.45

Tested by

no test coverage detected