Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
boa noite, criei um calendário mas não consigo fazer um evento onclick para mostrar os detalhes da nota (estou chamando de eventos no projeto).
o meu código abaixo utiliza o vetor $eventos para popular todo o calendário com os eventos.
<script>
$(document).ready(function() {
$('#calendario').fullCalendar({
header: {
left: '',
center: 'prev, title, next',
right: ''
},
defaultDate: '2016-10-18',
editable: true,
eventLimit: true,
eventSources: [{
events: [<?php echo $eventos;?>],
color: '#2089cf',
textColor: '#fff' // an option!
}]
});
});
</script>opa gabriel...vlw...agora que vi sua resposta.
Dentro do
<?php echo $eventos;?>
retorna uma string que carrega exatamente todos os eventos, seguindo a configuração para apresentar no callendar:
{title:'Cliente - Ruy Software / Projeto - licenciamento / Nf - 31 / Valor NF - 5000.000 / Valor Depósito - 4692.500',start:'2016-10-18'}
Isso esta perfeito, só que não sei como criar um javascript para abrir os eventos. Ainda não entendi se estou gerando o array eventos de forma muito errada e isso não permite apresentação...ou se é minha total falta de conhecimento no js.
Pela documentação, parece haver forma mais simples de fazer sem ter de usar o pedido AJAX, mas aqui fica um exemplo, seguindo a lógica do gabrieldarezzo:
$(document).ready(function() {
var appointments = new Array();
loadCalendar();
function loadCalendar() {
$.ajax({
url: "events.php",
type: "POST",
dataType: "json",
success: function(data) {
$.each(data, function(index, item) {
appointments.push(item);
});
$("#calendar").fullCalendar({
displayEventEnd: true,
timeFormat: "H:mm",
events: appointments
});
},
error: function(errObj, textStatus, errorThrown) {
console.log(errObj, textStatus, errorThrown);
}
});
}
Estrutura do events.php (para teste):
<?php
$events = array(
array("title" => "Cliente - Ruy Software / Projeto - licenciamento / Nf - 31 / Valor NF - 5000.000 / Valor Deposito - 4692.500","start" => "2016-11-18"),
array("title" => "Teste", "start" => "2016-11-04")
);
echo json_encode($events);
Output: [{"title":"Cliente - Ruy Software \/ Projeto - licenciamento \/ Nf - 31 \/ Valor NF - 5000.000 \/ Valor Deposito - 4692.500","start":"2016-11-18"},{"title":"Teste","start":"2016-11-04"}]
Exemplo funcional aqui.
glr...não to conseguindo entender, desculpe...o que tenho hoje é o calendário preenchido corretamente.
Qualquer evento que eu crie aparece nele.
O ponto é que quero que o evento seja aberto com 1 click.
No exemplo acima, esta com o mesmo problema que eu tenho.
>
Pela documentação, parece haver forma mais simples de fazer sem ter de usar o pedido AJAX, mas aqui fica um exemplo, seguindo a lógica do gabrieldarezzo:
Exemplo funcional aqui.
Pelo que pesquisei da para usar uma janela modal (bootstrap) ou ajax ou criar um popup, mas o lance é que o evento não responde com um botão.
vlw!
Se for apenas para mostrar os detalhes do evento, vê se isto ajuda.
vlw wootzor!! vou testar e retorno se deu certo
O que tem dentro desse cara?
Exiba ele individualmente, verifice o sua aba console do navegador.
Da uma olhada nessas paginas.
(Bem parecido com seu contexto)
https://fullcalendar.io/docs/event_data/events_json_feed/
https://fullcalendar.io/docs/event_data/events_array/
Outra sacada legal é a partir do array certinho*.
Você criar utilizando esse carinha aqui:
http://php.net/manual/pt_BR/function.json-encode.php
certinho*. =
Ex:
Entrada:
//Seria o retorno do Banco de Dados (um evento especifico por exemplo...
$datas = array( 'title' => 'event2', 'start' => '2010-01-05', 'end' => '2010-01-07'Saída:
//JS
{
title : 'event2',
start : '2010-01-05',
end : '2010-01-07'
}
Bons estudos.