* fix(e2e): flakey query builder test
* test(e2e): run test 50 times
* test(e2e): run update label test 50 times
* fix(e2e): visit page after creation
* chore(e2e): run test once
* fix(e2e): run update label test once
* chore(ui): point to local build
* refactor(ui): repair breakage from update
* chore: Revert "chore(ui): point to local build"
This reverts commit 968a8232cc.
* chore: upgrade dependency to 1.1.0
* chore: appease prettier
* fix: correct typo
* fix(ui): give size to AlertColumns and update e2e tests
* fix(graph-time-query): updated graphs so that graph x-axis reflects the input timeRange
* fix(dashboard-timerange): dashboard timerange is now outputting the correct timerange
* fix(ui/dashboard): connected the timeMachine to the component to make data consistently available based on timeMachine context
* fix(query): updated implementation to reduce mucking the timeMachine reducer logic
* fix(edit-veo): configuring a timerange in the dashboard should be accessible when editing cells
* fix(wip): wip
* fix(graph-time-query): updated graphs so that graph x-axis reflects the input timeRange
* fix(dashboard-timerange): dashboard timerange is now outputting the correct timerange
* fix(ui/dashboard): connected the timeMachine to the component to make data consistently available based on timeMachine context
* fix(query): updated implementation to reduce mucking the timeMachine reducer logic
* fix(edit-veo): configuring a timerange in the dashboard should be accessible when editing cells
* feat(ui): Type start and end time functions
* fix(ui): Set VEO timeMachine timeRange from parent dashboard
* feat(ui): Regularize getStartTime and getEndTime
* feat(ui): Fix prettier errors
* fix(ui): added unit tests for critical parts of the function
* fix(ui): removed unnecessary console that was failing jstest
* fix(ui): added getStartTime and getEndTime tests:
* fix(ui): updated telegraf description to be more explicit
* fix(ui): updated title to display same styling as empty text
* fix(ui): added defaultProps and checks for collectors
* feat(ui/DWP): added searchable dropdown for tag key and values for selected bucket
* feat(DWP-targets): key-value tags are associated with selected bucket
* fix(predicates/action): reordered actions so that actions alphabetical and thunks are at the bottom of the page
* feat(DWP-dropdown): made suggested PR changes
* fix(DWP-dropdown): added filter predicate to tagKeys query
* feat(ui/DWP): added searchable dropdown for tag key and values for selected bucket
* feat(DWP-targets): key-value tags are associated with selected bucket
* fix(predicates/action): reordered actions so that actions alphabetical and thunks are at the bottom of the page
* feat(DWP-dropdown): made suggested PR changes
* fix(DWP-dropdown): added filter predicate to tagKeys query
* first steps to predicate action tests
* fix(dwp-dropdown): added action tests for thunk actions
* fix(predicates.test): removed unnecessary store and redux logic from test
* fix(ui): Remove add member flow and users redux state
* fix(getResourcesStatus): added tests to getresources function to ensure stability
* Refactor getResourcesStatus and testing
* fix(getResourcesStatus): added checks for status prop in getResourceStatus
* fix(getResourcesStatus): updated file to align with prettier format
* fix(getResourcesStatus): removed helper func for better performance
* fix(flakey-test): refactored getSortedBucketNames for more consistency and predictability. Finished DWP API functionality
* fix(FilterRow): removed unnecessary FeatureFlag from component
* chore: updated yml and tests to reflect API changes
* fix(custom-table): working on refactoring the set_fields custom table overwrite
* fix(custom-table): resolved data inconsistencies
* fix(tests): added utility function testing for reducer method
* fix(inputs): modified reducer to make inputs actionable
* fix(visibility): added check for visibility differences
* fix(WIP): toggling between custom tables works
* fix(comments): added comments to help clarify util func
* fix(tests): added basic testing for settings functionality
* chore(linter): made suggested linter changes
* fix(bucket-list): wrapped DWP in featureFlag and sorted bucket list
* chore(changelog): updated the changelog to reflect PR changes
* fix(e2e): skipping tests until featureflag removed from DWP
* chore(tests): refactoring to use selector and add tests
* chore(refactor): created selector for ordering bucketlist and added tests
* fix(bucketsort): updated func and var names to accurately reflect intent
* fix(bucket/selector): renamed func for accuracy
* refactor: update appearance of variables control bar
* refactor: add documentation link to variables empty state
* refactor: update appearance of table cells
* refactor: update appearance of raw data table
* refactor: appease linter
* refactor(cells): improve contrast and compactness of cells
Also removing a lot of absolute positioning to reduce z-index headaches
* refactor(ui): redesign markdown cells
* refactor(ui): WIP redesign context menus
* refactor(ui): complete styling of context menus
* refactor(ui): redesign cell notes
* fix: update dashboard view e2e test
* fix: appease linter
* refactor: make background color of veo match dashboard cells
* refactor: make notes the same color as cells
* refactor: increase markdown cell horizontal padding
* refactor: replace hamburger icon with dor grid
* refactor: ensure cell icons all transition uniformly
* refactor: hide download csv link behind feature flag
* fix(DWP): reset redux state when DWP resolves or rejects
* chore(lint): fixed lint and added PR to changelog
* fix(linter): removed unused depenency in tests
* Add initial react-monaco-editor
* Add flux language options to monaco
* feat: only including vendor libraries when the module is used
* chore: clean up after thineself
* refactor: replace FancyScrollbar with DapperScrollbars
* refactor: simplify component to use style prop
* refactor: replace custom styles with Clockface components
* refactor: ensure layout of single stat and gauge are consistent
* fix: appease linter
* fix: update unit test
* fix: fix typo in unit test
* fix: don't use base threshold for test
It has no input
* fix: fix moar typos in unit test
dear lord
* fix: add timeouts to threshold tests
* fix: don't look for error states until they should exist
* fix: use getNodeText to test error messages exactly
* fix: keep variable fresh
* fix: tweak assertion
* fix: use child count in assertion
* fix: appease linter
The vertical scroll on the variable page was not displaying the last element
The horizontal scroll on the filter scroll was covering the bottom scroll, this is probably happening in other places
* refactor(ui): add explainer panel to buckets index view
* refactor: convert both explainer components from SFC to FunctionComponent
* refactor: appease linter
* fix(debug): debugging popover refactor
* fix(ui/timerangedropdown): refactored the daterangepicker implementation into a popover
* chore(linter): fixed linter errors
* feat(tests): added tests to refactor and reported found issues
* fix(ui/boxtooltip): moved boxtooltip a few pixels to prevent onMouseOver and onMouseOut from constantly triggering in EventMarker. Added a comment about the solution and wrote a new issue to deal with a long-term solution to the problem
* expose store to cypress
* Load variables from dashboard in edit cell view
* Initialize new veo with dashboard variable values
* Add cypress pipe library
* Add tests of redux state changes to cell
* Remove unused async command
* Create passing tests for view with variable
* Add moar tests!
* Add jest import
* Fix linter errors
* Use get to define default value
* Fix eslint errors
* Disable eslint for commands
* Improve code styles
* fix(ui/tasks): edit & update functionality has been fixed. Also fixed the issue where task form data didn't persist when toggling between schedule task options
* chore(CHANGELOG): updated changelog with current PR
* fix(ui/tasks): updated reducer test to more accurately reflect the current reducer functionality and updated the parameter name for consistency
* fix(linter): removed extra whitespace
* chore(comment): removed old comment from PR since it's no longer necessary
* fix(ui/collectorList-telegraf): sort telegrafs based on buckets
* fix(ui/collectors): added tests to the sort by telegrafs/buckets functionality
* fix(ui/collectors): made PR suggested changes
* fix(ui/collectors): updated snapshot test
* fix(collectors): added collectors changes
* fix: labels test
* fix: sanity check
* chore: skip tests to resolve in separate PR
* fix: revisit page
* chore(ui/GetResources): parallelized GetResources CDM calls
Refactored GetResources CDM call to take in an array of ResourceTypes to run in parallel rather than taking in a single ResourceType.
* chore(ui/GetResources): parallelized GetResources CDM calls
Refactored GetResources CDM call to take in an array of ResourceTypes to run in parallel rather than taking in a single ResourceType.
* fix(tests): updated components & refactored getresources to be async
* chore(ui/GetResources): parallelized GetResources CDM calls
Refactored GetResources CDM call to take in an array of ResourceTypes to run in parallel rather than taking in a single ResourceType.
* fix(tests): updated components & refactored getresources to be async
* fix(jstest): Fixed linter errors
* fix(jstest): fixed js test specs
* fix(ui/labeloverlayerror):
UI is now correctly disabling the submit button and returning an invalid input error when a user tries to submit an empty input for the label overlay name
Updated change log and added in link to issue for newly built tests
Updated the updateLabelOverlay methods to correspond with the changes made to the labeloverlayform
* chore(ui): upgrade clockface dependency
* refactor(ui): update components affected by breaking changes
* refactor(ui): update test snapshots
* refactor(ui): remove obsolete component
* refactor(ui): remove reference to non-existant stylesheet
* refactor(ui): update selector in e2e collectors test
* refactor(ui): attempt to fix e2e test
* refactor(ui): appease linter
* refactor(ui): update implementation of client library cards
* refactor: update all breakage from new version
* refactor: revert this commit
* refactor: fix popover by using useRef instead of createRef
* fix: update all instances of EmptyStateText
* fix: update all instances of PageHeader
* fix: update straggler empty state text
* fix: update instance of PageHeaderCenter
* fix: update instance of PageContents
* fix: update style rule for dashboard cards
* chore: update test snapshots
* refactor: update instance of question mark tooltip
* refactor: use brighten prop to ensure contrast with background
* Revert "refactor: revert this commit"
This reverts commit f325916d91.
* chore: upgrade to NPM package instead of local
* refactor: fix css import
* refactor: update test snapshot
* refactor: Guard against string being null
Co-Authored-By: Alex Boatwright <alex@drdelambre.com>
* refactor: move resource getter inside overlay so it does not disrupt layout
* refactor: fix unit test by updating selector
* refactor: guard against name being absent
* chore: upgrade to latest clockface to utilize a bugfix
* chore: update snapshot test
* refactor: fix appearance of searchableDropdown
* chore: upgrade dependency (again) for bugfixes
* refactor: fix labels e2e test
* refactor: fix tokens e2e test
* refactor: appease linter
* chore(flux): update Flux function docs with experimental and 0.50 functions
* removed unnecessary newlines from fluxFunctions.ts
* fix(fluxFunctions): add space before param
1. Removing dashboard changes from earlier commit
2. Changing inital state variable name to just be endpoint
3. moving dispatch in check actions
4. Adding notification to endpoints
These are the final tests and rule fix for this issue.
The checks is special in how it was fixed.
But endpoints and rules have the exact same fix on them
All the tests are running smoothly
EsLint was run so this branch should no longer fail from that as well.
1. We fixed the endpoints so it no longer routes to 404 page, instead now routes to the alerting index. When endpoint id does not exist.
2.Added Cypress test to confirm the routing works on checks. Routing the user to the index page when the checks id does not exist.
hopefully this commit doesnt do anything, but it opens up the ability to
change the static folder of the project through the environment variable
STATIC_FOLDER so that we can cache static files and not cache the index
file (allowing more passive deployment strategies), and allows the user
to change the base path of the project with the BASE_PATH variable,
opening up the ability to run an instance behind an nginx proxy,
though that change is pending an update to the @influxdata/oats package
before we can turn it on
add test for hydrateVars
dashboard variable dropdown test: inspect values, not just array length
add RTL test for variable dropdown changes
lint
fix: Disable saving threshold check if no threshold selected (#15348)
* Prevent check saving if no thresholds
* Add tests
* Add changes to changelog
* make optional props optional
* use false instead of null for boolean
changelog
fix(ui): ignore false change events in VariableForm (#15317)
closes#15059
the issue is to persist user data across variable type selection interfaces within the variable editor. this commit pushes all of the variable editor information down to redux to allow persistence outside of the view state until the user clicks "cancel" or "create" in the interface.
while exploring containerization of the frontend, i decided to remove the
existing environment configuration from package.json and push them into
external files in an attempt to improve the caching strategies available
for local development. the CI pipeline should be watching the lock file,
but changes to the testing environment locally shouldn't cause a rebuild
of node_modules.
closes#15059
the issue is to persist user data across variable type selection interfaces within the variable editor. this commit pushes all of the variable editor information down to redux to allow persistence outside of the view state until the user clicks "cancel" or "create" in the interface.
* Add init event markers
* Add events to dashboard graphs
* Add level coloring and styling to event markers
* Window statuses by time and graph groups of events
* Put event markers behind feature flag
* init tooltip
* Upgrade giraffe library
* Add Tooltip
* Add status query to Time Machine
* Status rows return lowercase check level statuses
* rename events to statuses
* Radically improve tooltip style
Co-authored-by: alexpaxton <thealexpaxton@gmail.com>
* Add time formatting
* Make status query more readable
* Clean up comments
* refactor(ui): add vector graphic logos for each client library
* refactor(ui): replace mock content with real content
* refactor(ui): display client library content in overlays with routes
* refactor(ui): cleanup factored out components
* refactor(ui): increase size of client library overlays
* refactor(ui): make client library overlays wider
* refactor(ui): add link to docs for each client library
* refactor(ui): cleanup commented code
* refacotor(ui): split first time create check button into one for each type
* refactor(ui): replace create check button with dropdown
* refactor(ui): remove check type toggle from conditions card
* refactor(ui): split check creation into 2 routes
* refactor(ui): change default check depending on type
* refactor(ui): hide function selector when building a deadman check
* refactor(ui): move validation popover to check save button
* refactor(ui): remove unused component
* refactor(ui): ensure deadman queries do not have an aggregate function
Co-Authored-By: Deniz Kusefoglu <deniz@influxdata.com>
* refactor(ui): update alerting get started copy
* refactor(ui): update e2e test
* refactor(ui): use existing checkType type
Closes https://github.com/influxdata/influxdb/issues/15060
Previously, the create button for a variable wouldn't be enabled unless
the user clicked in the text box, despite a query being present. This
adds an aditional check to the `isFormValid` method that ensures that if
a query is present the create button will be enabled.
The previous bucket retention form component was frusterating to use.
This commit replaces it with a simple duration dropdown that we use in a
few other places. It refactors the various duration utilities to make it
happen.
The hope is to eventually improve this duration dropdown into a combined
text input/dropdown component that can accept custom durations with
validation.
The following steps would result in a server error:
1. Open create bucket overlay
2. Enter valid name
2. Click "Periodically" radio option
3. Click "Never" again
4. Submit
The issue is that the bucket was being submitted with an invaild
retention duration, even though the user had selected to use no
retention duration (by clicking "Never").
The solution was to clear the retention duration state when switching
back to the "Never" radio option.
* refactor(ui): remove action buttons from system bucket cards
* refactor(ui): make check builder more compact
* refactor(ui): add raw data toggle to check editor
* refactor(ui): fix logic for displaying system bucket label
* refactor(ui): remove edit link from system buckets
We want to display a row for each notification, but we were displaying
a row for each field for each notification.
By filtering out the system fields (those that start with an
underscore), we are in left with only a single user-specific field.
Closes https://github.com/influxdata/influxdb/issues/15042
Previously, there was an optional URL provided for the pagerduty
endpoint. However, the pagerduty API url does not change and as a result
it should not have been a parameter. The Pagerduty API does require a
`clientURL` that is presented in the pagerduty UI when an alert is
triggered. Currently that value will default to the alerts history page
for the organization.
* refactor(ui): add default values for deadman condition
* refactor(ui): limit values to 2 decimal places when dragging thereshold handles
* refactor(ui): prevent system buckets from being deleted or renamed
* refactor(ui): indicate which buckets are system buckets
* refactor(ui): prevent user from creating buckets starting with _
* refactor(ui): remove system bucketes from generate token overlay
* refactor(ui): remove system buckets from bucket dropdowns
* chore(ui): update changelog
* refactor(ui): move check message to its own card
* refactor(ui): ensure builder cards fill width of overlay
* refactor(ui): make conditions boxes fill width of parent
* refactor(ui): allow check properties card to grow
* refactor(ui): remove matching rules card
* chore(ui): update changelog
Remove unused action
Co-Author: Deniz Kusefoglu <deniz@influxdata.com>
add Limits and LimitsStatus to cloud types
Add asset limits for checks, rules and endpoints
Filter blocked endpoint types
fix: type error
Co-Author: Deniz Kusefoglu <deniz@influxdata.com>
Closes https://github.com/influxdata/influxdb/issues/15022
After we switched to using PUT in the API, we'll need to include the
entire check in our update request. Ideally we could just always use
PATCH, but due to a defect in the API we currently cannot.
* fix(ui): allow creating of check from first time widget
* refactor(ui): polish layout of endpoint dropdown
* refactor(ui): provide default URLs in endpoint overlay form
Co-Authored-By: Andrew Watkins <121watts@users.noreply.github.com>
* refactor(ui): ensure edit endpoint can be canceled
Co-Authored-By: Andrew Watkins <121watts@users.noreply.github.com>
* refactor(ui): move endpoint error out of footer
Co-Authored-By: Andrew Watkins <121watts@users.noreply.github.com>
* refactor(ui): appease the linter
* fix(ui): use correct slack and http url defaults
* chore(ui): remove obsolete stylesheet
* fix(ui): remove GET and PUT options from http method dropdown
* fix(ui): capitalize form labels in endpoint form
* fix(ui): change default endpoint name to be type agnostic
* fix(ui): appease linter
* refactor(ui): shrink check message template field
* refactor(ui): reverse sort of threshold levels in check builder
When parsing a Flux CSV file with hundreds of thousands of lines for the
"Raw Data View", we would see a
Maximum call stack size exceeded
error. This was because every line in the CSV was being passed as an
argument in a single `Array.prototype.push` call, and there are
[limits][0] to how many arguments can be passed to a function.
This commit avoids passing the arguments all at once.
[0]: https://stackoverflow.com/questions/22747068/is-there-a-max-number-of-arguments-javascript-functions-can-acceptCloses#14566
The easiest path forward for fixing
https://github.com/influxdata/influxdb/issues/14966 is to have the UI
use put instead of patch for updating checks. Long term, we will want to
be able to use patch, but as of now patch is not functional.
For whatever reason, we now have xy views stored with an empty array in
the `colors` field. Attempting to open the visualization options for
such a view results in a crash.
This commit updates the `ColorSchemeDropdown` to access the `colors`
field more defensively.
Closes#14950
e2e tests are failing because the fancyscroll bar component hides
the admin step during certain points in onboarding.
We were able to reproduce when the form in the admin step had been
marked as valid.
The use of the scrollbar in the setting seemed unneeded as it could
be rendered in a quite small window.
Therefore, we removed the scrollbar altogether for now.
Co-authored-by: Christopher Henn <chris@chrishenn.net>
* build(webpack): add source maps for @influxdata/giraffe prod builds
We were getting runtime errors in the prod builds via honeybadger.
They were unreadable because we did not have source maps for giraffe.
We were only able to get this working for prod builds but not dev
despite trying putting it in the webpack common file. This is good
'nuff for our purpose now, but maybe we'll need further investigation.
Bonus commit... I added a new make target of influxd so I would not
need to type so much.
Co-authored-by: Andrew Watkins <watts@influxdb.com>
* build(webpack): add clockface source maps to production build
Co-authored-by: Andrew Watkins <watts@influxdb.com>