Repository: ambari
Updated Branches:
  refs/heads/branch-2.4 b796932cd -> 87f7fec4c


AMBARI-17368. Log Search: Quick link to remove browser URL params. (Dharmesh 
Makwana via oleewere)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/87f7fec4
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/87f7fec4
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/87f7fec4

Branch: refs/heads/branch-2.4
Commit: 87f7fec4cdd4fa7849f392e9e3a6030369e5cb70
Parents: b796932
Author: oleewere <[email protected]>
Authored: Fri Jun 24 14:28:26 2016 +0200
Committer: oleewere <[email protected]>
Committed: Fri Jun 24 14:37:43 2016 +0200

----------------------------------------------------------------------
 .../ambari/logsearch/manager/UserConfigMgr.java |  4 +-
 .../apache/ambari/logsearch/util/SolrUtil.java  |  2 +-
 .../src/main/webapp/scripts/utils/Utils.js      | 30 +++++++++++--
 .../main/webapp/scripts/views/common/Header.js  | 47 +++++++++++++++++++-
 .../webapp/scripts/views/common/TableLayout.js  |  2 +-
 .../webapp/templates/common/Header_tmpl.html    |  7 ++-
 6 files changed, 82 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/87f7fec4/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/UserConfigMgr.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/UserConfigMgr.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/UserConfigMgr.java
