Yangman + Yangtutils - request header + rpc element bug fixing
[dlux.git] / modules / yangman-resources / src / main / resources / yangman / controllers / module-detail.controller.js
1 define([
2     'app/yangman/directives/abn-tree.directive',
3 ], function () {
4     'use strict';
5
6     angular.module('app.yangman').controller('ModuleDetailCtrl', ModuleDetailCtrl);
7
8     ModuleDetailCtrl.$inject = ['$scope', '$rootScope', '$timeout', 'YangmanService'];
9
10     function ModuleDetailCtrl($scope, $rootScope, $timeout, YangmanService) {
11         var moduleDetail = this;
12
13         moduleDetail.treeApis = [];
14         moduleDetail.selectedInnerDatastore = null;
15
16         // methods
17         moduleDetail.setApiNode = setApiNode;
18         moduleDetail.setDataDetailStore = setDataDetailStore;
19
20         // WATCHERS
21         $scope.$on('YANGMAN_MODULE_D_INIT', function (){
22             init();
23         });
24
25         /**
26          * Initialization
27          */
28         function init(){
29             $timeout(function () {
30                 moduleDetail.selectedDataStoreIndex =
31                     YangmanService.getDataStoreIndex($scope.selectedModule.children, $scope.selectedDatastore.label);
32                 moduleDetail.treeApis = $scope.selectedDatastore.children;
33             });
34         }
35
36         /**
37          * Set global selected yang node
38          * @param apiIndex
39          * @param subApiIndex
40          */
41         function setApiNode(apiIndex, subApiIndex){
42             // $scope.selectedOperation = null;
43
44             if (apiIndex !== undefined && subApiIndex !== undefined ) {
45
46                 $scope.setApi($scope.apis[apiIndex], $scope.apis[apiIndex].subApis[subApiIndex], true);
47                 $scope.setNode($scope.selectedSubApi.node);
48
49             } else {
50                 // $scope.selApi = null;
51                 // $scope.selSubApi = null;
52                 // $scope.node = null;
53             }
54         }
55
56         /**
57          * Set datastore to global param
58          * @param dataStore
59          */
60         function setDataDetailStore(dataStore){
61             $scope.setDataStore(dataStore);
62             $scope.setApi($scope.selectedApi, null);
63             $scope.setNode(null);
64             moduleDetail.treeApis = dataStore.children;
65         }
66     }
67
68 });