Skip to content

Commit

Permalink
Merge pull request #3015 from AlchemyCMS/backport/7.1-stable/pr-3002
Browse files Browse the repository at this point in the history
[7.1-stable] Allow to set input_type on Datetime ingredient editor
tvdeyen authored Sep 4, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
2 parents feb8f8b + 53f4dee commit 8adc081
Showing 5 changed files with 12 additions and 3 deletions.
2 changes: 1 addition & 1 deletion app/models/alchemy/ingredients/datetime.rb
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ module Ingredients
# A datetime value
#
class Datetime < Alchemy::Ingredient
allow_settings %i[date_format]
allow_settings %i[date_format input_type]

def value
ActiveRecord::Type::DateTime.new.cast(self[:value])
3 changes: 2 additions & 1 deletion app/views/alchemy/ingredients/_datetime_editor.html.erb
Original file line number Diff line number Diff line change
@@ -7,7 +7,8 @@
datetime_editor, :value, {
name: datetime_editor.form_field_name,
id: datetime_editor.form_field_id,
value: datetime_editor.value
value: datetime_editor.value,
type: datetime_editor.settings[:input_type]
}
) %>
<% end %>
2 changes: 2 additions & 0 deletions spec/dummy/config/alchemy/elements.yml
Original file line number Diff line number Diff line change
@@ -123,6 +123,8 @@
- role: datetime
type: Datetime
hint: true
settings:
input_type: datetime
- role: file
type: File
hint: true
6 changes: 6 additions & 0 deletions spec/models/alchemy/ingredients/datetime_spec.rb
Original file line number Diff line number Diff line change
@@ -16,6 +16,12 @@
)
end

describe ".allowed_settings" do
it "sets allowed_settings" do
expect(described_class.allowed_settings).to eq([:date_format, :input_type])
end
end

describe "value" do
subject { datetime_ingredient.value }

2 changes: 1 addition & 1 deletion spec/views/alchemy/ingredients/datetime_editor_spec.rb
Original file line number Diff line number Diff line change
@@ -17,6 +17,6 @@

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

0 comments on commit 8adc081

Please sign in to comment.