quick_view_link_view.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /**
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. var App = require('app');
  19. App.QuickViewLinks = Em.View.extend({
  20. /**
  21. * Updated quick links. Here we put correct hostname to url
  22. */
  23. quickLinks : function(){
  24. var serviceName = this.get('content.serviceName');
  25. var components = this.get('content.components');
  26. var host;
  27. if(serviceName === 'hdfs'){
  28. host = components.filterProperty('componentName', 'NameNode').objectAt(0).get('host.hostName');
  29. } else if(serviceName === 'mapreduce'){
  30. host = components.filterProperty('componentName', 'JobTracker').objectAt(0).get('host.hostName');
  31. } else if(serviceName === 'hbase'){
  32. host = components.filterProperty('componentName', 'HBase Master').objectAt(0).get('host.hostName');
  33. }
  34. if(!host){
  35. return [];
  36. }
  37. return this.get('content.quickLinks').map(function(item){
  38. if(item.get('url')){
  39. item.set('url', item.get('url').fmt(host));
  40. }
  41. return item;
  42. });
  43. }.property('content.quickLinks.@each.label')
  44. });