Taxweb::Frontend

Aplica assets, layout, helpers e gems comuns às aplicações da Taxweb.

Instalação

A gem Taxweb::Frontend está localizada em um repositório privado no Github. Para garantir a instalação, certifique-se que você utilize um usuário Github com acesso ao repositório.

SSH

Adicione esta linha no Gemfile da sua aplicação:

gem 'taxweb-frontend', git: '[email protected]:taxweb/taxweb-frontend', :branch => 'master'

E então execute:

$ bundle

Para instalar usando SSH, primeiramente certifique-se que as chaves SSH públicas de seu usuário estão cadastradas na sua conta Github. Você pode adicionar chaves SSH na sua conta Github seguindo as instruções na página:

Github - Generating SSH Keys

HTTPS

Adiciona esta linha no Gemfile da sua aplicação

gem 'taxweb-frontend', git: 'https://github.com/taxweb/taxweb-frontend', :branch => 'master'

E então execute:

$ bundle

Quando solicitado, entre com o seu nome de usuário Github e senha.

Gems

As seguintes gems são utilizadas pelo Taxweb::Frontend

'bootstrap-sass', '~> 3.2.0'
'simple-navigation'
'haml'
'haml-rails'

Portanto, estas gems podem ser removidas do Gemfile da sua aplicação, caso ela use a gem Taxweb::Frontend.

Como usar

Layout

Para aplicar o layout taxweb-frontend, faça o controller em questão como uma extensão do TaxwebFrontendController

class UsersController < TaxwebFrontendController
  # código do seu controller aqui
end

Por padrão, o Rails tem todos os seus controllers como uma extensão do ApplicationController. Portanto, para aplicar o layout taxweb-frontend em toda a sua aplicação padrão Rails, faça do seu ApplicationController uma extesão do TaxwebFrontendController

class ApplicationController < TaxwebFrontendController
  # código do seu controller aqui
end

Ao fazer um controller uma extensão do TaxwebFrontendController, as suas views também herdarão as classes do TaxwebFrontendHelper.

Folhas de estilo

Também será necessário carregar as folhas de estilo no Taxweb::Frontend.

Para fazer isso, adicione em sua folha de estilos:

@import "taxweb-frontend";

O Taxweb::Frontend utiliza a gem SimpleNavigation para a geração do menu de navegação principal.

Configurando o menu

Menus do SimpleNavigation são configurados através da classe SimpleNavigation::Configuration, que deve ser configurada no arquivo config/navigation.rb.

Para saber como configurar um menu do SimpleNavigation, consulte esta página:

Simple Navigation Configuration

CSS

Para usufruir do menu em sidebar e com accordion, é necessário adicionar estas classes CSS na configuração do seu menu:

navigation.items do |primary|
  primary.dom_id = 'app-nav'
  primary.dom_class = 'nav sidebar-nav'

  ...
end

Logotipo

O Taxweb::Frontend utiliza em seu layout o logotipo da sua aplicação.

Este logotipo deve ter o nome logo.png e estar localizado na pasta raiz de seus assets.

Ícones

A gem TaxwebFrontend extende o renderer padrão do SimpleNavigation, permitindo a inclusão de ícones para cada item do menu. Os ícones são adicionados utilizando o padrão do Bootstrap 3, com a biblioteca Glyphicons.

Adicione a option :icon em um item ou sub-item de menu que você deseja adicionar um ícone. Deve ser escolhido uma das classes de ícone do Bootstrap 3 (ex: 'glyphicon-user').

Exemplo de adição de ícone em um item de menu:

primary.item :pendencias, 'Pendências', '#', :icon => 'glyphicon-warning-sign'

Exemplo de adição de ícone em um item de menu e submenu:

primary.item :pendencias, 'Pendências', '#', :icon => 'glyphicon-warning-sign' do |sub_nav|
  sub_nav.item :pend1, 'Indicadores', calendario_pivot_path, :icon => 'glyphicon-tasks'
  sub_nav.item :pend2, 'Listagem', calendario_pendencias_path, :icon => 'glyphicon-list-alt'
end

Renderizando o menu

A gem Taxweb::Frontend possui um renderer customizado do SimpleNavigation, gerando um menu vertical, estilo sidebar, com a funcionalidade de accordion, utilizando o plugin javascript collapse do Bootstrap.

O layout padrão do Taxweb::Frontend já utiliza este menu. Não será necessário adicionar este menu, caso você já utilize o layout do Taxweb::Frontend, como descrito acima.

Caso você não utilize o layout do Taxweb::Frontend, ainda é possível utilizar este menu. Para utilizar este menu de navegação sem o layout do Taxweb::Frontend, renderize na sua view ou layout o menu SimpleNavigation da seguinte forma:

render_navigation :expand_all => true, :renderer => :sidebar

Contributing

  1. Fork it ( https://github.com/[my-github-username]/taxweb-frontend/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request