Skip to content

Commit 120c8e7

Browse files
committed
Remove JS globals related to timetracking and due date
Refactor to avoid these globals. Should work exactly as before.
1 parent c85bb62 commit 120c8e7

File tree

3 files changed

+42
-37
lines changed

3 files changed

+42
-37
lines changed

integrations/timetracking_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ func testViewTimetrackingControls(t *testing.T, session *TestSession, user, repo
4040

4141
htmlDoc := NewHTMLParser(t, resp.Body)
4242

43-
htmlDoc.AssertElement(t, ".timetrack .start-add .start", canTrackTime)
44-
htmlDoc.AssertElement(t, ".timetrack .start-add .add-time", canTrackTime)
43+
htmlDoc.AssertElement(t, ".timetrack .issue-start-time", canTrackTime)
44+
htmlDoc.AssertElement(t, ".timetrack .issue-add-time", canTrackTime)
4545

4646
req = NewRequestWithValues(t, "POST", path.Join(user, repo, "issues", issue, "times", "stopwatch", "toggle"), map[string]string{
4747
"_csrf": htmlDoc.GetCSRF(),
@@ -56,8 +56,8 @@ func testViewTimetrackingControls(t *testing.T, session *TestSession, user, repo
5656
events := htmlDoc.doc.Find(".event > span.text")
5757
assert.Contains(t, events.Last().Text(), "started working")
5858

59-
htmlDoc.AssertElement(t, ".timetrack .stop-cancel .stop", true)
60-
htmlDoc.AssertElement(t, ".timetrack .stop-cancel .cancel", true)
59+
htmlDoc.AssertElement(t, ".timetrack .issue-stop-time", true)
60+
htmlDoc.AssertElement(t, ".timetrack .issue-cancel-time", true)
6161

6262
// Sleep for 1 second to not get wrong order for stopping timer
6363
time.Sleep(time.Second)

templates/repo/issue/view_content/sidebar.tmpl

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -336,18 +336,18 @@
336336
{{$.CsrfTokenHtml}}
337337
</form>
338338
{{if $.IsStopwatchRunning}}
339-
<div class="ui buttons fluid stop-cancel">
340-
<button onclick="this.disabled=true;window.toggleStopwatch()" class="ui button stop">{{.i18n.Tr "repo.issues.stop_tracking"}}</button>
341-
<button onclick="this.disabled=true;window.cancelStopwatch()" class="ui negative button cancel">{{.i18n.Tr "repo.issues.cancel_tracking"}}</button>
339+
<div class="ui buttons fluid">
340+
<button class="ui button issue-stop-time">{{.i18n.Tr "repo.issues.stop_tracking"}}</button>
341+
<button class="ui negative button issue-cancel-time">{{.i18n.Tr "repo.issues.cancel_tracking"}}</button>
342342
</div>
343343
{{else}}
344344
{{if .HasUserStopwatch}}
345345
<div class="ui warning message">
346346
{{.i18n.Tr "repo.issues.tracking_already_started" .OtherStopwatchURL | Safe}}
347347
</div>
348348
{{end}}
349-
<div class="ui buttons two fluid start-add">
350-
<button onclick="this.disabled=true;window.toggleStopwatch()" class="ui button poping up start" data-content='{{.i18n.Tr "repo.issues.start_tracking"}}' data-position="top center" data-variation="small inverted">{{.i18n.Tr "repo.issues.start_tracking_short"}}</button>
349+
<div class="ui buttons two fluid">
350+
<button class="ui button poping up issue-start-time" data-content='{{.i18n.Tr "repo.issues.start_tracking"}}' data-position="top center" data-variation="small inverted">{{.i18n.Tr "repo.issues.start_tracking_short"}}</button>
351351
<div class="ui mini modal">
352352
<div class="header">{{.i18n.Tr "repo.issues.add_time"}}</div>
353353
<div class="content">
@@ -362,7 +362,7 @@
362362
<div class="ui red cancel button">{{.i18n.Tr "repo.issues.add_time_cancel"}}</div>
363363
</div>
364364
</div>
365-
<button onclick="window.timeAddManual()" class="ui button green poping up add-time" data-content='{{.i18n.Tr "repo.issues.add_time"}}' data-position="top center" data-variation="small inverted">{{.i18n.Tr "repo.issues.add_time_short"}}</button>
365+
<button class="ui button green poping up issue-add-time" data-content='{{.i18n.Tr "repo.issues.add_time"}}' data-position="top center" data-variation="small inverted">{{.i18n.Tr "repo.issues.add_time_short"}}</button>
366366
</div>
367367
{{end}}
368368
</div>
@@ -407,8 +407,8 @@
407407
{{end}}
408408
{{if and .HasIssuesOrPullsWritePermission (not .Repository.IsArchived)}}
409409
<br/>
410-
<a style="cursor:pointer;" onclick="window.toggleDeadlineForm();"><i class="edit icon"></i>{{$.i18n.Tr "repo.issues.due_date_form_edit"}}</a> -
411-
<a style="cursor:pointer;" onclick="window.updateDeadline('');"><i class="remove icon"></i>{{$.i18n.Tr "repo.issues.due_date_form_remove"}}</a>
410+
<a class="issue-due-edit"><i class="edit icon"></i>{{$.i18n.Tr "repo.issues.due_date_form_edit"}}</a> -
411+
<a class="issue-due-remove"><i class="remove icon"></i>{{$.i18n.Tr "repo.issues.due_date_form_remove"}}</a>
412412
{{end}}
413413
</p>
414414
{{else}}
@@ -417,7 +417,7 @@
417417

418418
{{if and .HasIssuesOrPullsWritePermission (not .Repository.IsArchived)}}
419419
<div {{if ne .Issue.DeadlineUnix 0}} style="display: none;"{{end}} id="deadlineForm">
420-
<form class="ui fluid action input" action="{{AppSubUrl}}/api/v1/repos/{{.Repository.Owner.Name}}/{{.Repository.Name}}/issues/{{.Issue.Index}}" method="post" id="update-issue-deadline-form" onsubmit="window.setDeadline();return false;">
420+
<form class="ui fluid action input issue-due-form" action="{{AppSubUrl}}/api/v1/repos/{{.Repository.Owner.Name}}/{{.Repository.Name}}/issues/{{.Issue.Index}}" method="post" id="update-issue-deadline-form">
421421
{{$.CsrfTokenHtml}}
422422
<input required placeholder="{{.i18n.Tr "repo.issues.due_date_form"}}" {{if gt .Issue.DeadlineUnix 0}}value="{{.Issue.DeadlineUnix.Format "2006-01-02"}}"{{end}} type="date" name="deadlineDate" id="deadlineDate">
423423
<button class="ui green icon button">

web_src/js/index.js

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
/* exported timeAddManual, toggleStopwatch, cancelStopwatch */
2-
/* exported toggleDeadlineForm, setDeadline, updateDeadline, deleteDependencyModal, cancelCodeComment, onOAuthLoginClick */
1+
/* exported deleteDependencyModal, cancelCodeComment, onOAuthLoginClick */
32

43
import './publicpath.js';
54

@@ -2519,6 +2518,8 @@ $(document).ready(async () => {
25192518
initU2FAuth();
25202519
initU2FRegister();
25212520
initIssueList();
2521+
initIssueTimetracking();
2522+
initIssueDue();
25222523
initWipTitle();
25232524
initPullRequestReview();
25242525
initRepoStatusChecker();
@@ -3098,22 +3099,22 @@ function initVueApp() {
30983099
});
30993100
}
31003101

3101-
window.timeAddManual = function () {
3102-
$('.mini.modal')
3103-
.modal({
3102+
function initIssueTimetracking() {
3103+
$(document).on('click', '.issue-add-time', () => {
3104+
$('.mini.modal').modal({
31043105
duration: 200,
31053106
onApprove() {
31063107
$('#add_time_manual_form').trigger('submit');
31073108
}
31083109
}).modal('show');
3109-
};
3110-
3111-
window.toggleStopwatch = function () {
3112-
$('#toggle_stopwatch_form').trigger('submit');
3113-
};
3114-
window.cancelStopwatch = function () {
3115-
$('#cancel_stopwatch_form').trigger('submit');
3116-
};
3110+
});
3111+
$(document).on('click', '.issue-start-time, .issue-stop-time', () => {
3112+
$('#toggle_stopwatch_form').trigger('submit');
3113+
});
3114+
$(document).on('click', '.issue-cancel-time', () => {
3115+
$('#cancel_stopwatch_form').trigger('submit');
3116+
});
3117+
}
31173118

31183119
function initFilterBranchTagDropdown(selector) {
31193120
$(selector).each(function () {
@@ -3469,16 +3470,7 @@ function initTopicbar() {
34693470
});
34703471
}
34713472

3472-
window.toggleDeadlineForm = function () {
3473-
$('#deadlineForm').fadeToggle(150);
3474-
};
3475-
3476-
window.setDeadline = function () {
3477-
const deadline = $('#deadlineDate').val();
3478-
window.updateDeadline(deadline);
3479-
};
3480-
3481-
window.updateDeadline = function (deadlineString) {
3473+
function updateDeadline(deadlineString) {
34823474
$('#deadline-err-invalid-date').hide();
34833475
$('#deadline-loader').addClass('loading');
34843476

@@ -3512,7 +3504,20 @@ window.updateDeadline = function (deadlineString) {
35123504
$('#deadline-err-invalid-date').show();
35133505
}
35143506
});
3515-
};
3507+
}
3508+
3509+
function initIssueDue() {
3510+
$(document).on('click', '.issue-due-edit', () => {
3511+
$('#deadlineForm').fadeToggle(150);
3512+
});
3513+
$(document).on('click', '.issue-due-remove', () => {
3514+
updateDeadline('');
3515+
});
3516+
$(document).on('submit', '.issue-due-form', () => {
3517+
updateDeadline($('#deadlineDate').val());
3518+
return false;
3519+
});
3520+
}
35163521

35173522
window.deleteDependencyModal = function (id, type) {
35183523
$('.remove-dependency')

0 commit comments

Comments
 (0)