Commit graph

680 commits

Author SHA1 Message Date
CJ Cenizal 37d080f559 Fix prop-types warnings in Jest tests (#14339)
* 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.
2017-10-11 09:25:36 -07:00
CJ Cenizal abcccd02e5 [UI Framework] Add KuiContextMenu. (#14183)
* 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.
2017-10-11 09:11:18 -07:00
Court Ewing e635d25b26 fork flot into Kibana (#14366)
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.
2017-10-10 13:27:47 -04:00
Kim Joar Bekkelund 6a2bb74407 Use Object spread instead of Object.assign where it makes sense (#13903)
* Prefer Object spread

* Add eslint rules for Object spread

* no slice
2017-10-10 14:50:56 +02:00
Spencer 1ea82fa869 [optimize] inject publicPath at request time (#14007)
* [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 '
2017-10-03 01:51:59 -07:00
Stacey Gammon e35d7b0141 Replace gridster with react-grid-layout (#13853)
* 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
2017-09-26 18:02:13 -04:00
Nathan Reese 30cc42f4ba Input Control visualization (#13314)
* 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
2017-09-20 06:22:55 -06:00
Spencer 48d35f81fd create babel-preset and babel-register modules (#13973)
* [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
2017-09-19 17:44:47 -07:00
Court Ewing d49692f122 Bump chromedriver (#14053) 2017-09-19 09:01:47 -04:00
Spencer 7866a15db7 [npm] Upgrage wreck (#13849) 2017-09-14 18:46:55 -07:00
Kim Joar Bekkelund ecd9bcb356 Upgrade to Jest 21 (#13863)
* Upgrade to Jest 21

* Bump eslint-config-kibana to v0.11.0
2017-09-07 12:06:55 +02:00
spalger 38cbd44658 [npm] bump grunt-esvm 2017-09-01 11:42:17 -07:00
Søren Louv-Jansen 52552a93ef Update react 15.6.1 (#13672) 2017-08-28 10:27:51 +02:00
Spencer 2eae80cd0c Upgrade Angular to 1.6.5 (#13543)
* [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
2017-08-25 14:50:11 -07:00
Tyler Smalley 4bbd127626 Removes webpack-directory-name-as-main dependency (#13584)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2017-08-23 08:21:32 -07:00
Nathan Reese 599c8c4220 Upgrade kibana to leaflet 1.x (#12367)
* 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
2017-08-22 17:26:30 -06:00
Nathan Reese 0d281a7566 Replace "marked" with "markdown-it" (#13623)
* 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
2017-08-22 16:29:40 -06:00
CJ Cenizal fbaf4e638b [eslint-config-kibana] Upgrade eslint-config to 0.10.0. (#13323)
* Upgrade eslint-config to 0.10.0.
* Fix linting violations with popover and typography stuff in UI Framework.
2017-08-11 11:48:54 -07:00
CJ Cenizal 720297d8da [UI Framework] Reorganize UI Framework and add Yeoman generator (#13172)
* 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.
2017-08-11 08:48:48 -07:00
Court Ewing 5d304b2571 remove @bigfunger/jsondiffpatch (#13442)
This dependency is no longer used.
2017-08-11 10:05:30 -04:00
Spencer 7e16d19249 [npm] move personal forks into elastic org (#13410) 2017-08-09 12:31:30 -07:00
Spencer 8a64872ecb [fix/UiSettings] ignore certain errors (#13079)
* [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
2017-08-08 17:55:36 -07:00
Spencer 0aa4206d2c [npm] upgrade postcss-loader (#13279)
Needed to get a version that included https://github.com/postcss/postcss-loader/pull/174
2017-08-01 18:33:39 -07:00
Court Ewing c33ac752eb Revert "override version until elastic/elasticsearch#25876 is merged" (#13196)
This reverts commit ce8333b70f.
2017-08-01 17:43:42 -07:00
Spencer 6748b22d03 Implement esTestCluster test util (#13099)
* [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
2017-07-28 09:47:41 -07:00
Felix Stürmer 2430fed459 Use version 0.9.0 of eslint-config-kibana (#13177) 2017-07-28 18:03:34 +02:00
CJ Cenizal e922f00445 Upgrade eslint config to 0.8.1. (#13128)
* Fix incorrect peerDependency and bump eslint config version to 0.8.1.
* Upgrade eslint config to 0.8.1. Fix JSX to adhere to new formatting rules.
2017-07-27 10:52:41 -07:00
Tim Roes 008cf03d51 Plugin installer proxy support (#12753)
Proxy support for plugin installer
2017-07-26 09:35:00 +02:00
spalger ce8333b70f override version until elastic/elasticsearch#25876 is merged 2017-07-25 12:41:41 -04:00
jimgoodwin e676668967 Branching for 6.0: bump version to 7.0.0-alpha1 2017-07-24 15:24:56 -04:00
Jonathan Budzenski 457b9fe09e Bump makelogs to 4.0.2 (#13007) 2017-07-21 11:00:23 -05:00
Court Ewing 4bf1ade6f9 bump node.js to version 6.11.1 (#12776) 2017-07-11 17:57:01 -04:00
Court Ewing d11b960994 bump version to 6.0.0-beta1 2017-07-10 13:53:05 -04:00
Jonathan Budzenski c79e22386c Revert same port http -> https redirect (#10930)
- 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
2017-07-07 17:15:56 +02:00
Spencer cca8fff6e8 [npm] upgrade grunt-esvm (#12593) 2017-06-29 22:23:27 -07:00
Kim Joar Bekkelund e7ce72e5aa Move Jest config to json (#12402) 2017-06-20 00:09:23 +02:00
Spencer 0050ea71c5 upgrade @elastic/eslint-import-resolver-kibana (#12296) 2017-06-12 14:27:56 -07:00
Joe Fleming 27b869ab04 Add eslint import resolution (#12025)
* 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
2017-06-09 11:19:31 -07:00
Joe Fleming 1ffa6df523 Replace node-uuid with uuid (#12209)
* replace node-uuid with uuid package

* fix all the uuid call sites
2017-06-06 15:15:53 -07:00
spalger 992684962b master development is now for alpha3 2017-06-06 10:08:52 -07:00
Colm O'Shea 2e5a9af100 Bump grunt-run to 0.7.0 (#12127) 2017-06-02 09:15:45 -05:00
Spencer 14014872aa [eslint] Upgrade to latest shared eslint config (#12129)
* [eslint] upgrade to latest eslint-config-kibana

* [eslint] autofix violations discovered by updated rules

* [eslint] remove import resolver
2017-06-01 17:52:39 -07:00
Aleh Zasypkin 4bc4c58d8c Get rid of auto-release-sinon in favour of built-in sinon.sandbox functionality. (#12099) 2017-06-01 10:27:08 +02:00
Spencer 132f9b4d29 [npm] remove whatwg-fetch dependency (#12110) 2017-05-31 13:58:57 -07:00
CJ Cenizal e2a862c552 Bump css-loader dependency to play nicely with Yarn. (#12103) 2017-05-31 13:52:19 -07:00
Court Ewing 2876f1fdf6 Revert "Switch to Yarn (#11637)"
This reverts commit 71a9b8b6bc.

Until we get all the relevant infra configured with yarn as well.
2017-05-27 08:51:19 -04:00
Spencer 71a9b8b6bc Switch to Yarn (#11637) 2017-05-26 19:32:03 -07:00
Spencer b6b71a6506 [tests] remove unused visual_regression suite (#12046) 2017-05-26 14:57:36 -07:00
Spencer d4db4f5b48 [esvm] bump, remove outdated config (#12043) 2017-05-26 13:36:45 -07:00
Spencer 5c04ff65fb Remove use of npm ls in grunt tasks (#11965)
* [grunt/build] refactor _build:notice task to not depend on npm

The _build:notice task used to rely on the output of `npm ls` to determine where modules were defined, but the task now just asks `license-checker` to include the `realPath` of the modules it describes in it's output, which is ultimately the same thing but works with `yarn` too.

* [grunt/licenses] convert to use lib/packages/getInstalledPackages()

* [grunt/notice/generate] test generateNoticeText()

* [grunt/licenses] tested assertLicensesValid()

* [npm] remove npm dev dep

* [tasks/lib/packages] do not include kibana in "installed packages"

* [tasks/lib/notice] join all notices with the same separator
2017-05-24 08:34:55 -07:00
Matt Bargar 5fc5a700df Change the way dynamic doc links are built so they work in dev and pre-release builds (#11913)
* Change the way dynamic doc links are built so they work even in dev and pre-release builds

* update test
2017-05-23 15:46:54 -04:00
Chris Cowan f3235ba950 Removing the auto-apply feature from Time Series Visual Builder (#11460)
* Removing the auto-apply feature

* Removing commented out code

* Adding auto apply toggle; making apply bar perminant; only make apply sensitive to data changes

* Tweaking the auto apply behavior

* Moved auto apply toggle; added local storage for setting
2017-05-22 10:02:53 -07:00
Kim Joar Bekkelund 6c3fc81ea9 Upgrade to Jest 20 (#11642) 2017-05-18 13:53:44 +01:00
Spencer d3ba428796 [ftr] make room for more projects (#11848)
Squashed commit of the following:

commit 659ea986fdeb9a5ff2ca1fa5360cccb01c671ede
Author: spalger <spalger@users.noreply.github.com>
Date:   Wed May 17 09:19:22 2017 -0700

    [test/*/fixtures] rename es_archives to es_archiver

commit d3667457c78e88e2d6974f3c38dd0fe61b846b91
Author: spalger <spalger@users.noreply.github.com>
Date:   Wed May 17 08:22:03 2017 -0700

    [ftr/config] fix default directory value functions

commit 9a6a2cc0b295e2281e83da04fcea40e9d6f00781
Author: spalger <spalger@users.noreply.github.com>
Date:   Wed May 17 07:30:52 2017 -0700

    fix import paths

commit fcb65a877d54b5b1d36b8c81f1264b36845e826e
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 21:39:57 2017 -0700

    [grunt/ftr] use named exports for configs

commit 7d7f38c7615cdbf8eb0119efc0f2a5188bca8792
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 18:50:04 2017 -0700

    [test] remove unnecessary directory definitions

commit 0c28984669768482f0a2ee7fc2800d5bcaf49025
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 18:46:29 2017 -0700

    [ftr/config] make default directories relative to config path

commit cd2f33612624cacffec138797f3fc0f4ecb46cca
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 18:32:12 2017 -0700

    [test/common] put server config into common

commit 7851ed811a236576c63bd20850b3ef2099be2a4e
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 18:18:20 2017 -0700

    [grunt] "deprecate" test:api:runner task

commit b2ac4c26593a1947c94f0168191fe8123ff74122
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 18:15:41 2017 -0700

    [ftr] accept the project name as an unnamed arg

commit 47e292894fc70c0a04883403c50c5d2ae0738d76
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 17:56:34 2017 -0700

    [ftr/grunt] convert ftr task to multi-task with config

commit 83375855f88e5e7b3fa8b6a1c5d24a9f54766ce5
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 17:54:54 2017 -0700

    [test/functional] move fixtures into test/functional project

commit 05994e9c92cf134c58f831c285b3b522a801acbc
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 17:02:51 2017 -0700

    [src/test_utils] merge with test/utils directory

commit c77ee5ed36b8b7eadf876cb6d9482a49dfc92b66
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 16:53:00 2017 -0700

    [test/api_integration] migrate api tests to functional test runner

commit ca328c34648dd7e07f70e1844e07cfc392e41103
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 16:50:12 2017 -0700

    [esArchiver] refresh modified indices after load

commit cde74a540850fd97578f441d6dccaefd1444e656
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 16:46:48 2017 -0700

    [test/functional] move shared services into test/common

commit 0ea2646aea5817f6d1595e6ae0d356c426f138f0
Author: spalger <spalger@users.noreply.github.com>
Date:   Mon May 15 22:51:23 2017 -0700

    [scripts/mocha] run _mocha script when debugging

commit 1cc80600d90e318d4738920aa557d124075a4570
Author: spalger <spalger@users.noreply.github.com>
Date:   Mon May 15 22:48:12 2017 -0700

    [ftr/config] allow child config files to have no testFiles config

commit 2bb6c957443b18cebc419baa6f9db301c8f4dc4f
Author: spalger <spalger@users.noreply.github.com>
Date:   Mon May 15 21:52:26 2017 -0700

    [ftr] move screenshots into test/functional
2017-05-17 18:53:45 -07:00
Brandon Kobel 27ccda84ec Upgrading elasticsearch dependency to 13.0.1 (#11784) 2017-05-16 14:05:10 -04:00
Spencer 882079c4f8 [npm] upgrade karma (#11806) 2017-05-15 16:46:52 -07:00
Chris Roberson d23fa3689b Remove legacy npm script that is no longer used or supported (#11796) 2017-05-15 14:56:23 -04:00
Spencer 2e7fed87fd [ftr] take screenshots on failure (#11709)
* [tests/functional] move screenshots to their own service

* [ftr] add testFailure and testHookFailure lifecycle hooks

* [tests/functional/screenshots] cleanup old screenshots at startup

* [test/functional/screenshots] take screenshots when tests fail

* [cli_plugin/install] fix test

* [ui/scanner] fix test
2017-05-11 12:07:23 -07:00
Jonathan Budzenski 2405a6f617 Lock chromedriver and tree-kill (#11660) 2017-05-09 18:51:36 -07:00
Spencer ff870986b3 [uiFramework/docSite] reuse kibana babel config (#11688) 2017-05-09 18:50:19 -07:00
Spencer b75ce02eaa upgrade makelogs to support single-type es limitations (#11684) 2017-05-09 16:06:27 -07:00
Spencer d126e7c5f4 Convert makelogs and mocha npm scripts (#11665)
* [scripts] convert `npm run makelogs` to script

* [scripts] convert `npm run mocha` to script

* [scripts] add warning to `test:ui:runner` npm script

* [script] fix location of scripts in warnings
2017-05-09 10:53:10 -07:00
jimgoodwin 511f86bdb0 bump version to 6.0.0-alpha2 2017-05-09 08:24:49 -04:00
Spencer 36ecf130ad [babel] tweak babel options for performance and debugging (#11535)
* [babel] tweak babel options for performance and debugging

* [babel] remove babel-plugin-transform-export-extensions

* [npm] lock new deps to the patch version

* [npm] remove unused deps
2017-05-08 15:29:28 -07:00
Spencer f76bef46c0 [ftr] remove digdug, use chromedriver directly (#11558)
* [ftr] remove digdug, use chromedriver directly

why?
 - digdug is meant to be used by intern, and expects a certain lifecycle that the FTR has tried and continuously fails to mimic
 - rather than continue trying to force digdug into the stack, just spawn chromedriver ourselves. We know how to handle it
 - cleans up verbose remote logging while we're in there, since selenium-standalone-server went with digdug, which was previously doing the verbose logging
 - deprecate config.servers.webdriver
 - add config.chromedriver.url
 - if url at config.chromedriver.url points to a server that responds to http requests use it as the chromedriver instance, enables running chrome in a VM or container
 - if pings to config.chromedriver.url fail a local chromedriver is started

* address review requests
2017-05-04 13:27:18 -07:00
Stacey Gammon 8fca519a39 UiFramework: Modals in react (#11500)
* Reactify the confirmation modal

Up next: jest tests

* Add tests

- Relies on https://github.com/elastic/kibana/pull/10821 getting
checked in first for commonHtmlProps

* Don't include the overlay as part of the confirm modal component

* Use the react version of a confirmation modal

- Can’t use the modalOverlay or it would be two nested react roots, due
to the way it’s embedded in angular.

* Add snapshots

* Fix tests

* fix confirm_modal_promise tests

I have no idea why the introduction of react would cause this to fail
as it was, but for some reason, grabbing the button reference has to be
after the digest loop.

* Address code review comments

* switch over the remaining React.PropType references (in the modals dir anyway)
2017-05-03 09:44:31 -04:00
Stacey Gammon 26a62642fb Fix for react-input-autosize bug (#11543)
* Fix for react-select bug

Description of the issue here:
https://github.com/JedWatson/react-select/issues/1694

* Can't put comments in package.json I guess
2017-05-01 10:00:52 -04:00
CJ Cenizal 1f76e7508e [UI Framework] Add uiFramework:build task. (#11402)
* Add uiFramework:build task.
2017-04-27 11:41:36 -07:00
Stacey Gammon 5984a4a40b React search box tool bar (#10821)
* Add a react tool bar search box

Create basic react toolbar elements and update uiframework docs

* Package.json: put back ngreact (edits got overwritten)

* Add jest tests

* Combine basic tests into one, eliminate helper functions

* Address code review comments

- move tool_bar_footer into it’s own file.
- some stylistic html changes
- comments

* Remove toolbar_with_search_only

It isn’t being used in kibana currently, so we probably don’t need to
support it in our ui_Framework, and the need for the custom
“className="kuiToolBar--searchOnly”” indicates we should resdesign it
if we do need it some day.

* Fix issue with default to named conversion merge

* rename commonHtmlProps = requiredProps
2017-04-26 09:36:46 -04:00
Shaunak Kashyap 69c22889ab Kibana-related packages (#11308)
* Make sure package is published under @elastic org namespace

* Preparing packages/ for Kibana-related packages

* Folder structure mirrors package name

* Add note on naming consistency

* s/packages/node modules/ for removing potention confusion with Kibana system packages

* Prefixing the eslint rule with package scope (i.e. org namespace)

* Adding README

* Bumping up version for release

* Adding repository information to package.json

* Bumping up version for release

* URL-encoding repository link + bumping up version for release

* Using published version
2017-04-19 04:31:00 -07:00
Stacey Gammon 5aea4ff210 Add no default exports custom rule (#10981)
* Introduce a custom kibana estlint rule for no default exports

Turn it on only at the level of /kibana/src/core_plugins/public/ for
now, just to keep the PR sizes manageable.

* Don't call functions directly on the import

* Create a packages dir and move the custom rule in there

* Remove copied package.json portions, use minimal info necessary
2017-04-12 06:59:14 -04:00
Spencer 90434765c0 [functionalTestRunner] replace intern (#10910)
* [functional_test_runner] replace functional testing tools with custom/pluggable solution

* [functional_test_runner] Convert unit tests to commonjs format

* [functional_test_runner] Fix dashboard test in wrong mode

* [functional_test_runner] Add dashboardLandingPage test subject

* [functional_test_runner] Get Visualize page object

* [functional_test_runner] Fix outdated references

* [functional_test_runner] Fix more outdated refs

* [functional_test_runner] Remove duplicate tests

* [functional_test_runner] Improve test readability

* [functional_test_runner] 😞 So many duplicate methods

* [functional_test_runner] Move mgmt `before` outside toplevel describe

* [functional_test_runner] Settings page obj missing methods

* [functional_test_runner] Add improvements from @gammon

* [functional_test_runner] Fix return statements in async funcs

* [functional_test_runner] Move before() to correct scope

* [functional_test_runner] Add after() hooks to remove index patterns

* [functional_test_runner] Attempt to fix vertical bar chart tests

* [functional_test_runner] Clean up

* [functional_test_runner] Reinstate unit tests

* [functional_test_runner] Set default loglevel back to info

* [functional_test_runner] Replace `context`s with `describe`s

* [functional_test_runner] Better error handling

* [functional_test_runner] Add in new Tile Map tests

* Incorporate changes from master

* [functional_test_runner] validate that every test file has a single top-level suite

* Update contributing doc with link to full doc

* [docs] Spelling and grammar fixes

* docs: writing and running functional tests

* [docs] Move plugin doc to plugin area

* [docs] Housekeeping. Doc in wrong place

* [docs] Remove dup doc file

* [grunt] Only run mocha_setup when running tests, not every grunt task
2017-04-11 17:01:06 -05:00
Tyler Smalley 6ae4a07cff Replaces zip library and small refactor of plugin install (#11145)
Previously our plugin installation used over 5,000 file descriptors when analyzing and extracting the archive. To mitigate this, we are moving to a more supported zip library, Yauzl.

In addition to the replacement of the zip library, this refactors the getPackData method. It was extracting the plugin package.json files, reading them, then finally deleting them. This commit performs this all in memory, removing the need for any file system operations during this step.

These changes reduced the installation time by an average of 35%, from 211.18 seconds to 137.8 seconds. The majority of this time is now spent during optimize.

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2017-04-11 12:58:38 -07:00
Tyler Smalley 006fae00f7 Fetches control group resource information (#10402)
Adds control group data to status API and kbnServer.metrics
2017-04-11 10:20:30 -07:00
Jonathan Budzenski 2b24b5c488 Bump node to 6.10.2 (#11039) 2017-04-10 15:26:16 -05:00
Kim Joar Bekkelund 90be7e882f Move Jest test setup to root (#10963) 2017-04-05 21:24:01 -04:00
Kim Joar Bekkelund b1d65b19ff Upgrade eslint config to disallow 'context' (#11021) 2017-04-04 13:53:24 -04:00
Lukas Olson d15f52c525 Use ui-select for index pattern selector (#10144)
* Replace index pattern selector with ui-select

* Show index patterns in alphabetical order

* Add highlighting to select
2017-03-31 11:37:10 -07:00
Shaunak Kashyap 716bb5d390 Bump jquery from 2.1.4 -> 2.2.4 (latest in 2.x line) (#10950) 2017-03-30 12:41:09 -07:00
CJ Cenizal b604911720 [UI Framework] Create Button React components in UI Framework. (#10646)
* Create KuiButton, KuiLinkButton, KuiSubmitButton, and KuiButtonIcon React components in UI Framework.
* Add Jest test coverage for UI Framework, generate report in ui_framework/jest/report.
* Add UI Framework to linting task.
* Update UI Framework README with instructions on creating and testing React components.
* Add both React and HTML examples.
* Add UI Framework Jest tests to npm test script. Create separate scripts for watching and generating coverage reports.
* Fix appearance of kuiButtons with icons throughout Kibana, by adding a flexbox wrapper.
* Improve accessibility of kuiButtonIcon.
* Remove disabled attribute from KuiLinkButton.
* Remove kuiButton-isDisabled class from KuiButton and KuiSubmitButton.
2017-03-29 13:25:43 -07:00
Spencer e67790037a [esArchiver] combine elasticDump and ScenarioManager (#10359)
* As a part of bringing functional testing to plugins, esArchiver gives these plugins a way to capture and reload es indexes without needing to write a bunch of custom code. It works similarly to the elasticDump and ScenarioManager tools that it replaces.

Differences:
  - Streaming implementation allows for much larger archives
  - CLI for creating and using archives
  - Configurable archive location
  - Stores the data in gzipped files (better for source control, searching, large archives)
  - Automatically identifies and upgrades Kibana config documents

Methods:
  - `#load(name)`: import an archive
  - `#loadIfNeeded(name)`: import an archive, but skip the documents what belong to any existing index
  - `#unload(name)`: delete the indexes stored in an archive

CLI operations:
  - `./bin/es_archiver save <name> [index patterns...]`: save the mapping and documents in one or more indexes that match the wild-card patterns into an the `<name>` archive
  - `./bin/es_archiver load <name>`: load the mapping and documents from the `<name>` archive

* [functional_tests/common/nagivate] check for statusPage

* [es_archiver] move bins into new scripts dir

* [functional_tests/apps/context] use esArchiver

* [esArchiver] general improvements after showing to a few folks

 - remove auto-upgrading config doc logic (until we have better access to kibana version info)
 - export unload command
 - remove preemptive checks in favor of reacting to errors
 - use type "doc" vs "hit" for doc records (consistency)
 - wrote a bunch of pending tests to think though and plan

* [esArchiver] make log a stream that writes to itself

* [esArchiver] fill in stats and archive format tests

* [esArchiver] splitup action logic

* [esArchiver/cli] fix cli --help output and comment

* [esArchiver] remove type-based param coercion

* [esArchiver/log] use strings for log levels

* [esArchvier] remove unused var

* [esArchiver/indexDocRecordsStream] add tests

* [esArchive] fill in remaining tests

* [esArchiver] fix dem tests

* [eslint] remove unused vars

* [esArchiver/loadIfNeeded] fix call to load()

* [esArchiver] remove loadDumpData helpers
2017-03-27 15:29:14 -04:00
Spencer d8d65526c6 [eslint] enable no undef (#10825)
* [codeshift] add proper ignore comments

* [codeshift] apply require-to-import transform

* [codeshift/fixup] remove duplicate imports

* [eslint] upgrade config for react "unused" support

* [codeshift] apply remove-unused-imports transform

* [codeshift] apply remove-unused-basic-requires transform

* [codeshift] apply remove-unused-function-arguments transform

* [lintroller] fix argument list spacing

* [codeshift] apply remove-unused-basic-bars transform

* [codeshift/fixup] fixup unused basic var removals

* manually apply remove-unused-assignments transform

* [codeshift] reapply remove-unused-imports transform

* [codeshift] reapply remove-unused-function-arguments transform

* [eslint] autofix param spacing

* manually fix remaining no-undef errors

* use more descriptive file ignore pattern

* add eslint-plugin-react peerDependency

* replace values that looked unused in tests

* remove // kibana-jscodeshift-no-babel comment

* remove import statements from code required by api tests

* Remove '// kibana-jscodeshift-ignore' comments

* address review feedback

* remove remnant of removed if condition
2017-03-22 07:08:23 -07:00
Martin Hickey 3aa5938daa Kibana Globalization - Phase 2 (#8766)
* Integrate angular-translate globalization framework with i18n engine
* Provide template for enabling translations in an AngularJS view by translating a view
* Verification tool for translation keys used in angular-translate
* Documentation
2017-03-20 14:09:06 -04:00
Brandon Kobel be2cb4b994 Moving handlebars from a devDependency to a dependency (#10801) 2017-03-20 09:06:12 -04:00
Chris Cowan 08b9535e5f Fixing resizing for charts on dashboard (#10706) 2017-03-03 17:44:47 -07:00
Spencer b804ea050d [ui/resize_checker] extract from vislib and use resize-observer polyfill (#9439) 2017-03-03 15:33:07 -07:00
Chris Cowan a38ae49884 Moving front-end code out of devDependencies (#10670)
* Moving front-end code out of devDependencies

* removing range specifier

* overriding ua-parser-js@0.7.12 to MIT

* upgrading react-color; upgrading react; upgrading pui-tooltip;
2017-03-03 09:13:46 -07:00
Chris Cowan 4f3e625d7f Time Series Metric Visualizations (#9725)
* Initial import

* updating the editor width to match the new specs

* Adding tribe node support

* Adding tests for server libs

* removing bluebird

* removing extra cruft

* Fixing the font sizes

* Fixed the updating code

* Adding brushing

* Fixing linting issues

* Adding global filters

* Adding missing packages

* Default gauge style to half circle

* Fixing the markdown css bug

* Adding tests for the get_vis_data api

* Adding time offset

* Adding time offset to each type

* fixing bugs from time offset

* adding index pattern option to series

* Adding index pattern overrides

* Adding index pattern overrides

* Fixing tests

* Fixing brushing in the vis editor

* Changing the label

* Change the behavior of selecting a pipeline agg when only one exists.

* Refactoring series a bit

* Changing series options to just options

* Making sure we honor the toaster container height

* Adding first tests

* renaming vis_config to panel_config

* renaming vis_config to panel_config

* Adding more tests

* adding more tests

* removing api subdirectory

* refactoring get_vis_data (breaking it up and removing unused imports)

* reorganizing the visualization directory

* Re-organizing directory layouts and moving things to more logical places

* Refactoring React compontents to use ES6 syntax and adding propTypes for each. Also refactored out splats as much as possible.

* Adding serial differencing

* Refactored gauge to use 2 components instead of 4

* Finishing react refactor on visualizations. Consolidated legned funtionality

* Refactoring series config and removing a bunch of duplicate code

* fixing series config name

* Fixing numbers and strings (doesnt matter which it is); Fixing classname

* Changing the way the dark theme works

* Adding new vis into list for test

* Adding empty bucket check

* Fixing the index patterns in the aggs

* Fixing typo

* Refactoring vis_data

* Fixing std_metric

* Fixing refresh-hack

* Adding tests for get_splits, get_last_metric, map_bucket

* Fixing the error handing

* removing restrictions

* Sometimes values are strings or numbers... it doesn't matter

* Adding new color options for splits

* Fixing colors

* fixing size

* Adding support for fitlers agg

* Fixing tests

* Fixing splits for filters

* Fixing Top N to work better with fitlers

* Adding annotation editor

* initial work for annotations

* Finalizing annotations

* Fixing label

* making it expandable

* Fixing hacks fixed by #10175

* Fixing bars to use the same stacking options as lines

* Getting rid of align by colons

* removing unused depends

* removing unused depends

* Changing to readable lodash function

* Adding missing parens

* refactoring custom color picker

* Removing string refs and converting uncontrolled components

* Fixing the controlled components where value maybe null; converting error to css

* refactoring styles from components

* fixing the refresh behavoir borked by fullEditor

* Adding the executor service

* Fixing the test directories

* fixing save

* Adding filter ratios

* Fixing controlled components

* Trying to fix the weird typing

* Fixing offset bug with days

* Adding percentile rank

* Fixing yaxis updates; fixing percentile rank layout; adding steps to line chart

* removing unused depends

* Fixed a bug with the index patterns updating; fixed bug with charts rendering too much

* Fixing tests

* Commenting out React tests because the ENV must have change and they are no longer working

* Moving bucket transform

* moving calculate auto

* Moving calculate_indices

* moving extended_stats_types && get_agg_value

* moving get_buckets_path

* moving get_sibling_agg_value

* moving parse_settings

* moving series_agg

* Moving unit_to_seconds

* Fixing tests

* Fixing per PR

* Renaming vars to make it more clear what's happening

* Changing the way testible functions are exported

* fixing tests

* removing unused imports; fixing typos; fixing package name

* Name has to match the plugin path

* Fixing typos; removing unused imports

* fixing tests

* rearanging and removing unused imports

* Fixing a bug with unque names for radio buttons on the same form

* Fixing filter ratio to use a metric instead of just count

* fixing a bug with the new filter ratios

* Fixing the file path from the #8

* Fixing renderComplete trigger; Fixing embedded mode; Changing names for Timelion and Time Series Visual Builder

* Fixing name

* Fixing docs

* Fixing a typo for the field select for terms splits

* Fixing tests
2017-03-02 13:07:28 -07:00
Spencer 7cc913dce9 [npm] upgrade elasticsearch-js (#10509) 2017-02-22 10:40:29 -07:00
Jonathan Budzenski 2cb4d5179f Bump makelogs to 3.2.3 (#10510) 2017-02-22 10:22:36 -07:00
CJ Cenizal 2563d88969 Remove dependency on kibana-ui-framework repo. (#10281) 2017-02-13 10:42:16 -08:00
Spencer 19420f69ac [npm] bump makelogs (#10279) 2017-02-10 01:09:11 -07:00
Richard Hoffman 8b4c052889 babel 6 upgrade (#9702)
* [npm] upgrade babel

The upgrade to babel 6 requires an upgrade to all of the associated modules, which meant that a few other things changed at the same time. The most notable is the way that we handle our babel-options, which is now done with an npm module and includes using the babel-loader's "presets" query string param.

This meant changes to the babel_options.js module and extending it to help setting up the "babel-register" module, which was previously copy-pasted in several places.

* [mtodules] upgrade to support babel6 module semantics

* [eslint] fix lint errors

* [babel] ignoer massive fixture files

* [cli/errors] use Object.setPrototypeOf since subclassing Error is broken

* [babel] Upgrading core babel libraries

[babel] Use WIP babel-6-fix branch of babel-preset-kibana

* Fix broken test

* [babel] Reverse unnecessary module.exports changes

* Fix notifier

* Use babel presets and plugins directly

* [babel/options] resolve preset/plugins paths for better plugin compatibility

* [babel/options] use babel-preset-env for correct node settings

* [babel] cache babel compilation in webpack like we thought we were
2017-02-09 14:48:55 -07:00
Court Ewing 5c361eb4ec Bump httpolyglot to use our fork (#10225) 2017-02-07 11:29:55 -05:00
Jonathan Budzenski 242047a683 Bump node to 6.9.5 (#10135) 2017-02-01 11:54:57 -06:00
Tyler Smalley e6669ee19d Remove libsass as a dependency (#9803)
Remove libsass as a dependency

libsass is platform specific, therefore we can not ship it as a dependency. Instead, we will commit the compiled CSS for the UI Framework to the repository. This is updated when running `npm run uiFramework:start` which also starts the docs site.

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2017-01-09 20:27:54 -08:00
Shaunak Kashyap 78dd094c5e Bumping up makelogs version so it works with latest Kibana+ES (#9685) 2016-12-30 10:23:42 -08:00
Spencer 9bdbc260c6 [webpack] upgrade to @elastic/webpack-directory-name-as-main v2 (#9601)
* [webpack] upgrade to @elastic/webpack-directory-name-as-main v2

* bump @elastic/webpack-directory-name-as-main

* import browser mocha with webpackShim

`import 'mocha'` will resolve to `mocha/index.js`, which points to
`mocha/lib/mocha.js`, the node version of mocha. This will not work in
the browser.

Since ng_mock is browser code, we need the mocha build for the browser,
which lives at `mocha/mocha.js`. This isn't referenced at all in the
package.json file, but is references in the bower.json file. Webpack,
however, doesn't observe the bower config, so we need to specifically
reach into the mocha package and point to the `mocha/mocha.js` file.
2016-12-22 09:32:03 -07:00
Spencer 1982062e67 [npm] use elastic webpack fork (#9540) 2016-12-19 13:54:04 -06:00
Spencer cb3219c798 [webpack] fix loader query string usage (#9497)
* [webpack] pin to fork with fixed loader aliases

* [optimizer] upgrade to postcss+autoprefixer

* [timelion] convert uiExports.modules -> webpackShims

* [uiExports] remove implementation-leaking and unused uiExport types

* [optimizer] remove unused imports

* [uiBundlerEnv] add a method for exporting global import aliases for special cases
2016-12-15 16:11:42 -07:00