mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	Fix repeat range selections were clashing
This commit is contained in:
		| @@ -257,6 +257,7 @@ export class DocumentListViewService { | |||||||
|     if (this.selected.has(d.id)) this.selected.delete(d.id) |     if (this.selected.has(d.id)) this.selected.delete(d.id) | ||||||
|     else this.selected.add(d.id) |     else this.selected.add(d.id) | ||||||
|     this.lastSelectedDocumentIndex = this.documentIndexInCurrentView(d.id) |     this.lastSelectedDocumentIndex = this.documentIndexInCurrentView(d.id) | ||||||
|  |     this.lastSelectedDocumentToIndex = null | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   selectRangeTo(d: PaperlessDocument) { |   selectRangeTo(d: PaperlessDocument) { | ||||||
| @@ -265,12 +266,15 @@ export class DocumentListViewService { | |||||||
|       const fromIndex = Math.min(this.lastSelectedDocumentIndex, documentToIndex) |       const fromIndex = Math.min(this.lastSelectedDocumentIndex, documentToIndex) | ||||||
|       const toIndex = Math.max(this.lastSelectedDocumentIndex, documentToIndex) |       const toIndex = Math.max(this.lastSelectedDocumentIndex, documentToIndex) | ||||||
|  |  | ||||||
|       if ((this.lastSelectedDocumentToIndex > this.lastSelectedDocumentIndex && documentToIndex < this.lastSelectedDocumentIndex) || |       if (this.lastSelectedDocumentToIndex !== null && | ||||||
|           (this.lastSelectedDocumentToIndex < this.lastSelectedDocumentIndex && documentToIndex > this.lastSelectedDocumentIndex)) { |           ((this.lastSelectedDocumentToIndex > this.lastSelectedDocumentIndex && documentToIndex < this.lastSelectedDocumentIndex) || | ||||||
|           // new click is "opposite side" of anchor so we invert the old selection |           (this.lastSelectedDocumentToIndex < this.lastSelectedDocumentIndex && documentToIndex > this.lastSelectedDocumentIndex))) { | ||||||
|           this.documents.slice(Math.min(this.lastSelectedDocumentIndex, this.lastSelectedDocumentToIndex), Math.max(this.lastSelectedDocumentIndex, this.lastSelectedDocumentToIndex) + 1).forEach(d => { |         console.log('invert'); | ||||||
|             this.selected.delete(d.id) |  | ||||||
|           }) |         // new click is "opposite side" of anchor so we invert the old selection | ||||||
|  |         this.documents.slice(Math.min(this.lastSelectedDocumentIndex, this.lastSelectedDocumentToIndex), Math.max(this.lastSelectedDocumentIndex, this.lastSelectedDocumentToIndex) + 1).forEach(d => { | ||||||
|  |           this.selected.delete(d.id) | ||||||
|  |         }) | ||||||
|       } |       } | ||||||
|  |  | ||||||
|       this.documents.slice(fromIndex, toIndex + 1).forEach(d => { |       this.documents.slice(fromIndex, toIndex + 1).forEach(d => { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Michael Shamoon
					Michael Shamoon