fluxbit_view_components 0.4.1 → 0.4.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: 60a235092c19fce1b3548ee037d23e4698e106230bcffc2c64e38eea922c3fe2
4
- data.tar.gz: 61ffaeca393020f18b18a6b1956bf568c5bcc99379f4b53c778da4512fe48b82
3
+ metadata.gz: 762b3796b8dfaa6244369146383b4994f3d5e0c3ba81226606f2a8e2e89b5cb8
4
+ data.tar.gz: 98299ec772265f75887e33f74a9d4249dcc18e1548e97ca684ba4bec7a75278a
5
5
  SHA512:
6
- metadata.gz: '046998a7d114dc3e3734079b51a509665ae36c1ec585891d832c514f8bfca125d1ea991dce89f49b9758872c97a0c4ce9ca5738d6e49457401f2e2a37626e6e2'
7
- data.tar.gz: 78d051dc5b7b9dd7ef26bcdaf5f26d6c3a1e8c6352dc1fe70dd19f3bfb46e933378e9fff5e79411aae94e85218526c3318ab66b0b88382a1e3f3026d548115e3
6
+ metadata.gz: d736f9bc7abfa18e62843b64960de28fe7aec3ece62c90343683548ab821168ce3fa7c3c374592cf71dbc951a0cbf726c9501f1adf550725046b47f123199bb5
7
+ data.tar.gz: 30c713c9c039c11e5aa0b3e0b10e13874ca92939c6ed765ac636322c9662a31da92d274af1de33923551bca92a182133996fdf7996eb3de4e369012d56acc30f
@@ -15,19 +15,23 @@ class Fluxbit::PaginationComponent < Fluxbit::Component
15
15
  @next = @props.delete(:next)
16
16
  @page = @props.delete(:page) || 1
17
17
  @previous = @props.delete(:previous)
18
- @size = @props.delete(:size) || :default
18
+ @size = @props.delete(:size) || 3
19
19
  @ends = @props.delete(:ends) || true
20
20
  @request_path = @props.delete(:request_path) || nil
21
21
 
22
22
  if @pagy
23
- @count = @pagy.count
24
- @last = @pagy.last
25
- @next = @pagy.next
26
- @page = @pagy.page
27
- @previous = @pagy.previous
28
- @size = @pagy.vars[:size]
29
- @ends = @pagy.vars[:ends]
30
- @request_path = @pagy.vars[:request_path]
23
+ @count = @pagy.count if @pagy.respond_to?(:count)
24
+ @last = @pagy.last if @pagy.respond_to?(:last)
25
+ @next = @pagy.next if @pagy.respond_to?(:next)
26
+ @page = @pagy.page if @pagy.respond_to?(:page)
27
+ @previous = @pagy.prev if @pagy.respond_to?(:prev)
28
+ @previous = @pagy.previous if @pagy.respond_to?(:previous)
29
+
30
+ if @pagy.respond_to?(:vars)
31
+ @size = @pagy.vars[:size]
32
+ @ends = @pagy.vars[:ends]
33
+ @request_path = @pagy.vars[:request_path]
34
+ end
31
35
  end
32
36
 
33
37
  unless @size.is_a?(Integer) && @size >= 0
@@ -186,13 +190,14 @@ class Fluxbit::PaginationComponent < Fluxbit::Component
186
190
  end
187
191
 
188
192
  def url_for(page)
189
- vars = @pagy&.vars || {}
193
+ vars = @pagy.respond_to?(:vars) ? @pagy&.vars : {}
190
194
  # Use current request parameters as base
191
195
  params = (respond_to?(:request) ? request.GET : controller.request.GET).dup
192
196
  params.merge!(vars[:params].transform_keys(&:to_s)) if vars[:params].is_a?(Hash)
193
197
  # Set page and possibly limit
194
- params[vars[:page_param].to_s] = page
195
- params[vars[:limit_param].to_s] = vars[:limit] if vars[:limit_extra]
198
+ page_param = vars[:page_param]&.to_s.presence || 'page'
199
+ params[page_param] = page
200
+ params[vars[:limit_param].to_s] = vars[:limit] if vars[:limit_extra] && vars[:limit_param]
196
201
  # Apply params proc if given
197
202
  params = vars[:params].call(params) if vars[:params].is_a?(Proc)
198
203
 
@@ -1,5 +1,5 @@
1
1
  module Fluxbit
2
2
  module ViewComponents
3
- VERSION = "0.4.1"
3
+ VERSION = "0.4.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluxbit_view_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arthur Molina