mirror of
https://github.com/gitbutlerapp/gitbutler.git
synced 2025-01-06 09:41:27 +03:00
Check for locked status correctly
- always check on boolean property instead of array length
This commit is contained in:
parent
04fb7848ce
commit
f4ba84753b
@ -120,7 +120,7 @@
|
|||||||
if (data instanceof DraggableHunk && data.branchId != branch.id) {
|
if (data instanceof DraggableHunk && data.branchId != branch.id) {
|
||||||
return !data.hunk.locked;
|
return !data.hunk.locked;
|
||||||
} else if (data instanceof DraggableFile && data.branchId && data.branchId != branch.id) {
|
} else if (data instanceof DraggableFile && data.branchId && data.branchId != branch.id) {
|
||||||
return !data.files.some((f) => !!f.lockedIds);
|
return !data.files.some((f) => f.locked);
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -78,7 +78,7 @@
|
|||||||
class="file-list-item"
|
class="file-list-item"
|
||||||
class:selected-draggable={selected}
|
class:selected-draggable={selected}
|
||||||
id={`file-${file.id}`}
|
id={`file-${file.id}`}
|
||||||
data-locked={file.lockedIds.length > 0}
|
data-locked={file.locked}
|
||||||
on:click
|
on:click
|
||||||
on:keydown
|
on:keydown
|
||||||
on:dragstart={() => {
|
on:dragstart={() => {
|
||||||
@ -90,7 +90,7 @@
|
|||||||
|
|
||||||
if ($selectedFiles.length > 0) {
|
if ($selectedFiles.length > 0) {
|
||||||
$selectedFiles.forEach((f) => {
|
$selectedFiles.forEach((f) => {
|
||||||
if (f.lockedIds.length > 0) {
|
if (f.locked) {
|
||||||
const lockedElement = document.getElementById(`file-${f.id}`);
|
const lockedElement = document.getElementById(`file-${f.id}`);
|
||||||
|
|
||||||
if (lockedElement) {
|
if (lockedElement) {
|
||||||
@ -99,13 +99,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if (file.lockedIds.length > 0) {
|
} else if (file.locked) {
|
||||||
draggableElt.classList.add('locked-file-animation');
|
draggableElt.classList.add('locked-file-animation');
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
on:animationend={() => {
|
on:animationend={() => {
|
||||||
// remove the class after the animation ends
|
// remove the class after the animation ends
|
||||||
if (file.lockedIds.length > 0) {
|
if (file.locked) {
|
||||||
draggableElt.classList.remove('locked-file-animation');
|
draggableElt.classList.remove('locked-file-animation');
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
const branchController = getContext(BranchController);
|
const branchController = getContext(BranchController);
|
||||||
|
|
||||||
function accepts(data: any) {
|
function accepts(data: any) {
|
||||||
if (data instanceof DraggableFile) return !data.files.some((f) => !!f.lockedIds);
|
if (data instanceof DraggableFile) return !data.files.some((f) => f.locked);
|
||||||
if (data instanceof DraggableHunk) return !data.hunk.locked;
|
if (data instanceof DraggableHunk) return !data.hunk.locked;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -56,6 +56,12 @@ export class LocalFile {
|
|||||||
return this.hunks.map((h) => h.id);
|
return this.hunks.map((h) => h.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get locked(): boolean {
|
||||||
|
return this.hunks
|
||||||
|
? this.hunks.map((hunk) => hunk.lockedTo).reduce((a, b) => !!(a || b), false)
|
||||||
|
: false;
|
||||||
|
}
|
||||||
|
|
||||||
get lockedIds(): string[] {
|
get lockedIds(): string[] {
|
||||||
return this.hunks
|
return this.hunks
|
||||||
.map((hunk) => hunk.lockedTo)
|
.map((hunk) => hunk.lockedTo)
|
||||||
@ -239,6 +245,10 @@ export class RemoteFile {
|
|||||||
get lockedIds(): string[] {
|
get lockedIds(): string[] {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get locked(): boolean {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface Author {
|
export interface Author {
|
||||||
|
Loading…
Reference in New Issue
Block a user