typus 3.1.0.rc9 → 3.1.0.rc10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. data/Gemfile +21 -20
  2. data/app/helpers/admin/resources/data_types/date_helper.rb +2 -2
  3. data/app/helpers/admin/resources/data_types/datetime_helper.rb +3 -3
  4. data/app/helpers/admin/resources/data_types/has_and_belongs_to_many_helper.rb +1 -1
  5. data/app/helpers/admin/resources/data_types/has_many_helper.rb +1 -1
  6. data/app/helpers/admin/resources/data_types/string_helper.rb +8 -8
  7. data/app/themes/default/assets/javascripts/typus.js +2 -3
  8. data/app/themes/default/assets/javascripts/typus/jquery.application.js +31 -27
  9. data/app/themes/default/assets/stylesheets/typus.css +2 -2
  10. data/app/themes/default/views/admin/templates/_text_with_ckeditor.html.erb +1 -1
  11. data/app/themes/default/views/admin/templates/_text_with_ckeditor_and_assets.html.erb +1 -1
  12. data/lib/typus/authentication/session.rb +7 -1
  13. data/lib/typus/controller/actions.rb +0 -13
  14. data/lib/typus/orm/active_record/search.rb +2 -2
  15. data/lib/typus/version.rb +1 -1
  16. data/typus.gemspec +1 -0
  17. data/vendor/assets/{images → fancybox}/blank.gif +0 -0
  18. data/vendor/assets/{images → fancybox}/fancy_close.png +0 -0
  19. data/vendor/assets/{images → fancybox}/fancy_loading.png +0 -0
  20. data/vendor/assets/{images → fancybox}/fancy_nav_left.png +0 -0
  21. data/vendor/assets/{images → fancybox}/fancy_nav_right.png +0 -0
  22. data/vendor/assets/{images → fancybox}/fancy_shadow_e.png +0 -0
  23. data/vendor/assets/{images → fancybox}/fancy_shadow_n.png +0 -0
  24. data/vendor/assets/{images → fancybox}/fancy_shadow_ne.png +0 -0
  25. data/vendor/assets/{images → fancybox}/fancy_shadow_nw.png +0 -0
  26. data/vendor/assets/{images → fancybox}/fancy_shadow_s.png +0 -0
  27. data/vendor/assets/{images → fancybox}/fancy_shadow_se.png +0 -0
  28. data/vendor/assets/{images → fancybox}/fancy_shadow_sw.png +0 -0
  29. data/vendor/assets/{images → fancybox}/fancy_shadow_w.png +0 -0
  30. data/vendor/assets/{images → fancybox}/fancy_title_left.png +0 -0
  31. data/vendor/assets/{images → fancybox}/fancy_title_main.png +0 -0
  32. data/vendor/assets/{images → fancybox}/fancy_title_over.png +0 -0
  33. data/vendor/assets/{images → fancybox}/fancy_title_right.png +0 -0
  34. data/vendor/assets/{images → fancybox}/fancybox-x.png +0 -0
  35. data/vendor/assets/{images → fancybox}/fancybox-y.png +0 -0
  36. data/vendor/assets/{images → fancybox}/fancybox.png +0 -0
  37. data/vendor/assets/fancybox/jquery.easing-1.3.pack.js +72 -0
  38. data/vendor/assets/{stylesheets → fancybox}/jquery.fancybox-1.3.4.css +0 -0
  39. data/vendor/assets/fancybox/jquery.fancybox-1.3.4.js +1156 -0
  40. data/vendor/assets/{javascripts → fancybox}/jquery.fancybox-1.3.4.pack.js +0 -0
  41. data/vendor/assets/fancybox/jquery.mousewheel-3.0.4.pack.js +14 -0
  42. data/vendor/assets/{javascripts → jquery-searchField}/jquery.searchField.js +0 -0
  43. data/vendor/assets/{javascripts → jquery-tokeninput}/jquery.tokeninput.js +0 -0
  44. data/vendor/assets/{stylesheets → jquery-tokeninput}/token-input.css +0 -0
  45. metadata +57 -44
  46. data/vendor/assets/javascripts/jquery.rails.autocomplete.js +0 -32
