<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,6 @@
+== v0.2.1 ==
+* Added support for using textile_editor_initialize from an AJAX request
+
 == v0.2 ==
 * Refactored all the Javascript methods into a more OOP-style architecture
 * Added ability to add custom buttons to the toolbar via new helper: textile_editor_button</diff>
      <filename>CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -8,31 +8,45 @@ module TextileEditorHelper
     text_area(object, field, options)
   end
   
+  def textile_editor_support
+    output = []
+    output &lt;&lt; stylesheet_link_tag('textile-editor') 
+    output &lt;&lt; javascript_include_tag('textile-editor')
+    output.join(&quot;\n&quot;)
+  end
+  
   # adds the necessary javascript include tags, stylesheet tags,
   # and load event with necessary javascript to active textile editor(s)
   # sample output:
-  #    &lt;link href=&quot;/stylesheets/button_styles.css&quot; media=&quot;screen&quot; rel=&quot;Stylesheet&quot; type=&quot;text/css&quot; /&gt;
-  #    &lt;link href=&quot;/stylesheets/editor_styles.css&quot; media=&quot;screen&quot; rel=&quot;Stylesheet&quot; type=&quot;text/css&quot; /&gt;
-  #    &lt;script src=&quot;/javascripts/text-tags.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
+  #    &lt;link href=&quot;/stylesheets/textile-editor.css&quot; media=&quot;screen&quot; rel=&quot;Stylesheet&quot; type=&quot;text/css&quot; /&gt;
+  #    &lt;script src=&quot;/javascripts/textile-editor.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
   #    &lt;script type=&quot;text/javascript&quot;&gt;
   #    Event.observe(window, 'load', function() {
   #    TextileEditor.initialize('article_body', 'extended');
   #    TextileEditor.initialize('article_body_excerpt', 'simple');
   #    });
   #    &lt;/script&gt;  
+  # 
+  # Note: in the case of this helper being called via AJAX, the output will be reduced:
+  #    &lt;script type=&quot;text/javascript&quot;&gt;
+  #    TextileEditor.initialize('article_body', 'extended');
+  #    TextileEditor.initialize('article_body_excerpt', 'simple');
+  #    &lt;/script&gt;  
+  # 
+  # This means that the support files must be loaded outside of the AJAX request, either
+  # via a call to this helper or the textile_editor_support() helper
   def textile_editor_initialize(*dom_ids)
     editor_ids = (@textile_editor_ids || []) + textile_extract_dom_ids(*dom_ids)
     editor_buttons = (@textile_editor_buttons || [])
     output = []
-    output &lt;&lt; stylesheet_link_tag('textile-editor')
-    output &lt;&lt; javascript_include_tag('textile-editor')
+    output &lt;&lt; textile_editor_support unless request.xhr?
     output &lt;&lt; '&lt;script type=&quot;text/javascript&quot;&gt;'
-    output &lt;&lt; %{Event.observe(window, 'load', function() \{}
+    output &lt;&lt; %{Event.observe(window, 'load', function() \{} unless request.xhr?
     output &lt;&lt; editor_buttons.join(&quot;\n&quot;) if editor_buttons.any?;
     editor_ids.each do |editor_id, mode|
       output &lt;&lt; &quot;TextileEditor.initialize('%s', '%s');&quot; % [editor_id, mode || 'extended']
     end
-    output &lt;&lt; '});'
+    output &lt;&lt; '});' unless request.xhr?
     output &lt;&lt; '&lt;/script&gt;'
     output.join(&quot;\n&quot;)
   end</diff>
      <filename>lib/textile_editor_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -26,6 +26,10 @@ class TextileEditorHelperTest &lt; Test::Unit::TestCase
   end
   
   # support methods
+  def request
+    @controller.request
+  end
+  
   def create_simple_editor(object, field, options={})
     output = textile_editor(object, field, options.merge(:simple =&gt; true))
     assert_equal  text_area(object, field, options), output</diff>
      <filename>test/textile_editor_helper_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>82b9590fe859949640087339665accdfdfe7fd99</id>
    </parent>
  </parents>
  <author>
    <name>cbscharf</name>
    <email>cbscharf@6731b596-9f2e-9c42-8d5b-c76208a4698c</email>
  </author>
  <url>http://github.com/felttippin/textile-editor-helper/commit/7e6eb1d882d98851f5261ba5e281b1cab16a5e83</url>
  <id>7e6eb1d882d98851f5261ba5e281b1cab16a5e83</id>
  <committed-date>2007-06-15T15:44:06-07:00</committed-date>
  <authored-date>2007-06-15T15:44:06-07:00</authored-date>
  <message>Added support for using textile_editor_initialize from an AJAX request

git-svn-id: http://svn.webtest.wvu.edu/repos/rails/plugins/textile_editor_helper@125 6731b596-9f2e-9c42-8d5b-c76208a4698c</message>
  <tree>91cf895945592d3d9c1efbeea9149f76c467182f</tree>
  <committer>
    <name>cbscharf</name>
    <email>cbscharf@6731b596-9f2e-9c42-8d5b-c76208a4698c</email>
  </committer>
</commit>
