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

EuiDelayRender #1876

Merged
merged 24 commits into from
Jun 3, 2019
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
1098550
filter toggle buttons are labeled now as proper aria toggle buttons =…
PhilippBaranovskiy Apr 23, 2019
4999ac0
Introduces delay render component (similar to delay hide), which allo…
PhilippBaranovskiy Apr 23, 2019
b1b0b88
PR snapshots updates
PhilippBaranovskiy Apr 23, 2019
353895d
Merge branch 'master' into 749
PhilippBaranovskiy Apr 23, 2019
6bf2976
Adjusting delay timout to 500ms
PhilippBaranovskiy Apr 23, 2019
d2810f1
PR snapshots updates
PhilippBaranovskiy Apr 23, 2019
2dd03cd
put aria-label atts back as they are no longer needed
PhilippBaranovskiy Apr 23, 2019
1b7a592
review edits
PhilippBaranovskiy May 6, 2019
3c27943
Merge branch 'master' into 749
PhilippBaranovskiy May 6, 2019
6be035c
following up feedback comments
PhilippBaranovskiy May 7, 2019
b311622
following up feedback comments
PhilippBaranovskiy May 7, 2019
f1e0c93
...
PhilippBaranovskiy May 7, 2019
7fc3dec
Merge branch 'master' into 749
PhilippBaranovskiy May 13, 2019
35f536d
update snapshot
PhilippBaranovskiy May 13, 2019
d4ff07b
set initial render as delayed
PhilippBaranovskiy May 13, 2019
d32b799
update documentation
PhilippBaranovskiy May 13, 2019
c17604b
update change log
PhilippBaranovskiy May 13, 2019
4c00a6c
string parameters conversion, snapshot updating
PhilippBaranovskiy May 14, 2019
7b38907
update snapshots
PhilippBaranovskiy May 22, 2019
a229f79
Merge branch 'master' into 749
PhilippBaranovskiy May 22, 2019
06e7fca
Merge branch 'master' into 749
PhilippBaranovskiy May 23, 2019
2cd2630
Merge branch 'master' into 749
PhilippBaranovskiy May 30, 2019
426ef3b
Merge branch 'master' into 749
PhilippBaranovskiy May 31, 2019
ba897c7
Merge branch 'master' into 749
PhilippBaranovskiy Jun 1, 2019
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 CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
- Added ability to update `EuiInMemoryTable` `sorting` prop and remove columns after sorting is applied ([#1972](https://github.com/elastic/eui/pull/1972))
- Added `onToggle` callback to `EuiAccordion` ([#1974](https://github.com/elastic/eui/pull/1974))
- Removed `options` `defaultProps` value from `EuiSuperSelect` ([#1975](https://github.com/elastic/eui/pull/1975))
- Added new component "Delay Render" ([#1876](https://github.com/elastic/eui/pull/1876))

**Bug fixes**

Expand Down
2 changes: 2 additions & 0 deletions src-docs/src/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ import { CopyExample } from './views/copy/copy_example';
import { DatePickerExample } from './views/date_picker/date_picker_example';

import { DelayHideExample } from './views/delay_hide/delay_hide_example';
import { DelayRenderExample } from './views/delay_render/delay_render_example';

import { DescriptionListExample } from './views/description_list/description_list_example';

Expand Down Expand Up @@ -366,6 +367,7 @@ const navigation = [
CopyExample,
UtilityClassesExample,
DelayHideExample,
DelayRenderExample,
ErrorBoundaryExample,
FocusTrapExample,
HighlightExample,
Expand Down
59 changes: 59 additions & 0 deletions src-docs/src/views/delay_render/delay_render.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import React, { Component, Fragment } from 'react';
import {
EuiDelayRender,
EuiFlexItem,
EuiCheckbox,
EuiFormRow,
EuiFieldNumber,
EuiLoadingSpinner,
} from '../../../../src/components';

export default class extends Component {
state = {
minimumDelay: 3000,
render: false,
};

onChangeMinimumDelay = event => {
this.setState({ minimumDelay: parseInt(event.target.value, 10) });
};

onChangeHide = event => {
this.setState({ render: event.target.checked });
};

render() {
const status = this.state.render ? 'showing' : 'hidden';
const label = `Child (${status})`;
return (
<Fragment>
<EuiFlexItem>
<EuiFormRow>
<EuiCheckbox
id="dummy-id"
checked={this.state.render}
onChange={this.onChangeHide}
label="Show child"
/>
</EuiFormRow>
<EuiFormRow label="Minimum delay">
<EuiFieldNumber
value={this.state.minimumDelay}
onChange={this.onChangeMinimumDelay}
/>
</EuiFormRow>

<EuiFormRow label={label}>
{this.state.render ? (
<EuiDelayRender delay={this.state.minimumDelay}>
<EuiLoadingSpinner size="m" />
</EuiDelayRender>
) : (
<Fragment />
)}
</EuiFormRow>
</EuiFlexItem>
</Fragment>
);
}
}
37 changes: 37 additions & 0 deletions src-docs/src/views/delay_render/delay_render_example.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import React from 'react';
import DelayRender from './delay_render';
import { GuideSectionTypes } from '../../components';
import { EuiCode, EuiDelayRender } from '../../../../src/components';
import { renderToHtml } from '../../services';

const delayRenderSource = require('!!raw-loader!./delay_render');
const delayRenderHtml = renderToHtml(DelayRender);

export const DelayRenderExample = {
title: 'Delay Render',
sections: [
{
source: [
{
type: GuideSectionTypes.JS,
code: delayRenderSource,
},
{
type: GuideSectionTypes.HTML,
code: delayRenderHtml,
},
],
text: (
<p>
<EuiCode>EuiDelayRender</EuiCode> is a component for conditionally
toggling the visibility of a child component. It will ensure that the
child is hidden for at least 500ms (default). This allows delay UI
rendering. That is helpful when you need to update aria live region(s)
repeatedly.
</p>
),
props: { EuiDelayRender },
demo: <DelayRender />,
},
],
};
Loading