ryuichi-e пре 5 година
родитељ
комит
8d6d9fc0b6

+ 1 - 1
src/client/js/components/Page/TrashPageAlert.jsx

@@ -49,7 +49,7 @@ const TrashPageAlert = (props) => {
 
   async function onClickPutbackBtn() {
     try {
-      await /* appContainer.apiv3Delete('/pages/empty-trash'); */ console.log('Pushed');
+      await /* appContainer.apiv3Delete('/pages/empty-trash'); */
       window.location.reload();
     }
     catch (err) {

+ 30 - 5
src/client/js/components/PutbackPageModal.jsx

@@ -7,22 +7,37 @@ import {
 
 import { withTranslation } from 'react-i18next';
 
+import { createSubscribedElement } from './UnstatedUtils';
+import PageContainer from '../services/PageContainer';
+
 const PutBackPageModal = (props) => {
   const {
-    t, isOpen, toggle, onClickSubmit,
+    t, isOpen, toggle, onClickSubmit, pageContainer,
   } = props;
 
+  const { path } = pageContainer.state;
+
   return (
     <Modal isOpen={isOpen} toggle={toggle} className="grw-create-page">
       <ModalHeader tag="h4" toggle={toggle} className="bg-info text-light">
-        { t('Put Back') }
+        <i className="icon-action-undo mr-2" aria-hidden="true"></i> { t('Put Back Page') }
       </ModalHeader>
       <ModalBody>
-        Hi threre!
+        <div className="form-group">
+          <label htmlFor="">Put back page:</label><br />
+          <code>{path}</code>
+        </div>
+        <div className="custom-control custom-checkbox custom-checkbox-warning">
+          <input className="custom-control-input" name="recursively" id="cbPutbackRecursively" value="1" type="checkbox" checked></input>
+          <label className="custom-control-label" htmlFor="cbPutbackRecursively">
+            { t('modal_putback.label.recursively') }
+            <p className="form-text text-muted mt-0">{ t('modal_putback.help.recursively', path) }</p>
+          </label>
+        </div>
       </ModalBody>
       <ModalFooter>
         <button type="button" className="btn btn-info" onClick={onClickSubmit}>
-          <i className="icon-trash mr-2" aria-hidden="true"></i>{ t('Put Back') }
+          <i className="icon-action-undo mr-2" aria-hidden="true"></i> { t('Put Back') }
         </button>
       </ModalFooter>
     </Modal>
@@ -30,12 +45,22 @@ const PutBackPageModal = (props) => {
 
 };
 
+/**
+ * Wrapper component for using unstated
+ */
+const PutBackPageModalWrapper = (props) => {
+  return createSubscribedElement(PutBackPageModal, props, [PageContainer]);
+};
+
 PutBackPageModal.propTypes = {
   t: PropTypes.func.isRequired, //  i18next
 
+  page: PropTypes.object.isRequired,
   isOpen: PropTypes.bool.isRequired,
   toggle: PropTypes.func.isRequired,
   onClickSubmit: PropTypes.func.isRequired,
+  pageContainer: PropTypes.instanceOf(PageContainer).isRequired,
 };
 
-export default withTranslation()(PutBackPageModal);
+
+export default withTranslation()(PutBackPageModalWrapper);