pageflow 15.4.0 → 15.5.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 +4 -4
- data/CHANGELOG.md +94 -166
- data/admins/pageflow/user.rb +0 -2
- data/app/assets/javascripts/pageflow/dist/ui.js +32 -9
- data/app/assets/javascripts/pageflow/editor/vendor.js +1 -0
- data/app/assets/stylesheets/pageflow/themes/default/page.scss +7 -0
- data/app/models/pageflow/chapter.rb +3 -9
- data/app/models/pageflow/page.rb +1 -4
- data/app/models/pageflow/revision.rb +0 -4
- data/app/models/pageflow/storyline.rb +2 -9
- data/app/views/pageflow/admin/initial_passwords/edit.html.erb +2 -1
- data/app/views/pageflow/themes/_theme.json.jbuilder +1 -1
- data/config/initializers/revision_components.rb +5 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +37 -13
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +19 -6
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +28 -0
- data/entry_types/scrolled/app/models/pageflow_scrolled/chapter.rb +3 -9
- data/entry_types/scrolled/app/models/pageflow_scrolled/content_element.rb +1 -4
- data/entry_types/scrolled/app/models/pageflow_scrolled/section.rb +3 -9
- data/entry_types/scrolled/app/models/pageflow_scrolled/storyline.rb +1 -9
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/_global_notices.html.erb +10 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +6 -3
- data/entry_types/scrolled/config/locales/de.yml +14 -0
- data/entry_types/scrolled/config/locales/en.yml +15 -49
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +43 -6
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/themes_plugin.rb.tt +26 -0
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled/create_bundle_symlinks_for_yarn.rake +32 -0
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled/dummy.rake +8 -0
- data/entry_types/scrolled/lib/tasks/{pageflow_scrolled_tasks.rake → pageflow_scrolled/storybook.rake} +53 -14
- data/entry_types/scrolled/package/contentElements-editor.js +66 -7
- data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
- data/entry_types/scrolled/package/contentElements-frontend.js +109 -52
- data/entry_types/scrolled/package/editor.js +34 -25
- data/entry_types/scrolled/package/frontend/EditableText-7093fd0e.js +1071 -0
- data/entry_types/scrolled/package/frontend/Viewer-e49e7807.js +387 -0
- data/entry_types/scrolled/package/frontend/{Wavesurfer-b88b02e0.js → Wavesurfer-0adf5667.js} +1 -1
- data/entry_types/scrolled/package/frontend/{components-3ead1b4a.js → components-6a6793ca.js} +2 -1
- data/entry_types/scrolled/package/frontend/i18n-4dc6c377.js +1092 -0
- data/entry_types/scrolled/package/frontend/index.css +2 -2
- data/entry_types/scrolled/package/frontend/index.js +358 -179
- data/entry_types/scrolled/package/frontend/useBrowserFeature-91a4c29d.js +33 -0
- data/entry_types/scrolled/package/package.json +3 -5
- data/lib/generators/pageflow/initializer/templates/pageflow.rb +0 -7
- data/lib/pageflow/entry_export_import/revision_serialization.rb +15 -13
- data/lib/pageflow/entry_export_import/revision_serialization/import.rb +18 -26
- data/lib/pageflow/entry_type_configuration.rb +1 -0
- data/lib/pageflow/nested_revision_component.rb +49 -0
- data/lib/pageflow/revision_component.rb +6 -2
- data/lib/pageflow/user_mixin.rb +2 -1
- data/lib/pageflow/version.rb +1 -1
- data/package/editor.js +2 -1
- data/package/frontend.js +13 -2
- data/package/ui.js +32 -9
- data/spec/factories/test_revision_components.rb +4 -0
- metadata +18 -10
- data/entry_types/scrolled/package/frontend/EditableText-43c50894.js +0 -2161
@@ -0,0 +1,33 @@
|
|
1
|
+
import { browser } from 'pageflow/frontend';
|
2
|
+
import React, { createContext, useContext, useState, useEffect } from 'react';
|
3
|
+
import { _ as _slicedToArray } from './i18n-4dc6c377.js';
|
4
|
+
|
5
|
+
var BrowserFeaturesAvailableContext = createContext(); // Browser feature detection is not available during server side
|
6
|
+
// rendering. To prevent mismatches during hydration, we keep features
|
7
|
+
// disabled in the initial render. Since hydration only starts after
|
8
|
+
// feature detection has finished, we can immediately re-render once
|
9
|
+
// the provider has mounted.
|
10
|
+
|
11
|
+
function BrowserFeaturesProvider(_ref) {
|
12
|
+
var children = _ref.children;
|
13
|
+
|
14
|
+
var _useState = useState(false),
|
15
|
+
_useState2 = _slicedToArray(_useState, 2),
|
16
|
+
isAvailable = _useState2[0],
|
17
|
+
setIsAvailable = _useState2[1];
|
18
|
+
|
19
|
+
useEffect(function () {
|
20
|
+
return setIsAvailable(true);
|
21
|
+
}, []);
|
22
|
+
return (
|
23
|
+
/*#__PURE__*/
|
24
|
+
React.createElement(BrowserFeaturesAvailableContext.Provider, {
|
25
|
+
value: isAvailable
|
26
|
+
}, children)
|
27
|
+
);
|
28
|
+
}
|
29
|
+
function useBrowserFeature(name) {
|
30
|
+
return useContext(BrowserFeaturesAvailableContext) && browser.has(name);
|
31
|
+
}
|
32
|
+
|
33
|
+
export { BrowserFeaturesProvider as B, useBrowserFeature as u };
|
@@ -7,6 +7,7 @@
|
|
7
7
|
"author": "Codevise Solutions GmbH <info@codevise.de>",
|
8
8
|
"license": "MIT",
|
9
9
|
"dependencies": {
|
10
|
+
"@egjs/view360": "^3.4.3",
|
10
11
|
"core-js": "^3.6.5",
|
11
12
|
"debounce": "^1.2.0",
|
12
13
|
"deep-assign": "^3.0.0",
|
@@ -22,19 +23,16 @@
|
|
22
23
|
"react-tooltip": "^3.11.1",
|
23
24
|
"react_ujs": "^2.6.1",
|
24
25
|
"reselect": "^4.0.0",
|
26
|
+
"screenfull": "^5.1.0",
|
25
27
|
"slate": "^0.57.3",
|
26
28
|
"slate-react": "^0.57.3",
|
27
29
|
"slugify": "^1.4.6",
|
28
30
|
"striptags": "^3.1.1",
|
29
31
|
"use-context-selector": "^1.2.11",
|
30
|
-
"video.js": "
|
31
|
-
"videojs-contrib-dash": "2.11.0",
|
32
|
+
"video.js": "https://github.com/tf/video.js#pageflow-scrolled-5",
|
32
33
|
"wavesurfer.js": "https://github.com/tf/wavesurfer.js#patches",
|
33
34
|
"whatwg-fetch": "^3.0.0"
|
34
35
|
},
|
35
|
-
"resolutions": {
|
36
|
-
"video.js": "6.2.7"
|
37
|
-
},
|
38
36
|
"peerDependencies": {
|
39
37
|
"pageflow": "15.1.0",
|
40
38
|
"react": "^16.9.0",
|
@@ -5,7 +5,6 @@ Pageflow.configure do |config|
|
|
5
5
|
|
6
6
|
# Entry type plugins
|
7
7
|
config.plugin(PageflowPaged.plugin)
|
8
|
-
config.plugin(PageflowScrolled.plugin)
|
9
8
|
|
10
9
|
# Plugins that provide page types and widget types.
|
11
10
|
config.plugin(Pageflow.built_in_page_types_plugin)
|
@@ -23,12 +22,6 @@ Pageflow.configure do |config|
|
|
23
22
|
# config.themes.register(:my_custom_theme)
|
24
23
|
end
|
25
24
|
|
26
|
-
config.for_entry_type(PageflowScrolled.entry_type) do |entry_type_config|
|
27
|
-
entry_type_config.themes.register(:default,
|
28
|
-
logo_alt_text: 'Pageflow',
|
29
|
-
theme_color: '#ffffff')
|
30
|
-
end
|
31
|
-
|
32
25
|
# String to interpolate into paths of files generated by paperclip
|
33
26
|
# preprocessors. This allows to refresh cdn caches after
|
34
27
|
# reprocessing attachments.
|
@@ -10,19 +10,6 @@ module Pageflow
|
|
10
10
|
widgets: {
|
11
11
|
except: [:subject_id, :subject_type]
|
12
12
|
},
|
13
|
-
storylines: {
|
14
|
-
except: :revision_id,
|
15
|
-
include: {
|
16
|
-
chapters: {
|
17
|
-
except: :storyline_id,
|
18
|
-
include: {
|
19
|
-
pages: {
|
20
|
-
except: :chapter_id
|
21
|
-
}
|
22
|
-
}
|
23
|
-
}
|
24
|
-
}
|
25
|
-
},
|
26
13
|
file_usages: {
|
27
14
|
except: [:revision_id],
|
28
15
|
include: {
|
@@ -51,6 +38,21 @@ module Pageflow
|
|
51
38
|
revision_component
|
52
39
|
.attributes.except('revision_id')
|
53
40
|
.merge('class_name' => revision_component.class.name)
|
41
|
+
.merge('components' => serialize_nested_revision_components(revision_component))
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def serialize_nested_revision_components(revision_component)
|
46
|
+
collection_names = revision_component.nested_revision_component_collection_names
|
47
|
+
|
48
|
+
collection_names.each_with_object({}) do |collection_name, result|
|
49
|
+
collection = revision_component.send(collection_name)
|
50
|
+
|
51
|
+
result[collection_name] = collection.map do |nested_component|
|
52
|
+
nested_component
|
53
|
+
.attributes
|
54
|
+
.merge('components' => serialize_nested_revision_components(nested_component))
|
55
|
+
end
|
54
56
|
end
|
55
57
|
end
|
56
58
|
end
|
@@ -17,7 +17,6 @@ module Pageflow
|
|
17
17
|
Revision.transaction do
|
18
18
|
revision = create_revision(data)
|
19
19
|
|
20
|
-
create_storylines_chapters_and_pages(revision, data['storylines'])
|
21
20
|
create_widgets(revision, data['widgets'])
|
22
21
|
create_revision_components(revision, data['components'])
|
23
22
|
create_files(revision, data['file_usages'])
|
@@ -46,30 +45,6 @@ module Pageflow
|
|
46
45
|
end
|
47
46
|
end
|
48
47
|
|
49
|
-
def create_storylines_chapters_and_pages(revision, storylines_data)
|
50
|
-
storylines_data.each do |storyline_data|
|
51
|
-
chapters_data = storyline_data.delete('chapters')
|
52
|
-
storyline = revision.storylines.create!(storyline_data.except(*DEFAULT_REMOVAL_COLUMNS))
|
53
|
-
|
54
|
-
create_chapters_and_pages(storyline, chapters_data)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
def create_chapters_and_pages(storyline, chapters_data)
|
59
|
-
chapters_data.each do |chapter_data|
|
60
|
-
pages_data = chapter_data.delete('pages')
|
61
|
-
chapter = storyline.chapters.create!(chapter_data.except(*DEFAULT_REMOVAL_COLUMNS))
|
62
|
-
|
63
|
-
create_pages(chapter, pages_data)
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
def create_pages(chapter, pages_data)
|
68
|
-
pages_data.each do |page_data|
|
69
|
-
chapter.pages.create!(page_data.except(*DEFAULT_REMOVAL_COLUMNS))
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
48
|
def create_widgets(revision, widgets_data)
|
74
49
|
widgets_data.each do |widget_data|
|
75
50
|
revision.widgets.create!(widget_data.except(*DEFAULT_REMOVAL_COLUMNS))
|
@@ -78,9 +53,26 @@ module Pageflow
|
|
78
53
|
|
79
54
|
def create_revision_components(revision, revision_components_data)
|
80
55
|
revision_components_data.each do |component_data|
|
56
|
+
nested_compontents_data = component_data.delete('components')
|
57
|
+
|
81
58
|
component_model = component_data.delete('class_name').constantize
|
82
59
|
component_data['revision_id'] = revision.id
|
83
|
-
component_model.create!(component_data.except(*DEFAULT_REMOVAL_COLUMNS))
|
60
|
+
component = component_model.create!(component_data.except(*DEFAULT_REMOVAL_COLUMNS))
|
61
|
+
|
62
|
+
create_nested_revision_components(component, nested_compontents_data)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def create_nested_revision_components(revision_component, nested_compontents_data)
|
67
|
+
nested_compontents_data.each do |collection_name, components_data|
|
68
|
+
components_data.each do |component_data|
|
69
|
+
nested_compontents_data = component_data.delete('components')
|
70
|
+
|
71
|
+
collection = revision_component.send(collection_name)
|
72
|
+
nested_component = collection.create!(component_data.except(*DEFAULT_REMOVAL_COLUMNS))
|
73
|
+
|
74
|
+
create_nested_revision_components(nested_component, nested_compontents_data)
|
75
|
+
end
|
84
76
|
end
|
85
77
|
end
|
86
78
|
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Pageflow
|
2
|
+
# Include in models that are declared as nested revision components
|
3
|
+
# of other revision components.
|
4
|
+
#
|
5
|
+
# @since 15.5
|
6
|
+
module NestedRevisionComponent
|
7
|
+
# Shared functionality of revision components and nested revision
|
8
|
+
# components.
|
9
|
+
module Container
|
10
|
+
extend ActiveSupport::Concern
|
11
|
+
|
12
|
+
included do
|
13
|
+
cattr_accessor :nested_revision_component_collection_names, default: []
|
14
|
+
end
|
15
|
+
|
16
|
+
# @api private
|
17
|
+
def copy_nested_revision_component_to(record)
|
18
|
+
nested_revision_component_collection_names.each do |collection_name|
|
19
|
+
send(collection_name).each do |nested|
|
20
|
+
nested.copy_to(record.send(collection_name))
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
# Macro methods to declare nested revision components
|
26
|
+
module ClassMethods
|
27
|
+
# Call this macro in the body of a class which includes
|
28
|
+
# `RevisionComponent` or `NestedRevisionComponent` and pass
|
29
|
+
# the name of an association that shall be included when the
|
30
|
+
# revision component is copied to a new revision. The
|
31
|
+
# associated model needs to be a `NestedRevisionComponent`.
|
32
|
+
def nested_revision_components(*collection_names)
|
33
|
+
self.nested_revision_component_collection_names = collection_names
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
extend ActiveSupport::Concern
|
39
|
+
include Container
|
40
|
+
|
41
|
+
# @api private
|
42
|
+
def copy_to(collection)
|
43
|
+
record = dup
|
44
|
+
collection << record
|
45
|
+
|
46
|
+
copy_nested_revision_component_to(record)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -2,8 +2,9 @@ module Pageflow
|
|
2
2
|
# RevisionComponent represents a model that is attached to the revision
|
3
3
|
# mechanism of Pageflow.
|
4
4
|
#
|
5
|
-
# In order to be used as a
|
6
|
-
# have an integer field `perma_id` and a
|
5
|
+
# In order to be used as a revision component, a model is required
|
6
|
+
# to have an integer field `perma_id` and a `revision_id` foreign
|
7
|
+
# key.
|
7
8
|
module RevisionComponent
|
8
9
|
extend ActiveSupport::Concern
|
9
10
|
|
@@ -13,6 +14,7 @@ module Pageflow
|
|
13
14
|
|
14
15
|
included do
|
15
16
|
include AutoGeneratedPermaId
|
17
|
+
include NestedRevisionComponent::Container
|
16
18
|
|
17
19
|
belongs_to :revision, class_name: 'Pageflow::Revision', touch: true
|
18
20
|
end
|
@@ -21,6 +23,8 @@ module Pageflow
|
|
21
23
|
record = dup
|
22
24
|
record.revision = revision
|
23
25
|
record.save!
|
26
|
+
|
27
|
+
copy_nested_revision_component_to(record)
|
24
28
|
end
|
25
29
|
|
26
30
|
module ClassMethods
|
data/lib/pageflow/user_mixin.rb
CHANGED
@@ -24,6 +24,7 @@ module Pageflow
|
|
24
24
|
has_many :revisions, class_name: 'Pageflow::Revision', foreign_key: :creator_id
|
25
25
|
|
26
26
|
validates :first_name, :last_name, presence: true
|
27
|
+
validates_inclusion_of :locale, in: Pageflow.config.available_locales.map(&:to_s)
|
27
28
|
|
28
29
|
scope :admins, -> { where(admin: true) }
|
29
30
|
end
|
@@ -41,7 +42,7 @@ module Pageflow
|
|
41
42
|
end
|
42
43
|
|
43
44
|
def locale
|
44
|
-
super.presence || I18n.default_locale
|
45
|
+
super.presence || I18n.default_locale.to_s
|
45
46
|
end
|
46
47
|
|
47
48
|
def update_with_password(attributes)
|
data/lib/pageflow/version.rb
CHANGED
data/package/editor.js
CHANGED
@@ -3578,7 +3578,8 @@ var ForeignKeySubsetCollection = SubsetCollection.extend({
|
|
3578
3578
|
|
3579
3579
|
model.set(options.foreignKeyAttribute, parentModel.id);
|
3580
3580
|
});
|
3581
|
-
this.listenTo(parentModel, 'destroy', function () {
|
3581
|
+
this.listenTo(parentModel, 'destroy dependentDestroy', function () {
|
3582
|
+
this.invoke('trigger', 'dependentDestroy');
|
3582
3583
|
this.clear();
|
3583
3584
|
});
|
3584
3585
|
|
data/package/frontend.js
CHANGED
@@ -1911,7 +1911,11 @@ var createMediaPlayer = function createMediaPlayer(options) {
|
|
1911
1911
|
loop: options.loop,
|
1912
1912
|
controls: options.controls,
|
1913
1913
|
html5: {
|
1914
|
-
nativeCaptions: !isAudio && browser.has('iphone platform')
|
1914
|
+
nativeCaptions: !isAudio && browser.has('iphone platform'),
|
1915
|
+
// Only used by pageflow-scrolled
|
1916
|
+
vhs: {
|
1917
|
+
useBandwidthFromLocalStorage: true
|
1918
|
+
}
|
1915
1919
|
},
|
1916
1920
|
bufferUnderrunWaiting: true,
|
1917
1921
|
fallbackToMutedAutoplay: !isAudio,
|
@@ -2017,7 +2021,8 @@ function () {
|
|
2017
2021
|
loop = _ref$loop === void 0 ? false : _ref$loop,
|
2018
2022
|
_ref$controls = _ref.controls,
|
2019
2023
|
controls = _ref$controls === void 0 ? false : _ref$controls,
|
2020
|
-
altText = _ref.altText
|
2024
|
+
altText = _ref.altText,
|
2025
|
+
onRelease = _ref.onRelease;
|
2021
2026
|
var player = undefined;
|
2022
2027
|
|
2023
2028
|
if (!this.unAllocatedPlayers[playerType]) {
|
@@ -2045,6 +2050,7 @@ function () {
|
|
2045
2050
|
player.updateMediaEventsContext(mediaEventsContextData);
|
2046
2051
|
this.allocatedPlayers[playerType].push(player);
|
2047
2052
|
player.playerId = playerId || this.allocatedPlayers[playerType].length;
|
2053
|
+
player.releaseCallback = onRelease;
|
2048
2054
|
return player;
|
2049
2055
|
} else {
|
2050
2056
|
console.log('no player found for allocation');
|
@@ -2070,6 +2076,11 @@ function () {
|
|
2070
2076
|
player.poster('');
|
2071
2077
|
clearTextTracks(player);
|
2072
2078
|
this.unAllocatedPlayers[type].push(player);
|
2079
|
+
|
2080
|
+
if (player.releaseCallback) {
|
2081
|
+
player.releaseCallback();
|
2082
|
+
player.releaseCallback = null;
|
2083
|
+
}
|
2073
2084
|
}
|
2074
2085
|
}
|
2075
2086
|
}, {
|
data/package/ui.js
CHANGED
@@ -2243,6 +2243,21 @@ var TextAreaInputView = Marionette.ItemView.extend({
|
|
2243
2243
|
}
|
2244
2244
|
});
|
2245
2245
|
|
2246
|
+
function _defineProperty(obj, key, value) {
|
2247
|
+
if (key in obj) {
|
2248
|
+
Object.defineProperty(obj, key, {
|
2249
|
+
value: value,
|
2250
|
+
enumerable: true,
|
2251
|
+
configurable: true,
|
2252
|
+
writable: true
|
2253
|
+
});
|
2254
|
+
} else {
|
2255
|
+
obj[key] = value;
|
2256
|
+
}
|
2257
|
+
|
2258
|
+
return obj;
|
2259
|
+
}
|
2260
|
+
|
2246
2261
|
function template$9(data) {
|
2247
2262
|
var __p = '';
|
2248
2263
|
__p += '<label>\n <span class="name"></span>\n <span class="inline_help"></span>\n</label>\n<input type="text" />\n<div class="validation"></div>\n';
|
@@ -2285,24 +2300,32 @@ var UrlInputView = Marionette.Layout.extend(
|
|
2285
2300
|
this.validate();
|
2286
2301
|
},
|
2287
2302
|
onChange: function onChange() {
|
2288
|
-
var
|
2289
|
-
|
2290
|
-
this.validate().
|
2291
|
-
|
2303
|
+
var _this = this;
|
2304
|
+
|
2305
|
+
this.validate().then(function () {
|
2306
|
+
return _this.save();
|
2307
|
+
}, function () {
|
2308
|
+
return _this.saveDisplayProperty();
|
2292
2309
|
});
|
2293
2310
|
},
|
2294
2311
|
saveDisplayProperty: function saveDisplayProperty() {
|
2312
|
+
this.model.unset(this.options.propertyName, {
|
2313
|
+
silent: true
|
2314
|
+
});
|
2295
2315
|
this.model.set(this.options.displayPropertyName, this.ui.input.val());
|
2296
|
-
this.model.unset(this.options.propertyName);
|
2297
2316
|
},
|
2298
2317
|
save: function save() {
|
2299
|
-
var
|
2300
|
-
|
2301
|
-
|
2318
|
+
var _this2 = this;
|
2319
|
+
|
2320
|
+
var value = this.ui.input.val();
|
2321
|
+
$.when(this.transformPropertyValue(value)).then(function (transformedValue) {
|
2322
|
+
var _this2$model$set;
|
2323
|
+
|
2324
|
+
_this2.model.set((_this2$model$set = {}, _defineProperty(_this2$model$set, _this2.options.displayPropertyName, value), _defineProperty(_this2$model$set, _this2.options.propertyName, transformedValue), _this2$model$set));
|
2302
2325
|
});
|
2303
2326
|
},
|
2304
2327
|
load: function load() {
|
2305
|
-
this.ui.input.val(this.model.get(this.options.displayPropertyName));
|
2328
|
+
this.ui.input.val(this.model.has(this.options.displayPropertyName) ? this.model.get(this.options.displayPropertyName) : this.model.get(this.options.propertyName));
|
2306
2329
|
this.onLoad();
|
2307
2330
|
},
|
2308
2331
|
|
@@ -3,5 +3,9 @@ module Pageflow
|
|
3
3
|
factory :test_revision_component, class: 'Pageflow::TestRevisionComponent' do
|
4
4
|
text { 'Some text' }
|
5
5
|
end
|
6
|
+
|
7
|
+
factory :test_composite_revision_component, class: 'Pageflow::TestCompositeRevisionComponent' do
|
8
|
+
text { 'Some text' }
|
9
|
+
end
|
6
10
|
end
|
7
11
|
end
|
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: 15.
|
4
|
+
version: 15.5.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: 2021-
|
11
|
+
date: 2021-05-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -64,14 +64,14 @@ dependencies:
|
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: 4.
|
67
|
+
version: 4.7.3
|
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: 4.
|
74
|
+
version: 4.7.3
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: yajl-ruby
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1602,6 +1602,7 @@ files:
|
|
1602
1602
|
- config/initializers/features.rb
|
1603
1603
|
- config/initializers/help_entries.rb
|
1604
1604
|
- config/initializers/paperclip.rb
|
1605
|
+
- config/initializers/revision_components.rb
|
1605
1606
|
- config/initializers/symmetric_encryption.rb
|
1606
1607
|
- config/initializers/view_components.rb
|
1607
1608
|
- config/initializers/zencoder.rb
|
@@ -1720,6 +1721,7 @@ files:
|
|
1720
1721
|
- entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_body.html.erb
|
1721
1722
|
- entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb
|
1722
1723
|
- entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_seed.json.jbuilder
|
1724
|
+
- entry_types/scrolled/app/views/pageflow_scrolled/entries/_global_notices.html.erb
|
1723
1725
|
- entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb
|
1724
1726
|
- entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder
|
1725
1727
|
- entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_theme.json.jbuilder
|
@@ -1743,23 +1745,29 @@ files:
|
|
1743
1745
|
- entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoDesktop.svg
|
1744
1746
|
- entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoMobile.svg
|
1745
1747
|
- entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/unmute.mp3
|
1748
|
+
- entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/themes_plugin.rb.tt
|
1746
1749
|
- entry_types/scrolled/lib/pageflow_scrolled.rb
|
1747
1750
|
- entry_types/scrolled/lib/pageflow_scrolled/configuration.rb
|
1748
1751
|
- entry_types/scrolled/lib/pageflow_scrolled/engine.rb
|
1749
1752
|
- entry_types/scrolled/lib/pageflow_scrolled/plugin.rb
|
1750
1753
|
- entry_types/scrolled/lib/pageflow_scrolled/seeds.rb
|
1751
|
-
- entry_types/scrolled/lib/tasks/
|
1754
|
+
- entry_types/scrolled/lib/tasks/pageflow_scrolled/create_bundle_symlinks_for_yarn.rake
|
1755
|
+
- entry_types/scrolled/lib/tasks/pageflow_scrolled/dummy.rake
|
1756
|
+
- entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake
|
1752
1757
|
- entry_types/scrolled/package/contentElements-editor.js
|
1753
1758
|
- entry_types/scrolled/package/contentElements-frontend.css
|
1754
1759
|
- entry_types/scrolled/package/contentElements-frontend.js
|
1755
1760
|
- entry_types/scrolled/package/editor.js
|
1756
1761
|
- entry_types/scrolled/package/frontend-server.js
|
1757
|
-
- entry_types/scrolled/package/frontend/EditableText-
|
1758
|
-
- entry_types/scrolled/package/frontend/
|
1759
|
-
- entry_types/scrolled/package/frontend/
|
1762
|
+
- entry_types/scrolled/package/frontend/EditableText-7093fd0e.js
|
1763
|
+
- entry_types/scrolled/package/frontend/Viewer-e49e7807.js
|
1764
|
+
- entry_types/scrolled/package/frontend/Wavesurfer-0adf5667.js
|
1765
|
+
- entry_types/scrolled/package/frontend/components-6a6793ca.js
|
1760
1766
|
- entry_types/scrolled/package/frontend/getPrototypeOf-63c7c8e8.js
|
1767
|
+
- entry_types/scrolled/package/frontend/i18n-4dc6c377.js
|
1761
1768
|
- entry_types/scrolled/package/frontend/index.css
|
1762
1769
|
- entry_types/scrolled/package/frontend/index.js
|
1770
|
+
- entry_types/scrolled/package/frontend/useBrowserFeature-91a4c29d.js
|
1763
1771
|
- entry_types/scrolled/package/package.json
|
1764
1772
|
- entry_types/scrolled/spec/factories/chapters.rb
|
1765
1773
|
- entry_types/scrolled/spec/factories/content_elements.rb
|
@@ -1850,6 +1858,7 @@ files:
|
|
1850
1858
|
- lib/pageflow/help_entries.rb
|
1851
1859
|
- lib/pageflow/help_entry.rb
|
1852
1860
|
- lib/pageflow/hooks.rb
|
1861
|
+
- lib/pageflow/nested_revision_component.rb
|
1853
1862
|
- lib/pageflow/news_item_api.rb
|
1854
1863
|
- lib/pageflow/page_type.rb
|
1855
1864
|
- lib/pageflow/page_type_feature.rb
|
@@ -1956,8 +1965,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1956
1965
|
- !ruby/object:Gem::Version
|
1957
1966
|
version: '0'
|
1958
1967
|
requirements: []
|
1959
|
-
|
1960
|
-
rubygems_version: 2.7.9
|
1968
|
+
rubygems_version: 3.0.8
|
1961
1969
|
signing_key:
|
1962
1970
|
specification_version: 4
|
1963
1971
|
summary: Multimedia story telling for the web.
|