app/assets/javascripts/netzke/testing/helpers/queries.js.coffee in netzke-testing-1.0.1.0 vs app/assets/javascripts/netzke/testing/helpers/queries.js.coffee in netzke-testing-6.5.0.0.rc1
- old
+ new
@@ -42,10 +42,12 @@
icon: (tooltip) ->
Ext.DomQuery.select('img[data-qtip="'+tooltip+'"]')[0] || 'icon ' + tooltip
textfield: (name) ->
Ext.ComponentQuery.query("textfield{isVisible(true)}[name='"+name+"']")[0] ||
+ activateField(name) ||
+ Ext.ComponentQuery.query("textfield{isVisible(false)}[name='"+name+"']")[0] ||
"textfield '#{name}'"
numberfield: (name) ->
Ext.ComponentQuery.query("numberfield{isVisible(true)}[name='"+name+"']")[0] ||
"numberfield '#{name}'"
@@ -55,9 +57,25 @@
"datefield '#{name}'"
xdatetime: (name) ->
Ext.ComponentQuery.query("xdatetime{isVisible(true)}[name='"+name+"']")[0] ||
"xdatetime '#{name}'"
+
+ activateField: (name) ->
+ # This is needed because Ext 6 addon for inline editing creates an input in dom
+ # only when it was activated (double clicked)
+
+ column = Ext.ComponentQuery.query("gridcolumn[name='"+name+"']")[0]
+ gridView = Ext.ComponentQuery.query("gridview")[0]
+ return unless column && gridView
+
+ cell = gridView.getCell(0, column)
+ return unless cell
+
+ clickEvent = document.createEvent('MouseEvents')
+ clickEvent.initEvent('dblclick', true, true);
+ cell.el.dom.dispatchEvent(clickEvent);
+ Ext.ComponentQuery.query("textfield{isVisible(true)}[name='"+name+"']")[0]
textFieldWith: (text) ->
_componentLike "textfield", "value", text
comboboxWith: (text) ->