[SP-pm] DHTMLX 4.0 no final de Maio.

Eduardo Almeida eduardo at web2solutions.com.br
Sun Apr 27 14:21:54 PDT 2014


On 26/04/2014 21:20, Lucas Moraes wrote:
> Nilton com JSON você só conseguira alimentar sua Grid com os dados, 
> mas não conseguira criar o cabeçalho com o nome dos campos. Com XML 
> você consegui criar o cabeçalho e também alimentar a Grid. Esse é um 
> dos motivos que eu uso apenas XML no DHTMLX.
> Se esta interessado em usar XML veja isso:
> http://www.dhtmlx.com/docs/products/docsExplorer/doc/dhtmlxxml/index.html
>
> Falou.

Na verdade, não é bem assim.

Sim, originalmente, a lib não te permite configurar grids com JSON, 
porém, isso poderia ser facilmente implementado quando vc implementa 
camadas. No exemplo á seguir tenho dois objetos literais (JSON). Um 
armazena estado, configurações e modelo de dados. Na outra eu instancio 
componentes e controlo a aplicação. Não há necessariamente uma 
necessidade de se criar views, uma vez que os próprios componentes já 
geram as 'views' durante o runtime.


var model = {
     "conf_grid": {
             "headers": "ID,Form label,Form name",
             "ids": "form_id,formlabel,formname",
             "widths": "90,450,0",
             "colaligns": "right,left,left",
             "coltypes": "ro,ro,ro",
             "colsorting": "int,str,str"
     }
}


var myController = {
     uid = null,
     model : null
     ,grid : []
     ,_grid : function( uid )
     {
         var self = this;
         self.grid[ uid ] = self.layout[ uid ].cells("a").attachGrid();
         self.grid[ uid ].setHeader( self.model.conf_grid.headers );
         self.grid[ uid ].setColumnIds( self.model.conf_grid.ids );
         self.grid[ uid ].setInitWidths( self.model.conf_grid.widths );
         self.grid[ uid ].setColAlign( self.model.conf_grid.colaligns );
         self.grid[ uid ].setColTypes( self.model.conf_grid.coltypes );
         self.grid[ uid ].setColSorting( self.model.conf_grid.colsorting );
         self.grid[ uid ].init();
     }

     ,start : function(  )
     {
         var self = this;
         self.uid = "myAppName" + ((new Date()).getTime());
         self._grid( self.uid );
     }

     ,init : function( model )
     {
         var self = this;
         self.model = model;
     }
}

myController.init( model );


window.onload = function()
{
     myController.start();
}


Nota : estou usando array associativo ( grid : [] ) para armazenar 
instancias de componente pois dessa forma vc consegue facilmente, dentre 
outras coisas, por exemplo, executar a mesma aplicação em diferentes 
instancias no mesmo browser. Em outras palavras, voce poderia rodar a 
mesma aplicação em diferentes instancias de DHTMLXwindow.


*Resumindo*

primeiro você deve se perguntar:
por que quero usar metadados (JSON, XML) para configurar grids?

Configurar grids com metadados é muito util quando você deseja usar 
metadados gerados no servidor ou via metaprogramming.

Configurar grids usando metadados só porque é cool, na verdade é um tiro 
no pé.

Na verdade, gerar metadados no servidor para configurar componentes no 
cliente sem motivos lógicos você estará apenas dificultando a vida de um 
programador front end que for trabalhar no seu código. Porque um 
programador front end, sem rodar a aplicação, não conseguirá entender 
qual é a estrutura final que sua grid terá, ao menos que ele consiga 
também interpretar o seu código server side que gera os metadados.

Em outras palavras, ele não conseguirá ter em mente o design da grid sem 
compreender o server side ou caso não haja algum tipo de documentação 
que indique a estrutura do metadado gerado e "injetado" na aplicação via 
requisição http (ajax por exemplo).

Então, nesse caso a premissa "keep it simple, stupid" valerá muito mais 
do que ter um código "cool".


my cents

