diff options
Diffstat (limited to 'app/assets/javascripts/vue_shared/mixins/ci_pagination_api_mixin.js')
-rw-r--r-- | app/assets/javascripts/vue_shared/mixins/ci_pagination_api_mixin.js | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/app/assets/javascripts/vue_shared/mixins/ci_pagination_api_mixin.js b/app/assets/javascripts/vue_shared/mixins/ci_pagination_api_mixin.js index f9e3f3df0cc..c93b3d37a63 100644 --- a/app/assets/javascripts/vue_shared/mixins/ci_pagination_api_mixin.js +++ b/app/assets/javascripts/vue_shared/mixins/ci_pagination_api_mixin.js @@ -9,21 +9,46 @@ import { historyPushState, buildUrlWithCurrentLocation } from '../../lib/utils/c export default { methods: { onChangeTab(scope) { - this.updateContent({ scope, page: '1' }); + let params = { + scope, + page: '1', + }; + + params = this.onChangeWithFilter(params); + + this.updateContent(params); }, onChangePage(page) { /* URLS parameters are strings, we need to parse to match types */ - const params = { + let params = { page: Number(page).toString(), }; if (this.scope) { params.scope = this.scope; } + + params = this.onChangeWithFilter(params); + this.updateContent(params); }, + onChangeWithFilter(params) { + const { username, ref } = this.requestData; + const paramsData = params; + + if (username) { + paramsData.username = username; + } + + if (ref) { + paramsData.ref = ref; + } + + return paramsData; + }, + updateInternalState(parameters) { // stop polling this.poll.stop(); |