Переглянути джерело

add method for expand grid on modal

ryohek 5 роки тому
батько
коміт
e4323d5db6

+ 10 - 0
src/client/js/components/PageEditor/GridEditModal.jsx

@@ -4,6 +4,7 @@ import PropTypes from 'prop-types';
 import {
   Modal, ModalHeader, ModalBody, ModalFooter,
 } from 'reactstrap';
+import geu from './GridEditorUtil';
 
 export default class GridEditModal extends React.PureComponent {
 
@@ -21,6 +22,7 @@ export default class GridEditModal extends React.PureComponent {
   }
 
   show() {
+    this.expandGridDiagram();
     this.setState({ show: true });
   }
 
@@ -41,6 +43,14 @@ export default class GridEditModal extends React.PureComponent {
     this.cancel();
   }
 
+  expandGridDiagram(isCursorInGrid, gridHtml) {
+    let gridFigureOnModal;
+    if (isCursorInGrid) {
+      gridFigureOnModal = gridHtml;
+      return gridFigureOnModal;
+    }
+  }
+
   showBgCols() {
     const cols = [];
     for (let i = 0; i < 12; i++) {

+ 7 - 1
src/client/js/components/PageEditor/GridEditorUtil.js

@@ -2,6 +2,7 @@
  * Utility for grid editor
  */
 class GridEditorUtil {
+
   constructor() {
     // TODO url
     this.lineBeginPartOfGridRE = /(<[^/].*>)/;
@@ -9,13 +10,15 @@ class GridEditorUtil {
     this.linePartOfGridRE = /(<[^/].*>)[\s\S]*<\/.*>$/;
     this.replaceGridWithHtmlWithEditor = this.replaceGridWithHtmlWithEditor.bind(this);
   }
+
   /**
    * return boolean value whether the cursor position is in a row
    */
   isInRow(editor) {
     const curPos = editor.getCursor();
     // return this.linePartOfTableRE.test(editor.getDoc().getLine(curPos.line));
-    return this.linePartOfRow.test(editor.getDoc().getLine(curPos.line));
+    console.log(this.linePartOfGridRE.test(editor.getDoc().getLine(curPos.line)));
+    return this.linePartOfGridRE.test(editor.getDoc().getLine(curPos.line));
   }
 
   /**
@@ -82,9 +85,12 @@ class GridEditorUtil {
 
   replaceGridWithHtmlWithEditor(editor, grid) {
     const curPos = editor.getCursor();
+    editor.getDoc().replaceRange(grid.toString(), this.getBog(editor), this.getEog(editor));
     editor.getDoc().setCursor(curPos.line + 1, 2);
   }
+
 }
+
 // singleton pattern
 const instance = new GridEditorUtil();
 Object.freeze(instance);