data/Gemfile CHANGED
@@ -3,13 +3,14 @@ source 'http://rubygems.org'
3
3
  # Specify your gem's dependencies in typus.gemspec
4
4
  gemspec
5
5
 
6
- gem 'sqlite3'
7
- gem 'jquery-rails'
6
+ gem "sqlite3"
7
+ gem "jquery-rails"
8
+ gem "ckeditor-rails", "0.0.2"
8
9
 
9
10
  # And this stuff needed for the demo application.
10
- gem 'acts_as_list'
11
- gem 'acts_as_tree'
12
- gem 'factory_girl'
11
+ gem "acts_as_list"
12
+ gem "acts_as_tree"
13
+ gem "factory_girl"
13
14
  gem "rails-trash", "~> 1.1.1"
14
15
 
15
16
  # Asset Management
@@ -18,42 +19,42 @@ gem "rack-cache", :require => "rack/cache"
18
19
  gem "paperclip"
19
20
 
20
21
  group :test do
21
- gem 'shoulda-context'
22
- gem 'mocha' # Make sure mocha is loaded at the end ...
22
+ gem "shoulda-context"
23
+ gem "mocha" # Make sure mocha is loaded at the end ...
23
24
  end
24
25
 
25
26
  group :development, :test do
26
27
 
27
28
  platforms :jruby do
28
- gem 'activerecord-jdbc-adapter', :require => false
29
+ gem "activerecord-jdbc-adapter", :require => false
29
30
 
30
- gem 'jdbc-mysql'
31
- gem 'jdbc-postgres'
32
- gem 'jdbc-sqlite3'
31
+ gem "jdbc-mysql"
32
+ gem "jdbc-postgres"
33
+ gem "jdbc-sqlite3"
33
34
 
34
- gem 'jruby-openssl' # JRuby limited openssl loaded. http://jruby.org/openssl
35
+ gem "jruby-openssl" # JRuby limited openssl loaded. http://jruby.org/openssl
35
36
  end
36
37
 
37
38
  platforms :ruby do
38
- gem 'mysql2'
39
- gem 'pg'
40
- gem 'sqlite3'
39
+ gem "mysql2"
40
+ gem "pg"
41
+ gem "sqlite3"
41
42
  end
42
43
 
43
44
  end
44
45
 
45
46
  group :production do
46
47
 
47
- # gem 'mongoid'
48
+ # gem "mongoid"
48
49
 
49
50
  platforms :jruby do
50
- gem 'activerecord-jdbc-adapter'
51
- gem 'jdbc-sqlite3'
51
+ gem "activerecord-jdbc-adapter"
52
+ gem "jdbc-sqlite3"
52
53
  end
53
54
 
54
55
  platforms :ruby do
55
- # gem 'bson_ext'
56
- gem 'sqlite3'
56
+ # gem "bson_ext"
57
+ gem "sqlite3"
57
58
  end
58
59
 
59
60
  end
@@ -6,7 +6,7 @@ module Admin::Resources::DataTypes::DateHelper
6
6
  items += values.map { |v| [Typus::I18n.t(v.humanize), v] }
7
7
  end
8
8
 
9
- alias :datetime_filter :date_filter
10
- alias :timestamp_filter :date_filter
9
+ alias_method :datetime_filter, :date_filter
10
+ alias_method :timestamp_filter, :date_filter
11
11
 
12
12
  end
@@ -6,9 +6,9 @@ module Admin::Resources::DataTypes::DatetimeHelper
6
6
  end
7
7
  end
8
8
 
9
- alias :table_date_field :table_datetime_field
10
- alias :table_time_field :table_datetime_field
11
- alias :table_timestamp_field :table_datetime_field
9
+ alias_method :table_date_field, :table_datetime_field
10
+ alias_method :table_time_field, :table_datetime_field
11
+ alias_method :table_timestamp_field, :table_datetime_field
12
12
 
13
13
  def display_datetime(item, attribute)
14
14
  I18n.l(item.send(attribute), :format => @resource.typus_date_format(attribute))
