Skip to content

Commit 337d5f2

Browse files
authored
Merge pull request #3016 from AlchemyCMS/backport/7.2-stable/pr-3002
[7.2-stable] Allow to set input_type on Datetime ingredient editor
2 parents 0e71f2f + 8fbca63 commit 337d5f2

File tree

5 files changed

+12
-3
lines changed

5 files changed

+12
-3
lines changed

app/models/alchemy/ingredients/datetime.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ module Ingredients
55
# A datetime value
66
#
77
class Datetime < Alchemy::Ingredient
8-
allow_settings %i[date_format]
8+
allow_settings %i[date_format input_type]
99

1010
def value
1111
ActiveRecord::Type::DateTime.new.cast(self[:value])

app/views/alchemy/ingredients/_datetime_editor.html.erb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
datetime_editor, :value, {
88
name: datetime_editor.form_field_name,
99
id: datetime_editor.form_field_id,
10-
value: datetime_editor.value
10+
value: datetime_editor.value,
11+
type: datetime_editor.settings[:input_type]
1112
}
1213
) %>
1314
<% end %>

spec/dummy/config/alchemy/elements.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@
125125
- role: datetime
126126
type: Datetime
127127
hint: true
128+
settings:
129+
input_type: datetime
128130
- role: file
129131
type: File
130132
hint: true

spec/models/alchemy/ingredients/datetime_spec.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@
1616
)
1717
end
1818

19+
describe ".allowed_settings" do
20+
it "sets allowed_settings" do
21+
expect(described_class.allowed_settings).to eq([:date_format, :input_type])
22+
end
23+
end
24+
1925
describe "value" do
2026
subject { datetime_ingredient.value }
2127

spec/views/alchemy/ingredients/datetime_editor_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@
1717

1818
it "renders a datepicker" do
1919
render element_editor
20-
expect(rendered).to have_css('alchemy-datepicker[input-type="date"] input[type="text"].date')
20+
expect(rendered).to have_css('alchemy-datepicker[input-type="datetime"] input[type="text"].datetime')
2121
end
2222
end

0 commit comments

Comments
 (0)