dante2-editor 0.3.6 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/dist/Dante2.js +19801 -32971
- data/dist/Dante2.min.js +6 -15
- data/dist/Dante2.min.js.map +1 -1
- data/dist/DanteStyles.css +1 -1
- data/dist/DanteStyles.js +6 -6
- data/dist/DanteStyles.min.js +1 -1
- data/dist/DanteStyles.min.js.map +1 -1
- data/dist/dante-vendors.js +10602 -28851
- data/dist/dante-vendors.min.js +6 -15
- data/dist/dante-vendors.min.js.map +1 -1
- data/dist/fonts/dante.svg +1 -0
- data/docs/app.js +10 -10
- data/docs/app.js.map +1 -1
- data/docs/dante-vendors.js +16906 -31387
- data/docs/dante-vendors.js.map +1 -1
- data/docs/dante.css +168 -0
- data/docs/dante.css.map +1 -1
- data/docs/dante.js +1593 -179
- data/docs/dante.js.map +1 -1
- data/docs/fonts/dante.svg +1 -0
- data/package.json +15 -13
- data/rb_lib/dante2-editor/version.rb +1 -1
- data/src/components/{dante.js → core/dante.js} +12 -20
- data/src/components/{debug.js → core/debug.js} +0 -0
- data/src/components/{dante_editor.js → core/editor.js} +50 -42
- data/src/components/decorators/link.js +2 -1
- data/src/components/init.js +8 -0
- data/src/components/popovers/addButton.js +7 -0
- data/src/components/popovers/toolTip.js +15 -5
- data/src/index.js +4 -3
- data/src/styles/custom.css +189 -0
- data/src/styles/dante/_icons.scss +3 -1
- data/src/styles/dante.scss +2 -0
- data/src/styles/draft.css +5 -0
- data/src/styles/fonts/dante/dante.svg +1 -0
- data/src/utils/find_entities.js +3 -2
- data/src/utils/html2content.js +3 -1
- data/webpack/base.config.js +2 -2
- data/yarn.lock +1781 -1362
- metadata +7 -6
- data/src/components/wrapper.js +0 -0
data/docs/dante.js
CHANGED
@@ -1,84 +1,60 @@
|
|
1
1
|
webpackJsonp([0],{
|
2
2
|
|
3
|
-
/***/
|
4
|
-
/***/ (function(module, exports, __webpack_require__) {
|
5
|
-
|
6
|
-
"use strict";
|
7
|
-
/* WEBPACK VAR INJECTION */(function(global) {
|
8
|
-
|
9
|
-
module.exports = global["DanteEditor"] = __webpack_require__(263);
|
10
|
-
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(35)))
|
11
|
-
|
12
|
-
/***/ }),
|
13
|
-
|
14
|
-
/***/ 192:
|
3
|
+
/***/ 135:
|
15
4
|
/***/ (function(module, exports, __webpack_require__) {
|
16
5
|
|
17
6
|
module.exports = __webpack_require__.p + "fonts/dante.eot";
|
18
7
|
|
19
8
|
/***/ }),
|
20
9
|
|
21
|
-
/***/
|
10
|
+
/***/ 136:
|
22
11
|
/***/ (function(module, exports, __webpack_require__) {
|
23
12
|
|
24
13
|
module.exports = __webpack_require__.p + "fonts/fontello.eot";
|
25
14
|
|
26
15
|
/***/ }),
|
27
16
|
|
28
|
-
/***/
|
17
|
+
/***/ 139:
|
29
18
|
/***/ (function(module, exports, __webpack_require__) {
|
30
19
|
|
31
20
|
"use strict";
|
32
21
|
|
33
22
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
var _dante_editor = __webpack_require__(146);
|
23
|
+
Object.defineProperty(exports, "__esModule", {
|
24
|
+
value: true
|
25
|
+
});
|
26
|
+
exports.DanteEditor = exports.Dante = undefined;
|
39
27
|
|
40
|
-
var
|
28
|
+
var _init = __webpack_require__(170);
|
41
29
|
|
42
|
-
|
30
|
+
window.Dante = _init.Dante;
|
31
|
+
window.DanteEditor = _init.DanteEditor;
|
43
32
|
|
44
|
-
|
45
|
-
|
46
|
-
DanteEditor: _dante_editor2['default']
|
47
|
-
};
|
33
|
+
exports.Dante = _init.Dante;
|
34
|
+
exports.DanteEditor = _init.DanteEditor;
|
48
35
|
|
49
36
|
/***/ }),
|
50
37
|
|
51
|
-
/***/
|
38
|
+
/***/ 143:
|
52
39
|
/***/ (function(module, exports) {
|
53
40
|
|
54
41
|
// removed by extract-text-webpack-plugin
|
55
42
|
|
56
43
|
/***/ }),
|
57
44
|
|
58
|
-
/***/
|
45
|
+
/***/ 162:
|
59
46
|
/***/ (function(module, exports, __webpack_require__) {
|
60
47
|
|
61
48
|
"use strict";
|
62
49
|
|
63
50
|
|
64
|
-
__webpack_require__(
|
65
|
-
|
66
|
-
var _index = __webpack_require__(224);
|
51
|
+
__webpack_require__(143);
|
67
52
|
|
68
|
-
|
69
|
-
|
70
|
-
/***/ 248:
|
71
|
-
/***/ (function(module, exports, __webpack_require__) {
|
72
|
-
|
73
|
-
"use strict";
|
74
|
-
/* WEBPACK VAR INJECTION */(function(global) {
|
75
|
-
|
76
|
-
module.exports = global["Dante"] = __webpack_require__(262);
|
77
|
-
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(35)))
|
53
|
+
var _index = __webpack_require__(139);
|
78
54
|
|
79
55
|
/***/ }),
|
80
56
|
|
81
|
-
/***/
|
57
|
+
/***/ 163:
|
82
58
|
/***/ (function(module, exports, __webpack_require__) {
|
83
59
|
|
84
60
|
"use strict";
|
@@ -88,41 +64,41 @@ Object.defineProperty(exports, "__esModule", {
|
|
88
64
|
value: true
|
89
65
|
});
|
90
66
|
|
91
|
-
var _getPrototypeOf = __webpack_require__(
|
67
|
+
var _getPrototypeOf = __webpack_require__(11);
|
92
68
|
|
93
69
|
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
94
70
|
|
95
|
-
var _classCallCheck2 = __webpack_require__(
|
71
|
+
var _classCallCheck2 = __webpack_require__(7);
|
96
72
|
|
97
73
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
98
74
|
|
99
|
-
var _createClass2 = __webpack_require__(
|
75
|
+
var _createClass2 = __webpack_require__(8);
|
100
76
|
|
101
77
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
102
78
|
|
103
|
-
var _possibleConstructorReturn2 = __webpack_require__(
|
79
|
+
var _possibleConstructorReturn2 = __webpack_require__(13);
|
104
80
|
|
105
81
|
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
106
82
|
|
107
|
-
var _inherits2 = __webpack_require__(
|
83
|
+
var _inherits2 = __webpack_require__(12);
|
108
84
|
|
109
85
|
var _inherits3 = _interopRequireDefault(_inherits2);
|
110
86
|
|
111
|
-
var _react = __webpack_require__(
|
87
|
+
var _react = __webpack_require__(1);
|
112
88
|
|
113
89
|
var _react2 = _interopRequireDefault(_react);
|
114
90
|
|
115
|
-
var _reactDom = __webpack_require__(
|
91
|
+
var _reactDom = __webpack_require__(4);
|
116
92
|
|
117
93
|
var _reactDom2 = _interopRequireDefault(_reactDom);
|
118
94
|
|
119
|
-
var _draftJs = __webpack_require__(
|
95
|
+
var _draftJs = __webpack_require__(5);
|
120
96
|
|
121
|
-
var _axios = __webpack_require__(
|
97
|
+
var _axios = __webpack_require__(41);
|
122
98
|
|
123
99
|
var _axios2 = _interopRequireDefault(_axios);
|
124
100
|
|
125
|
-
var _index = __webpack_require__(
|
101
|
+
var _index = __webpack_require__(19);
|
126
102
|
|
127
103
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
128
104
|
|
@@ -197,8 +173,8 @@ var EmbedBlock = function (_React$Component) {
|
|
197
173
|
url: '' + this.dataForUpdate().endpoint + this.dataForUpdate().provisory_text + '&scheme=https'
|
198
174
|
}).then(function (result) {
|
199
175
|
|
200
|
-
return _this2.setState({ embed_data: result.data
|
201
|
-
, _this2.updateData);
|
176
|
+
return _this2.setState({ embed_data: result.data //JSON.parse(data.responseText)
|
177
|
+
}, _this2.updateData);
|
202
178
|
})['catch'](function (error) {
|
203
179
|
|
204
180
|
_this2.setState({
|
@@ -276,7 +252,7 @@ exports['default'] = EmbedBlock;
|
|
276
252
|
|
277
253
|
/***/ }),
|
278
254
|
|
279
|
-
/***/
|
255
|
+
/***/ 164:
|
280
256
|
/***/ (function(module, exports, __webpack_require__) {
|
281
257
|
|
282
258
|
"use strict";
|
@@ -286,45 +262,45 @@ Object.defineProperty(exports, "__esModule", {
|
|
286
262
|
value: true
|
287
263
|
});
|
288
264
|
|
289
|
-
var _assign = __webpack_require__(
|
265
|
+
var _assign = __webpack_require__(59);
|
290
266
|
|
291
267
|
var _assign2 = _interopRequireDefault(_assign);
|
292
268
|
|
293
|
-
var _getPrototypeOf = __webpack_require__(
|
269
|
+
var _getPrototypeOf = __webpack_require__(11);
|
294
270
|
|
295
271
|
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
296
272
|
|
297
|
-
var _classCallCheck2 = __webpack_require__(
|
273
|
+
var _classCallCheck2 = __webpack_require__(7);
|
298
274
|
|
299
275
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
300
276
|
|
301
|
-
var _createClass2 = __webpack_require__(
|
277
|
+
var _createClass2 = __webpack_require__(8);
|
302
278
|
|
303
279
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
304
280
|
|
305
|
-
var _possibleConstructorReturn2 = __webpack_require__(
|
281
|
+
var _possibleConstructorReturn2 = __webpack_require__(13);
|
306
282
|
|
307
283
|
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
308
284
|
|
309
|
-
var _inherits2 = __webpack_require__(
|
285
|
+
var _inherits2 = __webpack_require__(12);
|
310
286
|
|
311
287
|
var _inherits3 = _interopRequireDefault(_inherits2);
|
312
288
|
|
313
|
-
var _react = __webpack_require__(
|
289
|
+
var _react = __webpack_require__(1);
|
314
290
|
|
315
291
|
var _react2 = _interopRequireDefault(_react);
|
316
292
|
|
317
|
-
var _reactDom = __webpack_require__(
|
293
|
+
var _reactDom = __webpack_require__(4);
|
318
294
|
|
319
295
|
var _reactDom2 = _interopRequireDefault(_reactDom);
|
320
296
|
|
321
|
-
var _draftJs = __webpack_require__(
|
297
|
+
var _draftJs = __webpack_require__(5);
|
322
298
|
|
323
|
-
var _axios = __webpack_require__(
|
299
|
+
var _axios = __webpack_require__(41);
|
324
300
|
|
325
301
|
var _axios2 = _interopRequireDefault(_axios);
|
326
302
|
|
327
|
-
var _index = __webpack_require__(
|
303
|
+
var _index = __webpack_require__(19);
|
328
304
|
|
329
305
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
330
306
|
|
@@ -454,9 +430,9 @@ var ImageBlock = function (_React$Component) {
|
|
454
430
|
}
|
455
431
|
|
456
432
|
var fill_ratio = height / width * 100;
|
457
|
-
var result = { width: width, height: height, ratio: fill_ratio
|
458
|
-
|
459
|
-
return result;
|
433
|
+
var result = { width: width, height: height, ratio: fill_ratio
|
434
|
+
// console.log result
|
435
|
+
};return result;
|
460
436
|
}
|
461
437
|
|
462
438
|
// will update block state
|
@@ -773,7 +749,7 @@ var Loader = function (_React$Component2) {
|
|
773
749
|
|
774
750
|
/***/ }),
|
775
751
|
|
776
|
-
/***/
|
752
|
+
/***/ 165:
|
777
753
|
/***/ (function(module, exports, __webpack_require__) {
|
778
754
|
|
779
755
|
"use strict";
|
@@ -783,39 +759,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
783
759
|
value: true
|
784
760
|
});
|
785
761
|
|
786
|
-
var _assign = __webpack_require__(
|
762
|
+
var _assign = __webpack_require__(59);
|
787
763
|
|
788
764
|
var _assign2 = _interopRequireDefault(_assign);
|
789
765
|
|
790
|
-
var _getPrototypeOf = __webpack_require__(
|
766
|
+
var _getPrototypeOf = __webpack_require__(11);
|
791
767
|
|
792
768
|
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
793
769
|
|
794
|
-
var _classCallCheck2 = __webpack_require__(
|
770
|
+
var _classCallCheck2 = __webpack_require__(7);
|
795
771
|
|
796
772
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
797
773
|
|
798
|
-
var _createClass2 = __webpack_require__(
|
774
|
+
var _createClass2 = __webpack_require__(8);
|
799
775
|
|
800
776
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
801
777
|
|
802
|
-
var _possibleConstructorReturn2 = __webpack_require__(
|
778
|
+
var _possibleConstructorReturn2 = __webpack_require__(13);
|
803
779
|
|
804
780
|
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
805
781
|
|
806
|
-
var _inherits2 = __webpack_require__(
|
782
|
+
var _inherits2 = __webpack_require__(12);
|
807
783
|
|
808
784
|
var _inherits3 = _interopRequireDefault(_inherits2);
|
809
785
|
|
810
|
-
var _react = __webpack_require__(
|
786
|
+
var _react = __webpack_require__(1);
|
811
787
|
|
812
788
|
var _react2 = _interopRequireDefault(_react);
|
813
789
|
|
814
|
-
var _reactDom = __webpack_require__(
|
790
|
+
var _reactDom = __webpack_require__(4);
|
815
791
|
|
816
792
|
var _reactDom2 = _interopRequireDefault(_reactDom);
|
817
793
|
|
818
|
-
var _draftJs = __webpack_require__(
|
794
|
+
var _draftJs = __webpack_require__(5);
|
819
795
|
|
820
796
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
821
797
|
|
@@ -904,7 +880,7 @@ exports['default'] = PlaceholderBlock;
|
|
904
880
|
|
905
881
|
/***/ }),
|
906
882
|
|
907
|
-
/***/
|
883
|
+
/***/ 166:
|
908
884
|
/***/ (function(module, exports, __webpack_require__) {
|
909
885
|
|
910
886
|
"use strict";
|
@@ -914,43 +890,43 @@ Object.defineProperty(exports, "__esModule", {
|
|
914
890
|
value: true
|
915
891
|
});
|
916
892
|
|
917
|
-
var _assign = __webpack_require__(
|
893
|
+
var _assign = __webpack_require__(59);
|
918
894
|
|
919
895
|
var _assign2 = _interopRequireDefault(_assign);
|
920
896
|
|
921
|
-
var _getPrototypeOf = __webpack_require__(
|
897
|
+
var _getPrototypeOf = __webpack_require__(11);
|
922
898
|
|
923
899
|
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
924
900
|
|
925
|
-
var _classCallCheck2 = __webpack_require__(
|
901
|
+
var _classCallCheck2 = __webpack_require__(7);
|
926
902
|
|
927
903
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
928
904
|
|
929
|
-
var _createClass2 = __webpack_require__(
|
905
|
+
var _createClass2 = __webpack_require__(8);
|
930
906
|
|
931
907
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
932
908
|
|
933
|
-
var _possibleConstructorReturn2 = __webpack_require__(
|
909
|
+
var _possibleConstructorReturn2 = __webpack_require__(13);
|
934
910
|
|
935
911
|
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
936
912
|
|
937
|
-
var _inherits2 = __webpack_require__(
|
913
|
+
var _inherits2 = __webpack_require__(12);
|
938
914
|
|
939
915
|
var _inherits3 = _interopRequireDefault(_inherits2);
|
940
916
|
|
941
|
-
var _react = __webpack_require__(
|
917
|
+
var _react = __webpack_require__(1);
|
942
918
|
|
943
919
|
var _react2 = _interopRequireDefault(_react);
|
944
920
|
|
945
|
-
var _reactDom = __webpack_require__(
|
921
|
+
var _reactDom = __webpack_require__(4);
|
946
922
|
|
947
923
|
var _reactDom2 = _interopRequireDefault(_reactDom);
|
948
924
|
|
949
|
-
var _draftJs = __webpack_require__(
|
925
|
+
var _draftJs = __webpack_require__(5);
|
950
926
|
|
951
|
-
var _index = __webpack_require__(
|
927
|
+
var _index = __webpack_require__(19);
|
952
928
|
|
953
|
-
var _axios = __webpack_require__(
|
929
|
+
var _axios = __webpack_require__(41);
|
954
930
|
|
955
931
|
var _axios2 = _interopRequireDefault(_axios);
|
956
932
|
|
@@ -1017,8 +993,8 @@ var VideoBlock = function (_React$Component) {
|
|
1017
993
|
method: 'get',
|
1018
994
|
url: '' + this.dataForUpdate().endpoint + this.dataForUpdate().provisory_text + '&scheme=https'
|
1019
995
|
}).then(function (result) {
|
1020
|
-
return _this2.setState({ embed_data: result.data
|
1021
|
-
, _this2.updateData);
|
996
|
+
return _this2.setState({ embed_data: result.data //JSON.parse(data.responseText)
|
997
|
+
}, _this2.updateData);
|
1022
998
|
})['catch'](function (error) {
|
1023
999
|
return console.log("TODO: error");
|
1024
1000
|
});
|
@@ -1055,7 +1031,320 @@ exports['default'] = VideoBlock;
|
|
1055
1031
|
|
1056
1032
|
/***/ }),
|
1057
1033
|
|
1058
|
-
/***/
|
1034
|
+
/***/ 167:
|
1035
|
+
/***/ (function(module, exports, __webpack_require__) {
|
1036
|
+
|
1037
|
+
"use strict";
|
1038
|
+
|
1039
|
+
|
1040
|
+
Object.defineProperty(exports, "__esModule", {
|
1041
|
+
value: true
|
1042
|
+
});
|
1043
|
+
|
1044
|
+
var _classCallCheck2 = __webpack_require__(7);
|
1045
|
+
|
1046
|
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
1047
|
+
|
1048
|
+
var _createClass2 = __webpack_require__(8);
|
1049
|
+
|
1050
|
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
1051
|
+
|
1052
|
+
var _react = __webpack_require__(1);
|
1053
|
+
|
1054
|
+
var _react2 = _interopRequireDefault(_react);
|
1055
|
+
|
1056
|
+
var _reactDom = __webpack_require__(4);
|
1057
|
+
|
1058
|
+
var _reactDom2 = _interopRequireDefault(_reactDom);
|
1059
|
+
|
1060
|
+
var _immutable = __webpack_require__(40);
|
1061
|
+
|
1062
|
+
var _editor = __webpack_require__(92);
|
1063
|
+
|
1064
|
+
var _editor2 = _interopRequireDefault(_editor);
|
1065
|
+
|
1066
|
+
var _image = __webpack_require__(172);
|
1067
|
+
|
1068
|
+
var _image2 = _interopRequireDefault(_image);
|
1069
|
+
|
1070
|
+
var _link = __webpack_require__(173);
|
1071
|
+
|
1072
|
+
var _link2 = _interopRequireDefault(_link);
|
1073
|
+
|
1074
|
+
var _addButton = __webpack_require__(171);
|
1075
|
+
|
1076
|
+
var _addButton2 = _interopRequireDefault(_addButton);
|
1077
|
+
|
1078
|
+
var _toolTip = __webpack_require__(174);
|
1079
|
+
|
1080
|
+
var _toolTip2 = _interopRequireDefault(_toolTip);
|
1081
|
+
|
1082
|
+
var _image3 = __webpack_require__(164);
|
1083
|
+
|
1084
|
+
var _image4 = _interopRequireDefault(_image3);
|
1085
|
+
|
1086
|
+
var _embed = __webpack_require__(163);
|
1087
|
+
|
1088
|
+
var _embed2 = _interopRequireDefault(_embed);
|
1089
|
+
|
1090
|
+
var _video = __webpack_require__(166);
|
1091
|
+
|
1092
|
+
var _video2 = _interopRequireDefault(_video);
|
1093
|
+
|
1094
|
+
var _placeholder = __webpack_require__(165);
|
1095
|
+
|
1096
|
+
var _placeholder2 = _interopRequireDefault(_placeholder);
|
1097
|
+
|
1098
|
+
var _index = __webpack_require__(19);
|
1099
|
+
|
1100
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
1101
|
+
|
1102
|
+
var Dante = function () {
|
1103
|
+
function Dante(options) {
|
1104
|
+
(0, _classCallCheck3['default'])(this, Dante);
|
1105
|
+
|
1106
|
+
if (options == null) {
|
1107
|
+
options = {};
|
1108
|
+
}
|
1109
|
+
console.log("init editor Dante!");
|
1110
|
+
|
1111
|
+
// deep merge on config
|
1112
|
+
var config = (0, _immutable.Map)((0, _immutable.fromJS)(this.defaultOptions(options)));
|
1113
|
+
|
1114
|
+
this.options = config.mergeDeep(options).toJS();
|
1115
|
+
console.log(this.options);
|
1116
|
+
}
|
1117
|
+
|
1118
|
+
(0, _createClass3['default'])(Dante, [{
|
1119
|
+
key: 'defaultOptions',
|
1120
|
+
value: function defaultOptions(options) {
|
1121
|
+
// default options
|
1122
|
+
if (options == null) {
|
1123
|
+
options = {};
|
1124
|
+
}
|
1125
|
+
var defaultOptions = {};
|
1126
|
+
defaultOptions.el = 'app';
|
1127
|
+
defaultOptions.content = "";
|
1128
|
+
defaultOptions.read_only = false;
|
1129
|
+
defaultOptions.spellcheck = false;
|
1130
|
+
defaultOptions.title_placeholder = "Title";
|
1131
|
+
defaultOptions.body_placeholder = "Write your story";
|
1132
|
+
|
1133
|
+
defaultOptions.widgets = [{
|
1134
|
+
title: 'add an image',
|
1135
|
+
icon: 'image',
|
1136
|
+
type: 'image',
|
1137
|
+
block: _image4['default'],
|
1138
|
+
editable: true,
|
1139
|
+
renderable: true,
|
1140
|
+
breakOnContinuous: true,
|
1141
|
+
wrapper_class: "graf graf--figure",
|
1142
|
+
selected_class: "is-selected is-mediaFocused",
|
1143
|
+
selectedFn: function selectedFn(block) {
|
1144
|
+
var _block$getData$toJS = block.getData().toJS(),
|
1145
|
+
direction = _block$getData$toJS.direction;
|
1146
|
+
|
1147
|
+
switch (direction) {
|
1148
|
+
case "left":
|
1149
|
+
return "graf--layoutOutsetLeft";
|
1150
|
+
case "center":
|
1151
|
+
return "";
|
1152
|
+
case "wide":
|
1153
|
+
return "sectionLayout--fullWidth";
|
1154
|
+
case "fill":
|
1155
|
+
return "graf--layoutFillWidth";
|
1156
|
+
}
|
1157
|
+
},
|
1158
|
+
handleEnterWithoutText: function handleEnterWithoutText(ctx, block) {
|
1159
|
+
var editorState = ctx.state.editorState;
|
1160
|
+
|
1161
|
+
return ctx.onChange((0, _index.addNewBlockAt)(editorState, block.getKey()));
|
1162
|
+
},
|
1163
|
+
handleEnterWithText: function handleEnterWithText(ctx, block) {
|
1164
|
+
var editorState = ctx.state.editorState;
|
1165
|
+
|
1166
|
+
return ctx.onChange((0, _index.addNewBlockAt)(editorState, block.getKey()));
|
1167
|
+
},
|
1168
|
+
|
1169
|
+
widget_options: {
|
1170
|
+
displayOnInlineTooltip: true,
|
1171
|
+
insertion: "upload",
|
1172
|
+
insert_block: "image"
|
1173
|
+
},
|
1174
|
+
options: {
|
1175
|
+
upload_url: options.upload_url,
|
1176
|
+
upload_headers: options.upload_headers,
|
1177
|
+
upload_formName: options.upload_formName,
|
1178
|
+
upload_handler: options.image_upload_handler,
|
1179
|
+
upload_callback: options.image_upload_callback,
|
1180
|
+
image_delete_callback: options.image_delete_callback,
|
1181
|
+
image_caption_placeholder: options.image_caption_placeholder || "Write caption for image (optional)"
|
1182
|
+
}
|
1183
|
+
}, {
|
1184
|
+
icon: 'embed',
|
1185
|
+
title: 'insert embed',
|
1186
|
+
type: 'embed',
|
1187
|
+
block: _embed2['default'],
|
1188
|
+
editable: true,
|
1189
|
+
renderable: true,
|
1190
|
+
breakOnContinuous: true,
|
1191
|
+
wrapper_class: "graf graf--mixtapeEmbed",
|
1192
|
+
selected_class: "is-selected is-mediaFocused",
|
1193
|
+
widget_options: {
|
1194
|
+
displayOnInlineTooltip: true,
|
1195
|
+
insertion: "placeholder",
|
1196
|
+
insert_block: "embed"
|
1197
|
+
},
|
1198
|
+
options: {
|
1199
|
+
endpoint: '//api.embed.ly/1/extract?key=' + options.api_key + '&url=',
|
1200
|
+
placeholder: 'Paste a link to embed content from another site (e.g. Twitter) and press Enter'
|
1201
|
+
},
|
1202
|
+
handleEnterWithoutText: function handleEnterWithoutText(ctx, block) {
|
1203
|
+
var editorState = ctx.state.editorState;
|
1204
|
+
|
1205
|
+
return ctx.onChange((0, _index.addNewBlockAt)(editorState, block.getKey()));
|
1206
|
+
},
|
1207
|
+
handleEnterWithText: function handleEnterWithText(ctx, block) {
|
1208
|
+
var editorState = ctx.state.editorState;
|
1209
|
+
|
1210
|
+
return ctx.onChange((0, _index.addNewBlockAt)(editorState, block.getKey()));
|
1211
|
+
}
|
1212
|
+
}, {
|
1213
|
+
icon: 'video',
|
1214
|
+
title: 'insert video',
|
1215
|
+
editable: true,
|
1216
|
+
type: 'video',
|
1217
|
+
block: _video2['default'],
|
1218
|
+
renderable: true,
|
1219
|
+
breakOnContinuous: true,
|
1220
|
+
wrapper_class: "graf--figure graf--iframe",
|
1221
|
+
selected_class: " is-selected is-mediaFocused",
|
1222
|
+
widget_options: {
|
1223
|
+
displayOnInlineTooltip: true,
|
1224
|
+
insertion: "placeholder",
|
1225
|
+
insert_block: "video"
|
1226
|
+
},
|
1227
|
+
options: {
|
1228
|
+
endpoint: '//api.embed.ly/1/oembed?key=' + options.api_key + '&url=',
|
1229
|
+
placeholder: 'Paste a YouTube, Vine, Vimeo, or other video link, and press Enter',
|
1230
|
+
caption: 'Type caption for embed (optional)'
|
1231
|
+
},
|
1232
|
+
|
1233
|
+
handleEnterWithoutText: function handleEnterWithoutText(ctx, block) {
|
1234
|
+
var editorState = ctx.state.editorState;
|
1235
|
+
|
1236
|
+
return ctx.onChange((0, _index.addNewBlockAt)(editorState, block.getKey()));
|
1237
|
+
},
|
1238
|
+
handleEnterWithText: function handleEnterWithText(ctx, block) {
|
1239
|
+
var editorState = ctx.state.editorState;
|
1240
|
+
|
1241
|
+
return ctx.onChange((0, _index.addNewBlockAt)(editorState, block.getKey()));
|
1242
|
+
}
|
1243
|
+
}, {
|
1244
|
+
renderable: true,
|
1245
|
+
editable: true,
|
1246
|
+
block: _placeholder2['default'],
|
1247
|
+
type: 'placeholder',
|
1248
|
+
wrapper_class: "is-embedable",
|
1249
|
+
selected_class: " is-selected is-mediaFocused",
|
1250
|
+
widget_options: {
|
1251
|
+
displayOnInlineTooltip: false
|
1252
|
+
},
|
1253
|
+
handleEnterWithText: function handleEnterWithText(ctx, block) {
|
1254
|
+
var editorState = ctx.state.editorState;
|
1255
|
+
|
1256
|
+
var data = {
|
1257
|
+
provisory_text: block.getText(),
|
1258
|
+
endpoint: block.getData().get('endpoint'),
|
1259
|
+
type: block.getData().get('type')
|
1260
|
+
};
|
1261
|
+
|
1262
|
+
return ctx.onChange((0, _index.resetBlockWithType)(editorState, data.type, data));
|
1263
|
+
}
|
1264
|
+
}];
|
1265
|
+
|
1266
|
+
defaultOptions.tooltips = [{
|
1267
|
+
ref: 'insert_tooltip',
|
1268
|
+
component: _toolTip2['default'],
|
1269
|
+
displayOnSelection: true,
|
1270
|
+
selectionElements: ["unstyled", "blockquote", "ordered-list", "unordered-list", "unordered-list-item", "ordered-list-item", "code-block", 'header-one', 'header-two', 'header-three', 'header-four'],
|
1271
|
+
widget_options: {
|
1272
|
+
placeholder: "Paste or type a link",
|
1273
|
+
block_types: [
|
1274
|
+
// {label: 'p', style: 'unstyled'},
|
1275
|
+
{ label: 'h2', style: 'header-one', type: "block" }, { label: 'h3', style: 'header-two', type: "block" }, { label: 'h4', style: 'header-three', type: "block" }, { label: 'blockquote', style: 'blockquote', type: "block" }, { label: 'insertunorderedlist', style: 'unordered-list-item', type: "block" }, { label: 'insertorderedlist', style: 'ordered-list-item', type: "block" }, { label: 'code', style: 'code-block', type: "block" }, { label: 'bold', style: 'BOLD', type: "inline" }, { label: 'italic', style: 'ITALIC', type: "inline" }]
|
1276
|
+
}
|
1277
|
+
}, {
|
1278
|
+
ref: 'add_tooltip',
|
1279
|
+
component: _addButton2['default']
|
1280
|
+
}, {
|
1281
|
+
ref: 'anchor_popover',
|
1282
|
+
component: _link2['default']
|
1283
|
+
}, {
|
1284
|
+
ref: 'image_popover',
|
1285
|
+
component: _image2['default']
|
1286
|
+
}];
|
1287
|
+
|
1288
|
+
defaultOptions.xhr = {
|
1289
|
+
before_handler: null,
|
1290
|
+
success_handler: null,
|
1291
|
+
error_handler: null
|
1292
|
+
};
|
1293
|
+
|
1294
|
+
defaultOptions.data_storage = {
|
1295
|
+
url: null,
|
1296
|
+
method: "POST",
|
1297
|
+
success_handler: null,
|
1298
|
+
failure_handler: null,
|
1299
|
+
interval: 1500,
|
1300
|
+
withCredentials: false,
|
1301
|
+
crossDomain: false,
|
1302
|
+
headers: {}
|
1303
|
+
};
|
1304
|
+
|
1305
|
+
defaultOptions.default_wrappers = [{ className: 'graf--p', block: 'unstyled' }, { className: 'graf--h2', block: 'header-one' }, { className: 'graf--h3', block: 'header-two' }, { className: 'graf--h4', block: 'header-three' }, { className: 'graf--blockquote', block: 'blockquote' }, { className: 'graf--insertunorderedlist', block: 'unordered-list-item' }, { className: 'graf--insertorderedlist', block: 'ordered-list-item' }, { className: 'graf--code', block: 'code-block' }, { className: 'graf--bold', block: 'BOLD' }, { className: 'graf--italic', block: 'ITALIC' }];
|
1306
|
+
|
1307
|
+
defaultOptions.continuousBlocks = ["unstyled", "blockquote", "ordered-list", "unordered-list", "unordered-list-item", "ordered-list-item", "code-block"];
|
1308
|
+
|
1309
|
+
defaultOptions.key_commands = {
|
1310
|
+
"alt-shift": [{ key: 65, cmd: 'add-new-block' }],
|
1311
|
+
"alt-cmd": [{ key: 49, cmd: 'toggle_block:header-one' }, { key: 50, cmd: 'toggle_block:header-two' }, { key: 53, cmd: 'toggle_block:blockquote' }],
|
1312
|
+
"cmd": [{ key: 66, cmd: 'toggle_inline:BOLD' }, { key: 73, cmd: 'toggle_inline:ITALIC' }, { key: 75, cmd: 'insert:link' }]
|
1313
|
+
};
|
1314
|
+
|
1315
|
+
defaultOptions.character_convert_mapping = {
|
1316
|
+
'> ': "blockquote",
|
1317
|
+
'*.': "unordered-list-item",
|
1318
|
+
'* ': "unordered-list-item",
|
1319
|
+
'- ': "unordered-list-item",
|
1320
|
+
'1.': "ordered-list-item",
|
1321
|
+
'# ': 'header-one',
|
1322
|
+
'##': 'header-two',
|
1323
|
+
'==': "unstyled",
|
1324
|
+
'` ': "code-block"
|
1325
|
+
};
|
1326
|
+
|
1327
|
+
return defaultOptions;
|
1328
|
+
}
|
1329
|
+
}, {
|
1330
|
+
key: 'getContent',
|
1331
|
+
value: function getContent() {
|
1332
|
+
return this.options.content;
|
1333
|
+
}
|
1334
|
+
}, {
|
1335
|
+
key: 'render',
|
1336
|
+
value: function render() {
|
1337
|
+
return this.editor = _reactDom2['default'].render(_react2['default'].createElement(_editor2['default'], { content: this.getContent(), config: this.options }), document.getElementById(this.options.el));
|
1338
|
+
}
|
1339
|
+
}]);
|
1340
|
+
return Dante;
|
1341
|
+
}();
|
1342
|
+
|
1343
|
+
exports['default'] = Dante;
|
1344
|
+
|
1345
|
+
/***/ }),
|
1346
|
+
|
1347
|
+
/***/ 168:
|
1059
1348
|
/***/ (function(module, exports, __webpack_require__) {
|
1060
1349
|
|
1061
1350
|
"use strict";
|
@@ -1065,31 +1354,31 @@ Object.defineProperty(exports, "__esModule", {
|
|
1065
1354
|
value: true
|
1066
1355
|
});
|
1067
1356
|
|
1068
|
-
var _stringify = __webpack_require__(
|
1357
|
+
var _stringify = __webpack_require__(58);
|
1069
1358
|
|
1070
1359
|
var _stringify2 = _interopRequireDefault(_stringify);
|
1071
1360
|
|
1072
|
-
var _getPrototypeOf = __webpack_require__(
|
1361
|
+
var _getPrototypeOf = __webpack_require__(11);
|
1073
1362
|
|
1074
1363
|
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
1075
1364
|
|
1076
|
-
var _classCallCheck2 = __webpack_require__(
|
1365
|
+
var _classCallCheck2 = __webpack_require__(7);
|
1077
1366
|
|
1078
1367
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
1079
1368
|
|
1080
|
-
var _createClass2 = __webpack_require__(
|
1369
|
+
var _createClass2 = __webpack_require__(8);
|
1081
1370
|
|
1082
1371
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
1083
1372
|
|
1084
|
-
var _possibleConstructorReturn2 = __webpack_require__(
|
1373
|
+
var _possibleConstructorReturn2 = __webpack_require__(13);
|
1085
1374
|
|
1086
1375
|
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
1087
1376
|
|
1088
|
-
var _inherits2 = __webpack_require__(
|
1377
|
+
var _inherits2 = __webpack_require__(12);
|
1089
1378
|
|
1090
1379
|
var _inherits3 = _interopRequireDefault(_inherits2);
|
1091
1380
|
|
1092
|
-
var _react = __webpack_require__(
|
1381
|
+
var _react = __webpack_require__(1);
|
1093
1382
|
|
1094
1383
|
var _react2 = _interopRequireDefault(_react);
|
1095
1384
|
|
@@ -1249,7 +1538,7 @@ exports["default"] = Debug;
|
|
1249
1538
|
|
1250
1539
|
/***/ }),
|
1251
1540
|
|
1252
|
-
/***/
|
1541
|
+
/***/ 169:
|
1253
1542
|
/***/ (function(module, exports, __webpack_require__) {
|
1254
1543
|
|
1255
1544
|
"use strict";
|
@@ -1259,31 +1548,31 @@ Object.defineProperty(exports, "__esModule", {
|
|
1259
1548
|
value: true
|
1260
1549
|
});
|
1261
1550
|
|
1262
|
-
var _getPrototypeOf = __webpack_require__(
|
1551
|
+
var _getPrototypeOf = __webpack_require__(11);
|
1263
1552
|
|
1264
1553
|
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
1265
1554
|
|
1266
|
-
var _classCallCheck2 = __webpack_require__(
|
1555
|
+
var _classCallCheck2 = __webpack_require__(7);
|
1267
1556
|
|
1268
1557
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
1269
1558
|
|
1270
|
-
var _createClass2 = __webpack_require__(
|
1559
|
+
var _createClass2 = __webpack_require__(8);
|
1271
1560
|
|
1272
1561
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
1273
1562
|
|
1274
|
-
var _possibleConstructorReturn2 = __webpack_require__(
|
1563
|
+
var _possibleConstructorReturn2 = __webpack_require__(13);
|
1275
1564
|
|
1276
1565
|
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
1277
1566
|
|
1278
|
-
var _inherits2 = __webpack_require__(
|
1567
|
+
var _inherits2 = __webpack_require__(12);
|
1279
1568
|
|
1280
1569
|
var _inherits3 = _interopRequireDefault(_inherits2);
|
1281
1570
|
|
1282
|
-
var _react = __webpack_require__(
|
1571
|
+
var _react = __webpack_require__(1);
|
1283
1572
|
|
1284
1573
|
var _react2 = _interopRequireDefault(_react);
|
1285
1574
|
|
1286
|
-
var _draftJs = __webpack_require__(
|
1575
|
+
var _draftJs = __webpack_require__(5);
|
1287
1576
|
|
1288
1577
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
1289
1578
|
|
@@ -1343,7 +1632,8 @@ var Link = function (_React$Component) {
|
|
1343
1632
|
}, {
|
1344
1633
|
key: 'render',
|
1345
1634
|
value: function render() {
|
1346
|
-
this.data =
|
1635
|
+
this.data = this.props.contentState.getEntity(this.props.entityKey).getData();
|
1636
|
+
//Entity.get(this.props.entityKey).getData()
|
1347
1637
|
|
1348
1638
|
return _react2['default'].createElement(
|
1349
1639
|
'a',
|
@@ -1365,7 +1655,33 @@ exports['default'] = Link;
|
|
1365
1655
|
|
1366
1656
|
/***/ }),
|
1367
1657
|
|
1368
|
-
/***/
|
1658
|
+
/***/ 170:
|
1659
|
+
/***/ (function(module, exports, __webpack_require__) {
|
1660
|
+
|
1661
|
+
"use strict";
|
1662
|
+
|
1663
|
+
|
1664
|
+
Object.defineProperty(exports, "__esModule", {
|
1665
|
+
value: true
|
1666
|
+
});
|
1667
|
+
exports.DanteEditor = exports.Dante = undefined;
|
1668
|
+
|
1669
|
+
var _dante = __webpack_require__(167);
|
1670
|
+
|
1671
|
+
var _dante2 = _interopRequireDefault(_dante);
|
1672
|
+
|
1673
|
+
var _editor = __webpack_require__(92);
|
1674
|
+
|
1675
|
+
var _editor2 = _interopRequireDefault(_editor);
|
1676
|
+
|
1677
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
1678
|
+
|
1679
|
+
exports.Dante = _dante2['default'];
|
1680
|
+
exports.DanteEditor = _editor2['default'];
|
1681
|
+
|
1682
|
+
/***/ }),
|
1683
|
+
|
1684
|
+
/***/ 171:
|
1369
1685
|
/***/ (function(module, exports, __webpack_require__) {
|
1370
1686
|
|
1371
1687
|
"use strict";
|
@@ -1375,39 +1691,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
1375
1691
|
value: true
|
1376
1692
|
});
|
1377
1693
|
|
1378
|
-
var _getPrototypeOf = __webpack_require__(
|
1694
|
+
var _getPrototypeOf = __webpack_require__(11);
|
1379
1695
|
|
1380
1696
|
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
1381
1697
|
|
1382
|
-
var _classCallCheck2 = __webpack_require__(
|
1698
|
+
var _classCallCheck2 = __webpack_require__(7);
|
1383
1699
|
|
1384
1700
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
1385
1701
|
|
1386
|
-
var _createClass2 = __webpack_require__(
|
1702
|
+
var _createClass2 = __webpack_require__(8);
|
1387
1703
|
|
1388
1704
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
1389
1705
|
|
1390
|
-
var _possibleConstructorReturn2 = __webpack_require__(
|
1706
|
+
var _possibleConstructorReturn2 = __webpack_require__(13);
|
1391
1707
|
|
1392
1708
|
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
1393
1709
|
|
1394
|
-
var _inherits2 = __webpack_require__(
|
1710
|
+
var _inherits2 = __webpack_require__(12);
|
1395
1711
|
|
1396
1712
|
var _inherits3 = _interopRequireDefault(_inherits2);
|
1397
1713
|
|
1398
|
-
var _react = __webpack_require__(
|
1714
|
+
var _react = __webpack_require__(1);
|
1399
1715
|
|
1400
1716
|
var _react2 = _interopRequireDefault(_react);
|
1401
1717
|
|
1402
|
-
var _reactDom = __webpack_require__(
|
1718
|
+
var _reactDom = __webpack_require__(4);
|
1403
1719
|
|
1404
1720
|
var _reactDom2 = _interopRequireDefault(_reactDom);
|
1405
1721
|
|
1406
|
-
var _draftJs = __webpack_require__(
|
1722
|
+
var _draftJs = __webpack_require__(5);
|
1407
1723
|
|
1408
|
-
var _index = __webpack_require__(
|
1724
|
+
var _index = __webpack_require__(19);
|
1409
1725
|
|
1410
|
-
var _selection = __webpack_require__(
|
1726
|
+
var _selection = __webpack_require__(57);
|
1411
1727
|
|
1412
1728
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
1413
1729
|
|
@@ -1566,6 +1882,12 @@ var DanteInlineTooltip = function (_React$Component) {
|
|
1566
1882
|
*/
|
1567
1883
|
return this.insertImage(fileList[0]);
|
1568
1884
|
}
|
1885
|
+
}, {
|
1886
|
+
key: 'handleInsertion',
|
1887
|
+
value: function handleInsertion(e) {
|
1888
|
+
this.hide();
|
1889
|
+
return this.props.onChange((0, _index.addNewBlock)(this.props.editorState, e.type, {}));
|
1890
|
+
}
|
1569
1891
|
}, {
|
1570
1892
|
key: 'widgets',
|
1571
1893
|
value: function widgets() {
|
@@ -1583,6 +1905,8 @@ var DanteInlineTooltip = function (_React$Component) {
|
|
1583
1905
|
return this.clickOnFileUpload(e, request_block);
|
1584
1906
|
case "placeholder":
|
1585
1907
|
return this.handlePlaceholder(request_block);
|
1908
|
+
case "insertion":
|
1909
|
+
return this.handleInsertion(request_block);
|
1586
1910
|
default:
|
1587
1911
|
return console.log('WRONG TYPE FOR ' + request_block.widget_options.insertion);
|
1588
1912
|
}
|
@@ -1764,7 +2088,7 @@ exports['default'] = DanteInlineTooltip;
|
|
1764
2088
|
|
1765
2089
|
/***/ }),
|
1766
2090
|
|
1767
|
-
/***/
|
2091
|
+
/***/ 172:
|
1768
2092
|
/***/ (function(module, exports, __webpack_require__) {
|
1769
2093
|
|
1770
2094
|
"use strict";
|
@@ -1774,39 +2098,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
1774
2098
|
value: true
|
1775
2099
|
});
|
1776
2100
|
|
1777
|
-
var _getPrototypeOf = __webpack_require__(
|
2101
|
+
var _getPrototypeOf = __webpack_require__(11);
|
1778
2102
|
|
1779
2103
|
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
1780
2104
|
|
1781
|
-
var _classCallCheck2 = __webpack_require__(
|
2105
|
+
var _classCallCheck2 = __webpack_require__(7);
|
1782
2106
|
|
1783
2107
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
1784
2108
|
|
1785
|
-
var _createClass2 = __webpack_require__(
|
2109
|
+
var _createClass2 = __webpack_require__(8);
|
1786
2110
|
|
1787
2111
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
1788
2112
|
|
1789
|
-
var _possibleConstructorReturn2 = __webpack_require__(
|
2113
|
+
var _possibleConstructorReturn2 = __webpack_require__(13);
|
1790
2114
|
|
1791
2115
|
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
1792
2116
|
|
1793
|
-
var _inherits2 = __webpack_require__(
|
2117
|
+
var _inherits2 = __webpack_require__(12);
|
1794
2118
|
|
1795
2119
|
var _inherits3 = _interopRequireDefault(_inherits2);
|
1796
2120
|
|
1797
|
-
var _react = __webpack_require__(
|
2121
|
+
var _react = __webpack_require__(1);
|
1798
2122
|
|
1799
2123
|
var _react2 = _interopRequireDefault(_react);
|
1800
2124
|
|
1801
|
-
var _reactDom = __webpack_require__(
|
2125
|
+
var _reactDom = __webpack_require__(4);
|
1802
2126
|
|
1803
2127
|
var _reactDom2 = _interopRequireDefault(_reactDom);
|
1804
2128
|
|
1805
|
-
var _draftJs = __webpack_require__(
|
2129
|
+
var _draftJs = __webpack_require__(5);
|
1806
2130
|
|
1807
|
-
var _selection = __webpack_require__(
|
2131
|
+
var _selection = __webpack_require__(57);
|
1808
2132
|
|
1809
|
-
var _index = __webpack_require__(
|
2133
|
+
var _index = __webpack_require__(19);
|
1810
2134
|
|
1811
2135
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
1812
2136
|
|
@@ -2027,7 +2351,7 @@ exports['default'] = DanteImagePopover;
|
|
2027
2351
|
|
2028
2352
|
/***/ }),
|
2029
2353
|
|
2030
|
-
/***/
|
2354
|
+
/***/ 173:
|
2031
2355
|
/***/ (function(module, exports, __webpack_require__) {
|
2032
2356
|
|
2033
2357
|
"use strict";
|
@@ -2037,35 +2361,35 @@ Object.defineProperty(exports, "__esModule", {
|
|
2037
2361
|
value: true
|
2038
2362
|
});
|
2039
2363
|
|
2040
|
-
var _getPrototypeOf = __webpack_require__(
|
2364
|
+
var _getPrototypeOf = __webpack_require__(11);
|
2041
2365
|
|
2042
2366
|
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
2043
2367
|
|
2044
|
-
var _classCallCheck2 = __webpack_require__(
|
2368
|
+
var _classCallCheck2 = __webpack_require__(7);
|
2045
2369
|
|
2046
2370
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
2047
2371
|
|
2048
|
-
var _createClass2 = __webpack_require__(
|
2372
|
+
var _createClass2 = __webpack_require__(8);
|
2049
2373
|
|
2050
2374
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
2051
2375
|
|
2052
|
-
var _possibleConstructorReturn2 = __webpack_require__(
|
2376
|
+
var _possibleConstructorReturn2 = __webpack_require__(13);
|
2053
2377
|
|
2054
2378
|
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
2055
2379
|
|
2056
|
-
var _inherits2 = __webpack_require__(
|
2380
|
+
var _inherits2 = __webpack_require__(12);
|
2057
2381
|
|
2058
2382
|
var _inherits3 = _interopRequireDefault(_inherits2);
|
2059
2383
|
|
2060
|
-
var _react = __webpack_require__(
|
2384
|
+
var _react = __webpack_require__(1);
|
2061
2385
|
|
2062
2386
|
var _react2 = _interopRequireDefault(_react);
|
2063
2387
|
|
2064
|
-
var _reactDom = __webpack_require__(
|
2388
|
+
var _reactDom = __webpack_require__(4);
|
2065
2389
|
|
2066
2390
|
var _reactDom2 = _interopRequireDefault(_reactDom);
|
2067
2391
|
|
2068
|
-
var _index = __webpack_require__(
|
2392
|
+
var _index = __webpack_require__(19);
|
2069
2393
|
|
2070
2394
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
2071
2395
|
|
@@ -2191,7 +2515,7 @@ exports['default'] = DanteAnchorPopover;
|
|
2191
2515
|
|
2192
2516
|
/***/ }),
|
2193
2517
|
|
2194
|
-
/***/
|
2518
|
+
/***/ 174:
|
2195
2519
|
/***/ (function(module, exports, __webpack_require__) {
|
2196
2520
|
|
2197
2521
|
"use strict";
|
@@ -2201,39 +2525,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
2201
2525
|
value: true
|
2202
2526
|
});
|
2203
2527
|
|
2204
|
-
var _getPrototypeOf = __webpack_require__(
|
2528
|
+
var _getPrototypeOf = __webpack_require__(11);
|
2205
2529
|
|
2206
2530
|
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
2207
2531
|
|
2208
|
-
var _classCallCheck2 = __webpack_require__(
|
2532
|
+
var _classCallCheck2 = __webpack_require__(7);
|
2209
2533
|
|
2210
2534
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
2211
2535
|
|
2212
|
-
var _createClass2 = __webpack_require__(
|
2536
|
+
var _createClass2 = __webpack_require__(8);
|
2213
2537
|
|
2214
2538
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
2215
2539
|
|
2216
|
-
var _possibleConstructorReturn2 = __webpack_require__(
|
2540
|
+
var _possibleConstructorReturn2 = __webpack_require__(13);
|
2217
2541
|
|
2218
2542
|
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
2219
2543
|
|
2220
|
-
var _inherits2 = __webpack_require__(
|
2544
|
+
var _inherits2 = __webpack_require__(12);
|
2221
2545
|
|
2222
2546
|
var _inherits3 = _interopRequireDefault(_inherits2);
|
2223
2547
|
|
2224
|
-
var _react = __webpack_require__(
|
2548
|
+
var _react = __webpack_require__(1);
|
2225
2549
|
|
2226
2550
|
var _react2 = _interopRequireDefault(_react);
|
2227
2551
|
|
2228
|
-
var _reactDom = __webpack_require__(
|
2552
|
+
var _reactDom = __webpack_require__(4);
|
2229
2553
|
|
2230
2554
|
var _reactDom2 = _interopRequireDefault(_reactDom);
|
2231
2555
|
|
2232
|
-
var _draftJs = __webpack_require__(
|
2556
|
+
var _draftJs = __webpack_require__(5);
|
2233
2557
|
|
2234
|
-
var _selection = __webpack_require__(
|
2558
|
+
var _selection = __webpack_require__(57);
|
2235
2559
|
|
2236
|
-
var _index = __webpack_require__(
|
2560
|
+
var _index = __webpack_require__(19);
|
2237
2561
|
|
2238
2562
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
2239
2563
|
|
@@ -2454,6 +2778,7 @@ var DanteTooltip = function (_React$Component) {
|
|
2454
2778
|
};
|
2455
2779
|
|
2456
2780
|
var entityKey = _draftJs.Entity.create('LINK', 'MUTABLE', opts);
|
2781
|
+
//contentState.createEntity('LINK', 'MUTABLE', opts)
|
2457
2782
|
|
2458
2783
|
if (selection.isCollapsed()) {
|
2459
2784
|
console.log("COLLAPSED SKIPPING LINK");
|
@@ -2496,12 +2821,13 @@ var DanteTooltip = function (_React$Component) {
|
|
2496
2821
|
var currentBlock = (0, _index.getCurrentBlock)(this.props.editorState);
|
2497
2822
|
var blockType = currentBlock.getType();
|
2498
2823
|
var selection = this.props.editor.state.editorState.getSelection();
|
2824
|
+
var contentState = this.props.editorState.getCurrentContent();
|
2499
2825
|
var selectedEntity = null;
|
2500
2826
|
var defaultUrl = null;
|
2501
2827
|
return currentBlock.findEntityRanges(function (character) {
|
2502
2828
|
var entityKey = character.getEntity();
|
2503
2829
|
selectedEntity = entityKey;
|
2504
|
-
return entityKey !== null &&
|
2830
|
+
return entityKey !== null && contentState.getEntity(entityKey).getType() === 'LINK';
|
2505
2831
|
}, function (start, end) {
|
2506
2832
|
var selStart = selection.getAnchorOffset();
|
2507
2833
|
var selEnd = selection.getFocusOffset();
|
@@ -2511,7 +2837,7 @@ var DanteTooltip = function (_React$Component) {
|
|
2511
2837
|
}
|
2512
2838
|
|
2513
2839
|
if (start === selStart && end === selEnd) {
|
2514
|
-
defaultUrl =
|
2840
|
+
defaultUrl = contentState.getEntity(selectedEntity).getData().url;
|
2515
2841
|
return _this4.refs.dante_menu_input.value = defaultUrl;
|
2516
2842
|
}
|
2517
2843
|
});
|
@@ -2700,7 +3026,7 @@ exports['default'] = DanteTooltip;
|
|
2700
3026
|
|
2701
3027
|
/***/ }),
|
2702
3028
|
|
2703
|
-
/***/
|
3029
|
+
/***/ 175:
|
2704
3030
|
/***/ (function(module, exports, __webpack_require__) {
|
2705
3031
|
|
2706
3032
|
"use strict";
|
@@ -2710,18 +3036,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
2710
3036
|
value: true
|
2711
3037
|
});
|
2712
3038
|
|
2713
|
-
var _draftJs = __webpack_require__(
|
3039
|
+
var _draftJs = __webpack_require__(5);
|
2714
3040
|
|
2715
3041
|
//TODO: what the f*ck is happening here? ;-;
|
2716
3042
|
var findEntities = function findEntities(entityType, instance, contentBlock, callback) {
|
2717
3043
|
return contentBlock.findEntityRanges(function (_this) {
|
2718
3044
|
return function (character) {
|
2719
3045
|
var entityKey, opts, res;
|
3046
|
+
var contentState = instance.state.editorState.getCurrentContent();
|
2720
3047
|
entityKey = character.getEntity();
|
2721
|
-
return res = entityKey !== null &&
|
3048
|
+
return res = entityKey !== null && contentState.getEntity(entityKey).getType() === entityType, res ? (opts = {
|
2722
3049
|
showPopLinkOver: instance.showPopLinkOver,
|
2723
3050
|
hidePopLinkOver: instance.hidePopLinkOver
|
2724
|
-
},
|
3051
|
+
}, contentState.mergeEntityData(entityKey, opts)) : void 0, res;
|
2725
3052
|
};
|
2726
3053
|
}(undefined), callback);
|
2727
3054
|
};
|
@@ -2730,7 +3057,7 @@ exports['default'] = findEntities;
|
|
2730
3057
|
|
2731
3058
|
/***/ }),
|
2732
3059
|
|
2733
|
-
/***/
|
3060
|
+
/***/ 176:
|
2734
3061
|
/***/ (function(module, exports, __webpack_require__) {
|
2735
3062
|
|
2736
3063
|
"use strict";
|
@@ -2740,13 +3067,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
2740
3067
|
value: true
|
2741
3068
|
});
|
2742
3069
|
|
2743
|
-
var _stringify = __webpack_require__(
|
3070
|
+
var _stringify = __webpack_require__(58);
|
2744
3071
|
|
2745
3072
|
var _stringify2 = _interopRequireDefault(_stringify);
|
2746
3073
|
|
2747
|
-
var _draftJs = __webpack_require__(
|
3074
|
+
var _draftJs = __webpack_require__(5);
|
2748
3075
|
|
2749
|
-
var _immutable = __webpack_require__(
|
3076
|
+
var _immutable = __webpack_require__(40);
|
2750
3077
|
|
2751
3078
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
2752
3079
|
|
@@ -2840,7 +3167,9 @@ var customHTML2Content = function customHTML2Content(HTML, blockRn) {
|
|
2840
3167
|
// use DraftJS converter to do initial conversion. I don't provide DOMBuilder and
|
2841
3168
|
// blockRenderMap arguments here since it should fall back to its default ones, which are fine
|
2842
3169
|
console.log(tempDoc.body.innerHTML);
|
2843
|
-
var
|
3170
|
+
var content = (0, _draftJs.convertFromHTML)(tempDoc.body.innerHTML, _draftJs.getSafeBodyFromHTML, blockRn);
|
3171
|
+
|
3172
|
+
var contentBlocks = content.contentBlocks;
|
2844
3173
|
|
2845
3174
|
// now replace <blockquote /> ContentBlocks with 'atomic' ones
|
2846
3175
|
contentBlocks = contentBlocks.map(function (block) {
|
@@ -2875,7 +3204,7 @@ exports['default'] = customHTML2Content;
|
|
2875
3204
|
|
2876
3205
|
/***/ }),
|
2877
3206
|
|
2878
|
-
/***/
|
3207
|
+
/***/ 177:
|
2879
3208
|
/***/ (function(module, exports, __webpack_require__) {
|
2880
3209
|
|
2881
3210
|
"use strict";
|
@@ -2885,23 +3214,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
2885
3214
|
value: true
|
2886
3215
|
});
|
2887
3216
|
|
2888
|
-
var _stringify = __webpack_require__(
|
3217
|
+
var _stringify = __webpack_require__(58);
|
2889
3218
|
|
2890
3219
|
var _stringify2 = _interopRequireDefault(_stringify);
|
2891
3220
|
|
2892
|
-
var _classCallCheck2 = __webpack_require__(
|
3221
|
+
var _classCallCheck2 = __webpack_require__(7);
|
2893
3222
|
|
2894
3223
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
2895
3224
|
|
2896
|
-
var _createClass2 = __webpack_require__(
|
3225
|
+
var _createClass2 = __webpack_require__(8);
|
2897
3226
|
|
2898
3227
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
2899
3228
|
|
2900
|
-
var _axios = __webpack_require__(
|
3229
|
+
var _axios = __webpack_require__(41);
|
2901
3230
|
|
2902
3231
|
var _axios2 = _interopRequireDefault(_axios);
|
2903
3232
|
|
2904
|
-
var _immutable = __webpack_require__(
|
3233
|
+
var _immutable = __webpack_require__(40);
|
2905
3234
|
|
2906
3235
|
var _immutable2 = _interopRequireDefault(_immutable);
|
2907
3236
|
|
@@ -3064,7 +3393,7 @@ exports["default"] = SaveBehavior;
|
|
3064
3393
|
|
3065
3394
|
/***/ }),
|
3066
3395
|
|
3067
|
-
/***/
|
3396
|
+
/***/ 19:
|
3068
3397
|
/***/ (function(module, exports, __webpack_require__) {
|
3069
3398
|
|
3070
3399
|
"use strict";
|
@@ -3075,9 +3404,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
3075
3404
|
});
|
3076
3405
|
exports.addNewBlockAt = exports.updateTextOfBlock = exports.updateDataOfBlock = exports.resetBlockWithType = exports.addNewBlock = exports.getCurrentBlock = exports.getNode = exports.getDefaultBlockData = undefined;
|
3077
3406
|
|
3078
|
-
var _immutable = __webpack_require__(
|
3407
|
+
var _immutable = __webpack_require__(40);
|
3079
3408
|
|
3080
|
-
var _draftJs = __webpack_require__(
|
3409
|
+
var _draftJs = __webpack_require__(5);
|
3081
3410
|
|
3082
3411
|
/*
|
3083
3412
|
Used from [react-rte](https://github.com/brijeshb42/medium-draft)
|
@@ -3277,49 +3606,49 @@ var addNewBlockAt = exports.addNewBlockAt = function addNewBlockAt(editorState,
|
|
3277
3606
|
|
3278
3607
|
/***/ }),
|
3279
3608
|
|
3280
|
-
/***/
|
3609
|
+
/***/ 321:
|
3281
3610
|
/***/ (function(module, exports, __webpack_require__) {
|
3282
3611
|
|
3283
3612
|
module.exports = __webpack_require__.p + "fonts/dante.svg";
|
3284
3613
|
|
3285
3614
|
/***/ }),
|
3286
3615
|
|
3287
|
-
/***/
|
3616
|
+
/***/ 322:
|
3288
3617
|
/***/ (function(module, exports, __webpack_require__) {
|
3289
3618
|
|
3290
3619
|
module.exports = __webpack_require__.p + "fonts/dante.ttf";
|
3291
3620
|
|
3292
3621
|
/***/ }),
|
3293
3622
|
|
3294
|
-
/***/
|
3623
|
+
/***/ 323:
|
3295
3624
|
/***/ (function(module, exports, __webpack_require__) {
|
3296
3625
|
|
3297
3626
|
module.exports = __webpack_require__.p + "fonts/dante.woff";
|
3298
3627
|
|
3299
3628
|
/***/ }),
|
3300
3629
|
|
3301
|
-
/***/
|
3630
|
+
/***/ 324:
|
3302
3631
|
/***/ (function(module, exports, __webpack_require__) {
|
3303
3632
|
|
3304
3633
|
module.exports = __webpack_require__.p + "fonts/fontello.svg";
|
3305
3634
|
|
3306
3635
|
/***/ }),
|
3307
3636
|
|
3308
|
-
/***/
|
3637
|
+
/***/ 325:
|
3309
3638
|
/***/ (function(module, exports, __webpack_require__) {
|
3310
3639
|
|
3311
3640
|
module.exports = __webpack_require__.p + "fonts/fontello.ttf";
|
3312
3641
|
|
3313
3642
|
/***/ }),
|
3314
3643
|
|
3315
|
-
/***/
|
3644
|
+
/***/ 326:
|
3316
3645
|
/***/ (function(module, exports, __webpack_require__) {
|
3317
3646
|
|
3318
3647
|
module.exports = __webpack_require__.p + "fonts/fontello.woff";
|
3319
3648
|
|
3320
3649
|
/***/ }),
|
3321
3650
|
|
3322
|
-
/***/
|
3651
|
+
/***/ 57:
|
3323
3652
|
/***/ (function(module, exports, __webpack_require__) {
|
3324
3653
|
|
3325
3654
|
"use strict";
|
@@ -3382,7 +3711,1092 @@ var getSelectedBlockNode = exports.getSelectedBlockNode = function getSelectedBl
|
|
3382
3711
|
return null;
|
3383
3712
|
};
|
3384
3713
|
|
3714
|
+
/***/ }),
|
3715
|
+
|
3716
|
+
/***/ 92:
|
3717
|
+
/***/ (function(module, exports, __webpack_require__) {
|
3718
|
+
|
3719
|
+
"use strict";
|
3720
|
+
|
3721
|
+
|
3722
|
+
Object.defineProperty(exports, "__esModule", {
|
3723
|
+
value: true
|
3724
|
+
});
|
3725
|
+
|
3726
|
+
var _getPrototypeOf = __webpack_require__(11);
|
3727
|
+
|
3728
|
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
3729
|
+
|
3730
|
+
var _classCallCheck2 = __webpack_require__(7);
|
3731
|
+
|
3732
|
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
3733
|
+
|
3734
|
+
var _createClass2 = __webpack_require__(8);
|
3735
|
+
|
3736
|
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
3737
|
+
|
3738
|
+
var _possibleConstructorReturn2 = __webpack_require__(13);
|
3739
|
+
|
3740
|
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
3741
|
+
|
3742
|
+
var _inherits2 = __webpack_require__(12);
|
3743
|
+
|
3744
|
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
3745
|
+
|
3746
|
+
var _react = __webpack_require__(1);
|
3747
|
+
|
3748
|
+
var _react2 = _interopRequireDefault(_react);
|
3749
|
+
|
3750
|
+
var _reactDom = __webpack_require__(4);
|
3751
|
+
|
3752
|
+
var _reactDom2 = _interopRequireDefault(_reactDom);
|
3753
|
+
|
3754
|
+
var _immutable = __webpack_require__(40);
|
3755
|
+
|
3756
|
+
var _immutable2 = _interopRequireDefault(_immutable);
|
3757
|
+
|
3758
|
+
var _draftJs = __webpack_require__(5);
|
3759
|
+
|
3760
|
+
var _draftConvert = __webpack_require__(227);
|
3761
|
+
|
3762
|
+
var _index = __webpack_require__(19);
|
3763
|
+
|
3764
|
+
var _link = __webpack_require__(169);
|
3765
|
+
|
3766
|
+
var _link2 = _interopRequireDefault(_link);
|
3767
|
+
|
3768
|
+
var _debug = __webpack_require__(168);
|
3769
|
+
|
3770
|
+
var _debug2 = _interopRequireDefault(_debug);
|
3771
|
+
|
3772
|
+
var _find_entities = __webpack_require__(175);
|
3773
|
+
|
3774
|
+
var _find_entities2 = _interopRequireDefault(_find_entities);
|
3775
|
+
|
3776
|
+
var _save_content = __webpack_require__(177);
|
3777
|
+
|
3778
|
+
var _save_content2 = _interopRequireDefault(_save_content);
|
3779
|
+
|
3780
|
+
var _html2content = __webpack_require__(176);
|
3781
|
+
|
3782
|
+
var _html2content2 = _interopRequireDefault(_html2content);
|
3783
|
+
|
3784
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
3785
|
+
|
3786
|
+
var DanteEditor = function (_React$Component) {
|
3787
|
+
(0, _inherits3['default'])(DanteEditor, _React$Component);
|
3788
|
+
|
3789
|
+
function DanteEditor(props) {
|
3790
|
+
(0, _classCallCheck3['default'])(this, DanteEditor);
|
3791
|
+
|
3792
|
+
var _this = (0, _possibleConstructorReturn3['default'])(this, (DanteEditor.__proto__ || (0, _getPrototypeOf2['default'])(DanteEditor)).call(this, props));
|
3793
|
+
|
3794
|
+
_this.initializeState = _this.initializeState.bind(_this);
|
3795
|
+
_this.refreshSelection = _this.refreshSelection.bind(_this);
|
3796
|
+
_this.forceRender = _this.forceRender.bind(_this);
|
3797
|
+
_this.onChange = _this.onChange.bind(_this);
|
3798
|
+
_this.dispatchChangesToSave = _this.dispatchChangesToSave.bind(_this);
|
3799
|
+
_this.setPreContent = _this.setPreContent.bind(_this);
|
3800
|
+
_this.focus = _this.focus.bind(_this);
|
3801
|
+
_this.getEditorState = _this.getEditorState.bind(_this);
|
3802
|
+
_this.emitSerializedOutput = _this.emitSerializedOutput.bind(_this);
|
3803
|
+
_this.decodeEditorContent = _this.decodeEditorContent.bind(_this);
|
3804
|
+
_this.getTextFromEditor = _this.getTextFromEditor.bind(_this);
|
3805
|
+
_this.getLocks = _this.getLocks.bind(_this);
|
3806
|
+
_this.addLock = _this.addLock.bind(_this);
|
3807
|
+
_this.removeLock = _this.removeLock.bind(_this);
|
3808
|
+
_this.renderableBlocks = _this.renderableBlocks.bind(_this);
|
3809
|
+
_this.defaultWrappers = _this.defaultWrappers.bind(_this);
|
3810
|
+
_this.blockRenderer = _this.blockRenderer.bind(_this);
|
3811
|
+
_this.handleBlockRenderer = _this.handleBlockRenderer.bind(_this);
|
3812
|
+
_this.blockStyleFn = _this.blockStyleFn.bind(_this);
|
3813
|
+
_this.getDataBlock = _this.getDataBlock.bind(_this);
|
3814
|
+
_this.styleForBlock = _this.styleForBlock.bind(_this);
|
3815
|
+
_this.handlePasteText = _this.handlePasteText.bind(_this);
|
3816
|
+
_this.handleTXTPaste = _this.handleTXTPaste.bind(_this);
|
3817
|
+
_this.handleHTMLPaste = _this.handleHTMLPaste.bind(_this);
|
3818
|
+
_this.handlePasteImage = _this.handlePasteImage.bind(_this);
|
3819
|
+
_this.handleDroppedFiles = _this.handleDroppedFiles.bind(_this);
|
3820
|
+
_this.handleUpArrow = _this.handleUpArrow.bind(_this);
|
3821
|
+
_this.handleDownArrow = _this.handleDownArrow.bind(_this);
|
3822
|
+
_this.handleReturn = _this.handleReturn.bind(_this);
|
3823
|
+
_this.handleBeforeInput = _this.handleBeforeInput.bind(_this);
|
3824
|
+
_this.handleKeyCommand = _this.handleKeyCommand.bind(_this);
|
3825
|
+
_this.findCommandKey = _this.findCommandKey.bind(_this);
|
3826
|
+
_this.KeyBindingFn = _this.KeyBindingFn.bind(_this);
|
3827
|
+
_this.updateBlockData = _this.updateBlockData.bind(_this);
|
3828
|
+
_this.setDirection = _this.setDirection.bind(_this);
|
3829
|
+
_this.toggleEditable = _this.toggleEditable.bind(_this);
|
3830
|
+
_this.disableEditable = _this.disableEditable.bind(_this);
|
3831
|
+
_this.enableEditable = _this.enableEditable.bind(_this);
|
3832
|
+
_this.closePopOvers = _this.closePopOvers.bind(_this);
|
3833
|
+
_this.relocateTooltips = _this.relocateTooltips.bind(_this);
|
3834
|
+
_this.tooltipsWithProp = _this.tooltipsWithProp.bind(_this);
|
3835
|
+
_this.tooltipHasSelectionElement = _this.tooltipHasSelectionElement.bind(_this);
|
3836
|
+
_this.handleShowPopLinkOver = _this.handleShowPopLinkOver.bind(_this);
|
3837
|
+
_this.handleHidePopLinkOver = _this.handleHidePopLinkOver.bind(_this);
|
3838
|
+
_this.showPopLinkOver = _this.showPopLinkOver.bind(_this);
|
3839
|
+
_this.hidePopLinkOver = _this.hidePopLinkOver.bind(_this);
|
3840
|
+
_this.render = _this.render.bind(_this);
|
3841
|
+
|
3842
|
+
_this.decorator = new _draftJs.CompositeDecorator([{
|
3843
|
+
strategy: _find_entities2['default'].bind(null, 'LINK', _this),
|
3844
|
+
component: _link2['default']
|
3845
|
+
}]);
|
3846
|
+
|
3847
|
+
_this.blockRenderMap = (0, _immutable.Map)({
|
3848
|
+
"image": {
|
3849
|
+
element: 'figure'
|
3850
|
+
},
|
3851
|
+
"video": {
|
3852
|
+
element: 'figure'
|
3853
|
+
},
|
3854
|
+
"embed": {
|
3855
|
+
element: 'div'
|
3856
|
+
},
|
3857
|
+
'unstyled': {
|
3858
|
+
wrapper: null,
|
3859
|
+
element: 'div'
|
3860
|
+
},
|
3861
|
+
'paragraph': {
|
3862
|
+
wrapper: null,
|
3863
|
+
element: 'div'
|
3864
|
+
},
|
3865
|
+
'placeholder': {
|
3866
|
+
wrapper: null,
|
3867
|
+
element: 'div'
|
3868
|
+
}
|
3869
|
+
|
3870
|
+
});
|
3871
|
+
|
3872
|
+
_this.extendedBlockRenderMap = _draftJs.DefaultDraftBlockRenderMap.merge(_this.blockRenderMap);
|
3873
|
+
|
3874
|
+
_this.state = {
|
3875
|
+
editorState: _draftJs.EditorState.createWithContent((0, _draftJs.convertFromRaw)(_this.props.content)),
|
3876
|
+
read_only: _this.props.config.read_only,
|
3877
|
+
blockRenderMap: _this.extendedBlockRenderMap,
|
3878
|
+
locks: 0,
|
3879
|
+
debug: _this.props.config.debug
|
3880
|
+
};
|
3881
|
+
|
3882
|
+
_this.widgets = _this.props.config.widgets;
|
3883
|
+
_this.tooltips = _this.props.config.tooltips;
|
3884
|
+
|
3885
|
+
_this.key_commands = _this.props.config.key_commands;
|
3886
|
+
|
3887
|
+
_this.continuousBlocks = _this.props.config.continuousBlocks;
|
3888
|
+
|
3889
|
+
_this.block_types = _this.props.config.block_types;
|
3890
|
+
|
3891
|
+
_this.default_wrappers = _this.props.config.default_wrappers;
|
3892
|
+
|
3893
|
+
_this.character_convert_mapping = _this.props.config.character_convert_mapping;
|
3894
|
+
|
3895
|
+
_this.save = new _save_content2['default']({
|
3896
|
+
getLocks: _this.getLocks,
|
3897
|
+
config: {
|
3898
|
+
xhr: _this.props.config.xhr,
|
3899
|
+
data_storage: _this.props.config.data_storage
|
3900
|
+
},
|
3901
|
+
editorState: _this.state.editorState,
|
3902
|
+
editorContent: _this.emitSerializedOutput()
|
3903
|
+
});
|
3904
|
+
|
3905
|
+
// TODO: fix this amateur mode
|
3906
|
+
// here we add a new contentstate with the decorator in order to get contentState
|
3907
|
+
setTimeout(function () {
|
3908
|
+
var newEditorState = _draftJs.EditorState.set(_this.decodeEditorContent(_this.props.content), { decorator: _this.decorator });
|
3909
|
+
_this.onChange(newEditorState);
|
3910
|
+
}, 0);
|
3911
|
+
|
3912
|
+
return _this;
|
3913
|
+
}
|
3914
|
+
|
3915
|
+
(0, _createClass3['default'])(DanteEditor, [{
|
3916
|
+
key: 'initializeState',
|
3917
|
+
value: function initializeState() {
|
3918
|
+
if (this.props.content) {
|
3919
|
+
//and @.props.content.trim() isnt ""
|
3920
|
+
return this.decodeEditorContent(this.props.content);
|
3921
|
+
} else {
|
3922
|
+
return _draftJs.EditorState.createEmpty(this.decorator);
|
3923
|
+
}
|
3924
|
+
}
|
3925
|
+
}, {
|
3926
|
+
key: 'decodeEditorContent',
|
3927
|
+
value: function decodeEditorContent(raw_as_json) {
|
3928
|
+
var new_content = (0, _draftJs.convertFromRaw)(raw_as_json);
|
3929
|
+
var editorState = void 0;
|
3930
|
+
return editorState = _draftJs.EditorState.createWithContent(new_content, this.decorator);
|
3931
|
+
}
|
3932
|
+
}, {
|
3933
|
+
key: 'refreshSelection',
|
3934
|
+
value: function refreshSelection(newEditorState) {
|
3935
|
+
var editorState = this.state.editorState;
|
3936
|
+
// Setting cursor position after inserting to content
|
3937
|
+
|
3938
|
+
var s = this.state.editorState.getSelection();
|
3939
|
+
var c = editorState.getCurrentContent();
|
3940
|
+
var focusOffset = s.getFocusOffset();
|
3941
|
+
var anchorKey = s.getAnchorKey();
|
3942
|
+
|
3943
|
+
var selectionState = _draftJs.SelectionState.createEmpty(s.getAnchorKey());
|
3944
|
+
|
3945
|
+
// console.log anchorKey, focusOffset
|
3946
|
+
selectionState = selectionState.merge({
|
3947
|
+
anchorOffset: focusOffset,
|
3948
|
+
focusKey: anchorKey,
|
3949
|
+
focusOffset: focusOffset
|
3950
|
+
});
|
3951
|
+
|
3952
|
+
var newState = _draftJs.EditorState.forceSelection(newEditorState, selectionState);
|
3953
|
+
|
3954
|
+
return this.onChange(newState);
|
3955
|
+
}
|
3956
|
+
}, {
|
3957
|
+
key: 'forceRender',
|
3958
|
+
value: function forceRender(editorState) {
|
3959
|
+
var selection = this.state.editorState.getSelection();
|
3960
|
+
var content = editorState.getCurrentContent();
|
3961
|
+
var newEditorState = _draftJs.EditorState.createWithContent(content, this.decorator);
|
3962
|
+
|
3963
|
+
return this.refreshSelection(newEditorState);
|
3964
|
+
}
|
3965
|
+
}, {
|
3966
|
+
key: 'onChange',
|
3967
|
+
value: function onChange(editorState) {
|
3968
|
+
var _this2 = this;
|
3969
|
+
|
3970
|
+
this.setPreContent();
|
3971
|
+
this.setState({ editorState: editorState });
|
3972
|
+
|
3973
|
+
var currentBlock = (0, _index.getCurrentBlock)(this.state.editorState);
|
3974
|
+
var blockType = currentBlock.getType();
|
3975
|
+
|
3976
|
+
if (!editorState.getSelection().isCollapsed()) {
|
3977
|
+
|
3978
|
+
var tooltip = this.tooltipsWithProp('displayOnSelection')[0];
|
3979
|
+
if (!this.tooltipHasSelectionElement(tooltip, blockType)) {
|
3980
|
+
return;
|
3981
|
+
}
|
3982
|
+
this.handleTooltipDisplayOn('displayOnSelection');
|
3983
|
+
} else {
|
3984
|
+
this.handleTooltipDisplayOn('displayOnSelection', false);
|
3985
|
+
}
|
3986
|
+
|
3987
|
+
setTimeout(function () {
|
3988
|
+
return _this2.relocateTooltips();
|
3989
|
+
}, 0);
|
3990
|
+
|
3991
|
+
return this.dispatchChangesToSave();
|
3992
|
+
}
|
3993
|
+
}, {
|
3994
|
+
key: 'dispatchChangesToSave',
|
3995
|
+
value: function dispatchChangesToSave() {
|
3996
|
+
var _this3 = this;
|
3997
|
+
|
3998
|
+
clearTimeout(this.saveTimeout);
|
3999
|
+
return this.saveTimeout = setTimeout(function () {
|
4000
|
+
return _this3.save.store(_this3.emitSerializedOutput());
|
4001
|
+
}, 100);
|
4002
|
+
}
|
4003
|
+
}, {
|
4004
|
+
key: 'setPreContent',
|
4005
|
+
value: function setPreContent() {
|
4006
|
+
var content = this.emitSerializedOutput();
|
4007
|
+
return this.save.editorContent = content;
|
4008
|
+
}
|
4009
|
+
}, {
|
4010
|
+
key: 'focus',
|
4011
|
+
value: function focus() {}
|
4012
|
+
//debugger
|
4013
|
+
|
4014
|
+
//@props.refs.richEditor.focus()
|
4015
|
+
|
4016
|
+
}, {
|
4017
|
+
key: 'getEditorState',
|
4018
|
+
value: function getEditorState() {
|
4019
|
+
return this.state.editorState;
|
4020
|
+
}
|
4021
|
+
}, {
|
4022
|
+
key: 'emitSerializedOutput',
|
4023
|
+
value: function emitSerializedOutput() {
|
4024
|
+
var raw = (0, _draftJs.convertToRaw)(this.state.editorState.getCurrentContent());
|
4025
|
+
|
4026
|
+
return raw;
|
4027
|
+
}
|
4028
|
+
|
4029
|
+
//# title utils
|
4030
|
+
|
4031
|
+
}, {
|
4032
|
+
key: 'getTextFromEditor',
|
4033
|
+
value: function getTextFromEditor() {
|
4034
|
+
var c = this.state.editorState.getCurrentContent();
|
4035
|
+
var out = c.getBlocksAsArray().map(function (o) {
|
4036
|
+
return o.getText();
|
4037
|
+
}).join("\n");
|
4038
|
+
|
4039
|
+
return out;
|
4040
|
+
}
|
4041
|
+
}, {
|
4042
|
+
key: 'emitHTML2',
|
4043
|
+
value: function emitHTML2() {
|
4044
|
+
var html = void 0;
|
4045
|
+
|
4046
|
+
return html = (0, _draftConvert.convertToHTML)({
|
4047
|
+
entityToHTML: function entityToHTML(entity, originalText) {
|
4048
|
+
if (entity.type === 'LINK') {
|
4049
|
+
return '<a href="' + entity.data.url + '">' + originalText + '</a>';
|
4050
|
+
} else {
|
4051
|
+
return originalText;
|
4052
|
+
}
|
4053
|
+
}
|
4054
|
+
|
4055
|
+
})(this.state.editorState.getCurrentContent());
|
4056
|
+
}
|
4057
|
+
}, {
|
4058
|
+
key: 'getLocks',
|
4059
|
+
value: function getLocks() {
|
4060
|
+
return this.state.locks;
|
4061
|
+
}
|
4062
|
+
}, {
|
4063
|
+
key: 'addLock',
|
4064
|
+
value: function addLock() {
|
4065
|
+
return this.setState({
|
4066
|
+
locks: this.state.locks += 1 });
|
4067
|
+
}
|
4068
|
+
}, {
|
4069
|
+
key: 'removeLock',
|
4070
|
+
value: function removeLock() {
|
4071
|
+
return this.setState({
|
4072
|
+
locks: this.state.locks -= 1 });
|
4073
|
+
}
|
4074
|
+
}, {
|
4075
|
+
key: 'renderableBlocks',
|
4076
|
+
value: function renderableBlocks() {
|
4077
|
+
return this.widgets.filter(function (o) {
|
4078
|
+
return o.renderable;
|
4079
|
+
}).map(function (o) {
|
4080
|
+
return o.type;
|
4081
|
+
});
|
4082
|
+
}
|
4083
|
+
}, {
|
4084
|
+
key: 'defaultWrappers',
|
4085
|
+
value: function defaultWrappers(blockType) {
|
4086
|
+
return this.default_wrappers.filter(function (o) {
|
4087
|
+
return o.block === blockType;
|
4088
|
+
}).map(function (o) {
|
4089
|
+
return o.className;
|
4090
|
+
});
|
4091
|
+
}
|
4092
|
+
}, {
|
4093
|
+
key: 'blockRenderer',
|
4094
|
+
value: function blockRenderer(block) {
|
4095
|
+
|
4096
|
+
switch (block.getType()) {
|
4097
|
+
|
4098
|
+
case "atomic":
|
4099
|
+
|
4100
|
+
var entity = block.getEntityAt(0);
|
4101
|
+
var entity_type = _draftJs.Entity.get(entity).getType();
|
4102
|
+
|
4103
|
+
break;
|
4104
|
+
}
|
4105
|
+
|
4106
|
+
if (this.renderableBlocks().includes(block.getType())) {
|
4107
|
+
return this.handleBlockRenderer(block);
|
4108
|
+
}
|
4109
|
+
|
4110
|
+
return null;
|
4111
|
+
}
|
4112
|
+
}, {
|
4113
|
+
key: 'handleBlockRenderer',
|
4114
|
+
value: function handleBlockRenderer(block) {
|
4115
|
+
var dataBlock = this.getDataBlock(block);
|
4116
|
+
if (!dataBlock) {
|
4117
|
+
return null;
|
4118
|
+
}
|
4119
|
+
|
4120
|
+
var read_only = this.state.read_only ? false : null;
|
4121
|
+
var editable = read_only !== null ? read_only : dataBlock.editable;
|
4122
|
+
return {
|
4123
|
+
component: eval(dataBlock.block),
|
4124
|
+
editable: editable,
|
4125
|
+
props: {
|
4126
|
+
data: block.getData(),
|
4127
|
+
getEditorState: this.getEditorState,
|
4128
|
+
setEditorState: this.onChange,
|
4129
|
+
addLock: this.addLock,
|
4130
|
+
toggleEditable: this.toggleEditable,
|
4131
|
+
disableEditable: this.disableEditable,
|
4132
|
+
enableEditable: this.enableEditable,
|
4133
|
+
removeLock: this.removeLock,
|
4134
|
+
getLocks: this.getLocks,
|
4135
|
+
config: dataBlock.options
|
4136
|
+
}
|
4137
|
+
};
|
4138
|
+
|
4139
|
+
return null;
|
4140
|
+
}
|
4141
|
+
}, {
|
4142
|
+
key: 'blockStyleFn',
|
4143
|
+
value: function blockStyleFn(block) {
|
4144
|
+
var currentBlock = (0, _index.getCurrentBlock)(this.state.editorState);
|
4145
|
+
var is_selected = currentBlock.getKey() === block.getKey() ? "is-selected" : "";
|
4146
|
+
|
4147
|
+
if (this.renderableBlocks().includes(block.getType())) {
|
4148
|
+
return this.styleForBlock(block, currentBlock, is_selected);
|
4149
|
+
}
|
4150
|
+
|
4151
|
+
var defaultBlockClass = this.defaultWrappers(block.getType());
|
4152
|
+
if (defaultBlockClass.length > 0) {
|
4153
|
+
return 'graf ' + defaultBlockClass[0] + ' ' + is_selected;
|
4154
|
+
} else {
|
4155
|
+
return 'graf nana ' + is_selected;
|
4156
|
+
}
|
4157
|
+
}
|
4158
|
+
}, {
|
4159
|
+
key: 'getDataBlock',
|
4160
|
+
value: function getDataBlock(block) {
|
4161
|
+
return this.widgets.find(function (o) {
|
4162
|
+
return o.type === block.getType();
|
4163
|
+
});
|
4164
|
+
}
|
4165
|
+
}, {
|
4166
|
+
key: 'styleForBlock',
|
4167
|
+
value: function styleForBlock(block, currentBlock, is_selected) {
|
4168
|
+
var dataBlock = this.getDataBlock(block);
|
4169
|
+
|
4170
|
+
if (!dataBlock) {
|
4171
|
+
return null;
|
4172
|
+
}
|
4173
|
+
|
4174
|
+
var selectedFn = dataBlock.selectedFn ? dataBlock.selectedFn(block) : null;
|
4175
|
+
var selected_class = is_selected ? dataBlock.selected_class : '';
|
4176
|
+
|
4177
|
+
return dataBlock.wrapper_class + ' ' + selected_class + ' ' + selectedFn;
|
4178
|
+
}
|
4179
|
+
}, {
|
4180
|
+
key: 'handleTooltipDisplayOn',
|
4181
|
+
value: function handleTooltipDisplayOn(prop, display) {
|
4182
|
+
var _this4 = this;
|
4183
|
+
|
4184
|
+
if (display == null) {
|
4185
|
+
display = true;
|
4186
|
+
}
|
4187
|
+
|
4188
|
+
return setTimeout(function () {
|
4189
|
+
var items = _this4.tooltipsWithProp(prop);
|
4190
|
+
console.log(items);
|
4191
|
+
return items.map(function (o) {
|
4192
|
+
_this4.refs[o.ref].display(display);
|
4193
|
+
return _this4.refs[o.ref].relocate();
|
4194
|
+
});
|
4195
|
+
}, 20);
|
4196
|
+
}
|
4197
|
+
}, {
|
4198
|
+
key: 'handlePasteText',
|
4199
|
+
value: function handlePasteText(text, html) {
|
4200
|
+
|
4201
|
+
// https://github.com/facebook/draft-js/issues/685
|
4202
|
+
/*
|
4203
|
+
html = "<p>chao</p>
|
4204
|
+
<avv>aaa</avv>
|
4205
|
+
<p>oli</p>
|
4206
|
+
<img src='x'/>"
|
4207
|
+
*/
|
4208
|
+
|
4209
|
+
// if not html then fallback to default handler
|
4210
|
+
|
4211
|
+
if (!html) {
|
4212
|
+
return this.handleTXTPaste(text, html);
|
4213
|
+
}
|
4214
|
+
if (html) {
|
4215
|
+
return this.handleHTMLPaste(text, html);
|
4216
|
+
}
|
4217
|
+
}
|
4218
|
+
}, {
|
4219
|
+
key: 'handleTXTPaste',
|
4220
|
+
value: function handleTXTPaste(text, html) {
|
4221
|
+
var currentBlock = (0, _index.getCurrentBlock)(this.state.editorState);
|
4222
|
+
|
4223
|
+
var editorState = this.state.editorState;
|
4224
|
+
|
4225
|
+
|
4226
|
+
switch (currentBlock.getType()) {
|
4227
|
+
case "image":case "video":case "placeholder":
|
4228
|
+
var newContent = _draftJs.Modifier.replaceText(editorState.getCurrentContent(), new _draftJs.SelectionState({
|
4229
|
+
anchorKey: currentBlock.getKey(),
|
4230
|
+
anchorOffset: 0,
|
4231
|
+
focusKey: currentBlock.getKey(),
|
4232
|
+
focusOffset: 2
|
4233
|
+
}), text);
|
4234
|
+
|
4235
|
+
editorState = _draftJs.EditorState.push(editorState, newContent, 'replace-text');
|
4236
|
+
|
4237
|
+
this.onChange(editorState);
|
4238
|
+
|
4239
|
+
return true;
|
4240
|
+
default:
|
4241
|
+
return false;
|
4242
|
+
}
|
4243
|
+
}
|
4244
|
+
}, {
|
4245
|
+
key: 'handleHTMLPaste',
|
4246
|
+
value: function handleHTMLPaste(text, html) {
|
4247
|
+
|
4248
|
+
var currentBlock = (0, _index.getCurrentBlock)(this.state.editorState);
|
4249
|
+
|
4250
|
+
// TODO: make this configurable
|
4251
|
+
switch (currentBlock.getType()) {
|
4252
|
+
case "image":case "video":case "placeholder":
|
4253
|
+
return this.handleTXTPaste(text, html);
|
4254
|
+
break;
|
4255
|
+
}
|
4256
|
+
|
4257
|
+
var newContentState = (0, _html2content2['default'])(html, this.extendedBlockRenderMap);
|
4258
|
+
|
4259
|
+
var selection = this.state.editorState.getSelection();
|
4260
|
+
var endKey = selection.getEndKey();
|
4261
|
+
|
4262
|
+
var content = this.state.editorState.getCurrentContent();
|
4263
|
+
var blocksBefore = content.blockMap.toSeq().takeUntil(function (v) {
|
4264
|
+
return v.key === endKey;
|
4265
|
+
});
|
4266
|
+
var blocksAfter = content.blockMap.toSeq().skipUntil(function (v) {
|
4267
|
+
return v.key === endKey;
|
4268
|
+
}).rest();
|
4269
|
+
|
4270
|
+
var newBlockKey = newContentState.blockMap.first().getKey();
|
4271
|
+
|
4272
|
+
var newBlockMap = blocksBefore.concat(newContentState.blockMap, blocksAfter).toOrderedMap();
|
4273
|
+
|
4274
|
+
var newContent = content.merge({
|
4275
|
+
blockMap: newBlockMap,
|
4276
|
+
selectionBefore: selection,
|
4277
|
+
selectionAfter: selection.merge({
|
4278
|
+
anchorKey: newBlockKey,
|
4279
|
+
anchorOffset: 0,
|
4280
|
+
focusKey: newBlockKey,
|
4281
|
+
focusOffset: 0,
|
4282
|
+
isBackward: false
|
4283
|
+
})
|
4284
|
+
});
|
4285
|
+
|
4286
|
+
var pushedContentState = _draftJs.EditorState.push(this.state.editorState, newContent, 'insert-fragment');
|
4287
|
+
|
4288
|
+
this.onChange(pushedContentState);
|
4289
|
+
|
4290
|
+
return true;
|
4291
|
+
}
|
4292
|
+
}, {
|
4293
|
+
key: 'handlePasteImage',
|
4294
|
+
value: function handlePasteImage(files) {
|
4295
|
+
var _this5 = this;
|
4296
|
+
|
4297
|
+
//TODO: check file types
|
4298
|
+
return files.map(function (file) {
|
4299
|
+
var opts = {
|
4300
|
+
url: URL.createObjectURL(file),
|
4301
|
+
file: file
|
4302
|
+
};
|
4303
|
+
|
4304
|
+
return _this5.onChange((0, _index.addNewBlock)(_this5.state.editorState, 'image', opts));
|
4305
|
+
});
|
4306
|
+
}
|
4307
|
+
}, {
|
4308
|
+
key: 'handleDroppedFiles',
|
4309
|
+
value: function handleDroppedFiles(state, files) {
|
4310
|
+
var _this6 = this;
|
4311
|
+
|
4312
|
+
return files.map(function (file) {
|
4313
|
+
var opts = {
|
4314
|
+
url: URL.createObjectURL(file),
|
4315
|
+
file: file
|
4316
|
+
};
|
4317
|
+
|
4318
|
+
return _this6.onChange((0, _index.addNewBlock)(_this6.state.editorState, 'image', opts));
|
4319
|
+
});
|
4320
|
+
}
|
4321
|
+
}, {
|
4322
|
+
key: 'handleUpArrow',
|
4323
|
+
value: function handleUpArrow(e) {
|
4324
|
+
var _this7 = this;
|
4325
|
+
|
4326
|
+
return setTimeout(function () {
|
4327
|
+
return _this7.forceRender(_this7.state.editorState);
|
4328
|
+
}, 10);
|
4329
|
+
}
|
4330
|
+
}, {
|
4331
|
+
key: 'handleDownArrow',
|
4332
|
+
value: function handleDownArrow(e) {
|
4333
|
+
var _this8 = this;
|
4334
|
+
|
4335
|
+
return setTimeout(function () {
|
4336
|
+
return _this8.forceRender(_this8.state.editorState);
|
4337
|
+
}, 10);
|
4338
|
+
}
|
4339
|
+
}, {
|
4340
|
+
key: 'handleReturn',
|
4341
|
+
value: function handleReturn(e) {
|
4342
|
+
if (this.props.handleReturn) {
|
4343
|
+
if (this.props.handleReturn()) {
|
4344
|
+
return true;
|
4345
|
+
}
|
4346
|
+
}
|
4347
|
+
|
4348
|
+
var editorState = this.state.editorState;
|
4349
|
+
|
4350
|
+
|
4351
|
+
if (!e.altKey && !e.metaKey && !e.ctrlKey) {
|
4352
|
+
var currentBlock = (0, _index.getCurrentBlock)(editorState);
|
4353
|
+
var blockType = currentBlock.getType();
|
4354
|
+
var selection = editorState.getSelection();
|
4355
|
+
|
4356
|
+
var config_block = this.getDataBlock(currentBlock);
|
4357
|
+
|
4358
|
+
if (currentBlock.getText().length === 0) {
|
4359
|
+
|
4360
|
+
if (config_block && config_block.handleEnterWithoutText) {
|
4361
|
+
config_block.handleEnterWithText(this, currentBlock);
|
4362
|
+
this.closePopOvers();
|
4363
|
+
return true;
|
4364
|
+
}
|
4365
|
+
|
4366
|
+
//TODO turn this in configurable
|
4367
|
+
switch (blockType) {
|
4368
|
+
case "header-one":
|
4369
|
+
this.onChange((0, _index.resetBlockWithType)(editorState, "unstyled"));
|
4370
|
+
return true;
|
4371
|
+
break;
|
4372
|
+
default:
|
4373
|
+
return false;
|
4374
|
+
}
|
4375
|
+
}
|
4376
|
+
|
4377
|
+
if (currentBlock.getText().length > 0) {
|
4378
|
+
|
4379
|
+
/*
|
4380
|
+
if (blockType === "unstyled") {
|
4381
|
+
// hack hackety hack
|
4382
|
+
// https://github.com/facebook/draft-js/issues/304
|
4383
|
+
const newContent = Modifier.splitBlock(
|
4384
|
+
this.state.editorState.getCurrentContent(),
|
4385
|
+
this.state.editorState.getSelection())
|
4386
|
+
const newEditorState = EditorState.push(this.state.editorState,
|
4387
|
+
newContent, 'insert-characters')
|
4388
|
+
this.onChange(newEditorState)
|
4389
|
+
setTimeout(() => {
|
4390
|
+
//TODO: check is element is in viewport
|
4391
|
+
const a = document.getElementsByClassName("is-selected")
|
4392
|
+
const pos = a[0].getBoundingClientRect()
|
4393
|
+
return window.scrollTo(0, pos.top + window.scrollY - 100)
|
4394
|
+
}, 0)
|
4395
|
+
return true
|
4396
|
+
}*/
|
4397
|
+
|
4398
|
+
if (config_block && config_block.handleEnterWithText) {
|
4399
|
+
config_block.handleEnterWithText(this, currentBlock);
|
4400
|
+
this.closePopOvers();
|
4401
|
+
return true;
|
4402
|
+
}
|
4403
|
+
|
4404
|
+
if (currentBlock.getLength() === selection.getStartOffset()) {
|
4405
|
+
if (this.continuousBlocks.indexOf(blockType) < 0) {
|
4406
|
+
this.onChange((0, _index.addNewBlockAt)(editorState, currentBlock.getKey()));
|
4407
|
+
return true;
|
4408
|
+
}
|
4409
|
+
}
|
4410
|
+
|
4411
|
+
return false;
|
4412
|
+
}
|
4413
|
+
|
4414
|
+
// selection.isCollapsed() and # should we check collapsed here?
|
4415
|
+
if (currentBlock.getLength() === selection.getStartOffset()) {
|
4416
|
+
//or (config_block && config_block.breakOnContinuous))
|
4417
|
+
// it will match the unstyled for custom blocks
|
4418
|
+
if (this.continuousBlocks.indexOf(blockType) < 0) {
|
4419
|
+
this.onChange((0, _index.addNewBlockAt)(editorState, currentBlock.getKey()));
|
4420
|
+
return true;
|
4421
|
+
}
|
4422
|
+
return false;
|
4423
|
+
}
|
4424
|
+
|
4425
|
+
return false;
|
4426
|
+
}
|
4427
|
+
}
|
4428
|
+
|
4429
|
+
//return false
|
4430
|
+
|
4431
|
+
// TODO: make this configurable
|
4432
|
+
|
4433
|
+
}, {
|
4434
|
+
key: 'handleBeforeInput',
|
4435
|
+
value: function handleBeforeInput(chars) {
|
4436
|
+
var currentBlock = (0, _index.getCurrentBlock)(this.state.editorState);
|
4437
|
+
var blockType = currentBlock.getType();
|
4438
|
+
var selection = this.state.editorState.getSelection();
|
4439
|
+
|
4440
|
+
var editorState = this.state.editorState;
|
4441
|
+
|
4442
|
+
// close popovers
|
4443
|
+
|
4444
|
+
if (currentBlock.getText().length !== 0) {
|
4445
|
+
//@closeInlineButton()
|
4446
|
+
this.closePopOvers();
|
4447
|
+
}
|
4448
|
+
|
4449
|
+
// handle space on link
|
4450
|
+
var endOffset = selection.getEndOffset();
|
4451
|
+
var endKey = currentBlock.getEntityAt(endOffset - 1);
|
4452
|
+
var endEntityType = endKey && _draftJs.Entity.get(endKey).getType();
|
4453
|
+
var afterEndKey = currentBlock.getEntityAt(endOffset);
|
4454
|
+
var afterEndEntityType = afterEndKey && _draftJs.Entity.get(afterEndKey).getType();
|
4455
|
+
|
4456
|
+
// will insert blank space when link found
|
4457
|
+
if (chars === ' ' && endEntityType === 'LINK' && afterEndEntityType !== 'LINK') {
|
4458
|
+
var newContentState = _draftJs.Modifier.insertText(editorState.getCurrentContent(), selection, ' ');
|
4459
|
+
var newEditorState = _draftJs.EditorState.push(editorState, newContentState, 'insert-characters');
|
4460
|
+
this.onChange(newEditorState);
|
4461
|
+
return true;
|
4462
|
+
}
|
4463
|
+
|
4464
|
+
// block transform
|
4465
|
+
if (blockType.indexOf('atomic') === 0) {
|
4466
|
+
return false;
|
4467
|
+
}
|
4468
|
+
|
4469
|
+
var blockLength = currentBlock.getLength();
|
4470
|
+
if (selection.getAnchorOffset() > 1 || blockLength > 1) {
|
4471
|
+
return false;
|
4472
|
+
}
|
4473
|
+
|
4474
|
+
var blockTo = this.character_convert_mapping[currentBlock.getText() + chars];
|
4475
|
+
|
4476
|
+
console.log('BLOCK TO SHOW: ' + blockTo);
|
4477
|
+
|
4478
|
+
if (!blockTo) {
|
4479
|
+
return false;
|
4480
|
+
}
|
4481
|
+
|
4482
|
+
this.onChange((0, _index.resetBlockWithType)(editorState, blockTo));
|
4483
|
+
|
4484
|
+
return true;
|
4485
|
+
}
|
4486
|
+
|
4487
|
+
// TODO: make this configurable
|
4488
|
+
|
4489
|
+
}, {
|
4490
|
+
key: 'handleKeyCommand',
|
4491
|
+
value: function handleKeyCommand(command) {
|
4492
|
+
var editorState = this.state.editorState;
|
4493
|
+
|
4494
|
+
var currentBlockType = void 0,
|
4495
|
+
newBlockType = void 0;
|
4496
|
+
|
4497
|
+
if (this.props.handleKeyCommand && this.props.handleKeyCommand(command)) {
|
4498
|
+
return true;
|
4499
|
+
}
|
4500
|
+
|
4501
|
+
if (command === 'add-new-block') {
|
4502
|
+
this.onChange((0, _index.addNewBlock)(editorState, 'blockquote'));
|
4503
|
+
return true;
|
4504
|
+
}
|
4505
|
+
|
4506
|
+
var block = (0, _index.getCurrentBlock)(editorState);
|
4507
|
+
|
4508
|
+
if (command.indexOf('toggle_inline:') === 0) {
|
4509
|
+
newBlockType = command.split(':')[1];
|
4510
|
+
currentBlockType = block.getType();
|
4511
|
+
this.onChange(_draftJs.RichUtils.toggleInlineStyle(editorState, newBlockType));
|
4512
|
+
return true;
|
4513
|
+
}
|
4514
|
+
|
4515
|
+
if (command.indexOf('toggle_block:') === 0) {
|
4516
|
+
newBlockType = command.split(':')[1];
|
4517
|
+
currentBlockType = block.getType();
|
4518
|
+
|
4519
|
+
this.onChange(_draftJs.RichUtils.toggleBlockType(editorState, newBlockType));
|
4520
|
+
return true;
|
4521
|
+
}
|
4522
|
+
|
4523
|
+
var newState = _draftJs.RichUtils.handleKeyCommand(this.state.editorState, command);
|
4524
|
+
if (newState) {
|
4525
|
+
this.onChange(newState);
|
4526
|
+
return true;
|
4527
|
+
}
|
4528
|
+
|
4529
|
+
return false;
|
4530
|
+
}
|
4531
|
+
}, {
|
4532
|
+
key: 'findCommandKey',
|
4533
|
+
value: function findCommandKey(opt, command) {
|
4534
|
+
// console.log "COMMAND find: #{opt} #{command}"
|
4535
|
+
return this.key_commands[opt].find(function (o) {
|
4536
|
+
return o.key === command;
|
4537
|
+
});
|
4538
|
+
}
|
4539
|
+
}, {
|
4540
|
+
key: 'KeyBindingFn',
|
4541
|
+
value: function KeyBindingFn(e) {
|
4542
|
+
|
4543
|
+
//⌘ + B / Ctrl + B Bold
|
4544
|
+
//⌘ + I / Ctrl + I Italic
|
4545
|
+
//⌘ + K / Ctrl + K Turn into link
|
4546
|
+
//⌘ + Alt + 1 / Ctrl + Alt + 1 Header
|
4547
|
+
//⌘ + Alt + 2 / Ctrl + Alt + 2 Sub-Header
|
4548
|
+
//⌘ + Alt + 5 / Ctrl + Alt + 5 Quote (Press once for a block quote, again for a pull quote and a third time to turn off quote)
|
4549
|
+
|
4550
|
+
var cmd = void 0;
|
4551
|
+
if (e.altKey) {
|
4552
|
+
if (e.shiftKey) {
|
4553
|
+
cmd = this.findCommandKey("alt-shift", e.which);
|
4554
|
+
if (cmd) {
|
4555
|
+
return cmd.cmd;
|
4556
|
+
}
|
4557
|
+
|
4558
|
+
return (0, _draftJs.getDefaultKeyBinding)(e);
|
4559
|
+
}
|
4560
|
+
|
4561
|
+
if (e.ctrlKey || e.metaKey) {
|
4562
|
+
cmd = this.findCommandKey("alt-cmd", e.which);
|
4563
|
+
if (cmd) {
|
4564
|
+
return cmd.cmd;
|
4565
|
+
}
|
4566
|
+
return (0, _draftJs.getDefaultKeyBinding)(e);
|
4567
|
+
}
|
4568
|
+
} else if (e.ctrlKey || e.metaKey) {
|
4569
|
+
cmd = this.findCommandKey("cmd", e.which);
|
4570
|
+
if (cmd) {
|
4571
|
+
return cmd.cmd;
|
4572
|
+
}
|
4573
|
+
return (0, _draftJs.getDefaultKeyBinding)(e);
|
4574
|
+
}
|
4575
|
+
|
4576
|
+
return (0, _draftJs.getDefaultKeyBinding)(e);
|
4577
|
+
}
|
4578
|
+
|
4579
|
+
// will update block state todo: movo to utils
|
4580
|
+
|
4581
|
+
}, {
|
4582
|
+
key: 'updateBlockData',
|
4583
|
+
value: function updateBlockData(block, options) {
|
4584
|
+
var data = block.getData();
|
4585
|
+
var newData = data.merge(options);
|
4586
|
+
var newState = (0, _index.updateDataOfBlock)(this.state.editorState, block, newData);
|
4587
|
+
// this fixes enter from image caption
|
4588
|
+
return this.forceRender(newState);
|
4589
|
+
}
|
4590
|
+
}, {
|
4591
|
+
key: 'setDirection',
|
4592
|
+
value: function setDirection(direction_type) {
|
4593
|
+
var contentState = this.state.editorState.getCurrentContent();
|
4594
|
+
var selectionState = this.state.editorState.getSelection();
|
4595
|
+
var block = contentState.getBlockForKey(selectionState.anchorKey);
|
4596
|
+
|
4597
|
+
return this.updateBlockData(block, { direction: direction_type });
|
4598
|
+
}
|
4599
|
+
|
4600
|
+
//# read only utils
|
4601
|
+
|
4602
|
+
}, {
|
4603
|
+
key: 'toggleEditable',
|
4604
|
+
value: function toggleEditable() {
|
4605
|
+
this.closePopOvers();
|
4606
|
+
return this.setState({ read_only: !this.state.read_only }, this.testEmitAndDecode);
|
4607
|
+
}
|
4608
|
+
}, {
|
4609
|
+
key: 'disableEditable',
|
4610
|
+
value: function disableEditable() {
|
4611
|
+
console.log("in !!");
|
4612
|
+
this.closePopOvers();
|
4613
|
+
return this.setState({ read_only: true }, this.testEmitAndDecode);
|
4614
|
+
}
|
4615
|
+
}, {
|
4616
|
+
key: 'enableEditable',
|
4617
|
+
value: function enableEditable() {
|
4618
|
+
this.closePopOvers();
|
4619
|
+
console.log("out !!");
|
4620
|
+
|
4621
|
+
return this.setState({ read_only: false }, this.testEmitAndDecode);
|
4622
|
+
}
|
4623
|
+
}, {
|
4624
|
+
key: 'closePopOvers',
|
4625
|
+
value: function closePopOvers() {
|
4626
|
+
var _this9 = this;
|
4627
|
+
|
4628
|
+
return this.tooltips.map(function (o) {
|
4629
|
+
return _this9.refs[o.ref].hide();
|
4630
|
+
});
|
4631
|
+
}
|
4632
|
+
}, {
|
4633
|
+
key: 'relocateTooltips',
|
4634
|
+
value: function relocateTooltips() {
|
4635
|
+
var _this10 = this;
|
4636
|
+
|
4637
|
+
if (this.state.read_only) return;
|
4638
|
+
|
4639
|
+
return this.tooltips.map(function (o) {
|
4640
|
+
return _this10.refs[o.ref].relocate();
|
4641
|
+
});
|
4642
|
+
}
|
4643
|
+
}, {
|
4644
|
+
key: 'tooltipsWithProp',
|
4645
|
+
value: function tooltipsWithProp(prop) {
|
4646
|
+
return this.tooltips.filter(function (o) {
|
4647
|
+
return o[prop];
|
4648
|
+
});
|
4649
|
+
}
|
4650
|
+
}, {
|
4651
|
+
key: 'tooltipHasSelectionElement',
|
4652
|
+
value: function tooltipHasSelectionElement(tooltip, element) {
|
4653
|
+
return tooltip.selectionElements.includes(element);
|
4654
|
+
}
|
4655
|
+
|
4656
|
+
//################################
|
4657
|
+
// TODO: this methods belongs to popovers/link
|
4658
|
+
//################################
|
4659
|
+
|
4660
|
+
}, {
|
4661
|
+
key: 'handleShowPopLinkOver',
|
4662
|
+
value: function handleShowPopLinkOver(e) {
|
4663
|
+
return this.showPopLinkOver();
|
4664
|
+
}
|
4665
|
+
}, {
|
4666
|
+
key: 'handleHidePopLinkOver',
|
4667
|
+
value: function handleHidePopLinkOver(e) {
|
4668
|
+
return this.hidePopLinkOver();
|
4669
|
+
}
|
4670
|
+
}, {
|
4671
|
+
key: 'showPopLinkOver',
|
4672
|
+
value: function showPopLinkOver(el) {
|
4673
|
+
// handles popover display
|
4674
|
+
// using anchor or from popover
|
4675
|
+
|
4676
|
+
var parent_el = _reactDom2['default'].findDOMNode(this);
|
4677
|
+
|
4678
|
+
// set url first in order to calculate popover width
|
4679
|
+
var coords = void 0;
|
4680
|
+
this.refs.anchor_popover.setState({ url: el ? el.href : this.refs.anchor_popover.state.url });
|
4681
|
+
|
4682
|
+
if (el) {
|
4683
|
+
coords = this.refs.anchor_popover.relocate(el);
|
4684
|
+
}
|
4685
|
+
|
4686
|
+
if (coords) {
|
4687
|
+
this.refs.anchor_popover.setPosition(coords);
|
4688
|
+
}
|
4689
|
+
|
4690
|
+
this.refs.anchor_popover.setState({ show: true });
|
4691
|
+
|
4692
|
+
this.isHover = true;
|
4693
|
+
return this.cancelHide();
|
4694
|
+
}
|
4695
|
+
}, {
|
4696
|
+
key: 'hidePopLinkOver',
|
4697
|
+
value: function hidePopLinkOver() {
|
4698
|
+
var _this11 = this;
|
4699
|
+
|
4700
|
+
return this.hideTimeout = setTimeout(function () {
|
4701
|
+
return _this11.refs.anchor_popover.hide();
|
4702
|
+
}, 300);
|
4703
|
+
}
|
4704
|
+
}, {
|
4705
|
+
key: 'cancelHide',
|
4706
|
+
value: function cancelHide() {
|
4707
|
+
// console.log "Cancel Hide"
|
4708
|
+
return clearTimeout(this.hideTimeout);
|
4709
|
+
}
|
4710
|
+
|
4711
|
+
//##############################
|
4712
|
+
|
4713
|
+
}, {
|
4714
|
+
key: 'render',
|
4715
|
+
value: function render() {
|
4716
|
+
var _this12 = this;
|
4717
|
+
|
4718
|
+
return _react2['default'].createElement(
|
4719
|
+
'div',
|
4720
|
+
{ id: 'content', suppressContentEditableWarning: true },
|
4721
|
+
_react2['default'].createElement(
|
4722
|
+
'article',
|
4723
|
+
{ className: 'postArticle' },
|
4724
|
+
_react2['default'].createElement(
|
4725
|
+
'div',
|
4726
|
+
{ className: 'postContent' },
|
4727
|
+
_react2['default'].createElement(
|
4728
|
+
'div',
|
4729
|
+
{ className: 'notesSource' },
|
4730
|
+
_react2['default'].createElement(
|
4731
|
+
'div',
|
4732
|
+
{ id: 'editor', className: 'postField postField--body' },
|
4733
|
+
_react2['default'].createElement(
|
4734
|
+
'section',
|
4735
|
+
{ className: 'section--first section--last' },
|
4736
|
+
_react2['default'].createElement(
|
4737
|
+
'div',
|
4738
|
+
{ className: 'section-divider layoutSingleColumn' },
|
4739
|
+
_react2['default'].createElement('hr', { className: 'section-divider' })
|
4740
|
+
),
|
4741
|
+
_react2['default'].createElement(
|
4742
|
+
'div',
|
4743
|
+
{ className: 'section-content' },
|
4744
|
+
_react2['default'].createElement(
|
4745
|
+
'div',
|
4746
|
+
{ ref: 'richEditor',
|
4747
|
+
className: 'section-inner layoutSingleColumn',
|
4748
|
+
onClick: this.focus },
|
4749
|
+
_react2['default'].createElement(_draftJs.Editor, {
|
4750
|
+
blockRendererFn: this.blockRenderer,
|
4751
|
+
editorState: this.state.editorState,
|
4752
|
+
onChange: this.onChange,
|
4753
|
+
onUpArrow: this.handleUpArrow,
|
4754
|
+
onDownArrow: this.handleDownArrow,
|
4755
|
+
handleReturn: this.handleReturn,
|
4756
|
+
blockRenderMap: this.state.blockRenderMap,
|
4757
|
+
blockStyleFn: this.blockStyleFn,
|
4758
|
+
handlePastedText: this.handlePasteText,
|
4759
|
+
handlePastedFiles: this.handlePasteImage,
|
4760
|
+
handleDroppedFiles: this.handleDroppedFiles,
|
4761
|
+
handleKeyCommand: this.handleKeyCommand,
|
4762
|
+
keyBindingFn: this.KeyBindingFn,
|
4763
|
+
handleBeforeInput: this.handleBeforeInput,
|
4764
|
+
readOnly: this.state.read_only,
|
4765
|
+
placeholder: this.props.config.body_placeholder,
|
4766
|
+
ref: 'editor'
|
4767
|
+
})
|
4768
|
+
)
|
4769
|
+
)
|
4770
|
+
)
|
4771
|
+
)
|
4772
|
+
)
|
4773
|
+
)
|
4774
|
+
),
|
4775
|
+
this.tooltips.map(function (o, i) {
|
4776
|
+
return _react2['default'].createElement(o.component, {
|
4777
|
+
ref: o.ref,
|
4778
|
+
key: i,
|
4779
|
+
editor: _this12,
|
4780
|
+
editorState: _this12.state.editorState,
|
4781
|
+
onChange: _this12.onChange,
|
4782
|
+
configTooltip: o,
|
4783
|
+
widget_options: o.widget_options,
|
4784
|
+
showPopLinkOver: _this12.showPopLinkOver,
|
4785
|
+
hidePopLinkOver: _this12.hidePopLinkOver,
|
4786
|
+
handleOnMouseOver: _this12.handleShowPopLinkOver,
|
4787
|
+
handleOnMouseOut: _this12.handleHidePopLinkOver
|
4788
|
+
});
|
4789
|
+
}),
|
4790
|
+
this.state.debug ? _react2['default'].createElement(_debug2['default'], { locks: this.state.locks, editor: this }) : undefined
|
4791
|
+
);
|
4792
|
+
}
|
4793
|
+
}]);
|
4794
|
+
return DanteEditor;
|
4795
|
+
}(_react2['default'].Component);
|
4796
|
+
|
4797
|
+
exports['default'] = DanteEditor;
|
4798
|
+
|
3385
4799
|
/***/ })
|
3386
4800
|
|
3387
|
-
},[
|
4801
|
+
},[162]);
|
3388
4802
|
//# sourceMappingURL=dante.js.map
|