Properly sort cards if order is the same
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
@@ -109,7 +109,7 @@ class CardMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
*/
|
*/
|
||||||
public function find($id) {
|
public function find($id) {
|
||||||
$sql = 'SELECT * FROM `*PREFIX*deck_cards` ' .
|
$sql = 'SELECT * FROM `*PREFIX*deck_cards` ' .
|
||||||
'WHERE `id` = ?';
|
'WHERE `id` = ? ORDER BY `order`, `id`';
|
||||||
/** @var Card $card */
|
/** @var Card $card */
|
||||||
$card = $this->findEntity($sql, [$id]);
|
$card = $this->findEntity($sql, [$id]);
|
||||||
$labels = $this->labelMapper->findAssignedLabelsForCard($card->id);
|
$labels = $this->labelMapper->findAssignedLabelsForCard($card->id);
|
||||||
@@ -120,14 +120,14 @@ class CardMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
|
|
||||||
public function findAll($stackId, $limit = null, $offset = null, $since = -1) {
|
public function findAll($stackId, $limit = null, $offset = null, $since = -1) {
|
||||||
$sql = 'SELECT * FROM `*PREFIX*deck_cards`
|
$sql = 'SELECT * FROM `*PREFIX*deck_cards`
|
||||||
WHERE `stack_id` = ? AND NOT archived AND deleted_at = 0 AND last_modified > ? ORDER BY `order`';
|
WHERE `stack_id` = ? AND NOT archived AND deleted_at = 0 AND last_modified > ? ORDER BY `order`, `id`';
|
||||||
return $this->findEntities($sql, [$stackId, $since], $limit, $offset);
|
return $this->findEntities($sql, [$stackId, $since], $limit, $offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function findDeleted($boardId, $limit = null, $offset = null) {
|
public function findDeleted($boardId, $limit = null, $offset = null) {
|
||||||
$sql = 'SELECT c.* FROM `*PREFIX*deck_cards` c
|
$sql = 'SELECT c.* FROM `*PREFIX*deck_cards` c
|
||||||
INNER JOIN `*PREFIX*deck_stacks` s ON s.id = c.stack_id
|
INNER JOIN `*PREFIX*deck_stacks` s ON s.id = c.stack_id
|
||||||
WHERE `s`.`board_id` = ? AND NOT c.archived AND NOT c.deleted_at = 0 ORDER BY `c`.`order`';
|
WHERE `s`.`board_id` = ? AND NOT c.archived AND NOT c.deleted_at = 0 ORDER BY `c`.`order`, `c`.`id`';
|
||||||
return $this->findEntities($sql, [$boardId], $limit, $offset);
|
return $this->findEntities($sql, [$boardId], $limit, $offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,7 +138,7 @@ class CardMapper extends DeckMapper implements IPermissionMapper {
|
|||||||
|
|
||||||
public function findAllByStack($stackId, $limit = null, $offset = null) {
|
public function findAllByStack($stackId, $limit = null, $offset = null) {
|
||||||
$sql = 'SELECT id FROM `*PREFIX*deck_cards`
|
$sql = 'SELECT id FROM `*PREFIX*deck_cards`
|
||||||
WHERE `stack_id` = ?';
|
WHERE `stack_id` = ? ORDER BY `order`, `id`';
|
||||||
return $this->findEntities($sql, [$stackId], $limit, $offset);
|
return $this->findEntities($sql, [$stackId], $limit, $offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ export default {
|
|||||||
return card.title.toLowerCase().includes(getters.getSearchQuery.toLowerCase())
|
return card.title.toLowerCase().includes(getters.getSearchQuery.toLowerCase())
|
||||||
|| card.description.toLowerCase().includes(getters.getSearchQuery.toLowerCase())
|
|| card.description.toLowerCase().includes(getters.getSearchQuery.toLowerCase())
|
||||||
})
|
})
|
||||||
.sort((a, b) => a.order - b.order)
|
.sort((a, b) => a.order - b.order || a.createdAt - b.createdAt)
|
||||||
},
|
},
|
||||||
cardById: state => (id) => {
|
cardById: state => (id) => {
|
||||||
return state.cards.find((card) => card.id === id)
|
return state.cards.find((card) => card.id === id)
|
||||||
|
|||||||
Reference in New Issue
Block a user