diff --git a/public-typescript/workOrderEdit.js b/public-typescript/workOrderEdit.js
index 7485f1a5..f7e294e6 100644
--- a/public-typescript/workOrderEdit.js
+++ b/public-typescript/workOrderEdit.js
@@ -596,14 +596,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
delete exports.workOrderMilestones;
const completeMilestone = (clickEvent) => {
clickEvent.preventDefault();
- const workOrderMilestoneId = clickEvent.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;
+ const currentDateString = cityssm.dateToString(new Date());
+ const workOrderMilestoneId = Number.parseInt(clickEvent.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId, 10);
+ const workOrderMilestone = workOrderMilestones.find((currentMilestone) => {
+ return (currentMilestone.workOrderMilestoneId ===
+ workOrderMilestoneId);
+ });
const doComplete = () => {
cityssm.postJSON(urlPrefix + "/workOrders/doCompleteWorkOrderMilestone", {
workOrderId,
workOrderMilestoneId
}, (responseJSON) => {
if (responseJSON.success) {
- workOrderMilestones = responseJSON.workOrderMilestones;
+ workOrderMilestones =
+ responseJSON.workOrderMilestones;
renderMilestones();
}
else {
@@ -617,7 +623,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
};
bulmaJS.confirm({
title: "Complete Milestone",
- message: "Are you sure you want to complete this milestone?",
+ message: "Are you sure you want to complete this milestone?" +
+ (workOrderMilestone.workOrderMilestoneDateString >
+ currentDateString
+ ? " Note that this milestone is expected to be completed in the future."
+ : ""),
+ messageIsHtml: true,
contextualColorName: "warning",
okButton: {
text: "Yes, Complete Milestone",
@@ -634,7 +645,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
workOrderMilestoneId
}, (responseJSON) => {
if (responseJSON.success) {
- workOrderMilestones = responseJSON.workOrderMilestones;
+ workOrderMilestones =
+ responseJSON.workOrderMilestones;
renderMilestones();
}
else {
diff --git a/public-typescript/workOrderEdit.ts b/public-typescript/workOrderEdit.ts
index 28e82abc..619384dc 100644
--- a/public-typescript/workOrderEdit.ts
+++ b/public-typescript/workOrderEdit.ts
@@ -847,34 +847,62 @@ declare const bulmaJS: BulmaJS;
const completeMilestone = (clickEvent: Event) => {
clickEvent.preventDefault();
- const workOrderMilestoneId = (
- (clickEvent.currentTarget as HTMLElement).closest(
- ".container--milestone"
- ) as HTMLElement
- ).dataset.workOrderMilestoneId;
+ const currentDateString = cityssm.dateToString(new Date());
+
+ const workOrderMilestoneId = Number.parseInt(
+ (
+ (clickEvent.currentTarget as HTMLElement).closest(
+ ".container--milestone"
+ ) as HTMLElement
+ ).dataset.workOrderMilestoneId,
+ 10
+ );
+
+ const workOrderMilestone = workOrderMilestones.find(
+ (currentMilestone) => {
+ return (
+ currentMilestone.workOrderMilestoneId ===
+ workOrderMilestoneId
+ );
+ }
+ );
const doComplete = () => {
- cityssm.postJSON(urlPrefix + "/workOrders/doCompleteWorkOrderMilestone", {
- workOrderId,
- workOrderMilestoneId
- },
- (responseJSON: {success: boolean; errorMessage?: string; workOrderMilestones?: recordTypes.WorkOrderMilestone[];}) => {
- if (responseJSON.success) {
- workOrderMilestones = responseJSON.workOrderMilestones;
- renderMilestones();
- } else {
- bulmaJS.alert({
- title: "Error Completing Milestone",
- message: responseJSON.errorMessage,
- contextualColorName: "danger"
- });
+ cityssm.postJSON(
+ urlPrefix + "/workOrders/doCompleteWorkOrderMilestone",
+ {
+ workOrderId,
+ workOrderMilestoneId
+ },
+ (responseJSON: {
+ success: boolean;
+ errorMessage?: string;
+ workOrderMilestones?: recordTypes.WorkOrderMilestone[];
+ }) => {
+ if (responseJSON.success) {
+ workOrderMilestones =
+ responseJSON.workOrderMilestones;
+ renderMilestones();
+ } else {
+ bulmaJS.alert({
+ title: "Error Completing Milestone",
+ message: responseJSON.errorMessage,
+ contextualColorName: "danger"
+ });
+ }
}
- });
+ );
};
bulmaJS.confirm({
title: "Complete Milestone",
- message: "Are you sure you want to complete this milestone?",
+ message:
+ "Are you sure you want to complete this milestone?" +
+ (workOrderMilestone.workOrderMilestoneDateString >
+ currentDateString
+ ? " Note that this milestone is expected to be completed in the future."
+ : ""),
+ messageIsHtml: true,
contextualColorName: "warning",
okButton: {
text: "Yes, Complete Milestone",
@@ -893,27 +921,36 @@ declare const bulmaJS: BulmaJS;
).dataset.workOrderMilestoneId;
const doReopen = () => {
- cityssm.postJSON(urlPrefix + "/workOrders/doReopenWorkOrderMilestone", {
- workOrderId,
- workOrderMilestoneId
- },
- (responseJSON: {success: boolean; errorMessage?: string; workOrderMilestones?: recordTypes.WorkOrderMilestone[];}) => {
- if (responseJSON.success) {
- workOrderMilestones = responseJSON.workOrderMilestones;
- renderMilestones();
- } else {
- bulmaJS.alert({
- title: "Error Reopening Milestone",
- message: responseJSON.errorMessage,
- contextualColorName: "danger"
- });
+ cityssm.postJSON(
+ urlPrefix + "/workOrders/doReopenWorkOrderMilestone",
+ {
+ workOrderId,
+ workOrderMilestoneId
+ },
+ (responseJSON: {
+ success: boolean;
+ errorMessage?: string;
+ workOrderMilestones?: recordTypes.WorkOrderMilestone[];
+ }) => {
+ if (responseJSON.success) {
+ workOrderMilestones =
+ responseJSON.workOrderMilestones;
+ renderMilestones();
+ } else {
+ bulmaJS.alert({
+ title: "Error Reopening Milestone",
+ message: responseJSON.errorMessage,
+ contextualColorName: "danger"
+ });
+ }
}
- });
+ );
};
bulmaJS.confirm({
title: "Reopen Milestone",
- message: "Are you sure you want to remove the completion status from this milestone, and reopen it?",
+ message:
+ "Are you sure you want to remove the completion status from this milestone, and reopen it?",
contextualColorName: "warning",
okButton: {
text: "Yes, Reopen Milestone",
diff --git a/public/javascripts/workOrderEdit.min.js b/public/javascripts/workOrderEdit.min.js
index 0202b950..d9671d1f 100644
--- a/public/javascripts/workOrderEdit.min.js
+++ b/public/javascripts/workOrderEdit.min.js
@@ -1 +1 @@
-"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("main").dataset.urlPrefix,s=document.querySelector("#workOrderEdit--workOrderId").value,o=""===s;if(document.querySelector("#form--workOrderEdit").addEventListener("submit",e=>{e.preventDefault(),cityssm.postJSON(t+"/workOrders/"+(o?"doCreateWorkOrder":"doUpdateWorkOrder"),e.currentTarget,e=>{e.success?o?window.location.href=t+"/workOrders/"+e.workOrderId+"/edit":bulmaJS.alert({message:"Work Order Updated Successfully",contextualColorName:"success"}):bulmaJS.alert({title:"Error Updating Work Order",message:e.errorMessage,contextualColorName:"danger"})})}),!o){let o=exports.workOrderLots;delete exports.workOrderLots;let a=exports.workOrderLotOccupancies;delete exports.workOrderLotOccupancies;const r=e=>{const o=e.currentTarget.closest(".container--lotOccupancy").dataset.lotOccupancyId;bulmaJS.confirm({title:"Delete "+exports.aliases.lot+" "+exports.aliases.occupancy+" Relationship",message:"Are you sure you want to remove the relationship to this "+exports.aliases.lot.toLowerCase()+" "+exports.aliases.occupancy.toLowerCase()+" record from this work order? Note that the record will remain.",contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:()=>{cityssm.postJSON(t+"/workOrders/doDeleteWorkOrderLotOccupancy",{workOrderId:s,lotOccupancyId:o},e=>{e.success?(a=e.workOrderLotOccupancies,u()):bulmaJS.alert({title:"Error Deleting Relationship",message:e.errorMessage,contextualColorName:"danger"})})}}})},c=(e,a)=>{cityssm.postJSON(t+"/workOrders/doAddWorkOrderLot",{workOrderId:s,lotId:e},e=>{e.success?(o=e.workOrderLots,u()):bulmaJS.alert({title:"Error Adding "+exports.aliases.lot,message:e.errorMessage,contextualColorName:"danger"}),a&&a(e.success)})},n=(e,o)=>{cityssm.postJSON(t+"/workOrders/doAddWorkOrderLotOccupancy",{workOrderId:s,lotOccupancyId:e},e=>{e.success?(a=e.workOrderLotOccupancies,u()):bulmaJS.alert({title:"Error Adding "+exports.aliases.occupancy,message:e.errorMessage,contextualColorName:"danger"}),o&&o(e.success)})},l=e=>{const t=e.currentTarget.dataset.lotId;c(t)},i=()=>{const e=document.querySelector("#container--lotOccupancies");if(document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag").textContent=a.length.toString(),0===a.length)return void(e.innerHTML='
There are no '+exports.aliases.occupancies.toLowerCase()+" associated with this work order.
");e.innerHTML='
'+exports.aliases.occupancy+" Type
"+exports.aliases.lot+"
Start Date
End Date
"+exports.aliases.occupants+'
';const s=cityssm.dateToString(new Date);for(const c of a){const a=document.createElement("tr");a.className="container--lotOccupancy",a.dataset.lotOccupancyId=c.lotOccupancyId.toString();const n=!(c.occupancyEndDate&&c.occupancyEndDateStringc.lotId===e.lotId);a.innerHTML='
"+(c.occupancyEndDate?c.occupancyEndDateString:'(No End Date)')+"
"+(0===c.lotOccupancyOccupants.length?'(No '+cityssm.escapeHTML(exports.aliases.occupants)+")":cityssm.escapeHTML(c.lotOccupancyOccupants[0].occupantName)+(c.lotOccupancyOccupants.length>1?" plus "+(c.lotOccupancyOccupants.length-1):""))+'
'),c.lotId&&!i&&a.querySelector(".button--addLot").addEventListener("click",l),a.querySelector(".button--deleteLotOccupancy").addEventListener("click",r),e.querySelector("tbody").append(a)}},d=e=>{const a=e.currentTarget.closest(".container--lot").dataset.lotId;bulmaJS.confirm({title:"Delete "+exports.aliases.lot+" "+exports.aliases.occupancy+" Relationship",message:"Are you sure you want to remove the relationship to this "+exports.aliases.lot.toLowerCase()+" "+exports.aliases.occupancy.toLowerCase()+" record from this work order? Note that the record will remain.",contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:()=>{cityssm.postJSON(t+"/workOrders/doDeleteWorkOrderLot",{workOrderId:s,lotId:a},e=>{e.success?(o=e.workOrderLots,u()):bulmaJS.alert({title:"Error Deleting Relationship",message:e.errorMessage,contextualColorName:"danger"})})}}})},p=()=>{const e=document.querySelector("#container--lots");if(document.querySelector(".tabs a[href='#relatedTab--lots'] .tag").textContent=o.length.toString(),0!==o.length){e.innerHTML='
'+exports.aliases.lot+"
"+exports.aliases.map+"
"+exports.aliases.lot+' Type
Status
';for(const s of o){const o=document.createElement("tr");o.className="container--lot",o.dataset.lotId=s.lotId.toString(),o.innerHTML='
";for(const t of e.lotOccupancies){const e=document.createElement("tr");e.className="container--lotOccupancy",e.dataset.lotOccupancyId=t.lotOccupancyId.toString(),e.innerHTML='
'+cityssm.escapeHTML(t.occupancyType)+"
",t.lotId?e.insertAdjacentHTML("beforeend","
"+cityssm.escapeHTML(t.lotName)+"
"):e.insertAdjacentHTML("beforeend",'
(No '+exports.aliases.lot+")
"),e.insertAdjacentHTML("beforeend","
"+t.occupancyStartDateString+"
"+(t.occupancyEndDate?t.occupancyEndDateString:'(No End Date)')+"
"+(0===t.lotOccupancyOccupants.length?'(No '+cityssm.escapeHTML(exports.aliases.occupants)+")":cityssm.escapeHTML(t.lotOccupancyOccupants[0].occupantName)+(t.lotOccupancyOccupants.length>1?" plus "+(t.lotOccupancyOccupants.length-1):""))+"
There are no records that meet the search criteria.
'})};cityssm.openHtmlModal("workOrder-addLot",{onshow:t=>{e.populateAliases(t),o=t.querySelector("form"),a=t.querySelector("#resultsContainer--lotAdd"),t.querySelector("#lotSearch--notWorkOrderId").value=s;const r=t.querySelector("#lotSearch--lotStatusId");for(const e of exports.lotStatuses){const t=document.createElement("option");t.value=e.lotStatusId.toString(),t.textContent=e.lotStatus,r.append(t)}n()},onshown:e=>{bulmaJS.toggleHtmlClipped(),e.querySelector("#lotSearch--lotName").addEventListener("change",n),e.querySelector("#lotSearch--lotStatusId").addEventListener("change",n),o.addEventListener("submit",n)},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})})}if(!o){let e=exports.workOrderMilestones;delete exports.workOrderMilestones;const o=o=>{o.preventDefault();const a=o.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Complete Milestone",message:"Are you sure you want to complete this milestone?",contextualColorName:"warning",okButton:{text:"Yes, Complete Milestone",callbackFunction:()=>{cityssm.postJSON(t+"/workOrders/doCompleteWorkOrderMilestone",{workOrderId:s,workOrderMilestoneId:a},t=>{t.success?(e=t.workOrderMilestones,c()):bulmaJS.alert({title:"Error Completing Milestone",message:t.errorMessage,contextualColorName:"danger"})})}}})},a=o=>{o.preventDefault();const a=o.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Reopen Milestone",message:"Are you sure you want to remove the completion status from this milestone, and reopen it?",contextualColorName:"warning",okButton:{text:"Yes, Reopen Milestone",callbackFunction:()=>{cityssm.postJSON(t+"/workOrders/doReopenWorkOrderMilestone",{workOrderId:s,workOrderMilestoneId:a},t=>{t.success?(e=t.workOrderMilestones,c()):bulmaJS.alert({title:"Error Reopening Milestone",message:t.errorMessage,contextualColorName:"danger"})})}}})},r=e=>{e.preventDefault()},c=()=>{const t=document.querySelector("#panel--milestones"),s=t.querySelectorAll(".panel-block");for(const e of s)e.remove();for(const s of e){const e=document.createElement("div");e.className="panel-block is-block container--milestone",e.dataset.workOrderMilestoneId=s.workOrderMilestoneId.toString(),e.innerHTML='
',s.workOrderMilestoneCompletionDate?e.querySelector(".button--reopenMilestone").addEventListener("click",a):e.querySelector(".button--completeMilestone").addEventListener("click",o),e.querySelector(".button--deleteMilestone").addEventListener("click",r),t.append(e)}bulmaJS.init(t)};c()}})();
\ No newline at end of file
+"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("main").dataset.urlPrefix,s=document.querySelector("#workOrderEdit--workOrderId").value,o=""===s;if(document.querySelector("#form--workOrderEdit").addEventListener("submit",e=>{e.preventDefault(),cityssm.postJSON(t+"/workOrders/"+(o?"doCreateWorkOrder":"doUpdateWorkOrder"),e.currentTarget,e=>{e.success?o?window.location.href=t+"/workOrders/"+e.workOrderId+"/edit":bulmaJS.alert({message:"Work Order Updated Successfully",contextualColorName:"success"}):bulmaJS.alert({title:"Error Updating Work Order",message:e.errorMessage,contextualColorName:"danger"})})}),!o){let o=exports.workOrderLots;delete exports.workOrderLots;let a=exports.workOrderLotOccupancies;delete exports.workOrderLotOccupancies;const r=e=>{const o=e.currentTarget.closest(".container--lotOccupancy").dataset.lotOccupancyId;bulmaJS.confirm({title:"Delete "+exports.aliases.lot+" "+exports.aliases.occupancy+" Relationship",message:"Are you sure you want to remove the relationship to this "+exports.aliases.lot.toLowerCase()+" "+exports.aliases.occupancy.toLowerCase()+" record from this work order? Note that the record will remain.",contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:()=>{cityssm.postJSON(t+"/workOrders/doDeleteWorkOrderLotOccupancy",{workOrderId:s,lotOccupancyId:o},e=>{e.success?(a=e.workOrderLotOccupancies,u()):bulmaJS.alert({title:"Error Deleting Relationship",message:e.errorMessage,contextualColorName:"danger"})})}}})},c=(e,a)=>{cityssm.postJSON(t+"/workOrders/doAddWorkOrderLot",{workOrderId:s,lotId:e},e=>{e.success?(o=e.workOrderLots,u()):bulmaJS.alert({title:"Error Adding "+exports.aliases.lot,message:e.errorMessage,contextualColorName:"danger"}),a&&a(e.success)})},n=(e,o)=>{cityssm.postJSON(t+"/workOrders/doAddWorkOrderLotOccupancy",{workOrderId:s,lotOccupancyId:e},e=>{e.success?(a=e.workOrderLotOccupancies,u()):bulmaJS.alert({title:"Error Adding "+exports.aliases.occupancy,message:e.errorMessage,contextualColorName:"danger"}),o&&o(e.success)})},l=e=>{const t=e.currentTarget.dataset.lotId;c(t)},i=()=>{const e=document.querySelector("#container--lotOccupancies");if(document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag").textContent=a.length.toString(),0===a.length)return void(e.innerHTML='
There are no '+exports.aliases.occupancies.toLowerCase()+" associated with this work order.
");e.innerHTML='
'+exports.aliases.occupancy+" Type
"+exports.aliases.lot+"
Start Date
End Date
"+exports.aliases.occupants+'
';const s=cityssm.dateToString(new Date);for(const c of a){const a=document.createElement("tr");a.className="container--lotOccupancy",a.dataset.lotOccupancyId=c.lotOccupancyId.toString();const n=!(c.occupancyEndDate&&c.occupancyEndDateStringc.lotId===e.lotId);a.innerHTML='
"+(c.occupancyEndDate?c.occupancyEndDateString:'(No End Date)')+"
"+(0===c.lotOccupancyOccupants.length?'(No '+cityssm.escapeHTML(exports.aliases.occupants)+")":cityssm.escapeHTML(c.lotOccupancyOccupants[0].occupantName)+(c.lotOccupancyOccupants.length>1?" plus "+(c.lotOccupancyOccupants.length-1):""))+'
'),c.lotId&&!i&&a.querySelector(".button--addLot").addEventListener("click",l),a.querySelector(".button--deleteLotOccupancy").addEventListener("click",r),e.querySelector("tbody").append(a)}},d=e=>{const a=e.currentTarget.closest(".container--lot").dataset.lotId;bulmaJS.confirm({title:"Delete "+exports.aliases.lot+" "+exports.aliases.occupancy+" Relationship",message:"Are you sure you want to remove the relationship to this "+exports.aliases.lot.toLowerCase()+" "+exports.aliases.occupancy.toLowerCase()+" record from this work order? Note that the record will remain.",contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:()=>{cityssm.postJSON(t+"/workOrders/doDeleteWorkOrderLot",{workOrderId:s,lotId:a},e=>{e.success?(o=e.workOrderLots,u()):bulmaJS.alert({title:"Error Deleting Relationship",message:e.errorMessage,contextualColorName:"danger"})})}}})},p=()=>{const e=document.querySelector("#container--lots");if(document.querySelector(".tabs a[href='#relatedTab--lots'] .tag").textContent=o.length.toString(),0!==o.length){e.innerHTML='
'+exports.aliases.lot+"
"+exports.aliases.map+"
"+exports.aliases.lot+' Type
Status
';for(const s of o){const o=document.createElement("tr");o.className="container--lot",o.dataset.lotId=s.lotId.toString(),o.innerHTML='
";for(const t of e.lotOccupancies){const e=document.createElement("tr");e.className="container--lotOccupancy",e.dataset.lotOccupancyId=t.lotOccupancyId.toString(),e.innerHTML='
'+cityssm.escapeHTML(t.occupancyType)+"
",t.lotId?e.insertAdjacentHTML("beforeend","
"+cityssm.escapeHTML(t.lotName)+"
"):e.insertAdjacentHTML("beforeend",'
(No '+exports.aliases.lot+")
"),e.insertAdjacentHTML("beforeend","
"+t.occupancyStartDateString+"
"+(t.occupancyEndDate?t.occupancyEndDateString:'(No End Date)')+"
"+(0===t.lotOccupancyOccupants.length?'(No '+cityssm.escapeHTML(exports.aliases.occupants)+")":cityssm.escapeHTML(t.lotOccupancyOccupants[0].occupantName)+(t.lotOccupancyOccupants.length>1?" plus "+(t.lotOccupancyOccupants.length-1):""))+"
There are no records that meet the search criteria.
'})};cityssm.openHtmlModal("workOrder-addLot",{onshow:t=>{e.populateAliases(t),o=t.querySelector("form"),a=t.querySelector("#resultsContainer--lotAdd"),t.querySelector("#lotSearch--notWorkOrderId").value=s;const r=t.querySelector("#lotSearch--lotStatusId");for(const e of exports.lotStatuses){const t=document.createElement("option");t.value=e.lotStatusId.toString(),t.textContent=e.lotStatus,r.append(t)}n()},onshown:e=>{bulmaJS.toggleHtmlClipped(),e.querySelector("#lotSearch--lotName").addEventListener("change",n),e.querySelector("#lotSearch--lotStatusId").addEventListener("change",n),o.addEventListener("submit",n)},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})})}if(!o){let e=exports.workOrderMilestones;delete exports.workOrderMilestones;const o=o=>{o.preventDefault();const a=cityssm.dateToString(new Date),r=Number.parseInt(o.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId,10),n=e.find(e=>e.workOrderMilestoneId===r);bulmaJS.confirm({title:"Complete Milestone",message:"Are you sure you want to complete this milestone?"+(n.workOrderMilestoneDateString>a?" Note that this milestone is expected to be completed in the future.":""),messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Complete Milestone",callbackFunction:()=>{cityssm.postJSON(t+"/workOrders/doCompleteWorkOrderMilestone",{workOrderId:s,workOrderMilestoneId:r},t=>{t.success?(e=t.workOrderMilestones,c()):bulmaJS.alert({title:"Error Completing Milestone",message:t.errorMessage,contextualColorName:"danger"})})}}})},a=o=>{o.preventDefault();const a=o.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Reopen Milestone",message:"Are you sure you want to remove the completion status from this milestone, and reopen it?",contextualColorName:"warning",okButton:{text:"Yes, Reopen Milestone",callbackFunction:()=>{cityssm.postJSON(t+"/workOrders/doReopenWorkOrderMilestone",{workOrderId:s,workOrderMilestoneId:a},t=>{t.success?(e=t.workOrderMilestones,c()):bulmaJS.alert({title:"Error Reopening Milestone",message:t.errorMessage,contextualColorName:"danger"})})}}})},r=e=>{e.preventDefault()},c=()=>{const t=document.querySelector("#panel--milestones"),s=t.querySelectorAll(".panel-block");for(const e of s)e.remove();for(const s of e){const e=document.createElement("div");e.className="panel-block is-block container--milestone",e.dataset.workOrderMilestoneId=s.workOrderMilestoneId.toString(),e.innerHTML='
',s.workOrderMilestoneCompletionDate?e.querySelector(".button--reopenMilestone").addEventListener("click",a):e.querySelector(".button--completeMilestone").addEventListener("click",o),e.querySelector(".button--deleteMilestone").addEventListener("click",r),t.append(e)}bulmaJS.init(t)};c()}})();
\ No newline at end of file