sutty/app/views/posts/attributes/_locales.haml

40 lines
1.4 KiB
Plaintext
Raw Normal View History

2020-05-23 16:52:58 +00:00
-#
Crea un input-map para cada idioma por separado. Podríamos hacer uno
solo que tenga todos los idiomas pero puede ser una interfaz confusa.
TODO: Esto permite seleccionar más de una traducción por idioma...
- site.locales.each do |locale|
-# Ignorar el idioma actual
- next if post.lang.value == locale
- locale_t = t("locales.#{locale}.name")
2020-05-23 16:52:58 +00:00
- values = metadata.value.select do |x|
- metadata.values[locale.to_sym].values.include? x
.form-group
= label_tag "post_#{attribute}_#{locale}", locale_t
2020-05-23 16:52:58 +00:00
.mapable{ dir: t("locales.#{locale}.dir"), lang: locale,
data: { values: values.to_json,
2020-05-23 16:52:58 +00:00
'default-values': metadata.values[locale.to_sym].to_json,
name: "post[#{attribute}][]",
list: id_for_datalist(attribute, locale),
button: t('posts.attributes.add'),
remove: 'false', legend: locale_t,
2020-05-23 16:52:58 +00:00
described: id_for_help(attribute, locale) } }
= text_field(*field_name_for('post', attribute, '[]'),
value: values.join(', '),
dir: t("locales.#{locale}.dir"), lang: locale,
2020-05-23 16:52:58 +00:00
**field_options(attribute, metadata))
= render 'posts/attribute_feedback',
post: post,
attribute: [attribute, 'mapable'].flatten,
metadata: metadata
%datalist{ id: id_for_datalist(attribute, locale) }
- metadata.values[locale.to_sym].keys.each do |value|
%option{ value: value }