enju_leaf 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9ce15458b367d549170357329294bbe8ba7c3b7a
4
- data.tar.gz: c91e3e707e1544ef2042e1112f9437b57d240f90
3
+ metadata.gz: 495a9c35f27e957fc76075bb6c9a65f2fe2ea27a
4
+ data.tar.gz: 2b7085c28d123459a30bad1ae16a3bfaf5de4084
5
5
  SHA512:
6
- metadata.gz: adbf99aa3bd12ebc290a26535b9a01626cea20b26e66056a6ad52c4a314f56d16fecf759409083bef3dbf172ddb88d2cb2734dd470816b592695ab6ae9292e34
7
- data.tar.gz: 3e503313b773432bd6f3b309ccd2d88004936467840230485b669ebc31d44234fd7b887d4e190423043b70fc667024516163b0c38f456ffa905db576486a740d
6
+ metadata.gz: 92fc6f5a49e12b4117a55eb8ed87ec89e8007cdc940db4f9d37b776fc19c724a87b580007d371e19028247b44095fb0630c5b86f409fcb42c8a123e2e9dab02f
7
+ data.tar.gz: 81a037660b09b63f2e7a65a3199958e14625fbdcd7d53950d29bd4c0e2fc8c5b9c5817406399a2ef4776302bf481854b4a791d20c57f332edc12132ca569c6f3
data/README.rdoc CHANGED
@@ -1,6 +1,6 @@
1
1
  = Next-L Enju Leaf
