Skip to content
Snippets Groups Projects
Commit 02cc659e authored by Winnie Hellmann's avatar Winnie Hellmann Committed by Mike Greiling
Browse files

Sort by position in issue boards store addList()

parent 5e88463d
No related branches found
No related tags found
No related merge requests found
<script>
/* global ListLabel */
import _ from 'underscore';
import Cookies from 'js-cookie';
import boardsStore from '../stores/boards_store';
 
Loading
Loading
@@ -29,8 +28,6 @@ export default {
});
});
 
boardsStore.state.lists = _.sortBy(boardsStore.state.lists, 'position');
// Save the labels
gl.boardService
.generateDefaultLists()
Loading
Loading
import $ from 'jquery';
import _ from 'underscore';
import Vue from 'vue';
 
import Flash from '~/flash';
Loading
Loading
@@ -106,18 +105,23 @@ export default () => {
gl.boardService
.all()
.then(res => res.data)
.then(data => {
data.forEach(board => {
const list = boardsStore.addList(board, this.defaultAvatar);
if (list.type === 'closed') {
list.position = Infinity;
} else if (list.type === 'backlog') {
list.position = -1;
.then(lists => {
lists.forEach(listObj => {
let { position } = listObj;
if (listObj.list_type === 'closed') {
position = Infinity;
} else if (listObj.list_type === 'backlog') {
position = -1;
}
});
 
this.state.lists = _.sortBy(this.state.lists, 'position');
boardsStore.addList(
{
...listObj,
position,
},
this.defaultAvatar,
);
});
 
boardsStore.addBlankState();
this.loading = false;
Loading
Loading
Loading
Loading
@@ -45,7 +45,7 @@ const boardsStore = {
},
addList(listObj, defaultAvatar) {
const list = new List(listObj, defaultAvatar);
this.state.lists.push(list);
this.state.lists = _.sortBy([...this.state.lists, list], 'position');
 
return list;
},
Loading
Loading
@@ -82,8 +82,6 @@ const boardsStore = {
title: __('Welcome to your Issue Board!'),
position: 0,
});
this.state.lists = _.sortBy(this.state.lists, 'position');
},
removeBlankState() {
this.removeList('blank');
Loading
Loading
Loading
Loading
@@ -44,6 +44,15 @@ describe('Store', () => {
expect(boardsStore.state.lists.length).toBe(0);
});
 
describe('addList', () => {
it('sorts by position', () => {
boardsStore.addList({ position: 2 });
boardsStore.addList({ position: 1 });
expect(boardsStore.state.lists[0].position).toBe(1);
});
});
describe('lists', () => {
it('creates new list without persisting to DB', () => {
boardsStore.addList(listObj);
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment