Просмотр исходного кода

enabled GridDivisionMenu to update state

ryohek 5 лет назад
Родитель
Сommit
a18ba664ad
1 измененных файлов с 64 добавлено и 34 удалено
  1. 64 34
      src/client/js/components/PageEditor/GridEditModal.jsx

+ 64 - 34
src/client/js/components/PageEditor/GridEditModal.jsx

@@ -26,13 +26,12 @@ export default class GridEditModal extends React.Component {
     this.checkResposiveSize = this.checkResposiveSize.bind(this);
     this.checkResposiveSize = this.checkResposiveSize.bind(this);
   }
   }
 
 
-  async checkResposiveSize(responsiveSize) {
-    await this.setState({ responsiveSize });
+  async checkResposiveSize(rs) {
+    await this.setState({ responsiveSize: rs });
   }
   }
 
 
-  async checkColsRatios(colsRatios) {
-    console.log(colsRatios);
-    await this.setState({ colsRatios });
+  async checkColsRatios(cr) {
+    await this.setState({ colsRatios: cr });
   }
   }
 
 
   showGridPattern() {
   showGridPattern() {
@@ -77,6 +76,34 @@ export default class GridEditModal extends React.Component {
     this.cancel();
     this.cancel();
   }
   }
 
 
+  GridDivisionMenu() {
+    const gridDivisions = geu.mappingAllGridDivisionPatterns;
+    return (
+      <div className="container">
+        <div className="row">
+          {gridDivisions.map((gridDivion, i) => {
+            return (
+              <div className="col-md-4 text-center">
+                <h6 className="dropdown-header">{i + 2}分割</h6>
+                {gridDivion.map((gridOneDivision) => {
+                  return (
+                    <button className="dropdown-item" onClick={() => { this.checkColsRatios(gridOneDivision) }}>
+                      <div className="row">
+                        {gridOneDivision.map((gtd) => {
+                          const className = `bg-info col-${gtd} border`;
+                          return <span className={className}>{gtd}</span>;
+                        })}
+                      </div>
+                    </button>
+                  );
+                })}
+              </div>
+            );
+          })}
+        </div>
+      </div>
+    );
+  }
 
 
   render() {
   render() {
     return (
     return (
@@ -102,7 +129,7 @@ export default class GridEditModal extends React.Component {
                   {this.showGridPattern()}
                   {this.showGridPattern()}
                 </button>
                 </button>
                 <div className="dropdown-menu grid-division-menu" aria-labelledby="dropdownMenuButton">
                 <div className="dropdown-menu grid-division-menu" aria-labelledby="dropdownMenuButton">
-                  <GridDivisionMenu />
+                  {this.GridDivisionMenu()}
                 </div>
                 </div>
               </div>
               </div>
               <div className="col-3 text-right pr-0">
               <div className="col-3 text-right pr-0">
@@ -115,6 +142,7 @@ export default class GridEditModal extends React.Component {
                       type="radio"
                       type="radio"
                       id="mobile"
                       id="mobile"
                       name="responsiveSize"
                       name="responsiveSize"
+                      className="custom-control-input"
                       value="mobile"
                       value="mobile"
                       onChange={() => { this.checkResposiveSize('mobile') }}
                       onChange={() => { this.checkResposiveSize('mobile') }}
                       checked={this.state.responsiveSize === 'mobile'}
                       checked={this.state.responsiveSize === 'mobile'}
@@ -128,6 +156,7 @@ export default class GridEditModal extends React.Component {
                       type="radio"
                       type="radio"
                       id="tablet"
                       id="tablet"
                       name="responsiveSize"
                       name="responsiveSize"
+                      className="custom-control-input"
                       value="tablet"
                       value="tablet"
                       onChange={() => { this.checkResposiveSize('tablet') }}
                       onChange={() => { this.checkResposiveSize('tablet') }}
                       checked={this.state.responsiveSize === 'tablet'}
                       checked={this.state.responsiveSize === 'tablet'}
@@ -141,6 +170,7 @@ export default class GridEditModal extends React.Component {
                       type="radio"
                       type="radio"
                       id="desktop"
                       id="desktop"
                       name="responsiveSize"
                       name="responsiveSize"
+                      className="custom-control-input"
                       value="desktop"
                       value="desktop"
                       onChange={() => { this.checkResposiveSize('desktop') }}
                       onChange={() => { this.checkResposiveSize('desktop') }}
                       checked={this.state.responsiveSize === 'desktop'}
                       checked={this.state.responsiveSize === 'desktop'}
@@ -185,34 +215,34 @@ export default class GridEditModal extends React.Component {
 
 
 }
 }
 
 
-function GridDivisionMenu() {
-  const gridDivisions = geu.mappingAllGridDivisionPatterns;
-  return (
-    <div className="container">
-      <div className="row">
-        {gridDivisions.map((gridDivion, i) => {
-          return (
-            <div className="col-md-4 text-center">
-              <h6 className="dropdown-header">{i + 2}分割</h6>
-              {gridDivion.map((gridOneDivision) => {
-                return (
-                  <a className="dropdown-item" href="#" onClick={() => { this.checkColsRatios(gridOneDivision) }}>
-                    <div className="row">
-                      {gridOneDivision.map((gtd) => {
-                        const className = `bg-info col-${gtd} border`;
-                        return <span className={className}>{gtd}</span>;
-                      })}
-                    </div>
-                  </a>
-                );
-              })}
-            </div>
-          );
-        })}
-      </div>
-    </div>
-  );
-}
+// GridDivisionMenu() {
+//   const gridDivisions = geu.mappingAllGridDivisionPatterns;
+//   return (
+//     <div className="container">
+//       <div className="row">
+//         {gridDivisions.map((gridDivion, i) => {
+//           return (
+//             <div className="col-md-4 text-center">
+//               <h6 className="dropdown-header">{i + 2}分割</h6>
+//               {gridDivion.map((gridOneDivision) => {
+//                 return (
+//                   <button className="dropdown-item" onClick={() => { this.checkColsRatios(gridOneDivision) }}>
+//                     <div className="row">
+//                       {gridOneDivision.map((gtd) => {
+//                         const className = `bg-info col-${gtd} border`;
+//                         return <span className={className}>{gtd}</span>;
+//                       })}
+//                     </div>
+//                   </button>
+//                 );
+//               })}
+//             </div>
+//           );
+//         })}
+//       </div>
+//     </div>
+//   );
+// }
 
 
 GridEditModal.propTypes = {
 GridEditModal.propTypes = {
   onSave: PropTypes.func,
   onSave: PropTypes.func,