* [eslint] upgrade to 4.10.0
* [eslint-config-kibana] limit jest config to jest test files
* [ui_framework] remove trailing comma from rest-spreads
* [dashboard/tests] tag jest helpers with .test.js suffix
* explicitly import expect.js where used
* [eslint] apply auto-fixes
* [eslint] manually add/wrap some parens for compliance
* [npm] point to local packages for testing/review
* [jest] remove .test extension from jest helpers
* [ui_framework] fix trailing comma removal from 3bc661a1c8
* [packages] upgrade eslint packages
* [timelion] remove last remaining amd modules
* [eslint-config-kibana] remove env.amd
* [webpack] use absolute loader names
* [webpack] remove absolute node_modules/ imports
* [webpack] upgrade to webpack 3
* [uiFramework] make webpack build compatible with v3
* [eslint-import-resolver] use https://github.com/elastic/eslint-import-resolver-kibana/pull/21
* [baseOptimizer] don't break when pkg has no dependencies
* [optimize] remove unnecessary json-loader
* [optimize] remove local references to webpack vars
* [eslint] upgrade to eslint-import-resolver-kibana 0.9.0
* [baseOptimizer] comment tweaks
* [baseOptimizer] remove loader pinning
In webpack 1 the loaders defined here were resolved relative to the file they were going to load, which meant that plugins in other projects could accidentally overwrite the loaders Kibana was trying to use, which is why the aliases were used to enforce proper resolution.
In webpack 2 loaders are now resolved relative to the webpackConfig.context, which is set to the root of the Kibana repo. See https://webpack.js.org/configuration/module/#useentry
* [webpack] rely on kibana webpack shims before checking node_modules
(cherry picked from commit f60639fccb)
* make kibana home app default when defaultAppId not set
* make kibana icon link to home page, add react-router for routing within home app
* directory registry
* add href to directory listings
* add tabs to directory page
* add promo section to home page
* home page styling
* use kuiFlex components to display directory in columns
* fix react array missing key warning
* add icons
* remove feature directory title from home page, change data sources to integrations
* add tutorials registry
* fix rebase mistake
* start tutorial component
* wrap tutorial registration in helper function to hide implemenation details
* add constants for categry and instruction variant ids
* filter tutorial directory by tab category
* remove later phase stuff
* clean-up feature directory styling
* add kbnDirectory to uiExports
* remove unused file
* cleanup timelion plugin definition
* fix lint errors
* css work recommended by formgeist review
* cleanup from pairing session with snide
* rename kbnDirectory registry to featureCatalogue, rename kbnDirectory uiExports to home
* update kibana index uses name to match ui-exports name
* remove carot from package versions
* remove kuiViewContent--constrainedWidth from feature directory view
* updates from Stacey-Gammon review
* import FeatureCatalogueCategory instead of passing as parameter
* wrap KuiButton in href to fix button click bug
* remove conditional check for ADMIN and DATA feature category tabs
* consider apps for the 'OTHER' tab as anything not in ADMIN or DATA
* remove temp variable tabs and just store in this
* avoid overwriting kui class styles
* prefix class names with home
* updates from timroes review
* Math Aggregation to support Sibling Aggs
* Fixing tests
* Deal with ResultSets
* including all var under params; updating docs
* Fixing bugs asscociated with blank Math aggs
* Adding aria props to elements
* Fixing aria labels; changing calculation label to bucket sript
* changing input to textarea
* Add compatability with percentiles; fix vars to be compatible with percentiles
* Adding comments
* Fixing typo in note
* Adding table vis
* Making linter happy
* Getting the data api inline
* Fixing aggs for table vis
* Fixing aggs for table vis
* Adding table vis
* Adding uiState and sorting
* Adding sorting
* Adding sorting and removing display fields
* fixing color picker in timeseries and gauge; thresholds for trend arrows
* Removing thresholds from trends
* removing background color
* remvoing obsolete tests
* Fixing terminology... pivot doesn't make sense
* updating error message
* making the sort icons match the rest of the app
* Fixing eslint bullshit
* Fixing a few bugs from merges
* Fixing linting issues
* Adding a falsy check
* Adding aria labels
* Changing toggle to use a button
* Adding focus-ring back in
* Adding check for model and visData; they should never be null
* Changing ids to use new htmlIdGenerator function
* Switching to htmlIdGenerator
* Fixing the way sorting works; fixing the error handling
* making no data compatible with vis
* Fixing defaults bug; Adding missing css rule
* Fixing sorting bug
* Initial check in of introducing redux in dashboard
* Use redux-actions and redux-thunks to reduce boilerplate
* Make sure all panels are minimized from the start when a dashboard is loaded - we don't want a panel id from a different dashboard in the state tree on a fresh open.
* Remove unused file
* use classnames dependency instead of manual logic
* First pass on selectors, handleActions, and more segmented reducers.
* Fix bugs with selectors and reducers and add tests that would have caught them.
* Fix issue plus tests
discover was not returning a promise
* Make expanding a panel purely a css modification which avoids all re-renders
* Found another bug with initial state not being set correctly on a hard refresh
* Remove check for change handlers now that the event handler bug is fixed
* rename dashboardState => dashboard for reducers and redux state tree
* Remove unnecessary top level describe in jest tests
* Navigate back to landing page at the end of the newly added test suite
* Fix lint errors
* Stabilize flaky tests by waiting until saved object search is finished loading results
* Don't leak subscriptions to the store.
* use selectors to grab dashboard panel off state.
* Remove use of getState in dispatcher to avoid circular reference and still use selectors
* use spread over object.assign
* No need to pass second param in when the input is simply returned as-is.
* Refine formatting of KuiCodeEditor.
* Update KuiButton and KuiLinkButton tests so aria-label warnings go away.
* Import brace dependencies into KuiCodeEditor example to make console error go away.
* Upgrade react-ace to 5.2.2 to make prop-types warnings go away.
* Add KuiContextMenu.
- Update KuiPopover to use K7 code.
- Add KuiPanelSimple for use within KuiPopover; it's just the K7 KuiPanel renamed.
- Refactor/rewrite KuiExpression and KuiExpressionButton to depend upon KuiPopover.
- Add K7 shadow mixins and size and z-index vars to global_styling.
* Update Dashboard panel to use KuiContextMenu.
- Fix reloading issue when editing a visualization from within a dashboard.
* Completely refactor KuiContextMenu to enable a single panel.
- Move keyboard navigation logic into KuiContextPanel.
- Set focus on the item which shows the panel we're leaving within KuiContextMenu.
- Remove unnecessary logic from KuiPopoverTitle.
- Replace confusing idToPanelMap and idToPreviousPanelIdMap props with a panels prop.
- Replace panelRef prop with onHeightChange prop.
- Migrate transition state and logic from KuiContextMenu into KuiContextMenuPanel.
- Rename 'current panel' to 'incoming panel' for cohesion with 'outgoing panel.'
- Map panel items to panels up-front.
- Convert maps from state variables into instance variables.
The flot-charts project has been abandoned since 2014, but we use it
pretty extensively in Kibana. By forking it, we can fix bugs and improve
on the library in ways that we need to for Kibana.
* [optimize] inject publicPath at request time
* [optimize/getFileHash] finish doc block
* [optimize/bundlesRoute] correct return value doc type
* [optimize/bundleRoute] use more descriptive name for file hash cache
* [optimize/dynamicAssetResponse] add more details to doc
* [utils/createReplaceStream] trim the buffer based on the length of toReplace, not replacement
* [utils/createReplaceStream] add inline docs
* [utils/createReplaceStream] write unit tests
* [optimize/bundleRoute] expect supports buffers
* [optimize/bundleRoute/basePublicPath/tests] add happy path
* [optimize/bundlesRoute/tests] verify content-type header
* [optimize/bundlesRoute] use '
(cherry picked from commit 1ea82fa869)
* Initial check-in to replace gridster with react-grid-layout and reactify panels
* # This is a combination of 3 commits.
# This is the 1st commit message:
Add margin of error to test determining panel widths
# This is the commit message #2:
use real kibana version when creating panel data. Will make future conversions easier.
# This is the commit message #3:
Fix lint errors
* Add margin of error to test determining panel widths
use real kibana version when creating panel data. Will make future conversions easier.
Move default height and width to dashboard_constants so those that need it don't end up including extra stuff like ui/chrome
* Remove unnecessary _.once when creating react directives in dashboard.js
* Remove unnecessary constructors
* Use componentDidMount instead of componentWillMount bc of async calls, and handle case where destroyEmbeddable is not defined.
* Remove unnecessary null in classNames
* Use loads defaultsDeep instead of Object.assign
* use render* instead of get* for functions returning an element
* use relative css paths
* Use local import path
* Switch to local imports and remove need for plugins path in jest tests
* Improve accessibility of max/min panel toggle icon
* remove unused css
Had to implement this via code
* disable eslint rule for setState in componentDidMount
Am not aware of a better way to handle this, aside from switching to
redux, since it’s recommended not to put async calls in
componentWillMount. Since I plan to investigate redux next, disabling
for now. Open to other’s opinions on the matter.
* Use native map instead of lodash
* Have the grid handle setting the z-indexes of the right reactgriditem
* Make the draggable handle the title, not the whole heading
Otherwise the drag event often takes over click events when trying to
open the panel options menu and it gets really annoying.
* Change from click to mouse down detector in KuiOutsideClickDector so drags also close pop ups.
* Fix mistaken commit
Code from the redux PR snuck into this one.
* Run getEditPath and getTitle async calls in parallel - no need to wait on the return value of one before starting the others.
* Fix tests: update snapshots, add promise returns.
* version being added to panelData in the wrong spot caused isDirty flag to be true when it shouldn't be
* Fix unmounting/mounting problem with panels due to view/edit mode switch
* Fix bug where panels get squashed to one side when view mode is changed while a panel is expanded.
* Update snapshots to match wrong view mode comparison
* Improve naming of a variable
* Fix issue with pop over hiding behind tile maps
* Previous panel.js included ui/doc_table and ui/visualize - needed to include them in the chain for Dash only mode but not in that file.
* Fix bad merge: remove baseline screenshots
* react editor example
* ensure props are not updated
* use new stageEditorParams method to stage parameter changes
* make component stateless
* use terms_vis_editor component
* get add button to work
* update vis controller to display terms input controls
* update componenent when query bar updates
* add functional test
* lay ground work for different control types in single visulization
* make editors for range and text controls
* text control
* implement type ahead suggestor for text control
* add range slider
* some CSS work
* add submit button, move control init functionallity under control_factory
* add custom options for control types
* provide buttons to move controls up and down
* Make ControlEditor component and clean up styling of editor
* styling work
* multi select for terms dropdown control
* add option to disable filter staging, only enable submit button when filters are staged
* clean up range styling
* rename top level vis folder
* cleanup
* move control type select out of each control editor
* dark theme styling
* use ui/public/filter_manager/lib/phrases.js to build phrases filter, add tests to range filter manager
* use savedObjectsClient to get index patterns
* remove text control and add id to controls for react tracking
* ensure fields get updated when index pattern changes
* update PropTypes for react 15.6.1
* update to latest react-select to avoid isMounted deprecation warnings
* fix input controls functional test
* rename termsControl to listControl to be more generic
* add function test for clear button, refactor directory structure
* functional tests for updateFiltersOnChange is true
* fix react-select clipping problem in dashboard
* try clicking option instead of pressing enter to set react-select value in functional tests
* react-select css
* clean up control_editor component, make ListControlEditor component be function
* add jest test for vis_editor component and accessibility
* add decimal places option to range slider
* add jest test for InputControlVis component
* add default to switch blocks, split editor into seperate tabs, use shallow in snapshot tests
* fix race condition in field_select, update index_pattern_select to fetch indexPatterns on each filter
* clean up control initialization
* use htmlIdGenerator to avoid html element id conflicts
* update functional test to support new editor tabs
* finish jest tests for sub componenets
* mark vis as experimental, refactor buttons for better usability
* fix bug in list control where unable to select options containing numbers and options containing commas. Truncate display of long list options
* fix chart types functional test
* fix jest tests, add margin to action buttons
* remove binds from render functions
* experement with native input range sliders
* Revert "experement with native input range sliders"
This reverts commit aed599e88a.
* Use Promise.resolve in tests and replace _createRequest with searchSource.fetch
* add inputs to range control
* [babel] create babel-preset and babel-register modules
* [babel-preset] add comments to babel-preset-env.target choices
* [babel-preset] use more normal BUILT_WITH_BABEL signal
* [babel-register] extended comment about filtering ./src in dist
* [babel-preset] stage of class properties has changed, sorta
(cherry picked from commit 48d35f81fd)
* [angular/$http] remove use of .success() and .error() callbacks
* [angular/$route] remove `!` hash prefix
* [angular] upgrade
* [angular/$timeout] prevent unhandled exception "canceled" logging
* [ui/fancy_form] refactor FormController for compatibility
* [ngModelController] ensure method calls keep context
* [ui/queryBar/tests] attach $elem to DOM so "click" triggers "submit"
* [confirmModalPromise] fix test for rejected promise
* [watchMulti] specifically check watchers array for length
* [typeahead] check for property rather than own keys
* [ui/compat] add initAfterBindingsWorkaround
* [ui/fancyForms] fix _getInvalidModels()
* [fancyForm] add tests that check nested form error counting
* [ui/fancyForms] ensure that submit is blocked properly
* [ui/fancyForms] escalate soft errors on failed submit
* [ui/fancyForms] bind handlers to this in constructor
* [uiBootstrap/tooltip] describe the new error handling
* [ui/confirmModalPromise] use more sinon assertions
* [$http] resp => data before old .success() and .error() handlers
* [indices/createWizard] apply callAfterBindings workarounds
(cherry picked from commit 2eae80cd0c)
* upgrade leaflet modules to 1.x latest
* fix css for leaflet controls
* update draw options so it is easier to see polygon when drawing
* fix chrome touch issues with closing polygon in leaflet draw
* use canvas renderer
* use leaflet-responsive-popup to avoid tooltip cutoff
* remove radius configuration from leaflet heatmap
* make blur a factor of radius. Set maxZoom to map zoom since new values are calculated per precision
* use _.get to avoid error, cannot read property of undefined
* add cluster size slider
* experiments with image differences
* onload not onLoad
* use canvas dimensions
* compare map canvas to stored PNG of map canvas
* remove pixelmatch from project dependecies
* fix broken test - rounding error
* add expected image tests for geohash layers shaded circles and geohash grids
* bump z-index of vis-spy
* update functional test expected data
* update to leaflet 1.2.0
* revert to leaflet 1.0.3 and update expected data set for map functional tests
* test geohash_layer heatmap in unit test
* update region_map functional test since it can not longer pluck map vectors from DOM
* update documentation
* add markdown functional test
* update markdown vis to use markdown-it
* migrate markdown angular filter to markdown-it
* place other uses of marked and remove dependency
* update breaking changes documenation and set linkify to true
* Reorganize documentation styles so they all live in doc_site/components directory. (#12809)
- Remove global styles, e.g. body and html element selectors.
* Create global_styles dir with sub-directories. (#12833)
* Add SCSS style guide. (#12850)
* Refactor UI Framework directory structure to house everything in a src directory. (#12880)
- Add components/index.js and services/index.js files to continue to export JS modules from the root.
* Add KUI Yeoman generator.
* Support creation of components.
* Add documentation generator for main page, demo, and sandbox.
- Add additional documentation snippets to KUI generator. (#13076)
- Fix incorrect use of double quotes in KUI generator snippet. (#13086)
- Remove infrequently used imports from the KUI generator test template. (#13110)
* Mock assets files for Jest. (#13060)
* Fix broken coverage report paths in Jest config. (#13082)
* Update eslint config to lint the new UI Framework directory structure. (#13102)
* Fix positioning of doc site pagination buttons. (#13203)
* Support hasReact prop for sandboxes. (#13270)
* Remove deprecated used of component mixin from KUI generator's SCSS template. (#13377)
* Fix rebasing errors.
- Add dashboard back to Jest config.
- Add missing form and tool_bar variables.
* Rename tasks to createComponent and documentComponent.
* Reference correct src paths in README.
* Add children and className to templates' propTypes.
* Add default folder name for page demo.
* Add suffix to sandbox routes.
* Specify testPathIgnorePatterns more clearly.
* Rename component.test.js to test.js so that Jenkins won't try to run it.
* Update npm scripts to depend on local yo dependency, not global.
* Add ui_framework/src to copy task.
* Simplify npm scripts and remove requirement for installing Yeoman from README.
* Add services to moduleNameMapper in jest config.
* Clean up Button and Gallery examples.
* [SavedObjectClient] emit detectable errors
* [uiSettingsService] consume new SavedObjectsClient errors
* [SavedObjectsClient] expose errorTypeHelpers as such
* [elasticsearch/tests] recreate error for each test
* [http] wait for elasticsearch plugin to be ready
* [shortUrl/tests] ensure that create request responds with 200
* [shortUrl] use errorTypeHelpers to filter errors
* [uiSettings/savedObjectsClientStub] stub errorTypeHelpers
* [SavedObjectsClient/errors] expose error module so tests can make errors
* [shortUrl/tests] use actual SavedObjectsClient errors
* [uiSettings/savedObjectsClientStub] use actual errors lib
* [SavedObjectsClient] use decorate instead of "wrap"
* [server/routes/uiSettings] refactor routes to forward Boom errors from uiSettings
* [uiSettings] colocate routes and service
* [testUtils/esTestCluster] use more standard api style
* [testUtils/es] add createCallCluster util
* [testUtils/esTestCluster] add getters for client/callCluster
* [es/healthcheck] ensure that healtcheck stops when server is stopped
* [uiSettings/routes] add param/payload validation
* [uiSettings/routes] add tests that verify error behaviors
(cherry picked from commit 8a64872ecb)
* [es/tests] remove unused module
* [testUtil/es] add utility for starting es nodes in tests
* [ftr/tests] use esTestCluster util to start es
* [es/tests/routes] use esTestCluster to start own es
* [testUtils/kbnServer] disable uiSettings unless plugins are enabled
* [testUtils/esTestCluster] use standard test es port by default
* [server/http/tests] add esTestCluster to setup
* [test/config] unify es test config into a single module
* [testUtils/esTestCluster] directory is no longer configurable
* [testUtils/esTestCluster] throw when es.start() is called again without es.stop()
* [testUtils/esTestCluster] is* checks should not mutate state
(cherry picked from commit 6748b22d03)
- httpolyglot is removed, we no longer automatically redirect from http to https
- server.ssl.redirectHttpFromPort option added to allow for http -> https redirect from one port to another
- We no longer start the dev server with tls by default, it can be turned on with the --ssl flag, npm start -- --ssl, or ./bin/kibana --dev --ssl
- There will currently be error log messages if you connect over the wrong protocol, we have #11209 for downgrading these
* add and configure eslint import plugins
eslint-plugin-import and eslint-import-resolver-kibana
* fix duplicate imports
* fix named exports
mostly fix the way exports works so the linter could resolve them, but fix a few incorrect imports as well
* fix import/no-named-as-default-member issues
* fix export name
don't use named export name when consuming the default export
* fix eslint namespace issue
* remove unused install_or_update_repo file
* fix metrics vis exporting
* fix multi import
* ignore resolution issues in console
custom resolver seems unable to deal with amd modules correctly
* ignore import issues in ui framework setup
resolver is unable to deal with raw imports at the moment
* add duplicates exception to select tests
* add projectRoot override to core kibana plugin
also bump @elastic/eslint-import-resolver-kibana, so the correct package.json file is used to resolve the root path
* set kibanaPath
required for the CI
* fix one last module.exports in new code