2 'app/yangman/services/plugins-handler.services',
6 angular.module('app.yangman').controller('ModulesListCtrl', ModulesListCtrl);
8 ModulesListCtrl.$inject = ['$scope', '$rootScope', '$mdToast', 'YangUtilsService', 'PluginsHandlerService',
11 function ModulesListCtrl($scope, $rootScope, $mdToast, YangUtilsService, PluginsHandlerService, $filter) {
12 var modulesList = this;
14 modulesList.treeApis = [];
15 modulesList.showLoadingBox = true;
16 modulesList.moduleListTitle = '';
19 modulesList.setDataStore = setDataStore;
20 modulesList.setModule = setModule;
23 $scope.$on('YANGMAN_GET_API_TREE_DATA', function (event, args) {
24 (args.cbk || angular.noop)(modulesList.treeApis);
28 $scope.$on('YANGMAN_SET_API_TREE_DATA', function (event, args) {
29 modulesList.treeApis = args.params;
30 modulesList.showLoadingBox = false;
31 showToastInfoBox('YANGMAN_LOADED_MODULES');
34 // show hide loading box
35 $scope.$on('YANGMAN_SET_LOADING_BOX', function (event, args){
36 modulesList.showLoadingBox = args.params;
37 (args.cbk || angular.noop)();
40 // show info box with custom title
41 $scope.$on('YANGMAN_SHOW_TOAST', function (event, args) {
42 showToastInfoBox(args.params);
45 $scope.$on('YANGMAN_SET_MODULE_LIST_TITLE', function (event, args) {
46 modulesList.moduleListTitle = args.params;
59 * Load apis and modules
62 modulesList.allNodes = [];
63 modulesList.treeApis = [];
65 modulesList.showLoadingBox = true;
67 YangUtilsService.generateNodesToApis(function (apis, allNodes, augGroups) {
68 $scope.setGlobalParams(apis, augGroups);
69 modulesList.allNodes = allNodes;
70 // console.info('INFO :: got data', apis, modulesList.allNodes, modulesList.augmentations);
71 modulesList.treeApis = YangUtilsService.generateApiTreeData(apis);
72 //console.info('INFO :: tree api', modulesList.treeApis);
73 // $scope.processingModulesSuccessCallback();
74 modulesList.showLoadingBox = false;
75 showToastInfoBox('YANGMAN_LOADED_MODULES');
77 PluginsHandlerService.plugAll(apis, modulesList);
78 // $scope.$broadcast('LOAD_REQ_DATA');
80 showToastInfoBox('YANGMAN_LOADED_MODULES_ERROR');
81 modulesList.showLoadingBox = false;
86 * Set and expand module in tree
88 function setModule(module, e){
89 if ( $(e.target).hasClass('top-element') ) {
90 module.expanded = !module.expanded;
91 $scope.setModule(module);
96 * Set data store || rpc
100 function setDataStore(dataStore, module){
101 $scope.setModule(module);
102 $scope.setDataStore(dataStore, true, 1);
106 * Method for showing toast box
109 function showToastInfoBox(text){
112 .textContent($filter('translate')(text))
113 .position('bottom left')