* Kibana Home page - phase two (#14749)
* add tutorial directory and home promo section
* tutorial components
* use KuiCodeEditor for displaying instruction code
* move spec files to server so joi can be used. Fetch via rest API
* Adding more tutorials (#4)
* More edits on the Apache logs tutorial
* Added nginx, mysql, and sytem modules for FB
* Moved apache to apacheLogs and added an apacheMetrics tutorial
* Added mysqlMetrics, nginxMetrics, systemMetrics tutorials
* Reduce duplication in the tutorials
This uses common objects for the install and start steps for Filebeat.
Same can be done for MB.
* fix windows path for config file
* add markdown parsing
* use mustache to replace config.kibana.version with kibana version
* add image preview to tutorial introduction
* fix css class name
* add param types constants
* add docs variables
* [WIP] Logstash Netflow module tutorial (#5)
* First draft of Logstash Netflow module tutorial
* Incorporated writing style suggestions
* pass params to template replace logic
* parameter inputs
* use isReadOnly flag from ui-framework for KuiCodeEditor
* dedemorton commits on netflow
* remove trailing slash from base links
* add config.docs.logstash and fix vertical spacing between Content component and commands
* Use logstash docs config variable
* Starting to add Deb instructions
* Fix Logstash documentation link
* Make commands optional
* Refactor: extract common LS instructions
* Edits for the existing tutorials
* change schema to support three instruction types
* [Netflow tutorial] Simplify OSX instructions
* replace axios with fetch
* pass credentials to tutorial fetch
* display cloud instructions when cloud set
* RadioButtonGroup component
* update copy
* add tutorial component jest tests
* content component test
* load isCloudEnabled in home_app
* add functional test ensuring add data tutorials are fetch and displayed
* rename card btns to 'Add data', fix type in tutorial directory tab, remove 'Set up index pattern from tutorial directory'
* move parameters form to right of instruction set title
* add copy snippet button, remove line numbers from command block
* add breadcrumb to tutorial view
* update tutorial jest snapshot
* use componentDidMount and ignore async results if componenent has been unmounted
* define shape of prop for instructionVariants and params. Create NumberParameter and StringParameter components
* add bread crumb to add data directory page
* Add cloud version of the apache_logs tutorial (#16)
* Add cloud version of the apache_logs tutorial
* Added onprem-cloud version as well
* fix styling broken by EUI rebase
* add artifacts to tutorial schema
* fix styling for code block
* [Tutorials] Netflow: instructions for onPremCloud (#18)
* Extract common on-prem cloud instructions so LS and Beats can share them
* Extracting common instructions; adding onPremCloud instructions
* fix copy bug where copy would only contain previously selected text
* make string parameter input type be text
* Implementing Elastic Cloud tutorial for Netflow module (#19)
* More tutorial edits (#20)
* More tutorial edits
This updates the on prem instructions with a step that installs the GeoIP and
UA plugins in ES. It also makes the on-prem steps more consistent with the cloud
instructions which results in less redundancy in the code.
* Show config step for all variants
* More DRY in the tutorial content
* Updated screenshot for apache_logs
* wrap markdown content in markdown-body class
* use EuiFlexGroup to remove wasted space with 'copy snippet' button and instruction text
* change OSX to macOS, use Computed property names for instruction_variant DISPLAY_MAP, replace /app/kibana with kbnBaseUrl, remove unneeded if check in copy_to_clippboard, put getTutorials mixin on server instead of request
* capitilize 'C' in Elastic Cloud
* remove try/catch from copy_to_clipboard
* Removing unrelated instructions
* Copy editing fixes
* Multiply edits to the Beats tutorials (#21)
* Updated Nginx module
* Updated MySQL logs module
* Updated system logs module
* Correct the on_prem_cloud enable steps
* Updated the Nginx metrics tutorial and added screenshot
* Updated the Apache metrics module + screenshot
* Updated the MySQL metrics module + screenshot
* Updated the system metrics module + screenshot
* prevent 'Copy snippet' button text from wrapping
* [Netflow tutorial] Windows instructions (#22)
* [Netflow tutorial] Adding onPrem instructions for Windows
* Removing unrelated/superfluous instructions
* Adding Windows instructions for onPremElasticCloud and elasticCloud
* use EuiImage so tutorial images are clickable to view in full screen
* fix jest tests
* set fullScreenIconColor and alt options for EuiImage, add space between command block and instruction text
* fix broken depenencies (#15960)
* update yarn.lock
* Switch to Yarn (#15485)
* switch to yarn
* cleanup misc references to npm
* [yarn] loosen dependency ranges so yarn will merge more deps
* fix linting error now that moment uses ESM
* [licenses] font-awesome changed the format of its license id
* Use local yarn
* Misc fixes
* eslintignore built yarn file
* Remove mkdir which doesn't do what it should do
* Check build without upgrading lots of versions
* Fix license check
* too many moments
* Better description
* Review fixes
* Lock to angular@1.6.5
* More specific version locks
* Revert "More specific version locks"
This reverts commit 11ef81102e.
* Revert "Lock to angular@1.6.5"
This reverts commit 3ade68c14c.
* rm yarn.lock; yarn
* Forcing a specific version of React, Angular, Moment
* Using vendored version of yarn in ci
* Use --frozen-lockfile
* fixes
* Update lockfile
* Reverting a258f1af4
* Revert "[TSVB] Add support for Math Aggregation to tables (#14553)"
This reverts commit d2537d8039.
* Revert "Math Aggregation to support Sibling Aggs for TSVB (#13681)"
This reverts commit 9c9fb17fef.
* removing old partial bucket cliping from table vis
* Adding support for percentiles for bucket_script args
* removing old partial bucket cliping for table vis
* Fixing support for drop last bucket
* Adding unsupported agg message
* Upgrade to jQuery 3.2.1
The jquery-migrate showed a number of warnings,
but no errors, so it should be safe to use.
Warnings mostly related to bind, unbind, focus, ...
https://github.com/jquery/jquery-migrate/blob/master/warnings.md
To enable jquery-migrate, I added it to package.json, and added
a require('jquery-migrate') to the webpackShims/jquery.js right
after the require('jquery').
* Breaks in jQuery3: $(window).offset()
* await field.type(), update chromedriver
* Add EUI v0.0.7 as a dependency.
- Add support for using dark theme EUI CSS in Dashboard.
- Set light theme as the default.
- Add comments to chrome.jade about role of theme node.
- Add (WTFPL OR MIT) to acceptable licenses.
* Remove old reset CSS.
- Remove naked element selectors from base.less.
- Remove Bootstrap resets.
- Remove UI Framework reset.
- Remove unused reset styles from UI Framework.
* Fix CSS regressions caused by removal of CSS reset.
- Replace usage of sr-only with euiScreenReaderOnly.
- Apply euiButtonEmpty classes to the 'Add a filter' button.
- Fix Notification padding and layout.
- Apply euiTabs styles to Timepicker mode tabs.
- Fix layout of Available Fields heading in Discover.
- Add padding to Popular Fields container in Discover.
- Push down Selected Fields heading in Discover sidebar.
- Fix appearance of links in Discover sidebar.
- Fix height of pills in Filter Bar.
* Fix timepicker tests.
- Remove kbn-accessible-click from timepicker buttons.
* Fix functional tests.
- Use byCssSelector inside of testSubjects.find.
- Delete flaky view_edit.js test: 'when time changed is stored with dashboard'.
- Delete flaky view_edit.js test: 'and preserves edits on cancel > when time changed is stored with dashboard'.
- Delete flake Gauge Chart tests. EUI changed the font size, and the text within the gauges doesn't render when the window is too small.
* Add mechanism for dashboard snapshots
* Adjust wait for render function since it needs to be 2, not gt 0.
Should be obsolete when the new render stuff is complete.
* resize images using new library so comparisons work across different screen resolutions
* use jimp comparison and see if expanding to expanded panel mode helps when comparing across browser/os
* Try to ensure window size
* Experiment with a smaller window, see if screenshot dimensions change
Update screenshot for new window dimensions
* Try cover + quality, see what the diffs look like.
* Stop trying to get TSVB to pass, try area charts
There is a timezone bug with tsvb:
https://github.com/elastic/kibana/issues/15501
* gah, cover didn't work, check resize
* bump render counter to 6, as it should be.
As it turns out, the visualization was not done re-rendering to
maximized mode
* Bump threshold for comparison
* reduce down to a single test run
* Don't use an environment variable to detect updateBaselines cmd line flag
* [mocha] use custom reporter for legible results in jenkins
* [jest] use custom result processor for legible results in jenkins
* [karma] enable junit output on CI
* [mocha/junitReporter] accept rootDirectory as configuration
* [jest/reporter] use reporters option added in jest 20
* [toolingLog] remove black/white specific colors
* [dev/mocha/junit] no reason for junit to be a "reporter"
* typos
* [dev/mocha/junit] use else if
* [karma/junit] use string#replace for explicitness
* [junit] use test file path as "classname"
* [ftr/mocha] no longer a "console" specific reporter
* [precommitHook] move to dev script
* [eslint] fix lint error
* [dev/eslint] do simply boolean checks first
* [dev] use shared REPO_ROOT constant
* [dev/File] precompute relative/ext of path
* [dev/eslint] fix relative import
* [dev/eslint] fix typos
* [grunt] remove unused run:eslintStaged config
* [dev/run] only create log if we are going to use it
* [dev/run/isFailError] ensure return value is Boolean
* [dev/precommitHook] use less intermediate vars
* [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)