Fixed App.ControllerForm.findForm(), added browser tess.
This commit is contained in:
parent
6afe4d6b08
commit
ae37e6ba46
5 changed files with 81 additions and 5 deletions
|
@ -511,7 +511,6 @@ class App.ControllerForm extends App.Controller
|
|||
else
|
||||
form = $(form)
|
||||
|
||||
#console.log('FF', form)
|
||||
# get form
|
||||
if form.is('form') is true
|
||||
#console.log('direct from')
|
||||
|
@ -534,15 +533,20 @@ class App.ControllerForm extends App.Controller
|
|||
lookupForm = @findForm(form)
|
||||
|
||||
if lookupForm
|
||||
if lookupForm.is('button, input, select, textarea, div, span')
|
||||
App.Log.debug 'ControllerForm', 'disable item...', lookupForm
|
||||
lookupForm.attr('readonly', true)
|
||||
lookupForm.attr('disabled', true)
|
||||
return
|
||||
App.Log.debug 'ControllerForm', 'disable form...', lookupForm
|
||||
|
||||
# set forms to read only during communication with backend
|
||||
lookupForm.find('button, input, select, textarea').attr('readonly', true)
|
||||
|
||||
# disable additionals submits
|
||||
lookupForm.find('button.btn').attr('disabled', true)
|
||||
lookupForm.find('button').attr('disabled', true)
|
||||
else
|
||||
App.Log.notice 'ControllerForm', 'disable item...', form
|
||||
App.Log.debug 'ControllerForm', 'disable item...', form
|
||||
form.attr('readonly', true)
|
||||
form.attr('disabled', true)
|
||||
|
||||
|
@ -551,15 +555,20 @@ class App.ControllerForm extends App.Controller
|
|||
lookupForm = @findForm(form)
|
||||
|
||||
if lookupForm
|
||||
if lookupForm.is('button, input, select, textarea, div, span')
|
||||
App.Log.debug 'ControllerForm', 'disable item...', lookupForm
|
||||
lookupForm.attr('readonly', false)
|
||||
lookupForm.attr('disabled', false)
|
||||
return
|
||||
App.Log.debug 'ControllerForm', 'enable form...', lookupForm
|
||||
|
||||
# enable fields again
|
||||
lookupForm.find('button, input, select, textarea').attr('readonly', false)
|
||||
|
||||
# enable submits again
|
||||
lookupForm.find('button.btn').attr('disabled', false)
|
||||
lookupForm.find('button').attr('disabled', false)
|
||||
else
|
||||
App.Log.notice 'ControllerForm', 'enable item...', form
|
||||
App.Log.debug 'ControllerForm', 'enable item...', form
|
||||
form.attr('readonly', false)
|
||||
form.attr('disabled', false)
|
||||
|
||||
|
|
19
app/views/tests/form_find.html.erb
Normal file
19
app/views/tests/form_find.html.erb
Normal file
|
@ -0,0 +1,19 @@
|
|||
|
||||
<link rel="stylesheet" href="/assets/tests/qunit-1.10.0.css">
|
||||
<script src="/assets/tests/qunit-1.10.0.js"></script>
|
||||
<script src="/assets/tests/form_find.js"></script>
|
||||
|
||||
<style type="text/css">
|
||||
body {
|
||||
padding-top: 0px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
</script>
|
||||
|
||||
<div id="qunit" class="u-dontfold"></div>
|
||||
|
||||
<div>
|
||||
<div id="forms"></div>
|
||||
</div>
|
|
@ -5,6 +5,7 @@ Zammad::Application.routes.draw do
|
|||
match '/tests_model', to: 'tests#model', via: :get
|
||||
match '/tests_model_ui', to: 'tests#model_ui', via: :get
|
||||
match '/tests_form', to: 'tests#form', via: :get
|
||||
match '/tests_form_find', to: 'tests#form_find', via: :get
|
||||
match '/tests_form_trim', to: 'tests#form_trim', via: :get
|
||||
match '/tests_form_extended', to: 'tests#form_extended', via: :get
|
||||
match '/tests_form_validation', to: 'tests#form_validation', via: :get
|
||||
|
|
39
public/assets/tests/form_find.js
Normal file
39
public/assets/tests/form_find.js
Normal file
|
@ -0,0 +1,39 @@
|
|||
|
||||
// form
|
||||
test( "find form check", function() {
|
||||
|
||||
$('#forms').append('<hr><h1>find form check</h1><form id="form1"></form>')
|
||||
var form1 = App.ControllerForm.findForm($('#form1'))
|
||||
equal(form1.is('form'), true)
|
||||
|
||||
$('#forms').append('<hr><h1>find form check</h1><form id="form2"><input class="js-input" value="test 123"></form>')
|
||||
var form2 = App.ControllerForm.findForm($('#form2 .js-input'))
|
||||
equal(form2.is('form'), true)
|
||||
|
||||
$('#forms').append('<hr><h1>find form check</h1><form id="form3"><input class="js-input" value="test 123"><button class="js-button">text</button></form>')
|
||||
var form3 = App.ControllerForm.findForm($('#form3 .js-button'))
|
||||
equal(form3.is('form'), true)
|
||||
App.ControllerForm.disable($('#form3 .js-button'))
|
||||
equal($('#form3 .js-button').attr('readonly'), 'readonly')
|
||||
equal($('#form3 .js-button').attr('disabled'), 'disabled')
|
||||
equal($('#form3 .js-input').attr('readonly'), 'readonly')
|
||||
equal($('#form3 .js-input').attr('disabled'), undefined)
|
||||
|
||||
App.ControllerForm.enable($('#form3 .js-button'))
|
||||
equal($('#form3 .js-button').attr('readonly'), undefined)
|
||||
equal($('#form3 .js-button').attr('disabled'), undefined)
|
||||
equal($('#form3 .js-input').attr('readonly'), undefined)
|
||||
equal($('#form3 .js-input').attr('disabled'), undefined)
|
||||
|
||||
$('#forms').append('<hr><h1>find form check</h1><div id="form4"><input class="js-input" value="test 123"><button class="js-button">text</button></div>')
|
||||
var form4 = App.ControllerForm.findForm($('#form4 .js-button'))
|
||||
equal(form4.is('form'), false)
|
||||
App.ControllerForm.disable($('#form4 .js-button'))
|
||||
equal($('#form4 .js-button').attr('readonly'), 'readonly')
|
||||
equal($('#form4 .js-button').attr('disabled'), 'disabled')
|
||||
|
||||
App.ControllerForm.enable($('#form4 .js-button'))
|
||||
equal($('#form4 .js-input').attr('readonly'), undefined)
|
||||
equal($('#form4 .js-input').attr('disabled'), undefined)
|
||||
|
||||
});
|
|
@ -46,6 +46,14 @@ class AAbUnitTest < TestCase
|
|||
)
|
||||
|
||||
location( url: browser_url + '/tests_form_trim' )
|
||||
sleep 4
|
||||
match(
|
||||
css: '.result .failed',
|
||||
value: '0',
|
||||
)
|
||||
|
||||
location( url: browser_url + '/tests_form_find' )
|
||||
sleep 4
|
||||
match(
|
||||
css: '.result .failed',
|
||||
value: '0',
|
||||
|
|
Loading…
Reference in a new issue