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) ->