INTRODUÇÃO Rico é um framework JavaScript de código aberto

Propaganda
INTRODUÇÃO
Rico é um framework JavaScript de código aberto usado para criar aplicações web ricas e
altamente interativos. Rico é baseado no Prototype Javascript Framework e é liberado sob a
licença Apache.
Ele inclui funções de apoio:
drag-and-drop
Elementos HTML arredondados
Efeitos de animação
Acordeão e painéis com guias
Calendário, cor-picker, e árvore controles
Número e formatação de data
Pop-up "janelas" (div 's) e menus com sombras
Grids de rolagem com colunas congeladas e títulos que podem ser preenchidos com conteúdo
estático ou carregados dinamicamente via AJAX, além de suporte para edição de conteúdo da
rede.
Vários idiomas para os menus de grade e calendário - traduções para o francês, alemão,
italiano, português, espanhol, chinês, japonês, coreano, russo e ucraniano são incluídos
A distribuição Rico é dividido em três subdiretórios:
src - contém o núcleo do Rico, incluindo javascript, css, e arquivos de imagem.
plugins - contém o código que é executado no servidor para suportar LiveGrids e SimpleGrids.
Plug-ins são atualmente previsto ASP, PHP e. Net. A Perl plug-in com funcionalidade limitada
também está incluído.
Exemplos - contém código de exemplo para ASP, PHP, net, Perl e HTML. O diretório de dados
examples / contém dados de amostra para os exemplos relativos à LiveGrid. Bancos de dados
são fornecidos para MS Access, Oracle e MYSQL. As instruções para instalar os dados no SQL
Server também estão incluídas.
COMO INSTALAR
Basta descompactar o arquivo de distribuição Rico e copiar a estrutura do diretório resultante
para o caminho do seu serviço web deve ser suficiente para obter a maioria, se não todos, os
exemplos de funcionamento. Se você tem instalado em um diretório chamado "rico" na raiz do
serviço web, então você deve ser capaz de apontar seu navegador para o seguinte endereço
para acessar os exemplos:
http://myserver.mydomain.com/rico/examples/
Ou se você tiver instalado no seu computador pessoal, então acessá-lo como:
http://localhost/rico/examples/
Configuração do IIS
Rico pode ser servido a partir de qualquer servidor web. Esta seção descreve alguns problemas
de configuração específicas para o IIS no Windows.
Em um servidor com IIS6 ou superior, você terá que alterar as configurações de segurança para
ASP, a fim de executar os exemplos ASP. Em particular, você precisará habilitar arquivos ASP
para fazer referência incluir arquivos no diretório pai. Para fazer isso, siga estes passos:
Abra o Gerenciador de ISS
Botão direito do mouse em "Default Web Site" e selecione "Propriedades" no menu de
contexto
Clique na aba "Home Directory"
Clique no botão "Configuração"
Clique na aba "Options" da nova janela
Marque a caixa "Ativar caminhos pai"
Para que os scripts de exemplo para ler o banco de dados Northwind em um computador com
IIS7 (por exemplo PCs Vista), você terá que desativar a configuração LoadUserProfile usando
este comando:
% Windir% \ system32 \ inetsrv \ appcmd set-seção de configuração:. ApplicationPools /
[name = 'DefaultAppPool'] processModel.loadUserProfile: false
A técnica descrita neste artigo. Se você preferir não alterar a configuração LoadUserProfile, a
alternativa é carregar o banco de dados Northwind no SQL Server ou MySQL e alterar as
configurações de conexão no arquivo applib relevante, conforme descrito abaixo.
Exemplos LiveGrid
Muitos dos exemplos LiveGrid buscar dados do banco de dados de exemplo Northwind. A fim
de obter estes exemplos para o trabalho que você precisa fazer duas coisas:
Criar o banco de dados Northwind
Modificar as configurações de conexão de banco de dados que residem no applib. * Arquivo
Criando o banco de dados Northwind
O diretório de dados examples / contém vários formatos diferentes de banco de dados
necessários para executar a maior parte do Rico LiveGrid ASP,. Net, e os exemplos de PHP.
Os dados são fornecidos nos seguintes formatos:
Northwind.mdb - esta é a base de dados Adamastor padrão fornecido pela Microsoft, com a
ressalva de que os [Detalhes do Pedido] tabela foi renomeada para Detalhes_Pedido. . Se você
vai estar acessando os exemplos ASP net ou, então, nenhuma configuração de banco de dados
é necessário - esses exemplos vai acessar diretamente este banco de dados usando o driver do
Microsoft Jet.
mysql-northwind.sql - um arquivo de backup para MySQL (criada usando MySQL versão 4.1)
mysql-Adamastor-dblquote.sql - o mesmo que acima, exceto todas as ocorrências de \ 'foram
alterados para'' (recomendado para MySQL versão 5 ou superior)
ORA-expdat.dmp - um arquivo de exportação do Oracle para o esquema Adamastor - gerada
usando o "exp" utilidade no Oracle XE. A senha para este esquema é "password".
Uma versão para MS SQL Server 2000 e 2005 está disponível como um download gratuito a
partir de msdn.microsoft.com. Depois de baixá-lo, você deve seguir intruções da Microsoft
para instalá-lo. Finalmente, você precisará renomear o [Detalhes do Pedido] mesa para
Detalhes_Pedido ou criar uma vista nomeada Order_Details usando a seguinte instrução SQL:
criar vista Order_Details como SELECT * FROM [Detalhes do Pedido]
Configurações de conexão de banco de dados
Instruções específicas dependem de seu ambiente:
LIVE GRID
A biblioteca Rico suporta dois tipos diferentes de redes: LiveGrid e SimpleGrid. LiveGrid dados
é sempre tamponada em uma matriz de JavaScript 2-dimensional. À medida que o usuário rola
verticalmente através da grelha, os dados são copiados dinamicamente a partir da matriz para
a grelha. SimpleGrids por outro lado, são não tamponado - todos os dados para a rede
existente no DOM, não de uma estrutura de dados JavaScript.
Ambos os tipos de grades compartilham algumas características comuns, incluindo:
cabeçalhos das colunas que ficam fixo e não rolar para fora da parte superior da tela
colunas fixas do lado esquerdo da grelha
colunas redimensionáveis
comum estilo css - estilos desenvolvidos para LiveGrids também trabalhar para SimpleGrids e
vice-versa
compatibilidade com idiomas que são lidos da direita para a esquerda (RTL) - exemplos ASP e
PHP estão incluídos
compatibilidade com menus pop-up Rico (contexto)
LiveGrid
Rico oferece muito suporte para carregar um buffer LiveGrid. O buffer pode pode ser
carregado a partir de:
uma consulta de banco de dados SQL
um arquivo XML
uma tabela HTML
uma matriz javascript
Conectando LiveGrid para um banco de dados
Para simplificar a tarefa de carregar um LiveGrid com os resultados da consulta SQL, Rico vem
com um conjunto de "plug-ins", que ligar o seu banco de dados para o seu LiveGrid. Rico plugins foram testados com as seguintes bases de dados:
MySQL a Oracle DB2 SQL Server MS Access
PHP
ASP
. Net
Rico compatibilidade plug-in/database a partir de novembro 2007
* O plug-in usa ADO ASP e. Plug-in net usa ADO.net,
e, portanto, deve ser capaz de se conectar com qualquer fonte de dados que é compatível com
ADO
LiveGrid utiliza tecnologia AJAX de modo que apenas uma porção do resultado da consulta do
SQL é enviado para o cliente de cada vez. Como o usuário rola a grade, o código JavaScript
determina que parte dos resultados da consulta são necessários e envia uma solicitação AJAX
volta para o plug-in. O plug-in recupera os resultados do banco de dados e retorna-los de volta
para o cliente. Então, se sua consulta retorna 10 linhas ou 100 mil linhas, LiveGrid pode exibir
os resultados de forma rápida e facilmente com uma interface de usuário intuitiva.
Finalmente, se os usuários estão autorizados a fazer alterações aos dados, o plug-ins Rico fazer
essa muito fácil. Apenas definem sua grade usando formas LiveGrid - Adicionar, editar e excluir
seleções de registro será adicionado ao menu de contexto da grade (pop-up).
Quando Adicionar ou Editar é selecionada, uma forma de pop-up será apresentado para o
usuário.
Quando o usuário "salva" a forma, os dados enviada de volta para o roteiro original, que grava
os resultados de volta para o banco de dados.
Se parece complicado, não se preocupe! Todo esse trabalho é feito pelo plug-in. Veja o
exemplo "ex2edit" para uma demonstração de como é fácil, tanto para o usuário eo
programador. "Ex4edit" demonstra como fazer várias redes em uma página editável.
Preenchendo LiveGrid com XML
Enquanto plug-ins se torna mais fácil para carregar dados em um LiveGrid, eles não são
necessários. Um tampão LiveGrid pode ser carregado com dados XML a partir de qualquer
fonte, desde que os dados seguem o seguinte formato:
<ajax-response>
<response type='object' id='MyGridId_updater'>
<rows update_ui='true' offset='0'>
<tr> <td> dados para linha 1, célula 1 </ td> <td> dados para a linha 1, célula 2 </ td> </ tr>
<tr> <td> dados para a linha 2, célula 1 </ td> <td> dados para a linha 2, célula 2 </ td> </ tr>
</ Linhas>
</ Response>
</ Ajax-resposta>
Veja os exemplos tempo e foto, que recuperam dados de tempo e Yahoo Flickr,
respectivamente, e reformatar os dados para a estrutura mostrada acima. Estes exemplos
estão disponíveis em PHP e. Versões líquidas, mas não ASP.
Preenchendo LiveGrid com dados de uma tabela HTML
A LiveGrid também podem ser facilmente criados em uma página web que contém uma tabela
HTML tradicional. Apenas atribuir um id para a mesa e passar esse id em LiveGrid durante a
inicialização. Os títulos serão tomadas a partir da seção thead da tabela e os dados do tbody.
Nenhuma AJAX é realizado neste caso, mas os dados ainda é tamponado em uma matriz de
JavaScript. Vários exemplos estão incluídos na distribuição Rico, olhar para os marcados
"Buffer LiveGrid-Static"
SimpleGrid
SimpleGrid de são novos Rico 2.0 e partilhar algumas das mesmas funcionalidades como
LiveGrids - colunas redimensionáveis, colunas congelados, e os títulos congelados. No entanto,
ao contrário de um LiveGrid, os dados são estáticos e reside no DOM - por isso não buffering,
não refresca AJAX, sem classificação, sem filtro. Por que você usaria um SimpleGrid?
Porque é mais flexível em que cada célula pode conter - células de uma coluna não têm todos
de ser do mesmo tipo.
Em algumas circunstâncias, pode melhor no cliente que executam LiveGrid, particularmente
em um cliente lento exibindo uma grade com muitas colunas.
Finalmente, um SimpleGrid pode conter elementos de entrada (caixas de seleção, listas de
seleção, etc.) Enquanto um LiveGrid também podem conter elementos de entrada, porque os
valores dos elementos são armazenados no buffer LiveGrid, submetendo os valores de volta
para o servidor pode ser complicado. SimpleGrids não sofrem deste problema. Você pode
simplesmente cercar toda a rede com o padrão <form> </ form> marcas e quaisquer
elementos de entrada dentro da grade serão enviados de volta ao servidor.
O exemplo mais sofisticado de um SimpleGrid é a planilha incluída nesta distribuição. Você
pode inserir fórmulas e vai recalcular quando você muda as entradas - assim como uma
planilha comercial. Um link para o exemplo de planilha pode ser encontrada na seção
"Exemplos HTML" do menu de exemplos. Quando na planilha, clique no botão para ver tudo o
que pode fazer.
SimpleGrids pode ser criado de duas maneiras:
Ao usar um dos plug-ins SimpleGrid. Plug-ins existentes para PHP, ASP e. Net.
Usando XSLT. Rico inclui um arquivo XSL que irá converter uma tabela HTML padrão para um
SimpleGrid.
Criando um SimpleGrid usando um plug-in
Cada plug-in define uma classe SimpleGrid. Dentro da classe, existem métodos para iniciar
linhas de cabeçalho e as linhas de dados - apenas chamar um desses métodos em todos os
lugares que você iria colocar uma tag <tr> em uma tabela HTML. Há também um método para
criar uma célula - apenas chamá-lo em todos os lugares que você iria colocar uma tag <th> ou
<td> em uma tabela HTML. Quando você terminar de definir o conteúdo da tabela, basta
chamar o método render (exceto no plugin net. Onde renderização é chamado
automaticamente). É muito fácil!
Criando um SimpleGrid usando XSLT
Se a sua página web é compatível com XHTML, então não há outra maneira de gerar um
SimpleGrid. Basta usar a folha de estilo XSL "ricoSimpleGrid.xsl" para transformar as tabelas
em sua página para SimpleGrids. A folha de estilo olha para tabelas com um nome de classe de
"ricoSimpleGrid" e, em seguida, faz a transformação para você. Ao mesmo tempo, Rico
apoiaram a fazer essa transformação no cliente. No entanto, devido a mudanças na biblioteca
protótipo, este não é mais possível. Portanto, se você optar por usar essa abordagem, a
transformação XSLT deve ser executada no servidor.
Download