/use strict/;
Save: 1,
SaveAndClose: 2,
SaveAndNew: 59,
Autosave: 70
};
function onSave(executionContext) {
setTimeout(() => {
processForm(executionContext);
}, 9000);
var eventArgs = executionContext.getEventArgs();
if (eventArgs.isDefaultPrevented()) {
return;
}
if (![SaveMode.Save, SaveMode.SaveAndClose, SaveMode.SaveAndNew, SaveMode.Autosave].includes(saveMode)) {
return;
}
var projectLevel = formContext.getAttribute(/dmis_displaylevel/).getValue();
var correctLevel = true; // Assume levels are correct until proven otherwise
var levelErrorMessage = //;
if (childLevel <= projectLevel) {
correctLevel = false; // Found a child that is at the same level or lower
//levelErrorMessage += `Child at index ${index} has a level of ${childLevel}, which is not allowed. `;
}
});
// All children are at acceptable levels; allow the save
executeSave(formContext, saveMode);
} else {
// Prevent save and show error message
eventArgs.preventDefault();
levelErrorMessage += 'This record has children at or above the level attempting to be saved, please review children';
var alertStrings = { confirmButtonLabel: /Cancel/, text: levelErrorMessage, title: /Children Preventing Save/ };
var alertOptions = { height: 200, width: 400 };
Xrm.Navigation.openAlertDialog(alertStrings, alertOptions);
}
}
// Execute the appropriate save operation
if (saveMode === SaveMode.Save || saveMode === SaveMode.Autosave) {
formContext.data.entity.save();
} else if (saveMode === SaveMode.SaveAndClose) {
formContext.data.entity.save(/saveandclose/);
} else {
formContext.data.entity.save(/saveandnew/);
}
}