@worktile/theia 2.3.0-next.2 → 2.3.1
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/bundles/worktile-theia.umd.js +23 -7
- package/bundles/worktile-theia.umd.js.map +1 -1
- package/constants/default.d.ts +0 -1
- package/esm2015/constants/default.js +1 -1
- package/esm2015/editor.component.js +13 -3
- package/esm2015/plugins/image/image.component.js +8 -4
- package/esm2015/plugins/quick-insert/components/quick-insert.component.js +2 -2
- package/esm2015/utils/dom.js +5 -3
- package/fesm2015/worktile-theia.js +23 -8
- package/fesm2015/worktile-theia.js.map +1 -1
- package/package.json +1 -1
- package/plugins/image/image.component.scss +0 -10
- package/styles/editor.scss +152 -133
- package/styles/typo.scss +6 -0
package/esm2015/utils/dom.js
CHANGED
|
@@ -49,8 +49,10 @@ export function findRelativeElementByPoint(editor, x, y, mode) {
|
|
|
49
49
|
const editableElement = EDITOR_TO_ELEMENT.get(editor);
|
|
50
50
|
const rectEditable = editableElement.getBoundingClientRect();
|
|
51
51
|
if (x > rectEditable.x && x < rectEditable.x + rectEditable.width) {
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
let { paddingLeft } = window.getComputedStyle(editableElement, null);
|
|
53
|
+
const paddingLeftPixels = coercePixelsFromCssValue(paddingLeft);
|
|
54
|
+
const startX = rectEditable.left + paddingLeftPixels;
|
|
55
|
+
let relativeElement = document.elementFromPoint(mode === 'highest' ? startX : x, y);
|
|
54
56
|
return relativeElement;
|
|
55
57
|
}
|
|
56
58
|
return null;
|
|
@@ -82,4 +84,4 @@ export function findNodeEntryByPoint(editor, x, y, mode) {
|
|
|
82
84
|
}
|
|
83
85
|
return null;
|
|
84
86
|
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2RvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFjLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFFcEQsaUdBQWlHO0FBQ2pHLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxRQUFnQjtJQUNyRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEQsSUFBSSxLQUFLLEVBQUU7UUFDUCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMzQjtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQW9CO0lBQ2hELHFGQUFxRjtJQUNyRixxQ0FBcUM7SUFDckMsT0FBTyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUM7QUFDaEYsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxPQUFvQjtJQUNqRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUEyQjtJQUN6RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDOUIsT0FBTyxLQUFLLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNWLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsSUFBMkI7SUFDMUQsT0FBTyxJQUFJLENB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Q0FBQztnQkFDOUIsZUFBZSxHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUM7YUFDbkQ7U0FDSjtLQUNKO0lBRUQsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNQLElBQUksZUFBZSxJQUFJLGVBQWUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDOUQsZUFBZSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsQ0FBQztZQUN6RSxXQUFXLEdBQUcsZUFBZSxDQUFDO1NBQ2pDO0tBQ0o7SUFFRCxJQUFJLFdBQVcsRUFBRTtRQUNiLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBWSxDQUFDO1FBQ3ZFLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDdkI7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50LCBOb2RlRW50cnkgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBET01FbGVtZW50LCBFRElUT1JfVE9fRUxFTUVOVCB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lZGl0b3InO1xuaW1wb3J0IHsgQWxpZ25tZW50LCBOb2RlTGV2ZWwgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG4vKiogQ29udmVydHMgQ1NTIHBpeGVsIHZhbHVlcyB0byBudW1iZXJzLCBlZyBcIjEyM3B4XCIgdG8gMTIzLiBSZXR1cm5zIE5hTiBmb3Igbm9uIHBpeGVsIHZhbHVlcy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb2VyY2VQaXhlbHNGcm9tQ3NzVmFsdWUoY3NzVmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgY29uc3QgbWF0Y2ggPSBjc3NWYWx1ZS5tYXRjaCgvKFxcZCsoXFwuXFxkKyk/KXB4Lyk7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIHJldHVybiBOdW1iZXIobWF0Y2hbMV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRXaWR0aChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIC8vIE9wdGltaXphdGlvbjogQ2hlY2sgc3R5bGUud2lkdGggZmlyc3QgYXMgd2UgcHJvYmFibHkgc2V0IGl0IGFscmVhZHkgYmVmb3JlIHJlYWRpbmdcbiAgICAvLyBvZmZzZXRXaWR0aCB3aGljaCB0cmlnZ2VycyBsYXlvdXQuXG4gICAgcmV0dXJuIGNvZXJjZVBpeGVsc0Zyb21Dc3NWYWx1ZShlbGVtZW50LnN0eWxlLndpZHRoKSB8fCBlbGVtZW50Lm9mZnNldFdpZHRoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudEhlaWdodChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbHNUb3RhbFdpZHRoKGNvbHM6IEhUTUxUYWJsZUNvbEVsZW1lbnRbXSkge1xuICAgIHJldHVybiBjb2xzLnJlZHVjZSgodG90YWwsIGNvbCkgPT4ge1xuICAgICAgICByZXR1cm4gdG90YWwgKyBnZXRFbGVtZW50V2lkdGgoY29sKTtcbiAgICB9LCAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvd3NUb3RhbEhlaWdodChyb3dzOiBIVE1MVGFibGVSb3dFbGVtZW50W10pIHtcbiAgICByZXR1cm4gcm93cy5yZWR1Y2UoKHRvdGFsLCByb3cpID0+IHtcbiAgICAgICAgcmV0dXJuIHRvdGFsICsgZ2V0RWxlbWVudEhlaWdodChyb3cpO1xuICAgIH0sIDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlRWxlbWVudFN0eWxlKGVsOiBIVE1MRWxlbWVudCwgZWxlbWVudDogRWxlbWVudCkge1xuICAgIGlmIChlbGVtZW50LmFsaWduKSB7XG4gICAgICAgIGVsLnN0eWxlLnRleHRBbGlnbiA9IChlbGVtZW50LmFsaWduIGFzIHN0cmluZykgfHwgQWxpZ25tZW50LmxlZnQ7XG4gICAgfVxuXG4gICAgaWYgKGVsZW1lbnQudGV4dEluZGVudCkge1xuICAgICAgICBlbC5zdHlsZS50ZXh0SW5kZW50ID0gZWxlbWVudC50ZXh0SW5kZW50ICsgJ2VtJztcbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudC52ZXJ0aWNhbEFsaWduKSB7XG4gICAgICAgIGVsLnN0eWxlLnZlcnRpY2FsQWxpZ24gPSBlbGVtZW50LnZlcnRpY2FsQWxpZ247XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudENsYXNzQnlQcmVmaXgoZWw6IERPTUVsZW1lbnQsIHByZWZpeDogc3RyaW5nKSB7XG4gICAgbGV0IG1hdGNoQ2xhc3MgPSBudWxsO1xuICAgIGVsLmNsYXNzTGlzdC5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZS5pbmNsdWRlcyhwcmVmaXgpKSB7XG4gICAgICAgICAgICBtYXRjaENsYXNzID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbWF0Y2hDbGFzcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRSZWxhdGl2ZUVsZW1lbnRCeVBvaW50KGVkaXRvcjogVGhlRWRpdG9yLCB4OiBudW1iZXIsIHk6IG51bWJlciwgbW9kZT86IE5vZGVMZXZlbCkge1xuICAgIGNvbnN0IGVkaXRhYmxlRWxlbWVudCA9IEVESVRPUl9UT19FTEVNRU5ULmdldChlZGl0b3IpO1xuICAgIGNvbnN0IHJlY3RFZGl0YWJsZSA9IGVkaXRhYmxlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBpZiAoeCA+IHJlY3RFZGl0YWJsZS54ICYmIHggPCByZWN0RWRpdGFibGUueCArIHJlY3RFZGl0YWJsZS53aWR0aCkge1xuICAgICAgICBsZXQgeyBwYWRkaW5nTGVmdCB9ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWRpdGFibGVFbGVtZW50LCBudWxsKTtcbiAgICAgICAgY29uc3QgcGFkZGluZ0xlZnRQaXhlbHMgPSBjb2VyY2VQaXhlbHNGcm9tQ3NzVmFsdWUocGFkZGluZ0xlZnQpO1xuICAgICAgICBjb25zdCBzdGFydFggPSByZWN0RWRpdGFibGUubGVmdCArIHBhZGRpbmdMZWZ0UGl4ZWxzO1xuICAgICAgICBsZXQgcmVsYXRpdmVFbGVtZW50ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChtb2RlID09PSAnaGlnaGVzdCcgPyBzdGFydFggOiB4LCB5KTtcbiAgICAgICAgcmV0dXJuIHJlbGF0aXZlRWxlbWVudDtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTm9kZUVudHJ5QnlQb2ludChlZGl0b3I6IFRoZUVkaXRvciwgeDogbnVtYmVyLCB5OiBudW1iZXIsIG1vZGU/OiBOb2RlTGV2ZWwpOiBOb2RlRW50cnk8RWxlbWVudD4gfCBudWxsIHtcbiAgICBjb25zdCBlZGl0YWJsZUVsZW1lbnQgPSBFRElUT1JfVE9fRUxFTUVOVC5nZXQoZWRpdG9yKTtcbiAgICBsZXQgcm9vdEVsZW1lbnQ6IERPTUVsZW1lbnQgPSBudWxsO1xuICAgIGxldCByZWxhdGl2ZUVsZW1lbnQgPSBmaW5kUmVsYXRpdmVFbGVtZW50QnlQb2ludChlZGl0b3IsIHgsIHksIG1vZGUpO1xuICAgIC8vIOiOt+WPluacgOmhtuWxgueahERPTVxuICAgIGlmIChtb2RlID09PSAnaGlnaGVzdCcpIHtcbiAgICAgICAgd2hpbGUgKHJlbGF0aXZlRWxlbWVudCAmJiBlZGl0YWJsZUVsZW1lbnQuY29udGFpbnMocmVsYXRpdmVFbGVtZW50KSkge1xuICAgICAgICAgICAgcmVsYXRpdmVFbGVtZW50ID0gcmVsYXRpdmVFbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLXNsYXRlLW5vZGU9XCJlbGVtZW50XCJdJyk7XG4gICAgICAgICAgICBpZiAocmVsYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgcm9vdEVsZW1lbnQgPSByZWxhdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgcmVsYXRpdmVFbGVtZW50ID0gcmVsYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIW1vZGUpIHtcbiAgICAgICAgaWYgKHJlbGF0aXZlRWxlbWVudCAmJiBlZGl0YWJsZUVsZW1lbnQuY29udGFpbnMocmVsYXRpdmVFbGVtZW50KSkge1xuICAgICAgICAgICAgcmVsYXRpdmVFbGVtZW50ID0gcmVsYXRpdmVFbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLXNsYXRlLW5vZGU9XCJlbGVtZW50XCJdJyk7XG4gICAgICAgICAgICByb290RWxlbWVudCA9IHJlbGF0aXZlRWxlbWVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyb290RWxlbWVudCkge1xuICAgICAgICBjb25zdCBub2RlID0gQW5ndWxhckVkaXRvci50b1NsYXRlTm9kZShlZGl0b3IsIHJvb3RFbGVtZW50KSBhcyBFbGVtZW50O1xuICAgICAgICBjb25zdCBwYXRoID0gQW5ndWxhckVkaXRvci5maW5kUGF0aChlZGl0b3IsIG5vZGUpO1xuICAgICAgICByZXR1cm4gW25vZGUsIHBhdGhdO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbiJdfQ==
|
|
@@ -2219,8 +2219,10 @@ function findRelativeElementByPoint(editor, x, y, mode) {
|
|
|
2219
2219
|
const editableElement = EDITOR_TO_ELEMENT.get(editor);
|
|
2220
2220
|
const rectEditable = editableElement.getBoundingClientRect();
|
|
2221
2221
|
if (x > rectEditable.x && x < rectEditable.x + rectEditable.width) {
|
|
2222
|
-
|
|
2223
|
-
|
|
2222
|
+
let { paddingLeft } = window.getComputedStyle(editableElement, null);
|
|
2223
|
+
const paddingLeftPixels = coercePixelsFromCssValue(paddingLeft);
|
|
2224
|
+
const startX = rectEditable.left + paddingLeftPixels;
|
|
2225
|
+
let relativeElement = document.elementFromPoint(mode === 'highest' ? startX : x, y);
|
|
2224
2226
|
return relativeElement;
|
|
2225
2227
|
}
|
|
2226
2228
|
return null;
|
|
@@ -2688,13 +2690,13 @@ class TheImageComponent extends TheBaseElementComponent {
|
|
|
2688
2690
|
{
|
|
2689
2691
|
key: LayoutTypes.wrapLeft,
|
|
2690
2692
|
icon: 'wrap-left',
|
|
2691
|
-
name: '
|
|
2693
|
+
name: '图片居左',
|
|
2692
2694
|
handle: (e, key) => this.setImageNode(e, { layout: key })
|
|
2693
2695
|
},
|
|
2694
2696
|
{
|
|
2695
2697
|
key: LayoutTypes.wrapRight,
|
|
2696
2698
|
icon: 'wrap-right',
|
|
2697
|
-
name: '
|
|
2699
|
+
name: '图片居右',
|
|
2698
2700
|
handle: (e, key) => this.setImageNode(e, { layout: key })
|
|
2699
2701
|
},
|
|
2700
2702
|
{
|
|
@@ -2900,7 +2902,7 @@ class TheImageComponent extends TheBaseElementComponent {
|
|
|
2900
2902
|
var _a;
|
|
2901
2903
|
this.layoutToolbarRef = this.thyPopover.open(this.layoutToolbar, {
|
|
2902
2904
|
origin: this.imageContent,
|
|
2903
|
-
panelClass: ['the-
|
|
2905
|
+
panelClass: ['the-block-toolbar'],
|
|
2904
2906
|
placement: 'bottom',
|
|
2905
2907
|
insideClosable: false,
|
|
2906
2908
|
backdropClosable: true,
|
|
@@ -2910,6 +2912,10 @@ class TheImageComponent extends TheBaseElementComponent {
|
|
|
2910
2912
|
scrollStrategy: this.overlay.scrollStrategies.reposition()
|
|
2911
2913
|
});
|
|
2912
2914
|
(_a = this.layoutToolbarRef) === null || _a === void 0 ? void 0 : _a.getOverlayRef().updatePositionStrategy(this.createPositionStrategy());
|
|
2915
|
+
setTimeout(() => {
|
|
2916
|
+
var _a;
|
|
2917
|
+
(_a = this.layoutToolbarRef) === null || _a === void 0 ? void 0 : _a.getOverlayRef().updatePosition();
|
|
2918
|
+
}, 150);
|
|
2913
2919
|
}
|
|
2914
2920
|
closeLayoutToolbar() {
|
|
2915
2921
|
var _a;
|
|
@@ -12339,7 +12345,7 @@ class TheQuickInsertComponent {
|
|
|
12339
12345
|
checkStatus() {
|
|
12340
12346
|
var _a;
|
|
12341
12347
|
const { editor } = this;
|
|
12342
|
-
if (this.isVisible && isCleanEmptyParagraph(editor) && !this.hasExcludeAttribute()
|
|
12348
|
+
if (this.isVisible && isCleanEmptyParagraph(editor) && !this.hasExcludeAttribute()) {
|
|
12343
12349
|
const block = Node.ancestor(editor, [(_a = editor === null || editor === void 0 ? void 0 : editor.selection) === null || _a === void 0 ? void 0 : _a.anchor.path[0]]);
|
|
12344
12350
|
const rootNode = AngularEditor.toDOMNode(editor, block);
|
|
12345
12351
|
this.updatePosition(rootNode.offsetLeft, rootNode.offsetTop);
|
|
@@ -12789,8 +12795,17 @@ class TheEditorComponent extends mixinUnsubscribe(MixinBase) {
|
|
|
12789
12795
|
if (event.target === editableElement) {
|
|
12790
12796
|
const rectEditable = editableElement.getBoundingClientRect();
|
|
12791
12797
|
const centerX = rectEditable.x + rectEditable.width / 2;
|
|
12792
|
-
|
|
12793
|
-
const
|
|
12798
|
+
let { paddingLeft, paddingRight } = window.getComputedStyle(editableElement, null);
|
|
12799
|
+
const paddingLeftPixels = coercePixelsFromCssValue(paddingLeft);
|
|
12800
|
+
const paddingRightPixels = coercePixelsFromCssValue(paddingRight);
|
|
12801
|
+
const fakeLeftX = rectEditable.x + paddingLeftPixels + 50;
|
|
12802
|
+
const fakeRightX = rectEditable.right - paddingRightPixels - 50;
|
|
12803
|
+
let relativeElement = document.elementFromPoint(fakeLeftX, event.y);
|
|
12804
|
+
let relativeBlockCardElement = relativeElement.closest('.slate-block-card');
|
|
12805
|
+
if (!relativeBlockCardElement) {
|
|
12806
|
+
relativeElement = document.elementFromPoint(fakeRightX, event.y);
|
|
12807
|
+
relativeBlockCardElement = relativeElement.closest('.slate-block-card');
|
|
12808
|
+
}
|
|
12794
12809
|
if (relativeBlockCardElement) {
|
|
12795
12810
|
const blockCardEntry = AngularEditor.toSlateCardEntry(this.editor, relativeBlockCardElement.firstElementChild);
|
|
12796
12811
|
if (blockCardEntry && blockCardEntry[1]) {
|