Проблема с фильтром Sigma.js

Я использую sigma.js вместе с angular js для создания своего веб-приложения для визуализации.

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

Я попробовал ниже возможные способы, но не смог решить проблему.

1) Уничтожил и заново создал объект фильтра для каждого триггера изменения данных.

2) Незарегистрированный и зарегистрированный предикат фильтра.

фрагмент кода:

scope.$watch('filtersettingdata',function(){
s = new sigma({
             graph: scope.data['mdata'],
             container: element.elementid,
             renderer: {
              container: document.getElementById(element.elementid),
              type: 'canvas'
             },
             settings: filtersettingdata
             });
        var filter = new sigma.plugins.filter(s);
            filter.nodesBy(
                        function(n) {
                         //predicate with new filter values
                        },'filter_name').apply();
           s.refresh();
  }

любая помощь / предложения будут по достоинству оценены.

Заранее спасибо.

1 ответ

Я автор этого плагина.

Он устарел в официальном хранилище сигма, и я не думаю, что он будет работать с Angular, как он есть.

Теперь он выпущен под коммерческой лицензией GNU GPLv3 + здесь: https://github.com/Linkurious/linkurious.js/tree/linkurious-version/plugins/sigma.plugins.filter

Эта версия работает с Angular, и я успешно использовал ее в проектах моей компании.

Отказ от ответственности: я работаю в Linkurious SAS.

Другие вопросы по тегам