From 3c9af70d3a2e38b407eee503168b1d88e6db1233 Mon Sep 17 00:00:00 2001 From: Nicolas Bally Date: Sat, 18 Aug 2012 12:07:32 +0200 Subject: [PATCH] init --- .gitignore | 8 + Capfile | 4 + Gemfile | 43 +++ Gemfile.lock | 116 ++++++++ README.rdoc | 261 ++++++++++++++++++ Rakefile | 7 + app/assets/images/bg-dark.jpg | Bin 0 -> 15662 bytes app/assets/images/bg-green.jpg | Bin 0 -> 22596 bytes app/assets/images/bg-white.jpg | Bin 0 -> 22683 bytes app/assets/images/fond copie.png | Bin 0 -> 1432 bytes app/assets/images/fond.png | Bin 0 -> 2400 bytes app/assets/images/legno.jpg | Bin 0 -> 154377 bytes app/assets/images/logo.png | Bin 0 -> 15158 bytes app/assets/images/logo3.png | Bin 0 -> 12182 bytes app/assets/images/logo4.png | Bin 0 -> 11380 bytes app/assets/images/rails.png | Bin 0 -> 6646 bytes app/assets/javascripts/application.js | 167 +++++++++++ app/assets/javascripts/exporting.js | 23 ++ app/assets/javascripts/highcharts.js | 239 ++++++++++++++++ app/assets/javascripts/surveys.js.coffee | 3 + app/assets/stylesheets/application.css.scss | 247 +++++++++++++++++ app/assets/stylesheets/surveys.css.scss | 3 + app/controllers/application_controller.rb | 3 + app/controllers/survey_sets_controller.rb | 36 +++ app/controllers/surveys_controller.rb | 8 + app/helpers/application_helper.rb | 2 + app/helpers/surveys_helper.rb | 2 + app/mailers/.gitkeep | 0 app/models/.gitkeep | 0 app/models/answer_set.rb | 19 ++ app/models/question_set.rb | 12 + app/models/survey_item.rb | 14 + app/models/survey_item_answer.rb | 8 + app/models/survey_set.rb | 7 + app/models/survey_type.rb | 32 +++ app/views/layouts/application.html.haml | 30 ++ app/views/survey_sets/_answer_set.html.haml | 32 +++ app/views/survey_sets/_form.html.haml | 22 ++ app/views/survey_sets/_question_set.html.haml | 31 +++ app/views/survey_sets/create.html.haml | 1 + app/views/survey_sets/edit.html.haml | 1 + app/views/survey_sets/new.html.haml | 1 + app/views/survey_sets/show.html.haml | 151 ++++++++++ app/views/survey_sets/thanks.html.haml | 22 ++ app/views/surveys/index.html.haml | 1 + config.ru | 4 + config/application.rb | 62 +++++ config/boot.rb | 6 + config/database.yml | 28 ++ config/deploy.rb | 104 +++++++ config/environment.rb | 5 + config/environments/development.rb | 37 +++ config/environments/production.rb | 67 +++++ config/environments/test.rb | 37 +++ config/initializers/backtrace_silencers.rb | 7 + config/initializers/inflections.rb | 15 + config/initializers/mime_types.rb | 5 + config/initializers/secret_token.rb | 7 + config/initializers/session_store.rb | 8 + config/initializers/to_slug.rb | 43 +++ config/initializers/wrap_parameters.rb | 14 + config/locales/en.yml | 5 + config/nginx.conf | 22 ++ config/routes.rb | 75 +++++ config/unicorn.rb | 10 + .../20120816090713_create_survey_types.rb | 15 + .../20120816090843_create_survey_items.rb | 21 ++ ...120816091025_create_survey_item_answers.rb | 17 ++ .../20120816091659_create_survey_sets.rb | 10 + .../20120816091759_create_question_sets.rb | 14 + .../20120816091837_create_answer_sets.rb | 13 + db/schema.rb | 94 +++++++ db/seeds.rb | 80 ++++++ doc/README_FOR_APP | 2 + lib/assets/.gitkeep | 0 lib/tasks/.gitkeep | 0 log/.gitkeep | 0 public/404.html | 26 ++ public/422.html | 26 ++ public/500.html | 25 ++ public/favicon.ico | 0 public/robots.txt | 5 + script/rails | 6 + test/fixtures/.gitkeep | 0 test/fixtures/answer_sets.yml | 11 + test/fixtures/question_sets.yml | 9 + test/fixtures/survey_item_answers.yml | 17 ++ test/fixtures/survey_items.yml | 21 ++ test/fixtures/survey_sets.yml | 7 + test/fixtures/survey_types.yml | 13 + test/functional/.gitkeep | 0 test/functional/surveys_controller_test.rb | 9 + test/integration/.gitkeep | 0 test/performance/browsing_test.rb | 12 + test/test_helper.rb | 13 + test/unit/.gitkeep | 0 test/unit/answer_set_test.rb | 7 + test/unit/helpers/surveys_helper_test.rb | 4 + test/unit/question_set_test.rb | 7 + test/unit/survey_item_answer_test.rb | 7 + test/unit/survey_item_test.rb | 7 + test/unit/survey_set_test.rb | 7 + test/unit/survey_type_test.rb | 7 + vendor/assets/javascripts/.gitkeep | 0 vendor/assets/stylesheets/.gitkeep | 0 vendor/plugins/.gitkeep | 0 106 files changed, 2629 insertions(+) create mode 100644 .gitignore create mode 100644 Capfile create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 README.rdoc create mode 100644 Rakefile create mode 100644 app/assets/images/bg-dark.jpg create mode 100644 app/assets/images/bg-green.jpg create mode 100644 app/assets/images/bg-white.jpg create mode 100644 app/assets/images/fond copie.png create mode 100644 app/assets/images/fond.png create mode 100644 app/assets/images/legno.jpg create mode 100644 app/assets/images/logo.png create mode 100644 app/assets/images/logo3.png create mode 100644 app/assets/images/logo4.png create mode 100644 app/assets/images/rails.png create mode 100644 app/assets/javascripts/application.js create mode 100644 app/assets/javascripts/exporting.js create mode 100644 app/assets/javascripts/highcharts.js create mode 100644 app/assets/javascripts/surveys.js.coffee create mode 100644 app/assets/stylesheets/application.css.scss create mode 100644 app/assets/stylesheets/surveys.css.scss create mode 100644 app/controllers/application_controller.rb create mode 100644 app/controllers/survey_sets_controller.rb create mode 100644 app/controllers/surveys_controller.rb create mode 100644 app/helpers/application_helper.rb create mode 100644 app/helpers/surveys_helper.rb create mode 100644 app/mailers/.gitkeep create mode 100644 app/models/.gitkeep create mode 100644 app/models/answer_set.rb create mode 100644 app/models/question_set.rb create mode 100644 app/models/survey_item.rb create mode 100644 app/models/survey_item_answer.rb create mode 100644 app/models/survey_set.rb create mode 100644 app/models/survey_type.rb create mode 100644 app/views/layouts/application.html.haml create mode 100644 app/views/survey_sets/_answer_set.html.haml create mode 100644 app/views/survey_sets/_form.html.haml create mode 100644 app/views/survey_sets/_question_set.html.haml create mode 100644 app/views/survey_sets/create.html.haml create mode 100644 app/views/survey_sets/edit.html.haml create mode 100644 app/views/survey_sets/new.html.haml create mode 100644 app/views/survey_sets/show.html.haml create mode 100644 app/views/survey_sets/thanks.html.haml create mode 100644 app/views/surveys/index.html.haml create mode 100644 config.ru create mode 100644 config/application.rb create mode 100644 config/boot.rb create mode 100644 config/database.yml create mode 100644 config/deploy.rb create mode 100644 config/environment.rb create mode 100644 config/environments/development.rb create mode 100644 config/environments/production.rb create mode 100644 config/environments/test.rb create mode 100644 config/initializers/backtrace_silencers.rb create mode 100644 config/initializers/inflections.rb create mode 100644 config/initializers/mime_types.rb create mode 100644 config/initializers/secret_token.rb create mode 100644 config/initializers/session_store.rb create mode 100644 config/initializers/to_slug.rb create mode 100644 config/initializers/wrap_parameters.rb create mode 100644 config/locales/en.yml create mode 100644 config/nginx.conf create mode 100644 config/routes.rb create mode 100644 config/unicorn.rb create mode 100644 db/migrate/20120816090713_create_survey_types.rb create mode 100644 db/migrate/20120816090843_create_survey_items.rb create mode 100644 db/migrate/20120816091025_create_survey_item_answers.rb create mode 100644 db/migrate/20120816091659_create_survey_sets.rb create mode 100644 db/migrate/20120816091759_create_question_sets.rb create mode 100644 db/migrate/20120816091837_create_answer_sets.rb create mode 100644 db/schema.rb create mode 100644 db/seeds.rb create mode 100644 doc/README_FOR_APP create mode 100644 lib/assets/.gitkeep create mode 100644 lib/tasks/.gitkeep create mode 100644 log/.gitkeep create mode 100644 public/404.html create mode 100644 public/422.html create mode 100644 public/500.html create mode 100644 public/favicon.ico create mode 100644 public/robots.txt create mode 100755 script/rails create mode 100644 test/fixtures/.gitkeep create mode 100644 test/fixtures/answer_sets.yml create mode 100644 test/fixtures/question_sets.yml create mode 100644 test/fixtures/survey_item_answers.yml create mode 100644 test/fixtures/survey_items.yml create mode 100644 test/fixtures/survey_sets.yml create mode 100644 test/fixtures/survey_types.yml create mode 100644 test/functional/.gitkeep create mode 100644 test/functional/surveys_controller_test.rb create mode 100644 test/integration/.gitkeep create mode 100644 test/performance/browsing_test.rb create mode 100644 test/test_helper.rb create mode 100644 test/unit/.gitkeep create mode 100644 test/unit/answer_set_test.rb create mode 100644 test/unit/helpers/surveys_helper_test.rb create mode 100644 test/unit/question_set_test.rb create mode 100644 test/unit/survey_item_answer_test.rb create mode 100644 test/unit/survey_item_test.rb create mode 100644 test/unit/survey_set_test.rb create mode 100644 test/unit/survey_type_test.rb create mode 100644 vendor/assets/javascripts/.gitkeep create mode 100644 vendor/assets/stylesheets/.gitkeep create mode 100644 vendor/plugins/.gitkeep diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..685a8b6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +.bundle +db/*.sqlite3 +log/*.log +tmp/ +.sass-cache/ +.DS_Store +private_medias/ +public/public_medias diff --git a/Capfile b/Capfile new file mode 100644 index 0000000..d04de11 --- /dev/null +++ b/Capfile @@ -0,0 +1,4 @@ +load 'deploy' if respond_to?(:namespace) # cap2 differentiator +Dir['vendor/gems/*/recipes/*.rb','vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) } + +load 'config/deploy' # remove this line to skip loading any of the default tasks \ No newline at end of file diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..5c09156 --- /dev/null +++ b/Gemfile @@ -0,0 +1,43 @@ +source 'https://rubygems.org' + +gem 'rails', '3.2.8' + +# Bundle edge Rails instead: +# gem 'rails', :git => 'git://github.com/rails/rails.git' + +gem 'sqlite3' + + +# Gems used only for assets and not required +# in production environments by default. +group :assets do + gem 'sass-rails', '~> 3.2.3' + gem 'coffee-rails', '~> 3.2.1' + + # See https://github.com/sstephenson/execjs#readme for more supported runtimes + # gem 'therubyracer', :platforms => :ruby + + gem 'uglifier', '>= 1.0.3' +end + +gem 'jquery-rails' + +# To use ActiveModel has_secure_password +# gem 'bcrypt-ruby', '~> 3.0.0' + +# To use Jbuilder templates for JSON +# gem 'jbuilder' + +# Use unicorn as the app server +# gem 'unicorn' + +# Deploy with Capistrano +# gem 'capistrano' + +# To use debugger +# gem 'debugger' + +gem 'formtastic' +gem 'haml' + +gem "mysql2" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..758c911 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,116 @@ +GEM + remote: https://rubygems.org/ + specs: + actionmailer (3.2.8) + actionpack (= 3.2.8) + mail (~> 2.4.4) + actionpack (3.2.8) + activemodel (= 3.2.8) + activesupport (= 3.2.8) + builder (~> 3.0.0) + erubis (~> 2.7.0) + journey (~> 1.0.4) + rack (~> 1.4.0) + rack-cache (~> 1.2) + rack-test (~> 0.6.1) + sprockets (~> 2.1.3) + activemodel (3.2.8) + activesupport (= 3.2.8) + builder (~> 3.0.0) + activerecord (3.2.8) + activemodel (= 3.2.8) + activesupport (= 3.2.8) + arel (~> 3.0.2) + tzinfo (~> 0.3.29) + activeresource (3.2.8) + activemodel (= 3.2.8) + activesupport (= 3.2.8) + activesupport (3.2.8) + i18n (~> 0.6) + multi_json (~> 1.0) + arel (3.0.2) + builder (3.0.0) + coffee-rails (3.2.2) + coffee-script (>= 2.2.0) + railties (~> 3.2.0) + coffee-script (2.2.0) + coffee-script-source + execjs + coffee-script-source (1.3.3) + erubis (2.7.0) + execjs (1.4.0) + multi_json (~> 1.0) + formtastic (2.1.1) + actionpack (~> 3.0) + haml (3.1.7) + hike (1.2.1) + i18n (0.6.0) + journey (1.0.4) + jquery-rails (2.0.2) + railties (>= 3.2.0, < 5.0) + thor (~> 0.14) + json (1.7.4) + mail (2.4.4) + i18n (>= 0.4.0) + mime-types (~> 1.16) + treetop (~> 1.4.8) + mime-types (1.19) + multi_json (1.3.6) + polyglot (0.3.3) + rack (1.4.1) + rack-cache (1.2) + rack (>= 0.4) + rack-ssl (1.3.2) + rack + rack-test (0.6.1) + rack (>= 1.0) + rails (3.2.8) + actionmailer (= 3.2.8) + actionpack (= 3.2.8) + activerecord (= 3.2.8) + activeresource (= 3.2.8) + activesupport (= 3.2.8) + bundler (~> 1.0) + railties (= 3.2.8) + railties (3.2.8) + actionpack (= 3.2.8) + activesupport (= 3.2.8) + rack-ssl (~> 1.3.2) + rake (>= 0.8.7) + rdoc (~> 3.4) + thor (>= 0.14.6, < 2.0) + rake (0.9.2.2) + rdoc (3.12) + json (~> 1.4) + sass (3.2.1) + sass-rails (3.2.5) + railties (~> 3.2.0) + sass (>= 3.1.10) + tilt (~> 1.3) + sprockets (2.1.3) + hike (~> 1.2) + rack (~> 1.0) + tilt (~> 1.1, != 1.3.0) + sqlite3 (1.3.6) + thor (0.16.0) + tilt (1.3.3) + treetop (1.4.10) + polyglot + polyglot (>= 0.3.1) + tzinfo (0.3.33) + uglifier (1.2.7) + execjs (>= 0.3.0) + multi_json (~> 1.3) + +PLATFORMS + ruby + +DEPENDENCIES + coffee-rails (~> 3.2.1) + formtastic + haml + jquery-rails + rails (= 3.2.8) + sass-rails (~> 3.2.3) + sqlite3 + uglifier (>= 1.0.3) diff --git a/README.rdoc b/README.rdoc new file mode 100644 index 0000000..7c36f23 --- /dev/null +++ b/README.rdoc @@ -0,0 +1,261 @@ +== Welcome to Rails + +Rails is a web-application framework that includes everything needed to create +database-backed web applications according to the Model-View-Control pattern. + +This pattern splits the view (also called the presentation) into "dumb" +templates that are primarily responsible for inserting pre-built data in between +HTML tags. The model contains the "smart" domain objects (such as Account, +Product, Person, Post) that holds all the business logic and knows how to +persist themselves to a database. The controller handles the incoming requests +(such as Save New Account, Update Product, Show Post) by manipulating the model +and directing data to the view. + +In Rails, the model is handled by what's called an object-relational mapping +layer entitled Active Record. This layer allows you to present the data from +database rows as objects and embellish these data objects with business logic +methods. You can read more about Active Record in +link:files/vendor/rails/activerecord/README.html. + +The controller and view are handled by the Action Pack, which handles both +layers by its two parts: Action View and Action Controller. These two layers +are bundled in a single package due to their heavy interdependence. This is +unlike the relationship between the Active Record and Action Pack that is much +more separate. Each of these packages can be used independently outside of +Rails. You can read more about Action Pack in +link:files/vendor/rails/actionpack/README.html. + + +== Getting Started + +1. At the command prompt, create a new Rails application: + rails new myapp (where myapp is the application name) + +2. Change directory to myapp and start the web server: + cd myapp; rails server (run with --help for options) + +3. Go to http://localhost:3000/ and you'll see: + "Welcome aboard: You're riding Ruby on Rails!" + +4. Follow the guidelines to start developing your application. You can find +the following resources handy: + +* The Getting Started Guide: http://guides.rubyonrails.org/getting_started.html +* Ruby on Rails Tutorial Book: http://www.railstutorial.org/ + + +== Debugging Rails + +Sometimes your application goes wrong. Fortunately there are a lot of tools that +will help you debug it and get it back on the rails. + +First area to check is the application log files. Have "tail -f" commands +running on the server.log and development.log. Rails will automatically display +debugging and runtime information to these files. Debugging info will also be +shown in the browser on requests from 127.0.0.1. + +You can also log your own messages directly into the log file from your code +using the Ruby logger class from inside your controllers. Example: + + class WeblogController < ActionController::Base + def destroy + @weblog = Weblog.find(params[:id]) + @weblog.destroy + logger.info("#{Time.now} Destroyed Weblog ID ##{@weblog.id}!") + end + end + +The result will be a message in your log file along the lines of: + + Mon Oct 08 14:22:29 +1000 2007 Destroyed Weblog ID #1! + +More information on how to use the logger is at http://www.ruby-doc.org/core/ + +Also, Ruby documentation can be found at http://www.ruby-lang.org/. There are +several books available online as well: + +* Programming Ruby: http://www.ruby-doc.org/docs/ProgrammingRuby/ (Pickaxe) +* Learn to Program: http://pine.fm/LearnToProgram/ (a beginners guide) + +These two books will bring you up to speed on the Ruby language and also on +programming in general. + + +== Debugger + +Debugger support is available through the debugger command when you start your +Mongrel or WEBrick server with --debugger. This means that you can break out of +execution at any point in the code, investigate and change the model, and then, +resume execution! You need to install ruby-debug to run the server in debugging +mode. With gems, use sudo gem install ruby-debug. Example: + + class WeblogController < ActionController::Base + def index + @posts = Post.all + debugger + end + end + +So the controller will accept the action, run the first line, then present you +with a IRB prompt in the server window. Here you can do things like: + + >> @posts.inspect + => "[#nil, "body"=>nil, "id"=>"1"}>, + #"Rails", "body"=>"Only ten..", "id"=>"2"}>]" + >> @posts.first.title = "hello from a debugger" + => "hello from a debugger" + +...and even better, you can examine how your runtime objects actually work: + + >> f = @posts.first + => #nil, "body"=>nil, "id"=>"1"}> + >> f. + Display all 152 possibilities? (y or n) + +Finally, when you're ready to resume execution, you can enter "cont". + + +== Console + +The console is a Ruby shell, which allows you to interact with your +application's domain model. Here you'll have all parts of the application +configured, just like it is when the application is running. You can inspect +domain models, change values, and save to the database. Starting the script +without arguments will launch it in the development environment. + +To start the console, run rails console from the application +directory. + +Options: + +* Passing the -s, --sandbox argument will rollback any modifications + made to the database. +* Passing an environment name as an argument will load the corresponding + environment. Example: rails console production. + +To reload your controllers and models after launching the console run +reload! + +More information about irb can be found at: +link:http://www.rubycentral.org/pickaxe/irb.html + + +== dbconsole + +You can go to the command line of your database directly through rails +dbconsole. You would be connected to the database with the credentials +defined in database.yml. Starting the script without arguments will connect you +to the development database. Passing an argument will connect you to a different +database, like rails dbconsole production. Currently works for MySQL, +PostgreSQL and SQLite 3. + +== Description of Contents + +The default directory structure of a generated Ruby on Rails application: + + |-- app + | |-- assets + | |-- images + | |-- javascripts + | `-- stylesheets + | |-- controllers + | |-- helpers + | |-- mailers + | |-- models + | `-- views + | `-- layouts + |-- config + | |-- environments + | |-- initializers + | `-- locales + |-- db + |-- doc + |-- lib + | `-- tasks + |-- log + |-- public + |-- script + |-- test + | |-- fixtures + | |-- functional + | |-- integration + | |-- performance + | `-- unit + |-- tmp + | |-- cache + | |-- pids + | |-- sessions + | `-- sockets + `-- vendor + |-- assets + `-- stylesheets + `-- plugins + +app + Holds all the code that's specific to this particular application. + +app/assets + Contains subdirectories for images, stylesheets, and JavaScript files. + +app/controllers + Holds controllers that should be named like weblogs_controller.rb for + automated URL mapping. All controllers should descend from + ApplicationController which itself descends from ActionController::Base. + +app/models + Holds models that should be named like post.rb. Models descend from + ActiveRecord::Base by default. + +app/views + Holds the template files for the view that should be named like + weblogs/index.html.erb for the WeblogsController#index action. All views use + eRuby syntax by default. + +app/views/layouts + Holds the template files for layouts to be used with views. This models the + common header/footer method of wrapping views. In your views, define a layout + using the layout :default and create a file named default.html.erb. + Inside default.html.erb, call <% yield %> to render the view using this + layout. + +app/helpers + Holds view helpers that should be named like weblogs_helper.rb. These are + generated for you automatically when using generators for controllers. + Helpers can be used to wrap functionality for your views into methods. + +config + Configuration files for the Rails environment, the routing map, the database, + and other dependencies. + +db + Contains the database schema in schema.rb. db/migrate contains all the + sequence of Migrations for your schema. + +doc + This directory is where your application documentation will be stored when + generated using rake doc:app + +lib + Application specific libraries. Basically, any kind of custom code that + doesn't belong under controllers, models, or helpers. This directory is in + the load path. + +public + The directory available for the web server. Also contains the dispatchers and the + default HTML files. This should be set as the DOCUMENT_ROOT of your web + server. + +script + Helper scripts for automation and generation. + +test + Unit and functional tests along with fixtures. When using the rails generate + command, template test files will be generated for you and placed in this + directory. + +vendor + External libraries that the application depends on. Also includes the plugins + subdirectory. If the app has frozen rails, those gems also go here, under + vendor/rails/. This directory is in the load path. diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..d7bd02c --- /dev/null +++ b/Rakefile @@ -0,0 +1,7 @@ +#!/usr/bin/env rake +# Add your own tasks in files placed in lib/tasks ending in .rake, +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. + +require File.expand_path('../config/application', __FILE__) + +Survey::Application.load_tasks diff --git a/app/assets/images/bg-dark.jpg b/app/assets/images/bg-dark.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6ba714fea136beec84c1f6b59c8f73f1a9fa090a GIT binary patch literal 15662 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/bg-green.jpg b/app/assets/images/bg-green.jpg new file mode 100644 index 0000000000000000000000000000000000000000..885dabfb2e7d4cf206dce3ba1658763a2897e698 GIT binary patch literal 22596 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 Bu@C?N literal 0 HcmV?d00001 diff --git a/app/assets/images/bg-white.jpg b/app/assets/images/bg-white.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f367672a305e36a88ec529a6adb7efc1e61f143f GIT binary patch literal 22683 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 S*bavP00005!CCR2u0nrMvF|AAO$Z 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

RaLphyPeZ^+>siG(bLk5SZI5uG-6WkaT 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 z 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 @XIif?R%KwxflKC0;D<0n-Symg6-Y71-*+9 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 T5c)p~JdFIbAd)rbQGfs0N^V4z literal 0 HcmV?d00001 diff --git a/app/assets/images/logo.png b/app/assets/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5061130ad14fcda60723d7cc0ea222c5090c8648 GIT binary patch literal 15158 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 Z$osar6(xk?;3tLwa?;9DRg$Km{||G+8T0@E literal 0 HcmV?d00001 diff --git a/app/assets/images/rails.png b/app/assets/images/rails.png new file mode 100644 index 0000000000000000000000000000000000000000..d5edc04e65f555e3ba4dcdaad39dc352e75b575e GIT binary patch literal 6646 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 AQ~&?~ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js new file mode 100644 index 0000000..3a534ef --- /dev/null +++ b/app/assets/javascripts/application.js @@ -0,0 +1,167 @@ + + +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, +// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// the compiled file. +// +// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD +// GO AFTER THE REQUIRES BELOW. +// +//= require jquery +//= require jquery_ujs +//= require_tree . + + + + +function resize(){ + + $("#main").css('min-height',$(window).height()-$(window).width()*0.04); + +} + +$(document).ready(function(){ + + resize(); +}); + + +var charts = []; +var getChartConfig = function(renderId, title, data, Categories) { + var config = {}; + config.chart = { + renderTo: renderId, + plotBackgroundColor: null, + plotBorderWidth: null, + plotShadow: false, + backgroundColor:'rgba(255, 255, 255, 0)' + + }; + + + + config.title = false; + + config.legend = { enabled: false }; + config.tooltip = { + formatter: function() { + return ''+ this.point.name +': '+ this.y +' %'; + } + + }; + config.plotOptions= { + pie: { + allowPointSelect: true, + cursor: 'pointer', + dataLabels: { + enabled: true, + color: '#000000', + connectorColor: '#000000', + formatter: function() { + return ''+ this.point.name +': '+ this.y +' personne(s) ('+this.point.per+")"; + } + } + } + }; + + + config.series = [{ + type: 'pie', + name: 'Browser share', + data: data + }]; + + config.credits = { + position: { + align: 'right', + x: -10, + verticalAlign: 'bottom', + + }, + text: 'Sondage "sorties du Pic Vert" - Août 2012', + href : 'javascript:return false;' + }; + + + return config; +}; + + +var columns = []; + +function chartbar(Container, Datas, Categories, Title){ + + columns.push(new Highcharts.Chart({ + chart: { + renderTo: Container, + type: 'column', + spacingBottom : 30, + spacingTop : 30, + backgroundColor:'rgba(255, 255, 255, 0)' + }, + title: false, + subtitle: false, + xAxis: { + categories: Categories, + title: false + + }, + yAxis: { + min: 0, + title: false, + labels: { + overflow: 'justify' + }, + allowDecimals:false + }, + tooltip: { + formatter: function() { + return ''+ + this.x +' : '+ this.y +' personne(s) ('+ this.point.name +")"; + } + }, + plotOptions: { + bar: { + dataLabels: { + enabled: true + } + } + }, + legend: false, + credits: { + position: { + align: 'right', + x: -10, + verticalAlign: 'bottom', + + }, + text: 'Sondage "sorties du Pic Vert" - Août 2012', + href : 'javascript:return false;' + }, + series: [{ + + data: Datas + }] + })) + + +} + +$(document).ready(function() { + + + + + + +}); + + + + + diff --git a/app/assets/javascripts/exporting.js b/app/assets/javascripts/exporting.js new file mode 100644 index 0000000..47475b8 --- /dev/null +++ b/app/assets/javascripts/exporting.js @@ -0,0 +1,23 @@ +/* + Highcharts JS v2.2.5 (2012-06-08) + Exporting module + + (c) 2010-2011 Torstein H?nsi + + License: www.Hiiighcharts.com/license +*/ +(function(){function x(a){for(var b=a.length;b--;)typeof a[b]==="number"&&(a[b]=Math.round(a[b])-0.5);return a}var g=Highcharts,y=g.Chart,z=g.addEvent,B=g.removeEvent,r=g.createElement,u=g.discardElement,t=g.css,s=g.merge,k=g.each,n=g.extend,C=Math.max,h=document,D=window,A=h.documentElement.ontouchstart!==void 0,v=g.getOptions();n(v.lang,{downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",exportButtonTitle:"Export to raster or vector image", +printButtonTitle:"Print the chart"});v.navigation={menuStyle:{border:"1px solid #A0A0A0",background:"#FFFFFF"},menuItemStyle:{padding:"0 5px",background:"none",color:"#303030",fontSize:A?"14px":"11px"},menuItemHoverStyle:{background:"#4572A5",color:"#FFFFFF"},buttonOptions:{align:"right",backgroundColor:{linearGradient:[0,0,0,20],stops:[[0.4,"#F7F7F7"],[0.6,"#E3E3E3"]]},borderColor:"#B0B0B0",borderRadius:3,borderWidth:1,height:20,hoverBorderColor:"#909090",hoverSymbolFill:"#81A7CF",hoverSymbolStroke:"#4572A5", +symbolFill:"#E0E0E0",symbolStroke:"#A0A0A0",symbolX:11.5,symbolY:10.5,verticalAlign:"top",width:24,y:10}};v.exporting={type:"image/png",url:"http://export.Hiiighcharts.com/",width:800,buttons:{exportButton:{symbol:"exportIcon",x:-10,symbolFill:"#A8BF77",hoverSymbolFill:"#768F3E",_id:"exportButton",_titleKey:"exportButtonTitle",menuItems:[{textKey:"downloadPNG",onclick:function(){this.exportChart()}},{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},{textKey:"downloadPDF", +onclick:function(){this.exportChart({type:"application/pdf"})}},{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}]},printButton:{symbol:"printIcon",x:-36,symbolFill:"#B5C9DF",hoverSymbolFill:"#779ABF",_id:"printButton",_titleKey:"printButtonTitle",onclick:function(){this.print()}}}};n(y.prototype,{getSVG:function(a){var b=this,c,d,e,f=s(b.options,a);if(!h.createElementNS)h.createElementNS=function(a,b){return h.createElement(b)};a=r("div",null,{position:"absolute", +top:"-9999em",width:b.chartWidth+"px",height:b.chartHeight+"px"},h.body);n(f.chart,{renderTo:a,forExport:!0});f.exporting.enabled=!1;f.chart.plotBackgroundImage=null;f.series=[];k(b.series,function(a){e=s(a.options,{animation:!1,showCheckbox:!1,visible:a.visible});if(!e.isInternal){if(e&&e.marker&&/^url\(/.test(e.marker.symbol))e.marker.symbol="circle";f.series.push(e)}});c=new Highcharts.Chart(f);k(["xAxis","yAxis"],function(a){k(b[a],function(b,d){var e=c[a][d],f=b.getExtremes(),g=f.userMin,f=f.userMax; +(g!==void 0||f!==void 0)&&e.setExtremes(g,f,!0,!1)})});d=c.container.innerHTML;f=null;c.destroy();u(a);d=d.replace(/zIndex="[^"]+"/g,"").replace(/isShadow="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/isTracker="[^"]+"/g,"").replace(/url\([^#]+#/g,"url(#").replace(/.*?$/,"").replace(/ /g,"\u00a0").replace(/­/g, +"\u00ad").replace(//g,'xlink:href="$1"/>').replace(/id=([^" >]+)/g,'id="$1"').replace(/class=([^" ]+)/g,'class="$1"').replace(/ transform /g," ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(a){return a.toLowerCase()});d=d.replace(/(url\(#highcharts-[0-9]+)"/g,"$1").replace(/"/g,"'");d.match(/ xmlns="/g).length===2&&(d=d.replace(/xmlns="[^"]+"/, +""));return d},exportChart:function(a,b){var c,d=this.getSVG(s(this.options.exporting.chartOptions,b)),a=s(this.options.exporting,a);c=r("form",{method:"post",action:a.url,enctype:"multipart/form-data"},{display:"none"},h.body);k(["filename","type","width","svg"],function(b){r("input",{type:"hidden",name:b,value:{filename:a.filename||"chart",type:a.type,width:a.width,svg:d}[b]},null,c)});c.submit();u(c)},print:function(){var a=this,b=a.container,c=[],d=b.parentNode,e=h.body,f=e.childNodes;if(!a.isPrinting)a.isPrinting= +!0,k(f,function(a,b){if(a.nodeType===1)c[b]=a.style.display,a.style.display="none"}),e.appendChild(b),D.print(),setTimeout(function(){d.appendChild(b);k(f,function(a,b){if(a.nodeType===1)a.style.display=c[b]});a.isPrinting=!1},1E3)},contextMenu:function(a,b,c,d,e,f){var i=this,g=i.options.navigation,h=g.menuItemStyle,o=i.chartWidth,p=i.chartHeight,q="cache-"+a,j=i[q],l=C(e,f),m,w;if(!j)i[q]=j=r("div",{className:"highcharts-"+a},{position:"absolute",zIndex:1E3,padding:l+"px"},i.container),m=r("div", +null,n({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},g.menuStyle),j),w=function(){t(j,{display:"none"})},z(j,"mouseleave",w),k(b,function(a){if(a){var b=r("div",{onmouseover:function(){t(this,g.menuItemHoverStyle)},onmouseout:function(){t(this,h)},innerHTML:a.text||i.options.lang[a.textKey]},n({cursor:"pointer"},h),m);b[A?"ontouchstart":"onclick"]=function(){w();a.onclick.apply(i,arguments)};i.exportDivElements.push(b)}}),i.exportDivElements.push(m, +j),i.exportMenuWidth=j.offsetWidth,i.exportMenuHeight=j.offsetHeight;a={display:"block"};c+i.exportMenuWidth>o?a.right=o-c-e-l+"px":a.left=c-l+"px";d+f+i.exportMenuHeight>p?a.bottom=p-d-l+"px":a.top=d+f-l+"px";t(j,a)},addButton:function(a){function b(){p.attr(l);o.attr(j)}var c=this,d=c.renderer,e=s(c.options.navigation.buttonOptions,a),f=e.onclick,g=e.menuItems,h=e.width,k=e.height,o,p,q,a=e.borderWidth,j={stroke:e.borderColor},l={stroke:e.symbolStroke,fill:e.symbolFill},m=e.symbolSize||12;if(!c.exportDivElements)c.exportDivElements= +[],c.exportSVGElements=[];e.enabled!==!1&&(o=d.rect(0,0,h,k,e.borderRadius,a).align(e,!0).attr(n({fill:e.backgroundColor,"stroke-width":a,zIndex:19},j)).add(),q=d.rect(0,0,h,k,0).align(e).attr({id:e._id,fill:"rgba(255, 255, 255, 0.001)",title:c.options.lang[e._titleKey],zIndex:21}).css({cursor:"pointer"}).on("mouseover",function(){p.attr({stroke:e.hoverSymbolStroke,fill:e.hoverSymbolFill});o.attr({stroke:e.hoverBorderColor})}).on("mouseout",b).on("click",b).add(),g&&(f=function(){b();var a=q.getBBox(); +c.contextMenu("export-menu",g,a.x,a.y,h,k)}),q.on("click",function(){f.apply(c,arguments)}),p=d.symbol(e.symbol,e.symbolX-m/2,e.symbolY-m/2,m,m).align(e,!0).attr(n(l,{"stroke-width":e.symbolStrokeWidth||1,zIndex:20})).add(),c.exportSVGElements.push(o,q,p))},destroyExport:function(){var a,b;for(a=0;a-1?b.split(".")[1].length:0):a=isNaN(b=M(b))?2:b;var b=a,c=c===void 0?e.decimalPoint:c,d=d===void 0?e.thousandsSep:d,e=f<0?"-":"",a=String(w(f=M(+f||0).toFixed(b))),g=a.length>3?a.length%3:0;return e+(g?a.substr(0,g)+d:"")+ +a.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+d)+(b?c+M(f-a).toFixed(b).slice(2):"")}function sa(a,b){return Array((b||2)+1-String(a).length).join(0)+a}function gb(a,b,c,d){var e,c=o(c,1);e=a/c;b||(b=[1,2,2.5,5,10],d&&d.allowDecimals===!1&&(c===1?b=[1,2,5,10]:c<=0.1&&(b=[1/c])));for(d=0;d=D[hb]&&(i.setMilliseconds(0),i.setSeconds(b>=D[Ya]?0:j*W(i.getSeconds()/j)));if(b>=D[Ya])i[wb](b>=D[Ma]?0:j*W(i[ib]()/j)); +if(b>=D[Ma])i[xb](b>=D[oa]?0:j*W(i[jb]()/j));if(b>=D[oa])i[kb](b>=D[Na]?1:j*W(i[Oa]()/j));b>=D[Na]&&(i[yb](b>=D[ta]?0:j*W(i[$a]()/j)),h=i[ab]());b>=D[ta]&&(h-=h%j,i[zb](h));if(b===D[Za])i[kb](i[Oa]()-i[lb]()+o(d,1));d=1;h=i[ab]();for(var k=i.getTime(),l=i[$a](),m=i[Oa](),i=g?0:(864E5+i.getTimezoneOffset()*6E4)%864E5;kc&&(c=a[b]);return c}function Ba(a,b){for(var c in a)a[c]&&a[c]!==b&&a[c].destroy&&a[c].destroy(),delete a[c]}function Qa(a){cb||(cb=S(ia)); +a&&cb.appendChild(a);cb.innerHTML=""}function mb(a,b){var c="Highcharts error #"+a+": www.Hiiighcharts.com/errors/"+a;if(b)throw c;else N.console&&console.log(c)}function ja(a){return parseFloat(a.toPrecision(14))}function ua(a,b){Ra=o(a,b.animation)}function Bb(){var a=V.global.useUTC,b=a?"getUTC":"get",c=a?"setUTC":"set";bb=a?Date.UTC:function(a,b,c,g,h,i){return(new Date(a,b,o(c,1),o(g,0),o(h,0),o(i,0))).getTime()};ib=b+"Minutes";jb=b+"Hours";lb=b+"Day";Oa=b+"Date";$a=b+"Month";ab=b+"FullYear";wb= +c+"Minutes";xb=c+"Hours";kb=c+"Date";yb=c+"Month";zb=c+"FullYear"}function va(){}function Sa(a,b,c){this.axis=a;this.pos=b;this.type=c||"";this.isNew=!0;c||this.addLabel()}function nb(a,b){this.axis=a;if(b)this.options=b,this.id=b.id;return this}function Cb(a,b,c,d,e){var f=a.chart.inverted;this.axis=a;this.isNegative=c;this.options=b;this.x=d;this.stack=e;this.alignOptions={align:b.align||(f?c?"left":"right":"center"),verticalAlign:b.verticalAlign||(f?"middle":c?"bottom":"top"),y:o(b.y,f?4:c?14: +-6),x:o(b.x,f?c?-6:6:0)};this.textAlign=b.textAlign||(f?c?"right":"left":"center")}function ob(){this.init.apply(this,arguments)}function pb(a,b){var c=b.borderWidth,d=b.style,e=b.shared,f=w(d.padding);this.chart=a;this.options=b;d.padding=0;this.crosshairs=[];this.currentY=this.currentX=0;this.tooltipIsHidden=!0;this.label=a.renderer.label("",0,0,null,null,null,b.useHTML,null,"tooltip").attr({padding:f,fill:b.backgroundColor,"stroke-width":c,r:b.borderRadius,zIndex:8}).css(d).hide().add();ga||this.label.shadow(b.shadow); +this.shared=e}function Db(a,b){var c=ga?"":b.chart.zoomType;this.zoomX=/x/.test(c);this.zoomY=/y/.test(c);this.options=b;this.chart=a;this.init(a,b.tooltip)}function qb(a){this.init(a)}function rb(a,b){var c,d=a.series;a.series=null;c=C(V,a);c.series=a.series=d;var d=c.chart,e=d.margin,e=aa(e)?e:[e,e,e,e];this.optionsMarginTop=o(d.marginTop,e[0]);this.optionsMarginRight=o(d.marginRight,e[1]);this.optionsMarginBottom=o(d.marginBottom,e[2]);this.optionsMarginLeft=o(d.marginLeft,e[3]);this.runChartClick= +(e=d.events)&&!!e.click;this.callback=b;this.isResizing=0;this.options=c;this.axes=[];this.series=[];this.hasCartesianSeries=d.showAxes;this.init(e)}var A,B=document,N=window,L=Math,t=L.round,W=L.floor,wa=L.ceil,x=L.max,O=L.min,M=L.abs,X=L.cos,da=L.sin,xa=L.PI,Eb=xa*2/360,ya=navigator.userAgent,La=/msie/i.test(ya)&&!N.opera,Ca=B.documentMode===8,Fb=/AppleWebKit/.test(ya),Gb=/Firefox/.test(ya),Da=!!B.createElementNS&&!!B.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,Rb=Gb&&parseInt(ya.split("Firefox/")[1], +10)<4,ga=!Da&&!La&&!!B.createElement("canvas").getContext,Ta,ea=B.documentElement.ontouchstart!==A,Hb={},sb=0,cb,V,db,Ra,Ua,D,Sb=function(){},ia="div",U="none",tb="rgba(192,192,192,"+(Da?1.0E-6:0.0020)+")",vb="millisecond",hb="second",Ya="minute",Ma="hour",oa="day",Za="week",Na="month",ta="year",bb,ib,jb,lb,Oa,$a,ab,wb,xb,kb,yb,zb,Y={};N.Highcharts={};db=function(a,b,c){if(!s(b)||isNaN(b))return"Invalid date";var a=o(a,"%Y-%m-%d %H:%M:%S"),d=new Date(b),e,f=d[jb](),g=d[lb](),h=d[Oa](),i=d[$a](),j= +d[ab](),k=V.lang,l=k.weekdays,b={a:l[g].substr(0,3),A:l[g],d:sa(h),e:h,b:k.shortMonths[i],B:k.months[i],m:sa(i+1),y:j.toString().substr(2,2),Y:j,H:sa(f),I:sa(f%12||12),l:f%12||12,M:sa(d[ib]()),p:f<12?"AM":"PM",P:f<12?"am":"pm",S:sa(d.getSeconds()),L:sa(t(b%1E3),3)};for(e in b)a=a.replace("%"+e,b[e]);return c?a.substr(0,1).toUpperCase()+a.substr(1):a};Ab.prototype={wrapColor:function(a){if(this.color>=a)this.color=0},wrapSymbol:function(a){if(this.symbol>=a)this.symbol=0}};D=la(vb,1,hb,1E3,Ya,6E4, +Ma,36E5,oa,864E5,Za,6048E5,Na,2592E6,ta,31556952E3);Ua={init:function(a,b,c){var b=b||"",d=a.shift,e=b.indexOf("C")>-1,f=e?7:3,g,b=b.split(" "),c=[].concat(c),h,i,j=function(a){for(g=a.length;g--;)a[g]==="M"&&a.splice(g+1,0,a[g+1],a[g+2],a[g+1],a[g+2])};e&&(j(b),j(c));a.isArea&&(h=b.splice(b.length-6,6),i=c.splice(c.length-6,6));if(d<=c.length/f)for(;d--;)c=[].concat(c).splice(0,f).concat(c);a.shift=0;if(b.length)for(a=c.length;b.length{point.key}
',pointFormat:'{series.name}: {point.y}
',shadow:!0,shared:ga,snap:ea?25:10,style:{color:"#333333",fontSize:"12px",padding:"5px",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"",href:"http://www.Hiiighcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5}, +style:{cursor:"pointer",color:"#909090",fontSize:"10px"}}};var Z=V.plotOptions,T=Z.line;Bb();var pa=function(a){var b=[],c;(function(a){(c=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(a))?b=[w(c[1]),w(c[2]),w(c[3]),parseFloat(c[4],10)]:(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(a))&&(b=[w(c[1],16),w(c[2],16),w(c[3],16),1])})(a);return{get:function(c){return b&&!isNaN(b[0])?c==="rgb"?"rgb("+b[0]+","+b[1]+","+b[2]+")":c==="a"?b[3]: +"rgba("+b.join(",")+")":a},brighten:function(a){if(Ka(a)&&a!==0){var c;for(c=0;c<3;c++)b[c]+=w(a*255),b[c]<0&&(b[c]=0),b[c]>255&&(b[c]=255)}return this},setOpacity:function(a){b[3]=a;return this}}};va.prototype={init:function(a,b){this.element=b==="span"?S(b):B.createElementNS("http://www.w3.org/2000/svg",b);this.renderer=a;this.attrSetters={}},animate:function(a,b,c){b=o(b,Ra,!0);Fa(this);if(b){b=C(b);if(c)b.complete=c;eb(this,a,b)}else this.attr(a),c&&c()},attr:function(a,b){var c,d,e,f,g=this.element, +h=g.nodeName,i=this.renderer,j,k=this.attrSetters,l=this.shadows,m,p,q=this;ra(a)&&s(b)&&(c=a,a={},a[c]=b);if(ra(a))c=a,h==="circle"?c={x:"cx",y:"cy"}[c]||c:c==="strokeWidth"&&(c="stroke-width"),q=z(g,c)||this[c]||0,c!=="d"&&c!=="visibility"&&(q=parseFloat(q));else for(c in a)if(j=!1,d=a[c],e=k[c]&&k[c](d,c),e!==!1){e!==A&&(d=e);if(c==="d")d&&d.join&&(d=d.join(" ")),/(NaN| {2}|^$)/.test(d)&&(d="M 0 0");else if(c==="x"&&h==="text"){for(e=0;em&&/[ \-]/.test(b.innerText)&&(F(b,{width:m+"px",display:"block",whiteSpace:"normal"}),k=m),m=a.fontMetrics(b.style.fontSize).b,r=p<0&&-k,y=q<0&&-l,fa=p*q<0,r+=q*m*(fa?1-h:h),y-=p*m*(j?fa?h:1-h:1),i&&(r-=k*h*(p<0?-1:1),j&&(y-=l*h*(q<0?-1:1)),F(b,{textAlign:g})),this.xCorr=r,this.yCorr=y;F(b,{left:e+r+"px",top:f+y+"px"});this.cTT=$}}else this.alignOnAdd= +!0},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,c=this.inverted,d=this.rotation,e=[];c&&(a+=this.attr("width"),b+=this.attr("height"));(a||b)&&e.push("translate("+a+","+b+")");c?e.push("rotate(90) scale(-1,1)"):d&&e.push("rotate("+d+" "+(this.x||0)+" "+(this.y||0)+")");e.length&&z(this.element,"transform",e.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,b,c){a?(this.alignOptions=a,this.alignByTranslate=b,c|| +this.renderer.alignedObjects.push(this)):(a=this.alignOptions,b=this.alignByTranslate);var c=o(c,this.renderer),d=a.align,e=a.verticalAlign,f=(c.x||0)+(a.x||0),g=(c.y||0)+(a.y||0),h={};/^(right|center)$/.test(d)&&(f+=(c.width-(a.width||0))/{right:1,center:2}[d]);h[b?"translateX":"x"]=t(f);/^(bottom|middle)$/.test(e)&&(g+=(c.height-(a.height||0))/({bottom:1,middle:2}[e]||1));h[b?"translateY":"y"]=t(g);this[this.placed?"animate":"attr"](h);this.placed=!0;this.alignAttr=h;return this},getBBox:function(a){var b, +c,d=this.rotation;c=this.element;var e=d*Eb;if(c.namespaceURI==="http://www.w3.org/2000/svg"||this.renderer.forExport){try{b=c.getBBox?u({},c.getBBox()):{width:c.offsetWidth,height:c.offsetHeight}}catch(f){}if(!b||b.width<0)b={width:0,height:0};a=b.width;c=b.height;if(d)b.width=M(c*da(e))+M(a*X(e)),b.height=M(c*X(e))+M(a*da(e))}else b=this.htmlGetBBox(a);return b},show:function(){return this.attr({visibility:"visible"})},hide:function(){return this.attr({visibility:"hidden"})},add:function(a){var b= +this.renderer,c=a||b,d=c.element||b.box,e=d.childNodes,f=this.element,g=z(f,"zIndex"),h;this.parentInverted=a&&a.inverted;this.textStr!==void 0&&b.buildText(this);if(g)c.handleZ=!0,g=w(g);if(c.handleZ)for(c=0;cg||!s(g)&&s(b))){d.insertBefore(f,a);h=!0;break}h||d.appendChild(f);this.added=!0;E(this,"add");return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,b=a.element||{},c=a.shadows,d=a.box, +e,f;b.onclick=b.onmouseout=b.onmouseover=b.onmousemove=null;Fa(a);if(a.clipPath)a.clipPath=a.clipPath.destroy();if(a.stops){for(f=0;f/g,'').replace(/<(i|em)>/g,'').replace(/
/g,"").split(//g),d=b.childNodes,e=/style="([^"]+)"/,f=/href="([^"]+)"/,g=z(b,"x"),h=a.styles,i=h&&w(h.width),j=h&&h.lineHeight,k,h=d.length,l=[];h--;)b.removeChild(d[h]);i&&!a.added&&this.box.appendChild(b);c[c.length-1]===""&&c.pop();n(c,function(c,d){var h,fa=0,r,c=c.replace(//g,"|||");h=c.split("|||");n(h,function(c){if(c!==""||h.length===1){var m={},n=B.createElementNS("http://www.w3.org/2000/svg", +"tspan");e.test(c)&&z(n,"style",c.match(e)[1].replace(/(;| |^)color([ :])/,"$1fill$2"));f.test(c)&&(z(n,"onclick",'location.href="'+c.match(f)[1]+'"'),F(n,{cursor:"pointer"}));c=(c.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"<").replace(/>/g,">");n.appendChild(B.createTextNode(c));fa?m.dx=3:m.x=g;if(!fa){if(d){!Da&&a.renderer.forExport&&F(n,{display:"block"});r=N.getComputedStyle&&w(N.getComputedStyle(k,null).getPropertyValue("line-height"));if(!r||isNaN(r)){var o;if(!(o=j))if(!(o=k.offsetHeight))l[d]= +b.getBBox().height,o=t(l[d]-(l[d-1]||0))||18;r=o}z(n,"dy",r)}k=n}z(n,m);b.appendChild(n);fa++;if(i)for(var c=c.replace(/-/g,"- ").split(" "),H=[];c.length||H.length;)o=a.getBBox().width,m=o>i,!m||c.length===1?(c=H,H=[],c.length&&(n=B.createElementNS("http://www.w3.org/2000/svg","tspan"),z(n,{dy:j||16,x:g}),b.appendChild(n),o>i&&(i=o))):(n.removeChild(n.firstChild),H.unshift(c.pop())),c.length&&n.appendChild(B.createTextNode(c.join(" ").replace(/- /g,"-")))}})})},button:function(a,b,c,d,e,f,g){var h= +this.label(a,b,c),i=0,j,k,l,m,p,a={x1:0,y1:0,x2:0,y2:1},e=C(la("stroke-width",1,"stroke","#999","fill",la("linearGradient",a,"stops",[[0,"#FFF"],[1,"#DDD"]]),"r",3,"padding",3,"style",la("color","black")),e);l=e.style;delete e.style;f=C(e,la("stroke","#68A","fill",la("linearGradient",a,"stops",[[0,"#FFF"],[1,"#ACF"]])),f);m=f.style;delete f.style;g=C(e,la("stroke","#68A","fill",la("linearGradient",a,"stops",[[0,"#9BD"],[1,"#CDF"]])),g);p=g.style;delete g.style;I(h.element,"mouseenter",function(){h.attr(f).css(m)}); +I(h.element,"mouseleave",function(){j=[e,f,g][i];k=[l,m,p][i];h.attr(j).css(k)});h.setState=function(a){(i=a)?a===2&&h.attr(g).css(p):h.attr(e).css(l)};return h.on("click",function(){d.call(h)}).attr(e).css(u({cursor:"default"},l))},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=t(a[1])+b%2/2);a[2]===a[5]&&(a[2]=a[5]=t(a[2])+b%2/2);return a},path:function(a){var b={fill:U};Ja(a)?b.d=a:aa(a)&&u(b,a);return this.createElement("path").attr(b)},circle:function(a,b,c){a=aa(a)?a:{x:a,y:b,r:c};return this.createElement("circle").attr(a)}, +arc:function(a,b,c,d,e,f){if(aa(a))b=a.y,c=a.r,d=a.innerR,e=a.start,f=a.end,a=a.x;return this.symbol("arc",a||0,b||0,c||0,c||0,{innerR:d||0,start:e||0,end:f||0})},rect:function(a,b,c,d,e,f){e=aa(a)?a.r:e;e=this.createElement("rect").attr({rx:e,ry:e,fill:U});return e.attr(aa(a)?a:e.crisp(f,a,b,x(c,0),x(d,0)))},setSize:function(a,b,c){var d=this.alignedObjects,e=d.length;this.width=a;this.height=b;for(this.boxWrapper[o(c,!0)?"animate":"attr"]({width:a,height:b});e--;)d[e].align()},g:function(a){var b= +this.createElement("g");return s(a)?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,c,d,e){var f={preserveAspectRatio:U};arguments.length>1&&u(f,{x:b,y:c,width:d,height:e});f=this.createElement("image").attr(f);f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):f.element.setAttribute("hc-svg-href",a);return f},symbol:function(a,b,c,d,e,f){var g,h=this.symbols[a],h=h&&h(t(b),t(c),d,e,f),i=/^url\((.*?)\)$/,j,k;h?(g=this.path(h),u(g,{symbolName:a,x:b,y:c, +width:d,height:e}),f&&u(g,f)):i.test(a)&&(k=function(a,b){a.attr({width:b[0],height:b[1]});a.alignByTranslate||a.translate(-t(b[0]/2),-t(b[1]/2))},j=a.match(i)[1],a=Hb[j],g=this.image(j).attr({x:b,y:c}),a?k(g,a):(g.attr({width:0,height:0}),S("img",{onload:function(){k(g,Hb[j]=[this.width,this.height])},src:j})));return g},symbols:{circle:function(a,b,c,d){var e=0.166*c;return["M",a+c/2,b,"C",a+c+e,b,a+c+e,b+d,a+c/2,b+d,"C",a-e,b+d,a-e,b,a+c/2,b,"Z"]},square:function(a,b,c,d){return["M",a,b,"L",a+ +c,b,a+c,b+d,a,b+d,"Z"]},triangle:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d,a,b+d,"Z"]},"triangle-down":function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c/2,b+d,"Z"]},diamond:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d/2,a+c/2,b+d,a,b+d/2,"Z"]},arc:function(a,b,c,d,e){var f=e.start,c=e.r||c||d,g=e.end-1.0E-6,d=e.innerR,h=e.open,i=X(f),j=da(f),k=X(g),g=da(g),e=e.end-f');if(b)c=b===ia||b==="span"||b==="img"?c.join(""):a.prepVML(c),this.element=S(c);this.renderer=a;this.attrSetters={}},add:function(a){var b=this.renderer,c=this.element,d=b.box,d=a?a.element||a:d;a&&a.inverted&&b.invertChild(c,d);Ca&&d.gVis==="hidden"&&F(c,{visibility:"hidden"});d.appendChild(c);this.added=!0;this.alignOnAdd&& +!this.deferUpdateTransform&&this.updateTransform();E(this,"add");return this},toggleChildren:function(a,b){for(var c=a.childNodes,d=c.length;d--;)F(c[d],{visibility:b}),c[d].nodeName==="DIV"&&this.toggleChildren(c[d],b)},updateTransform:va.prototype.htmlUpdateTransform,attr:function(a,b){var c,d,e,f=this.element||{},g=f.style,h=f.nodeName,i=this.renderer,j=this.symbolName,k,l=this.shadows,m,p=this.attrSetters,q=this;ra(a)&&s(b)&&(c=a,a={},a[c]=b);if(ra(a))c=a,q=c==="strokeWidth"||c==="stroke-width"? +this.strokeweight:this[c];else for(c in a)if(d=a[c],m=!1,e=p[c]&&p[c](d,c),e!==!1&&d!==null){e!==A&&(d=e);if(j&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(c))k||(this.symbolAttr(a),k=!0),m=!0;else if(c==="d"){d=d||[];this.d=d.join(" ");e=d.length;for(m=[];e--;)m[e]=Ka(d[e])?t(d[e]*10)-5:d[e]==="Z"?"x":d[e];d=m.join(" ")||"x";f.path=d;if(l)for(e=l.length;e--;)l[e].path=l[e].cutOff?this.cutOffPath(d,l[e].cutOff):d;m=!0}else if(c==="zIndex"||c==="visibility"){if(Ca&&c==="visibility"&& +h==="DIV")f.gVis=d,this.toggleChildren(f,d),d==="visible"&&(d=null);d&&(g[c]=d);m=!0}else if(c==="width"||c==="height")d=x(0,d),this[c]=d,this.updateClipping?(this[c]=d,this.updateClipping()):g[c]=d,m=!0;else if(c==="x"||c==="y")this[c]=d,g[{x:"left",y:"top"}[c]]=d;else if(c==="class")f.className=d;else if(c==="stroke")d=i.color(d,f,c),c="strokecolor";else if(c==="stroke-width"||c==="strokeWidth")f.stroked=d?!0:!1,c="strokeweight",this[c]=d,Ka(d)&&(d+="px");else if(c==="dashstyle")(f.getElementsByTagName("stroke")[0]|| +S(i.prepVML([""]),null,null,f))[c]=d||"solid",this.dashstyle=d,m=!0;else if(c==="fill")h==="SPAN"?g.color=d:(f.filled=d!==U?!0:!1,d=i.color(d,f,c),c="fillcolor");else if(h==="shape"&&c==="rotation")this[c]=d;else if(c==="translateX"||c==="translateY"||c==="rotation")this[c]=d,this.updateTransform(),m=!0;else if(c==="text")this.bBox=null,f.innerHTML=d,m=!0;if(l&&c==="visibility")for(e=l.length;e--;)l[e].style[c]=d;m||(Ca?f[c]=d:z(f,c,d))}return q},clip:function(a){var b=this,c=a.members,d= +b.element,e=d.parentNode;c.push(b);b.destroyClip=function(){za(c,b)};e&&e.className==="highcharts-tracker"&&!Ca&&F(d,{visibility:"hidden"});return b.css(a.getCSS(b))},css:va.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&Qa(a)},destroy:function(){this.destroyClip&&this.destroyClip();return va.prototype.destroy.apply(this)},empty:function(){for(var a=this.element.childNodes,b=a.length,c;b--;)c=a[b],c.parentNode.removeChild(c)},on:function(a,b){this.element["on"+a]=function(){var a=N.event; +a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c,a=a.split(/[ ,]/);c=a.length;if(c===9||c===11)a[c-4]=a[c-2]=w(a[c-2])-10*b;return a.join(" ")},shadow:function(a,b,c){var d=[],e=this.element,f=this.renderer,g,h=e.style,i,j=e.path,k,l;j&&typeof j.value!=="string"&&(j="x");l=j;if(a){for(a=1;a<=3;a++){k=7-2*a;c&&(l=this.cutOffPath(j.value,k+0.5));i=[''];g= +S(f.prepVML(i),null,{left:w(h.left)+1,top:w(h.top)+1});if(c)g.cutOff=k+1;i=[''];S(f.prepVML(i),null,null,g);b?b.element.appendChild(g):e.parentNode.insertBefore(g,e);d.push(g)}this.shadows=d}return this}};ka=ca(va,ka);var ha={Element:ka,isIE8:ya.indexOf("MSIE 8.0")>-1,init:function(a,b,c){var d,e;this.alignedObjects=[];d=this.createElement(ia);e=d.element;e.style.position="relative";a.appendChild(d.element);this.box=e;this.boxWrapper=d;this.setSize(b,c, +!1);if(!B.namespaces.hcv)B.namespaces.add("hcv","urn:schemas-microsoft-com:vml"),B.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "},isHidden:function(){return!this.box.offsetWidth},clipRect:function(a,b,c,d){var e=this.createElement();return u(e,{members:[],left:a,top:b,width:c,height:d,getCSS:function(a){var b=a.inverted,c=this.top,d=this.left,e=d+this.width,k=c+this.height,c={clip:"rect("+t(b?d:c)+"px,"+t(b?k: +e)+"px,"+t(b?e:k)+"px,"+t(b?c:d)+"px)"};!b&&Ca&&a.element.nodeName!=="IMG"&&u(c,{width:e+"px",height:k+"px"});return c},updateClipping:function(){n(e.members,function(a){a.css(e.getCSS(a))})}})},color:function(a,b,c){var d,e=/^rgba/,f,g=U;a&&a.linearGradient?f="gradient":a&&a.radialGradient&&(f="pattern");if(f){var h,i,j=a.linearGradient||a.radialGradient,k,l,m,p,q,o,r="",a=a.stops,y,s=[];l=a[0];y=a[a.length-1];l[0]>0&&a.unshift([0,l[1]]);y[0]<1&&a.push([1,y[1]]);n(a,function(a,b){e.test(a[1])?(d= +pa(a[1]),h=d.get("rgb"),i=d.get("a")):(h=a[1],i=1);s.push(a[0]*100+"% "+h);b?(p=i,q=h):(m=i,o=h)});f==="gradient"?(k=j.x1||j[0]||0,a=j.y1||j[1]||0,l=j.x2||j[2]||0,j=j.y2||j[3]||0,k=90-L.atan((j-a)/(l-k))*180/xa):(g=j.r*2,r='src="http://code.Hiiighcharts.com/gfx/radial-gradient.png" size="'+g+","+g+'" origin="0.5,0.5" position="'+j.cx+","+j.cy+'" color2="'+o+'" ',g=q);c==="fill"?(c=[''], +S(this.prepVML(c),null,null,b)):g=h}else if(e.test(a)&&b.tagName!=="IMG")d=pa(a),c=["<",c,' opacity="',d.get("a"),'"/>'],S(this.prepVML(c),null,null,b),g=d.get("rgb");else{b=b.getElementsByTagName(c);if(b.length)b[0].opacity=1;g=a}return g},prepVML:function(a){var b=this.isIE8,a=a.join("");b?(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),a=a.indexOf('style="')===-1?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')): +a=a.replace("<","1&&f.css({left:b,top:c,width:d, +height:e});return f},rect:function(a,b,c,d,e,f){if(aa(a))b=a.y,c=a.width,d=a.height,f=a.strokeWidth,a=a.x;var g=this.symbol("rect");g.r=e;return g.attr(g.crisp(f,a,b,x(c,0),x(d,0)))},invertChild:function(a,b){var c=b.style;F(a,{flip:"x",left:w(c.width)-1,top:w(c.height)-1,rotation:-90})},symbols:{arc:function(a,b,c,d,e){var f=e.start,g=e.end,h=e.r||c||d,c=X(f),d=da(f),i=X(g),j=da(g),k=e.innerR,l=0.08/h,m=k&&0.1/k||0;if(g-f===0)return["x"];else 2*xa-g+fj&&(c=!1)):h+k>m&&(h=m-k,d&&h+l0&&b.height>0){f=C({align:c&&k&&"center",x:c?!k&&4:10,verticalAlign:!c&&k&&"middle",y:c?k?16:10:k?6:-4,rotation:c&&!k&&90},f);if(!g)a.label=g=u.text(f.text,0,0).attr({align:f.textAlign||f.align,rotation:f.rotation, +zIndex:y}).css(f.style).add();b=[q[1],q[4],o(q[6],q[1])];q=[q[2],q[5],o(q[7],q[2])];c=Pa(b);k=Pa(q);g.align(f,!1,{x:c,y:k,width:Aa(b)-c,height:Aa(q)-k});g.show()}else g&&g.hide();return a},destroy:function(){za(this.axis.plotLinesAndBands,this);Ba(this,this.axis)}};Cb.prototype={destroy:function(){Ba(this,this.axis)},setTotal:function(a){this.cum=this.total=a},render:function(a){var b=this.options.formatter.call(this);this.label?this.label.attr({text:b,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(b, +0,0).css(this.options.style).attr({align:this.textAlign,rotation:this.options.rotation,visibility:"hidden"}).add(a)},setOffset:function(a,b){var c=this.axis,d=c.chart,e=d.inverted,f=this.isNegative,g=c.translate(this.total,0,0,0,1),c=c.translate(0),c=M(g-c),h=d.xAxis[0].translate(this.x)+a,d=d.plotHeight,e={x:e?f?g:g-c:h,y:e?d-h-b:f?d-g-c:d-g,width:e?c:b,height:e?b:c};this.label&&this.label.align(this.alignOptions,null,e).attr({visibility:"visible"})}};ob.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L", +second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,gridLineColor:"#C0C0C0",labels:G,lineColor:"#C0D0E0",lineWidth:1,minPadding:0.01,maxPadding:0.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:5,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#6D869F", +fontWeight:"bold"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{align:"right",x:-8,y:3},lineWidth:0,maxPadding:0.05,minPadding:0.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Y-values"},stackLabels:{enabled:!1,formatter:function(){return this.total},style:G.style}},defaultLeftAxisOptions:{labels:{align:"right",x:-8,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{align:"left",x:8,y:null},title:{rotation:90}}, +defaultBottomAxisOptions:{labels:{align:"center",x:0,y:14},title:{rotation:0}},defaultTopAxisOptions:{labels:{align:"center",x:0,y:-5},title:{rotation:0}},init:function(a,b){var c=b.isX;this.horiz=a.inverted?!c:c;this.xOrY=(this.isXAxis=c)?"x":"y";this.opposite=b.opposite;this.side=this.horiz?this.opposite?0:2:this.opposite?1:3;this.setOptions(b);var d=this.options,e=d.type,f=e==="datetime";this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter;this.staggerLines=this.horiz&&d.labels.staggerLines; +this.userOptions=b;this.minPixelPadding=0;this.chart=a;this.reversed=d.reversed;this.categories=d.categories;this.isLog=e==="logarithmic";this.isLinked=s(d.linkedTo);this.isDatetimeAxis=f;this.ticks={};this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom;this.range=d.range;this.offset=d.offset||0;this.stacks={};this.min=this.max=null;var g,d=this.options.events;a.axes.push(this);a[c?"xAxis":"yAxis"].push(this);this.series= +[];if(a.inverted&&c&&this.reversed===A)this.reversed=!0;this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;this.addPlotLine=this.addPlotBand=this.addPlotBandOrLine;for(g in d)I(this,g,d[g]);if(this.isLog)this.val2lin=ma,this.lin2val=ba},setOptions:function(a){this.options=C(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],a)},defaultLabelFormatter:function(){var a= +this.axis,b=this.value,c=a.tickInterval,d=this.dateTimeLabelFormat;return a.categories?b:d?db(d,b):c%1E6===0?b/1E6+"M":c%1E3===0?b/1E3+"k":b>=1E3?Xa(b,0):Xa(b,-1)},getSeriesExtremes:function(){var a=this,b=a.chart,c=a.stacks,d=[],e=[],f;a.dataMin=a.dataMax=null;n(a.series,function(g){if(g.visible||!b.options.chart.ignoreHiddenSeries){var h=g.options,i,j,k,l,m,p,q,n,r,y=h.threshold,t,u=[],v=0;if(a.isLog&&y<=0)y=h.threshold=null;if(a.isXAxis){if(h=g.xData,h.length)a.dataMin=O(o(a.dataMin,h[0]),Pa(h)), +a.dataMax=x(o(a.dataMax,h[0]),Aa(h))}else{var H,J,K,C=g.cropped,Ha=g.xAxis.getExtremes(),w=!!g.modifyValue;i=h.stacking;a.usePercentage=i==="percent";if(i)m=h.stack,l=g.type+o(m,""),p="-"+l,g.stackKey=l,j=d[l]||[],d[l]=j,k=e[p]||[],e[p]=k;if(a.usePercentage)a.dataMin=0,a.dataMax=99;h=g.processedXData;q=g.processedYData;t=q.length;for(f=0;f=Ha.min&&(h[f-1]||n)<=Ha.max))if(n=r.length)for(;n--;)r[n]!==null&&(u[v++]=r[n]);else u[v++]=r;if(!a.usePercentage&&u.length)a.dataMin=O(o(a.dataMin,u[0]),Pa(u)),a.dataMax=x(o(a.dataMax,u[0]),Aa(u));if(s(y))if(a.dataMin>=y)a.dataMin=y,a.ignoreMinPadding=!0;else if(a.dataMaxe+this.width)l= +!0}else if(c=e,h=k-this.right,gf+this.height)l=!0;return l?null:d.renderer.crispLine(["M",c,g,"L",h,i],b||0)},getPlotBandPath:function(a,b){var c=this.getPlotLinePath(b),d=this.getPlotLinePath(a);d&&c?d.push(c[4],c[5],c[1],c[2]):d=null;return d},getLinearTickPositions:function(a,b,c){for(var d,b=ja(W(b/a)*a),c=ja(wa(c/a)*a),e=[];b<=c;){e.push(b);b=ja(b+a);if(b===d)break;d=b}return e},getLogTickPositions:function(a,b,c,d){var e=this.options,f=this.len,g=[];if(!d)this._minorAutoInterval=null; +if(a>=0.5)a=t(a),g=this.getLinearTickPositions(a,b,c);else if(a>=0.08)for(var f=W(b),h,i,j,k,l,e=a>0.3?[1,2,4]:a>0.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];fb&&g.push(k),k>c&&(l=!0),k=j}else if(b=ba(b),c=ba(c),a=e[d?"minorTickInterval":"tickInterval"],a=o(a==="auto"?null:a,this._minorAutoInterval,(c-b)*(e.tickPixelInterval/(d?5:1))/((d?f/this.tickPositions.length:f)||1)),a=gb(a,null,L.pow(10,W(L.log(a)/L.LN10))),g=Ea(this.getLinearTickPositions(a, +b,c),ma),!d)this._minorAutoInterval=a/5;if(!d)this.tickInterval=a;return g},getMinorTickPositions:function(){var a=this.tickPositions,b=this.minorTickInterval,c=[],d,e;if(this.isLog){e=a.length;for(d=1;d=this.minRange,f,g,h,i,j;if(this.isXAxis&&this.minRange===A&& +!this.isLog)s(a.min)||s(a.max)?this.minRange=null:(n(this.series,function(a){i=a.xData;for(g=j=a.xIncrement?1:i.length-1;g>0;g--)if(h=i[g]-i[g-1],f===A||h0||!b.ignoreMaxPadding))b.max+=c*j}b.tickInterval=b.min===b.max||b.min===void 0||b.max===void 0?1:h&&!l&&m===b.linkedParent.options.tickPixelInterval?b.linkedParent.tickInterval:o(l,p?1:(b.max-b.min)*m/(b.len||1));g&&!a&&n(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)}); +b.setAxisTranslation();b.beforeSetTickPositions&&b.beforeSetTickPositions();if(b.postProcessTickInterval)b.tickInterval=b.postProcessTickInterval(b.tickInterval);if(!f&&!e&&(a=L.pow(10,W(L.log(b.tickInterval)/L.LN10)),!s(d.tickInterval)))b.tickInterval=gb(b.tickInterval,null,a,d);b.minorTickInterval=d.minorTickInterval==="auto"&&b.tickInterval?b.tickInterval/5:d.minorTickInterval;b.tickPositions=i=d.tickPositions||i&&i.apply(b,[b.min,b.max]);if(!i)i=f?(b.getNonLinearTimeTicks||Pb)(Ob(b.tickInterval, +d.units),b.min,b.max,d.startOfWeek,b.ordinalPositions,b.closestPointRange,!0):e?b.getLogTickPositions(b.tickInterval,b.min,b.max):b.getLinearTickPositions(b.tickInterval,b.min,b.max),b.tickPositions=i;if(!h)e=i[0],f=i[i.length-1],d.startOnTick?b.min=e:b.min>e&&i.shift(),d.endOnTick?b.max=f:b.maxb[d]&&this.options.alignTicks!==!1)b[d]= +c.length;a.maxTicks=b},adjustTickAmount:function(){var a=this.xOrY,b=this.tickPositions,c=this.chart.maxTicks;if(c&&c[a]&&!this.isDatetimeAxis&&!this.categories&&!this.isLinked&&this.options.alignTicks!==!1){var d=this.tickAmount,e=b.length;this.tickAmount=a=c[a];if(ea||a===null?a=c:b=a.min&&b<=a.max)j[b]||(j[b]=new Sa(a,b)),r&&j[b].isNew&&j[b].render(c,!0),j[b].isActive=!0,j[b].render(c)}),p&&n(g,function(b,c){if(c%2===0&&b1|| +M(b-c.currentY)>1?function(){c.move(a,b)}:null},hide:function(){if(!this.tooltipIsHidden){var a=this.chart.hoverPoints;this.label.hide();a&&n(a,function(a){a.setState()});this.chart.hoverPoints=null;this.tooltipIsHidden=!0}},hideCrosshairs:function(){n(this.crosshairs,function(a){a&&a.hide()})},getAnchor:function(a,b){var c,d=this.chart,e=d.inverted,f=0,g=0,a=na(a);c=a[0].tooltipPos;c||(n(a,function(a){f+=a.plotX;g+=a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY}),f/=a.length,g/=a.length,c=[e?d.plotWidth- +g:f,this.shared&&!e&&a.length>1&&b?b.chartY-d.plotTop:e?d.plotHeight-f:g]);return Ea(c,t)},getPosition:function(a,b,c){var d=this.chart,e=d.plotLeft,f=d.plotTop,g=d.plotWidth,h=d.plotHeight,i=o(this.options.distance,12),j=c.plotX,c=c.plotY,d=j+e+(d.inverted?i:-a-i),k=c-b+f+15,l;d<7&&(d=e+j+i);d+a>e+g&&(d-=d+a-(e+g),k=c-b+f-i,l=!0);k=k&&c<=k+b&&(k=c+f+i));k+b>f+h&&(k=x(f,f+h-b-i));return{x:d,y:k}},refresh:function(a,b){function c(){var a=this.points||na(this),b=a[0].series,c;c=[b.tooltipHeaderFormatter(a[0].key)]; +n(a,function(a){b=a.series;c.push(b.tooltipFormatter&&b.tooltipFormatter(a)||a.point.tooltipFormatter(b.tooltipOptions.pointFormat))});c.push(f.footerFormat||"");return c.join("")}var d=this.chart,e=this.label,f=this.options,g,h,i,j={},k,l=[];k=f.formatter||c;var j=d.hoverPoints,m,p=f.crosshairs;i=this.shared;h=this.getAnchor(a,b);g=h[0];h=h[1];i&&(!a.series||!a.series.noSharedTooltip)?(j&&n(j,function(a){a.setState()}),d.hoverPoints=a,n(a,function(a){a.setState("hover");l.push(a.getLabelConfig())}), +j={x:a[0].category,y:a[0].y},j.points=l,a=a[0]):j=a.getLabelConfig();k=k.call(j);j=a.series;i=i||!j.isCartesian||j.tooltipOutsidePlot||d.isInsidePlot(g,h);k===!1||!i?this.hide():(this.tooltipIsHidden&&e.show(),e.attr({text:k}),m=f.borderColor||a.color||j.color||"#606060",e.attr({stroke:m}),e=(f.positioner||this.getPosition).call(this,e.width,e.height,{plotX:g,plotY:h}),this.move(t(e.x),t(e.y)),this.tooltipIsHidden=!1);if(p){p=na(p);for(e=p.length;e--;)if(i=a.series[e?"yAxis":"xAxis"],p[e]&&i)if(i= +i.getPlotLinePath(e?o(a.stackY,a.y):a.x,1),this.crosshairs[e])this.crosshairs[e].attr({d:i,visibility:"visible"});else{j={"stroke-width":p[e].width||1,stroke:p[e].color||"#C0C0C0",zIndex:p[e].zIndex||2};if(p[e].dashStyle)j.dashstyle=p[e].dashStyle;this.crosshairs[e]=d.renderer.path(i).attr(j).add()}}E(d,"tooltipRefresh",{text:k,x:g+d.plotLeft,y:h+d.plotTop,borderColor:m})},tick:function(){this.tooltipTick&&this.tooltipTick()}};Db.prototype={normalizeMouseEvent:function(a){var b,c,d,a=a||N.event;if(!a.target)a.target= +a.srcElement;if(a.originalEvent)a=a.originalEvent;if(a.event)a=a.event;d=a.touches?a.touches.item(0):a;this.chartPosition=b=Jb(this.chart.container);d.pageX===A?(c=a.x,b=a.y):(c=d.pageX-b.left,b=d.pageY-b.top);return u(a,{chartX:t(c),chartY:t(b)})},getMouseCoordinates:function(a){var b={xAxis:[],yAxis:[]},c=this.chart;n(c.axes,function(d){var e=d.isXAxis;b[e?"xAxis":"yAxis"].push({axis:d,value:d.translate((c.inverted?!e:e)?a.chartX-c.plotLeft:c.plotHeight-a.chartY+c.plotTop,!0)})});return b},onmousemove:function(a){var b= +this.chart,c=b.series,d,e,f=b.hoverPoint,g=b.hoverSeries,h,i,j=b.chartWidth,k=b.inverted?b.plotHeight+b.plotTop-a.chartY:a.chartX-b.plotLeft;if(b.tooltip&&this.options.tooltip.shared&&(!g||!g.noSharedTooltip)){e=[];h=c.length;for(i=0;ij&&e.splice(h,1);if(e.length&&e[0].plotX!==this.hoverX)b.tooltip.refresh(e, +a),this.hoverX=e[0].plotX}if(g&&g.tracker&&(d=g.tooltipPoints[k])&&d!==f)d.onMouseOver()},resetTracker:function(a){var b=this.chart,c=b.hoverSeries,d=b.hoverPoint,e=b.hoverPoints||d,b=b.tooltip;(a=a&&b&&e)&&na(e)[0].plotX===A&&(a=!1);if(a)b.refresh(e);else{if(d)d.onMouseOut();if(c)c.onMouseOut();b&&(b.hide(),b.hideCrosshairs());this.hoverX=null}},setDOMEvents:function(){function a(){if(b.selectionMarker){var f={xAxis:[],yAxis:[]},g=b.selectionMarker.getBBox(),h=g.x-c.plotLeft,l=g.y-c.plotTop,m;e&& +(n(c.axes,function(a){if(a.options.zoomEnabled!==!1){var b=a.isXAxis,d=c.inverted?!b:b,e=a.translate(d?h:c.plotHeight-l-g.height,!0,0,0,1),d=a.translate(d?h+g.width:c.plotHeight-l,!0,0,0,1);!isNaN(e)&&!isNaN(d)&&(f[b?"xAxis":"yAxis"].push({axis:a,min:O(e,d),max:x(e,d)}),m=!0)}}),m&&E(c,"selection",f,function(a){c.zoom(a)}));b.selectionMarker=b.selectionMarker.destroy()}if(c)F(d,{cursor:"auto"}),c.cancelClick=e,c.mouseIsDown=e=!1;P(B,ea?"touchend":"mouseup",a)}var b=this,c=b.chart,d=c.container,e, +f=b.zoomX&&!c.inverted||b.zoomY&&c.inverted,g=b.zoomY&&!c.inverted||b.zoomX&&c.inverted;b.hideTooltipOnMouseMove=function(a){Kb(a);b.chartPosition&&c.hoverSeries&&c.hoverSeries.isCartesian&&!c.isInsidePlot(a.pageX-b.chartPosition.left-c.plotLeft,a.pageY-b.chartPosition.top-c.plotTop)&&b.resetTracker()};b.hideTooltipOnMouseLeave=function(){b.resetTracker();b.chartPosition=null};d.onmousedown=function(d){d=b.normalizeMouseEvent(d);!ea&&d.preventDefault&&d.preventDefault();c.mouseIsDown=!0;c.cancelClick= +!1;c.mouseDownX=b.mouseDownX=d.chartX;b.mouseDownY=d.chartY;I(B,ea?"touchend":"mouseup",a)};var h=function(a){if(!a||!(a.touches&&a.touches.length>1)){a=b.normalizeMouseEvent(a);if(!ea)a.returnValue=!1;var d=a.chartX,h=a.chartY,l=!c.isInsidePlot(d-c.plotLeft,h-c.plotTop);ea&&a.type==="touchstart"&&(z(a.target,"isTracker")?c.runTrackerClick||a.preventDefault():!c.runChartClick&&!l&&a.preventDefault());if(l)dc.plotLeft+c.plotWidth&&(d=c.plotLeft+c.plotWidth),hc.plotTop+c.plotHeight&&(h=c.plotTop+c.plotHeight);if(c.mouseIsDown&&a.type!=="touchstart"){if(e=Math.sqrt(Math.pow(b.mouseDownX-d,2)+Math.pow(b.mouseDownY-h,2)),e>10){a=c.isInsidePlot(b.mouseDownX-c.plotLeft,b.mouseDownY-c.plotTop);if(c.hasCartesianSeries&&(b.zoomX||b.zoomY)&&a&&!b.selectionMarker)b.selectionMarker=c.renderer.rect(c.plotLeft,c.plotTop,f?1:c.plotWidth,g?1:c.plotHeight,0).attr({fill:b.options.chart.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add();if(b.selectionMarker&& +f){var m=d-b.mouseDownX;b.selectionMarker.attr({width:M(m),x:(m>0?0:m)+b.mouseDownX})}b.selectionMarker&&g&&(h-=b.mouseDownY,b.selectionMarker.attr({height:M(h),y:(h>0?0:h)+b.mouseDownY}));a&&!b.selectionMarker&&b.options.chart.panning&&c.pan(d)}}else if(!l)b.onmousemove(a);return l||!c.hasCartesianSeries}};d.onmousemove=h;I(d,"mouseleave",b.hideTooltipOnMouseLeave);I(B,"mousemove",b.hideTooltipOnMouseMove);d.ontouchstart=function(a){if(b.zoomX||b.zoomY)d.onmousedown(a);h(a)};d.ontouchmove=h;d.ontouchend= +function(){e&&b.resetTracker()};d.onclick=function(a){var d=c.hoverPoint,e,f,a=b.normalizeMouseEvent(a);a.cancelBubble=!0;if(!c.cancelClick)d&&(z(a.target,"isTracker")||z(a.target.parentNode,"isTracker"))?(e=d.plotX,f=d.plotY,u(d,{pageX:b.chartPosition.left+c.plotLeft+(c.inverted?c.plotWidth-f:e),pageY:b.chartPosition.top+c.plotTop+(c.inverted?c.plotHeight-e:f)}),E(d.series,"click",u(a,{point:d})),d.firePointEvent("click",a)):(u(a,b.getMouseCoordinates(a)),c.isInsidePlot(a.chartX-c.plotLeft,a.chartY- +c.plotTop)&&E(c,"click",a))}},destroy:function(){var a=this.chart,b=a.container;if(a.trackerGroup)a.trackerGroup=a.trackerGroup.destroy();P(b,"mouseleave",this.hideTooltipOnMouseLeave);P(B,"mousemove",this.hideTooltipOnMouseMove);b.onclick=b.onmousedown=b.onmousemove=b.ontouchstart=b.ontouchend=b.ontouchmove=null;clearInterval(this.tooltipInterval)},init:function(a,b){if(!a.trackerGroup)a.trackerGroup=a.renderer.g("tracker").attr({zIndex:9}).add();if(b.enabled)a.tooltip=new pb(a,b),this.tooltipInterval= +setInterval(function(){a.tooltip.tick()},32);this.setDOMEvents()}};qb.prototype={init:function(a){var b=this,c=b.options=a.options.legend;if(c.enabled){var d=c.itemStyle,e=o(c.padding,8),f=c.itemMarginTop||0;b.baseline=w(d.fontSize)+3+f;b.itemStyle=d;b.itemHiddenStyle=C(d,c.itemHiddenStyle);b.itemMarginTop=f;b.padding=e;b.initialItemX=e;b.initialItemY=e-5;b.maxItemWidth=0;b.chart=a;b.itemHeight=0;b.lastLineHeight=0;b.render();I(b.chart,"endResize",function(){b.positionCheckboxes()})}},colorizeItem:function(a, +b){var c=this.options,d=a.legendItem,e=a.legendLine,f=a.legendSymbol,g=this.itemHiddenStyle.color,c=b?c.itemStyle.color:g,g=b?a.color:g;d&&d.css({fill:c});e&&e.attr({stroke:g});f&&f.attr({stroke:g,fill:g})},positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,d=a._legendItemPos,e=d[0],d=d[1],f=a.checkbox;a.legendGroup&&a.legendGroup.translate(b?e:this.legendWidth-e-2*c-4,d);if(f)f.x=e,f.y=d},destroyItem:function(a){var b=a.checkbox;n(["legendItem","legendLine","legendSymbol","legendGroup"], +function(b){a[b]&&a[b].destroy()});b&&Qa(a.checkbox)},destroy:function(){var a=this.group,b=this.box;if(b)this.box=b.destroy();if(a)this.group=a.destroy()},positionCheckboxes:function(){var a=this;n(a.allItems,function(b){var c=b.checkbox,d=a.group.alignAttr;c&&F(c,{left:d.translateX+b.legendItemWidth+c.x-20+"px",top:d.translateY+c.y+3+"px"})})},renderItem:function(a){var q;var b=this,c=b.chart,d=c.renderer,e=b.options,f=e.layout==="horizontal",g=e.symbolWidth,h=e.symbolPadding,i=b.itemStyle,j=b.itemHiddenStyle, +k=b.padding,l=!e.rtl,m=e.width,p=e.itemMarginBottom||0,n=b.itemMarginTop,o=b.initialItemX,r=a.legendItem,s=a.series||a,t=s.options,u=t.showCheckbox;if(!r&&(a.legendGroup=d.g("legend-item").attr({zIndex:1}).add(b.scrollGroup),s.drawLegendSymbol(b,a),a.legendItem=r=d.text(e.labelFormatter.call(a),l?g+h:-h,b.baseline,e.useHTML).css(C(a.visible?i:j)).attr({align:l?"left":"right",zIndex:2}).add(a.legendGroup),a.legendGroup.on("mouseover",function(){a.setState("hover");r.css(b.options.itemHoverStyle)}).on("mouseout", +function(){r.css(a.visible?i:j);a.setState()}).on("click",function(b){var c=function(){a.setVisible()},b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):E(a,"legendItemClick",b,c)}),b.colorizeItem(a,a.visible),t&&u))a.checkbox=S("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},e.itemCheckboxStyle,c.container),I(a.checkbox,"click",function(b){E(a,"checkboxClick",{checked:b.target.checked},function(){a.select()})});d=r.getBBox();q=a.legendItemWidth=e.itemWidth|| +g+h+d.width+k+(u?20:0),e=q;b.itemHeight=g=d.height;if(f&&b.itemX-o+e>(m||c.chartWidth-2*k-o))b.itemX=o,b.itemY+=n+b.lastLineHeight+p,b.lastLineHeight=0;b.maxItemWidth=x(b.maxItemWidth,e);b.lastItemY=n+b.itemY+p;b.lastLineHeight=x(g,b.lastLineHeight);a._legendItemPos=[b.itemX,b.itemY];f?b.itemX+=e:(b.itemY+=n+g+p,b.lastLineHeight=g);b.offsetWidth=m||x(f?b.itemX-o:e,b.offsetWidth)},render:function(){var a=this,b=a.chart,c=b.renderer,d=a.group,e,f,g,h,i=a.box,j=a.options,k=a.padding,l=j.borderWidth, +m=j.backgroundColor;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;if(!d)a.group=d=c.g("legend").attr({zIndex:7}).add(),a.contentGroup=c.g().attr({zIndex:1}).add(d),a.scrollGroup=c.g().add(a.contentGroup),a.clipRect=c.clipRect(0,0,9999,b.chartHeight),a.contentGroup.clip(a.clipRect);e=[];n(b.series,function(a){var b=a.options;b.showInLegend&&(e=e.concat(a.legendItems||(b.legendType==="point"?a.data:a)))});Qb(e,function(a,b){return(a.options.legendIndex||0)-(b.options.legendIndex|| +0)});j.reversed&&e.reverse();a.allItems=e;a.display=f=!!e.length;n(e,function(b){a.renderItem(b)});g=j.width||a.offsetWidth;h=a.lastItemY+a.lastLineHeight;h=a.handleOverflow(h);if(l||m){g+=k;h+=k;if(i){if(g>0&&h>0)i[i.isNew?"attr":"animate"](i.crisp(null,null,null,g,h)),i.isNew=!1}else a.box=i=c.rect(0,0,g,h,j.borderRadius,l||0).attr({stroke:j.borderColor,"stroke-width":l||0,fill:m||U}).add(d).shadow(j.shadow),i.isNew=!0;i[f?"show":"hide"]()}a.legendWidth=g;a.legendHeight=h;n(e,function(b){a.positionItem(b)}); +f&&d.align(u({width:g,height:h},j),!0,b.spacingBox);b.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=this,c=this.chart,d=c.renderer,e=this.options,f=e.y,f=c.spacingBox.height+(e.verticalAlign==="top"?-f:f)-this.padding,g=e.maxHeight,h=this.clipRect,i=e.navigation,j=o(i.animation,!0),k=i.arrowSize||12,l=this.nav;e.layout==="horizontal"&&(f/=2);g&&(f=O(f,g));if(a>f){this.clipHeight=c=f-20;this.pageCount=wa(a/c);this.currentPage=o(this.currentPage,1);this.fullHeight=a;h.attr({height:c}); +if(!l)this.nav=l=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,k,k).on("click",function(){b.scroll(-1,j)}).add(l),this.pager=d.text("",15,10).css(i.style).add(l),this.down=d.symbol("triangle-down",0,0,k,k).on("click",function(){b.scroll(1,j)}).add(l);b.scroll(0);a=f}else l&&(h.attr({height:c.chartHeight}),l.hide(),this.scrollGroup.attr({translateY:1}));return a},scroll:function(a,b){var c=this.pageCount,d=this.currentPage+a,e=this.clipHeight,f=this.options.navigation,g=f.activeColor, +f=f.inactiveColor,h=this.pager,i=this.padding;d>c&&(d=c);if(d>0)b!==A&&ua(b,this.chart),this.nav.attr({translateX:i,translateY:e+7,visibility:"visible"}),this.up.attr({fill:d===1?f:g}).css({cursor:d===1?"default":"pointer"}),h.attr({text:d+"/"+this.pageCount}),this.down.attr({x:18+this.pager.getBBox().width,fill:d===c?f:g}).css({cursor:d===c?"default":"pointer"}),this.scrollGroup.animate({translateY:-O(e*(d-1),this.fullHeight-e+i)+1}),h.attr({text:d+"/"+c}),this.currentPage=d}};rb.prototype={initSeries:function(a){var b= +this.options.chart,b=new Y[a.type||b.type||b.defaultSeriesType];b.init(this,a);return b},addSeries:function(a,b,c){var d=this;a&&(ua(c,d),b=o(b,!0),E(d,"addSeries",{options:a},function(){d.initSeries(a);d.isDirtyLegend=!0;b&&d.redraw()}))},isInsidePlot:function(a,b){return a>=0&&a<=this.plotWidth&&b>=0&&b<=this.plotHeight},adjustTickAmounts:function(){this.options.chart.alignTicks!==!1&&n(this.axes,function(a){a.adjustTickAmount()});this.maxTicks=null},redraw:function(a){var b=this.axes,c=this.series, +d=this.tracker,e=this.legend,f=this.isDirtyLegend,g,h=this.isDirtyBox,i=c.length,j=i,k=this.clipRect,l=this.renderer,m=l.isHidden();ua(a,this);for(m&&this.cloneRenderTo();j--;)if(a=c[j],a.isDirty&&a.options.stacking){g=!0;break}if(g)for(j=i;j--;)if(a=c[j],a.options.stacking)a.isDirty=!0;n(c,function(a){a.isDirty&&a.options.legendType==="point"&&(f=!0)});if(f&&e.options.enabled)e.render(),this.isDirtyLegend=!1;if(this.hasCartesianSeries){if(!this.isResizing)this.maxTicks=null,n(b,function(a){a.setScale()}); +this.adjustTickAmounts();this.getMargins();n(b,function(a){if(a.isDirtyExtremes)a.isDirtyExtremes=!1,E(a,"afterSetExtremes",a.getExtremes());if(a.isDirty||h||g)a.redraw(),h=!0})}h&&(this.drawChartBox(),k&&(Fa(k),k.animate({width:this.plotSizeX,height:this.plotSizeY+1})));n(c,function(a){a.isDirty&&a.visible&&(!a.isCartesian||a.xAxis)&&a.redraw()});d&&d.resetTracker&&d.resetTracker(!0);l.draw();E(this,"redraw");m&&this.cloneRenderTo(!0)},showLoading:function(a){var b=this.options,c=this.loadingDiv, +d=b.loading;if(!c)this.loadingDiv=c=S(ia,{className:"highcharts-loading"},u(d.style,{left:this.plotLeft+"px",top:this.plotTop+"px",width:this.plotWidth+"px",height:this.plotHeight+"px",zIndex:10,display:U}),this.container),this.loadingSpan=S("span",null,d.labelStyle,c);this.loadingSpan.innerHTML=a||b.lang.loading;if(!this.loadingShown)F(c,{opacity:0,display:""}),eb(c,{opacity:d.style.opacity},{duration:d.showDuration||0}),this.loadingShown=!0},hideLoading:function(){var a=this.options,b=this.loadingDiv; +b&&eb(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){F(b,{display:U})}});this.loadingShown=!1},get:function(a){var b=this.axes,c=this.series,d,e;for(d=0;dO(e.dataMin,e.min)&&c19?this.containerHeight:400)},cloneRenderTo:function(a){var b=this.renderToClone,c=this.container;a?b&&(this.renderTo.appendChild(c),Qa(b),delete this.renderToClone):(c&&this.renderTo.removeChild(c),this.renderToClone=b=this.renderTo.cloneNode(0),F(b,{position:"absolute",top:"-9999px",display:"block"}), +B.body.appendChild(b),c&&b.appendChild(c))},getContainer:function(){var a,b=this.options.chart,c,d,e;this.renderTo=a=b.renderTo;e="highcharts-"+sb++;if(ra(a))this.renderTo=a=B.getElementById(a);a||mb(13,!0);a.innerHTML="";a.offsetWidth||this.cloneRenderTo();this.getChartSize();c=this.chartWidth;d=this.chartHeight;this.container=a=S(ia,{className:"highcharts-container"+(b.className?" "+b.className:""),id:e},u({position:"relative",overflow:"hidden",width:c+"px",height:d+"px",textAlign:"left",lineHeight:"normal"}, +b.style),this.renderToClone||a);this.renderer=b.forExport?new qa(a,c,d,!0):new Ta(a,c,d);ga&&this.renderer.create(this,a,c,d)},getMargins:function(){var a=this.options.chart,b=a.spacingTop,c=a.spacingRight,d=a.spacingBottom,a=a.spacingLeft,e,f=this.legend,g=this.optionsMarginTop,h=this.optionsMarginLeft,i=this.optionsMarginRight,j=this.optionsMarginBottom,k=this.chartTitleOptions,l=this.chartSubtitleOptions,m=this.options.legend,p=o(m.margin,10),q=m.x,t=m.y,r=m.align,y=m.verticalAlign;this.resetMargins(); +e=this.axisOffset;if((this.title||this.subtitle)&&!s(this.optionsMarginTop))if(l=x(this.title&&!k.floating&&!k.verticalAlign&&k.y||0,this.subtitle&&!l.floating&&!l.verticalAlign&&l.y||0))this.plotTop=x(this.plotTop,l+o(k.margin,15)+b);if(f.display&&!m.floating)if(r==="right"){if(!s(i))this.marginRight=x(this.marginRight,f.legendWidth-q+p+c)}else if(r==="left"){if(!s(h))this.plotLeft=x(this.plotLeft,f.legendWidth+q+p+a)}else if(y==="top"){if(!s(g))this.plotTop=x(this.plotTop,f.legendHeight+t+p+b)}else if(y=== +"bottom"&&!s(j))this.marginBottom=x(this.marginBottom,f.legendHeight-t+p+d);this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);this.hasCartesianSeries&&n(this.axes,function(a){a.getOffset()});s(h)||(this.plotLeft+=e[3]);s(g)||(this.plotTop+=e[0]);s(j)||(this.marginBottom+=e[2]);s(i)||(this.marginRight+=e[1]);this.setChartSize()},initReflow:function(){function a(a){var g=c.width||Va(d,"width"),h=c.height||Va(d,"height"),a=a? +a.target:N;if(g&&h&&(a===N||a===B)){if(g!==b.containerWidth||h!==b.containerHeight)clearTimeout(e),e=setTimeout(function(){b.resize(g,h,!1)},100);b.containerWidth=g;b.containerHeight=h}}var b=this,c=b.options.chart,d=b.renderTo,e;I(N,"resize",a);I(b,"destroy",function(){P(N,"resize",a)})},fireEndResize:function(){var a=this;a&&E(a,"endResize",null,function(){a.isResizing-=1})},resize:function(a,b,c){var d,e,f=this.title,g=this.subtitle;this.isResizing+=1;ua(c,this);this.oldChartHeight=this.chartHeight; +this.oldChartWidth=this.chartWidth;if(s(a))this.chartWidth=d=t(a);if(s(b))this.chartHeight=e=t(b);F(this.container,{width:d+"px",height:e+"px"});this.renderer.setSize(d,e,c);this.plotWidth=d-this.plotLeft-this.marginRight;this.plotHeight=e-this.plotTop-this.marginBottom;this.maxTicks=null;n(this.axes,function(a){a.isDirty=!0;a.setScale()});n(this.series,function(a){a.isDirty=!0});this.isDirtyBox=this.isDirtyLegend=!0;this.getMargins();a=this.spacingBox;f&&f.align(null,null,a);g&&g.align(null,null, +a);this.redraw(c);this.oldChartHeight=null;E(this,"resize");Ra===!1?this.fireEndResize():setTimeout(this.fireEndResize,Ra&&Ra.duration||500)},setChartSize:function(){var a=this.inverted,b=this.chartWidth,c=this.chartHeight,d=this.options.chart,e=d.spacingTop,f=d.spacingRight,g=d.spacingBottom,d=d.spacingLeft;this.plotLeft=t(this.plotLeft);this.plotTop=t(this.plotTop);this.plotWidth=t(b-this.plotLeft-this.marginRight);this.plotHeight=t(c-this.plotTop-this.marginBottom);this.plotSizeX=a?this.plotHeight: +this.plotWidth;this.plotSizeY=a?this.plotWidth:this.plotHeight;this.spacingBox={x:d,y:e,width:b-d-f,height:c-e-g};n(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a=this.options.chart,b=a.spacingRight,c=a.spacingBottom,d=a.spacingLeft;this.plotTop=o(this.optionsMarginTop,a.spacingTop);this.marginRight=o(this.optionsMarginRight,b);this.marginBottom=o(this.optionsMarginBottom,c);this.plotLeft=o(this.optionsMarginLeft,d);this.axisOffset=[0,0,0,0]},drawChartBox:function(){var a= +this.options.chart,b=this.renderer,c=this.chartWidth,d=this.chartHeight,e=this.chartBackground,f=this.plotBackground,g=this.plotBorder,h=this.plotBGImage,i=a.borderWidth||0,j=a.backgroundColor,k=a.plotBackgroundColor,l=a.plotBackgroundImage,m,p={x:this.plotLeft,y:this.plotTop,width:this.plotWidth,height:this.plotHeight};m=i+(a.shadow?8:0);if(i||j)if(e)e.animate(e.crisp(null,null,null,c-m,d-m));else{e={fill:j||U};if(i)e.stroke=a.borderColor,e["stroke-width"]=i;this.chartBackground=b.rect(m/2,m/2,c- +m,d-m,a.borderRadius,i).attr(e).add().shadow(a.shadow)}if(k)f?f.animate(p):this.plotBackground=b.rect(this.plotLeft,this.plotTop,this.plotWidth,this.plotHeight,0).attr({fill:k}).add().shadow(a.plotShadow);if(l)h?h.animate(p):this.plotBGImage=b.image(l,this.plotLeft,this.plotTop,this.plotWidth,this.plotHeight).add();if(a.plotBorderWidth)g?g.animate(g.crisp(null,this.plotLeft,this.plotTop,this.plotWidth,this.plotHeight)):this.plotBorder=b.rect(this.plotLeft,this.plotTop,this.plotWidth,this.plotHeight, +0,a.plotBorderWidth).attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth,zIndex:4}).add();this.isDirtyBox=!1},propFromSeries:function(){var a=this,b=a.options.chart,c,d=a.options.series,e,f;n(["inverted","angular","polar"],function(g){c=Y[b.type||b.defaultSeriesType];f=a[g]||b[g]||c&&c.prototype[g];for(e=d&&d.length;!f&&e--;)(c=Y[d[e].type])&&c.prototype[g]&&(f=!0);a[g]=f})},render:function(){var a=this,b=a.axes,c=a.renderer,d=a.options,e=d.labels,d=d.credits,f;a.setTitle();a.legend=new qb(a); +n(b,function(a){a.setScale()});a.getMargins();a.maxTicks=null;n(b,function(a){a.setTickPositions(!0);a.setMaxTicks()});a.adjustTickAmounts();a.getMargins();a.drawChartBox();a.hasCartesianSeries&&n(b,function(a){a.render()});if(!a.seriesGroup)a.seriesGroup=c.g("series-group").attr({zIndex:3}).add();n(a.series,function(a){a.translate();a.setTooltipPoints();a.render()});e.items&&n(e.items,function(){var b=u(e.style,this.style),d=w(b.left)+a.plotLeft,f=w(b.top)+a.plotTop+12;delete b.left;delete b.top; +c.text(this.html,d,f).attr({zIndex:2}).css(b).add()});if(d.enabled&&!a.credits)f=d.href,a.credits=c.text(d.text,0,0).on("click",function(){if(f)location.href=f}).attr({align:d.position.align,zIndex:8}).css(d.style).add().align(d.position);a.hasRendered=!0},destroy:function(){var a=this,b=a.axes,c=a.series,d=a.container,e,f=d&&d.parentNode;if(a!==null){E(a,"destroy");P(a);for(e=b.length;e--;)b[e]=b[e].destroy();for(e=c.length;e--;)c[e]=c[e].destroy();n("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,tracker,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","), +function(b){var c=a[b];c&&(a[b]=c.destroy())});if(d)d.innerHTML="",P(d),f&&Qa(d),d=null;for(e in a)delete a[e];a=a.options=null}},firstRender:function(){var a=this,b=a.options,c=a.callback;if(!Da&&N==N.top&&B.readyState!=="complete"||ga&&!N.canvg)ga?Nb.push(function(){a.firstRender()},b.global.canvasToolsURL):B.attachEvent("onreadystatechange",function(){B.detachEvent("onreadystatechange",a.firstRender);B.readyState==="complete"&&a.firstRender()});else{a.getContainer();E(a,"init");if(Highcharts.RangeSelector&& +b.rangeSelector.enabled)a.rangeSelector=new Highcharts.RangeSelector(a);a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();n(b.series||[],function(b){a.initSeries(b)});if(Highcharts.Scroller&&(b.navigator.enabled||b.scrollbar.enabled))a.scroller=new Highcharts.Scroller(a);a.tracker=new Db(a,b);a.render();a.renderer.draw();c&&c.apply(a,[a]);n(a.callbacks,function(b){b.apply(a,[a])});a.cloneRenderTo(!0);E(a,"load")}},init:function(a){var b=this.options.chart,c;b.reflow!==!1&&I(this,"load", +this.initReflow);if(a)for(c in a)I(this,c,a[c]);this.xAxis=[];this.yAxis=[];this.animation=ga?!1:o(b.animation,!0);this.setSize=this.resize;this.pointCount=0;this.counters=new Ab;this.firstRender()}};rb.prototype.callbacks=[];var Wa=function(){};Wa.prototype={init:function(a,b,c){var d=a.chart.counters;this.series=a;this.applyOptions(b,c);this.pointAttr={};if(a.options.colorByPoint){b=a.chart.options.colors;if(!this.options)this.options={};this.color=this.options.color=this.color||b[d.color++];d.wrapColor(b.length)}a.chart.pointCount++; +return this},applyOptions:function(a,b){var c=this.series,d=typeof a;this.config=a;if(d==="number"||a===null)this.y=a;else if(typeof a[0]==="number")this.x=a[0],this.y=a[1];else if(d==="object"&&typeof a.length!=="number"){if(u(this,a),this.options=a,a.dataLabels)c._hasPointLabels=!0}else if(typeof a[0]==="string")this.name=a[0],this.y=a[1];if(this.x===A)this.x=b===A?c.autoIncrement():b},destroy:function(){var a=this.series.chart,b=a.hoverPoints,c;a.pointCount--;if(b&&(this.setState(),za(b,this), +!b.length))a.hoverPoints=null;if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)P(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(c in this)this[c]=null},destroyElements:function(){for(var a="graphic,tracker,dataLabel,group,connector,shadowGroup".split(","),b,c=6;c--;)b=a[c],this[b]&&(this[b]=this[b].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage, +total:this.total||this.stackTotal}},select:function(a,b){var c=this,d=c.series.chart,a=o(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=a;c.setState(a&&"select");b||n(d.getSelectedPoints(),function(a){if(a.selected&&a!==c)a.selected=!1,a.setState(""),a.firePointEvent("unselect")})})},onMouseOver:function(){var a=this.series,b=a.chart,c=b.tooltip,d=b.hoverPoint;if(d&&d!==this)d.onMouseOut();this.firePointEvent("mouseOver");c&&(!c.shared||a.noSharedTooltip)&& +c.refresh(this);this.setState("hover");b.hoverPoint=this},onMouseOut:function(){this.firePointEvent("mouseOut");this.setState();this.series.chart.hoverPoint=null},tooltipFormatter:function(a){var b=this.series,c=b.tooltipOptions,d=a.match(/\{(series|point)\.[a-zA-Z]+\}/g),e=/[{\.}]/,f,g,h,i,j={y:0,open:0,high:0,low:0,close:0,percentage:1,total:1};c.valuePrefix=c.valuePrefix||c.yPrefix;c.valueDecimals=c.valueDecimals||c.yDecimals;c.valueSuffix=c.valueSuffix||c.ySuffix;for(i in d)g=d[i],ra(g)&&g!== +a&&(h=(" "+g).split(e),f={point:this,series:b}[h[1]],h=h[2],f===this&&j.hasOwnProperty(h)?(f=j[h]?h:"value",f=(c[f+"Prefix"]||"")+Xa(this[h],o(c[f+"Decimals"],-1))+(c[f+"Suffix"]||"")):f=f[h],a=a.replace(g,f));return a},update:function(a,b,c){var d=this,e=d.series,f=d.graphic,g,h=e.data,i=h.length,j=e.chart,b=o(b,!0);d.firePointEvent("update",{options:a},function(){d.applyOptions(a);aa(a)&&(e.getAttribs(),f&&f.attr(d.pointAttr[e.state]));for(g=0;ga+1&&b.push(d.slice(a+1,g)),a=g):g===e-1&&b.push(d.slice(a+1,g+1))});this.segments=b},setOptions:function(a){var b=this.chart.options,c=b.plotOptions,d=a.data;a.data=null;c=C(c[this.type],c.series,a);c.data=a.data=d;this.tooltipOptions=C(b.tooltip,c.tooltip);return c},getColor:function(){var a= +this.options,b=this.chart.options.colors,c=this.chart.counters;this.color=a.color||!a.colorByPoint&&b[c.color++]||"gray";c.wrapColor(b.length)},getSymbol:function(){var a=this.options.marker,b=this.chart,c=b.options.symbols,b=b.counters;this.symbol=a.symbol||c[b.symbol++];if(/^url/.test(this.symbol))a.radius=0;b.wrapSymbol(c.length)},drawLegendSymbol:function(a){var b=this.options,c=b.marker,d=a.options.symbolWidth,e=this.chart.renderer,f=this.legendGroup,a=a.baseline,g;if(b.lineWidth){g={"stroke-width":b.lineWidth}; +if(b.dashStyle)g.dashstyle=b.dashStyle;this.legendLine=e.path(["M",0,a-4,"L",d,a-4]).attr(g).add(f)}if(c&&c.enabled)b=c.radius,this.legendSymbol=e.symbol(this.symbol,d/2-b,a-4-b,2*b,2*b).attr(this.pointAttr[""]).add(f)},addPoint:function(a,b,c,d){var e=this.data,f=this.graph,g=this.area,h=this.chart,i=this.xData,j=this.yData,k=f&&f.shift||0,l=this.options.data;ua(d,h);if(f&&c)f.shift=k+1;if(g){if(c)g.shift=k+1;g.isArea=!0}b=o(b,!0);d={series:this};this.pointClass.prototype.applyOptions.apply(d,[a]); +i.push(d.x);j.push(this.valueCount===4?[d.open,d.high,d.low,d.close]:d.y);l.push(a);c&&(e[0]&&e[0].remove?e[0].remove(!1):(e.shift(),i.shift(),j.shift(),l.shift()));this.getAttribs();this.isDirtyData=this.isDirty=!0;b&&h.redraw()},setData:function(a,b){var c=this.points,d=this.options,e=this.initialColor,f=this.chart,g=null,h=this.xAxis,i=this.pointClass.prototype;this.xIncrement=null;this.pointRange=h&&h.categories&&1||d.pointRange;if(s(e))f.counters.color=e;var j=[],k=[],l=a?a.length:[],m=this.valueCount; +if(l>(d.turboThreshold||1E3)){for(e=0;g===null&&ek||this.forceCrop))if(a=i.getExtremes(),i=a.min,k=a.max,b[d-1]k)b=[],c=[];else if(b[0]k){for(a=0;a=i){e=x(0,a-1);break}for(;ak){f=a+1;break}b=b.slice(e,f);c=c.slice(e,f);g=!0}for(a=b.length-1;a>0;a--)if(d=b[a]-b[a-1],d>0&&(h===A||d=0&&d<=e;)h[d++]=f}this.tooltipPoints=h}},tooltipHeaderFormatter:function(a){var b=this.tooltipOptions,c=b.xDateFormat,d=this.xAxis,e=d&&d.options.type==="datetime",f;if(e&&!c)for(f in D)if(D[f]>=d.closestPointRange){c=b.dateTimeLabelFormats[f];break}return b.headerFormat.replace("{point.key}",e?db(c,a):a).replace("{series.name}", +this.name).replace("{series.color}",this.color)},onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(ea||!a.mouseIsDown){if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&E(this,"mouseOver");this.setState("hover");a.hoverSeries=this}},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;if(d)d.onMouseOut();this&&a.events.mouseOut&&E(this,"mouseOut");c&&!a.stickyTracking&&!c.shared&&c.hide();this.setState();b.hoverSeries=null},animate:function(a){var b= +this.chart,c=this.clipRect,d=this.options.animation;d&&!aa(d)&&(d={});if(a){if(!c.isAnimating)c.attr("width",0),c.isAnimating=!0}else c.animate({width:b.plotSizeX},d),this.animate=null},drawPoints:function(){var a,b=this.points,c=this.chart,d,e,f,g,h,i,j,k;if(this.options.marker.enabled)for(f=b.length;f--;)if(g=b[f],d=g.plotX,e=g.plotY,k=g.graphic,e!==A&&!isNaN(e))if(a=g.pointAttr[g.selected?"select":""],h=a.r,i=o(g.marker&&g.marker.symbol,this.symbol),j=i.indexOf("url")===0,k)k.animate(u({x:d-h, +y:e-h},k.symbolName?{width:2*h,height:2*h}:{}));else if(h>0||j)g.graphic=c.renderer.symbol(i,d-h,e-h,2*h,2*h).attr(a).add(this.group)},convertAttribs:function(a,b,c,d){var e=this.pointAttrToOptions,f,g,h={},a=a||{},b=b||{},c=c||{},d=d||{};for(f in e)g=e[f],h[f]=o(a[g],b[f],c[f],d[f]);return h},getAttribs:function(){var a=this,b=Z[a.type].marker?a.options.marker:a.options,c=b.states,d=c.hover,e,f=a.color,g={stroke:f,fill:f},h=a.points||[],i=[],j,k=a.pointAttrToOptions,l;a.options.marker?(d.radius= +d.radius||b.radius+2,d.lineWidth=d.lineWidth||b.lineWidth+1):d.color=d.color||pa(d.color||f).brighten(d.brightness).get();i[""]=a.convertAttribs(b,g);n(["hover","select"],function(b){i[b]=a.convertAttribs(c[b],i[""])});a.pointAttr=i;for(f=h.length;f--;){g=h[f];if((b=g.options&&g.options.marker||g.options)&&b.enabled===!1)b.radius=0;e=!1;if(g.options)for(l in k)s(b[k[l]])&&(e=!0);if(e){j=[];c=b.states||{};e=c.hover=c.hover||{};if(!a.options.marker)e.color=pa(e.color||g.options.color).brighten(e.brightness|| +d.brightness).get();j[""]=a.convertAttribs(b,i[""]);j.hover=a.convertAttribs(c.hover,i.hover,j[""]);j.select=a.convertAttribs(c.select,i.select,j[""])}else j=i;g.pointAttr=j}},destroy:function(){var a=this,b=a.chart,c=a.clipRect,d=/AppleWebKit\/533/.test(ya),e,f,g=a.data||[],h,i,j;E(a,"destroy");P(a);n(["xAxis","yAxis"],function(b){if(j=a[b])za(j.series,a),j.isDirty=!0});a.legendItem&&a.chart.legend.destroyItem(a);for(f=g.length;f--;)(h=g[f])&&h.destroy&&h.destroy();a.points=null;if(c&&c!==b.clipRect)a.clipRect= +c.destroy();n("area,graph,dataLabelsGroup,group,tracker,trackerGroup".split(","),function(b){a[b]&&(e=d&&b==="group"?"hide":"destroy",a[b][e]())});if(b.hoverSeries===a)b.hoverSeries=null;za(b.series,a);for(i in a)delete a[i]},drawDataLabels:function(){var a=this,b=a.options,c=b.dataLabels;if(c.enabled||a._hasPointLabels){var d,e,f=a.points,g,h,i,j=a.dataLabelsGroup,k=a.chart,l=a.xAxis,l=l?l.left:k.plotLeft,m=a.yAxis,m=m?m.top:k.plotTop,p=k.renderer,q=k.inverted,u=a.type,r=b.stacking,y=u==="column"|| +u==="bar",x=c.verticalAlign===null,w=c.y===null,v=p.fontMetrics(c.style.fontSize),H=v.h,J=v.b,K,z;y&&(v={top:J,middle:J-H/2,bottom:-H+J},r?(x&&(c=C(c,{verticalAlign:"middle"})),w&&(c=C(c,{y:v[c.verticalAlign]}))):x?c=C(c,{verticalAlign:"top"}):w&&(c=C(c,{y:v[c.verticalAlign]})));j?j.translate(l,m):j=a.dataLabelsGroup=p.g("data-labels").attr({visibility:a.visible?"visible":"hidden",zIndex:6}).translate(l,m).add();h=c;n(f,function(f){K=f.dataLabel;c=h;(g=f.options)&&g.dataLabels&&(c=C(c,g.dataLabels)); +if(z=c.enabled){var l=f.barX&&f.barX+f.barW/2||o(f.plotX,-999),m=o(f.plotY,-999),n=c.y===null?f.y>=b.threshold?-H+J:J:c.y;d=(q?k.plotWidth-m:l)+c.x;e=t((q?k.plotHeight-l:m)+n)}if(K&&a.isCartesian&&(!k.isInsidePlot(d,e)||!z))f.dataLabel=K.destroy();else if(z){var l=c.align,v;i=c.formatter.call(f.getLabelConfig(),c);u==="column"&&(d+={left:-1,right:1}[l]*f.barW/2||0);!r&&q&&f.y<0&&(l="right",d-=10);c.style.color=o(c.color,c.style.color,a.color,"black");if(K)K.attr({text:i}).animate({x:d,y:e});else if(s(i)){l= +{align:l,fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":c.borderWidth,r:c.borderRadius||0,rotation:c.rotation,padding:c.padding,zIndex:1};for(v in l)l[v]===A&&delete l[v];K=f.dataLabel=p[c.rotation?"text":"label"](i,d,e,null,null,null,c.useHTML,!0).attr(l).css(c.style).add(j).shadow(c.shadow)}if(y&&b.stacking&&K)v=f.barX,l=f.barY,m=f.barW,f=f.barH,K.align(c,null,{x:q?k.plotWidth-l-f:v,y:q?k.plotHeight-v-m:l,width:q?f:m,height:q?m:f})}})}},getSegmentPath:function(a){var b=this,c=[];n(a, +function(d,e){b.getPointSpline?c.push.apply(c,b.getPointSpline(a,d,e)):(c.push(e?"L":"M"),e&&b.options.step&&c.push(d.plotX,a[e-1].plotY),c.push(d.plotX,d.plotY))});return c},drawGraph:function(){var a=this,b=a.options,c=a.graph,d=[],e=a.group,f=b.lineColor||a.color,g=b.lineWidth,h=b.dashStyle,i,j=a.chart.renderer,k=[];n(a.segments,function(b){i=a.getSegmentPath(b);b.length>1?d=d.concat(i):k.push(b[0])});a.graphPath=d;a.singlePoints=k;if(c)Fa(c),c.animate({d:d});else if(g){c={stroke:f,"stroke-width":g}; +if(h)c.dashstyle=h;a.graph=j.path(d).attr(c).add(e).shadow(b.shadow)}},invertGroups:function(){function a(){var a={width:b.yAxis.len,height:b.xAxis.len};c.attr(a).invert();d&&d.attr(a).invert()}var b=this,c=b.group,d=b.trackerGroup,e=b.chart;I(e,"resize",a);I(b,"destroy",function(){P(e,"resize",a)});a();b.invertGroups=a},createGroup:function(){var a=this.chart;(this.group=a.renderer.g("series")).attr({visibility:this.visible?"visible":"hidden",zIndex:this.options.zIndex}).translate(this.xAxis.left, +this.yAxis.top).add(a.seriesGroup);this.createGroup=Sb},render:function(){var a=this,b=a.chart,c,d=a.options,e=d.clip!==!1,f=d.animation,f=(d=f&&a.animate)?f&&f.duration||500:0,g=a.clipRect,h=b.renderer;if(!g&&(g=a.clipRect=!b.hasRendered&&b.clipRect?b.clipRect:h.clipRect(0,0,b.plotSizeX,b.plotSizeY+1),!b.clipRect))b.clipRect=g;a.createGroup();c=a.group;a.drawDataLabels();d&&a.animate(!0);a.getAttribs();a.drawGraph&&a.drawGraph();a.drawPoints();a.options.enableMouseTracking!==!1&&a.drawTracker(); +b.inverted&&a.invertGroups();e&&!a.hasRendered&&(c.clip(g),a.trackerGroup&&a.trackerGroup.clip(b.clipRect));d&&a.animate();setTimeout(function(){g.isAnimating=!1;if((c=a.group)&&g!==b.clipRect&&g.renderer){if(e)c.clip(a.clipRect=b.clipRect);g.destroy()}},f);a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirtyData,c=this.group;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:this.xAxis.left,translateY:this.yAxis.top})); +this.translate();this.setTooltipPoints(!0);this.render();b&&E(this,"updatedData")},setState:function(a){var b=this.options,c=this.graph,d=b.states,b=b.lineWidth,a=a||"";if(this.state!==a)this.state=a,d[a]&&d[a].enabled===!1||(a&&(b=d[a].lineWidth||b+1),c&&!c.dashstyle&&c.attr({"stroke-width":b},a?0:500))},setVisible:function(a,b){var c=this.chart,d=this.legendItem,e=this.group,f=this.tracker,g=this.dataLabelsGroup,h,i=this.points,j=c.options.chart.ignoreHiddenSeries;h=this.visible;h=(this.visible= +a=a===A?!h:a)?"show":"hide";if(e)e[h]();if(f)f[h]();else if(i)for(e=i.length;e--;)if(f=i[e],f.tracker)f.tracker[h]();if(g)g[h]();d&&c.legend.colorizeItem(this,a);this.isDirty=!0;this.options.stacking&&n(c.series,function(a){if(a.options.stacking&&a.visible)a.isDirty=!0});if(j)c.isDirtyBox=!0;b!==!1&&c.redraw();E(this,h)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=a===A?!this.selected:a;if(this.checkbox)this.checkbox.checked=a;E(this, +a?"select":"unselect")},drawTrackerGroup:function(){var a=this.trackerGroup,b=this.chart;if(this.isCartesian){if(!a)this.trackerGroup=a=b.renderer.g().attr({zIndex:this.options.zIndex||1}).add(b.trackerGroup);a.translate(this.xAxis.left,this.yAxis.top)}return a},drawTracker:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),e=d.length,f=a.chart,g=f.renderer,h=f.options.tooltip.snap,i=a.tracker,j=b.cursor,j=j&&{cursor:j},k=a.singlePoints,l=a.drawTrackerGroup(), +m;if(e&&!c)for(m=e+1;m--;)d[m]==="M"&&d.splice(m+1,0,d[m+1]-h,d[m+2],"L"),(m&&d[m]==="M"||m===e)&&d.splice(m,0,"L",d[m-2]+h,d[m-1]);for(m=0;m=0;d--)da&&i>e?(i=x(a,e),k=2*e-i):ig&&k>e?(k=x(g,e),i=2*e-k):kv?g-v:z-(f<=z?v:0));u(c,{barX:h,barY:i,barW:y,barH:j,pointWidth:r});c.shapeType="rect";c.shapeArgs=f=b.renderer.Element.prototype.crisp.call(0,e,h,i,y,j);e%2&&(f.y-=1,f.height+=1);c.trackerArgs=M(j)<3&&C(c.shapeArgs,{height:6,y:i-3})})},getSymbol:function(){},drawLegendSymbol:G.prototype.drawLegendSymbol,drawGraph:function(){},drawPoints:function(){var a=this,b=a.options,c=a.chart.renderer,d,e;n(a.points,function(f){var g=f.plotY;if(g!==A&&!isNaN(g)&& +f.y!==null)d=f.graphic,e=f.shapeArgs,d?(Fa(d),d.animate(C(e))):f.graphic=d=c[f.shapeType](e).attr(f.pointAttr[f.selected?"select":""]).add(a.group).shadow(b.shadow,null,b.stacking&&!b.borderRadius)})},drawTracker:function(){var a=this,b=a.chart,c=b.renderer,d,e,f=+new Date,g=a.options,h=g.cursor,i=h&&{cursor:h},j=a.drawTrackerGroup(),k,l,m;n(a.points,function(h){e=h.tracker;d=h.trackerArgs||h.shapeArgs;l=h.plotY;m=!a.isCartesian||l!==A&&!isNaN(l);delete d.strokeWidth;if(h.y!==null&&m)e?e.attr(d): +h.tracker=c[h.shapeType](d).attr({isTracker:f,fill:tb,visibility:a.visible?"visible":"hidden"}).on(ea?"touchstart":"mouseover",function(c){k=c.relatedTarget||c.fromElement;if(b.hoverSeries!==a&&z(k,"isTracker")!==f)a.onMouseOver();h.onMouseOver()}).on("mouseout",function(b){if(!g.stickyTracking&&(k=b.relatedTarget||b.toElement,z(k,"isTracker")!==f))a.onMouseOut()}).css(i).add(h.group||j)})},animate:function(a){var b=this,c=b.points,d=b.options;if(!a)n(c,function(a){var c=a.graphic,a=a.shapeArgs,g= +b.yAxis,h=d.threshold;c&&(c.attr({height:0,y:s(h)?g.getThreshold(h):g.translate(g.getExtremes().min,0,1,0,1)}),c.animate({height:a.height,y:a.y},d.animation))}),b.animate=null},remove:function(){var a=this,b=a.chart;b.hasRendered&&n(b.series,function(b){if(b.type===a.type)b.isDirty=!0});R.prototype.remove.apply(a,arguments)}});Y.column=ha;Z.bar=C(Z.column,{dataLabels:{align:"left",x:5,y:null,verticalAlign:"middle"}});Ia=ca(ha,{type:"bar",inverted:!0});Y.bar=Ia;Z.scatter=C(T,{lineWidth:0,states:{hover:{lineWidth:0}}, +tooltip:{headerFormat:'{series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}});Ia=ca(R,{type:"scatter",sorted:!1,translate:function(){var a=this;R.prototype.translate.apply(a);n(a.points,function(b){b.shapeType="circle";b.shapeArgs={x:b.plotX,y:b.plotY,r:a.chart.options.tooltip.snap}})},drawTracker:function(){for(var a=this,b=a.options.cursor,b=b&&{cursor:b},c=a.points,d=c.length,e;d--;)if(e=c[d].graphic)e.element._i= +d;a._hasTracking?a._hasTracking=!0:a.group.attr({isTracker:!0}).on(ea?"touchstart":"mouseover",function(b){a.onMouseOver();if(b.target._i!==A)c[b.target._i].onMouseOver()}).on("mouseout",function(){if(!a.options.stickyTracking)a.onMouseOut()}).css(b)}});Y.scatter=Ia;Z.pie=C(T,{borderColor:"#FFFFFF",borderWidth:1,center:["50%","50%"],colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name},y:5},legendType:"point",marker:null,size:"75%",showInLegend:!1,slicedOffset:10, +states:{hover:{brightness:0.1,shadow:!1}}});T={type:"pie",isCartesian:!1,pointClass:ca(Wa,{init:function(){Wa.prototype.init.apply(this,arguments);var a=this,b;u(a,{visible:a.visible!==!1,name:o(a.name,"Slice")});b=function(){a.slice()};I(a,"select",b);I(a,"unselect",b);return a},setVisible:function(a){var b=this.series.chart,c=this.tracker,d=this.dataLabel,e=this.connector,f=this.shadowGroup,g;g=(this.visible=a=a===A?!this.visible:a)?"show":"hide";this.group[g]();if(c)c[g]();if(d)d[g]();if(e)e[g](); +if(f)f[g]();this.legendItem&&b.legend.colorizeItem(this,a)},slice:function(a,b,c){var d=this.series.chart,e=this.slicedTranslation;ua(c,d);o(b,!0);a=this.sliced=s(a)?a:!this.sliced;a={translateX:a?e[0]:d.plotLeft,translateY:a?e[1]:d.plotTop};this.group.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)}}),pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:function(){this.initialColor=this.chart.counters.color},animate:function(){var a=this;n(a.points, +function(b){var c=b.graphic,b=b.shapeArgs,d=-xa/2;c&&(c.attr({r:0,start:d,end:d}),c.animate({r:b.r,start:b.start,end:b.end},a.options.animation))});a.animate=null},setData:function(a,b){R.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();o(b,!0)&&this.chart.redraw()},getCenter:function(){var a=this.options,b=this.chart,c=b.plotWidth,d=b.plotHeight,a=a.center.concat([a.size,a.innerSize||0]),e=O(c,d),f;return Ea(a,function(a,b){return(f=/%$/.test(a))?[c,d,e,e][b]*w(a)/100:a})}, +translate:function(){this.generatePoints();var a=0,b=-0.25,c=this.options,d=c.slicedOffset,e=d+c.borderWidth,f,g=this.chart,h,i,j,k=this.points,l=2*xa,m,p,o,s=c.dataLabels.distance;this.center=f=this.getCenter();this.getX=function(a,b){j=L.asin((a-f[1])/(f[2]/2+s));return f[0]+(b?-1:1)*X(j)*(f[2]/2+s)};n(k,function(b){a+=b.y});n(k,function(c){m=a?c.y/a:0;h=t(b*l*1E3)/1E3;b+=m;i=t(b*l*1E3)/1E3;c.shapeType="arc";c.shapeArgs={x:f[0],y:f[1],r:f[2]/2,innerR:f[3]/2,start:h,end:i};j=(i+h)/2;c.slicedTranslation= +Ea([X(j)*d+g.plotLeft,da(j)*d+g.plotTop],t);p=X(j)*f[2]/2;o=da(j)*f[2]/2;c.tooltipPos=[f[0]+p*0.7,f[1]+o*0.7];c.labelPos=[f[0]+p+X(j)*s,f[1]+o+da(j)*s,f[0]+p+X(j)*e,f[1]+o+da(j)*e,f[0]+p,f[1]+o,s<0?"center":j0,q=[[],[]],s,r,t,u,x=2,v;if(d.enabled){R.prototype.drawDataLabels.apply(this);n(a,function(a){a.dataLabel&&q[a.labelPos[7]0){for(v=m-l-j;v<=m+l+j;v+=a)w.push(v);t=w.length;if(A>t){h=[].concat(z);h.sort(u);for(v=A;v--;)h[v].rank=v;for(v=A;v--;)z[v].rank>=t&&z.splice(v,1);A=z.length}for(v=0;v +0){if(r=C.pop(),B=r.i,r=r.y,s>r&&w[B+1]!==null||s "stats", :password => "stats", :only => [:edit, :show] + + def index + + end + def new + + @survey = SurveyType.find_by_slug(params[:slug]) + @survey_set = @survey.to_survey_set + end + + def edit + @survey_set = SurveySet.find(params[:id]) + end + + def create + @survey_set = SurveySet.new(params[:survey_set]) + if @survey_set.save + redirect_to thanks_survey_sets_path + else + render :action => :new + end + end + + def show + @survey = SurveyType.find_by_slug(params[:slug]) + end + + def thanks + + end +end diff --git a/app/controllers/surveys_controller.rb b/app/controllers/surveys_controller.rb new file mode 100644 index 0000000..fb3eb04 --- /dev/null +++ b/app/controllers/surveys_controller.rb @@ -0,0 +1,8 @@ +# -*- encoding : utf-8 -*- + +class SurveysController < ApplicationController + def index + + + end +end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb new file mode 100644 index 0000000..de6be79 --- /dev/null +++ b/app/helpers/application_helper.rb @@ -0,0 +1,2 @@ +module ApplicationHelper +end diff --git a/app/helpers/surveys_helper.rb b/app/helpers/surveys_helper.rb new file mode 100644 index 0000000..84524bb --- /dev/null +++ b/app/helpers/surveys_helper.rb @@ -0,0 +1,2 @@ +module SurveysHelper +end diff --git a/app/mailers/.gitkeep b/app/mailers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/models/.gitkeep b/app/models/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/models/answer_set.rb b/app/models/answer_set.rb new file mode 100644 index 0000000..e61e7f3 --- /dev/null +++ b/app/models/answer_set.rb @@ -0,0 +1,19 @@ +# -*- encoding : utf-8 -*- + +class AnswerSet < ActiveRecord::Base + belongs_to :question_set + belongs_to :survey_item_answer + attr_accessible :content, :survey_item_answer_id, :is_checked + + + before_validation do + if self.survey_item_answer.field_type == 2 and !self.content? + #errors.add(:content, 'doit être remplis') + end + + + + end + + +end diff --git a/app/models/question_set.rb b/app/models/question_set.rb new file mode 100644 index 0000000..963306a --- /dev/null +++ b/app/models/question_set.rb @@ -0,0 +1,12 @@ +class QuestionSet < ActiveRecord::Base + belongs_to :survey_item + belongs_to :survey_set + attr_accessible :answer_sets_attributes, :survey_item, :survey_item_id, :boolean_content, :content + has_many :answer_sets + + accepts_nested_attributes_for :answer_sets + + + + scope :dont_answered, includes(:answer_sets).where("answer_sets.is_checked == ?", false) +end diff --git a/app/models/survey_item.rb b/app/models/survey_item.rb new file mode 100644 index 0000000..b1bcc49 --- /dev/null +++ b/app/models/survey_item.rb @@ -0,0 +1,14 @@ +class SurveyItem < ActiveRecord::Base + belongs_to :survey_type + attr_accessible :description, :display_type, :help, :item_type, :questions_type, :string_type, :title, :archived, :locked, :text_presentation, :max_checkboxes + + ITEM_TYPES = ["question", "note"] + QUESTIONS_TYPES = ["boolean", "string", "check_box", "radio"] + DISPLAY_TYPES = ["inline", "grid", "dropdown"] + + has_many :answers, :class_name => "SurveyItemAnswer", :dependent => :destroy + + has_many :question_sets + + +end diff --git a/app/models/survey_item_answer.rb b/app/models/survey_item_answer.rb new file mode 100644 index 0000000..ad8de55 --- /dev/null +++ b/app/models/survey_item_answer.rb @@ -0,0 +1,8 @@ +class SurveyItemAnswer < ActiveRecord::Base + belongs_to :survey_item + attr_accessible :class_text, :data_type, :field_type, :help_text, :label_text, :archived, :locked + has_many :answer_sets + FIELD_TYPES=["normal", "other"] + DATA_TYPE = ["integer", "string", "date"] + +end diff --git a/app/models/survey_set.rb b/app/models/survey_set.rb new file mode 100644 index 0000000..1add41b --- /dev/null +++ b/app/models/survey_set.rb @@ -0,0 +1,7 @@ +class SurveySet < ActiveRecord::Base + belongs_to :survey_type + has_many :question_sets + attr_accessible :survey_type_id, :question_sets_attributes, :answer_sets + + accepts_nested_attributes_for :question_sets +end diff --git a/app/models/survey_type.rb b/app/models/survey_type.rb new file mode 100644 index 0000000..4b41da0 --- /dev/null +++ b/app/models/survey_type.rb @@ -0,0 +1,32 @@ +class SurveyType < ActiveRecord::Base + attr_accessible :description, :intro_text, :name, :thank_text, :locked, :archived, :slug + + has_many :items, :class_name => "SurveyItem", :dependent => :destroy + has_many :survey_sets + + def nbr_responses + self.survey_sets.count + end + + def to_survey_set + @survey_set = SurveySet.new + @survey_set.survey_type_id = self.id + + self.items.each do |item| + + question_set = @survey_set.question_sets.build(:survey_item_id => item.id) + + if item.questions_type == 3 + + item.answers.each do |answer| + + question_set.answer_sets.build(:survey_item_answer_id => answer.id) + + end + end + + end + @survey_set + + end +end diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml new file mode 100644 index 0000000..8715376 --- /dev/null +++ b/app/views/layouts/application.html.haml @@ -0,0 +1,30 @@ +!!! +%html + %head + %title Le Pic Vert - Votre avis sur les sorties du Pic Vert + = stylesheet_link_tag "application", :media => "all" + = javascript_include_tag "application" + = csrf_meta_tags + + + %body + =image_tag("logo.png", :id =>"logo") + + #main=yield + + #footer + + -@survey = SurveyType.first + + Actuellement, + -count = @survey.survey_sets.count + =count + -if count > 1 + personnes ont répondu + -else + personne a répondu + à ce questionnaire. Merci pour votre participation ! + + %p.legals + site réalisé par + =link_to "Quartz Agence - Nicolas Bally", "http://www.quartz-agence.com", :target => "_blank" \ No newline at end of file diff --git a/app/views/survey_sets/_answer_set.html.haml b/app/views/survey_sets/_answer_set.html.haml new file mode 100644 index 0000000..09028da --- /dev/null +++ b/app/views/survey_sets/_answer_set.html.haml @@ -0,0 +1,32 @@ + + + + + +.answer_p + + + =f.check_box :is_checked, :class => "checkboxe_#{answer.survey_item.id}" + -checkboxe_class = "checkboxe_#{answer.survey_item.id}" + =f.label :is_checked, answer.label_text + + =f.text_field :content if answer.field_type == 2 + + + + +-if 1 == 2 + %script + = raw '$("input[type=checkbox][class='+checkboxe_class+']").click(function() {' + + = raw 'var bol = $("input[type=checkbox][class='+checkboxe_class+']:checked").length >= 1000;' + = raw '$("input[type=checkbox][class='+checkboxe_class+']").not(":checked").attr("disabled",bol);' + + + + }); + + + + + \ No newline at end of file diff --git a/app/views/survey_sets/_form.html.haml b/app/views/survey_sets/_form.html.haml new file mode 100644 index 0000000..853c314 --- /dev/null +++ b/app/views/survey_sets/_form.html.haml @@ -0,0 +1,22 @@ + +=form_for @survey_set do |f| + =f.hidden_field :survey_type_id + + + + %h1=@survey_set.survey_type.name + =simple_format @survey_set.survey_type.description + + = f.fields_for(:question_sets) do |f| + =f.hidden_field :survey_item_id + + =render :partial => "survey_sets/question_set", :locals => {:f => f, :item => f.object.survey_item} + + + + + + + + + %p=f.submit "Envoyer ma réponse" \ No newline at end of file diff --git a/app/views/survey_sets/_question_set.html.haml b/app/views/survey_sets/_question_set.html.haml new file mode 100644 index 0000000..b0969b0 --- /dev/null +++ b/app/views/survey_sets/_question_set.html.haml @@ -0,0 +1,31 @@ + +.question=item.title + +-if item.questions_type == 1 + .answer_p + =f.radio_button :boolean_content, true + =f.label :boolean_content_true, "oui" + =f.radio_button :boolean_content, false + =f.label :boolean_content_false, "non" + +-elsif item.questions_type == 2 + .answer_p + -if item.text_presentation == 2 + =f.text_area :content, :class => "large" + -else + =f.text_field :content, :class => "large" +-elsif item.questions_type == 3 + = f.fields_for(:answer_sets) do |f| + =f.hidden_field :survey_item_answer_id + =render :partial => "survey_sets/answer_set", :locals => {:f => f, :answer => f.object.survey_item_answer} + +-elsif item.questions_type == 4 + + -item.answers.each do |answer| + .answer_p + =f.radio_button :content, answer.label_text + =f.label :content, answer.label_text, :value => answer.label_text + + + + \ No newline at end of file diff --git a/app/views/survey_sets/create.html.haml b/app/views/survey_sets/create.html.haml new file mode 100644 index 0000000..b0dad5b --- /dev/null +++ b/app/views/survey_sets/create.html.haml @@ -0,0 +1 @@ +=render "form" \ No newline at end of file diff --git a/app/views/survey_sets/edit.html.haml b/app/views/survey_sets/edit.html.haml new file mode 100644 index 0000000..8d39b7b --- /dev/null +++ b/app/views/survey_sets/edit.html.haml @@ -0,0 +1 @@ +=render :partial => "survey_sets/form" \ No newline at end of file diff --git a/app/views/survey_sets/new.html.haml b/app/views/survey_sets/new.html.haml new file mode 100644 index 0000000..8d39b7b --- /dev/null +++ b/app/views/survey_sets/new.html.haml @@ -0,0 +1 @@ +=render :partial => "survey_sets/form" \ No newline at end of file diff --git a/app/views/survey_sets/show.html.haml b/app/views/survey_sets/show.html.haml new file mode 100644 index 0000000..80786f9 --- /dev/null +++ b/app/views/survey_sets/show.html.haml @@ -0,0 +1,151 @@ + + +#container + +-@survey.items.each do |item| + %h3=item.title + + + -if item.questions_type == 1 + %table + %tr + %th oui + %th non + %th nr + %th non + nr + %tr + %td + =oui = item.question_sets.where(:boolean_content => true).count + %td + =non = item.question_sets.where(:boolean_content => false).count + %td + =nr = item.question_sets.count - non - oui + %td + =nuls = nr + non + %tr + %td + =per_oui = number_to_percentage (oui*100.00)/(oui+nuls), :precision => 1 + + %td + =per_non = number_to_percentage (non*100.00)/(oui+nuls), :precision => 1 + %td + =per_nr = number_to_percentage (nr*100.00)/(oui+nuls), :precision => 1 + %td + =number_to_percentage (nuls*100.00)/(oui+nuls), :precision => 1 + + + -r = rand 99999 + + + -chart_data = [{:name => "oui", :y => oui, :per => per_oui},{:name => "non", :y => non, :per => per_non} ,{:name => "non répondu", :y => nr, :per => per_nr} ] + + %script + $(document).ready(function() { + charts.push(new Highcharts.Chart( + =raw 'getChartConfig("'+r.to_s+'", "'+item.title+'", '+chart_data.to_json+')' + )) + }); + + + + %div.chart{:id => r.to_s} + + -if item.questions_type == 2 + %table.large + -count = 0 + -item.question_sets.each do |question| + -if question.content? + %tr + %td=simple_format question.content + -else + -count = count+1 + %tr + %td + non répondu : + =count + ( + =per_nr = number_to_percentage (count*100.00)/(@survey.nbr_responses), :precision => 1 + ) + + -r = rand 99999 + -chart_data = "['répondu',#{(((@survey.nbr_responses-count)*100.00)/(@survey.nbr_responses)).round(1)}],['non répondu', #{((count*100.00)/(@survey.nbr_responses)).round(1)}]" + + -chart_data = [{:name => "répondu", :y => (@survey.nbr_responses-count), :per => number_to_percentage(((@survey.nbr_responses-count)*100.00)/(@survey.nbr_responses), :precision => 1)} ,{:name => "non répondu", :y => count, :per => per_nr} ] + + %script + $(document).ready(function() { + charts.push(new Highcharts.Chart( + =raw 'getChartConfig("'+r.to_s+'", "'+item.title+'", '+chart_data.to_json+')' + )) + }); + + + + %div.chart{:id => r.to_s} + + -if item.questions_type == 3 + + -#chart_data = "['oui',#{oui}],['non',#{non}],['non répondu', #{nr}]" + -chart_data = [] + -categories = [] + + %table + -item.answers.each do |answer| + %tr + %td=answer.label_text + %td + + =tot = answer.answer_sets.where(:is_checked => true).count + %td=per = number_to_percentage (tot*100.00)/(@survey.nbr_responses), :precision => 1 + + -categories << answer.label_text + -chart_data << [per.to_s, tot] + + + -count = 0 + -item.question_sets.each do |qs| + + -if qs.answer_sets.where(:is_checked => false).count == item.answers.count + -count = count+1 + + %tr + %td non répondu + %td=count + %td=per = number_to_percentage (count*100.00)/(@survey.nbr_responses), :precision => 1 + + -categories << "non répondu" + -chart_data << [per.to_s, count] + + -if item.answers.where(:field_type => 2).count > 0 + -np = 0 + -item.answers.where(:field_type => 2).each do |a| + %h4 + Réponses personnalisées pour " + =a.label_text + " + %table.large + -a.answer_sets.where(:is_checked => true).each do |a| + -if a.content? + %tr + %td{:colspan => 3}=a.content + -else + -np = np +1 + %tr + %td + Non précisé + %td=np + %td=number_to_percentage (np*100.00)/(a.answer_sets.where(:is_checked => true).count), :precision => 1 + + -r = rand 99999 + + + %script + $(document).ready(function() { + + =raw 'chartbar("'+r.to_s+'", '+chart_data.to_s+', '+categories.to_s+', "'+item.title+'")' + + }); + + .bar_chart{:id => r} + .break + \ No newline at end of file diff --git a/app/views/survey_sets/thanks.html.haml b/app/views/survey_sets/thanks.html.haml new file mode 100644 index 0000000..3338d87 --- /dev/null +++ b/app/views/survey_sets/thanks.html.haml @@ -0,0 +1,22 @@ +%h1 Merci de votre participation ! + +%p Les résultats permettrons à l'association de vous proposer des sorties plus adaptées à vos possibilités et à vos envies. + +%p + Pour connaître toutes les sorties déjà programmées vous pouvez consulter + =link_to "l'agenda du site internet", "http://www.lepicvert.asso.fr/10/lassociation/agenda" + ="." + + +%p + Retrouvez-nous à la salle des fêtes de Réaumont + %strong mercredi 22 août + à partir de 18h pour la rencontre annuelle des adhérents. + + +%p + %strong Le DVD du film Carrières Vivantes est enfin disponible ! +%p + Découvrez ce film présentant les actions de réaménagement écologique de la carrière de Rives et la réhabilitation de l'ancienne décharge sauvage du Grand Ratz à La Buisse. Toutes les infos sont sur la page + %strong=link_to '"Carrières Vivantes" du site internet', "http://www.lepicvert.asso.fr/123/lassociation/le-film-carrieres-vivantes" + ="." \ No newline at end of file diff --git a/app/views/surveys/index.html.haml b/app/views/surveys/index.html.haml new file mode 100644 index 0000000..8d39b7b --- /dev/null +++ b/app/views/surveys/index.html.haml @@ -0,0 +1 @@ +=render :partial => "survey_sets/form" \ No newline at end of file diff --git a/config.ru b/config.ru new file mode 100644 index 0000000..53f4f06 --- /dev/null +++ b/config.ru @@ -0,0 +1,4 @@ +# This file is used by Rack-based servers to start the application. + +require ::File.expand_path('../config/environment', __FILE__) +run Survey::Application diff --git a/config/application.rb b/config/application.rb new file mode 100644 index 0000000..c29a596 --- /dev/null +++ b/config/application.rb @@ -0,0 +1,62 @@ +require File.expand_path('../boot', __FILE__) + +require 'rails/all' + +if defined?(Bundler) + # If you precompile assets before deploying to production, use this line + Bundler.require(*Rails.groups(:assets => %w(development test))) + # If you want your assets lazily compiled in production, use this line + # Bundler.require(:default, :assets, Rails.env) +end + +module Survey + class Application < Rails::Application + # Settings in config/environments/* take precedence over those specified here. + # Application configuration should go into files in config/initializers + # -- all .rb files in that directory are automatically loaded. + + # Custom directories with classes and modules you want to be autoloadable. + # config.autoload_paths += %W(#{config.root}/extras) + + # Only load the plugins named here, in the order given (default is alphabetical). + # :all can be used as a placeholder for all plugins not explicitly named. + # config.plugins = [ :exception_notification, :ssl_requirement, :all ] + + # Activate observers that should always be running. + # config.active_record.observers = :cacher, :garbage_collector, :forum_observer + + # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. + # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. + # config.time_zone = 'Central Time (US & Canada)' + + # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. + # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] + # config.i18n.default_locale = :de + + # Configure the default encoding used in templates for Ruby 1.9. + config.encoding = "utf-8" + + # Configure sensitive parameters which will be filtered from the log file. + config.filter_parameters += [:password] + + # Enable escaping HTML in JSON. + config.active_support.escape_html_entities_in_json = true + + # Use SQL instead of Active Record's schema dumper when creating the database. + # This is necessary if your schema can't be completely dumped by the schema dumper, + # like if you have constraints or database-specific column types + # config.active_record.schema_format = :sql + + # Enforce whitelist mode for mass assignment. + # This will create an empty whitelist of attributes available for mass-assignment for all models + # in your app. As such, your models will need to explicitly whitelist or blacklist accessible + # parameters by using an attr_accessible or attr_protected declaration. + config.active_record.whitelist_attributes = true + + # Enable the asset pipeline + config.assets.enabled = true + + # Version of your assets, change this if you want to expire all your assets + config.assets.version = '1.0' + end +end diff --git a/config/boot.rb b/config/boot.rb new file mode 100644 index 0000000..4489e58 --- /dev/null +++ b/config/boot.rb @@ -0,0 +1,6 @@ +require 'rubygems' + +# Set up gems listed in the Gemfile. +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) + +require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE']) diff --git a/config/database.yml b/config/database.yml new file mode 100644 index 0000000..05afcdb --- /dev/null +++ b/config/database.yml @@ -0,0 +1,28 @@ +# SQLite version 3.x +# gem install sqlite3 +# +# Ensure the SQLite 3 gem is defined in your Gemfile +# gem 'sqlite3' +development: + adapter: sqlite3 + database: db/development.sqlite3 + pool: 5 + timeout: 5000 + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: + adapter: sqlite3 + database: db/test.sqlite3 + pool: 5 + timeout: 5000 + +production: + adapter: mysql2 + encoding: utf8 + database: pic_vert_app + pool: 5 + username: pic_vert_app + password: pic_vert_prod + socket: /var/run/mysqld/mysqld.sock diff --git a/config/deploy.rb b/config/deploy.rb new file mode 100644 index 0000000..740c09a --- /dev/null +++ b/config/deploy.rb @@ -0,0 +1,104 @@ +set :application, 'pic_vert_app' + set :domain, 'www2.lepicvert.asso.fr' + + + + + require "rvm/capistrano" + + set :rvm_ruby_string, 'ruby-1.9.3-p0' + set :rvm_type, :user + + set :user, 'web' + + + + set :deploy_to, "/home/#{user}/#{application}/" + set :deploy_via, :remote_cache + + set :normalize_asset_timestamps, false + + + set :rails_env, "production" + + + + role :app, domain + role :web, domain + role :db, domain, :primary => true + + set :scm, :git + set :repository, "git@box1.quartz-agence.com:#{application}.git" + set :branch, "master" + + default_run_options[:pty] = true + + + + before "deploy:symlink", "deploy:bundle_gems" + after "deploy:bundle_gems", "deploy:make_simlinks" + after "deploy:make_simlinks", "assets:precompile" + + + +# after "deploy", "deploy:restart" + after "deploy:restart", "deploy:cleanup" + + + #after "deploy", "deploy:bundle_gems" + #after "deploy:bundle_gems", "deploy:make_simlinks" + #after "deploy:make_simlinks", "assets:precompile" + #after "assets:precompile", "deploy:restart" + #after "deploy:restart", "deploy:cleanup" + + + namespace :assets do + task :precompile, :roles => :web do + run "rm -rf #{release_path}/public/assets" + run "ln -s #{deploy_to}shared/assets #{release_path}/public/assets" + + + run "cd #{release_path} && bundle exec rake assets:precompile --trace" + end + + task :cleanup, :roles => :web do + run "cd #{current_path} && RAILS_ENV=production bundle exec rake assets:clean" + end + end + + + + + + namespace :deploy do + task :bundle_gems do + run "cd #{release_path} && bundle install" + end + + task :make_simlinks do + run "rm -rf #{release_path}/private_medias" + run "ln -s #{deploy_to}shared/storage/private #{release_path}/private_medias" + run "rm -rf #{release_path}/public/public_medias" + run "ln -s #{deploy_to}shared/storage/public #{release_path}/public/public_medias" + end + + task :start do + sudo "service #{application} start" + end + task :stop do + run "service #{application} stop" + end + task :restart, :roles => :app, :except => { :no_release => true } do + sudo "service #{application} restart" + end + task :migrate do + run "cd #{deploy_to}current && rake db:migrate RAILS_ENV=#{rails_env}" + + end + + task :seeds do + run "cd #{deploy_to}current && rake db:seeds RAILS_ENV=#{rails_env}" + + end + end + \ No newline at end of file diff --git a/config/environment.rb b/config/environment.rb new file mode 100644 index 0000000..cc35823 --- /dev/null +++ b/config/environment.rb @@ -0,0 +1,5 @@ +# Load the rails application +require File.expand_path('../application', __FILE__) + +# Initialize the rails application +Survey::Application.initialize! diff --git a/config/environments/development.rb b/config/environments/development.rb new file mode 100644 index 0000000..3e06dc5 --- /dev/null +++ b/config/environments/development.rb @@ -0,0 +1,37 @@ +Survey::Application.configure do + # Settings specified here will take precedence over those in config/application.rb + + # In the development environment your application's code is reloaded on + # every request. This slows down response time but is perfect for development + # since you don't have to restart the web server when you make code changes. + config.cache_classes = false + + # Log error messages when you accidentally call methods on nil. + config.whiny_nils = true + + # Show full error reports and disable caching + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + + # Don't care if the mailer can't send + config.action_mailer.raise_delivery_errors = false + + # Print deprecation notices to the Rails logger + config.active_support.deprecation = :log + + # Only use best-standards-support built into browsers + config.action_dispatch.best_standards_support = :builtin + + # Raise exception on mass assignment protection for Active Record models + config.active_record.mass_assignment_sanitizer = :strict + + # Log the query plan for queries taking more than this (works + # with SQLite, MySQL, and PostgreSQL) + config.active_record.auto_explain_threshold_in_seconds = 0.5 + + # Do not compress assets + config.assets.compress = false + + # Expands the lines which load the assets + config.assets.debug = true +end diff --git a/config/environments/production.rb b/config/environments/production.rb new file mode 100644 index 0000000..a6684a9 --- /dev/null +++ b/config/environments/production.rb @@ -0,0 +1,67 @@ +Survey::Application.configure do + # Settings specified here will take precedence over those in config/application.rb + + # Code is not reloaded between requests + config.cache_classes = true + + # Full error reports are disabled and caching is turned on + config.consider_all_requests_local = false + config.action_controller.perform_caching = true + + # Disable Rails's static asset server (Apache or nginx will already do this) + config.serve_static_assets = false + + # Compress JavaScripts and CSS + config.assets.compress = true + + # Don't fallback to assets pipeline if a precompiled asset is missed + config.assets.compile = false + + # Generate digests for assets URLs + config.assets.digest = true + + # Defaults to nil and saved in location specified by config.assets.prefix + # config.assets.manifest = YOUR_PATH + + # Specifies the header that your server uses for sending files + # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx + + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. + # config.force_ssl = true + + # See everything in the log (default is :info) + # config.log_level = :debug + + # Prepend all log lines with the following tags + # config.log_tags = [ :subdomain, :uuid ] + + # Use a different logger for distributed setups + # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) + + # Use a different cache store in production + # config.cache_store = :mem_cache_store + + # Enable serving of images, stylesheets, and JavaScripts from an asset server + # config.action_controller.asset_host = "http://assets.example.com" + + # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) + # config.assets.precompile += %w( search.js ) + + # Disable delivery errors, bad email addresses will be ignored + # config.action_mailer.raise_delivery_errors = false + + # Enable threaded mode + # config.threadsafe! + + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation can not be found) + config.i18n.fallbacks = true + + # Send deprecation notices to registered listeners + config.active_support.deprecation = :notify + + # Log the query plan for queries taking more than this (works + # with SQLite, MySQL, and PostgreSQL) + # config.active_record.auto_explain_threshold_in_seconds = 0.5 +end diff --git a/config/environments/test.rb b/config/environments/test.rb new file mode 100644 index 0000000..c43811f --- /dev/null +++ b/config/environments/test.rb @@ -0,0 +1,37 @@ +Survey::Application.configure do + # Settings specified here will take precedence over those in config/application.rb + + # The test environment is used exclusively to run your application's + # test suite. You never need to work with it otherwise. Remember that + # your test database is "scratch space" for the test suite and is wiped + # and recreated between test runs. Don't rely on the data there! + config.cache_classes = true + + # Configure static asset server for tests with Cache-Control for performance + config.serve_static_assets = true + config.static_cache_control = "public, max-age=3600" + + # Log error messages when you accidentally call methods on nil + config.whiny_nils = true + + # Show full error reports and disable caching + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + + # Raise exceptions instead of rendering exception templates + config.action_dispatch.show_exceptions = false + + # Disable request forgery protection in test environment + config.action_controller.allow_forgery_protection = false + + # Tell Action Mailer not to deliver emails to the real world. + # The :test delivery method accumulates sent emails in the + # ActionMailer::Base.deliveries array. + config.action_mailer.delivery_method = :test + + # Raise exception on mass assignment protection for Active Record models + config.active_record.mass_assignment_sanitizer = :strict + + # Print deprecation notices to the stderr + config.active_support.deprecation = :stderr +end diff --git a/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb new file mode 100644 index 0000000..59385cd --- /dev/null +++ b/config/initializers/backtrace_silencers.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. +# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } + +# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. +# Rails.backtrace_cleaner.remove_silencers! diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb new file mode 100644 index 0000000..5d8d9be --- /dev/null +++ b/config/initializers/inflections.rb @@ -0,0 +1,15 @@ +# Be sure to restart your server when you modify this file. + +# Add new inflection rules using the following format +# (all these examples are active by default): +# ActiveSupport::Inflector.inflections do |inflect| +# inflect.plural /^(ox)$/i, '\1en' +# inflect.singular /^(ox)en/i, '\1' +# inflect.irregular 'person', 'people' +# inflect.uncountable %w( fish sheep ) +# end +# +# These inflection rules are supported but not enabled by default: +# ActiveSupport::Inflector.inflections do |inflect| +# inflect.acronym 'RESTful' +# end diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb new file mode 100644 index 0000000..72aca7e --- /dev/null +++ b/config/initializers/mime_types.rb @@ -0,0 +1,5 @@ +# Be sure to restart your server when you modify this file. + +# Add new mime types for use in respond_to blocks: +# Mime::Type.register "text/richtext", :rtf +# Mime::Type.register_alias "text/html", :iphone diff --git a/config/initializers/secret_token.rb b/config/initializers/secret_token.rb new file mode 100644 index 0000000..5a90d53 --- /dev/null +++ b/config/initializers/secret_token.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# Your secret key for verifying the integrity of signed cookies. +# If you change this key, all old signed cookies will become invalid! +# Make sure the secret is at least 30 characters and all random, +# no regular words or you'll be exposed to dictionary attacks. +Survey::Application.config.secret_token = '794906047ef5a4a37947781bc0c5ce46471f2c2e9db31807f7aadac11db7170bd8f4283d96aaf076e66316de2b271746741228dd53ff34f621bb7434558ea9df' diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb new file mode 100644 index 0000000..e16a859 --- /dev/null +++ b/config/initializers/session_store.rb @@ -0,0 +1,8 @@ +# Be sure to restart your server when you modify this file. + +Survey::Application.config.session_store :cookie_store, key: '_survey_session' + +# Use the database for sessions instead of the cookie-based default, +# which shouldn't be used to store highly confidential information +# (create the session table with "rails generate session_migration") +# Survey::Application.config.session_store :active_record_store diff --git a/config/initializers/to_slug.rb b/config/initializers/to_slug.rb new file mode 100644 index 0000000..9d119ea --- /dev/null +++ b/config/initializers/to_slug.rb @@ -0,0 +1,43 @@ +# -*- encoding : utf-8 -*- +module ToSlug + + # Generate a slug for the string +value+. + # + # A slug should consist of numbers (0-9), lowercase letters (a-z) and + # dashes (-). Any other characters should be filtered. + # + # ==== Example + # + # "The World is Beautiful!".to_slug # => "the-world-is-beautiful" + # + # ==== Returns + # String:: A 'sluggified' version of this string + # + # -- + # @api public + def to_slug + # Perform transliteration to replace non-ascii characters with an ascii + # character + value = self.mb_chars.normalize(:kd).gsub(/[^\x00-\x7F]/n, '').to_s + + # Remove single quotes from input + value.gsub!(/[']+/, '') + + # Replace any non-word character (\W) with a space + value.gsub!(/\W+/, ' ') + + # Remove any whitespace before and after the string + value.strip! + + # All characters should be downcased + value.downcase! + + # Replace spaces with dashes + value.gsub!(' ', '-') + + # Return the resulting slug + value + end + +end +String.send(:include, ToSlug) \ No newline at end of file diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb new file mode 100644 index 0000000..999df20 --- /dev/null +++ b/config/initializers/wrap_parameters.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. +# +# This file contains settings for ActionController::ParamsWrapper which +# is enabled by default. + +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. +ActiveSupport.on_load(:action_controller) do + wrap_parameters format: [:json] +end + +# Disable root element in JSON by default. +ActiveSupport.on_load(:active_record) do + self.include_root_in_json = false +end diff --git a/config/locales/en.yml b/config/locales/en.yml new file mode 100644 index 0000000..179c14c --- /dev/null +++ b/config/locales/en.yml @@ -0,0 +1,5 @@ +# Sample localization file for English. Add more files in this directory for other locales. +# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points. + +en: + hello: "Hello world" diff --git a/config/nginx.conf b/config/nginx.conf new file mode 100644 index 0000000..de606b9 --- /dev/null +++ b/config/nginx.conf @@ -0,0 +1,22 @@ +upstream pic_vert_app_unicorn { + server unix:/home/web/pic_vert_app/shared/tmp/unicorn.sock fail_timeout=0; +} + +server { + listen 80; + server_name www2.lepicvert.asso.fr; + root /home/web/pic_vert_app/current/public; + try_files $uri/index.html $uri @unicorn; + + location @unicorn { + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_redirect off; + proxy_pass http://pic_vert_app_unicorn; + } + + error_page 500 502 503 504 /500.html; + client_max_body_size 4G; + keepalive_timeout 10; +} + diff --git a/config/routes.rb b/config/routes.rb new file mode 100644 index 0000000..e592de8 --- /dev/null +++ b/config/routes.rb @@ -0,0 +1,75 @@ +Survey::Application.routes.draw do + get "surveys/index" + + match 'sondages/merci-de-votre-participation.:f' => 'survey_sets#thanks', :as => :thanks_survey_sets, :f => "html" + match 'sondages/:slug.:f' => 'survey_sets#new', :as => :new_survey_set, :f => "html" + match 'sondages/:slug/resultats.:f' => 'survey_sets#show', :as => :survey_set, :f => "html" + + + + resources :survey_sets do + collection do + get 'thanks' + + end + + end + + + # The priority is based upon order of creation: + # first created -> highest priority. + + # Sample of regular route: + # match 'products/:id' => 'catalog#view' + # Keep in mind you can assign values other than :controller and :action + + # Sample of named route: + # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase + # This route can be invoked with purchase_url(:id => product.id) + + # Sample resource route (maps HTTP verbs to controller actions automatically): + # resources :products + + # Sample resource route with options: + # resources :products do + # member do + # get 'short' + # post 'toggle' + # end + # + # collection do + # get 'sold' + # end + # end + + # Sample resource route with sub-resources: + # resources :products do + # resources :comments, :sales + # resource :seller + # end + + # Sample resource route with more complex sub-resources + # resources :products do + # resources :comments + # resources :sales do + # get 'recent', :on => :collection + # end + # end + + # Sample resource route within a namespace: + # namespace :admin do + # # Directs /admin/products/* to Admin::ProductsController + # # (app/controllers/admin/products_controller.rb) + # resources :products + # end + + # You can have the root of your site routed with "root" + # just remember to delete public/index.html. + root :to => 'survey_sets#new' + + # See how all your routes lay out with "rake routes" + + # This is a legacy wild controller route that's not recommended for RESTful applications. + # Note: This route will make all actions in every controller accessible via GET requests. + # match ':controller(/:action(/:id))(.:format)' +end diff --git a/config/unicorn.rb b/config/unicorn.rb new file mode 100644 index 0000000..2a6bcac --- /dev/null +++ b/config/unicorn.rb @@ -0,0 +1,10 @@ +@rails_app = "pic_vert_app" + +working_directory "/home/web/#{@rails_app}/current" +pid "/home/web/#{@rails_app}/shared/unicorn.pid" +stderr_path "/home/web/#{@rails_app}/shared/log/unicorn.log" +stdout_path "/home/web/#{@rails_app}/shared/log/unicorn.log" + +listen "/home/web/#{@rails_app}/shared/tmp/unicorn.sock" +worker_processes 2 +timeout 30 \ No newline at end of file diff --git a/db/migrate/20120816090713_create_survey_types.rb b/db/migrate/20120816090713_create_survey_types.rb new file mode 100644 index 0000000..478d518 --- /dev/null +++ b/db/migrate/20120816090713_create_survey_types.rb @@ -0,0 +1,15 @@ +class CreateSurveyTypes < ActiveRecord::Migration + def change + create_table :survey_types do |t| + t.string :name + t.string :slug + t.text :description + t.text :thank_text + t.text :intro_text + t.boolean :locked + t.boolean :archived + + t.timestamps + end + end +end diff --git a/db/migrate/20120816090843_create_survey_items.rb b/db/migrate/20120816090843_create_survey_items.rb new file mode 100644 index 0000000..18d06f2 --- /dev/null +++ b/db/migrate/20120816090843_create_survey_items.rb @@ -0,0 +1,21 @@ +class CreateSurveyItems < ActiveRecord::Migration + def change + create_table :survey_items do |t| + t.integer :item_type + t.text :title + t.text :description + t.text :help + t.integer :questions_type + t.integer :display_type + t.references :survey_type + t.integer :string_type + t.boolean :locked + t.boolean :archived + t.integer :text_presentation + t.integer :max_checkboxes + + t.timestamps + end + add_index :survey_items, :survey_type_id + end +end diff --git a/db/migrate/20120816091025_create_survey_item_answers.rb b/db/migrate/20120816091025_create_survey_item_answers.rb new file mode 100644 index 0000000..835afee --- /dev/null +++ b/db/migrate/20120816091025_create_survey_item_answers.rb @@ -0,0 +1,17 @@ +class CreateSurveyItemAnswers < ActiveRecord::Migration + def change + create_table :survey_item_answers do |t| + t.text :label_text + t.text :help_text + t.string :class_text + t.integer :field_type + t.integer :data_type + t.references :survey_item + t.boolean :locked + t.boolean :archived + + t.timestamps + end + add_index :survey_item_answers, :survey_item_id + end +end diff --git a/db/migrate/20120816091659_create_survey_sets.rb b/db/migrate/20120816091659_create_survey_sets.rb new file mode 100644 index 0000000..2509da3 --- /dev/null +++ b/db/migrate/20120816091659_create_survey_sets.rb @@ -0,0 +1,10 @@ +class CreateSurveySets < ActiveRecord::Migration + def change + create_table :survey_sets do |t| + t.references :survey_type + + t.timestamps + end + add_index :survey_sets, :survey_type_id + end +end diff --git a/db/migrate/20120816091759_create_question_sets.rb b/db/migrate/20120816091759_create_question_sets.rb new file mode 100644 index 0000000..0ddce2c --- /dev/null +++ b/db/migrate/20120816091759_create_question_sets.rb @@ -0,0 +1,14 @@ +class CreateQuestionSets < ActiveRecord::Migration + def change + create_table :question_sets do |t| + t.references :survey_item + t.references :survey_set + t.string :content + t.boolean :boolean_content + + t.timestamps + end + add_index :question_sets, :survey_item_id + add_index :question_sets, :survey_set_id + end +end diff --git a/db/migrate/20120816091837_create_answer_sets.rb b/db/migrate/20120816091837_create_answer_sets.rb new file mode 100644 index 0000000..b248d1e --- /dev/null +++ b/db/migrate/20120816091837_create_answer_sets.rb @@ -0,0 +1,13 @@ +class CreateAnswerSets < ActiveRecord::Migration + def change + create_table :answer_sets do |t| + t.references :question_set + t.references :survey_item_answer + t.text :content + t.boolean :is_checked + t.timestamps + end + add_index :answer_sets, :question_set_id + add_index :answer_sets, :survey_item_answer_id + end +end diff --git a/db/schema.rb b/db/schema.rb new file mode 100644 index 0000000..e08529d --- /dev/null +++ b/db/schema.rb @@ -0,0 +1,94 @@ +# encoding: UTF-8 +# This file is auto-generated from the current state of the database. Instead +# of editing this file, please use the migrations feature of Active Record to +# incrementally modify your database, and then regenerate this schema definition. +# +# Note that this schema.rb definition is the authoritative source for your +# database schema. If you need to create the application database on another +# system, you should be using db:schema:load, not running all the migrations +# from scratch. The latter is a flawed and unsustainable approach (the more migrations +# you'll amass, the slower it'll run and the greater likelihood for issues). +# +# It's strongly recommended to check this file into your version control system. + +ActiveRecord::Schema.define(:version => 20120816091837) do + + create_table "answer_sets", :force => true do |t| + t.integer "question_set_id" + t.integer "survey_item_answer_id" + t.text "content" + t.boolean "is_checked" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + add_index "answer_sets", ["question_set_id"], :name => "index_answer_sets_on_question_set_id" + add_index "answer_sets", ["survey_item_answer_id"], :name => "index_answer_sets_on_survey_item_answer_id" + + create_table "question_sets", :force => true do |t| + t.integer "survey_item_id" + t.integer "survey_set_id" + t.string "content" + t.boolean "boolean_content" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + add_index "question_sets", ["survey_item_id"], :name => "index_question_sets_on_survey_item_id" + add_index "question_sets", ["survey_set_id"], :name => "index_question_sets_on_survey_set_id" + + create_table "survey_item_answers", :force => true do |t| + t.text "label_text" + t.text "help_text" + t.string "class_text" + t.integer "field_type" + t.integer "data_type" + t.integer "survey_item_id" + t.boolean "locked" + t.boolean "archived" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + add_index "survey_item_answers", ["survey_item_id"], :name => "index_survey_item_answers_on_survey_item_id" + + create_table "survey_items", :force => true do |t| + t.integer "item_type" + t.text "title" + t.text "description" + t.text "help" + t.integer "questions_type" + t.integer "display_type" + t.integer "survey_type_id" + t.integer "string_type" + t.boolean "locked" + t.boolean "archived" + t.integer "text_presentation" + t.integer "max_checkboxes" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + add_index "survey_items", ["survey_type_id"], :name => "index_survey_items_on_survey_type_id" + + create_table "survey_sets", :force => true do |t| + t.integer "survey_type_id" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + add_index "survey_sets", ["survey_type_id"], :name => "index_survey_sets_on_survey_type_id" + + create_table "survey_types", :force => true do |t| + t.string "name" + t.string "slug" + t.text "description" + t.text "thank_text" + t.text "intro_text" + t.boolean "locked" + t.boolean "archived" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + +end diff --git a/db/seeds.rb b/db/seeds.rb new file mode 100644 index 0000000..27dddee --- /dev/null +++ b/db/seeds.rb @@ -0,0 +1,80 @@ +# -*- encoding : utf-8 -*- + +# This file should contain all the record creation needed to seed the database with its default values. +# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup). +# +# Examples: +# +# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }]) +# Mayor.create(name: 'Emanuel', city: cities.first) + + +@survey = SurveyType.create(:name => "Votre avis sur les sorties du Pic Vert", :slug => "08-12-avis-sorties", :description => "Ce petit questionnaire nous permettra de mieux connaître vos attentes et de mieux y répondre.") + +@survey.items.build(:questions_type => 1, :title => "Avez-vous déjà participé à une sortie organisée par Le Pic Vert ?", :item_type => 1) + +item = @survey.items.build(:questions_type => 3, :title => "A quelle moment préfèreriez-vous participer à une sortie ?", :item_type => 1) +item.answers.build(:label_text => "le matin", :field_type => 1) +item.answers.build(:label_text => "l’après midi", :field_type => 1) +item.answers.build(:label_text => "en semaine", :field_type => 1) +item.answers.build(:label_text => "le weekend", :field_type => 1) + + + +item = @survey.items.build(:questions_type => 3, :title => "Quelle est la durée idéale d’une sortie pour vous ?", :item_type => 1) +item.answers.build(:label_text => "une demie journée", :field_type => 1) +item.answers.build(:label_text => "une journée", :field_type => 1) +item.answers.build(:label_text => "voyage organisé sur un weekend ou plusieurs jours", :field_type => 1) + + + + + + +@survey.items.build(:questions_type => 1, :title => "La fréquence actuelle des sorties vous convient-elle ?", :item_type => 1) + + + +item = @survey.items.build(:questions_type => 3, :title => "Quels sont les thèmes que vous préférez ?", :item_type => 1) +item.answers.build(:label_text => "oiseaux", :field_type => 1) +item.answers.build(:label_text => "traces et indices", :field_type => 1) +item.answers.build(:label_text => "mammifères", :field_type => 1) +item.answers.build(:label_text => "flore", :field_type => 1) +item.answers.build(:label_text => "jardin", :field_type => 1) +item.answers.build(:label_text => "visite de site", :field_type => 1) +item.answers.build(:label_text => "cabanes d’observation", :field_type => 1) +item.answers.build(:label_text => "lecture de paysage", :field_type => 1) + + + + + +item = @survey.items.build(:questions_type => 2, :title => "Par quel(s) moyen(s) prenez-vous connaissance des sorties actuellement ?", :item_type => 1) + + + +@survey.items.build(:questions_type => 1, :title => "Êtes-vous satisfait de ce(s) mode(s) d’information(s) ?", :item_type => 1) + + + + +item = @survey.items.build(:questions_type => 3, :title => "Comment aimeriez-vous être informé des sorties du Pic Vert ?", :item_type => 1) +item.answers.build(:label_text => "mail", :field_type => 1) +item.answers.build(:label_text => "agenda de La Plume", :field_type => 1) +item.answers.build(:label_text => "agenda du site internet", :field_type => 1) +item.answers.build(:label_text => "agenda spécial mensuel ou trimestriel à imprimer", :field_type => 1) +item.answers.build(:label_text => "autres", :field_type => 2) + + +@survey.items.build(:questions_type => 1, :title => "Souhaiteriez-vous faire du covoiturage pour vous rendre sur le lieu d'une sortie ?", :item_type => 1) + + +item = @survey.items.build(:questions_type => 2, :text_presentation => 2, :title => "Avez-vous des remarques ou commentaires à faire à propos des sorties organisée par l’association ?", :item_type => 1) + + +@survey.save + + + +@survey_set = @survey.to_survey_set + \ No newline at end of file diff --git a/doc/README_FOR_APP b/doc/README_FOR_APP new file mode 100644 index 0000000..fe41f5c --- /dev/null +++ b/doc/README_FOR_APP @@ -0,0 +1,2 @@ +Use this README file to introduce your application and point to useful places in the API for learning more. +Run "rake doc:app" to generate API documentation for your models, controllers, helpers, and libraries. diff --git a/lib/assets/.gitkeep b/lib/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/lib/tasks/.gitkeep b/lib/tasks/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/log/.gitkeep b/log/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/public/404.html b/public/404.html new file mode 100644 index 0000000..9a48320 --- /dev/null +++ b/public/404.html @@ -0,0 +1,26 @@ + + + + The page you were looking for doesn't exist (404) + + + + + +

+ + diff --git a/public/422.html b/public/422.html new file mode 100644 index 0000000..83660ab --- /dev/null +++ b/public/422.html @@ -0,0 +1,26 @@ + + + + The change you wanted was rejected (422) + + + + + +
+

The change you wanted was rejected.

+

Maybe you tried to change something you didn't have access to.

+
+ + diff --git a/public/500.html b/public/500.html new file mode 100644 index 0000000..f3648a0 --- /dev/null +++ b/public/500.html @@ -0,0 +1,25 @@ + + + + We're sorry, but something went wrong (500) + + + + + +
+

We're sorry, but something went wrong.

+
+ + diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..e69de29 diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..085187f --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,5 @@ +# See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file +# +# To ban all spiders from the entire site uncomment the next two lines: +# User-Agent: * +# Disallow: / diff --git a/script/rails b/script/rails new file mode 100755 index 0000000..f8da2cf --- /dev/null +++ b/script/rails @@ -0,0 +1,6 @@ +#!/usr/bin/env ruby +# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. + +APP_PATH = File.expand_path('../../config/application', __FILE__) +require File.expand_path('../../config/boot', __FILE__) +require 'rails/commands' diff --git a/test/fixtures/.gitkeep b/test/fixtures/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/test/fixtures/answer_sets.yml b/test/fixtures/answer_sets.yml new file mode 100644 index 0000000..84517dc --- /dev/null +++ b/test/fixtures/answer_sets.yml @@ -0,0 +1,11 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + question_set: + survey_item_answer: + content: MyText + +two: + question_set: + survey_item_answer: + content: MyText diff --git a/test/fixtures/question_sets.yml b/test/fixtures/question_sets.yml new file mode 100644 index 0000000..1b4b029 --- /dev/null +++ b/test/fixtures/question_sets.yml @@ -0,0 +1,9 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + survey_item: + survey_set: + +two: + survey_item: + survey_set: diff --git a/test/fixtures/survey_item_answers.yml b/test/fixtures/survey_item_answers.yml new file mode 100644 index 0000000..bfb791b --- /dev/null +++ b/test/fixtures/survey_item_answers.yml @@ -0,0 +1,17 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + label_text: MyText + help_text: MyText + class_text: MyString + field_type: 1 + data_type: 1 + survey_item: + +two: + label_text: MyText + help_text: MyText + class_text: MyString + field_type: 1 + data_type: 1 + survey_item: diff --git a/test/fixtures/survey_items.yml b/test/fixtures/survey_items.yml new file mode 100644 index 0000000..d54ecb2 --- /dev/null +++ b/test/fixtures/survey_items.yml @@ -0,0 +1,21 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + item_type: 1 + title: MyText + description: MyText + help: MyText + questions_type: 1 + display_type: 1 + survey_type: + string_type: 1 + +two: + item_type: 1 + title: MyText + description: MyText + help: MyText + questions_type: 1 + display_type: 1 + survey_type: + string_type: 1 diff --git a/test/fixtures/survey_sets.yml b/test/fixtures/survey_sets.yml new file mode 100644 index 0000000..3713fbf --- /dev/null +++ b/test/fixtures/survey_sets.yml @@ -0,0 +1,7 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + survey_type: + +two: + survey_type: diff --git a/test/fixtures/survey_types.yml b/test/fixtures/survey_types.yml new file mode 100644 index 0000000..db879f3 --- /dev/null +++ b/test/fixtures/survey_types.yml @@ -0,0 +1,13 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + name: MyString + description: MyText + thank_text: MyText + intro_text: MyText + +two: + name: MyString + description: MyText + thank_text: MyText + intro_text: MyText diff --git a/test/functional/.gitkeep b/test/functional/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/test/functional/surveys_controller_test.rb b/test/functional/surveys_controller_test.rb new file mode 100644 index 0000000..2aaad93 --- /dev/null +++ b/test/functional/surveys_controller_test.rb @@ -0,0 +1,9 @@ +require 'test_helper' + +class SurveysControllerTest < ActionController::TestCase + test "should get index" do + get :index + assert_response :success + end + +end diff --git a/test/integration/.gitkeep b/test/integration/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/test/performance/browsing_test.rb b/test/performance/browsing_test.rb new file mode 100644 index 0000000..3fea27b --- /dev/null +++ b/test/performance/browsing_test.rb @@ -0,0 +1,12 @@ +require 'test_helper' +require 'rails/performance_test_help' + +class BrowsingTest < ActionDispatch::PerformanceTest + # Refer to the documentation for all available options + # self.profile_options = { :runs => 5, :metrics => [:wall_time, :memory] + # :output => 'tmp/performance', :formats => [:flat] } + + def test_homepage + get '/' + end +end diff --git a/test/test_helper.rb b/test/test_helper.rb new file mode 100644 index 0000000..8bf1192 --- /dev/null +++ b/test/test_helper.rb @@ -0,0 +1,13 @@ +ENV["RAILS_ENV"] = "test" +require File.expand_path('../../config/environment', __FILE__) +require 'rails/test_help' + +class ActiveSupport::TestCase + # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order. + # + # Note: You'll currently still have to declare fixtures explicitly in integration tests + # -- they do not yet inherit this setting + fixtures :all + + # Add more helper methods to be used by all tests here... +end diff --git a/test/unit/.gitkeep b/test/unit/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/test/unit/answer_set_test.rb b/test/unit/answer_set_test.rb new file mode 100644 index 0000000..558eec2 --- /dev/null +++ b/test/unit/answer_set_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class AnswerSetTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/helpers/surveys_helper_test.rb b/test/unit/helpers/surveys_helper_test.rb new file mode 100644 index 0000000..bb32978 --- /dev/null +++ b/test/unit/helpers/surveys_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class SurveysHelperTest < ActionView::TestCase +end diff --git a/test/unit/question_set_test.rb b/test/unit/question_set_test.rb new file mode 100644 index 0000000..5880142 --- /dev/null +++ b/test/unit/question_set_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class QuestionSetTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/survey_item_answer_test.rb b/test/unit/survey_item_answer_test.rb new file mode 100644 index 0000000..1a90895 --- /dev/null +++ b/test/unit/survey_item_answer_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class SurveyItemAnswerTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/survey_item_test.rb b/test/unit/survey_item_test.rb new file mode 100644 index 0000000..78f70ca --- /dev/null +++ b/test/unit/survey_item_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class SurveyItemTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/survey_set_test.rb b/test/unit/survey_set_test.rb new file mode 100644 index 0000000..95fbfe0 --- /dev/null +++ b/test/unit/survey_set_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class SurveySetTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/survey_type_test.rb b/test/unit/survey_type_test.rb new file mode 100644 index 0000000..3b98a5a --- /dev/null +++ b/test/unit/survey_type_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class SurveyTypeTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/vendor/assets/javascripts/.gitkeep b/vendor/assets/javascripts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/vendor/assets/stylesheets/.gitkeep b/vendor/assets/stylesheets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/vendor/plugins/.gitkeep b/vendor/plugins/.gitkeep new file mode 100644 index 0000000..e69de29