Evo преди 4 години
родител
ревизия
d125718223
променени са 9 файла, в които са добавени 48 реда и са изтрити 20 реда
  1. 1
    0
      lib/App.js
  2. 1
    1
      lib/App.js.map
  3. 1
    1
      lib/components/EditComment/EditComment.js.map
  4. 30
    4
      lib/components/Editor/index.js
  5. 1
    1
      lib/components/Editor/index.js.map
  6. 3
    4
      lib/index.js
  7. 1
    1
      lib/index.js.map
  8. 4
    4
      lib/version.json
  9. 6
    4
      src/components/Editor/index.js

+ 1
- 0
lib/App.js Целия файл

@@ -745,6 +745,7 @@ var App = function (_Component) {
745 745
         sUpdateComment: this.sUpdateComment,
746 746
         handleEdit: this.handleEdit
747 747
       });
748
+
748 749
       return this.state.initDone && _react2.default.createElement(
749 750
         _Comment.CommentContext.Provider,
750 751
         { value: value },

+ 1
- 1
lib/App.js.map
Файловите разлики са ограничени, защото са твърде много
Целия файл


+ 1
- 1
lib/components/EditComment/EditComment.js.map
Файловите разлики са ограничени, защото са твърде много
Целия файл


+ 30
- 4
lib/components/Editor/index.js Целия файл

@@ -138,6 +138,7 @@ var Editor = function (_React$Component) {
138 138
     _this.handlePaste = _this.handlePaste.bind(_this);
139 139
     _this.resetState = _this.resetState.bind(_this);
140 140
     _this.handleEmojiScroll = _this.handleEmojiScroll.bind(_this);
141
+    _this.handlePressEnter = _this.handlePressEnter.bind(_this);
141 142
     return _this;
142 143
   }
143 144
 
@@ -400,6 +401,25 @@ var Editor = function (_React$Component) {
400 401
       }
401 402
       return true;
402 403
     }
