devexpress-richedit 24.1.7-build-24288-0102 → 24.1.8-build-24309-0102
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/bin/gulpfile.js +1 -1
- package/bin/index-custom.js +1 -1
- package/bin/localization-builder.js +1 -1
- package/bin/nspell-index.js +1 -1
- package/bin/nspell.webpack.config.js +1 -1
- package/bin/webpack-externals.js +1 -1
- package/bin/webpack.config.js +1 -1
- package/dist/dx.richedit.d.ts +1 -1
- package/dist/dx.richedit.js +136 -63
- package/dist/dx.richedit.min.js +2 -2
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/lib/client/client-rich-edit.js +6 -6
- package/lib/client/dialogs/hyperlink-dialog.js +13 -6
- package/lib/client/model-api/collections/hyperlink-collection.js +1 -1
- package/lib/common/commands/dialogs/dialog-hyperlink-command.js +10 -4
- package/lib/common/commands/fields/open-hyperlink-command.js +7 -4
- package/lib/common/model/fields/field.d.ts +4 -1
- package/lib/common/model/fields/field.js +18 -2
- package/lib/common/model/fields/parsers/field-code-parser-hyperlink.js +31 -37
- package/lib/common/model/manipulators/document/sub-document-inserter.d.ts +1 -0
- package/lib/common/model/manipulators/document/sub-document-inserter.js +4 -0
- package/lib/common/model/manipulators/range/remove-interval-operation.d.ts +2 -0
- package/lib/common/model/manipulators/range/remove-interval-operation.js +2 -0
- package/lib/common/model/manipulators/range-permission-manipulator.d.ts +4 -0
- package/lib/common/model/manipulators/range-permission-manipulator.js +35 -0
- package/lib/common/utils/utils.d.ts +1 -0
- package/lib/common/utils/utils.js +6 -0
- package/package.json +3 -3
package/bin/gulpfile.js
CHANGED
package/bin/index-custom.js
CHANGED
package/bin/nspell-index.js
CHANGED
package/bin/webpack-externals.js
CHANGED
package/bin/webpack.config.js
CHANGED
package/dist/dx.richedit.d.ts
CHANGED
package/dist/dx.richedit.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* DevExpress WebRichEdit (dx.richedit.js)
|
3
|
-
* Version: 24.1.
|
3
|
+
* Version: 24.1.8
|
4
4
|
* Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED
|
5
5
|
* License: https://www.devexpress.com/Support/EULAs
|
6
6
|
*/
|
@@ -10323,6 +10323,12 @@ class UrlUtils {
|
|
10323
10323
|
catch (_a) { }
|
10324
10324
|
return false;
|
10325
10325
|
}
|
10326
|
+
static splitUrlByAnchor(url) {
|
10327
|
+
const hashTagPosition = url.indexOf("#");
|
10328
|
+
if (hashTagPosition < 0)
|
10329
|
+
return [url, ""];
|
10330
|
+
return [url.substring(0, hashTagPosition), url.substring(hashTagPosition + 1)];
|
10331
|
+
}
|
10326
10332
|
}
|
10327
10333
|
UrlUtils.EmptyPage = "about:blank";
|
10328
10334
|
|
@@ -25039,6 +25045,8 @@ class FieldDeletedSubDocumentChange {
|
|
25039
25045
|
}
|
25040
25046
|
}
|
25041
25047
|
|
25048
|
+
// EXTERNAL MODULE: ./src/common/utils/utils.ts
|
25049
|
+
var utils = __webpack_require__(5929);
|
25042
25050
|
;// CONCATENATED MODULE: ./src/common/model/fields/field.ts
|
25043
25051
|
|
25044
25052
|
|
@@ -25046,6 +25054,7 @@ class FieldDeletedSubDocumentChange {
|
|
25046
25054
|
|
25047
25055
|
|
25048
25056
|
|
25057
|
+
|
25049
25058
|
var FieldNameType;
|
25050
25059
|
(function (FieldNameType) {
|
25051
25060
|
FieldNameType[FieldNameType["None"] = 0] = "None";
|
@@ -25075,8 +25084,8 @@ class HyperlinkInfo {
|
|
25075
25084
|
clone() {
|
25076
25085
|
return new HyperlinkInfo(this.uri, this.anchor, this.tip, this.visited);
|
25077
25086
|
}
|
25078
|
-
|
25079
|
-
return this.uri + (this.anchor
|
25087
|
+
getUriWithAnchor() {
|
25088
|
+
return this.uri + (this.anchor.length > 0 ? "#" + this.anchor : "");
|
25080
25089
|
}
|
25081
25090
|
static getNewCodeText(hyperlinkInfo) {
|
25082
25091
|
return [
|
@@ -25087,6 +25096,21 @@ class HyperlinkInfo {
|
|
25087
25096
|
hyperlinkInfo.anchor == "" ? "" : " \\l \"" + hyperlinkInfo.anchor + "\""
|
25088
25097
|
].join("");
|
25089
25098
|
}
|
25099
|
+
isUri() {
|
25100
|
+
if (this.uri.length === 0)
|
25101
|
+
return false;
|
25102
|
+
if (this.uri.startsWith("#"))
|
25103
|
+
return false;
|
25104
|
+
if (this.isMail())
|
25105
|
+
return false;
|
25106
|
+
return utils/* UrlUtils */.jE.isValid(this.uri);
|
25107
|
+
}
|
25108
|
+
isMail() {
|
25109
|
+
return this.uri.startsWith("mailto:");
|
25110
|
+
}
|
25111
|
+
isValid() {
|
25112
|
+
return !!(this.uri || this.anchor);
|
25113
|
+
}
|
25090
25114
|
}
|
25091
25115
|
class SequenceInfo {
|
25092
25116
|
constructor(identifier, repeats, hidesResult, resets, resetsWith) {
|
@@ -33625,6 +33649,7 @@ ApplyFieldHyperlinkStyleHistoryItem.mask = CharacterPropertiesMask.UseAll & ~(Ch
|
|
33625
33649
|
|
33626
33650
|
|
33627
33651
|
|
33652
|
+
|
33628
33653
|
class FieldCodeParserHyperlink extends FieldCodeParserClientUpdatingBase {
|
33629
33654
|
get name() { return FieldName.Hyperlink; }
|
33630
33655
|
parseCodeCurrentFieldInternal(_responce) {
|
@@ -33636,55 +33661,48 @@ class FieldCodeParserHyperlink extends FieldCodeParserClientUpdatingBase {
|
|
33636
33661
|
return true;
|
33637
33662
|
}
|
33638
33663
|
fillResult() {
|
33639
|
-
var
|
33640
|
-
|
33641
|
-
|
33664
|
+
var _a, _b;
|
33665
|
+
const field = this.getTopField();
|
33666
|
+
const text = (_b = (_a = this.parameterInfoList[0]) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : "";
|
33667
|
+
const newHyperlinkInfo = this.updateHyperlinkInfo(text);
|
33642
33668
|
if (!newHyperlinkInfo) {
|
33643
|
-
if (!this.modelManager.richOptions.fields.keepHyperlinkResultForInvalidReference)
|
33669
|
+
if (!this.modelManager.richOptions.fields.keepHyperlinkResultForInvalidReference) {
|
33644
33670
|
this.removeInterval(this.getTopField().getResultInterval());
|
33671
|
+
}
|
33645
33672
|
return true;
|
33646
33673
|
}
|
33647
|
-
|
33648
|
-
|
33649
|
-
if (resultInterval.length
|
33650
|
-
|
33651
|
-
|
33674
|
+
const modelManipulator = this.modelManager.modelManipulator;
|
33675
|
+
const resultInterval = field.getResultInterval();
|
33676
|
+
if (resultInterval.length === 0) {
|
33677
|
+
const resultText = text !== null && text !== void 0 ? text : "#" + newHyperlinkInfo.anchor;
|
33678
|
+
const newResultInterval = new fixed.FixedInterval(resultInterval.start, resultText.length);
|
33652
33679
|
this.setInputPositionState();
|
33653
33680
|
this.replaceTextByInterval(resultInterval, resultText);
|
33654
|
-
|
33681
|
+
const subDocumentInterval = new SubDocumentInterval(this.subDocument, newResultInterval);
|
33682
|
+
const historyItem = new ApplyFieldHyperlinkStyleHistoryItem(modelManipulator, subDocumentInterval);
|
33683
|
+
this.modelManager.history.addAndRedo(historyItem);
|
33655
33684
|
}
|
33656
|
-
|
33685
|
+
const historyItem = new ChangeFieldHyperlinkInfoHistoryItem(modelManipulator, this.subDocument, field.index, newHyperlinkInfo);
|
33686
|
+
this.modelManager.history.addAndRedo(historyItem);
|
33657
33687
|
return true;
|
33658
33688
|
}
|
33659
|
-
updateHyperlinkInfo(
|
33660
|
-
|
33689
|
+
updateHyperlinkInfo(text) {
|
33690
|
+
const newHyperlinkInfo = new HyperlinkInfo("", "", "", false);
|
33691
|
+
[newHyperlinkInfo.uri, newHyperlinkInfo.anchor] = utils/* UrlUtils */.jE.splitUrlByAnchor(text);
|
33661
33692
|
newHyperlinkInfo.visited = false;
|
33662
|
-
|
33663
|
-
|
33664
|
-
|
33665
|
-
|
33666
|
-
|
33667
|
-
|
33668
|
-
|
33669
|
-
|
33670
|
-
|
33671
|
-
|
33672
|
-
break;
|
33673
|
-
}
|
33693
|
+
for (const switchInfo of this.switchInfoList) {
|
33694
|
+
if (switchInfo.type != FieldSwitchType.FieldSpecific)
|
33695
|
+
continue;
|
33696
|
+
switch (switchInfo.name.toLocaleUpperCase()) {
|
33697
|
+
case "O":
|
33698
|
+
newHyperlinkInfo.tip = switchInfo.arg;
|
33699
|
+
break;
|
33700
|
+
case "L":
|
33701
|
+
newHyperlinkInfo.anchor = switchInfo.arg;
|
33702
|
+
break;
|
33674
33703
|
}
|
33675
|
-
newHyperlinkInfo.tip = tipSwitch ? tipSwitch.arg : "";
|
33676
|
-
var splitted = text.split("#");
|
33677
|
-
if (splitted.length == 1) {
|
33678
|
-
newHyperlinkInfo.uri = splitted[0];
|
33679
|
-
newHyperlinkInfo.anchor = bookmarkSwitch ? bookmarkSwitch.arg : "";
|
33680
|
-
if (newHyperlinkInfo.uri == "" && newHyperlinkInfo.anchor == "")
|
33681
|
-
return null;
|
33682
33704
|
}
|
33683
|
-
|
33684
|
-
newHyperlinkInfo.uri = splitted[0];
|
33685
|
-
newHyperlinkInfo.anchor = splitted[1];
|
33686
|
-
}
|
33687
|
-
return newHyperlinkInfo;
|
33705
|
+
return newHyperlinkInfo.isValid() ? newHyperlinkInfo : null;
|
33688
33706
|
}
|
33689
33707
|
}
|
33690
33708
|
|
@@ -41117,6 +41135,7 @@ class SubDocumentInserter {
|
|
41117
41135
|
this.collectTables();
|
41118
41136
|
this.collectFields();
|
41119
41137
|
this.collectBookmarks();
|
41138
|
+
this.collectRangePermission();
|
41120
41139
|
if (this.options.overlapTableCellContent) {
|
41121
41140
|
const lastInsertedParagraph = this.targetSubDocument.getParagraphByPosition(this.currInsertSubDocumentPosition.position - 1);
|
41122
41141
|
const nextParagraph = this.targetSubDocument.getParagraphByPosition(this.currInsertSubDocumentPosition.position);
|
@@ -41225,6 +41244,9 @@ class SubDocumentInserter {
|
|
41225
41244
|
collectBookmarks() {
|
41226
41245
|
this.targetModelManipulator.bookmark.insertBookmarksFromSubDocument(this.sourceSubDocument, this.targetSubDocument, this.sourceInterval, this.modelsConstOffset);
|
41227
41246
|
}
|
41247
|
+
collectRangePermission() {
|
41248
|
+
this.targetModelManipulator.rangePermission.insertRangePermissionsFromSubDocument(this.sourceSubDocument, this.targetSubDocument, this.sourceInterval, this.modelsConstOffset);
|
41249
|
+
}
|
41228
41250
|
prependTableByParagraph() {
|
41229
41251
|
if (this.options.insertParagraphMarkBeforeIfStartsWithTable) {
|
41230
41252
|
const tbl = Table.getTableByPosition(this.sourceSubDocument.tables, this.sourceInterval.start, false);
|
@@ -45495,6 +45517,7 @@ class NonVisualDrawingObjectInfoManipulator extends BaseManipulator {
|
|
45495
45517
|
|
45496
45518
|
|
45497
45519
|
|
45520
|
+
|
45498
45521
|
class RangePermissionManipulator extends BaseManipulator {
|
45499
45522
|
createRangePermission(subDocument, permissionTemplate) {
|
45500
45523
|
subDocument.rangePermissions.push(new RangePermission(subDocument.positionManager, permissionTemplate.interval, permissionTemplate.userName, permissionTemplate.group));
|
@@ -45507,6 +45530,40 @@ class RangePermissionManipulator extends BaseManipulator {
|
|
45507
45530
|
subDocument.filterRangePermissions(this.modelManipulator.modelManager.richOptions.documentProtection);
|
45508
45531
|
this.modelManipulator.notifyModelChanged(new RangePermissionsChangedSubDocumentChange(subDocument.id, permissionTemplate));
|
45509
45532
|
}
|
45533
|
+
insertRangePermissionsFromSubDocument(fromSubDocument, toSubDocument, fromInterval, modelsConstOffset) {
|
45534
|
+
const rangePermissions = fromSubDocument.rangePermissions;
|
45535
|
+
let ind = search.SearchUtils.normedInterpolationIndexOf(rangePermissions, (b) => b.start, fromInterval.start);
|
45536
|
+
while (rangePermissions[ind] && rangePermissions[ind].start >= fromInterval.start)
|
45537
|
+
ind--;
|
45538
|
+
ind = Math.max(0, ind);
|
45539
|
+
for (let rpm; (rpm = rangePermissions[ind]) && rpm.start <= fromInterval.end; ind++) {
|
45540
|
+
if (fromInterval.containsInterval(rpm.interval)) {
|
45541
|
+
const template = rpm.constRangePermission;
|
45542
|
+
template.interval.start += modelsConstOffset;
|
45543
|
+
template.interval.end += modelsConstOffset + 1;
|
45544
|
+
this.createRangePermission(toSubDocument, template);
|
45545
|
+
}
|
45546
|
+
}
|
45547
|
+
toSubDocument.rangePermissions = toSubDocument.rangePermissions.sort(ConstRangePermission.comparer);
|
45548
|
+
}
|
45549
|
+
deleteRangePermissions(subDocument, interval) {
|
45550
|
+
const rangePermissions = subDocument.rangePermissions;
|
45551
|
+
const result = [];
|
45552
|
+
let ind = search.SearchUtils.normedInterpolationIndexOf(rangePermissions, (b) => b.start, interval.start);
|
45553
|
+
while (rangePermissions[ind] && rangePermissions[ind].start >= interval.start)
|
45554
|
+
ind--;
|
45555
|
+
ind = Math.max(0, ind);
|
45556
|
+
for (let curr; (curr = rangePermissions[ind]) && curr.interval.start <= interval.end;) {
|
45557
|
+
if (interval.containsInterval(curr.interval)) {
|
45558
|
+
const tmpl = curr.constRangePermission;
|
45559
|
+
this.deleteRangePermission(subDocument, tmpl, ind);
|
45560
|
+
result.push(tmpl);
|
45561
|
+
}
|
45562
|
+
else
|
45563
|
+
ind++;
|
45564
|
+
}
|
45565
|
+
return result;
|
45566
|
+
}
|
45510
45567
|
}
|
45511
45568
|
|
45512
45569
|
;// CONCATENATED MODULE: ./src/common/model/character/history-runs.ts
|
@@ -45640,6 +45697,7 @@ class RemoveIntervalOperation {
|
|
45640
45697
|
this.cellsIterator = new SelectedCellsIterator(this.subDocument, interval);
|
45641
45698
|
const result = new RemoveIntervalOperationResult(this.cellsIterator);
|
45642
45699
|
result.bookmarkItems = this.modelManipulator.bookmark.deleteBookmarks(this.subDocument, interval);
|
45700
|
+
result.rangePermssionsItems = this.modelManipulator.rangePermission.deleteRangePermissions(this.subDocument, interval);
|
45643
45701
|
if (this.tryPackSelectionInOneRun(interval, result))
|
45644
45702
|
return result;
|
45645
45703
|
var iterator = this.subDocument.getRunIterator(interval);
|
@@ -45965,6 +46023,7 @@ class RemoveIntervalOperationResult {
|
|
45965
46023
|
this.historyRuns = [];
|
45966
46024
|
this.nestingLevels = [];
|
45967
46025
|
this.bookmarkItems = [];
|
46026
|
+
this.rangePermssionsItems = [];
|
45968
46027
|
this.cellsIterator = cellsIterator;
|
45969
46028
|
}
|
45970
46029
|
registerItem(historyRun) {
|
@@ -69148,8 +69207,6 @@ class HtmlThTagImporter extends HtmlTdTagImporter {
|
|
69148
69207
|
}
|
69149
69208
|
}
|
69150
69209
|
|
69151
|
-
// EXTERNAL MODULE: ./src/common/utils/utils.ts
|
69152
|
-
var utils = __webpack_require__(5929);
|
69153
69210
|
;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/text-node.ts
|
69154
69211
|
|
69155
69212
|
|
@@ -71305,7 +71362,7 @@ class HyperlinkCollection extends Collection {
|
|
71305
71362
|
subDocument.insertText(field.getCodeInterval().start, HyperlinkInfo.getNewCodeText(info));
|
71306
71363
|
if (canChangeHyperlinkDisplayText && hyperlinkInfo.text || field.getResultInterval().length == 0) {
|
71307
71364
|
subDocument.deleteText(convertToIntervalApi(field.getResultInterval()));
|
71308
|
-
subDocument.insertText(field.getResultInterval().start, !hyperlinkInfo.text || hyperlinkInfo.text == "" ? info.
|
71365
|
+
subDocument.insertText(field.getResultInterval().start, !hyperlinkInfo.text || hyperlinkInfo.text == "" ? info.getUriWithAnchor() : hyperlinkInfo.text);
|
71309
71366
|
}
|
71310
71367
|
this._processor.modelManager.history.addAndRedo(new ApplyFieldHyperlinkStyleHistoryItem(this._processor.modelManager.modelManipulator, new SubDocumentInterval(this._subDocument, field.getResultInterval())));
|
71311
71368
|
this._processor.modelManager.history.endTransaction();
|
@@ -128145,8 +128202,14 @@ class DialogHyperlinkCommandBase extends ShowDialogCommandBase {
|
|
128145
128202
|
var field = this.getState().value;
|
128146
128203
|
if (field) {
|
128147
128204
|
var hyperlinkInfo = field.getHyperlinkInfo();
|
128148
|
-
|
128149
|
-
|
128205
|
+
if (hyperlinkInfo.isUri()) {
|
128206
|
+
parameters.url = hyperlinkInfo.getUriWithAnchor();
|
128207
|
+
parameters.anchor = "";
|
128208
|
+
}
|
128209
|
+
else {
|
128210
|
+
parameters.url = "";
|
128211
|
+
parameters.anchor = hyperlinkInfo.anchor;
|
128212
|
+
}
|
128150
128213
|
parameters.tooltip = hyperlinkInfo.tip;
|
128151
128214
|
parameters.text = FieldContextMenuHelper.getHyperlinkResultText(options.subDocument, field);
|
128152
128215
|
}
|
@@ -128159,7 +128222,7 @@ class DialogHyperlinkCommandBase extends ShowDialogCommandBase {
|
|
128159
128222
|
if (newParams.tooltip == initParams.tooltip && newParams.url == initParams.url && newParams.anchor == initParams.anchor && newParams.text == initParams.text)
|
128160
128223
|
return false;
|
128161
128224
|
var hyperlinkInfo = new HyperlinkInfo(newParams.url, newParams.anchor, newParams.tooltip, false);
|
128162
|
-
if (hyperlinkInfo.
|
128225
|
+
if (!hyperlinkInfo.isValid())
|
128163
128226
|
return false;
|
128164
128227
|
var modelManipulator = this.modelManipulator;
|
128165
128228
|
var selection = this.selection;
|
@@ -128181,7 +128244,7 @@ class DialogHyperlinkCommandBase extends ShowDialogCommandBase {
|
|
128181
128244
|
}
|
128182
128245
|
if (initParams.canChangeDisplayText && newParams.text != initParams.text || field.getResultInterval().length == 0) {
|
128183
128246
|
selection.deprecatedSetSelection(field.getResultStartPosition(), field.getResultEndPosition(), false, selection.keepX, false, false);
|
128184
|
-
this.control.commandManager.getCommand(RichEditClientCommand.InsertText).execute(this.control.commandManager.isPublicApiCall, new CommandSimpleOptions(this.control, !newParams.text || newParams.text == "" ? hyperlinkInfo.
|
128247
|
+
this.control.commandManager.getCommand(RichEditClientCommand.InsertText).execute(this.control.commandManager.isPublicApiCall, new CommandSimpleOptions(this.control, !newParams.text || newParams.text == "" ? hyperlinkInfo.getUriWithAnchor() : newParams.text));
|
128185
128248
|
}
|
128186
128249
|
history.addAndRedo(new ApplyFieldHyperlinkStyleHistoryItem(modelManipulator, new SubDocumentInterval(this.selection.activeSubDocument, field.getResultInterval())));
|
128187
128250
|
selection.deprecatedSetSelection(field.getFieldEndPosition(), field.getFieldEndPosition(), false, selection.keepX, false, false);
|
@@ -130311,7 +130374,7 @@ class GoToLastDataRecordCommand extends GoToRecordCommandBase {
|
|
130311
130374
|
}
|
130312
130375
|
|
130313
130376
|
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/url.js
|
130314
|
-
var
|
130377
|
+
var url = __webpack_require__(6795);
|
130315
130378
|
;// CONCATENATED MODULE: ./src/common/commands/fields/hyperlink-command-base.ts
|
130316
130379
|
|
130317
130380
|
|
@@ -130358,12 +130421,15 @@ class OpenHyperlinkCommand extends HyperlinkCommandBase {
|
|
130358
130421
|
this.history.endTransaction();
|
130359
130422
|
this.aspxForceSendingRequest();
|
130360
130423
|
}
|
130361
|
-
if (hyperlinkInfo.
|
130424
|
+
if (hyperlinkInfo.isUri()) {
|
130425
|
+
let uri = hyperlinkInfo.getUriWithAnchor();
|
130426
|
+
if (!utils/* UrlUtils */.jE.isValid(uri))
|
130427
|
+
uri = utils/* UrlUtils */.jE.EmptyPage;
|
130428
|
+
url/* Url */.R.navigate(uri, "_blank");
|
130429
|
+
}
|
130430
|
+
else {
|
130362
130431
|
this.control.commandManager.getCommand(RichEditClientCommand.GoToBookmark)
|
130363
130432
|
.execute(this.control.commandManager.isPublicApiCall, new CommandSimpleOptions(this.control, hyperlinkInfo.anchor));
|
130364
|
-
else {
|
130365
|
-
const url = utils/* UrlUtils */.jE.isValid(hyperlinkInfo.uri) ? hyperlinkInfo.uri : utils/* UrlUtils */.jE.EmptyPage;
|
130366
|
-
utils_url/* Url */.R.navigate(url, "_blank");
|
130367
130433
|
}
|
130368
130434
|
return true;
|
130369
130435
|
}
|
@@ -141436,6 +141502,7 @@ class FontDialog extends DialogBase {
|
|
141436
141502
|
;// CONCATENATED MODULE: ./src/client/dialogs/hyperlink-dialog.ts
|
141437
141503
|
|
141438
141504
|
|
141505
|
+
|
141439
141506
|
class HyperlinkDialog extends DialogBase {
|
141440
141507
|
constructor() {
|
141441
141508
|
super(...arguments);
|
@@ -141582,13 +141649,19 @@ class HyperlinkDialog extends DialogBase {
|
|
141582
141649
|
parameters.text = data.text;
|
141583
141650
|
parameters.tooltip = data.tooltip;
|
141584
141651
|
const tabPanelSelectedIndex = this.tabPanel.option('selectedIndex');
|
141585
|
-
if (tabPanelSelectedIndex == 0)
|
141586
|
-
parameters.url = data.url;
|
141587
|
-
|
141588
|
-
parameters.anchor = data.anchor;
|
141652
|
+
if (tabPanelSelectedIndex == 0) {
|
141653
|
+
[parameters.url, parameters.anchor] = utils/* UrlUtils */.jE.splitUrlByAnchor(data.url);
|
141654
|
+
}
|
141589
141655
|
else {
|
141590
|
-
|
141591
|
-
|
141656
|
+
if (tabPanelSelectedIndex == 1) {
|
141657
|
+
parameters.url = "";
|
141658
|
+
parameters.anchor = data.anchor;
|
141659
|
+
}
|
141660
|
+
else {
|
141661
|
+
const subject = data.subject ? this.subjectPrefix + data.subject : '';
|
141662
|
+
parameters.url = this.mailtoPrefix + data.email + subject;
|
141663
|
+
parameters.anchor = "";
|
141664
|
+
}
|
141592
141665
|
}
|
141593
141666
|
}
|
141594
141667
|
}
|
@@ -143833,7 +143906,7 @@ class ClientRichEdit {
|
|
143833
143906
|
this.contextMenuSettings = settings.contextMenuSettings;
|
143834
143907
|
this.fullScreenHelper = new FullScreenHelper(element);
|
143835
143908
|
if (true)
|
143836
|
-
external_DevExpress_config_default()(JSON.parse(atob('
|
143909
|
+
external_DevExpress_config_default()(JSON.parse(atob('eyJsaWNlbnNlS2V5IjoiZXdvZ0lDSm1iM0p0WVhRaU9pQXhMQW9nSUNKcGJuUmxjbTVoYkZWellXZGxTV1FpT2lBaWNsQXpXRVkxYm5aUmEyRjVjRTk1UWt4d2RXTlVRU0lLZlE9PS5mRVhyTm1adGMwdWRsdzlOa3hheDBPejFzTEdNU0RwUHBXWGhVdEllc0xvU21lMVhxTC9jZWw2QUtMVVFjVFJERURuN0dRM1k0ZzVMRTlVSGJsK0lUM09zbmpOZnBxYS9nTFY2bmpHbWt2NytLQnVvWWtyTE9LbGtyQjRWQ00rVVZYdDNKZz09In0=')));
|
143837
143910
|
this.prepareElement(element, settings);
|
143838
143911
|
this.initDefaultFontsAndStyles();
|
143839
143912
|
this.initBars(settings.ribbon, settings.fonts);
|
@@ -144364,11 +144437,11 @@ class ClientRichEdit {
|
|
144364
144437
|
return this.barHolder.ribbon;
|
144365
144438
|
}
|
144366
144439
|
getLinkType(hyperlinkInfo) {
|
144367
|
-
if (hyperlinkInfo.
|
144368
|
-
return DocumentLinkType.Bookmark;
|
144369
|
-
if (hyperlinkInfo.uri && hyperlinkInfo.uri.substr(0, 7) === "mailto:")
|
144440
|
+
if (hyperlinkInfo.isMail())
|
144370
144441
|
return DocumentLinkType.EmailAddress;
|
144371
|
-
|
144442
|
+
if (hyperlinkInfo.isUri())
|
144443
|
+
return DocumentLinkType.Hyperlink;
|
144444
|
+
return DocumentLinkType.Bookmark;
|
144372
144445
|
}
|
144373
144446
|
setFullScreenMode() {
|
144374
144447
|
this.fullScreenHelper.prepareFullScreenMode();
|