71 lines
3.2 KiB
JavaScript
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({
|
|
contextualColorName: 'danger',
|
|
title: 'Error Creating Work Order',
|
|
message: responseJSON.errorMessage,
|
|
});
|
|
}
|
|
});
|
|
}
|
|
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();
|
|
}
|
|
});
|
|
});
|
|
})();
|