Changeset 1119

Show
Ignore:
Timestamp:
2008-07-25 10:01:05 (6 months ago)
Author:
gaspard
Message:

Fixed nasty bug (arghh hard to catch) where DOM ids would get messed up when using [link update='...'].

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/app/helpers/application_helper.rb

    r1111 r1119  
    126126    end 
    127127                <<-EOL 
    128 <div class="date_box"><img src="/calendar/iconCalendar.gif" id="#{opts[:button]}"/> 
     128<span class="date_box"><img src="/calendar/iconCalendar.gif" id="#{opts[:button]}" alt='#{_('date selection')}'/> 
    129129#{fld} 
    130130        <script type="text/javascript"> 
     
    135135        showsTime      :    true 
    136136    }); 
    137 </script></div
     137</script></span
    138138                EOL 
    139139        end 
  • trunk/lib/parser/lib/rules/zena.rb

    r1118 r1119  
    864864        @html_tag = 'input' 
    865865        @html_tag_params[:type] = @params[:type] 
    866         @html_tag_params[:text] = @params[:text] 
     866        @html_tag_params[:text] = @params[:text] if @params[:text] 
    867867        @html_tag_params.merge!(html_attributes) 
    868868        render_html_tag(nil) 
     
    899899          id_hash[:style] = "display:none;" 
    900900           
    901           cancel =  "<span class='btn_x'><a href='#' onclick='[\"#{erb_dom_id}_add\", \"#{erb_dom_id}_form\"].each(Element.toggle);return false;'>#{_('btn_x')}</a></span>\n" 
     901          cancel =  "<p class='btn_x'><a href='#' onclick='[\"#{erb_dom_id}_add\", \"#{erb_dom_id}_form\"].each(Element.toggle);return false;'>#{_('btn_x')}</a></p>\n" 
    902902          form  =  "<%= form_remote_tag(:url => #{base_class.to_s.underscore.pluralize}_path, :html => {:id => \"#{dom_id}_form_t\"}) %>\n" 
    903903        else 
     
    908908          cancel = <<-END_TXT 
    909909<% if #{node}.new_record? -%> 
    910   <span class='btn_x'><a href='#' onclick='[\"<%= params[:dom_id] %>_add\", \"<%= params[:dom_id] %>_form\"].each(Element.toggle);return false;'>#{_('btn_x')}</a></span
     910  <p class='btn_x'><a href='#' onclick='[\"<%= params[:dom_id] %>_add\", \"<%= params[:dom_id] %>_form\"].each(Element.toggle);return false;'>#{_('btn_x')}</a></p
    911911<% else -%> 
    912   <span class='btn_x'><%= link_to_remote(#{_('btn_x').inspect}, :url => #{base_class.to_s.underscore}_path(#{node_id}) + \"/zafu?t_url=#{CGI.escape(template_url)}&dom_id=\#{params[:dom_id]}#{@context[:need_link_id] ? "&link_id=\#{#{node}.link_id}" : ''}\", :method => :get) %></span
     912  <p class='btn_x'><%= link_to_remote(#{_('btn_x').inspect}, :url => #{base_class.to_s.underscore}_path(#{node_id}) + \"/zafu?t_url=#{CGI.escape(template_url)}&dom_id=\#{params[:dom_id]}#{@context[:need_link_id] ? "&link_id=\#{#{node}.link_id}" : ''}\", :method => :get) %></p
    913913<% end -%> 
    914914END_TXT 
     
    22822282    end 
    22832283     
    2284     def context_name 
    2285       return (@context[:name] || 'list') if @context 
    2286       @name || @params[:id] || parent ? parent.context_name : 'root' 
    2287     end 
    2288      
    2289     def context 
    2290       return @context if @context 
    2291       # not rendered yet, find first parent with context 
    2292       @context = parent ? parent.context : {} 
    2293     end 
    2294      
    2295     # prefix for DOM id 
    2296     def dom_prefix 
    2297       (@context ? @context[:dom_prefix] : nil) || (@dom_prefix ||= unique_name) 
    2298     end 
    2299      
    2300     # use our own scope 
    2301     def clear_dom_scope 
    2302       @context.delete(:dom_prefix)     # should not propagate 
    2303       @context.delete(:make_form)      # should not propagate 
    2304       @context.delete(:saved_template) # should not propagate 
    2305     end 
    2306      
    2307     # create our own ajax DOM scope 
    2308     def new_dom_scope 
    2309       clear_dom_scope 
    2310       @context[:dom_prefix] = self.dom_prefix 
    2311     end 
    2312      
    23132284    # DOM id for the current context 
    23142285    def dom_id(suffix='') 
     
    23722343      template_url + '_form' 
    23732344    end 
    2374  
     2345     
     2346     
     2347    def context 
     2348      return @context if @context 
     2349      # not rendered yet, find first parent with context 
     2350      @context = parent ? parent.context : {} 
     2351    end 
     2352     
     2353    # prefix for DOM id 
     2354    def dom_prefix 
     2355      (@context ? @context[:dom_prefix] : nil) || (@dom_prefix ||= unique_name) 
     2356    end 
     2357     
     2358    # use our own scope 
     2359    def clear_dom_scope 
     2360      @context.delete(:dom_prefix)     # should not propagate 
     2361      @context.delete(:make_form)      # should not propagate 
     2362      @context.delete(:saved_template) # should not propagate 
     2363    end 
     2364     
     2365    # create our own ajax DOM scope 
     2366    def new_dom_scope 
     2367      clear_dom_scope 
     2368      @context[:dom_prefix] = self.dom_prefix 
     2369    end 
     2370     
    23752371    # Return a different name on each call 
    23762372    def unique_name 
    23772373      base = context_name 
    23782374      root.next_name_index(base, base == @name).gsub(/[^\d\w\/]/,'_') 
     2375    end 
     2376     
     2377    def context_name 
     2378      return (@name || @context[:name] || 'list') if @context 
     2379      @name || @params[:id] || (parent ? parent.context_name : 'root') 
    23792380    end 
    23802381