fleet/frontend/components/forms/queries/QueryForm/helpers.js
RachelElysia c42f150fac
Query Edit/Run Page: Observer view (#820)
* Query Edit/Run page renders based on user role
* Original UI for global admin/ global maintainer
* New UI for global observer / team maintainer / team observer
* New create new query UI for team maintainer
* Styling matches Figma
* Tests modified accordingly

Styling Closes #859

Co-authored by: Sarah Gillespie @gillespi314
Tests co-authored by: @ghernandez345
2021-05-27 12:06:24 -04:00

49 lines
1.2 KiB
JavaScript

const formChanged = (fields, query) => {
return (
query.name !== fields.name.value ||
query.description !== fields.description.value ||
query.query !== fields.query.value ||
// added 5/17
query.observer_can_run !== fields.observer_can_run.value
);
};
const canSaveAsNew = (fields, query = {}) => {
if (!fields.name.value && !fields.description.value) {
return true;
}
if (fields.name.value !== query.name) {
return true;
}
// added 5/17 canSaveAsNew returns true or false based on if observer can run has changed
if (fields.observer_can_run.value !== query.observer_can_run) {
return true;
}
return false;
};
const canSaveChanges = (fields, query = {}) => {
if (!query.name && !query.description) {
return false;
}
if (formChanged(fields, query)) {
return true;
}
return false;
};
const allPlatforms = { label: "All Platforms", value: "" };
const platformOptions = [
allPlatforms,
{ label: "macOS", value: "darwin" },
{ label: "Windows", value: "windows" },
{ label: "Ubuntu", value: "ubuntu" },
{ label: "Centos", value: "centos" },
];
export default { allPlatforms, canSaveAsNew, canSaveChanges, platformOptions };