Skip to content

Commit 80d492d

Browse files
committed
work
1 parent 6fe01f0 commit 80d492d

File tree

3 files changed

+41
-27
lines changed

3 files changed

+41
-27
lines changed

src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/TaskStateTaskController.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,18 @@ public final String moveTaskToAnotherProject(
222222
return project.getUrl();
223223
}
224224

225+
@RequestMapping(path = "/{taskId}/move/to/project/root", method = RequestMethod.GET)
226+
public final String moveTaskToRootProject(
227+
@NotNull @PathVariable("taskId") Task task,
228+
@NotNull @ModelAttribute("userSession") UserSessionBean userSession,
229+
Model model
230+
) {
231+
task = taskService.moveTaskToRootProject(task);
232+
userSession.setLastProjectId(0L);
233+
model.addAttribute("userSession",userSession);
234+
return "redirect:/project/root";
235+
}
236+
225237
@RequestMapping(path = "/{taskId}/move/to/taskstate/inbox", method = RequestMethod.GET)
226238
public final String moveTaskToInbox(
227239
@NotNull @PathVariable("taskId") Task task,

src/main/resources/templates/layout/page.html

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -160,31 +160,30 @@
160160
var srcId = ev.dataTransfer.getData("task").split("_")[1];
161161
var targetProjectIdInfo = ev.target.id;
162162
var targetProjectId = targetProjectIdInfo.split("_")[1];
163-
//alert("srcType "+srcType);
164-
//alert("srcId "+srcId);
165-
//alert("targetProjectIdInfo "+targetProjectIdInfo);
166-
//alert("targetProjectId "+targetProjectId);
167163
if(srcType == 'task') {
168-
var myUrl = '[(@{/taskstate/task/})]' + srcId + '/move/to/project/' + targetProjectId;
169-
alert("myUrl "+myUrl);
170-
window.location.replace(myUrl);
164+
if(targetProjectId == 0){
165+
var myUrl = '[(@{/taskstate/task/})]' + srcId + '/move/to/project/root';
166+
window.location.replace(myUrl);
167+
} else {
168+
var myUrl = '[(@{/taskstate/task/})]' + srcId + '/move/to/project/' + targetProjectId;
169+
window.location.replace(myUrl);
170+
}
171171
} else if(srcType == 'project') {
172-
var myUrl = '[(@{/project/})]' + srcId + '/project/move/to/project/' + targetProjectId;
173-
alert("myUrl "+myUrl);
174-
window.location.replace(myUrl);
172+
var myUrl = '[(@{/project/})]' + srcId + '/project/move/to/project/' + targetProjectId;
173+
window.location.replace(myUrl);
175174
}
176175
}
177176

178177
function dropTask2Task(ev) {
179-
ev.preventDefault();
180178
var myUrl = '';
181179
var requestPath = '[(@{{url}(url=${#request.getRequestURI()})})]';
182180
var requestPathFirst = requestPath.split("/")[1];
183-
var requestPathSecond = requestPath.split("/")[2];
181+
var requestPathSecond = requestPath.split("/")[2];
184182
var srcType = ev.dataTransfer.getData("task").split("_")[0];
185183
var sourceTaskId = ev.dataTransfer.getData("task").split("_")[1];
186184
var destinationTaskIdInfo = ev.target.id;
187185
var destinationTaskId = destinationTaskIdInfo.split("_")[1];
186+
ev.preventDefault();
188187
if(srcType === 'task') {
189188
if(requestPathFirst === 'taskstate'){
190189
myUrl = '[(@{/taskstate/task/})]' + sourceTaskId + '/changeorderto/' + destinationTaskId;
@@ -198,6 +197,7 @@
198197

199198
function allowDrop2Project(ev){
200199
ev.preventDefault();
200+
return true
201201
}
202202

203203
function dragProject(ev) {

src/main/resources/templates/layout/projects.html

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@
99
<div class="row col" id="tw-project-submenu-col">
1010
<nav>
1111
<ul id="rootProject" style="list-style: none;">
12-
<li>
13-
<span id="tw-project-submenu-root" id="project_0"
12+
<li id="tw-project-submenu-root">
13+
<span id="project_0"
1414
ondrop="drop2project(event)" ondragover="allowDrop2Project(event)">
1515
<a th:href="@{/project/root}"
1616
th:if="${thisProject != null or taskstateType != null}"
17-
class="m-2 btn btn-outline-dark btn-sm">
18-
<i class="fas fa-folder-open"></i>
19-
<span th:text="#{right.nav.projects}">Projects</span>
17+
class="m-2 btn btn-outline-dark btn-sm" id="project_0_a">
18+
<i class="fas fa-folder-open" id="project_0_a_i"></i>
19+
<span th:text="#{right.nav.projects}" id="project_0_a_span">Projects</span>
2020
</a>
2121
<a th:if="${thisProject == null and taskstateType == null}"
22-
th:href="@{/project/root}" class="m-2 btn btn-dark btn-sm">
23-
<i class="fas fa-folder-open"></i>
24-
<span th:text="#{right.nav.projects}">Projects</span>
22+
th:href="@{/project/root}" class="m-2 btn btn-dark btn-sm" id="project_0_aa">
23+
<i class="fas fa-folder-open" id="project_0_aa_i"></i>
24+
<span th:text="#{right.nav.projects}" id="project_0_aa_span">Projects</span>
2525
</a>
2626
</span>
2727
<span th:if="${rootProjects != null and rootProjects.size() gt 0}">
@@ -41,20 +41,22 @@
4141
<li th:each="project : ${projectList}">
4242
<span th:id="'project_' + ${project.id}"
4343
th:if="${project == thisProject}"
44-
ondrop="drop2project(event)" ondragover="allowDrop2Project(event)"
44+
ondrop="drop2project(event)"
45+
ondragover="allowDrop2Project(event)"
4546
draggable="true" ondragstart="dragProject(event)"
4647
class="btn btn-dark btn-sm">
47-
<i class="fa-solid fa-diagram-project"></i>
48-
<strong th:text="${project.name}"></strong>
48+
<i class="fa-solid fa-diagram-project" th:id="'project_' + ${project.id} + '_i'"></i>
49+
<strong th:text="${project.name}" th:id="'project_' + ${project.id} + '_strong'"></strong>
4950
</span>
5051
<span th:id="'project_' + ${project.id}"
5152
th:if="${project != thisProject}"
52-
ondrop="drop2project(event)" ondragover="allowDrop2Project(event)"
53+
ondrop="drop2project(event)"
54+
ondragover="allowDrop2Project(event)"
5355
draggable="true" ondragstart="dragProject(event)"
5456
class="m-2 btn btn-outline-dark btn-sm">
55-
<a th:href="@{/project/{id}(id=${project.id})}">
56-
<i class="fa-solid fa-diagram-project"></i>
57-
<span th:text="${project.name}"></span>
57+
<a th:href="@{/project/{id}(id=${project.id})}" th:id="'project_' + ${project.id} + '_a'">
58+
<i class="fa-solid fa-diagram-project" th:id="'project_' + ${project.id} + '_a_i'"></i>
59+
<span th:text="${project.name}" th:id="'project_' + ${project.id} + '_a_span'"></span>
5860
</a>
5961
</span>
6062
<span th:if="${project.children.size() gt 0}">

0 commit comments

Comments
 (0)