mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
parent
c3afa57fa4
commit
c6be289f21
472 changed files with 755 additions and 754 deletions
|
@ -195,7 +195,7 @@ module.exports = {
|
|||
|
||||
/**
|
||||
* Files that require Apache 2.0 headers, settings
|
||||
* are overriden below for files that require Elastic
|
||||
* are overridden below for files that require Elastic
|
||||
* Licence headers
|
||||
*/
|
||||
{
|
||||
|
|
|
@ -109,7 +109,7 @@ You want to make sure there are no merge conflicts. If there are merge conflicts
|
|||
|
||||
You can use `git status` to see which files contain conflicts. They'll be the ones that aren't staged for commit. Open those files, and look for where git has marked the conflicts. Resolve the conflicts so that the changes you want to make to the code have been incorporated in a way that doesn't destroy work that's been done in master. Refer to master's commit history on GitHub if you need to gain a better understanding of how code is conflicting and how best to resolve it.
|
||||
|
||||
Once you've resolved all of the merge conflicts, use `git add -A` to stage them to be commiteed, and then use `git rebase --continue` to tell git to continue the rebase.
|
||||
Once you've resolved all of the merge conflicts, use `git add -A` to stage them to be committed, and then use `git rebase --continue` to tell git to continue the rebase.
|
||||
|
||||
When the rebase has completed, you will need to force push your branch because the history is now completely different than what's on the remote. **This is potentially dangerous** because it will completely overwrite what you have on the remote, so you need to be sure that you haven't lost any work when resolving merge conflicts. (If there weren't any merge conflicts, then you can force push without having to worry about this.)
|
||||
|
||||
|
@ -402,7 +402,7 @@ Please make sure you have signed the [Contributor License Agreement](http://www.
|
|||
|
||||
## Submitting a Pull Request
|
||||
|
||||
Push your local changes to your forked copy of the repository and submit a Pull Request. In the Pull Request, describe what your changes do and mention the number of the issue where discussion has taken place, eg “Closes #123″.
|
||||
Push your local changes to your forked copy of the repository and submit a Pull Request. In the Pull Request, describe what your changes do and mention the number of the issue where discussion has taken place, e.g., “Closes #123″.
|
||||
|
||||
Always submit your pull against `master` unless the bug is only present in an older version. If the bug affects both `master` and another branch say so in your pull.
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ image:images/Dashboard_visualization_data.png[Example of visualization data]
|
|||
To export the visualization data as a comma separated values
|
||||
(CSV) file, click *Raw* or *Formatted* at the bottom of the data
|
||||
table. *Raw* exports the response data as provided. *Formatted*
|
||||
exports the reponse data using applicable Kibana <<managing-fields,field
|
||||
exports the response data using applicable Kibana <<managing-fields,field
|
||||
formatters>>.
|
||||
|
||||
To return to the visualization, click the *Collapse* button in the lower left
|
||||
|
|
|
@ -92,7 +92,7 @@ The `FunctionalTestRunner` automatically transpiles functional tests using babel
|
|||
|
||||
Code run by the `FunctionalTestRunner` is wrapped in a function so it can be passed around via config files and be parameterized. Any of these Provider functions may be asynchronous and should return/resolve-to the value they are meant to _provide_. Provider functions will always be called with a single argument: a provider API (see the <<functional_test_runner_provider_api,Provider API Section>>).
|
||||
|
||||
A config provder:
|
||||
A config provider:
|
||||
|
||||
["source","js"]
|
||||
-----------
|
||||
|
|
|
@ -34,7 +34,7 @@ export default async function ({ readConfigFile }) {
|
|||
|
||||
// define the name and providers for services that should be
|
||||
// available to your tests. If you don't specify anything here
|
||||
// only the built-in services will be avaliable
|
||||
// only the built-in services will be available
|
||||
services: {
|
||||
...kibanaConfig.get('services'),
|
||||
myService: MyServiceProvider,
|
||||
|
|
|
@ -81,7 +81,7 @@ Each of the factories have some of the custom parameters, which will be describe
|
|||
[[development-base-visualization-type]]
|
||||
==== Base Visualization Type
|
||||
The base visualization type does not make any assumptions about the rendering technology you are going to use and
|
||||
works with pure Javascript. It is the visualization type we recommend to use.
|
||||
works with pure JavaScript. It is the visualization type we recommend to use.
|
||||
|
||||
You need to provide a type with a constructor function, a render method which will be called every time
|
||||
options or data change, and a destroy method which will be called to cleanup.
|
||||
|
@ -387,7 +387,7 @@ import { VisFactoryProvider } from 'ui/vis/vis_factory';
|
|||
|
||||
const myResponseHandler = (vis, response) => {
|
||||
// transform the response (based on vis object?)
|
||||
const resposne = ... transform data ...;
|
||||
const response = ... transform data ...;
|
||||
return response;
|
||||
};
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ found. It will reject, if the `id` is invalid.
|
|||
|
||||
The returned `EmbeddedVisualizeHandler` itself has the following methods and properties:
|
||||
|
||||
- `destroy()`: destroys the underlying Angualr scope of the visualization
|
||||
- `destroy()`: destroys the underlying Angular scope of the visualization
|
||||
- `getElement()`: a reference to the jQuery wrapped DOM element, that renders the visualization
|
||||
- `whenFirstRenderComplete()`: will return a promise, that resolves as soon as the visualization has
|
||||
finished rendering for the first time
|
||||
|
|
|
@ -9,7 +9,7 @@ patterns, advanced settings that tweak the behaviors of Kibana itself, and
|
|||
the various "objects" that you can save throughout Kibana such as searches,
|
||||
visualizations, and dashboards.
|
||||
|
||||
This section is pluginable, so in addition to the out of the box capabitilies,
|
||||
This section is pluginable, so in addition to the out of the box capabilities,
|
||||
packs such as {xpack} can add additional management capabilities to Kibana.
|
||||
--
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ options are {ref}/modules-scripting-expression.html[Lucene expressions] and {ref
|
|||
While you can use other scripting languages if you enable dynamic scripting for them in Elasticsearch, this is not recommended
|
||||
because they cannot be sufficiently {ref}/modules-scripting-security.html[sandboxed].
|
||||
|
||||
WARNING: Use of Groovy, Javascript, and Python scripting is deprecated starting in Elasticsearch 5.0, and support for those
|
||||
WARNING: Use of Groovy, JavaScript, and Python scripting is deprecated starting in Elasticsearch 5.0, and support for those
|
||||
scripting languages will be removed in the future.
|
||||
|
||||
You can reference any single value numeric field in your expressions, for example:
|
||||
|
|
|
@ -61,7 +61,7 @@ used when {kib} sends monitoring data to the production cluster.
|
|||
|
||||
.. Configure {kib} to encrypt communications between the {kib} server and the
|
||||
production cluster. This set up involves generating a server certificate and
|
||||
setting `server.ssl.*` and `elasticsearch.ssl.certitifcateAuthorities` settings
|
||||
setting `server.ssl.*` and `elasticsearch.ssl.certificateAuthorities` settings
|
||||
in the `kibana.yml` file on the {kib} server. For example:
|
||||
+
|
||||
--
|
||||
|
|
|
@ -19,6 +19,6 @@ recommended to enable usernamespaces and set `xpack.reporting.capture.browser.ch
|
|||
`kibana.yml` to enable the sandbox.
|
||||
|
||||
==== Docker
|
||||
When runnning Kibana in a Docker container, all container processes are run within a usernamespace with seccomp-bpf and
|
||||
When running Kibana in a Docker container, all container processes are run within a usernamespace with seccomp-bpf and
|
||||
AppArmor profiles that prevent the Chromium sandbox from being used. In these situations, disabling the sandbox is recommended,
|
||||
as the container implements similar security mechanisms.
|
|
@ -21,7 +21,7 @@ interface jobParameters {
|
|||
}
|
||||
----
|
||||
|
||||
The `searchRequest.body` should abide by the {ref}/search-request-body.html[Elasticsearch Seach Request Body] syntax
|
||||
The `searchRequest.body` should abide by the {ref}/search-request-body.html[Elasticsearch Search Request Body] syntax
|
||||
|
||||
[float]
|
||||
==== `export-config` Directive
|
||||
|
@ -48,4 +48,4 @@ function getSharingTitle() string;
|
|||
|
||||
----
|
||||
|
||||
The `sharingData.searchRequest.body` should abide by the {ref}/search-request-body.html[Elasticsearch Seach Request Body] syntax
|
||||
The `sharingData.searchRequest.body` should abide by the {ref}/search-request-body.html[Elasticsearch Search Request Body] syntax
|
|
@ -1,7 +1,7 @@
|
|||
[role="xpack"]
|
||||
[[reporting-integration]]
|
||||
== Reporting Integration
|
||||
Intergrating a Kibana application with {reporting} requires a minimum amount of code, and the goal is to not have to
|
||||
Integrating a Kibana application with {reporting} requires a minimum amount of code, and the goal is to not have to
|
||||
modify the Reporting code as we add additional applications. Instead, applications abide by a contract that Reporting
|
||||
uses to determine the information that is required to export CSVs and PDFs.
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ an explanation of why the failure occurred and what you can do to fix it.
|
|||
[float]
|
||||
==== `You must install fontconfig and freetype for Reporting to work'`
|
||||
Reporting using PhantomJS, the default browser, relies on system packages. Install the appropriate fontconfig and freetype
|
||||
packages for your distrobution.
|
||||
packages for your distribution.
|
||||
|
||||
[float]
|
||||
==== `Max attempts reached (3)`
|
||||
|
@ -35,16 +35,16 @@ setting. If the PDF report fails with "Max attempts reached (3)," check your <<r
|
|||
[float]
|
||||
==== `You must install freetype and ttf-font for Reporting to work`
|
||||
Reporting using the Chromium browser relies on system packages and at least one system font. Install the appropriate fontconfig and freetype
|
||||
packages for your distrobution and at least one system font.
|
||||
packages for your distribution and at least one system font.
|
||||
|
||||
[float]
|
||||
==== `You must install nss for Reporting to work`
|
||||
Reporting using the Chromium browser relies on the Network Security Service libraries (NSS). Install the appropriate nss package for your distrobution.
|
||||
Reporting using the Chromium browser relies on the Network Security Service libraries (NSS). Install the appropriate nss package for your distribution.
|
||||
|
||||
[float]
|
||||
==== `Unable to use Chromium sandbox. This can be disabled at your own risk with 'xpack.reporting.capture.browser.chromium.disableSandbox'`
|
||||
Chromium uses sandboxing techniques that are built on top of operating system primitives. The Linux sandbox depends on user namespaces,
|
||||
which were introduced with the 3.8 Linux kernel. However, many distrobutions don't have user namespaces enabled by default, or they require
|
||||
which were introduced with the 3.8 Linux kernel. However, many distributions don't have user namespaces enabled by default, or they require
|
||||
the CAP_SYS_ADMIN capability.
|
||||
|
||||
Elastic recommends that you research the feasibility of enabling unprivileged user namespaces before disabling the sandbox. An exception
|
||||
|
|
|
@ -34,7 +34,7 @@ version of Kibana that is newer than the version of Elasticsearch (e.g. Kibana
|
|||
5.1 and Elasticsearch 5.0).
|
||||
|
||||
Running a minor version of Elasticsearch that is higher than Kibana will
|
||||
generally work in order to faciliate an upgrade process where Elasticsearch
|
||||
generally work in order to facilitate an upgrade process where Elasticsearch
|
||||
is upgraded first (e.g. Kibana 5.0 and Elasticsearch 5.1). In this
|
||||
configuration, a warning will be logged on Kibana server startup, so it's only
|
||||
meant to be temporary until Kibana is upgraded to the same version as
|
||||
|
|
|
@ -39,7 +39,7 @@ image::images/timelion-conditional02.png[]
|
|||
|
||||
For additional information on Timelions conditional capabilities, check out the blog post https://www.elastic.co/blog/timeseries-if-then-else-with-timelion[I have but one .condition()].
|
||||
|
||||
Now that you have thresholds defined to easily identify outliers, let’s create a new series to determine what the trend really is. Timelion's `mvavg()` function allows you to calculate the moving average over a given window. This is especially helpful for noisey time series. For this tutorial, you will use `.mvavg(10)` to create a moving average with a window of 10 data points. Use the following expression to create a moving average of the maximum memory usage:
|
||||
Now that you have thresholds defined to easily identify outliers, let’s create a new series to determine what the trend really is. Timelion's `mvavg()` function allows you to calculate the moving average over a given window. This is especially helpful for noisy time series. For this tutorial, you will use `.mvavg(10)` to create a moving average with a window of 10 data points. Use the following expression to create a moving average of the maximum memory usage:
|
||||
|
||||
[source,text]
|
||||
----------------------------------
|
||||
|
|
|
@ -15,7 +15,7 @@ To start, you will need to define an `index`, `timefield` and `metric` in the fi
|
|||
image::images/timelion-create01.png[]
|
||||
{nbsp}
|
||||
|
||||
Now you need to add another series with data from the previous hour for comparison. To do so, you'll have to add an `offset` arguement to the `.es()` function. `offset` will offset the series retrieval by a date expression. For this example, you'll want to offset the data back one hour and will be using the date expression `-1h`. Using a comma to separate the two series, enter the following expression into the Timelion query bar:
|
||||
Now you need to add another series with data from the previous hour for comparison. To do so, you'll have to add an `offset` argument to the `.es()` function. `offset` will offset the series retrieval by a date expression. For this example, you'll want to offset the data back one hour and will be using the date expression `-1h`. Using a comma to separate the two series, enter the following expression into the Timelion query bar:
|
||||
|
||||
[source,text]
|
||||
----------------------------------
|
||||
|
|
|
@ -20,7 +20,7 @@ Before making any other modifications, append the `title()` function to the end
|
|||
image::images/timelion-customize01.png[]
|
||||
{nbsp}
|
||||
|
||||
To differentiate the last hour series a bit more, you are going to change the chart type to an area chart. In order do so, you'll need to use the `.lines()` function to customize the line chart. You'll be setting the `fill` and `width` arguements to set the fill of the line chart and line width respectively. In this example, you will set the fill level to 1 and the width of the border to 0.5 by appending `.lines(fill=1,width=0.5)`. Use the following expression in the Timelion query bar:
|
||||
To differentiate the last hour series a bit more, you are going to change the chart type to an area chart. In order do so, you'll need to use the `.lines()` function to customize the line chart. You'll be setting the `fill` and `width` arguments to set the fill of the line chart and line width respectively. In this example, you will set the fill level to 1 and the width of the border to 0.5 by appending `.lines(fill=1,width=0.5)`. Use the following expression in the Timelion query bar:
|
||||
|
||||
[source,text]
|
||||
----------------------------------
|
||||
|
|
|
@ -123,7 +123,7 @@ _buckets_ for the x-axis. Buckets are analogous to SQL `GROUP BY`
|
|||
statements. Pie charts, use the metric for the slice size and the bucket
|
||||
for the number of slices.
|
||||
|
||||
You can futher break down the data by specifying sub aggregations. The first
|
||||
You can further break down the data by specifying sub aggregations. The first
|
||||
aggregation determines the data set for any subsequent aggregations. Sub
|
||||
aggregations are applied in order--you can drag the aggregations to change the
|
||||
order in which they're applied.
|
||||
|
|
|
@ -24,7 +24,7 @@ A histogram visualization that supports area, line, bar, and steps along with
|
|||
multiple y-axis. You can fully customize the colors, points, line thickness
|
||||
and fill opacity. This visualization also supports time shifting to compare two
|
||||
time periods. This visualization also supports annotations which can be loaded from
|
||||
a seperate index based on a query.
|
||||
a separate index based on a query.
|
||||
|
||||
image:images/tsvb-timeseries.png["Time Series Visualization"]
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ module.exports = {
|
|||
'wrap-iife': [ 'error', 'outside' ],
|
||||
yoda: 'off',
|
||||
|
||||
'object-curly-spacing': 'off', // overriden with babel/object-curly-spacing
|
||||
'object-curly-spacing': 'off', // overridden with babel/object-curly-spacing
|
||||
'babel/object-curly-spacing': [ 'error', 'always' ],
|
||||
|
||||
'jsx-quotes': ['error', 'prefer-double'],
|
||||
|
|
|
@ -153,7 +153,7 @@ export function createProc(name, { cmd, args, cwd, env, stdin, log }) {
|
|||
},
|
||||
STOP_TIMEOUT,
|
||||
async () => {
|
||||
throw new Error(`Proc "${name}" was stopped but never emiited either the "exit" or "error" event after ${STOP_TIMEOUT} ms`);
|
||||
throw new Error(`Proc "${name}" was stopped but never emitted either the "exit" or "error" event after ${STOP_TIMEOUT} ms`);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
* If the last stream is readable, it's final value
|
||||
* will be provided as the promise value.
|
||||
*
|
||||
* Errors emmitted from any stream will cause
|
||||
* Errors emitted from any stream will cause
|
||||
* the promise to be rejected with that error.
|
||||
*
|
||||
* @param {Array<Stream>} streams
|
||||
|
|
|
@ -91,7 +91,7 @@ describe('utils: createToolingLog(logLevel, output)', () => {
|
|||
});
|
||||
describe('invalid logLevel', () => {
|
||||
it('throw error', () => {
|
||||
// avoid the impossiblity that a valid level is generated
|
||||
// avoid the impossibility that a valid level is generated
|
||||
// by specifying a long length
|
||||
const level = chance.word({ length: 10 });
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ describe('parseLogLevel(logLevel).flags', () => {
|
|||
|
||||
describe('invalid logLevel', () => {
|
||||
it('throws error', () => {
|
||||
// avoid the impossiblity that a valid level is generated
|
||||
// avoid the impossibility that a valid level is generated
|
||||
// by specifying a long length
|
||||
const level = chance.word({ length: 10 });
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ exports.installArchive = async function installArchive(archive, options = {}) {
|
|||
};
|
||||
|
||||
/**
|
||||
* Recurive deletion for a directory
|
||||
* Recursive deletion for a directory
|
||||
*
|
||||
* @param {String} path
|
||||
*/
|
||||
|
|
|
@ -69,7 +69,7 @@ exports.installSnapshot = async function installSnapshot({
|
|||
* @param {String} url
|
||||
* @param {String} dest
|
||||
* @param {ToolingLog} log
|
||||
* @returns {Promose}
|
||||
* @returns {Promise}
|
||||
*/
|
||||
function downloadFile(url, dest, log) {
|
||||
const downloadPath = `${dest}.tmp`;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`parses data containing execption 1`] = `"[o.e.n.Node] [qEfPPg8] starting ..."`;
|
||||
exports[`parses data containing exception 1`] = `"[o.e.n.Node] [qEfPPg8] starting ..."`;
|
||||
|
||||
exports[`parses data containing execption 2`] = `
|
||||
exports[`parses data containing exception 2`] = `
|
||||
"[o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
|
||||
org.elasticsearch.bootstrap.StartupException: BindHttpException; nested: BindException[Address already in use];
|
||||
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-7.0.0.jar:7.0.0-alpha1-SNAPSHOT]
|
||||
|
@ -15,7 +15,7 @@ Caused by: java.net.BindException: Address already in use
|
|||
at java.lang.Thread.run(Thread.java:844) [?:?]"
|
||||
`;
|
||||
|
||||
exports[`parses data containing execption 3`] = `"[o.e.g.GatewayService] [qEfPPg8] recovered [0] indices into cluster_state"`;
|
||||
exports[`parses data containing exception 3`] = `"[o.e.g.GatewayService] [qEfPPg8] recovered [0] indices into cluster_state"`;
|
||||
|
||||
exports[`parses multiple lines 1`] = `"[o.e.p.PluginsService] [qEfPPg8] loaded plugin [x-pack-security]"`;
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ const mkdirp = require('mkdirp');
|
|||
|
||||
/**
|
||||
* Copies config references to an absolute path to
|
||||
* the provided destination. This is necicary as ES security
|
||||
* the provided destination. This is necessary as ES security
|
||||
* requires files to be within the installation directory
|
||||
*
|
||||
* @param {Array} config
|
||||
|
|
|
@ -42,7 +42,7 @@ test('parses multiple lines', () => {
|
|||
expect(lines[1].message).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('parses data containing execption', () => {
|
||||
test('parses data containing exception', () => {
|
||||
const data = dedent(`
|
||||
[2018-02-23T10:13:45,646][INFO ][o.e.n.Node ] [qEfPPg8] starting ...
|
||||
[2018-02-23T10:13:53,992][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* Attempt to apply basic webpack alias transfomations so we can
|
||||
* Attempt to apply basic webpack alias transformations so we can
|
||||
* avoid triggering the webpack resolver for many imports
|
||||
*
|
||||
* @param {string} source
|
||||
|
|
|
@ -31,7 +31,7 @@ tests when necessary. You access the test runner through a browser that it start
|
|||
|
||||
If your plugin consists of a number of internal plugins, you may wish to keep the tests
|
||||
isolated to a specific plugin or plugins, instead of executing all of the tests. To do this,
|
||||
use `--plugins` and passing the plugins you would like to test. Muliple plugins can be
|
||||
use `--plugins` and passing the plugins you would like to test. Multiple plugins can be
|
||||
specified by separating them with commas.
|
||||
|
||||
|
||||
|
|
|
@ -123,7 +123,7 @@ For more details, run:
|
|||
yarn kbn
|
||||
```
|
||||
|
||||
Bootstrapping also calls the `kbn:boostrap` script for every included project.
|
||||
Bootstrapping also calls the `kbn:bootstrap` script for every included project.
|
||||
This is intended for packages that need to be built/transpiled to be usable.
|
||||
|
||||
### Running scripts
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
function seletorToTerms(selector) {
|
||||
function selectorToTerms(selector) {
|
||||
return selector
|
||||
.replace(/\s*&\s*/g, '&') // remove all whitespace around joins
|
||||
.split(/\s+/);
|
||||
|
@ -29,7 +29,7 @@ function termToCssSelector(term) {
|
|||
|
||||
module.exports = function testSubjSelector(selector) {
|
||||
const cssSelectors = [];
|
||||
const terms = seletorToTerms(selector);
|
||||
const terms = selectorToTerms(selector);
|
||||
|
||||
while (terms.length) {
|
||||
const term = terms.shift();
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
import * as fs from 'fs';
|
||||
|
||||
/**
|
||||
* Recurive deletion for a directory
|
||||
* Recursive deletion for a directory
|
||||
*
|
||||
* @param {String} path
|
||||
*/
|
||||
|
|
|
@ -104,7 +104,7 @@ export default props => (
|
|||
<GuideText>
|
||||
Popovers often have need for titling. This can be applied through
|
||||
a prop or used separately as its own component
|
||||
KuiPopoverTitle nested somwhere in the child
|
||||
KuiPopoverTitle nested somewhere in the child
|
||||
prop.
|
||||
</GuideText>
|
||||
|
||||
|
@ -125,7 +125,7 @@ export default props => (
|
|||
>
|
||||
<GuideText>
|
||||
The alignment and arrow on your popover can be set with
|
||||
the anchorPostion prop.
|
||||
the anchorPosition prop.
|
||||
</GuideText>
|
||||
|
||||
<GuideDemo>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<p class="kuiText">
|
||||
<span class="kuiStatusText kuiStatusText--success">
|
||||
<span class="kuiStatusText__icon kuiIcon fa-check" aria-label="Success" role="img"></span>
|
||||
Eveything is OK
|
||||
Everything is OK
|
||||
</span>
|
||||
</p>
|
||||
|
|
|
@ -38,7 +38,7 @@ class KuiTabsExample extends React.Component {
|
|||
id: 'helium_3',
|
||||
name: 'Helium-3',
|
||||
}, {
|
||||
id: 'monosodium_glutammate',
|
||||
id: 'monosodium_glutamate',
|
||||
name: 'Monosodium Glutamate',
|
||||
}];
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ module.exports = {
|
|||
filename: 'bundle.js'
|
||||
},
|
||||
|
||||
// These are necessasry for using Enzyme with Webpack (https://github.com/airbnb/enzyme/blob/master/docs/guides/webpack.md).
|
||||
// These are necessary for using Enzyme with Webpack (https://github.com/airbnb/enzyme/blob/master/docs/guides/webpack.md).
|
||||
externals: {
|
||||
'react/lib/ExecutionEnvironment': true,
|
||||
'react/lib/ReactContext': true,
|
||||
|
|
|
@ -4,7 +4,7 @@ exports[`KuiScreenReaderOnly adds an accessibility class to a child element and
|
|||
<p
|
||||
class="kuiScreenReaderOnly foo bar"
|
||||
>
|
||||
This paragraph is not visibile to sighted users but will be read by screenreaders.
|
||||
This paragraph is not visible to sighted users but will be read by screenreaders.
|
||||
</p>
|
||||
`;
|
||||
|
||||
|
@ -12,6 +12,6 @@ exports[`KuiScreenReaderOnly adds an accessibility class to a child element when
|
|||
<p
|
||||
class="kuiScreenReaderOnly"
|
||||
>
|
||||
This paragraph is not visibile to sighted users but will be read by screenreaders.
|
||||
This paragraph is not visible to sighted users but will be read by screenreaders.
|
||||
</p>
|
||||
`;
|
||||
|
|
|
@ -28,7 +28,7 @@ describe('KuiScreenReaderOnly', () => {
|
|||
const $paragraph = render(
|
||||
<KuiScreenReaderOnly>
|
||||
<p>
|
||||
This paragraph is not visibile to sighted users but will be read by
|
||||
This paragraph is not visible to sighted users but will be read by
|
||||
screenreaders.
|
||||
</p>
|
||||
</KuiScreenReaderOnly>
|
||||
|
@ -41,7 +41,7 @@ describe('KuiScreenReaderOnly', () => {
|
|||
const $paragraph = render(
|
||||
<KuiScreenReaderOnly>
|
||||
<p className="foo bar">
|
||||
This paragraph is not visibile to sighted users but will be read by
|
||||
This paragraph is not visible to sighted users but will be read by
|
||||
screenreaders.
|
||||
</p>
|
||||
</KuiScreenReaderOnly>
|
||||
|
|
|
@ -42,7 +42,7 @@ $buttonWarningHoverBackgroundColor: darken($buttonWarningBackgroundColor, 10%);
|
|||
$buttonWarningDisabledBackgroundColor: lighten($buttonWarningBackgroundColor, 10%);
|
||||
|
||||
// Hollow
|
||||
$buttonHollowDiabledTextColor: #dddddd;
|
||||
$buttonHollowDisabledTextColor: #dddddd;
|
||||
|
||||
@import "button";
|
||||
@import "button_group/button_group";
|
||||
|
|
|
@ -76,7 +76,7 @@ describe('KuiCodeEditor', () => {
|
|||
});
|
||||
|
||||
describe('interaction', () => {
|
||||
test('bluring the ace textbox should call a passed onBlur prop', () => {
|
||||
test('blurring the ace textbox should call a passed onBlur prop', () => {
|
||||
const blurSpy = sinon.spy();
|
||||
const el = mount(<KuiCodeEditor onBlur={blurSpy}/>);
|
||||
el.instance().onBlurAce();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// --------------------------------------------------------------------------------------
|
||||
// Kibana UI framework
|
||||
// --------------------------------------------------------------------------------------
|
||||
// This libray will eventually contain all styles used throughout Kibana. Currently it
|
||||
// This library will eventually contain all styles used throughout Kibana. Currently it
|
||||
// only covers a portion of the components. The processed css from this library currently
|
||||
// loads on top of other CSS (itself generated from LESS files) contained in /ui/*/*.less
|
||||
// files. This includes some base LESS files (including bootstrap) that can be found in
|
||||
|
|
|
@ -68,7 +68,7 @@ test('onConfirm', () => {
|
|||
});
|
||||
|
||||
describe('onCancel', () => {
|
||||
test('triggerd by click', () => {
|
||||
test('triggered by click', () => {
|
||||
const component = mount(
|
||||
<KuiConfirmModal
|
||||
onCancel={onCancel}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/**
|
||||
* 1. Allow container to deteermine font-size and line-height.
|
||||
* 1. Allow container to determine font-size and line-height.
|
||||
* 2. Override inherited Bootstrap styles.
|
||||
*/
|
||||
.kuiToggleButton {
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
}
|
||||
|
||||
& > * + * {
|
||||
margin-left: $toolBarItsemSpacing; /* 1 */
|
||||
margin-left: $toolBarItemSpacing; /* 1 */
|
||||
}
|
||||
|
||||
flex: 1 1 auto;
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
$typcographyTitleFontSize: 22px;
|
||||
$typographyTitleFontSize: 22px;
|
||||
@import "typography";
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
.kuiTitle {
|
||||
margin: 0; /* 1 */
|
||||
font-weight: $kuiFontWeightRegular; /* 1 */
|
||||
font-size: $typcographyTitleFontSize;
|
||||
font-size: $typographyTitleFontSize;
|
||||
|
||||
@include darkTheme {
|
||||
color: $kuiTextColor--darkTheme;
|
||||
|
|
|
@ -279,7 +279,7 @@
|
|||
}
|
||||
|
||||
& > * + * {
|
||||
margin-left: $toolBarItsemSpacing; /* 1 */
|
||||
margin-left: $toolBarItemSpacing; /* 1 */
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
$toolBarHeight: 50px;
|
||||
$toolBarPadding: 10px;
|
||||
$toolBarSectionSpacing: 50px;
|
||||
$toolBarItsemSpacing: 10px;
|
||||
$toolBarItemSpacing: 10px;
|
||||
|
|
|
@ -124,7 +124,7 @@ describe('CLI cluster manager', function () {
|
|||
});
|
||||
|
||||
describe('do after', function () {
|
||||
it('ignores non-array messsages', function () {
|
||||
it('ignores non-array messages', function () {
|
||||
const worker = setup();
|
||||
worker.parseIncomingMessage('some string thing');
|
||||
worker.parseIncomingMessage(0);
|
||||
|
@ -165,7 +165,7 @@ describe('CLI cluster manager', function () {
|
|||
});
|
||||
});
|
||||
|
||||
describe('when passed an unkown message', function () {
|
||||
describe('when passed an unknown message', function () {
|
||||
it('does nothing', function () {
|
||||
const worker = setup();
|
||||
worker.onMessage('asdlfkajsdfahsdfiohuasdofihsdoif');
|
||||
|
|
|
@ -57,7 +57,7 @@ describe('plugin folder rename', function () {
|
|||
expect(renameStub.callCount).toBe(1);
|
||||
})
|
||||
.catch(function () {
|
||||
throw new Error('We shouln\'t have any errors');
|
||||
throw new Error('We shouldn\'t have any errors');
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ export function errorIfXPackInstall(settings) {
|
|||
export function errorIfXPackRemove(settings) {
|
||||
if (isXPack(settings.plugin) && !isOSS()) {
|
||||
throw new Error(
|
||||
'You are using the standard distrbution of Kibana. Please install the OSS-only distribution to remove X-Pack features.'
|
||||
'You are using the standard distribution of Kibana. Please install the OSS-only distribution to remove X-Pack features.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,12 +23,12 @@ import utils from '../utils';
|
|||
|
||||
describe('console utils', () => {
|
||||
describe('collapseLiteralStrings', () => {
|
||||
it('will collapse multinline strings', () => {
|
||||
it('will collapse multiline strings', () => {
|
||||
const multiline = '{ "foo": """bar\nbaz""" }';
|
||||
expect(utils.collapseLiteralStrings(multiline)).to.be('{ "foo": "bar\\nbaz" }');
|
||||
});
|
||||
|
||||
it('will collapse multinline strings with CRLF endings', () => {
|
||||
it('will collapse multiline strings with CRLF endings', () => {
|
||||
const multiline = '{ "foo": """bar\r\nbaz""" }';
|
||||
expect(utils.collapseLiteralStrings(multiline)).to.be('{ "foo": "bar\\r\\nbaz" }');
|
||||
});
|
||||
|
|
|
@ -874,7 +874,7 @@ export default function (editor) {
|
|||
case 'paren.rparen':
|
||||
case 'punctuation.colon':
|
||||
case 'punctuation.comma':
|
||||
case 'UNKOWN':
|
||||
case 'UNKNOWN':
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -127,7 +127,7 @@ export function parseCURL(text) {
|
|||
verb = matches[1];
|
||||
}
|
||||
|
||||
// JS regexen don't support possesive quantifiers, so
|
||||
// JS regexen don't support possessive quantifiers, so
|
||||
// we need two distinct patterns
|
||||
const pattern = HasProtocol.test(line)
|
||||
? CurlRequestWithProto
|
||||
|
|
|
@ -231,7 +231,7 @@ function loadMappings(mappings) {
|
|||
function loadAliases(aliases) {
|
||||
perAliasIndexes = {};
|
||||
$.each(aliases || {}, function (index, omdexAliases) {
|
||||
// verify we have an index defined. usefull when mapping loading is disabled
|
||||
// verify we have an index defined. useful when mapping loading is disabled
|
||||
perIndexTypes[index] = perIndexTypes[index] || {};
|
||||
|
||||
$.each(omdexAliases.aliases || {}, function (alias) {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* eslint-disable */
|
||||
/*
|
||||
This file is loaded up as a blob by Brace to hand to Ace to load as Jsonp
|
||||
(hence the redefinining of everything). It is based on the javascript
|
||||
(hence the redefining of everything). It is based on the javascript
|
||||
mode from the brace distro.
|
||||
*/
|
||||
|
||||
|
|
|
@ -219,13 +219,13 @@ describe('Editor', () => {
|
|||
|
||||
utilsTest(
|
||||
'full url: single line request data',
|
||||
'POST https://somehoset/_search',
|
||||
'POST https://somehost/_search',
|
||||
singleLineRequest.data,
|
||||
function () {
|
||||
input.getRequest(function (request) {
|
||||
const expected = {
|
||||
method: 'POST',
|
||||
url: 'https://somehoset/_search',
|
||||
url: 'https://somehost/_search',
|
||||
data: [singleLineRequest.data],
|
||||
};
|
||||
|
||||
|
|
|
@ -379,7 +379,7 @@ describe('Input Tokenization', () => {
|
|||
['start', 'json', ['string_literal', 'json'], ['string_literal', 'json'], 'json', 'start'],
|
||||
'POST _search\n' +
|
||||
'{\n' +
|
||||
' "somthing": """\n' +
|
||||
' "something": """\n' +
|
||||
' test script\n' +
|
||||
' """,\n' +
|
||||
'}'
|
||||
|
@ -391,7 +391,7 @@ describe('Input Tokenization', () => {
|
|||
'json', 'start'],
|
||||
'POST _search\n' +
|
||||
'{\n' +
|
||||
' "somthing": { "f" : """\n' +
|
||||
' "something": { "f" : """\n' +
|
||||
' test script\n' +
|
||||
' """,\n' +
|
||||
' "g": 1\n' +
|
||||
|
|
|
@ -9,10 +9,10 @@ to you """
|
|||
String only 2
|
||||
-------------------------------------
|
||||
"""
|
||||
startning with new lines and ending as well
|
||||
starting with new lines and ending as well
|
||||
"""
|
||||
-------------------------------------
|
||||
"startning with new lines and ending as well"
|
||||
"starting with new lines and ending as well"
|
||||
==========
|
||||
Strings in requests
|
||||
-------------------------------------
|
||||
|
|
|
@ -284,7 +284,7 @@ angular.module('sense.ui.bootstrap.typeahead', ['sense.ui.bootstrap.position'])
|
|||
scope.position.top += element.prop('offsetHeight');
|
||||
}
|
||||
|
||||
//we need to propagate user's query so we can higlight matches
|
||||
//we need to propagate user's query so we can highlight matches
|
||||
scope.query = undefined;
|
||||
|
||||
//Declare the timeout promise var outside the function scope so that stacked calls can be cancelled later
|
||||
|
|
|
@ -407,7 +407,7 @@ exports[`Renders range control 1`] = `
|
|||
Object {
|
||||
"id": "mock-range-control",
|
||||
"isEnabled": [Function],
|
||||
"label": "ragne control",
|
||||
"label": "range control",
|
||||
"max": 100,
|
||||
"min": 0,
|
||||
"options": Object {
|
||||
|
|
|
@ -49,7 +49,7 @@ const mockRangeControl = {
|
|||
step: 1
|
||||
},
|
||||
type: 'range',
|
||||
label: 'ragne control',
|
||||
label: 'range control',
|
||||
value: { min: 0, max: 0 },
|
||||
min: 0,
|
||||
max: 100
|
||||
|
|
|
@ -25,7 +25,7 @@ export function getParentCandidates(controlParamsList, controlId, lineageMap) {
|
|||
if (!controlParams.indexPattern || !controlParams.fieldName) {
|
||||
return false;
|
||||
}
|
||||
// Ignore controls that would create a circlar graph
|
||||
// Ignore controls that would create a circular graph
|
||||
const lineage = lineageMap.get(controlParams.id);
|
||||
if (lineage.includes(controlId)) {
|
||||
return false;
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
// do not center min/max labels - otherwise the overlfow slider sides
|
||||
// do not center min/max labels - otherwise the overflow slider sides
|
||||
.input-range__label-container {
|
||||
left: 0% !important;
|
||||
}
|
||||
|
|
|
@ -80,12 +80,12 @@
|
|||
</div>
|
||||
|
||||
<div class="kuiSideBarFormRow">
|
||||
<label class="kuiSideBarFormRow__label" for="categoryAxisSotateLabels">
|
||||
<label class="kuiSideBarFormRow__label" for="categoryAxisRotateLabels">
|
||||
Rotate
|
||||
</label>
|
||||
<div class="kuiSideBarFormRow__control">
|
||||
<select
|
||||
id="categoryAxisSotateLabels"
|
||||
id="categoryAxisRotateLabels"
|
||||
class="kuiSelect kuiSideBarSelect"
|
||||
ng-model="vis.params.categoryAxes[0].labels.rotate"
|
||||
ng-options="mode.value as mode.name for mode in rotateOptions"
|
||||
|
@ -94,12 +94,12 @@
|
|||
</div>
|
||||
|
||||
<div class="kuiSideBarFormRow">
|
||||
<label class="kuiSideBarFormRow__label" for="categoryAxisSruncateLabels">
|
||||
<label class="kuiSideBarFormRow__label" for="categoryAxisTruncateLabels">
|
||||
Truncate
|
||||
</label>
|
||||
<div class="kuiSideBarFormRow__control">
|
||||
<input
|
||||
id="categoryAxisSruncateLabels"
|
||||
id="categoryAxisTruncateLabels"
|
||||
class="kuiInput kuiSideBarInput"
|
||||
type="number"
|
||||
ng-model="vis.params.categoryAxes[0].labels.truncate"
|
||||
|
|
|
@ -39,7 +39,7 @@ module.directive('vislibValueAxes', function () {
|
|||
}
|
||||
}
|
||||
|
||||
function mapPositionOposite(position) {
|
||||
function mapPositionOpposite(position) {
|
||||
switch (position) {
|
||||
case 'bottom': return 'top';
|
||||
case 'top': return 'bottom';
|
||||
|
@ -96,7 +96,7 @@ module.directive('vislibValueAxes', function () {
|
|||
return value;
|
||||
}, 1);
|
||||
|
||||
newAxis.position = mapPositionOposite(firstAxis.position);
|
||||
newAxis.position = mapPositionOpposite(firstAxis.position);
|
||||
const axisName = _.capitalize(newAxis.position) + 'Axis-';
|
||||
newAxis.name = axisName + $scope.vis.params.valueAxes.reduce((value, axis) => {
|
||||
if (axis.name.substr(0, axisName.length) === axisName) {
|
||||
|
|
|
@ -25,7 +25,7 @@ const UrlFormat = createUrlFormat(FieldFormat);
|
|||
|
||||
describe('UrlFormat', function () {
|
||||
|
||||
it('ouputs a simple <a> tab by default', function () {
|
||||
it('outputs a simple <a> tab by default', function () {
|
||||
const url = new UrlFormat();
|
||||
|
||||
expect(url.convert('http://elastic.co', 'html'))
|
||||
|
|
|
@ -22,7 +22,7 @@ import { asPrettyString } from '../as_pretty_string';
|
|||
|
||||
describe('asPrettyString', () => {
|
||||
|
||||
it('Converts null and undefined values into a string signifing no value', () => {
|
||||
it('Converts null and undefined values into a string signifying no value', () => {
|
||||
expect(asPrettyString(null)).to.equal(' - ');
|
||||
expect(asPrettyString(undefined)).to.equal(' - ');
|
||||
});
|
||||
|
|
|
@ -25,8 +25,8 @@ const TAGS_WITH_WS = />\s+</g;
|
|||
*
|
||||
* If you have inline elements (span, a, em, etc.) and any
|
||||
* amount of whitespace around them in your markup, then the
|
||||
* browser will push them appart. This is ugly in certain
|
||||
* senarios and is only fixed by removing the whitespace
|
||||
* browser will push them apart. This is ugly in certain
|
||||
* scenarios and is only fixed by removing the whitespace
|
||||
* from the html in the first place (or ugly css hacks).
|
||||
*
|
||||
* @param {string} html - the html to modify
|
||||
|
|
|
@ -22,7 +22,7 @@ export function injectVars(server) {
|
|||
|
||||
//DEPRECATED SETTINGS
|
||||
//if the url is set, the old settings must be used.
|
||||
//keeping this logic for backward compatibilty.
|
||||
//keeping this logic for backward compatibility.
|
||||
const configuredUrl = serverConfig.get('tilemap.url');
|
||||
const isOverridden = typeof configuredUrl === 'string' && configuredUrl !== '';
|
||||
const mapConfig = serverConfig.get('map');
|
||||
|
|
|
@ -63,7 +63,7 @@ from the redux architecture that forms a ciruclar unidirectional data flow:
|
|||
**State**: The state is the single source of truth at
|
||||
`ContextAppController::state` and may only be modified by actions.
|
||||
|
||||
**Action**: Actions are functions that are called inreponse user or system
|
||||
**Action**: Actions are functions that are called in response to user or system
|
||||
actions and may modified the state the are bound to via their closure.
|
||||
|
||||
|
||||
|
|
|
@ -117,7 +117,7 @@ uiRoutes
|
|||
// Preserve BWC of v5.3.0 links for new, unsaved dashboards.
|
||||
// See https://github.com/elastic/kibana/issues/10951 for more context.
|
||||
if (error instanceof SavedObjectNotFound && id === 'create') {
|
||||
// Note "new AppState" is neccessary so the state in the url is preserved through the redirect.
|
||||
// Note "new AppState" is necessary so the state in the url is preserved through the redirect.
|
||||
kbnUrl.redirect(DashboardConstants.CREATE_NEW_DASHBOARD_URL, {}, new AppState());
|
||||
toastNotifications.addWarning('The url "dashboard/create" was removed in 6.0. Please update your bookmarks.');
|
||||
} else {
|
||||
|
|
|
@ -64,7 +64,7 @@ module.factory('SavedDashboard', function (courier, config) {
|
|||
});
|
||||
|
||||
|
||||
this.showInRecenltyAccessed = true;
|
||||
this.showInRecentlyAccessed = true;
|
||||
}
|
||||
|
||||
// save these objects with the 'dashboard' type
|
||||
|
|
|
@ -98,7 +98,7 @@ describe('fieldCalculator', function () {
|
|||
expect(groups['foo,bar'].value).to.eql(['foo', 'bar']);
|
||||
});
|
||||
|
||||
it('should count the pairs seperately from the values they contain', function () {
|
||||
it('should count the pairs separately from the values they contain', function () {
|
||||
expect(groups['foo,bar'].count).to.be(2);
|
||||
expect(groups.foo.count).to.be(3);
|
||||
expect(groups.bar.count).to.be(1);
|
||||
|
|
|
@ -35,7 +35,7 @@ export default function HitSortFnFactory() {
|
|||
* _id: i,
|
||||
* _source: {},
|
||||
* sort: [
|
||||
* // all values used to sort, in the order of precidance
|
||||
* // all values used to sort, in the order of precedence
|
||||
* ]
|
||||
* }
|
||||
* ]
|
||||
|
@ -55,7 +55,7 @@ export default function HitSortFnFactory() {
|
|||
const aSorts = hitA.sort || [];
|
||||
const bSorts = hitB.sort || [];
|
||||
|
||||
// walk each sort value, and compair until one is different
|
||||
// walk each sort value, and compare until one is different
|
||||
for (let i = 0; i < bSorts.length; i++) {
|
||||
const a = aSorts[i];
|
||||
const b = bSorts[i];
|
||||
|
|
|
@ -501,7 +501,7 @@ function discoverController(
|
|||
function flushResponseData() {
|
||||
$scope.fetchError = undefined;
|
||||
$scope.hits = 0;
|
||||
$scope.faliures = [];
|
||||
$scope.failures = [];
|
||||
$scope.rows = [];
|
||||
$scope.fieldCounts = {};
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ module.factory('SavedSearch', function (courier) {
|
|||
},
|
||||
});
|
||||
|
||||
this.showInRecenltyAccessed = true;
|
||||
this.showInRecentlyAccessed = true;
|
||||
}
|
||||
|
||||
SavedSearch.type = 'search';
|
||||
|
|
|
@ -214,7 +214,7 @@
|
|||
}
|
||||
|
||||
/**
|
||||
* 1. If the field name is very long, don't let it sqash the buttons.
|
||||
* 1. If the field name is very long, don't let it squash the buttons.
|
||||
*/
|
||||
.discover-field-details-item-buttons {
|
||||
flex: 0 0 auto; /* 1 */
|
||||
|
|
|
@ -139,7 +139,7 @@ export class RecentlyAccessed extends Component {
|
|||
}
|
||||
// Want to avoid a bunch of white space around items with short labels (happens when min width is too large).
|
||||
// Also want to avoid truncating really short names (happens when there is no min width)
|
||||
// Dynamically setting the min width based on label lengh meets both of these goals.
|
||||
// Dynamically setting the min width based on label length meets both of these goals.
|
||||
const EM_RATIO = 0.65; // 'em' ratio that avoids too much horizontal white space and too much truncation
|
||||
const minWidth = (recentlyAccessedItem.label.length < 8 ? recentlyAccessedItem.label.length : 8) * EM_RATIO;
|
||||
const style = { minWidth: `${minWidth}em` };
|
||||
|
|
|
@ -28,7 +28,7 @@ headers.append('Content-Type', 'application/json');
|
|||
headers.append('kbn-xsrf', 'kibana');
|
||||
|
||||
let tutorials = [];
|
||||
let turorialsLoaded = false;
|
||||
let tutorialsLoaded = false;
|
||||
|
||||
async function loadTutorials() {
|
||||
try {
|
||||
|
@ -42,14 +42,14 @@ async function loadTutorials() {
|
|||
}
|
||||
|
||||
tutorials = await response.json();
|
||||
turorialsLoaded = true;
|
||||
tutorialsLoaded = true;
|
||||
} catch(err) {
|
||||
notify.error(`Unable to load tutorials, ${err}`);
|
||||
}
|
||||
}
|
||||
|
||||
export async function getTutorials() {
|
||||
if (!turorialsLoaded) {
|
||||
if (!tutorialsLoaded) {
|
||||
await loadTutorials();
|
||||
}
|
||||
|
||||
|
@ -57,7 +57,7 @@ export async function getTutorials() {
|
|||
}
|
||||
|
||||
export async function getTutorial(id) {
|
||||
if (!turorialsLoaded) {
|
||||
if (!tutorialsLoaded) {
|
||||
await loadTutorials();
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
// This isn't ideal. We want to avoid searching for 20 indices
|
||||
// then filtering out the majority of them because they are sysetm indices.
|
||||
// then filtering out the majority of them because they are system indices.
|
||||
// We'd like to filter system indices out in the query
|
||||
// so if we can accomplish that in the future, this logic can go away
|
||||
export const ESTIMATED_NUMBER_OF_SYSTEM_INDICES = 100;
|
||||
|
|
|
@ -312,7 +312,7 @@ uiModules.get('apps/management')
|
|||
}
|
||||
});
|
||||
|
||||
$scope.$on('$destory', () => {
|
||||
$scope.$on('$destroy', () => {
|
||||
destroyIndexedFieldsTable();
|
||||
destroyScriptedFieldsTable();
|
||||
});
|
||||
|
|
|
@ -28,7 +28,7 @@ describe('getRelationships', () => {
|
|||
expect($http.mock.calls.length).toBe(1);
|
||||
});
|
||||
|
||||
it('should handle succcesful responses', async () => {
|
||||
it('should handle successful responses', async () => {
|
||||
const $http = jest.fn().mockImplementation(() => ({ data: [1, 2] }));
|
||||
const basePath = 'test';
|
||||
|
||||
|
|
|
@ -160,7 +160,7 @@ export async function resolveSavedObjects(
|
|||
);
|
||||
|
||||
// We want to do the same for saved searches, but we want to keep them separate because they need
|
||||
// to be applied _first_ because other saved objects can be depedent on those saved searches existing
|
||||
// to be applied _first_ because other saved objects can be dependent on those saved searches existing
|
||||
const conflictedSearchDocs = [];
|
||||
// Keep a record of the index patterns assigned to our imported saved objects that do not
|
||||
// exist. We will provide a way for the user to manually select a new index pattern for those
|
||||
|
|
|
@ -65,7 +65,7 @@ uiModules.get('apps/management')
|
|||
updateAdvancedSettings($scope, config, $route.current.params.setting || '');
|
||||
}, $scope);
|
||||
|
||||
$scope.$on('$destory', () => {
|
||||
$scope.$on('$destroy', () => {
|
||||
destroyAdvancedSettings();
|
||||
});
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ import { words } from 'lodash';
|
|||
|
||||
/**
|
||||
* @name {string} the name of the configuration object
|
||||
* @returns {string} a space demimited, lowercase string with
|
||||
* @returns {string} a space delimited, lowercase string with
|
||||
* special characters removed.
|
||||
*
|
||||
* Example: 'xPack:fooBar:foo_bar_baz' -> 'x pack foo bar foo bar baz'
|
||||
|
|
|
@ -154,7 +154,7 @@ a tilemap in an iframe: https://github.com/elastic/kibana/issues/16457 */
|
|||
.vis-editor-sidebar {
|
||||
.flex-parent(1, 0, auto);
|
||||
|
||||
// overrided for tablet and desktop
|
||||
// overridden for tablet and desktop
|
||||
@media (min-width: @screen-md-min) {
|
||||
flex-basis: @vis-editor-sidebar-basis;
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ uiModules
|
|||
afterESResp: this._afterEsResp
|
||||
});
|
||||
|
||||
this.showInRecenltyAccessed = true;
|
||||
this.showInRecentlyAccessed = true;
|
||||
}
|
||||
|
||||
SavedVis.type = 'visualization';
|
||||
|
|
|
@ -80,7 +80,7 @@ module.controller('VisualizeWizardStep1', function ($scope, $route, kbnUrl, Priv
|
|||
return;
|
||||
}
|
||||
|
||||
// If the specified category doesn't have a valu ein our display names
|
||||
// If the specified category doesn't have a value in our display names
|
||||
// mapping (most likely because the vis specified a random category, not using
|
||||
// CATEGORY values), just move it to the OTHER category.
|
||||
if (!CATEGORY_DISPLAY_NAMES[categoryName]) {
|
||||
|
|
|
@ -45,7 +45,7 @@ describe('exportDashboards(req)', () => {
|
|||
|
||||
collectDashboardsStub = sinon.stub(deps, 'collectDashboards');
|
||||
collectDashboardsStub.returns(Promise.resolve([
|
||||
{ id: 'dasboard-01' },
|
||||
{ id: 'dashboard-01' },
|
||||
{ id: 'logstash-*' },
|
||||
{ id: 'panel-01' }
|
||||
]));
|
||||
|
@ -65,7 +65,7 @@ describe('exportDashboards(req)', () => {
|
|||
return exportDashboards(req).then((resp) => {
|
||||
expect(resp).to.have.property('objects');
|
||||
expect(resp.objects).to.eql([
|
||||
{ id: 'dasboard-01' },
|
||||
{ id: 'dashboard-01' },
|
||||
{ id: 'logstash-*' },
|
||||
{ id: 'panel-01' }
|
||||
]);
|
||||
|
|
|
@ -141,7 +141,7 @@ export function onPremInstructions(server) {
|
|||
text:
|
||||
'Make sure you application is running, and the agents are sending data',
|
||||
btnLabel: 'Check agent status',
|
||||
success: 'Data succesfully received from one or more agents',
|
||||
success: 'Data successfully received from one or more agents',
|
||||
error: `No data has been received from agents yet`,
|
||||
esHitsCheck: {
|
||||
index: apmIndexPattern,
|
||||
|
|
|
@ -21,7 +21,7 @@ import { expect } from 'chai';
|
|||
import calculateLabel from '../calculate_label';
|
||||
|
||||
describe('calculateLabel(metric, metrics)', () => {
|
||||
it('returns "Unkonwn" for empty metric', () => {
|
||||
it('returns "Unknown" for empty metric', () => {
|
||||
expect(calculateLabel()).to.equal('Unknown');
|
||||
});
|
||||
|
||||
|
@ -33,7 +33,7 @@ describe('calculateLabel(metric, metrics)', () => {
|
|||
expect(calculateLabel({ type: 'count' })).to.equal('Count');
|
||||
});
|
||||
|
||||
it('returns "Calcuation" for a bucket script metric', () => {
|
||||
it('returns "Calculation" for a bucket script metric', () => {
|
||||
expect(calculateLabel({ type: 'calculation' })).to.equal('Bucket Script');
|
||||
});
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ import MetricSelect from './metric_select';
|
|||
import createChangeHandler from '../lib/create_change_handler';
|
||||
import createSelectHandler from '../lib/create_select_handler';
|
||||
|
||||
function CumlativeSumAgg(props) {
|
||||
function CumulativeSumAgg(props) {
|
||||
const { model, siblings } = props;
|
||||
const handleChange = createChangeHandler(props.onChange, model);
|
||||
const handleSelectChange = createSelectHandler(handleChange);
|
||||
|
@ -60,7 +60,7 @@ function CumlativeSumAgg(props) {
|
|||
|
||||
}
|
||||
|
||||
CumlativeSumAgg.propTypes = {
|
||||
CumulativeSumAgg.propTypes = {
|
||||
disableDelete: PropTypes.bool,
|
||||
fields: PropTypes.object,
|
||||
model: PropTypes.object,
|
||||
|
@ -72,4 +72,4 @@ CumlativeSumAgg.propTypes = {
|
|||
siblings: PropTypes.array,
|
||||
};
|
||||
|
||||
export default CumlativeSumAgg;
|
||||
export default CumulativeSumAgg;
|
||||
|
|
|
@ -93,7 +93,7 @@ class MathAgg extends Component {
|
|||
{model.script}
|
||||
</textarea>
|
||||
<div className="vis_editor__note" id="mathExpressionDescription">
|
||||
This field uses basic math expresions (see{' '}
|
||||
This field uses basic math expressions (see{' '}
|
||||
<a
|
||||
href="https://github.com/elastic/tinymath/blob/master/docs/functions.md"
|
||||
target="_blank"
|
||||
|
|
|
@ -45,7 +45,7 @@ function SeriesAgg(props) {
|
|||
{ label: 'Overall Max', value: 'overall_max' },
|
||||
{ label: 'Overall Min', value: 'overall_min' },
|
||||
{ label: 'Overall Avg', value: 'overall_avg' },
|
||||
{ label: 'Cumlative Sum', value: 'cumlative_sum' },
|
||||
{ label: 'Cumulative Sum', value: 'cumulative_sum' },
|
||||
];
|
||||
const selectedFunctionOption = functionOptions.find(option => {
|
||||
return model.function === option.value;
|
||||
|
|
|
@ -30,7 +30,7 @@ class ColorPicker extends Component {
|
|||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
displayPlicker: false,
|
||||
displayPicker: false,
|
||||
color: {}
|
||||
};
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ class ColorRules extends Component {
|
|||
};
|
||||
const htmlId = htmlIdGenerator(model.id);
|
||||
const selectedOperatorOption = operatorOptions.find(option => {
|
||||
return model.opperator === option.value;
|
||||
return model.operator === option.value;
|
||||
});
|
||||
|
||||
let secondary;
|
||||
|
@ -96,7 +96,7 @@ class ColorRules extends Component {
|
|||
id={htmlId('ifMetricIs')}
|
||||
options={operatorOptions}
|
||||
selectedOptions={selectedOperatorOption ? [selectedOperatorOption] : []}
|
||||
onChange={this.handleChange(model, 'opperator')}
|
||||
onChange={this.handleChange(model, 'operator')}
|
||||
singleSelection={true}
|
||||
/>
|
||||
</div>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue