Добавить пользовательский текст в подсказку по визуализации Google (используя GWT API) - PullRequest
3 голосов
/ 30 декабря 2011

Следующий вопрос почти полностью описывает то, что я пытаюсь ...

Добавление настраиваемого текста в подсказку по визуализации Google

... в основном для добавления дополнительной информации в подсказки google-viz. Принятый ответ выглядел довольно неплохо, но я использую GWT API. Судя по последней версии (1.1) таблица данных не поддерживает это ...

http://gwt -google-apis.googlecode.com / СВН / Javadoc / визуализация / 1,1 / ком / Google / GWT / визуализация / клиент / DataTable.html

...

Кто-нибудь знает какие-либо исправления или обходные пути для этого?

Спасибо.

Ответы [ 3 ]

10 голосов
/ 30 декабря 2011

Основываясь на ответе Юмита, я смог сделать это очень легко, используя JSNI, и подумал, что выложу некоторый пример кода для всех, кто сталкивается с этим.

Чтобы сделать вещи максимально простыми вместо расширениякласс DataTable Я добавил следующее в свой класс на стороне клиента, который генерирует диаграмму:

private native void addTooltipColumn(DataTable data) /*-{
    data.addColumn({type:'string', role:'tooltip'});
}-*/;

Обратите внимание, что это JNSI, поэтому комментарии / квадратные скобки кажутся странными для непосвященных.

Затем я могу вызвать это в таблице данных:

    addTooltipColumn(dataTable);

И всплывающие подсказки могут быть добавлены вместе с данными для каждой строки следующим образом:

    data.setValue(row, col, data);
    data.setValue(row, col, "Tool Tip Text");
7 голосов
/ 30 декабря 2011

Что ж, новые функции в инструментах построения диаграмм Google еще не дошли до API визуализации GWT и оболочки соответственно.
На самом деле я не уверен, будут ли вообще обновляться API GWT.Однако вы всегда можете реализовать эти функции самостоятельно.

В зависимости от того, как вы создаете свою DataTable (программно или бэкэндом), вы можете:

  • Программно : вы можете расширить DataTable или AbstractDataTable класс и реализовать отсутствующие функции и функции с помощью JSNI (т.е. addColumn(type, role) и т. д. Извлечь исходный код для AbstractDataTable ).
  • JSON из бэкэнда : вы можете просто создать соответствующую DataTable структуру JSON в бэкэнде, а затем просто вызвать DataTable.create () и передать ее в draw() метод без каких-либо изменений кода.(Я не проверял его, но он должен работать, поскольку DataTable - это просто JavaScriptObject)

Кстати: последняя версия API визуализации GWT на самом деле ( 1.1.2 )

6 голосов
/ 15 января 2012

Вы также можете добавить дополнительную информацию к подсказке, используя

double value = 50.0;
data.setCell(row, col, value, Double.toString(value) + "\nExtra information\n On several rows",null);

вместо data.setValue (...).

...