🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

ra-base

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ra-base - npm Package Compare versions

Comparing version
0.0.2
to
0.0.3
+1
-1
package.json
{
"name": "ra-base",
"version": "0.0.2",
"version": "0.0.3",
"license": "MIT",

@@ -5,0 +5,0 @@ "scripts": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import { Http, Response, Headers, RequestOptions } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/Rx';
import { Router } from '@angular/router';
//declare var jQuery: any;
export class RaBaseService {
protected baseURL: string = '';
private isErrorOccured: boolean = false;
private serviceCount: number = 0;
constructor(private http: Http) {
if (window.location.hostname == 'localhost') {
// this.baseURL = 'http://localhost:1001/services/';
} else {
this.baseURL = window.location.protocol + '//' + window.location.hostname + ':8081/services/';
}
}
protected async getAsync(url: string, isNoLoadingPanel?: boolean): Promise<any> {
try {
const res = await this.http.get(this.baseURL + url, this.getOptions(isNoLoadingPanel)).toPromise();
this.hideLoadingPanel(isNoLoadingPanel);
return res.json();
} catch (err) {
this.hideLoadingPanel(isNoLoadingPanel);
return Observable.throw(err.json());
}
}
protected async postAsync(url: string, data: any, isNoLoadingPanel?: boolean): Promise<any> {
try {
const res = await this.http.post(this.baseURL + url, JSON.stringify(data), this.getOptions(isNoLoadingPanel)).toPromise();
this.hideLoadingPanel(isNoLoadingPanel);
return res.json();
} catch (err) {
this.hideLoadingPanel(isNoLoadingPanel);
return Observable.throw(err.json());
}
}
protected async putAsync(url: string, data: any, isNoLoadingPanel?: boolean): Promise<any> {
try {
const res = await this.http.put(this.baseURL + url, JSON.stringify(data), this.getOptions(isNoLoadingPanel)).toPromise();
this.hideLoadingPanel(isNoLoadingPanel);
return res.json();
} catch (err) {
this.hideLoadingPanel(isNoLoadingPanel);
return Observable.throw(err.json());
}
}
protected async deleteAsync(url: string, isNoLoadingPanel?: boolean): Promise<any> {
try {
const res = await this.http.delete(this.baseURL + url, this.getOptions(isNoLoadingPanel)).toPromise();
this.hideLoadingPanel(isNoLoadingPanel);
return res.json();
} catch (err) {
this.hideLoadingPanel(isNoLoadingPanel);
return Observable.throw(err.json());
}
}
protected get(url: string, isNoLoadingPanel?: boolean): any {
return this.http.get(this.baseURL + url, this.getOptions(isNoLoadingPanel))
.map(res => {
this.hideLoadingPanel(isNoLoadingPanel);
return res.json();
})
.catch(err => {
this.hideLoadingPanel(isNoLoadingPanel);
return Observable.throw(err.json())
});
}
protected post(url: string, data: any, isNoLoadingPanel?: boolean): any {
return this.http.post(this.baseURL + url, JSON.stringify(data), this.getOptions(isNoLoadingPanel))
.map(res => {
this.hideLoadingPanel(isNoLoadingPanel);
return res.json();
})
.catch(err => {
this.hideLoadingPanel(isNoLoadingPanel);
return Observable.throw(err.json())
});
}
protected put(url: string, data: any, isNoLoadingPanel?: boolean): any {
return this.http.put(this.baseURL + url, JSON.stringify(data), this.getOptions(isNoLoadingPanel))
.map(res => {
this.hideLoadingPanel(isNoLoadingPanel);
return res.json();
})
.catch(err => {
this.hideLoadingPanel(isNoLoadingPanel);
return Observable.throw(err.json())
});
}
protected delete(url: string, isNoLoadingPanel?: boolean): any {
return this.http.delete(this.baseURL + url, this.getOptions(isNoLoadingPanel))
.map(res => {
this.hideLoadingPanel(isNoLoadingPanel);
return res.json();
})
.catch(err => {
this.hideLoadingPanel(isNoLoadingPanel);
return Observable.throw(err.json())
});
}
private getOptions(isNoLoadingPanel: boolean): RequestOptions {
this.showLoadingPanel(isNoLoadingPanel);
let options: RequestOptions;
const token = localStorage.getItem('token');
const headers = new Headers({ 'Content-Type': 'application/json', 'session-id': token });
options = new RequestOptions({ headers: headers });
return options;
}
private handleError(error: any) {
const errMsg = (error.message) ? error.message :
error.status ? `${error.status} - ${error.statusText}` : 'Server error';
if (this.isErrorOccured == false) {
this.logError(errMsg);
}
return null;
}
public logError(errMsg: any) {
// this.isErrorOccured = true;
// var errInfo: any = {};
// errInfo.message = errMsg.toString();
// errInfo.type = "Error";
// this.post('Log/LogError', errInfo).subscribe(status => {
// this.isErrorOccured = false;
// });
}
private showLoadingPanel(isNoLoadingPanel: boolean) {
if (!isNoLoadingPanel) {
this.serviceCount++;
// jQuery('#loading-cloud').show();
}
}
private hideLoadingPanel(isNoLoadingPanel: boolean) {
if (!isNoLoadingPanel) {
this.serviceCount--;
if (this.serviceCount <= 0) {
// jQuery('#loading-cloud').hide();
}
}
}
}
<div class="vertical-spacer"></div>
<div id="divFooter">
<div class="footer-left-div">
<a id="tothetop" (click)="toTheTopClicked()">»
back to top</a>
</div>
<div class="struxture-ware-div">
<span style="display: inline-block;top: -8px; position: relative;
"> a software of&nbsp;</span>
<!-- <img class="struxture-ware" width="130" height="23" alt="StruxtureWare"> -->
<div class="struxture-ware" style="display: inline-block;"></div>
</div>
<div class="footer-right-div">
©&nbsp;2017&nbsp;Schneider Electric
</div>
</div>
<div class="vertical-spacer"></div>
import { Component } from '@angular/core';
@Component({
selector: 'ra-footer',
templateUrl: './footer.component.html',
styleUrls:['./footer.scss']
})
export class FooterComponent {
public toTheTopClicked() {
window.scrollTo(0, 0);
}
}
.struxture-ware{
content: url("../assets/images/StruxtureWare_footer_logo.png")
}
.struxture-ware::before{
content: url("../assets/images/StruxtureWare_footer_logo.png")
}
#divFooter{
width: 90%;
margin: 0px auto;
margin-top: 55px;
padding-bottom: 20px;
overflow: hidden;
vertical-align: top;
color: #666;
/* top: 95%; */
/* left: 55px; */
/* bottom: 0px; */
/* position: relative; */
/* position: absolute; */
/* right: 0; */
/* bottom: 0; */
/* left: 4%; */
/* padding: 1rem; */
}
.struxture-ware-div {
float: left;
width: 50%;
text-align: center;
font-size: 11px;
margin: 0 auto;
font-weight: bold;
vertical-align: top;
}
.footer-left-div {
float: left;
width: 25%;
}
.footer-right-div{
float: left;
width: 25%;
text-align: right;
font-size: 11px;
}
#tothetop{
cursor: pointer;
font-size:11px;
}
export * from './footer.component';
<div class="raHeader">
<div class="row" style="margin-right:0px;">
<div class="col-md-2 col-sm-4 col-xs-08 col-lg-2 col-xl-02">
<div style="float: left; vertical-align: middle;position: absolute;">
<a href="/index.aspx" class="logoRA" title="Return to the Homepage"></a>
</div>
</div>
<div id="headerLogout" class="col col-md-08 col-lg-08 col-xl-08">
<!-- <div class="col-md-6"> </div> -->
<!-- <div class="col-md-1">
<div>&nbsp;</div>
<div></div>
</div>
<div class="col-md-1">
<div>&nbsp;</div>
<div></div>
</div> -->
<div class="col-sm-08 col-md-08 col-xs-08 col-lg-8 col-xl-08" style="float:right;text-align:right;margin-top:4px;">
<div class="welcomeusename" style="margin-right:10px;">
<strong>Jessica Kipper</strong>
</div>
<div id="headerButton" style="float:right;margin-right:10px;margin-top:1px;">
<ul id="headerMenu">
<li style="border-right: 1px solid #999999" class="level1-li">
<a>
Logout
</a>
</li>
<li style="border-right: 1px solid #999999" class="level1-li">
<a>
Settings
</a>
</li>
<li class="level1-li">
<a title="Help">
Help
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
.raHeader{
background:transparent url('../assets/images/sprite-x-repeating.png') repeat-x scroll;
}
.raHeader{
background-position: 0 -649px;
height: 60px;
position: relative !important;
z-index: 200 !important;
}
.logoRA{
background: transparent url("../assets/images/sprite.png") no-repeat;
display: block;
}
.logoRA{
height: 52px;
width: 240px;
background-position: -734px -464px;
}
#headerButton {
position: relative;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: normal;
z-index: 500;
float: right;
margin: 0px;
border: 1px solid #999;
background: #f1f1f1 url(../assets/images/rightnavbg.png) repeat-x top left;
height: 23px;
line-height: 21px;
display: block;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
-o-border-radius: 5px 5px 5px 5px;
border-radius: 5px;
/* behavior: url('assets/images/CornerBoarder.htc');
-ms-behavior: url('assets/images/CornerBoarder.htc') !important; */
float: left;
}
#headerButton ul#headerMenu {
margin: 0px;
padding: 0px;
list-style: none;
display: block;
}
#headerButton ul#headerMenu li.level1-li {
float: left;
height: 22px;
line-height: 21px;
padding: 0 12px 0 13px;
}
#headerButton ul#headerMenu li {
margin: 0px;
padding: 0px;
list-style: none;
display: block;
}
#headerButton ul#headerMenu a {
text-decoration: none;
color: #666666 !important;
cursor: pointer;
}
.welcomeusename {
padding-right: 5px;
clear: both;
height: 20px;
line-height: 21px;
text-align: right;
font-size: 12px;
font-weight: normal;
color: #666666;
}
import { Component } from '@angular/core';
@Component({
selector: 'ra-head',
templateUrl: './header.component.html',
styleUrls : ['./header.component.scss']
})
export class HeaderComponent {
}
export * from './header.component';
export * from './menu.component';
export * from './menu.child.component';
export * from './menu.accordion.component';
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'ra-acc-child-menu',
template: `
<div class="" *ngFor="let childmenu of accchildren; let i = index;">
<a [attr.href]="'#accordionchild_' + i + dataParent " class="list-group-item submenu" data-toggle="collapse" [attr.data-parent]="'#' + dataParent" [attr.aria-expanded]="childmenu.Children?'false':null" [ngStyle]="{'padding-left': (alignment? '50' : '40')+'px' }" >
<span class="hidden-sm-down">{{ childmenu.DisplayText }}</span>
</a>
<div class="collapse" [attr.id]="'accordionchild_' + i + dataParent" *ngIf="childmenu.Children">
<ra-acc-child-menu [accchildren]="childmenu.Children" [dataParent]="'accordionchild_' + i + dataParent " [alignment]="true"></ra-acc-child-menu>
</div>
</div>
`,
styleUrls: ['./menu.component.scss']
})
export class AccChildMenuComponent implements OnInit {
@Input('accchildren') accchildren;
@Input('dataParent') dataParent;
@Input('alignment') alignment;
ngOnInit() {
}
}
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'ra-child-menu',
template: `
<li *ngFor="let childmenu of children" [ngClass]="isFirstChild?'menu-first-li':''">
<a [ngStyle]="{'font-weight':childmenu.Children || isFirstChild?'bold':'normal'}" [ngClass]="isFirstChild?'menu-first-child':''" (click)="menuClick(childmenu)">
{{childmenu.DisplayText}}
</a>
<ul role="menu" class="menu-list menu-list-children" *ngIf="childmenu.Children">
<ra-child-menu [children]="childmenu.Children" [isFirstChild]="false"></ra-child-menu>
</ul>
</li>
`,
styleUrls: ['./menu.component.scss']
})
export class ChildMenuComponent implements OnInit {
@Input('children') children;
@Input('isFirstChild') isFirstChild;
ngOnInit() {
}
}
<nav id="custom-bootstrap-menu" role="navigation" class="navbar-default menu-main">
<button class="navbar-toggler d-lg-none" type="button" data-toggle="collapse" data-target="#sidebar" aria-expanded="false" style="color:#ffffff">
&#9776;
</button>
<div id="navbarCollapse" class="d-none d-lg-block" style="padding-left:0px;">
<ul class="nav navbar-nav">
<li (mouseover)="menuHover(menu)" (mouseleave)="menuLeave(menu)" class="rmItem dropdown menuItem" *ngFor="let menu of menus;let i = index;">
<div *ngIf="i==0">
<div class="rmLink icon1 rmRootLink rmLeftImage" style="display:inline-block"></div>
<div class="overviewHome" style="display:inline-block"></div>
</div>
<span class="rmText rmExpandDown"></span>
<a href="#" *ngIf="i>0" class="dropdown-toggle icon1 rmRootLink" data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="true">
<span class="menu-text">{{ menu.DisplayText }}</span>
</a>
<div [ngStyle]="{'maxHeight':menu.maxHeight,'visibility': menu.showChildren?'Visible':'hidden'}" class="ra-menu-children menu-list">
<table>
<tr>
<td style="vertical-align: top;">
<ul role="menu" class="menu-list">
<ra-child-menu [isFirstChild]="true" [children]="menu.leftColMenus"></ra-child-menu>
</ul>
</td>
<td class="menu-right-col" *ngIf="menu.rightColMenus">
<ul role="menu" class="menu-list">
<ra-child-menu [isFirstChild]="true" [children]="menu.rightColMenus"></ra-child-menu>
</ul>
</td>
</tr>
</table>
</div>
</li>
</ul>
</div>
</nav>
<!-- RA-menu side bar for smaller screen size-->
<div class="col-md-3 col-sm-6 col-xs-1 collapse in d-lg-none" id="sidebar">
<div class="list-group panel">
<div class="" *ngFor="let menu of menus; let i = index;">
<a [attr.href]="'#accordion_' + i" class="list-group-item collapsed" data-toggle="collapse" data-parent="#sidebar" aria-expanded="false">
<span class="hidden-sm-down">{{ menu.DisplayText }}</span>
</a>
<div class="collapse" [attr.id]="'accordion_' + i">
<ra-acc-child-menu [accchildren]="menu.Children" [dataParent]="'accordion_' + i" [alignment]="false"></ra-acc-child-menu>
</div>
</div>
</div>
</div>
#custom-bootstrap-menu.navbar-default .navbar-brand {
color: rgba(255, 255, 255, 1);
}
#custom-bootstrap-menu.navbar-default {
font-size: 12px;
background-color: rgba(0, 153, 51, 1);
border-width: 1px;
border-radius:0px;
border:none;
font-weight: bold;
border-top-left-radius:10px;
}
#custom-bootstrap-menu.navbar-default .navbar-nav {
flex-direction: inherit;
}
/* #custom-bootstrap-menu .collapse {
display: flex !important;
} */
#custom-bootstrap-menu.navbar-default .navbar-nav>li>a {
color: rgba(255, 255, 255, 1) !important;
background-color: rgba(248, 248, 248, 0);
font-family: Arial !important;
font-size: 11px !important;
font-weight: bold;
}
#custom-bootstrap-menu.navbar-default .navbar-nav>li>a:hover,
#custom-bootstrap-menu.navbar-default .navbar-nav>li>a:focus {
color: rgba(255, 255, 255, 1);
}
#custom-bootstrap-menu.navbar-default .navbar-nav>.active>a,
#custom-bootstrap-menu.navbar-default .navbar-nav>.active>a:hover,
#custom-bootstrap-menu.navbar-default .navbar-nav>.active>a:focus {
color: rgba(255, 255, 255, 1);
}
#custom-bootstrap-menu.navbar-default .navbar-toggle {
border-color: #009933;
}
#custom-bootstrap-menu.navbar-default .navbar-toggle:hover,
#custom-bootstrap-menu.navbar-default .navbar-toggle:focus {
background-color: #009933;
}
#custom-bootstrap-menu.navbar-default .navbar-toggle .icon-bar {
background-color: #009933;
}
#custom-bootstrap-menu.navbar-default .navbar-toggle:hover .icon-bar,
#custom-bootstrap-menu.navbar-default .navbar-toggle:focus .icon-bar {
background-color: #009933;
}
.rmItem, .rmRootLink{
display: block;
border: none;
padding-top: 3px !important;
text-decoration: none;
vertical-align: middle;
padding-left: 30px !important;
text-transform: capitalize;
float: left;
height: 100%;
}
.menu-text{
font-size: 12px;
padding-top:1px;
float: left;
}
.menuItem{
width: 151px;
padding-left:0px !important;
}
.menu-main{
min-height:32px;
margin-bottom:0px !important
}
.rmItem{
position: relative;
display: inline;
float: left;
border-right: 1px solid #fff !important;
font-family: Arial !important;
font-size: 11px !important;
font-weight: bold;
height: 32px;
}
.rmItem:last-child{
border-right: none !important;
}
.rmItem:first-child{
width:61px;
}
.menu-overview{
width:61px;
padding-top:1px !important;
}
.rmLeftImage{
width: 20px;
height: 24px;
}
.menu-list{
list-style: none;
padding: 0px;
}
.icon1{
background: transparent url("../assets/images/menuImage.png") no-repeat 2px 2px;
}
.menu-list a{
color: #333333 !important;
padding-left: 5px !important;
}
.menu-right-col{
padding-left: 5px;
vertical-align: top;
}
.menu-list li{
margin-bottom:2px;
}
.menu-list-children{
-webkit-padding-start: 20px;
}
.menu-list-children li{
margin-bottom: 7px;
}
.menu-list-children a{
font-weight: normal;
font-size: 12px;
}
.menu-list a:hover{
background-color: transparent !important;
color: #0066cc !important;
text-decoration: underline;
}
.menu-first-li{
margin-bottom:5px;
margin-top:5px;
}
.menu-font-weight{
font-weight: bold;
}
.menu-first-child{
font-weight: bold;
text-transform: uppercase;
color: #333333 !important;
padding-left: 5px !important;
}
.menu-first-child:hover{
background-color: transparent !important;
color: #0066cc !important;
text-decoration: underline;
}
.navbar-brand{
height: auto !important;
}
.rmText{
color: #ffffff;
text-shadow: none;
font-weight: bold;
height: 21px;
cursor: pointer;
float: left;
}
.ra-menu-children {
-webkit-transition: all 0.3s linear ;
-moz-transition: all 0.3s linear ;
transition: all 0.3s linear ;
overflow: hidden;
font-size: 12px;
cursor: pointer;
width:auto !important;
padding: 0px;
border-radius: 0px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: auto;
top: 100%;
left: 0;
z-index: 70001;
white-space:nowrap;
padding-right: 5px;
border:1px solid #999999;
float: left;
background-color: #ffffff;
position: absolute;
min-width: 177px;
max-height: 0px;
}
.dropdown:hover .ra-menu-children {
-webkit-transition: all 0.3s linear ;
-moz-transition: all 0.3s linear ;
transition: all 0.3s linear ;
}
.caret{
display: none !important;
}
.menuChild{
display: block;
padding: 2px;
color: #333333 !important;
font-weight: bold;
width: 100%;
}
.rmSlide{
position: absolute;
float: left;
}
.rmSlide ul{
margin: 0px;
padding: 0px;
list-style-type: none;
z-index: 9999 !important;
position: absolute;
border-top: none;
height: auto;
min-width: 175px;
width: auto;
}
.rmSlide li{
padding:3px 3px 3px 3px;
}
.rmSlide a{
font-family: Arial !important;
font-size: 11px !important;
font-weight: bold;
}
.rmSlide a:hover{
color: #0066cc !important;
}
.rmchildMenu {
display: list-item;
float: none;
border: none;
padding: 0px;
list-style-image: none;
list-style-position: outside;
list-style: none;
border:1px solid #999999;
background-color:#ffffff;
color:#333333 !important;
}
.overviewHome{
content: url('../assets/images/overviewHomesmall.png');
}
.overviewHome::before{
content: url('../assets/images/overviewHomesmall.png');
}
/** Side bar changes **/
#sidebar{
padding-left: 0px;
position: absolute;
z-index: 9999;
height:100%;
width:100%;
}
#sidebar .list-group-item {
border-radius: 0;
font-size: 12px;
background-color: rgba(0, 153, 51, 1);
color: #ffffff;
border-left: 0;
border-right: 0;
border-color: #ffffff;
white-space: nowrap;
}
.submenu{
color:#000000 !important;
}
/* highlight active menu */
#sidebar .list-group-item:not(.collapsed) {
background-color: #222;
}
/* closed state */
#sidebar *.list-group-item[aria-expanded="false"]::after{
content: " \f0d7";
font-family: FontAwesome;
display: inline;
text-align: right;
padding-left: 5px;
}
/* open state */
.list-group-item[aria-expanded="true"] {
background-color: #222;
color : #ffffff !important;
}
.list-group-item[aria-expanded="true"]::after {
content: " \f0da";
font-family: FontAwesome;
display: inline;
text-align: right;
padding-left: 5px;
}
/* change transition animation to width when entire sidebar is toggled */
#sidebar.collapse {
-webkit-transition-timing-function: ease;
-o-transition-timing-function: ease;
transition-timing-function: ease;
-webkit-transition-duration: .2s;
-o-transition-duration: .2s;
transition-duration: .2s;
}
#sidebar.collapsing {
opacity: 0.8;
width: 0;
-webkit-transition-timing-function: ease-in;
-o-transition-timing-function: ease-in;
transition-timing-function: ease-in;
-webkit-transition-property: width;
-o-transition-property: width;
transition-property: width;
}
import { Component, OnInit } from '@angular/core';
import { MenuService } from './menu.service';
import { Menu } from './menu';
@Component({
selector: 'ra-menu',
templateUrl: './menu.component.html',
providers: [MenuService],
styleUrls: ['./menu.component.scss']
})
export class MenuComponent implements OnInit {
menus: any[] = [];
private count = 0;
constructor(private menuService: MenuService) {
}
ngOnInit() {
// this.menuService.getmenus(47650, 7).subscribe(
// menus => {
// this.count = 0;
// });
this.menus = this.formatMenu(Menu);;
}
private formatMenu(menus) {
let ceilValue;
let currentCount;
let isRightCol: boolean = false;
for (let i = 0; i < menus.length; i++) {
isRightCol = false;
ceilValue = 0;
currentCount = 0;
menus[i].count = 0;
menus[i].count = menus[i].Children.length;
this.getChildMenuCount(menus[i], menus[i].Children);
if (menus[i].count > 20) {
menus[i].leftColMenus = [];
menus[i].rightColMenus = [];
ceilValue = Math.floor(menus[i].count / 2);
for (let k = 0; k < menus[i].Children.length; k++) {
menus[i].Children[k].count = 0;
menus[i].Children[k].count += 1;
if (menus[i].Children[k].Children) {
menus[i].Children[k].count += menus[i].Children[k].Children.length;
this.getChildMenuCount(menus[i].Children[k], menus[i].Children[k].Children);
}
currentCount += menus[i].Children[k].count;
if (isRightCol === false) {
menus[i].leftColMenus.push(menus[i].Children[k]);
}
else {
menus[i].rightColMenus.push(menus[i].Children[k]);
}
if (currentCount > ceilValue) {
isRightCol = true;
}
}
}
else {
menus[i].leftColMenus = menus[i].Children;
}
}
return menus;
}
private getChildMenuCount(parentMenu, children) {
if (children) {
for (let j = 0; j < children.length; j++) {
if (children[j].Children) {
parentMenu.count += children[j].Children.length;
this.getChildMenuCount(parentMenu, children[j].Children);
}
}
}
}
public menuClick(menu) {
console.log(menu);
}
public menuHover(menu) {
menu.maxHeight = '880px';
menu.showChildren = true;
}
public menuLeave(menu) {
menu.maxHeight = '0px';
menu.showChildren = false;
}
}
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/Rx';
import { RaBaseService } from '../base/base.service';
@Injectable()
export class MenuService extends RaBaseService {
private menuServiceURL = 'Security/SecurityService.svc/';
constructor(http: Http) {
super(http);
}
getmenus(userId: number, appProfileId: number): any {
//var URL = this.baseURL + this.menuServiceURL + 'Security/usermenus?Userid=' + userId + '&AppProfileId=' + appProfileId;
var URL = 'assets/menu.json'
return this.get(URL);
}
}
export const Menu = [
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "dashboardhome",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/index.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "mysites",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/MyData/SiteInfo/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "mydata",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/MyData/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "summitactivity",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/SummitActivity/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "riskmanagement",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/RiskManagement/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "markets",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Markets/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "sustainability",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Sustainability/GHGHome.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "overviews",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": null,
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "marketoutlook",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/RiskManagement/Outlooks/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "stripcalculator",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Markets/StripCalculator/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "settlementprices",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Markets/Prices/Default.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "markets",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Markets/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "riskinsight",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/RiskManagement/RiskInsight/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "emission factors",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/EFDB/GEFDBGlobalEmissionFactorHome.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "research",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": null,
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "performance analytics",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/IntervalAnalytics/Interval.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "businessanalytics",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/BusinessAnalytics/Default.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "analyze",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": null,
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "projects",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/abatement/project/projectfilter.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "scenarioplanning",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/abatement/Scenario/ScenarioSearch.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "goals",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/abatement/Goal/GoalSearch.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "forecasts",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/abatement/Forecast/ForecastSearch.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "businessanalytics",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/BusinessAnalytics/Default.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "plan",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": null,
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "checklist",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/MyData/Invoice/InvoiceChecklist.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "missing",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/MyData/Invoice/MissingInvoices.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "invoicereview",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/SummitActivity/InvoicesUnderReview/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "invoice image download",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/MyData/Invoice/InvoiceDownload.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "invoices",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Landing/Default.aspx?name=INVOICES",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "dataentry&tracking",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/UserData/DataEntry/DataEntry.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "datachecklist",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/UserData/DataCheckList/DataCheckListUserData.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "datacontrol",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/UserData/BulkUpload/DataEntryBulkUploadSite.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "data",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Landing/Default.aspx?name=DATA",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "carbonmaps",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/EFDB/GEFDBCarbonMapHome.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "global boundary setup",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/EFDB/GEFDBEmissionSetup.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "carbon",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Landing/Default.aspx?name=CARBON",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "documents",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/MyData/Documents/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "contracts",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/MyData/Contract/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "initiatives",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/SummitActivity/Projects/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "questionnaire library",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Survey/Template/SurveyLibrary.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "response library",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Survey/Response/ResponseLibrary.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "surveys",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Landing/Default.aspx?name=SURVEYS",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "program setup",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/EnergyStar/ProgramSetup.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "site overview",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/EnergyStar/SiteProperties.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "property report",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/EnergyStar/EnergyStarPropertyReport.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "energy star",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "#",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "environmentaltradingprogram",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/HedgeReport/ManageProgram.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "manage",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": null,
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "advanced visualization",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/AdvancedVisualization/AdvancedVisualization.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "monthly",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/MyData/CUMonthly/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "summary",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/MyData/CUSummary/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "variance",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/MyData/CUVariance/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "budgets",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/MyData/Budget/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "savings",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/SummitActivity/Savings/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "property",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/mydata/property/propertyreport.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "details",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/mydata/cudetail/detailreport.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "interval variance",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/intervaldatamodule/MeterVarianceReport.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "invoice collection",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/MyData/AdvancedVisualization/GlobalReport.aspx?reportId=60A6CAFF-DF48-487C-AF11-B86EE361D0E6",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "cost&usage",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Landing/Default.aspx?name=COSTUSAGE",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "emission details",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/EFDB/GEFDBEmissionDetails.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "emission variance",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/EFDB/EmissionsVarianceReport/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "carbonmap details",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/EFDB/GEFDBCarbonMapSummary.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "emissions",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Landing/Default.aspx?name=EMISSIONS",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "myreports",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/CustomReport/RecentReports.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "reportbuilder",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/CustomReport/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "businessanalytics",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/BusinessAnalytics/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "admin",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/CustomReport/Admin/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "motion chart",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/mydata/motionchart/siteperformance.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "custom",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Landing/Default.aspx?name=CUSTOM",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "hedge",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/dvreports/dvSummaryPositionReportCreateAction.dv?processkey=hedge&displayStatus=100",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "position",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/dvreports/dvDetailedPositionReportCreateAction.dv?processkey=position&displayStatus=100",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "m2mbasis",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/dvreports/dvBasisOnlyMarkedToMarketReportCreateAction.dv?processkey=bonlym2m&displayStatus=100",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "m2mindex",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/dvreports/dvMarkToMarketIndexReportCreateAction.dv?processkey=ionlym2m&displayStatus=100",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "m2mbudget",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/dvreports/dvMarkedToBudgetReportCreateAction.dv?processkey=budget&displayStatus=100",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "allocation",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/dvreports/dvHedgeAllocationReportCreateAction.dv?processkey=hedgeallocation&displayStatus=100",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "naturalgas",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "#",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "position",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/HedgeReport/PositionReport.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "environmental",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "#",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "riskmanagement",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/RiskManagement/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "normalization",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/weathernormalization/normalizationreport.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "weather data",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/weathernormalization/weatherreport.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "weather",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Landing/Default.aspx?name=WEATHER",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "dollar savings",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/SchneiderPass/DollarSavingsReport.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "unit savings",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/SchneiderPass/UnitSavingsReport.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "schneider pass analytics",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/SchneiderPass/CumulativeSavingsReport.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "schneider pass",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Landing/Default.aspx?name=SCHNEIDERPASS",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "report",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": null,
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "client functions",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Administration/UserManagement/UserHome.aspx?name=CLIENTFUNCTIONS",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "users",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Administration/UserManagement/UserHome.aspx?name=USERS",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "roles",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Administration/UserManagement/UserHome.aspx?name=ROLES",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "functions",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Administration/UserManagement/UserHome.aspx?name=FUNCTIONS",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "user management",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Landing/Default.aspx?name=USERMANAGEMENT",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "site info",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/MyData/SiteInfo/Default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "site groups",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/MyAccount/SiteGrouping/default.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "subsite structure",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Subsite/Subsite.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "site upload",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/SiteConversion/SiteConversion.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "hierarchy management",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Landing/Default.aspx?name=HIERARCHYMANAGEMENT",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "notification center",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Notification/MessageCenter.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "site mapping",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/IntervalDataModule/IDMSiteManagement.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "account mapping",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/IntervalDataModule/PAMAccountMapping.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "site schedules",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/IntervalDataModule/siteschedule.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "exceptions & notifications",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Notification/MessageCenter.aspx?Tab=Schedule",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "average profiles",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/intervaldatamodule/averageprofile.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "manage measurements",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/IntervalAnalytics/Interval.aspx#/calculatedStream/measurementTemplate",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "manage tags",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/IntervalAnalytics/Interval.aspx#/tags/apply",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "performance analytics",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Landing/Default.aspx?name=PERFORMANCEANALYTICS",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "manage kiosks",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/ManageKiosk/DashboardPlaylist.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "projects",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Abatement/Project/ProjectConfiguration.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "weather",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/WeatherNormalization/WeatherConfiguration.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "calendar",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Calendarization/ManageCalendarization.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "forecasts",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Forecast/ManageForecast.aspx#/ManageForecast",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "data entry",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/UserData/DataEntry/DataEntryConfiguration.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "sustainability",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Sustainability/Admin/Default.aspx",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "configurations",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Landing/Default.aspx?name=CONFIGURATIONS",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": [
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "global data streams",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/ManageServices/ManageServices.aspx",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "manage data streams",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/ManageServices/ManageDataStream.aspx#/ManageDataStream",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "data stream localization",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/ManageServices/ManageDataStream.aspx#/MetricLocalization",
"TargetServer": null
},
{
"AppMenuId": 0,
"Children": null,
"DisplayOrder": 0,
"DisplayText": "property report attributes",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/ManageServices/ManageDataStream.aspx#/PropertyAttributeMapping",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "data stream management",
"IsLeftCol": false,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": "/Landing/Default.aspx?name=DATASTREAM",
"TargetServer": null
}
],
"DisplayOrder": 0,
"DisplayText": "administration",
"IsLeftCol": true,
"MenuLevel": 0,
"ParentMenuId": 0,
"TargetAction": null,
"TargetServer": null
}
]
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({name: 'menuchildren'})
export class MenuChildrenPipe implements PipeTransform {
transform(value: any[], parentId: number): any[] {
return value.filter(function(item){
return item.ParentMenuId == parentId && item.DisplayText != 'OVERVIEWS';
})
}
}
<div class="sm_container">
<ra-head></ra-head>
</div>
<div class="container-fluid" style="margin-top:20px;padding-left:19px;">
<div class="row" style="margin-left:0px;margin-right:4px;">
<div class="col-sm-12 col-md-12">
<ra-menu></ra-menu>
<div class="app-content">
<ng-content></ng-content>
</div>
</div>
</div>
</div>
<div>
<ra-footer></ra-footer>
</div>
.app-content{
height:100%;
width:100%;
background-color: #fff;
border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px;
}
h1 {
color: #369;
font-family: Arial, Helvetica, sans-serif;
font-size: 250%;
}
body {
margin: 2em;
background:#cccccc !important;
font:normal normal 12px Arial, sans-serif;
}
.wrapper {
display: table;
}
.sm_container .row{
margin: 0px;
}
.sm_container .col-md-2{
padding-left: 0px;
padding-right: 0px;
}
.gu-mirror {
cursor: grabbing;
cursor: -moz-grabbing;
cursor: -webkit-grabbing;
}
.sourceContainer {
background-color: rgba(255, 255, 255, 0.2);
width: 100%;
}
.sourceContainer div,
.gu-mirror {
padding: 4px 0px 5px 20px;
transition: opacity 0.4s ease-in-out;
color:#0066cc;
}
.sourceContainer div:hover{
background-color: #0066cb !important;
color: #fff;
}
.sourceContainer div {
cursor: move;
}
/*header.css */
.loadingPanel {
position: fixed;
left: 0px;
top: 0px;
display: none;
background: #000;
font-weight: bold;
width: 100%;
height: 100%;
opacity: 0.75;
margin: auto;
z-index: 999999999;
}
.loadingPanel .cirlce{
background-image: url(assets/images/animated-waiting-circle.gif) !important;
display: block;
background-repeat:no-repeat;
width: 300px;
height: 300px;
}
/*header.css */
a{
text-decoration: none;
color: #0066cc !important;
}
#pageList {
display: none; /* Start hidden and show when requested */
position: absolute; /* Position out of flow */
z-index: 10; /* This could be as little as 1, just need to be able to overlay other elements */
font: 12px/23px "Segoe UI",Arial,sans-serif;
width: 0px;
}
#pageList span{
background-image:none;
}
.seperator {
margin: 1px 2px 1px 31px;
padding-bottom: 2px;
background-color: transparent;
background-position: 0px -406px;
background-repeat: repeat-y;
background-image: url("assets/Images/pageSeperator.png");
float: none;
display: block;
}
#pageList li {
background-repeat: repeat-y;
background-image: url("assets/Images/pageItem.png");
background-color: #FFF;
list-style:none;
}
#pageList li a {
color: #003366 !important;
width: auto !important;
cursor: default !important;
display: block;
float: none;
padding: 0px;
background-position: 0px 500px;
background-repeat: no-repeat;
background-color: transparent;
font: 12px/23px "Segoe UI",Arial,sans-serif;
margin:0px;
padding-bottom: 5px;
text-decoration: none;
}
#pageList li a:hover {
background-color: #b6bdca;
z-index: 1000;
cursor: default !important;
}
#pageList li a span {
font: 12px/23px "Segoe UI",Arial,sans-serif;
padding: 0px 54px 0px 28px;
margin: 0px 0px 0px 4px;
cursor: default !important;
}
/*
* See https://github.com/angular/angular.io/blob/master/public/docs/_examples/styles.css
* for the full set of master styles used by the documentation samples
*/
@media (min-width: 200px) {
#headerLogout {display: none !important };
#menulogout {display: block !important }
.rmItem{border: 0 !important}}
@media (min-width: 700px){
#headerLogout { display: block !important };
#menulogout {display: none !important };
.rmItem{border-right: 1px solid #fff !important}
}
div.vertical-spacer{
clear: both;
height: 10px;
}
import { Component } from '@angular/core';
@Component({
selector: 'ra-base',
templateUrl: './ra.base.component.html',
styleUrls: ['./ra.base.component.scss']
})
export class RaBaseComponent {
}
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HeaderComponent } from "./header";
import { MenuComponent, ChildMenuComponent, AccChildMenuComponent } from "./menu";
import { MenuChildrenPipe } from "./menu/menuchildren.pipe";
import { HttpModule } from "@angular/http";
import { FooterComponent } from "./footer";
import { RaBaseComponent } from "./ra.base.component";
@NgModule({
declarations: [
RaBaseComponent,
HeaderComponent,
MenuComponent,
MenuChildrenPipe,
FooterComponent,
ChildMenuComponent,
AccChildMenuComponent
],
imports: [
BrowserModule,
HttpModule
],
providers: [],
exports: [RaBaseComponent],
bootstrap: [RaBaseComponent]
})
export class RaBaseModule { }