Skip to content
95 changes: 79 additions & 16 deletions dist/doboard-widget-bundle.js

Large diffs are not rendered by default.

25 changes: 12 additions & 13 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.

23 changes: 11 additions & 12 deletions js/src/loaders/SpotFixTemplatesLoader.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,7 @@ class SpotFixTemplatesLoader {
<div class="doboard_task_widget-all_issues-container">
</div>
<div class="doboard_task_widget_tasks_list">
<a rel="nofollow" target="_blank" href="https://doboard.com/spotfix">
doBoard / SpotFix
</a>
<span>doBoard / SpotFix</span>
</div>
</div>
</div>`;
Expand Down Expand Up @@ -71,7 +69,7 @@ class SpotFixTemplatesLoader {
</div>
<div class="doboard_task_widget-content doboard_task_widget-concrete_issue">
<div style="background-color: #D6DDE3; padding: 12px 16px">
<a rel="nofollow" href="{{taskPageUrl}}">{{taskFormattedPageUrl}}</a>
<a rel="nofollow" style="word-break: break-all" href="{{taskPageUrl}}">{{taskFormattedPageUrl}}</a>
</div>
<div class="doboard_task_widget-spinner_wrapper_for_containers">
<div class="doboard_task_widget-spinner_for_containers"></div>
Expand Down Expand Up @@ -149,7 +147,7 @@ class SpotFixTemplatesLoader {
<img src="{{buttonCloseScreen}}" alt="" class="doboard_task_widget-close_btn doboard_task_widget_cursor-pointer">
</div>
</div>
<div class="doboard_task_widget-content doboard_task_widget-create_issue">
<div class="doboard_task_widget-content doboard_task_widget-create_issue" style="display: flex; flex-direction: column">

<div class="doboard_task_widget-element-container">
<span>
Expand All @@ -160,12 +158,13 @@ class SpotFixTemplatesLoader {

<div class="doboard_task_widget-input-container">
<input id="doboard_task_widget-title" class="doboard_task_widget-field" name="title" value="{{selectedText}}" required>
<label for="doboard_task_widget-title">Report about</label>
<label class="spotfix_placeholder_title" for="doboard_task_widget-title">Report about</label>
</div>

<div class="doboard_task_widget-input-container">
<textarea id="doboard_task_widget-description" class="doboard_task_widget-field" name="description" required></textarea>
<label for="doboard_task_widget-description">Description</label>
<div class="doboard_task_widget-input-container" style="flex-grow: 1">
<textarea id="doboard_task_widget-description"
class="doboard_task_widget-field" name="description" required>{{descriptionText}}</textarea>
<label class="spotfix_placeholder_description" for="doboard_task_widget-description">Description</label>
</div>

<div class="doboard_task_widget-login">
Expand Down Expand Up @@ -214,8 +213,8 @@ class SpotFixTemplatesLoader {
<div class="{{avatarCSSClass}}" style="{{avatarStyle}}">
<span class="doboard_task_widget-avatar-initials {{initialsClass}}">{{taskAuthorInitials}}</span>
</div>
<div class="doboard_task_widget-description_container">
<div class="doboard_task_widget-task_title">
<div class="doboard_task_widget-description_container" style="cursor: default">
<div class="doboard_task_widget-task_title" style="cursor: pointer">
<div class="doboard_task_widget-task_title-details">
<span class="doboard_task_widget-task_title-text">{{taskTitle}}</span>
<div class="doboard_task_widget-task_title_public_status_img">
Expand All @@ -228,7 +227,7 @@ class SpotFixTemplatesLoader {
<div class="doboard_task_widget-bottom">
<div class="doboard_task_widget-task_page_url">
<img src="{{iconLinkChain}}" />
<a title="The spot is located on this {{taskPageUrl}}" href="{{taskPageUrl}}">{{taskFormattedPageUrl}}</a>
<a title="The spot is located on this {{taskPageUrl}}">{{taskFormattedPageUrl}}</a>
</div>
{{statusFixedHtml}}
</div>
Expand Down
70 changes: 67 additions & 3 deletions js/src/widget.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ class CleanTalkWidgetDoboard {
constructor(selectedData, type) {
this.selectedData = selectedData || '';
this.selectedText = selectedData?.selectedText || '';
this.descriptionText = localStorage.getItem('spotfix-description-ls') || '';
this.srcVariables = {
buttonCloseScreen: SpotFixSVGLoader.getAsDataURI('buttonCloseScreen'),
iconEllipsesMore: SpotFixSVGLoader.getAsDataURI('iconEllipsesMore'),
Expand Down Expand Up @@ -293,8 +294,9 @@ class CleanTalkWidgetDoboard {
templateName = 'create_issue';
this.type_name = templateName;
templateVariables = {
selectedText: this.selectedText,
selectedText: this.selectedText || localStorage.getItem('spotfix-title-ls') || '',
currentDomain: document.location.hostname || '',
descriptionText: this.descriptionText || localStorage.getItem('spotfix-description-ls') || '',
buttonCloseScreen: SpotFixSVGLoader.getAsDataURI('buttonCloseScreen'),
iconMaximize: SpotFixSVGLoader.getAsDataURI('iconMaximize'),
iconEllipsesMore: SpotFixSVGLoader.getAsDataURI('iconEllipsesMore'),
Expand Down Expand Up @@ -379,9 +381,43 @@ class CleanTalkWidgetDoboard {
const sessionIdExists = !!localStorage.getItem('spotfix_session_id');
const email = localStorage.getItem('spotfix_email');

if (templateVariables.selectedText) {
document.querySelector('.spotfix_placeholder_title').style.display = 'none';
}

if (templateVariables.descriptionText) {
document.querySelector('.spotfix_placeholder_description').style.display = 'none';
}

if (sessionIdExists && email && !email.includes('spotfix_')) {
document.querySelector('.doboard_task_widget-login').classList.add('hidden');
}

const descEl = document.querySelector(
'.doboard_task_widget-container-maximize #doboard_task_widget-description'
);

if (descEl) {
const parentEl = descEl.closest('.doboard_task_widget-input-container');

if (parentEl) {
let isSmall = false;

const ro = new ResizeObserver(([entry]) => {
const height = entry.contentRect.height;
const next = height < 120;

if (next === isSmall) return;

isSmall = next;

descEl.classList.toggle('is-small', isSmall);
});

ro.observe(parentEl);
}
}

if (
selection.type === 'Range'
) {
Expand Down Expand Up @@ -470,6 +506,7 @@ class CleanTalkWidgetDoboard {
const taskFullDetails = getTaskFullDetails(tasksFullDetails, taskId)

const avatarData = getAvatarData(taskFullDetails);

const listIssuesTemplateVariables = {
taskTitle: taskTitle || '',
taskAuthorAvatarImgSrc: taskFullDetails.taskAuthorAvatarImgSrc,
Expand All @@ -479,7 +516,7 @@ class CleanTalkWidgetDoboard {
taskLastMessage: ksesFilter(taskFullDetails.lastMessageText),
taskPageUrl: currentPageURL,
iconLinkChain: this.srcVariables.iconLinkChain,
taskFormattedPageUrl: spotFixSplitUrl(currentPageURL),
taskFormattedPageUrl: localStorage.getItem('maximize') === '1' ? currentPageURL : spotFixSplitUrl(currentPageURL),
taskLastUpdate: taskFullDetails.lastMessageTime,
nodePath: this.sanitizeNodePath(taskNodePath),
taskId: taskId,
Expand Down Expand Up @@ -756,9 +793,13 @@ class CleanTalkWidgetDoboard {
if(+localStorage.getItem('maximize') && container.classList.contains('doboard_task_widget-container-maximize')){
localStorage.setItem('maximize', '0');
container.classList.remove('doboard_task_widget-container-maximize');
if(this.type_name === 'all_issues')
this.createWidgetElement(this.type_name)
} else {
localStorage.setItem('maximize', '1');
container.classList.add('doboard_task_widget-container-maximize');
if(this.type_name === 'all_issues')
this.createWidgetElement(this.type_name)
}
}) || '';

Expand All @@ -770,27 +811,50 @@ class CleanTalkWidgetDoboard {
this.createWidgetElement(this.type_name)
}) || '';

document.getElementById('doboard_task_widget-title')?.addEventListener('change', (e) => {
localStorage.setItem('spotfix-title-ls', e.target.value);
if (e.target.value.length < 1) {
document.querySelector('.spotfix_placeholder_title').style.display = 'block';
}
})

document.getElementById('doboard_task_widget-description')?.addEventListener('change', (e) => {
localStorage.setItem('spotfix-description-ls', e.target.value);
if (e.target.value.length < 1) {
document.querySelector('.spotfix_placeholder_description').style.display = 'block';
}
})

return widgetContainer;
}

bindIssuesClick() {
document.querySelectorAll('.issue-item').forEach(item => {
item.addEventListener('click', async () => {
item.addEventListener('click', async (event) => {
const titleEl = event.target.closest('.doboard_task_widget-task_title');

if (!titleEl || !item.contains(titleEl)) {
return;
}

let nodePath = null;
try {
nodePath = JSON.parse(item.getAttribute('data-node-path'));
} catch (error) {
nodePath = null;
}

if (nodePath) {
spotFixScrollToNodePath(nodePath);
}

this.currentActiveTaskId = item.getAttribute('data-task-id');
await this.showOneTask();
});
});
}


/**
* Show one task
*
Expand Down
36 changes: 25 additions & 11 deletions styles/doboard-widget.css
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,26 @@
cursor: pointer;
}

.doboard_task_widget-container-maximize #doboard_task_widget-description {
height: 90%;
position: absolute;
}

.doboard_task_widget-container-maximize #doboard_task_widget-description.is-small {
position: relative;
height: auto;
}

.doboard_task_widget-container-maximize .doboard_task_widget-field {
display: flex;
justify-content: center;
}

.doboard_task_widget-container-maximize {
width: 80vw !important;
max-width: 1120px !important;
max-height: calc(100vh - 40px);
max-height: 75vh !important;
min-height: 75vh !important;
display: flex;
flex-direction: column;
-moz-flex-direction: column;
Expand All @@ -101,15 +117,6 @@
-moz-flex-direction: column;
}

@media (max-height: 800px) {
.doboard_task_widget-container {
max-height: calc(60vh - 40px);
}
.doboard_task_widget-container-maximize {
max-height: calc(60vh - 40px);
}
}

.doboard_task_widget-header {
display: flex;
height: 41px;
Expand Down Expand Up @@ -175,6 +182,10 @@
max-height: 60vh;
}

.doboard_task_widget-container-maximize .doboard_task_widget-content {
max-height: inherit;
}

.doboard_task_widget-element-container {
margin-bottom: 30px;
}
Expand Down Expand Up @@ -291,7 +302,7 @@
}

.doboard_task_widget-input-container textarea.doboard_task_widget-field {
height: 94px;
min-height: 94px;
padding-top: 11px;
padding-bottom: 11px;
}
Expand Down Expand Up @@ -549,9 +560,12 @@

.doboard_task_widget-content.doboard_task_widget-concrete_issue {
padding: 0;
display: flex;
flex-direction: column;
}
.doboard_task_widget-concrete_issues-container {
padding: 10px 16px 5px;
flex-grow: 1;
}

.doboard_task_widget-all_issues-container::-webkit-scrollbar,
Expand Down