ecm_galleries 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4a41cea942a7d8e289948f111c9ca08da9eae1d806d497718357423903321f6a
4
- data.tar.gz: 1b33a9c5d9bdbd8cff89ef9441fcd7d54a775dcf8bad42e85c586c6e36697a35
3
+ metadata.gz: 814fd3760f2d7a87052c49a9de9a2894d30b6073be4e25d35b5237f74ebaece9
4
+ data.tar.gz: b100d376e2b2db919b9a51a753b8a7a749c4d638ddf28ef153f3e39da3467113
5
5
  SHA512:
6
- metadata.gz: c5d423217c9ab538b611f2092c707728c23584e9589e980eafdd0ba8bfda799ff4245064772cd43260385842613dc499b98175e8b0d9a9752329f4471f81f5db
7
- data.tar.gz: aa4dae4b57814f160a7980e18c6ba0809f0a2b73f07cde9ebfefb6d591a91f2ca29c8bca8dab5ae1ec8059a9557f66be19b64c6b9b2157e7cfedee56590110f6
6
+ metadata.gz: 220fb93955e3c1bdf2b5ffbf265edf027cc8e7fe74521bafd48cf81111af26d3dd4a82f26fbe851ce966f4bfc1687b18b27715ad947773bc5469a1d9e8d06051
7
+ data.tar.gz: f792a1c985e39f9f677568f5945f022676177ac017a57cb0addab3f015944321510193ff7c820e4bed38201c0c0d925999a51d5c024635626767ebd8aaabd12e
@@ -6,5 +6,15 @@ module Ecm::Galleries
6
6
  belongs_to :asset, class_name: 'ActiveStorage::Attachment', dependent: :destroy
7
7
 
8
8
  acts_as_list scope: :picture_gallery
9
+
10
+ module DisplayCodesConcern
11
+ extend ActiveSupport::Concern
12
+
13
+ def display_code_for_erb
14
+ "<%= pictures_helper(self).render(id: #{id}) %>"
15
+ end
16
+ end
17
+
18
+ include DisplayCodesConcern
9
19
  end
10
20
  end
@@ -27,13 +27,7 @@ module Ecm
27
27
  show_details = options.delete(:show_details)
28
28
 
29
29
  resource = Ecm::Galleries::PictureGallery.where(name: name).first
30
- c.render partial: 'ecm/galleries/view_helper/render', locals: { resource: resource, variant_options: variant_options, show_details: show_details }
31
- end
32
-
33
- private
34
-
35
- def c
36
- @context
30
+ c.render partial: 'ecm/galleries/galleries_helper/render', locals: { resource: resource, variant_options: variant_options, show_details: show_details }
37
31
  end
38
32
  end
39
33
  end
@@ -0,0 +1,37 @@
1
+ module Ecm
2
+ module Galleries
3
+ # Usage:
4
+ #
5
+ # # app/controllers/application_vontroller.rb
6
+ # class ApplicationController < ActionController::Base
7
+ # view_helper Ecm::Galleries::PicturesHelper, as: :pictures_helper
8
+ # # ...
9
+ # end
10
+ #
11
+ # # app/views/home/index.html.haml
12
+ # = pictures_helper(self).render(name: 'main', variant_options: { combine_options: { resize: "255x255^", extent: "255x255", gravity: "center"} }, show_details: true)
13
+ #
14
+ # Default options are taken from Ecm::Galleries::Configuration.pictures_helper_render_default_options.
15
+ # You can set this option in the initializer.
16
+ #
17
+ # You can pass the image_tag_only option to render just the <img>-tag without a bootstrap card.
18
+ #
19
+ class PicturesHelper < ViewHelper::Base
20
+ def initialize(context)
21
+ @context = context
22
+ end
23
+
24
+ def render(options = {})
25
+ options.reverse_merge!(Ecm::Galleries::Configuration.pictures_helper_render_default_options)
26
+
27
+ id = options.delete(:id)
28
+ variant_options = options.delete(:variant_options) || {}
29
+ show_details = options.delete(:show_details)
30
+ image_tag_only = options.delete(:image_tag_only)
31
+
32
+ resource = Ecm::Galleries::PictureDetail.where(id: id).first
33
+ c.render partial: 'ecm/galleries/pictures_helper/render', locals: { resource: resource, variant_options: variant_options, show_details: show_details, image_tag_only: image_tag_only }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,14 @@
1
+ - if resource.nil?
2
+ - else
3
+ %notextile
4
+ .row{ id: dom_id(resource), class: dom_class(resource) }
5
+ - resource.picture_details.published.each do |picture_detail|
6
+ .col-md-6.col-lg-3.d-flex.align-items-stretch.mb-4
7
+ = bootstrap_card(image_options: { src: main_app.url_for(picture_detail.asset.variant(variant_options))}, additional_css_classes: 'text-center border-0 w-100' ) do
8
+ - if show_details
9
+ .card-body
10
+ %h5.card-title
11
+ = picture_detail.title
12
+ %p.card-text
13
+ = picture_detail.description
14
+
@@ -0,0 +1,15 @@
1
+ - if resource.nil?
2
+ - else
3
+ %notextile
4
+ - if image_tag_only
5
+ %img.img-responsive{ src: main_app.url_for(resource.asset.variant(variant_options)) }
6
+ - else
7
+ .row{ id: dom_id(resource), class: dom_class(resource) }
8
+ .col-md-6.col-lg-3.d-flex.align-items-stretch.mb-4
9
+ = bootstrap_card(image_options: { src: main_app.url_for(resource.asset.variant(variant_options)) }, additional_css_classes: 'text-center border-0 w-100' ) do
10
+ - if show_details
11
+ .card-body
12
+ %h5.card-title
13
+ = resource.title
14
+ %p.card-text
15
+ = resource.description
@@ -15,6 +15,7 @@ de:
15
15
  id: ID