@@ -4,7 +4,7 @@ module Admin::Resources::DataTypes::HasAndBelongsToManyHelper
4
4
  item.send(attribute).map { |i| i.to_label }.join(", ")
5
5
  end
6
6
 
7
- alias :table_has_many_field :table_has_and_belongs_to_many_field
7
+ alias_method :table_has_many_field, :table_has_and_belongs_to_many_field
8
8
 
9
9
  def typus_form_has_and_belongs_to_many(field)
10
10
  setup_relationship(field)
@@ -9,7 +9,7 @@ module Admin::Resources::DataTypes::HasManyHelper
9
9
  items += resource.order(resource.typus_order_by).map { |v| [v.to_label, v.id] }
10
10
  end
11
11
 
12
- alias :has_and_belongs_to_many_filter :has_many_filter
12
+ alias_method :has_and_belongs_to_many_filter, :has_many_filter
13
13
 
14
14
  def typus_form_has_many(field)
15
15
  setup_relationship(field)
@@ -4,11 +4,11 @@ module Admin::Resources::DataTypes::StringHelper
4
4
  item.send(attribute)
5
5
  end
6
6
 
7
- alias_method :display_text, :display_string
8
- alias_method :display_position, :display_string
9
- alias_method :display_integer, :display_string
10
7
  alias_method :display_decimal, :display_string
11
8
  alias_method :display_float, :display_string
9
+ alias_method :display_integer, :display_string
10
+ alias_method :display_position, :display_string
11
+ alias_method :display_text, :display_string
12
12
 
13
13
  def string_filter(filter)
14
14
  values = set_context.send(filter.to_s).to_a
@@ -22,10 +22,10 @@ module Admin::Resources::DataTypes::StringHelper
22
22
  (raw_content = item.send(attribute)).present? ? raw_content : "—".html_safe
23
23
  end
24
24
 
25
- alias :table_decimal_field :table_string_field
26
- alias :table_float_field :table_string_field
27
- alias :table_integer_field :table_string_field
28
- alias :table_virtual_field :table_string_field
29
- alias :table_password_field :table_string_field
25
+ alias_method :table_decimal_field, :table_string_field
26
+ alias_method :table_float_field, :table_string_field
27
+ alias_method :table_integer_field, :table_string_field
28
+ alias_method :table_virtual_field, :table_string_field
29
+ alias_method :table_password_field, :table_string_field
30
30
 
31
31
  end
@@ -1,8 +1,7 @@
1
1
  //= require jquery
2
2
  //= require jquery_ujs
3
- //= require jquery.fancybox-1.3.4.pack.js
4
- //= require jquery.rails.autocomplete
3
+ //= require jquery.fancybox-1.3.4.pack
5
4
  //= require jquery.searchField
6
- //= require jquery.tokeninput.js
5
+ //= require jquery.tokeninput
7
6
  //= require typus/jquery.application
8
7
  //= require typus/application
@@ -1,44 +1,48 @@
1
+ var CKEDITOR_BASEPATH = '/assets/ckeditor/';
2
+
1
3
  $(document).ready(function() {
2
4
 
3
- $("#quicksearch").searchField();
5
+ $("#quicksearch").searchField();
4
6
 
5
- $('.resource :input', document.myForm).bind("change", function() { setConfirmUnload(true); });
7
+ $('.resource :input', document.myForm).bind("change", function() { setConfirmUnload(true); });
6
8
 
7
- $("a.fancybox").fancybox({
8
- 'titlePosition': 'over',
9
- 'type': 'image',
10
- 'centerOnScroll': true,
11
- 'scrolling': false,
12
- });
9
+ $("a.fancybox").fancybox({
10
+ 'titlePosition': 'over',
11
+ 'type': 'image',
12
+ 'centerOnScroll': true,
13
+ 'scrolling': false,
14
+ });
13
15
 
14
- $(".iframe").fancybox({
15
- 'width': 720,
16
- 'height': '90%',
17
- 'autoScale': false,
18
- 'transitionIn': 'none',
19
- 'transitionOut': 'none',
20
- 'type': 'iframe',
21
- 'centerOnScroll': true,
22
- 'scrolling': false,
23
- });
16
+ $(".iframe").fancybox({
17
+ 'width': 720,
18
+ 'height': '90%',
19
+ 'autoScale': false,
20
+ 'transitionIn': 'none',
21
+ 'transitionOut': 'none',
22
+ 'type': 'iframe',
23
+ 'centerOnScroll': true,
24
+ 'scrolling': false,
25
+ });
24
26
 
27
+ // This method is used by Typus::Controller::Bulk
25
28
  $(".action-toggle").click(function() {
26
- var status = this.checked;
27
- $('input.action-select').each(function() { this.checked = status; });
28
- $('.action-toggle').each(function() { this.checked = status; });
29
+ var status = this.checked;
30
+ $('input.action-select').each(function() { this.checked = status; });
31
+ $('.action-toggle').each(function() { this.checked = status; });
29
32
  });
30
33
 
31
- if ($('textarea.ckeditor').length > 0) {
32
- var data = $('textarea');
33
- $.each(data, function(i) { CKEDITOR.replace(data[i].id); });
34
- }
34
+ // This method is used by `text_with_ckeditor` template.
35
+ if ($('textarea.ckeditor').length > 0) {
36
+ var data = $('textarea');
37
+ $.each(data, function(i) { CKEDITOR.replace(data[i].id); });
38
+ }
35
39
 
36
40
  });
