このコミットが含まれているのは:
2026-10-28 20:57:22 +09:00
コミット 614a12e7aa
18個のファイルの変更、175行の追加、107行の削除
+26 -8
ファイルの表示
@@ -115,13 +115,23 @@ class CountsResourceDefinition
def self.aliases_key(code) = "aliases_#{ code.to_s.downcase.tr('-', '_') }"
def name_columns
@name_columns ||= Locale.select(:code, :language_code, :script_code).order(:code)
.flat_map do |locale|
codes = { code: locale.code, language_code: locale.language_code,
script_code: locale.script_code }
[{ key: self.class.name_key(locale.code), label: 'counts:localeName', name_locale: codes },
{ key: self.class.aliases_key(locale.code), label: 'counts:localeAliases',
name_locale: codes, multiple_values: true }]
@name_columns ||= begin
locales = Locale.joins(:language)
.select('locales.code', 'locales.language_code', 'locales.script_code')
.order('languages.created_at ASC', 'languages.code ASC', 'locales.code ASC')
codes = locales.map do |locale|
{ code: locale.code, language_code: locale.language_code,
script_code: locale.script_code }
end
names = codes.map do |locale|
{ key: self.class.name_key(locale[:code]), label: 'counts:localeName',
name_locale: locale }
end
aliases = codes.map do |locale|
{ key: self.class.aliases_key(locale[:code]), label: 'counts:localeAliases',
name_locale: locale, multiple_values: true }
end
names + aliases
end
end
@@ -200,7 +210,7 @@ class CountsResourceDefinition
keys.flat_map do |child|
next [] if child == 'aliases' && key == 'tags'
if child == 'name' && ['tags', 'parents'].include?(key)
next [{ key: child, label: CHILD_LABELS.fetch(child) }, *name_columns]
next name_columns
end
label = key == 'members' && child == 'tagId' ?
'counts:columns.resourceId' : CHILD_LABELS.fetch(child)
@@ -218,6 +228,13 @@ class CountsResourceDefinition
def condition_fields
fields = output_fields
if resource == 'tags'
fields = fields.map do |field|
next field unless field[:key] == 'parents'
field.merge(children: field[:children] + [
{ key: 'name', label: 'history:name' },
{ key: 'names', label: 'counts:columns.names', children: child_fields('names') }])
end
fields += [{ key: 'name', label: 'counts:columns.name' },
{ key: 'names', label: 'counts:columns.names', children: child_fields('names') },
{ key: 'aliases', label: 'tags:aliases', children: child_fields('aliases') }]
@@ -227,6 +244,7 @@ class CountsResourceDefinition
next field unless field[:key] == 'tags'
field.merge(children: field[:children] + [
{ key: 'name', label: 'history:name' },
{ key: 'names', label: 'counts:columns.names', children: child_fields('names') },
{ key: 'aliases', label: 'tags:aliases', children: child_fields('aliases') }])
end