* Add test-subj-selector module to packages dir.
* Rename to @kbn/test-subj-selector.
* Simplify rejectRejFiles Grunt task and ignore nested node_modules.
* Update jenkins_unit script to use yarn kbn CLI.
* [kbn-plugin-generator] add plugin generator to the repo
* [plugin-generator] use snake_case plugin name for directory name
* [plugin-generator] fix typo
* [plugin-generator] remove translation support until we resume i18n efforts
* [yarn] update lockfile
* [mocha] remove plugin-generator selector from mocha tests
* [plugin-generator] update generated readme to recommend yarn
* [plugin-generator] add readme to generator pacakge
* [plugin-generator] link from plugin-resource docs
* [plugin-generator] mention very important `kbn bootstrap` script
* [plugin-generator] rework some parts of the README
* [plugin-generator] log actual directory name with system separators
* [plugin-generator] include bootstrap/yarn preinstall check script
* [plugin] Handle Kibana package dependencies
* Clean up 'link:' dep check in plugin installer
* Tests for 'prepareProjectDependencies'
* Remove unnecessary fn from 'prepareProjectDependencies'
* Move prepareProjectDependencies into @kbn/build
* update snapshot
* Move test to Jest
* clarification
* 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
* Introduce `kbn`, the Kibana build tool
* yarn kbn
* Make all deps devDeps
* Exclude __fixtures__ folder from Jest to avoid warnings
* Review fixes
* Update readme
* Use 'yarn kbn'
* Consistent rootPath
* Link to kbn tool
* Unsupported URL 'debug help' in contributing guide
* Upgrading the datemath.parse syntax to version 4.0
* [@elastic/datemath] bump to version 4
* Updating yarn.lock for datemath-js@4.0
* Updating to dateamath-js@4.0.1
* [yarn] upgrade react deps
* [yarn] reinstall pivotal-ui so that react dep is deduped
* [yarn] remove unused deps
* [react-ace] update snapshots to include new aria props
* [react-input-range] update snapshot with new allowSameValues prop, default is still false
* [react-select] update snapshots with new default from features added since 1.0.0-rc5
* 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
* Revert "Remove history dependency, which was only being used by the KUI framework, and is unnecessary. (#15938)"
This reverts commit 2fdaf868d9.
* Update lockfile
* 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
* 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.
* [colors] try new cli colors
* [colors] try magentaBright instead of magenta
* [colors] try white for log text
* [colors] replace all remaining ansicolors with chalk
* [colors] try yellowBright instead of yellow
* remove ansicolors from package.json
* [tests] attempt to fix tests
* [tests] attempt to fix tests again
* [color] backgrounds, cleanup
* 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
* Use separate startup scripts for development and production
* build kibana directly
* [build] Use downloaded node when pre-optimizing
* clearer variable name
* Add breaking changes docs
* [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
* 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
* [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
* 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 '
* 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