@acrolinx/sidebar-sdk 1.1.12 → 2.0.0-dev1

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.
Files changed (122) hide show
  1. package/README.md +24 -24
  2. package/dist/index.d.ts +612 -23
  3. package/dist/index.js +3325 -64
  4. package/package.json +45 -91
  5. package/dist/acrolinx-plugin.d.ts +0 -58
  6. package/dist/acrolinx-plugin.js +0 -318
  7. package/dist/acrolinx-plugin.js.map +0 -1
  8. package/dist/acrolinx-sidebar-sdk.js +0 -2
  9. package/dist/acrolinx-sidebar-sdk.js.LICENSE.txt +0 -16
  10. package/dist/acrolinx-sidebar-sdk.min.js +0 -1
  11. package/dist/adapters/AbstractRichtextEditorAdapter.d.ts +0 -35
  12. package/dist/adapters/AbstractRichtextEditorAdapter.js +0 -265
  13. package/dist/adapters/AbstractRichtextEditorAdapter.js.map +0 -1
  14. package/dist/adapters/AdapterInterface.d.ts +0 -63
  15. package/dist/adapters/AdapterInterface.js +0 -51
  16. package/dist/adapters/AdapterInterface.js.map +0 -1
  17. package/dist/adapters/AsyncAutoBindAdapter.d.ts +0 -18
  18. package/dist/adapters/AsyncAutoBindAdapter.js +0 -77
  19. package/dist/adapters/AsyncAutoBindAdapter.js.map +0 -1
  20. package/dist/adapters/AsyncContentEditableAdapter.d.ts +0 -22
  21. package/dist/adapters/AsyncContentEditableAdapter.js +0 -135
  22. package/dist/adapters/AsyncContentEditableAdapter.js.map +0 -1
  23. package/dist/adapters/AsyncMultiEditorAdapter.d.ts +0 -11
  24. package/dist/adapters/AsyncMultiEditorAdapter.js +0 -97
  25. package/dist/adapters/AsyncMultiEditorAdapter.js.map +0 -1
  26. package/dist/adapters/AutoBindAdapter.d.ts +0 -16
  27. package/dist/adapters/AutoBindAdapter.js +0 -56
  28. package/dist/adapters/AutoBindAdapter.js.map +0 -1
  29. package/dist/adapters/CKEditor5Adapter.d.ts +0 -16
  30. package/dist/adapters/CKEditor5Adapter.js +0 -86
  31. package/dist/adapters/CKEditor5Adapter.js.map +0 -1
  32. package/dist/adapters/CKEditorAdapter.d.ts +0 -14
  33. package/dist/adapters/CKEditorAdapter.js +0 -72
  34. package/dist/adapters/CKEditorAdapter.js.map +0 -1
  35. package/dist/adapters/CodeMirror6Adapter.d.ts +0 -29
  36. package/dist/adapters/CodeMirror6Adapter.js +0 -123
  37. package/dist/adapters/CodeMirror6Adapter.js.map +0 -1
  38. package/dist/adapters/CodeMirrorAdapter.d.ts +0 -31
  39. package/dist/adapters/CodeMirrorAdapter.js +0 -143
  40. package/dist/adapters/CodeMirrorAdapter.js.map +0 -1
  41. package/dist/adapters/ContentEditableAdapter.d.ts +0 -11
  42. package/dist/adapters/ContentEditableAdapter.js +0 -45
  43. package/dist/adapters/ContentEditableAdapter.js.map +0 -1
  44. package/dist/adapters/InputAdapter.d.ts +0 -28
  45. package/dist/adapters/InputAdapter.js +0 -125
  46. package/dist/adapters/InputAdapter.js.map +0 -1
  47. package/dist/adapters/MultiEditorAdapter.d.ts +0 -56
  48. package/dist/adapters/MultiEditorAdapter.js +0 -184
  49. package/dist/adapters/MultiEditorAdapter.js.map +0 -1
  50. package/dist/adapters/QuipAdapter.d.ts +0 -16
  51. package/dist/adapters/QuipAdapter.js +0 -148
  52. package/dist/adapters/QuipAdapter.js.map +0 -1
  53. package/dist/adapters/SynchronizeAsyncAdapter.d.ts +0 -22
  54. package/dist/adapters/SynchronizeAsyncAdapter.js +0 -67
  55. package/dist/adapters/SynchronizeAsyncAdapter.js.map +0 -1
  56. package/dist/adapters/TinyMCEAdapter.d.ts +0 -13
  57. package/dist/adapters/TinyMCEAdapter.js +0 -51
  58. package/dist/adapters/TinyMCEAdapter.js.map +0 -1
  59. package/dist/adapters/TinyMCEWordpressAdapter.d.ts +0 -10
  60. package/dist/adapters/TinyMCEWordpressAdapter.js +0 -78
  61. package/dist/adapters/TinyMCEWordpressAdapter.js.map +0 -1
  62. package/dist/adapters/XeditorAdapter.d.ts +0 -130
  63. package/dist/adapters/XeditorAdapter.js +0 -232
  64. package/dist/adapters/XeditorAdapter.js.map +0 -1
  65. package/dist/autobind/autobind.d.ts +0 -8
  66. package/dist/autobind/autobind.js +0 -120
  67. package/dist/autobind/autobind.js.map +0 -1
  68. package/dist/export-for-browser.d.ts +0 -57
  69. package/dist/export-for-browser.js +0 -73
  70. package/dist/export-for-browser.js.map +0 -1
  71. package/dist/floating-sidebar/async-storage.d.ts +0 -11
  72. package/dist/floating-sidebar/async-storage.js +0 -49
  73. package/dist/floating-sidebar/async-storage.js.map +0 -1
  74. package/dist/floating-sidebar/floating-sidebar.d.ts +0 -41
  75. package/dist/floating-sidebar/floating-sidebar.js +0 -234
  76. package/dist/floating-sidebar/floating-sidebar.js.map +0 -1
  77. package/dist/index.js.map +0 -1
  78. package/dist/lookup/diff-based.d.ts +0 -19
  79. package/dist/lookup/diff-based.js +0 -102
  80. package/dist/lookup/diff-based.js.map +0 -1
  81. package/dist/message-adapter/message-adapter.d.ts +0 -10
  82. package/dist/message-adapter/message-adapter.js +0 -109
  83. package/dist/message-adapter/message-adapter.js.map +0 -1
  84. package/dist/utils/adapter-utils.d.ts +0 -2
  85. package/dist/utils/adapter-utils.js +0 -36
  86. package/dist/utils/adapter-utils.js.map +0 -1
  87. package/dist/utils/alignment.d.ts +0 -11
  88. package/dist/utils/alignment.js +0 -32
  89. package/dist/utils/alignment.js.map +0 -1
  90. package/dist/utils/check-selection.d.ts +0 -3
  91. package/dist/utils/check-selection.js +0 -123
  92. package/dist/utils/check-selection.js.map +0 -1
  93. package/dist/utils/detect-browser.d.ts +0 -6
  94. package/dist/utils/detect-browser.js +0 -71
  95. package/dist/utils/detect-browser.js.map +0 -1
  96. package/dist/utils/escaping.d.ts +0 -6
  97. package/dist/utils/escaping.js +0 -46
  98. package/dist/utils/escaping.js.map +0 -1
  99. package/dist/utils/logging.d.ts +0 -2
  100. package/dist/utils/logging.js +0 -34
  101. package/dist/utils/logging.js.map +0 -1
  102. package/dist/utils/match.d.ts +0 -10
  103. package/dist/utils/match.js +0 -33
  104. package/dist/utils/match.js.map +0 -1
  105. package/dist/utils/scrolling.d.ts +0 -6
  106. package/dist/utils/scrolling.js +0 -92
  107. package/dist/utils/scrolling.js.map +0 -1
  108. package/dist/utils/sidebar-loader.d.ts +0 -19
  109. package/dist/utils/sidebar-loader.js +0 -157
  110. package/dist/utils/sidebar-loader.js.map +0 -1
  111. package/dist/utils/text-dom-mapping.d.ts +0 -13
  112. package/dist/utils/text-dom-mapping.js +0 -90
  113. package/dist/utils/text-dom-mapping.js.map +0 -1
  114. package/dist/utils/text-extraction.d.ts +0 -8
  115. package/dist/utils/text-extraction.js +0 -60
  116. package/dist/utils/text-extraction.js.map +0 -1
  117. package/dist/utils/utils.d.ts +0 -38
  118. package/dist/utils/utils.js +0 -155
  119. package/dist/utils/utils.js.map +0 -1
  120. package/dist/utils/work-queue.d.ts +0 -7
  121. package/dist/utils/work-queue.js +0 -66
  122. package/dist/utils/work-queue.js.map +0 -1
@@ -1,184 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MultiEditorAdapter = void 0;
4
- var tslib_1 = require("tslib");
5
- /*
6
- * Copyright 2015-present Acrolinx GmbH
7
- *
8
- * Licensed under the Apache License, Version 2.0 (the "License");
9
- * you may not use this file except in compliance with the License.
10
- * You may obtain a copy of the License at
11
- *
12
- * http://www.apache.org/licenses/LICENSE-2.0
13
- *
14
- * Unless required by applicable law or agreed to in writing, software
15
- * distributed under the License is distributed on an "AS IS" BASIS,
16
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- * See the License for the specific language governing permissions and
18
- * limitations under the License.
19
- */
20
- require("es6-promise/auto");
21
- var _ = tslib_1.__importStar(require("lodash"));
22
- var alignment_1 = require("../utils/alignment");
23
- var escaping_1 = require("../utils/escaping");
24
- var AdapterInterface_1 = require("./AdapterInterface");
25
- function createStartTag(wrapper, id) {
26
- var allAttributes = _.clone(wrapper.attributes);
27
- if (id) {
28
- _.assign(allAttributes, { id: id });
29
- }
30
- var allAttributesString = _.map(allAttributes, function (value, key) { return " ".concat(key, "=\"").concat(_.escape(value), "\""); }).join('');
31
- return "<".concat(wrapper.tagName).concat(allAttributesString, ">");
32
- }
33
- function createEndTag(tagName) {
34
- return "</".concat(tagName, ">");
35
- }
36
- function mapBackRangeOfEscapedText(escapeResult, range) {
37
- return [
38
- (0, alignment_1.findNewIndex)(escapeResult.backwardAlignment, range[0]),
39
- (0, alignment_1.findNewIndex)(escapeResult.backwardAlignment, range[1]),
40
- ];
41
- }
42
- function wrapperConfWithDefaults(opts, defaultTagName) {
43
- if (defaultTagName === void 0) { defaultTagName = 'div'; }
44
- var tagName = opts.tagName || defaultTagName;
45
- if (_.includes(tagName, ' ')) {
46
- console.info("tagName \"".concat(tagName, "\" contains whitespaces which may lead to unexpected results."));
47
- }
48
- return { tagName: tagName, attributes: opts.attributes || {} };
49
- }
50
- function wrapAdapterContent(registeredAdapter, extractionResult) {
51
- var adapterContent = extractionResult.content;
52
- var tagName = registeredAdapter.wrapper.tagName;
53
- var startText = createStartTag(registeredAdapter.wrapper, registeredAdapter.id);
54
- var isText = registeredAdapter.adapter.getFormat ? registeredAdapter.adapter.getFormat() === 'TEXT' : false;
55
- var innerHtml;
56
- if (isText) {
57
- registeredAdapter.escapeResult = (0, escaping_1.escapeHtmlCharacters)(adapterContent);
58
- innerHtml = registeredAdapter.escapeResult.escapedText;
59
- }
60
- else {
61
- innerHtml = adapterContent;
62
- }
63
- return {
64
- completeHtml: startText + innerHtml + createEndTag(tagName),
65
- contentStart: startText.length,
66
- contentEnd: startText.length + innerHtml.length,
67
- };
68
- }
69
- var MultiEditorAdapter = /** @class */ (function () {
70
- function MultiEditorAdapter(config) {
71
- if (config === void 0) { config = {}; }
72
- this.config = config;
73
- if (config.rootElement) {
74
- this.rootElementWrapper = wrapperConfWithDefaults(config.rootElement, 'html');
75
- }
76
- this.adapters = [];
77
- }
78
- MultiEditorAdapter.prototype.getFormat = function () {
79
- return this.config.aggregateFormat || 'HTML';
80
- };
81
- MultiEditorAdapter.prototype.addSingleAdapterInternal = function (singleAdapter, opts, id) {
82
- if (opts === void 0) { opts = {}; }
83
- if (id === void 0) { id = 'acrolinx_integration' + this.adapters.length; }
84
- this.adapters.push({ id: id, adapter: singleAdapter, wrapper: wrapperConfWithDefaults(opts) });
85
- };
86
- MultiEditorAdapter.prototype.addSingleAdapter = function (singleAdapter, opts, id) {
87
- if (opts === void 0) { opts = {}; }
88
- this.addSingleAdapterInternal(singleAdapter, opts, id);
89
- };
90
- MultiEditorAdapter.prototype.removeAllAdapters = function () {
91
- this.adapters = [];
92
- };
93
- MultiEditorAdapter.prototype.extractContentForCheck = function (opts) {
94
- var _this = this;
95
- if (this.config.beforeCheck) {
96
- this.config.beforeCheck(this);
97
- }
98
- var contentExtractionResults = this.adapters.map(function (adapter) { return adapter.adapter.extractContentForCheck(opts); });
99
- return Promise.all(contentExtractionResults).then(function (results) {
100
- var html = _this.config.documentHeader || '';
101
- var selectionRanges = [];
102
- if (_this.rootElementWrapper) {
103
- html += createStartTag(_this.rootElementWrapper);
104
- }
105
- for (var i = 0; i < _this.adapters.length; i++) {
106
- var extractionResult = results[i];
107
- var registeredAdapter = _this.adapters[i];
108
- if ((0, AdapterInterface_1.hasError)(extractionResult)) {
109
- registeredAdapter.checkedRange = undefined;
110
- continue;
111
- }
112
- var _a = wrapAdapterContent(registeredAdapter, extractionResult), completeHtml = _a.completeHtml, contentStart = _a.contentStart, contentEnd = _a.contentEnd;
113
- registeredAdapter.checkedRange = [html.length + contentStart, html.length + contentEnd];
114
- if (extractionResult.selection) {
115
- for (var _i = 0, _b = extractionResult.selection.ranges; _i < _b.length; _i++) {
116
- var selectionRange = _b[_i];
117
- selectionRanges.push([
118
- selectionRange[0] + registeredAdapter.checkedRange[0],
119
- selectionRange[1] + registeredAdapter.checkedRange[0],
120
- ]);
121
- }
122
- }
123
- html += completeHtml;
124
- }
125
- if (_this.rootElementWrapper) {
126
- html += createEndTag(_this.rootElementWrapper.tagName);
127
- }
128
- return { content: html, selection: { ranges: selectionRanges } };
129
- });
130
- };
131
- MultiEditorAdapter.prototype.registerCheckCall = function (_checkInfo) { };
132
- MultiEditorAdapter.prototype.registerCheckResult = function (checkResult) {
133
- this.adapters.forEach(function (entry) {
134
- entry.adapter.registerCheckResult(checkResult);
135
- });
136
- // Shallow clone of the registered adapters
137
- this.adaptersOfLastSuccessfulCheck = this.adapters.map(function (registeredAdapter) { return (tslib_1.__assign({}, registeredAdapter)); });
138
- };
139
- MultiEditorAdapter.prototype.selectRanges = function (checkId, matches) {
140
- var map = this.remapMatches(matches);
141
- for (var id in map) {
142
- map[id].adapter.selectRanges(checkId, map[id].matches);
143
- }
144
- };
145
- MultiEditorAdapter.prototype.remapMatches = function (matches) {
146
- var map = {};
147
- for (var _i = 0, matches_1 = matches; _i < matches_1.length; _i++) {
148
- var match = matches_1[_i];
149
- var registeredAdapter = this.getAdapterForMatch(match);
150
- if (!map.hasOwnProperty(registeredAdapter.id)) {
151
- map[registeredAdapter.id] = { matches: [], adapter: registeredAdapter.adapter };
152
- }
153
- var checkedRangeStart = registeredAdapter.checkedRange[0];
154
- var rangeInsideWrapper = [
155
- match.range[0] - checkedRangeStart,
156
- match.range[1] - checkedRangeStart,
157
- ];
158
- var remappedMatch = _.clone(match);
159
- remappedMatch.range = registeredAdapter.escapeResult
160
- ? mapBackRangeOfEscapedText(registeredAdapter.escapeResult, rangeInsideWrapper)
161
- : rangeInsideWrapper;
162
- map[registeredAdapter.id].matches.push(remappedMatch);
163
- }
164
- return map;
165
- };
166
- MultiEditorAdapter.prototype.getAdapterForMatch = function (match) {
167
- if (!this.adaptersOfLastSuccessfulCheck) {
168
- throw new Error('Expected previous successful check.');
169
- }
170
- return _.find(this.adaptersOfLastSuccessfulCheck, function (adapter) {
171
- var checkedRange = adapter.checkedRange;
172
- return !!checkedRange && match.range[0] >= checkedRange[0] && match.range[1] <= checkedRange[1];
173
- });
174
- };
175
- MultiEditorAdapter.prototype.replaceRanges = function (checkId, matchesWithReplacement) {
176
- var map = this.remapMatches(matchesWithReplacement);
177
- for (var id in map) {
178
- map[id].adapter.replaceRanges(checkId, map[id].matches);
179
- }
180
- };
181
- return MultiEditorAdapter;
182
- }());
183
- exports.MultiEditorAdapter = MultiEditorAdapter;
184
- //# sourceMappingURL=MultiEditorAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiEditorAdapter.js","sourceRoot":"","sources":["../../../../src/adapters/MultiEditorAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { DocumentSelection, MatchWithReplacement } from '@acrolinx/sidebar-interface';
2
- import { AbstractRichtextEditorAdapter } from './AbstractRichtextEditorAdapter';
3
- import { AdapterConf } from './AdapterInterface';
4
- /**
5
- * Just a proof of concept.
6
- */
7
- export declare class QuipAdapter extends AbstractRichtextEditorAdapter {
8
- element: HTMLElement;
9
- constructor(conf: AdapterConf);
10
- getEditorElement(): HTMLElement;
11
- getContent(): string;
12
- protected getSelection(): DocumentSelection;
13
- getEditorDocument(): Document;
14
- replaceRanges(checkId: string, matchesWithReplacement: MatchWithReplacement[]): Promise<void>;
15
- }
16
- export declare function isQuip(el: Element): boolean;
@@ -1,148 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright 2019-present Acrolinx GmbH
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.QuipAdapter = void 0;
19
- exports.isQuip = isQuip;
20
- var tslib_1 = require("tslib");
21
- var utils_1 = require("../utils/utils");
22
- var AbstractRichtextEditorAdapter_1 = require("./AbstractRichtextEditorAdapter");
23
- var AdapterInterface_1 = require("./AdapterInterface");
24
- /**
25
- * Just a proof of concept.
26
- */
27
- var QuipAdapter = /** @class */ (function (_super) {
28
- tslib_1.__extends(QuipAdapter, _super);
29
- function QuipAdapter(conf) {
30
- var _this = _super.call(this, conf) || this;
31
- _this.element = (0, AdapterInterface_1.getElementFromAdapterConf)(conf);
32
- console.warn('QuipAdapter', _this.element);
33
- return _this;
34
- }
35
- QuipAdapter.prototype.getEditorElement = function () {
36
- return this.element;
37
- };
38
- QuipAdapter.prototype.getContent = function () {
39
- return this.element.innerHTML;
40
- };
41
- QuipAdapter.prototype.getSelection = function () {
42
- return { ranges: [] };
43
- };
44
- QuipAdapter.prototype.getEditorDocument = function () {
45
- return this.element.ownerDocument;
46
- };
47
- QuipAdapter.prototype.replaceRanges = function (checkId, matchesWithReplacement) {
48
- return tslib_1.__awaiter(this, void 0, void 0, function () {
49
- var selection, selectedNode, htmlElement, quipSectionType, _a, cell, cellTextFromDom, cellEditor;
50
- return tslib_1.__generator(this, function (_b) {
51
- switch (_b.label) {
52
- case 0:
53
- _super.prototype.replaceRanges.call(this, checkId, matchesWithReplacement);
54
- selection = this.getEditorDocument().getSelection();
55
- selectedNode = selection && selection.focusNode;
56
- if (!selectedNode) {
57
- console.warn('No selection after replacement.');
58
- return [2 /*return*/];
59
- }
60
- htmlElement = findCorrespondingHtmlElement(selectedNode);
61
- quipSectionType = getQuipSectionType(htmlElement);
62
- _a = quipSectionType;
63
- switch (_a) {
64
- case QuipSectionType.cell: return [3 /*break*/, 1];
65
- case QuipSectionType.paragraph: return [3 /*break*/, 3];
66
- case QuipSectionType.none: return [3 /*break*/, 4];
67
- }
68
- return [3 /*break*/, 5];
69
- case 1:
70
- console.log('Found cell');
71
- cell = htmlElement.closest('.' + SPREADSHEET_CELL_CLASS);
72
- cellTextFromDom = cell.innerText;
73
- // Open cell editor.
74
- simulateDoubleClick(htmlElement);
75
- // Wait until cell editor is opened.
76
- // TODO: Make less brittle and make Adapter async
77
- return [4 /*yield*/, (0, utils_1.waitMs)(100)];
78
- case 2:
79
- // Wait until cell editor is opened.
80
- // TODO: Make less brittle and make Adapter async
81
- _b.sent();
82
- cellEditor = document.activeElement;
83
- if (!cellEditor || !cellEditor.classList.contains('spreadsheet-cell-editor')) {
84
- console.warn('Found no cell editor', htmlElement, cellEditor);
85
- return [2 /*return*/];
86
- }
87
- // Select all text of cell editor.
88
- selection.selectAllChildren(cellEditor);
89
- // Replace selection in a way that is recognized by Quip.
90
- document.execCommand('InsertHTML', false, cellTextFromDom);
91
- cell.innerText = cellTextFromDom;
92
- // Close cell editor.
93
- simulateKeyboardEvent(cellEditor, 'keydown', 'Enter', 13);
94
- return [3 /*break*/, 5];
95
- case 3:
96
- console.log('Found paragraph');
97
- return [3 /*break*/, 5];
98
- case 4:
99
- console.log('Unknown quipSectionType');
100
- return [3 /*break*/, 5];
101
- case 5: return [2 /*return*/];
102
- }
103
- });
104
- });
105
- };
106
- return QuipAdapter;
107
- }(AbstractRichtextEditorAdapter_1.AbstractRichtextEditorAdapter));
108
- exports.QuipAdapter = QuipAdapter;
109
- var QuipSectionType;
110
- (function (QuipSectionType) {
111
- QuipSectionType["cell"] = "cell";
112
- QuipSectionType["paragraph"] = "content";
113
- QuipSectionType["none"] = "none";
114
- })(QuipSectionType || (QuipSectionType = {}));
115
- function findCorrespondingHtmlElement(node) {
116
- return node instanceof HTMLElement ? node : node.parentElement;
117
- }
118
- function simulateDoubleClick(element) {
119
- element.dispatchEvent(new MouseEvent('dblclick', {
120
- view: window,
121
- bubbles: true,
122
- cancelable: true,
123
- }));
124
- }
125
- function simulateKeyboardEvent(element, type, key, keyCode) {
126
- var keyboardEventProps = {
127
- key: key,
128
- code: key,
129
- keyCode: keyCode,
130
- which: keyCode,
131
- view: window,
132
- bubbles: true,
133
- cancelable: true,
134
- };
135
- element.dispatchEvent(new KeyboardEvent(type, keyboardEventProps));
136
- }
137
- var SPREADSHEET_CELL_CLASS = 'spreadsheet-cell';
138
- function getQuipSectionType(el) {
139
- var ancestor = el.closest(".".concat(SPREADSHEET_CELL_CLASS, ", .content"));
140
- if (!ancestor) {
141
- return QuipSectionType.none;
142
- }
143
- return ancestor.classList.contains(SPREADSHEET_CELL_CLASS) ? QuipSectionType.cell : QuipSectionType.paragraph;
144
- }
145
- function isQuip(el) {
146
- return document.location.host.endsWith('.quip.com') && el.classList.contains('document-content');
147
- }
148
- //# sourceMappingURL=QuipAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QuipAdapter.js","sourceRoot":"","sources":["../../../../src/adapters/QuipAdapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAkIH,wBAEC;;AAjID,wCAAwC;AACxC,iFAAgF;AAChF,uDAA4E;AAE5E;;GAEG;AACH;IAAiC,uCAA6B;IAG5D,qBAAY,IAAiB;QAC3B,YAAA,MAAK,YAAC,IAAI,CAAC,SAAC;QACZ,KAAI,CAAC,OAAO,GAAG,IAAA,4CAAyB,EAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC;;IAC5C,CAAC;IAED,sCAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,gCAAU,GAAV;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAChC,CAAC;IAES,kCAAY,GAAtB;QACE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACxB,CAAC;IAED,uCAAiB,GAAjB;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;IACpC,CAAC;IAEK,mCAAa,GAAnB,UAAoB,OAAe,EAAE,sBAA8C;;;;;;wBACjF,gBAAK,CAAC,aAAa,YAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;wBAC/C,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC;wBAEpD,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC;wBACtD,IAAI,CAAC,YAAY,EAAE,CAAC;4BAClB,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;4BAChD,sBAAO;wBACT,CAAC;wBAEK,WAAW,GAAG,4BAA4B,CAAC,YAAY,CAAC,CAAC;wBACzD,eAAe,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;wBAEhD,KAAA,eAAe,CAAA;;iCAChB,eAAe,CAAC,IAAI,CAAC,CAArB,wBAAoB;iCA4BpB,eAAe,CAAC,SAAS,CAAC,CAA1B,wBAAyB;iCAGzB,eAAe,CAAC,IAAI,CAAC,CAArB,wBAAoB;;;;wBA9BvB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;wBACpB,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,GAAG,sBAAsB,CAAiB,CAAC;wBACzE,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;wBAEvC,oBAAoB;wBACpB,mBAAmB,CAAC,WAAW,CAAC,CAAC;wBAEjC,oCAAoC;wBACpC,iDAAiD;wBACjD,qBAAM,IAAA,cAAM,EAAC,GAAG,CAAC,EAAA;;wBAFjB,oCAAoC;wBACpC,iDAAiD;wBACjD,SAAiB,CAAC;wBAEZ,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC;wBAC1C,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;4BAC7E,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;4BAC9D,sBAAO;wBACT,CAAC;wBAED,kCAAkC;wBAClC,SAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;wBAEzC,yDAAyD;wBACzD,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;wBAC3D,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;wBAEjC,qBAAqB;wBACrB,qBAAqB,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;wBAC1D,wBAAM;;wBAEN,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;wBAC/B,wBAAM;;wBAEN,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;wBACvC,wBAAM;;;;;KAEX;IACH,kBAAC;AAAD,CAAC,AA3ED,CAAiC,6DAA6B,GA2E7D;AA3EY,kCAAW;AA6ExB,IAAK,eAIJ;AAJD,WAAK,eAAe;IAClB,gCAAa,CAAA;IACb,wCAAqB,CAAA;IACrB,gCAAa,CAAA;AACf,CAAC,EAJI,eAAe,KAAf,eAAe,QAInB;AAED,SAAS,4BAA4B,CAAC,IAAU;IAC9C,OAAO,IAAI,YAAY,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAc,CAAC;AAClE,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAoB;IAC/C,OAAO,CAAC,aAAa,CACnB,IAAI,UAAU,CAAC,UAAU,EAAE;QACzB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KACjB,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB,EAAE,IAAY,EAAE,GAAW,EAAE,OAAe;IACzF,IAAM,kBAAkB,GAAG;QACzB,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KACjB,CAAC;IACF,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,IAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAElD,SAAS,kBAAkB,CAAC,EAAe;IACzC,IAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,WAAI,sBAAsB,eAAY,CAAC,CAAC;IACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,eAAe,CAAC,IAAI,CAAC;IAC9B,CAAC;IACD,OAAO,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC;AAChH,CAAC;AAED,SAAgB,MAAM,CAAC,EAAW;IAChC,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AACnG,CAAC"}
@@ -1,22 +0,0 @@
1
- import { Check, InitResult, Match, MatchWithReplacement } from '@acrolinx/sidebar-interface';
2
- import { AsyncAdapterInterface, AutobindWrapperAttributes, ContentExtractionResult, ExtractContentForCheckOpts, SuccessfulCheckResult } from './AdapterInterface';
3
- /**
4
- * This wrapper around an AsyncAdapterInterface synchronizes all calls to selectRanges and replaceRanges.
5
- * Thereby it prevents concurrency issues, that could arise from concurrent calls to these methods in some
6
- * adapters.
7
- */
8
- export declare class SynchronizeAsyncAdapter implements AsyncAdapterInterface {
9
- private readonly adapter;
10
- readonly isAsync = true;
11
- readonly requiresSynchronization = false;
12
- readonly getAutobindWrapperAttributes?: () => AutobindWrapperAttributes;
13
- readonly getFormat?: () => string;
14
- private workQueue;
15
- constructor(adapter: AsyncAdapterInterface);
16
- extractContentForCheck(opts: ExtractContentForCheckOpts): ContentExtractionResult | Promise<ContentExtractionResult>;
17
- registerCheckCall(checkInfo: Check): void;
18
- registerCheckResult(checkResult: SuccessfulCheckResult): void;
19
- selectRanges(checkId: string, matches: Match[]): Promise<void>;
20
- replaceRanges(checkId: string, matchesWithReplacement: MatchWithReplacement[]): Promise<void>;
21
- onInitFinished(result: InitResult): void;
22
- }
@@ -1,67 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright 2018-present Acrolinx GmbH
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.SynchronizeAsyncAdapter = void 0;
19
- var work_queue_1 = require("../utils/work-queue");
20
- /**
21
- * This wrapper around an AsyncAdapterInterface synchronizes all calls to selectRanges and replaceRanges.
22
- * Thereby it prevents concurrency issues, that could arise from concurrent calls to these methods in some
23
- * adapters.
24
- */
25
- var SynchronizeAsyncAdapter = /** @class */ (function () {
26
- function SynchronizeAsyncAdapter(adapter) {
27
- this.adapter = adapter;
28
- this.isAsync = true;
29
- this.requiresSynchronization = false;
30
- this.workQueue = new work_queue_1.WorkQueue();
31
- if (adapter.getAutobindWrapperAttributes) {
32
- this.getAutobindWrapperAttributes = adapter.getAutobindWrapperAttributes.bind(adapter);
33
- }
34
- if (adapter.getFormat) {
35
- this.getFormat = adapter.getFormat.bind(adapter);
36
- }
37
- }
38
- SynchronizeAsyncAdapter.prototype.extractContentForCheck = function (opts) {
39
- return this.adapter.extractContentForCheck(opts);
40
- };
41
- SynchronizeAsyncAdapter.prototype.registerCheckCall = function (checkInfo) {
42
- return this.adapter.registerCheckCall(checkInfo);
43
- };
44
- SynchronizeAsyncAdapter.prototype.registerCheckResult = function (checkResult) {
45
- return this.adapter.registerCheckResult(checkResult);
46
- };
47
- SynchronizeAsyncAdapter.prototype.selectRanges = function (checkId, matches) {
48
- var _this = this;
49
- return this.workQueue.addWork(function () {
50
- return _this.adapter.selectRanges(checkId, matches);
51
- });
52
- };
53
- SynchronizeAsyncAdapter.prototype.replaceRanges = function (checkId, matchesWithReplacement) {
54
- var _this = this;
55
- return this.workQueue.addWork(function () {
56
- return _this.adapter.replaceRanges(checkId, matchesWithReplacement);
57
- });
58
- };
59
- SynchronizeAsyncAdapter.prototype.onInitFinished = function (result) {
60
- if (this.adapter.onInitFinished) {
61
- this.adapter.onInitFinished(result);
62
- }
63
- };
64
- return SynchronizeAsyncAdapter;
65
- }());
66
- exports.SynchronizeAsyncAdapter = SynchronizeAsyncAdapter;
67
- //# sourceMappingURL=SynchronizeAsyncAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SynchronizeAsyncAdapter.js","sourceRoot":"","sources":["../../../../src/adapters/SynchronizeAsyncAdapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAGH,kDAAgD;AAShD;;;;GAIG;AACH;IAQE,iCAA6B,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;QAP3C,YAAO,GAAG,IAAI,CAAC;QACf,4BAAuB,GAAG,KAAK,CAAC;QAIxC,cAAS,GAAG,IAAI,sBAAS,EAAE,CAAC;QAGlC,IAAI,OAAO,CAAC,4BAA4B,EAAE,CAAC;YACzC,IAAI,CAAC,4BAA4B,GAAG,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,wDAAsB,GAAtB,UAAuB,IAAgC;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,mDAAiB,GAAjB,UAAkB,SAAgB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,qDAAmB,GAAnB,UAAoB,WAAkC;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IAED,8CAAY,GAAZ,UAAa,OAAe,EAAE,OAAgB;QAA9C,iBAIC;QAHC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,OAAO,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAAa,GAAb,UAAc,OAAe,EAAE,sBAA8C;QAA7E,iBAIC;QAHC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,OAAO,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAc,GAAd,UAAe,MAAkB;QAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACH,8BAAC;AAAD,CAAC,AA9CD,IA8CC;AA9CY,0DAAuB"}
@@ -1,13 +0,0 @@
1
- import { Editor } from 'tinymce';
2
- import { DocumentSelection } from '@acrolinx/sidebar-interface';
3
- import { AbstractRichtextEditorAdapter } from './AbstractRichtextEditorAdapter';
4
- import { ExtractContentForCheckOpts, HasEditorID } from './AdapterInterface';
5
- export declare class TinyMCEAdapter extends AbstractRichtextEditorAdapter {
6
- editorId: string;
7
- constructor(conf: HasEditorID);
8
- getEditor(): Editor;
9
- getContent(opts: ExtractContentForCheckOpts): string;
10
- getContentForCheckSelection: (el: HTMLElement) => string;
11
- protected getSelection(): DocumentSelection;
12
- getEditorDocument(): Document;
13
- }
@@ -1,51 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright 2015-present Acrolinx GmbH
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TinyMCEAdapter = void 0;
19
- var tslib_1 = require("tslib");
20
- var check_selection_1 = require("../utils/check-selection");
21
- var AbstractRichtextEditorAdapter_1 = require("./AbstractRichtextEditorAdapter");
22
- var TinyMCEAdapter = /** @class */ (function (_super) {
23
- tslib_1.__extends(TinyMCEAdapter, _super);
24
- function TinyMCEAdapter(conf) {
25
- var _this = _super.call(this, conf) || this;
26
- _this.getContentForCheckSelection = function (el) { return _this.getEditor().serializer.serialize(el, {}); };
27
- _this.config.disableInputEventSimulation = true;
28
- _this.editorId = conf.editorId;
29
- return _this;
30
- }
31
- TinyMCEAdapter.prototype.getEditor = function () {
32
- return tinymce.get(this.editorId);
33
- };
34
- TinyMCEAdapter.prototype.getContent = function (opts) {
35
- if (opts.checkSelection) {
36
- return this.getContentForCheckSelection(this.getEditorElement());
37
- }
38
- else {
39
- return this.getEditor().getContent({});
40
- }
41
- };
42
- TinyMCEAdapter.prototype.getSelection = function () {
43
- return { ranges: (0, check_selection_1.getSelectionHtmlRanges)(this.getEditorElement(), this.getContentForCheckSelection) };
44
- };
45
- TinyMCEAdapter.prototype.getEditorDocument = function () {
46
- return this.getEditor().getDoc();
47
- };
48
- return TinyMCEAdapter;
49
- }(AbstractRichtextEditorAdapter_1.AbstractRichtextEditorAdapter));
50
- exports.TinyMCEAdapter = TinyMCEAdapter;
51
- //# sourceMappingURL=TinyMCEAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TinyMCEAdapter.js","sourceRoot":"","sources":["../../../../src/adapters/TinyMCEAdapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;AAIH,4DAAkE;AAClE,iFAAgF;AAGhF;IAAoC,0CAA6B;IAG/D,wBAAY,IAAiB;QAC3B,YAAA,MAAK,YAAC,IAAI,CAAC,SAAC;QAiBd,iCAA2B,GAAG,UAAC,EAAe,IAAK,OAAA,KAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAsB,EAAlE,CAAkE,CAAC;QAhBpH,KAAI,CAAC,MAAM,CAAC,2BAA2B,GAAG,IAAI,CAAC;QAC/C,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;;IAChC,CAAC;IAED,kCAAS,GAAT;QACE,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC;IACrC,CAAC;IAED,mCAAU,GAAV,UAAW,IAAgC;QACzC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAIS,qCAAY,GAAtB;QACE,OAAO,EAAE,MAAM,EAAE,IAAA,wCAAsB,EAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC;IACvG,CAAC;IAED,0CAAiB,GAAjB;QACE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IACH,qBAAC;AAAD,CAAC,AA9BD,CAAoC,6DAA6B,GA8BhE;AA9BY,wCAAc"}
@@ -1,10 +0,0 @@
1
- import { Editor } from 'tinymce';
2
- import { TinyMCEAdapter } from './TinyMCEAdapter';
3
- export declare class TinyMCEWordpressAdapter extends TinyMCEAdapter {
4
- getEditor(): Editor;
5
- getContent(): string;
6
- getEditorDocument(): Document;
7
- scrollToCurrentSelection(): void;
8
- scrollToCurrentSelectionWithGlobalScrollbar(): void;
9
- protected scrollIntoViewWithGlobalScrollbar(sel: Selection): void;
10
- }
@@ -1,78 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright 2015-present Acrolinx GmbH
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TinyMCEWordpressAdapter = void 0;
19
- var tslib_1 = require("tslib");
20
- var AbstractRichtextEditorAdapter_1 = require("./AbstractRichtextEditorAdapter");
21
- var TinyMCEAdapter_1 = require("./TinyMCEAdapter");
22
- var TinyMCEWordpressAdapter = /** @class */ (function (_super) {
23
- tslib_1.__extends(TinyMCEWordpressAdapter, _super);
24
- function TinyMCEWordpressAdapter() {
25
- return _super !== null && _super.apply(this, arguments) || this;
26
- }
27
- TinyMCEWordpressAdapter.prototype.getEditor = function () {
28
- return tinymce.get(this.editorId);
29
- };
30
- TinyMCEWordpressAdapter.prototype.getContent = function () {
31
- return this.getEditor().getContent();
32
- };
33
- TinyMCEWordpressAdapter.prototype.getEditorDocument = function () {
34
- return this.getEditor().getDoc();
35
- };
36
- TinyMCEWordpressAdapter.prototype.scrollToCurrentSelection = function () {
37
- var isOverflow = false;
38
- var editorBody = this.getEditor().getBody();
39
- var eleCss = editorBody.getAttribute('style');
40
- if (eleCss && eleCss.indexOf('overflow-y: hidden') !== -1) {
41
- isOverflow = true;
42
- }
43
- var parentWidth = this.getEditor().getContainer().clientWidth;
44
- var bodyClientWidthWithMargin = editorBody.scrollWidth;
45
- var hasVerticalScrollbar = parentWidth > bodyClientWidthWithMargin;
46
- if (hasVerticalScrollbar && !isOverflow) {
47
- _super.prototype.scrollToCurrentSelection.call(this);
48
- }
49
- else {
50
- this.scrollToCurrentSelectionWithGlobalScrollbar();
51
- }
52
- };
53
- TinyMCEWordpressAdapter.prototype.scrollToCurrentSelectionWithGlobalScrollbar = function () {
54
- var selection1 = this.getEditorDocument().getSelection();
55
- if (selection1) {
56
- try {
57
- this.scrollIntoViewWithGlobalScrollbar(selection1);
58
- }
59
- catch (error) {
60
- console.log('Scrolling Error: ', error);
61
- }
62
- }
63
- };
64
- TinyMCEWordpressAdapter.prototype.scrollIntoViewWithGlobalScrollbar = function (sel) {
65
- var range = sel.getRangeAt(0);
66
- var tmp = range.cloneRange();
67
- tmp.collapse(false);
68
- var text = this.getEditorDocument().createElement('span');
69
- tmp.insertNode(text);
70
- var ypos = text.getClientRects()[0].top;
71
- window.scrollTo(0, ypos);
72
- text.parentNode.removeChild(text);
73
- (0, AbstractRichtextEditorAdapter_1.removeEmptyTextNodesIfNeeded)(tmp);
74
- };
75
- return TinyMCEWordpressAdapter;
76
- }(TinyMCEAdapter_1.TinyMCEAdapter));
77
- exports.TinyMCEWordpressAdapter = TinyMCEWordpressAdapter;
78
- //# sourceMappingURL=TinyMCEWordpressAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TinyMCEWordpressAdapter.js","sourceRoot":"","sources":["../../../../src/adapters/TinyMCEWordpressAdapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;AAGH,iFAA+E;AAC/E,mDAAkD;AAElD;IAA6C,mDAAc;IAA3D;;IAsDA,CAAC;IArDC,2CAAS,GAAT;QACE,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC;IACrC,CAAC;IAED,4CAAU,GAAV;QACE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC;IAED,mDAAiB,GAAjB;QACE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAED,0DAAwB,GAAxB;QACE,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAM,UAAU,GAAI,IAAI,CAAC,SAAS,EAAU,CAAC,OAAO,EAAE,CAAC;QACvD,IAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1D,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAM,WAAW,GAAI,IAAI,CAAC,SAAS,EAAU,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC;QACzE,IAAM,yBAAyB,GAAG,UAAU,CAAC,WAAW,CAAC;QACzD,IAAM,oBAAoB,GAAG,WAAW,GAAG,yBAAyB,CAAC;QACrE,IAAI,oBAAoB,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,gBAAK,CAAC,wBAAwB,WAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,2CAA2C,EAAE,CAAC;QACrD,CAAC;IACH,CAAC;IAED,6EAA2C,GAA3C;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC;QAE3D,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,IAAI,CAAC,iCAAiC,CAAC,UAAU,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAES,mEAAiC,GAA3C,UAA4C,GAAc;QACxD,IAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAM,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QAC/B,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpB,IAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5D,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,IAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,UAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAA,4DAA4B,EAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACH,8BAAC;AAAD,CAAC,AAtDD,CAA6C,+BAAc,GAsD1D;AAtDY,0DAAuB"}