* Run 'kbn:bootstrap' scripts at the end of bootstrapping
* Add bootstrap command tests
* resetAllMocks
* Use 'absolutePathSnaphotSerializer'
* Mock console.log calls
* Strip ansi snapshot serializer
* reset in afterEach
* Log before running 'kbn:bootstrap' scripts
* mock linkProjectExecutables in bootstrap tests
* bootstrap ui in script file rather than inline
There's no good reason to bootstrap the UI within the browser using an
inline script tag rather than a separate dynamically created bootstrap
script.
Having this bootstrapping logic in its own file allows us to cache this
separately from the main HTML payload, and it is required if we want to
disable inline scripts entirely.
* cleanup from review 1
* fix status page bootstrap
* do not require auth for app bootstrap files
We do not require auth for the rest of our static JS files, and this
file should not be treated differently than those. That this file is
created dynamically rather than pulled directly from the file system
is just an implementation detail.
This adds a return value to the `Promise` returned by `config.set`, which allows callers to `await` it and verify that their setting was applied without checking the settings (which is a race condition).
* Time field step in React
* Tests start
* Modularizing the step and adding tests
* More tests
* More clean up
* Fix test
* Update tests
* Fix bug where use can't select 'No Time Field' option
* Fix test
* Disabled button state bug fix with test
* UX improvement: early warning of index pattern collision
* More composable StepTimeField component for more readability
* PR feedback
* Remove debug
* Ensure the node exists and add back tests
* Update time field loading state
* PR feedback
* Update tests
* lint for innerHTML and family
Browser apis like innerHTML and document.write are dangerous when used
incorrectly, so we should not be using them unless we explicitly opt-out
of the linting rule on a case by case basis.
* add no-unsanitized to eslint peerDependencies
* Build packages before running ESLint on CI
* Add production task to kbn-build
* Ensure packages are bootstrapped before running the build
* Run ESLint on kbn-build
* Handle cases of importing objects that are connected to searches, but error out due to the searches index pattern not found
* Add tests and fix flaky ones
This is a follow up to work done to add a `GlobalToastList` and it adds a `GlobalBannerList` that serves a similar role: a singleton class that can be modified as needed to display useful information to the user.
The major difference between this area and the toast notifications is that this is completely self-managed. A good example of this is the `createFirstIndexPatternPrompt` banner, which this PR fits into the global banner list.
This area is not intended to be a common area to display information, but it is useful for the rare, globally useful information.
This adjusts the `config.get` method to honor the default value passed in by the caller regardless of whether the setting already existed or not.
Now, if the method is called without the second parameter (the default value), then it will return the statically defined default value. If a default parameter is supplied, then it will be used instead of the
statically defined default value.
* update jest tests as best as possible - found some bugs that need to be addressed
* use EuiAccordion to hide/show control editor
* set control editor to be open on load
* small changes
* fix editor jest tests
* update visualization components to EUI
* fix jest tests and updated range control to EUI
* fix bug in range control input logic
* fix button layout
* fix dashboard grid resize test
* add space between panels, change button order, switch to sort icons
* remove style attribute from component, fix spelling of id