Bom dia,
Tenho uma planilha no Google Sheets com abas que possuem gráficos. Criei um campo no cadastro para colocar a URL do gráfico no banco de dados. Quero pegar essa URL e apresentar o resultado dela como imagem.
Tentei incorporar através de um widget e elemento personalizado, mas não consegui criar um código para pegar a url do b
anco e apresentar como imagem.
Preciso que essa informação seja do banco de dados pois será apresentado um gráfico diferente para cada usuário logado, por esse motivo não é possivel colocar a URL direto no componente html.
É possível fazer isso no Wix? Não sei se consegui me expressar bem, mas segue um print para vocês terem uma noção melhor.
Obrigada.
Oi Amanda.
Você pode atualizar o url do iframe via código, e filtrar a consulta com banco pelo id do usuário logado. Exemplo:
import wixData from 'wix-data'; import wixUsers from 'wix-users'; let user = wixUsers.currentUser; let userId = user.id; $w.onReady(() => { wixData.query("minhaTabela") .eq("userId", userId) .limit(1) .find() .then( (results) => { if(results.items.length > 0) { let item = items[0]; $w("#myiframe").src = item.url; } else { // nenhum registro encontrado } } ) .catch( (error) => { //... } ); })
O filtro do usuário logado já estou fazendo através dos datasets da página.
O meu código ainda não está funcionando. Está assim:
export function mostrarGrafico() { $w('#dataset3').onReady(()=>{ let grafico = $w('#dataset3').setFilter(wixData.filter().contains('grafico1', 'https://docs.google.com/spreadsheets')) $w('#html3').src = grafico $w('#html3').show() }); }
@Matheus Alexandre vou testar isso na minha página que tem uma função equivalente ao que a @Amanda Veloso tem na página dela. Mas, no caso eu estou usando o meu banco de dados para alimentar uma tabela adicionada do wix mesmo. A que se relaciona essa linha de código #myiframe? Coloco o que no lugar? Ou se trata de uma função que não deve mexer? Grato!