404
+
405
+    /**
406
+     *  **处理Enter事件**
407
+     *  1. `allowEnterSubmit`为true时enter触发submit事件
408
+     *  2. `e.preventDefault`为了防止enter事件后仍触发换行
409
+     *  3. enter事件开启后,仍可以用`shift + enter`触发换行
410
+     *  -- evo 20200222
411
+     */
412
+
413
+  }, {
414
+    key: "handlePressEnter",
415
+    value: function handlePressEnter(e) {
416
+      if (this.props.allowEnterSubmit) {
417
+        if (!e.shiftKey) {
418
+          e.preventDefault();
419
+          this.handleSubmit();
420
+        }
421
+      }
422
+    }
403 423
   }, {
404 424
     key: "render",
405 425
     value: function render() {
@@ -431,6 +451,7 @@ var Editor = function (_React$Component) {
431 451
       var inputValue = value || this.state.value;
432 452
       var uploadFileList = fileList || this.state.fileList;
433 453
       var isLogin = app.currentUser && (app.currentUser.user_id > 0 || app.currentUser.id > 0);
454
+
434 455
       return _react2.default.createElement(
435 456
         "div",
436 457
         { className: "comment-editor-container", onPaste: this.handlePaste },
@@ -449,11 +470,12 @@ var Editor = function (_React$Component) {
449 470
             _react2.default.createElement(TextArea, {
450 471
               value: inputValue,
451 472
               onChange: function onChange(e) {
452
-                return _this4.handleChange(e.target.value);
473
+                _this4.handleChange(e.target.value);
453 474
               },
454 475
               rows: rows,
455 476
               placeholder: placeholder,
456
-              autoFocus: autoFocus
477
+              autoFocus: autoFocus,
478
+              onPressEnter: this.handlePressEnter
457 479
             }),
458 480
             _react2.default.createElement(
459 481
               "div",
@@ -628,7 +650,9 @@ Editor.propTypes = {
628 650
   imageToolIcon: _propTypes2.default.node,
629 651
   showError: _propTypes2.default.bool,
630 652
   onError: _propTypes2.default.func,
631
-  maxLength: _propTypes2.default.number
653
+  maxLength: _propTypes2.default.number,
654
+  // Enter事件相关
655
+  allowEnterSubmit: _propTypes2.default.bool
632 656
 };
633 657
 
634 658
 Editor.defaultProps = {
@@ -648,7 +672,9 @@ Editor.defaultProps = {
648 672
   showError: true,
649 673
   maxLength: 5000,
650 674
   app: {},
651
-  handleChangeFileList: function handleChangeFileList() {}
675
+  handleChangeFileList: function handleChangeFileList() {},
676
+  // Enter事件相关
677
+  allowEnterSubmit: false
652 678
 };
653 679
 
654 680
 exports.default = (0, _Comment2.default)(Editor);

+ 1
- 1
lib/components/Editor/index.js.map
Файловите разлики са ограничени, защото са твърде много
Целия файл


+ 3
- 4
lib/index.js Целия файл

@@ -68,16 +68,15 @@ var Index = function (_React$Component) {
68 68
           fileList: this.state.fileList,
69 69
           value: this.state.value,
70 70
           onChange: function onChange(value) {
71
-            _this2.setState({
72
-              value: value
73
-            });
71
+            _this2.setState({ value: value });
74 72
           },
75 73
           handleChangeFileList: function handleChangeFileList(fileList) {
76 74
             console.log("----", fileList);
77 75
             _this2.setState({
78 76
               fileList: fileList
79 77
             });
80
-          }
78
+          },
79
+          allowEnterSubmit: true
81 80
         }))
82 81
       );
83 82
     }

+ 1
- 1
lib/index.js.map
Файловите разлики са ограничени, защото са твърде много
Целия файл


+ 4
- 4
lib/version.json Целия файл

@@ -1,8 +1,8 @@
1 1
 {
2 2
     "name":       "comment",
3
-    "buildDate":  1577536315907,
3
+    "buildDate":  1582351916030,
4 4
     "version":    "1.0.4",
5
-    "numCommits": 197,
6
-    "hash":       "92e9ffb",
7
-    "dirty":      true
5
+    "numCommits": 201,
6
+    "hash":       "556bf1c",
7
+    "dirty":      false
8 8
 }

+ 6
- 4
src/components/Editor/index.js Целия файл

@@ -60,6 +60,7 @@ class Editor extends React.Component {
60 60
       fileMap: {}, // 已经上传的图片路径和 uid 的映射 { uid: path }
61 61
       uploadVisible: false
62 62
     };
63
+    this.handleChange = this.handleChange.bind(this);
63 64
     this.handleClickEmoji = this.handleClickEmoji.bind(this);
64 65
     this.handleChangeFileList = this.handleChangeFileList.bind(this);
65 66
     this.handleShowUpload = this.handleShowUpload.bind(this);
@@ -68,6 +69,7 @@ class Editor extends React.Component {
68 69
     this.handlePaste = this.handlePaste.bind(this);
69 70
     this.resetState = this.resetState.bind(this);
70 71
     this.handleEmojiScroll = this.handleEmojiScroll.bind(this);
72
+    this.handlePressEnter = this.handlePressEnter.bind(this);
71 73
   }
72 74
 
73 75
   componentDidMount() {
@@ -100,12 +102,12 @@ class Editor extends React.Component {
100 102
    * 将最新的值存储到 state 中
101 103
    * @param {string} value 输入的值
102 104
    */
103
-  handleChange = value => {
105
+  handleChange(value) {
104 106
     this.setState({ value });
105 107
     if (this.props.onChange) {
106 108
       this.props.onChange(value);
107 109
     }
108
-  };
110
+  }
109 111
 
110 112
   /**
111 113
    * 点击 emoji 的事件
@@ -300,14 +302,14 @@ class Editor extends React.Component {
300 302
    *  3. enter事件开启后,仍可以用`shift + enter`触发换行
301 303
    *  -- evo 20200222
302 304
    */
303
-  handlePressEnter = e => {
305
+  handlePressEnter(e) {
304 306
     if (this.props.allowEnterSubmit) {
305 307
       if (!e.shiftKey) {
306 308
         e.preventDefault();
307 309
         this.handleSubmit();
308 310
       }
309 311
     }
310
-  };
312
+  }
311 313
 
312 314
   render() {
313 315
     const {