Возможно ли сделать так, чтобы чарт в кубе не перерисовывался целиком при смене DataProvider? Собственно в семпле amCharts анимация pull работает как положено. В кубе сначала полностью перерисовывается чарт, затем срабатывает анимация.
Да, Вы правы, при замене DataProvider график перерисовывается, т.к. заново формируется конфигурация графика. Чтобы избежать полной перерисовки, и как следствие срабатывание анимации, могу посоветовать не заменять DataProvider, а воспользоваться Incremental Upate (документация и демо).
Глеб, к сожалению сейчас я это не проверил, вернусь позже, когда смогу проверить, но, мне кажется, что я пытался сделать это с помощью методов ListDataProvider.addItem() и ListDataProvider.removeItem() и все равно происходила полная перерисовка графика.
Или корректно будет работать только при использовании CollectionDataSource?
Глеб, я правильно понял, что при использовании вышеназванных методов анимация должна отрабатывать корректно? Если так, то вот демо-проект, на котором это не работает.
Я хочу, что бы при изменении данных в DataProvider не происходило полной перерисовки чарта.
В приложенном проекте я по клику ЛКМ на слайс добавляю данные в DataProvider и удаляю при клике ПКМ. При этом происходит полная перерисовка чарта.
Это я уже понял. Тогда прошу зафиксировать ошибку или подсказать, что я делаю не так. В проекте выше, как я уже написал, происходит полная перерисовка чарта:
@Override
public void init(Map<String, Object> params) {
super.init(params);
final ListDataProvider initialDataProvider = new ListDataProvider();
initialDataProvider.addItem(new MapDataItem().add("value", "green").add("qty", 5));
initialDataProvider.addItem(new MapDataItem().add("value", "red").add("qty", 10));
piechart.setDataProvider(initialDataProvider);
final MapDataItem add = new MapDataItem().add("value", "blue").add("qty", 2);
piechart.addSliceClickListener(event -> initialDataProvider.addItem(add));
piechart.addRightClickListener(event -> initialDataProvider.removeItem(add));
}
Я не могу открыть Ваш проект, т.к. он использует другой репозиторий, к которому у меня нет доступа и подключает app component, к которому у меня так же нет доступа, если переключиться на стандартный репозиторий. Ссылку на проект я удалил, т.к. там Ваши личные логин и пароль.
Спасибо за демо проект. На самом деле, полной перерисовки графика не происзодит, но именно для PieChart происходит срабатывание анимации (для других типов графиков такого не происходит).
В качестве решения, можно задать startDuration="0", либо в XML, чтобы анимации не было вообще, либо после первого отображения чарта, чтобы анимации не было при изменнии данных.