fleet/frontend/components/TableContainer/DataTable/_styles.scss
Martavis Parker 5d647025f9
1497 improved query experience (#1998)
* 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>
2021-09-10 12:06:37 -07:00

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;
}
}
}