37
41
 
38
42
  function setConfirmUnload(on) {
39
- window.onbeforeunload = (on) ? unloadMessage : null;
43
+ window.onbeforeunload = (on) ? unloadMessage : null;
40
44
  }
41
45
 
42
46
  function unloadMessage() {
43
- return "You have entered new data on this page. If you navigate away from this page without first saving your data, the changes will be lost.";
47
+ return "You have entered new data on this page. If you navigate away from this page without first saving your data, the changes will be lost.";
44
48
  }
@@ -1,6 +1,6 @@
1
1
  /*
2
- *= require jquery.fancybox-1.3.4.css
3
- *= require token-input.css
2
+ *= require jquery.fancybox-1.3.4
3
+ *= require token-input
4
4
  *= require typus/reset
5
5
  *= require typus/screen
6
6
  *= require typus/pagination
@@ -1,5 +1,5 @@
1
1
  <% content_for :javascripts do %>
2
- <%= javascript_include_tag 'ckeditor' %>
2
+ <%= javascript_include_tag 'ckeditor/ckeditor' %>
3
3
  <% end %>
4
4
 
5
5
  <%
@@ -1,5 +1,5 @@
1
1
  <% content_for :javascripts do %>
2
- <%= javascript_include_tag 'ckeditor' %>
2
+ <%= javascript_include_tag 'ckeditor/ckeditor' %>
3
3
  <% end %>
4
4
 
5
5
  <%
@@ -59,7 +59,13 @@ module Typus
59
59
  # Admin can update himself except setting the status to false!. Other
60
60
  # users can update their profile as the attributes (role & status)
61
61
  # are protected.
62
- not_allowed if (admin_user.is_not_root? && !is_current_user) || current_user_is_root
62
+ status_changed = !(@item.status == params[@object_name][:status])
63
+ role_changed = !(@item.role == params[@object_name][:role])
64
+
65
+ root_changed_his_status_or_role = current_user_is_root && (status_changed || role_changed)
66
+ not_root_tries_to_change_another_user = admin_user.is_not_root? && !is_current_user
67
+
68
+ not_allowed if root_changed_his_status_or_role || not_root_tries_to_change_another_user
63
69
  end
64
70
  end
65
71
 
@@ -2,11 +2,6 @@ module Typus
2
2
  module Controller
3
3
  module Actions
4
4
 
5
- def self.included(base)
6
- # base.helper_method :resource_actions
7
- # base.helper_method :resources_actions
8
- end
9
-
10
5
  protected
11
6
 
12
7
  ##
@@ -44,10 +39,6 @@ module Typus
44
39
  @resource_actions = @resource_actions.concat([args]) unless args.empty?
45
40
  end
46
41
 
47
- # def resource_actions
48
- # @resource_actions ||= []
49
- # end
50
-
51
42
  ##
52
43
  # @resources_actions is used to build a list of custom actions which will
53
44
  # be appended beside "<h2></h2>" all the actions.
@@ -76,10 +67,6 @@ module Typus
76
67
  @resources_actions = @resources_actions.concat([args]) unless args.empty?
77
68
  end
78
69
 
79
- # def resources_actions
80
- # @resources_actions ||= []
81
- # end
82
-
83
70
  end
84
71
  end
85
72
  end
@@ -59,8 +59,8 @@ module Typus
59
59
  { key => value }
60
60
  end
61
61
 
62
- alias :build_integer_conditions :build_string_conditions
63
- alias :build_belongs_to_conditions :build_string_conditions
62
+ alias_method :build_integer_conditions, :build_string_conditions
63
+ alias_method :build_belongs_to_conditions, :build_string_conditions
64
64
 
65
65
  def build_has_many_conditions(key, value)
66
66
  # TODO: Detect the primary_key for this object.
@@ -1,3 +1,3 @@
1
1
  module Typus
2
- VERSION = "3.1.0.rc9"
2
+ VERSION = "3.1.0.rc10"
3
3
  end
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
21
21
  s.test_files = []
22
22
  s.require_paths = ["lib"]
23
23
 
24
+ s.add_development_dependency "ckeditor-rails", "0.0.2"
24
25
  s.add_development_dependency "dragonfly", "~> 0.9"
25
26
  s.add_development_dependency "jquery-rails"
26
27
  s.add_development_dependency "paperclip"
@@ -0,0 +1,72 @@
1
+ /*
2
+ * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
3
+ *
4
+ * Uses the built in easing capabilities added In jQuery 1.1
5
+ * to offer multiple easing options
6
+ *
7
+ * TERMS OF USE - jQuery Easing
8
+ *
9
+ * Open source under the BSD License.
10
+ *
11
+ * Copyright © 2008 George McGinley Smith
12
+ * All rights reserved.
13
+ *
14
+ * Redistribution and use in source and binary forms, with or without modification,
15
+ * are permitted provided that the following conditions are met:
16
+ *
17
+ * Redistributions of source code must retain the above copyright notice, this list of
18
+ * conditions and the following disclaimer.
19
+ * Redistributions in binary form must reproduce the above copyright notice, this list
20
+ * of conditions and the following disclaimer in the documentation and/or other materials
21
+ * provided with the distribution.
22
+ *
23
+ * Neither the name of the author nor the names of contributors may be used to endorse
24
+ * or promote products derived from this software without specific prior written permission.
25
+ *
26
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
27
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
28
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
29
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
31
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
32
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
33
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
34
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
35
+ *
36
+ */
37
+
38
+ // t: current time, b: begInnIng value, c: change In value, d: duration
39
+ eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('h.i[\'1a\']=h.i[\'z\'];h.O(h.i,{y:\'D\',z:9(x,t,b,c,d){6 h.i[h.i.y](x,t,b,c,d)},17:9(x,t,b,c,d){6 c*(t/=d)*t+b},D:9(x,t,b,c,d){6-c*(t/=d)*(t-2)+b},13:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t+b;6-c/2*((--t)*(t-2)-1)+b},X:9(x,t,b,c,d){6 c*(t/=d)*t*t+b},U:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t+1)+b},R:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t+b;6 c/2*((t-=2)*t*t+2)+b},N:9(x,t,b,c,d){6 c*(t/=d)*t*t*t+b},M:9(x,t,b,c,d){6-c*((t=t/d-1)*t*t*t-1)+b},L:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t+b;6-c/2*((t-=2)*t*t*t-2)+b},K:9(x,t,b,c,d){6 c*(t/=d)*t*t*t*t+b},J:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t*t*t+1)+b},I:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t*t+b;6 c/2*((t-=2)*t*t*t*t+2)+b},G:9(x,t,b,c,d){6-c*8.C(t/d*(8.g/2))+c+b},15:9(x,t,b,c,d){6 c*8.n(t/d*(8.g/2))+b},12:9(x,t,b,c,d){6-c/2*(8.C(8.g*t/d)-1)+b},Z:9(x,t,b,c,d){6(t==0)?b:c*8.j(2,10*(t/d-1))+b},Y:9(x,t,b,c,d){6(t==d)?b+c:c*(-8.j(2,-10*t/d)+1)+b},W:9(x,t,b,c,d){e(t==0)6 b;e(t==d)6 b+c;e((t/=d/2)<1)6 c/2*8.j(2,10*(t-1))+b;6 c/2*(-8.j(2,-10*--t)+2)+b},V:9(x,t,b,c,d){6-c*(8.o(1-(t/=d)*t)-1)+b},S:9(x,t,b,c,d){6 c*8.o(1-(t=t/d-1)*t)+b},Q:9(x,t,b,c,d){e((t/=d/2)<1)6-c/2*(8.o(1-t*t)-1)+b;6 c/2*(8.o(1-(t-=2)*t)+1)+b},P:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6-(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b},H:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6 a*8.j(2,-10*t)*8.n((t*d-s)*(2*8.g)/p)+c+b},T:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d/2)==2)6 b+c;e(!p)p=d*(.3*1.5);e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);e(t<1)6-.5*(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b;6 a*8.j(2,-10*(t-=1))*8.n((t*d-s)*(2*8.g)/p)*.5+c+b},F:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*(t/=d)*t*((s+1)*t-s)+b},E:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},16:9(x,t,b,c,d,s){e(s==u)s=1.l;e((t/=d/2)<1)6 c/2*(t*t*(((s*=(1.B))+1)*t-s))+b;6 c/2*((t-=2)*t*(((s*=(1.B))+1)*t+s)+2)+b},A:9(x,t,b,c,d){6 c-h.i.v(x,d-t,0,c,d)+b},v:9(x,t,b,c,d){e((t/=d)<(1/2.k)){6 c*(7.q*t*t)+b}m e(t<(2/2.k)){6 c*(7.q*(t-=(1.5/2.k))*t+.k)+b}m e(t<(2.5/2.k)){6 c*(7.q*(t-=(2.14/2.k))*t+.11)+b}m{6 c*(7.q*(t-=(2.18/2.k))*t+.19)+b}},1b:9(x,t,b,c,d){e(t<d/2)6 h.i.A(x,t*2,0,c,d)*.5+b;6 h.i.v(x,t*2-d,0,c,d)*.5+c*.5+b}});',62,74,'||||||return||Math|function|||||if|var|PI|jQuery|easing|pow|75|70158|else|sin|sqrt||5625|asin|||undefined|easeOutBounce|abs||def|swing|easeInBounce|525|cos|easeOutQuad|easeOutBack|easeInBack|easeInSine|easeOutElastic|easeInOutQuint|easeOutQuint|easeInQuint|easeInOutQuart|easeOutQuart|easeInQuart|extend|easeInElastic|easeInOutCirc|easeInOutCubic|easeOutCirc|easeInOutElastic|easeOutCubic|easeInCirc|easeInOutExpo|easeInCubic|easeOutExpo|easeInExpo||9375|easeInOutSine|easeInOutQuad|25|easeOutSine|easeInOutBack|easeInQuad|625|984375|jswing|easeInOutBounce'.split('|'),0,{}))
40
+
41
+ /*
42
+ *
43
+ * TERMS OF USE - EASING EQUATIONS
44
+ *
45
+ * Open source under the BSD License.
46
+ *
47
+ * Copyright © 2001 Robert Penner
48
+ * All rights reserved.
49
+ *
50
+ * Redistribution and use in source and binary forms, with or without modification,
51
+ * are permitted provided that the following conditions are met:
52
+ *
53
+ * Redistributions of source code must retain the above copyright notice, this list of
54
+ * conditions and the following disclaimer.
55
+ * Redistributions in binary form must reproduce the above copyright notice, this list
56
+ * of conditions and the following disclaimer in the documentation and/or other materials
57
+ * provided with the distribution.
58
+ *
59
+ * Neither the name of the author nor the names of contributors may be used to endorse
60
+ * or promote products derived from this software without specific prior written permission.
61
+ *
62
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
63
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
64
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
65
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
66
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
67
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
68
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
69
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
70
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
71
+ *
72
+ */