Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added documentation for htmlIdGenerator #3076

Merged
merged 30 commits into from
Mar 27, 2020
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
6e250ab
added documentation for htmlIdGenerator
anishagg17 Mar 14, 2020
e3dafb2
use lables and formRow
anishagg17 Mar 18, 2020
5235577
only one exapmle per section
anishagg17 Mar 19, 2020
5320d37
Update src-docs/src/views/html_id_generator/html_id_generator_example.js
anishagg17 Mar 19, 2020
b57fbea
Update src-docs/src/views/html_id_generator/bothPrefixSuffix.js
anishagg17 Mar 19, 2020
3a73690
Update src-docs/src/views/html_id_generator/html_id_generator_example.js
anishagg17 Mar 19, 2020
d370ccb
Update src-docs/src/views/html_id_generator/html_id_generator_example.js
anishagg17 Mar 19, 2020
78ac3cb
Update src-docs/src/views/html_id_generator/html_id_generator_example.js
anishagg17 Mar 19, 2020
49d23f2
Update src-docs/src/views/html_id_generator/html_id_generator_example.js
anishagg17 Mar 19, 2020
d3bbc57
Update src-docs/src/views/html_id_generator/html_id_generator_example.js
anishagg17 Mar 19, 2020
bdb0935
Update src-docs/src/views/html_id_generator/html_id_generator_example.js
anishagg17 Mar 19, 2020
34633f1
Update src-docs/src/views/html_id_generator/htmlIdGeneratorPrefix.js
anishagg17 Mar 19, 2020
e196fec
Update src-docs/src/views/html_id_generator/htmlIdGeneratorSuffix.js
anishagg17 Mar 19, 2020
259d564
added snippets
anishagg17 Mar 19, 2020
ace212e
improved description
anishagg17 Mar 19, 2020
ba7472a
updated description
anishagg17 Mar 20, 2020
a1a90ea
Update src-docs/src/views/html_id_generator/html_id_generator_example.js
anishagg17 Mar 20, 2020
40b74c0
Update src-docs/src/views/html_id_generator/html_id_generator_example.js
anishagg17 Mar 20, 2020
f983ea1
Update src-docs/src/views/html_id_generator/html_id_generator_example.js
anishagg17 Mar 20, 2020
84dda40
updated ID generattor
anishagg17 Mar 20, 2020
ae5fbe5
added _ to prefix
anishagg17 Mar 21, 2020
a86ca30
updated generator
anishagg17 Mar 24, 2020
77cec44
Update src-docs/src/views/html_id_generator/html_id_generator_example.js
cchaos Mar 25, 2020
831a8ca
added change Log
anishagg17 Mar 26, 2020
ec6f469
Merge branch 'master' into util
anishagg17 Mar 26, 2020
271111b
Merge branch 'master' into util
anishagg17 Mar 26, 2020
ff2451f
Merge branch 'master' into util
anishagg17 Mar 26, 2020
eee7099
Merge branch 'master' into util
anishagg17 Mar 27, 2020
138862f
Merge branch 'master' into util
cchaos Mar 27, 2020
4051cac
Merge branch 'master' into util
cchaos Mar 27, 2020
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
3 changes: 3 additions & 0 deletions src-docs/src/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,8 @@ import { HighlightAndMarkExample } from './views/highlight_and_mark/highlight_an

import { HorizontalRuleExample } from './views/horizontal_rule/horizontal_rule_example';

import { HtmlIdGeneratorExample } from './views/html_id_generator/html_id_generator_example';

import { I18nExample } from './views/i18n/i18n_example';

