From 2d79498f505644380ea7ca9547ba3008a1ae3e05 Mon Sep 17 00:00:00 2001 From: Eike Cochu <eike@cochu.com> Date: Sat, 18 Jun 2016 01:50:20 +0200 Subject: [PATCH] updated missing tab pages, removed nya select dependency --- .../html/directives/sequence-dropdown.html | 6 +- .../app/html/directives/window-dropdown.html | 12 -- vipra-ui/app/html/entities/show.html | 4 +- vipra-ui/app/html/network.html | 4 - vipra-ui/app/html/topics/articles.html | 112 +++++++++-------- vipra-ui/app/html/topics/sequences.html | 113 ++++++++++++++++++ vipra-ui/app/html/topics/show.html | 94 +-------------- vipra-ui/app/html/words/show.html | 4 +- vipra-ui/app/js/app.js | 7 +- vipra-ui/app/js/controllers.js | 28 +++-- vipra-ui/app/js/directives.js | 23 ---- vipra-ui/app/less/app.less | 21 ++-- vipra-ui/bower.json | 1 - vipra-ui/gulpfile.js | 2 - 14 files changed, 215 insertions(+), 216 deletions(-) delete mode 100644 vipra-ui/app/html/directives/window-dropdown.html create mode 100644 vipra-ui/app/html/topics/sequences.html diff --git a/vipra-ui/app/html/directives/sequence-dropdown.html b/vipra-ui/app/html/directives/sequence-dropdown.html index 54e8dc89..cd86d8ff 100644 --- a/vipra-ui/app/html/directives/sequence-dropdown.html +++ b/vipra-ui/app/html/directives/sequence-dropdown.html @@ -1,5 +1 @@ -<ol class="nya-bs-select nya-bs-condensed" ng-model="ngModel" ng-class="{dropup:showDropup}" disabled="!sequences"> - <li class="nya-bs-option" nya-bs-option="sequence in sequences"> - <a ng-bind="sequence.label"></a> - </li> -</ol> \ No newline at end of file +<select class="form-control inline" ng-model="ngModel" ng-disabled="!sequences" ng-options="sequence as sequence.label for sequence in sequences track by sequence.id"></select> \ No newline at end of file diff --git a/vipra-ui/app/html/directives/window-dropdown.html b/vipra-ui/app/html/directives/window-dropdown.html deleted file mode 100644 index 263ccf94..00000000 --- a/vipra-ui/app/html/directives/window-dropdown.html +++ /dev/null @@ -1,12 +0,0 @@ -<div class="input-group"> - <ol class="nya-bs-select form-control" ng-model="ngModel" ng-class="{dropup:showDropup}" disabled="!windows"> - <li class="nya-bs-option" nya-bs-option="window in windows"> - <a ng-bind="window.label"></a> - </li> - </ol> - <span class="input-group-btn"> - <button class="btn btn-default selectclear nooutline" type="button"> - <span class="glyphicon glyphicon-remove-circle" ng-click="ngModel=''" analytics-on analytics-event="Window Dropdown (clear)" analytics-category="Filter actions"></span> - </button> - </span> -</div> \ No newline at end of file diff --git a/vipra-ui/app/html/entities/show.html b/vipra-ui/app/html/entities/show.html index 0f8eb97c..bca31168 100644 --- a/vipra-ui/app/html/entities/show.html +++ b/vipra-ui/app/html/entities/show.html @@ -6,7 +6,7 @@ <div> <ul class="nav nav-tabs" role="tablist"> <li class="active"> - <a data-target=".tab-info" data-toggle="tab" bs-tab><i class="fa fa-file-text-o"></i></a> + <a><i class="fa fa-file-text-o"></i></a> </li> <li> <a ui-sref="entities.show.articles({id:entity.entity})"> @@ -15,7 +15,7 @@ </li> </ul> <div class="tab-content"> - <div role="tabpanel" class="tab-pane active tab-info"> + <div role="tabpanel" class="tab-pane active"> <h3>Info</h3> <table class="table table-bordered table-condensed table-fixed"> <tbody> diff --git a/vipra-ui/app/html/network.html b/vipra-ui/app/html/network.html index d17c63a3..c72ba8a4 100644 --- a/vipra-ui/app/html/network.html +++ b/vipra-ui/app/html/network.html @@ -28,10 +28,6 @@ <input type="checkbox" id="loadOnClick" ng-model="loadOnClick"> <label for="loadOnClick" analytics-on analytics-event="Network Click Load Enable" analytics-category="Network actions">Load on click</label> </div> - <div style="display:none"> - Window - <window-dropdown ng-model="selectedWindow" windows="windows" /> - </div> <div> <div class="btn-group btn-group-justified"> <input class="form-control" type="text" ng-model="searchNodes" ng-model-options="{debounce:300}" placeholder="Search..."> diff --git a/vipra-ui/app/html/topics/articles.html b/vipra-ui/app/html/topics/articles.html index b2272aa0..26d722b9 100644 --- a/vipra-ui/app/html/topics/articles.html +++ b/vipra-ui/app/html/topics/articles.html @@ -1,58 +1,70 @@ <div class="container" ng-cloak ng-hide="!rootModels.topicModel || state.name !== 'topics.show.articles'"> - <div class="row"> - <div class="col-md-12"> - <div class="page-header"> - <h1 ng-bind-template="Articles for topic '{{::topic.name}}'"></h1> - <table class="item-actions"> - <tr> - <td> - <a class="btn btn-default" ui-sref="^">Back</a> - </td> - </tr> - </table> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-12 text-center"> - <pagination total="articlesTotal" page="topicsArticlesModels.page" limit="topicsArticlesModels.limit" change="changePage" /> - </div> + <div class="page-header no-border"> + <span class="label label-default">Topic</span> + <h1 ng-bind="::topic.name"></h1> </div> - <div class="row"> - <div class="col-md-12"> - <div class="panel panel-default"> - <div class="panel-heading"> - Found - <ng-pluralize count="articlesTotal||0" when="{0:'no articles',1:'1 article',other:'{} articles'}"></ng-pluralize> in the database. - <span ng-show="articlesTotal" ng-cloak> - Sort by - <ol class="nya-bs-select nya-bs-condensed" ng-model="topicsArticlesModels.sortkey"> - <li value="title" class="nya-bs-option"><a>Title</a></li> - <li value="date" class="nya-bs-option"><a>Date</a></li> - <li value="created" class="nya-bs-option"><a>Added</a></li> - </ol> - <sort-dir ng-model="topicsArticlesModels.sortdir" /> - </span> + <div> + <ul class="nav nav-tabs" role="tablist"> + <li> + <a ui-sref="topics.show({id:topic.id})"><i class="fa fa-file-text-o"></i></a> + </li> + <li> + <a ui-sref="topics.show.sequences({id:topic.id})">Sequences</a> + </li> + <li class="active"> + <a>Articles</a> + </li> + <li> + <a ui-sref="network({type:'topics', id:topic.id})"> + <i class="fa fa-sitemap"></i> Network + </a> + </li> + </ul> + <div class="tab-content"> + <div role="tabpanel" class="tab-pane active"> + <div class="row"> + <br> + <div class="col-md-12"> + <div class="panel panel-default"> + <div class="panel-heading"> + Found + <ng-pluralize count="articlesTotal||0" when="{0:'no articles',1:'1 article',other:'{} articles'}"></ng-pluralize> in the database. + <span ng-show="articlesTotal" ng-cloak> + Sort by + <div class="input-group inline"> + <select class="form-control" ng-model="topicsArticlesModels.sortkey"> + <option value="title">Title</option> + <option value="date">Date</option> + <option value="created">Added</option> + </select> + <span class="input-group-btn"> + <sort-dir ng-model="topicsArticlesModels.sortdir" /> + </span> + </div> + </span> + </div> + <table class="table table-hover table-condensed table-fixed"> + <tbody> + <tr ng-repeat="article in articles"> + <td> + <article-link article="::article"/> + </td> + </tr> + </tbody> + </table> + <div class="panel-footer"> + Page <span ng-bind="topicsArticlesModels.page||1"></span> of <span ng-bind="maxPage||1"></span> + </div> + </div> + </div> </div> - <table class="table table-hover table-condensed table-fixed"> - <tbody> - <tr ng-repeat="article in articles"> - <td> - <article-link article="::article"/> - </td> - </tr> - </tbody> - </table> - <div class="panel-footer"> - Page <span ng-bind="topicsArticlesModels.page||1"></span> of <span ng-bind="maxPage||1"></span> + <div class="row"> + <div class="col-md-12 text-center"> + <pagination total="articlesTotal" page="topicsArticlesModels.page" limit="topicsArticlesModels.limit" change="changePage" /> + </div> </div> </div> </div> </div> - <div class="row"> - <div class="col-md-12 text-center"> - <pagination total="articlesTotal" page="topicsArticlesModels.page" limit="topicsArticlesModels.limit" change="changePage" /> - </div> - </div> </div> -<div ng-cloak ui-view></div> +<div ng-cloak ui-view></div> \ No newline at end of file diff --git a/vipra-ui/app/html/topics/sequences.html b/vipra-ui/app/html/topics/sequences.html new file mode 100644 index 00000000..8a60b070 --- /dev/null +++ b/vipra-ui/app/html/topics/sequences.html @@ -0,0 +1,113 @@ +<div class="container topic-show" ng-cloak ng-hide="!rootModels.topicModel || state.name !== 'topics.show.sequences'"> + <div class="page-header no-border"> + <span class="label label-default">Topic</span> + <h1 ng-bind="::topic.name"></h1> + </div> + <div> + <ul class="nav nav-tabs" role="tablist"> + <li> + <a ui-sref="topics.show({id:topic.id})"><i class="fa fa-file-text-o"></i></a> + </li> + <li class="active"> + <a>Sequences</a> + </li> + <li> + <a ui-sref="topics.show.articles({id:topic.id})">Articles</a> + </li> + <li> + <a ui-sref="network({type:'topics', id:topic.id})"> + <i class="fa fa-sitemap"></i> Network + </a> + </li> + </ul> + <div class="tab-content"> + <div role="tabpanel" class="tab-pane active"> + <h3>Sequences</h3> + <div class="row"> + <div ng-class="{'col-md-12':!sequenceCompare,'col-md-5':sequenceCompare}"> + <div class="panel panel-default"> + <div class="panel-heading seq-head"> + <small>Sequence:</small> + <sequence-dropdown ng-model="topicsShowModels.sequence" sequences="topic.sequences"></sequence-dropdown> + <div class="pull-right" ng-if="!sequenceCompare"> + <small>Compare to:</small> + <sequence-dropdown ng-model="topicsShowModels.sequenceCompare" sequences="topic.sequences"></sequence-dropdown> + </div> + </div> + <table class="table table-condensed table-bordered table-hover table-fixed table-compare" ng-show="sequence" ng-cloak> + <thead> + <tr> + <th ng-model="topicsShowModels.seqSortWords" sort-by="word">Word</th> + <th ng-model="topicsShowModels.seqSortWords" sort-by="probability">Probability</th> + </tr> + </thead> + <tbody> + <tr class="compare-row" ng-repeat="word in sequence.words | orderBy:topicsShowModels.seqSortWords" ng-attr-word="{{::word.word}}"> + <td> + <word-link word="::word" /> + </td> + <td ng-bind="word.probability.toFixed(4)"></td> + </tr> + </tbody> + </table> + <div class="panel-footer seq-foot" ng-show="sequence" ng-cloak> + <ng-pluralize count="sequence.words.length||0" when="{0:'No words',1:'Top word',other:'Top {} words'}"></ng-pluralize> + </div> + </div> + </div> + <div class="col-md-2" ng-if="sequenceCompare"> + <div class="panel panel-default"> + <div class="panel-heading seq-head text-center" style="padding-top:15px">Comparison</div> + <table class="table table-condensed table-bordered table-hover table-fixed table-compare" ng-show="sequence" ng-cloak> + <thead> + <tr> + <th class="text-center" ng-model="topicsShowModels.seqSortWords" sort-by="change">Change</th> + </tr> + </thead> + <tbody> + <tr class="compare-row" ng-repeat="word in sequence.words | orderBy:topicsShowModels.seqSortWords" ng-attr-word="{{::word.word}}"> + <td class="text-center"> + <change-pos change="word.change"/> + </td> + </tr> + </tbody> + </table> + <div class="panel-footer seq-foot" ng-show="sequence" ng-cloak></div> + </div> + </div> + <div class="col-md-5" ng-if="sequenceCompare"> + <div class="panel panel-default"> + <div class="panel-heading seq-head"> + <small>Sequence:</small> + <sequence-dropdown ng-model="topicsShowModels.sequenceCompare" sequences="topic.sequences"></sequence-dropdown> + <button type="button" class="close" ng-click="closeCompare()" analytics-on analytics-event="Topic Sequence Compare (Close)" analytics-category="Topic actions"><span aria-hidden="true">×</span></button> + </div> + <table class="table table-condensed table-bordered table-hover table-fixed table-compare"> + <thead> + <tr> + <th ng-model="topicsShowModels.seqSortWords" sort-by="word">Word</th> + <th ng-model="topicsShowModels.seqSortWords" sort-by="probability">Probability</th> + </tr> + </thead> + <tbody> + <tr class="compare-row" ng-repeat="word in sequenceCompare.words | orderBy:topicsShowModels.seqSortWords" ng-attr-word="{{::word.word}}"> + <td> + <word-link word="::word" /> + </td> + <td ng-bind="word.probability.toFixed(4)"></td> + </tr> + </tbody> + </table> + <div class="panel-footer seq-foot"> + <ng-pluralize count="sequenceCompare.words.length||0" when="{0:'No words',1:'Top word',other:'Top {} words'}"></ng-pluralize> + </div> + </div> + </div> + </div> + </div> + </div> + <div class="loading" ng-hide="topic">Loading...</div> + </div> +</div> + +<div ng-cloak ui-view></div> diff --git a/vipra-ui/app/html/topics/show.html b/vipra-ui/app/html/topics/show.html index 1ae1e69a..8b2ed46b 100644 --- a/vipra-ui/app/html/topics/show.html +++ b/vipra-ui/app/html/topics/show.html @@ -27,15 +27,13 @@ </ul> </li> <li class="active"> - <a data-target=".tab-info" data-toggle="tab" bs-tab><i class="fa fa-file-text-o"></i></a> + <a><i class="fa fa-file-text-o"></i></a> </li> <li> - <a data-target=".tab-sequences" data-toggle="tab" bs-tab>Sequences</a> + <a ui-sref="topics.show.sequences({id:topic.id})">Sequences</a> </li> <li> - <a ui-sref="topics.show.articles({id:topic.id})"> - Articles - </a> + <a ui-sref="topics.show.articles({id:topic.id})">Articles</a> </li> <li> <a ui-sref="network({type:'topics', id:topic.id})"> @@ -44,7 +42,7 @@ </li> </ul> <div class="tab-content"> - <div role="tabpanel" class="tab-pane active tab-info"> + <div role="tabpanel" class="tab-pane active"> <h3>Relevance <info text="Topic relevance: topic distribution sum divided by number of articles in a sequence"/></h3> <div class="panel panel-default"> <div class="panel-heading"> @@ -70,90 +68,6 @@ <h3>Word evolution <info text="Word evolution: absolute word probability per sequence"/></h3> <word-evolution topic="topic"/> </div> - <div role="tabpanel" class="tab-pane tab-sequences"> - <h3>Sequences</h3> - <div class="row"> - <div ng-class="{'col-md-12':!sequenceCompare,'col-md-5':sequenceCompare}"> - <div class="panel panel-default"> - <div class="panel-heading seq-head"> - <small>Sequence:</small> - <sequence-dropdown ng-model="topicsShowModels.sequence" sequences="topic.sequences"></sequence-dropdown> - <div class="pull-right" ng-if="!sequenceCompare"> - <small>Compare to:</small> - <sequence-dropdown ng-model="topicsShowModels.sequenceCompare" sequences="topic.sequences"></sequence-dropdown> - </div> - </div> - <table class="table table-condensed table-bordered table-hover table-fixed table-compare" ng-show="sequence" ng-cloak> - <thead> - <tr> - <th ng-model="topicsShowModels.seqSortWords" sort-by="word">Word</th> - <th ng-model="topicsShowModels.seqSortWords" sort-by="probability">Probability</th> - </tr> - </thead> - <tbody> - <tr class="compare-row" ng-repeat="word in sequence.words | orderBy:topicsShowModels.seqSortWords" ng-attr-word="{{::word.word}}"> - <td> - <word-link word="::word" /> - </td> - <td ng-bind="word.probability.toFixed(4)"></td> - </tr> - </tbody> - </table> - <div class="panel-footer seq-foot" ng-show="sequence" ng-cloak> - <ng-pluralize count="sequence.words.length||0" when="{0:'No words',1:'Top word',other:'Top {} words'}"></ng-pluralize> - </div> - </div> - </div> - <div class="col-md-2" ng-if="sequenceCompare"> - <div class="panel panel-default"> - <div class="panel-heading seq-head"></div> - <table class="table table-condensed table-bordered table-hover table-fixed table-compare" ng-show="sequence" ng-cloak> - <thead> - <tr> - <th class="text-center" ng-model="topicsShowModels.seqSortWords" sort-by="change">Change</th> - </tr> - </thead> - <tbody> - <tr class="compare-row" ng-repeat="word in sequence.words | orderBy:topicsShowModels.seqSortWords" ng-attr-word="{{::word.word}}"> - <td class="text-center"> - <change-pos change="word.change"/> - </td> - </tr> - </tbody> - </table> - <div class="panel-footer seq-foot" ng-show="sequence" ng-cloak></div> - </div> - </div> - <div class="col-md-5" ng-if="sequenceCompare"> - <div class="panel panel-default"> - <div class="panel-heading seq-head"> - <small>Sequence:</small> - <sequence-dropdown ng-model="topicsShowModels.sequenceCompare" sequences="topic.sequences"></sequence-dropdown> - <button type="button" class="close" ng-click="closeCompare()" analytics-on analytics-event="Topic Sequence Compare (Close)" analytics-category="Topic actions"><span aria-hidden="true">×</span></button> - </div> - <table class="table table-condensed table-bordered table-hover table-fixed table-compare"> - <thead> - <tr> - <th ng-model="topicsShowModels.seqSortWords" sort-by="word">Word</th> - <th ng-model="topicsShowModels.seqSortWords" sort-by="probability">Probability</th> - </tr> - </thead> - <tbody> - <tr class="compare-row" ng-repeat="word in sequenceCompare.words | orderBy:topicsShowModels.seqSortWords" ng-attr-word="{{::word.word}}"> - <td> - <word-link word="::word" /> - </td> - <td ng-bind="word.probability.toFixed(4)"></td> - </tr> - </tbody> - </table> - <div class="panel-footer seq-foot"> - <ng-pluralize count="sequenceCompare.words.length||0" when="{0:'No words',1:'Top word',other:'Top {} words'}"></ng-pluralize> - </div> - </div> - </div> - </div> - </div> </div> <div class="loading" ng-hide="topic">Loading...</div> </div> diff --git a/vipra-ui/app/html/words/show.html b/vipra-ui/app/html/words/show.html index 183a37d0..26f957f0 100644 --- a/vipra-ui/app/html/words/show.html +++ b/vipra-ui/app/html/words/show.html @@ -6,7 +6,7 @@ <div> <ul class="nav nav-tabs" role="tablist"> <li class="active"> - <a data-target=".tab-info" data-toggle="tab" bs-tab><i class="fa fa-file-text-o"></i></a> + <a><i class="fa fa-file-text-o"></i></a> </li> <li> <a ui-sref="words.show.topics({id:word.word})"> @@ -20,7 +20,7 @@ </li> </ul> <div class="tab-content"> - <div role="tabpanel" class="tab-pane active tab-info"> + <div role="tabpanel" class="tab-pane active"> <h3>Info</h3> <table class="table table-bordered table-condensed table-fixed"> <tbody> diff --git a/vipra-ui/app/js/app.js b/vipra-ui/app/js/app.js index e9fe0924..b94779fb 100644 --- a/vipra-ui/app/js/app.js +++ b/vipra-ui/app/js/app.js @@ -13,7 +13,6 @@ 'ngAnimate', 'ui.router', 'cfp.hotkeys', - 'nya.bootstrap.select', 'angulartics', 'angulartics.google.analytics', 'angular-loading-bar', @@ -86,6 +85,12 @@ controller: 'TopicsShowController' }); + $stateProvider.state('topics.show.sequences', { + url: '/sequences', + templateUrl: 'html/topics/sequences.html', + controller: 'TopicsSequencesController' + }); + $stateProvider.state('topics.show.articles', { url: '/articles', templateUrl: 'html/topics/articles.html', diff --git a/vipra-ui/app/js/controllers.js b/vipra-ui/app/js/controllers.js index f1b3f83f..4eb33008 100644 --- a/vipra-ui/app/js/controllers.js +++ b/vipra-ui/app/js/controllers.js @@ -1499,6 +1499,22 @@ } }; + $scope.$on('$stateChangeSuccess', function(e, toState) { + if(toState.name === 'topics.show') { + $timeout(function() { + $scope.redrawRelevanceGraph(); + }, 100); + } + }); + } + ]); + + /** + * Topic Show Sequences route + */ + app.controller('TopicsSequencesController', ['$scope', '$state', '$stateParams', 'TopicFactory', 'SequenceFactory', + function($scope, $state, $stateParams, TopicFactory, SequenceFactory) { + $scope.recalcSeqChange = function() { if (!$scope.sequence || !$scope.sequenceCompare) return; wordLoop: @@ -1545,21 +1561,13 @@ }); }); - $('.tab-sequences').on('mouseleave', '.compare-row', function() { + $('body').on('mouseleave', '.compare-row', function() { $('[word="' + $(this).attr('word') + '"]').removeClass('highlight'); }); - $('.tab-sequences').on('mouseenter', '.compare-row', function() { + $('body').on('mouseenter', '.compare-row', function() { $('[word="' + $(this).attr('word') + '"]').addClass('highlight'); }); - - $scope.$on('$stateChangeSuccess', function(e, toState) { - if(toState.name === 'topics.show') { - $timeout(function() { - $scope.redrawRelevanceGraph(); - }, 100); - } - }); } ]); diff --git a/vipra-ui/app/js/directives.js b/vipra-ui/app/js/directives.js index 4ec8f13e..4747f268 100644 --- a/vipra-ui/app/js/directives.js +++ b/vipra-ui/app/js/directives.js @@ -291,29 +291,6 @@ }; }]); - app.directive('windowDropdown', [function() { - return { - scope: { - ngModel: '=', - windows: '=', - dropup: '@' - }, - link: function($scope) { - $scope.showDropup = $scope.dropup === 'true'; - - $scope.$watch('windows', function(newValue) { - if (newValue) { - for (var i = 0, w; i < $scope.windows.length; i++) { - w = $scope.windows[i]; - w.label = Vipra.windowLabel(w.startDate, w.windowResolution); - } - } - }); - }, - templateUrl: '/html/directives/window-dropdown.html' - }; - }]); - app.directive('sortBy', [function() { return { restrict: 'A', diff --git a/vipra-ui/app/less/app.less b/vipra-ui/app/less/app.less index a49479df..b3d6b2c4 100644 --- a/vipra-ui/app/less/app.less +++ b/vipra-ui/app/less/app.less @@ -211,18 +211,6 @@ td { } } -.nya-bs-condensed { - width: auto !important; - .dropdown-toggle { - padding: 5px 25px 5px 10px; - font-size: 12px; - line-height: 1.5; - } - .dropdown-menu li a { - padding: 2px 12px; - } -} - .topic-share { width: 75px; } @@ -740,9 +728,9 @@ entity-menu { } } -.topic-show .tab-info { +.topic-show { .panel { - height: 500px; + height: 486px; } .wrapper { padding: 15px; @@ -1072,6 +1060,11 @@ entity-menu { } } +.form-control.inline { + width: auto; + display: inline-block; +} + [ng\:cloak], [ng-cloak], .ng-cloak { display: none !important; } diff --git a/vipra-ui/bower.json b/vipra-ui/bower.json index a84e1b26..97208360 100644 --- a/vipra-ui/bower.json +++ b/vipra-ui/bower.json @@ -27,7 +27,6 @@ "highcharts": "^4.x", "vis": "^4.x", "moment": "^2.x", - "nya-bootstrap-select": "^2.x", "font-awesome": "^4.x", "awesome-bootstrap-checkbox": "^0.x", "randomcolor": "randomColor#^0.x", diff --git a/vipra-ui/gulpfile.js b/vipra-ui/gulpfile.js index abee6c08..5944ae18 100644 --- a/vipra-ui/gulpfile.js +++ b/vipra-ui/gulpfile.js @@ -28,7 +28,6 @@ var assets = { 'bower_components/highcharts/modules/no-data-to-display.js', 'bower_components/vis/dist/vis.min.js', 'bower_components/moment/min/moment-with-locales.min.js', - 'bower_components/nya-bootstrap-select/dist/js/nya-bs-select.min.js', 'bower_components/randomcolor/randomColor.js', 'bower_components/bootbox.js/bootbox.js', 'bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js', @@ -41,7 +40,6 @@ var assets = { 'bower_components/bootstrap/dist/css/bootstrap.min.css', 'bower_components/font-awesome/css/font-awesome.min.css', 'bower_components/vis/dist/vis.min.css', - 'bower_components/nya-bootstrap-select/dist/css/nya-bs-select.min.css', 'bower_components/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css', 'bower_components/angular-hotkeys/build/hotkeys.min.css', 'bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css', -- GitLab