summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE-common/client/app/directives/b2b-leftnav-ext/b2b-leftnav-ext.directive.js
blob: b60ffb2771fb92e88564ce689e352c57e45d6654 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*-
 * ================================================================================
 * ECOMP Portal
 * ================================================================================
 * Copyright (C) 2017 AT&T Intellectual Property
 * ================================================================================
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ================================================================================
 */
(function () {
   	/*
   	 * Custom version of b2b-left-navigation directive:
   	 * 1. Make parent menu a link if no child menus.
   	 * 2. Add unique IDs to all items.
   	 * 3. Hide icon if no child menus.
   	 * 4. Add arrow toggle button.
   	 * 5. Adjust the page on collapse/expand.
   	 */
    class B2BLeftMenu {
        constructor($rootScope) {
            this.templateUrl = 'app/directives/b2b-leftnav-ext/b2b-leftnav-ext.tpl.html';
            this.restrict = 'EA';
            this.$rootScope = $rootScope;
            this.link = this._link.bind(this);
            this.scope = {
            	menuData: '='
            }
        }
        _link(scope) {
        	scope.idx = -1;
            scope.itemIdx = -1;
            scope.navIdx = -1;
            scope.toggleNav = function (val,link) {
                if (val === scope.idx) {
                    scope.idx = -1;
                    return;
                }
                scope.idx = val;
            };
            /*New function for ECOMP sdk*/
            scope.toggleDrawer = function(showmenu){
            	scope.idx=-1; /*hide the sunmenus*/
            	if(showmenu){
        			document.getElementById('page-content').style.paddingLeft = "50px";
        		}
        		else
        			document.getElementById('page-content').style.paddingLeft = "230px";           	
            };
            scope.liveLink = function (evt, val1, val2) {
                scope.itemIdx = val1;
                scope.navIdx = val2;
                evt.stopPropagation();
            };
        }
    }
    angular.module('ecompApp').directive('leftMenuEcomp', ($rootScope) => new B2BLeftMenu($rootScope));
})();