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