ATLAS-1816: button to navigate to next page in search-result is disabled incorrectly
Signed-off-by: Madhan Neethiraj <madhan@apache.org>
diff --git a/dashboardv2/public/js/views/search/SearchResultLayoutView.js b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
index c014f71..50e4a54 100644
--- a/dashboardv2/public/js/views/search/SearchResultLayoutView.js
+++ b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
@@ -235,20 +235,16 @@
}
}
},
- fetchCollection: function(value, deleteChecked) {
+ fetchCollection: function(value, clickObj) {
var that = this;
this.showLoader();
if (Globals.searchApiCallRef && Globals.searchApiCallRef.readyState === 1) {
Globals.searchApiCallRef.abort();
}
- if (value && !value.paginationChange) {
- $.extend(this.searchCollection.queryParams, { limit: this.limit });
+ if (value) {
+ $.extend(this.searchCollection.queryParams, { limit: this.limit, excludeDeletedEntities: true });
if (value.searchType) {
this.searchCollection.url = UrlLinks.searchApiUrl(value.searchType);
- if (deleteChecked === undefined) {
- $.extend(this.searchCollection.queryParams, { limit: this.limit, excludeDeletedEntities: true });
- }
- this.offset = 0;
}
_.extend(this.searchCollection.queryParams, { 'query': (value.query ? value.query.trim() : null), 'typeName': value.type || null, 'classification': value.tag || null });
}
@@ -259,54 +255,45 @@
if (!(that.ui.pageRecordText instanceof jQuery)) {
return;
}
- if (value) {
- if (that.searchCollection.models.length < that.limit) {
- that.ui.nextData.attr('disabled', true);
- }
- if (that.offset === 0) {
- that.pageFrom = 1;
- that.pageTo = that.limit;
- if (that.searchCollection.length > 0) {
- that.ui.pageRecordText.html("Showing " + that.pageFrom + " - " + that.searchCollection.length);
- }
- } else if (that.searchCollection.models.length && !that.previousClick) {
- //on next click, adding "1" for showing the another records..
- that.pageFrom = that.pageTo + 1;
- that.pageTo = that.pageTo + that.searchCollection.models.length;
- if (that.pageFrom && that.pageTo) {
- that.ui.pageRecordText.html("Showing " + that.pageFrom + " - " + that.pageTo);
- }
- } else if (that.previousClick) {
- that.pageTo = (that.pageTo - (that.pageTo - that.pageFrom)) - 1;
- //if limit is 0 then result is change to 1 because page count is showing from 1
- that.pageFrom = (that.pageFrom - that.limit === 0 ? 1 : that.pageFrom - that.limit);
- that.ui.pageRecordText.html("Showing " + that.pageFrom + " - " + that.pageTo);
- }
- if (that.offset < that.limit) {
- that.ui.previousData.attr('disabled', true);
- }
- if (that.searchCollection.models.length === 0) {
- that.offset = that.offset - that.limit;
- }
+
+ if (that.searchCollection.models.length < that.limit) {
+ that.ui.nextData.attr('disabled', true);
+ } else {
+ that.ui.nextData.attr('disabled', false);
+ }
+ if (that.offset === 0) {
+ that.pageFrom = 1;
+ that.pageTo = that.limit;
+ } else if (clickObj && clickObj.next) {
+ //on next click, adding "1" for showing the another records.
+ that.pageTo = that.offset + that.limit;
+ that.pageFrom = that.offset + 1;
+ } else if (clickObj && clickObj.previous) {
+ that.pageTo = that.pageTo - that.limit;
+ that.pageFrom = (that.pageTo - that.limit) + 1;
+ }
+ that.ui.pageRecordText.html("Showing <u>" + that.searchCollection.models.length + " records</u>, from " + that.pageFrom + " - " + that.pageTo);
+ if (that.offset < that.limit && that.pageFrom < 26) {
+ that.ui.previousData.attr('disabled', true);
}
that.renderTableLayoutView();
- if (value) {
- var resultArr = [];
- if (that.searchCollection.queryParams.typeName) {
- resultArr.push(that.searchCollection.queryParams.typeName)
- }
- if (that.searchCollection.queryParams.classification) {
- resultArr.push(that.searchCollection.queryParams.classification)
- }
- if (that.searchCollection.queryParams.query) {
- resultArr.push(that.searchCollection.queryParams.query)
- }
- var searchString = 'Results for <b>' + _.escape(resultArr.join(that.searchType == 'Advanced Search' ? " " : " & ")) + '</b>';
- if (Globals.entityCreate && Globals.entityTypeConfList && Utils.getUrlState.isSearchTab()) {
- searchString += "<p>If you do not find the entity in search result below then you can" + '<a href="javascript:void(0)" data-id="createEntity"> create new entity</a></p>';
- }
- that.$('.searchResult').html(searchString);
+
+ var resultArr = [];
+ if (that.searchCollection.queryParams.typeName) {
+ resultArr.push(that.searchCollection.queryParams.typeName)
}
+ if (that.searchCollection.queryParams.classification) {
+ resultArr.push(that.searchCollection.queryParams.classification)
+ }
+ if (that.searchCollection.queryParams.query) {
+ resultArr.push(that.searchCollection.queryParams.query)
+ }
+ var searchString = 'Results for <b>' + _.escape(resultArr.join(that.searchType == 'Advanced Search' ? " " : " & ")) + '</b>';
+ if (Globals.entityCreate && Globals.entityTypeConfList && Utils.getUrlState.isSearchTab()) {
+ searchString += "<p>If you do not find the entity in search result below then you can" + '<a href="javascript:void(0)" data-id="createEntity"> create new entity</a></p>';
+ }
+ that.$('.searchResult').html(searchString);
+
},
silent: true,
reset: true
@@ -611,8 +598,9 @@
$.extend(this.searchCollection.queryParams, {
offset: that.offset
});
- this.previousClick = false;
- this.fetchCollection({ paginationChange: true });
+ this.fetchCollection(null, {
+ next: true
+ });
},
onClickpreviousData: function() {
var that = this;
@@ -621,8 +609,9 @@
$.extend(this.searchCollection.queryParams, {
offset: that.offset
});
- this.previousClick = true;
- this.fetchCollection({ paginationChange: true });
+ this.fetchCollection(null, {
+ previous: true
+ });
},
onClickEditEntity: function(e) {
@@ -663,7 +652,7 @@
} else {
$.extend(this.searchCollection.queryParams, { limit: this.limit, excludeDeletedEntities: true });
}
- this.fetchCollection(this.value, e.target.checked);
+ this.fetchCollection();
}
});
return SearchResultLayoutView;