You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by ah...@apache.org on 2017/01/23 03:14:35 UTC

zeppelin git commit: [ZEPPELIN-969] order by note name in job menu

Repository: zeppelin
Updated Branches:
  refs/heads/master 4ef4e1869 -> 062b90a5d


[ZEPPELIN-969] order by note name in job menu

### What is this PR for?
we can sort by note name in job menu.
Sorting supports ascending and descending order.
Sort by note name.

### What type of PR is it?
Feature

### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-969

### How should this be tested?
click to name order button.

### Screenshots (if appropriate)
![nameorder](https://cloud.githubusercontent.com/assets/10525473/20826460/66a7e7a6-b8ae-11e6-8e03-e2b00698e069.gif)

### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no

Author: CloverHearts <cl...@gmail.com>
Author: cloverhearts <cl...@gmail.com>

Closes #1721 from cloverhearts/jobm/nameOrder and squashes the following commits:

6df5688 [cloverhearts] change tooltip msg
4230a2a [cloverhearts] Merge branch 'master' into jobm/nameOrder
d5bca61 [cloverhearts] Merge branch 'master' into jobm/nameOrder
11ffe68 [cloverhearts] Merge branch 'master' into jobm/nameOrder
57347c2 [cloverhearts] change filter icon
ead26f4 [CloverHearts] Merge branch 'master' into jobm/nameOrder
5383a2e [CloverHearts] Merge branch 'master' into jobm/nameOrder
88d4708 [CloverHearts] fix code style
ff44245 [CloverHearts] Merge branch 'master' into jobm/nameOrder
6142b8e [CloverHearts] Revert "change sortBy to orderby"
3b698fb [CloverHearts] change sortBy to orderby
e8a6588 [CloverHearts] Merge branch 'master' into jobm/nameOrder
da09527 [CloverHearts] Rename notebook to note.
2d9fc27 [CloverHearts] order by note name in job menu


Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/062b90a5
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/062b90a5
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/062b90a5

Branch: refs/heads/master
Commit: 062b90a5d0c47345963bea00a4d69316276327b1
Parents: 4ef4e18
Author: CloverHearts <cl...@gmail.com>
Authored: Sat Jan 21 05:46:22 2017 -0800
Committer: ahyoungryu <ah...@apache.org>
Committed: Mon Jan 23 12:14:28 2017 +0900

----------------------------------------------------------------------
 .../src/app/jobmanager/jobmanager.controller.js        |  9 +++++++++
 zeppelin-web/src/app/jobmanager/jobmanager.filter.js   |  7 ++++++-
 zeppelin-web/src/app/jobmanager/jobmanager.html        | 13 +++++++++++--
 3 files changed, 26 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/062b90a5/zeppelin-web/src/app/jobmanager/jobmanager.controller.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/jobmanager/jobmanager.controller.js b/zeppelin-web/src/app/jobmanager/jobmanager.controller.js
index 4c437da..37c599b 100644
--- a/zeppelin-web/src/app/jobmanager/jobmanager.controller.js
+++ b/zeppelin-web/src/app/jobmanager/jobmanager.controller.js
@@ -98,10 +98,19 @@ function JobmanagerCtrl($scope, websocketMsgSrv, $interval, ngToast, $q, $timeou
       filterValueInterpreter: '*',
       isSortByAsc: true
     };
+    $scope.sortTooltipMsg = 'Switch to sort by desc';
     $scope.jobTypeFilter = jobManagerFilter;
 
     websocketMsgSrv.getNoteJobsList();
 
+    $scope.$watch('filterConfig.isSortByAsc', function (value) {
+      if (value) {
+        $scope.sortTooltipMsg = 'Switch to sort by desc';
+      } else {
+        $scope.sortTooltipMsg = 'Switch to sort by asc';
+      }
+    });
+
     $scope.$on('$destroy', function() {
       websocketMsgSrv.unsubscribeJobManager();
     });

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/062b90a5/zeppelin-web/src/app/jobmanager/jobmanager.filter.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/jobmanager/jobmanager.filter.js b/zeppelin-web/src/app/jobmanager/jobmanager.filter.js
index 62e85fd..05a1b6e 100644
--- a/zeppelin-web/src/app/jobmanager/jobmanager.filter.js
+++ b/zeppelin-web/src/app/jobmanager/jobmanager.filter.js
@@ -18,6 +18,7 @@ function jobManagerFilter() {
   function filterContext(jobItems, filterConfig) {
     var filterValueInterpreter = filterConfig.filterValueInterpreter;
     var filterValueNotebookName = filterConfig.filterValueNotebookName;
+    var isSortByAsc = filterConfig.isSortByAsc;
     var filterItems = jobItems;
 
     if (filterValueInterpreter === undefined) {
@@ -36,7 +37,11 @@ function jobManagerFilter() {
       });
     }
 
-    return filterItems;
+    filterItems = _.sortBy(filterItems, function(sortItem) {
+      return sortItem.noteName.toLowerCase();
+    });
+
+    return isSortByAsc ? filterItems : filterItems.reverse();
   }
   return filterContext;
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/062b90a5/zeppelin-web/src/app/jobmanager/jobmanager.html
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/jobmanager/jobmanager.html b/zeppelin-web/src/app/jobmanager/jobmanager.html
index eaf5f07..96e05af 100644
--- a/zeppelin-web/src/app/jobmanager/jobmanager.html
+++ b/zeppelin-web/src/app/jobmanager/jobmanager.html
@@ -34,7 +34,16 @@ limitations under the License.
   <div class="row">
     <div class="col-md-6 text-left">
       <div class="form-inline">
-        <span class="labelBtn btn-group" style="margin-left: 0px; padding-left: 10px;">
+        <span class="labelBtn btn-group">
+          <button type="button"
+                  class="btn btn-default"
+                  style="width: 25px; height: 25px; margin-right: 0px; padding: 1px 0px 3px 3px"
+                  ng-click="onChangeSortAsc()"
+                  tooltip-placement="right" tooltip="{{sortTooltipMsg}}">
+            <i class="fa" ng-class="{true: 'fa-sort-amount-asc', false : 'fa-sort-amount-desc'}[filterConfig.isSortByAsc]"></i>
+          </button>
+        </span>
+        <span class="labelBtn btn-group" style="margin-left: 0px; padding-left: 3px;">
           <button type="button" class="btn btn-default btn-xs dropdown-toggle"
                  data-toggle="dropdown"
                  style="min-width: 100px; text-align: right !important;">
@@ -136,7 +145,7 @@ limitations under the License.
   </div>
   <div
     ng-if="JobInfomationsByFilter.length > 0"
-    ng-repeat="notebookJob in JobInfomationsByFilter"
+    ng-repeat="notebookJob in JobInfomationsByFilter track by $index"
     class="paragraph-col">
     <div ng-include src="'app/jobmanager/jobs/job.html'"
          class="job-space box job-margin"