diff --git a/app/assets/javascripts/admin/order_cycles/order_cycles.js.erb.coffee b/app/assets/javascripts/admin/order_cycles/order_cycles.js.erb.coffee index 91ef3c0436..2343f90c28 100644 --- a/app/assets/javascripts/admin/order_cycles/order_cycles.js.erb.coffee +++ b/app/assets/javascripts/admin/order_cycles/order_cycles.js.erb.coffee @@ -9,22 +9,19 @@ angular.module('admin.orderCycles', ['ngTagsInput', 'admin.indexUtils', 'admin.e $timeout -> # using $parse instead of scope[attrs.datetimepicker] for cases # where attrs.datetimepicker is 'foo.bar.lol' - $(element).datetimepicker - dateFormat: 'yy-mm-dd' - timeFormat: 'HH:mm' - showOn: 'button' - controlType: 'select' - oneLine: true - buttonImage: "<%= asset_path 'datepicker/cal.gif' %>" - buttonImageOnly: true - stepMinute: 15 - onSelect: (dateText, inst) -> - scope.$apply(-> - element.val(dateText) - parsed = $parse(attrs.datetimepicker) - parsed.assign(scope, dateText) - ) - + $(element).datetimepicker( + Object.assign( + window.JQUERY_UI_DATETIME_PICKER_DEFAULTS, + { + onSelect: (dateText, inst) -> + scope.$apply(-> + element.val(dateText) + parsed = $parse(attrs.datetimepicker) + parsed.assign(scope, dateText) + ) + } + ) + ) .directive 'ofnOnChange', -> (scope, element, attrs) -> diff --git a/app/assets/javascripts/admin/util.js.erb b/app/assets/javascripts/admin/util.js.erb index aabd313b0f..373dba4767 100644 --- a/app/assets/javascripts/admin/util.js.erb +++ b/app/assets/javascripts/admin/util.js.erb @@ -1,22 +1,30 @@ -$(document).ready(function() { - $('.datetimepicker').datetimepicker({ - dateFormat: 'yy-mm-dd', - timeFormat: 'HH:mm', +$(document).ready(function(){ + window.JQUERY_UI_DATE_PICKER_DEFAULTS = { + dateFormat: Spree.translations.date_picker, dayNames: Spree.translations.abbr_day_names, dayNamesMin: Spree.translations.abbr_day_names, monthNames: Spree.translations.month_names, prevText: Spree.translations.previous, nextText: Spree.translations.next, - showOn: 'button', - controlType: 'select', oneLine: true, + showOn: 'button', buttonImage: "<%= asset_path 'datepicker/cal.gif' %>", - buttonImageOnly: true, - stepMinute: 15 - }); -}); + buttonImageOnly: true + } -$(document).ready(function(){ + window.JQUERY_UI_DATETIME_PICKER_DEFAULTS = Object.assign( + {}, + window.JQUERY_UI_DATE_PICKER_DEFAULTS, + { + currentText: Spree.translations.datetime_ui_current_text, + closeText: Spree.translations.datetime_ui_close_text, + timeText: Spree.translations.datetime_ui_time_text, + timeFormat: 'HH:mm', + controlType: 'select', + stepMinute: 15 + } + ); + $('.datetimepicker').datetimepicker(window.JQUERY_UI_DATETIME_PICKER_DEFAULTS); $('a.close').click(function(event){ event.preventDefault(); $(this).parent().slideUp(250); diff --git a/app/views/spree/admin/shared/_translations.html.erb b/app/views/spree/admin/shared/_translations.html.erb index 50a6ed6ddd..3637cdea27 100644 --- a/app/views/spree/admin/shared/_translations.html.erb +++ b/app/views/spree/admin/shared/_translations.html.erb @@ -15,6 +15,9 @@ :loading => Spree.t(:loading), :month_names => I18n.t(:month_names, :scope => :date).reject(&:blank?), :more => Spree.t(:more), + :datetime_ui_current_text => I18n.t('datetime_picker_ui.current_text'), + :datetime_ui_close_text => I18n.t('datetime_picker_ui.close_text'), + :datetime_ui_time_text => I18n.t('datetime_picker_ui.time_text'), :name => Spree.t(:name), :next => Spree.t(:next), :no_results => Spree.t(:no_results), diff --git a/config/locales/en.yml b/config/locales/en.yml index 6cbd131c09..bf00892d32 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -145,6 +145,10 @@ en: not_array_error: "must be an array" invalid_element_error: "must contain only valid integers" + datetime_picker_ui: + current_text: Now + close_text: Done + time_text: Time enterprise_mailer: confirmation_instructions: subject: "Please confirm the email address for %{enterprise}"