discoveryjs / discovery

A framework for rapid data (JSON) analysis, shareable serverless reports and dashboards
https://discoveryjs.github.io/discovery/
MIT License
336 stars 6 forks source link

Widget #22

Closed EKZERSIS closed 3 years ago

EKZERSIS commented 4 years ago

Uncaught TypeError: Cannot convert undefined or null to object at Function.entries ()

Uncaught TypeError: Cannot read property 'type' of undefined at render

angular.js

image

Клик, который должен раскрыть объект не раскрывается

EKZERSIS commented 4 years ago

Приложение на angular js

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

Причём инит виджета происходит 1 раз при первичной загрузке.

Почему-то второй раз виджет не хочет работать. Используется контейнер с тем же id. Но при переходах между старницами, контейнер вроде как убивается.

EKZERSIS commented 4 years ago

предположительно проблема связана с WeakMap

ощущение, что оно что-то хранит, и когда я в очередной раз гружу report, то там уже что-то есть и оно мешает

EKZERSIS commented 4 years ago

Решением проблемы стал попап с discovery. Один единственный инстанс на всё приложение, попап прячется, когда не нужен. (opacity, pointer-events) Просто прокидываю другие данные и показываю попап.

EKZERSIS commented 4 years ago

Я так и не понял, как сделать многократный вызов discovery.

lahmatiy commented 4 years ago

Многократный вызов, это создание нескольких виджетов или перерендер с другими данными? Пожалуйста, приведите код, как вы создаете/вызываете discovery.

lahmatiy commented 4 years ago

В последних версиях подкрутил несколько моментов, например, похожее поведение возникало если несколько инстансов Widget создается на странице – они начинают конкурировать за события (обрабатывают не свои) из-за чего ломалось похожим образом. Попробуйте последнюю версию.

lahmatiy commented 3 years ago

Close because no activity and no additional information. Fill free to reopen if you have an update or more details