pageflow 0.5.0 → 0.6.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 +8 -8
- data/Rakefile +2 -1
- data/admins/pageflow/accounts.rb +20 -4
- data/admins/pageflow/entry.rb +4 -5
- data/app/assets/javascripts/pageflow/audio_player.js +16 -7
- data/app/assets/javascripts/pageflow/base.js +5 -0
- data/app/assets/javascripts/pageflow/built_in_widget_types.js +11 -0
- data/app/assets/javascripts/pageflow/cookies.js +43 -0
- data/app/assets/javascripts/pageflow/editor/base.js +2 -10
- data/app/assets/javascripts/pageflow/editor/collections/widgets_collection.js +16 -0
- data/app/assets/javascripts/pageflow/editor/controllers/sidebar_controller.js +3 -2
- data/app/assets/javascripts/pageflow/editor/edit_widget.jst.ejs +2 -0
- data/app/assets/javascripts/pageflow/editor/initializers/setup_widget_types.js +3 -0
- data/app/assets/javascripts/pageflow/editor/models/configuration.js +18 -9
- data/app/assets/javascripts/pageflow/editor/models/edit_lock_container.js +1 -0
- data/app/assets/javascripts/pageflow/editor/models/entry.js +13 -3
- data/app/assets/javascripts/pageflow/editor/models/entry_configuration.js +4 -0
- data/app/assets/javascripts/pageflow/editor/models/entry_configuration_file_selection_handler.js +11 -0
- data/app/assets/javascripts/pageflow/editor/models/image_file.js +4 -0
- data/app/assets/javascripts/pageflow/editor/models/mixins/widget_subject.js +37 -0
- data/app/assets/javascripts/pageflow/editor/models/page.js +1 -1
- data/app/assets/javascripts/pageflow/editor/models/page_configuration_file_selection_handler.js +1 -25
- data/app/assets/javascripts/pageflow/editor/models/theming.js +3 -0
- data/app/assets/javascripts/pageflow/editor/models/video_file.js +7 -0
- data/app/assets/javascripts/pageflow/editor/models/widget.js +19 -0
- data/app/assets/javascripts/pageflow/editor/routers/sidebar_router.js +1 -0
- data/app/assets/javascripts/pageflow/editor/templates/background_positioning.jst.ejs +18 -0
- data/app/assets/javascripts/pageflow/editor/templates/background_positioning_preview.jst.ejs +2 -0
- data/app/assets/javascripts/pageflow/editor/templates/background_positioning_sliders.jst.ejs +6 -0
- data/app/assets/javascripts/pageflow/editor/templates/edit_meta_data.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/templates/edit_widget.jst.ejs +2 -0
- data/app/assets/javascripts/pageflow/editor/templates/edit_widgets.jst.ejs +2 -0
- data/app/assets/javascripts/pageflow/editor/templates/entry_preview.jst.ejs +1 -3
- data/app/assets/javascripts/pageflow/editor/views/background_positioning_preview_view.js +39 -0
- data/app/assets/javascripts/pageflow/editor/views/background_positioning_sliders_view.js +94 -0
- data/app/assets/javascripts/pageflow/editor/views/background_positioning_view.js +67 -0
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/audio.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/audio_loop.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/background_image.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/background_video.js +4 -3
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/internal_links.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/video.js +9 -2
- data/app/assets/javascripts/pageflow/editor/views/edit_meta_data_view.js +18 -2
- data/app/assets/javascripts/pageflow/editor/views/edit_widget_view.js +29 -0
- data/app/assets/javascripts/pageflow/editor/views/edit_widgets_view.js +20 -0
- data/app/assets/javascripts/pageflow/editor/views/embedded/background_image_embedded_view.js +8 -3
- data/app/assets/javascripts/pageflow/editor/views/entry_preview_view.js +53 -9
- data/app/assets/javascripts/pageflow/editor/views/page_item_view.js +1 -1
- data/app/assets/javascripts/pageflow/editor/views/page_preview_view.js +11 -3
- data/app/assets/javascripts/pageflow/events.js +1 -0
- data/app/assets/javascripts/pageflow/features/hashchange_support.js +8 -0
- data/app/assets/javascripts/pageflow/history.js +14 -2
- data/app/assets/javascripts/pageflow/page_types/audio.js +18 -6
- data/app/assets/javascripts/pageflow/page_types/audio_loop.js +19 -7
- data/app/assets/javascripts/pageflow/page_types/background_video.js +41 -33
- data/app/assets/javascripts/pageflow/page_types/mixins/video_helpers.js +7 -16
- data/app/assets/javascripts/pageflow/ready.js +12 -25
- data/app/assets/javascripts/pageflow/slideshow.js +5 -5
- data/app/assets/javascripts/pageflow/slideshow/hide_text_on_swipe.js +1 -1
- data/app/assets/javascripts/pageflow/slideshow/page_widget.js +11 -1
- data/app/assets/javascripts/pageflow/slideshow/scroll_indicator_widget.js +19 -2
- data/app/assets/javascripts/pageflow/slideshow/scroller_widget.js +31 -6
- data/app/assets/javascripts/pageflow/slideshow/swipe_gesture.js +6 -5
- data/app/assets/javascripts/pageflow/ui.js +16 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/object.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/renderer.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/check_box.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/file_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/page_reference.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/select_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/slider_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/text_area_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/text_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/inputs/url_input.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/templates/tabs_view.jst.ejs +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/collection_view.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/configuration_editor_tab_view.js +8 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/configuration_editor_view.js +3 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/check_box_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/file_input_view.js +10 -8
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/page_reference_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/proxy_url_input_view.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/select_input_view.js +41 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/slider_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/text_area_input_view.js +1 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/text_input_view.js +8 -2
- data/app/assets/javascripts/pageflow/{editor → ui}/views/inputs/url_input_view.js +9 -3
- data/app/assets/javascripts/pageflow/{editor/views → ui/views/mixins}/input_view.js +5 -1
- data/app/assets/javascripts/pageflow/{editor → ui}/views/mixins/subview_container.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/sortable_collection_view.js +0 -0
- data/app/assets/javascripts/pageflow/{editor → ui}/views/tabs_view.js +11 -2
- data/app/assets/javascripts/pageflow/video_player/lazy.js +4 -1
- data/app/assets/javascripts/pageflow/visited.js +56 -0
- data/app/assets/javascripts/pageflow/widget_types.js +27 -0
- data/app/assets/javascripts/pageflow/widgets/events.js +33 -0
- data/app/assets/javascripts/pageflow/widgets/navigation.js +42 -33
- data/app/assets/javascripts/pageflow/widgets/navigation_mobile.js +60 -38
- data/app/assets/javascripts/pageflow/widgets/overview.js +3 -3
- data/app/assets/javascripts/pageflow/widgets/page_navigation_list.js +34 -4
- data/app/assets/javascripts/pageflow/widgets/share_menu.js +60 -0
- data/app/assets/stylesheets/pageflow/admin.css.scss +1 -0
- data/app/assets/stylesheets/pageflow/admin/tabs_view.css.scss +50 -0
- data/app/assets/stylesheets/pageflow/application_with_simulated_media_queries.css.scss +2 -0
- data/app/assets/stylesheets/pageflow/base.css.scss +2 -1
- data/app/assets/stylesheets/pageflow/editor/{image_positioning.css.scss → background_positioning.css.scss} +66 -65
- data/app/assets/stylesheets/pageflow/editor/base.css.scss +7 -5
- data/app/assets/stylesheets/pageflow/editor/file_thumbnails.css.scss +7 -9
- data/app/assets/stylesheets/pageflow/editor/select_button.css.scss +4 -4
- data/app/assets/stylesheets/pageflow/editor/widgets.css.scss +4 -0
- data/app/assets/stylesheets/pageflow/entries.css.scss +5 -0
- data/app/assets/stylesheets/pageflow/mixins/breakpoints.css.scss +75 -10
- data/app/assets/stylesheets/pageflow/multimedia_alert.css.scss +31 -30
- data/app/assets/stylesheets/pageflow/navigation_bar.css.scss +4 -0
- data/app/assets/stylesheets/pageflow/navigation_mobile.css.scss +57 -58
- data/app/assets/stylesheets/pageflow/player_controls.css.scss +2 -2
- data/app/assets/stylesheets/pageflow/slideshow.css.scss +4 -1
- data/app/assets/stylesheets/pageflow/subshare.css.scss +28 -0
- data/app/assets/stylesheets/pageflow/ui.css.scss +7 -0
- data/app/assets/stylesheets/pageflow/{editor → ui}/forms.css.scss +1 -0
- data/app/assets/stylesheets/pageflow/{editor → ui}/tabs_view.css.scss +1 -0
- data/app/controllers/pageflow/editor/widgets_controller.rb +39 -0
- data/app/controllers/pageflow/entries_controller.rb +10 -1
- data/app/helpers/pageflow/entries_helper.rb +7 -0
- data/app/helpers/pageflow/page_types_helper.rb +7 -7
- data/app/helpers/pageflow/pages_helper.rb +36 -5
- data/app/helpers/pageflow/social_share_helper.rb +54 -0
- data/app/helpers/pageflow/widgets_helper.rb +43 -0
- data/app/models/pageflow/draft_entry.rb +4 -1
- data/app/models/pageflow/entry.rb +1 -0
- data/app/models/pageflow/published_entry.rb +6 -3
- data/app/models/pageflow/revision.rb +5 -0
- data/app/models/pageflow/theming.rb +3 -0
- data/app/models/pageflow/widget.rb +74 -0
- data/app/views/admin/accounts/_form.html.erb +10 -0
- data/app/views/components/pageflow/admin/entries_tab.rb +22 -0
- data/app/views/components/pageflow/admin/members_tab.rb +35 -0
- data/app/views/components/pageflow/admin/revisions_tab.rb +51 -0
- data/app/views/components/pageflow/admin/tabs_view.rb +78 -0
- data/app/views/components/pageflow/admin/users_tab.rb +22 -0
- data/app/views/layouts/pageflow/application.html.erb +5 -5
- data/app/views/pageflow/editor/entries/_entry.json.jbuilder +7 -4
- data/app/views/pageflow/editor/files/_file.json.jbuilder +2 -2
- data/app/views/pageflow/editor/widgets/_widget.json.jbuilder +2 -0
- data/app/views/pageflow/editor/widgets/index.json.jbuilder +1 -0
- data/app/views/pageflow/entries/_entry.html.erb +6 -2
- data/app/views/pageflow/entries/_mobile_navigation.html.erb +56 -0
- data/app/views/pageflow/entries/_navigation.html.erb +3 -53
- data/app/views/pageflow/entries/edit.html.erb +2 -0
- data/app/views/pageflow/entries/navigation/_bar_top.html.erb +7 -3
- data/app/views/pageflow/entries/navigation/_page.html.erb +2 -2
- data/app/views/pageflow/entries/partials.html.erb +1 -1
- data/app/views/pageflow/entries/show.html.erb +12 -4
- data/app/views/pageflow/files/show.html.erb +5 -0
- data/app/views/pageflow/pages/templates/_audio_loop.html.erb +1 -1
- data/app/views/pageflow/pages/templates/_background_video.html.erb +2 -2
- data/app/views/pageflow/pages/templates/_video.html.erb +4 -3
- data/app/views/pageflow/{entries/_social_meta_tags.html.erb → social_share/_entry_meta_tags.html.erb} +2 -2
- data/app/views/pageflow/social_share/_image_tags.html.erb +3 -0
- data/app/views/pageflow/social_share/_page_meta_tags.html.erb +9 -0
- data/config/initializers/admin_resource_tabs.rb +7 -0
- data/config/initializers/paperclip.rb +1 -1
- data/config/initializers/view_components.rb +9 -1
- data/config/initializers/widget_types.rb +4 -0
- data/config/locales/activerecord.de.yml +5 -1
- data/config/locales/admin/tabs.de.yml +8 -0
- data/config/locales/editor.de.yml +5 -4
- data/config/locales/pageflow/editor/background_positioning.de.yml +13 -0
- data/config/locales/pageflow/ui.de.yml +6 -0
- data/config/locales/pageflow/widgets.de.yml +14 -0
- data/config/routes.rb +6 -0
- data/config/spring.rb +2 -1
- data/db/migrate/20141027102310_create_widgets.rb +11 -0
- data/db/migrate/20141028125408_add_emphasize_chapter_beginning_to_revisions.rb +5 -0
- data/db/migrate/20141119164526_add_emphasize_new_pages_to_revisions.rb +5 -0
- data/db/migrate/20141119174032_add_sharing_image_to_revisions.rb +7 -0
- data/lib/pageflow/ability_mixin.rb +2 -0
- data/lib/pageflow/admin/tabs.rb +18 -0
- data/lib/pageflow/built_in_widget_type.rb +27 -0
- data/lib/pageflow/configuration.rb +17 -0
- data/lib/pageflow/engine.rb +2 -0
- data/lib/pageflow/version.rb +1 -1
- data/lib/pageflow/widget_type.rb +52 -0
- data/lib/pageflow/widget_types.rb +50 -0
- data/spec/factories/audio_files.rb +1 -1
- data/spec/factories/chapters.rb +1 -1
- data/spec/factories/entries.rb +2 -2
- data/spec/factories/image_files.rb +1 -1
- data/spec/factories/video_files.rb +1 -1
- data/spec/factories/widgets.rb +6 -0
- data/vendor/assets/javascripts/audio5.min.js +3 -0
- metadata +104 -44
- data/app/assets/javascripts/pageflow/editor/templates/image_positioning.jst.ejs +0 -26
- data/app/assets/javascripts/pageflow/editor/views/image_positioning_view.js +0 -153
- data/app/views/admin/accounts/_entries_panel.html.arb +0 -15
- data/app/views/admin/accounts/_users_panel.html.arb +0 -15
- data/app/views/admin/entries/_members.html.arb +0 -29
- data/app/views/admin/entries/_revisions.html.arb +0 -45
@@ -17,6 +17,16 @@
|
|
17
17
|
<%= theming.input :imprint_link_url %>
|
18
18
|
<%= theming.input :copyright_link_label %>
|
19
19
|
<%= theming.input :copyright_link_url %>
|
20
|
+
|
21
|
+
<% theming.object.widgets.resolve(:include_placeholders => true).each do |widget| %>
|
22
|
+
<%= f.semantic_fields_for(widget) do |w| %>
|
23
|
+
<%= w.input(:type_name,
|
24
|
+
:label => t(widget.role, :scope => 'pageflow.widgets.roles'),
|
25
|
+
:input_html => {:name => "widgets[#{widget.role}]"},
|
26
|
+
:include_blank => t('pageflow.widgets.none'),
|
27
|
+
:collection => widget_types_collection_for_role(widget.role)) %>
|
28
|
+
<% end %>
|
29
|
+
<% end %>
|
20
30
|
<% end %>
|
21
31
|
<% end %>
|
22
32
|
<%= f.actions do %>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module Admin
|
3
|
+
class EntriesTab < ViewComponent
|
4
|
+
def build(theming)
|
5
|
+
account = theming.account
|
6
|
+
if account.entries.any?
|
7
|
+
table_for account.entries, :i18n => Pageflow::Entry do
|
8
|
+
column :title do |entry|
|
9
|
+
link_to(entry.title, admin_entry_path(entry))
|
10
|
+
end
|
11
|
+
end
|
12
|
+
else
|
13
|
+
div :class => "blank_slate_container" do
|
14
|
+
span :class => "blank_slate" do
|
15
|
+
I18n.t('admin.accounts.no_entries')
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module Admin
|
3
|
+
class MembersTab < ViewComponent
|
4
|
+
def build(entry)
|
5
|
+
if entry.memberships.any?
|
6
|
+
table_for entry.memberships, :class => 'memberships' do
|
7
|
+
column t('activerecord.attributes.user.full_name') do |membership|
|
8
|
+
if authorized? :manage, User
|
9
|
+
link_to membership.user.full_name, admin_user_path(membership.user), :class => 'view_creator'
|
10
|
+
else
|
11
|
+
membership.user.full_name
|
12
|
+
end
|
13
|
+
end
|
14
|
+
column do |membership|
|
15
|
+
if authorized?(:destroy, membership)
|
16
|
+
link_to(I18n.t('admin.entries.remove'), admin_entry_membership_path(membership.entry, membership), :method => :delete, :data => {:confirm => I18n.t('active_admin.delete_confirmation'), :rel => 'delete_membership'})
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
else
|
21
|
+
div :class => "blank_slate_container" do
|
22
|
+
span :class => "blank_slate" do
|
23
|
+
I18n.t('admin.entries.no_members')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
if authorized? :manage, Pageflow::Entry
|
28
|
+
span do
|
29
|
+
link_to I18n.t('admin.users.add'), new_admin_entry_membership_path(entry), :class => 'button', :data => {:rel => 'add_member'}
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module Admin
|
3
|
+
class RevisionsTab < ViewComponent
|
4
|
+
def build(entry)
|
5
|
+
embedded_index_table entry.revisions, :blank_slate_text => I18n.t('admin.entries.no_revisions') do
|
6
|
+
scope(:publications)
|
7
|
+
scope(:publications_and_user_snapshots)
|
8
|
+
scope(:frozen)
|
9
|
+
|
10
|
+
table_for_collection :class => 'revisions', :i18n => Pageflow::Revision do
|
11
|
+
row_attributes do |revision|
|
12
|
+
{:class => revision_css_class(revision)}
|
13
|
+
end
|
14
|
+
|
15
|
+
column :frozen_at
|
16
|
+
column :creator do |revision|
|
17
|
+
if authorized? :manage, User
|
18
|
+
link_to revision.creator.full_name, admin_user_path(revision.creator)
|
19
|
+
else
|
20
|
+
revision.creator.full_name
|
21
|
+
end
|
22
|
+
end
|
23
|
+
column :published_until do |revision|
|
24
|
+
if revision.published_until
|
25
|
+
I18n.l(revision.published_until)
|
26
|
+
elsif revision.published?
|
27
|
+
I18n.t('admin.entries.forever')
|
28
|
+
else
|
29
|
+
'-'
|
30
|
+
end
|
31
|
+
end
|
32
|
+
column :created_with do |revision|
|
33
|
+
span(I18n.t(revision.created_with, :scope => 'admin.entries.revision_created_with'),
|
34
|
+
:title => I18n.t(revision.created_with, :scope => 'admin.entries.revision_created_with_hint'))
|
35
|
+
end
|
36
|
+
column do |revision|
|
37
|
+
text_node(link_to(t('admin.entries.show'), pageflow.revision_path(revision), :class => 'show'))
|
38
|
+
text_node(link_to(t('admin.entries.restore'), restore_admin_revision_path(revision), :method => :post, :class => 'restore', :data => {:confirm => I18n.t('admin.entries.confirm_restore')}))
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
para(I18n.t('admin.entries.published_revision_legend'), :class => 'legend published')
|
44
|
+
|
45
|
+
text_node(button_to(t('admin.entries.snapshot'),
|
46
|
+
snapshot_admin_entry_path(entry),
|
47
|
+
:method => :post))
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module Admin
|
3
|
+
class TabsView < ViewComponent
|
4
|
+
builder_method :tabs_view
|
5
|
+
|
6
|
+
attr_reader :tabs, :options
|
7
|
+
|
8
|
+
def build(tabs, options = {})
|
9
|
+
super(class: 'admin_tabs_view')
|
10
|
+
|
11
|
+
@tabs = tabs
|
12
|
+
@options = options
|
13
|
+
|
14
|
+
build_tab_list
|
15
|
+
build_tab_containers
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def build_tab_list
|
21
|
+
ul(class: 'tabs') do
|
22
|
+
tabs.each do |tab_options|
|
23
|
+
build_tab_item(tab_options)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def build_tab_item(tab_options)
|
29
|
+
li(class: tab_class(tab_options[:name])) do
|
30
|
+
link_to(t(tab_options[:name], scope: options[:i18n]), tab_href(tab_options[:name]))
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def tab_href(name)
|
35
|
+
params = request.query_parameters.except(:page, :scope)
|
36
|
+
params_string = params.merge(tab: name).to_param
|
37
|
+
"?#{params_string}".html_safe
|
38
|
+
end
|
39
|
+
|
40
|
+
def build_tab_containers
|
41
|
+
tabs.each do |tab_options|
|
42
|
+
build_tab_container(tab_options)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def build_tab_container(tab_options)
|
47
|
+
div(class: tab_container_class(tab_options[:name])) do
|
48
|
+
insert_tag(tab_options[:component], *options.fetch(:build_args, []))
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def tab_class(tab_name)
|
53
|
+
[
|
54
|
+
tab_name,
|
55
|
+
current_tab?(tab_name) ? 'active' : nil
|
56
|
+
].compact.join(' ')
|
57
|
+
end
|
58
|
+
|
59
|
+
def tab_container_class(tab_name)
|
60
|
+
[
|
61
|
+
'tab_container',
|
62
|
+
"#{tab_name}_tab_container",
|
63
|
+
current_tab?(tab_name) ? 'active' : nil
|
64
|
+
].compact.join(' ')
|
65
|
+
end
|
66
|
+
|
67
|
+
def current_tab?(name)
|
68
|
+
name.to_s == current_tab_name.to_s
|
69
|
+
end
|
70
|
+
|
71
|
+
def current_tab_name
|
72
|
+
options[:current_tab] ||
|
73
|
+
request.params[:tab] ||
|
74
|
+
tabs.first[:name]
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module Admin
|
3
|
+
class UsersTab < ViewComponent
|
4
|
+
def build(theming)
|
5
|
+
account = theming.account
|
6
|
+
if account.users.any?
|
7
|
+
table_for account.users, :i18n => User do
|
8
|
+
column :full_name do |user|
|
9
|
+
link_to user.full_name, admin_user_path(user)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
else
|
13
|
+
div :class => "blank_slate_container" do
|
14
|
+
span :class => "blank_slate" do
|
15
|
+
I18n.t('admin.accounts.no_members')
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -2,19 +2,19 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<title><%= @page_title.presence || 'Pageflow' %></title>
|
5
|
-
|
6
|
-
<%= stylesheet_link_tag "pageflow/print_view", media: "print", "data-turbolinks-track" => true %>
|
5
|
+
|
7
6
|
<%= javascript_include_tag "pageflow/application", "data-turbolinks-track" => true %>
|
8
|
-
<%= csrf_meta_tags %>
|
9
7
|
|
10
|
-
<%=
|
8
|
+
<%= csrf_meta_tags %>
|
11
9
|
<%= render 'layouts/pageflow/meta_tags' %>
|
12
|
-
|
13
10
|
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, minimum-scale=1, maximum-scale=1" />
|
14
11
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
15
12
|
|
16
13
|
<%= yield :head %>
|
17
14
|
|
15
|
+
<%= stylesheet_link_tag 'pageflow/print_view', media: 'print', 'data-turbolinks-track' => true %>
|
16
|
+
<%= render 'layouts/pageflow/loading_spinner_inline_script' %>
|
17
|
+
|
18
18
|
<%= render 'layouts/pageflow/ie_include_tags' %>
|
19
19
|
</head>
|
20
20
|
<%= content_tag :body, :class => [@body_class, 'load_images has_no_mobile_platform non_js'].compact.flatten.join(' ') do %>
|
@@ -1,9 +1,12 @@
|
|
1
|
-
json.(entry, :id, :
|
1
|
+
json.(entry, :id, :published_until, :slug)
|
2
2
|
|
3
3
|
json.pretty_url pretty_entry_url(entry)
|
4
4
|
|
5
|
-
json.home_url entry.home_button.url_value
|
6
|
-
json.home_button_enabled entry.home_button.enabled_value
|
7
|
-
|
8
5
|
json.default_file_rights entry.account.default_file_rights
|
9
6
|
json.published(entry.published?)
|
7
|
+
|
8
|
+
json.configuration do
|
9
|
+
json.(entry, :title, :summary, :credits, :manual_start, :emphasize_chapter_beginning, :emphasize_new_pages, :share_image_id, :share_image_x, :share_image_y)
|
10
|
+
json.home_url entry.home_button.url_value
|
11
|
+
json.home_button_enabled entry.home_button.enabled_value
|
12
|
+
end
|
@@ -11,6 +11,6 @@ if file_type.editor_partial.present?
|
|
11
11
|
end
|
12
12
|
|
13
13
|
if file.respond_to?(:thumbnail_url)
|
14
|
-
json.thumbnail_url(file.thumbnail_url(:thumbnail))
|
15
|
-
json.link_thumbnail_url(file.thumbnail_url(:link_thumbnail_large))
|
14
|
+
json.thumbnail_url(asset_path(file.thumbnail_url(:thumbnail)))
|
15
|
+
json.link_thumbnail_url(asset_path(file.thumbnail_url(:link_thumbnail_large)))
|
16
16
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
json.array!(@widgets, partial: 'pageflow/editor/widgets/widget', as: :widget)
|
@@ -1,4 +1,8 @@
|
|
1
|
-
<%= content_tag
|
1
|
+
<%= content_tag(:div,
|
2
|
+
:id => 'outer_wrapper',
|
3
|
+
:data => {:theme => entry.theming.theme.name},
|
4
|
+
:class => entry_css_class(entry)) do %>
|
5
|
+
|
2
6
|
<%= render 'pageflow/entries/skip_links' %>
|
3
7
|
<h1 class="hidden"><%= entry.title %></h1>
|
4
8
|
<img src="<%= image_path("pageflow/themes/#{entry.theming.theme.directory_name}/logo_print.png") %>" class="print_image" alt="Logo image for print version">
|
@@ -11,6 +15,6 @@
|
|
11
15
|
<% end %>
|
12
16
|
|
13
17
|
<%= render 'pageflow/entries/header', :entry => entry %>
|
14
|
-
<%= render 'pageflow/entries/navigation', :entry => entry %>
|
15
18
|
<%= render 'pageflow/entries/overview', :entry => entry %>
|
19
|
+
<%= render_widgets(entry) %>
|
16
20
|
<% end %>
|
@@ -0,0 +1,56 @@
|
|
1
|
+
<div class="navigation_mobile" data-widget="default_mobile_navigation">
|
2
|
+
<div class="menu index"></div>
|
3
|
+
<div class="menu sharing"></div>
|
4
|
+
<div class="menu imprint"></div>
|
5
|
+
<div class="overview_mobile">
|
6
|
+
<span class="heading-1">Übersicht</span>
|
7
|
+
<div class="wrapper">
|
8
|
+
<ul>
|
9
|
+
<%= render :partial => 'pageflow/entries/navigation/page',
|
10
|
+
:collection => entry_mobile_navigation_pages(entry),
|
11
|
+
:locals => {:image_style => :thumbnail_overview_mobile, :image_width => nil} %>
|
12
|
+
</ul>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
<div class="sharing_mobile">
|
16
|
+
<div class="wrapper">
|
17
|
+
<ul>
|
18
|
+
<li>
|
19
|
+
<%= link_to "http://www.facebook.com/sharer/sharer.php?s=100&p%5Burl%5D=#{ERB::Util.url_encode(pretty_entry_url(entry))}&p%5Btitle%5D=#{ERB::Util.url_encode(entry.title)}", :target => "_blank", :tabindex => "2", :class => "share facebook", :data => { :"share-page" => "http://www.facebook.com/sharer/sharer.php?s=100&p%5Burl%5D=#{ERB::Util.url_encode(pretty_entry_url(entry))}%3Fpage%3DpermaId" } do %>
|
20
|
+
<span class="hint">über facebook teilen</span>
|
21
|
+
<span class="share_facebook button"></span>
|
22
|
+
<p>facebook</p>
|
23
|
+
<% end %>
|
24
|
+
</li>
|
25
|
+
<li>
|
26
|
+
<%= link_to "http://twitter.com/home?status=#{ERB::Util.url_encode(pretty_entry_url(entry))}", :target => "_blank", :tabindex => "2", :class => "share twitter", :data => { :"share-page" => "http://twitter.com/home?status=#{ERB::Util.url_encode(pretty_entry_url(entry))}%3Fpage%3DpermaId" } do %>
|
27
|
+
<span class="hint">über twitter teilen</span>
|
28
|
+
<span class="share_twitter button"></span>
|
29
|
+
<p>Twitter</p>
|
30
|
+
<% end %>
|
31
|
+
</li>
|
32
|
+
<li>
|
33
|
+
<%= link_to "https://plus.google.com/share?url=#{ERB::Util.url_encode(pretty_entry_url(entry))}", :target => "_blank", :tabindex => "2", :class => "share google", :data => { :"share-page" => "https://plus.google.com/share?url=#{ERB::Util.url_encode(pretty_entry_url(entry))}%3Fpage%3DpermaId" } do %>
|
34
|
+
<span class="hint">über Google+ teilen</span>
|
35
|
+
<span class="share_google button"></span>
|
36
|
+
<p>Google+</p>
|
37
|
+
<% end %>
|
38
|
+
</li>
|
39
|
+
</ul>
|
40
|
+
</div>
|
41
|
+
<div class="sub_share">
|
42
|
+
<a target="_blank"><%= I18n.t('pageflow.widgets.share_menu.entry') %></a>
|
43
|
+
<a target="_blank"><%= I18n.t('pageflow.widgets.share_menu.current_page') %></a>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
<div class="imprint_mobile">
|
47
|
+
<span class="heading-1">Impressum</span>
|
48
|
+
<div class="wrapper">
|
49
|
+
<ul>
|
50
|
+
<li class="credits">
|
51
|
+
<%= render 'pageflow/entries/navigation/credits_box_content', :entry => entry %>
|
52
|
+
</li>
|
53
|
+
</ul>
|
54
|
+
</div>
|
55
|
+
</div>
|
56
|
+
</div>
|
@@ -1,4 +1,6 @@
|
|
1
|
-
<%= content_tag
|
1
|
+
<%= content_tag(:div,
|
2
|
+
class: ["navigation", entry.home_button.enabled? ? 'with_home_button' : nil].compact.join(' '),
|
3
|
+
data: {widget: 'default_navigation'}) do %>
|
2
4
|
<%= render 'pageflow/entries/navigation/bar_top', :entry => entry %>
|
3
5
|
<div class="scroller">
|
4
6
|
<ul class="navigation_thumbnails">
|
@@ -8,56 +10,4 @@
|
|
8
10
|
</ul>
|
9
11
|
</div>
|
10
12
|
<%= render 'pageflow/entries/navigation/bar_bottom', :entry => entry %>
|
11
|
-
</div>
|
12
|
-
<div class="navigation_mobile">
|
13
|
-
<div class="menu index"></div>
|
14
|
-
<div class="menu sharing"></div>
|
15
|
-
<div class="menu imprint"></div>
|
16
|
-
<div class="overview_mobile">
|
17
|
-
<span class="heading-1">Übersicht</span>
|
18
|
-
<div class="wrapper">
|
19
|
-
<ul>
|
20
|
-
<%= render :partial => 'pageflow/entries/navigation/page',
|
21
|
-
:collection => entry_mobile_navigation_pages(entry),
|
22
|
-
:locals => {:image_style => :thumbnail_overview_mobile, :image_width => nil} %>
|
23
|
-
</ul>
|
24
|
-
</div>
|
25
|
-
</div>
|
26
|
-
<div class="sharing_mobile">
|
27
|
-
<div class="wrapper">
|
28
|
-
<ul>
|
29
|
-
<li>
|
30
|
-
<%= link_to "http://www.facebook.com/sharer/sharer.php?s=100&p%5Burl%5D=#{ERB::Util.url_encode(pretty_entry_url(entry))}&p%5Btitle%5D=#{ERB::Util.url_encode(entry.title)}", :target => "_blank", :tabindex => "2", :class => "share facebook" do %>
|
31
|
-
<span class="hint">über facebook teilen</span>
|
32
|
-
<span class="share_facebook button"></span>
|
33
|
-
<p>facebook</p>
|
34
|
-
<% end %>
|
35
|
-
</li>
|
36
|
-
<li>
|
37
|
-
<%= link_to "http://twitter.com/home?status=#{ERB::Util.url_encode(pretty_entry_url(entry))}", :target => "_blank", :tabindex => "2", :class => "share twitter" do %>
|
38
|
-
<span class="hint">über twitter teilen</span>
|
39
|
-
<span class="share_twitter button"></span>
|
40
|
-
<p>Twitter</p>
|
41
|
-
<% end %>
|
42
|
-
</li>
|
43
|
-
<li>
|
44
|
-
<%= link_to "https://plus.google.com/share?url=#{ERB::Util.url_encode(pretty_entry_url(entry))}", :target => "_blank", :tabindex => "2", :class => "share google" do %>
|
45
|
-
<span class="hint">über Google+ teilen</span>
|
46
|
-
<span class="share_google button"></span>
|
47
|
-
<p>Google+</p>
|
48
|
-
<% end %>
|
49
|
-
</li>
|
50
|
-
</ul>
|
51
|
-
</div>
|
52
|
-
</div>
|
53
|
-
<div class="imprint_mobile">
|
54
|
-
<span class="heading-1">Impressum</span>
|
55
|
-
<div class="wrapper">
|
56
|
-
<ul>
|
57
|
-
<li class="credits">
|
58
|
-
<%= render 'pageflow/entries/navigation/credits_box_content', :entry => entry %>
|
59
|
-
</li>
|
60
|
-
</ul>
|
61
|
-
</div>
|
62
|
-
</div>
|
63
13
|
<% end %>
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<% content_for(:head) do %>
|
2
|
+
<%= stylesheet_link_tag('pageflow/application_with_simulated_media_queries', media: 'all', 'data-turbolinks-track' => true) %>
|
2
3
|
<%= entry_theme_stylesheet_link_tag(@entry) %>
|
3
4
|
<%= entry_stylesheet_link_tag(@entry) %>
|
4
5
|
<%= stylesheet_link_tag 'pageflow/editor', media: "all" %>
|
@@ -44,6 +45,7 @@
|
|
44
45
|
},
|
45
46
|
|
46
47
|
theming: <%= render_json_seed(@entry.theming) %>,
|
48
|
+
widget_types: <%= widget_types_json_seeds %>,
|
47
49
|
page_types: <%= page_type_json_seeds %>
|
48
50
|
});
|
49
51
|
});
|