Fix new task order + fix notes order.
This commit is contained in:
parent
fbc9a39485
commit
1c749f68bc
@ -15,6 +15,7 @@
|
|||||||
* New translation: Albanian.
|
* New translation: Albanian.
|
||||||
* Translation updates: Crotian, Japanese.
|
* Translation updates: Crotian, Japanese.
|
||||||
* Updated mod_muc_moderation to upstream.
|
* Updated mod_muc_moderation to upstream.
|
||||||
|
* Fix new task ordering.
|
||||||
|
|
||||||
## 10.3.3
|
## 10.3.3
|
||||||
|
|
||||||
|
@ -107,9 +107,11 @@ export default class MUCNotesView extends DraggablesCustomElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let newOrder = targetNote.get('order') ?? 0
|
let newOrder = targetNote.get('order') ?? 0
|
||||||
if (!onTopHalf) { newOrder = Math.max(0, newOrder + 1) }
|
if (onTopHalf) { newOrder = Math.max(0, newOrder + 1) } // reverse order!
|
||||||
|
|
||||||
this._saveOrders(this.model, note, newOrder)
|
// Warning: the order of the collection is reversed!
|
||||||
|
// _saveOrders needs it in ascending order!
|
||||||
|
this._saveOrders(Array.from(this.model).reverse(), note, newOrder)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +14,6 @@ import { initStorage } from '@converse/headless/utils/storage.js'
|
|||||||
*/
|
*/
|
||||||
class ChatRoomNotes extends Collection {
|
class ChatRoomNotes extends Collection {
|
||||||
model = ChatRoomNote
|
model = ChatRoomNote
|
||||||
comparator = 'order'
|
|
||||||
|
|
||||||
initialize (models, options) {
|
initialize (models, options) {
|
||||||
this.model = ChatRoomNote // don't know why, must do it again here
|
this.model = ChatRoomNote // don't know why, must do it again here
|
||||||
@ -27,11 +26,18 @@ class ChatRoomNotes extends Collection {
|
|||||||
this.on('change:order', () => this.sort())
|
this.on('change:order', () => this.sort())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
comparator (n1, n2) {
|
||||||
|
// must reverse order
|
||||||
|
const o1 = n1.get('order') ?? 0
|
||||||
|
const o2 = n2.get('order') ?? 0
|
||||||
|
return o1 < o2 ? 1 : o1 > o2 ? -1 : 0
|
||||||
|
}
|
||||||
|
|
||||||
async createNote (data) {
|
async createNote (data) {
|
||||||
data = Object.assign({}, data)
|
data = Object.assign({}, data)
|
||||||
|
|
||||||
if (!data.order) {
|
if (!data.order) {
|
||||||
data.order = 0 + Math.max(
|
data.order = 1 + Math.max(
|
||||||
0,
|
0,
|
||||||
...(this.map(n => n.get('order') ?? 0).filter(o => !isNaN(o)))
|
...(this.map(n => n.get('order') ?? 0).filter(o => !isNaN(o)))
|
||||||
)
|
)
|
||||||
|
@ -40,7 +40,7 @@ class ChatRoomTaskList extends Model {
|
|||||||
|
|
||||||
data.list = this.get('id')
|
data.list = this.get('id')
|
||||||
if (!data.order) {
|
if (!data.order) {
|
||||||
data.order = 0 + Math.max(
|
data.order = 1 + Math.max(
|
||||||
0,
|
0,
|
||||||
...(this.getTasks().map(t => t.get('order') ?? 0).filter(o => !isNaN(o)))
|
...(this.getTasks().map(t => t.get('order') ?? 0).filter(o => !isNaN(o)))
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user