2016-09-23 2 views
1

я столкнулся shieldUI интеграции калитки, и я пытаюсь получить базу 64 изображения dfom диаграммы shieldUi с помощью этого учебника: https://www.shieldui.com/documentation/javascript.chart/exportingShieldUi манипулируя график, как только она оказывается

Я попытался запустить код ниже:

function render_image_box(chart_id) { 
 
\t var result = false; 
 
\t var svg_chart = $("#" + chart_id); 
 
\t if (svg_chart) { 
 
\t \t var chart = svg_chart.swidget(); 
 
\t \t if (chart != null) { 
 
\t \t \t chart.exportToImage(); 
 
\t \t \t result = true; 
 
\t \t } 
 
\t } 
 
\t // setTimeout(find_image_source, 100) // wait before continuing 
 
\t return chart; 
 
}

в обоих $(document).ready(..) и $(window).load(...) функций и события нагрузки, поднятые из библиотеки (https://www.shieldui.com/documentation/javascript.chart/events/load) в качестве ш флигель.

Ни в одной из этих функциональных диаграмм пока не отображается, поэтому svg_chart.swidget() возвращает значение null.

Есть ли какие-либо другие события для достижения моей цели или любой другой способ получить источник изображения?

Спасибо заранее, Лаура

ответ

0

Вы можете получить доступ к экземпляру диаграммы, используя .swidget() только после того, как вы настроите его с .shieldChart() конструктором.

Для того, чтобы ваш код работал, вы также должны отключить анимацию для диаграммы, так как сразу после ее инициализации рендеринг не будет завершен и не будет содержимого изображения.

Here is a complete JSBin, чтобы вы начали ...

+0

Привет, спасибо за ваш ответ, но он не работает в моем случае, так как: 1. applyAnimation не работает в апача интеграции калиткой. 2. Я предполагаю, что .shieldChart() вызывается до того, как событие загрузки поднято. Можете ли вы предоставить любое другое предложение? Laura – Laura

+0

Hi - for (1) - вы можете установить applyAnimation на seriesSettings, как в этом обновленном примере: http://jsbin.com/tokorufufi/edit?html,output –

+0

Что касается (2) - что вы имею в виду? .shieldChart() - это конструктор диаграммы, который инициализирует диаграмму. Невозможно ничего сделать с диаграммой до того, как она была вызвана ... И вы должны вызвать ее после того, как ваш документ и jQuery были полностью загружены. –

Смежные вопросы