Fixes #2887 - Entering pending till time for Waiting status is difficult to enter with Firefox
This commit is contained in:
parent
b828c7bda0
commit
b58225a19a
5 changed files with 58 additions and 1 deletions
|
@ -111,11 +111,13 @@
|
|||
}
|
||||
|
||||
this.setDefaultTime(this.defaultTime);
|
||||
this.blurElement()
|
||||
},
|
||||
|
||||
blurElement: function() {
|
||||
this.highlightedUnit = null;
|
||||
this.updateFromElementVal();
|
||||
this.$element.get(0).setSelectionRange(0,0)
|
||||
},
|
||||
|
||||
clear: function() {
|
||||
|
@ -259,7 +261,7 @@
|
|||
switch (this.getCursorPosition()) {
|
||||
case 1:
|
||||
// highlight minutes but async because the newly typed character is not yet stored in the value (happens after this event)
|
||||
setTimeout($.proxy(this.highlightMinute, this), 0);
|
||||
setTimeout($.proxy(this.highlightMinute, this), 50);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
21
app/views/tests/form_datetime.html.erb
Normal file
21
app/views/tests/form_datetime.html.erb
Normal file
|
@ -0,0 +1,21 @@
|
|||
|
||||
<link rel="stylesheet" href="/assets/tests/qunit-1.21.0.css">
|
||||
<%= javascript_include_tag "/assets/tests/qunit-1.21.0.js", "/assets/tests/form_datetime.js", nonce: true %>
|
||||
|
||||
<style type="text/css">
|
||||
body {
|
||||
padding-top: 0px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<%= javascript_tag nonce: true do -%>
|
||||
<% end -%>
|
||||
|
||||
<div id="qunit" class="u-dontfold"></div>
|
||||
|
||||
<div>
|
||||
<form class="form-stacked pull-left">
|
||||
<div id="forms"></div>
|
||||
<button type="submit" class="btn btn-primary submit">Submit</button>
|
||||
</form>
|
||||
</div>
|
|
@ -22,6 +22,7 @@ Zammad::Application.routes.draw do
|
|||
match '/tests_form_ticket_perform_action', to: 'tests#form_ticket_perform_action', via: :get
|
||||
match '/tests_form_sla_times', to: 'tests#form_sla_times', via: :get
|
||||
match '/tests_form_skip_rendering', to: 'tests#form_skip_rendering', via: :get
|
||||
match '/tests_form_datetime', to: 'tests#form_datetime', via: :get
|
||||
match '/tests_table', to: 'tests#table', via: :get
|
||||
match '/tests_table_extended', to: 'tests#table_extended', via: :get
|
||||
match '/tests_html_utils', to: 'tests#html_utils', via: :get
|
||||
|
|
29
public/assets/tests/form_datetime.js
Normal file
29
public/assets/tests/form_datetime.js
Normal file
|
@ -0,0 +1,29 @@
|
|||
test("DateTime timepicker focuses hours", function(assert) {
|
||||
var done = assert.async(1)
|
||||
|
||||
var form = $('#forms')
|
||||
|
||||
var el = $('<div></div>').attr('id', 'form1')
|
||||
el.appendTo(form)
|
||||
|
||||
new App.ControllerForm({
|
||||
el: el,
|
||||
model: {
|
||||
configure_attributes: [
|
||||
{ name: 'datetime1', display: 'Datetime1', tag: 'datetime', null: true },
|
||||
]
|
||||
},
|
||||
autofocus: true
|
||||
});
|
||||
|
||||
let timepicker = el.find('[data-item=time]')
|
||||
|
||||
timepicker.focus()
|
||||
|
||||
setTimeout(function(){ // give it time to apply focus
|
||||
equal(timepicker[0].selectionStart, 0)
|
||||
equal(timepicker[0].selectionEnd, 2)
|
||||
|
||||
done()
|
||||
}, 100)
|
||||
});
|
|
@ -121,6 +121,10 @@ RSpec.describe 'QUnit', type: :system, authenticated_as: false, set_up: true, we
|
|||
it 'SLA times' do
|
||||
q_unit_tests('form_sla_times')
|
||||
end
|
||||
|
||||
it 'DateTime' do
|
||||
q_unit_tests('form_datetime')
|
||||
end
|
||||
end
|
||||
|
||||
context 'Table' do
|
||||
|
|
Loading…
Reference in a new issue