select calendar url on click

deepsource-autofix-76c6eb20
Dan Gowans 2022-09-16 13:56:43 -04:00
parent a065ae44ba
commit 0143823358
4 changed files with 18 additions and 8 deletions

View File

@ -3,6 +3,7 @@
const apiKey = document.querySelector("main").dataset.apiKey; const apiKey = document.querySelector("main").dataset.apiKey;
const workOrderTypeIdsElement = document.querySelector("#icsFilters--workOrderTypeIds"); const workOrderTypeIdsElement = document.querySelector("#icsFilters--workOrderTypeIds");
const workOrderMilestoneTypeIdsElement = document.querySelector("#icsFilters--workOrderMilestoneTypeIds"); const workOrderMilestoneTypeIdsElement = document.querySelector("#icsFilters--workOrderMilestoneTypeIds");
const calendarLinkElement = document.querySelector("#icsFilters--calendarURL");
const updateCalendarURL = () => { const updateCalendarURL = () => {
let url = window.location.href.slice(0, Math.max(0, window.location.href.indexOf(window.location.pathname) + 1)) + let url = window.location.href.slice(0, Math.max(0, window.location.href.indexOf(window.location.pathname) + 1)) +
urlPrefix + urlPrefix +
@ -27,7 +28,7 @@
} }
url = url.slice(0, -1) + "&"; url = url.slice(0, -1) + "&";
} }
document.querySelector("#icsFilters--calendarURL").value = url.slice(0, -1); calendarLinkElement.value = url.slice(0, -1);
}; };
document document
.querySelector("#icsFilters--workOrderTypeIds-all") .querySelector("#icsFilters--workOrderTypeIds-all")
@ -46,4 +47,8 @@
element.addEventListener("change", updateCalendarURL); element.addEventListener("change", updateCalendarURL);
} }
updateCalendarURL(); updateCalendarURL();
calendarLinkElement.addEventListener("click", () => {
calendarLinkElement.focus();
calendarLinkElement.select();
});
})(); })();

View File

@ -10,6 +10,10 @@
"#icsFilters--workOrderMilestoneTypeIds" "#icsFilters--workOrderMilestoneTypeIds"
) as HTMLSelectElement; ) as HTMLSelectElement;
const calendarLinkElement = document.querySelector(
"#icsFilters--calendarURL"
) as HTMLTextAreaElement;
const updateCalendarURL = () => { const updateCalendarURL = () => {
let url = let url =
window.location.href.slice( window.location.href.slice(
@ -52,11 +56,7 @@
url = url.slice(0, -1) + "&"; url = url.slice(0, -1) + "&";
} }
( calendarLinkElement.value = url.slice(0, -1);
document.querySelector(
"#icsFilters--calendarURL"
) as HTMLTextAreaElement
).value = url.slice(0, -1);
}; };
document document
@ -86,4 +86,9 @@
} }
updateCalendarURL(); updateCalendarURL();
calendarLinkElement.addEventListener("click", () => {
calendarLinkElement.focus();
calendarLinkElement.select();
})
})(); })();

View File

@ -1 +1 @@
(()=>{const e=document.querySelector("main").dataset.urlPrefix,t=document.querySelector("main").dataset.apiKey,r=document.querySelector("#icsFilters--workOrderTypeIds"),o=document.querySelector("#icsFilters--workOrderMilestoneTypeIds"),c=()=>{let c=window.location.href.slice(0,Math.max(0,window.location.href.indexOf(window.location.pathname)+1))+e+"api/"+t+"/milestoneICS/?";if(!r.disabled&&r.selectedOptions.length>0){c+="workOrderTypeIds=";for(const e of r.selectedOptions)c+=e.value+",";c=c.slice(0,-1)+"&"}if(!o.disabled&&o.selectedOptions.length>0){c+="workOrderMilestoneTypeIds=";for(const e of o.selectedOptions)c+=e.value+",";c=c.slice(0,-1)+"&"}document.querySelector("#icsFilters--calendarURL").value=c.slice(0,-1)};document.querySelector("#icsFilters--workOrderTypeIds-all").addEventListener("change",e=>{r.disabled=e.currentTarget.checked}),document.querySelector("#icsFilters--workOrderMilestoneTypeIds-all").addEventListener("change",e=>{o.disabled=e.currentTarget.checked});const l=document.querySelector("#panel--icsFilters").querySelectorAll("input, select");for(const e of l)e.addEventListener("change",c);c()})(); (()=>{const e=document.querySelector("main").dataset.urlPrefix,t=document.querySelector("main").dataset.apiKey,r=document.querySelector("#icsFilters--workOrderTypeIds"),c=document.querySelector("#icsFilters--workOrderMilestoneTypeIds"),l=document.querySelector("#icsFilters--calendarURL"),o=()=>{let o=window.location.href.slice(0,Math.max(0,window.location.href.indexOf(window.location.pathname)+1))+e+"api/"+t+"/milestoneICS/?";if(!r.disabled&&r.selectedOptions.length>0){o+="workOrderTypeIds=";for(const e of r.selectedOptions)o+=e.value+",";o=o.slice(0,-1)+"&"}if(!c.disabled&&c.selectedOptions.length>0){o+="workOrderMilestoneTypeIds=";for(const e of c.selectedOptions)o+=e.value+",";o=o.slice(0,-1)+"&"}l.value=o.slice(0,-1)};document.querySelector("#icsFilters--workOrderTypeIds-all").addEventListener("change",e=>{r.disabled=e.currentTarget.checked}),document.querySelector("#icsFilters--workOrderMilestoneTypeIds-all").addEventListener("change",e=>{c.disabled=e.currentTarget.checked});const s=document.querySelector("#panel--icsFilters").querySelectorAll("input, select");for(const e of s)e.addEventListener("change",o);o(),l.addEventListener("click",()=>{l.focus(),l.select()})})();

View File

@ -72,7 +72,7 @@
<div class="field"> <div class="field">
<label class="label" for="icsFilters--calendarURL">ICS Calendar Link</label> <label class="label" for="icsFilters--calendarURL">ICS Calendar Link</label>
<div class="control"> <div class="control">
<textarea class="textarea" id="icsFilters--calendarURL" name="calendarURL" style="cursor:text" disabled readonly></textarea> <textarea class="textarea" id="icsFilters--calendarURL" name="calendarURL" style="cursor:text" readonly></textarea>
</div> </div>
</div> </div>
</div> </div>