mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-12-27 18:40:28 +00:00
Fix: bug with List Widget where the counter-last variable is not always accurately updated on refresh (#5883)
This commit is contained in:
parent
be026aa308
commit
cb726f40fa
@ -236,6 +236,11 @@ ListWidget.prototype.handleListChanges = function(changedTiddlers) {
|
||||
hasRefreshed = hasRefreshed || refreshed;
|
||||
}
|
||||
}
|
||||
// If there are items to remove and we have not refreshed then recreate the item that will now be at the last position
|
||||
if(!hasRefreshed && this.children.length > this.list.length) {
|
||||
this.removeListItem(this.list.length-1);
|
||||
this.insertListItem(this.list.length-1,this.list[this.list.length-1]);
|
||||
}
|
||||
} else {
|
||||
// Cycle through the list, inserting and removing list items as needed
|
||||
for(t=0; t<this.list.length; t++) {
|
||||
|
@ -465,6 +465,31 @@ describe("Widget module", function() {
|
||||
expect(wrapper.children[0].children[13].sequenceNumber).toBe(43);
|
||||
expect(wrapper.children[0].children[14].sequenceNumber).toBe(44);
|
||||
expect(wrapper.children[0].children[15].sequenceNumber).toBe(45);
|
||||
//Remove last tiddler
|
||||
wiki.deleteTiddler("TiddlerTwo");
|
||||
//Refresh
|
||||
refreshWidgetNode(widgetNode,wrapper,["TiddlerTwo"]);
|
||||
//Test the refreshing
|
||||
expect(wrapper.innerHTML).toBe("<p>Jalapeno Peppers1yesnoLemon Squash2nonoJolly Old World3nonoSomething4noyes</p>");
|
||||
// Test the sequence numbers in the DOM
|
||||
expect(wrapper.sequenceNumber).toBe(0);
|
||||
expect(wrapper.children[0].sequenceNumber).toBe(1);
|
||||
expect(wrapper.children[0].children[0].sequenceNumber).toBe(18);
|
||||
expect(wrapper.children[0].children[1].sequenceNumber).toBe(19);
|
||||
expect(wrapper.children[0].children[2].sequenceNumber).toBe(20);
|
||||
expect(wrapper.children[0].children[3].sequenceNumber).toBe(21);
|
||||
expect(wrapper.children[0].children[4].sequenceNumber).toBe(22);
|
||||
expect(wrapper.children[0].children[5].sequenceNumber).toBe(23);
|
||||
expect(wrapper.children[0].children[6].sequenceNumber).toBe(24);
|
||||
expect(wrapper.children[0].children[7].sequenceNumber).toBe(25);
|
||||
expect(wrapper.children[0].children[8].sequenceNumber).toBe(26);
|
||||
expect(wrapper.children[0].children[9].sequenceNumber).toBe(27);
|
||||
expect(wrapper.children[0].children[10].sequenceNumber).toBe(28);
|
||||
expect(wrapper.children[0].children[11].sequenceNumber).toBe(29);
|
||||
expect(wrapper.children[0].children[12].sequenceNumber).toBe(50);
|
||||
expect(wrapper.children[0].children[13].sequenceNumber).toBe(51);
|
||||
expect(wrapper.children[0].children[14].sequenceNumber).toBe(52);
|
||||
expect(wrapper.children[0].children[15].sequenceNumber).toBe(53);
|
||||
});
|
||||
|
||||
it("should deal with the list widget followed by other widgets", function() {
|
||||
|
Loading…
Reference in New Issue
Block a user