Диаграмма. Сохранить как

Добрый день.
Используя стандартный пакет с диаграммами, столкнулся с такой проблемой.

При выгрузке в csv, xlsx, json в качестве заголовков используются имена атрибутов сущностей. Возможно ли каким-либо образом этим заголовкам добавить локализацию?
12

Добрый день,

На данный момент 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() добавит/переопределит существующие свойства в конфигурации графика.

2 симпатии