Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .i18nrc.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"paths": {
"common.ui": "src/legacy/ui",
"data": "src/legacy/core_plugins/data",
"server": "src/legacy/server",
"console": "src/legacy/core_plugins/console",
"core": "src/core",
Expand Down
4 changes: 4 additions & 0 deletions src/legacy/core_plugins/data/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ export default function DataPlugin(kibana: any) {
}).default();
},
init: (server: Legacy.Server) => ({}),
uiExports: {
injectDefaultVars: () => ({}),
styleSheetPaths: resolve(__dirname, 'public/index.scss'),
},
};

return new kibana.Plugin(config);
Expand Down
4 changes: 4 additions & 0 deletions src/legacy/core_plugins/data/public/index.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
@import 'src/legacy/ui/public/styles/styling_constants';

@import './query_bar/index';

21 changes: 15 additions & 6 deletions src/legacy/core_plugins/data/public/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,33 +17,42 @@
* under the License.
*/

import { IndexPatternsService } from './index_patterns';
import { QueryBarService } from './query_bar';
import { IndexPatternsService, IndexPatternsSetup } from './index_patterns';

class DataService {
class DataPlugin {
private readonly indexPatterns: IndexPatternsService;
private readonly queryBar: QueryBarService;

constructor() {
this.indexPatterns = new IndexPatternsService();
this.queryBar = new QueryBarService();
}

public setup() {
return {
indexPatterns: this.indexPatterns.setup(),
query: this.queryBar.setup(),
};
}

public stop() {
this.indexPatterns.stop();
this.queryBar.stop();
}
}

/**
* We temporarily export default here so that users importing from 'plugins/data'
* We export data here so that users importing from 'plugins/data'
* will automatically receive the response value of the `setup` contract, mimicking
* the data that will eventually be injected by the new platform.
*/
// eslint-disable-next-line import/no-default-export
export default new DataService().setup();
export const data = new DataPlugin().setup();

/** @public */
export type DataSetup = ReturnType<DataService['setup']>;
export interface DataSetup {
indexPatterns: IndexPatternsSetup;
}

/** @public types */
export { IndexPattern, StaticIndexPattern, StaticIndexPatternField, Field } from './index_patterns';
10 changes: 9 additions & 1 deletion src/legacy/core_plugins/data/public/index_patterns/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,12 @@
* under the License.
*/

export { IndexPatternsService, IndexPatternsSetup } from './index_patterns_service';
export {
IndexPatternsService,
// types
IndexPatternsSetup,
IndexPattern,
StaticIndexPattern,
StaticIndexPatternField,
Field,
} from './index_patterns_service';
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ import setupRouteWithDefaultPattern from 'ui/index_patterns/route_setup/load_def
import { getFromSavedObject, isFilterable } from 'ui/index_patterns/static_utils';

// IndexPattern, StaticIndexPattern, StaticIndexPatternField, Field
import * as types from 'ui/index_patterns/index.d.ts';

import * as types from 'ui/index_patterns';

/**
* Index Patterns Service
Expand Down Expand Up @@ -91,9 +92,6 @@ export class IndexPatternsService {
mockFields,
mockIndexPattern,
},
types: {
...types,
},
ui: {
IndexPatternSelect,
},
Expand All @@ -107,3 +105,15 @@ export class IndexPatternsService {

/** @public */
export type IndexPatternsSetup = ReturnType<IndexPatternsService['setup']>;

/** @public */
export type IndexPattern = types.IndexPattern;

/** @public */
export type StaticIndexPattern = types.StaticIndexPattern;

/** @public */
export type StaticIndexPatternField = types.StaticIndexPatternField;

/** @public */
export type Field = types.Field;

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* under the License.
*/

jest.mock('../../metadata', () => ({
jest.mock('ui/metadata', () => ({
metadata: {
branch: 'foo',
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ import {
} from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n/react';
import React, { Component } from 'react';
import { documentationLinks } from '../../documentation_links/documentation_links';
import { documentationLinks } from 'ui/documentation_links/documentation_links';

const kueryQuerySyntaxDocs = documentationLinks.query.kueryQuerySyntax;

Expand All @@ -50,14 +50,14 @@ export class QueryLanguageSwitcher extends Component<Props, State> {

public render() {
const luceneLabel = (
<FormattedMessage id="common.ui.queryBar.luceneLanguageName" defaultMessage="Lucene" />
<FormattedMessage id="data.query.queryBar.luceneLanguageName" defaultMessage="Lucene" />
);
const kqlLabel = (
<FormattedMessage id="common.ui.queryBar.kqlLanguageName" defaultMessage="KQL" />
<FormattedMessage id="data.query.queryBar.kqlLanguageName" defaultMessage="KQL" />
);
const kqlFullName = (
<FormattedMessage
id="common.ui.queryBar.kqlFullLanguageName"
id="data.query.queryBar.kqlFullLanguageName"
defaultMessage="Kibana Query Language"
/>
);
Expand All @@ -81,15 +81,15 @@ export class QueryLanguageSwitcher extends Component<Props, State> {
>
<EuiPopoverTitle>
<FormattedMessage
id="common.ui.queryBar.syntaxOptionsTitle"
id="data.query.queryBar.syntaxOptionsTitle"
defaultMessage="Syntax options"
/>
</EuiPopoverTitle>
<div style={{ width: '350px' }}>
<EuiText>
<p>
<FormattedMessage
id="common.ui.queryBar.syntaxOptionsDescription"
id="data.query.queryBar.syntaxOptionsDescription"
defaultMessage="The {docsLink} (KQL) offers a simplified query
syntax and support for scripted fields. KQL also provides autocomplete if you have
a Basic license or above. If you turn off KQL, Kibana uses Lucene."
Expand All @@ -113,9 +113,9 @@ export class QueryLanguageSwitcher extends Component<Props, State> {
name="popswitch"
label={
this.props.language === 'kuery' ? (
<FormattedMessage id="common.ui.queryBar.kqlOnLabel" defaultMessage="On" />
<FormattedMessage id="data.query.queryBar.kqlOnLabel" defaultMessage="On" />
) : (
<FormattedMessage id="common.ui.queryBar.kqlOffLabel" defaultMessage="Off" />
<FormattedMessage id="data.query.queryBar.kqlOffLabel" defaultMessage="Off" />
)
}
checked={this.props.language === 'kuery'}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,18 @@ const mockAutocompleteProvider = jest.fn(() => mockGetAutocompleteSuggestions);
export const mockGetAutocompleteProvider = jest.fn(() => mockAutocompleteProvider);

jest.mock('ui/chrome', () => mockChromeFactory());
jest.mock('../../chrome', () => mockChromeFactory());
jest.mock('ui/kfetch', () => ({
kfetch: () => {},
}));
jest.mock('ui/persisted_log', () => ({
PersistedLog: mockPersistedLogFactory,
}));
jest.mock('../../metadata', () => ({
jest.mock('ui/metadata', () => ({
metadata: {
branch: 'foo',
},
}));
jest.mock('../../autocomplete_providers', () => ({
jest.mock('ui/autocomplete_providers', () => ({
getAutocompleteProvider: mockGetAutocompleteProvider,
}));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ import {
mockGetAutocompleteSuggestions,
mockPersistedLog,
mockPersistedLogFactory,
} from 'ui/query_bar/components/query_bar.test.mocks';
} from './query_bar.test.mocks';

import { EuiFieldText } from '@elastic/eui';
import React from 'react';
import { mountWithIntl, shallowWithIntl } from 'test_utils/enzyme_helpers';
import { QueryBar } from 'ui/query_bar';
import { QueryLanguageSwitcher } from 'ui/query_bar/components/language_switcher';
import { QueryBar } from './query_bar';
import { QueryLanguageSwitcher } from './language_switcher';
import { QueryBarUI } from './query_bar';

const noop = () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,13 @@ import { EuiSuperUpdateButton } from '@elastic/eui';
import { FormattedMessage, InjectedIntl, injectI18n } from '@kbn/i18n/react';
import { documentationLinks } from 'ui/documentation_links';
import { Toast, toastNotifications } from 'ui/notify';

import {
AutocompleteSuggestion,
AutocompleteSuggestionType,
getAutocompleteProvider,
} from '../../autocomplete_providers';
import chrome from '../../chrome';
} from 'ui/autocomplete_providers';
import chrome from 'ui/chrome';

import { fromUser, matchPairs, toUser } from '../lib';
import { QueryLanguageSwitcher } from './language_switcher';
import { SuggestionsComponent } from './typeahead/suggestions_component';
Expand Down Expand Up @@ -585,7 +585,7 @@ export class QueryBarUI extends Component<Props, State> {
<div className="kuiLocalSearchAssistedInput">
<EuiFieldText
placeholder={this.props.intl.formatMessage({
id: 'common.ui.queryBar.searchInputPlaceholder',
id: 'data.query.queryBar.searchInputPlaceholder',
defaultMessage: 'Search',
})}
value={this.state.query.query}
Expand All @@ -604,7 +604,7 @@ export class QueryBarUI extends Component<Props, State> {
spellCheck={false}
aria-label={this.props.intl.formatMessage(
{
id: 'common.ui.queryBar.searchInputAriaLabel',
id: 'data.query.queryBar.searchInputAriaLabel',
defaultMessage:
'You are on search box of {previouslyTranslatedPageTitle} page. Start typing to search and filter the {pageType}',
},
Expand Down Expand Up @@ -726,21 +726,21 @@ export class QueryBarUI extends Component<Props, State> {
) {
const toast = toastNotifications.addWarning({
title: intl.formatMessage({
id: 'common.ui.queryBar.luceneSyntaxWarningTitle',
id: 'data.query.queryBar.luceneSyntaxWarningTitle',
defaultMessage: 'Lucene syntax warning',
}),
text: (
<div>
<p>
<FormattedMessage
id="common.ui.queryBar.luceneSyntaxWarningMessage"
id="data.query.queryBar.luceneSyntaxWarningMessage"
defaultMessage="It looks like you may be trying to use Lucene query syntax, although you
have Kibana Query Language (KQL) selected. Please review the KQL docs {link}."
values={{
link: (
<EuiLink href={documentationLinks.query.kueryQuerySyntax} target="_blank">
<FormattedMessage
id="common.ui.queryBar.syntaxOptionsDescription.docsLinkText"
id="data.query.queryBar.syntaxOptionsDescription.docsLinkText"
defaultMessage="here"
/>
</EuiLink>
Expand Down
Loading