Răsfoiți Sursa

add toaster

itizawa 5 ani în urmă
părinte
comite
d5b2c5948a

+ 2 - 1
resource/locales/en-US/translation.json

@@ -337,7 +337,8 @@
     "activate_user_success": "Succeeded to activating {{username}}",
     "activate_user_success": "Succeeded to activating {{username}}",
     "deactivate_user_success": "Succeeded to deactivate {{username}}",
     "deactivate_user_success": "Succeeded to deactivate {{username}}",
     "remove_user_success": "Succeeded to removing {{username}} ",
     "remove_user_success": "Succeeded to removing {{username}} ",
-    "remove_external_user_success": "Succeeded to remove {{accountId}} "
+    "remove_external_user_success": "Succeeded to remove {{accountId}} ",
+    "issue_share_link": "Succeeded to issue new share link"
   },
   },
   "template": {
   "template": {
     "modal_label": {
     "modal_label": {

+ 2 - 1
resource/locales/ja/translation.json

@@ -335,7 +335,8 @@
     "activate_user_success": "{{username}}を有効化しました",
     "activate_user_success": "{{username}}を有効化しました",
     "deactivate_user_success": "{{username}}を無効化しました",
     "deactivate_user_success": "{{username}}を無効化しました",
     "remove_user_success": "{{username}}を削除しました",
     "remove_user_success": "{{username}}を削除しました",
-    "remove_external_user_success": "{{accountId}}を削除しました"
+    "remove_external_user_success": "{{accountId}}を削除しました",
+    "issue_share_link": "共有リンクを作成しました"
   },
   },
   "template": {
   "template": {
     "modal_label": {
     "modal_label": {

+ 25 - 4
src/client/js/components/ShareLinkForm.jsx

@@ -1,10 +1,13 @@
 import React from 'react';
 import React from 'react';
+import PropTypes from 'prop-types';
 
 
 import { withTranslation } from 'react-i18next';
 import { withTranslation } from 'react-i18next';
 import dateFnsFormat from 'date-fns/format';
 import dateFnsFormat from 'date-fns/format';
 
 
 import { createSubscribedElement } from './UnstatedUtils';
 import { createSubscribedElement } from './UnstatedUtils';
 
 
+import { toastSuccess, toastError } from '../util/apiNotification';
+
 import AppContainer from '../services/AppContainer';
 import AppContainer from '../services/AppContainer';
 import PageContainer from '../services/PageContainer';
 import PageContainer from '../services/PageContainer';
 
 
@@ -66,10 +69,19 @@ class ShareLinkForm extends React.Component {
     this.setState({ customExpirationTime });
     this.setState({ customExpirationTime });
   }
   }
 
 
-  handleIssueShareLink() {
-    // use these options
-    console.log(this.state);
-    console.log('発行する!');
+  async handleIssueShareLink() {
+    const { t } = this.props;
+    try {
+      // use these options
+      console.log(this.state);
+      console.log('発行する!');
+      // const username = await this.props.adminUsersContainer.giveUserAdmin(this.props.user._id);
+      toastSuccess(t('toaster.issue_share_link'));
+    }
+    catch (err) {
+      toastError(err);
+    }
+
   }
   }
 
 
   renderExpirationTypeOptions() {
   renderExpirationTypeOptions() {
@@ -190,4 +202,13 @@ const ShareLinkFormWrapper = (props) => {
   return createSubscribedElement(ShareLinkForm, props, [AppContainer, PageContainer]);
   return createSubscribedElement(ShareLinkForm, props, [AppContainer, PageContainer]);
 };
 };
 
 
+ShareLinkForm.propTypes = {
+  t: PropTypes.func.isRequired, // i18next
+  appContainer: PropTypes.instanceOf(AppContainer).isRequired,
+  pageContainer: PropTypes.instanceOf(PageContainer).isRequired,
+
+  user: PropTypes.object.isRequired,
+};
+
+
 export default withTranslation()(ShareLinkFormWrapper);
 export default withTranslation()(ShareLinkFormWrapper);