social_stream-base 2.0.3 → 2.0.4

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 (32) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/social_stream-base.js +1 -0
  3. data/app/assets/javascripts/social_stream/relation_customs.js +2 -1
  4. data/app/assets/stylesheets/social_stream-base.css.sass +1 -0
  5. data/app/assets/stylesheets/social_stream/base/adjust/_adjust.css.sass +1 -4
  6. data/app/assets/stylesheets/social_stream/base/contacts/layouts/_contacts.css.sass +2 -0
  7. data/app/assets/stylesheets/social_stream/base/frontpage_devise/_frontpage.css.sass +1 -0
  8. data/app/assets/stylesheets/social_stream/base/logo/_logo-in.css +8 -7
  9. data/app/assets/stylesheets/social_stream/base/modals/layout/_modals.css.sass +4 -1
  10. data/app/assets/stylesheets/social_stream/base/profile/layout/_profile.css.sass +7 -6
  11. data/app/assets/stylesheets/social_stream/base/timeline/_wrapper_activities.css.sass +14 -6
  12. data/app/assets/stylesheets/social_stream/base/timeline/layout/_wrapper_activities.css.sass +1 -4
  13. data/app/views/layouts/_header_dropdown_menu.html.erb +3 -3
  14. data/app/views/layouts/application.html.erb +3 -3
  15. data/app/views/profiles/_personal.html.erb +16 -10
  16. data/app/views/profiles/_tags.html.erb +1 -1
  17. data/app/views/relation/customs/_index.html.erb +18 -0
  18. data/app/views/relation/customs/_list.html.erb +2 -1
  19. data/app/views/relation/customs/index.html.erb +2 -16
  20. data/config/locales/en.yml +5 -1
  21. data/config/locales/es.yml +4 -2
  22. data/config/locales/pt.yml +7 -3
  23. data/config/locales/zh.yml +5 -2
  24. data/lib/inherited_resources/social_stream.rb +11 -14
  25. data/lib/social_stream/base/engine.rb +1 -1
  26. data/lib/social_stream/base/version.rb +1 -1
  27. data/lib/social_stream/controllers/objects.rb +2 -4
  28. data/social_stream-base.gemspec +2 -2
  29. data/vendor/assets/javascripts/bootstrap-modal.js +1 -0
  30. data/vendor/assets/javascripts/bootstrap-scroll-modal.js +276 -0
  31. data/vendor/assets/stylesheets/bootstrap-scroll-modal.css +70 -0
  32. metadata +10 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cd89df7e42fd7901d1d336d47e00ea72d41ef925
4
- data.tar.gz: 6592c04a04bbe762b083916784660eb2c42ff851
3
+ metadata.gz: 2119bb019a0c4d4c11bf902e194e29e5f1274576
4
+ data.tar.gz: 76e260d1d53acbcf459fe95c1569b54ef9af4a3e
5
5
  SHA512:
6
- metadata.gz: 3033534f08f9cd002c68034f78e3429a33a3fa9a58db059ba7a3b644d249cc4c627f741b483e85a0e12af657bf17de878500e012e1428d21eeef81207c62b750
7
- data.tar.gz: 748c0a830f3fd30088dc402812b7fe38214e3836faec2177e253964554a25a25c593f998cf51feb2d4b05fce9eeda774d0def1dfcf2c6f93378a05e331ec9d86
6
+ metadata.gz: 68ae64af17f88595cad7ce80f1bc657a9d3b75750e38a63a55780efb1c4ff41e866471dd1dbbe635a29bf581c0bac7860d35adc49d2d5a01f1c8e95986057bb3
7
+ data.tar.gz: 9edc2c246fbc02b66f59926f878134d9da6900b97b1c13ec46d7c73db9a22dc3dd11323ce8835ff877e30b42cc9ebef916327ced09ed03d22e5066ef07fb5099
@@ -4,6 +4,7 @@
4
4
  //= require modernizr
5
5
  //= require bootstrap
6
6
  //= require bootstrap-multiselect
7
+ //= require bootstrap-scroll-modal
7
8
  //= require i18n
8
9
  //= require i18n/translations
9
10
  //= require flashy
@@ -1,9 +1,10 @@
1
1
  //= require social_stream/callback
