ohif-viewer/Packages/ohif-measurements/client/lib/isSaveDisabled.js

25 lines
936 B
JavaScript

import { OHIF } from 'meteor/ohif:core';
OHIF.measurements.isSaveDisabled = timepointId => {
const basePath = `viewer.studyViewer.measurements.${timepointId}`;
// Get the timepoint object
const timepoint = OHIF.viewer.timepointApi.timepoints.findOne({ timepointId });
// Check if the timepoint is locked
let isLocked = (timepoint && timepoint.isLocked);
if (typeof isLocked === 'undefined') {
isLocked = true;
}
// Check if the given timepoint suffered changes
const hasChanges = OHIF.ui.unsavedChanges.probe(basePath) !== 0;
// Check if the given timepoint has nonconformities
const nonconformities = OHIF.viewer.conformanceCriteria.nonconformities.get();
const hasNonconformities = nonconformities && !!nonconformities.length;
// Prevent saving if timepoint is locked, has no changes or has nonconformities
return isLocked || !hasChanges || hasNonconformities;
};