123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
- import Ember from 'ember';
- /**
- * Create left hand side node manager menu with menu item activated based
- * on page being accessed.
- */
- export default Ember.Helper.helper(function(params,hash) {
- // Place a menu within a panel inside col-md-2 container.
- var nodeIdSplitAtPort = hash.nodeId;
- var portIndex = nodeIdSplitAtPort.indexOf(':');
- if (portIndex != -1) {
- nodeIdSplitAtPort = nodeIdSplitAtPort.substring(0, portIndex) +
- ':​' + nodeIdSplitAtPort.substring(portIndex + 1);
- }
- var normalizedNodeId = '';
- var splitsAlongDots = nodeIdSplitAtPort.split('.');
- if (splitsAlongDots) {
- var len = splitsAlongDots.length;
- for (var i = 0; i < len; i++) {
- normalizedNodeId = normalizedNodeId + splitsAlongDots[i];
- if (i != len - 1) {
- normalizedNodeId = normalizedNodeId + '.​';
- }
- }
- } else {
- normalizedNodeId = nodeIdSplitAtPort;
- }
- var html = '<div class="col-md-2 container-fluid"><div class="panel panel-default">'+
- '<div class="panel-heading"><h4>Node Manager<br>(' + normalizedNodeId + ')</h4></div>'+
- '<div class="panel-body"><ul class="nav nav-pills nav-stacked" id="stacked-menu">' +
- '<ul class="nav nav-pills nav-stacked collapse in"><li';
- if (hash.path == 'yarnNode') {
- html = html + ' class="active"';
- }
- html = html + '><a href="yarnNode/' + hash.nodeId + '/' + hash.nodeAddr +
- '">Node Information</a></li><li';
- if (hash.path == 'yarnNodeApps') {
- html = html + ' class="active"';
- }
- html = html + '><a href="yarnNodeApps/' + hash.nodeId + '/' + hash.nodeAddr +
- '">List of Applications</a></li><li';
- if (hash.path == 'yarnNodeContainers') {
- html = html + ' class="active"';
- }
- html = html + '><a href="yarnNodeContainers/' +hash.nodeId + '/' + hash.nodeAddr +
- '">List of Containers</a></li></ul></ul></div>';
- return Ember.String.htmlSafe(html);
- });
|