pageflow 13.2.0 → 13.3.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of pageflow might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 39d2ad78c808ad1b12c3dac0296f2520b28bf922c6821ce2e7155086c5521f63
4
- data.tar.gz: 7d55879aed2fa2a21e3ad00c9469044ac272aaafbb7f06c6309749e01ea660e1
3
+ metadata.gz: c272f47847e7397fbfa1ba7b650ff70a4deeebf7c05f286cee3f45cb5033800d
4
+ data.tar.gz: '094a2a235ff2572be87cf3bda33fc716a6109df54c6e48570b4b51ef5da9c5ac'
5
5
  SHA512:
6
- metadata.gz: df45520a225a7739d62d72b9efb4379dafe02b7153259dc63a71a21919379fb7e906cae55ca88476e5ef62988292ef4f8a60ca19a099bbc50aad64ee77b37fac
7
- data.tar.gz: c5d7d6530f4f93132aad8ccdcad4711e42519253982f3f2f64fed5a22ba78931b7b465ba35c64f8582e60079d1c0a7b3fc454f87daad9d823370f94a66005e3c
6
+ metadata.gz: 0d9f5bfc05baa02e1b67ecf8b8cf0674df5409b25664acedf32473761803e27e024e664485803b9f5de40108c4c609dea25d076fb770f6567f08999fe00de504
7
+ data.tar.gz: 7610751681d8b0a24f7598cd6983dab4ea00df758c42da941ee2ba6c6d26980e870c40af01cbc4a7300b5a1fdac70f7386800bc5242039173a3aa06ed18f937f
@@ -1,26 +1,24 @@
1
1
  # CHANGELOG
2
2
 
3
- ### Version 13.2.0
3
+ ### Version 13.3.0
4
4
 
5
- 2019-01-28
5
+ 2019-02-20
6
6
 
