Yangman - Two level sorting in Parameters 60/42960/6
authormichal.kovacik <mikovaci@cisco.com>
Tue, 2 Aug 2016 11:24:39 +0000 (13:24 +0200)
committerLubomir Balogh <lubalogh@cisco.com>
Tue, 9 Aug 2016 12:45:47 +0000 (14:45 +0200)
-empty keys/values order corrected

Change-Id: I05ec8504cdcc376846c6a42cde7b1bb3bb0005f6
Signed-off-by: michal.kovacik <mikovaci@cisco.com>
modules/yangman-resources/src/main/resources/yangman/controllers/params-admin.controller.js
modules/yangman-resources/src/main/resources/yangman/views/popup/parameters-admin.tpl.html

index 6a0cb8618a692713fe69d4ee87305b2d1ea744ed..fe7c8fae6de43faa13c8a4abe139bc0c5600253b 100644 (file)
@@ -12,7 +12,8 @@ define([
 
         vm.parametersList = parametersList;
         vm.search = '';
-        vm.sortField = '_name';
+        vm.sortField1 = '_name';
+        vm.sortField2 = '_value';
         vm.sortAsc = true;
 
         vm.close = close;
@@ -95,10 +96,11 @@ define([
 
         /**
          * Set attribute to use when sorting
-         * @param sortField
+         * @param sortField1 , sortField2
          */
-        function sortBy(sortField) {
-            vm.sortField = sortField;
+        function sortBy(sortField1, sortField2) {
+            vm.sortField1 = sortField1;
+            vm.sortField2 = sortField2;
             vm.sortAsc = !vm.sortAsc;
             vm.parametersList.applyValsForFilters();
             $timeout(vm.validateNamesUnique);
@@ -110,7 +112,8 @@ define([
          * @returns {*}
          */
         function sortFunc(item) {
-            return item[vm.sortField] ? item[vm.sortField] : (vm.sortAsc ? String.fromCharCode(255) : '');
+            return [item[vm.sortField1] ? item[vm.sortField1] : (vm.sortAsc ? String.fromCharCode(255) : ''),
+                    item[vm.sortField2] ? item[vm.sortField2] : (vm.sortAsc ? String.fromCharCode(255) : '')];
         }
 
         /**
index 29deca069b21bb4ad89f2513fd06333fc3946879..9a1d17d3ace9139bbc485edeed07168cf73127db 100644 (file)
@@ -49,7 +49,7 @@
                             <!-- sort by name -->
                             <md-menu-item>
                                 <md-button aria-label="{{'YANGMAN_PARAMS_KEY'| translate}}"
-                                           ng-click="paramsAdmin.sortBy('_name')">
+                                           ng-click="paramsAdmin.sortBy('_name', '_value')">
                                     {{'YANGMAN_SORT_BY'| translate}}
                                     {{'YANGMAN_PARAMS_KEY'| translate}}
                                     {{paramsAdmin.sortAsc ? 'YANGMAN_SORT_DESC' : 'YANGMAN_SORT_ASC' | translate}}
@@ -60,7 +60,7 @@
                             <!-- sort by value -->
                             <md-menu-item>
                                 <md-button aria-label="{{'YANGMAN_PARAMS_VALUE'| translate}}"
-                                           ng-click="paramsAdmin.sortBy('_value')">
+                                           ng-click="paramsAdmin.sortBy('_value', '_name')">
                                     {{'YANGMAN_SORT_BY'| translate}}
                                     {{'YANGMAN_PARAMS_VALUE'| translate}}
                                     {{paramsAdmin.sortAsc ? 'YANGMAN_SORT_DESC' : 'YANGMAN_SORT_ASC' | translate}}