(task)
| 1192 | } |
| 1193 | |
| 1194 | function createTask(task) { |
| 1195 | let taskConfig = "" |
| 1196 | |
| 1197 | if (task.reqBody.init_image !== undefined) { |
| 1198 | let h = 80 |
| 1199 | let w = ((task.reqBody.width * h) / task.reqBody.height) >> 0 |
| 1200 | taskConfig += `<div class="task-initimg init-img-preview" style="float:left;"><img style="width:${w}px;height:${h}px;" src="${task.reqBody.init_image}"><div class="task-fs-initimage"></div></div>` |
| 1201 | } |
| 1202 | if (task.reqBody.control_image !== undefined) { |
| 1203 | let h = 80 |
| 1204 | let w = ((task.reqBody.width * h) / task.reqBody.height) >> 0 |
| 1205 | taskConfig += `<div class="task-initimg controlnet-img-preview" style="float:left;"><img style="width:${w}px;height:${h}px;" src="${task.reqBody.control_image}"><div class="task-fs-initimage"></div></div>` |
| 1206 | } |
| 1207 | if (task.reqBody.ref_images !== undefined && task.reqBody.ref_images.length > 0) { |
| 1208 | let h = 80 |
| 1209 | task.reqBody.ref_images.forEach((refImg, idx) => { |
| 1210 | taskConfig += `<div class="task-initimg ref-img-preview" style="float:left;" title="Reference Image ${idx + 1}"><img style="max-width:${h}px;height:${h}px;object-fit:contain;" src="${refImg}"><div class="task-fs-initimage"></div></div>` |
| 1211 | }) |
| 1212 | } |
| 1213 | |
| 1214 | taskConfig += `<div class="taskConfigData">${createTaskConfig(task)}</span></div></div>` |
| 1215 | |
| 1216 | let taskEntry = document.createElement("div") |
| 1217 | taskEntry.id = `imageTaskContainer-${Date.now()}` |
| 1218 | taskEntry.className = "imageTaskContainer" |
| 1219 | taskEntry.innerHTML = ` <div class="header-content panel collapsible active"> |
| 1220 | <i class="drag-handle fa-solid fa-grip"></i> |
| 1221 | <div class="taskStatusLabel">Enqueued</div> |
| 1222 | <button class="secondaryButton stopTask"><i class="fa-solid fa-xmark"></i> Cancel</button> |
| 1223 | <button class="tertiaryButton useSettings"><i class="fa-solid fa-redo"></i> Use these settings</button> |
| 1224 | <div class="preview-prompt"></div> |
| 1225 | <div class="taskConfig">${taskConfig}</div> |
| 1226 | <div class="outputMsg"></div> |
| 1227 | <div class="progress-bar active"><div></div></div> |
| 1228 | </div> |
| 1229 | <div class="collapsible-content"> |
| 1230 | <div class="img-preview"> |
| 1231 | </div>` |
| 1232 | |
| 1233 | if (task.reqBody.init_image !== undefined || task.reqBody.control_image !== undefined) { |
| 1234 | createInitImageHover(taskEntry, task) |
| 1235 | } |
| 1236 | |
| 1237 | if (task.reqBody.control_image !== undefined && task.reqBody.control_filter_to_apply !== undefined) { |
| 1238 | let req = { |
| 1239 | image: task.reqBody.control_image, |
| 1240 | filter: task.reqBody.control_filter_to_apply, |
| 1241 | model_paths: {}, |
| 1242 | filter_params: {}, |
| 1243 | } |
| 1244 | req["model_paths"][task.reqBody.control_filter_to_apply] = task.reqBody.control_filter_to_apply |
| 1245 | |
| 1246 | task["previewTaskReq"] = req |
| 1247 | } |
| 1248 | |
| 1249 | createCollapsibles(taskEntry) |
| 1250 | |
| 1251 | let draghandle = taskEntry.querySelector(".drag-handle") |
no test coverage detected