jodit 4.17.3 → 4.17.5
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/CHANGELOG.md +13 -0
- package/es2015/jodit.css +1 -1
- package/es2015/jodit.fat.min.js +4 -4
- package/es2015/jodit.js +73 -9
- package/es2015/jodit.min.js +10 -10
- package/es2015/plugins/debug/debug.css +1 -1
- package/es2015/plugins/debug/debug.js +1 -1
- package/es2015/plugins/debug/debug.min.js +1 -1
- package/es2015/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es2015/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es2015/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es2018/jodit.fat.min.js +4 -4
- package/es2018/jodit.min.js +4 -4
- package/es2018/plugins/debug/debug.min.js +1 -1
- package/es2018/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es2021/jodit.css +1 -1
- package/es2021/jodit.fat.min.js +5 -5
- package/es2021/jodit.js +69 -9
- package/es2021/jodit.min.js +5 -5
- package/es2021/plugins/debug/debug.css +1 -1
- package/es2021/plugins/debug/debug.js +1 -1
- package/es2021/plugins/debug/debug.min.js +1 -1
- package/es2021/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es2021/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es2021/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es2021.en/jodit.css +1 -1
- package/es2021.en/jodit.fat.min.js +5 -5
- package/es2021.en/jodit.js +69 -9
- package/es2021.en/jodit.min.js +5 -5
- package/es2021.en/plugins/debug/debug.css +1 -1
- package/es2021.en/plugins/debug/debug.js +1 -1
- package/es2021.en/plugins/debug/debug.min.js +1 -1
- package/es2021.en/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es2021.en/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es2021.en/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es5/jodit.css +2 -2
- package/es5/jodit.fat.min.js +2 -2
- package/es5/jodit.js +79 -9
- package/es5/jodit.min.css +2 -2
- package/es5/jodit.min.js +2 -2
- package/es5/plugins/debug/debug.css +1 -1
- package/es5/plugins/debug/debug.js +1 -1
- package/es5/plugins/debug/debug.min.js +1 -1
- package/es5/plugins/speech-recognize/speech-recognize.css +1 -1
- package/es5/plugins/speech-recognize/speech-recognize.js +1 -1
- package/es5/plugins/speech-recognize/speech-recognize.min.js +1 -1
- package/es5/polyfills.fat.min.js +1 -1
- package/es5/polyfills.js +1 -1
- package/es5/polyfills.min.js +1 -1
- package/esm/core/constants.js +1 -1
- package/esm/core/selection/selection.d.ts +5 -0
- package/esm/core/selection/selection.js +25 -0
- package/esm/modules/file-browser/data-provider.d.ts +1 -0
- package/esm/modules/file-browser/data-provider.js +26 -5
- package/esm/plugins/select/select.d.ts +7 -0
- package/esm/plugins/select/select.js +19 -1
- package/package.json +1 -1
- package/types/core/selection/selection.d.ts +5 -0
- package/types/modules/file-browser/data-provider.d.ts +1 -0
- package/types/plugins/select/select.d.ts +7 -0
- package/.nvmrc +0 -1
- package/examples/build/es2015/jodit.min.css +0 -1
- package/examples/build/es2015/jodit.min.js +0 -10
- package/examples/build/es2015/plugins/debug/debug.min.js +0 -10
- package/examples/build/es2015/plugins/speech-recognize/speech-recognize.min.css +0 -1
- package/examples/build/es2015/plugins/speech-recognize/speech-recognize.min.js +0 -10
package/es2021.en/jodit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser
|
|
3
3
|
* Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/)
|
|
4
|
-
* Version: v4.17.
|
|
4
|
+
* Version: v4.17.5
|
|
5
5
|
* Url: https://xdsoft.net/jodit/
|
|
6
6
|
* License(s): MIT
|
|
7
7
|
*/
|
|
@@ -1799,7 +1799,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1799
1799
|
* ```
|
|
1800
1800
|
* @packageDocumentation
|
|
1801
1801
|
* @module constants
|
|
1802
|
-
*/ const APP_VERSION = "4.17.
|
|
1802
|
+
*/ const APP_VERSION = "4.17.5";
|
|
1803
1803
|
// prettier-ignore
|
|
1804
1804
|
const ES = "es2021";
|
|
1805
1805
|
const IS_ES_MODERN = true;
|
|
@@ -10957,6 +10957,16 @@ class Selection {
|
|
|
10957
10957
|
}
|
|
10958
10958
|
});
|
|
10959
10959
|
}
|
|
10960
|
+
/**
|
|
10961
|
+
* How many ranges the browser's own selection holds right now, as opposed
|
|
10962
|
+
* to the composed view that [[sel]] may answer from.
|
|
10963
|
+
*/ __nativeRangeCount() {
|
|
10964
|
+
const { shadowRoot } = this.j.o;
|
|
10965
|
+
if (shadowRoot && (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_6__.isFunction)(shadowRoot.getSelection)) {
|
|
10966
|
+
return shadowRoot.getSelection()?.rangeCount ?? 0;
|
|
10967
|
+
}
|
|
10968
|
+
return this.win.getSelection()?.rangeCount ?? 0;
|
|
10969
|
+
}
|
|
10960
10970
|
/**
|
|
10961
10971
|
* Return first selected range or create new
|
|
10962
10972
|
*/ get range() {
|
|
@@ -11751,6 +11761,16 @@ class Selection {
|
|
|
11751
11761
|
if (backward && ranges.length === 1) {
|
|
11752
11762
|
const range = ranges[0];
|
|
11753
11763
|
sel.setBaseAndExtent(range.endContainer, range.endOffset, range.startContainer, range.startOffset);
|
|
11764
|
+
} else if (ranges.length === 1 && !this.__nativeRangeCount() && (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_6__.isFunction)(sel.setBaseAndExtent)) {
|
|
11765
|
+
// `addRange` is specified to ignore a range whose root is not
|
|
11766
|
+
// the document, which is every range inside a shadow tree.
|
|
11767
|
+
// Chrome's `ShadowRoot.getSelection()` takes them anyway, but
|
|
11768
|
+
// Safari has only the window selection, so after
|
|
11769
|
+
// `removeAllRanges` the caret is simply gone: a character was
|
|
11770
|
+
// deleted and nothing was left to type into. `setBaseAndExtent`
|
|
11771
|
+
// does accept nodes inside a shadow tree.
|
|
11772
|
+
const range = ranges[0];
|
|
11773
|
+
sel.setBaseAndExtent(range.startContainer, range.startOffset, range.endContainer, range.endOffset);
|
|
11754
11774
|
}
|
|
11755
11775
|
}
|
|
11756
11776
|
/**
|
|
@@ -20764,6 +20784,16 @@ const DOCS_URL = 'https://xdsoft.net/jodit/docs/modules/file_browser.html';
|
|
|
20764
20784
|
});
|
|
20765
20785
|
return resp;
|
|
20766
20786
|
}
|
|
20787
|
+
/**
|
|
20788
|
+
* Actions that only read from the connector. A newer request for one of them
|
|
20789
|
+
* makes the older one pointless, so it is aborted; every other action changes
|
|
20790
|
+
* server state and must be allowed to finish.
|
|
20791
|
+
*/ const REPLACEABLE_ACTIONS = new Set([
|
|
20792
|
+
'items',
|
|
20793
|
+
'folder',
|
|
20794
|
+
'permissions',
|
|
20795
|
+
'getLocalFileByUrl'
|
|
20796
|
+
]);
|
|
20767
20797
|
class DataProvider {
|
|
20768
20798
|
/**
|
|
20769
20799
|
* Alias for options
|
|
@@ -20772,10 +20802,19 @@ class DataProvider {
|
|
|
20772
20802
|
}
|
|
20773
20803
|
get(name) {
|
|
20774
20804
|
const instances = this.__ajaxInstances;
|
|
20775
|
-
|
|
20776
|
-
|
|
20805
|
+
// A listing asked for again supersedes the one still loading, so the
|
|
20806
|
+
// earlier request is aborted. That must never happen to a request
|
|
20807
|
+
// that changes something on the server: aborting it does not undo it,
|
|
20808
|
+
// the caller just never hears the result. Removing several files at
|
|
20809
|
+
// once used to send one `fileRemove` per file and abort all but the
|
|
20810
|
+
// last, so only the last one was ever removed. Mutating requests get a
|
|
20811
|
+
// key of their own and run side by side.
|
|
20812
|
+
const replaceable = REPLACEABLE_ACTIONS.has(name);
|
|
20813
|
+
const key = replaceable ? name : `${name}#${++this.__requestSerial}`;
|
|
20814
|
+
if (replaceable && instances.has(key)) {
|
|
20815
|
+
const ajax = instances.get(key);
|
|
20777
20816
|
ajax?.abort();
|
|
20778
|
-
instances.delete(
|
|
20817
|
+
instances.delete(key);
|
|
20779
20818
|
}
|
|
20780
20819
|
const opts = (0,jodit_core_helpers_utils_config_proto__WEBPACK_IMPORTED_MODULE_8__.ConfigProto)(this.options[name] !== undefined ? this.options[name] : {}, (0,jodit_core_helpers_utils_config_proto__WEBPACK_IMPORTED_MODULE_8__.ConfigProto)({
|
|
20781
20820
|
onProgress: this.progressHandler
|
|
@@ -20784,11 +20823,11 @@ class DataProvider {
|
|
|
20784
20823
|
opts.data = opts.prepareData.call(this, opts.data);
|
|
20785
20824
|
}
|
|
20786
20825
|
const ajax = new jodit_core_request_ajax__WEBPACK_IMPORTED_MODULE_11__.Ajax(opts);
|
|
20787
|
-
instances.set(
|
|
20826
|
+
instances.set(key, ajax);
|
|
20788
20827
|
const promise = ajax.send();
|
|
20789
20828
|
promise.finally(()=>{
|
|
20790
20829
|
ajax.destruct();
|
|
20791
|
-
instances.delete(
|
|
20830
|
+
instances.delete(key);
|
|
20792
20831
|
this.progressHandler(100);
|
|
20793
20832
|
}).catch(()=>null);
|
|
20794
20833
|
return promise.then((resp)=>resp.json()).then((resp)=>{
|
|
@@ -21093,11 +21132,13 @@ class DataProvider {
|
|
|
21093
21132
|
(0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "options", void 0);
|
|
21094
21133
|
(0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__currentPermissions", void 0);
|
|
21095
21134
|
(0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__ajaxInstances", void 0);
|
|
21135
|
+
(0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__requestSerial", void 0);
|
|
21096
21136
|
(0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "progressHandler", void 0);
|
|
21097
21137
|
this.parent = parent;
|
|
21098
21138
|
this.options = options;
|
|
21099
21139
|
this.__currentPermissions = null;
|
|
21100
21140
|
this.__ajaxInstances = new Map();
|
|
21141
|
+
this.__requestSerial = 0;
|
|
21101
21142
|
this.progressHandler = (ignore)=>{};
|
|
21102
21143
|
}
|
|
21103
21144
|
}
|
|
@@ -41002,13 +41043,22 @@ jodit_config__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.select = {
|
|
|
41002
41043
|
j.e.fire(e.type + 'Editor', target, e);
|
|
41003
41044
|
}
|
|
41004
41045
|
}
|
|
41046
|
+
onOutsidePress(e) {
|
|
41047
|
+
this.__pressTarget = e.target;
|
|
41048
|
+
}
|
|
41005
41049
|
/**
|
|
41006
41050
|
* @event outsideClick(e) - when user clicked on the outside of editor
|
|
41007
41051
|
*/ onOutsideClick(e) {
|
|
41008
|
-
const node = e.target;
|
|
41052
|
+
const node = e.target, pressed = this.__pressTarget;
|
|
41053
|
+
this.__pressTarget = null;
|
|
41009
41054
|
if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_4__.Dom.up(node, (elm)=>elm === this.j.editor)) {
|
|
41010
41055
|
return;
|
|
41011
41056
|
}
|
|
41057
|
+
// Selecting the text of a popup input with the mouse and releasing
|
|
41058
|
+
// the button past the popup's edge is not a click outside of it.
|
|
41059
|
+
if (pressed && jodit_core_ui__WEBPACK_IMPORTED_MODULE_8__.UIElement.closestElement(pressed, jodit_core_ui__WEBPACK_IMPORTED_MODULE_8__.Popup)) {
|
|
41060
|
+
return;
|
|
41061
|
+
}
|
|
41012
41062
|
const box = jodit_core_ui__WEBPACK_IMPORTED_MODULE_8__.UIElement.closestElement(node, jodit_core_ui__WEBPACK_IMPORTED_MODULE_8__.Popup);
|
|
41013
41063
|
if (!box) {
|
|
41014
41064
|
this.j.e.fire('outsideClick', e);
|
|
@@ -41112,12 +41162,22 @@ jodit_config__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.select = {
|
|
|
41112
41162
|
'touchstart',
|
|
41113
41163
|
'mouseup',
|
|
41114
41164
|
'touchend'
|
|
41115
|
-
])
|
|
41165
|
+
]), /**
|
|
41166
|
+
* Where the last press started. Chrome reports a drag that begins in one
|
|
41167
|
+
* element and ends in another as a `click` on their common ancestor, so a
|
|
41168
|
+
* press inside a popup is remembered to tell such a drag from a real click.
|
|
41169
|
+
*/ (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "__pressTarget", null);
|
|
41116
41170
|
}
|
|
41117
41171
|
}
|
|
41118
41172
|
;(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
|
|
41119
41173
|
jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__.autobind
|
|
41120
41174
|
], select.prototype, "onStartSelection", null);
|
|
41175
|
+
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
|
|
41176
|
+
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__.watch)([
|
|
41177
|
+
'ow:mousedown',
|
|
41178
|
+
'ow:touchstart'
|
|
41179
|
+
])
|
|
41180
|
+
], select.prototype, "onOutsidePress", null);
|
|
41121
41181
|
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
|
|
41122
41182
|
(0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__.watch)('ow:click')
|
|
41123
41183
|
], select.prototype, "onOutsideClick", null);
|