2019-04-02 14:06:44 +02:00
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* Initializer
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
2019-09-10 12:14:07 +02:00
|
|
|
|
import { useEffect, useRef } from 'react';
|
2019-04-02 14:06:44 +02:00
|
|
|
|
import PropTypes from 'prop-types';
|
2019-09-09 18:44:41 +02:00
|
|
|
|
import { request } from 'strapi-helper-plugin';
|
2019-04-02 14:06:44 +02:00
|
|
|
|
import pluginId from '../../pluginId';
|
|
|
|
|
|
2019-09-09 18:44:41 +02:00
|
|
|
|
const Initializer = ({ updatePlugin }) => {
|
|
|
|
|
const ref = useRef();
|
|
|
|
|
ref.current = updatePlugin;
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
const getData = async () => {
|
|
|
|
|
const requestURL = `/${pluginId}/content-types`;
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
const { data } = await request(requestURL, { method: 'GET' });
|
|
|
|
|
|
|
|
|
|
const menu = [
|
|
|
|
|
{
|
|
|
|
|
name: 'Content Types',
|
|
|
|
|
links: data,
|
|
|
|
|
},
|
|
|
|
|
];
|
2019-04-02 14:06:44 +02:00
|
|
|
|
|
2019-09-09 18:44:41 +02:00
|
|
|
|
ref.current(pluginId, 'leftMenuSections', menu);
|
2019-09-10 12:14:07 +02:00
|
|
|
|
ref.current(pluginId, 'isReady', true);
|
2019-09-09 18:44:41 +02:00
|
|
|
|
} catch (err) {
|
|
|
|
|
strapi.notification.error('content-manager.error.model.fetch');
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
getData();
|
|
|
|
|
}, []);
|
|
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
};
|
2019-04-02 14:06:44 +02:00
|
|
|
|
|
|
|
|
|
Initializer.propTypes = {
|
|
|
|
|
updatePlugin: PropTypes.func.isRequired,
|
|
|
|
|
};
|
|
|
|
|
|
2019-09-10 12:14:07 +02:00
|
|
|
|
export default Initializer;
|