fix drag&drop on iOS
This commit is contained in:
Vendored
+15
-7
@@ -1514,6 +1514,14 @@
|
||||
};
|
||||
};
|
||||
|
||||
// src/View/utility.ts
|
||||
function allowDrop(event) {
|
||||
event.preventDefault();
|
||||
}
|
||||
function allowDrag(event) {
|
||||
event.dataTransfer?.setData("text", "");
|
||||
}
|
||||
|
||||
// src/ViewModel/Pages/taskViewModel.ts
|
||||
var TaskViewModel = class {
|
||||
// init
|
||||
@@ -1560,7 +1568,8 @@
|
||||
selectedVersionId = new State("");
|
||||
versionIds = new ListState();
|
||||
// methods
|
||||
dragStart = () => {
|
||||
dragStart = (event) => {
|
||||
allowDrag(event);
|
||||
this.coreViewModel.draggedObject.value = this;
|
||||
};
|
||||
setCategoryAndStatus = (category, status) => {
|
||||
@@ -1620,7 +1629,10 @@
|
||||
this.versionIds.add(...sortedVersionIds);
|
||||
};
|
||||
switchVersion = (versionId) => {
|
||||
const taskFileContent = this.boardsAndTasksModel.getSpecificTaskFileContent(this.task.fileId, versionId);
|
||||
const taskFileContent = this.boardsAndTasksModel.getSpecificTaskFileContent(
|
||||
this.task.fileId,
|
||||
versionId
|
||||
);
|
||||
if (taskFileContent == null) return;
|
||||
this.task = taskFileContent;
|
||||
this.loadTaskData();
|
||||
@@ -2646,6 +2658,7 @@
|
||||
{
|
||||
draggable: "true",
|
||||
class: "tile flex-no",
|
||||
style: "user-select: none; -webkit-user-select: none",
|
||||
"on:click": taskViewModel.open,
|
||||
"on:dragstart": taskViewModel.dragStart
|
||||
},
|
||||
@@ -2675,11 +2688,6 @@
|
||||
return TaskEntry(taskViewModel);
|
||||
};
|
||||
|
||||
// src/View/utility.ts
|
||||
function allowDrop(event) {
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
// src/View/ChatPages/boardKanbanPage.tsx
|
||||
function BoardKanbanPage(boardViewModel) {
|
||||
const categoryNameConverter = (categoryName) => {
|
||||
|
||||
@@ -16,6 +16,7 @@ export function TaskEntry(taskViewModel: TaskViewModel) {
|
||||
<button
|
||||
draggable="true"
|
||||
class="tile flex-no"
|
||||
style="user-select: none; -webkit-user-select: none"
|
||||
on:click={taskViewModel.open}
|
||||
on:dragstart={taskViewModel.dragStart}
|
||||
>
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
export function allowDrop(event: DragEvent) {
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
export function allowDrag(event: DragEvent) {
|
||||
event.dataTransfer?.setData("text", "")
|
||||
}
|
||||
@@ -7,6 +7,7 @@ import { localeCompare, padZero } from "../../Model/Utility/utility";
|
||||
|
||||
import BoardViewModel from "./boardViewModel";
|
||||
import CoreViewModel from "../Global/coreViewModel";
|
||||
import { allowDrag } from "../../View/utility";
|
||||
|
||||
export default class TaskViewModel {
|
||||
boardsAndTasksModel: BoardsAndTasksModel;
|
||||
@@ -58,7 +59,8 @@ export default class TaskViewModel {
|
||||
versionIds: React.ListState<string> = new React.ListState();
|
||||
|
||||
// methods
|
||||
dragStart = (): void => {
|
||||
dragStart = (event: DragEvent): void => {
|
||||
allowDrag(event);
|
||||
this.coreViewModel.draggedObject.value = this;
|
||||
};
|
||||
|
||||
@@ -71,7 +73,7 @@ export default class TaskViewModel {
|
||||
setBoardId = (boardId: string): void => {
|
||||
this.boardId.value = boardId;
|
||||
this.save();
|
||||
}
|
||||
};
|
||||
|
||||
// view
|
||||
open = (): void => {
|
||||
@@ -132,7 +134,10 @@ export default class TaskViewModel {
|
||||
|
||||
switchVersion = (versionId: string): void => {
|
||||
const taskFileContent: TaskFileContent | null =
|
||||
this.boardsAndTasksModel.getSpecificTaskFileContent(this.task.fileId, versionId);
|
||||
this.boardsAndTasksModel.getSpecificTaskFileContent(
|
||||
this.task.fileId,
|
||||
versionId
|
||||
);
|
||||
if (taskFileContent == null) return;
|
||||
|
||||
this.task = taskFileContent;
|
||||
|
||||
Reference in New Issue
Block a user