Skip to content

Commit 84aebce

Browse files
Merge pull request #78 from CleanTalk/style-edits
Description styles have been corrected. Various login issues have been fixed. Scrolling has been added.
2 parents 14e8a58 + 900911a commit 84aebce

7 files changed

Lines changed: 101 additions & 102 deletions

File tree

dist/doboard-widget-bundle.js

Lines changed: 47 additions & 44 deletions
Large diffs are not rendered by default.

dist/doboard-widget-bundle.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/doboard-widget-bundle.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/src/handlers.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ async function spotFixConfirmUserEmail(emailConfirmationToken, params) {
55
localStorage.setItem('spotfix_email', result.email);
66
localStorage.setItem('spotfix_session_id', result.sessionId);
77
localStorage.setItem('spotfix_user_id', result.userId);
8+
localStorage.setItem('spotfix_widget_is_closed', '0');
89
await spotfixIndexedDB.init();
10+
wsSpotfix.connect();
11+
wsSpotfix.subscribe();
912

1013
// Get pending task from LS
1114
const pendingTaskRaw = localStorage.getItem('spotfix_pending_task');
@@ -77,7 +80,6 @@ async function handleCreateTask(sessionId, taskDetails) {
7780
const result = await createTaskDoboard(sessionId, taskDetails);
7881
if (result && result.taskId && taskDetails.taskDescription) {
7982
const sign = `<br><br><br><em>The spot has been posted at the following URL <a href="${window.location.href}"><span class="task-link task-link--done">${window.location.href}</span></a></em>`;
80-
localStorage.setItem('spotfix-description', '');
8183
await addTaskComment({
8284
projectToken: taskDetails.projectToken,
8385
accountId: taskDetails.accountId,
@@ -212,6 +214,9 @@ function registerUser(taskDetails) {
212214
localStorage.setItem('spotfix_email', response.email);
213215
localStorage.setItem('spotfix_accounts', JSON.stringify(response.accounts));
214216
spotfixIndexedDB.init();
217+
localStorage.setItem('spotfix_widget_is_closed', '0');
218+
wsSpotfix.connect();
219+
wsSpotfix.subscribe();
215220
userUpdate(projectToken, accountId);
216221
} else if (response.operationStatus === 'SUCCESS' && response.operationMessage && response.operationMessage.length > 0) {
217222
if (response.operationMessage == 'Waiting for email confirmation') {
@@ -249,7 +254,10 @@ function loginUser(taskDetails) {
249254
localStorage.setItem('spotfix_email', userEmail);
250255
localStorage.setItem('spotfix_accounts', JSON.stringify(response.accounts));
251256
checkLogInOutButtonsVisible();
257+
localStorage.setItem('spotfix_widget_is_closed', '0');
252258
spotfixIndexedDB.init();
259+
wsSpotfix.connect();
260+
wsSpotfix.subscribe();
253261
} else if (response.operationStatus === 'SUCCESS' && response.operationMessage && response.operationMessage.length > 0) {
254262
if (typeof showMessageCallback === 'function') {
255263
showMessageCallback(response.operationMessage, 'notice');
@@ -440,4 +448,4 @@ function addIconPack() {
440448
}
441449
})
442450
}
443-
}
451+
}

js/src/loaders/SpotFixTemplatesLoader.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ class SpotFixTemplatesLoader {
151151
<label class="spotfix_placeholder_title" for="doboard_task_widget-title">Report about</label>
152152
</div>
153153
154-
<div class="doboard_task_widget-input-container doboard_task_widget-input-container-textarea">
154+
<div class="doboard_task_widget-input-container doboard_task_widget-input-container-textarea" style="flex-grow: 1; min-height: 120px">
155155
<textarea id="doboard_task_widget-description" class="doboard_task_widget-field" name="description" placeholder=" " required></textarea>
156156
<label for="doboard_task_widget-description" class="doboard_task_widget-field-textarea-label" >Description</label>
157157
</div>

js/src/widget.js

Lines changed: 35 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -636,31 +636,6 @@ class CleanTalkWidgetDoboard {
636636
document.querySelector('.doboard_task_widget-login').classList.add('hidden');
637637
}
638638

639-
const descEl = document.querySelector(
640-
'.doboard_task_widget-container-maximize #doboard_task_widget-description'
641-
);
642-
643-
if (descEl) {
644-
const parentEl = descEl.closest('.doboard_task_widget-input-container');
645-
646-
if (parentEl) {
647-
let isSmall = false;
648-
649-
const ro = new ResizeObserver(([entry]) => {
650-
const height = entry.contentRect.height;
651-
const next = height < 120;
652-
653-
if (next === isSmall) return;
654-
655-
isSmall = next;
656-
657-
descEl.classList.toggle('is-small', isSmall);
658-
});
659-
660-
ro.observe(parentEl);
661-
}
662-
}
663-
664639
if (
665640
selection.type === 'Range'
666641
) {
@@ -678,29 +653,33 @@ class CleanTalkWidgetDoboard {
678653
tinymce.remove('#doboard_task_widget-description');
679654
}
680655

681-
const savedDescription = localStorage.getItem('spotfix-description') || '';
656+
const savedDescription = localStorage.getItem('spotfix-description-ls') || '';
682657

683658
SpotFixTinyMCE.init({
684659
selector: '#doboard_task_widget-description',
685660
plugins: 'link lists',
686661
menubar: false,
687662
statusbar: false,
688663
toolbar_location: 'bottom',
664+
height: '100%',
665+
width: '100%',
689666
toolbar: 'screenshotButton emoticons bullist numlist bold italic strikethrough underline blockquote',
690-
height: 120,
691667
icons: 'icon_pack_SpotFix',
692668
file_picker_types: 'file image media',
693669
setup: function (editor) {
694670
editor.on('init', function() {
695671
if (savedDescription) {
696-
editor.setContent(savedDescription);
697-
editor.save();
672+
editor.setContent(savedDescription, { format: 'html' });
698673
}
674+
675+
setTimeout(() => {
676+
editor.save();
677+
});
699678
});
700679
editor.on('change', function () {
701680
editor.save();
702681
const content = editor.getContent();
703-
localStorage.setItem('spotfix-description', content);
682+
localStorage.setItem('spotfix-description-ls', content);
704683
});
705684
// editor.ui.registry.addButton('attachmentButton', {
706685
// icon: 'paperclip',
@@ -721,6 +700,7 @@ class CleanTalkWidgetDoboard {
721700
});
722701
}
723702
})
703+
724704
break;
725705
case 'wrap':
726706
await this.getTaskCount();
@@ -996,6 +976,7 @@ class CleanTalkWidgetDoboard {
996976
},
997977
);
998978
}
979+
999980
if (!this.nonRequesting) {
1000981
issuesCommentsContainer.innerHTML = daysWrapperHTML;
1001982
} else {
@@ -1043,6 +1024,19 @@ class CleanTalkWidgetDoboard {
10431024
editor.on('change', function () {
10441025
editor.save();
10451026
});
1027+
editor.on('init', () => {
1028+
// Scroll to the bottom comments
1029+
if(!this.nonRequesting) {
1030+
const container = document.querySelector('.doboard_task_widget-concrete_issues-container');
1031+
1032+
if (container) {
1033+
setTimeout(() => {
1034+
const scrollPosition = container.scrollHeight;
1035+
container.scrollTo({ top: scrollPosition, behavior: 'smooth' });
1036+
}, 50);
1037+
}
1038+
}
1039+
});
10461040
editor.ui.registry.addButton('attachmentButton', {
10471041
icon: 'paperclip',
10481042
tooltip: 'Add file',
@@ -1064,20 +1058,20 @@ class CleanTalkWidgetDoboard {
10641058
});
10651059
}
10661060

1061+
if(this.nonRequesting) {
1062+
const container = document.querySelector('.doboard_task_widget-concrete_issues-container');
1063+
1064+
if (container) {
1065+
setTimeout(() => {
1066+
const scrollPosition = container.scrollHeight;
1067+
container.scrollTo({ top: scrollPosition, behavior: 'smooth' });
1068+
}, 50);
1069+
}
1070+
}
1071+
10671072
// Hide spinner preloader
10681073
hideContainersSpinner();
10691074

1070-
// Scroll to the bottom comments
1071-
if(!this.nonRequesting) {
1072-
setTimeout(() => {
1073-
const contentContainer = document.querySelector('.doboard_task_widget-content');
1074-
contentContainer.scrollTo({
1075-
top: contentContainer.scrollHeight,
1076-
behavior: 'smooth',
1077-
});
1078-
}, 0);
1079-
}
1080-
10811075
const sendButton = document.querySelector('.doboard_task_widget-send_message_button');
10821076
if (sendButton) {
10831077
this.fileUploader.init();

styles/doboard-widget.css

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -84,21 +84,15 @@
8484
cursor: pointer;
8585
}
8686

87-
.doboard_task_widget-container-maximize #doboard_task_widget-description {
88-
height: 90%;
89-
position: absolute;
90-
}
91-
92-
.doboard_task_widget-container-maximize #doboard_task_widget-description.is-small {
93-
position: relative;
94-
height: auto;
95-
}
96-
9787
.doboard_task_widget-container-maximize .doboard_task_widget-field {
9888
display: flex;
9989
justify-content: center;
10090
}
10191

92+
.doboard_task_widget-input-container-textarea .tox-tinymce {
93+
position: absolute;
94+
}
95+
10296
.doboard_task_widget-container-maximize {
10397
width: 80vw !important;
10498
max-width: 1120px !important;
@@ -1415,4 +1409,4 @@ input:checked + .slider:before {
14151409
left: 14px;
14161410
font-size: 10px;
14171411
color: #252A2F;
1418-
}
1412+
}

0 commit comments

Comments
 (0)