superform 0.4.3 → 0.4.5

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: f0023768360f3864f5d40be3db143795445ab5f31aca7d166fd09294deaa8f1e
4
- data.tar.gz: 5a611e254153c2d32705302220581c41b376db5c7eb4eab289049a1cfe654e81
3
+ metadata.gz: f08aba5c447c430ce4e06c86dacf7a6bc97cf95fd7ce379e913498fe3e809ab7
4
+ data.tar.gz: ce49b9e40f9f7ff9cc4bd2260918af3c16fa8689c3718281077170b9532613e1
5
5
  SHA512:
6
- metadata.gz: 7392079da126e3a623ba0dc95e52872c1a04f2995ac2236100ae93f33f8470ed336140449e83e19c294ab8024ed56a8ee9a85f5f0ed9018901cc7dd12cb05e7f
7
- data.tar.gz: 633cdeb0536d1a44bdd4943ef71e88f5acc13d6555a28f2bc026cabf44318f925eda333218c2591a42ffca26b8f49602f2fe8f4dea94332295f9f261b11980e2
6
+ metadata.gz: a392d567cba45cf0215131d00ef2557c4989cf020ded8d88f43c6d98c410ae743a629f322fab86addaa0980667a1af335a0effe318bd3d01adbeafcd1c543d5b
7
+ data.tar.gz: e7d2b01c137cefa7e0e6cefda057005af5f4e297e1e26b36be96f1c1276b0854ccd0352217d30efce471a7c08f1dda2ed5e024e9193321ebae922a9d32f04829
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- superform (0.4.2)
4
+ superform (0.4.5)
5
5
  phlex-rails (~> 1.0)
6
6
  zeitwerk (~> 2.6)
7
7
 
@@ -118,6 +118,7 @@ GEM
118
118
  marcel (1.0.2)
119
119
  method_source (1.0.0)
120
120
  mini_mime (1.1.2)
121
+ mini_portile2 (2.8.5)
121
122
  minitest (5.18.1)
122
123
  nenv (0.3.0)
123
124
  net-imap (0.3.6)
@@ -130,9 +131,8 @@ GEM
130
131
  net-smtp (0.3.3)
131
132
  net-protocol
132
133
  nio4r (2.5.9)
133
- nokogiri (1.15.3-arm64-darwin)
134
- racc (~> 1.4)
135
- nokogiri (1.15.3-x86_64-linux)
134
+ nokogiri (1.15.3)
135
+ mini_portile2 (~> 2.8.2)
136
136
  racc (~> 1.4)
137
137
  notiffany (0.1.3)
138
138
  nenv (~> 0.1)
@@ -209,6 +209,7 @@ GEM
209
209
 
210
210
  PLATFORMS
211
211
  arm64-darwin-22
212
+ arm64-darwin-23
212
213
  x86_64-linux
213
214
 
214
215
  DEPENDENCIES
data/README.md CHANGED
@@ -157,7 +157,7 @@ class SignupForm < ApplicationForm
157
157
 
158
158
  div do
159
159
  render field(:agreement).label { "Check this box if you agree to give us your first born child" }
160
- render field(:agreement).input(type: :checkbox, value: true)
160
+ render field(:agreement).checkbox(checked: true)
161
161
  end
162
162
 
163
163
  render button { "Submit" }
@@ -54,6 +54,10 @@ module Superform
54
54
  Components::InputComponent.new(self, attributes: attributes)
55
55
  end
56
56
 
57
+ def checkbox(**attributes)
58
+ Components::CheckboxComponent.new(self, attributes: attributes)
59
+ end
60
+
57
61
  def label(**attributes)
58
62
  Components::LabelComponent.new(self, attributes: attributes)
59
63
  end
@@ -245,6 +249,20 @@ module Superform
245
249
  end
246
250
  end
247
251
 
252
+ class CheckboxComponent < FieldComponent
253
+ def template(&)
254
+ # Rails has a hidden and checkbox input to deal with sending back a value
255
+ # to the server regardless of if the input is checked or not.
256
+ input(name: dom.name, type: :hidden, value: "0")
257
+ # The hard coded keys need to be in here so the user can't overrite them.
258
+ input(type: :checkbox, value: "1", **attributes)
259
+ end
260
+
261
+ def field_attributes
262
+ { id: dom.id, name: dom.name, checked: field.value }
263
+ end
264
+ end
265
+
248
266
  class InputComponent < FieldComponent
249
267
  def template(&)
250
268
  input(**attributes)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Superform
4
- VERSION = "0.4.3"
4
+ VERSION = "0.4.5"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: superform
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brad Gessler
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-25 00:00:00.000000000 Z
11
+ date: 2024-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: phlex-rails