2
+
2
3
  SocialStream.RelationCustom = (function(SS, $, undefined){
3
4
  var callback = new SS.Callback();
4
5
 
5
6
  var getListEl = function() {
6
- return $('#relation_customs .relation_list');
7
+ return $('.relation_list');
7
8
  };
8
9
 
9
10
  var getPermissionsPath = function() {
@@ -4,6 +4,7 @@
4
4
 
5
5
  @import "bootstrap"
6
6
  @import "bootstrap-responsive"
7
+ @import "bootstrap-scroll-modal"
7
8
 
8
9
 
9
10
 
@@ -23,8 +23,5 @@ textarea
23
23
  img
24
24
  @include border-radius(4px)
25
25
 
26
- #fdbk_tab
27
- background-color: $principalColor !important
28
26
 
29
- .jcrop-tracker
30
- background-color: rgba(255, 255, 255, .2)
27
+
@@ -52,6 +52,8 @@ input#group_name
52
52
  width: 175px
53
53
  display: inline-block
54
54
  margin-top: 11px
55
+ .name
56
+ @include ellipsis
55
57
  .info
56
58
  @include ellipsis
57
59
  z-index: 1
@@ -1,5 +1,6 @@
1
1
  #frontpage,
2
2
  #new_session
3
+ clear: both
3
4
 
4
5
  .explanation
5
6
  background-color: rgba(255, 255, 255, 0.8)
@@ -1,10 +1,11 @@
1
1
  .logo-header-in .cube {
2
2
  position:relative;
3
- left: -38px;
3
+ left: -44px;
4
+ margin-top: 7px;
4
5
  z-index: 2;
5
6
  float: left;
6
- -webkit-transform: rotate(10deg);
7
- -moz-transform: rotate(10deg);
7
+ -webkit-transform: rotate(6deg);
8
+ -moz-transform: rotate(6deg);
8
9
  }
9
10
 
10
11
  .logo-header-in .cube:hover {
@@ -12,20 +13,20 @@
12
13
  -moz-animation: float 2s infinite ease-in-out;
13
14
  -o-animation: float 2s infinite ease-in-out;
14
15
  animation: float 2s infinite ease-in-out;
15
- -webkit-transform: rotate(10deg);
16
- -moz-transform: rotate(10deg);
16
+
17
+ margin-top: 4px;
17
18
  }
18
19
 
19
20
  @-webkit-keyframes float {
20
21
  0% {
21
- -webkit-transform: translate(0px, 3px);
22
+ -webkit-transform: translate(0px, 2px);
22
23
  }
23
24
  50% {
24
25
  -webkit-transform: translate(0px, 0px);
25
26
 
26
27
  }
27
28
  100% {
28
- -webkit-transform: translate(0px, 3px);
29
+ -webkit-transform: translate(0px, 2px);
29
30
  }
30
31
  }
31
32
 
@@ -32,4 +32,7 @@
32
32
  padding-bottom: 50px
33
33
  .select2-container-multi
34
34
  .select2-choices
35
- @include gradient-directional($startColor: #f9f9f9, $endColor: #f1f1f1, $deg: 45deg)
35
+ @include gradient-directional($startColor: #f9f9f9, $endColor: #f1f1f1, $deg: 45deg)
36
+ .modal-wrapper
37
+ .modal
38
+ min-height: 600px
@@ -32,13 +32,15 @@
32
32
  @include grid-core-span(12, $fluidGridColumnWidth, $fluidGridGutterWidth)
33
33
  background-color: $white
34
34
  margin-left: 0px
35
- padding: 12px 0px 3px 0px !important
35
+ padding: 12px 0px 32px 0px !important
36
36
  form.edit_profile
37
37
  padding: 0 14px
38
38
  input
39
39
  &[type="submit"]
40
+ @include btn-primary
41
+ @include border-radius(5px)
40
42
  float: right
41
- margin-top: -10px
43
+ margin-top: 10px
42
44
  margin-right: 9px
43
45
 
44
46
 
@@ -99,14 +101,13 @@
99
101
  .update
100
102
  .jcrop-holder
101
103
  width: 100% !important
104
+ background: $black
102
105
  div
103
106
  img
104
- max-width: 90%
105
- max-height: 90%
106
107
  margin: 0 auto
107
108
  position: relative
108
109
  div
109
- img
110
- visibility: hidden !important
110
+ overflow: hidden
111
+
111
112
 
112
113
 
@@ -64,12 +64,20 @@
64
64
  .new_document
65
65
  display: inline
66
66
  padding: 1px 6px 4px 6px
67
- .form-privacy
68
- display: inline-block
69
- @include btn-add
70
- .btn-group
71
- button
72
- padding: 4px 12px 4px 8px
67
+
68
+ .form-privacy
69
+ display: inline-block
70
+ @include btn-add
71
+ .btn-group
72
+ button
73
+ padding: 4px 12px 4px 8px
74
+ label
75
+ font-size: 14px
76
+ font-weight: bold
77
+ letter-spacing: 1px
78
+ line-height: 20px
79
+ color: #333
80
+
73
81
 
74
82
 
75
83
  #post_text
@@ -38,13 +38,10 @@
38
38
  display: inline-block
39
39
  .dropdown-menu
40
40
  li
41
- margin-left: 0px
42
- padding-left: 7px
43
41
  a
44
42
  padding: 0px !important
45
43
  label
46
- margin-left: 0px
47
- padding: 0px 16px 0px 0px!important
44
+ margin-left: 7px
48
45
  &:hover
49
46
  background: $principalColor
50
47
  color: $auxiliarColor
@@ -7,16 +7,16 @@
7
7
  <ul class="dropdown-menu">
8
8
  <%= render :partial => 'layouts/header_dropdown_menu_sessions'%>
9
9
 
10
- <li>
10
+ <li class="notifications-menu">
11
11
  <%= link_to t('dropdown.notifications'), notifications_path, :id => "btn_menu_settings" %>
12
12
  </li>
13
13
 
14
- <li>
14
+ <li class="settings-menu">
15
15
  <%= link_to t('dropdown.settings'), settings_path, :id => "btn_menu_settings" %>
16
16
  </li>
17
17
 
18
18
  <% if SocialStream.relation_model == :custom %>
19
- <li>
19
+ <li class="privacity-menu">
20
20
  <%= link_to t('dropdown.privacy'), relation_customs_path %>
21
21
  </li>
22
22
  <% end %>
@@ -3,9 +3,9 @@
3
3
  <html lang="<%= I18n.locale.to_s %>">
4
4
  <head>
5
5
  <meta charset="utf-8">
6
- <title><%= yield(:title).empty? ? t('site.name') : yield(:title)%></title>
7
- <meta name="keywords" content="<%= t('profile.tags.default') %><%= yield(:keywords) %>" >
8
- <meta name="description" content= "<%= yield(:description).empty? ? t('frontpage.main_title') : yield(:description) %>" >
6
+ <title><%= content_for?(:title) ? yield(:title) : t('site.current.title') %></title>
7
+ <meta name="keywords" content="<%= content_for?(:keywords) ? yield(:keywords) : t('site.current.keywords') %>" >
8
+ <meta name="description" content= "<%= content_for?(:description) ? yield(:description) : t('site.current.description') %>" >
9
9
  <meta name="generator" content="Social Stream" />
10
10
  <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
11
11
 
@@ -7,6 +7,15 @@
7
7
  </header>
8
8
  <div class="briefing">
9
9
  <% if @profile.personal_present? %>
10
+ <% if @profile.description? %>
11
+ <h5>
12
+ <%= t("profile.#{ @profile.subject.class.to_s.downcase }.about") %>:
13
+ </h5>
14
+
15
+ <%= simple_format @profile.description %>
16
+ <% end %>
17
+
18
+
10
19
  <% if @profile.organization? %>
11
20
  <h5>
12
21
  <%= t('profile.organization') %>
@@ -50,13 +59,7 @@
50
59
  </p>
51
60
  <% end %>
52
61
 
53
- <% if @profile.description? %>
54
- <h5>
55
- <%= t("profile.#{ @profile.subject.class.to_s.downcase }.about") %>:
56
- </h5>
57
-
58
- <%= simple_format @profile.description %>
59
- <% end %>
62
+
60
63
 
61
64
  <% else %>
62
65
  <%= render partial: 'empty' %>
@@ -72,6 +75,12 @@
72
75
  </h6>
73
76
 
74
77
  <%= f.text_field :name, :class => "required" %>
78
+
79
+ <h6>
80
+ <%= f.label :description, t("profile.#{ current_subject.class.to_s.downcase }.about") %>
81
+ </h6>
82
+
83
+ <%= f.text_area :description, :maxlength => 200, :rows => 10 %>
75
84
 
76
85
  <h6>
77
86
  <%= f.label :organization, t('profile.organization') %>
@@ -93,9 +102,6 @@
93
102
 
94
103
  <%= f.text_field :country %>
95
104
 
96
- <%= f.label :description, t("profile.#{ current_subject.class.to_s.downcase }.about") %>
97
-
98
- <%= f.text_area :description, :maxlength => 200, :rows => 10 %>
99
105
  <p>
100
106
  <%= t('required') %>
101
107
  </p>
@@ -16,7 +16,7 @@
16
16
  <div class="update">
17
17
  <%= form_for(@profile, :url => [ @profile.subject, :profile ]) do |f| %>
18
18
  <%= f.text_field :tag_list, "data-path" => tags_path(format: :json) %>
19
- <%= f.submit :class => "btn" %>
19
+ <%= f.submit %>
20
20
  <% end %>
21
21
  </div>
22
22
  <% end %>
@@ -0,0 +1,18 @@
1
+ <%= render partial: 'relation/customs/list',
2
+ object: list %>
3
+
4
+ <div id="permissions">
5
+ <div class="postit rotate">
6
+ <span class="rotate-int">
7
+ <%= t 'permission.postit' %>
8
+ </span>
9
+ </div>
10
+ <%= render partial: 'layouts/loading' %>
11
+ </div>
12
+
13
+ <%= javascript_tag do %>
14
+ $(function() {
15
+ SocialStream.RelationCustom.index();
16
+ })
17
+ <% end %>
18
+
@@ -3,7 +3,8 @@
3
3
  <%= t 'relation_custom.list.title' %>
4
4
  </h4>
5
5
 
6
- <%= render list %>
6
+ <%= render partial: 'relation/customs/custom',
7
+ collection: list %>
7
8
 
8
9
  <div id="new_relation">
9
10
  <%= link_to t('relation_custom.new'), '#', class: 'new' %>
@@ -6,21 +6,7 @@
6
6
  <%= t 'relation_custom.title' %>
7
7
  </h2>
8
8
 
9
- <%= render :partial => 'relation/customs/list', :object => @customs %>
10
-
11
- <div id="permissions">
12
- <div class="postit rotate">
13
- <span class="rotate-int">
14
- <%= t 'permission.postit' %>
15
- </span>
16
- </div>
17
- <%= render partial: 'layouts/loading' %>
18
- </div>
19
-
20
- <%= javascript_tag do %>
21
- $(function() {
22
- SocialStream.RelationCustom.index();
23
- })
24
- <% end %>
9
+ <%= render partial: 'relation/customs/index',
10
+ locals: { list: @customs } %>
25
11
  </section>
26
12
  </section>
@@ -266,7 +266,7 @@ en:
266
266
  other: '%{count} followers'
267
267
  forgot_password: Forgot you password?
268
268
  frontpage:
269
- main_title: Social Stream, the core for building distributed social network websites.
269
+ main_title: Social Stream, a framework for building distributed social network websites.
270
270
  presentation:
271
271
  modular:
272
272
  header: Modular
@@ -610,6 +610,10 @@ en:
610
610
  sign_out: Sign out
611
611
  sign_up: Sign up
612
612
  site:
613
+ current:
614
+ description: A framework for building distributed social network websites
615
+ keywords: social stream,social software,framework,ruby on rails
616
+ title: Social Stream
613
617
  name: Social Stream
614
618
  subject:
615
619
  this_is_you: This is you!
@@ -267,8 +267,6 @@ es:
267
267
  other: '%{count} seguidores'
268
268
  forgot_password: ¿Olvidaste tu contraseña?
269
269
  frontpage:
270
- main_title: Social Stream, el núcleo para construir webs con características de
271
- red social distribuída
272
270
  presentation:
273
271
  modular:
274
272
  header: Modular
@@ -644,6 +642,10 @@ es:
644
642
  sign_out: Salir
645
643
  sign_up: Registrarse
646
644
  site:
645
+ current:
646
+ description: Un marco para construir para construir webs con características de red social distribuída
647
+ keywords: social stream,social software,framework,ruby on rails
648
+ title: Social Stream
647
649
  name: Social Stream
648
650
  subject:
649
651
  this_is_you: ¡Eres tú!
@@ -218,7 +218,6 @@ pt:
218
218
  title: Followings
219
219
  forgot_password: Esqueceu sua senha?
220
220
  frontpage:
221
- main_title: Social Stream é a base para a construção de sites de rede social.
222
221
  stats: '%{users} usuários e %{groups} grupos registrados'
223
222
  presentation:
224
223
  modular:
@@ -546,8 +545,6 @@ pt:
546
545
  sign_in: Entrar
547
546
  sign_out: Sair
548
547
  sign_up: Cadastrar-se
549
- site:
550
- name: Social Stream
551
548
  subject:
552
549
  this_is_you: Este é você!
553
550
  sure: Você tem certeza?
@@ -631,3 +628,10 @@ pt:
631
628
  by: Order by
632
629
  last_modified: Last modified
633
630
  most_popular: Most popular
631
+ site:
632
+ current:
633
+ description: A base para a construção de sites de rede social.
634
+ keywords: social stream,social software,framework,ruby on rails
635
+ title: Social Stream
636
+ name: Social Stream
637
+
@@ -225,7 +225,6 @@ zh:
225
225
  other: '%{count} 粉丝'
226
226
  forgot_password: 忘了您的密码吗?
227
227
  frontpage:
228
- main_title: 社交视频互动是我们建立社交网的核心.
229
228
  stats: '%{users} 用户 和 %{groups} 已注册的群组'
230
229
  presentation:
231
230
  modular:
@@ -546,7 +545,11 @@ zh:
546
545
  sign_out: 退出
547
546
  sign_up: 注册
548
547
  site:
549
- name: Gocess.com
548
+ current:
549
+ description: 社交视频互动是我们建立社交网的核心.
550
+ keywords: social stream,social software,framework,ruby on rails
551
+ title: Social Stream
552
+ name: Social Stream
550
553
  subject:
551
554
  this_is_you: 这是您!
552
555
  sure: 您肯定吗?
@@ -1,23 +1,20 @@
1
1
  # Monkey path inherited_resources
2
2
  #
3
- #
4
- # Pull request https://github.com/josevalim/inherited_resources/pull/237
3
+ # Patch is already accepted in master
4
+ # Remove with inherited_resources > 1.4.0
5
5
  module InheritedResources::BaseHelpers
6
6
  private
7
7
 
8
- def resource_params
9
- @resource_params ||=
10
- build_resource_params
11
- end
12
-
8
+ # extract attributes from params
13
9
  def build_resource_params
14
- rparams = [whitelisted_params || params[resource_request_name] || params[resource_instance_name] || {}]
15
- rparams << as_role if role_given?
16
- rparams
17
- end
10
+ parameters = respond_to?(:permitted_params, true) ? permitted_params : params
11
+ rparams = [parameters[resource_request_name] || parameters[resource_instance_name] || {}]
12
+ if without_protection_given?
13
+ rparams << without_protection
14
+ else
15
+ rparams << as_role if role_given?
16
+ end
18
17
 
19
- def whitelisted_params
20
- whitelist_method = :"#{ resource_request_name }_params"
21
- respond_to?(whitelist_method, true) && self.send(whitelist_method)
18
+ rparams
22
19
  end
23
20
  end
@@ -61,7 +61,7 @@ module SocialStream
61
61
 
62
62
  # Load Relation::Public, so it is registered as descendant of Relation::Single
63
63
  # and used in ActivityObject#allowed_relations
64
- Relation::Public
64
+ ::Relation::Public
65
65
  end
66
66
  end
67
67
  end
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Base
3
- VERSION = "2.0.3".freeze
3
+ VERSION = "2.0.4".freeze
4
4
  end
5
5
  end
@@ -49,10 +49,8 @@ module SocialStream
49
49
 
50
50
  protected
51
51
 
52
- def whitelisted_params
53
- return {} if request.present? and request.get?
54
-
55
- params.require(self.class.model_class.to_s.underscore.to_sym).permit( *all_allowed_params )
52
+ def permitted_params
53
+ params.permit(self.class.model_class.to_s.underscore.to_sym => all_allowed_params)
56
54
  end
57
55
 
58
56
  private
@@ -27,11 +27,11 @@ Gem::Specification.new do |s|
27
27
  # Authentication
28
28
  s.add_runtime_dependency('devise', '~> 2.2.3')
29
29
  # CRUD controllers
30
- s.add_runtime_dependency('inherited_resources', '~> 1.3.0')
30
+ s.add_runtime_dependency('inherited_resources', '~> 1.4.0')
31
31
  # Slug generation
32
32
  s.add_runtime_dependency('stringex', '~> 1.5.1')
33
33
  # Avatar attachments
34
- s.add_runtime_dependency('avatars_for_rails', '~> 1.1.0')
34
+ s.add_runtime_dependency('avatars_for_rails', '~> 1.1.1')
35
35
  # jQuery
36
36
  s.add_runtime_dependency('jquery-rails', '>= 3.0.0')
37
37
  # jQuery UI
@@ -0,0 +1 @@
1
+ // Overwrite Bootstrap modal, which is replaced with bootstrap-scroll-modal
@@ -0,0 +1,276 @@
1
+ /*!
2
+ * Bootstrap Scroll Modal
3
+ * Version: 1.2
4
+ * Made for your convenience by @theericanderson.
5
+ * A variaton of only small piece of the insanely awesome
6
+ * Twitter Bootstrap (http://twitter.github.com/bootstrap).
7
+ */
8
+
9
+ /* =========================================================
10
+ * bootstrap-modal.js v2.2.1
11
+ * http://twitter.github.com/bootstrap/javascript.html#modals
12
+ * =========================================================
13
+ * Copyright 2012 Twitter, Inc.
14
+ *
15
+ * Licensed under the Apache License, Version 2.0 (the "License");
16
+ * you may not use this file except in compliance with the License.
17
+ * You may obtain a copy of the License at
18
+ *
19
+ * http://www.apache.org/licenses/LICENSE-2.0
20
+ *
21
+ * Unless required by applicable law or agreed to in writing, software
22
+ * distributed under the License is distributed on an "AS IS" BASIS,
23
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24
+ * See the License for the specific language governing permissions and
25
+ * limitations under the License.
26
+ * ========================================================= */
27
+
28
+
29
+ !function ($) {
30
+
31
+ "use strict"; // jshint ;_;
32
+
33
+ /* MODAL CLASS DEFINITION
34
+ * ====================== */
35
+
36
+ var Modal = function (element, options) {
37
+ this.options = options
38
+ this.$element = $(element)
39
+ .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
40
+ this.options.remote && this.$element.find('.modal-body').load(this.options.remote)
41
+ }
42
+
43
+ Modal.prototype = {
44
+
45
+ constructor: Modal
46
+
47
+ , toggle: function () {
48
+ return this[!this.isShown ? 'show' : 'hide']()
49
+ }
50
+
51
+ , show: function () {
52
+ var that = this
53
+ , e = $.Event('show')
54
+
55
+ if (this.isShown || e.isDefaultPrevented()) return
56
+
57
+ this.isShown = true
58
+
59
+ this.escape()
60
+
61
+ if (this.options.dynamic) {
62
+ this.$elementWrapper = $('<div class="modal-wrapper" />').insertBefore(this.$element)
63
+ this.$element.prependTo(this.$elementWrapper)
64
+ }
65
+
66
+ this.backdrop(function () {
67
+ var transition = $.support.transition && that.$element.hasClass('fade')
68
+
69
+ if (!that.$element.parent().length) {
70
+ that.$element.appendTo(document.body) //don't move modals dom position
71
+ }
72
+
73
+ that.$element
74
+ .show()
75
+
76
+ if (transition) {
77
+ that.$element[0].offsetWidth // force reflow
78
+ }
79
+
80
+ that.$element
81
+ .addClass('in')
82
+ .attr('aria-hidden', false)
83
+
84
+ that.enforceFocus()
85
+
86
+ transition ?
87
+ that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
88
+ that.$element.focus().trigger('shown')
89
+
90
+ })
91
+ }
92
+
93
+ , hide: function ( e ) {
94
+ e && e.preventDefault()
95
+
96
+ var that = this
97
+
98
+ e = $.Event('hide')
99
+
100
+ this.$element.trigger(e)
101
+
102
+ if (!this.isShown || e.isDefaultPrevented()) return
103
+
104
+ this.isShown = false
105
+
106
+ this.escape()
107
+
108
+ $(document).off('focusin.modal')
109
+
110
+ this.$element
111
+ .removeClass('in')
112
+ .attr('aria-hidden', true)
113
+
114
+ $.support.transition && this.$element.hasClass('fade') ?
115
+ this.hideWithTransition() :
116
+ this.hideModal()
117
+ }
118
+
119
+ , enforceFocus: function () {
120
+ var that = this
121
+ $(document).on('focusin.modal', function (e) {
122
+ if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {
123
+ that.$element.focus()
124
+ }
125
+ })
126
+ }
127
+
128
+ , escape: function () {
129
+ var that = this
130
+ if (this.isShown && this.options.keyboard) {
131
+ this.$element.on('keyup.dismiss.modal', function ( e ) {
132
+ e.which == 27 && that.hide()
133
+ })
134
+ } else if (!this.isShown) {
135
+ this.$element.off('keyup.dismiss.modal')
136
+ }
137
+ }
138
+
139
+ , hideWithTransition: function () {
140
+ var that = this
141
+ , timeout = setTimeout(function () {
142
+ that.$element.off($.support.transition.end)
143
+ that.hideModal()
144
+ }, 500)
145
+
146
+ this.$element.one($.support.transition.end, function () {
147
+ clearTimeout(timeout)
148
+ that.hideModal()
149
+ })
150
+ }
151
+
152
+ , hideModal: function (that) {
153
+ this.$element
154
+ .hide()
155
+ .trigger('hidden')
156
+
157
+ if (this.options.dynamic) {
158
+ this.$element.insertAfter(this.$elementWrapper)
159
+ this.$elementWrapper.remove()
160
+ this.$elementWrapper = null
161
+ }
162
+
163
+ this.backdrop()
164
+ }
165
+
166
+ , removeBackdrop: function () {
167
+ this.$element.insertAfter(this.$backdrop)
168
+ this.$backdrop.remove()
169
+ this.$backdrop = null
170
+ $('body').css({ 'overflow' : '' })
171
+ }
172
+
173
+ , backdrop: function (callback) {
174
+ var that = this
175
+ , animate = this.$element.hasClass('fade') ? 'fade' : ''
176
+
177
+ if (this.isShown && this.options.backdrop) {
178
+ var doAnimate = $.support.transition && animate
179
+
180
+ this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
181
+ .appendTo(document.body)
182
+
183
+ // Below are Bootstrap Scroll Modal additions to the backdrop function.
184
+
185
+ if (!that.$element.parent().length) {
186
+ this.$backdrop.appendTo(document.body) // don't move modals dom position
187
+ } else if (this.options.dynamic) {
188
+ this.$backdrop.insertBefore(this.$elementWrapper)
189
+ } else {
190
+ this.$backdrop.insertBefore(this.$element)
191
+ }
192
+
193
+ if (this.options.dynamic) {
194
+ this.$elementWrapper.prependTo(this.$backdrop)
195
+ .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
196
+ } else {
197
+ this.$element.prependTo(this.$backdrop)
198
+ .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
199
+ }
200
+
201
+ $('body').css({ 'overflow' : 'hidden' })
202
+
203
+ this.$backdrop.on('click', function(e){
204
+ if (that.options.backdrop == 'static') {
205
+ $.proxy(that.$element[0].focus, that.$element[0])
206
+ } else if (e.target == e.delegateTarget) {
207
+ that.hide(e)
208
+ }
209
+ })
210
+
211
+ // end additions
212
+
213
+ if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
214
+
215
+ this.$backdrop.addClass('in')
216
+
217
+ doAnimate ?
218
+ this.$backdrop.one($.support.transition.end, callback) :
219
+ callback()
220
+
221
+ } else if (!this.isShown && this.$backdrop) {
222
+ this.$backdrop.removeClass('in')
223
+
224
+ $.support.transition && this.$element.hasClass('fade')?
225
+ this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) :
226
+ this.removeBackdrop()
227
+
228
+ } else if (callback) {
229
+ callback()
230
+ }
231
+ }
232
+ }
233
+
234
+
235
+ /* MODAL PLUGIN DEFINITION
236
+ * ======================= */
237
+
238
+ $.fn.modal = function (option) {
239
+ return this.each(function () {
240
+ var $this = $(this)
241
+ , data = $this.data('modal')
242
+ , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
243
+ if (!data) $this.data('modal', (data = new Modal(this, options)))
244
+ if (typeof option == 'string') data[option]()
245
+ else if (options.show) data.show()
246
+ })
247
+ }
248
+
249
+ $.fn.modal.defaults = {
250
+ backdrop: true
251
+ , keyboard: true
252
+ , show: true
253
+ }
254
+
255
+ $.fn.modal.Constructor = Modal
256
+
257
+
258
+ /* MODAL DATA-API
259
+ * ============== */
260
+
261
+ $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
262
+ var $this = $(this)
263
+ , href = $this.attr('href')
264
+ , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
265
+ , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
266
+
267
+ e.preventDefault()
268
+
269
+ $target
270
+ .modal(option)
271
+ .one('hide', function () {
272
+ $this.focus()
273
+ })
274
+ })
275
+
276
+ }(window.jQuery);
@@ -0,0 +1,70 @@
1
+ /*!
2
+ * Bootstrap Scroll Modal
3
+ * Version: 1.2
4
+ * Made for your convenience by @theericanderson
5
+ * A variaton of but a small piece of the insanely awesome Twitter Bootstrap (http://twitter.github.com/bootstrap)
6
+ */
7
+
8
+ .modal-backdrop {
9
+ overflow-x: hidden;
10
+ overflow-y: auto;
11
+ background-color: rgba(0, 0, 0, 0.8);
12
+ }
13
+ .modal-backdrop.fade {
14
+ background-color: rgba(0, 0, 0, 0.0);
15
+ }
16
+ .modal-backdrop.fade.in {
17
+ background: rgba(0, 0, 0, 0.8);
18
+ }
19
+ .modal-backdrop.in, .modal-backdrop.fade.in {
20
+ opacity: 1.0;
21
+ filter: alpha(opacity=100);
22
+ }
23
+ .modal-wrapper {
24
+ position: relative;
25
+ top: 50px;
26
+ left: 50%;
27
+ z-index: 1050;
28
+ width: 560px;
29
+ margin-left: -280px;
30
+ margin-bottom: 100px;
31
+ overflow: visible;
32
+ }
33
+ .modal-wrapper .modal {
34
+ position: static;
35
+ margin: 0;
36
+ z-index: 1060;
37
+ }
38
+ /* Some different styling for dynamic height modals */
39
+ .modal-wrapper .modal .modal-body {
40
+ overflow-y: visible;
41
+ max-height: none;
42
+ z-index: 1060; /* IE8 fix for radio button focus / blur issue */
43
+ }
44
+
45
+ /* Styles to ensure Scroll Modal works on smaller browsers, specifically mobile. */
46
+ @media (max-width: 767px) {
47
+ .modal-wrapper {
48
+ position: relative;
49
+ top: 50px;
50
+ left: 20%;
51
+ z-index: 1050;
52
+ width: 70%;
53
+ margin-left: 0px;
54
+ margin-bottom: 80px;
55
+ overflow: visible;
56
+ }
57
+ }
58
+
59
+ @media (max-width : 480px) {
60
+ .modal-wrapper {
61
+ position: relative;
62
+ top: 50px;
63
+ left: 10%;
64
+ z-index: 1050;
65
+ width: 80%;
66
+ margin-left: 0px;
67
+ margin-bottom: 80px;
68
+ overflow: visible;
69
+ }
70
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social_stream-base
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - GING - DIT - UPM
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-03 00:00:00.000000000 Z
11
+ date: 2013-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: deep_merge
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - ~>
102
102
  - !ruby/object:Gem::Version
103
- version: 1.3.0
103
+ version: 1.4.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ~>
109
109
  - !ruby/object:Gem::Version
110
- version: 1.3.0
110
+ version: 1.4.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: stringex
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - ~>
130
130
  - !ruby/object:Gem::Version
131
- version: 1.1.0
131
+ version: 1.1.1
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ~>
137
137
  - !ruby/object:Gem::Version
138
- version: 1.1.0
138
+ version: 1.1.1
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: jquery-rails
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -998,6 +998,7 @@ files:
998
998
  - app/views/profiles/update.js.erb
999
999
  - app/views/relation/customs/_custom.html.erb
1000
1000
  - app/views/relation/customs/_form.html.erb
1001
+ - app/views/relation/customs/_index.html.erb
1001
1002
  - app/views/relation/customs/_list.html.erb
1002
1003
  - app/views/relation/customs/create.js.erb
1003
1004
  - app/views/relation/customs/destroy.js.erb
@@ -1196,7 +1197,9 @@ files:
1196
1197
  - spec/support/mock.rb
1197
1198
  - spec/views/profiles_spec.rb
1198
1199
  - spec/views/settings_spec.rb
1200
+ - vendor/assets/javascripts/bootstrap-modal.js
1199
1201
  - vendor/assets/javascripts/bootstrap-multiselect.js
1202
+ - vendor/assets/javascripts/bootstrap-scroll-modal.js
1200
1203
  - vendor/assets/javascripts/colorfont.js
1201
1204
  - vendor/assets/javascripts/d3.geom.js
1202
1205
  - vendor/assets/javascripts/d3.js
@@ -1216,6 +1219,7 @@ files:
1216
1219
  - vendor/assets/javascripts/jquery.validate.old.js
1217
1220
  - vendor/assets/javascripts/jquery.watermark.js
1218
1221
  - vendor/assets/javascripts/superfish.js
1222
+ - vendor/assets/stylesheets/bootstrap-scroll-modal.css
1219
1223
  - vendor/assets/stylesheets/carousel.css
1220
1224
  - vendor/assets/stylesheets/chosen-sprite.png
1221
1225
  - vendor/assets/stylesheets/chosen.css