def add(*config)
options = config.extract_options!
if !options.keys.empty?
if url = options.delete(:partial)
@partial_config = options
if (@controller.respond_to?(:partial))
return @controller.partial(url, :with => self, :as => :container)
else
return @controller.render(:partial => url, :locals => {:container => self})
end
else
options.merge!(@partial_config) unless @partial_config.nil?
options[:controller] = @controller unless @controller.nil?
cmp = ExtJS::Component.new(options)
@partial_config = nil
@config["items"] << cmp
return cmp
end
elsif !config.empty? && config.first.kind_of?(ExtJS::Component)
cmp = config.first
cmp.apply(@partial_config) unless @partial_config.nil?
@partial_config = nil
@config["items"] << cmp.config
return cmp
end
end