Ne yazık ki ActiveAdmin bu kutuyu desteklemiyor gibi görünüyor, ancak elde edilebilir.
tab "Tab 2" do
table_for resource.some_connection do
column :name
...
end
end
Ne yazık ki bu bir sıralanabilir bir tablodur değil, bu yüzden biz sadece aşağıdaki seçenek karma eklemek gerekir: (genellikle lib/admin/resource.rb
olarak) ActiveAdmin.register
çağrı bu resource
'ın some_connection
veriler için bir tablo yaratacak içinde
:
{:sortable => true, :class => 'index_table'}
şöyle:
table_for resource.some_connection, {:sortable => true, :class => 'index_table'} do
Bu neredeyse işe yarayacak. Ne yazık ki bir sıralama sütunu seçmeniz sizi ilk Tab
adresine geri götürecektir, ancak sıralama URL'de saklanacaktır (whatever/your/page/address/is?order=name_asc
biçiminde).
module ActiveAdmin
module Views
class TableFor
def build(obj, *attrs)
options = attrs.extract_options!
@sortable = options.delete(:sortable)
@collection = obj.respond_to?(:each) && !obj.is_a?(Hash) ? obj : [obj]
@resource_class = options.delete(:i18n)
@resource_class ||= @collection.klass if @collection.respond_to? :klass
@columns = []
@row_class = options.delete(:row_class)
@anchor = options.delete(:anchor)
@sort_key_prefix = ''
@sort_key_prefix = @anchor.to_s + '_' unless @anchor.nil?
build_table
super(options)
columns(*attrs)
end
def build_table_header(col)
classes = Arbre::HTML::ClassList.new
sort_key = sortable? && col.sortable? && col.sort_key
params = request.query_parameters.except :page, :order, :commit, :format
classes << 'sortable' if sort_key
classes << "sorted-#{current_sort[1]}" if sort_key && current_sort[0] == @sort_key_prefix + sort_key
classes << col.html_class
if sort_key
th class: classes do
link_to col.pretty_title, params: params, order: "#{@sort_key_prefix}#{sort_key}_#{order_for_sort_key(@sort_key_prefix + sort_key)}", anchor: @anchor
end
else
th col.pretty_title, class: classes
end
end
end
end
end
Temelde ben seçeneklerinde bir çapa parametresini eklendi ve masa sonra nerede olduğunu sekmeye geri alabilirsiniz bu kullanarak:
aşağıdaki bu sorunu ben maymun-yamalı
ActiveAdmin's
TableFor
sınıfını çözmek için bir sıralama kriteri seçerek. Bu ölçütün adı, bu bağlantı ile bir önek olarak genişletilir, böylece farklı sekmelerde aynı şekilde adlandırılan sütunlara sahip olmak, farklı tabloların sıralamasını bozmaz. (Şu anda bağlantıyı önek olarak kullanıyorum, ancak bu, bir daha
Tab
)
'u desteklemek için tamamen ayrı bir seçenek parametresine dönüştürülebilir. Maymun düzeltme ekini yüklemek için bir başlatıcı kullanıyorum. yukarıdan kodu:
monkey_patches.rb
-----------------
require 'ext/active_admin/views/table_for'
Bu değişiklikler hafifçe biz tablo oluşturmak yolu değiştirmek gerektiriyor (biz params
itibaren sıralama ayarlarını almak ve verilerimize bunları uygulamak zorunda):
tab_name = "Tab 2"
tab tab_name do
tab_anchor = tab_name.parameterize('_')
data = resource.some_conection
unless params['order'].nil?
order = params['order'].to_s.sub(tab_anchor + '_', '').sub("_asc", " ASC").sub("_desc", " DESC")
data = data.order(order) unless order.nil?
end
table_for data, { anchor: tab_anchor, :sortable => true, :class => 'index_table'} do
column :name
...
end
end
:Bu (buna
anchor
puan burada tablo aslında bir
Panel
konur ve) sonucudur