Skip to content

Commit

Permalink
Remove extra external link in markdown editor (#86933)
Browse files Browse the repository at this point in the history
* Remove extra external icon

* Add unit tests

Co-authored-by: Kibana Machine <[email protected]>
  • Loading branch information
Daniil and kibanamachine authored Jan 5, 2021
1 parent f22e06e commit 4f9b0af
Show file tree
Hide file tree
Showing 3 changed files with 127 additions and 5 deletions.

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

56 changes: 56 additions & 0 deletions src/plugins/vis_type_markdown/public/markdown_options.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

import React from 'react';
import { shallow } from 'enzyme';

import { VisOptionsProps } from 'src/plugins/vis_default_editor/public';
import { MarkdownVisParams } from './types';
import { MarkdownOptions } from './markdown_options';

describe('MarkdownOptions', () => {
const props = ({
stateParams: {
fontSize: 12,
markdown: 'hello from 2020 🥳',
openLinksInNewTab: false,
},
setValue: jest.fn(),
} as unknown) as VisOptionsProps<MarkdownVisParams>;

it('should match snapshot', () => {
const comp = shallow(<MarkdownOptions {...props} />);
expect(comp).toMatchSnapshot();
});

it('should update markdown on change', () => {
const comp = shallow(<MarkdownOptions {...props} />);
const value = 'see you in 2021 😎';
const textArea = comp.find('EuiTextArea');
const onChange = textArea.prop('onChange');
onChange?.({
target: {
// @ts-expect-error
value,
},
});

expect(props.setValue).toHaveBeenCalledWith('markdown', value);
});
});
8 changes: 3 additions & 5 deletions src/plugins/vis_type_markdown/public/markdown_options.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import {
EuiPanel,
EuiTitle,
EuiLink,
EuiIcon,
EuiTextArea,
EuiFlexGroup,
EuiFlexItem,
Expand All @@ -35,7 +34,7 @@ import { MarkdownVisParams } from './types';

function MarkdownOptions({ stateParams, setValue }: VisOptionsProps<MarkdownVisParams>) {
const onMarkdownUpdate = useCallback(
(value: MarkdownVisParams['markdown']) => setValue('markdown', value),
({ target: { value } }: React.ChangeEvent<HTMLTextAreaElement>) => setValue('markdown', value),
[setValue]
);

Expand All @@ -61,8 +60,7 @@ function MarkdownOptions({ stateParams, setValue }: VisOptionsProps<MarkdownVisP
<FormattedMessage
id="visTypeMarkdown.params.helpLinkLabel"
defaultMessage="Help"
/>{' '}
<EuiIcon type="popout" size="s" />
/>
</EuiLink>
</EuiText>
</EuiFlexItem>
Expand All @@ -74,7 +72,7 @@ function MarkdownOptions({ stateParams, setValue }: VisOptionsProps<MarkdownVisP
id="markdownVisInput"
className="visEditor--markdown__textarea"
value={stateParams.markdown}
onChange={({ target: { value } }) => onMarkdownUpdate(value)}
onChange={onMarkdownUpdate}
fullWidth={true}
data-test-subj="markdownTextarea"
resize="none"
Expand Down

0 comments on commit 4f9b0af

Please sign in to comment.