Sha256: bbe4c3b66c87b37c8472b24f7581f2516e82532fdeba15fb2f1b3cf87a51d52a
Contents?: true
Size: 1.36 KB
Versions: 2
Compression:
Stored size: 1.36 KB
Contents
module Polyblock module CapybaraHelpers def fill_in_polyblock(locator, params={}) # Find out ckeditor id at runtime using its label # if page.has_css? "##{locator}" if !locator.include?(' ') && page.evaluate_script("$('##{locator}').is('*')") # Locator is fine as is for capybara. # elsif page.has_css? 'label', text: locator elsif page.evaluate_script("$(\"label:contains('#{locator}')\").is('*')") locator = find('label', text: locator)[:for] else raise "Locator #{locator} not found!!" end # Fill the editor content page.execute_script <<-SCRIPT var ckeditor = CKEDITOR.instances['#{locator}']; ckeditor.setData('#{params[:with].gsub("'", "\\\\'")}'); ckeditor.focus(); setTimeout(function(){ ckeditor.updateElement(); }, 1); SCRIPT sleep 0.1 end def fill_in_inline_polyblock(name, params={}) page.execute_script <<-SCRIPT var element = $('.polyblock[data-pbname="#{name}"]'); var ckeditor = CKEDITOR.instances[element.attr('id')]; setTimeout(function(){ ckeditor.fire('focus'); ckeditor.setData('#{params[:with].gsub("'", "\\\'")}'); ckeditor.focus(); ckeditor.updateElement(); }, 1); SCRIPT sleep 0.1 end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
polyblock-1.2.1 | lib/polyblock/capybara_helpers.rb |
polyblock-1.2.0 | lib/polyblock/capybara_helpers.rb |