2
2
  {<img src="https://travis-ci.org/next-l/enju_leaf.svg?branch=1.1" alt="Build Status" />}[https://travis-ci.org/next-l/enju_leaf]
3
- {<img src="https://coveralls.io/repos/next-l/enju_leaf/badge.png?branch=1.1" alt="Coverage Status" />}[https://coveralls.io/r/next-l/enju_leaf?branch=1.1]
3
+ {<img src="https://coveralls.io/repos/next-l/enju_nii/badge.svg?branch=1.1&service=github" alt="Coverage Status" />}[https://coveralls.io/github/next-l/enju_nii?branch=1.1]
4
4
  {<img src="https://hakiri.io/github/next-l/enju_leaf/1.1.svg" alt="security" />}[https://hakiri.io/github/next-l/enju_leaf/1.1]
5
5
 
6
6
  Next-L Enju Leaf は、{Project Next-L}[http://www.next-l.jp] で開発している図書館管理システムです。
@@ -14,9 +14,9 @@ class Profile < ActiveRecord::Base
14
14
  validates_associated :user_group, :library
15
15
  validates_associated :user
16
16
  validates_presence_of :user_group, :library, :locale #, :user_number
17
- validates :user_number, uniqueness: true, format: { with: /\A[0-9A-Za-z_]+\Z/ }, allow_blank: true
17
+ validates :user_number, uniqueness: true, format: { with: /\A[0-9A-Za-z_]+\z/ }, allow_blank: true
18
18
  validates :user_id, uniqueness: true, allow_blank: true
19
- validates :birth_date, format: { with: /\A\d{4}-\d{1,2}-\d{1,2}\Z/ }, allow_blank: true
19
+ validates :birth_date, format: { with: /\A\d{4}-\d{1,2}-\d{1,2}\z/ }, allow_blank: true
20
20
 
21
21
  normalize_attribute :user_number
22
22
 
data/app/models/role.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  class Role < ActiveRecord::Base
2
2
  include MasterModel
3
- validates :name, presence: true, format: { with: /\A[A-Za-z][a-z_,]*[a-z]\Z/ }
3
+ validates :name, presence: true, format: { with: /\A[A-Za-z][a-z_,]*[a-z]\z/ }
4
4
  has_many :user_has_roles
5
5
  has_many :users, through: :user_has_roles
6
6
  after_save :clear_all_cache
@@ -38,7 +38,7 @@
38
38
  <%- if current_user.has_role?('Administrator') and current_user != profile.user -%>
39
39
  <%= u.select :role_id, @roles.collect{|r| [r.display_name.localize, r.id]} %>
40
40
  <% else %>
41
- <%= u.select(:role_id, @roles.collect{|r| [r.display_name.localize, r.id]}, {}, {disabled: 'disabled'}) -%>
41
+ <%= current_user.role.display_name.localize -%>
42
42
  <% end %>
43
43
  <% end %>
44
44
  </div>
@@ -55,12 +55,14 @@
55
55
  <%= f.text_field :full_name_transcription -%>
56
56
  </div>
57
57
 
58
- <%- if current_user.has_role?('Librarian') -%>
59
- <div class="field">
60
- <%= f.label t('activerecord.models.user_group') -%><br />
58
+ <div class="field">
59
+ <%= f.label t('activerecord.models.user_group') -%><br />
60
+ <%- if current_user.has_role?('Librarian') -%>
61
61
  <%= f.select(:user_group_id, @user_groups.collect{|u| [u.display_name.localize, u.id]}) -%>
62
- </div>
63
- <%- end -%>
62
+ <%- else -%>
63
+ <%= current_user.profile.user_group.display_name.localize if current_user.profile.user_group -%>
64
+ <%- end -%>
65
+ </div>
64
66
 
65
67
  <div class="field">
66
68
  <%= f.label :user_number -%><br />
@@ -71,17 +73,24 @@
71
73
  <%- end -%>
72
74
  </div>
73
75
 
74
- <%- if current_user.has_role?('Librarian') -%>
75
- <div class="field">
76
- <%= f.label t('activerecord.models.library') -%><br />
76
+ <div class="field">
77
+ <%= f.label t('activerecord.models.library') -%><br />
78
+ <%- if current_user.has_role?('Librarian') -%>
77
79
  <%= f.select(:library_id, @libraries.collect{|l| [l.display_name.localize, l.id]}) -%>
78
- </div>
80
+ <% else %>
81
+ <%= current_user.profile.library.display_name.localize if current_user.profile.library %>
82
+ <% end %>
83
+ </div>
79
84
 
80
- <div class="field">
81
- <%= f.label t('role.required_role') -%><br />
85
+ <div class="field">
86
+ <%= f.label t('role.required_role') -%><br />
87
+ <%- if current_user.has_role?('Librarian') -%>
82
88
  <%= f.select(:required_role_id, @roles.collect{|r| [r.display_name.localize, r.id]}) -%>
83
- </div>
84
- <%- end -%>
89
+ <%- else -%>
90
+ <%= current_user.role.display_name.localize -%>
91
+ <%- end -%>
92
+ </div>
93
+
85
94
  <div class="field">
86
95
  <%= f.label :locale -%><br />
87
96
  <%= f.select(:locale, @available_languages.collect{|language| [language.display_name.localize, language.iso_639_1]}) -%>
@@ -40,7 +40,7 @@
40
40
  <% if defined?(EnjuMessage) %>
41
41
  <li><%= link_to t('message.send'), new_message_path(recipient: @profile.user.username) -%></li>
42
42
  <% end %>
43
- <%- if can? :create, @profile -%>
43
+ <%- if can? :create, Profile -%>
44
44
  <li><%= link_to t('page.new', model: t('activerecord.models.profile')), new_profile_path -%></li>
45
45
  <% end %>
46
46
  <%- if can? :destroy, @profile -%>
@@ -15,7 +15,8 @@ module ExportFile
15
15
  module InstanceMethods
16
16
  def send_message
17
17
  sender = User.find(1) #system
18
- message_template = MessageTemplate.localized_template('export_completed', user.profile.locale)
18
+ locale = user.profile.try(:locale) || I18n.default_locale.to_s
19
+ message_template = MessageTemplate.localized_template('export_completed', locale)
19
20
  request = MessageRequest.new
20
21
  request.assign_attributes({sender: sender, receiver: user, message_template: message_template})
21
22
  request.save_message_body
@@ -55,7 +55,8 @@ module ImportFile
55
55
  # インポート完了時のメッセージを送信します。
56
56
  def send_message
57
57
  sender = User.find(1)
58
- message_template = MessageTemplate.localized_template('import_completed', user.profile.locale)
58
+ locale = user.profile.try(:locale) || I18n.default_locale.to_s
59
+ message_template = MessageTemplate.localized_template('import_completed', locale)
59
60
  request = MessageRequest.new
60
61
  request.assign_attributes({sender: sender, receiver: user, message_template: message_template})
61
62
  request.save_message_body
@@ -26,7 +26,7 @@ module MasterModel
26
26
 
27
27
  private
28
28
  def valid_name?
29
- unless name =~ /\A[a-z][0-9a-z_]*[0-9a-z]\Z/
29
+ unless name =~ /\A[a-z][0-9a-z_]*[0-9a-z]\z/
30
30
  errors.add(:name, I18n.t('page.only_lowercase_letters_and_numbers_are_allowed'))
31
31
  end
32
32
  end
@@ -37,7 +37,7 @@ module EnjuLeaf
37
37
  accepts_nested_attributes_for :user_has_role
38
38
 
39
39
  validates :username, presence: true, uniqueness: true, format: {
40
- with: /\A[0-9A-Za-z][0-9A-Za-z_\-]*[0-9A-Za-z]\Z/
40
+ with: /\A[0-9A-Za-z][0-9A-Za-z_\-]*[0-9A-Za-z]\z/
41
41
  }
42
42
  validates :email, format: Devise::email_regexp, allow_blank: true, uniqueness: true
43
43
  validates_date :expired_at, allow_blank: true
@@ -1,3 +1,3 @@
1
1
  module EnjuLeaf
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
data/lib/enju_leaf.rb CHANGED
@@ -57,7 +57,7 @@ module EnjuLeaf
57
57
  format.mobile { render template: 'page/404', status: 404 }
58
58
  format.xml { render template: 'page/404', status: 404 }
59
59
  format.json { render text: '{"error": "not_found"}' }
60
- format.xml { render template: 'page/404.xml', status: 404 }
60
+ format.rss { render template: 'page/404.xml', status: 404 }
61
61
  end
62
62
  end
63
63
 
@@ -56,7 +56,7 @@ EOS
56
56
  ""
57
57
  end
58
58
  gsub_file 'config/routes.rb', /devise_for :users$/, "devise_for :users, skip: [:registration]"
59
- gsub_file 'config/initializers/devise.rb', '# config.email_regexp = /\A[^@]+@[^@]+\z/', 'config.email_regexp = /\A([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})\Z/i'
59
+ gsub_file 'config/initializers/devise.rb', '# config.email_regexp = /\A[^@]+@[^@]+\z/', 'config.email_regexp = /\A([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})\z/i'
60
60
  gsub_file 'config/initializers/devise.rb', '# config.authentication_keys = [:email]', 'config.authentication_keys = [:username]'
61
61
  gsub_file 'config/initializers/devise.rb', '# config.secret_key', 'config.secret_key'
62
62
  gsub_file 'config/initializers/devise.rb',
@@ -1,5 +1,5 @@
1
1
  /*!
2
- Colorbox 1.5.14
2
+ Colorbox 1.6.3
3
3
  license: MIT
4
4
  http://www.jacklmoore.com/colorbox
5
5
  */
@@ -85,6 +85,39 @@
85
85
  },
86
86
  title: function() {
87
87
  return this.title;
88
+ },
89
+ createImg: function() {
90
+ var img = new Image();
91
+ var attrs = $(this).data('cbox-img-attrs');
92
+
93
+ if (typeof attrs === 'object') {
94
+ $.each(attrs, function(key, val){
95
+ img[key] = val;
96
+ });
97
+ }
98
+
99
+ return img;
100
+ },
101
+ createIframe: function() {
102
+ var iframe = document.createElement('iframe');
103
+ var attrs = $(this).data('cbox-iframe-attrs');
104
+
105
+ if (typeof attrs === 'object') {
106
+ $.each(attrs, function(key, val){
107
+ iframe[key] = val;
108
+ });
109
+ }
110
+
111
+ if ('frameBorder' in iframe) {
112
+ iframe.frameBorder = 0;
113
+ }
114
+ if ('allowTransparency' in iframe) {
115
+ iframe.allowTransparency = "true";
116
+ }
117
+ iframe.name = (new Date()).getTime(); // give the iframe a unique name to prevent caching
118
+ iframe.allowFullscreen = true;
119
+
120
+ return iframe;
88
121
  }
89
122
  },
90
123
 
@@ -92,7 +125,7 @@
92
125
  colorbox = 'colorbox',
93
126
  prefix = 'cbox',
94
127
  boxElement = prefix + 'Element',
95
-
128
+
96
129
  // Events
97
130
  event_open = prefix + '_open',
98
131
  event_load = prefix + '_load',
@@ -123,7 +156,7 @@
123
156
  $close,
124
157
  $groupControls,
125
158
  $events = $('<a/>'), // $({}) would be prefered, but there is an issue with jQuery 1.4.2
126
-
159
+
127
160
  // Variables for cached values or use across multiple functions
128
161
  settings,
129
162
  interfaceHeight,
@@ -145,7 +178,7 @@
145
178
  // ****************
146
179
  // HELPER FUNCTIONS
147
180
  // ****************
148
-
181
+
149
182
  // Convenience function for creating new jQuery objects
150
183
  function $tag(tag, id, css) {
151
184
  var element = document.createElement(tag);
@@ -160,7 +193,7 @@
160
193
 
161
194
  return $(element);
162
195
  }
163
-
196
+
164
197
  // Get the window height using innerHeight when available to avoid an issue with iOS
165
198
  // http://bugs.jquery.com/ticket/6724
166
199
  function winheight() {
@@ -204,7 +237,7 @@
204
237
  var
205
238
  max = $related.length,
206
239
  newIndex = (index + increment) % max;
207
-
240
+
208
241
  return (newIndex < 0) ? max + newIndex : newIndex;
209
242
  }
210
243
 
@@ -212,7 +245,7 @@
212
245
  function setSize(size, dimension) {
213
246
  return Math.round((/%/.test(size) ? ((dimension === 'x' ? $window.width() : winheight()) / 100) : 1) * parseInt(size, 10));
214
247
  }
215
-
248
+
216
249
  // Checks an href to see if it is a photo.
217
250
  // There is a force photo option (photo: true) for hrefs that cannot be matched by the regex.
218
251
  function isImage(settings, url) {
@@ -239,7 +272,7 @@
239
272
 
240
273
  function getRelated(rel) {
241
274
  index = 0;
242
-
275
+
243
276
  if (rel && rel !== false && rel !== 'nofollow') {
244
277
  $related = $('.' + boxElement).filter(function () {
245
278
  var options = $.data(this, colorbox);
@@ -247,7 +280,7 @@
247
280
  return (settings.get('rel') === rel);
248
281
  });
249
282
  index = $related.index(settings.el);
250
-
283
+
251
284
  // Check direct calls to Colorbox.
252
285
  if (index === -1) {
253
286
  $related = $related.add(settings.el);
@@ -297,7 +330,7 @@
297
330
 
298
331
  function stop() {
299
332
  clear();
300
-
333
+
301
334
  $events
302
335
  .unbind(event_complete, set)
303
336
  .unbind(event_load, clear);
@@ -354,17 +387,17 @@
354
387
  options = $(element).data(colorbox);
355
388
 
356
389
  settings = new Settings(element, options);
357
-
390
+
358
391
  getRelated(settings.get('rel'));
359
392
 
360
393
  if (!open) {
361
394
  open = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys.
362
395
 
363
396
  setClass(settings.get('className'));
364
-
397
+
365
398
  // Show colorbox so the sizes can be calculated in older versions of jQuery
366
399
  $box.css({visibility:'hidden', display:'block', opacity:''});
367
-
400
+
368
401
  $loaded = $tag(div, 'LoadedContent', 'width:0; height:0; overflow:hidden; visibility:hidden');
369
402
  $content.css({width:'', height:''}).append($loaded);
370
403
 
@@ -380,8 +413,8 @@
380
413
  var maxWidth = settings.get('maxWidth');
381
414
  var maxHeight = settings.get('maxHeight');
382
415
 
383
- settings.w = (maxWidth !== false ? Math.min(initialWidth, setSize(maxWidth, 'x')) : initialWidth) - loadedWidth - interfaceWidth;
384
- settings.h = (maxHeight !== false ? Math.min(initialHeight, setSize(maxHeight, 'y')) : initialHeight) - loadedHeight - interfaceHeight;
416
+ settings.w = Math.max((maxWidth !== false ? Math.min(initialWidth, setSize(maxWidth, 'x')) : initialWidth) - loadedWidth - interfaceWidth, 0);
417
+ settings.h = Math.max((maxHeight !== false ? Math.min(initialHeight, setSize(maxHeight, 'y')) : initialHeight) - loadedHeight - interfaceHeight, 0);
385
418
 
386
419
  $loaded.css({width:'', height:settings.h});
387
420
  publicMethod.position();
@@ -392,14 +425,14 @@
392
425
  $groupControls.add($title).hide();
393
426
 
394
427
  $box.focus();
395
-
428
+
396
429
  if (settings.get('trapFocus')) {
397
430
  // Confine focus to the modal
398
431
  // Uses event capturing that is not supported in IE8-
399
432
  if (document.addEventListener) {
400
433
 
401
434
  document.addEventListener('focus', trapFocus, true);
402
-
435
+
403
436
  $events.one(event_closed, function () {
404
437
  document.removeEventListener('focus', trapFocus, true);
405
438
  });
@@ -420,7 +453,7 @@
420
453
  cursor: settings.get('overlayClose') ? 'pointer' : '',
421
454
  visibility: 'visible'
422
455
  }).show();
423
-
456
+
424
457
  if (settings.get('closeButton')) {
425
458
  $close.html(settings.get('close')).appendTo($content);
426
459
  } else {
@@ -456,7 +489,7 @@
456
489
  );
457
490
 
458
491
  $close = $('<button type="button"/>').attr({id:prefix+'Close'});
459
-
492
+
460
493
  $wrap.append( // The 3x3 Grid that makes up Colorbox
461
494
  $tag(div).append(
462
495
  $tag(div, "TopLeft"),
@@ -474,9 +507,9 @@
474
507
  $tag(div, "BottomRight")
475
508
  )
476
509
  ).find('div div').css({'float': 'left'});
477
-
510
+
478
511
  $loadingBay = $tag(div, false, 'position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;');
479
-
512
+
480
513
  $groupControls = $next.add($prev).add($current).add($slideshow);
481
514
  }
482
515
  if (document.body && !$box.parent().length) {
@@ -514,7 +547,7 @@
514
547
  publicMethod.close();
515
548
  }
516
549
  });
517
-
550
+
518
551
  // Key Bindings
519
552
  $(document).bind('keydown.' + prefix, function (e) {
520
553
  var key = e.keyCode;
@@ -562,7 +595,7 @@
562
595
  // Usage format: $.colorbox.close();
563
596
  // Usage from within an iframe: parent.jQuery.colorbox.close();
564
597
  // ****************
565
-
598
+
566
599
  publicMethod = $.fn[colorbox] = $[colorbox] = function (options, callback) {
567
600
  var settings;
568
601
  var $obj = this;
@@ -572,15 +605,12 @@
572
605
  if ($.isFunction($obj)) { // assume a call to $.colorbox
573
606
  $obj = $('<a/>');
574
607
  options.open = true;
575
- } else if (!$obj[0]) { // colorbox being applied to empty collection
576
- return $obj;
577
608
  }
578
609
 
579
-
580
610
  if (!$obj[0]) { // colorbox being applied to empty collection
581
611
  return $obj;
582
612
  }
583
-
613
+
584
614
  appendHTML();
585
615
 
586
616
  if (addBindings()) {
@@ -595,12 +625,12 @@
595
625
  }).addClass(boxElement);
596
626
 
597
627
  settings = new Settings($obj[0], options);
598
-
628
+
599
629
  if (settings.get('open')) {
600
630
  launch($obj[0]);
601
631
  }
602
632
  }
603
-
633
+
604
634
  return $obj;
605
635
  };
606
636
 
@@ -612,7 +642,7 @@
612
642
  offset = $box.offset(),
613
643
  scrollTop,
614
644
  scrollLeft;
615
-
645
+
616
646
  $window.unbind('resize.' + prefix);
617
647
 
618
648
  // remove the modal so that it doesn't influence the document width/height
@@ -639,7 +669,7 @@
639
669
  } else {
640
670
  left += Math.round(Math.max($window.width() - settings.w - loadedWidth - interfaceWidth, 0) / 2);
641
671
  }
642
-
672
+
643
673
  if (settings.get('bottom') !== false) {
644
674
  top += Math.max(winheight() - settings.h - loadedHeight - interfaceHeight - setSize(settings.get('bottom'), 'y'), 0);
645
675
  } else if (settings.get('top') !== false) {
@@ -649,12 +679,12 @@
649
679
  }
650
680
 
651
681
  $box.css({top: offset.top, left: offset.left, visibility:'visible'});
652
-
682
+
653
683
  // this gives the wrapper plenty of breathing room so it's floated contents can move around smoothly,
654
684
  // but it has to be shrank down around the size of div#colorbox when it's done. If not,
655
685
  // it can invoke an obscure IE bug when using iframes.
656
686
  $wrap[0].style.width = $wrap[0].style.height = "9999px";
657
-
687
+
658
688
  function modalDimensions() {
659
689
  $topBorder[0].style.width = $bottomBorder[0].style.width = $content[0].style.width = (parseInt($box[0].style.width,10) - interfaceWidth)+'px';
660
690
  $content[0].style.height = $leftBorder[0].style.height = $rightBorder[0].style.height = (parseInt($box[0].style.height,10) - interfaceHeight)+'px';
@@ -684,13 +714,13 @@
684
714
  duration: speed || 0,
685
715
  complete: function () {
686
716
  modalDimensions();
687
-
717
+
688
718
  active = false;
689
-
719
+
690
720
  // shrink the wrapper down to exactly the size of colorbox to avoid a bug in IE's iframe implementation.
691
721
  $wrap[0].style.width = (settings.w + loadedWidth + interfaceWidth) + "px";
692
722
  $wrap[0].style.height = (settings.h + loadedHeight + interfaceHeight) + "px";
693
-
723
+
694
724
  if (settings.get('reposition')) {
695
725
  setTimeout(function () { // small delay before binding onresize due to an IE8 bug.
696
726
  $window.bind('resize.' + prefix, publicMethod.position);
@@ -707,10 +737,10 @@
707
737
 
708
738
  publicMethod.resize = function (options) {
709
739
  var scrolltop;
710
-
740
+
711
741
  if (open) {
712
742
  options = options || {};
713
-
743
+
714
744
  if (options.width) {
715
745
  settings.w = setSize(options.width, 'x') - loadedWidth - interfaceWidth;
716
746
  }
@@ -720,7 +750,7 @@
720
750
  }
721
751
 
722
752
  $loaded.css({width: settings.w});
723
-
753
+
724
754
  if (options.height) {
725
755
  settings.h = setSize(options.height, 'y') - loadedHeight - interfaceHeight;
726
756
  }
@@ -740,7 +770,7 @@
740
770
  if(scrolltop) {
741
771
  $loaded.scrollTop(scrolltop);
742
772
  }
743
-
773
+
744
774
  publicMethod.position(settings.get('transition') === "none" ? 0 : settings.get('speed'));
745
775
  }
746
776
  };
@@ -749,13 +779,13 @@
749
779
  if (!open) {
750
780
  return;
751
781
  }
752
-
782
+
753
783
  var callback, speed = settings.get('transition') === "none" ? 0 : settings.get('speed');
754
784
 
755
785
  $loaded.remove();
756
786
 
757
787
  $loaded = $tag(div, 'LoadedContent').append(object);
758
-
788
+
759
789
  function getWidth() {
760
790
  settings.w = settings.w || $loaded.width();
761
791
  settings.w = settings.mw && settings.mw < settings.w ? settings.mw : settings.w;
@@ -766,17 +796,17 @@
766
796
  settings.h = settings.mh && settings.mh < settings.h ? settings.mh : settings.h;
767
797
  return settings.h;
768
798
  }
769
-
799
+
770
800
  $loaded.hide()
771
801
  .appendTo($loadingBay.show())// content has to be appended to the DOM for accurate size calculations.
772
802
  .css({width: getWidth(), overflow: settings.get('scrolling') ? 'auto' : 'hidden'})
773
803
  .css({height: getHeight()})// sets the height independently from the width in case the new width influences the value of height.
774
804
  .prependTo($content);
775
-
805
+
776
806
  $loadingBay.hide();
777
-
807
+
778
808
  // floating the IMG removes the bottom line-height and fixed a problem where IE miscalculates the width of the parent element as 100% of the document width.
779
-
809
+
780
810
  $(photo).css({'float': 'none'});
781
811
 
782
812
  setClass(settings.get('className'));
@@ -785,17 +815,17 @@
785
815
  var total = $related.length,
786
816
  iframe,
787
817
  complete;
788
-
818
+
789
819
  if (!open) {
790
820
  return;
791
821
  }
792
-
822
+
793
823
  function removeFilter() { // Needed for IE8 in versions of jQuery prior to 1.7.2
794
824
  if ($.support.opacity === false) {
795
825
  $box[0].style.removeAttribute('filter');
796
826
  }
797
827
  }
798
-
828
+
799
829
  complete = function () {
800
830
  clearTimeout(loadingTimer);
801
831
  $loadingOverlay.hide();
@@ -803,20 +833,20 @@
803
833
  settings.get('onComplete');
804
834
  };
805
835
 
806
-
836
+
807
837
  $title.html(settings.get('title')).show();
808
838
  $loaded.show();
809
-
839
+
810
840
  if (total > 1) { // handle grouping
811
841
  if (typeof settings.get('current') === "string") {
812
842
  $current.html(settings.get('current').replace('{current}', index + 1).replace('{total}', total)).show();
813
843
  }
814
-
844
+
815
845
  $next[(settings.get('loop') || index < total - 1) ? "show" : "hide"]().html(settings.get('next'));
816
846
  $prev[(settings.get('loop') || index) ? "show" : "hide"]().html(settings.get('previous'));
817
-
847
+
818
848
  slideshow();
819
-
849
+
820
850
  // Preloads images within a rel group
821
851
  if (settings.get('preloading')) {
822
852
  $.each([getIndex(-1), getIndex(1)], function(){
@@ -835,32 +865,23 @@
835
865
  } else {
836
866
  $groupControls.hide();
837
867
  }
838
-
868
+
839
869
  if (settings.get('iframe')) {
840
- iframe = document.createElement('iframe');
841
-
842
- if ('frameBorder' in iframe) {
843
- iframe.frameBorder = 0;
844
- }
845
-
846
- if ('allowTransparency' in iframe) {
847
- iframe.allowTransparency = "true";
848
- }
870
+
871
+ iframe = settings.get('createIframe');
849
872
 
850
873
  if (!settings.get('scrolling')) {
851
874
  iframe.scrolling = "no";
852
875
  }
853
-
876
+
854
877
  $(iframe)
855
878
  .attr({
856
879
  src: settings.get('href'),
857
- name: (new Date()).getTime(), // give the iframe a unique name to prevent caching
858
- 'class': prefix + 'Iframe',
859
- allowFullScreen : true // allow HTML5 video to go fullscreen
880
+ 'class': prefix + 'Iframe'
860
881
  })
861
882
  .one('load', complete)
862
883
  .appendTo($loaded);
863
-
884
+
864
885
  $events.one(event_purge, function () {
865
886
  iframe.src = "//about:blank";
866
887
  });
@@ -871,14 +892,14 @@
871
892
  } else {
872
893
  complete();
873
894
  }
874
-
895
+
875
896
  if (settings.get('transition') === 'fade') {
876
897
  $box.fadeTo(speed, 1, removeFilter);
877
898
  } else {
878
899
  removeFilter();
879
900
  }
880
901
  };
881
-
902
+
882
903
  if (settings.get('transition') === 'fade') {
883
904
  $box.fadeTo(speed, 0, function () {
884
905
  publicMethod.position(0, callback);
@@ -890,27 +911,27 @@
890
911
 
891
912
  function load () {
892
913
  var href, setResize, prep = publicMethod.prep, $inline, request = ++requests;
893
-
914
+
894
915
  active = true;
895
-
916
+
896
917
  photo = false;
897
-
918
+
898
919
  trigger(event_purge);
899
920
  trigger(event_load);
900
921
  settings.get('onLoad');
901
-
922
+
902
923
  settings.h = settings.get('height') ?
903
924
  setSize(settings.get('height'), 'y') - loadedHeight - interfaceHeight :
904
925
  settings.get('innerHeight') && setSize(settings.get('innerHeight'), 'y');
905
-
926
+
906
927
  settings.w = settings.get('width') ?
907
928
  setSize(settings.get('width'), 'x') - loadedWidth - interfaceWidth :
908
929
  settings.get('innerWidth') && setSize(settings.get('innerWidth'), 'x');
909
-
930
+
910
931
  // Sets the minimum dimensions for use in image scaling
911
932
  settings.mw = settings.w;
912
933
  settings.mh = settings.h;
913
-
934
+
914
935
  // Re-evaluate the minimum width and height based on maxWidth and maxHeight values.
915
936
  // If the width or height exceed the maxWidth or maxHeight, use the maximum values instead.
916
937
  if (settings.get('maxWidth')) {
@@ -921,13 +942,13 @@
921
942
  settings.mh = setSize(settings.get('maxHeight'), 'y') - loadedHeight - interfaceHeight;
922
943
  settings.mh = settings.h && settings.h < settings.mh ? settings.h : settings.mh;
923
944
  }
924
-
945
+
925
946
  href = settings.get('href');
926
-
947
+
927
948
  loadingTimer = setTimeout(function () {
928
949
  $loadingOverlay.show();
929
950
  }, 100);
930
-
951
+
931
952
  if (settings.get('inline')) {
932
953
  var $target = $(href);
933
954
  // Inserts an empty placeholder where inline content is being pulled from.
@@ -949,11 +970,11 @@
949
970
 
950
971
  href = retinaUrl(settings, href);
951
972
 
952
- photo = new Image();
973
+ photo = settings.get('createImg');
953
974
 
954
975
  $(photo)
955
976
  .addClass(prefix + 'Photo')
956
- .bind('error',function () {
977
+ .bind('error.'+prefix,function () {
957
978
  prep($tag(div, 'Error').html(settings.get('imgError')));
958
979
  })
959
980
  .one('load', function () {
@@ -961,18 +982,11 @@
961
982
  return;
962
983
  }
963
984
 
964
- // A small pause because some browsers will occassionaly report a
985
+ // A small pause because some browsers will occassionaly report a
965
986
  // img.width and img.height of zero immediately after the img.onload fires
966
987
  setTimeout(function(){
967
988
  var percent;
968
989
 
969
- $.each(['alt', 'longdesc', 'aria-describedby'], function(i,val){
970
- var attr = $(settings.el).attr(val) || $(settings.el).attr('data-'+val);
971
- if (attr) {
972
- photo.setAttribute(val, attr);
973
- }
974
- });
975
-
976
990
  if (settings.get('retinaImage') && window.devicePixelRatio > 1) {
977
991
  photo.height = photo.height / window.devicePixelRatio;
978
992
  photo.width = photo.width / window.devicePixelRatio;
@@ -992,16 +1006,17 @@
992
1006
  setResize();
993
1007
  }
994
1008
  }
995
-
1009
+
996
1010
  if (settings.h) {
997
1011
  photo.style.marginTop = Math.max(settings.mh - photo.height, 0) / 2 + 'px';
998
1012
  }
999
-
1013
+
1000
1014
  if ($related[1] && (settings.get('loop') || $related[index + 1])) {
1001
1015
  photo.style.cursor = 'pointer';
1002
- photo.onclick = function () {
1016
+
1017
+ $(photo).bind('click.'+prefix, function () {
1003
1018
  publicMethod.next();
1004
- };
1019
+ });
1005
1020
  }
1006
1021
 
1007
1022
  photo.style.width = photo.width + 'px';
@@ -1009,7 +1024,7 @@
1009
1024
  prep(photo);
1010
1025
  }, 1);
1011
1026
  });
1012
-
1027
+
1013
1028
  photo.src = href;
1014
1029
 
1015
1030
  } else if (href) {
@@ -1020,7 +1035,7 @@
1020
1035
  });
1021
1036
  }
1022
1037
  }
1023
-
1038
+
1024
1039
  // Navigates to the next page/image in a set.
1025
1040
  publicMethod.next = function () {
1026
1041
  if (!active && $related[1] && (settings.get('loop') || $related[index + 1])) {
@@ -1028,7 +1043,7 @@
1028
1043
  launch($related[index]);
1029
1044
  }
1030
1045
  };
1031
-
1046
+
1032
1047
  publicMethod.prev = function () {
1033
1048
  if (!active && $related[1] && (settings.get('loop') || index)) {
1034
1049
  index = getIndex(-1);
@@ -1039,20 +1054,20 @@
1039
1054
  // Note: to use this within an iframe use the following format: parent.jQuery.colorbox.close();
1040
1055
  publicMethod.close = function () {
1041
1056
  if (open && !closing) {
1042
-
1057
+
1043
1058
  closing = true;
1044
1059
  open = false;
1045
1060
  trigger(event_cleanup);
1046
1061
  settings.get('onCleanup');
1047
1062
  $window.unbind('.' + prefix);
1048
1063
  $overlay.fadeTo(settings.get('fadeOut') || 0, 0);
1049
-
1064
+
1050
1065
  $box.stop().fadeTo(settings.get('fadeOut') || 0, 0, function () {
1051
1066
  $box.hide();
1052
1067
  $overlay.hide();
1053
1068
  trigger(event_purge);
1054
1069
  $loaded.remove();
1055
-
1070
+
1056
1071
  setTimeout(function () {
1057
1072
  closing = false;
1058
1073
  trigger(event_closed);
@@ -2,7 +2,7 @@
2
2
  Colorbox Core Style:
3
3
  The following CSS is consistent between example themes and should not be altered.
4
4
  */
5
- #colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
5
+ #colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden; -webkit-transform: translate3d(0,0,0);}
6
6
  #cboxWrapper {max-width:none;}
7
7
  #cboxOverlay{position:fixed; width:100%; height:100%;}
8
8
  #cboxMiddleLeft, #cboxBottomLeft{clear:left;}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enju_leaf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kosuke Tanabe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-10 00:00:00.000000000 Z
11
+ date: 2015-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -36,42 +36,42 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.1.0.pre71
39
+ version: 0.1.1
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 0.1.0.pre71
46
+ version: 0.1.1
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: enju_library
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 0.1.0.pre45
53
+ version: 0.1.0
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 0.1.0.pre45
60
+ version: 0.1.0
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: enju_manifestation_viewer
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 0.1.0.pre19
67
+ version: 0.1.0
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: 0.1.0.pre19
74
+ version: 0.1.0
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: friendly_id
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -174,16 +174,16 @@ dependencies:
174
174
  name: sunspot_rails
175
175
  requirement: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - "~>"
177
+ - - '='
178
178
  - !ruby/object:Gem::Version
179
- version: '2.2'
179
+ version: 2.2.0
180
180
  type: :runtime
181
181
  prerelease: false
182
182
  version_requirements: !ruby/object:Gem::Requirement
183
183
  requirements:
184
- - - "~>"
184
+ - - '='
185
185
  - !ruby/object:Gem::Version
186
- version: '2.2'
186
+ version: 2.2.0
187
187
  - !ruby/object:Gem::Dependency
188
188
  name: resque
189
189
  requirement: !ruby/object:Gem::Requirement
@@ -342,16 +342,16 @@ dependencies:
342
342
  name: statesman
343
343
  requirement: !ruby/object:Gem::Requirement
344
344
  requirements:
345
- - - ">="
345
+ - - "~>"
346
346
  - !ruby/object:Gem::Version
347
- version: '0'
347
+ version: '1.3'
348
348
  type: :runtime
349
349
  prerelease: false
350
350
  version_requirements: !ruby/object:Gem::Requirement
351
351
  requirements:
352
- - - ">="
352
+ - - "~>"
353
353
  - !ruby/object:Gem::Version
354
- version: '0'
354
+ version: '1.3'
355
355
  - !ruby/object:Gem::Dependency
356
356
  name: kramdown
357
357
  requirement: !ruby/object:Gem::Requirement
@@ -414,56 +414,56 @@ dependencies:
414
414
  requirements:
415
415
  - - "~>"
416
416
  - !ruby/object:Gem::Version
417
- version: '3.3'
417
+ version: '3.4'
418
418
  type: :development
419
419
  prerelease: false
420
420
  version_requirements: !ruby/object:Gem::Requirement
421
421
  requirements:
422
422
  - - "~>"
423
423
  - !ruby/object:Gem::Version
424
- version: '3.3'
424
+ version: '3.4'
425
425
  - !ruby/object:Gem::Dependency
426
426
  name: enju_circulation
427
427
  requirement: !ruby/object:Gem::Requirement
428
428
  requirements:
429
429
  - - "~>"
430
430
  - !ruby/object:Gem::Version
431
- version: 0.1.0.pre49
431
+ version: 0.1.0
432
432
  type: :development
433
433
  prerelease: false
434
434
  version_requirements: !ruby/object:Gem::Requirement
435
435
  requirements:
436
436
  - - "~>"
437
437
  - !ruby/object:Gem::Version
438
- version: 0.1.0.pre49
438
+ version: 0.1.0
439
439
  - !ruby/object:Gem::Dependency
440
440
  name: enju_bookmark
441
441
  requirement: !ruby/object:Gem::Requirement
442
442
  requirements:
443
443
  - - "~>"
444
444
  - !ruby/object:Gem::Version
445
- version: 0.1.2.pre23
445
+ version: 0.1.2
446
446
  type: :development
447
447
  prerelease: false
448
448
  version_requirements: !ruby/object:Gem::Requirement
449
449
  requirements:
450
450
  - - "~>"
451
451
  - !ruby/object:Gem::Version
452
- version: 0.1.2.pre23
452
+ version: 0.1.2
453
453
  - !ruby/object:Gem::Dependency
454
454
  name: enju_search_log
455
455
  requirement: !ruby/object:Gem::Requirement
456
456
  requirements:
457
457
  - - "~>"
458
458
  - !ruby/object:Gem::Version
459
- version: 0.1.0.pre12
459
+ version: 0.1.0
460
460
  type: :development
461
461
  prerelease: false
462
462
  version_requirements: !ruby/object:Gem::Requirement
463
463
  requirements:
464
464
  - - "~>"
465
465
  - !ruby/object:Gem::Version
466
- version: 0.1.0.pre12
466
+ version: 0.1.0
467
467
  - !ruby/object:Gem::Dependency
468
468
  name: vcr
469
469
  requirement: !ruby/object:Gem::Requirement
@@ -510,16 +510,16 @@ dependencies:
510
510
  name: sunspot_solr
511
511
  requirement: !ruby/object:Gem::Requirement
512
512
  requirements:
513
- - - "~>"
513
+ - - '='
514
514
  - !ruby/object:Gem::Version
515
- version: '2.2'
515
+ version: 2.2.0
516
516
  type: :development
517
517
  prerelease: false
518
518
  version_requirements: !ruby/object:Gem::Requirement
519
519
  requirements:
520
- - - "~>"
520
+ - - '='
521
521
  - !ruby/object:Gem::Version
522
- version: '2.2'
522
+ version: 2.2.0
523
523
  - !ruby/object:Gem::Dependency
524
524
  name: sunspot-rails-tester
525
525
  requirement: !ruby/object:Gem::Requirement