diff --git a/app/assets/javascripts/vue_pipelines_index/index.js.es6 b/app/assets/javascripts/vue_pipelines_index/index.js.es6 index 6ecbc1ba8ff9485e243269d67ea2fe21a35006c2..4e335ca1d1349cd56cc0c39f61c22ccca6b45d4f 100644 --- a/app/assets/javascripts/vue_pipelines_index/index.js.es6 +++ b/app/assets/javascripts/vue_pipelines_index/index.js.es6 @@ -18,12 +18,12 @@ const project = document.querySelector('.pipelines'); Vue.use(VueResource); - // Vue.config.silent = true; return new Vue({ el: '.vue-pipelines-index', data: { scope: project.dataset.projectId, + count: project.dataset.count, store: new gl.PipelineStore(), }, components: { @@ -31,7 +31,12 @@ }, template: ` <div> - <vue-pipelines :scope='scope' :store='store'></vue-pipelines> + <vue-pipelines + :scope='scope' + :store='store' + :count='count' + > + </vue-pipelines> </div> `, }); diff --git a/app/assets/javascripts/vue_pipelines_index/pipelines.vue.js.es6 b/app/assets/javascripts/vue_pipelines_index/pipelines.vue.js.es6 index 4706ea61c8e79fca7cd3aae0abaac6bd8a87f7dd..2f3bdc7a2a95907dd602ca6116ec6e0006cefa09 100644 --- a/app/assets/javascripts/vue_pipelines_index/pipelines.vue.js.es6 +++ b/app/assets/javascripts/vue_pipelines_index/pipelines.vue.js.es6 @@ -23,6 +23,7 @@ props: [ 'scope', 'store', + 'count', ], created() { const url = window.location.toString(); @@ -78,6 +79,7 @@ <vue-gl-pagination :changepage='changepage' :pages='pipelines.length' + :count='count' > </vue-gl-pagination> </div> diff --git a/app/assets/javascripts/vue_pipelines_index/vue_gl_pagination.vue.js.es6 b/app/assets/javascripts/vue_pipelines_index/vue_gl_pagination.vue.js.es6 index 29d4a4df51153be5c347275c36bedef108927066..977d0e2b240a1702dc59977489023349f46f5bc7 100644 --- a/app/assets/javascripts/vue_pipelines_index/vue_gl_pagination.vue.js.es6 +++ b/app/assets/javascripts/vue_pipelines_index/vue_gl_pagination.vue.js.es6 @@ -6,7 +6,14 @@ props: [ 'changepage', 'pages', + 'count', ], + computed: { + lastpage() { + const lastPage = Math.ceil(+this.count / 5); + return `pipelines?page=${lastPage}`; + }, + }, template: ` <div class="gl-pagination"> <ul class="pagination clearfix"> @@ -45,7 +52,7 @@ </a> </li> <li class="last"> - <a href="pipelines?page=936">Last »</a> + <a :href='lastpage'>Last »</a> </li> </ul> </div> diff --git a/app/views/projects/pipelines/index.html.haml b/app/views/projects/pipelines/index.html.haml index bd649a4fa2e2e3a04ae77a1b9fa67e67a0624429..7bf727be930f190a0768d0960657767fb9b49bf3 100644 --- a/app/views/projects/pipelines/index.html.haml +++ b/app/views/projects/pipelines/index.html.haml @@ -36,7 +36,7 @@ = link_to ci_lint_path, class: 'btn btn-default' do %span CI Lint - %div.content-list.pipelines{"data-project-id": "#{@project.id}"} + %div.content-list.pipelines{"data-project-id": "#{@project.id}", "data-count": "#{@pipelines_count}"} - stages = @pipelines.stages - if @pipelines.blank? %div