Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
37cb163
Upd. added dblclick function
veronika-tseleva-cleantalk May 15, 2026
a9b2cd1
Upd. added dblclick function-test
veronika-tseleva-cleantalk May 15, 2026
6dd6e25
Upd. added dblclick function-test
veronika-tseleva-cleantalk May 15, 2026
e10a9b1
Upd. added dblclick function-test
veronika-tseleva-cleantalk May 15, 2026
417ee00
Upd. added dblclick function-test
veronika-tseleva-cleantalk May 15, 2026
ee1e930
Merge branch 'dev' into dbleclick
veronika-tseleva-cleantalk May 18, 2026
1398e5c
Rebuild
veronika-tseleva-cleantalk May 18, 2026
c3fd71a
Rebuild
veronika-tseleva-cleantalk May 18, 2026
77f93b2
Fix. fixed by review
veronika-tseleva-cleantalk May 20, 2026
eed053c
Upd. added comment link
veronika-tseleva-cleantalk May 20, 2026
b09c32c
Upd. added open comment link logic
veronika-tseleva-cleantalk May 20, 2026
b1a9f20
Fix. fixed finished tasks sorting
veronika-tseleva-cleantalk May 20, 2026
72068e9
Fix. fixed by review
veronika-tseleva-cleantalk May 21, 2026
1f7e5f4
Fix. fixed by review
veronika-tseleva-cleantalk May 21, 2026
ff800da
Fix. fixed by review
veronika-tseleva-cleantalk May 21, 2026
b1cee48
Merge pull request #108 from CleanTalk/dbleclick
veronika-tseleva-cleantalk May 21, 2026
b793221
Fix. fixed by review
veronika-tseleva-cleantalk May 21, 2026
33c5975
Fix. fixed by review
veronika-tseleva-cleantalk May 21, 2026
0ff467e
Upd. added cash for all issues
veronika-tseleva-cleantalk May 21, 2026
b611455
Upd. added cash for concrete issue
veronika-tseleva-cleantalk May 23, 2026
717079a
Upd. added seamless comment sending
veronika-tseleva-cleantalk May 23, 2026
f68a387
Merge pull request #109 from CleanTalk/spots-page-links
veronika-tseleva-cleantalk May 23, 2026
f4378aa
Merge branch 'dev' into speed-up-loading
veronika-tseleva-cleantalk May 23, 2026
5052afc
Fix. fixed conflicts
veronika-tseleva-cleantalk May 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
472 changes: 375 additions & 97 deletions dist/doboard-widget-bundle.js

Large diffs are not rendered by default.

36 changes: 29 additions & 7 deletions dist/doboard-widget-bundle.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/doboard-widget-bundle.min.js.map

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions js/src/loaders/SpotFixSVGLoader.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 16 additions & 1 deletion js/src/loaders/SpotFixTemplatesLoader.js
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,9 @@ class SpotFixTemplatesLoader {
<div class="doboard_task_widget-comment_text_container">
<div class="doboard_task_widget-comment_body">{{commentBody}}</div>
<div class="doboard_task_widget-comment_attachments">{{commentAttachments}}</div>
<div class="doboard_task_widget-comment_time">{{commentTime}}</div>
<div id="{{commentId}}" class="doboard_task_widget-comment_time">
<a href="{{commentLink}}">{{commentTime}}</a>
</div>
</div>
</div>
`;
Expand Down Expand Up @@ -353,6 +355,19 @@ class SpotFixTemplatesLoader {
</div>
</div>
</div>
<div class="doboard_task_widget-user_menu-item">
<img src="{{iconListMinimalisticDark}}" alt="" style="margin-right: 12px">
<div style="display: flex; justify-content: space-between; flex-grow: 1; align-items: center">
<span style="display: inline-flex; padding-top: 4px">
<span style="font-weight: 500; font-size: 14px; color: #252A2F; margin-bottom: 4px">
Open spots lists on double click</span>
</span>
<label class="toggle" style="margin-left: 8px">
<input id="spofix-screen-dblckick-list" type="checkbox">
<span class="slider"></span>
</label>
</div>
</div>
<div class="doboard_task_widget-user_menu-item" style="display: none">
<span id="doboard_task_widget-user_menu-logout_button">
<img src="{{iconDoor}}" alt="" style="margin-right: 12px; cursor: pointer">
Expand Down
41 changes: 41 additions & 0 deletions js/src/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,43 @@ if( document.readyState !== 'loading' ) {
document.addEventListener('DOMContentLoaded', spotFixInit);
}

window.addEventListener('dblclick', (event) => {

const selection = window.getSelection();
const selectedData = spotFixGetSelectedData(selection);

if (!document.querySelector('.doboard_task_widget-container') && !selectedData && +localStorage.getItem('spofix-screen-dblckick')) {
window.getSelection().removeAllRanges();
new CleanTalkWidgetDoboard({}, 'all_issues')
}
});

let lastProcessedHash = null;
function checkUrl() {
const currentUrl = window.location.href;
const regex = /#spotfix_comment_(\d+)_(\d+)/;
const match = currentUrl.match(regex);

if (match) {
const currentHash = match[0];

if (currentHash === lastProcessedHash) {
return;
}

lastProcessedHash = currentHash;

const num1 = Number(match[1]);
const num2 = Number(match[2]);
new CleanTalkWidgetDoboard({}, 'concrete_issue', null, {taskId: num1, commentId: num2});
} else {
lastProcessedHash = null;
}
}

window.addEventListener('hashchange', checkUrl);
window.addEventListener('popstate', checkUrl);

function spotFixInit() {
spotfixIndexedDB.init();
wsSpotfix.connect();
Expand All @@ -33,6 +70,9 @@ function spotFixInit() {
})
.catch(err => console.error('project_get error:', err));
}

checkUrl();

}

function loadBotDetector() {
Expand Down Expand Up @@ -218,6 +258,7 @@ function getTaskFullDetails(tasksDetails, taskId) {
commentAuthorName: getAuthorName(author),
commentBody: comment.commentBody,
commentDate: date,
commentId: comment.commentId,
commentTime: time,
commentUserId: comment.userId || 'Unknown User',
commentAttachments: commentAttachments,
Expand Down
4 changes: 4 additions & 0 deletions js/src/websocket.js
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,10 @@ const wsSpotfix = {
}
},

isActive() {
return socket !== null && socket.readyState === WebSocket.OPEN;
},

close() {
isIntentionalClose = true;
if (reconnectTimer) {
Expand Down
Loading