Class: JsAjaxWizard

Inherits:
Object
  • Object
show all
Defined in:
lib/jsajax_wizard.rb

Instance Method Summary collapse

Constructor Details

#initialize(html = '', debug: false) ⇒ JsAjaxWizard

Returns a new instance of JsAjaxWizard.



44
45
46
47
48
49
50
51
52
# File 'lib/jsajax_wizard.rb', line 44

def initialize(html='', debug: false)

  @html, @debug = RXFHelper.read(html).first, debug        
  @requests = []
  
  # search for AJAX placeholders
  scan_requests(@html)    

end

Instance Method Details

#add_request(server: '', element: {}, trigger: nil, target_element: {}, target_eval: false) ⇒ Object



54
55
56
57
58
# File 'lib/jsajax_wizard.rb', line 54

def add_request(server: '', element: {}, trigger: nil, target_element: {}, 
                target_eval: false)
  type = element.any? ? [:element, element] : [:trigger, trigger]
  @requests << [server, type, target_element, target_eval ]
end

#to_htmlObject



60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/jsajax_wizard.rb', line 60

def to_html()
  
  html = @html.empty? ? build_html : @html
  
  puts 'html: ' + html.inspect if @debug
  
  doc = Rexle.new(html)
  puts 'doc.xml: ' + doc.xml(pretty: true) if @debug
  add_events(doc)
  js = build_js(doc)
  doc.root.element('body').add(Rexle.new(js))    
  
  doc.xml    
end