sunrise-cms/public-typescript/workOrderOutlook.js

50 lines
2.3 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
(() => {
const los = exports.los;
const workOrderTypeIdsElement = document.querySelector("#icsFilters--workOrderTypeIds");
const workOrderMilestoneTypeIdsElement = document.querySelector("#icsFilters--workOrderMilestoneTypeIds");
const calendarLinkElement = document.querySelector("#icsFilters--calendarURL");
const updateCalendarURL = () => {
let url = window.location.href.slice(0, Math.max(0, window.location.href.indexOf(window.location.pathname) + 1)) +
los.urlPrefix +
"api/" +
los.apiKey +
"/" +
"milestoneICS/" +
"?";
if (!workOrderTypeIdsElement.disabled &&
workOrderTypeIdsElement.selectedOptions.length > 0) {
url += "workOrderTypeIds=";
for (const optionElement of workOrderTypeIdsElement.selectedOptions) {
url += optionElement.value + ",";
}
url = url.slice(0, -1) + "&";
}
if (!workOrderMilestoneTypeIdsElement.disabled &&
workOrderMilestoneTypeIdsElement.selectedOptions.length > 0) {
url += "workOrderMilestoneTypeIds=";
for (const optionElement of workOrderMilestoneTypeIdsElement.selectedOptions) {
url += optionElement.value + ",";
}
url = url.slice(0, -1) + "&";
}
calendarLinkElement.value = url.slice(0, -1);
};
document.querySelector("#icsFilters--workOrderTypeIds-all").addEventListener("change", (changeEvent) => {
workOrderTypeIdsElement.disabled = changeEvent.currentTarget.checked;
});
document.querySelector("#icsFilters--workOrderMilestoneTypeIds-all").addEventListener("change", (changeEvent) => {
workOrderMilestoneTypeIdsElement.disabled = changeEvent.currentTarget.checked;
});
const inputSelectElements = document.querySelector("#panel--icsFilters").querySelectorAll("input, select");
for (const element of inputSelectElements) {
element.addEventListener("change", updateCalendarURL);
}
updateCalendarURL();
calendarLinkElement.addEventListener("click", () => {
calendarLinkElement.focus();
calendarLinkElement.select();
});
})();