>
>
> Em 26 de abril de 2014 19:01, Nilton OS <jniltinho em gmail.com 
> <mailto:jniltinho em gmail.com>> escreveu:
>
>     Perdão Eduardo, estou me referindo a esse comentário aqui.
>
>     Great work! Does the dhtmlxGrid now support a JSON payload for the
>     header or still XML only?
>
>     Unfortunately, this version won't support a JSON payload for the
>     header.
>
>
>     É correto a afirmação ?
>
>
>
>     ..............................................................................................
>     *Nilton OS* | *Working Linux 15 years ago* | linuxpro.com.br
>     <http://www.linuxpro.com.br>
>
>     /"//Só tem o direito de criticar aquele que pretende ajudar. AL"/
>
>
>     Em 26 de abril de 2014 12:06, Eduardo Almeida
>     <eduardo em web2solutions.com.br
>     <mailto:eduardo em web2solutions.com.br>> escreveu:
>
>         On 26/04/2014 11:49, Nilton OS wrote:
>>         No final de Maio vai sair a versão 4.0 do Framework JS DHTMLX
>>
>>
>>         http://www.dhtmlx.com/blog/?p=2225
>>
>>         Pena que ainda não suporta JSON para o GRID de Dados.
>         I'm sorry????
>
>         MAN, suporta JSON sim. Ate versão 3.5, a estrutura do JSON
>         esperado pela grid era bem peculiar ... a partir da 3.5, vc
>         foi implementado o suporte á mais um model, digamos que um
>         modelo de JSON mais genérico:
>
>         row = {
>             col1 : "foo",
>             col2 : "bar",
>             col3 : "baz"
>         }
>
>         Na versão 4.0, ha ainda uma nova feature bem produtiva, foi
>         implementado um novo método padrão de carregamento de dados
>         que funciona exatamente igual em todos os componentes. Até
>         então, cada componente possuia uma forma diferente de carregar
>         dados, bem como não havia muita similaridade no modelo de
>         estrutura de dados (JSON)
>
>         my cents
>>
>>         Ã0/00 uma ótima lib para criar interfaces para WEB bem legais.
>>
>>
>>         =begin disclaimer
>>             Sao Paulo Perl Mongers:http://sao-paulo.pm.org/
>>           SaoPaulo-pm mailing list:SaoPaulo-pm em pm.org  <mailto:SaoPaulo-pm em pm.org>
>>           L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>  <http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>         =end disclaimer
>
>
>         -- 
>         Eduardo Almeida - Software Engineer
>         eduardo em web2solutions.com.br
>         <mailto:eduardo em web2solutions.com.br> - 27 3262-1882
>         <tel:27%203262-1882> / 27 9839 3755 <tel:27%209839%203755>
>
>         *WEB2 Solutions* - Inovando, sempre!
>
>         =begin disclaimer
>            Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>          SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>         <mailto:SaoPaulo-pm em pm.org>
>          L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>         =end disclaimer
>
>
>
>     =begin disclaimer
>        Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>      SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>     <mailto:SaoPaulo-pm em pm.org>
>      L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>     =end disclaimer
>
>
>
>
> =begin disclaimer
>     Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>   SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>   L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer


-- 
Eduardo Almeida - Software Engineer
eduardo em web2solutions.com.br - 27 3261-0082 / 27 9839 3755

*WEB2 Solutions* - Inovando, sempre!
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20140427/a9b53f31/attachment-0001.html>
-------------- Pr?xima Parte ----------
Um anexo n?o-texto foi limpo...
Nome: n?o dispon?vel
Tipo: image/png
Tamanho: 11630 bytes
Descri??o: n?o dispon?vel
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20140427/a9b53f31/attachment-0002.png>
-------------- Pr?xima Parte ----------
Um anexo n?o-texto foi limpo...
Nome: dhtmlx_certified.png
Tipo: image/png
Tamanho: 11630 bytes
Descri??o: n?o dispon?vel
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20140427/a9b53f31/attachment-0003.png>


More information about the SaoPaulo-pm mailing list