Pārlūkot izejas kodu

AMBARI-14085 Services loaded in model unsorted. (atkach)

Andrii Tkach 9 gadi atpakaļ
vecāks
revīzija
e82d8f2339

+ 2 - 1
ambari-web/app/controllers/main/service.js

@@ -17,6 +17,7 @@
  */
 
 var App = require('app');
+var misc = require('utils/misc');
 
 App.MainServiceController = Em.ArrayController.extend({
 
@@ -29,7 +30,7 @@ App.MainServiceController = Em.ArrayController.extend({
     if (!App.router.get('clusterController.isLoaded')) {
       return [];
     }
-    return App.Service.find();
+    return misc.sortByOrder(App.StackService.find().mapProperty('serviceName'), App.Service.find().toArray());
   }.property('App.router.clusterController.isLoaded').volatile(),
 
   /**

+ 2 - 0
ambari-web/app/mappers/service_mapper.js

@@ -16,6 +16,7 @@
  */
 
 var App = require('app');
+var misc = require('utils/misc');
 
 App.serviceMapper = App.QuickDataMapper.create({
   model: App.Service,
@@ -55,6 +56,7 @@ App.serviceMapper = App.QuickDataMapper.create({
         App.serviceMetricsMapper.mapExtendedModel(item);
         return self.parseIt(item, self.get('config'));
       });
+      parsedCacheServices = misc.sortByOrder(App.StackService.find().mapProperty('serviceName'), parsedCacheServices);
       App.store.loadMany(this.get('model'), parsedCacheServices);
       App.store.commit();
       this.set('initialAppLoad', true);

+ 4 - 9
ambari-web/app/views/main/service/menu.js

@@ -17,17 +17,14 @@
  */
 
 var App = require('app');
-var misc = require('utils/misc');
 
 App.MainServiceMenuView = Em.CollectionView.extend({
   disabledServices: [],
 
-  content:function () {
-    var items = App.router.get('mainServiceController.content').filter(function(item){
+  content: function () {
+    return App.router.get('mainServiceController.content').filter(function(item){
       return !this.get('disabledServices').contains(item.get('id'));
     }, this);
-    var stackServices = App.StackService.find().mapProperty('serviceName');
-    return misc.sortByOrder(stackServices, items);
   }.property('App.router.mainServiceController.content', 'App.router.mainServiceController.content.length'),
 
   didInsertElement:function () {
@@ -124,12 +121,10 @@ App.MainServiceMenuView = Em.CollectionView.extend({
 App.TopNavServiceMenuView = Em.CollectionView.extend({
   disabledServices: [],
 
-  content:function () {
-    var items = App.router.get('mainServiceController.content').filter(function(item){
+  content: function () {
+    return App.router.get('mainServiceController.content').filter(function (item) {
       return !this.get('disabledServices').contains(item.get('id'));
     }, this);
-    var stackServices = App.StackService.find().mapProperty('serviceName');
-    return misc.sortByOrder(stackServices, items);
   }.property('App.router.mainServiceController.content', 'App.router.mainServiceController.content.length'),
 
   didInsertElement:function () {