Image base64 fixes, login pw input removed request pw

This commit is contained in:
mrfry 2020-11-26 09:20:06 +01:00
parent d62a546655
commit de0ceb7e27

View file

@ -151,7 +151,6 @@
search: 'Keresés ...', search: 'Keresés ...',
loading: 'Betöltés ...', loading: 'Betöltés ...',
login: 'Belépés', login: 'Belépés',
requestPWInsteadOflogin: 'Jelszó igénylés',
newPWTitle: 'Új jelszó új felhasználónak', newPWTitle: 'Új jelszó új felhasználónak',
pwRequest: 'Jelszó új felhasználónak', pwRequest: 'Jelszó új felhasználónak',
noServer: 'Nem elérhető a szerver!', noServer: 'Nem elérhető a szerver!',
@ -318,7 +317,9 @@
new Promise(resolve => { new Promise(resolve => {
GetXHRQuestionAnswer(questionObj).then(res => { GetXHRQuestionAnswer(questionObj).then(res => {
resolve({ resolve({
answers: res, answers: res.reduce((acc, dbRes) => {
return [...acc, ...dbRes.result]
}, []),
question: question, question: question,
}) })
}) })
@ -444,8 +445,6 @@
const questionPromises = getTextPromisesFromNode(qtextNode) const questionPromises = getTextPromisesFromNode(qtextNode)
const possibleAnswerPromises = getPossibleAnswersFromTest(node) const possibleAnswerPromises = getPossibleAnswersFromTest(node)
console.log(questionPromises)
const unflattenedPossibleAnswerPromises = possibleAnswerPromises const unflattenedPossibleAnswerPromises = possibleAnswerPromises
? possibleAnswerPromises.map(x => { ? possibleAnswerPromises.map(x => {
return Promise.all(x) return Promise.all(x)
@ -507,12 +506,10 @@
return { return {
type: 'image', type: 'image',
possibleAnswers, possibleAnswers,
images: hashedImages.map(x => { hashedImages: hashedImages.map(x => {
return x.val return x.val
}), }),
// TODO images: legacyImages,
// images: legacyImages,
hashedImages: hashedImages,
} }
} else { } else {
return { return {
@ -603,7 +600,7 @@
resolve({ resolve({
Q: removeUnnecesarySpaces(questionText), Q: removeUnnecesarySpaces(questionText),
A: removeUnnecesarySpaces(answerText), A: removeUnnecesarySpaces(answerText),
data: getData(images), data: getDataFromResultImages(images),
success: true, success: true,
}) })
}) })
@ -615,7 +612,7 @@
}) })
} }
function getData(images) { function getDataFromResultImages(images) {
if (!images || images.length === 0) { if (!images || images.length === 0) {
return { return {
type: 'simple', type: 'simple',
@ -623,7 +620,9 @@
} else { } else {
return { return {
type: 'image', type: 'image',
images: images, hashedImages: images.map(x => {
return x.val
}),
} }
} }
} }
@ -759,15 +758,14 @@
} }
function getBase64Image(img) { function getBase64Image(img) {
const copy = document.createElement('img') img.crossOrigin = 'Anonymous'
copy.src = img.src
copy.crossOrigin = 'Anonymous'
let canvas = document.createElement('canvas') let canvas = document.createElement('canvas')
canvas.width = copy.width canvas.width = img.width
canvas.height = copy.height canvas.height = img.height
let ctx = canvas.getContext('2d') let ctx = canvas.getContext('2d')
ctx.drawImage(copy, 0, 0) ctx.drawImage(img, 0, 0)
let dataURL = canvas.toDataURL('image/png') let dataURL = canvas.toDataURL('image/png')
img.crossOrigin = undefined
return dataURL.replace(/^data:image\/(png|jpg);base64,/, '') return dataURL.replace(/^data:image\/(png|jpg);base64,/, '')
} }
@ -925,7 +923,7 @@
SetStyle(toAppend, { SetStyle(toAppend, {
position: 'absolute', position: 'absolute',
zIndex: 999999, zIndex: 1,
top: top + 'px', top: top + 'px',
left: left + 'px', left: left + 'px',
}) })
@ -1284,6 +1282,7 @@
} }
function ShowAnswers(results) { function ShowAnswers(results) {
console.log(results)
const answers = results.reduce((acc, res) => { const answers = results.reduce((acc, res) => {
const prepared = PrepareAnswers(res) const prepared = PrepareAnswers(res)
addImageIdsToImageNodes(res.question) addImageIdsToImageNodes(res.question)
@ -1293,8 +1292,6 @@
return acc return acc
}, []) }, [])
// TODO: show which image belongs to which text
if (answers.length > 0) { if (answers.length > 0) {
ShowMessage(answers) ShowMessage(answers)
} else { } else {
@ -1866,7 +1863,7 @@
SetStyle(menuButtonDiv, { SetStyle(menuButtonDiv, {
width: '600px', width: '600px',
// height: buttonHeight + 'px', // height: buttonHeight + 'px',
top: window.innerHeight - 135 + 'px', top: window.innerHeight - 160 + 'px',
left: '10px', left: '10px',
zIndex: 999999, zIndex: 999999,
position: 'fixed', position: 'fixed',
@ -2050,32 +2047,13 @@
loginInput.type = 'text' loginInput.type = 'text'
loginInput.style.width = '400px' loginInput.style.width = '400px'
loginInput.style.textAlign = 'center' loginInput.style.textAlign = 'center'
const clientId = getVal('clientId')
if (clientId && clientId.toString()[0] !== '0') {
loginInput.value = clientId || ''
loginButton.innerText = texts.requestPWInsteadOflogin
}
loginDiv.appendChild(loginInput) loginDiv.appendChild(loginInput)
loginDiv.appendChild(loginButton) loginDiv.appendChild(loginButton)
SetStyle(loginButton, buttonStyle) SetStyle(loginButton, buttonStyle)
loginInput.addEventListener('keyup', e => {
if (e.target.value === clientId) {
loginButton.innerText = texts.requestPWInsteadOflogin
} else if (e.target.value !== '') {
loginButton.innerText = texts.login
}
})
loginButton.addEventListener('click', function() { loginButton.addEventListener('click', function() {
if (loginInput.value === clientId.toString()) { Auth(loginInput.value)
openInTab(serverAdress + 'getVeteranPw?cid=' + clientId, {
active: true,
})
} else {
Auth(loginInput.value)
}
}) })
ibuttonCell.appendChild(loginDiv) ibuttonCell.appendChild(loginDiv)