From 37cb1635fe2c772e361d6c9d204bcb25410f90e1 Mon Sep 17 00:00:00 2001 From: Veronika Tseleva Date: Fri, 15 May 2026 21:51:03 +0400 Subject: [PATCH 1/8] Upd. added dblclick function --- dist/doboard-widget-bundle.js | 43 ++++++++++++++++++++++++ dist/doboard-widget-bundle.min.js | 26 ++++++++++++-- dist/doboard-widget-bundle.min.js.map | 2 +- js/src/loaders/SpotFixSVGLoader.js | 10 ++++++ js/src/loaders/SpotFixTemplatesLoader.js | 13 +++++++ js/src/main.js | 11 ++++++ js/src/widget.js | 9 +++++ 7 files changed, 110 insertions(+), 4 deletions(-) diff --git a/dist/doboard-widget-bundle.js b/dist/doboard-widget-bundle.js index f26f3eb..8c58686 100644 --- a/dist/doboard-widget-bundle.js +++ b/dist/doboard-widget-bundle.js @@ -9297,6 +9297,7 @@ class CleanTalkWidgetDoboard { iconFinishedTitle: SpotFixSVGLoader.getAsDataURI('iconFinishedTitle'), iconTwoSidesArrows: SpotFixSVGLoader.getAsDataURI('iconTwoSidesArrows'), iconMute: SpotFixSVGLoader.getAsDataURI('iconMute'), + iconListMinimalisticDark: SpotFixSVGLoader.getAsDataURI('iconListMinimalisticDark'), iconHighlight: SpotFixSVGLoader.getAsDataURI('iconHighlight'), iconLockDark: SpotFixSVGLoader.getAsDataURI('iconLockDark'), iconPublicDark: SpotFixSVGLoader.getAsDataURI('iconPublicDark'), @@ -10498,6 +10499,14 @@ class CleanTalkWidgetDoboard { this.createWidgetElement('user_menu'); }); + const screenDblckickToggle = document.getElementById('spofix-screen-dblckick-list'); + if (screenDblckickToggle) { + screenDblckickToggle.checked = !!+localStorage.getItem('spofix-screen-dblckick'); + screenDblckickToggle.addEventListener('change', (el) => { + localStorage.setItem('spofix-screen-dblckick', `${+el.target.checked}`) + }); + } + document.body.appendChild(widgetContainer); setToggleStatus(this); checkLogInOutButtonsVisible(); @@ -11609,6 +11618,17 @@ if( document.readyState !== 'loading' ) { document.addEventListener('DOMContentLoaded', spotFixInit); } +window.addEventListener('dblclick', (event) => { + const target = event.target; + + const selection = window.getSelection(); + const selectedData = spotFixGetSelectedData(selection); + + if (!selectedData && +localStorage.getItem('spofix-screen-dblckick')) { + new CleanTalkWidgetDoboard({}, 'all_issues') + } +}); + function spotFixInit() { spotfixIndexedDB.init(); wsSpotfix.connect(); @@ -13698,6 +13718,19 @@ class SpotFixTemplatesLoader { +
+ +
+ + + Open spots lists on double click + + +
+
`).join("")),c.innerHTML=this.loadTemplate("spot_menu",g),document.body.appendChild(c),e?.viewers?.includes(+U)&&(document.getElementById("unsubscribe_from_spot").checked=!0),U&&(y=JSON.parse(localStorage.getItem("spotfix_highlight_statuses")||"{}"),document.getElementById("highlight_the_spot").checked=y[U]?.[this.currentActiveTaskId]??!0),localStorage.getItem("spotfix_session_id")||(document.getElementById("unsubscribe_from_spot").disabled=!0,document.getElementById("highlight_the_spot").disabled=!0);break;case"concrete_issue":this.nonRequesting?(hideContainersSpinner(),this.allTasksData=await spotfixIndexedDB.getAll(SPOTFIX_TABLE_TASKS)):changeSize(w),!this.nonRequesting&&this.currentActiveTaskId&&updateNotificationsDoboard(this.currentActiveTaskId,this.params.projectToken,this.params.accountId);let t=await getTaskFullDetails(Q=await getTasksFullDetails(this.params,this.allTasksData,this.currentActiveTaskId,this.nonRequesting),this.currentActiveTaskId,this.nonRequesting);b=document.querySelector(".doboard_task_widget-issue-title");b&&(b.innerText=ksesFilter(Q.taskName||t?.issueTitle)),g.issueTitle=Q.taskName||t?.issueTitle,g.issueComments=t?.issueComments,g.amountOfComments=`${t?.issueComments.length||0} messages`;let s=null;x=this.allTasksData.find(A=>String(A.taskId)===String(t.taskId));let r=null;if(x&&x.taskMeta)try{r=JSON.parse(x.taskMeta),s=r.nodePath||null}catch(A){s=null,r=null}g.taskPageUrl=r?.pageURL;let a=g.taskFormattedPageUrl="";_=document.getElementById("spotfix_doboard_task_widget_url"),u="string"==typeof r?.pageURL,y=(u&&(a=(a=r.pageURL.replace(window.location.origin,"")).length<2?r.pageURL.replace(/^https?:\/\//,""):a),(u||_)&&(r.nodePath&&!spotFixRetrieveNodeFromPath(r.nodePath)?g.taskFormattedPageUrl="The link to the content has been lost because the content was changed, deleted, or moved to another URL.":(r.nodePath||r.selectedText)&&r?.pageURL?(C=this.escapeHtml(getSafeUrl(r.pageURL)),F=this.escapeHtml(a),g.taskFormattedPageUrl=`${F}`):g.taskFormattedPageUrl="This spot not have link because it created without selecting a content."),g.contenerClasess=+localStorage.getItem("maximize")?"doboard_task_widget-container-maximize doboard_task_widget-container":"doboard_task_widget-container",this.nonRequesting&&(I=document.getElementById("doboard_task_widget_concrete-container"))&&(I.className=g.contenerClasess),this.nonRequesting||(c.innerHTML=this.loadTemplate("concrete_issue",g),document.body.appendChild(c)),spotFixRemoveHighlights(),r&&s&&(spotFixHighlightElements([{...r,taskId:x.taskId}],this),"function"==typeof spotFixScrollToNodePath)&&spotFixScrollToNodePath(s),document.querySelector(".doboard_task_widget-concrete_issues-container"));if(!y)return;y.scrollTop;var H=[],G=localStorage.getItem("spotfix_user_id");if(0A.commentTime.localeCompare(e.commentTime)),V){var R=V[O];A+=this.loadTemplate("concrete_issue_messages",R)}e+=this.loadTemplate("concrete_issue_day_content",{dayContentMonthDay:N,dayContentMessages:A,statusFixedHtml:"DONE"!==Q?.taskStatus?"":this.loadTemplate("fixedTaskHtml")})}(!this.nonRequesting||y.innerHTML!==e)&&(y.innerHTML=e),this.bindImageAttachmentClicks()}else y.innerHTML=ksesFilter("No comments");let n=this,d=this.fileUploader;if(window.MessageEditorIframe.iframe&&!this.nonRequesting&&window.MessageEditorIframe.remove(),!this.nonRequesting){n.currentActiveTaskId;U=localStorage.getItem("spotfix_comment_draft");let A="";if(U)try{A=JSON.parse(U)[""+n.currentActiveTaskId]||""}catch(A){}window.MessageEditorIframe.create({savedContent:A,onReady:function(){if(!n.nonRequesting){let e=document.querySelector(".doboard_task_widget-concrete_issues-container");e&&setTimeout(()=>{var A=e.scrollHeight;e.scrollTo({top:A,behavior:"smooth"})},50)}},handlers:{onChange:function(A){let e=localStorage.getItem("spotfix_comment_draft");(e=e?JSON.parse(e):{})[""+n.currentActiveTaskId]=A;try{localStorage.setItem("spotfix_comment_draft",JSON.stringify(e))}catch(A){}},onAttachmentClick:function(){d?.fileInput?.click()},onScreenshotClick:function(){d?.makeScreenshot()},onSendComment:function(A){(async(e,t,o)=>{let i=document.querySelector(".doboard_task_widget-send_message_button"),A=i?.closest(".doboard_task_widget-send_message"),s=A?.querySelector(".doboard_task_widget-send_message_input"),r;if(o?r=o.trim():t&&(r=t?.getContent({format:"html"})?.trim()),e?.fileUploader?.hasFiles()||r){s&&(s.disabled=!0),i&&(i.disabled=!0);let A=null;try{A=await addTaskComment(e.params,e.currentActiveTaskId,r||(e?.fileUploader?.hasFiles()?" ":null)),s&&(s.value=""),await e.createWidgetElement("concrete_issue"),hideContainersSpinner(!1)}catch(A){alert("Error when adding a comment: "+A?.message)}e&&e?.fileUploader?.hasFiles()&&null!==A&&A?.hasOwnProperty("commentId")&&(o=localStorage.getItem("spotfix_session_id"),(t=await e?.fileUploader?.sendAttachmentsForComment(e?.params,o,A?.commentId)).success||(e?.fileUploader?.showError("Some files where no sent, see details in the console."),o=JSON.stringify(t),console.log(o))),s&&(s.disabled=!1)}})(n,null,A.content);A=localStorage.getItem("spotfix_comment_draft");A&&(delete(A=JSON.parse(A))[""+n.currentActiveTaskId],localStorage.setItem("spotfix_comment_draft",JSON.stringify(A)))}}}).catch(function(A){console.error("Failed to create message editor:",A)})}if(this.nonRequesting){let e=document.querySelector(".doboard_task_widget-concrete_issues-container");e&&setTimeout(()=>{var A=e.scrollHeight;e.scrollTo({top:A,behavior:"smooth"})},50)}hideContainersSpinner(),this.fileUploader.init()}if(!l){i=document.querySelector(".doboard_task_widget_return_to_all");let t=this;i&&i.addEventListener("click",function(A,e=t){e.createWidgetElement("all_issues")})}A=document.querySelector(".doboard_task_widget-send_message_paperclip");A&&this.fileUploader.bindPaperClipAction(A);let r;"wrap"!==this.type_name&&"wrap_review"!==this.type_name||(r=initSpotfixWidget({horizontalPosition:B})),document.querySelector(".doboard_task_widget-close_btn")?.addEventListener("click",A=>{A=A.target.closest(".doboard_task_widget-container");A&&A.querySelector(".doboard_task_widget-create_issue")&&storageSetWidgetIsClosed(!1),r&&r(),this.hide()}),l||(document.querySelector("#openUserMenuButton")?.addEventListener("click",()=>{this.createWidgetElement("user_menu")}),document.querySelector("#openSpotMenuButton")?.addEventListener("click",()=>{this.createWidgetElement("spot_menu")})),document.querySelector("#unsubscribe_from_spot")?.addEventListener("change",()=>{let e=+localStorage.getItem("spotfix_user_id");if(e){var t=this.allTasksData.find(A=>+A.taskId==+this.currentActiveTaskId)?.viewers||[];let A;t=(A=t.includes(e)?t.filter(A=>+A!=e):[...t,e]).join(",");updateViewersDoboard(t,this.currentActiveTaskId,this.params.projectToken,this.params.accountId).then(()=>{setTimeout(()=>{this.createWidgetElement(this.socket_type_name,!0)},500)})}}),document.querySelector("#highlight_the_spot")?.addEventListener("change",A=>{var e,t=localStorage.getItem("spotfix_user_id");t&&((e=JSON.parse(localStorage.getItem("spotfix_highlight_statuses")||"{}"))[t]||(e[t]={}),e[t][this.currentActiveTaskId]=A.target.checked,localStorage.setItem("spotfix_highlight_statuses",JSON.stringify(e)))}),document.getElementById("spotfix-widget-create-task-visibility")?.addEventListener("change",()=>{this.new_task_type="PUBLIC"===this.new_task_type?"REGULAR":"PUBLIC"}),document.querySelector("#doboard_task_widget-user_menu-logout_button")?.addEventListener("click",()=>{logoutUserDoboard(this.params.projectToken)}),l||document.getElementById("addNewTaskButton")?.addEventListener("click",async()=>{"create_issue"!==this.type_name&&await this.createWidgetElement("create_issue")}),document.getElementById("maximizeWidgetContainer")?.addEventListener("click",()=>{var A=document.querySelector(".doboard_task_widget-container"),e=document.querySelector(".doboard_task_widget-auth-inputs-container");+localStorage.getItem("maximize")&&A.classList.contains("doboard_task_widget-container-maximize")?(localStorage.setItem("maximize","0"),A.classList.remove("doboard_task_widget-container-maximize"),document.querySelector("#maximizeWidgetContainer img").src=SpotFixSVGLoader.getAsDataURI("iconMaximize"),e&&e.classList?.remove("doboard_task_widget-auth-inputs-container-maximized"),"all_issues"===this.type_name&&(document.querySelectorAll(".spotfix_widget_task_url-full").forEach(A=>A.style.display="none"),document.querySelectorAll(".spotfix_widget_task_url").forEach(A=>A.style.display="none"),document.querySelectorAll(".spotfix_widget_task_url-short").forEach(A=>A.style.display="inline"))):(localStorage.setItem("maximize","1"),A.classList.add("doboard_task_widget-container-maximize"),document.querySelector("#maximizeWidgetContainer img").src=SpotFixSVGLoader.getAsDataURI("iconMinimize"),e&&e.classList?.add("doboard_task_widget-auth-inputs-container-maximized"),"all_issues"===this.type_name&&(document.querySelectorAll(".spotfix_widget_task_url-full").forEach(A=>A.style.display="inline"),document.querySelectorAll(".spotfix_widget_task_url-short").forEach(A=>A.style.display="none"),document.querySelectorAll(".spotfix_widget_task_url").forEach(A=>A.style.display="none")))}),document.querySelector("#doboard_task_widget-user_menu-signlog_button")?.addEventListener("click",()=>{var A=document.getElementById("doboard_task_widget-input-container-login");A&&(A.style.display="block")}),l||document.querySelector("#spotfix_back_button")?.addEventListener("click",()=>{this.createWidgetElement(this.type_name),this.bindWidgetInputsInteractive()}),wsSpotfix.onMessage(()=>{this.createWidgetElement(this.socket_type_name,!0)});i=document.querySelector(".doboard_task_widget-login span");if(i){let o=this;i.addEventListener("click",function(){var A=this.closest(".doboard_task_widget-login"),e="1"===localStorage.getItem("spotfix_require_full_registration"),t=!!localStorage.getItem("spotfix_session_id");e&&!t?A.classList.add("active"):A.classList.toggle("active"),o.positionWidgetContainer(),setTimeout(()=>{+localStorage.getItem("maximize")?document.querySelector(".doboard_task_widget-auth-inputs-container").classList.add("doboard_task_widget-auth-inputs-container-maximized"):document.querySelector(".doboard_task_widget-auth-inputs-container").classList.remove("doboard_task_widget-auth-inputs-container-maximized");var A=document.querySelector(".doboard_task_widget-content");A.scrollTo({top:A.scrollHeight,behavior:"smooth"})},0)})}return l||document.querySelector(".doboard_task_widget-issues_list_empty button")?.addEventListener("click",()=>{"create_issue"!==this.type_name&&this.createWidgetElement("create_issue")}),document.getElementById("doboard_task_widget-title")?.addEventListener("change",A=>{localStorage.setItem("spotfix-title-ls",A.target.value),A.target.value.length<1&&(document.querySelector(".spotfix_placeholder_title").style.display="block")}),c}bindIssuesClick(){document.querySelectorAll(".issue-item").forEach(t=>{t.addEventListener("click",async A=>{A=A.target.closest(".doboard_task_widget-task_title");if(A&&t.contains(A)){let e=null;try{e=JSON.parse(t.getAttribute("data-node-path"))}catch(A){e=null}e&&spotFixScrollToNodePath(e),this.currentActiveTaskId=t.getAttribute("data-task-id"),await this.showOneTask()}})})}async showOneTask(){await this.createWidgetElement("concrete_issue");var A=this.getTaskHighlightData(this.currentActiveTaskId);A&&(spotFixRemoveHighlights(),spotFixHighlightElements([A],this),this.positionWidgetContainer()),hideContainersSpinner(!1)}loadTemplate(e,A={}){let t=SpotFixTemplatesLoader.getTemplateCode(e);for(var[o,i]of Object.entries(A)){o=`{{${o}}}`;let A;A=this.isPlaceholderInAttribute(t,o)?this.escapeHtml(String(i)):ksesFilter(String(i),{template:e,imgFilter:!0}),t=t.replaceAll(o,A)}return ksesFilter(t,{template:e})}isPlaceholderInAttribute(A,e){e=e.replace(/[{}]/g,"\\$&");return new RegExp(`[\\w-]+\\s*=\\s*["'][^"']*${e}[^"']*["']`,"g").test(A)}escapeHtml=A=>A.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'");async getTaskCount(){if(!localStorage.getItem("spotfix_session_id"))return{};var A=this.params.projectToken,t=localStorage.getItem("spotfix_session_id"),A=(localStorage.getItem("spotfix_tasks_count"),this.nonRequesting||await getTasksDoboard(A,t,this.params.accountId,this.params.projectId),await spotfixIndexedDB.getAll(SPOTFIX_TABLE_TASKS)),A=(storageSaveTasksCount(A),A.filter(A=>A.taskMeta&&"ACTIVE"===A.taskStatus));A.length;let o=0;if(this.nonRequesting)o=localStorage.getItem("spotfix-tasks-notifications-count");else{let e=A.map(A=>A.taskId);o=await getNotificationsDoboard(this.params.projectToken,t,this.params.accountId,this.params.projectId),o=(o=[...new Map(o.map(A=>[A.task_id,A])).values()]).filter(A=>e.includes(A.task_id)).length,localStorage.setItem("spotfix-tasks-notifications-count",""+o)}A=document.getElementById("doboard_task_widget-task_count");A&&+o&&(A.innerText=ksesFilter(o),A.classList.remove("hidden"),"left"!==localStorage.getItem("horizontalPosition")&&"left"!==window.SpotfixWidgetConfig?.horizontalPosition||(A.style.left="10px"))}async submitTask(A){localStorage.getItem("spotfix_session_id")||(await registerUser(A)(this.registrationShowMessage),A.userPassword&&(await loginUser(A)(this.registrationShowMessage),checkLogInOutButtonsVisible()));var e=localStorage.getItem("spotfix_session_id");return e?handleCreateTask(e,A):{needToLogin:!0}}hide(){spotFixRemoveHighlights(),this.createWidgetElement("wrap")}wrapElementWithSpotfixHighlight(A){var e=A.cloneNode(),t=document.createElement("span");return t.className="doboard_task_widget-text_selection image-highlight",A.insertAdjacentElement("beforebegin",t),t.appendChild(e),t}getTaskHighlightData(e){var A=this.allTasksData.find(A=>A.taskId.toString()===e.toString());if(A&&void 0!==A.taskMeta){let e=null;try{e=JSON.parse(A.taskMeta)}catch(A){e=null}if(null!==e&&"object"==typeof e)return e}return null}bindWidgetInputsInteractive(){document.querySelectorAll(".doboard_task_widget-field").forEach(A=>{A.value&&A.classList.add("has-value"),A.addEventListener("input",()=>{A.value?A.classList.add("has-value"):A.classList.remove("has-value")}),A.addEventListener("blur",()=>{A.value||A.classList.remove("has-value")})}),window.addEventListener("scroll",this.handleScroll.bind(this)),window.addEventListener("resize",this.handleResize.bind(this))}registrationShowMessage(A,e="error"){var t=document.getElementById("doboard_task_widget-error_message-header"),o=document.getElementById("doboard_task_widget-error_message"),i=document.querySelector(".doboard_task_widget-message-wrapper");"string"==typeof A&&null!==o&&null!==i&&(o.innerText=ksesFilter(A),i.classList.remove("hidden"),o.classList.remove("doboard_task_widget-notice_message","doboard_task_widget-error_message"),"notice"===e?(t.innerText=ksesFilter(""),i.classList.add("doboard_task_widget-notice_message"),o.style.color="#2a5db0"):(t.innerText=ksesFilter("Registration error"),i.classList.add("doboard_task_widget-error_message"),o.style.color="red"))}positionWidgetContainer(){var e=document.querySelector(".doboard_task_widget-text_selection"),t=document.querySelector(".doboard_task_widget"),o=document.querySelector(".doboard_task_widget-content.doboard_task_widget-create_issue"),i=document.querySelector(".doboard_task_widget-concrete_issues-container");if((o||i)&&e){var o=window.scrollY,i=window.innerHeight,e=e.getBoundingClientRect().top+o,s=t.offsetHeight;let A;e-o<0?A=10:(i{this.positionWidgetContainer()},10)}handleResize(){clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.positionWidgetContainer()},100)}isSpotHaveToBeHighlighted(A){return!0}sanitizeNodePath(A){A=Array.isArray(A)?JSON.stringify(A):String(A);return/^[\[\]0-9,\s]*$/.test(A)?A:""}isImageFile(A){return!!A&&(A=A.split(".").pop().toLowerCase(),["jpg","jpeg","png","gif","webp","bmp","svg","ico"].includes(A))}showImageLightbox(A,e=""){this.hideImageLightbox();var A=this.loadTemplate("imageLightbox",{imageUrl:A,imageAlt:e||"Image",buttonCloseScreen:SpotFixSVGLoader.getAsDataURI("buttonCloseScreen")}),e=document.createElement("div"),A=(e.innerHTML=A,e.firstElementChild),e=(document.body.appendChild(A),A.offsetHeight,A.classList.add("active"),A.querySelector(".doboard_task_widget-lightbox-close")),A=A.querySelector(".doboard_task_widget-lightbox-overlay"),t=()=>this.hideImageLightbox();e&&e.addEventListener("click",t),A&&A.addEventListener("click",t);let o=A=>{"Escape"===A.key&&(this.hideImageLightbox(),document.removeEventListener("keydown",o))};document.addEventListener("keydown",o)}hideImageLightbox(){let A=document.getElementById("doboard_task_widget-lightbox");A&&(A.classList.remove("active"),setTimeout(()=>{A.remove()},300))}bindImageAttachmentClicks(){document.querySelectorAll(".doboard_task_widget-attachment_item").forEach(A=>{let t=A.cloneNode(!0);A.parentNode.replaceChild(t,A),t.addEventListener("click",A=>{A.preventDefault(),A.stopPropagation();var A=t.getAttribute("data-attachment-url"),e=t.querySelector(".doboard_task_widget-attachment_filename")?.textContent||"file";t.classList.contains("image-attachment")&&A?this.showImageLightbox(A,e):A&&this.downloadFile(A,e)})})}downloadFile(A,e){var t=document.createElement("a");t.href=A,t.download=e,document.body.appendChild(t),t.click(),document.body.removeChild(t)}async setUserMenuData(){var A=this.params;let e=null;if(localStorage.getItem("spotfix_session_id"))try{e=await getUserDetails(A)}catch(A){console.error("Error fetching user details:",A)}var A=document.querySelector('.doboard_task_widget-user_menu-header span[style*="font-size: 16px"]'),t=document.querySelector('.doboard_task_widget-user_menu-header span[style*="font-size: 12px"]'),o=document.querySelector(".doboard_task_widget-user_menu-header-avatar");A&&(e&&e.name?A.innerText=e.name:A.innerText="Guest"),t&&(e&&e.email?t.innerText=e.email:(A=getSpotfixEmail()||"",t.innerText=A.includes("spotfix_")?"":A)),o&&(e&&e.avatar&&e.avatar.s?o.src=e.avatar.s:o.src="")}}var spotFixShowDelayTimeout=null;let SPOTFIX_DEBUG=!1,SPOTFIX_SHOW_DELAY=1e3;function spotFixInit(){spotfixIndexedDB.init(),wsSpotfix.connect(),wsSpotfix.subscribe(),new SpotFixSourcesLoader,new CleanTalkWidgetDoboard({},"wrap"),loadBotDetector();var A=localStorage.getItem("spotfix_project_token"),e=localStorage.getItem("spotfix_company_id");A&&e&&getProjectDoboard(A,e).then(A=>{A&&A?.projects&&A?.projects[0]&&void 0!==(A=A?.projects[0])?.require_full_registration&&localStorage.setItem("spotfix_require_full_registration",A?.require_full_registration)}).catch(A=>console.error("project_get error:",A))}function loadBotDetector(){var A;0A?.taskId?.toString()===e?.toString());let s=A.users,r=A.attachments||[],o=0String(A.user_id)===String(o.userId)));o&&formatDate(o.commentDate).date;var A=getAvatarSrc(i),a=getAuthorName(i);return{taskId:e,taskAuthorAvatarImgSrc:A,taskAuthorName:a,lastMessageText:o?o.commentBody:"No messages yet",issueTitle:0new Date(A.commentDate)-new Date(e.commentDate)).map(e=>{var{date:A,time:t}=formatDate(e.commentDate);let o=null;s&&0String(A.user_id)===String(e.userId)));var i=r.filter(A=>String(A.commentId)===String(e.commentId)).sort((A,e)=>(A.attachmentOrder||0)-(e.attachmentOrder||0));return{commentAuthorAvatarSrc:getAvatarSrc(o),commentAuthorName:getAuthorName(o),commentBody:e.commentBody,commentDate:A,commentTime:t,commentUserId:e.userId||"Unknown User",commentAttachments:i}})}}function getAvatarData(A){let e,t;var o=A.taskAuthorName&&"Anonymous"!=A.taskAuthorName?A.taskAuthorName.trim().charAt(0).toUpperCase():null;let i="doboard_task_widget-avatar-initials";return null===A.taskAuthorAvatarImgSrc&&null!==o&&(e="display: flex;background-color: #f8de7e;justify-content: center;align-items: center;",t="doboard_task_widget-avatar_container"),null===A.taskAuthorAvatarImgSrc&&null===o&&(e="background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAE9GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4wLWMwMDAgNzkuMTcxYzI3ZmFiLCAyMDIyLzA4LzE2LTIyOjM1OjQxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjQuMCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjQtMDQtMTBUMTk6MDg6MDkrMDU6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI0LTA0LTEwVDE5OjIxOjA4KzA1OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI0LTA0LTEwVDE5OjIxOjA4KzA1OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxNWRjOWI0Yy04ZWVmLTRkNTEtYmE0MS1kOTkzZTZmNjNmMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTVkYzliNGMtOGVlZi00ZDUxLWJhNDEtZDk5M2U2ZjYzZjEyIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MTVkYzliNGMtOGVlZi00ZDUxLWJhNDEtZDk5M2U2ZjYzZjEyIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoxNWRjOWI0Yy04ZWVmLTRkNTEtYmE0MS1kOTkzZTZmNjNmMTIiIHN0RXZ0OndoZW49IjIwMjQtMDQtMTBUMTk6MDg6MDkrMDU6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNC4wIChNYWNpbnRvc2gpIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuPRTtsAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAL0UExURUdwTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKGw/wAAAAAAAAAAAAAAAAAAAAAAAAAAAKOy/6Sw/gAAAAAAAAAAAAAAAIKPz6Kw/6Cw/6Kx/6Gw/6Gw/6Gw/6Gv/qCw/6Gw/6i0/6Oy/67D/6Gw/6Gx/6ez/6u9/6Gw/6Kx/6i5/624/6Cy/wAAAJ6r/6Oy/6W1/qCv/4aR1LPE/4eU0o+d3qGw/6Sy/6Ku/6Cv/KGw/6Cu/4WT1KKr/5up9Q8RGhodK7jI/4mY1K27/6Cv/8PW/7LE/6Gw/7nL/1RchUVLbbnN/0pXfBQVHjY5U2Vwm2ZwnyMmNrDB/6e2/629/7XG/6Kw/6Kw/67A/629/3N+vKe3/77Q/52r7HmEtrPE/6Oz8RgaKbTF/7TG/xgaKnaCtsLV/6Sv/7TI/wCv/6Gw/wAAAKCv/6e2/73O/6a1/6Oz/6u7/7zN/6q5/7fJ/629/7PD/wAAAQwNE5+u/7DA/6S0/7bH/7XG/6Gx/6i4/yUoOQQFBwICA7HC/7nL/zM4UouY3RcaJK+//y4ySL7Q/ygsPx8iME9WfTA1TXJ8sp2s9VxkjoSQ0RESGl9ok5up9XR/t213rRQWHkRKbJKf53mEwUxSeKGv+qy8/5Ce4jk+WQkKDjxBYCouQpSh6lZfiEFHZVpijJ6t/GFqmWdxoT5DY4eU1mp0qXiDvHyHxZak5n2KxlFZg8LU/32Kv4mV2ZSj7FBYgJGe50VLbS7TJ5EAAACrdFJOUwAPCsvhFe/y+w0C/fc8LUGd9SWvHnW1BPOTw/7NCbtcyNpxsr+4WVKbIETkCOiij0d96tQGEhCmijeFGGxw0Gp6qZhKxmbeYCtNG9NMgKzX5iduYwXl2GVVAZNEVKrs9opx5j/ZFcMIER77LlsYnDAbbDlLDH3+/v2wIlDxy8E95PP9un2PvJ1Pv2VX9kmOqeG89a2m+efFg2aYq9fPqexM0cHR6vWeMdh9ztTtu0oAAA1/SURBVHja7FxnWBPZGs5SQoAAocMiJEjv0qQEpMhCgAVRUFFEaYq9d7f3vb333u99ZpIAafTQ24Jg13XtfV3b7t1d7/65cyaTBiFMkknbZ94f6DOZnG/eOd/56jmhUEiQIEGCBAkSJEiQIEGCBAkSJEiQIEGCBAkS1o6cUAeH0FVWT8OeBaNg2Vs3D6dlMIZlTlZNJAtwoNHB3xyrJmKLMAgqYYch/9haM49YBximp1AoKcicOMRaOxFfCsXX2omgqhVWUmL1qoUtdpr1L3YV87vOyh1igYxHgZU7RATZiGLRvL8NwRZiuRy+DTwcARFHckYsB6l+MOyXasUEUjwichM8C1bEBcBwQMWKAs+E3AiPQGsLTVwSy1fDcxGQ5FPmYjWhSmA4IwnWgjhGuI0V0HDxj1N/bhrdz49OV79GzXexcBrMF1XefFCCd7ULpyTV0TG1hONS7Z0QqjJTLzItmEZRsvwxVzOyXDWshVjXLEaF/J7kIgulESEPEO0S3FK0WLPoBDvsxkURFkhjTxj2dOURvgvd6xvhid0ctsfSeCRi9jXSFd/9rvkBsm+UWdZ0YGs80mO+O6qaDx5srlK9spKBrXpXC1rkaAoIh2Ro+GxXTX1d7ZbSho2vvLKxoXRLbV19zWY5fR+ZfbaYRe+PPk9M9VwSO9eXboLmYFPp+l9vQ2+ojkG/6m8RNGxkqzxvdgq4rf49DSTk2P5ePeCSmod+OcgCXD0b9R0BL826vKF2uxTSju3HPgBq6Yz6lBJz8/BCfUKhuhVdV1m6EAsUnaXfQRZ9MOp7oszLIwpV8lD1dKOyCcILbhNCBdXNCi+z1kjQWD1P7dqBV6UQfnC5/9lPyUeNhRnrLIGoVkSqXtpbK9WFB9Av4fsUbzDOCvMlKqFzeGzYCOkMLvSvf+aitsus/kNVr9bt5kKQPkz47/yDZj5/wkQDDJULx1/ViwdYKIK//BXEXmbJUaKAA4hR8WSNGyG90Tn8xzeBOzKHEUazj5Uqy0MKGYBOwWEwJcvMFLerhHuVkIH46FMwYq7JFQvNoQjkweUJRsCYplYukIBQlQtkA2QwOiWnboIowbQ8XgYvT5lxv94NEcDko8dg1OUmJVKo9u72bpISQITLE02CANSkKSF4dcq0tknKhYiYEtFXsImdiZ1aaLKbEBoIpPxbIKI3HY9q4LvYioVOFA+I2/u/dmToapMRWaQ6IVs3QYRByv8M1O1MxSNDzd4fI44HMiWjYGxTVe0iEVk+igirm0AiUGvPBDJ4vml4pDggstASlq9XdM4bbUQS4Q7PAE+bYppiNSJqTaDr2kyfGBp8Y4jQGYGE0rPI8MUmIVIOeh9YY639soRLKBGp4Js5VQCjqJVbYohq6+kzvpRQHhBX9AlafU10M2LNbmV2vHpbjVZ4hOAJQXSL24FMNOJOqHnZK41AwtctfYUqB3pheSaz5E8ionlArb03ZETQwkr6El9CabglxKhNRcjL9uim0T9AhBPhCkCC1aEQFZPgRphGJarMRTCDivzFwpNdnYTzgKChM4iAt34arJS5ItGDABrL8xQD+vnkZjiBfZZJ2B7eesgIED5ApuPmCYqrt4+7YqOBp6FZCpMlHyspMnwpuFKsUknbYgwivLbbiIjXwPhLwyMVDW2WIdF9uLxP6x4fLq9n5ioLabuMwQNqFX2MiPgCa2vFRsTL5yU5XE8a0fLmf0GOvXp5cbHsvzuNQgTi30dEfLNTWSnPKZBvMtBn3b+A9SrhNPVvhygTht3GISICqfvIb9SsZhr2MIwXdOWxBGvqMzizPgBvB9tIUmocIhLg2/t/ry6Wg71XuyW68cjFZmNOZrBuDXJZRm7zUeMQ6XqEiBg7unmWZA5mPnUq4aGdF9g2WoOHr0AiE9mSqTEOD0h8ZxCGzz5onLtobeE5fQztiEe/kKnpIyc7Ral5n9QoPDpFj5AAZYy7T4P0TPTB4nXqe1DnUcYg5LMEVMnqjEGEyx3/L8jbp4fqNC5dqg59+XC0Tztf5Jmj2Of+207iaUjH+eIvgISHw7UaxXsU4i59LQW9o9XseTMS1NeyXvKlvC0mmAXE6xl+dv8tMP4lYd+H8/T1wX4v2lIcRICdc9aSCbhhdjDzd72CcQLz3JYhft+X9wZkox8WdZbOF8OCBhNjYR5sMI7W03YR8g2K/aevdwm6eESE8i3j/K4jd6ewgTu+FHChhqp55K+ClfG3FoBO8ZoF4nq5n4UHJ06PXuP3ClsN4MJt7Rvii6+fvo0lU/DAvWfDyMtpmvecBojwFz41ALYhZC+YopQVyrm09598ckrCl7S16EWCJx4WdR++OzkoH2/s7rPhISTPkVbOK32xal1Na8MAx1YwJ2Y5TZGodNy4//l5sUAkFrbgN8lSnnBIIOq7/PDjMcVAgzdmugVdUi5ihX81v2xXXM0HPyQfx3e2wGtxgUr22zHxfOb6VbFgWCIW8lq1B+o8oVgiGG47debTb6YGlENMnr7eK+pDtIrb8O4OLYId6XiODeAnAlTMO5TWrnySwUvTVx4+vXy1TyIQiCRd4jZhH4/Ha2np7m5B/u0TCsVdkh6BQCK8evnJuSu3O1Tew2D/3VGxYBxdbFsqm7VKxUcEp2opUJLzwzcH1SoTA2cnb508/fjJmTunHiAvv+2aeHwc4cRr5Z668+jpxXMnb01eGlD7xs2Rc0euCbpagC9pqtuxkEh8qoVrsavj4Hd/8KNLg3M3wQ90XJrqn5yYmB4ZmZ643T811jGg4ab+KxfODwnGeUDpGtbXrKMseKoM32IH5jdYNyJOFErV/nd+/L3+DlgntJ8deT7zdZugpw31q6V1jVW45OEzvws7xPmweWfdaz+5MjLV0b4wh5tTt54/Hr06zu+5xgOGrmH3vuN45aAOEcfmLjRE4eiZ52/9/qFjb4xeOHfy3nQ/oknq+tY+0DHWP33v5LkLX53nSfiicWGLbM/pvh3N+EVwcIYosqAxzoDNklXbPjj0/i9/8XPo/NejZz7/5MLMxYsXZy48eXpm9M55qEXcyx/u7WrrQ7Rpe8OH6+trtoKUQAfjEoc3aJSF8XaGFpCb9zZWHnr3Z2//+W9/7+3p6e2VSIaA7eprObppY9OW2vX/rmzc26z7sCvRWgLOwpDWxEp3RluP79jfWHPgxIYTBw7U7N9xfGuz/oMtRxOrBAJSXfNCx1RXUXxYYlk0sOKDTq1SrByUZ0HHO/QqB6kU6CzkUIQrVqArjCaqZGoWKEum+hz6dZMXsVlZZj2Mbp/FMqSIPautwDTTwYjYiHi6oW0FzY0eU2Ipk0FMo0fWeguQj+Xuk5uRYioSKXtUW2/lRGwQ9EhMVgZ+MYzsDKNvxg/k5DBUziwHl3kQZjXU2tNJIWXF9r5GIsEuLgtRPbNsl0Cs1ZyzYcDOM5PJIdQC2HCYZWlr1I4nE75hAIs8s+Pj1I9BU1nxmVnRXgYunBS2y9rMeBZVbWh6knG2cMjhqSHdo8WxPP0T1y7fw7bR4Ue0nGzYe5avTfT3ZM16OzJ4GtkggteWXuTPcteUwNKphbZhaf5l3llF4cVuGa4eHlElbHtwDNyeXRLl4eGa4VYcXpTlXeafFmZbSNX0/LAfy78oHUy2cY096OnGoBGMy6rMEDua9sw8wNmZRqO7Ozi4u9NoNOcA7XfTKoLSs1zQti0wLSHG5JGhvpMcbAXMTLOl0mCD4Ey1TcvMUV1qYJMenGFEIos0bma1YWdELE5PC1oW567L87vHLQtKS88Nd4uywSmIMCz0omJTOS7FzKzE9Pz4cp9Q2+TgQruKJCr4ORFqUoVdYXCybahPeXx+emIWs9iFkxqLe+qJhs6q6+SbEsgGP/DCDkzxddJrMRoDoFQJ636AU6+f3PGCcZUT9fO87nqdsNPzR5BAKYdunN9OQoe2MRURR3djHUxEJ3sxxVREKNn/b+dsdhIGojBqoZRCY4QIgokSLUyCJSSQEONGFiILExZKoj4GT8Y7ynRouVBiMr93c09YsOrH7XSmZ4Z2rLxx1SnV+opv1ynvr8Wnp/1ayZw1PsXDsh9UFRtEvZB0bKkGfnkYm2iYj14EbJctXBWyYMCGI6b7tPxzwXavPReFGMg9XonJnr4FZ+exYr+QCnjqN1DMLSjPdjtob7hYh1Ox38ad/UJELptyG33ZtAcquZBluirGn2D0xaB+ma7ZLW0Xkufe7l+CU8mFlDO36uzuTmH6Y26kt1dVKCTPrUVim12VXLgqw3++6GOT8eck/eLtWrt7b7cQmDsaq+bCA3bzA17M9rMeJ4UYyT1t4pN/5p1dWtq5hU73Dva9E53u10ln1809O/xetTyvleyHQckToz786uWevzGFzWa2wvAjeWOq80Lq7nOP8YqqIGsbMz7VnbnPPWXFwGJPyFaSq6xxY84XH+aN+Mtl7nmNf+UaH/gPb7I6vWDwnMqas3ruvxMr+QmOCYNVyTVN3mGj9KNvsFiIIbS3TnYeHiTrnq7BYnEwZ75LuQGDxSI3WP76e6BvsFhAg/0eJQbED6sQ4waLeWkZNVjUzm7UYHGHX4MGi35DNGawWFgwWCwsGCwWVgyWIAiCIAiCIAiCIAiCIAiCIAgU/gAyRDCHjvicJQAAAABJRU5ErkJggg==');",t="doboard_task_widget-avatar_container",i+=" doboard_task_widget-hidden_element"),null!==A.taskAuthorAvatarImgSrc&&(e=`background-image:url('${A.taskAuthorAvatarImgSrc}');`,t="doboard_task_widget-avatar_container",i="doboard_task_widget-hidden_element"),{avatarStyle:e,avatarCSSClass:t,taskAuthorInitials:o,initialsClass:i}}function isAnyTaskUpdated(e){var t=[];for(let A=0;A{var e=A.name.toLowerCase();n[t]?.includes(e)&&!e.startsWith("on")&&!A.value.toLowerCase().includes("javascript:")||o.removeAttribute(A.name)})}[...o.childNodes].forEach(A)}),d.body.innerHTML}"loading"!==document.readyState?document.addEventListener("spotFixLoaded",spotFixInit):document.addEventListener("DOMContentLoaded",spotFixInit),window.addEventListener("dblclick",A=>{A.target;!spotFixGetSelectedData(window.getSelection())&&+localStorage.getItem("spofix-screen-dblckick")&&new CleanTalkWidgetDoboard({},"all_issues")}),document.addEventListener("selectionchange",function(A){var e;A.target===document&&(A=!!document.getElementsByClassName("wrap_review")[0],(e=document.getSelection())&&""!==e.toString()||!A?(spotFixShowDelayTimeout&&clearTimeout(spotFixShowDelayTimeout),spotFixShowDelayTimeout=setTimeout(()=>{var A=window.getSelection();if("Range"===A.type){var e=A.anchorNode,t=A.focusNode;if(!spotFixIsInsideWidget(e)&&!spotFixIsInsideWidget(t)){let e=spotFixGetSelectedData(A);if(e){let A=setTimeout(()=>{clearTimeout(A),spotFixOpenWidget(e,"wrap")},3e3);spotFixOpenWidget(e,"wrap_review",A)}}}},SPOTFIX_SHOW_DELAY)):new CleanTalkWidgetDoboard({},"wrap"))});let SPOTFIX_SELECTION_TYPE_TEXT="text",SPOTFIX_SELECTION_TYPE_IMG="image",SPOTFIX_SELECTION_TYPE_ELEMENT="element";function spotFixGetSelectionType(A){var e=A.getRangeAt(0),t=e.commonAncestorContainer;return spotFixGetSelectedImage(A)?SPOTFIX_SELECTION_TYPE_IMG:t.nodeType===Node.ELEMENT_NODE&&1r&&(r=i.length),a=spotFixCalculateNodePath(n);break;case SPOTFIX_SELECTION_TYPE_IMG:var n=e.startContainer,d=spotFixGetSelectedImage(A);i=`Image (${d.alt||"no description"})`,a=spotFixCalculateNodePath(d),s=Array.from(n.parentNode.children).indexOf(n),r=s+1;break;case SPOTFIX_SELECTION_TYPE_ELEMENT:d=t.nodeType===Node.ELEMENT_NODE?t:t.parentElement;if(d.childNodes.length<=1)return spotFixDebugLog("`spotFixGetSelectedData` skip by `Selection have not inner data`"),null;i=d.textContent||"",a=spotFixCalculateNodePath(d),s=Array.from(d.parentNode.children).indexOf(d),r=s+1}var l=window.location.href;return{startSelectPosition:s,endSelectPosition:r,selectedText:i.trim(),pageURL:l,nodePath:a,selectionType:o,imageUrl:(SPOTFIX_SELECTION_TYPE_IMG,"")}}function spotFixHighlightElements(A,i){var t=localStorage.getItem("spotfix_user_id"),o=localStorage.getItem("spotfix_highlight_statuses");if(t&&o){let e=JSON.parse(o)[t];e&&(A=A.filter(A=>void 0===e[A?.taskId]||e[A?.taskId]))}if(0!==A.length){let t=new Map;A.forEach(A=>{var e;A?.nodePath&&Array.isArray(A?.nodePath)?this.spotFixIsValidNodePath(A.nodePath)?(e=spotFixRetrieveNodeFromPath(A.nodePath))?A.selectionType?A.selectionType&&![SPOTFIX_SELECTION_TYPE_TEXT,SPOTFIX_SELECTION_TYPE_IMG,SPOTFIX_SELECTION_TYPE_ELEMENT].includes(A.selectionType)?spotFixDebugLog("Invalid selection type: "+A.selectionType):(t.has(e)||t.set(e,[]),t.get(e).push(A)):spotFixDebugLog("Selection type is not provided."):spotFixDebugLog("Element not found for path: "+A.nodePath):spotFixDebugLog("Invalid nodePath format: "+A.nodePath):spotFixDebugLog("Invalid spot: missing or invalid nodePath: "+A)}),t.forEach((A,e)=>{var t=A[0].selectionType;switch(t){case"image":this.spotFixHighlightImageElement(e);break;case"element":this.spotFixHighlightNestedElement(e);break;case"text":var o=[A[0]];try{this.spotFixHighlightTextInElement(e,o,i)}catch(A){}break;default:spotFixDebugLog("Unknown selection type: "+t)}})}}function spotFixHighlightImageElement(A){"IMG"!==A.tagName?spotFixDebugLog("Expected IMG element for image highlight, got: "+A.tagName):A.classList.add("doboard_task_widget-image_selection")}function spotFixHighlightNestedElement(A){A.classList.add("doboard_task_widget-element_selection")}function spotFixHighlightTextInElement(w,A,t){if(A&&0!==A.length){["LI","OL","UL"].includes(w.tagName)&&((e=document.createElement("span")).textContent=w.textContent,w.id&&(e.id=w.id),w.parentNode.replaceChild(e,w),w=e);let i=w.textContent;var e=A[0].selectedText;if(e){let o=[];if(A.forEach(A=>{var e=parseInt(A.startSelectPosition)||0,t=parseInt(A.endSelectPosition)||0;e<0||t>i.length||te.startPos-A.startPos);var s=o[o.length-1].startPos,r=o[0].endPos;if(i.slice(s,r)!==e)spotFixDebugLog("It is not allow to highlight element by provided metadata.");else{let e=`
@@ -332,6 +332,19 @@
+
+ +
+ + + Open spots lists on double click + + +
+