summaryrefslogtreecommitdiff
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-12-16 18:08:22 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-12-16 18:08:22 +0000
commit123c68a7cf788ace140e57e478a12c5b7ac893ae (patch)
treeb36e565ecd895ee46c1713f3734308cfce0e6ba9 /app/assets/javascripts
parent862d225ca0d8eb452e56b8fe5a0109aac796e872 (diff)
downloadgitlab-ce-123c68a7cf788ace140e57e478a12c5b7ac893ae.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/error_tracking/components/error_tracking_list.vue47
-rw-r--r--app/assets/javascripts/error_tracking/store/list/actions.js1
-rw-r--r--app/assets/javascripts/error_tracking/store/list/mutation_types.js1
-rw-r--r--app/assets/javascripts/error_tracking/store/list/mutations.js3
-rw-r--r--app/assets/javascripts/error_tracking/store/list/state.js1
-rw-r--r--app/assets/javascripts/ide/stores/utils.js2
-rw-r--r--app/assets/javascripts/merge_request_tabs.js18
7 files changed, 61 insertions, 12 deletions
diff --git a/app/assets/javascripts/error_tracking/components/error_tracking_list.vue b/app/assets/javascripts/error_tracking/components/error_tracking_list.vue
index 23e251e4201..8e2128ac713 100644
--- a/app/assets/javascripts/error_tracking/components/error_tracking_list.vue
+++ b/app/assets/javascripts/error_tracking/components/error_tracking_list.vue
@@ -12,13 +12,18 @@ import {
GlDropdownItem,
GlDropdownDivider,
GlTooltipDirective,
+ GlPagination,
} from '@gitlab/ui';
import AccessorUtils from '~/lib/utils/accessor';
import Icon from '~/vue_shared/components/icon.vue';
import TimeAgo from '~/vue_shared/components/time_ago_tooltip.vue';
import { __ } from '~/locale';
+import _ from 'underscore';
export default {
+ FIRST_PAGE: 1,
+ PREV_PAGE: 1,
+ NEXT_PAGE: 2,
fields: [
{ key: 'error', label: __('Open errors'), thClass: 'w-70p' },
{ key: 'events', label: __('Events') },
@@ -42,6 +47,7 @@ export default {
GlTable,
GlFormInput,
Icon,
+ GlPagination,
TimeAgo,
},
directives: {
@@ -73,10 +79,28 @@ export default {
data() {
return {
errorSearchQuery: '',
+ pageValue: this.$options.FIRST_PAGE,
};
},
computed: {
- ...mapState('list', ['errors', 'loading', 'searchQuery', 'sortField', 'recentSearches']),
+ ...mapState('list', [
+ 'errors',
+ 'loading',
+ 'searchQuery',
+ 'sortField',
+ 'recentSearches',
+ 'pagination',
+ ]),
+ paginationRequired() {
+ return !_.isEmpty(this.pagination);
+ },
+ },
+ watch: {
+ pagination() {
+ if (typeof this.pagination.previous === 'undefined') {
+ this.pageValue = this.$options.FIRST_PAGE;
+ }
+ },
},
created() {
if (this.errorTrackingEnabled) {
@@ -103,6 +127,17 @@ export default {
getDetailsLink(errorId) {
return `error_tracking/${errorId}/details`;
},
+ goToNextPage() {
+ this.pageValue = this.$options.NEXT_PAGE;
+ this.startPolling(`${this.indexPath}?cursor=${this.pagination.next.cursor}`);
+ },
+ goToPrevPage() {
+ this.startPolling(`${this.indexPath}?cursor=${this.pagination.previous.cursor}`);
+ },
+ goToPage(page) {
+ window.scrollTo(0, 0);
+ return page === this.$options.PREV_PAGE ? this.goToPrevPage() : this.goToNextPage();
+ },
isCurrentSortField(field) {
return field === this.sortField;
},
@@ -217,7 +252,6 @@ export default {
</span>
</div>
</template>
-
<template slot="events" slot-scope="errors">
<div class="text-md-right">{{ errors.item.count }}</div>
</template>
@@ -240,6 +274,15 @@ export default {
</div>
</template>
</gl-table>
+ <gl-pagination
+ v-show="!loading"
+ v-if="paginationRequired"
+ :prev-page="$options.PREV_PAGE"
+ :next-page="$options.NEXT_PAGE"
+ :value="pageValue"
+ align="center"
+ @input="goToPage"
+ />
</div>
<div v-else-if="userCanEnableErrorTracking">
<gl-empty-state
diff --git a/app/assets/javascripts/error_tracking/store/list/actions.js b/app/assets/javascripts/error_tracking/store/list/actions.js
index b1c81b55e58..c9e882c4ed2 100644
--- a/app/assets/javascripts/error_tracking/store/list/actions.js
+++ b/app/assets/javascripts/error_tracking/store/list/actions.js
@@ -23,6 +23,7 @@ export function startPolling({ state, commit, dispatch }) {
if (!data) {
return;
}
+ commit(types.SET_PAGINATION, data.pagination);
commit(types.SET_ERRORS, data.errors);
commit(types.SET_LOADING, false);
dispatch('stopPolling');
diff --git a/app/assets/javascripts/error_tracking/store/list/mutation_types.js b/app/assets/javascripts/error_tracking/store/list/mutation_types.js
index 3ebfef76324..301984a1ee0 100644
--- a/app/assets/javascripts/error_tracking/store/list/mutation_types.js
+++ b/app/assets/javascripts/error_tracking/store/list/mutation_types.js
@@ -4,6 +4,7 @@ export const SET_LOADING = 'SET_LOADING';
export const ADD_RECENT_SEARCH = 'ADD_RECENT_SEARCH';
export const CLEAR_RECENT_SEARCHES = 'CLEAR_RECENT_SEARCHES';
export const LOAD_RECENT_SEARCHES = 'LOAD_RECENT_SEARCHES';
+export const SET_PAGINATION = 'SET_PAGINATION';
export const SET_ENDPOINT = 'SET_ENDPOINT';
export const SET_SORT_FIELD = 'SET_SORT_FIELD';
export const SET_SEARCH_QUERY = 'SET_SEARCH_QUERY';
diff --git a/app/assets/javascripts/error_tracking/store/list/mutations.js b/app/assets/javascripts/error_tracking/store/list/mutations.js
index 048660eaeeb..5648013bb89 100644
--- a/app/assets/javascripts/error_tracking/store/list/mutations.js
+++ b/app/assets/javascripts/error_tracking/store/list/mutations.js
@@ -44,6 +44,9 @@ export default {
throw e;
}
},
+ [types.SET_PAGINATION](state, pagination) {
+ state.pagination = pagination;
+ },
[types.SET_SORT_FIELD](state, field) {
state.sortField = field;
},
diff --git a/app/assets/javascripts/error_tracking/store/list/state.js b/app/assets/javascripts/error_tracking/store/list/state.js
index f20b707142e..93dc1040fde 100644
--- a/app/assets/javascripts/error_tracking/store/list/state.js
+++ b/app/assets/javascripts/error_tracking/store/list/state.js
@@ -6,4 +6,5 @@ export default () => ({
searchQuery: null,
indexPath: '',
recentSearches: [],
+ pagination: {},
});
diff --git a/app/assets/javascripts/ide/stores/utils.js b/app/assets/javascripts/ide/stores/utils.js
index be7ee80656f..a29d9bf3b40 100644
--- a/app/assets/javascripts/ide/stores/utils.js
+++ b/app/assets/javascripts/ide/stores/utils.js
@@ -162,7 +162,7 @@ export const createCommitPayload = ({
});
export const createNewMergeRequestUrl = (projectUrl, source, target) =>
- `${projectUrl}/merge_requests/new?merge_request[source_branch]=${source}&merge_request[target_branch]=${target}&nav_source=webide`;
+ `${projectUrl}/-/merge_requests/new?merge_request[source_branch]=${source}&merge_request[target_branch]=${target}&nav_source=webide`;
const sortTreesByTypeAndName = (a, b) => {
if (a.type === 'tree' && b.type === 'blob') {
diff --git a/app/assets/javascripts/merge_request_tabs.js b/app/assets/javascripts/merge_request_tabs.js
index 52674107df2..8d09e88e772 100644
--- a/app/assets/javascripts/merge_request_tabs.js
+++ b/app/assets/javascripts/merge_request_tabs.js
@@ -32,17 +32,17 @@ import { __ } from './locale';
//
// <ul class="nav-links merge-request-tabs">
// <li class="notes-tab active">
-// <a data-action="notes" data-target="#notes" data-toggle="tab" href="/foo/bar/merge_requests/1">
+// <a data-action="notes" data-target="#notes" data-toggle="tab" href="/foo/bar/-/merge_requests/1">
// Discussion
// </a>
// </li>
// <li class="commits-tab">
-// <a data-action="commits" data-target="#commits" data-toggle="tab" href="/foo/bar/merge_requests/1/commits">
+// <a data-action="commits" data-target="#commits" data-toggle="tab" href="/foo/bar/-/merge_requests/1/commits">
// Commits
// </a>
// </li>
// <li class="diffs-tab">
-// <a data-action="diffs" data-target="#diffs" data-toggle="tab" href="/foo/bar/merge_requests/1/diffs">
+// <a data-action="diffs" data-target="#diffs" data-toggle="tab" href="/foo/bar/-/merge_requests/1/diffs">
// Diffs
// </a>
// </li>
@@ -260,17 +260,17 @@ export default class MergeRequestTabs {
//
// Examples:
//
- // location.pathname # => "/namespace/project/merge_requests/1"
+ // location.pathname # => "/namespace/project/-/merge_requests/1"
// setCurrentAction('diffs')
- // location.pathname # => "/namespace/project/merge_requests/1/diffs"
+ // location.pathname # => "/namespace/project/-/merge_requests/1/diffs"
//
- // location.pathname # => "/namespace/project/merge_requests/1/diffs"
+ // location.pathname # => "/namespace/project/-/merge_requests/1/diffs"
// setCurrentAction('show')
- // location.pathname # => "/namespace/project/merge_requests/1"
+ // location.pathname # => "/namespace/project/-/merge_requests/1"
//
- // location.pathname # => "/namespace/project/merge_requests/1/diffs"
+ // location.pathname # => "/namespace/project/-/merge_requests/1/diffs"
// setCurrentAction('commits')
- // location.pathname # => "/namespace/project/merge_requests/1/commits"
+ // location.pathname # => "/namespace/project/-/merge_requests/1/commits"
//
// Returns the new URL String
setCurrentAction(action) {