forest_admin_datasource_toolkit 1.0.0.pre.beta.66 → 1.0.0.pre.beta.67

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: 305496bfd7be1c88916369c714cdb1e8ba57e5ba7835d0fc82fd04bf6b632e34
4
- data.tar.gz: e1781bba54219a75ef4c04db914f82da84250989d7141687b5607b0d4d6998d1
3
+ metadata.gz: c661bd99cd5135390e188b12d0741f71c7cc88126487c7bbd1fb6503cc940280
4
+ data.tar.gz: c7dd01683fa557de9bd52c8c0dddf24d84cb507849bf6554cb1b7462bcdf8900
5
5
  SHA512:
6
- metadata.gz: a1f3820914c3d62d0902a4b6212c03c8cabe66abf2e50187be087e126388776f103a8f4e3a3493b6a2e06c19d99e01b285a4891c32fa18ff06bd5b6d28753487
7
- data.tar.gz: 52dcb685971d80d89435d60adc8513a07f90f3589c8d068cfb67d43ce65d74554b5a469e32c5d695b0e91428282048b65b9c3a592d2e457ef7adcd4da8b5cbc8
6
+ metadata.gz: f4de408d6d0c1096dcb294e9c89a8d3e1cab74d497a0be4423d96c877875744e3d3a24a627e9467f07ca81fa0b2e50d29b24dafb60954f95ff37d7ee769c6355
7
+ data.tar.gz: 1d4e8e061f8bfb608f030b349b38ddba92b621cbeb2397a1e09834069bc3ecc1c5a979ff977f346fd8c40c5ae88063b7d2285500ebfbf5f0c1d5cbc56710f51e
@@ -3,6 +3,23 @@ module ForestAdminDatasourceToolkit
3
3
  module Actions
4
4
  class ActionFieldFactory
5
5
  def self.build(field)
6
+ if field.key? :widget
7
+ build_widget(field)
8
+ elsif field[:type] == 'Layout'
9
+ build_layout_element(field)
10
+ else
11
+ ActionField.new(**field)
12
+ end
13
+ end
14
+
15
+ def self.build_layout_element(field)
16
+ case field[:component]
17
+ when 'Separator'
18
+ ActionLayoutElement::SeparatorElement.new(**field)
19
+ end
20
+ end
21
+
22
+ def self.build_widget(field)
6
23
  case field[:widget]
7
24
  when 'AddressAutocomplete'
8
25
  WidgetField::AddressAutocompleteField.new(**field)
@@ -40,8 +57,6 @@ module ForestAdminDatasourceToolkit
40
57
  WidgetField::TimePickerField.new(**field)
41
58
  when 'UserDropdown'
42
59
  WidgetField::UserDropdownField.new(**field)
43
- else
44
- ActionField.new(**field)
45
60
  end
46
61
  end
47
62
  end
@@ -0,0 +1,40 @@
1
+ module ForestAdminDatasourceToolkit
2
+ module Components
3
+ module Actions
4
+ module ActionLayoutElement
5
+ class BaseLayoutElement
6
+ attr_reader :type, :component
7
+
8
+ def initialize(component:, **_kwargs)
9
+ @type = FieldType::LAYOUT
10
+ @component = component
11
+ end
12
+
13
+ def to_h
14
+ result = {}
15
+ instance_variables.each do |attribute|
16
+ result[attribute.to_s.delete('@').camelize(:lower).to_sym] = instance_variable_get(attribute)
17
+ end
18
+
19
+ result
20
+ end
21
+ end
22
+
23
+ class InputElement < BaseLayoutElement
24
+ attr_reader :field_id
25
+
26
+ def initialize(field_id:, **options)
27
+ super(component: 'Separator', **options)
28
+ @field_id = field_id
29
+ end
30
+ end
31
+
32
+ class SeparatorElement < BaseLayoutElement
33
+ def initialize(**options)
34
+ super(component: 'Separator', **options)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -30,6 +30,8 @@ module ForestAdminDatasourceToolkit
30
30
 
31
31
  STRING_LIST = 'StringList'.freeze
32
32
 
33
+ LAYOUT = 'Layout'.freeze
34
+
33
35
  def self.all
34
36
  constants.map { |constant| const_get(constant) }
35
37
  end
@@ -1,3 +1,3 @@
1
1
  module ForestAdminDatasourceToolkit
2
- VERSION = "1.0.0-beta.66"
2
+ VERSION = "1.0.0-beta.67"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forest_admin_datasource_toolkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre.beta.66
4
+ version: 1.0.0.pre.beta.67
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthieu
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2024-09-05 00:00:00.000000000 Z
12
+ date: 2024-09-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -57,6 +57,7 @@ files:
57
57
  - lib/forest_admin_datasource_toolkit/collection.rb
58
58
  - lib/forest_admin_datasource_toolkit/components/actions/action_field.rb
59
59
  - lib/forest_admin_datasource_toolkit/components/actions/action_field_factory.rb
60
+ - lib/forest_admin_datasource_toolkit/components/actions/action_layout_element.rb
60
61
  - lib/forest_admin_datasource_toolkit/components/actions/field_type.rb
61
62
  - lib/forest_admin_datasource_toolkit/components/actions/widget_field.rb
62
63
  - lib/forest_admin_datasource_toolkit/components/caller.rb