index f033689..c4fbd9f 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/UserConfigMgr.java
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/UserConfigMgr.java
@@ -96,7 +96,7 @@ public class UserConfigMgr extends MgrBase {
     SolrQuery solrQuery = new SolrQuery();
     queryGenerator.setMainQuery(solrQuery, null);
     queryGenerator.setSingleIncludeFilter(solrQuery,
-        LogSearchConstants.FILTER_NAME, filterName);
+        LogSearchConstants.FILTER_NAME, 
solrUtil.makeSearcableString(filterName));
     queryGenerator.setSingleIncludeFilter(solrQuery,
         LogSearchConstants.USER_NAME, loggedInUserName);
     try {
@@ -199,7 +199,7 @@ public class UserConfigMgr extends MgrBase {
           LogSearchConstants.USER_NAME, userName,
           LogSearchConstants.SHARE_NAME_LIST, userName);
       queryGenerator.setSingleIncludeFilter(userConfigQuery,
-          LogSearchConstants.FILTER_NAME, filterName);
+          LogSearchConstants.FILTER_NAME, 
solrUtil.makeSearcableString(filterName));
 
       if (stringUtil.isEmpty(searchCriteria.getSortBy())) {
         searchCriteria.setSortBy(LogSearchConstants.FILTER_NAME);

http://git-wip-us.apache.org/repos/asf/ambari/blob/87f7fec4/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java
index 21b09d3..f68891f 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java
@@ -291,7 +291,7 @@ public class SolrUtil {
       return "";
     }
     String newSearch = search.replaceAll("[\\t\\n\\r]", " ");
-    newSearch = newSearch.replaceAll("(?=[]\\[+&|!(){}^~*=$/@%?:.\\\\-])",
+    newSearch = newSearch.replaceAll("(?=[]\\[+&|!(){}^~=$/@%?:.\\\\-])",
         "\\\\");
 
     return newSearch.replace(" ", "\\ ");

http://git-wip-us.apache.org/repos/asf/ambari/blob/87f7fec4/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js
index 354b79d..4b18b15 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js
@@ -357,6 +357,23 @@ define(['require',
                });
        };
 
+       Utils.bootboxCustomDialogs = function(params) {
+           bootbox.dialog({
+               title: params.title,
+               message: params.msg,
+               buttons: {
+                   cancel: {
+                       label: "Cancel",
+                       className: "btn-secondary"
+                   },
+                   Ok: {
+                       className: "btn-primary",
+                       callback: params.callback
+                   }
+               }
+           });
+       };
+
        Utils.filterResultByIds = function(results, selectedVals) {
                return _.filter(results, function(obj) {
                        if ($.inArray(obj.id, selectedVals) < 0)
@@ -737,11 +754,16 @@ define(['require',
                var params = {},
                    tokens,
                    re = /[?&]?([^=]+)=([^&]*)/g;
-
-               while (tokens = re.exec(qs)) {
-                   params[decodeURIComponent(tokens[1])] = 
decodeURIComponent(tokens[2]);
+               try {
+                   while (tokens = re.exec(qs)) {
+                       params[decodeURIComponent(tokens[1])] = 
decodeURIComponent(tokens[2]);
+                   }
+               } catch (exception) {
+                       console.error(exception);
+                   Utils.notifyError({
+                       content: exception
+                   });
                }
-
                return params;
        };
        /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/87f7fec4/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/Header.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/Header.js
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/Header.js
index 654b207..ca27bba 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/Header.js
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/Header.js
@@ -42,7 +42,8 @@ define(['require',
                 'globalFilter': "li[data-id='exclusionList']",
                 'globalNotification': '.dropdown .excludeStatus',
                 'timeZoneChange': "li[data-id='timeZoneChange']",
-                'createFilters' : "[data-id='createFilters']"
+                'createFilters' : "[data-id='createFilters']",
+                'editParams'  : "a[data-id='editParams']"
             },
 
             /** ui events hash */
@@ -52,6 +53,7 @@ define(['require',
                 events['click ' + this.ui.globalFilter] = 'exclusionListClick';
                 events['click ' + this.ui.timeZoneChange] = 
'timeZoneChangeClick';
                 events['click ' + this.ui.createFilters] = 
'createFiltersClick';
+                events['click ' + this.ui.editParams] = 'editParamsClick';
                 return events;
             },
 
@@ -92,6 +94,7 @@ define(['require',
                     }
                     
this.ui.timeZoneChange.find('span').text(moment.tz(storeTimezone.value.split(',')[0]).zoneName());
                 }
+                this.checkParams();
             },
             onShow : function(){
                 this.triggerAutoTourCheck();
@@ -100,6 +103,48 @@ define(['require',
 
 
             },
+            checkParams : function(){
+                if(window.location.search){
+                    var url = 
window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
+                    if(url.length === 1){
+                        var bundleIdCheck = url[0].split('=');
+                        (bundleIdCheck[0] ==='bundle_id') ? 
this.ui.editParams.hide() : this.ui.editParams.show();
+                    }else{
+                      this.ui.editParams.show();  
+                    }
+                }
+            },
+            editParamsClick: function() {
+                 var that = this;
+                 var newUrl = '',
+                     hash,
+                     str = '<ul>';
+                 var oldUrl = 
window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
+                 for (var i = 0; i < oldUrl.length; i++) {
+
+                     hash = oldUrl[i].split('=');
+                     if (hash[0] === "bundle_id") {
+                            if(_.isEmpty(hash[1])){
+                                hash[1] = '';
+                            }
+                         newUrl = hash[0] + "=" + hash[1];
+                     }else{
+                       str += '<li>' + hash[0] + "  : " + hash[1] + '</li>'; 
+                     }     
+                 }
+                 str += '</ul>';
+
+                 Utils.bootboxCustomDialogs({
+                     'title': ' Are you sure you want to remove these params 
?',
+                     'msg': str,
+                     'callback': function() {
+                         var editUrl = window.location.href.substring(0, 
window.location.href.indexOf('?'));
+                         var params = (newUrl.length > 0) ? 
window.location.search = '?' + newUrl : window.location.search = '';
+                         window.location.href = editUrl + params;
+                         that.ui.editParams.hide();
+                     }
+                 });
+            },
             takeATour: function() {
                 require(['utils/Intro'], function(Intro) {
                     Intro.Start();

http://git-wip-us.apache.org/repos/asf/ambari/blob/87f7fec4/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/TableLayout.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/TableLayout.js
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/TableLayout.js
index de5296c..1066510 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/TableLayout.js
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/TableLayout.js
@@ -392,7 +392,7 @@ define(['require',
                        this.collection.state.pageSize = parseInt(pagesize,10);
 
                        this.collection.state.currentPage = 
this.collection.state.firstPage;
-
+                       delete this.collection.queryParams.isLastPage;
                        this.collection.fetch({
                                sort: false,
                                reset: true,

http://git-wip-us.apache.org/repos/asf/ambari/blob/87f7fec4/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
index ef09707..5f1bbdb 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
@@ -16,7 +16,12 @@
 -->
 <div id="top-panel" class="col-xs-12 col-sm-9">
     <div class="row">
-        <div class="col-xs-12 col-sm-12">
+        <div class="col-xs-8 text-center">
+            <a href="javascript:void(0)" data-id="editParams" class="params">
+                Remove url params   
+            <a/>
+        </div>
+        <div class="col-xs-4 col-sm-4 ">
             <ul class="nav navbar-nav pull-right panel-menu">
                 <li class="dropdown" data-id="timeZoneChange" title="Change 
timezone">
                     <span style="color: white;  position: absolute;  top: 
-16px; right: 0px; font-size: 10px;"></span>

Reply via email to