Browse Source

Fix for Queue / Stack issue

Yedidya Kennard 8 years ago
parent
commit
1f4dfb18b6
2 changed files with 10 additions and 2 deletions
  1. 1
    0
      src/RichTextEditor.js
  2. 9
    2
      src/RichTextToolbar.js

+ 1
- 0
src/RichTextEditor.js View File

304
 
304
 
305
   insertImage(url, alt) {
305
   insertImage(url, alt) {
306
     this._sendAction(actions.insertImage, {url, alt});
306
     this._sendAction(actions.insertImage, {url, alt});
307
+    this.prepareInsert(); //This must be called BEFORE insertImage. But WebViewBridge uses a stack :/
307
   }
308
   }
308
 
309
 
309
   setSubscript() {
310
   setSubscript() {

+ 9
- 2
src/RichTextToolbar.js View File

31
     onPressAddLink: PropTypes.func,
31
     onPressAddLink: PropTypes.func,
32
     onPressAddImage: PropTypes.func,
32
     onPressAddImage: PropTypes.func,
33
     selectedButtonStyle: PropTypes.object,
33
     selectedButtonStyle: PropTypes.object,
34
-    unselectedButtonStyle: PropTypes.object
34
+    unselectedButtonStyle: PropTypes.object,
35
+    renderAction: PropTypes.func
35
   };
36
   };
36
 
37
 
37
   constructor(props) {
38
   constructor(props) {
84
     return this.props.unselectedButtonStyle ? this.props.unselectedButtonStyle : styles.defaultUnselectedButton;
85
     return this.props.unselectedButtonStyle ? this.props.unselectedButtonStyle : styles.defaultUnselectedButton;
85
   }
86
   }
86
 
87
 
87
-  _renderAction(action, selected) {
88
+  _defaultRenderAction(action, selected) {
88
     return (
89
     return (
89
       <TouchableOpacity
90
       <TouchableOpacity
90
           key={action}
91
           key={action}
101
     );
102
     );
102
   }
103
   }
103
 
104
 
105
+  _renderAction(action, selected) {
106
+    return this.props.renderAction ?
107
+        this.props.renderAction(action, selected) :
108
+        this._defaultRenderAction(action, selected);
109
+  }
110
+
104
   render() {
111
   render() {
105
     return (
112
     return (
106
       <View
113
       <View