mirror of
https://github.com/strapi/strapi.git
synced 2025-12-27 15:13:21 +00:00
Update context api
This commit is contained in:
parent
0592f5a32e
commit
62862f07c5
@ -17,7 +17,7 @@ MarketPlaceContextProvider.defaultProps = {};
|
||||
|
||||
MarketPlaceContextProvider.propTypes = {
|
||||
children: PropTypes.node.isRequired,
|
||||
dowloadPlugin: PropTypes.func.isRequired,
|
||||
downloadPlugin: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
export {
|
||||
|
||||
@ -11,11 +11,14 @@ import { CopyToClipboard } from 'react-copy-to-clipboard';
|
||||
import moment from 'moment';
|
||||
|
||||
import { IcoContainer, PopUpWarning } from 'strapi-helper-plugin';
|
||||
import { HomePageContext } from '../../contexts/HomePage';
|
||||
import FileIcon from '../FileIcon';
|
||||
import { StyledLi, Truncate, Wrapper, Checked } from './components';
|
||||
|
||||
/* eslint-disable react/no-string-refs */
|
||||
class Li extends React.Component {
|
||||
static contextType = HomePageContext;
|
||||
|
||||
state = { isOpen: false, copied: false };
|
||||
|
||||
componentDidUpdate(prevProps, prevState) {
|
||||
@ -159,10 +162,6 @@ class Li extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
Li.contextTypes = {
|
||||
deleteData: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
Li.defaultProps = {
|
||||
item: {
|
||||
type: 'pdf',
|
||||
|
||||
@ -20,6 +20,7 @@ import {
|
||||
} from 'strapi-helper-plugin';
|
||||
|
||||
import pluginId from '../../pluginId';
|
||||
import { HomePageContextProvider } from '../../contexts/HomePage';
|
||||
|
||||
// Plugin's component
|
||||
import EntriesNumber from '../../components/EntriesNumber';
|
||||
@ -40,10 +41,6 @@ import reducer from './reducer';
|
||||
import saga from './saga';
|
||||
|
||||
export class HomePage extends React.Component {
|
||||
getChildContext = () => ({
|
||||
deleteData: this.props.deleteData,
|
||||
});
|
||||
|
||||
UNSAFE_componentWillMount() {
|
||||
if (!isEmpty(this.props.location.search)) {
|
||||
const _page = parseInt(this.getURLParams('_page'), 10);
|
||||
@ -112,26 +109,27 @@ export class HomePage extends React.Component {
|
||||
|
||||
render() {
|
||||
return (
|
||||
<ContainerFluid>
|
||||
<Wrapper>
|
||||
<PluginHeader
|
||||
title={{
|
||||
id: 'upload.HomePage.title',
|
||||
}}
|
||||
description={{
|
||||
id: 'upload.HomePage.description',
|
||||
}}
|
||||
overrideRendering={this.renderInputSearch}
|
||||
<HomePageContextProvider deleteData={this.props.deleteData}>
|
||||
<ContainerFluid>
|
||||
<Wrapper>
|
||||
<PluginHeader
|
||||
title={{
|
||||
id: 'upload.HomePage.title',
|
||||
}}
|
||||
description={{
|
||||
id: 'upload.HomePage.description',
|
||||
}}
|
||||
overrideRendering={this.renderInputSearch}
|
||||
/>
|
||||
</Wrapper>
|
||||
<PluginInputFile
|
||||
name="files"
|
||||
onDrop={this.props.onDrop}
|
||||
showLoader={this.props.uploadFilesLoading}
|
||||
/>
|
||||
</Wrapper>
|
||||
<PluginInputFile
|
||||
name="files"
|
||||
onDrop={this.props.onDrop}
|
||||
showLoader={this.props.uploadFilesLoading}
|
||||
/>
|
||||
<EntriesWrapper>
|
||||
<div>
|
||||
{/* NOTE: Prepare for bulk actions}
|
||||
<EntriesWrapper>
|
||||
<div>
|
||||
{/* NOTE: Prepare for bulk actions}
|
||||
<InputSelect
|
||||
name="bulkAction"
|
||||
onChange={() => console.log('change')}
|
||||
@ -139,31 +137,28 @@ export class HomePage extends React.Component {
|
||||
style={{ minWidth: '200px', height: '32px', marginTop: '-8px' }}
|
||||
/>
|
||||
*/}
|
||||
</div>
|
||||
<EntriesNumber number={this.props.entriesNumber} />
|
||||
</EntriesWrapper>
|
||||
<List
|
||||
data={this.props.uploadedFiles}
|
||||
changeSort={this.changeSort}
|
||||
sort={this.props.params._sort}
|
||||
/>
|
||||
<div className="col-md-12">
|
||||
<PageFooter
|
||||
count={this.props.entriesNumber}
|
||||
context={{ emitEvent: () => {} }}
|
||||
onChangeParams={this.handleChangeParams}
|
||||
params={this.props.params}
|
||||
</div>
|
||||
<EntriesNumber number={this.props.entriesNumber} />
|
||||
</EntriesWrapper>
|
||||
<List
|
||||
data={this.props.uploadedFiles}
|
||||
changeSort={this.changeSort}
|
||||
sort={this.props.params._sort}
|
||||
/>
|
||||
</div>
|
||||
</ContainerFluid>
|
||||
<div className="col-md-12">
|
||||
<PageFooter
|
||||
count={this.props.entriesNumber}
|
||||
context={{ emitEvent: () => {} }}
|
||||
onChangeParams={this.handleChangeParams}
|
||||
params={this.props.params}
|
||||
/>
|
||||
</div>
|
||||
</ContainerFluid>
|
||||
</HomePageContextProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
HomePage.childContextTypes = {
|
||||
deleteData: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
HomePage.defaultProps = {
|
||||
params: {
|
||||
_limit: 10,
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
import React, { createContext, useContext } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
const HomePageContext = createContext({});
|
||||
|
||||
const HomePageContextProvider = ({ children, ...rest }) => {
|
||||
return (
|
||||
<HomePageContext.Provider value={rest}>{children}</HomePageContext.Provider>
|
||||
);
|
||||
};
|
||||
|
||||
const useHomePageContext = () => useContext(HomePageContext);
|
||||
|
||||
HomePageContextProvider.defaultProps = {};
|
||||
|
||||
HomePageContextProvider.propTypes = {
|
||||
children: PropTypes.node.isRequired,
|
||||
deleteData: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
export { HomePageContext, HomePageContextProvider, useHomePageContext };
|
||||
Loading…
x
Reference in New Issue
Block a user