Fix broken drag-and-drop for text files and clipboard paste

This commit is contained in:
cmdr2 2022-12-27 17:06:46 +05:30
parent 51c7faee3c
commit 15a4682665

View File

@ -365,20 +365,32 @@ const TASK_TEXT_MAPPING = {
use_hypernetwork_model: 'Hypernetwork model', use_hypernetwork_model: 'Hypernetwork model',
hypernetwork_strength: 'Hypernetwork Strength' hypernetwork_strength: 'Hypernetwork Strength'
} }
const afterPromptRe = /^\s*Width\s*:\s*\d+\s*(?:\r\n|\r|\n)+\s*Height\s*:\s*\d+\s*(\r\n|\r|\n)+Seed\s*:\s*\d+\s*$/igm
function parseTaskFromText(str) { function parseTaskFromText(str) {
const taskReqBody = {} const taskReqBody = {}
const lines = str.split('\n')
if (lines.length === 0) {
return
}
// Prompt // Prompt
afterPromptRe.lastIndex = 0 let knownKeyOnFirstLine = false
const match = afterPromptRe.exec(str) for (let key in TASK_TEXT_MAPPING) {
if (match) { if (lines[0].startsWith(TASK_TEXT_MAPPING[key] + ':')) {
let prompt = str.slice(0, match.index) knownKeyOnFirstLine = true
str = str.slice(prompt.length) break
taskReqBody.prompt = prompt.trim() }
}
if (!knownKeyOnFirstLine) {
taskReqBody.prompt = lines[0]
console.log('Prompt:', taskReqBody.prompt) console.log('Prompt:', taskReqBody.prompt)
} }
for (const key in TASK_TEXT_MAPPING) { for (const key in TASK_TEXT_MAPPING) {
if (key in taskReqBody) {
continue
}
const name = TASK_TEXT_MAPPING[key]; const name = TASK_TEXT_MAPPING[key];
let val = undefined let val = undefined