Добрый день.
Используя стандартный пакет с диаграммами, столкнулся с такой проблемой.
При выгрузке в csv, xlsx, json в качестве заголовков используются имена атрибутов сущностей. Возможно ли каким-либо образом этим заголовкам добавить локализацию?
Добрый день.
Используя стандартный пакет с диаграммами, столкнулся с такой проблемой.
При выгрузке в csv, xlsx, json в качестве заголовков используются имена атрибутов сущностей. Возможно ли каким-либо образом этим заголовкам добавить локализацию?
Добрый день,
На данный момент CUBA не устанавливает локализованные значения для экспорта данных, завёл соответствующую задачу: cuba-platform/charts#106.
Вы можете попробовать задать нужные значения через SerialChart.setNativeJson(String)
, например:
@Inject
private SerialChart serialChart;
@Inject
private MessageTools messageTools;
@Inject
private Metadata metadata;
@Subscribe
public void onInit(InitEvent event) {
MetaClass metaClass = metadata.getClassNN(MyEntity.class);
Collection<MetaProperty> properties = metaClass.getOwnProperties();
Map<String, String> locProperties = new HashMap<>(properties.size());
for (MetaProperty property : properties) {
locProperties.put(property.getName(), messageTools.getPropertyCaption(property));
}
locProperties.put("$k", "№");
Gson gson = new Gson();
serialChart.setNativeJson(
"{ " +
" \"export\": { " +
" \"columnNames\": " +
gson.toJson(locProperties) +
" } " +
"} "
);
}
И добавьте в конфигурацию графика:
<chart:export exportTitles="true"/>
setNativeJson()
добавит/переопределит существующие свойства в конфигурации графика.