pg_rails 7.6.3 → 7.6.4

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: 7c827faeb7ffa9b904395708a6f9c6184a930ee22663bcec472b600046497baa
4
- data.tar.gz: bb256bb482b6697302d7e3b2131f5cd9e3ddeaa17447f739b943091a6b90c431
3
+ metadata.gz: 558b69c5a93797c069002f3477d6ccc34b63b98fa4f1a37ddedcc4ab6010ef3b
4
+ data.tar.gz: a3cc4d53326372aaa5e7155b2d50cfdee3fc3d0814a81eee53ec3701814c3e23
5
5
  SHA512:
6
- metadata.gz: c06b67c6b8bdeb5462db606077e29b1d1a68bc58ee65a6df7c9e21a13615f723d68189a497b769faf401160875741caf946010f6b162659aa5d9c8dffec6f35d
7
- data.tar.gz: 471922d32d56e46a8e7d20ecd0fe2793d22849a66d813c8fc103a51a8e1d44d4d8229f1b04457d0b3f16f9a9c6ab6ea052dac95dcd43605b9120ddaf8eeb8a88
6
+ metadata.gz: 259c3f0cc7c935f4a5b9569a2cd33cb1cc60e71a1c5cc85118fb3190415ebad4d78065c641bbe0bdaf479639df1be0ef93ded0ad589313f7dd23011ecfa618d8
7
+ data.tar.gz: b0e0ad29958f836916d4469d43bd5f3c8797eb9e00a981694034c025158083f28a0ea32bce7057a957bd2d2898d75daf7905fc9e0facd2ec78677f0de06c3389
@@ -207,6 +207,8 @@ input[type=datetime-local], input[type=datetime] {
207
207
  // text-decoration: underline;
208
208
  // text-decoration-style: dotted;
209
209
  // text-decoration-color: #262626;
210
+ border-bottom: 1px dotted #333;
211
+ padding-bottom: 1px;
210
212
 
211
213
  a:hover {
212
214
  i {
@@ -217,4 +219,9 @@ input[type=datetime-local], input[type=datetime] {
217
219
  input[type=text] {
218
220
  min-width: 22em;
219
221
  }
222
+
223
+ // To display correctly in tables with fixed witdh columns
224
+ .form-select {
225
+ width: initial;
226
+ }
220
227
  }
@@ -0,0 +1,27 @@
1
+ class InlineComponent < ViewComponent::Base
2
+ def initialize(model, attribute)
3
+ @model = model
4
+ @attribute = attribute
5
+ @unsuffixed_attribute = unsuffixed(attribute)
6
+ @frame_id = dom_id(model, "#{attribute}_inline_edit")
7
+
8
+ super
9
+ end
10
+
11
+ def before_render
12
+ return unless controller.in_modal?
13
+
14
+ controller.instance_variable_set(:@using_modal, true)
15
+ end
16
+
17
+ SUFIJOS = %i[f text].freeze
18
+ def unsuffixed(attribute)
19
+ ret = attribute.to_s.dup
20
+
21
+ SUFIJOS.each do |sufijo|
22
+ ret.gsub!(/_#{sufijo}$/, '')
23
+ end
24
+
25
+ ret
26
+ end
27
+ end
@@ -3,7 +3,7 @@
3
3
  html: { class: 'd-flex align-items-start gap-1' }) do |f|
4
4
  = hidden_field_tag :inline_attribute, @attribute
5
5
 
6
- = f.field @attribute, label: false, html5: true
6
+ = f.field @unsuffixed_attribute, label: false, html5: true
7
7
 
8
8
  = button_tag class: 'btn btn-sm btn-primary',
9
9
  data: { controller: 'tooltip', 'bs-title': 'Guardar' } do
@@ -1,11 +1,7 @@
1
- class InlineEditComponent < ViewComponent::Base
2
- def initialize(model, attribute)
3
- @model = model
4
- @attribute = attribute
5
- @frame_id = dom_id(model, "#{attribute}_inline_edit")
6
-
1
+ class InlineEditComponent < InlineComponent
2
+ def initialize(*)
7
3
  @wrapper_mappings = {
8
- string: :inline_form_control,
4
+ string: :inline_form_grow,
9
5
  pg_associable: :inline_form_control,
10
6
  date: :inline_form_control,
11
7
  datetime: :inline_form_control,
@@ -14,10 +10,4 @@ class InlineEditComponent < ViewComponent::Base
14
10
 
15
11
  super
16
12
  end
17
-
18
- def before_render
19
- return unless controller.in_modal?
20
-
21
- controller.instance_variable_set(:@using_modal, true)
22
- end
23
13
  end
@@ -1,8 +1,8 @@
1
- - if @model.class.inline_editable?(@attribute) && helpers.policy(@model).edit?
1
+ - if @model.class.inline_editable?(@unsuffixed_attribute) && helpers.policy(@model).edit?
2
2
  = helpers.turbo_frame_tag(@frame_id, class: 'inline-edit')
3
- span = @model.decorate.send(@attribute)
4
3
  = link_to users_inline_edit_path(model: @model.to_gid, attribute: @attribute),
5
- class: 'text-body-tertiary ms-1', style: 'font-size: 0.8em' do
4
+ class: 'text-body-tertiary', style: 'font-size: 0.8em' do
6
5
  i.bi.bi-pencil
6
+ span.ms-1 = @model.decorate.send(@attribute)
7
7
  - else
8
8
  = @model.decorate.send(@attribute)
@@ -1,15 +1,2 @@
1
- class InlineShowComponent < ViewComponent::Base
2
- def initialize(model, attribute)
3
- @model = model
4
- @attribute = attribute
5
- @frame_id = dom_id(model, "#{attribute}_inline_edit")
6
-
7
- super
8
- end
9
-
10
- def before_render
11
- return unless controller.in_modal?
12
-
13
- controller.instance_variable_set(:@using_modal, true)
14
- end
1
+ class InlineShowComponent < InlineComponent
15
2
  end
@@ -270,6 +270,21 @@ SimpleForm.setup do |config|
270
270
  # inline forms
271
271
  #
272
272
  # inline default_wrapper
273
+ config.wrappers :inline_form_grow, class: 'flex-grow-1' do |b|
274
+ b.use :html5
275
+ b.use :placeholder
276
+ b.optional :maxlength
277
+ b.optional :minlength
278
+ b.optional :pattern
279
+ b.optional :min_max
280
+ b.optional :readonly
281
+ b.use :label, class: 'visually-hidden'
282
+
283
+ b.use :input, class: 'form-control form-control-sm', error_class: 'is-invalid'
284
+ b.use :error, wrap_with: { class: 'invalid-feedback' }
285
+ b.optional :hint, wrap_with: { class: 'form-text' }
286
+ end
287
+
273
288
  config.wrappers :inline_form_control, class: '' do |b|
274
289
  b.use :html5
275
290
  b.use :placeholder
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PgRails
4
- VERSION = '7.6.3'
4
+ VERSION = '7.6.4'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.6.3
4
+ version: 7.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martín Rosso
@@ -674,6 +674,7 @@ files:
674
674
  - pg_engine/app/components/date_selector_component.html.slim
675
675
  - pg_engine/app/components/date_selector_component.rb
676
676
  - pg_engine/app/components/flash_container_component.rb
677
+ - pg_engine/app/components/inline_edit/inline_component.rb
677
678
  - pg_engine/app/components/inline_edit/inline_edit_component.html.slim
678
679
  - pg_engine/app/components/inline_edit/inline_edit_component.rb
679
680
  - pg_engine/app/components/inline_edit/inline_show_component.html.slim