Commit Graph

119 Commits (dc2821cb16f32e695e88c21ea0afae27fd47a3b0)

Author SHA1 Message Date
Jared Scheib 6b62cb1b87 Add test for ME_RECEIVED 2017-04-17 12:24:43 -07:00
Jared Scheib f62c4b1ba2 Add test for AUTH_RECEIVED 2017-04-17 12:22:30 -07:00
Jared Scheib 91fa4c4111 Add test for AUTH_REQUESTED 2017-04-17 12:19:51 -07:00
Jared Scheib dff050e7ff Add auth test for AUTH_EXPIRED 2017-04-17 12:17:45 -07:00
Jared Scheib a02e64d3d2 Add test for errors reducer; update errors reducer to clearer data shape 2017-04-17 11:54:11 -07:00
Hunter Trujillo b3ac581033 Parse raw text with queries endpoint to update builder when a query is updated. 2017-04-10 12:01:36 -06:00
Hunter Trujillo 17a76655c9 Merge branch 'feature/structured-queries' of github.com:influxdata/chronograf into feature/voltron-the-builder 2017-04-10 10:28:12 -06:00
Andrew Watkins 06bbccc97f Lint tests 2017-04-10 10:21:07 -06:00
Chris Goller d2c7c74238 Merge branch 'master' into feature/structured-queries
Conflicts:
	Godeps
	LICENSE_OF_DEPENDENCIES.md
	server/mux.go
	server/routes.go
	ui/.eslintrc
2017-04-07 16:06:24 -05:00
Andrew Watkins df8df31834 Fix ghost dashboards (#1186)
* Fix ghost dashboards

* Remove dashboard key from reducer

* Remove dashboard key from state

* Update CHANGELOG
2017-04-05 15:19:36 -07:00
Andrew Watkins 41ef10f227 Pew Pew ; 2017-04-04 14:46:55 -07:00
Andrew Watkins cf8b8588b3 Introduce editRawQueryStatus action 2017-04-03 13:08:00 -07:00
Andrew Watkins c6989c3694 Refactor tests 2017-03-31 12:22:03 -07:00
Andrew Watkins 8c51f7f864 Add tests 2017-03-31 10:57:00 -07:00
Andrew Watkins 94f6cd171d Fix tests for new approach 2017-03-30 18:40:37 -07:00
Andrew Watkins 179478e97a Lint fix all tests 2017-03-30 15:57:33 -07:00
Andrew Watkins 1f9c8ae1ea Remove series highlighting 2017-03-30 15:57:33 -07:00
Jared Scheib 012c0fbbdd Add tests for deleteDashboard and deleteDashboardFailed 2017-03-28 20:03:33 -07:00
lukevmorris 48de1a95d3 Persist and render Dashboard Cell groupby queries (#1092)
* Rename selectStatement to buildInfluxQLQuery

* Moved `influxql/select` to `utils/influxql`

* Replace `buildQuery` with `buildInfluxQLQuery` util function

* Retain GROUP BY clause when saving cell query

* Revert "Replace `buildQuery` with `buildInfluxQLQuery` util function"

This reverts commit d932d99bfa0de54d07be4b42cc13d1b34fbe950b.

* Build DashboardCell queries with buildInfluxQLQuery util

Retain old LayouRenderer.buildQuery functionality for
canned dashboards, and anything else that isn’t using
the queryConfig schema. Rename this function to make
it clear that it is legacy behavior, and that it 
should not be a dependency of any new code.

* Update CHANGELOG
2017-03-28 11:02:49 -07:00
Timothy J. Raymond 67c2b98f68 Redirect to default source when deleting sources (#1074)
* Redirect to default source on invalid source ID

When supplied with an invalid source ID, the CheckSources component
would redirect the user to a "Create Source" page. This caused
surprising behavior when a source was deleted because that source ID
would become invalid. The effect being that deleting a source brought
users immediately to the create source page, rather than back to the
sources list.

This instead redirects users to the default source when provided an
invalid source id. The backend automatically re-assigns the "default"
source, so this will always succeed, since sources are fetched again
from the backend.

The regex used is slightly dependent on URL structure that has been
stable over the lifetime of this project. Also it relies on URL
structure more than the previous redirecting implementation.

* Force sources to reload after deletion

Deleting a source invalidates the state held by the client because of
automatic re-assignment of the default source by the backend. Without
duplicating backend logic, it is impossible for the frontend to discover
the new source without reloading sources.

The ManageSources page now uses an async-action creator which deletes
the requested source and reloads all sources. The source action creators
have also been refactored to use implicit returns like other action
creators.

* Remove Dead removeSource action

removeSource is no longer used because the API invalidates its
assumptions. For more information, see 04bf3ca.

* Update Changelog with source deletion redirect fix

Users are no longer unexpectedly redirected to the "create source" page
whenever they delete a source that they are connected to.

* Return 404 when deleting non-existent source

When deleting a source, a new default is assigned automatically. If a
non-existent source ID was provided, previously this would result in a
500. This is a violation of the Swagger docs. The solution is to examine
the error and if it was an ErrSourceNotFound, invoke the notFound
handler.

* Add Error handling to source deletion

There are two kinds of errors that can be encountered when deleting a
source: a 404 and a 500 (from either the delete or the subsequent
fetch).

The 404 is a precondition failure of the action creator. The source.id
requested can be non-existent for two reasons: 1) The action creator was
passed garbage by the caller. 2) A concurrent write occurred which
silently invalidated this session's state. For the first case, we can
ensure that the caller is sane by having an assertion check that the
requested source is among some set of sources. This could be
circumvented by a caller, but chances are good that both the full set of
sources and the desired source are both available to callers of this
action creator. The second case is not an error. In this case, we should
proceed reloading sources, since the deletion that was requested has
already been performed by someone else.

Finally, 500s can only occur if there is something broken with the API.
In this situation, we provide a notification that tells the user to
check the API logs for more information.

* Remove duplicate CHANGELOG entries

These were introduced due to a naive merge conflict resolution.

* Remove assertion

This was decided to be confusing and unnecessary.

* Remove remnants of removed assertion

These were needed for an assertion that has been removed. It's no longer
necessary to pass `sources` to the action creator.
2017-03-28 08:53:11 -07:00
lukevmorris f690e4a546 Save and Cancel edits to dashboard name (#1065)
* Move isEditMode from Redux to component state

* Use ConfirmButtons instead of Save button

* Save and Cancel dashboard name edits with ConfirmButtons

* Handler should operate on values instead of events

* Update CHANGELOG
2017-03-24 16:56:46 -07:00
Andrew Watkins aa504b3640 Merge pull request #1029 from influxdata/feature/db-manager
Feature/db manager
2017-03-24 10:57:12 -07:00
lukevmorris 668a1c5fc8 Create a new dashboard cell; Fix remaining bugs with Overlay (#1056)
* Relax query validation for cell endpoint

* Dashboards can now add a cell; Rebase over 950-overlay_technologies-edit

* Server now returns empty queries array when creating a new dashboard cell

* Use async/await pattern for addDashboardCell, add basic error handling

* Update names of methods and actions for editing and updating cells to match those for adding

Factor out newDefaultCell to dashboard constants

* Update CHANGELOG

* Fix bug where Overlay wouldn’t display for query-less cells

* We removed these validations
2017-03-23 17:50:21 -07:00
Jared Scheib b90ff76670 Introduce ability to edit a dashboard cell
* Correct documentation for dashboards

* Exclude .git and use 'make run-dev' in 'make continuous'

* Fix dashboard deletion bug where id serialization was wrong

* Commence creation of overlay technology, add autoRefresh props to DashboardPage

* Enhance overlay magnitude of overlay technology

* Add confirm buttons to overlay technology

* Refactor ResizeContainer to accommodate arbitrary containers

* Refactor ResizeContainer to require explicit ResizeTop and ResizeBottom for clarity

* Add markup and styles for OverlayControls

* CellEditorOverlay needs a larger minimum bottom height to accommodate more things

* Revert Visualization to not use ResizeTop or flex-box

* Remove TODO and move to issue

* Refactor CellEditorOverlay to allow selection of graph type

* Style Overlay controls, move confirm buttons to own stylesheet

* Fix toggle buttons in overlay so active is actually active

* Block user-select on a few UI items

* Update cell query shape to support Visualization and LayoutRenderer

* Code cleanup

* Repair fixture schema; update props for affected components

* Wired up selectedGraphType and activeQueryID in CellEditorOverlay

* Wire up chooseMeasurements in QueryBuilder

Pass queryActions into QueryBuilder so that DataExplorer can provide
actionCreators and CellEditorOverlay can provide functions that
modify its component state

* semicolon cleanup

* Bind all queryModifier actions to component state with a stateReducer

* Overlay Technologies™ can add and delete a query from a cell

* Semicolon cleanup

* Add conversion of InfluxQL to QueryConfig for dashboards

* Update go deps to add influxdb at af72d9b0e4

* Updated docs for dashboard query config

* Update CHANGELOG to mention InfluxQL to QueryConfig

* Make reducer’s name more specific for clarity

* Remove 'table' as graphType

* Make graph renaming prettier

* Remove duplicate DashboardQuery in swagger.json

* Fix swagger to include name and links for Cell

* Refactor CellEditorOverlay to enable graph type selection

* Add link.self to all Dashboard cells; add bolt migrations

* Make dash graph names only hover on contents

* Consolidate timeRange format patterns, clean up

* Add cell endpoints to dashboards

* Include Line + Stat in Visualization Type list

* Add cell link to dashboards

* Enable step plot and stacked graph in Visualization

* Overlay Technologies are summonable and dismissable

* OverlayTechnologies saves changes to a cell

* Convert NameableGraph to createClass for state

This was converted from a pure function to encapsulate the state of the
buttons. An attempt was made previously to store this state in Redux,
but it proved too convoluted with the current state of the reducers for
cells and dashboards. Another effort must take place to separate a cell
reducer to manage the state of an individual cell in Redux in order for
this state to be sanely kept in Redux as well.

For the time being, this state is being kept in the component for the
sake of expeditiousness, since this is needed for Dashboards to be
released. A refactor of this will occur later.

* Cells should contain a links key in server response

* Clean up console logs

* Use live data instead of a cellQuery fixture

* Update docs for dashboard creation

* DB and RP are already present in the Command field

* Fix LayoutRenderer’s understanding of query schema

* Return a new object, rather that mutate in place

* Visualization doesn’t use activeQueryID

* Selected is an object, not a string

* QueryBuilder refactored to use query index instead of query id

* CellEditorOverlay refactored to use query index instead of query id

* ConfirmButtons doesn’t need to act on an item

* Rename functions to follow convention

* Queries are no longer guaranteed to have ids

* Omit WHERE and GROUP BY clauses when saving query

* Select new query on add in OverlayTechnologies

* Add click outside to dash graph menu, style menu also

* Change context menu from ... to a caret

More consistent with the rest of the UI, better affordance

* Hide graph context menu in presentation mode

Don’t want people editing a dashboard from presentation mode

* Move graph refreshing spinner so it does not overlap with context menu

* Wire up Cell Menu to Overlay Technologies

* Correct empty dashboard type

* Refactor dashboard spec fixtures

* Test syncDashboardCell reducer

* Remove Delete button from graph dropdown menu (for now)

* Update changelog
2017-03-23 17:12:33 -07:00
Andrew Watkins e2eabbaed6 Add edit rp tests and refactor edit rp action 2017-03-21 17:08:02 -07:00
Andrew Watkins e293acc78d Add remove and add rp tests 2017-03-21 16:54:39 -07:00
Andrew Watkins e80b1634d7 Add remove database code test 2017-03-21 16:27:30 -07:00
Andrew Watkins c86d50ecaf Remove redundant action 2017-03-21 16:11:42 -07:00
Andrew Watkins b8cd78b67d Add database delete code test 2017-03-21 15:56:41 -07:00
Andrew Watkins 3d9584d79d Introduce remove database test 2017-03-21 15:51:14 -07:00
Andrew Watkins b35271a197 Add edit database test 2017-03-21 15:47:51 -07:00
Andrew Watkins df76ebf1fd Introduce add database test 2017-03-21 15:34:13 -07:00
Andrew Watkins 50ae8cc964 Pull out default objects into constants dir 2017-03-21 15:33:30 -07:00
Andrew Watkins 453e91eaff Fix test to use ∞ 2017-03-21 15:32:41 -07:00
Hunter Trujillo f6466bc61e Add singular dashboard assertions to dashboard ui spec. 2017-03-14 11:16:07 -06:00
Hunter Trujillo 8c072cd240 Can rename cell by pressing enter key. Clean up in reducers and actions. Added updateDashboardCells reducer, tested. 2017-03-14 11:01:27 -04:00
Tim Raymond bcac76f399 Implement NameableGraph as a stateless component
NameableGraph is now a stateless component, with all its ephemeral state
held within Redux. This improves its testability, and two tests have
been added for the two needed Reducer cases.

Also, since NameableGraph's behavior is entirely controlled by its
props, the component itself can be tested, though this has not yet been
done.
2017-03-14 11:01:27 -04:00
Jared Scheib 26716ad280 Merge branch 'master' into feature/admin
Conflicts:
	CHANGELOG.md
	enterprise/users.go
	server/admin.go
	server/admin_test.go
	ui/.eslintrc
	ui/src/shared/constants/index.js
	ui/src/store/configureStore.js
	ui/src/style/theme/theme-dark.scss
2017-03-10 18:36:37 -08:00
Jared Scheib a82db6be2b Add tests for role create and update, refactor user create test 2017-03-10 16:48:56 -08:00
Jared Scheib 410d0beb56 Fix update dropdown when adding users, roles, and permissions (except users/roles), rename success actions for use across AJAX update requests, pass through error on AJAX update failure 2017-03-10 16:22:03 -08:00
Andrew Watkins acc2444883 Fix tests 2017-03-10 12:52:18 -08:00
Andrew Watkins cca6e0450c Add permissions to redux store 2017-03-10 08:35:51 -08:00
Jared Scheib e1776e7696 Rename action to redux convention 2017-03-09 13:59:10 -08:00
Jared Scheib fd06092ac8 Add tests for creating user 2017-03-09 12:48:37 -08:00
Jared Scheib 5ab533ebf0 Add test for removeAddedUser 2017-03-06 23:23:14 -08:00
Jared Scheib 6e3c75d53b Add test for addUser 2017-03-06 23:21:10 -08:00
Jared Scheib 9f0ed42fe1 Resolve conflicts to merge 'feature/934-ew-admin' into 'feature/934-ew-admin_add-user' 2017-03-06 23:09:51 -08:00
Jared Scheib 9887f47181 Refactor to test combined appReducer, add tests for ephemeral app state reducer 2017-03-03 17:06:47 -08:00
Jared Scheib 668f4cfdd3 Add test for autoRefresh reducer 2017-03-03 16:57:05 -08:00
Andrew Watkins 34a468be0d Move editMode state into redux 2017-02-22 11:05:20 -06:00