clipster 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. data/MIT-LICENSE +20 -20
  2. data/README.md +96 -92
  3. data/Rakefile +34 -34
  4. data/app/assets/javascripts/clipster/ZeroClipboard.min.js +2 -2
  5. data/app/assets/javascripts/clipster/about.js +2 -2
  6. data/app/assets/javascripts/clipster/alertify.min.js +11 -11
  7. data/app/assets/javascripts/clipster/application.js +19 -19
  8. data/app/assets/javascripts/clipster/bootstrap.min.js +5 -5
  9. data/app/assets/javascripts/clipster/clips.js +8 -8
  10. data/app/assets/javascripts/clipster/modernizr-2.6.2.min.js +4 -0
  11. data/app/assets/javascripts/clipster/users.js +2 -2
  12. data/app/assets/stylesheets/clipster/about.css +7 -7
  13. data/app/assets/stylesheets/clipster/alertify.css +154 -154
  14. data/app/assets/stylesheets/clipster/application.css +27 -27
  15. data/app/assets/stylesheets/clipster/bootstrap.css +5774 -5774
  16. data/app/assets/stylesheets/clipster/clips.css +88 -84
  17. data/app/assets/stylesheets/clipster/users.css +4 -4
  18. data/app/controllers/clipster/about_controller.rb +8 -8
  19. data/app/controllers/clipster/application_controller.rb +14 -14
  20. data/app/controllers/clipster/clips_controller.rb +113 -69
  21. data/app/controllers/clipster/users_controller.rb +17 -17
  22. data/app/helpers/clipster/about_helper.rb +4 -4
  23. data/app/helpers/clipster/application_helper.rb +19 -19
  24. data/app/helpers/clipster/clips_helper.rb +4 -4
  25. data/app/helpers/clipster/users_helper.rb +4 -4
  26. data/app/models/clipster/clip.rb +105 -99
  27. data/app/views/clipster/about/index.html.erb +47 -47
  28. data/app/views/clipster/clips/clips.atom.builder +19 -19
  29. data/app/views/clipster/clips/clips.html.erb +54 -54
  30. data/app/views/clipster/clips/new.html.erb +82 -82
  31. data/app/views/clipster/clips/show.html.erb +27 -27
  32. data/app/views/clipster/common/_clip.html.erb +2 -2
  33. data/app/views/clipster/common/_includes.html.erb +1 -1
  34. data/app/views/clipster/common/_languages.html.erb +5 -5
  35. data/app/views/clipster/users/index.html.erb +2 -2
  36. data/app/views/clipster/users/show.html.erb +45 -45
  37. data/app/views/kaminari/_first_page.html.erb +3 -3
  38. data/app/views/kaminari/_gap.html.erb +3 -3
  39. data/app/views/kaminari/_last_page.html.erb +3 -3
  40. data/app/views/kaminari/_next_page.html.erb +3 -3
  41. data/app/views/kaminari/_page.html.erb +3 -3
  42. data/app/views/kaminari/_paginator.html.erb +17 -17
  43. data/app/views/kaminari/_prev_page.html.erb +3 -3
  44. data/app/views/layouts/clipster/application.html.erb +66 -66
  45. data/config/initializers/clipster.rb +12 -12
  46. data/config/routes.rb +16 -15
  47. data/config/schedule.rb +10 -10
  48. data/db/migrate/20121126185058_create_clipster_clips.rb +18 -18
  49. data/lib/clipster.rb +5 -5
  50. data/lib/clipster/configuration.rb +22 -22
  51. data/lib/clipster/engine.rb +24 -24
  52. data/lib/clipster/version.rb +3 -3
  53. data/lib/generators/clipster/install_generator.rb +22 -22
  54. data/lib/generators/templates/_includes.html.erb +1 -1
  55. data/lib/generators/templates/clipster.rb +12 -12
  56. data/lib/tasks/clipster_tasks.rake +4 -4
  57. metadata +4 -4
  58. data/app/views/clipster/clips/show.text.erb +0 -1
