From 5d8cd56de35cef8294cd08c97ed740824f8f9169 Mon Sep 17 00:00:00 2001
From: noahtalerman <47070608+noahtalerman@users.noreply.github.com>
Date: Tue, 30 Mar 2021 17:21:05 -0700
Subject: [PATCH] Add platform text to Queries list on "Pack" page (#561)
- Add platform text to the Queries list. This text better reflects the options in the "Platform" dropdown when scheduling a query.
- Remove platform icons.
---
.../ScheduledQueriesListItem.jsx | 45 ++++++++++++-------
.../ScheduledQueriesListItem.tests.jsx | 2 -
.../queries/ScheduledQueriesList/_styles.scss | 11 ++++-
3 files changed, 38 insertions(+), 20 deletions(-)
diff --git a/frontend/components/queries/ScheduledQueriesList/ScheduledQueriesListItem/ScheduledQueriesListItem.jsx b/frontend/components/queries/ScheduledQueriesList/ScheduledQueriesListItem/ScheduledQueriesListItem.jsx
index d8ecc202ba..0ca7b55791 100644
--- a/frontend/components/queries/ScheduledQueriesList/ScheduledQueriesListItem/ScheduledQueriesListItem.jsx
+++ b/frontend/components/queries/ScheduledQueriesList/ScheduledQueriesListItem/ScheduledQueriesListItem.jsx
@@ -5,12 +5,36 @@ import classnames from 'classnames';
import Checkbox from 'components/forms/fields/Checkbox';
import ClickableTableRow from 'components/ClickableTableRow';
import KolideIcon from 'components/icons/KolideIcon';
-import PlatformIcon from 'components/icons/PlatformIcon';
-import { includes, isEmpty, isEqual } from 'lodash';
+import { isEqual, find } from 'lodash';
import scheduledQueryInterface from 'interfaces/scheduled_query';
const baseClass = 'scheduled-query-list-item';
+const generatePlatformText = (platforms) => {
+ const ALL_PLATFORMS = [
+ { text: 'All', value: 'all' },
+ { text: 'macOS', value: 'darwin' },
+ { text: 'Windows', value: 'windows' },
+ { text: 'Linux', value: 'linux' },
+ ];
+
+ if (platforms) {
+ const platformArray = platforms.split(',');
+
+ const textArray = platformArray.map((platform) => {
+ const text = find(ALL_PLATFORMS, { value: platform }).text;
+
+ return text;
+ });
+
+ const displayText = textArray.join(', ');
+
+ return displayText;
+ }
+
+ return '---';
+};
+
class ScheduledQueriesListItem extends Component {
static propTypes = {
checked: PropTypes.bool,
@@ -63,21 +87,10 @@ class ScheduledQueriesListItem extends Component {
return 'bold-plus';
}
- renderPlatformIcon = () => {
- const { scheduledQuery: { platform } } = this.props;
- const platformArr = platform ? platform.split(',') : [];
-
- if (isEmpty(platformArr) || includes(platformArr, 'all')) {
- return