@elliemae/ds-wysiwygeditor 1.60.0 → 2.0.0-alpha.12
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.
- package/cjs/DSWYSIWYGEditor.js +35 -75
- package/cjs/components/CustomImageUploader.js +102 -170
- package/cjs/components/CustomToolbar.js +145 -158
- package/cjs/components/DSWYSIWYGEditorImpl.js +121 -162
- package/cjs/components/ImageLibraryModal.js +32 -65
- package/cjs/components/InsertFieldModal.js +121 -153
- package/cjs/components/TippedButton.js +35 -26
- package/cjs/components/TippedSelect.js +27 -31
- package/cjs/components/colors.js +12 -10
- package/cjs/components/customFields.js +22 -25
- package/cjs/constants.js +7 -12
- package/cjs/index.js +6 -45
- package/cjs/quillMatchers/clipboardLinkWithTagMatcher.js +12 -15
- package/cjs/quillOverrides/IndentStyle.js +12 -48
- package/cjs/quillOverrides/LinkFormat.js +36 -77
- package/cjs/quillOverrides/PlainClipboard.js +13 -43
- package/cjs/utils.js +9 -6
- package/esm/DSWYSIWYGEditor.js +33 -71
- package/esm/components/CustomImageUploader.js +102 -167
- package/esm/components/CustomToolbar.js +143 -155
- package/esm/components/DSWYSIWYGEditorImpl.js +111 -147
- package/esm/components/ImageLibraryModal.js +31 -58
- package/esm/components/InsertFieldModal.js +116 -143
- package/esm/components/TippedButton.js +30 -21
- package/esm/components/TippedSelect.js +25 -29
- package/esm/components/colors.js +12 -10
- package/esm/components/customFields.js +21 -24
- package/esm/constants.js +6 -7
- package/esm/index.js +0 -39
- package/esm/quillMatchers/clipboardLinkWithTagMatcher.js +11 -10
- package/esm/quillOverrides/IndentStyle.js +12 -39
- package/esm/quillOverrides/LinkFormat.js +36 -68
- package/esm/quillOverrides/PlainClipboard.js +13 -35
- package/esm/utils.js +9 -6
- package/package.json +99 -16
- package/types/DSWYSIWYGEditor.d.ts +86 -0
- package/types/components/CustomImageUploader.d.ts +8 -0
- package/types/components/CustomToolbar.d.ts +21 -0
- package/types/components/DSWYSIWYGEditorImpl.d.ts +15 -0
- package/types/components/ImageLibraryModal.d.ts +31 -0
- package/types/components/InsertFieldModal.d.ts +41 -0
- package/types/components/TippedButton.d.ts +12 -0
- package/types/components/TippedSelect.d.ts +13 -0
- package/types/components/colors.d.ts +1 -0
- package/types/components/customFields.d.ts +36 -0
- package/types/constants.d.ts +26 -0
- package/types/index.d.ts +4 -0
- package/types/quillMatchers/clipboardLinkWithTagMatcher.d.ts +2 -0
- package/types/quillOverrides/IndentStyle.d.ts +10 -0
- package/types/quillOverrides/LinkFormat.d.ts +12 -0
- package/types/quillOverrides/PlainClipboard.d.ts +8 -0
- package/types/utils.d.ts +1 -0
- package/DSWYSIWYGEditor/package.json +0 -10
- package/cjs/DSWYSIWYGEditor.js.map +0 -1
- package/cjs/components/CustomImageUploader.js.map +0 -1
- package/cjs/components/CustomToolbar.js.map +0 -1
- package/cjs/components/DSWYSIWYGEditorImpl.js.map +0 -1
- package/cjs/components/ImageLibraryModal.js.map +0 -1
- package/cjs/components/InsertFieldModal.js.map +0 -1
- package/cjs/components/TippedButton.js.map +0 -1
- package/cjs/components/TippedSelect.js.map +0 -1
- package/cjs/components/colors.js.map +0 -1
- package/cjs/components/customFields.js.map +0 -1
- package/cjs/constants.js.map +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/quillMatchers/clipboardLinkWithTagMatcher.js.map +0 -1
- package/cjs/quillOverrides/IndentStyle.js.map +0 -1
- package/cjs/quillOverrides/LinkFormat.js.map +0 -1
- package/cjs/quillOverrides/PlainClipboard.js.map +0 -1
- package/cjs/utils.js.map +0 -1
- package/components/CustomImageUploader/package.json +0 -10
- package/components/CustomToolbar/package.json +0 -10
- package/components/DSWYSIWYGEditorImpl/package.json +0 -10
- package/components/ImageLibraryModal/package.json +0 -10
- package/components/InsertFieldModal/package.json +0 -10
- package/components/TippedButton/package.json +0 -10
- package/components/TippedSelect/package.json +0 -10
- package/components/colors/package.json +0 -10
- package/components/customFields/package.json +0 -10
- package/constants/package.json +0 -10
- package/esm/DSWYSIWYGEditor.js.map +0 -1
- package/esm/components/CustomImageUploader.js.map +0 -1
- package/esm/components/CustomToolbar.js.map +0 -1
- package/esm/components/DSWYSIWYGEditorImpl.js.map +0 -1
- package/esm/components/ImageLibraryModal.js.map +0 -1
- package/esm/components/InsertFieldModal.js.map +0 -1
- package/esm/components/TippedButton.js.map +0 -1
- package/esm/components/TippedSelect.js.map +0 -1
- package/esm/components/colors.js.map +0 -1
- package/esm/components/customFields.js.map +0 -1
- package/esm/constants.js.map +0 -1
- package/esm/index.js.map +0 -1
- package/esm/quillMatchers/clipboardLinkWithTagMatcher.js.map +0 -1
- package/esm/quillOverrides/IndentStyle.js.map +0 -1
- package/esm/quillOverrides/LinkFormat.js.map +0 -1
- package/esm/quillOverrides/PlainClipboard.js.map +0 -1
- package/esm/utils.js.map +0 -1
- package/quillMatchers/clipboardLinkWithTagMatcher/package.json +0 -10
- package/quillOverrides/IndentStyle/package.json +0 -10
- package/quillOverrides/LinkFormat/package.json +0 -10
- package/quillOverrides/PlainClipboard/package.json +0 -10
- package/utils/package.json +0 -10
package/cjs/DSWYSIWYGEditor.js
CHANGED
|
@@ -2,85 +2,49 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
5
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
6
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
7
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
11
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
12
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
8
13
|
var React = require('react');
|
|
9
14
|
var reactDesc = require('react-desc');
|
|
10
|
-
var
|
|
11
|
-
require('
|
|
12
|
-
require('@babel/runtime/helpers/classCallCheck');
|
|
13
|
-
require('@babel/runtime/helpers/createClass');
|
|
14
|
-
require('@babel/runtime/helpers/inherits');
|
|
15
|
-
require('@babel/runtime/helpers/possibleConstructorReturn');
|
|
16
|
-
require('@babel/runtime/helpers/getPrototypeOf');
|
|
17
|
-
require('react-quill');
|
|
18
|
-
require('quill-blot-formatter');
|
|
19
|
-
require('./components/ImageLibraryModal.js');
|
|
20
|
-
require('@elliemae/ds-imagelibrarymodal');
|
|
21
|
-
require('prop-types');
|
|
22
|
-
require('./components/InsertFieldModal.js');
|
|
23
|
-
require('@elliemae/ds-modal');
|
|
24
|
-
require('@elliemae/ds-shared/constants');
|
|
25
|
-
require('lodash');
|
|
26
|
-
require('./components/customFields.js');
|
|
27
|
-
require('./components/CustomToolbar.js');
|
|
28
|
-
require('@elliemae/ds-button');
|
|
29
|
-
require('@elliemae/ds-icons');
|
|
30
|
-
require('@elliemae/ds-dropdownmenu');
|
|
31
|
-
require('./constants.js');
|
|
32
|
-
require('@babel/runtime/helpers/toConsumableArray');
|
|
33
|
-
require('./components/colors.js');
|
|
34
|
-
require('./components/TippedButton.js');
|
|
35
|
-
require('@elliemae/ds-tooltip');
|
|
36
|
-
require('./components/TippedSelect.js');
|
|
37
|
-
require('./quillOverrides/IndentStyle.js');
|
|
38
|
-
require('@babel/runtime/helpers/get');
|
|
39
|
-
require('./quillOverrides/LinkFormat.js');
|
|
40
|
-
require('./utils.js');
|
|
41
|
-
require('./quillMatchers/clipboardLinkWithTagMatcher.js');
|
|
15
|
+
var DSWYSIWYGEditorImpl = require('./components/DSWYSIWYGEditorImpl.js');
|
|
16
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
42
17
|
|
|
43
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
44
19
|
|
|
45
|
-
var
|
|
46
|
-
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
20
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
47
21
|
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
48
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
49
22
|
|
|
50
|
-
|
|
23
|
+
const _excluded = ["value", "onChange", "getQuillRef", "quillModules", "customToolbar", "toolbarHandlers", "showRawHTML", "height", "hideItems"];
|
|
51
24
|
|
|
52
|
-
var
|
|
53
|
-
var _ref$value = _ref.value,
|
|
54
|
-
value = _ref$value === void 0 ? '' : _ref$value,
|
|
55
|
-
_ref$onChange = _ref.onChange,
|
|
56
|
-
onChange = _ref$onChange === void 0 ? function () {
|
|
57
|
-
return null;
|
|
58
|
-
} : _ref$onChange,
|
|
59
|
-
_ref$getQuillRef = _ref.getQuillRef,
|
|
60
|
-
getQuillRef = _ref$getQuillRef === void 0 ? function () {
|
|
61
|
-
return null;
|
|
62
|
-
} : _ref$getQuillRef,
|
|
63
|
-
_ref$quillModules = _ref.quillModules,
|
|
64
|
-
quillModules = _ref$quillModules === void 0 ? {} : _ref$quillModules,
|
|
65
|
-
customToolbar = _ref.customToolbar,
|
|
66
|
-
toolbarHandlers = _ref.toolbarHandlers,
|
|
67
|
-
_ref$showRawHTML = _ref.showRawHTML,
|
|
68
|
-
showRawHTML = _ref$showRawHTML === void 0 ? false : _ref$showRawHTML,
|
|
69
|
-
height = _ref.height,
|
|
70
|
-
hideItems = _ref.hideItems,
|
|
71
|
-
rest = _objectWithoutProperties__default['default'](_ref, _excluded);
|
|
25
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
72
26
|
|
|
73
|
-
|
|
27
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
74
28
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
29
|
+
const DSWYSIWYGEditor = _ref => {
|
|
30
|
+
let {
|
|
31
|
+
value = '',
|
|
32
|
+
onChange = () => null,
|
|
33
|
+
getQuillRef = () => null,
|
|
34
|
+
quillModules = {},
|
|
35
|
+
customToolbar,
|
|
36
|
+
toolbarHandlers,
|
|
37
|
+
showRawHTML = false,
|
|
38
|
+
height,
|
|
39
|
+
hideItems
|
|
40
|
+
} = _ref,
|
|
41
|
+
rest = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
79
42
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
43
|
+
const emptyAction = () => {};
|
|
44
|
+
|
|
45
|
+
const [showHTML, setShowHTML] = React.useState(showRawHTML);
|
|
46
|
+
React.useEffect(() => setShowHTML(showRawHTML), [showRawHTML]);
|
|
47
|
+
return /*#__PURE__*/jsxRuntime.jsx(DSWYSIWYGEditorImpl, _objectSpread({
|
|
84
48
|
forceHttpLink: true,
|
|
85
49
|
handleCustomFieldClick: emptyAction,
|
|
86
50
|
handleImageClick: emptyAction,
|
|
@@ -92,15 +56,13 @@ var DSWYSIWYGEditor = function DSWYSIWYGEditor(_ref) {
|
|
|
92
56
|
customToolbar: customToolbar,
|
|
93
57
|
toolbarHandlers: toolbarHandlers,
|
|
94
58
|
showRawHTML: showHTML,
|
|
95
|
-
onShowHTML:
|
|
96
|
-
return setShowHTML(!showHTML);
|
|
97
|
-
},
|
|
59
|
+
onShowHTML: () => setShowHTML(!showHTML),
|
|
98
60
|
height: height,
|
|
99
61
|
hideItems: hideItems
|
|
100
62
|
}, rest));
|
|
101
63
|
};
|
|
102
64
|
|
|
103
|
-
|
|
65
|
+
const wysiwygEditorProps = {
|
|
104
66
|
value: reactDesc.PropTypes.string.description('editors value').isRequired,
|
|
105
67
|
onChange: reactDesc.PropTypes.func.description("(content, delta, source, editor) : Called back with the new contents of the editor after change. \n It will be passed the HTML contents of the editor, a delta object expressing the change, the source of the change, and finally a read-only proxy to editor accessors such as getHTML(). \n \u26A0\uFE0F Do not use this delta object as value, as it will cause a loop. \n Use editor.getContents() instead. See Using Deltas for details. \n Read more: https://github.com/zenoamaro/react-quill#props").isRequired,
|
|
106
68
|
getQuillRef: reactDesc.PropTypes.func.description('function to use quill.js ref'),
|
|
@@ -113,10 +75,8 @@ var wysiwygEditorProps = {
|
|
|
113
75
|
hideItems: reactDesc.PropTypes.object.description('object of defaultItems to be removed from toolbar').defaultValue({}),
|
|
114
76
|
zIndex: reactDesc.PropTypes.number.description('zIndex to be used (required when used in a modal for correct tooltips displaying)')
|
|
115
77
|
};
|
|
116
|
-
|
|
117
|
-
var WYSIWYWithSchema = reactDesc.describe(DSWYSIWYGEditor);
|
|
78
|
+
const WYSIWYWithSchema = reactDesc.describe(DSWYSIWYGEditor);
|
|
118
79
|
WYSIWYWithSchema.propTypes = wysiwygEditorProps;
|
|
119
80
|
|
|
120
81
|
exports.WYSIWYWithSchema = WYSIWYWithSchema;
|
|
121
|
-
exports[
|
|
122
|
-
//# sourceMappingURL=DSWYSIWYGEditor.js.map
|
|
82
|
+
exports["default"] = DSWYSIWYGEditor;
|
|
@@ -2,192 +2,124 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
5
|
+
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
8
7
|
var React = require('react');
|
|
9
8
|
var dsIcons = require('@elliemae/ds-icons');
|
|
10
9
|
var DSUploader = require('@elliemae/ds-uploader');
|
|
11
10
|
var DSModal = require('@elliemae/ds-modal');
|
|
12
|
-
var
|
|
13
|
-
require('
|
|
14
|
-
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
15
|
-
require('@elliemae/ds-tooltip');
|
|
11
|
+
var TippedButton = require('./TippedButton.js');
|
|
12
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
16
13
|
|
|
17
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
15
|
|
|
19
|
-
var
|
|
20
|
-
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
21
|
-
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
22
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
16
|
+
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
23
17
|
var DSUploader__default = /*#__PURE__*/_interopDefaultLegacy(DSUploader);
|
|
24
18
|
var DSModal__default = /*#__PURE__*/_interopDefaultLegacy(DSModal);
|
|
25
19
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
var _useState = React.useState(false),
|
|
43
|
-
_useState2 = _slicedToArray__default['default'](_useState, 2),
|
|
44
|
-
isOpen = _useState2[0],
|
|
45
|
-
setIsOpen = _useState2[1];
|
|
46
|
-
|
|
47
|
-
var _useState3 = React.useState(null),
|
|
48
|
-
_useState4 = _slicedToArray__default['default'](_useState3, 2),
|
|
49
|
-
error = _useState4[0],
|
|
50
|
-
setError = _useState4[1];
|
|
51
|
-
|
|
52
|
-
var _useState5 = React.useState(false),
|
|
53
|
-
_useState6 = _slicedToArray__default['default'](_useState5, 2),
|
|
54
|
-
inProgress = _useState6[0],
|
|
55
|
-
setInProgress = _useState6[1];
|
|
56
|
-
|
|
57
|
-
var _useState7 = React.useState({
|
|
20
|
+
const ALLOWED_TYPES_TEXT = 'JPG, JPEG, PNG, GIF, BMP, TIFF';
|
|
21
|
+
const ALLOWED_TYPES = /image\/(jpeg|jpg|png|gif|bmp|tiff)/;
|
|
22
|
+
const DEFAULT_MAX_SIZE = 1024 * 1024; // 1 MB
|
|
23
|
+
|
|
24
|
+
const CustomImageUploader = _ref => {
|
|
25
|
+
let {
|
|
26
|
+
quillRef,
|
|
27
|
+
editorFieldName,
|
|
28
|
+
allowedImageTypes = ALLOWED_TYPES_TEXT,
|
|
29
|
+
uploadAsset = () => null,
|
|
30
|
+
zIndex = 1
|
|
31
|
+
} = _ref;
|
|
32
|
+
const [isOpen, setIsOpen] = React.useState(false);
|
|
33
|
+
const [error, setError] = React.useState(null);
|
|
34
|
+
const [inProgress, setInProgress] = React.useState(false);
|
|
35
|
+
const [lastSelection, setLastSelection] = React.useState({
|
|
58
36
|
index: 0,
|
|
59
37
|
length: 0
|
|
60
|
-
})
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
} else {
|
|
96
|
-
fr = new FileReader();
|
|
97
|
-
fr.onload = /*#__PURE__*/_asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee() {
|
|
98
|
-
var url;
|
|
99
|
-
return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
|
|
100
|
-
while (1) {
|
|
101
|
-
switch (_context.prev = _context.next) {
|
|
102
|
-
case 0:
|
|
103
|
-
setInProgress(true);
|
|
104
|
-
_context.prev = 1;
|
|
105
|
-
_context.next = 4;
|
|
106
|
-
return uploadAsset({
|
|
107
|
-
name: selectedFile.name,
|
|
108
|
-
type: selectedFile.type,
|
|
109
|
-
description: selectedFile.name,
|
|
110
|
-
isSystemAsset: false,
|
|
111
|
-
file: fr.result
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
case 4:
|
|
115
|
-
url = _context.sent;
|
|
116
|
-
setIsOpen(false);
|
|
117
|
-
quillRef === null || quillRef === void 0 ? void 0 : quillRef.getEditor().insertEmbed((lastSelection === null || lastSelection === void 0 ? void 0 : lastSelection.index) || 0, 'image', url);
|
|
118
|
-
_context.next = 12;
|
|
119
|
-
break;
|
|
120
|
-
|
|
121
|
-
case 9:
|
|
122
|
-
_context.prev = 9;
|
|
123
|
-
_context.t0 = _context["catch"](1);
|
|
124
|
-
setError('An error has occurred, try again');
|
|
125
|
-
|
|
126
|
-
case 12:
|
|
127
|
-
setInProgress(false);
|
|
128
|
-
|
|
129
|
-
case 13:
|
|
130
|
-
case "end":
|
|
131
|
-
return _context.stop();
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}, _callee, null, [[1, 9]]);
|
|
135
|
-
}));
|
|
136
|
-
fr.readAsArrayBuffer(selectedFile);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
case 7:
|
|
140
|
-
case "end":
|
|
141
|
-
return _context2.stop();
|
|
38
|
+
});
|
|
39
|
+
const elementId = "uploadImage".concat(editorFieldName); // eslint-disable-next-line consistent-return
|
|
40
|
+
|
|
41
|
+
const handleFileChange = async files => {
|
|
42
|
+
if (!inProgress) {
|
|
43
|
+
setError(null);
|
|
44
|
+
const selectedFile = files[0];
|
|
45
|
+
|
|
46
|
+
if (!selectedFile) {
|
|
47
|
+
setError('Please select a file.');
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (!selectedFile.type.match(ALLOWED_TYPES)) {
|
|
52
|
+
setError('File must be an image.');
|
|
53
|
+
} else if (selectedFile.size > DEFAULT_MAX_SIZE) {
|
|
54
|
+
setError('File is too large.');
|
|
55
|
+
} else {
|
|
56
|
+
const fr = new FileReader();
|
|
57
|
+
|
|
58
|
+
fr.onload = async () => {
|
|
59
|
+
setInProgress(true);
|
|
60
|
+
|
|
61
|
+
try {
|
|
62
|
+
const url = await uploadAsset({
|
|
63
|
+
name: selectedFile.name,
|
|
64
|
+
type: selectedFile.type,
|
|
65
|
+
description: selectedFile.name,
|
|
66
|
+
isSystemAsset: false,
|
|
67
|
+
file: fr.result
|
|
68
|
+
});
|
|
69
|
+
setIsOpen(false);
|
|
70
|
+
quillRef === null || quillRef === void 0 ? void 0 : quillRef.getEditor().insertEmbed((lastSelection === null || lastSelection === void 0 ? void 0 : lastSelection.index) || 0, 'image', url);
|
|
71
|
+
} catch (e) {
|
|
72
|
+
setError('An error has occurred, try again');
|
|
142
73
|
}
|
|
143
|
-
}
|
|
144
|
-
}, _callee2);
|
|
145
|
-
}));
|
|
146
74
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
};
|
|
150
|
-
}();
|
|
75
|
+
setInProgress(false);
|
|
76
|
+
};
|
|
151
77
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
tip: "Insert Image",
|
|
155
|
-
onClick: function onClick() {
|
|
156
|
-
setLastSelection(quillRef === null || quillRef === void 0 ? void 0 : quillRef.getEditor().getSelection());
|
|
157
|
-
setIsOpen(true);
|
|
158
|
-
}
|
|
159
|
-
}, /*#__PURE__*/React__default['default'].createElement(dsIcons.Image, {
|
|
160
|
-
color: ['neutral', 500],
|
|
161
|
-
size: "s"
|
|
162
|
-
})), /*#__PURE__*/React__default['default'].createElement(DSModal__default['default'], {
|
|
163
|
-
isOpen: isOpen,
|
|
164
|
-
title: "",
|
|
165
|
-
onConfirm: function onConfirm() {
|
|
166
|
-
setIsOpen(false);
|
|
167
|
-
},
|
|
168
|
-
onClose: function onClose() {
|
|
169
|
-
setIsOpen(false);
|
|
170
|
-
},
|
|
171
|
-
showClose: true,
|
|
172
|
-
version: 2,
|
|
173
|
-
size: "xsmall",
|
|
174
|
-
modalType: DSModal.MODAL_TYPE_V2.DECISION,
|
|
175
|
-
confirmLabel: "Cancel",
|
|
176
|
-
message: ""
|
|
177
|
-
}, !inProgress && /*#__PURE__*/React__default['default'].createElement(DSUploader__default['default'], {
|
|
178
|
-
containerProps: {
|
|
179
|
-
id: elementId
|
|
180
|
-
},
|
|
181
|
-
showAltAction: false,
|
|
182
|
-
acceptedTypesText: allowedImageTypes,
|
|
183
|
-
onDrop: handleFileChange
|
|
184
|
-
}), inProgress && 'Upload in progress...', error && /*#__PURE__*/React__default['default'].createElement("div", {
|
|
185
|
-
style: {
|
|
186
|
-
color: 'red',
|
|
187
|
-
marginTop: '10px'
|
|
78
|
+
fr.readAsArrayBuffer(selectedFile);
|
|
79
|
+
}
|
|
188
80
|
}
|
|
189
|
-
}
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
84
|
+
children: [/*#__PURE__*/_jsx__default["default"](TippedButton.TippedButton, {
|
|
85
|
+
zIndex: zIndex,
|
|
86
|
+
tip: "Insert Image",
|
|
87
|
+
onClick: () => {
|
|
88
|
+
setLastSelection(quillRef === null || quillRef === void 0 ? void 0 : quillRef.getEditor().getSelection());
|
|
89
|
+
setIsOpen(true);
|
|
90
|
+
}
|
|
91
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](dsIcons.Image, {
|
|
92
|
+
color: ['neutral', 500],
|
|
93
|
+
size: "s"
|
|
94
|
+
})), /*#__PURE__*/_jsx__default["default"](DSModal__default["default"], {
|
|
95
|
+
isOpen: isOpen,
|
|
96
|
+
title: "",
|
|
97
|
+
onConfirm: () => {
|
|
98
|
+
setIsOpen(false);
|
|
99
|
+
},
|
|
100
|
+
onClose: () => {
|
|
101
|
+
setIsOpen(false);
|
|
102
|
+
},
|
|
103
|
+
showClose: true,
|
|
104
|
+
version: 2,
|
|
105
|
+
size: "xsmall",
|
|
106
|
+
modalType: DSModal.MODAL_TYPE_V2.DECISION,
|
|
107
|
+
confirmLabel: "Cancel",
|
|
108
|
+
message: ""
|
|
109
|
+
}, void 0, !inProgress && /*#__PURE__*/_jsx__default["default"](DSUploader__default["default"], {
|
|
110
|
+
containerProps: {
|
|
111
|
+
id: elementId
|
|
112
|
+
},
|
|
113
|
+
showAltAction: false,
|
|
114
|
+
acceptedTypesText: allowedImageTypes,
|
|
115
|
+
onDrop: handleFileChange
|
|
116
|
+
}), inProgress && 'Upload in progress...', error && /*#__PURE__*/_jsx__default["default"]("div", {
|
|
117
|
+
style: {
|
|
118
|
+
color: 'red',
|
|
119
|
+
marginTop: '10px'
|
|
120
|
+
}
|
|
121
|
+
}, void 0, error))]
|
|
122
|
+
});
|
|
190
123
|
};
|
|
191
124
|
|
|
192
125
|
exports.CustomImageUploader = CustomImageUploader;
|
|
193
|
-
//# sourceMappingURL=CustomImageUploader.js.map
|