2013-09-14 2 views
1

Я применил силовую схему, используя d3.js. Однако макет изменяется в соответствии с выбором пользователя в пользовательском интерфейсе, который делает новый вызов на сервер и извлекает новые данные и снова рисует силовую схему. До этого пользователь должен ждать. Есть ли способ показать сообщение ожидания пользователю до загрузки графика. Также этот макет является частью компонента extjs, поэтому сообщение ожидания должно применяться только к этому конкретному компоненту. Я бы использовал сообщение ожидания ex js, но у меня нет событий для прослушивания скрыть и показать сообщение ожидания, поскольку рендеринг графика не зависит от ext js. Я много исследовал и не нашел такой возможности в d3.js. Но должно быть какое-то обходное решение, которое я просто не могу понять.Ожидание сообщения перед установкой разметки D3

ответ

1

Это относительно просто, хотя D3 не предоставляет никаких явных функций для него. Когда пользователь делает выбор и вы отправляете асинхронный запрос для получения дополнительных данных, включите диалог «wait». Затем внутри функции, обрабатывающей полученные данные, отключите ее. Вот и все. В коде это выглядело бы примерно так.

userSelector.on("click", function() { 
    enableWaitDialog(); 
    d3.json("newjson.json", function(error, data) { 
    // do something with the new JSON 
    disableWaitDialog(); 
    }); 
}); 
Смежные вопросы