mirror of
https://github.com/fleetdm/fleet
synced 2026-05-18 22:49:19 +00:00
* Step 1 for improving query experience (#1591) * fake change to create draft PR * temp routes to work and not modify old query page * created new API abstraction for query * refactored App.jsx to prepare react-query * fixed flow of redirects after page refresh; functional component added * setup for getting data on edit * implementing functions for query page * Old form showing on new setup * improving and breaking up query form * no need for the helpers anymore; clean up * added type for button component variant * step toward new save modal; have to switch gears to #1619 * creating new query works * clean up * linting cleanup * added default value for new query * will address dynamic save disabled in edit step * Step 2 for improving query experience (select targets) (#1732) * fake change to create draft PR * temp routes to work and not modify old query page * created new API abstraction for query * refactored App.jsx to prepare react-query * fixed flow of redirects after page refresh; functional component added * setup for getting data on edit * implementing functions for query page * Old form showing on new setup * improving and breaking up query form * no need for the helpers anymore; clean up * added type for button component variant * step toward new save modal; have to switch gears to #1619 * creating new query works * clean up * linting cleanup * added default value for new query * split steps into separate files for readability * components laid out * new targets picker * function clean up * styling tables * fixing logic * fixed logic to keep getting related hosts * formatting targets for API * fixed default query * clean up * styled target selectors; fixed target input styles * began total count * forgot to remove debugging code * lint fixes * added target count from API * clean up * able to remove selected host targets from table * lint fixes * Improving query experience - Step 3 (query results) (#1766) * fake change to create draft PR * temp routes to work and not modify old query page * created new API abstraction for query * refactored App.jsx to prepare react-query * fixed flow of redirects after page refresh; functional component added * setup for getting data on edit * implementing functions for query page * Old form showing on new setup * improving and breaking up query form * no need for the helpers anymore; clean up * added type for button component variant * step toward new save modal; have to switch gears to #1619 * creating new query works * clean up * linting cleanup * added default value for new query * split steps into separate files for readability * components laid out * new targets picker * function clean up * styling tables * fixing logic * fixed logic to keep getting related hosts * formatting targets for API * fixed default query * clean up * styled target selectors; fixed target input styles * began total count * forgot to remove debugging code * lint fixes * added target count from API * clean up * able to remove selected host targets from table * lint fixes * connected run query with modern React/JS; clean up * linting fixes * fixed logic to retrieve results from live query * linting fixes * created new, simpler query progress * populating results and errors tables as expected * syntax fixes * fixing styles for query results * more styling for query results * manual merge from main * Rename core->free and basic->premium * Fix lint js * Comment out portion of test that seems to timeout * Rename tier to premium if basic is still loaded * go sum * Query Experience Cleanup Tasks (#1807) * fixes to get merged main branch to build and work * moved screens for query pages; clean up * updated and typed react ace for query form; clean up * using console error instead * added real types instead of `any` except for errors * query side panel ts and functional. prep for close task. * ability to hide, show query table sidebar * improved live query status warning * added loading and error state for targets search * error screen for targets; improved loading display * now using API-created label for all linux * missed some files on previous commit * able to edit query * clean up * lint fixes * query results showing as they come * remove unused code * removed old query page. major file cleanup. * removed selectedTargets redux implementation * removed unused redux actions and reducers * removed unused keys in initial state * selectedOsqueryTable is now using context API * removed all querypages redux code * set up context for app and user * fixed auth with temp fix for wrapper * completed redux removal from query page * fixed var names coming from main branch * fixed var name changes coming from issue 1501 * fixed save popup bug; clean up * added permissions * fixed login redirect * removed unused props * linting fix * clean up * removed unused component, refactor, and clean up * fixed styles for step 1 as admin * fixed styles for step 1 as observer * fixed percentage of online hosts * added loading progress to query stop button * reset query status on run again * added download icon to export button text * fixed error reset on name input; fixed styles * fixed bug where query value wasn't saving * fixed query value when blank * fixed bug - default query was running every time * auto adding host from url to targets * fixed flows for repeating run and save steps * fleet ace is now TS and functional * fixed a couple of tests * fixed issues with query value text inconsistencies * fixed query side panel not showing * hiding error count if not > 0 * fixed showing editor for different roles * using integer for targets * go sum * fixed targets param * catching all errors while running query * fixed hover state for title and description * ignore unit test for now; lint fixes * locking react-ace version * ignoring tests breaking in github actions * brought tests back * fixing file name * fixing file name again * fixed e2e test * have to ignore tests for now * ignore certain premium tests for now * one last test to revamp * another test * fixed teamflow test * fixed observer query 403 * lint fixes * fixed maintainer test * added changes file Co-authored-by: Tomas Touceda <chiiph@gmail.com>
213 lines
3.9 KiB
SCSS
213 lines
3.9 KiB
SCSS
.data-table-container {
|
|
position: relative;
|
|
|
|
.data-table {
|
|
&__wrapper {
|
|
position: relative;
|
|
border: solid 1px $ui-fleet-blue-15;
|
|
border-radius: 6px;
|
|
margin-top: $pad-small;
|
|
box-shadow: inset -8px 0 17px -10px #e8edf4;
|
|
}
|
|
|
|
&__table {
|
|
position: relative;
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
color: $core-fleet-black;
|
|
font-size: $x-small;
|
|
}
|
|
|
|
tr {
|
|
border-bottom: 1px solid $ui-fleet-blue-15;
|
|
|
|
&:last-child {
|
|
border-bottom: 0;
|
|
}
|
|
|
|
&.single-row {
|
|
cursor: pointer;
|
|
|
|
&:hover {
|
|
background-color: rgba($core-vibrant-blue, 0.1);
|
|
}
|
|
}
|
|
|
|
// override styles of checkbox data cells
|
|
.form-field--checkbox {
|
|
margin-bottom: 0;
|
|
|
|
.fleet-checkbox__label {
|
|
padding-left: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
thead {
|
|
background-color: $ui-off-white;
|
|
color: $core-fleet-black;
|
|
text-align: left;
|
|
border-bottom: 1px solid $ui-fleet-blue-15;
|
|
|
|
th {
|
|
padding: $pad-medium 27px;
|
|
white-space: nowrap;
|
|
border-right: 1px solid $ui-fleet-blue-15;
|
|
|
|
&:first-child {
|
|
border-top-left-radius: 6px;
|
|
}
|
|
|
|
&:first-child:not([title="Toggle SortBy"]) {
|
|
width: 20px;
|
|
}
|
|
|
|
&:last-child {
|
|
border-right: none;
|
|
border-top-right-radius: 6px;
|
|
max-width: 140px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.Select.is-focused:not(.is-open) > .Select-control {
|
|
border: none;
|
|
box-shadow: none;
|
|
}
|
|
|
|
.Select.is-open {
|
|
.Select-arrow {
|
|
margin-top: 4px;
|
|
margin-bottom: -2px;
|
|
}
|
|
.Select-placeholder {
|
|
margin-top: 1px;
|
|
}
|
|
}
|
|
|
|
.Select-arrow {
|
|
margin-top: 3px;
|
|
}
|
|
|
|
.Select-control:hover {
|
|
box-shadow: none;
|
|
}
|
|
|
|
.Select-placeholder {
|
|
font-size: 14px;
|
|
margin-top: 2px;
|
|
padding-left: 0;
|
|
}
|
|
|
|
.active-selection {
|
|
position: absolute;
|
|
top: 0px;
|
|
width: 100%;
|
|
border: 0;
|
|
border-radius: 6px;
|
|
|
|
&__container {
|
|
padding: 0 27px;
|
|
}
|
|
|
|
&__inner {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
|
|
p {
|
|
margin: 0 $pad-medium 0 0;
|
|
font-weight: $regular;
|
|
|
|
span {
|
|
font-weight: $bold;
|
|
}
|
|
}
|
|
|
|
button {
|
|
margin-right: $pad-medium;
|
|
}
|
|
}
|
|
|
|
&__inner-left,
|
|
&__inner-right {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
}
|
|
|
|
tbody {
|
|
td {
|
|
padding: 0px 27px;
|
|
white-space: nowrap;
|
|
height: 40px;
|
|
|
|
// form-field wraps the dropdown menu
|
|
.form-field {
|
|
margin: 0;
|
|
}
|
|
.Select-control {
|
|
background-color: $core-white;
|
|
border: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
&__hostname {
|
|
color: $core-fleet-black;
|
|
}
|
|
|
|
&__pill {
|
|
color: $core-fleet-black;
|
|
font-weight: $bold;
|
|
padding: 4px 12px;
|
|
border-radius: 29px;
|
|
|
|
span {
|
|
border-radius: 29px;
|
|
background-color: $core-fleet-purple;
|
|
}
|
|
}
|
|
|
|
&__status {
|
|
color: $core-fleet-blue;
|
|
text-transform: capitalize;
|
|
|
|
&:before {
|
|
border-radius: 100%;
|
|
content: " ";
|
|
display: inline-block;
|
|
height: 8px;
|
|
margin-right: $pad-small;
|
|
width: 8px;
|
|
margin-bottom: 1px;
|
|
}
|
|
|
|
&--online:before,
|
|
&--enabled:before {
|
|
background-color: $ui-success;
|
|
}
|
|
|
|
&--offline:before,
|
|
&--disabled:before,
|
|
&--mia:before {
|
|
background-color: $ui-offline;
|
|
}
|
|
|
|
&--mia {
|
|
text-transform: uppercase;
|
|
}
|
|
}
|
|
|
|
.loading-overlay {
|
|
position: absolute;
|
|
top: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
background-color: rgba(255, 255, 255, 0.8);
|
|
z-index: 1;
|
|
}
|
|
}
|
|
}
|