import { IconExample } from './views/icon/icon_example';
Expand Down Expand Up @@ -414,6 +416,7 @@ const navigation = [
ErrorBoundaryExample,
FocusTrapExample,
HighlightAndMarkExample,
HtmlIdGeneratorExample,
InnerTextExample,
I18nExample,
IsColorDarkExample,
Expand Down
77 changes: 77 additions & 0 deletions src-docs/src/views/html_id_generator/bothPrefixSuffix.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
import React, { Component, Fragment } from 'react';

import {
EuiFieldText,
EuiFlexGroup,
EuiFlexItem,
EuiSpacer,
EuiCode,
EuiFormRow,
} from '../../../../src/components';
import { htmlIdGenerator } from '../../../../src/services';

export class PrefixSufix extends Component {
constructor(props) {
super(props);

this.state = {
prefix: 'Some',
suffix: 'Id',
id1: htmlIdGenerator('Some')('Id'),
};
}

onPrefixChange = e => {
const prefix = e.target.value;
const { suffix } = this.state;

this.setState({
prefix,
id1: htmlIdGenerator(prefix)(suffix),
});
};

onSuffixChange = e => {
const suffix = e.target.value;
const { prefix } = this.state;

this.setState({
suffix,
id1: htmlIdGenerator(prefix)(suffix),
});
};

render() {
const { prefix, suffix, id1 } = this.state;
return (
<Fragment>
<EuiFlexGroup
justifyContent="flexStart"
gutterSize="m"
alignItems="center">
<EuiFlexItem grow={false}>
<EuiFormRow label="Prefix">
<EuiFieldText
value={prefix}
onChange={this.onPrefixChange}
placeholder="Enter prefix"
/>
</EuiFormRow>
</EuiFlexItem>
<EuiFlexItem grow={false}>
<EuiFormRow label="Suffix">
<EuiFieldText
value={suffix}
onChange={this.onSuffixChange}
placeholder="Enter suffix"
/>
</EuiFormRow>
</EuiFlexItem>
</EuiFlexGroup>
<EuiSpacer size="m" />
<EuiSpacer size="m" />
anishagg17 marked this conversation as resolved.
Show resolved Hide resolved
<EuiCode>{id1} </EuiCode>
</Fragment>
);
}
}
43 changes: 43 additions & 0 deletions src-docs/src/views/html_id_generator/htmlIdGenerator.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import React, { Component, Fragment } from 'react';

import {
EuiFlexGroup,
EuiFlexItem,
EuiButton,
EuiCode,
} from '../../../../src/components';

import { htmlIdGenerator } from '../../../../src/services';

export default class extends Component {
constructor(props) {
super(props);

this.state = {
value: htmlIdGenerator()(),
};
}

reGenerate = () => {
this.setState({ value: htmlIdGenerator()() });
};

render() {
const { value } = this.state;
return (
<Fragment>
<EuiFlexGroup
justifyContent="flexStart"
gutterSize="m"
alignItems="center">
<EuiFlexItem grow={false}>
<EuiCode>{value}</EuiCode>
</EuiFlexItem>
<EuiFlexItem grow={false}>
<EuiButton onClick={this.reGenerate}>Regenerate</EuiButton>
</EuiFlexItem>
</EuiFlexGroup>
</Fragment>
);
}
}
55 changes: 55 additions & 0 deletions src-docs/src/views/html_id_generator/htmlIdGeneratorPrefix.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import React, { Component, Fragment } from 'react';

import {
EuiFieldText,
EuiFlexGroup,
EuiFlexItem,
EuiSpacer,
EuiCode,
EuiFormRow,
} from '../../../../src/components';
import { htmlIdGenerator } from '../../../../src/services';

export class HtmlIdGeneratorPrefix extends Component {
constructor(props) {
super(props);

this.state = {
prefix: 'Id',
id1: htmlIdGenerator('Id')(),
};
}

onSearchChange = e => {
const prefix = e.target.value;
this.setState({
prefix,
id1: htmlIdGenerator(prefix)(),
});
};

render() {
const { prefix, id1 } = this.state;
return (
<Fragment>
<EuiFlexGroup
justifyContent="flexStart"
gutterSize="m"
alignItems="center">
<EuiFlexItem grow={false}>
<EuiFormRow label="Prefix">
<EuiFieldText
value={prefix}
onChange={this.onSearchChange}
placeholder="Enter prefix"
/>
</EuiFormRow>
</EuiFlexItem>
</EuiFlexGroup>
<EuiSpacer size="m" />
<EuiSpacer size="m" />
anishagg17 marked this conversation as resolved.
Show resolved Hide resolved
<EuiCode>{id1} </EuiCode>
</Fragment>
);
}
}
55 changes: 55 additions & 0 deletions src-docs/src/views/html_id_generator/htmlIdGeneratorSuffix.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import React, { Component, Fragment } from 'react';

import {
EuiFieldText,
EuiFlexGroup,
EuiFlexItem,
EuiSpacer,
EuiCode,
EuiFormRow,
} from '../../../../src/components';
import { htmlIdGenerator } from '../../../../src/services';

export class HtmlIdGeneratorSuffix extends Component {
constructor(props) {
super(props);

this.state = {
suffix: 'Id',
id1: htmlIdGenerator()('Id'),
};
}

onSuffixChange = e => {
const suffix = e.target.value;
this.setState({
suffix,
id1: htmlIdGenerator()(suffix),
});
};

render() {
const { suffix, id1 } = this.state;
return (
<Fragment>
<EuiFlexGroup
justifyContent="flexStart"
gutterSize="m"
alignItems="center">
<EuiFlexItem grow={false}>
<EuiFormRow label="Suffix">
<EuiFieldText
value={suffix}
onChange={this.onSuffixChange}
placeholder="Enter suffix"
/>
</EuiFormRow>
</EuiFlexItem>
</EuiFlexGroup>
<EuiSpacer size="m" />
<EuiSpacer size="m" />
anishagg17 marked this conversation as resolved.
Show resolved Hide resolved
<EuiCode>{id1} </EuiCode>
</Fragment>
);
}
}
109 changes: 109 additions & 0 deletions src-docs/src/views/html_id_generator/html_id_generator_example.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
import React from 'react';

import { renderToHtml } from '../../services';

import { GuideSectionTypes } from '../../components';
import { EuiCode } from '../../../../src/components';

import IdGenerator from './htmlIdGenerator';
import { HtmlIdGeneratorPrefix } from './htmlIdGeneratorPrefix';
import { HtmlIdGeneratorSuffix } from './htmlIdGeneratorSuffix';
import { PrefixSufix } from './bothPrefixSuffix';

const htmlIdGeneratorSource = require('!!raw-loader!./htmlIdGenerator');
const htmlIdGeneratorHtml = renderToHtml(IdGenerator);

const htmlIdGeneratorPrefixSource = require('!!raw-loader!./htmlIdGeneratorPrefix');
const htmlIdGeneratorPrefixHtml = renderToHtml(HtmlIdGeneratorPrefix);

const HtmlIdGeneratorSuffixSource = require('!!raw-loader!./htmlIdGeneratorSuffix');
const HtmlIdGeneratorSuffixHtml = renderToHtml(HtmlIdGeneratorSuffix);

const PrefixSufixSource = require('!!raw-loader!./bothPrefixSuffix');
const PrefixSufixHtml = renderToHtml(PrefixSufix);

export const HtmlIdGeneratorExample = {
anishagg17 marked this conversation as resolved.
Show resolved Hide resolved
title: 'Html Id Generator',
sections: [
{
title: 'Id Generator',
anishagg17 marked this conversation as resolved.
Show resolved Hide resolved
source: [
{
type: GuideSectionTypes.JS,
code: htmlIdGeneratorSource,
},
{
type: GuideSectionTypes.HTML,
code: htmlIdGeneratorHtml,
},
],
text: (
<p>
Use <EuiCode>HtmlIdGenerator</EuiCode> to generate unique ID and avoid
accessibility issues.
</p>
anishagg17 marked this conversation as resolved.
Show resolved Hide resolved
),
demo: <IdGenerator />,
},
{
title: 'Id Generator with prefix',
anishagg17 marked this conversation as resolved.
Show resolved Hide resolved
source: [
{
type: GuideSectionTypes.JS,
code: htmlIdGeneratorPrefixSource,
},
{
type: GuideSectionTypes.HTML,
code: htmlIdGeneratorPrefixHtml,
},
],
text: (
<p>
Provide <EuiCode>prefix</EuiCode> to generator to get ID with a
specific prefix.
anishagg17 marked this conversation as resolved.
Show resolved Hide resolved
</p>
),
demo: <HtmlIdGeneratorPrefix />,
},
{
title: 'Id Generator with suffix',
anishagg17 marked this conversation as resolved.
Show resolved Hide resolved
source: [
{
type: GuideSectionTypes.JS,
code: HtmlIdGeneratorSuffixSource,
},
{
type: GuideSectionTypes.HTML,
code: HtmlIdGeneratorSuffixHtml,
},
],
text: (
<p>
Provide <EuiCode>suffix</EuiCode> to generator to get ID with a
specific suffix.
anishagg17 marked this conversation as resolved.
Show resolved Hide resolved
</p>
),
demo: <HtmlIdGeneratorSuffix />,
},
{
title: 'Id Generator with both prefix and sufix',
anishagg17 marked this conversation as resolved.
Show resolved Hide resolved
source: [
{
type: GuideSectionTypes.JS,
code: PrefixSufixSource,
},
{
type: GuideSectionTypes.HTML,
code: PrefixSufixHtml,
},
],
text: (
<p>
HtmlIdGenerator is caplable of generating ID with specific prefix and
suffix.
anishagg17 marked this conversation as resolved.
Show resolved Hide resolved
</p>
),
demo: <PrefixSufix />,
},
],
};