@@ -1,20 +1,20 @@
1
- Copyright 2012 Kyle Bock, Daniel White
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+ Copyright 2013 Kyle Bock, Daniel White
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,92 +1,96 @@
1
- # Clipster
2
-
3
- [<img src="https://secure.travis-ci.org/kwbock/clipster.png" alt="Build Status" />](http://travis-ci.org/kwbock/clipster)
4
- [![Dependency Status](https://gemnasium.com/kwbock/clipster.png)](https://gemnasium.com/kwbock/clipster)
5
- [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/kwbock/clipster)
6
-
7
- Code snippets before they were cool.
8
-
9
- An OpenSource Rails engine to add clipboard code sharing to your existing Ruby on Rails applications. Great for internal code sharing. Try it out at http://www.developerdan.com/clipster
10
- * Features
11
- * Syntax highlighting
12
- * Expiring clips
13
- * Public and private clips
14
- * Atom Feed for public clips
15
- * Optional user integration
16
-
17
- ## Production
18
-
19
- Add clipster to your Gemfile and then bundle install
20
-
21
- gem 'clipster'
22
- bundle install
23
-
24
- or if you aren't using Bundler, run
25
-
26
- gem install 'clipster'
27
-
28
- Mount the Clipster Engine in your applcations routes.rb like follows.
29
-
30
- mount Clipster::Engine, :at => '/clipster'
31
-
32
- cd to your apps root and run
33
-
34
- rails g clipster:install
35
- rake db:migrate
36
-
37
- Restart your application and you should be able to access the engine at http://domain.tld/clipster
38
-
39
- ## Development
40
-
41
- cd into your test application directory's lib folder and run the following
42
-
43
- git clone https://github.com/kwbock/clipster.git
44
-
45
- Add the following to your app's Gemfile
46
-
47
- gem 'clipster', :path => './lib/clipster'
48
-
49
- Add the following to your app's routes.rb
50
-
51
- mount Clipster::Engine, :at => '/clipster'
52
-
53
- cd to your apps root and run
54
-
55
- rake clipster:install:migrations
56
- rake db:migrate
57
-
58
- Launch your server and navigate to https://localhost:3000/clipster to confirm the engine was mounted correctly
59
-
60
- ## Enabling User Intgration
61
-
62
-
63
- * Edit the `clipster.rb` initializer to enable user integration with Clipster.
64
- * set `config.associates_clip_with_user = true`
65
- * set `config.user_class = "YourUserClass"` if your users class is something other than `User`. NOTE: user_class must be a string.
66
- * set `config.user_display_attribute = "display field"` if your display field is something other than `email`.
67
- * NOTE: Clipster's user integration default settings are set up for [Devise](https://github.com/plataformatec/devise). Following the standard Devise install and enabling `config.associates_clip_with_user = true` is the minimum necessary to enable user integration.
68
-
69
- Restart your application and you should be able to access the engine at http://domain.tld/clipster
70
-
71
- ### Contributing
72
-
73
- Please see the [contribution guidelines](https://github.com/kwbock/clipster/blob/master/CONTRIBUTION_GUIDELINES.md).
74
-
75
- ### Upgrade Notes
76
-
77
- * v0.4.1 may break backwards compatibility due to some changes to the Clip model. It may be best to start with a fresh clips table with 0.4.1.
78
-
79
- ### Created Using
80
- * [Alertify](https://github.com/fabien-d/alertify.js/)
81
- * [Bootstrap](http://twitter.github.com/bootstrap/)
82
- * [CodeRay](http://coderay.rubychan.de/)
83
- * [Database Cleaner](https://github.com/bmabey/database_cleaner)
84
- * [DynamicForm](https://github.com/joelmoss/dynamic_form)
85
- * [Factory Girl](https://github.com/thoughtbot/factory_girl)
86
- * [jQuery for Rails](https://github.com/indirect/jquery-rails)
87
- * [Kaminari](https://github.com/amatsuda/kaminari)
88
- * [RSpec for Rails](https://github.com/rspec/rspec-rails)
89
- * [Ruby on Rails](http://rubyonrails.org/)
90
- * [Sqlite](https://www.sqlite.org/)
91
- * [Whenever](https://github.com/javan/whenever)
92
- * [Zero Clipboard](https://github.com/jonrohan/ZeroClipboard)
1
+ # Clipster
2
+
3
+ [<img src="https://secure.travis-ci.org/kwbock/clipster.png" alt="Build Status" />](http://travis-ci.org/kwbock/clipster)
4
+ [![Dependency Status](https://gemnasium.com/kwbock/clipster.png)](https://gemnasium.com/kwbock/clipster)
5
+ [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/kwbock/clipster)
6
+
7
+ Code snippets before they were cool.
8
+
9
+ An OpenSource Rails engine to add clipboard code sharing to your existing Ruby on Rails applications. Great for internal code sharing. Try it out at http://www.developerdan.com/clipster
10
+ * Features
11
+ * Syntax highlighting
12
+ * Expiring clips
13
+ * Public and private clips
14
+ * Atom Feed for public clips
15
+ * Optional user integration
16
+
17
+ ## Production
18
+
19
+ Add clipster to your Gemfile and then bundle install
20
+
21
+ gem 'clipster'
22
+ bundle install
23
+
24
+ or if you aren't using Bundler, run
25
+
26
+ gem install 'clipster'
27
+
28
+ Mount the Clipster Engine in your applcations routes.rb like follows.
29
+
30
+ mount Clipster::Engine, :at => '/clipster'
31
+
32
+ cd to your apps root and run
33
+
34
+ rails g clipster:install
35
+ rake db:migrate
36
+
37
+ Restart your application and you should be able to access the engine at http://domain.tld/clipster
38
+
39
+ ## Development
40
+
41
+ cd into your test application directory's lib folder and run the following
42
+
43
+ git clone https://github.com/kwbock/clipster.git
44
+
45
+ Add the following to your app's Gemfile
46
+
47
+ gem 'clipster', :path => './lib/clipster'
48
+
49
+ Add the following to your app's routes.rb
50
+
51
+ mount Clipster::Engine, :at => '/clipster'
52
+
53
+ cd to your apps root and run
54
+
55
+ rake clipster:install:migrations
56
+ rake db:migrate
57
+
58
+ Launch your server and navigate to https://localhost:3000/clipster to confirm the engine was mounted correctly
59
+
60
+ ## Enabling User Intgration
61
+
62
+
63
+ * Edit the `clipster.rb` initializer to enable user integration with Clipster.
64
+ * set `config.associates_clip_with_user = true`
65
+ * set `config.user_class = "YourUserClass"` if your users class is something other than `User`. NOTE: user_class must be a string.
66
+ * set `config.user_display_attribute = "display field"` if your display field is something other than `email`.
67
+ * NOTE: Clipster's user integration default settings are set up for [Devise](https://github.com/plataformatec/devise). Following the standard Devise install and enabling `config.associates_clip_with_user = true` is the minimum necessary to enable user integration.
68
+
69
+ Restart your application and you should be able to access the engine at http://domain.tld/clipster
70
+
71
+ ## API
72
+
73
+ Clipster has both XML and JSON API support. Using the API you can create, view, search, and browse clips. Visit the [wiki page](https://github.com/kwbock/clipster/wiki/API) for examples.
74
+
75
+ ### Contributing
76
+
77
+ Please see the [contribution guidelines](https://github.com/kwbock/clipster/blob/master/CONTRIBUTION_GUIDELINES.md).
78
+
79
+ ### Upgrade Notes
80
+
81
+ * v0.4.1 may break backwards compatibility due to some changes to the Clip model. It may be best to start with a fresh clips table with 0.4.1.
82
+
83
+ ### Created Using
84
+ * [Alertify](https://github.com/fabien-d/alertify.js/)
85
+ * [Bootstrap](http://twitter.github.com/bootstrap/)
86
+ * [CodeRay](http://coderay.rubychan.de/)
87
+ * [Database Cleaner](https://github.com/bmabey/database_cleaner)
88
+ * [DynamicForm](https://github.com/joelmoss/dynamic_form)
89
+ * [Factory Girl](https://github.com/thoughtbot/factory_girl)
90
+ * [jQuery for Rails](https://github.com/indirect/jquery-rails)
91
+ * [Kaminari](https://github.com/amatsuda/kaminari)
92
+ * [RSpec for Rails](https://github.com/rspec/rspec-rails)
93
+ * [Ruby on Rails](http://rubyonrails.org/)
94
+ * [Sqlite](https://www.sqlite.org/)
95
+ * [Whenever](https://github.com/javan/whenever)
96
+ * [Zero Clipboard](https://github.com/jonrohan/ZeroClipboard)
data/Rakefile CHANGED
@@ -1,34 +1,34 @@
1
- #!/usr/bin/env rake
2
- begin
3
- require 'bundler/setup'
4
- rescue LoadError
5
- puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
- end
7
- begin
8
- require 'rdoc/task'
9
- rescue LoadError
10
- require 'rdoc/rdoc'
11
- require 'rake/rdoctask'
12
- RDoc::Task = Rake::RDocTask
13
- end
14
-
15
- RDoc::Task.new(:rdoc) do |rdoc|
16
- rdoc.rdoc_dir = 'rdoc'
17
- rdoc.title = 'Clipster'
18
- rdoc.options << '--line-numbers'
19
- rdoc.rdoc_files.include('README.rdoc')
20
- rdoc.rdoc_files.include('lib/**/*.rb')
21
- end
22
-
23
- APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
24
- load 'rails/tasks/engine.rake'
25
-
26
-
27
-
28
- Bundler::GemHelper.install_tasks
29
-
30
- require 'rspec/core/rake_task'
31
- RSpec::Core::RakeTask.new(:spec)
32
-
33
-
34
- task :default => :spec
1
+ #!/usr/bin/env rake
2
+ begin
3
+ require 'bundler/setup'
4
+ rescue LoadError
5
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
+ end
7
+ begin
8
+ require 'rdoc/task'
9
+ rescue LoadError
10
+ require 'rdoc/rdoc'
11
+ require 'rake/rdoctask'
12
+ RDoc::Task = Rake::RDocTask
13
+ end
14
+
15
+ RDoc::Task.new(:rdoc) do |rdoc|
16
+ rdoc.rdoc_dir = 'rdoc'
17
+ rdoc.title = 'Clipster'
18
+ rdoc.options << '--line-numbers'
19
+ rdoc.rdoc_files.include('README.rdoc')
20
+ rdoc.rdoc_files.include('lib/**/*.rb')
21
+ end
22
+
23
+ APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
24
+ load 'rails/tasks/engine.rake'
25
+
26
+
27
+
28
+ Bundler::GemHelper.install_tasks
29
+
30
+ require 'rspec/core/rake_task'
31
+ RSpec::Core::RakeTask.new(:spec)
32
+
33
+
34
+ task :default => :spec
@@ -1,3 +1,3 @@
1
- // Simple Set Clipboard System
2
- // Author: Joseph Huckaby
1
+ // Simple Set Clipboard System
2
+ // Author: Joseph Huckaby
3
3
  window.ZeroClipboard={version:"1.0.8",clients:{},moviePath:"ZeroClipboard.swf",nextId:1,$:function(a){return typeof a=="string"&&(a=document.getElementById(a)),a.addClass||(a.hide=function(){this.style.display="none"},a.show=function(){this.style.display=""},a.addClass=function(a){this.removeClass(a),this.className+=" "+a},a.removeClass=function(a){var b=this.className.split(/\s+/),c=-1;for(var d=0;d<b.length;d++)b[d]==a&&(c=d,d=b.length);return c>-1&&(b.splice(c,1),this.className=b.join(" ")),this},a.hasClass=function(a){return!!this.className.match(new RegExp("\\s*"+a+"\\s*"))}),a},setMoviePath:function(a){this.moviePath=a},newClient:function(){return new ZeroClipboard.Client},dispatch:function(a,b,c){var d=this.clients[a];d&&d.receiveEvent(b,c)},register:function(a,b){this.clients[a]=b},getDOMObjectPosition:function(a,b){var c={left:0,top:0,width:a.width?a.width:a.offsetWidth,height:a.height?a.height:a.offsetHeight};while(a&&a!=b)c.left+=a.offsetLeft,c.left+=a.style.borderLeftWidth?parseInt(a.style.borderLeftWidth):0,c.top+=a.offsetTop,c.top+=a.style.borderTopWidth?parseInt(a.style.borderTopWidth):0,a=a.offsetParent;return c},Client:function(a){this.handlers={},this.id=ZeroClipboard.nextId++,this.movieId="ZeroClipboardMovie_"+this.id,ZeroClipboard.register(this.id,this),a&&this.glue(a)}},ZeroClipboard.Client.prototype={id:0,title:"",ready:!1,movie:null,clipText:"",handCursorEnabled:!0,cssEffects:!0,handlers:null,zIndex:99,glue:function(a,b,c){this.domElement=ZeroClipboard.$(a),this.domElement.style.zIndex&&(this.zIndex=parseInt(this.domElement.style.zIndex,10)+1),this.domElement.getAttribute("title")!=null&&(this.title=this.domElement.getAttribute("title")),typeof b=="string"?b=ZeroClipboard.$(b):typeof b=="undefined"&&(b=document.getElementsByTagName("body")[0]);var d=ZeroClipboard.getDOMObjectPosition(this.domElement,b);this.div=document.createElement("div");var e=this.div.style;e.position="absolute",e.left=""+d.left+"px",e.top=""+d.top+"px",e.width=""+d.width+"px",e.height=""+d.height+"px",e.zIndex=this.zIndex;if(typeof c=="object")for(var f in c)e[f]=c[f];b.appendChild(this.div),this.div.innerHTML=this.getHTML(d.width,d.height)},getHTML:function(a,b){var c="",d="id="+this.id+"&width="+a+"&height="+b,e=this.title?' title="'+this.title+'"':"";if(navigator.userAgent.match(/MSIE/)){var f=location.href.match(/^https/i)?"https://":"http://";c+="<object"+e+' classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="'+f+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="'+a+'" height="'+b+'" id="'+this.movieId+'"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+ZeroClipboard.moviePath+'" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="'+d+'"/><param name="wmode" value="transparent"/></object>'}else c+="<embed"+e+' id="'+this.movieId+'" src="'+ZeroClipboard.moviePath+'" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="'+a+'" height="'+b+'" name="'+this.movieId+'" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="'+d+'" wmode="transparent" />';return c},hide:function(){this.div&&(this.div.style.left="-2000px")},show:function(){this.reposition()},destroy:function(){if(this.domElement&&this.div){this.hide(),this.div.innerHTML="";var a=document.getElementsByTagName("body")[0];try{a.removeChild(this.div)}catch(b){}this.domElement=null,this.div=null}},reposition:function(a){a&&(this.domElement=ZeroClipboard.$(a),this.domElement||this.hide());if(this.domElement&&this.div){var b=ZeroClipboard.getDOMObjectPosition(this.domElement),c=this.div.style;c.left=""+b.left+"px",c.top=""+b.top+"px"}},setText:function(a){this.clipText=a,this.ready&&this.movie.setText(a)},setTitle:function(a){this.title=a},addEventListener:function(a,b){a=a.toString().toLowerCase().replace(/^on/,""),this.handlers[a]||(this.handlers[a]=[]),this.handlers[a].push(b)},setHandCursor:function(a){this.handCursorEnabled=a,this.ready&&this.movie.setHandCursor(a)},setCSSEffects:function(a){this.cssEffects=!!a},receiveEvent:function(a,b){a=a.toString().toLowerCase().replace(/^on/,"");switch(a){case"load":this.movie=document.getElementById(this.movieId);if(!this.movie){var c=this;setTimeout(function(){c.receiveEvent("load",null)},1);return}if(!this.ready&&navigator.userAgent.match(/Firefox/)&&navigator.userAgent.match(/Windows/)){var c=this;setTimeout(function(){c.receiveEvent("load",null)},100),this.ready=!0;return}this.ready=!0,this.movie.setText(this.clipText),this.movie.setHandCursor(this.handCursorEnabled);break;case"mouseover":this.domElement&&this.cssEffects&&(this.domElement.addClass("hover"),this.recoverActive&&this.domElement.addClass("active"));break;case"mouseout":this.domElement&&this.cssEffects&&(this.recoverActive=!1,this.domElement.hasClass("active")&&(this.domElement.removeClass("active"),this.recoverActive=!0),this.domElement.removeClass("hover"));break;case"mousedown":this.domElement&&this.cssEffects&&this.domElement.addClass("active");break;case"mouseup":this.domElement&&this.cssEffects&&(this.domElement.removeClass("active"),this.recoverActive=!1)}if(this.handlers[a])for(var d=0,e=this.handlers[a].length;d<e;d++){var f=this.handlers[a][d];typeof f=="function"?f(this,b):typeof f=="object"&&f.length==2?f[0][f[1]](this,b):typeof f=="string"&&window[f](this,b)}}},typeof module!="undefined"&&(module.exports=ZeroClipboard);
@@ -1,2 +1,2 @@
1
- // Place all the behaviors and hooks related to the matching controller here.
2
- // All this logic will automatically be available in application.js.
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
@@ -1,12 +1,12 @@
1
- /**
2
- * Alertify
3
- * An unobtrusive customizable JavaScript notification system
4
- *
5
- * @author Fabien Doiron <fabien.doiron@gmail.com>
6
- * @copyright Fabien Doiron 2012
7
- * @license MIT <http://opensource.org/licenses/mit-license.php>
8
- * @link http://www.github.com/fabien-d
9
- * @module Alertify
10
- * @version 0.1.3
11
- */
1
+ /**
2
+ * Alertify
3
+ * An unobtrusive customizable JavaScript notification system
4
+ *
5
+ * @author Fabien Doiron <fabien.doiron@gmail.com>
6
+ * @copyright Fabien Doiron 2012
7
+ * @license MIT <http://opensource.org/licenses/mit-license.php>
8
+ * @link http://www.github.com/fabien-d
9
+ * @module Alertify
10
+ * @version 0.1.3
11
+ */
12
12
  (function(e,t){"use strict";var n=e.document,r;r=function(){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T;return g={buttons:{holder:'<nav class="alertify-buttons">{{buttons}}</nav>',ok:'<a href="#" class="alertify-button alertify-button-ok" id="aOK">{{ok}}</a>',cancel:'<a href="#" class="alertify-button alertify-button-cancel" id="aCancel">{{cancel}}</a>'},input:'<input type="text" class="alertify-text" id="aText">',message:'<p class="alertify-message">{{message}}</p>',log:'<article class="alertify-log{{class}}">{{message}}</article>'},y=5e3,E={ENTER:13,ESC:27},S={ok:"OK",cancel:"Cancel"},T=[],w=!1,r=function(e){return n.getElementById(e)},i=function(e){var i=r("aOK")||t,o=r("aCancel")||t,u=r("aText")||t,f=typeof i!="undefined",l=typeof o!="undefined",c="",p,d,v,m;p=function(t){v(t),typeof u!="undefined"&&(c=u.value),typeof e=="function"&&e(!0,c),typeof t.preventDefault!="undefined"&&t.preventDefault()},d=function(t){v(t),typeof e=="function"&&e(!1),typeof t.preventDefault!="undefined"&&t.preventDefault()},v=function(e){a(),h(n.body,"keyup",m)},m=function(e){var t=e.keyCode;t===E.ENTER&&f?p(e):t===E.ESC&&l&&d(e)},f&&s(i,"click",p),l&&s(o,"click",d),n.activeElement.blur(),s(n.body,"keyup",m)},s=function(e,t,n){typeof e.addEventListener=="function"?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on"+t,n)},o=function(e){var t="",n=e.type,r=e.message;t+='<div class="alertify-dialog">',t+='<article class="alertify-inner">',t+=g.message.replace("{{message}}",r),n==="prompt"&&(t+=g.input),t+=g.buttons.holder,t+="</article>",t+="</div>";switch(n){case"confirm":case"prompt":t=t.replace("{{buttons}}",g.buttons.cancel+g.buttons.ok),t=t.replace("{{ok}}",S.ok).replace("{{cancel}}",S.cancel);break;case"alert":t=t.replace("{{buttons}}",g.buttons.ok),t=t.replace("{{ok}}",S.ok);break;default:}return b.className="alertify alertify-show alertify-"+n,m.className="alertify-cover",t},u=function(){setTimeout(function(){var e=x.childNodes[x.childNodes.length-1];typeof e!="undefined"&&x.removeChild(e)},y)},a=function(){T.splice(0,1),T.length>0?c():(w=!1,b.className="alertify alertify-hide alertify-hidden",m.className="alertify-cover alertify-hidden")},f=function(){n.createElement("nav"),n.createElement("article"),n.createElement("section"),m=n.createElement("div"),m.setAttribute("id","alertifycover"),m.className="alertify-cover alertify-hidden",n.body.appendChild(m),b=n.createElement("section"),b.setAttribute("id","alertify"),b.className="alertify alertify-hidden",n.body.appendChild(b),x=n.createElement("section"),x.setAttribute("id","alertifylogs"),x.className="alertify-logs",n.body.appendChild(x),delete this.init},l=function(e,t){var r=n.createElement("article");r.className="alertify-log"+(typeof t=="string"&&t!==""?" alertify-log-"+t:""),r.innerHTML=e,x.insertBefore(r,x.firstChild),setTimeout(function(){r.className=r.className+" alertify-log-show"},50),u()},c=function(){var t=T[0];w=!0,b.innerHTML=o(t),i(t.callback),t.type==="prompt"&&e.setTimeout(function(){n.getElementById("aText").focus()},0)},h=function(e,t,n){typeof e.removeEventListener=="function"?e.removeEventListener(t,n,!1):e.detachEvent&&e.detachEvent("on"+t,n)},p=function(e,t,n){var r=function(){if(b&&b.scrollTop!==null)return;r()};if(typeof e!="string")throw new Error("message must be a string");if(typeof t!="string")throw new Error("type must be a string");if(typeof n!="undefined"&&typeof n!="function")throw new Error("fn must be a function");return typeof this.init=="function"&&(this.init(),r()),T.push({type:t,message:e,callback:n}),w||c(),this},d=function(e){return function(t){v(t,e)}},v=function(e,t){var n=function(){if(x&&x.scrollTop!==null)return;n()};return typeof this.init=="function"&&(this.init(),n()),l(e,t),this},{alert:function(e,t){return p.call(this,e,"alert",t),this},confirm:function(e,t){return p.call(this,e,"confirm",t),this},extend:d,init:f,log:function(e,t){return v.call(this,e,t),this},prompt:function(e,t){return p.call(this,e,"prompt",t),this},success:function(e){return v.call(this,e,"success"),this},error:function(e){return v.call(this,e,"error"),this},delay:y,labels:S}},typeof define=="function"?define([],function(){return new r}):typeof e.alertify=="undefined"&&(e.alertify=new r)})(this);
@@ -1,20 +1,20 @@
1
- // This is a manifest file that'll be compiled into application.js, which will include all the files
2
- // listed below.
3
- //
4
- // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
- // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
- //
7
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // the compiled file.
9
- //
10
- // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
- // GO AFTER THE REQUIRES BELOW.
12
- //
13
- //= require jquery
14
- //= require jquery_ujs
15
- //= require_tree .
16
- $(document).ready(function () {
17
- $(".icon-search").click(function() {
18
- document.search_form.submit();
19
- });
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // the compiled file.
9
+ //
10
+ // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
+ // GO AFTER THE REQUIRES BELOW.
12
+ //
13
+ //= require jquery
14
+ //= require jquery_ujs
15
+ //= require_tree .
16
+ $(document).ready(function () {
17
+ $(".icon-search").click(function() {
18
+ document.search_form.submit();
19
+ });
20
20
  });
@@ -1,6 +1,6 @@
1
- /*!
2
- * Bootstrap.js by @fat & @mdo
3
- * Copyright 2012 Twitter, Inc.
4
- * http://www.apache.org/licenses/LICENSE-2.0.txt
5
- */
1
+ /*!
2
+ * Bootstrap.js by @fat & @mdo
3
+ * Copyright 2012 Twitter, Inc.
4
+ * http://www.apache.org/licenses/LICENSE-2.0.txt
5
+ */
6
6
  !function(e){e(function(){"use strict";e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(window.jQuery),!function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()},e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("alert");i||r.data("alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e(function(){e("body").on("click.alert.data-api",t,n.prototype.close)})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.data(),i=n.is("input")?"val":"html";e+="Text",r.resetText||n.data("resetText",n[i]()),n[i](r[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")},e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.defaults={loadingText:"loading..."},e.fn.button.Constructor=t,e(function(){e("body").on("click.button.data-api","[data-toggle^=button]",function(t){var n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=n,this.options.slide&&this.slide(this.options.slide),this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return t||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},to:function(t){var n=this.$element.find(".item.active"),r=n.parent().children(),i=r.index(n),s=this;if(t>r.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){s.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",e(r[t]))},pause:function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle()),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(t,n){var r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this,f=e.Event("slide",{relatedTarget:i[0]});this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u]();if(i.hasClass("active"))return;if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this}},e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("carousel"),s=e.extend({},e.fn.carousel.defaults,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e(function(){e("body").on("click.carousel.data-api","[data-slide]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=!i.data("modal")&&e.extend({},i.data(),n.data());i.carousel(s),t.preventDefault()})})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var e=this.$element.hasClass("width");return e?"width":"height"},show:function(){var t,n,r,i;if(this.transitioning)return;t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show"),"shown"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var t;if(this.transitioning)return;t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide"),"hidden"),this.$element[t](0)},reset:function(e){var t=this.dimension();return this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!==null?"addClass":"removeClass"]("collapse"),this},transition:function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=typeof n=="object"&&n;i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e(function(){e("body").on("click.collapse.data-api","[data-toggle=collapse]",function(t){var n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("collapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})})}(window.jQuery),!function(e){"use strict";function r(){i(e(t)).removeClass("open")}function i(t){var n=t.attr("data-target"),r;return n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=e(n),r.length||(r=t.parent()),r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||(s.toggleClass("open"),n.focus()),!1},keydown:function(t){var n,r,s,o,u,a;if(!/(38|40|27)/.test(t.keyCode))return;n=e(this),t.preventDefault(),t.stopPropagation();if(n.is(".disabled, :disabled"))return;o=i(n),u=o.hasClass("open");if(!u||u&&t.keyCode==27)return n.click();r=e("[role=menu] li:not(.divider) a",o);if(!r.length)return;a=r.index(r.filter(":focus")),t.keyCode==38&&a>0&&a--,t.keyCode==40&&a<r.length-1&&a++,~a||(a=0),r.eq(a).focus()}},e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.data("dropdown");i||r.data("dropdown",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e(function(){e("html").on("click.dropdown.data-api touchstart.dropdown.data-api",r),e("body").on("click.dropdown touchstart.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown.data-api touchstart.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api touchstart.dropdown.data-api",t+", [role=menu]",n.prototype.keydown)})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;e("body").addClass("modal-open"),this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fade");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1).focus(),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.trigger("shown")}):t.$element.trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,e("body").removeClass("modal-open"),this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(e){this.$element.hide().trigger("hidden"),this.backdrop()},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.options.backdrop!="static"&&this.$backdrop.click(e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,e.proxy(this.removeBackdrop,this)):this.removeBackdrop()):t&&t()}},e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e(function(){e("body").on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})})}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):this.options.trigger!="manual"&&(i=this.options.trigger=="hover"?"mouseenter":"focus",s=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this))),this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,t,this.$element.data()),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);if(!n.options.delay||!n.options.delay.show)return n.show();clearTimeout(this.timeout),n.hoverState="in",this.timeout=setTimeout(function(){n.hoverState=="in"&&n.show()},n.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var e,t,n,r,i,s,o;if(this.hasContent()&&this.enabled){e=this.tip(),this.setContent(),this.options.animation&&e.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,t=/in/.test(s),e.remove().css({top:0,left:0,display:"block"}).appendTo(t?this.$element:document.body),n=this.getPosition(t),r=e[0].offsetWidth,i=e[0].offsetHeight;switch(t?s.split(" ")[1]:s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}e.css(o).addClass(s).addClass("in")}},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function r(){var t=setTimeout(function(){n.off(e.support.transition.end).remove()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.remove()})}var t=this,n=this.tip();return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?r():n.remove(),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(t){return e.extend({},t?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover",title:"",delay:0,html:!0}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content > *")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-content")||(typeof n.content=="function"?n.content.call(t[0]):n.content),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'})}(window.jQuery),!function(e){"use strict";function t(t,n){var r=e.proxy(this.process,this),i=e(t).is("body")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on("scroll.scroll-spy.data-api",r),this.selector=(this.options.target||(s=e(t).attr("href"))&&s.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=e("body"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var t=e(this),n=t.data("target")||t.attr("href"),r=/^#\w/.test(n)&&e(n);return r&&r.length&&[[r.position().top,n]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var n,r;this.activeTarget=t,e(this.selector).parent(".active").removeClass("active"),r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parent("li").addClass("active"),n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate")}},e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("scrollspy"),s=typeof n=="object"&&n;i||r.data("scrollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype={constructor:t,show:function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target"),i,s,o;r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;i=n.find(".active a").last()[0],o=e.Event("show",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent("li"),n),this.activate(s,s.parent(),function(){t.trigger({type:"shown",relatedTarget:i})})},activate:function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")}},e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("tab");i||r.data("tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e(function(){e("body").on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.$menu=e(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var e=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:t.top+t.height,left:t.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(n=e.isFunction(this.source)?this.source(this.query,e.proxy(this.process,this)):this.source,n?this.process(n):this)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){var t=[],n=[],r=[],i;while(i=e.shift())i.toLowerCase().indexOf(this.query.toLowerCase())?~i.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return t.concat(n,r)},highlighter:function(e){var t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return e.replace(new RegExp("("+t+")","ig"),function(e,t){return"<strong>"+t+"</strong>"})},render:function(t){var n=this;return t=e(t).map(function(t,r){return t=e(n.options.item).attr("data-value",r),t.find("a").html(n.highlighter(r)),t[0]}),t.first().addClass("active"),this.$menu.html(t),this},next:function(t){var n=this.$menu.find(".active").removeClass("active"),r=n.next();r.length||(r=e(this.$menu.find("li")[0])),r.addClass("active")},prev:function(e){var t=this.$menu.find(".active").removeClass("active"),n=t.prev();n.length||(n=this.$menu.find("li").last()),n.addClass("active")},listen:function(){this.$element.on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),(e.browser.chrome||e.browser.webkit||e.browser.msie)&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this))},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=!~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},blur:function(e){var t=this;setTimeout(function(){t.hide()},150)},click:function(e){e.stopPropagation(),e.preventDefault(),this.select()},mouseenter:function(t){this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")}},e.fn.typeahead=function(n){return this.each(function(){var r=e(this),i=r.data("typeahead"),s=typeof n=="object"&&n;i||r.data("typeahead",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},e.fn.typeahead.Constructor=t,e(function(){e("body").on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;t.preventDefault(),n.typeahead(n.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))},e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("affix"),s=typeof n=="object"&&n;i||r.data("affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery);
@@ -1,8 +1,8 @@
1
- // Place all the behaviors and hooks related to the matching controller here.
2
- // All this logic will automatically be available in application.js.
3
-
4
- $(document).ready(function () {
5
- //enable all tool-tips
6
- $(".icon-question-sign").tooltip();
7
- });
8
-
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
3
+
4
+ $(document).ready(function () {
5
+ //enable all tool-tips
6
+ $(".icon-question-sign").tooltip();
7
+ });
8
+
@@ -0,0 +1,4 @@
1
+ /* Modernizr 2.6.2 (Custom Build) | MIT & BSD
2
+ * Build: http://modernizr.com/download/#-shiv-cssclasses-load
3
+ */
4
+ ;window.Modernizr=function(a,b,c){function u(a){j.cssText=a}function v(a,b){return u(prefixes.join(a+";")+(b||""))}function w(a,b){return typeof a===b}function x(a,b){return!!~(""+a).indexOf(b)}function y(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:w(f,"function")?f.bind(d||b):f}return!1}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m={},n={},o={},p=[],q=p.slice,r,s={}.hasOwnProperty,t;!w(s,"undefined")&&!w(s.call,"undefined")?t=function(a,b){return s.call(a,b)}:t=function(a,b){return b in a&&w(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=q.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(q.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(q.call(arguments)))};return e});for(var z in m)t(m,z)&&(r=z.toLowerCase(),e[r]=m[z](),p.push((e[r]?"":"no-")+r));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)t(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},u(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+p.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
@@ -1,2 +1,2 @@
1
- // Place all the behaviors and hooks related to the matching controller here.
2
- // All this logic will automatically be available in application.js.
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
@@ -1,8 +1,8 @@
1
- /*
2
- Place all the styles related to the matching controller here.
3
- They will automatically be included in application.css.
4
- */
5
- .developers {
6
- border-left: solid 1px #E5E5E5;
7
- text-align: center;
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
5
+ .developers {
6
+ border-left: solid 1px #E5E5E5;
7
+ text-align: center;
8
8
  }
@@ -1,155 +1,155 @@
1
- .alertify-show,
2
- .alertify-log {
3
- -webkit-transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1); /* older webkit */
4
- -webkit-transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
5
- -moz-transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
6
- -ms-transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
7
- -o-transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
8
- transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275); /* easeOutBack */
9
- }
10
- .alertify-hide {
11
- -webkit-transition: all 250ms cubic-bezier(0.600, 0, 0.735, 0.045); /* older webkit */
12
- -webkit-transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
13
- -moz-transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
14
- -ms-transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
15
- -o-transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
16
- transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045); /* easeInBack */
17
- }
18
- .alertify-cover {
19
- position: fixed; z-index: 99999;
20
- top: 0; right: 0; bottom: 0; left: 0;
21
- }
22
- .alertify {
23
- position: fixed; z-index: 99999;
24
- top: 50px; left: 50%;
25
- width: 550px;
26
- margin-left: -275px;
27
- }
28
- .alertify-hidden {
29
- top: -50px;
30
- visibility: hidden;
31
- }
32
- .alertify-logs {
33
- position: fixed;
34
- z-index: 5000;
35
- bottom: 10px;
36
- right: 10px;
37
- width: 300px;
38
- }
39
- .alertify-log {
40
- display: block;
41
- margin-top: 10px;
42
- position: relative;
43
- right: -300px;
44
- }
45
- .alertify-log-show {
46
- right: 0;
47
- }
48
- .alertify-dialog {
49
- padding: 25px;
50
- }
51
- .alertify-inner {
52
- text-align: center;
53
- }
54
- .alertify-text {
55
- margin-bottom: 15px;
56
- width: 100%;
57
- -webkit-box-sizing: border-box;
58
- -moz-box-sizing: border-box;
59
- box-sizing: border-box;
60
- font-size: 100%;
61
- }
62
- .alertify-buttons {
63
- }
64
- .alertify-button {
65
- display: inline-block;
66
- cursor: pointer;
67
- margin-left: 5px;
68
- }
69
-
70
- @media only screen and (max-width: 680px) {
71
- .alertify,
72
- .alertify-logs {
73
- width: 90%;
74
- -webkit-box-sizing: border-box;
75
- -moz-box-sizing: border-box;
76
- box-sizing: border-box;
77
- }
78
- .alertify {
79
- left: 5%;
80
- margin: 0;
81
- }
82
- }
83
-
84
- /**
85
- * Default Look and Feel
86
- */
87
- .alertify,
88
- .alertify-log {
89
- font-family: sans-serif;
90
- }
91
- .alertify {
92
- background: #FFF;
93
- border: 10px solid #333; /* browsers that don't support rgba */
94
- border: 10px solid rgba(0,0,0,.7);
95
- border-radius: 8px;
96
- box-shadow: 0 3px 3px rgba(0,0,0,.3);
97
- -webkit-background-clip: padding; /* Safari 4? Chrome 6? */
98
- -moz-background-clip: padding; /* Firefox 3.6 */
99
- background-clip: padding-box; /* Firefox 4, Safari 5, Opera 10, IE 9 */
100
- }
101
- .alertify-text {
102
- border: 1px solid #CCC;
103
- padding: 10px;
104
- border-radius: 4px;
105
- }
106
- .alertify-button {
107
- border-radius: 4px;
108
- color: #FFF;
109
- font-weight: bold;
110
- padding: 6px 15px;
111
- text-decoration: none;
112
- text-shadow: 1px 1px 0 rgba(0,0,0,.5);
113
- box-shadow: inset 0 1px 0 0 rgba(255,255,255,.5);
114
- background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
115
- background-image: -moz-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
116
- background-image: -ms-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
117
- background-image: -o-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
118
- background-image: linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
119
- }
120
- .alertify-button:hover,
121
- .alertify-button:focus {
122
- background-image: -webkit-linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
123
- background-image: -moz-linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
124
- background-image: -ms-linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
125
- background-image: -o-linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
126
- background-image: linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
127
- }
128
- .alertify-button:active {
129
- position: relative;
130
- top: 1px;
131
- }
132
- .alertify-button-cancel {
133
- background-color: #FE1A00;
134
- border: 1px solid #D83526;
135
- }
136
- .alertify-button-ok {
137
- background-color: #5CB811;
138
- border: 1px solid #3b7808;
139
- }
140
- .alertify-log {
141
- background: #1F1F1F;
142
- background: rgba(0,0,0,.9);
143
- padding: 15px;
144
- border-radius: 4px;
145
- color: #FFF;
146
- text-shadow: -1px -1px 0 rgba(0,0,0,.5);
147
- }
148
- .alertify-log-error {
149
- background: #FE1A00;
150
- background: rgba(254,26,0,.9);
151
- }
152
- .alertify-log-success {
153
- background: #5CB811;
154
- background: rgba(92,184,17,.9);
1
+ .alertify-show,
2
+ .alertify-log {
3
+ -webkit-transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1); /* older webkit */
4
+ -webkit-transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
5
+ -moz-transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
6
+ -ms-transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
7
+ -o-transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
8
+ transition: all 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275); /* easeOutBack */
9
+ }
10
+ .alertify-hide {
11
+ -webkit-transition: all 250ms cubic-bezier(0.600, 0, 0.735, 0.045); /* older webkit */
12
+ -webkit-transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
13
+ -moz-transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
14
+ -ms-transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
15
+ -o-transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045);
16
+ transition: all 250ms cubic-bezier(0.600, -0.280, 0.735, 0.045); /* easeInBack */
17
+ }
18
+ .alertify-cover {
19
+ position: fixed; z-index: 99999;
20
+ top: 0; right: 0; bottom: 0; left: 0;
21
+ }
22
+ .alertify {
23
+ position: fixed; z-index: 99999;
24
+ top: 50px; left: 50%;
25
+ width: 550px;
26
+ margin-left: -275px;
27
+ }
28
+ .alertify-hidden {
29
+ top: -50px;
30
+ visibility: hidden;
31
+ }
32
+ .alertify-logs {
33
+ position: fixed;
34
+ z-index: 5000;
35
+ bottom: 10px;
36
+ right: 10px;
37
+ width: 300px;
38
+ }
39
+ .alertify-log {
40
+ display: block;
41
+ margin-top: 10px;
42
+ position: relative;
43
+ right: -300px;
44
+ }
45
+ .alertify-log-show {
46
+ right: 0;
47
+ }
48
+ .alertify-dialog {
49
+ padding: 25px;
50
+ }
51
+ .alertify-inner {
52
+ text-align: center;
53
+ }
54
+ .alertify-text {
55
+ margin-bottom: 15px;
56
+ width: 100%;
57
+ -webkit-box-sizing: border-box;
58
+ -moz-box-sizing: border-box;
59
+ box-sizing: border-box;
60
+ font-size: 100%;
61
+ }
62
+ .alertify-buttons {
63
+ }
64
+ .alertify-button {
65
+ display: inline-block;
66
+ cursor: pointer;
67
+ margin-left: 5px;
68
+ }
69
+
70
+ @media only screen and (max-width: 680px) {
71
+ .alertify,
72
+ .alertify-logs {
73
+ width: 90%;
74
+ -webkit-box-sizing: border-box;
75
+ -moz-box-sizing: border-box;
76
+ box-sizing: border-box;
77
+ }
78
+ .alertify {
79
+ left: 5%;
80
+ margin: 0;
81
+ }
82
+ }
83
+
84
+ /**
85
+ * Default Look and Feel
86
+ */
87
+ .alertify,
88
+ .alertify-log {
89
+ font-family: sans-serif;
90
+ }
91
+ .alertify {
92
+ background: #FFF;
93
+ border: 10px solid #333; /* browsers that don't support rgba */
94
+ border: 10px solid rgba(0,0,0,.7);
95
+ border-radius: 8px;
96
+ box-shadow: 0 3px 3px rgba(0,0,0,.3);
97
+ -webkit-background-clip: padding; /* Safari 4? Chrome 6? */
98
+ -moz-background-clip: padding; /* Firefox 3.6 */
99
+ background-clip: padding-box; /* Firefox 4, Safari 5, Opera 10, IE 9 */
100
+ }
101
+ .alertify-text {
102
+ border: 1px solid #CCC;
103
+ padding: 10px;
104
+ border-radius: 4px;
105
+ }
106
+ .alertify-button {
107
+ border-radius: 4px;
108
+ color: #FFF;
109
+ font-weight: bold;
110
+ padding: 6px 15px;
111
+ text-decoration: none;
112
+ text-shadow: 1px 1px 0 rgba(0,0,0,.5);
113
+ box-shadow: inset 0 1px 0 0 rgba(255,255,255,.5);
114
+ background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
115
+ background-image: -moz-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
116
+ background-image: -ms-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
117
+ background-image: -o-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
118
+ background-image: linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0));
119
+ }
120
+ .alertify-button:hover,
121
+ .alertify-button:focus {
122
+ background-image: -webkit-linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
123
+ background-image: -moz-linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
124
+ background-image: -ms-linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
125
+ background-image: -o-linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
126
+ background-image: linear-gradient(top, rgba(0,0,0,.1), rgba(0,0,0,0));
127
+ }
128
+ .alertify-button:active {
129
+ position: relative;
130
+ top: 1px;
131
+ }
132
+ .alertify-button-cancel {
133
+ background-color: #FE1A00;
134
+ border: 1px solid #D83526;
135
+ }
136
+ .alertify-button-ok {
137
+ background-color: #5CB811;
138
+ border: 1px solid #3b7808;
139
+ }
140
+ .alertify-log {
141
+ background: #1F1F1F;
142
+ background: rgba(0,0,0,.9);
143
+ padding: 15px;
144
+ border-radius: 4px;
145
+ color: #FFF;
146
+ text-shadow: -1px -1px 0 rgba(0,0,0,.5);
147
+ }
148
+ .alertify-log-error {
149
+ background: #FE1A00;
150
+ background: rgba(254,26,0,.9);
151
+ }
152
+ .alertify-log-success {
153
+ background: #5CB811;
154
+ background: rgba(92,184,17,.9);
155
155
  }