7
- [Compare changes](https://github.com/codevise/pageflow/compare/13-1-stable...v13.2.0)
8
-
9
- - Waveform audio player controls
10
- ([#1092](https://github.com/codevise/pageflow/pull/1092))
11
- - Do not use asset host in entry stylesheet link tags
12
- ([#1107](https://github.com/codevise/pageflow/pull/1107))
13
- - Add theme vars for phone typography of tagline and subtitle
14
- ([#1108](https://github.com/codevise/pageflow/pull/1108))
15
-
16
- ##### Internal
17
- - Add package-lock.json to version control
18
- ([#1106](https://github.com/codevise/pageflow/pull/1106))
19
- - Upgrade to Semmy 1.1
20
- ([#1113](https://github.com/codevise/pageflow/pull/1113))
21
- - Also release pageflow-support when running release task
22
- ([#1115](https://github.com/codevise/pageflow/pull/1115))
7
+ [Compare changes](https://github.com/codevise/pageflow/compare/13-2-stable...v13.3.0)
23
8
 
9
+ - Lazy load navigation bar thumbnails
10
+ ([#1117](https://github.com/codevise/pageflow/pull/1117))
11
+ - Ensure entries can be filtered by publication date
12
+ ([#1118](https://github.com/codevise/pageflow/pull/1118))
13
+ - Add missing Active Admin translations for filters
14
+ ([#1119](https://github.com/codevise/pageflow/pull/1119))
15
+ - Ignore storyline order error in js specs
16
+ ([#1120](https://github.com/codevise/pageflow/pull/1120))
17
+ - Add typography theme vars for first page of chapter
18
+ ([#1121](https://github.com/codevise/pageflow/pull/1121))
19
+ - Display text tracks at the top if waveform is present
20
+ ([#1122](https://github.com/codevise/pageflow/pull/1122))
21
+
24
22
  See
25
- [13-1-stable branch](https://github.com/codevise/pageflow/blob/13-1-stable/CHANGELOG.md)
23
+ [13-2-stable branch](https://github.com/codevise/pageflow/blob/13-2-stable/CHANGELOG.md)
26
24
  for previous changes.
@@ -25056,7 +25056,8 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25056
25056
  muted: props.muted,
25057
25057
  playsInline: props.playsInline,
25058
25058
  defaultTextTrackFileId: props.defaultTextTrackFileId,
25059
- textTracksEnabled: props.textTracksEnabled });
25059
+ textTracksEnabled: props.textTracksEnabled,
25060
+ textTrackPosition: props.textTrackPosition });
25060
25061
  } else if (props.preloadComponent && fileReady && props.pageIsPreloaded) {
25061
25062
  var Preload = props.preloadComponent;
25062
25063
 
@@ -25304,7 +25305,12 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25304
25305
  var slimPlayerControlsPresent = (0, _selectors5.widgetPresent)('slimPlayerControls');
25305
25306
 
25306
25307
  function textTrackPosition(state, _ref2) {
25307
- var playerState = _ref2.playerState;
25308
+ var playerState = _ref2.playerState,
25309
+ textTrackPosition = _ref2.textTrackPosition;
25310
+
25311
+ if (textTrackPosition) {
25312
+ return textTrackPosition;
25313
+ }
25308
25314
 
25309
25315
  if (slimPlayerControlsPresent(state)) {
25310
25316
  // see pageflow.VideoPlayer#updateCueLineSettings for explanation of values.
@@ -30794,7 +30800,8 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
30794
30800
  React.createElement(_media.PageBackgroundAsset, null),
30795
30801
  React.createElement(_media.PageAudioFilePlayer, { file: props.audioFile,
30796
30802
  playerState: props.playerState,
30797
- playerActions: props.playerActions })
30803
+ playerActions: props.playerActions,
30804
+ textTrackPosition: textTrackPosition(playerControlsVariant) })
30798
30805
  );
30799
30806
  }
30800
30807
 
@@ -30806,6 +30813,12 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
30806
30813
  }
30807
30814
  }
30808
30815
 
30816
+ function textTrackPosition(variant) {
30817
+ if (variant == 'waveform') {
30818
+ return 'top';
30819
+ }
30820
+ }
30821
+
30809
30822
  function register() {
30810
30823
  (0, _registerPageType2.default)('audio', {
30811
30824
 
@@ -25050,7 +25050,8 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25050
25050
  muted: props.muted,
25051
25051
  playsInline: props.playsInline,
25052
25052
  defaultTextTrackFileId: props.defaultTextTrackFileId,
25053
- textTracksEnabled: props.textTracksEnabled });
25053
+ textTracksEnabled: props.textTracksEnabled,
25054
+ textTrackPosition: props.textTrackPosition });
25054
25055
  } else if (props.preloadComponent && fileReady && props.pageIsPreloaded) {
25055
25056
  var Preload = props.preloadComponent;
25056
25057
 
@@ -25298,7 +25299,12 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25298
25299
  var slimPlayerControlsPresent = (0, _selectors5.widgetPresent)('slimPlayerControls');
25299
25300
 
25300
25301
  function textTrackPosition(state, _ref2) {
25301
- var playerState = _ref2.playerState;
25302
+ var playerState = _ref2.playerState,
25303
+ textTrackPosition = _ref2.textTrackPosition;
25304
+
25305
+ if (textTrackPosition) {
25306
+ return textTrackPosition;
25307
+ }
25302
25308
 
25303
25309
  if (slimPlayerControlsPresent(state)) {
25304
25310
  // see pageflow.VideoPlayer#updateCueLineSettings for explanation of values.
@@ -30772,7 +30778,8 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
30772
30778
  React.createElement(_media.PageBackgroundAsset, null),
30773
30779
  React.createElement(_media.PageAudioFilePlayer, { file: props.audioFile,
30774
30780
  playerState: props.playerState,
30775
- playerActions: props.playerActions })
30781
+ playerActions: props.playerActions,
30782
+ textTrackPosition: textTrackPosition(playerControlsVariant) })
30776
30783
  );
30777
30784
  }
30778
30785
 
@@ -30784,6 +30791,12 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
30784
30791
  }
30785
30792
  }
30786
30793
 
30794
+ function textTrackPosition(variant) {
30795
+ if (variant == 'waveform') {
30796
+ return 'top';
30797
+ }
30798
+ }
30799
+
30787
30800
  function register() {
30788
30801
  (0, _registerPageType2.default)('audio', {
30789
30802
 
@@ -187,6 +187,7 @@
187
187
  scroller: scroller,
188
188
  scrollToActive: true,
189
189
  animationDuration: 500,
190
+ lazyLoadImages: true,
190
191
  onAnimationStart: function() {
191
192
  element.addClass('is_animating');
192
193
  },
@@ -95,9 +95,14 @@
95
95
  return $.when(animation.enabled && animationDurationElapsed()).then(function() {
96
96
  links.each(function() {
97
97
  var link = $(this);
98
+ var pageIsVisible = visible(currentPagePermaId, link);
98
99
 
99
- animation.finish(link.parent(), visible(currentPagePermaId, link));
100
- link.parent().andSelf().toggleClass('filtered', !visible(currentPagePermaId, link));
100
+ animation.finish(link.parent(), pageIsVisible);
101
+ link.parent().andSelf().toggleClass('filtered', !pageIsVisible);
102
+
103
+ if (pageIsVisible && options.lazyLoadImages) {
104
+ link.loadLazyImages();
105
+ }
101
106
  });
102
107
 
103
108
  scroller.refresh();
@@ -130,4 +135,4 @@
130
135
  }
131
136
  }
132
137
  });
133
- }(jQuery));
138
+ }(jQuery));
@@ -26,6 +26,12 @@ $page-header-first-page-title-typography: () !default;
26
26
  /// Typography for title on first page in phone layout.
27
27
  $page-header-first-page-title-phone-typography: () !default;
28
28
 
29
+ /// Typography for title on first page of chapter.
30
+ $page-header-chapter-beginning-title-typography: () !default;
31
+
32
+ /// Typography for title on first page of chapter in phone layout.
33
+ $page-header-chapter-beginning-title-phone-typography: () !default;
34
+
29
35
  /// Typography for header subtitle.
30
36
  $page-header-subtitle-typography: () !default;
31
37
 
@@ -241,3 +247,17 @@ $page-content-text-line-height: 1.5em !default;
241
247
  }
242
248
  }
243
249
  }
250
+
251
+ .emphasize_chapter_beginning .page.chapter_beginning:nth-of-type(n+2) {
252
+ h2 .title {
253
+ @include typography(
254
+ $page-header-chapter-beginning-title-typography
255
+ );
256
+
257
+ @include phone {
258
+ @include typography(
259
+ $page-header-chapter-beginning-title-phone-typography
260
+ );
261
+ }
262
+ }
263
+ }
@@ -27,10 +27,31 @@ module Pageflow
27
27
  has_many :audio_files, -> { extending WithFileUsageExtension },
28
28
  :through => :file_usages, :source => :file, :source_type => 'Pageflow::AudioFile'
29
29
 
30
- scope :published, -> do
31
- where([':now >= published_at AND (published_until IS NULL OR :now < published_until)',
32
- {:now => Time.now}])
33
- end
30
+ scope(:published,
31
+ lambda do
32
+ # The following query would be much easier expressed as
33
+ #
34
+ # where.not(published_at: nil)
35
+ # .where(['(published_until IS NULL OR published_until > :now)',
36
+ # {now: Time.now}])
37
+ #
38
+ # But referencing `published_until` without qualifying it
39
+ # with a table name or alias makes it ambiguous when the
40
+ # revisions table is joined multiple times in a query.
41
+ #
42
+ # The hash syntax makes sure the correct dynamically
43
+ # generated table alias is used.
44
+
45
+ published_indefinitely =
46
+ where.not(published_at: nil).where(published_until: nil)
47
+
48
+ published_until_gt_now = {published_until: 1.second.from_now..DateTime::Infinity.new}
49
+
50
+ published_and_not_yet_depublished =
51
+ where.not(published_at: nil).where(published_until_gt_now)
52
+
53
+ published_indefinitely.or(published_and_not_yet_depublished)
54
+ end)
34
55
 
35
56
  scope(:with_password_protection, -> { where('password_protected IS TRUE') })
36
57
  scope(:without_password_protection, -> { where('password_protected IS NOT TRUE') })
@@ -5,8 +5,7 @@
5
5
  <div class="scroller">
6
6
  <ul class="navigation_thumbnails">
7
7
  <%= render :partial => 'pageflow/entries/navigation/page',
8
- :collection => entry.pages.displayed_in_navigation,
9
- :locals => {:image_style => :navigation_thumbnail_small, :image_width => 85} %>
8
+ :collection => entry.pages.displayed_in_navigation %>
10
9
  </ul>
11
10
  </div>
12
11
  <%= render 'pageflow/entries/navigation/bar_bottom', :entry => entry %>
@@ -1,6 +1,6 @@
1
1
  <li class="<%= page_navigation_css_class(page) %>">
2
2
  <%= link_to "##{page.perma_id}", :data => {:link => page.id, :chapter_id => page.chapter_id} do %>
3
- <%= image_tag(page.thumbnail_url(image_style), :width => image_width) %>
3
+ <%= image_tag('', data: {src: asset_path(page.thumbnail_url(:navigation_thumbnail_small))}, width: 85, height: 47) %>
4
4
  <% end %>
5
5
  <div class="navigation_site_detail">
6
6
  <%= page.title %>
@@ -93,9 +93,13 @@ de:
93
93
  contains: Enthält
94
94
  ends_with: Endet mit
95
95
  equals: Ist gleich
96
+ from: Von
96
97
  greater_than: Größer als
98
+ gteq_datetime: Größer gleich
97
99
  less_than: Kleiner als
100
+ lteq_datetime: Kleiner gleich
98
101
  starts_with: Beginnt mit
102
+ to: Bis
99
103
  greater_than: Größer als
100
104
  has_many_delete: Löschen
101
105
  has_many_new: "%{model} hinzufügen"
@@ -93,9 +93,13 @@ en:
93
93
  contains: Contains
94
94
  ends_with: Ends with
95
95
  equals: Equals
96
+ from: From
96
97
  greater_than: Greater than
98
+ gteq_datetime: Greater or equal to
97
99
  less_than: Less than
100
+ lteq_datetime: Lesser or equal to
98
101
  starts_with: Starts with
102
+ to: To
99
103
  greater_than: Greater than
100
104
  has_many_delete: Delete
101
105
  has_many_new: Add New %{model}
@@ -1,3 +1,3 @@
1
1
  module Pageflow
2
- VERSION = '13.2.0'.freeze
2
+ VERSION = '13.3.0'.freeze
3
3
  end
@@ -13,6 +13,11 @@ module Pageflow
13
13
  published_at { 1.day.ago }
14
14
  end
15
15
 
16
+ trait :not_yet_depublished do
17
+ published
18
+ published_until { 1.day.from_now }
19
+ end
20
+
16
21
  trait :depublished do
17
22
  published
18
23
  published_until { 1.day.ago }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pageflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 13.2.0
4
+ version: 13.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Codevise Solutions Ltd
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-28 00:00:00.000000000 Z
11
+ date: 2019-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails