* feat: add Note string field to dashboard cells
* wip feat: html escape cell note to help prevent XSS attack
Requires further input to make sure this is effective at its
purpose.
* Add ability to view a cell's note from the cell header
* Make styles less brittle
* Add "chat" icon for use in notes
* Position note using cell X & Y
Avoid overlap with associated cell whenever possible
* New notes are empty strings by default
* Overflow note when contents are large
* Add react-markdown package for displaying markdown
* Display markdown in cell note
* Add a cell note text editor into the CEO
* Improve cell note editor
* Use codemirror placeholder addon
* Add placeholder to note field & foundation of markdown theme
* Add Markdown Cell
* Add initial styles for markdown cell contents
* Add graphic for Note type cell
* feat: add NoteVisibility to DashboardCell
* Add basic markdown syntax highlighting in editor
* Remove comment
* Show note in cell when queries return no data
* Make exception for rule graph
* Update fixtures and resources to fix tests
* Update changelog
* feat: sanitize xss-vulnerable note html
* Polish appearance of code samples in notes and note cells
* Replace ascii with plaintext before passing to markdown renderers
* Move "display when no results toggle" above text field
Less likely to go undiscovered
* Load services on manages sources page
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
* Add Flux dropdown on manage sources page
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
* Add flux connection dropdown with create, select, and update
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
* Prevent creation of Flux connection with duplicate name
Fixed bug where refreshing page allowed for Flux or connections
with duplicate names to be created
Co-authored-by: Iris Scholten <ischolten.is@gmail.com>
* Add ability to delete a FluxService from the fluxservice dropdown
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
* Change FluxPage to use the active flux connection set by FluxConnectionPage
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
* Ensure that only flux services are loaded into redux services
* Polish styles for Flux Connection Page
Co-authored-by: Alex Paxton <thealexpaxton@gmail.com>
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
* Add pingflux as a part of adding and updating a flux service
Co-authored-by: Chris Goller <goller@gmail.com>
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
* Add Swagger routes and definitions for Service endpoints
Co-authored-by: Iris Scholten <ischolten.is@gmail.com>
* Replace flux overlay with redirect to flux connections pages
* Add test for FluxConnectionPage
Co-authored-by: Iris Scholten <ischolten.is@gmail.com>
* Replace hard-coded string with enum
* Use active from metadata instead of service object in ServiceDropdown
Co-authored-by: Iris Scholten <ischolten.is@gmail.com>
* Add generic for getDeep on service metadata property
* Capitalize enum constant values in FluxFormMode
* Show error notification when user reaches edit route for nonexistant flux
Co-authored-by: Iris Scholten <ischolten.is@gmail.com>
* Add tests for FluxDropdown
* Update types for async functions
Added ErrOrganizationConfigNotFound error
Refactored FindOrCreate to use helper get method
Ensure that FindOrCreate creates a new org config if config not found
and returns any other errors
Co-authored-by: Jared Scheib <jared.scheib@gmail.com>
Using serverContext created the scenario where a global org config
could be created and manipulated in certain cases. However, org
configs should always be in the context of an organization --
there is no global organization config, so removing these lines
removes the ability for such an undesired state.
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
Add definitions for Config and Organization Config
Replace /:section route with /auth and /org_config/logviewer
Co-authored-by: Jared Scheib <jared.scheib@gmail.com>
As previously implemented, OrganizationConfig was a global
object. This refactor adds the organization id to context for
every request, even when auth is disabled, so that org id
can be used to get/update an organization config.
Along those lines, this also removes OrganizationConfigStore
.Initialize and replaces .Get with .FindOrCreate, handling
the creation of organization configs upon first attempted
access.
Co-authored-by: Jared Scheib <jared.scheib@gmail.com>
Rename LogViewerUI to LogViewer in Config struct.
Make all instances of endpoint 'logviewer' (lowercase).
Make all instances of config.links.logViewer (camelcase).
Replaced /:section with specific hard-coded endpoints /auth
& /logviewer, and refactored service handler methods to
handle each route separately.
Co-authored-by: Jared Scheib <jared.scheib@gmail.com>
Specifically, this adds a definition for getting and updating
the log viewer UI Settings, i.e. severityColors,
columns, and severityColumnFormat.
Co-authored-by: Jared Scheib <jared.scheib@gmail.com>