CREAZIONE DI POST DI TESTO CON IMMAGINI
LEZIONE 8: CREAZIONE DI POST DI TESTO CON UNA IMMAGINE
In questa ottava lezione aggiungiamo la possibilità di aggiungere al Muro un post di testo con una immagine; continuiamo a sfruttare i Riquadri Multistate, a scrivere in un database campi provenienti da input utente e da un database differente, ed impariamo a caricare una immagine, aggiornare da codice un' immagine, e conosciamo il concetto di Funzione Asincrona.
SVILUPPI:
-
LIVELLO: medio
-
GRAFICA: si
-
CODICE: si
-
DATABASE: no
export async function button2_click(event) {
let toInsert = {
idAutore: $w('#dataset1').getCurrentItem()._id, //userprofile read dataset
fotoAutore: $w('#dataset1').getCurrentItem().immagineProfilo,
nomeAutore: $w('#dataset1').getCurrentItem().nomeUtente,
contenutoPost: $w('#dataset2').getCurrentItem().contenutoPost, //userposts write dataset
titoloPost: $w('#dataset2').getCurrentItem().titoloPost,
immaginePost: await uploadFile(), //calls asynchronous function
_createdDate: $w('#dataset2').getCurrentItem()._createdDate,
likes : 0,
dislikes: 0,
commenti : 0,
letture : 0,
}
wixData.insert("UserPosts", toInsert)
.then( (results) => {
let item = results;
console.log("OK")
$w("#dynamicDataset").refresh();
$w("#textBox2").value = " ";
$w("#input2").value= " ";
$w("#image7").src = "";
$w('#button3').hide();
}) ;
}
export function button3_click(event) { //upload files and updates placeholder
if($w("#uploadButton1").value.length > 0) {
$w("#uploadButton1").startUpload()
.then( (uploadedFile) => {
$w("#image7").src = uploadedFile.url;
})
.catch( (uploadError) => {
console.log("File upload error: " + uploadError.errorCode);
console.log(uploadError.errorDescription);
});
}
else {
}
}
export function uploadButton1_change(event) {
if($w('#uploadButton1').value.length > 0) {
$w('#button3').show();
}
else {
$w('#button3').hide();
}
}
function uploadFile(){
return $w('#uploadButton1').startUpload().then(r => r.url);
}