|
|
@@ -18,12 +18,19 @@ export default class AdminHomeContainer extends Container {
|
|
|
|
|
|
this.appContainer = appContainer;
|
|
|
|
|
|
+ this.copyStateValues = {
|
|
|
+ DEFAULT: 'default',
|
|
|
+ DONE: 'done',
|
|
|
+ };
|
|
|
+ this.timer = null;
|
|
|
+
|
|
|
this.state = {
|
|
|
retrieveError: null,
|
|
|
growiVersion: '',
|
|
|
nodeVersion: '',
|
|
|
npmVersion: '',
|
|
|
yarnVersion: '',
|
|
|
+ copyState: this.copyStateValues.DEFAULT,
|
|
|
installedPlugins: [],
|
|
|
};
|
|
|
|
|
|
@@ -36,6 +43,10 @@ export default class AdminHomeContainer extends Container {
|
|
|
return 'AdminHomeContainer';
|
|
|
}
|
|
|
|
|
|
+ componentWillUnmount() {
|
|
|
+ clearTimeout(this.timer);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* retrieve admin home data
|
|
|
*/
|
|
|
@@ -44,14 +55,15 @@ export default class AdminHomeContainer extends Container {
|
|
|
const response = await this.appContainer.apiv3.get('/admin-home/');
|
|
|
const { adminHomeParams } = response.data;
|
|
|
|
|
|
- this.setState({
|
|
|
+ this.setState(prevState => ({
|
|
|
+ ...prevState,
|
|
|
growiVersion: adminHomeParams.growiVersion,
|
|
|
nodeVersion: adminHomeParams.nodeVersion,
|
|
|
npmVersion: adminHomeParams.npmVersion,
|
|
|
yarnVersion: adminHomeParams.yarnVersion,
|
|
|
installedPlugins: adminHomeParams.installedPlugins,
|
|
|
envVars: adminHomeParams.envVars,
|
|
|
- });
|
|
|
+ }));
|
|
|
}
|
|
|
catch (err) {
|
|
|
logger.error(err);
|
|
|
@@ -59,4 +71,40 @@ export default class AdminHomeContainer extends Container {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * sets button text when copying system information
|
|
|
+ */
|
|
|
+ onCopyPrefilledHostInformation() {
|
|
|
+ this.setState(prevState => ({
|
|
|
+ ...prevState,
|
|
|
+ copyState: this.copyStateValues.DONE,
|
|
|
+ }));
|
|
|
+
|
|
|
+ this.timer = setTimeout(() => {
|
|
|
+ this.setState(prevState => ({
|
|
|
+ ...prevState,
|
|
|
+ copyState: this.copyStateValues.DEFAULT,
|
|
|
+ }));
|
|
|
+ }, 500);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * generates prefilled host information as markdown
|
|
|
+ */
|
|
|
+ generatePrefilledHostInformationMarkdown() {
|
|
|
+ return `| item | version |
|
|
|
+| --- | --- |
|
|
|
+|OS ||
|
|
|
+|GROWI |${this.state.growiVersion}|
|
|
|
+|node.js |${this.state.nodeVersion}|
|
|
|
+|npm |${this.state.npmVersion}|
|
|
|
+|yarn |${this.state.yarnVersion}|
|
|
|
+|Using Docker|yes/no|
|
|
|
+|Using [growi-docker-compose][growi-docker-compose]|yes/no|
|
|
|
+
|
|
|
+[growi-docker-compose]: https://github.com/weseek/growi-docker-compose
|
|
|
+
|
|
|
+*(Accessing https://{GROWI_HOST}/admin helps you to fill in above versions)*`;
|
|
|
+ }
|
|
|
+
|
|
|
}
|