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));
})();
|