Change admin announcement edition interface to use datetime-local (#18321)
* Change admin announcement edition interface to use datetime-local * Dynamically set announcement stop date as required if start date is set, set minimum date for stop date * Change `all_day` to not be bound to presence of time-range * Add pattern and placeholder as minimal fallback for browsers not supporting datetime-local * Display datetime-local inputs as local time Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
This commit is contained in:
		| @@ -1,12 +1,15 @@ | ||||
| - content_for :page_title do | ||||
|   = t('.title') | ||||
|  | ||||
| - content_for :header_tags do | ||||
|   = javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous' | ||||
|  | ||||
| = simple_form_for @announcement, url: admin_announcement_path(@announcement) do |f| | ||||
|   = render 'shared/error_messages', object: @announcement | ||||
|  | ||||
|   .fields-group | ||||
|     = f.input :starts_at, include_blank: true, wrapper: :with_block_label | ||||
|     = f.input :ends_at, include_blank: true, wrapper: :with_block_label | ||||
|     = f.input :starts_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}(:[0-9]{2}){1,2}', placeholder: Time.now.strftime('%FT%R') } | ||||
|     = f.input :ends_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}(:[0-9]{2}){1,2}', placeholder: Time.now.strftime('%FT%R') } | ||||
|  | ||||
|   .fields-group | ||||
|     = f.input :all_day, as: :boolean, wrapper: :with_label | ||||
|   | ||||
| @@ -1,12 +1,15 @@ | ||||
| - content_for :page_title do | ||||
|   = t('.title') | ||||
|  | ||||
| - content_for :header_tags do | ||||
|   = javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous' | ||||
|  | ||||
| = simple_form_for @announcement, url: admin_announcements_path do |f| | ||||
|   = render 'shared/error_messages', object: @announcement | ||||
|  | ||||
|   .fields-group | ||||
|     = f.input :starts_at, include_blank: true, wrapper: :with_block_label | ||||
|     = f.input :ends_at, include_blank: true, wrapper: :with_block_label | ||||
|     = f.input :starts_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}(:[0-9]{2}){1,2}', placeholder: Time.now.strftime('%FT%R') } | ||||
|     = f.input :ends_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}(:[0-9]{2}){1,2}', placeholder: Time.now.strftime('%FT%R') } | ||||
|  | ||||
|   .fields-group | ||||
|     = f.input :all_day, as: :boolean, wrapper: :with_label | ||||
| @@ -15,7 +18,7 @@ | ||||
|     = f.input :text, wrapper: :with_block_label | ||||
|  | ||||
|   .fields-group | ||||
|     = f.input :scheduled_at, include_blank: true, wrapper: :with_block_label | ||||
|     = f.input :scheduled_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}(:[0-9]{2}){1,2}', placeholder: Time.now.strftime('%FT%R') } | ||||
|  | ||||
|   .actions | ||||
|     = f.button :button, t('.create'), type: :submit | ||||
|   | ||||
		Reference in New Issue
	
	Block a user