sunrise-cms/public/javascripts/contract.editWorkOrders.js

71 lines
3.2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
(() => {
const sunrise = exports.sunrise;
const contractId = document.querySelector('#contract--contractId').value;
document
.querySelector('#button--createWorkOrder')
?.addEventListener('click', (clickEvent) => {
clickEvent.preventDefault();
let createCloseModalFunction;
function doCreate(formEvent) {
formEvent.preventDefault();
cityssm.postJSON(`${sunrise.urlPrefix}/workOrders/doCreateWorkOrder`, formEvent.currentTarget, (rawResponseJSON) => {
const responseJSON = rawResponseJSON;
if (responseJSON.success) {
createCloseModalFunction();
bulmaJS.confirm({
title: 'Work Order Created Successfully',
message: 'Would you like to open the work order now?',
contextualColorName: 'success',
okButton: {
text: 'Yes, Open the Work Order',
callbackFunction() {
globalThis.location.href = sunrise.getWorkOrderURL(responseJSON.workOrderId, true);
}
}
});
}
else {
bulmaJS.alert({
title: 'Error Creating Work Order',
message: responseJSON.errorMessage,
contextualColorName: 'danger'
});
}
});
}
cityssm.openHtmlModal('contract-createWorkOrder', {
onshow(modalElement) {
;
modalElement.querySelector('#workOrderCreate--contractId').value = contractId;
modalElement.querySelector('#workOrderCreate--workOrderOpenDateString').value = cityssm.dateToString(new Date());
const workOrderTypeSelectElement = modalElement.querySelector('#workOrderCreate--workOrderTypeId');
const workOrderTypes = exports
.workOrderTypes;
if (workOrderTypes.length === 1) {
workOrderTypeSelectElement.innerHTML = '';
}
for (const workOrderType of workOrderTypes) {
const optionElement = document.createElement('option');
optionElement.value = workOrderType.workOrderTypeId.toString();
optionElement.textContent = workOrderType.workOrderType ?? '';
workOrderTypeSelectElement.append(optionElement);
}
},
onshown(modalElement, closeModalFunction) {
createCloseModalFunction = closeModalFunction;
bulmaJS.toggleHtmlClipped();
modalElement.querySelector('#workOrderCreate--workOrderTypeId').focus();
modalElement
.querySelector('form')
?.addEventListener('submit', doCreate);
},
onremoved() {
bulmaJS.toggleHtmlClipped();
document.querySelector('#button--createWorkOrder').focus();
}
});
});
})();