* Fix IE11 bug which caused kuiToolBarSearch to grow too wide when there is only a single kuiToolBarSection sibling.
* Fix bugs with KuiListingTableToolBar rendering empty sections. Update docs example to demonstrate a tool bar with a search and a section.
* Add a feature for custom panel titles
* Add tests and put back data-test-subjs
* sync with master and add padding to form
* UI/UX cleanup
- add enter on close functionality
- make reset title a link instead of a button
- Push css to visualizations instead of the panel. This means
background colors will be flush to the panel. Override for tile maps
which apparently need it (yet region maps don’t for some reason??)
* Fix refactor miss from merge
* whoops, put block display back to make link fall to bottom
* Undo accidental delete visualization name change
* Color top pop over arrow correctly
* Use naming Options and Customize Panel
* update jest snapshot
* Use custom panels for data-title attributes
* [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
* Add isReadOnly prop to KuiCodeEditor.
* Place cursor at beginning of code editor if it's read-only.
* Surface prompt for isReadOnly mode. Only show cursor when the editor is focused.
* [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
* Rename KuiPopover isFocusable prop to ownFocus. Focus on first focusable element by default.
* Fix bug where ContextMenuPanel keyboard navigation broke if the user was using tab instead of arrow keys.
* Port KuiModal K7 improvements.
- Add FocusTrap to KuiModal.
- Delete KuiModalBodyText.
- Add support for dark theme to KuiModal and typographic components.
- Update Kibana Angular confirm modal and Clone Dashboard modal.
* Remove KuiModalBodyText reference from ChangeIndexModal.
* Improve color contrast of hollow Button in dark theme.
* Fix bug with ShowCloneModal not being unmounted when it's closed.
* Fix bug with ShowChangeIndexModal not being unmounted when it's closed.
* Refactor focus state logic to use the React lifecycle correctly.
* Update KuiPopover snapshots.
* Remove unnecessary isVisible prop from KuiContextMenu.
* Allow user to both tab AND use the arrow keys for navigation.
* Reinstate ability to tab and shift-tab to the title of KuiContextMenuPanel.
* Release focus from Dashboard panel options KuiContextMenu by closing it when you select an option.
* Update KuiContextMenu example to demonstrate best practice of closing the menu when an item is clicked.
* Replace native transitionend event handler with onAnimationEnd React event handler.
* Use h2 elements for titles in Sharing dropdown.
* Override inherited typographic styles in kuiLocalDropdownTitle.
* Use h2 elements for titles in Console dropdowns.
* Update kuiLocalDropdownHeader__label class to be applicable to legend elements.
* Update Console settings menu with aria labeling and UI Framework styles.
* Remove unused config-close styles.
* Update Dashboard local nav dropdowns with form labels and h2 elements.
* Add support for dark theme to kuiCheckBox.
* Update Dashboard local nav dropdowns and saved-object-save-as-check-box directive with kuiCheckBoxLabel styles.
* Update Discover local nav with h2 elements.
* Update Visualize local nav with h2 element.
* Add aria-label to unlabeled inputs in Discover, Visualuze, and Timelion inputs.
* Update Timelion local nav with h2 elements.
* Update timepicker with tab roles, h2 elements, and UI Framework styles.
* Improve labeling and add aria-selected to timepicker tabs.
- Refactor timepicker tabs to adhere to tablist structure correctly.
* Add tablist role.
* Reactify visualize listing table
* refactor toolbar => toolBar
* use prompt prop to also cover loading and didn't match search logic.
* Use default alignment instead of ternary
* Add keys to array elements where missing
* Add align property to KuiTableHeaderCell
* Fix issue with filter not showing up in search tool bar
* onCheckChanged => onSelectionChanged
* pagerComponent => pager, actionComponent => actions
* use singular verbiage when only 1 item is selected
* exit early per style guide
* fix lint errors
* rename columns => header
* Refactor KuiTableHeaderCell into KuiListingTable
isChecked => isSelected
contents => content
refactor KuiTableRowCell internally
* fix lint errors
* areAllRowsChecked => areAllRowsSelected
* improve itemSelectedCount logic in KuiListingTableToolBarFooter
* React.Component => Component
* make header data a variable, not a function
* Only consider all rows selected if rows exist and they are all selected, not if there are no rows.
* Adding a few KuiListingTable tests
* Give one column sort attributes in examples page
* 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 query bar used to be hidden in the presence of a linked search because unlike filters, queries didn't get merged when flattening a SearchSource hierarchy. That means a query in the query bar would override the query in the linked search. This is no longer the case. As of 6.0 we include all queries in the SearchSource hierarchy in the final request, so there's no longer any reason to hide the query bar.
Since filters created via a Vis show up in the query bar when Kuery is selected, these filters now appear correctly even when there's a linked search in the vis editor.
Previously when unlinking a saved search visualize would insert the query and filters from the saved search into app state before removing the SearchSource from the hierarcy. This posed a problem because combining two lucene query strings isn't as easy as combing two sets of filters. We decided this behavior was a bit counterintuitive anyway. If the user wants to unlink the saved search, they probably want to discard it, not combine it with their local changes. So I've also updated the unlinking functionality to discard the saved search.
* Reorganize jest directory and add a setup file which polyfills window.requestAnimationFrame.
* Add takeMountedSnapshot test service. Update KuiCodeEditor test to use it.
- Refactor tests to use a test subject selector to locate the hint element.
- Refine tests to leverage snapshots instead of DOM assertions.
* Update dashboard_panel test to use takeMountedSnapshot.
- Update snapshot.
- Update Jest config to make takeMountedSnapshot available to Kibana src.
* 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
* Use proper labels in bar example
* Make aria-label on icon buttons mandatory
* Add role=group to KuiButtonGroup
* Add roles to card component
* Fix alphabetical ordering in menu
* Add accessibility example for KuiCollapseButton
* Improve accessibility of Event examples
* Add note about labeling to Form docs
* Update broken snapshots
* Fix icon in HeaderBar example
* Add default aria-label to InfoButton if not specified
* Fix wrong HTML entities
* Fix icon names in Event example
* Add icon labels in InfoPanel example
* Improve accessibility of Micro and MenuButton examples
* Add labels to StatusText example
* Apply proper ARIA roles for tabs
* Make ToggleButton example accessible
* Fix icon names in events sandbox
* Also allow aria-labelledby for icon buttons
* Fix spelling of collapsible
* Make statement about labels more clear
* Use proper Link element for linking
* Use propTypes to check for icon only buttons
* Use defaultProps in KuiInfoButton
* Create KuiCodeEditor component
* Add additional tests
* Add PropTypes for KuiCodeEditor
* Rename hintInactive to isHintActive
* Rename enableOverlay to stopEditing
* Rename and move configureAce method
* Rename onHintKeyDown to onKeyDownHint
* Fix broken configureAce call
* Add onBlur to editor example
* Regroup test cases
* Don't lose value in KuiCodeEditor example
* Remove window.alert, due to annoying behavior when switching tabs
* Remove unnecessary constructor
* Replace string ref by callback ref
* Add a snapshot test
* Move stop editing method
* Use mount to render editor during test
* Extract setState into method in example
* Move htmlIdGenerator to ui_framework
* Use jest expect instead of chai
* Add htmlIdGenerator to accessibility styleguide
* Improve the writing of the accessibility styleguide
* Refactor keycode exporting in ui_framework
* Replace all uses of ENTER_KEY and SPACE_KEY
* Use ESCAPE instead of ESC universally
* Rename keycodes -> keyCodes
* Replace keyCodes in advanced_row
* Make KuiTable headers keyboard-accessible in UI Framework.
* Use flexbox to consistently apply spacing between table header cell text and sort icon.
* Add aria-label attributes to KuiTableHeaderCell, KuiTableHeaderCheckBoxCell, and KuiTableRowCheckBoxCell.
* Update Jest snapshots.
* Update Dashboard listing table with new markup.
* Update Saved Objects tables with new markup.
* Update Settings table with new markup.
* Update Visualize listing table with new markup.
* Remove padding-right for cells containing checkboxes.
* Update sortableColumn directive with new markup.
* Create Index Pattern Creation wizard.
- Create a directive for each step in the wizard.
- Reorganize files into conventional folder structure.
- Rename files with more conventional and consistent naming patterns.
- Display indices, partial matches, exact matches.
- Add loading, empty, and success states.
- Add option to include system indices.
* Temp: comment out and mock getIndices functionality.
* Hook up data seaching
* Add for/id connections for form inputs and labels
* Automatically append a wildcard
* Highlight the index pattern in the results
* Ensure we only remove the last character if it's a `*`
* Auto hide index pattern id controls
* Ensure this link is tabbable
* Move the advanced fields down
* Use toggle button
* This shouldn't ever be required
* Revert "This shouldn't ever be required"
This reverts commit b6e31e79308271e7f04ea1d42ce66e32e7aa0612.
* Update based on comments in PR
* Ffew more changes
* Port changes from Tyler's PR, https://github.com/elastic/kibana/pull/13353
* Remove unnecessary file
* Fix broken functional tests
* Copy changes
* Fix functional tests
* Remove loading from the main select, and move to an additional select
* Show help text when loading
* Fix sorting
* Fixing broken functional tests
* Couple changes from PR review
* Ensure input field does not show a red border until touched
* More descriptive and consistent copy
* Make table pagination controls keyboard-accessible. Update KuiLink so it can be used on a button element.
* Add additional properties to link mixin to make kuiLink look the same for both buttons and anchor tags.
* Fix tests.