tramway 1.0.1.3 → 1.0.2

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
  SHA256:
3
- metadata.gz: 63be607c08e52f57b726d9f5c84f719febc22e35c0fb5d711f4c855268917203
4
- data.tar.gz: 004a821c356a9f2e0e9503ddef030b3502510b4d9d9d72fe44ac1725443ee4b6
3
+ metadata.gz: f347c8016c4bf4a0098ad6075235e573194ad4a1f06c99646d82686187d47524
4
+ data.tar.gz: 9cde483c80bdba5a855780d93c169b9b6c9b74739b029f476a0356243e1396fd
5
5
  SHA512:
6
- metadata.gz: 0c53956b38f0110ea92c4d39e6c97e932534276a1d4d7cb11ca9087910ac4659861f3743c87416f480e57f5a3df3639434c7a5b7e921b80098e3efbf01b42c5a
7
- data.tar.gz: b179d2f0c46930bdab407ac94a99f0eb33f361eb0833850ede97a6fcbdccba9090c68edbbbd453f6b318bc69f9c965b732f9f1d0a58f985e720bfae520646d14
6
+ metadata.gz: 2acee51cfa114f2324809a506d276d482e166e520d40a68d7ca3f5b49cad17a6441f04e097ab20ead0bf1c4e42c2e042cf335aa6fc3889c8f265fe52e11c7ea8
7
+ data.tar.gz: 443e3cc99f4e3777f9090e6c23a4b575086d58237a948e7d2b19e6cfff602941c0c9f1fa0907ceb33251d7732c8050450ff2cb1f016e42534ccffae3379eff41
data/README.md CHANGED
@@ -299,6 +299,13 @@ end
299
299
  With this configuration in place, the index page will render the `Create`
300
300
  button component above the table of projects.
301
301
 
302
+ #### Add header content to show pages
303
+
304
+ To inject custom content above a record's details, define an
305
+ object-level `show_header_content` method on its decorator. The method
306
+ can return any rendered content and has full access to the decorated
307
+ object's helpers and attributes.
308
+
302
309
  #### Decorate a single object
303
310
 
304
311
  You can use the same method to decorate a single object either
@@ -1,12 +1,23 @@
1
+ - @show_header_content = @entity.show_header_content
2
+
1
3
  = tramway_container do
2
- %h1.text-4xl.font-bold.mb-4
3
- = @entity.title
4
+
5
+ .flex.justify-between.items-center
6
+ %h1.text-4xl.font-bold.mb-4
7
+ = @entity.title
8
+
9
+ .flex.justify-end.mt-2
10
+ - if @show_header_content.present?
11
+ - if @show_header_content.respond_to?(:call)
12
+ = @show_header_content.call(@entity)
13
+ - else
14
+ = @show_header_content
4
15
 
5
16
  - if @entity.show_attributes.empty?
6
17
  %p.text-center.mt-10
7
18
  You should fill object-level method `show_attributes` inside your
8
19
  = @entity.class.name
9
- = tramway_table do
20
+ = tramway_table class: 'mt-4' do
10
21
  - @entity.show_attributes.each do |attribute|
11
22
  = tramway_row do
12
23
  = tramway_cell do
@@ -71,6 +71,10 @@ module Tramway
71
71
  []
72
72
  end
73
73
 
74
+ def show_header_content
75
+ nil
76
+ end
77
+
74
78
  # :reek:ManualDispatch { enabled: false } because there is the idea to manual dispatch
75
79
  def method_missing(method_name, *, &)
76
80
  url_helpers = Rails.application.routes.url_helpers
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tramway
4
- VERSION = '1.0.1.3'
4
+ VERSION = '1.0.2'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tramway
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1.3
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - kalashnikovisme