barras_rails 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Rakefile +22 -0
- data/app/assets/images/barras_rails/logo_uff_branco.svg +3 -0
- data/app/assets/javascripts/barras_rails/barras_rails.js +352 -0
- data/app/assets/stylesheets/barras_rails/barra_de_aplicacoes.css +143 -0
- data/app/assets/stylesheets/barras_rails/barra_do_governo.css +140 -0
- data/app/helpers/barras_rails/application_helper.rb +106 -0
- data/app/models/barra_aplicacoes.rb +31 -0
- data/app/models/url_api_nao_definida_error.rb +6 -0
- data/app/views/layouts/application.html.erb +14 -0
- data/app/views/layouts/barras_rails/_barra_aplicacoes.html.erb +27 -0
- data/app/views/layouts/barras_rails/_barra_governo.html.erb +18 -0
- data/config/routes.rb +2 -0
- data/lib/barras_rails/configuracao.rb +16 -0
- data/lib/barras_rails/engine.rb +12 -0
- data/lib/barras_rails/utilidades.rb +41 -0
- data/lib/barras_rails/version.rb +4 -0
- data/lib/barras_rails.rb +19 -0
- data/lib/generators/barras_rails/install_generator.rb +56 -0
- data/lib/generators/barras_rails/templates/barras_rails.rb +52 -0
- data/lib/generators/barras_rails/templates/logo_uff_branco.svg +3 -0
- data/lib/tasks/barras_tasks.rake +4 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +2 -0
- data/spec/dummy/app/assets/javascripts/jquery-2.1.4.min.js +4 -0
- data/spec/dummy/app/assets/stylesheets/application.css +5 -0
- data/spec/dummy/app/assets/stylesheets/reset.css +423 -0
- data/spec/dummy/app/controllers/application_controller.rb +11 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/application/index.html.erb +1 -0
- data/spec/dummy/app/views/layouts/application.html.erb +19 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/config/application.rb +34 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +37 -0
- data/spec/dummy/config/environments/production.rb +78 -0
- data/spec/dummy/config/environments/test.rb +39 -0
- data/spec/dummy/config/initializers/assets.rb +8 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/barras_uff.rb +31 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +5 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/schema.rb +2596 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/helpers/application_helper_spec.rb +178 -0
- data/spec/lib/configuracao_spec.rb +21 -0
- data/spec/models/barra_aplicacoes_spec.rb +0 -0
- data/spec/rails_helper.rb +55 -0
- data/spec/spec_helper.rb +31 -0
- metadata +281 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c382f7563962d25042c878ca441b1a354d7f252a
|
4
|
+
data.tar.gz: 3cb43ddfc41bb7c292d0c7d27668513a30866490
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: bf514261540e2cac391e9b79c6842849b48ffd672ae1e51db3ce3ffde83c609be9e733ba9a7f757131285116f8b7b2293ff511f658f344551875443d514032fd
|
7
|
+
data.tar.gz: 4e22cec1399c5bcb531ec1167f16bdb625690c9dc372697a3c8afd1e6f4984ff9090d8fd3fd4ed0400c2f35bf672d30a7af90db9e237ecc02aa4b002f0a657f4
|
data/Rakefile
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
begin
|
3
|
+
require 'bundler/setup'
|
4
|
+
rescue LoadError
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
|
+
end
|
7
|
+
|
8
|
+
APP_RAKEFILE = File.expand_path('../spec/dummy/Rakefile', __FILE__)
|
9
|
+
load 'rails/tasks/engine.rake'
|
10
|
+
|
11
|
+
Bundler::GemHelper.install_tasks
|
12
|
+
|
13
|
+
Dir[File.join(File.dirname(__FILE__), 'tasks/**/*.rake')].each { |f| load f }
|
14
|
+
|
15
|
+
require 'rspec/core'
|
16
|
+
require 'rspec/core/rake_task'
|
17
|
+
|
18
|
+
desc 'Run all specs in spec directory (excluding plugin specs)'
|
19
|
+
|
20
|
+
RSpec::Core::RakeTask.new(spec: 'app:db:test:prepare')
|
21
|
+
|
22
|
+
task default: :spec
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="410px" height="210px" viewBox="0 0 410 210">
|
2
|
+
<path fill="#ffffff" d="M237.962 71.2 l33.4643 0 0 -17.6 -0.1 0c-0.0767719 -12 -4.4 -23 -11.5 -31.5 -0 -0 -0 -0 -0 -0 -2 -2.4 -4.3 -4.7 -6.8 -6.7 -0 -0 -0 -0 -0 -0 -0.3 -0.3 -0.6 -0.5 -0.9 -0.7 -0 -0 -0 -0 -0 -0 -0.3 -0.2 -0.6 -0.5 -0.9 -0.7 -0 -0 -0 -0 -0 -0 -0.3 -0.2 -0.6 -0.5 -0.9 -0.7 0 -0 -0 -0 -0 -0 -0.3 -0.2 -0.6 -0.5 -1 -0.7 -0 -0 -0 -0 -0.1 -0 -1.6 -1.1 -3.3 -2.1 -5.1 -3 -0 -0 -0 -0 -0 -0 -0.7 -0.4 -1.4 -0.7 -2.1 -1 -0 -0 -0 -0 -0 -0 -0.4 -0.2 -0.7 -0.3 -1.1 -0.5 -0 -0 -0 -0 -0 -0 -0.3 -0.1 -0.7 -0.3 -1.1 -0.4 -0 -0 -0 -0 -0 -0 -0.3 -0.1 -0.5 -0.2 -0.8 -0.3 -0.1 -0 -0.2 -0.1 -0.3 -0.1 -0.2 -0.1 -0.5 -0.2 -0.7 -0.3 -0.1 -0.1 -0.3 -0.1 -0.4 -0.2 -0.2 -0.1 -0.3 -0.1 -0.5 -0.2 -0.2 -0.1 -0.5 -0.2 -0.7 -0.2 -0.1 -0 -0.2 -0 -0.2 -0.1 -0.3 -0.1 -0.6 -0.2 -0.9 -0.3 -0 0 -0 -0 -0 -0 -0.4 -0.1 -0.8 -0.2 -1.1 -0.3 -0 -0 -0 -0 -0 -0 -0.2 -0 -0.4 -0.1 -0.5 -0.1 -0.2 -0.1 -0.5 -0.1 -0.7 -0.2 -0 0 -0 0 -0 0 -0.4 -0.1 -0.8 -0.2 -1.2 -0.3 -0 -0 -0 -0 -0 -0 -0.4 -0.1 -0.8 -0.2 -1.2 -0.2 -0 -0 -0 -0 -0 -0 -0.4 -0.1 -0.8 -0.1 -1.2 -0.2 -0 -0 -0 -0 -0 -0 -0.4 -0.1 -0.8 -0.1 -1.2 -0.2 -0 -0 -0 -0 -0 -0 -0.4 -0.1 -0.8 -0.1 -1.2 -0.1 -0 0 -0 -0 -0 -0 -0.4 -0 -0.8 -0.1 -1.2 -0.1 -0 0 -0 0 -0 -0 -0.4 -0 -0.8 -0.1 -1.3 -0.1 -0 0 -0 0 -0 0 -0.4 -0 -0.8 -0 -1.3 -0 -0 0 -0 0 -0 0 -0.4 -0 -0.9 -0 -1.3 -0 -27.5 0 -49.9 22.4 -49.9 49.9 0 0 0 0.4 0 0.389765l0.0295277 0 0 33.5 -50.5 0.2 -0 68.1 -0 0.00236221c-0.243308 8.9 -7.7 16.1 -16.6 16.1 -8.9 0 -16.3 -7.2 -16.5 -16.0654l-0.00708664 0 0 -0.5 0 -68.1 -27.9 0 0 -0 -54.9 0 0 33.6 49.6 0 0 35 -0 0.00708664c0 27.5 22.4 49.9 49.9 49.9 0.4 0 0.9 -0 1.3 -0 0 0 0 0 0 0 0.4 -0 0.8 -0 1.3 -0 0 0 0 -0 0 -0 0.4 -0 0.8 -0 1.3 -0.1 0 0 0 0 0 -0 0.4 -0 0.8 -0.1 1.2 -0.1 0 0 0 -0 0 -0 0.1 -0 0.2 -0 0.3 -0 0.3 -0 0.6 -0.1 0.9 -0.1 0.4 -0.1 0.8 -0.1 1.2 -0.2 0 -0 0 -0 0 -0 0.4 -0.1 0.8 -0.1 1.2 -0.2 0 0 0 -0 0 -0 0.2 -0 0.4 -0.1 0.7 -0.1 0.2 -0 0.4 -0.1 0.5 -0.1 0 -0 0 -0 0 -0 0.4 -0.1 0.8 -0.2 1.2 -0.3 0 -0 0 -0 0 -0 0.2 -0 0.4 -0.1 0.5 -0.1 0.2 -0.1 0.4 -0.1 0.7 -0.2 0.1 -0 0.3 -0.1 0.4 -0.1 0.3 -0.1 0.5 -0.1 0.8 -0.2 0.2 -0 0.3 -0.1 0.5 -0.1 0.2 -0.1 0.5 -0.1 0.7 -0.2 0.2 -0.1 0.5 -0.1 0.7 -0.2 0.2 -0.1 0.3 -0.1 0.5 -0.2 0.2 -0.1 0.4 -0.2 0.7 -0.2 0.2 -0.1 0.3 -0.1 0.5 -0.2 0.2 -0.1 0.5 -0.2 0.7 -0.3 0.1 -0.1 0.3 -0.1 0.4 -0.2 0.3 -0.1 0.5 -0.2 0.8 -0.3 0.1 -0 0.2 -0.1 0.3 -0.1 0.3 -0.1 0.5 -0.2 0.8 -0.3 0.1 -0 0.2 -0.1 0.3 -0.1 0.3 -0.1 0.5 -0.2 0.8 -0.4 0.1 -0 0.2 -0.1 0.3 -0.1 0.3 -0.1 0.5 -0.3 0.8 -0.4 0.1 -0 0.2 -0.1 0.3 -0.1 0.3 -0.1 0.6 -0.3 0.9 -0.5 0.1 -0 0.1 -0.1 0.2 -0.1 0.3 -0.2 0.6 -0.3 0.9 -0.5 0.1 -0 0.1 -0.1 0.2 -0.1 0.3 -0.2 0.6 -0.3 0.9 -0.5 0 -0 0.1 -0.1 0.1 -0.1 0.6 -0.4 1.3 -0.8 1.9 -1.2 0 -0 0.1 -0 0.1 -0.1 0.3 -0.2 0.6 -0.4 0.9 -0.6 0 -0 0 -0 0 -0 0.3 -0.2 0.6 -0.4 0.9 -0.6 0 -0 0.1 -0 0.1 -0.1 0.3 -0.2 0.5 -0.4 0.8 -0.6 0.1 -0 0.1 -0.1 0.2 -0.1 0.3 -0.2 0.5 -0.4 0.8 -0.6 0 -0 0.1 -0.1 0.1 -0.1 0.9 -0.8 1.8 -1.5 2.7 -2.4 0 -0 0 -0 0 -0 0.3 -0.3 0.6 -0.5 0.8 -0.8 0 -0 0 -0 0 -0 0.8 -0.8 1.6 -1.7 2.4 -2.6 0 -0 0 -0 0 -0 0.2 -0.3 0.5 -0.5 0.7 -0.8 0 -0 0.1 -0.1 0.1 -0.1 0.2 -0.3 0.5 -0.6 0.7 -0.9 0 -0 0 -0 0 -0 0.2 -0.3 0.4 -0.6 0.7 -0.9 0 -0 0 -0.1 0.1 -0.1 2.6 -3.5 4.8 -7.3 6.5 -11.5 0 -0 0 -0 0 -0 2.3 -5.6 3.8 -11.8 3.8 -18.1583l0.00354332 0 0 -35.3 16.8 0 0 83.3 33.2 0 0 -83.3 66.8 0 0 83 33.4 0 0 -83 100.1 0 0 -33.4 -100.1 0 0 -33.5363c-0.00118111 -0 -0 -0 -0 -0 0 -9.1 7.5 -16.6 16.6 -16.6 9.1 0 16.6 7.6 16.6 16.7 -0 0 0 -0 0 -0.0118111l0 16.8 33.4 0 0 -16.8 -0 0c0 -27.5 -22.4 -49.9 -49.9 -49.9 -0.4 0 -0.9 0 -1.3 0 -0 0 -0 0 -0 0 -0.4 0 -0.8 0 -1.3 0 -0 0 -0 0 -0 0 -0.4 0 -0.8 0 -1.2 0.1 -0 0 -0 0 -0 0 -0.4 0 -0.8 0.1 -1.2 0.1 -0 0 -0 0 -0 0 -0.4 0 -0.8 0.1 -1.2 0.1 -0 0 -0 0 -0 0 -0.4 0.1 -0.8 0.1 -1.2 0.2 -0 0 -0 0 -0 0 -0.2 0 -0.5 0.1 -0.7 0.1 -0.2 0 -0.4 0.1 -0.6 0.1 -0.1 0 -0.3 0.1 -0.4 0.1 -0.3 0.1 -0.5 0.1 -0.8 0.2 -0.1 0 -0.2 0 -0.3 0.1 -0.3 0.1 -0.6 0.1 -0.9 0.2 -0.1 0 -0.1 0 -0.2 0 -0.3 0.1 -0.7 0.2 -1 0.2 -0.1 0 -0.3 0.1 -0.4 0.1 -0.3 0.1 -0.6 0.1 -0.8 0.2 -0.1 0 -0.1 0 -0.2 0.1 -0.3 0.1 -0.6 0.2 -1 0.3 -0.3 0.1 -0.6 0.2 -0.8 0.3 -0.1 0 -0.2 0.1 -0.3 0.1 -0.3 0.1 -0.5 0.2 -0.8 0.3 -0.1 0 -0.3 0.1 -0.4 0.1 -0.2 0.1 -0.4 0.1 -0.6 0.2 -0.2 0.1 -0.4 0.1 -0.6 0.2 -0.2 0.1 -0.4 0.1 -0.5 0.2 -0.2 0.1 -0.4 0.2 -0.6 0.2 -0.2 0.1 -0.3 0.2 -0.5 0.2 -0.2 0.1 -0.4 0.2 -0.6 0.3 -0.1 0.1 -0.3 0.1 -0.4 0.2 -0.2 0.1 -0.5 0.2 -0.7 0.3 -0.2 0.1 -0.3 0.2 -0.5 0.2 -0.2 0.1 -0.4 0.2 -0.6 0.3 -0.2 0.1 -0.5 0.2 -0.7 0.4 -0.1 0.1 -0.3 0.1 -0.4 0.2 -0.2 0.1 -0.5 0.3 -0.7 0.4 -0.1 0.1 -0.2 0.1 -0.3 0.2 -0.3 0.2 -0.6 0.4 -0.9 0.5 -0 0 -0 0 -0.1 0 -0.3 0.2 -0.6 0.4 -1 0.6 -0 0 -0 0 -0.1 0 -0.3 0.2 -0.6 0.4 -1 0.6 -0 0 -0 0 -0 0 -0.3 0.2 -0.6 0.4 -0.9 0.6 -0 0 -0 0 -0 0 -0.3 0.2 -0.6 0.4 -0.9 0.6 -0 0 -0.1 0 -0.1 0.1 -0.3 0.2 -0.6 0.4 -0.9 0.6 -0 0 -0.1 0.1 -0.1 0.1 -0.3 0.2 -0.6 0.4 -0.8 0.7 -0 0 -0.1 0.1 -0.1 0.1 -1.2 1 -2.4 2 -3.5 3.1 -0 0 -0 0 -0 0 -1.1 1.1 -2.2 2.3 -3.2 3.5 -0 0 -0 0 -0 0 -0.2 0.3 -0.5 0.6 -0.7 0.9 -0 0 -0 0 -0 0 -0.2 0.3 -0.5 0.6 -0.7 0.9 -0 0 -0 0 -0 0 -0.2 0.3 -0.5 0.6 -0.7 0.9 -0 0 -0 0 -0 0 -0.2 0.3 -0.4 0.6 -0.7 0.9 -0 0 -0 0 -0 0 -0.2 0.3 -0.4 0.6 -0.6 0.9 -0 0 -0 0.1 -0.1 0.1 -1.7 2.6 -3.2 5.4 -4.4 8.4 -0 0 -0 0.1 -0.1 0.1 -0.1 0.3 -0.3 0.7 -0.4 1 -0 0 -0 0.1 -0 0.1 -0.1 0.4 -0.3 0.7 -0.4 1.1 -0 0 -0 0 -0 0 -0.1 0.4 -0.3 0.8 -0.4 1.1 -0 0 -0 0 -0 0 -0.1 0.4 -0.2 0.8 -0.3 1.1 -0 0 -0 0 -0 0 -0.1 0.4 -0.2 0.8 -0.3 1.2 0 0 -0 0 -0 0 -0.2 0.8 -0.4 1.6 -0.6 2.4 -0 0 -0 0 -0 0 -0.1 0.4 -0.2 0.8 -0.2 1.2 -0 0 -0 0 -0 0 -0.1 0.4 -0.1 0.8 -0.2 1.2 -0 0 -0 0 -0 0.1 -0.1 0.4 -0.1 0.7 -0.2 1.1 -0 0 -0 0.1 -0 0.1 -0.1 0.4 -0.1 0.8 -0.1 1.2 -0 0 -0 0 -0 0.1 -0 0.4 -0.1 0.7 -0.1 1.1 -0 0.1 -0 0.1 -0 0.2 -0 0.4 -0.1 0.8 -0.1 1.2 -0 0 -0 0 -0 0.1 -0 0.4 -0 0.8 -0.1 1.2 -0 0 -0 0 -0 0.1 -0 0.4 -0 0.8 -0 1.2 0 0 0 0 0 0.0271655l-0.160631 0 0 34.1 -66.8 0 -0 -33.7147c0 0 0 0 0 0 0 -9.1 7.6 -16.7 16.7 -16.7 9.1 0 16.6 7.4 16.6 16.6 0 0.2 -0 0.5 -0 0.726381l0 16.5603z"/>
|
3
|
+
</svg>
|
@@ -0,0 +1,352 @@
|
|
1
|
+
/*
|
2
|
+
* Módulo JavaScript da API BarrasUFF.
|
3
|
+
* Este módulo adiciona a funcionalidade de um layout responsivo para a barra de
|
4
|
+
* aplicações. O número de links visíveis na barra será ajustado de acordo com o
|
5
|
+
* tamanho da janela do usuário, ou de acordo com um limite de links visíveis.
|
6
|
+
*
|
7
|
+
* Este módulo depende do jQuery para funcionar.
|
8
|
+
*
|
9
|
+
* Autor: Rodrigo Castro
|
10
|
+
* Criado em: 07/08/2015
|
11
|
+
* Atualizado em: 11/08/2015
|
12
|
+
*/
|
13
|
+
|
14
|
+
// Apenas carrega o módulo se o jQuery estiver carregado
|
15
|
+
if (typeof jQuery != 'undefined') {
|
16
|
+
jQuery(window).on('turbolinks:load load', function() {
|
17
|
+
var barraAplicacoes = BarrasRails.iniciar();
|
18
|
+
|
19
|
+
if (barraAplicacoes != null) {
|
20
|
+
jQuery(window).resize(function () {
|
21
|
+
barraAplicacoes.recalcularLayout();
|
22
|
+
});
|
23
|
+
}
|
24
|
+
});
|
25
|
+
|
26
|
+
var BarrasRails = (function($) {
|
27
|
+
var _barraAplicacoes, _barraAplicacoesNav, _submenu;
|
28
|
+
var _limiteAppsVisiveis = 0;
|
29
|
+
|
30
|
+
// Um objeto que vai conter as 2 funções públicas do módulo.
|
31
|
+
// Esse objeto será retornado para a aplicação
|
32
|
+
var moduloBarrasRails = {};
|
33
|
+
|
34
|
+
/**
|
35
|
+
* Inicia BarrasRails, fazendo o posicionamento inicial dos links.
|
36
|
+
*
|
37
|
+
* @returns {Object} O módulo BarrasRails
|
38
|
+
*/
|
39
|
+
moduloBarrasRails.iniciar = function() {
|
40
|
+
_setarVariaveisIniciais();
|
41
|
+
if (_barraAplicacoes.data('initialized') === 'true') {
|
42
|
+
alert('ieie');
|
43
|
+
return null;
|
44
|
+
}
|
45
|
+
_barraAplicacoesNav.css('visibility', 'visible');
|
46
|
+
moduloBarrasRails.recalcularLayout();
|
47
|
+
return moduloBarrasRails;
|
48
|
+
};
|
49
|
+
|
50
|
+
/**
|
51
|
+
* Refaz o cálculo do layout e posicionamento dos links, de acordo com o
|
52
|
+
* tamanho da página e com o limite manual setado pelo usuário
|
53
|
+
*/
|
54
|
+
moduloBarrasRails.recalcularLayout = function() {
|
55
|
+
// Começa normalizando a barra e atualizando os separadores
|
56
|
+
_normalizarBarra();
|
57
|
+
_atualizarSeparadores();
|
58
|
+
|
59
|
+
// Define quantos e quais links permanecerão visíveis na barra, e
|
60
|
+
// move para o submenu os que não serão visíveis
|
61
|
+
_definirLinksVisiveis();
|
62
|
+
|
63
|
+
// Checa a visibilidade do submenu e recria os separadores.
|
64
|
+
_visibilidadeSubmenu();
|
65
|
+
_atualizarSeparadores();
|
66
|
+
};
|
67
|
+
|
68
|
+
// =====================================================================
|
69
|
+
// | Funções privadas (não podem ser chamadas de fora deste módulo) |
|
70
|
+
// =====================================================================
|
71
|
+
|
72
|
+
/**
|
73
|
+
* Inicializa as variáveis internas necessárias para funcionar.
|
74
|
+
*
|
75
|
+
* @private
|
76
|
+
*/
|
77
|
+
var _setarVariaveisIniciais = function() {
|
78
|
+
_barraAplicacoes = $("#barra-aplicacoes");
|
79
|
+
_barraAplicacoes.prop('data-initialized', 'true');
|
80
|
+
_barraAplicacoesNav = _barraAplicacoes.find("#nav");
|
81
|
+
_submenu = $("#outras-aplicacoes");
|
82
|
+
_limiteAppsVisiveis = _barraAplicacoes.data('limite-apps-visiveis');
|
83
|
+
if (!_limiteAppsVisiveis) { _limiteAppsVisiveis = 0; }
|
84
|
+
};
|
85
|
+
|
86
|
+
/**
|
87
|
+
* Reseta a barra, removendo todos os links de aplicações do submenu e
|
88
|
+
* colocando-os na barra, e também remove todos os separadores.
|
89
|
+
*
|
90
|
+
* @private
|
91
|
+
*/
|
92
|
+
var _normalizarBarra = function() {
|
93
|
+
_barraAplicacoesNav.children(".sep").remove();
|
94
|
+
var itemsSubmenu = _submenu.find("ul").children();
|
95
|
+
_moverParaBarra(itemsSubmenu);
|
96
|
+
};
|
97
|
+
|
98
|
+
/**
|
99
|
+
* Calcula quantos links podem ficar visíveis, aplicando as 2 regras de
|
100
|
+
* visibilidade: limite manual e tamanho da página.
|
101
|
+
*
|
102
|
+
* Primeiro calcula o index do primeiro elemento a ser movido para o
|
103
|
+
* submenu, pelo limite manual.
|
104
|
+
* Depois calcula o mesmo index do último elemento que cabe na tela.
|
105
|
+
* No final, pega o menor dos índices e move todos os links a partir do
|
106
|
+
* índice calculado para o submenu.
|
107
|
+
*
|
108
|
+
* @private
|
109
|
+
*/
|
110
|
+
var _definirLinksVisiveis = function() {
|
111
|
+
// Pega os links da barra e verifica o limite manual e de largura
|
112
|
+
var links = _barraAplicacoesNav.children(":not(.sep, .dir)");
|
113
|
+
var indexLimManual = _verificarLimiteManualDeLinks();
|
114
|
+
var indexLimLargura = _indexUltimoElementoQueCabe(links);
|
115
|
+
|
116
|
+
// Calcula o index final e move os links de acordo com esse index
|
117
|
+
var indexFinal = Math.min(indexLimManual, indexLimLargura);
|
118
|
+
_moverParaSubmenu(links, indexFinal + 1);
|
119
|
+
};
|
120
|
+
|
121
|
+
/**
|
122
|
+
* Caso exista um limite manual para o número de links visíveis na barra
|
123
|
+
* "principal", essa função vai retornar esse limite. Caso o limite não
|
124
|
+
* exista, ela retorna "infinito".
|
125
|
+
*
|
126
|
+
* @returns {number} O limite de apps, entre 1 e "infinito"
|
127
|
+
*
|
128
|
+
* @private
|
129
|
+
*/
|
130
|
+
var _verificarLimiteManualDeLinks = function() {
|
131
|
+
if (_limiteAppsVisiveis > 0) { return _limiteAppsVisiveis - 1; }
|
132
|
+
return Infinity;
|
133
|
+
};
|
134
|
+
|
135
|
+
/**
|
136
|
+
* Move links de aplicações da barra principal para dentro do submenu,
|
137
|
+
* começando pelo elemento de indexInicial até o último link da barra.
|
138
|
+
*
|
139
|
+
* @param elementos {Object} Uma lista jQuery contendo os links que
|
140
|
+
* estão fora do submenu
|
141
|
+
* @param indexInicial {number} Um número indicando qual o index do
|
142
|
+
* primeiro elemento que deve ser movido para o submenu. Todos os
|
143
|
+
* elementos entre startIndex e o final serão movidos para o submenu.
|
144
|
+
*
|
145
|
+
* @private
|
146
|
+
*/
|
147
|
+
var _moverParaSubmenu = function(elementos, indexInicial) {
|
148
|
+
var ulSubmenu = _submenu.find("ul");
|
149
|
+
for (var index = indexInicial; index < elementos.length; index++) {
|
150
|
+
ulSubmenu.append($(elementos[index]).clone());
|
151
|
+
$(elementos[index]).remove();
|
152
|
+
}
|
153
|
+
};
|
154
|
+
|
155
|
+
/**
|
156
|
+
* Move uma lista de links de aplicações do submenu para a barra
|
157
|
+
* principal (fora do submenu). Os elementos movidos são removidos do
|
158
|
+
* submenu e adicionados à barra, sendo posicionados um a um logo antes
|
159
|
+
* do <li> que corresponde ao submenu.
|
160
|
+
*
|
161
|
+
* @param elementos {Object} Uma lista jQuery contendo os links do
|
162
|
+
* submenu
|
163
|
+
*
|
164
|
+
* @private
|
165
|
+
*/
|
166
|
+
var _moverParaBarra = function(elementos) {
|
167
|
+
elementos.each(function(index) {
|
168
|
+
// Clona cada elemento para antes do <li> do dropdown
|
169
|
+
_submenu.before($(elementos[index]).clone());
|
170
|
+
});
|
171
|
+
// Remove os elementos antigos
|
172
|
+
elementos.remove();
|
173
|
+
};
|
174
|
+
|
175
|
+
/**
|
176
|
+
* Seta a visibilidade do submenu de acordo com o número de links dentro
|
177
|
+
* dele. Caso não haja nenhum link no submenu, ele será escondido, e
|
178
|
+
* vice-versa.
|
179
|
+
*
|
180
|
+
* @private
|
181
|
+
*/
|
182
|
+
var _visibilidadeSubmenu = function() {
|
183
|
+
var numLinksSubmenu = _submenu.find("ul").children().length;
|
184
|
+
(numLinksSubmenu == 0) ? _submenu.hide() : _submenu.show();
|
185
|
+
};
|
186
|
+
|
187
|
+
/**
|
188
|
+
* Calcula e retorna o espaço da barra de aplicações que é destinado aos
|
189
|
+
* links de aplicação. Isso significa retornar a largura da página
|
190
|
+
* inteira (<body>), e tirar a largura e margens do logo da UFF e do
|
191
|
+
* link de deslogar.
|
192
|
+
*
|
193
|
+
* @returns {number} A medida, em pixels, equivalente à largura da
|
194
|
+
* página menos a largura do logo da UFF e do link de deslogar.
|
195
|
+
*
|
196
|
+
* @private
|
197
|
+
*/
|
198
|
+
var _espacoParaAplicacoes = function() {
|
199
|
+
var larguraPagina = $("body").width();
|
200
|
+
var larguraLogo = _barraAplicacoes.find("svg").outerWidth(false);
|
201
|
+
var larguraDeslogar = _barraAplicacoes.find(".dados")
|
202
|
+
.outerWidth(false);
|
203
|
+
return larguraPagina - (larguraLogo + larguraDeslogar);
|
204
|
+
};
|
205
|
+
|
206
|
+
/**
|
207
|
+
* Retorna o index do último elemento da barra de aplicações que cabe
|
208
|
+
* sem precisar ser movido para o submenu de "Outras Aplicações".
|
209
|
+
* O último elemento que cabe é o último elemento que pode permanecer
|
210
|
+
* na barra sem que o HTML automaticamente quebre-a em 2 ou mais linhas.
|
211
|
+
*
|
212
|
+
* @param elementos {Object} Um array jQuery contendo os links que estão
|
213
|
+
* na barra principal.
|
214
|
+
*
|
215
|
+
* @returns {number} O index do último elemento da lista de aplicativos
|
216
|
+
* que não ultrapassa o limite horizontal da linha especificado.
|
217
|
+
*
|
218
|
+
* @private
|
219
|
+
*/
|
220
|
+
var _indexUltimoElementoQueCabe = function(elementos) {
|
221
|
+
// Começa do último elemento
|
222
|
+
var largura = _espacoParaAplicacoes();
|
223
|
+
var numElementos = elementos.length;
|
224
|
+
var ultimoIndexQueCabe = numElementos - 1;
|
225
|
+
var elementoAtual = elementos[ultimoIndexQueCabe];
|
226
|
+
var i = 1;
|
227
|
+
if (numElementos > 1) {
|
228
|
+
// Adicionamos 5px para dar uma "folga" (leia-se: gambiarra)
|
229
|
+
var largMenosSub = largura - (_submenu.outerWidth(false) + 5);
|
230
|
+
while (!_elementoCabeNaLinha(elementoAtual, largMenosSub)) {
|
231
|
+
// Enquando o elemento atual não cabe na linha, vamos
|
232
|
+
// percorrendo o array de trás pra frente até encontrar um
|
233
|
+
// que caiba.
|
234
|
+
i++;
|
235
|
+
if (i > numElementos) { break; }
|
236
|
+
elementoAtual = elementos[numElementos - i];
|
237
|
+
}
|
238
|
+
// Quando encontramos um elemento que cabe, setamos o index.
|
239
|
+
ultimoIndexQueCabe = (numElementos - i);
|
240
|
+
}
|
241
|
+
return ultimoIndexQueCabe;
|
242
|
+
};
|
243
|
+
|
244
|
+
/**
|
245
|
+
* Verifica se um elemento vai ultrapassar o limite do tamanho
|
246
|
+
* horizontal da página, considerando tanto a posição quanto o tamanho
|
247
|
+
* dele (calcula em cima da posição do seu limite direito).
|
248
|
+
* Essa função usa a posição real do elemento na barra, como se todos os
|
249
|
+
* links estivessem ocupando a mesma linha (o que nem sempre é verdade,
|
250
|
+
* pois se der overflow o HTML vai quebrar em 2 ou mais linhas).
|
251
|
+
*
|
252
|
+
* @param elemento {HTMLElement} Um link de aplicação (elemento <li>)
|
253
|
+
* @param largura {number} O tamanho do espaço para links da barra.
|
254
|
+
*
|
255
|
+
* @returns {boolean} True se o elemento cabe na linha com a largura
|
256
|
+
* especificada, ou false se ultrapassa o tamanho da linha.
|
257
|
+
*
|
258
|
+
* @private
|
259
|
+
*/
|
260
|
+
var _elementoCabeNaLinha = function(elemento, largura) {
|
261
|
+
var posicaoMargemEsquerda = _posicaoHorizontal(elemento, largura);
|
262
|
+
var larguraElemento = $(elemento).width();
|
263
|
+
var posicaoMargemDireita = posicaoMargemEsquerda + larguraElemento;
|
264
|
+
return posicaoMargemDireita < largura;
|
265
|
+
};
|
266
|
+
|
267
|
+
/**
|
268
|
+
* Retorna a posição horizontal real de um elemento. Isso é necessário
|
269
|
+
* pois quando há links demais na barra, ela quebra em 2 ou mais linhas,
|
270
|
+
* e quando isso acontece, a função elemento.left retorna a posição left
|
271
|
+
* do elemento em relação à margem esquerda da linha em que ele se
|
272
|
+
* encontra, sem levar em conta toda a largura que ele já ocupou, em
|
273
|
+
* teoria, da primeira linha. Essa função tem como objetivo calcular a
|
274
|
+
* posição horizontal do elemento, como se ele não tivesse quebrado em
|
275
|
+
* mais de uma linha, e como se tudo da barra estivesse em uma linha só.
|
276
|
+
*
|
277
|
+
* @param elemento {HTMLElement} Um link de aplicação (elemento <li>)
|
278
|
+
* @param largura {number} O tamanho do espaço para links da barra.
|
279
|
+
*
|
280
|
+
* @returns {number} A posição horizontal (position.left) real do
|
281
|
+
* elemento. Se a linha quebrar e o elemento estiver na segunda linha,
|
282
|
+
* por exemplo, retornará a largura da primeira linha mais a posição
|
283
|
+
* dele na segunda linha.
|
284
|
+
*
|
285
|
+
* @private
|
286
|
+
*/
|
287
|
+
var _posicaoHorizontal = function(elemento, largura) {
|
288
|
+
if (elemento) {
|
289
|
+
var posicao = $(elemento).position();
|
290
|
+
var indexLinha = Math.round(posicao.top / 28.0);
|
291
|
+
return (indexLinha * largura) + posicao.left;
|
292
|
+
}
|
293
|
+
};
|
294
|
+
|
295
|
+
/**ge
|
296
|
+
* Atualiza os separadores verticais da barra de aplicação, que ficam
|
297
|
+
* entre os links. Essa função remove os separadores existentes e cria
|
298
|
+
* novos separadores entre os links.
|
299
|
+
* Isso é necessário pois quando um link é passado para o submenu, o
|
300
|
+
* separador permanece, e acaba tendo um acúmulo de separadores um do
|
301
|
+
* lado do outro. Essa função normaliza os separadores.
|
302
|
+
*
|
303
|
+
* @private
|
304
|
+
*/
|
305
|
+
var _atualizarSeparadores = function() {
|
306
|
+
// Remove os separadores antigos
|
307
|
+
_barraAplicacoesNav.children(".sep").remove();
|
308
|
+
// Cria separadores novos
|
309
|
+
var elementos = _barraAplicacoesNav.children(":visible");
|
310
|
+
for (var i = 0; i < elementos.length - 1; i++) {
|
311
|
+
$(elementos[i]).after(_criarSeparador());
|
312
|
+
}
|
313
|
+
};
|
314
|
+
|
315
|
+
/**
|
316
|
+
* Cria um separador vertical para a barra de aplicações.
|
317
|
+
*
|
318
|
+
* @returns {HTMLElement} Um novo elemento <li> com a classe "sep"
|
319
|
+
*
|
320
|
+
* @private
|
321
|
+
*/
|
322
|
+
var _criarSeparador = function() {
|
323
|
+
var li = document.createElement("li");
|
324
|
+
li.className = "sep";
|
325
|
+
return li;
|
326
|
+
};
|
327
|
+
|
328
|
+
/**
|
329
|
+
* Cria e retorna um elemento <li> contendo um link de aplicação.
|
330
|
+
*
|
331
|
+
* @param id O id do link_aplicacao
|
332
|
+
* @param nome A label do link
|
333
|
+
* @param url A url para o link
|
334
|
+
*
|
335
|
+
* @private
|
336
|
+
*/
|
337
|
+
var _criarLinkAplicacao = function(id, nome, url) {
|
338
|
+
var li = document.createElement("li");
|
339
|
+
var anchor = document.createElement("a");
|
340
|
+
anchor.innerHTML = nome;
|
341
|
+
anchor.href = url;
|
342
|
+
$(anchor).attr("data-id", id);
|
343
|
+
li.appendChild(anchor);
|
344
|
+
return li;
|
345
|
+
};
|
346
|
+
|
347
|
+
return moduloBarrasRails;
|
348
|
+
}(jQuery));
|
349
|
+
} else {
|
350
|
+
// Se o jQuery não estiver carregado, exibir um erro no console
|
351
|
+
console.error("BarrasRails JS não foi carregado: jQuery não encontrado");
|
352
|
+
}
|
@@ -0,0 +1,143 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/*
|
4
|
+
* Folha de estilos para a barra de aplicações única dos sistemas da STI UFF.
|
5
|
+
*
|
6
|
+
* Autor: Rodrigo Castro Azevedo
|
7
|
+
* Criado em: 07/08/2015
|
8
|
+
* Atualizado em: 11/08/2015
|
9
|
+
*/
|
10
|
+
|
11
|
+
svg {
|
12
|
+
-webkit-box-sizing: border-box;
|
13
|
+
-moz-box-sizing: border-box;
|
14
|
+
box-sizing: border-box;
|
15
|
+
}
|
16
|
+
|
17
|
+
#barra-aplicacoes {
|
18
|
+
background-color: #2A68AF;
|
19
|
+
color: white;
|
20
|
+
height: 28px;
|
21
|
+
box-shadow: 0 2px 4px #282828;
|
22
|
+
-moz-box-shadow: 0 2px 4px #282828;
|
23
|
+
-webkit-box-shadow: 0 2px 4px #282828;
|
24
|
+
font-family: Helvetica, Arial, sans-serif;
|
25
|
+
font-size: 11px;
|
26
|
+
}
|
27
|
+
|
28
|
+
#barra-aplicacoes svg {
|
29
|
+
-webkit-transition: background-color .3s ease, box-shadow .3s ease;
|
30
|
+
-moz-transition: background-color .3s ease, box-shadow .3s ease;
|
31
|
+
-o-transition: background-color .3s ease, box-shadow .3s ease;
|
32
|
+
transition: background-color .3s ease, box-shadow .3s ease;
|
33
|
+
width: 70px;
|
34
|
+
height: 28px;
|
35
|
+
float: left;
|
36
|
+
padding: 4px 5px;
|
37
|
+
}
|
38
|
+
|
39
|
+
#barra-aplicacoes svg:hover, .dados a:hover {
|
40
|
+
-webkit-box-shadow: 0 -3px 0 0 #4187D1 inset;
|
41
|
+
-moz-box-shadow: 0 -3px 0 0 #4187D1 inset;
|
42
|
+
box-shadow: 0 -3px 0 0 #4187D1 inset;
|
43
|
+
background-color: #1D5BA2;
|
44
|
+
color: white;
|
45
|
+
}
|
46
|
+
|
47
|
+
#barra-aplicacoes a { text-decoration:none; }
|
48
|
+
|
49
|
+
.shadow { position: relative; z-index: 999; }
|
50
|
+
|
51
|
+
.dados {
|
52
|
+
display: block;
|
53
|
+
float: right;
|
54
|
+
font-size: 10px;
|
55
|
+
}
|
56
|
+
|
57
|
+
.dados a {
|
58
|
+
-webkit-transition: background-color .3s ease, box-shadow .3s ease;
|
59
|
+
-moz-transition: background-color .3s ease, box-shadow .3s ease;
|
60
|
+
-o-transition: background-color .3s ease, box-shadow .3s ease;
|
61
|
+
transition: background-color .3s ease, box-shadow .3s ease;
|
62
|
+
display: block;
|
63
|
+
color: white;
|
64
|
+
line-height: 28px;
|
65
|
+
padding: 0 15px;
|
66
|
+
}
|
67
|
+
|
68
|
+
ul.dropdown, ul.dropdown li, ul.dropdown ul {
|
69
|
+
margin: 0;
|
70
|
+
padding: 0;
|
71
|
+
list-style-type: none;
|
72
|
+
}
|
73
|
+
|
74
|
+
ul.dropdown {
|
75
|
+
font-weight: normal;
|
76
|
+
position: relative;
|
77
|
+
z-index: 597;
|
78
|
+
float: left;
|
79
|
+
}
|
80
|
+
|
81
|
+
ul.dropdown ul {
|
82
|
+
height: 28px;
|
83
|
+
width: 150%;
|
84
|
+
margin-top: 1px;
|
85
|
+
visibility: hidden;
|
86
|
+
position: absolute;
|
87
|
+
top: 95%;
|
88
|
+
left: -25%;
|
89
|
+
z-index: 598;
|
90
|
+
}
|
91
|
+
|
92
|
+
ul.dropdown ul ul { top: 1px; left: 99%; }
|
93
|
+
ul.dropdown ul li { font-weight: normal; float: none; }
|
94
|
+
ul.dropdown ul li:hover {
|
95
|
+
-webkit-box-shadow: 0 0 0 white;
|
96
|
+
-moz-box-shadow: 0 0 0 white;
|
97
|
+
box-shadow: 0 0 0 white;
|
98
|
+
}
|
99
|
+
|
100
|
+
ul.dropdown li {
|
101
|
+
-webkit-transition: background-color .3s ease, box-shadow .3s ease;
|
102
|
+
-moz-transition: background-color .3s ease, box-shadow .3s ease;
|
103
|
+
-o-transition: background-color .3s ease, box-shadow .3s ease;
|
104
|
+
transition: background-color .3s ease, box-shadow .3s ease;
|
105
|
+
line-height: 28px;
|
106
|
+
float: left;
|
107
|
+
vertical-align: middle;
|
108
|
+
zoom: 1;
|
109
|
+
border-color: #fff #d9d9d9 #d9d9d9;
|
110
|
+
background-color: #2A68AF;
|
111
|
+
color: white;
|
112
|
+
}
|
113
|
+
|
114
|
+
ul.dropdown li.hover, ul.dropdown li:hover {
|
115
|
+
position: relative;
|
116
|
+
z-index: 599;
|
117
|
+
cursor: default;
|
118
|
+
background-color: #1D5BA2;
|
119
|
+
-webkit-box-shadow: 0 -3px 0 0 #4187D1 inset;
|
120
|
+
-moz-box-shadow: 0 -3px 0 0 #4187D1 inset;
|
121
|
+
box-shadow: 0 -3px 0 0 #4187D1 inset;
|
122
|
+
}
|
123
|
+
|
124
|
+
ul.dropdown li a { display: block; padding: 0 10px; }
|
125
|
+
|
126
|
+
ul.dropdown li.sep:hover {
|
127
|
+
-webkit-box-shadow: 0 0 0 white;
|
128
|
+
-moz-box-shadow: 0 0 0 white;
|
129
|
+
box-shadow: 0 0 0 white;
|
130
|
+
background-color: #2A68AF;
|
131
|
+
}
|
132
|
+
|
133
|
+
ul.dropdown li.sep:after{
|
134
|
+
content: "|";
|
135
|
+
}
|
136
|
+
|
137
|
+
ul.dropdown li.dir { line-height: 27px; padding: 0 10px; }
|
138
|
+
ul.dropdown li:hover > ul { visibility: visible; }
|
139
|
+
ul.dropdown a { display: block; }
|
140
|
+
ul.dropdown a:link, ul.dropdown a:visited {
|
141
|
+
color: white;
|
142
|
+
text-decoration: none;
|
143
|
+
}
|
@@ -0,0 +1,140 @@
|
|
1
|
+
/*
|
2
|
+
* Folha de estilos para a barra do governo atual.
|
3
|
+
* Esse arquivo deve ser atualizado junto com a barra do governo, quando esta
|
4
|
+
* for atualizada.
|
5
|
+
*
|
6
|
+
* Autor: Rodrigo Castro Azevedo
|
7
|
+
* Criado em: 07/08/2015
|
8
|
+
* Atualizado em: 19/07/2016
|
9
|
+
*/
|
10
|
+
|
11
|
+
@font-face {
|
12
|
+
font-family: "Open Sans";
|
13
|
+
font-style: normal;
|
14
|
+
font-weight: 700;
|
15
|
+
src: local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2) format('woff2');
|
16
|
+
}
|
17
|
+
|
18
|
+
#barra-brasil div, #barra-brasil a, #barra-brasil ul, #barra-brasil li {
|
19
|
+
margin: 0;
|
20
|
+
padding: 0;
|
21
|
+
font-size: 100%;
|
22
|
+
font-family: inherit;
|
23
|
+
vertical-align: baseline;
|
24
|
+
}
|
25
|
+
|
26
|
+
#barra-brasil ul { list-style: none; }
|
27
|
+
|
28
|
+
#barra-brasil {
|
29
|
+
height: 32px;
|
30
|
+
background: #f1f1f1;
|
31
|
+
font-weight: bold;
|
32
|
+
font-size: 12px;
|
33
|
+
line-height: 32px;
|
34
|
+
font-family: "Open Sans", Helvetica, Arial, sans-serif;
|
35
|
+
border-bottom: 1px solid #dfdfdf;
|
36
|
+
box-sizing: content-box;
|
37
|
+
}
|
38
|
+
|
39
|
+
#barra-brasil a { text-decoration: none; }
|
40
|
+
body.contraste #barra-brasil { background: #000; }
|
41
|
+
|
42
|
+
div#wrapper-barra-brasil {
|
43
|
+
position: relative;
|
44
|
+
overflow: hidden;
|
45
|
+
margin: 0 auto;
|
46
|
+
width: 100%;
|
47
|
+
max-width: 960px;
|
48
|
+
height: 100%;
|
49
|
+
}
|
50
|
+
|
51
|
+
#barra-brasil .brasil-flag {
|
52
|
+
float: left;
|
53
|
+
padding: 7px 0 6px;
|
54
|
+
width: 115px;
|
55
|
+
height: 19px;
|
56
|
+
border-right: 2px solid #dfdfdf;
|
57
|
+
}
|
58
|
+
|
59
|
+
#barra-brasil .brasil-flag .link-barra {
|
60
|
+
display: block;
|
61
|
+
padding-left: 42px;
|
62
|
+
width: 43px;
|
63
|
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAATCAMAAAC5m+00AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAACrUExURQCXSF27iQCWRQOWSQCWSRCdVACSSgCWRwCVSRKcVv/oAP/yAAIvh/bjBQKVTP/rAK3PF/3sARZBkg05ima2LCqiPg+ZRR9JoermBbGwLwEqkgCST1GwMRqdQZfIHdzgCSdSlTlYbEWrNyNKeouUPHOgtEJsn2WOrSClX2m/lF+6i3q8JsDVEBpCgWN2WefTD8i/IYSstzKmO3eIUaa2h3SOjfvlHjVfq6OmNShvDYIAAAFISURBVCjPbVHXksMgDNQBljC4l9iOndjp5VKv//+XnXByb7fDADO7rNAK9v4DngPv/h/24BHBuEhqB3pCeUxJIAWKtMZlIVCTciogH3yhWMpinM2t7ZctS5UgAR74kVICpMauNrfmaucTpMj5e+4VUNTOEvuzCoL8EvZLJCH1SIHAqKjtehowposwTmbIcqZIt+UpNV/3zWa3HYLp2sZ1gegoPXkNU5M238Ow3d132cIYEyel9MHDLo2NcX4519puPkPmbOIowrdTbGyTZXk2BEH1kZo4LPSjFgq2DFcVc3lWNZbt2rGWIIiwTOztzJZV9W77glCp8RsSNHdc1NfL6rxoxp5JCcmUC1cJjdx0GKZ1hxq0eqYBkuPlzLHrjXuiOAwaDUGQFJyWBpyU7EUaQI/xckGeA98jksqNQLmp8BnB4Xh8+ReHX640GNLt25uiAAAAAElFTkSuQmCC") 8px center no-repeat;
|
64
|
+
text-transform: uppercase;
|
65
|
+
line-height: 19px;
|
66
|
+
}
|
67
|
+
|
68
|
+
#barra-brasil .acesso-info { position: absolute; left: 130px; }
|
69
|
+
#barra-brasil .list { position: absolute; top: 0; right: 0; }
|
70
|
+
#barra-brasil .list .first { border-left: 2px solid #dfdfdf; }
|
71
|
+
#barra-brasil .list-item {
|
72
|
+
display: inline-block;
|
73
|
+
padding: 0 15px 0 13px;
|
74
|
+
height: 32px;
|
75
|
+
line-height: 32px;
|
76
|
+
border-right: 2px solid #dfdfdf;
|
77
|
+
}
|
78
|
+
|
79
|
+
#barra-brasil .link-barra { color: #606060; }
|
80
|
+
body.contraste #barra-brasil .link-barra { color: #FFF; }
|
81
|
+
|
82
|
+
#menu-icon {
|
83
|
+
display: none;
|
84
|
+
width: 35px;
|
85
|
+
height: 22px;
|
86
|
+
background: #f1f1f1 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZBAMAAAA2x5hQAAAAJ1BMVEUAAABubm5ubm5ubm5ubm5ubm5ubm5ubm5vb29ubm5ubm5ubm5ubm5Wlu/fAAAADHRSTlMA6ioQ1wqDzlIj9Vz4BBXdAAAAR0lEQVQY02PAB1izzsCABAMD0xk4OIjOY053gYFqoMZIJRiYwIAfBBvDgAHQvkRBGPDAZx+qSjRT8ABUl6G6Gp99aCFBPAAA++pVuwpeGZsAAAAASUVORK5CYII=") no-repeat center;
|
87
|
+
border-bottom: 1px solid #DFDFDF;
|
88
|
+
}
|
89
|
+
|
90
|
+
@media only screen and (max-width: 959px) {
|
91
|
+
#barra-brasil #menu-icon {
|
92
|
+
display: inline-block;
|
93
|
+
float: right;
|
94
|
+
padding: 5px;
|
95
|
+
}
|
96
|
+
|
97
|
+
#barra-brasil nav:hover #menu-icon, #barra-brasil nav:active #menu-icon, #barra-brasil nav:focus #menu-icon {
|
98
|
+
background-color: #DDD;
|
99
|
+
}
|
100
|
+
|
101
|
+
#barra-brasil ul.list, #barra-brasil ul.list:active, #barra-brasil ul.list:focus {
|
102
|
+
overflow: hidden;
|
103
|
+
height: 0;
|
104
|
+
transition: 0.3s;
|
105
|
+
padding-top: 32px;
|
106
|
+
width: auto;
|
107
|
+
position: absolute;
|
108
|
+
z-index: 9;
|
109
|
+
}
|
110
|
+
|
111
|
+
#barra-brasil .list-item {
|
112
|
+
display: block;
|
113
|
+
text-align: center;
|
114
|
+
height: 30px;
|
115
|
+
background: #EEE;
|
116
|
+
padding: 0 15px;
|
117
|
+
border: 1px solid #dfdfdf;
|
118
|
+
}
|
119
|
+
|
120
|
+
body.contraste #barra-brasil .list-item { background: #000; }
|
121
|
+
|
122
|
+
#barra-brasil .list a:active li, #barra-brasil .list a:focus li, #barra-brasil .list a:hover li {
|
123
|
+
background: #DDD;
|
124
|
+
}
|
125
|
+
|
126
|
+
body.contraste #barra-brasil .list a:active li, body.contraste #barra-brasil .list a:focus li, body.contraste #barra-brasil .list a:hover li {
|
127
|
+
background: #000;
|
128
|
+
}
|
129
|
+
|
130
|
+
#barra-brasil nav:active ul.list, #barra-brasil nav:focus ul.list, #barra-brasil nav:hover ul.list {
|
131
|
+
height: 150px;
|
132
|
+
transition: 0.5s;
|
133
|
+
}
|
134
|
+
|
135
|
+
div#wrapper-barra-brasil { overflow: visible; }
|
136
|
+
}
|
137
|
+
|
138
|
+
@media screen and (min-width: 960px) {
|
139
|
+
#wrapper-barra-brasil { width: 960px; }
|
140
|
+
}
|