form_column_select.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // column_select
  2. test( "column_select check", function(assert) {
  3. $('#forms').append('<hr><h1>column_select check</h1><form id="form1"></form>')
  4. var el = $('#form1')
  5. var defaults = {
  6. column_select2: ['aaa', 'bbb'],
  7. }
  8. var options = {
  9. 'aaa': 'aaa display',
  10. 'bbb': 'bbb display',
  11. 'ccc': 'ccc display',
  12. }
  13. new App.ControllerForm({
  14. el: el,
  15. model: {
  16. configure_attributes: [
  17. { name: 'column_select1', display: 'ColumnSelect1', tag: 'column_select', options: options, null: true, default: defaults['column_select1'] },
  18. { name: 'column_select2', display: 'ColumnSelect2', tag: 'column_select', options: options, null: false, default: defaults['column_select2'] },
  19. ]
  20. },
  21. autofocus: true
  22. })
  23. var params = App.ControllerForm.params(el)
  24. var test_params = {
  25. column_select2: ['aaa', 'bbb'],
  26. }
  27. deepEqual(params, test_params, 'form param check')
  28. // add and remove selections
  29. $('[data-name="column_select1"] .js-pool .js-option[data-value="bbb"]').click()
  30. params = App.ControllerForm.params(el)
  31. test_params = {
  32. column_select1: 'bbb',
  33. column_select2: ['aaa', 'bbb'],
  34. }
  35. deepEqual(params, test_params, 'form param check')
  36. var done = assert.async();
  37. setTimeout(function() {
  38. $('[data-name="column_select1"] .js-pool .js-option[data-value="aaa"]').click()
  39. $('[data-name="column_select2"] .js-pool .js-option[data-value="ccc"]').click()
  40. $('[data-name="column_select2"].js-selected .js-option[data-value="aaa"]').click()
  41. params = App.ControllerForm.params(el)
  42. test_params = {
  43. column_select1: ['aaa', 'bbb'],
  44. column_select2: ['bbb', 'ccc'],
  45. }
  46. deepEqual(params, test_params, 'form param check')
  47. done();
  48. }, 400);
  49. });