[Gastosabertos-dev] ao

Luiz Armesto luiz.armesto em gmail.com
Segunda Março 2 17:07:58 UTC 2015


Para sincronização na tabela eu implementei um padrão pub/sub, daí mandando
uma mensagem como "pubSub.publish('years:changed', {value: [2012, 2014]})"
usando a instancia do PubSub que eu incluo na tabela ela se atualiza para
usar o ano (ou período entre dois anos) passado. Quando navega pelas
páginas da tabela ou muda o número de itens por página ela publica pelo
pubSub mensagens "page:changed" e "per_page_num:changed" (se algum outro
objeto mandar o pubSub emitir essas mensagens a tabela identifica e altera,
respectivamente, a página sendo exibida ou o número de items), que podem
ser escutadas por qualquer um que tenha acesso a instância do pubSub, sem
criar acoplamento com o objeto da tabela.

Eu já comecei a escrever uma código para colocar e pegar os parametros da
URL, ainda hoje mando algo.

Se quiserem testar, o pubSub está temporariamente acessivel via console,
então dá para mandar um "pubSub.publish('years:changed', {value: [2012,
2014]})" para ver mudando o ano e um "pubSub.publish('page:changed',
{value: 3})" para ver ela indo pra página "4" (no código começa com indice
0 mas na interface é com indice 1)


[]'s

2015-03-02 13:54 GMT-03:00 Edgar Zanella Alvarenga <e em vaz.io>:

> Acho que tá legal, só senti falta da animação que existia antes na
> transição
> com drilldown. Será que não dá de forma simples de termos isso? Agora
> o que precisamos são as outras tarefas:
>
>  * Breadcrumb navegável pelos níveis
>  + Seleção do ano
>  * Sincronização com tabela abaixo
>
> E o mais importante, que acho que seria legal discutirmos os três: colocar
> os
> parâmetros da visualização no URL na medida que se navega tanto pelo
> drilldown
> quanto pela tabel, para assim termos url's que possam ser compartilhadas.
>
> E
>
>
> On 02/03/2015 12:25, Andres MRM wrote:
>
>> Acho que agora foi.
>> Você tinha habilitado CORS para a API Restfull, mas não para os statics.
>>
>> Como os statics estavam sendo configurados via Blueprint, eu não estava
>> conseguindo descobrir onde colocar o decorador cors.
>> Perguntei no #pocoo e um cara me orientou a usar o "after_request".
>> https://github.com/okfn-brasil/gastos_abertos/pull/134
>> Pelo que testei está funcionando, mas não sei se a API não está sendo
>> decorada
>> duas vezes desse jeito.
>>
>> Veja se está tudo certo para fechar o:
>> https://github.com/okfn-brasil/gastos_abertos/issues/121
>>
>>
>>
>> Quoting Andres MRM (2015-03-02 08:56:21)
>>
>>>
>>> Concordo completamente que servir arquivos estáticos daquela maneira não
>>> era
>>> bom. Eu inclusive deixei um TODO na própria função dizendo que aquilo
>>> estava
>>> feio.
>>> Mas no momento da implementação não estava achando outro jeito simples
>>> (não
>>> sabia que a API tinha uma pasta static dentro da receita), então fui
>>> naquele
>>> mesmo temporariamente.
>>>
>>> Edgar, eu acho que você manja muito e gosto muito de você como pessoa,
>>> mas só
>>> peço para maneirar um pouco nos tons dos comentários. Aqui na lista
>>> ainda está
>>> mais de boa, mas no issue está agressivo.
>>> Estou me esforçando ao máximo para tentar implementar as coisas do seu
>>> jeito
>>> (que concordo que geralmente é melhor), mas nem tudo que está na sua
>>> cabeça é
>>> trivial e transparente. Trivial no sentido de só ter uma implementação
>>> óbvia,
>>> e transparente de ser fácil saber o que você está pensando. Tenho
>>> perguntado o
>>> máximo que posso para você justamente para evitar fazer as coisas de
>>> outra
>>> forma, mas nem sempre você responde e também não dá para perguntar linha
>>> a
>>> linha...
>>>
>>>
>>> Arrumei o que você falou. Aparentemente o erro de COR persiste mesmo com
>>> o
>>> link funcionando:
>>>
>>> http://demo.gastosabertos.org/receita/static/total_by_year_
>>> by_code/2014.json
>>>
>>>
>>> Abs
>>>
>>>
>>> Quoting Edgar Zanella Alvarenga (2015-03-02 07:51:12)
>>> > Andres, você nao debugou o problema. Se d erro num request pra API,
>>> > o Firefox indica erro de CORS. Mas pra saber se foi CORS, melhor ver
>>> > a resposta ao request da API. Fazendo isso vi que o código estava
>>> > dando um exception na linha 281 dum endpoint que você adicionou, que
>>> > nunca deveia ter sido adicionado:
>>> >
>>> > https://github.com/okfn-brasil/gastos_abertos/issues/132
>>> >
>>> > Nunca faça um endpoint para servir arquivos estáticos! A não ser
>>> > que tenha uma lógica extremamente complexa pra buscar os arquivos
>>> > baseado
>>> > no request. No nosso caso precisamos apenas de arquivos estáticos
>>> > nomeados pelo ano, nada mais do que isso.
>>> >
>>> > Coloque os arquivos em data/total_by_year_by_code/ em algum local do
>>> > static
>>> > do gastos_abertos no momento, e a requisição no view deverá ser
>>> > alterada de
>>> > acordo. Só estou falando pra colocar lá para ser gerado novamente a
>>> > cada novo deploy
>>> > da api pelo fab. Esqueça o que comentei no issue pra colocar no repo
>>> > gastos_abertos_website.
>>> >
>>> > Abs,
>>> > Edgar
>>> >
>>> > On 02/03/2015 07:38, Andres MRM wrote:
>>> > > Você diz a que fica em settings/local_settings.py?
>>> > > Não mexi nisso no servidor, mas imagino que esteja, já que o
>>> > > DataTables está
>>> > > conseguindo fazer o request normal...
>>> > >
>>> > >
>>> > > Quoting Edgar Zanella Alvarenga (2015-03-02 07:26:06)
>>> > >> Você está utilizando a configuração correta pro API_URL?
>>> > >>
>>> > >> On 02/03/2015 06:39, Andres MRM wrote:
>>> > >> > Estou tentando fazer o drilldown funcionar no servidor, mas estou
>>> > >> > tendo aquele
>>> > >> > erro de COR:
>>> > >> >
>>> > >> >       Cross-Origin Request Blocked: The Same Origin Policy
>>> > >> disallows
>>> > >> > reading the
>>> > >> >       remote resource at
>>> > >> >
>>> > >> >
>>> > >> http://demo.gastosabertos.org/api/v1/receita/totaldrilldown?
>>> year=2014.
>>> > >> > This
>>> > >> >       can be fixed by moving the resource to the same domain or
>>> > >> enabling
>>> > >> > CORS.
>>> > >> >
>>> > >> > Pelo visto o request do DataTables para a API está funcionando sem
>>> > >> > problema,
>>> > >> > só o meu que não. =(
>>> > >> > Alguma ideia do porque?
>>> > >> >
>>> > >> > _______________________________________________
>>> > >> > Gastosabertos-dev mailing list
>>> > >> > Gastosabertos-dev em lists.okfn.org
>>> > >> > https://lists.okfn.org/mailman/listinfo/gastosabertos-dev
>>> > >>
>>> > >> _______________________________________________
>>> > >> Gastosabertos-dev mailing list
>>> > >> Gastosabertos-dev em lists.okfn.org
>>> > >> https://lists.okfn.org/mailman/listinfo/gastosabertos-dev
>>> > > _______________________________________________
>>> > > Gastosabertos-dev mailing list
>>> > > Gastosabertos-dev em lists.okfn.org
>>> > > https://lists.okfn.org/mailman/listinfo/gastosabertos-dev
>>> >
>>> > _______________________________________________
>>> > Gastosabertos-dev mailing list
>>> > Gastosabertos-dev em lists.okfn.org
>>> > https://lists.okfn.org/mailman/listinfo/gastosabertos-dev
>>>
>> _______________________________________________
>> Gastosabertos-dev mailing list
>> Gastosabertos-dev em lists.okfn.org
>> https://lists.okfn.org/mailman/listinfo/gastosabertos-dev
>>
>
> _______________________________________________
> Gastosabertos-dev mailing list
> Gastosabertos-dev em lists.okfn.org
> https://lists.okfn.org/mailman/listinfo/gastosabertos-dev
>



-- 
Luiz Armesto
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.okfn.org/pipermail/gastosabertos-dev/attachments/20150302/88475689/attachment-0003.html>


Mais detalhes sobre a lista de discussão Gastosabertos-dev