16
16
  name: Name
17
17
  description: Beschreibung
18
+ display_code_for_erb: Anzeigecode (erb)
18
19
  picture_details_count: Bilder
19
20
  preview: Vorschau
20
21
  published: Veröffentlicht
@@ -23,15 +24,16 @@ de:
23
24
  updated_at: Aktualisiert am
24
25
  ecm/galleries/picture_detail:
25
26
  id: ID
26
- picture_gallery: Galerie
27
- picture_gallery_id: Galerie
28
- asset: Datei
29
27
  asset_id: Datei
30
- title: Titel
28
+ asset: Datei
31
29
  description: Beschreibung
30
+ display_code_for_erb: Anzeigecode (erb)
31
+ picture_gallery_id: Galerie
32
+ picture_gallery: Galerie
32
33
  position: Position
33
- published: Veröffentlicht
34
34
  published_at: Veröffentlicht am
35
+ published: Veröffentlicht
36
+ title: Titel
35
37
  created_at: Erstellt am
36
38
  updated_at: Aktualisiert am
37
39
  ecm:
@@ -15,6 +15,7 @@ en:
15
15
  id: ID
16
16
  name: Name
17
17
  description: Description
18
+ display_code_for_erb: Display code (erb)
18
19
  picture_details_count: Pictures
19
20
  preview: Preview
20
21
  published: Published
@@ -23,15 +24,16 @@ en:
23
24
  updated_at: Updated at
24
25
  ecm/galleries/picture_detail:
25
26
  id: ID
26
- picture_gallery: Gallery
27
- picture_gallery_id: Gallery
28
- asset: File
29
27
  asset_id: File
30
- title: Title
28
+ asset: File
31
29
  description: Description
30
+ display_code_for_erb: Display code (erb)
31
+ picture_gallery_id: Gallery
32
+ picture_gallery: Gallery
32
33
  position: Position
33
- published: Published
34
34
  published_at: Published at
35
+ published: Published
36
+ title: Title
35
37
  created_at: Created at
36
38
  updated_at: Updated at
37
39
  ecm:
@@ -6,5 +6,6 @@ module Ecm::Galleries
6
6
 
7
7
  mattr_accessor(:base_controller) { '::FrontendController' }
8
8
  mattr_accessor(:galleries_helper_render_default_options) { { variant_options: {}, show_details: false } }
9
+ mattr_accessor(:pictures_helper_render_default_options) { { variant_options: {}, show_details: false } }
9
10
  end
10
11
  end
@@ -1,5 +1,5 @@
1
1
  module Ecm
2
2
  module Galleries
3
- VERSION = '0.1.0'.freeze
3
+ VERSION = '0.2.0'.freeze
4
4
  end
5
5
  end
@@ -10,5 +10,12 @@ Ecm::Galleries.configure do |config|
10
10
  #
11
11
  # Default: config.galleries_helper_render_default_options = { variant_options: {}, show_details: false }
12
12
  #
13
- config.galleries_helper_render_default_options = { variant_options: {}, show_details: false }
13
+ config.base_controller = '<%= base_controller_class_name %>'
14
+
15
+ # These options are the defaults that will be applied to when rendering
16
+ # pictures through the pictures helper.
17
+ #
18
+ # Default: config.pictures_helper_render_default_options = { variant_options: {}, show_details: false }
19
+ #
20
+ config.pictures_helper_render_default_options = { variant_options: {}, show_details: false }
14
21
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecm_galleries
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roberto Vasquez Angel
@@ -284,9 +284,11 @@ files:
284
284
  - app/models/ecm/galleries/picture_detail.rb
285
285
  - app/models/ecm/galleries/picture_gallery.rb
286
286
  - app/view_helpers/ecm/galleries/galleries_helper.rb
287
+ - app/view_helpers/ecm/galleries/pictures_helper.rb
288
+ - app/views/ecm/galleries/galleries_helper/_render.html.haml
287
289
  - app/views/ecm/galleries/picture_galleries/index.haml
288
290
  - app/views/ecm/galleries/picture_galleries/show.haml
289
- - app/views/ecm/galleries/view_helper/_render.html.haml
291
+ - app/views/ecm/galleries/pictures_helper/_render.html.haml
290
292
  - app/views/layouts/ecm/galleries/application.html.erb
291
293
  - config/initializers/assets.rb
292
294
  - config/locales/de.yml
@@ -1,13 +0,0 @@
1
- - if resource.nil?
2
- - else
3
- .row{ id: dom_id(resource), class: dom_class(resource) }
4
- - resource.picture_details.published.each do |picture_detail|
5
- .col-md-6.col-lg-3.d-flex.align-items-stretch.mb-4
6
- = bootstrap_card(image_options: { src: main_app.url_for(picture_detail.asset.variant(variant_options))}, additional_css_classes: 'text-center border-0 w-100' ) do
7
- - if show_details
8
- .card-body
9
- %h5.card-title
10
- = picture_detail.title
11
- %p.card-text
12
- = picture_detail.description
13
-