Commit Graph
291 Commits
Author SHA1 Message Date
jacobshandlingandJacob Shandling 85e826a094 UI: Add ability to run scripts on batches of hosts (#28563)
## For #28159 

- Implement UI capability to run scripts on batches of hosts at a time
  - Add new hosts table `Run script` primary action, triggers
- new `RunScriptBatch` modal, allows running scripts on the selected
batch of hosts
- new `RunScriptBatchPaginatedList`, handles logic specific to this
modal, and utilizes the now more flexible `PaginatedList` component
- Widen capabilities of `PaginatedList` component to elegantly handle
more diverse applications, including this one
- Widen capabilities of `ScriptDetailsModal` component to elegantly
handle more diverse applications, including this one
- Streamline updating `state`s on manage hosts page
- Clearer, more concise naming

- [x] Changes file added for user-visible changes in `changes/`
- [x] A detailed QA plan exists on the associated ticket (if it isn't
there, work with the product group's QA engineer to add it)
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-04-28 16:32:41 -07:00
RachelElysia 7f71866571 FE: Button renaming, better storybook view, remove unused code (#28245) 2025-04-16 09:56:09 -04:00
RachelElysia 00c3611712 Fleet UI: Table improvements (tooltips, tab-ability) (#27986) 2025-04-10 15:42:10 -04:00
RachelElysia 29034bb230 Fleet UI: Pagination follow-up (#27428) 2025-03-31 11:44:04 -04:00
RachelElysia f7853ddbef Fleet UI: Tweaks to improve styling on low widths (#27397) 2025-03-28 11:31:50 -04:00
RachelElysia ea37ad6df3 Fleet UI: Surface Windows FMA (#27068) 2025-03-21 09:33:06 -04:00
Dante Catalfamo e9f1d52f6a Fix multi-row-select cell firing onClickRow twice (#27010)
#26564
2025-03-20 16:36:59 -04:00
RachelElysia 7f8073624a FE: Refactor pagination to be a single component (#27224) 2025-03-20 12:40:43 -04:00
RachelElysia aad8d858cc Fleet UI: Never truncate host count on Dashboard > Software table (#26777) 2025-03-10 14:02:13 -04:00
RachelElysia 04104bdda1 My Device Page: Software link instead of view details hover link (#26885) 2025-03-05 15:54:12 -05:00
RachelElysia f2ad368463 Fleet UI: Hide auto install tag if null (#26660) 2025-02-27 15:09:05 -05:00
RachelElysia 7b7fa2fcd1 Fleet UI: Component fixes (styling bugs and code cleanup) (#26149) 2025-02-26 13:47:28 -05:00
RachelElysia df8e753e71 Fleet UI: Consistent table row clickability (#26022) 2025-02-04 14:05:22 -05:00
RachelElysia 9b70a2c819 Fleet UI: Surface download URL for Fleet-maintained app when adding (#25762) 2025-01-27 16:23:08 -05:00
RachelElysia 3060f452c2 Fleet UI: Fix user management page overflow (#25733) 2025-01-24 10:06:49 -05:00
RachelElysia c4a556618f Fleet UI: Updates to dropdown selected states (#25635) 2025-01-22 10:22:59 -05:00
Sarah Gillespie 69459efd1d Remove arrow icon from MDM solution table (#25211) 2025-01-08 17:41:26 -06:00
jacobshandlingandJacob Shandling fea4dd791a UI - Update targeted platforms display logic in the queries table (#25037)
### Unreleased bug where queries targeting all platforms display as
targeting no platforms in the Queries table.

The below query is set to target _all_ platforms.

**Bug:**
<img width="1248" alt="Screenshot 2024-12-29 at 8 24 50 PM"
src="https://github.com/user-attachments/assets/90c9a498-f7d8-4d86-88f1-061c985fb4fa"
/>

**Fix:**
Targeting all platforms, frequency set, displays platform icons:
<img width="1248" alt="Screenshot 2024-12-29 at 8 25 25 PM"
src="https://github.com/user-attachments/assets/d03c1bba-e5ea-461a-b506-1840cf4ffa8e"
/>

Targeting all paltforms but no frequency set (i.e., no schedule), no
targeted platforms displayed:
<img width="1248" alt="Screenshot 2024-12-29 at 8 25 38 PM"
src="https://github.com/user-attachments/assets/9b08a8c3-b682-4eb0-aeb4-59a6e0144e14"
/>

- [x] Manual QA for all new/changed functionality
- [x] Updated tests

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-12-30 13:06:59 -08:00
jacobshandlingandJacob Shandling 32c42c301f UI - Show software details My device page (#25022)
## #23315 

- On device user page > Software, make rows clickable and on click, open
the Software details modal to display information about the installation
on the host.
- Update Software details modal copy and allow long file paths to wrap


https://github.com/user-attachments/assets/1e714c5e-1614-46c0-bb56-d6dc8ad4f8ae

<img width="1350" alt="Screenshot 2024-12-26 at 10 27 44 AM"
src="https://github.com/user-attachments/assets/5cefc45a-b0ef-41d9-84e6-21ac17aaeffe"
/>
<img width="1350" alt="Screenshot 2024-12-26 at 10 27 19 AM"
src="https://github.com/user-attachments/assets/e0866961-31a4-4bd3-82e8-18f72cf4dc30"
/>
<img width="1350" alt="Screenshot 2024-12-26 at 10 27 37 AM"
src="https://github.com/user-attachments/assets/2bf6c880-664d-4315-8a40-8de61a5e4748"
/>


- [x] Changes file added for user-visible changes in `changes/`, 
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-12-26 14:51:28 -08:00
RachelElysia a59b977850 Fleet UI: Keyboard accessibility for clickable rows, view report (#23625) 2024-12-18 10:12:27 -05:00
Gabriel Hernandez 0d459359a4 Feat UI create policies fleet app (#23842)
relates to #23136

This is the UI for the creating of policies when adding fleet maintained
software. This includes only the creating of the policy and there will
be another PR for viewing more information on the software titles
details page.


**new install type options. this determines if a policy should be
created or not.**

![image](https://github.com/user-attachments/assets/20538c66-bc1c-4903-aa70-83d24da97617)


there are also some new icons for the software titles.

- [] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] Manual QA for all new/changed functionality
2024-11-20 11:41:40 +00:00
Jahziel Villasana-Espinoza 0bf331786e chore: dump sql schema 2024-10-25 18:01:19 -04:00
RachelElysia 2a756088f1 Fleet UI: Accessibility button actions, tabbing (#22916) 2024-10-25 11:02:52 -04:00
Gabriel Hernandez 2d7f9a342f various quick updates to UI for setup experience feature (#23226) 2024-10-25 13:05:40 +01:00
Gabriel Hernandezandgillespi314 990206c782 Fix issues around selecting software to install (#23223)
relates to #23180

fixes up some issues with showing the correct number of selected
software to install and also with the table row selection behaviour.

We've had to create a couple new props on the `TableContainer`
component; one called `defaultSelectedRows` and the other
`persistSelectedRows`.


`defaultSelectedRows` will allow you to specify the default rows that
are selected in the table on the initial render. This is done with an
object with the key being the index of the row and the value being a
boolean.

```tsx
// the first and third rows will be selected in this case
<TableContainer
  defaultSelectedRows={{0: true, 2: true}}
  ...
/>
```

`persistSelectedRows` will allow the row selections to persist across
search query changes. This defaults to false.

---------

Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>
2024-10-25 11:27:44 +01:00
Gabriel Hernandez d5689dd0fe Merge branch 'main' into feat-setup-experience 2024-10-21 12:36:50 +01:00
RachelElysia 97ef401bea Fleet UI: Checkbox and accessibility styling, tab through select targets (#22943) 2024-10-17 10:01:23 -04:00
Gabriel Hernandez 3729b4b98d Install software setup experience UI (#22651)
relates to #22373

This implements the UI for the install software setup experience in the
UI. This includes:

**updating the nav sidebar**


![image](https://github.com/user-attachments/assets/91928a23-13cc-430b-b207-ba226df32b86)

**creating a new install software card**


![image](https://github.com/user-attachments/assets/8b4a9495-4119-4360-9f31-53ac41b83316)

**select software modal for selecting which software to install**


![image](https://github.com/user-attachments/assets/a3b4b786-ab8e-42b2-8feb-4b2a83e69af9)**


- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] Manual QA for all new/changed functionality
2024-10-09 16:09:38 +01:00
Gabriel Hernandez 314219a65a Add UI for adding fleet maintained apps (#22204)
relates to #21775

> NOTE: there still needs to be integrated with the API when this work
is done.

Adds the UI for adding Fleet maintained applications. This includes:

**the view to see all the fleet maintained apps**


![image](https://github.com/user-attachments/assets/f49983d1-df6d-4721-b50d-a4fa78b2c85e)

**The fleet maintained app details Page:**


![image](https://github.com/user-attachments/assets/974c4a83-211e-45de-b0cc-2c5f6e055896)



<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [ ] Added/updated tests
- [ ] Manual QA for all new/changed functionality
2024-09-20 15:47:01 +01:00
a00559e732 feat: enable multiple ABM and VPP tokens (#21693)
> Related issue: #9956 

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated tests
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes
- [x] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
Co-authored-by: Roberto Dip <rroperzh@gmail.com>
Co-authored-by: Sarah Gillespie <73313222+gillespi314@users.noreply.github.com>
Co-authored-by: Dante Catalfamo <43040593+dantecatalfamo@users.noreply.github.com>
Co-authored-by: Roberto Dip <dip.jesusr@gmail.com>
2024-08-29 18:51:46 -04:00
jacobshandlingandJacob Shandling 17979b07bc UI – Update software table loading state (#20982)
## #20535 


~https://github.com/user-attachments/assets/4c39bd5d-3d75-46f0-9f39-05ec36dac0d0~

### Improved solution:

**Flow**:

![Screenshot-2024-08-19-at-114948A](https://github.com/user-attachments/assets/03de39c1-1436-49bd-a077-d73b248dcdfe)

**Just loading state:**
<img width="1617" alt="Screenshot 2024-08-19 at 11 50 18 AM"
src="https://github.com/user-attachments/assets/df429956-0699-4e73-a017-4022013ccce4">

****

- [x] Changes file added for user-visible changes in `changes/`
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-08-21 13:12:42 -07:00
jacobshandling 3ae0544c43 UI – iPad/iOS VPP follow-ups (#20850) 2024-07-30 13:50:15 -07:00
jacobshandlingandJacob Shandling 19a64941ba UI – Add VPP features for iPadOS and iOS (#20755)
## Addresses #20467 – part 2

### Aggregate software:

#### Software titles
<img width="1616" alt="sw-titles-updated"
src="https://github.com/user-attachments/assets/0b9922c7-e36e-4d2f-b204-95c3cdf9b602">

#### Software versions
<img width="1616" alt="Screenshot 2024-07-29 at 6 14 21 PM"
src="https://github.com/user-attachments/assets/5a097700-cd6c-45b1-a21f-9d76a733f0ae">

#### Host software
<img width="1616" alt="Screenshot 2024-07-29 at 6 23 01 PM"
src="https://github.com/user-attachments/assets/84e18695-f47a-4022-bd53-7f5d37ce452a">


### Add software modal (VPP) _screenshots use mocked data - UI is
flexible enough to display cleanly before and after backend is in
place:_
<img width="1339" alt="happy"
src="https://github.com/user-attachments/assets/8900aa93-316c-4a09-8e5a-1a1e45b0c458">

#### No apps:
<img width="1572" alt="Screenshot 2024-07-29 at 6 35 03 PM"
src="https://github.com/user-attachments/assets/466b9b6c-4d3d-49dd-94a9-94e395d89cb7">

#### Not enabled:
<img width="1572" alt="Screenshot 2024-07-29 at 6 37 45 PM"
src="https://github.com/user-attachments/assets/9bcfd480-8741-4d95-ba3b-550dee4dc673">

#### Error:
<img width="1572" alt="Screenshot 2024-07-29 at 6 39 39 PM"
src="https://github.com/user-attachments/assets/e944dd40-676e-4aba-9cd9-49ff319bf402">

### Vuln support – Not supported for now:
_see above screenshots for `list` endpoints_

#### Software title detail
<img width="1616" alt="Screenshot 2024-07-29 at 6 47 29 PM"
src="https://github.com/user-attachments/assets/2e30fd0a-21e4-4d19-bf9b-71a994bfd0e7">

#### Software version and OS detail:
<img width="1616" alt="Screenshot 2024-07-29 at 6 48 28 PM"
src="https://github.com/user-attachments/assets/e8fec769-ba97-4b6b-b10c-9bb4c973c732">
<img width="1616" alt="Screenshot 2024-07-29 at 6 50 25 PM"
src="https://github.com/user-attachments/assets/0ac15727-e0cb-447c-8758-c58b79656d1a">


- [x] Changes file added for user-visible changes in `changes/`,
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-07-30 10:14:25 -07:00
Gabriel Hernandez b5f64b7d95 Merge branch 'main' into feat-vpp-apps-18867 2024-07-19 14:33:56 +01:00
Gabriel Hernandez cedcadbb36 Add UI for Apple VPP apps feature on the software pages. (#20504)
relates to #19869

> NOTE: API integration will be included in a separate PR

This adds the UI updates to support the new VPP feature on the software
pages. This includes the software titles page and software titles
details page. The new UI includes:

**Add Vpp apps tab in Add software modal:**


![image](https://github.com/user-attachments/assets/f1751b5d-1393-45b7-894c-fa6d067d27d2)

**Various updates to the SoftwareIcon component to support icons from an
external source:**


![image](https://github.com/user-attachments/assets/c860d776-170c-4f51-813e-34f83e479471)

**Various updates to the SoftwarePackageCard compont to support app
store apps.**


![image](https://github.com/user-attachments/assets/7bdd369d-6c95-47a6-8942-63ac3c694ffe)

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Added/updated testss:
- [x] Manual QA for all new/changed functionality
2024-07-18 10:20:17 +01:00
RachelElysia fb2778c9b3 Fleet UI: Tooltip shows dynamically on truncated text only (#20420) 2024-07-15 12:08:26 -04:00
RachelElysia acd7276dac Fleet UI: Add a tooltip to truncated text only (#20269) 2024-07-11 09:44:09 -04:00
RachelElysia a5dc73b42a Frontend of iOS/iPadOS as platforms/labels (#20157) 2024-07-09 09:18:00 -04:00
jacobshandlingandJacob Shandling 0b45afcaa8 UI - update empty styles in 5 places (#20079)
## Addresses #19557 
<img width="143" alt="Screenshot 2024-06-27 at 1 44 12 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/e9ad83b2-dda4-4972-b8c2-412389e45823">
<img width="177" alt="Screenshot 2024-06-27 at 1 44 25 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/bb5f808e-0d5a-47cc-84ed-f55797caebfe">
<img width="210" alt="Screenshot 2024-06-27 at 1 49 47 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/2dff046b-6cfa-45fa-8a0c-93ab46e2c8a9">
<img width="194" alt="Screenshot 2024-06-27 at 1 56 56 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/fdaaeac8-e944-427b-917e-87b98ae763b9">
<img width="238" alt="Screenshot 2024-06-27 at 4 39 22 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/bb774af5-07c0-44b6-994f-dc787c5bf606">

- [x] Changes file added for user-visible changes in `changes/`,
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-07-03 09:40:03 -07:00
RachelElysia 4b0ece24de Feature FE: 18115 crit vuln issues (#19830) 2024-06-18 15:26:45 -04:00
RachelElysia 35a467b7e0 Fleet UI: Refactor client filtered counts for cleaner rendering (#19689) 2024-06-14 13:12:56 -04:00
Gabriel Hernandez de0562a686 UI code cleanup and tests for self service feature (#19487)
various code cleanup tasks for the self service UI. Also adds some tests
for self service.


- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-06-11 12:56:50 +01:00
Gabriel Hernandez 30553cecc3 fix icon misalignments on dashboard cards (#19610)
relates to #19555

This fixes various icon misalignments on the dashboard page.

**before:**


![image](https://github.com/fleetdm/fleet/assets/1153709/0738c8a3-88c7-481b-8675-fdeb5713de78)

**after:**


![image](https://github.com/fleetdm/fleet/assets/1153709/25bc995a-644e-4310-b32d-09d39f28960c)

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Manual QA for all new/changed functionality
2024-06-11 12:55:25 +01:00
Gabriel HernandezandSarah Gillespie 917e83e2ff change TextCell so that we are rendering '0' value as a number and re… (#19441)
relates to #19433

Makes the rendering of empty text cell values consistent. We also want
to render the '0' value as a number instead of the default value `---`
with greyed styles.

**Before:**


![image](https://github.com/fleetdm/fleet/assets/1153709/7c0ecb99-409d-4698-bb6f-083245fb3919)

**After:**


![image](https://github.com/fleetdm/fleet/assets/1153709/d7da74a7-3492-4672-98ea-f810dc0038d7)

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Sarah Gillespie <73313222+gillespi314@users.noreply.github.com>
2024-06-11 12:54:24 +01:00
Sarah GillespieandGabriel Hernandez 80137dfcc6 Update UI for software self-service features (#19244)
Issues https://github.com/fleetdm/fleet/issues/17587,
https://github.com/fleetdm/fleet/issues/18836,
https://github.com/fleetdm/fleet/issues/18837,
https://github.com/fleetdm/fleet/pull/18339, and
https://github.com/fleetdm/fleet/pull/18340

# TODOS
- Integrate backend
- Unit/integration tests
- Various todos noted in comments
- Cleanup styles and organization of components (de-duplicating and
consolidating where possible)
- Activity feed updates (if any)

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [ ] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- [ ] Added/updated tests
- [ ] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [ ] Manual QA for all new/changed functionality
  - For Orbit and Fleet Desktop changes:
- [ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).

---------

Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2024-05-31 11:09:53 +01:00
Jacob ShandlingandJacob Shandling c73904ec8c UI – Place all TooltipWrapper tooltips on the bottom (#19002)
## Addresses #18741 
<img width="727" alt="Screenshot 2024-05-14 at 3 26 20 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/671c680e-00db-4481-a7b3-5425bf6a610d">

- [x] Changes file added for user-visible changes in `changes/`,
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-05-24 14:30:54 -07:00
Jacob ShandlingandJacob Shandling 886d53412b UI – Queries table: Fix issues with filter/sorting, optimize render behavior (#18973)
## Addresses #18881 and #18858
- Fix the bugs, memoize various props to optimize table rendering

## QA
In addition to the bugs outlined in the addressed issue, this PR
contains rendering optimizations. Please check these functionalities,
which should be unaffected (and were so in my own testing) but should be
double-checked:

- [ ] create query
- [ ] delete query
- [ ] empty state
- [ ] changing platform dropdown
- [ ] different sort orders
- [ ] delete query from table action
- [ ] results count change

## Checklist for submitter
- [x] Changes file added for user-visible changes in `changes/`
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-05-23 13:30:24 -07:00
Sarah Gillespie 1adb7677fd Validate installer file size in UI; add install tooltip to software list (#19036) 2024-05-15 14:32:20 -05:00
Sarah Gillespie 5a50e5d4b2 Fix unreleased issues in software installers UI: Part 4 (#18987) 2024-05-14 13:10:12 -05:00
Gabriel Hernandez 7f803e4629 UI software install feature integrations and polish (#18906)
relates to #18677

implement UI API integrations and polish tasks for the software install
feature. These include various tasks to finish up this feature on the UI
and ensure its working correctly

- [x] Manual QA for all new/changed functionality
2024-05-10 16:18:24 +01:00