devexpress-richedit 24.2.6 → 25.1.1-alpha
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.css +1 -1
- package/dist/dx.richedit.d.ts +11 -3
- package/dist/dx.richedit.js +1555 -1230
- package/dist/dx.richedit.min.js +2 -2
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/lib/client/_constants.d.ts +1 -0
- package/lib/client/_constants.js +3 -0
- package/lib/client/bars/ribbon.d.ts +1 -0
- package/lib/client/bars/ribbon.js +3 -1
- package/lib/client/bars/rich-edit-ribbon/ribbon-items-data.js +11 -0
- package/lib/client/client-rich-edit.js +4 -2
- package/lib/client/commands/commands.js +12 -0
- package/lib/client/i-rich-constructor-settings.d.ts +2 -0
- package/lib/client/model-api/api-utils/parameter-checker.d.ts +1 -1
- package/lib/client/model-api/api-utils/parameter-checker.js +2 -2
- package/lib/client/public/commands/enum.d.ts +3 -1
- package/lib/client/public/commands/enum.js +2 -0
- package/lib/client/public/options.d.ts +2 -0
- package/lib/client/public/options.js +2 -0
- package/lib/client/public/rich-edit.d.ts +4 -0
- package/lib/client/public/rich-edit.js +21 -0
- package/lib/client/ribbon/i-toolbar-item-options.d.ts +1 -1
- package/lib/client/settings.js +4 -0
- package/lib/client/utils/focus-helper.d.ts +4 -0
- package/lib/client/utils/focus-helper.js +36 -0
- package/lib/common/canvas/canvas-manager.d.ts +2 -0
- package/lib/common/canvas/canvas-manager.js +11 -5
- package/lib/common/canvas/renderes/common/document-renderer.d.ts +1 -1
- package/lib/common/canvas/renderes/view-manager.d.ts +4 -0
- package/lib/common/canvas/renderes/view-manager.js +17 -0
- package/lib/common/commands/client-command.d.ts +3 -1
- package/lib/common/commands/client-command.js +2 -0
- package/lib/common/commands/command-manager.js +4 -0
- package/lib/common/commands/layout/apply-style-command.d.ts +12 -7
- package/lib/common/commands/layout/apply-style-command.js +44 -36
- package/lib/common/commands/layout/change-zoom-level-command.d.ts +10 -0
- package/lib/common/commands/layout/change-zoom-level-command.js +30 -0
- package/lib/common/commands/layout/toggle-allow-zoom-command.d.ts +7 -0
- package/lib/common/commands/layout/toggle-allow-zoom-command.js +17 -0
- package/lib/common/commands/ruler/ruler-table-column-separators-command.d.ts +9 -2
- package/lib/common/commands/ruler/ruler-table-column-separators-command.js +24 -15
- package/lib/common/commands/toc/set-paragraph-level-command.d.ts +2 -0
- package/lib/common/commands/toc/set-paragraph-level-command.js +13 -7
- package/lib/common/interfaces/i-zoom-level-holder.d.ts +3 -0
- package/lib/common/interfaces/i-zoom-level-holder.js +1 -0
- package/lib/common/layout/main-structures/layout-row.d.ts +2 -1
- package/lib/common/layout/main-structures/layout-row.js +3 -1
- package/lib/common/layout-formatter/formatter/base-formatter.js +2 -1
- package/lib/common/layout-formatter/row/result.js +2 -1
- package/lib/common/layout-formatter/row/tab-info.js +3 -1
- package/lib/common/model/json/enums/json-control-enums.d.ts +2 -1
- package/lib/common/model/json/enums/json-control-enums.js +1 -0
- package/lib/common/model/json/exporters/json-control-options-converter.js +2 -0
- package/lib/common/model/json/importers/json-importer.js +2 -0
- package/lib/common/model/options/control.d.ts +1 -0
- package/lib/common/model/options/control.js +1 -0
- package/lib/common/model/paragraph/paragraph-style.d.ts +9 -4
- package/lib/common/model/paragraph/paragraph-style.js +20 -13
- package/lib/common/model/rich-utils.d.ts +2 -0
- package/lib/common/model/rich-utils.js +2 -0
- package/lib/common/mouse-handler/resize-box-helper.js +2 -2
- package/lib/common/rich-edit-core.d.ts +0 -1
- package/lib/common/rich-edit-core.js +2 -6
- package/lib/common/ui/ruler/controls/base.d.ts +7 -2
- package/lib/common/ui/ruler/controls/base.js +11 -3
- package/lib/common/ui/ruler/controls/column.d.ts +17 -5
- package/lib/common/ui/ruler/controls/column.js +37 -21
- package/lib/common/ui/ruler/controls/divisions.d.ts +18 -5
- package/lib/common/ui/ruler/controls/divisions.js +41 -13
- package/lib/common/ui/ruler/controls/indent/first-line.js +2 -2
- package/lib/common/ui/ruler/controls/indent/left.js +2 -2
- package/lib/common/ui/ruler/controls/indent/right.js +2 -2
- package/lib/common/ui/ruler/controls/margin/base.js +3 -3
- package/lib/common/ui/ruler/controls/owner.d.ts +2 -0
- package/lib/common/ui/ruler/controls/owner.js +4 -0
- package/lib/common/ui/ruler/controls/ruler.js +2 -2
- package/lib/common/ui/ruler/controls/tab/tab-info.d.ts +15 -0
- package/lib/common/ui/ruler/controls/tab/tab-info.js +19 -0
- package/lib/common/ui/ruler/controls/tab/tab.d.ts +3 -3
- package/lib/common/ui/ruler/controls/tab/tab.js +10 -11
- package/lib/common/ui/ruler/controls/table.js +5 -4
- package/lib/common/ui/ruler/controls/zoomable-value.d.ts +8 -0
- package/lib/common/ui/ruler/controls/zoomable-value.js +15 -0
- package/lib/common/ui/ruler/manager.d.ts +6 -2
- package/lib/common/ui/ruler/manager.js +13 -4
- package/lib/common/ui/ruler/model-data.d.ts +1 -0
- package/lib/common/ui/ruler/model-data.js +1 -0
- package/lib/common/view-settings/views-settings.d.ts +2 -0
- package/lib/common/view-settings/views-settings.js +3 -0
- package/package.json +7 -7
package/dist/dx.richedit.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* DevExpress WebRichEdit (dx.richedit.js)
|
3
|
-
* Version:
|
3
|
+
* Version: 25.1.1
|
4
4
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
5
5
|
* License: https://www.devexpress.com/Support/EULAs
|
6
6
|
*/
|
@@ -14600,6 +14600,8 @@ RichUtils.isAlphanumeric = /^[\u00C0-\u1FFF\u2C00-\uD7FF\w]+$/;
|
|
14600
14600
|
RichUtils.predefinedFontSizes = [8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72];
|
14601
14601
|
RichUtils.minFontSize = 1;
|
14602
14602
|
RichUtils.maxFontSize = 600;
|
14603
|
+
RichUtils.minZoomLevel = 0.5;
|
14604
|
+
RichUtils.maxZoomLevel = 2.0;
|
14603
14605
|
RichUtils.specialCharacters = new SpecialCharacters();
|
14604
14606
|
|
14605
14607
|
;// CONCATENATED MODULE: ./src/common/model/numbering-lists/list-level-properties.ts
|
@@ -19657,7 +19659,7 @@ class ParagraphStyle extends StyleBase {
|
|
19657
19659
|
}
|
19658
19660
|
}
|
19659
19661
|
ParagraphStyle.normalStyleName = "Normal";
|
19660
|
-
ParagraphStyle.headingStyleName = "
|
19662
|
+
ParagraphStyle.headingStyleName = "Heading";
|
19661
19663
|
ParagraphStyle.tocStyleName = "toc";
|
19662
19664
|
class TabProperties {
|
19663
19665
|
constructor() {
|
@@ -19702,25 +19704,32 @@ class TabProperties {
|
|
19702
19704
|
this.sort();
|
19703
19705
|
}
|
19704
19706
|
}
|
19705
|
-
class
|
19706
|
-
constructor(
|
19707
|
-
this.position = position;
|
19707
|
+
class TabInfoBase {
|
19708
|
+
constructor(alignment, leader, deleted, isDefault) {
|
19708
19709
|
this.alignment = alignment;
|
19709
19710
|
this.leader = leader;
|
19710
|
-
this.isDefault = isDefault;
|
19711
19711
|
this.deleted = deleted;
|
19712
|
-
|
19713
|
-
clone() {
|
19714
|
-
return new TabInfo(this.position, this.alignment, this.leader, this.deleted, this.isDefault);
|
19712
|
+
this.isDefault = isDefault;
|
19715
19713
|
}
|
19716
19714
|
equals(obj) {
|
19717
19715
|
if (!obj)
|
19718
19716
|
return false;
|
19719
|
-
return this.alignment
|
19720
|
-
this.leader
|
19721
|
-
this.
|
19722
|
-
this.
|
19723
|
-
|
19717
|
+
return this.alignment === obj.alignment &&
|
19718
|
+
this.leader === obj.leader &&
|
19719
|
+
this.deleted === obj.deleted &&
|
19720
|
+
this.isDefault === obj.isDefault;
|
19721
|
+
}
|
19722
|
+
}
|
19723
|
+
class TabInfo extends TabInfoBase {
|
19724
|
+
constructor(position, alignment, leader, deleted, isDefault) {
|
19725
|
+
super(alignment, leader, deleted, isDefault);
|
19726
|
+
this.position = position;
|
19727
|
+
}
|
19728
|
+
equals(obj) {
|
19729
|
+
return super.equals(obj) && this.position == obj.position;
|
19730
|
+
}
|
19731
|
+
clone() {
|
19732
|
+
return new TabInfo(this.position, this.alignment, this.leader, this.deleted, this.isDefault);
|
19724
19733
|
}
|
19725
19734
|
}
|
19726
19735
|
|
@@ -25143,6 +25152,7 @@ var JSONControlOptionsProperty;
|
|
25143
25152
|
JSONControlOptionsProperty[JSONControlOptionsProperty["AcceptsTab"] = 32] = "AcceptsTab";
|
25144
25153
|
JSONControlOptionsProperty[JSONControlOptionsProperty["Download"] = 33] = "Download";
|
25145
25154
|
JSONControlOptionsProperty[JSONControlOptionsProperty["RaiseClientEventsOnModificationsViaAPI"] = 34] = "RaiseClientEventsOnModificationsViaAPI";
|
25155
|
+
JSONControlOptionsProperty[JSONControlOptionsProperty["AllowZoom"] = 35] = "AllowZoom";
|
25146
25156
|
})(JSONControlOptionsProperty || (JSONControlOptionsProperty = {}));
|
25147
25157
|
|
25148
25158
|
;// CONCATENATED MODULE: ./src/common/model/json/enums/json-section-enums.ts
|
@@ -25932,6 +25942,8 @@ class JSONImporter {
|
|
25932
25942
|
controlOptions.acceptsTab = !!json[JSONControlOptionsProperty.AcceptsTab];
|
25933
25943
|
if (json[JSONControlOptionsProperty.Download] !== undefined)
|
25934
25944
|
controlOptions.download = json[JSONControlOptionsProperty.Download];
|
25945
|
+
if (json[JSONControlOptionsProperty.AllowZoom] !== undefined)
|
25946
|
+
controlOptions.allowZoom = json[JSONControlOptionsProperty.AllowZoom];
|
25935
25947
|
controlOptions.raiseClientEventsOnModificationsViaAPI = !!json[JSONControlOptionsProperty.RaiseClientEventsOnModificationsViaAPI];
|
25936
25948
|
}
|
25937
25949
|
}
|
@@ -35788,8 +35800,8 @@ class ApiParametersChecker {
|
|
35788
35800
|
static defaultDescriptor(getResult) {
|
35789
35801
|
return new ApiParameterDescriptor('', '', () => true, getResult);
|
35790
35802
|
}
|
35791
|
-
static numberDescriptor(parameterName, getResult, minBound = constants.Constants.MIN_SAFE_INTEGER, maxBound = constants.Constants.MAX_SAFE_INTEGER) {
|
35792
|
-
return new ApiParameterDescriptor(parameterName, `number on interval [${minBound}, ${maxBound}]`, (value) => (0,common.isNumber)(value) && (value >= minBound && value < maxBound), getResult);
|
35803
|
+
static numberDescriptor(parameterName, getResult, minBound = constants.Constants.MIN_SAFE_INTEGER, maxBound = constants.Constants.MAX_SAFE_INTEGER, closedMaxBound = false) {
|
35804
|
+
return new ApiParameterDescriptor(parameterName, `number on interval [${minBound}, ${maxBound}]`, (value) => (0,common.isNumber)(value) && (value >= minBound && (closedMaxBound ? value <= maxBound : value < maxBound)), getResult);
|
35793
35805
|
}
|
35794
35806
|
static booleanDescriptor(parameterName, getResult) {
|
35795
35807
|
return new ApiParameterDescriptor(parameterName, 'boolean', (value) => typeof value === 'boolean', getResult);
|
@@ -40173,6 +40185,7 @@ class ControlOptions {
|
|
40173
40185
|
this.tables = DocumentCapability.Default;
|
40174
40186
|
this.tableStyle = DocumentCapability.Default;
|
40175
40187
|
this.floatingObjects = DocumentCapability.Default;
|
40188
|
+
this.allowZoom = DocumentCapability.Default;
|
40176
40189
|
this.acceptsTab = true;
|
40177
40190
|
this.raiseClientEventsOnModificationsViaAPI = true;
|
40178
40191
|
}
|
@@ -86264,6 +86277,8 @@ var RichEditClientCommand;
|
|
86264
86277
|
RichEditClientCommand[RichEditClientCommand["NoSpellingSuggestions"] = 457] = "NoSpellingSuggestions";
|
86265
86278
|
RichEditClientCommand[RichEditClientCommand["GetHtml"] = 458] = "GetHtml";
|
86266
86279
|
RichEditClientCommand[RichEditClientCommand["CreateEmptyIfField"] = 459] = "CreateEmptyIfField";
|
86280
|
+
RichEditClientCommand[RichEditClientCommand["ChangeZoomLevel"] = 460] = "ChangeZoomLevel";
|
86281
|
+
RichEditClientCommand[RichEditClientCommand["ToggleAllowZoom"] = 461] = "ToggleAllowZoom";
|
86267
86282
|
})(RichEditClientCommand || (RichEditClientCommand = {}));
|
86268
86283
|
|
86269
86284
|
;// CONCATENATED MODULE: ./src/common/interfaces/i-rich-edit-core.ts
|
@@ -92782,6 +92797,7 @@ class LayoutPageArea extends rectangle.Rectangle {
|
|
92782
92797
|
|
92783
92798
|
|
92784
92799
|
|
92800
|
+
|
92785
92801
|
var LayoutRowStateFlags;
|
92786
92802
|
(function (LayoutRowStateFlags) {
|
92787
92803
|
LayoutRowStateFlags[LayoutRowStateFlags["NormallyEnd"] = 0] = "NormallyEnd";
|
@@ -92792,6 +92808,7 @@ var LayoutRowStateFlags;
|
|
92792
92808
|
LayoutRowStateFlags[LayoutRowStateFlags["DocumentEnd"] = 16] = "DocumentEnd";
|
92793
92809
|
LayoutRowStateFlags[LayoutRowStateFlags["CellTableEnd"] = 64] = "CellTableEnd";
|
92794
92810
|
LayoutRowStateFlags[LayoutRowStateFlags["PageBreakBefore"] = 128] = "PageBreakBefore";
|
92811
|
+
LayoutRowStateFlags[LayoutRowStateFlags["InfinityWidth"] = 256] = "InfinityWidth";
|
92795
92812
|
})(LayoutRowStateFlags || (LayoutRowStateFlags = {}));
|
92796
92813
|
class layout_row_LayoutRow extends rectangle.Rectangle {
|
92797
92814
|
get hasEffectToPageHeight() { return this.boxes.length != 1 || !this.boxes[0].isSectionBreakBox; }
|
@@ -92907,7 +92924,7 @@ class layout_row_LayoutRow extends rectangle.Rectangle {
|
|
92907
92924
|
return lastBoxIndexWhatCanStrikeoutAndUnderline;
|
92908
92925
|
}
|
92909
92926
|
containsSpacesOnly() {
|
92910
|
-
return this.boxes.length > 0 && utils_list.ListUtils.allOf(this.boxes, val => val.isWhitespace());
|
92927
|
+
return this.boxes.length > 0 && utils_list.ListUtils.allOf(this.boxes, val => val.isWhitespace() || val.getType() === LayoutBoxType.ParagraphMark);
|
92911
92928
|
}
|
92912
92929
|
}
|
92913
92930
|
class LayoutRowWithIndex extends (/* unused pure expression or super */ null && (layout_row_LayoutRow)) {
|
@@ -94011,7 +94028,8 @@ class RowFormatterResult {
|
|
94011
94028
|
return;
|
94012
94029
|
this.rowFormatter.tabInfo.shiftBoxesAfterLastTab();
|
94013
94030
|
const dontJustifyLinesEndingInSoftLineBreak = this.rowFormatter.manager.model.compatibilitySettings.dontJustifyLinesEndingInSoftLineBreak;
|
94014
|
-
|
94031
|
+
if (!this.row.flags.get(LayoutRowStateFlags.InfinityWidth))
|
94032
|
+
BoxAligner.align(this.row, this.rowFormatter.paragraphProps.alignment, currLogicRowEndPos, this.rowBoxIndexStart, dontJustifyLinesEndingInSoftLineBreak);
|
94015
94033
|
this.rowBoxIndexStart = this.row.boxes.length;
|
94016
94034
|
}
|
94017
94035
|
deleteSomeAnchorObjects(index, posToRestart) {
|
@@ -95711,6 +95729,7 @@ class RowEndedWithPageBreakState extends RowEndedWithParagraphMarkFormatterState
|
|
95711
95729
|
|
95712
95730
|
|
95713
95731
|
|
95732
|
+
|
95714
95733
|
class RowTabInfo {
|
95715
95734
|
get row() {
|
95716
95735
|
return this.rowFormatter.row;
|
@@ -95781,9 +95800,10 @@ class RowTabInfo {
|
|
95781
95800
|
if (tabXPosRelativePage > lastInterval.end) {
|
95782
95801
|
if (lastInterval.end < this.rowFormatter.paragraphHorizontalBounds.end) {
|
95783
95802
|
if (this.rowFormatter.manager.model.compatibilitySettings.compatibilityMode < CompatibilityMode.Word2013) {
|
95803
|
+
this.currInterval.avaliableWidth = Number.MAX_SAFE_INTEGER - this.currInterval.busyWidth;
|
95784
95804
|
this.currInterval.length = Number.MAX_SAFE_INTEGER;
|
95785
|
-
this.currInterval.avaliableWidth = Number.MAX_SAFE_INTEGER;
|
95786
95805
|
this.row.width = Number.MAX_SAFE_INTEGER;
|
95806
|
+
this.row.flags.set(LayoutRowStateFlags.InfinityWidth, true);
|
95787
95807
|
return this.addTabBox();
|
95788
95808
|
}
|
95789
95809
|
else if (tabBox.right < this.rowFormatter.paragraphHorizontalBounds.end) {
|
@@ -99346,7 +99366,8 @@ class BaseFormatter {
|
|
99346
99366
|
const minPageContentHeight = bottomPosition + margins.bottom;
|
99347
99367
|
const minVisibleAreaHeight = minPageContentHeight +
|
99348
99368
|
pageInfo.topMargin + pageInfo.topPageBorderWidth + pageInfo.bottomPageBorderWidth + pageInfo.bottomMargin;
|
99349
|
-
const
|
99369
|
+
const zoomLevel = this.manager.innerClientProperties.viewsSettings.zoomLevel;
|
99370
|
+
const diff = Math.floor(Math.max(0, this.manager.controlHeightProvider.getVisibleAreaHeight(false) / zoomLevel - minVisibleAreaHeight));
|
99350
99371
|
const finalPageHeight = minPageContentHeight + diff;
|
99351
99372
|
const columnHeight = finalPageHeight - margins.vertical;
|
99352
99373
|
this.layoutPosition.column.height = columnHeight;
|
@@ -101772,6 +101793,7 @@ class ViewSettings {
|
|
101772
101793
|
this.paddings = new margins/* Margins */.m(15, 15, 15, 15);
|
101773
101794
|
this.pageVerticalInfo = new RenderPageVertivalInfo();
|
101774
101795
|
this.showHorizontalRuler = true;
|
101796
|
+
this.zoomLevel = 1.0;
|
101775
101797
|
}
|
101776
101798
|
copyFrom(obj) {
|
101777
101799
|
this.paddings = new margins/* Margins */.m(obj.paddings.left, obj.paddings.right, obj.paddings.top, obj.paddings.bottom);
|
@@ -101779,6 +101801,8 @@ class ViewSettings {
|
|
101779
101801
|
this._widthOfPage = obj._widthOfPage;
|
101780
101802
|
this.fixedWidth = obj.fixedWidth;
|
101781
101803
|
this.showHorizontalRuler = obj.showHorizontalRuler;
|
101804
|
+
this.zoomLevel = obj.zoomLevel;
|
101805
|
+
this.allowZoom = obj.allowZoom;
|
101782
101806
|
this.pageVerticalInfo.copyFrom(obj.pageVerticalInfo);
|
101783
101807
|
}
|
101784
101808
|
}
|
@@ -102225,953 +102249,6 @@ const RendererClassNames = {
|
|
102225
102249
|
CURSOR_NO_BLINK_CLASS_NAME: "dxreSelNoblink",
|
102226
102250
|
};
|
102227
102251
|
|
102228
|
-
;// CONCATENATED MODULE: ./src/common/canvas/renderes/z-index-helper.ts
|
102229
|
-
var zIndexCssClassType;
|
102230
|
-
(function (zIndexCssClassType) {
|
102231
|
-
zIndexCssClassType[zIndexCssClassType["TextBoxBg"] = 0] = "TextBoxBg";
|
102232
|
-
zIndexCssClassType[zIndexCssClassType["TblRowBg"] = 1] = "TblRowBg";
|
102233
|
-
zIndexCssClassType[zIndexCssClassType["TblCellBg"] = 2] = "TblCellBg";
|
102234
|
-
zIndexCssClassType[zIndexCssClassType["ParBg"] = 3] = "ParBg";
|
102235
|
-
zIndexCssClassType[zIndexCssClassType["BoxBg"] = 4] = "BoxBg";
|
102236
|
-
zIndexCssClassType[zIndexCssClassType["FieldBg"] = 5] = "FieldBg";
|
102237
|
-
zIndexCssClassType[zIndexCssClassType["SelRange"] = 6] = "SelRange";
|
102238
|
-
zIndexCssClassType[zIndexCssClassType["BoxSpace"] = 7] = "BoxSpace";
|
102239
|
-
zIndexCssClassType[zIndexCssClassType["SelSearch"] = 8] = "SelSearch";
|
102240
|
-
zIndexCssClassType[zIndexCssClassType["SelRow"] = 9] = "SelRow";
|
102241
|
-
zIndexCssClassType[zIndexCssClassType["Box"] = 10] = "Box";
|
102242
|
-
zIndexCssClassType[zIndexCssClassType["Bookmark"] = 11] = "Bookmark";
|
102243
|
-
zIndexCssClassType[zIndexCssClassType["TableBorder"] = 12] = "TableBorder";
|
102244
|
-
zIndexCssClassType[zIndexCssClassType["SelMissp"] = 13] = "SelMissp";
|
102245
|
-
zIndexCssClassType[zIndexCssClassType["SelCursor"] = 14] = "SelCursor";
|
102246
|
-
zIndexCssClassType[zIndexCssClassType["SelTouchBar"] = 15] = "SelTouchBar";
|
102247
|
-
zIndexCssClassType[zIndexCssClassType["TblCursor"] = 16] = "TblCursor";
|
102248
|
-
zIndexCssClassType[zIndexCssClassType["AnchoredPicture"] = 17] = "AnchoredPicture";
|
102249
|
-
zIndexCssClassType[zIndexCssClassType["TextBox"] = 18] = "TextBox";
|
102250
|
-
})(zIndexCssClassType || (zIndexCssClassType = {}));
|
102251
|
-
class ZIndexHelper {
|
102252
|
-
static getClassName(level, zIndexCssNames) {
|
102253
|
-
return `dxre${ZIndexHelper.names[zIndexCssNames]}ZL${level}`;
|
102254
|
-
}
|
102255
|
-
}
|
102256
|
-
ZIndexHelper.names = {
|
102257
|
-
[zIndexCssClassType.TextBoxBg]: "TextBoxBg",
|
102258
|
-
[zIndexCssClassType.TblRowBg]: "TblRowBg",
|
102259
|
-
[zIndexCssClassType.TblCellBg]: "TblCellBg",
|
102260
|
-
[zIndexCssClassType.ParBg]: "ParBg",
|
102261
|
-
[zIndexCssClassType.BoxBg]: "BoxBg",
|
102262
|
-
[zIndexCssClassType.FieldBg]: "FieldBg",
|
102263
|
-
[zIndexCssClassType.SelRange]: "SelRange",
|
102264
|
-
[zIndexCssClassType.BoxSpace]: "BoxSpace",
|
102265
|
-
[zIndexCssClassType.SelSearch]: "SelSearch",
|
102266
|
-
[zIndexCssClassType.SelRow]: "SelRow",
|
102267
|
-
[zIndexCssClassType.Box]: "Box",
|
102268
|
-
[zIndexCssClassType.Bookmark]: "Bookmark",
|
102269
|
-
[zIndexCssClassType.TableBorder]: "TableBorder",
|
102270
|
-
[zIndexCssClassType.SelMissp]: "SelMissp",
|
102271
|
-
[zIndexCssClassType.SelCursor]: "SelCursor",
|
102272
|
-
[zIndexCssClassType.SelTouchBar]: "SelTouchBar",
|
102273
|
-
[zIndexCssClassType.TblCursor]: "TblCursor",
|
102274
|
-
[zIndexCssClassType.AnchoredPicture]: "AnchoredPicture",
|
102275
|
-
[zIndexCssClassType.TextBox]: "TextBox",
|
102276
|
-
};
|
102277
|
-
|
102278
|
-
;// CONCATENATED MODULE: ./src/common/canvas/utils.ts
|
102279
|
-
class CanvasUtils {
|
102280
|
-
static buildHyperlinkTipString(hyperlinkTip, clickText, settings) {
|
102281
|
-
if (!hyperlinkTip)
|
102282
|
-
hyperlinkTip = "";
|
102283
|
-
return settings.createHyperlinkTooltip(hyperlinkTip, `\nCtrl + ${clickText}`).replace(/['|"]/g, """);
|
102284
|
-
}
|
102285
|
-
}
|
102286
|
-
|
102287
|
-
;// CONCATENATED MODULE: ./src/common/canvas/renderes/common/document-renderer.ts
|
102288
|
-
|
102289
|
-
|
102290
|
-
|
102291
|
-
|
102292
|
-
|
102293
|
-
|
102294
|
-
|
102295
|
-
|
102296
|
-
|
102297
|
-
|
102298
|
-
|
102299
|
-
|
102300
|
-
|
102301
|
-
|
102302
|
-
|
102303
|
-
|
102304
|
-
|
102305
|
-
|
102306
|
-
|
102307
|
-
|
102308
|
-
|
102309
|
-
|
102310
|
-
|
102311
|
-
|
102312
|
-
|
102313
|
-
|
102314
|
-
|
102315
|
-
|
102316
|
-
|
102317
|
-
|
102318
|
-
class SimpleViewCanvasSizeManager {
|
102319
|
-
constructor(canvasManager, control) {
|
102320
|
-
this.size = new geometry_size.Size(0, 0);
|
102321
|
-
this.isSizeObserving = false;
|
102322
|
-
this.sizeUpdated = false;
|
102323
|
-
this.resizeFrameId = null;
|
102324
|
-
this.canvasManager = canvasManager;
|
102325
|
-
this.control = control;
|
102326
|
-
this.resizeObserver = new ResizeObserver(() => {
|
102327
|
-
this.sizeUpdated = false;
|
102328
|
-
this.resizeFrameId = requestAnimationFrame(() => {
|
102329
|
-
if (!this.sizeUpdated)
|
102330
|
-
this.changeSize(false);
|
102331
|
-
this.sizeUpdated = true;
|
102332
|
-
this.resizeFrameId = null;
|
102333
|
-
});
|
102334
|
-
});
|
102335
|
-
}
|
102336
|
-
dispose() {
|
102337
|
-
if (this.resizeFrameId)
|
102338
|
-
cancelAnimationFrame(this.resizeFrameId);
|
102339
|
-
this.resizeFrameId = null;
|
102340
|
-
this.resizeObserver.disconnect();
|
102341
|
-
}
|
102342
|
-
changeSize(force) {
|
102343
|
-
const curr = new geometry_size.Size(this.canvasManager.getCanvasWidth(), this.canvasManager.controlHeightProvider.getVisibleAreaHeight(false));
|
102344
|
-
if (force || !curr.equals(this.size)) {
|
102345
|
-
this.size = curr;
|
102346
|
-
this.changeSizeCore();
|
102347
|
-
}
|
102348
|
-
}
|
102349
|
-
setViewMode(val) {
|
102350
|
-
if (val) {
|
102351
|
-
this.changeSize(true);
|
102352
|
-
if (!this.isSizeObserving) {
|
102353
|
-
this.resizeObserver.observe(this.canvasManager.canvas);
|
102354
|
-
this.isSizeObserving = true;
|
102355
|
-
}
|
102356
|
-
}
|
102357
|
-
else {
|
102358
|
-
if (this.isSizeObserving) {
|
102359
|
-
this.resizeObserver.unobserve(this.canvasManager.canvas);
|
102360
|
-
this.isSizeObserving = false;
|
102361
|
-
}
|
102362
|
-
this.changeSizeCore();
|
102363
|
-
}
|
102364
|
-
this.sizeUpdated = true;
|
102365
|
-
}
|
102366
|
-
changeSizeCore() {
|
102367
|
-
{
|
102368
|
-
utils_list.ListUtils.forEach(this.control.viewManager.cache, (_val) => this.control.viewManager.renderer.removePage(1), 1);
|
102369
|
-
this.control.viewManager.ensureFirstPageIsRendered();
|
102370
|
-
this.control.innerClientProperties.viewsSettings.widthOfPage = this.canvasManager.getCanvasWidth();
|
102371
|
-
if (this.control.layoutFormatterManager) {
|
102372
|
-
this.control.layoutFormatterManager.invalidator.onChangedAllLayout();
|
102373
|
-
this.control.selection.scrollManager.setScroll(new ScrollState().byModelPosition(this.control.selection)
|
102374
|
-
.setModelPosition(this.control.selection.lastSelectedInterval.start).useStdRelativePosition().useStdOffset());
|
102375
|
-
}
|
102376
|
-
this.control.owner.adjustControl();
|
102377
|
-
this.control.horizontalRulerControl.update();
|
102378
|
-
}
|
102379
|
-
}
|
102380
|
-
}
|
102381
|
-
class DocumentRenderer {
|
102382
|
-
get cache() { return this.viewManager.cache; }
|
102383
|
-
constructor(viewManager) {
|
102384
|
-
this.viewManager = viewManager;
|
102385
|
-
if (this.viewManager.innerClientProperties.viewsSettings.isSimpleView)
|
102386
|
-
dom.DomUtils.addClassName(this.viewManager.canvas, RendererClassNames.SIMPLE_VIEW);
|
102387
|
-
}
|
102388
|
-
onViewTypeChanged() {
|
102389
|
-
switch (this.viewManager.innerClientProperties.viewsSettings.viewType) {
|
102390
|
-
case ViewType.Simple:
|
102391
|
-
dom.DomUtils.addClassName(this.viewManager.canvas, RendererClassNames.SIMPLE_VIEW);
|
102392
|
-
break;
|
102393
|
-
case ViewType.PrintLayout:
|
102394
|
-
dom.DomUtils.removeClassName(this.viewManager.canvas, RendererClassNames.SIMPLE_VIEW);
|
102395
|
-
break;
|
102396
|
-
}
|
102397
|
-
}
|
102398
|
-
applyPageChange(layoutPage, pageChange) {
|
102399
|
-
Log.print(LogSource.DocumentRenderer, "applyPageChanges", `pageIndex ${pageChange.index}`);
|
102400
|
-
const pageFromCache = this.cache[pageChange.index];
|
102401
|
-
for (let pageAreaChange of pageChange.mainPageAreaChanges)
|
102402
|
-
this.applyMainPageAreaChange(pageFromCache, layoutPage, pageAreaChange);
|
102403
|
-
for (let pageAreaChange of pageChange.otherPageAreaChanges)
|
102404
|
-
this.applyOtherPageAreaChange(pageFromCache, layoutPage, pageAreaChange);
|
102405
|
-
for (let anchoredPictureChange of pageChange.anchoredPictureChanges)
|
102406
|
-
this.applyAnchorPictureChange(pageFromCache, layoutPage, anchoredPictureChange);
|
102407
|
-
}
|
102408
|
-
applyAnchorPictureChange(cache, layoutPage, ancPicChange) {
|
102409
|
-
const objId = ancPicChange.index;
|
102410
|
-
switch (ancPicChange.changeType) {
|
102411
|
-
case LayoutChangeType.Deleted: {
|
102412
|
-
DocumentRenderer.removeFromContainerByObject(objId, DocumentRenderer.getAnchoredObjectsContainer(cache.page), cache.anchoredPicture);
|
102413
|
-
break;
|
102414
|
-
}
|
102415
|
-
case LayoutChangeType.Replaced: {
|
102416
|
-
const obj = layoutPage.anchoredObjectHolder.getObjById(objId);
|
102417
|
-
DocumentRenderer.replaceFromContainerByObject(objId, DocumentRenderer.getAnchoredObjectsContainer(cache.page), cache.anchoredPicture, this.renderFloatingPicture(obj, layoutPage.renderLevelCalculator));
|
102418
|
-
break;
|
102419
|
-
}
|
102420
|
-
case LayoutChangeType.Updated: {
|
102421
|
-
break;
|
102422
|
-
}
|
102423
|
-
case LayoutChangeType.Inserted: {
|
102424
|
-
const obj = layoutPage.anchoredObjectHolder.getObjById(objId);
|
102425
|
-
DocumentRenderer.insertToContainerByObject(objId, DocumentRenderer.getAnchoredObjectsContainer(cache.page), cache.anchoredPicture, this.renderFloatingPicture(obj, layoutPage.renderLevelCalculator));
|
102426
|
-
break;
|
102427
|
-
}
|
102428
|
-
default: throw new Error(lib_errors/* Errors */.D.InternalException);
|
102429
|
-
}
|
102430
|
-
}
|
102431
|
-
applyMainPageAreaChange(pageCache, layoutPage, pageAreaChange) {
|
102432
|
-
switch (pageAreaChange.changeType) {
|
102433
|
-
case LayoutChangeType.Deleted:
|
102434
|
-
DocumentRenderer.removeFromContainerByIndex(pageCache.page, pageAreaChange.canvasIndex, DocumentRenderer.getMainPageAreaContainerCore);
|
102435
|
-
break;
|
102436
|
-
case LayoutChangeType.Replaced:
|
102437
|
-
DocumentRenderer.replaceInContainer(pageCache.page, pageAreaChange.canvasIndex, this.renderPageArea(layoutPage.renderLevelCalculator, pageCache, layoutPage.mainSubDocumentPageAreas[pageAreaChange.layoutIndex], null), DocumentRenderer.getMainPageAreaContainerCore);
|
102438
|
-
break;
|
102439
|
-
case LayoutChangeType.Updated: {
|
102440
|
-
const layoutPageArea = layoutPage.mainSubDocumentPageAreas[pageAreaChange.layoutIndex];
|
102441
|
-
const pageAreaElement = DocumentRenderer.getMainPageAreaContainerCore(pageCache.page).childNodes[pageAreaChange.canvasIndex];
|
102442
|
-
for (let columnChange of pageAreaChange.columnChanges)
|
102443
|
-
this.applyColumnChange(pageAreaElement, layoutPageArea, columnChange, layoutPage.renderLevelCalculator.renderMainPageAreaLevel);
|
102444
|
-
break;
|
102445
|
-
}
|
102446
|
-
default: throw new Error(lib_errors/* Errors */.D.InternalException);
|
102447
|
-
}
|
102448
|
-
}
|
102449
|
-
applyOtherPageAreaChange(cache, layoutPage, pageAreaChange) {
|
102450
|
-
const subDocId = pageAreaChange.index;
|
102451
|
-
const pageArea = layoutPage.otherPageAreas[subDocId];
|
102452
|
-
switch (pageAreaChange.changeType) {
|
102453
|
-
case LayoutChangeType.Deleted: {
|
102454
|
-
DocumentRenderer.removeFromContainerByObject(subDocId, DocumentRenderer.getOtherPageAreaContainerCore(cache.page), cache.otherAreas);
|
102455
|
-
DocumentRenderer.removeFromContainerByObject(subDocId, DocumentRenderer.getTextBoxBackgroundContainer(cache.page), cache.textBoxBgElements);
|
102456
|
-
break;
|
102457
|
-
}
|
102458
|
-
case LayoutChangeType.Replaced: {
|
102459
|
-
DocumentRenderer.replaceFromContainerByObject(subDocId, DocumentRenderer.getOtherPageAreaContainerCore(cache.page), cache.otherAreas, this.renderPageArea(layoutPage.renderLevelCalculator, cache, pageArea, pageArea.subDocument.isTextBox() ? layoutPage.anchoredObjectHolder.getTextBoxByInternalSubDocId(subDocId) : null));
|
102460
|
-
break;
|
102461
|
-
}
|
102462
|
-
case LayoutChangeType.Updated: {
|
102463
|
-
const pageAreaElement = cache.otherAreas[subDocId];
|
102464
|
-
const level = pageArea.subDocument.isTextBox() ?
|
102465
|
-
layoutPage.renderLevelCalculator.getRenderLevel(layoutPage.anchoredObjectHolder.getTextBoxByInternalSubDocId(subDocId).rendererLevel) :
|
102466
|
-
layoutPage.renderLevelCalculator.renderHeaderFooterPageAreasLevel;
|
102467
|
-
for (let columnChange of pageAreaChange.columnChanges)
|
102468
|
-
this.applyColumnChange(pageAreaElement, pageArea, columnChange, level);
|
102469
|
-
break;
|
102470
|
-
}
|
102471
|
-
case LayoutChangeType.Inserted: {
|
102472
|
-
DocumentRenderer.insertToContainerByObject(subDocId, DocumentRenderer.getOtherPageAreaContainerCore(cache.page), cache.otherAreas, this.renderPageArea(layoutPage.renderLevelCalculator, cache, pageArea, pageArea.subDocument.isTextBox() ? layoutPage.anchoredObjectHolder.getTextBoxByInternalSubDocId(subDocId) : null));
|
102473
|
-
break;
|
102474
|
-
}
|
102475
|
-
default: throw new Error(lib_errors/* Errors */.D.InternalException);
|
102476
|
-
}
|
102477
|
-
}
|
102478
|
-
applyColumnChange(pageAreaElement, layoutPageArea, columnChange, level) {
|
102479
|
-
switch (columnChange.changeType) {
|
102480
|
-
case LayoutChangeType.Deleted:
|
102481
|
-
DocumentRenderer.removeFromContainerByIndex(pageAreaElement, columnChange.canvasIndex, DocumentRenderer.getColumnsContainerCore);
|
102482
|
-
break;
|
102483
|
-
case LayoutChangeType.Replaced: {
|
102484
|
-
const renderedColumn = this.renderColumn(layoutPageArea.columns[columnChange.layoutIndex], level, layoutPageArea.subDocument.isMain());
|
102485
|
-
DocumentRenderer.replaceInContainer(pageAreaElement, columnChange.canvasIndex, renderedColumn, DocumentRenderer.getColumnsContainerCore);
|
102486
|
-
break;
|
102487
|
-
}
|
102488
|
-
case LayoutChangeType.Updated: {
|
102489
|
-
const layoutColumn = layoutPageArea.columns[columnChange.layoutIndex];
|
102490
|
-
const columnElement = DocumentRenderer.getColumnsContainerCore(pageAreaElement).childNodes[columnChange.canvasIndex];
|
102491
|
-
for (var rowChange of columnChange.rowChanges)
|
102492
|
-
DocumentRenderer.applyChange(columnElement, rowChange, DocumentRenderer.getRowsContainerCore, () => this.renderRow(layoutColumn.rows[rowChange.layoutIndex], level));
|
102493
|
-
for (var tableChange of columnChange.tableChanges)
|
102494
|
-
DocumentRenderer.applyChange(columnElement, tableChange, DocumentRenderer.getTablesContainerCore, () => DocumentRenderer.renderTable(layoutColumn.tablesInfo[tableChange.layoutIndex], level, this.viewManager.innerClientProperties.showTableGridLines));
|
102495
|
-
for (var paragraphFrameChange of columnChange.paragraphFrameChanges)
|
102496
|
-
DocumentRenderer.applyChange(columnElement, paragraphFrameChange, DocumentRenderer.getParagraphFramesContainerCore, () => DocumentRenderer.renderParagraphFrame(layoutColumn.paragraphFrames[paragraphFrameChange.layoutIndex], level));
|
102497
|
-
break;
|
102498
|
-
}
|
102499
|
-
case LayoutChangeType.Inserted: {
|
102500
|
-
const renderedColumn = this.renderColumn(layoutPageArea.columns[columnChange.layoutIndex], level, layoutPageArea.subDocument.isMain());
|
102501
|
-
DocumentRenderer.insertInContainer(pageAreaElement, columnChange.canvasIndex, renderedColumn, DocumentRenderer.getColumnsContainerCore);
|
102502
|
-
break;
|
102503
|
-
}
|
102504
|
-
default: throw new Error(lib_errors/* Errors */.D.InternalException);
|
102505
|
-
}
|
102506
|
-
}
|
102507
|
-
static applyChange(topLevelNode, change, getContainer, getRenderedElement) {
|
102508
|
-
switch (change.changeType) {
|
102509
|
-
case LayoutChangeType.Deleted:
|
102510
|
-
DocumentRenderer.removeFromContainerByIndex(topLevelNode, change.canvasIndex, getContainer);
|
102511
|
-
break;
|
102512
|
-
case LayoutChangeType.Replaced:
|
102513
|
-
DocumentRenderer.replaceInContainer(topLevelNode, change.canvasIndex, getRenderedElement(), getContainer);
|
102514
|
-
break;
|
102515
|
-
case LayoutChangeType.Inserted:
|
102516
|
-
DocumentRenderer.insertInContainer(topLevelNode, change.canvasIndex, getRenderedElement(), getContainer);
|
102517
|
-
break;
|
102518
|
-
case LayoutChangeType.Updated:
|
102519
|
-
break;
|
102520
|
-
default: throw new Error(lib_errors/* Errors */.D.InternalException);
|
102521
|
-
}
|
102522
|
-
}
|
102523
|
-
getPageRender(layoutPageIndex, layoutPage) {
|
102524
|
-
const cachedPage = this.cache[layoutPageIndex].page;
|
102525
|
-
if (!DocumentRenderer.isPageElementConsiderAllContainers(cachedPage))
|
102526
|
-
this.renderPageContent(layoutPage, layoutPageIndex);
|
102527
|
-
return this.cache[layoutPageIndex].page;
|
102528
|
-
}
|
102529
|
-
renderPage(layoutPage, layoutPageIndex, renderInnerContent) {
|
102530
|
-
layoutPage.flags.set(LayoutPageFlags.IsSelectionRendered, false);
|
102531
|
-
layoutPage.flags.set(LayoutPageFlags.IsMisspelledSelectionRendered, false);
|
102532
|
-
layoutPage.flags.set(LayoutPageFlags.IsRangePermissionsRendered, false);
|
102533
|
-
let pageCache = this.cache[layoutPageIndex];
|
102534
|
-
if (pageCache) {
|
102535
|
-
const pageElement = pageCache.page;
|
102536
|
-
this.updatePageClasses(pageElement);
|
102537
|
-
this.updatePageSize(layoutPage, pageElement);
|
102538
|
-
DocumentRenderer.updatePageColor(pageElement, this.viewManager.layout.pageColor);
|
102539
|
-
if (!DocumentRenderer.isPageElementEmpty(pageElement))
|
102540
|
-
this.removePageContent(layoutPageIndex);
|
102541
|
-
}
|
102542
|
-
else {
|
102543
|
-
const pageElement = DocumentRenderer.renderContainer("");
|
102544
|
-
pageElement.appendChild(DocumentRenderer.renderContainer(RendererClassNames.SERVICE_CONTAINER));
|
102545
|
-
DocumentRenderer.updatePageColor(pageElement, this.viewManager.layout.pageColor);
|
102546
|
-
this.updatePageClasses(pageElement);
|
102547
|
-
this.updatePageSize(layoutPage, pageElement);
|
102548
|
-
DocumentRenderer.insertInContainer(this.viewManager.pagesContainer, layoutPageIndex, pageElement, (node) => node);
|
102549
|
-
this.cache.splice(layoutPageIndex, 0, new DocumentRendererPageCache(pageElement));
|
102550
|
-
}
|
102551
|
-
if (renderInnerContent)
|
102552
|
-
this.renderPageContent(layoutPage, layoutPageIndex);
|
102553
|
-
}
|
102554
|
-
removePage(pageIndex) {
|
102555
|
-
const pageCache = this.cache[pageIndex];
|
102556
|
-
if (pageCache) {
|
102557
|
-
pageCache.page.parentNode.removeChild(pageCache.page);
|
102558
|
-
this.cache.splice(pageIndex, 1);
|
102559
|
-
}
|
102560
|
-
}
|
102561
|
-
updatePageSize(page, pageElement) {
|
102562
|
-
if (pageElement.offsetHeight != page.height || pageElement.offsetWidth != page.width)
|
102563
|
-
dom.DomUtils.setStyleSize(pageElement.style, page);
|
102564
|
-
}
|
102565
|
-
updatePageClasses(pageElement) {
|
102566
|
-
pageElement.className = RendererClassNames.PAGE;
|
102567
|
-
if (this.viewManager.innerClientProperties.viewsSettings.isSimpleView &&
|
102568
|
-
!this.viewManager.innerClientProperties.viewsSettings.isFixedWidthMode)
|
102569
|
-
dom.DomUtils.addClassName(pageElement, RendererClassNames.SIMPLE_PAGE_FLOW_MODE);
|
102570
|
-
}
|
102571
|
-
removePageContent(pageIndex) {
|
102572
|
-
const pageCache = this.cache[pageIndex];
|
102573
|
-
if (pageCache)
|
102574
|
-
pageCache.removeContent();
|
102575
|
-
}
|
102576
|
-
renderPageContainers(pageCache) {
|
102577
|
-
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.SELECTION_CONTAINER));
|
102578
|
-
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.SEARCH_SELECTION_CONTAINER));
|
102579
|
-
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.MISSPELLED_SELECTION_CONTAINER));
|
102580
|
-
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.RANGE_PERMISSIONS_CONTAINER));
|
102581
|
-
const result = [
|
102582
|
-
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.MAIN_PAGE_AREA_CONTAINER)),
|
102583
|
-
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.OTHER_PAGE_AREA_CONTAINER)),
|
102584
|
-
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.FLOATING_OBJECTS_CONTAINER))
|
102585
|
-
];
|
102586
|
-
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.SHAPE_BG_CONTAINER));
|
102587
|
-
return result;
|
102588
|
-
}
|
102589
|
-
renderPageContent(page, pageIndex) {
|
102590
|
-
const pageCache = this.cache[pageIndex];
|
102591
|
-
const [mainPageAreasContainer, otherPageAreasContainer, floatingObjectsContainer] = this.renderPageContainers(pageCache);
|
102592
|
-
utils_list.ListUtils.forEach(page.mainSubDocumentPageAreas, (area) => mainPageAreasContainer.appendChild(this.renderPageArea(page.renderLevelCalculator, pageCache, area, null)));
|
102593
|
-
if (!this.viewManager.innerClientProperties.viewsSettings.isSimpleView)
|
102594
|
-
number/* NumberMapUtils */.j.forEach(page.otherPageAreas, (pageArea, subDocId) => {
|
102595
|
-
if (!pageArea.subDocument.isTextBox())
|
102596
|
-
DocumentRenderer.insertToContainerByObject(subDocId, otherPageAreasContainer, pageCache.otherAreas, this.renderPageArea(page.renderLevelCalculator, pageCache, pageArea, null));
|
102597
|
-
});
|
102598
|
-
for (let ancObjProps of this.renderPageContentGetFloatingObjects(page)) {
|
102599
|
-
switch (ancObjProps.getType()) {
|
102600
|
-
case LayoutBoxType.AnchorTextBox:
|
102601
|
-
const internalSubDocId = ancObjProps.internalSubDocId;
|
102602
|
-
DocumentRenderer.insertToContainerByObject(internalSubDocId, otherPageAreasContainer, pageCache.otherAreas, this.renderPageArea(page.renderLevelCalculator, pageCache, page.otherPageAreas[internalSubDocId], ancObjProps));
|
102603
|
-
break;
|
102604
|
-
case LayoutBoxType.AnchorPicture:
|
102605
|
-
DocumentRenderer.insertToContainerByObject(ancObjProps.objectId, floatingObjectsContainer, pageCache.anchoredPicture, this.renderFloatingPicture(ancObjProps, page.renderLevelCalculator));
|
102606
|
-
break;
|
102607
|
-
}
|
102608
|
-
}
|
102609
|
-
}
|
102610
|
-
static updatePageColor(pageElement, newColor) {
|
102611
|
-
const newStringColor = utils_color/* ColorUtils */.i.colorToHash(newColor);
|
102612
|
-
if (pageElement.style.backgroundColor != newStringColor)
|
102613
|
-
pageElement.style.backgroundColor = ColorHelper.isEmptyBgColor(newColor) ? "" : newStringColor;
|
102614
|
-
}
|
102615
|
-
static getPageAreaClassname(area) {
|
102616
|
-
switch (area.subDocument.info.getType()) {
|
102617
|
-
case SubDocumentInfoType.Main:
|
102618
|
-
case SubDocumentInfoType.Header:
|
102619
|
-
case SubDocumentInfoType.Footer:
|
102620
|
-
return RendererClassNames.PAGE_AREA;
|
102621
|
-
case SubDocumentInfoType.TextBox:
|
102622
|
-
return `${RendererClassNames.PAGE_AREA} ${RendererClassNames.FLOATING_OBJECT_TEXT_BOX_AREA}`;
|
102623
|
-
}
|
102624
|
-
throw new Error(lib_errors/* Errors */.D.InternalException);
|
102625
|
-
}
|
102626
|
-
renderPageArea(renderLevelCalculator, pageCache, area, textBox, renderContent = true) {
|
102627
|
-
const element = DocumentRenderer.renderContainer(DocumentRenderer.getPageAreaClassname(area));
|
102628
|
-
if (area.subDocument.isTextBox())
|
102629
|
-
element.style.overflow = "hidden";
|
102630
|
-
dom.DomUtils.setStyleSizeAndPosition(element.style, area);
|
102631
|
-
let level;
|
102632
|
-
switch (area.subDocument.info.getType()) {
|
102633
|
-
case SubDocumentInfoType.TextBox:
|
102634
|
-
level = renderLevelCalculator.getRenderLevel(textBox.rendererLevel);
|
102635
|
-
break;
|
102636
|
-
case SubDocumentInfoType.Footer:
|
102637
|
-
case SubDocumentInfoType.Header:
|
102638
|
-
level = renderLevelCalculator.renderHeaderFooterPageAreasLevel;
|
102639
|
-
break;
|
102640
|
-
case SubDocumentInfoType.Main:
|
102641
|
-
level = renderLevelCalculator.renderMainPageAreaLevel;
|
102642
|
-
break;
|
102643
|
-
default: throw new Error(lib_errors/* Errors */.D.NotImplemented);
|
102644
|
-
}
|
102645
|
-
if (area.subDocument.isTextBox()) {
|
102646
|
-
const textBoxShapeInfo = DocumentRenderer.renderContainer(RendererClassNames.TEXT_BOX_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.TextBoxBg));
|
102647
|
-
const oldBgElem = pageCache.textBoxBgElements[area.subDocument.id];
|
102648
|
-
if (oldBgElem)
|
102649
|
-
dom.DomUtils.hideNode(oldBgElem);
|
102650
|
-
pageCache.textBoxBgElements[area.subDocument.id] = textBoxShapeInfo;
|
102651
|
-
DocumentRenderer.setShapePropertiesToElement(textBoxShapeInfo, textBox.shape, true);
|
102652
|
-
dom.DomUtils.setStyleSize(textBoxShapeInfo.style, area);
|
102653
|
-
dom.DomUtils.setStylePosition(textBoxShapeInfo.style, textBox.getExtendedBounds());
|
102654
|
-
DocumentRenderer.setRotationInRadians(textBoxShapeInfo, textBox.rotationInRadians);
|
102655
|
-
DocumentRenderer.getTextBoxBackgroundContainer(pageCache.page).appendChild(textBoxShapeInfo);
|
102656
|
-
dom.DomUtils.setStylePosition(element.style, area);
|
102657
|
-
if (DocumentRenderer.setRotationInRadians(element, textBox.rotationInRadians))
|
102658
|
-
dom.DomUtils.addClassName(element, ZIndexHelper.getClassName(level, zIndexCssClassType.TextBox));
|
102659
|
-
}
|
102660
|
-
else {
|
102661
|
-
const color = ColorHelper.isEmptyBgColor(this.viewManager.layout.pageColor) ?
|
102662
|
-
utils_color/* ColorUtils */.i.LIGHT_COLOR : this.viewManager.layout.pageColor;
|
102663
|
-
DocumentRenderer.updatePageColor(element, color);
|
102664
|
-
}
|
102665
|
-
if (renderContent)
|
102666
|
-
for (let column of area.columns)
|
102667
|
-
element.appendChild(this.renderColumn(column, level, area.subDocument.isMain()));
|
102668
|
-
return element;
|
102669
|
-
}
|
102670
|
-
renderColumn(column, level, _isMainPageArea) {
|
102671
|
-
const columnElement = DocumentRenderer.renderContainer(RendererClassNames.COLUMN);
|
102672
|
-
dom.DomUtils.setStyleSizeAndPosition(columnElement.style, column);
|
102673
|
-
const rowsContainer = columnElement.appendChild(DocumentRenderer.renderContainer(RendererClassNames.ROWS_CONTAINER));
|
102674
|
-
const paragraphFramesContainer = columnElement.appendChild(DocumentRenderer.renderContainer(RendererClassNames.PARAGRAPHFRAMES_CONTAINER));
|
102675
|
-
const tablesContainer = columnElement.appendChild(DocumentRenderer.renderContainer(RendererClassNames.TABLES_CONTAINER));
|
102676
|
-
for (let row of column.rows)
|
102677
|
-
rowsContainer.appendChild(this.renderRow(row, level));
|
102678
|
-
for (let frame of column.paragraphFrames)
|
102679
|
-
paragraphFramesContainer.appendChild(DocumentRenderer.renderParagraphFrame(frame, level));
|
102680
|
-
for (let tableColumn of column.tablesInfo)
|
102681
|
-
tablesContainer.appendChild(DocumentRenderer.renderTable(tableColumn, level, this.viewManager.innerClientProperties.showTableGridLines));
|
102682
|
-
return columnElement;
|
102683
|
-
}
|
102684
|
-
renderRow(row, level) {
|
102685
|
-
const lastBoxIndexWhatCanStrikeoutAndUnderline = row.getLastBoxIndexWhatCanStrikeoutAndUnderline();
|
102686
|
-
const rowElement = DocumentRenderer.renderContainer(RendererClassNames.ROW);
|
102687
|
-
rowElement.innerHTML = "";
|
102688
|
-
if (row.numberingListBox) {
|
102689
|
-
let box = this.renderBox(row, row.numberingListBox.textBox, 0 > lastBoxIndexWhatCanStrikeoutAndUnderline, level).html;
|
102690
|
-
if (typeof box === 'string')
|
102691
|
-
rowElement.innerHTML += box;
|
102692
|
-
else
|
102693
|
-
rowElement.appendChild(box);
|
102694
|
-
if (row.numberingListBox.separatorBox) {
|
102695
|
-
let box = this.renderBox(row, row.numberingListBox.separatorBox, 0 > lastBoxIndexWhatCanStrikeoutAndUnderline, level).html;
|
102696
|
-
if (typeof box === 'string')
|
102697
|
-
rowElement.innerHTML += box;
|
102698
|
-
else
|
102699
|
-
rowElement.appendChild(box);
|
102700
|
-
}
|
102701
|
-
}
|
102702
|
-
let increaseRowHeight = false;
|
102703
|
-
for (let boxIndex = 0, box; box = row.boxes[boxIndex]; boxIndex++) {
|
102704
|
-
if (box.getType() == LayoutBoxType.AnchorTextBox || box.getType() == LayoutBoxType.AnchorPicture)
|
102705
|
-
continue;
|
102706
|
-
const boxRenderResult = this.renderBox(row, box, boxIndex > lastBoxIndexWhatCanStrikeoutAndUnderline, level);
|
102707
|
-
const boxRenderResultHtml = boxRenderResult.html;
|
102708
|
-
if (typeof boxRenderResultHtml === 'string')
|
102709
|
-
rowElement.innerHTML += boxRenderResultHtml;
|
102710
|
-
else
|
102711
|
-
rowElement.appendChild(boxRenderResultHtml);
|
102712
|
-
increaseRowHeight = increaseRowHeight || boxRenderResult.increaseRowHeight;
|
102713
|
-
}
|
102714
|
-
for (let bookmarkBox of row.bookmarkBoxes)
|
102715
|
-
rowElement.appendChild(DocumentRenderer.renderBookmark(bookmarkBox, level));
|
102716
|
-
dom.DomUtils.setStyleSizeAndPosition(rowElement.style, new rectangle.Rectangle(row.x, row.y + row.getSpacingBefore(), row.width, (row.height - row.getSpacingBefore()) + (increaseRowHeight ? 1 : 0)));
|
102717
|
-
return rowElement;
|
102718
|
-
}
|
102719
|
-
renderBox(row, box, noNeedUnderlineAndStrikeout, level) {
|
102720
|
-
let content = box.renderGetContent(this);
|
102721
|
-
let top = box.getTop(row);
|
102722
|
-
const left = box.x;
|
102723
|
-
if (box.characterProperties.script === CharacterFormattingScript.Subscript) {
|
102724
|
-
const multiplier = box.characterProperties.fontInfo.scriptMultiplier;
|
102725
|
-
top += unit_converter/* UnitConverter */.u.pointsToPixelsF(box.characterProperties.fontSize) * (box.characterProperties.fontInfo.subScriptOffset * multiplier - multiplier + 1);
|
102726
|
-
}
|
102727
|
-
const delta = box.height > row.height && top >= 0 ? math.MathUtils.round(box.height - row.height) * 3 / 4 : 0;
|
102728
|
-
let boxStyles = [];
|
102729
|
-
boxStyles.push("left: " + math.MathUtils.round(left, 3) + "px");
|
102730
|
-
boxStyles.push("top: " + math.MathUtils.round(top - delta, 3) + "px");
|
102731
|
-
const height = math.MathUtils.round(box.height, 3);
|
102732
|
-
boxStyles.push("height: " + height + "px");
|
102733
|
-
if (browser.Browser.MacOSPlatform || browser.Browser.MacOSMobilePlatform)
|
102734
|
-
boxStyles.push("line-height: " + height + "px");
|
102735
|
-
if (box.characterProperties.smallCaps)
|
102736
|
-
boxStyles.push("font-variant: small-caps");
|
102737
|
-
const props = box.renderGetCharacterProperties();
|
102738
|
-
const charProps = props.initProps;
|
102739
|
-
const colorProps = props.colorInfo;
|
102740
|
-
const underlineColor = colorProps.underlineColor;
|
102741
|
-
const strikeoutColor = colorProps.strikeoutColor;
|
102742
|
-
const textColor = colorProps.textColor;
|
102743
|
-
const needUnderline = !noNeedUnderlineAndStrikeout && (charProps.fontUnderlineType != UnderlineType.None) && (box.getType() != LayoutBoxType.Space || !charProps.underlineWordsOnly);
|
102744
|
-
const needStrikeout = !noNeedUnderlineAndStrikeout && (charProps.fontStrikeoutType != StrikeoutType.None) && (box.getType() != LayoutBoxType.Space || !charProps.strikeoutWordsOnly);
|
102745
|
-
const noStrikeoutAndUnderline = (needStrikeout && needUnderline) || (needStrikeout && strikeoutColor != ColorHelper.AUTOMATIC_COLOR) || (needUnderline && underlineColor != ColorHelper.AUTOMATIC_COLOR);
|
102746
|
-
let commonStyles;
|
102747
|
-
if (noStrikeoutAndUnderline) {
|
102748
|
-
commonStyles = HtmlConverter.getCssRules(charProps, textColor, box.renderIsWordBox(), noStrikeoutAndUnderline, true);
|
102749
|
-
boxStyles = boxStyles.concat(HtmlConverter.getSizeSignificantRules(charProps));
|
102750
|
-
boxStyles.push(HtmlConverter.getForeColorRule(textColor));
|
102751
|
-
const needColor = strikeoutColor != ColorHelper.AUTOMATIC_COLOR ||
|
102752
|
-
underlineColor != ColorHelper.AUTOMATIC_COLOR;
|
102753
|
-
if (needColor && (!needStrikeout || strikeoutColor != ColorHelper.AUTOMATIC_COLOR)) {
|
102754
|
-
const span = document.createElement('span');
|
102755
|
-
span.style.cssText = commonStyles.join(";") + ';color: ' + ColorHelper.getCssString(textColor, true);
|
102756
|
-
if (typeof content === 'string') {
|
102757
|
-
span.innerHTML = content;
|
102758
|
-
}
|
102759
|
-
else {
|
102760
|
-
span.appendChild(content);
|
102761
|
-
}
|
102762
|
-
content = span;
|
102763
|
-
}
|
102764
|
-
if (needStrikeout) {
|
102765
|
-
const strikeoutColorStyle = needColor ? ("color: " + ColorHelper.getCssString(strikeoutColor == ColorHelper.AUTOMATIC_COLOR ? textColor : strikeoutColor, true)) : "";
|
102766
|
-
const span = document.createElement('span');
|
102767
|
-
span.style.cssText = commonStyles.join(";") + ';text-decoration: line-through;' + strikeoutColorStyle;
|
102768
|
-
if (typeof content === 'string') {
|
102769
|
-
span.innerHTML = content;
|
102770
|
-
}
|
102771
|
-
else {
|
102772
|
-
span.appendChild(content);
|
102773
|
-
}
|
102774
|
-
content = span;
|
102775
|
-
}
|
102776
|
-
if (needUnderline) {
|
102777
|
-
const underlineColorStyle = needColor ? ("color: " + ColorHelper.getCssString(underlineColor == ColorHelper.AUTOMATIC_COLOR ? textColor : underlineColor, true)) : "";
|
102778
|
-
const span = document.createElement('span');
|
102779
|
-
span.style.cssText = commonStyles.join(";") + ';text-decoration: underline;' + underlineColorStyle;
|
102780
|
-
if (typeof content === 'string') {
|
102781
|
-
span.innerHTML = content;
|
102782
|
-
}
|
102783
|
-
else {
|
102784
|
-
span.appendChild(content);
|
102785
|
-
}
|
102786
|
-
content = span;
|
102787
|
-
}
|
102788
|
-
}
|
102789
|
-
else
|
102790
|
-
boxStyles = boxStyles.concat(HtmlConverter.getCssRules(charProps, textColor, box.renderIsWordBox(), noNeedUnderlineAndStrikeout, true));
|
102791
|
-
let boxClass = "";
|
102792
|
-
switch (box.getType()) {
|
102793
|
-
case LayoutBoxType.Text:
|
102794
|
-
case LayoutBoxType.LayoutDependent:
|
102795
|
-
case LayoutBoxType.FieldCodeEnd:
|
102796
|
-
case LayoutBoxType.FieldCodeStart:
|
102797
|
-
case LayoutBoxType.ColumnBreak:
|
102798
|
-
case LayoutBoxType.LineBreak:
|
102799
|
-
case LayoutBoxType.PageBreak:
|
102800
|
-
case LayoutBoxType.ParagraphMark:
|
102801
|
-
case LayoutBoxType.SectionMark:
|
102802
|
-
boxClass = RendererClassNames.BOX + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.Box);
|
102803
|
-
break;
|
102804
|
-
default:
|
102805
|
-
boxClass = RendererClassNames.BOX_SPACE + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.BoxSpace);
|
102806
|
-
}
|
102807
|
-
if (charProps.hidden && this.viewManager.innerClientProperties.showHiddenSymbols)
|
102808
|
-
boxClass += ' ' + RendererClassNames.HIDDEN_BOX;
|
102809
|
-
const result = new DocumentFragment();
|
102810
|
-
const contentSpan = document.createElement('span');
|
102811
|
-
contentSpan.style.cssText = boxStyles.join(";");
|
102812
|
-
contentSpan.setAttribute('class', boxClass);
|
102813
|
-
if (typeof content === 'string') {
|
102814
|
-
contentSpan.innerHTML = content;
|
102815
|
-
}
|
102816
|
-
else if (!!content) {
|
102817
|
-
contentSpan.appendChild(content);
|
102818
|
-
}
|
102819
|
-
result.appendChild(contentSpan);
|
102820
|
-
const backColor = colorProps.foregroundColor;
|
102821
|
-
if (box.fieldLevel && (backColor == ColorHelper.AUTOMATIC_COLOR || backColor == ColorHelper.NO_COLOR)) {
|
102822
|
-
let fieldBgClass = RendererClassNames.FIELD_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.FieldBg);
|
102823
|
-
switch (box.fieldLevel) {
|
102824
|
-
case 1:
|
102825
|
-
fieldBgClass += ' ' + RendererClassNames.FIELD_BOX_LEVEL1;
|
102826
|
-
break;
|
102827
|
-
case 2:
|
102828
|
-
fieldBgClass += ' ' + RendererClassNames.FIELD_BOX_LEVEL2;
|
102829
|
-
break;
|
102830
|
-
default: fieldBgClass += ' ' + RendererClassNames.FIELD_BOX_LEVEL3;
|
102831
|
-
}
|
102832
|
-
const span = document.createElement('span');
|
102833
|
-
span.setAttribute('class', fieldBgClass);
|
102834
|
-
span.style.cssText = 'top: ' + math.MathUtils.round(top, 3) + 'px; left: ' + math.MathUtils.round(left, 3) + 'px; width: ' +
|
102835
|
-
math.MathUtils.round(box.width, 3) + 'px; height: ' + math.MathUtils.round(box.height, 3) + 'px';
|
102836
|
-
result.appendChild(span);
|
102837
|
-
}
|
102838
|
-
if (utils_color/* ColorUtils */.i.getAlpha(backColor) > 0 && !noNeedUnderlineAndStrikeout) {
|
102839
|
-
const height = row.height - row.getSpacingAfter();
|
102840
|
-
const bgBoxStyle = "top: 0px; left: " + Math.floor(box.x) + "px; width: " + Math.ceil(box.width) + "px; height: " + math.MathUtils.round(height, 3) +
|
102841
|
-
"px; background: " + ColorHelper.getCssStringInternal(backColor) + ";";
|
102842
|
-
const span = document.createElement('span');
|
102843
|
-
span.setAttribute('class', RendererClassNames.BOX_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.BoxBg));
|
102844
|
-
span.style.cssText = bgBoxStyle;
|
102845
|
-
result.appendChild(span);
|
102846
|
-
}
|
102847
|
-
if (box.hyperlinkTip) {
|
102848
|
-
const tip = CanvasUtils.buildHyperlinkTipString(box.hyperlinkTip, this.viewManager.stringResources.commonLabels.clickToFollowHyperlink, this.viewManager.fieldOptions);
|
102849
|
-
if (tip) {
|
102850
|
-
const span = document.createElement('span');
|
102851
|
-
span.setAttribute('title', tip);
|
102852
|
-
result.replaceChild(span, contentSpan);
|
102853
|
-
span.appendChild(contentSpan);
|
102854
|
-
}
|
102855
|
-
}
|
102856
|
-
return new BoxRenderResult(result, charProps.hidden);
|
102857
|
-
}
|
102858
|
-
static renderBookmark(box, level) {
|
102859
|
-
const className = (box.boxType == LayoutBookmarkBoxType.StartBox ?
|
102860
|
-
RendererClassNames.START_BOOKMARK :
|
102861
|
-
RendererClassNames.END_BOOKMARK) + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.Bookmark);
|
102862
|
-
const div = document.createElement('div');
|
102863
|
-
div.setAttribute('class', className);
|
102864
|
-
div.style.cssText = `width: ${math.MathUtils.round(box.width, 3)}px; height: ${math.MathUtils.round(box.height, 3)}px; ` +
|
102865
|
-
`left: ${math.MathUtils.round(box.x, 3)}px; top: ${math.MathUtils.round(box.y, 3)}px; border-color: ${box.color}`;
|
102866
|
-
return div;
|
102867
|
-
}
|
102868
|
-
renderPicture(box) {
|
102869
|
-
return this.renderPictureBoxContent(box.createSize(), box.cacheInfo, box.hyperlinkTip, box.description);
|
102870
|
-
}
|
102871
|
-
renderFloatingPicture(box, renderLevelCalculator) {
|
102872
|
-
const element = DocumentRenderer.renderContainer(RendererClassNames.ANCHORED_PICTURE + " " + ZIndexHelper.getClassName(renderLevelCalculator.getRenderLevel(box.rendererLevel), zIndexCssClassType.AnchoredPicture));
|
102873
|
-
dom.DomUtils.setStyleSize(element.style, box);
|
102874
|
-
dom.DomUtils.setStylePosition(element.style, new geometry_point.Point(box.x - box.shape.outlineWidth, box.y - box.shape.outlineWidth));
|
102875
|
-
DocumentRenderer.setShapePropertiesToElement(element, box.shape, false);
|
102876
|
-
DocumentRenderer.setRotationInRadians(element, box.rotationInRadians);
|
102877
|
-
const content = box.renderGetContent(this);
|
102878
|
-
element.innerHTML = '';
|
102879
|
-
if (typeof content === 'string') {
|
102880
|
-
element.innerHTML = content;
|
102881
|
-
}
|
102882
|
-
else {
|
102883
|
-
element.appendChild(content);
|
102884
|
-
}
|
102885
|
-
return element;
|
102886
|
-
}
|
102887
|
-
static setShapePropertiesToElement(element, shape, isTextBox) {
|
102888
|
-
element.style.backgroundColor = ColorHelper.getCssStringInternal(shape.fillColor);
|
102889
|
-
element.style.borderStyle = DocumentRenderer.borderTypeToString(BorderLineStyle.Single);
|
102890
|
-
element.style.borderColor = ColorHelper.getCssString(shape.outlineColor, false);
|
102891
|
-
element.style.borderWidth = Math.max(isTextBox ? 1 : 0, shape.outlineWidth).toString() + "px";
|
102892
|
-
element.style.boxSizing = "content-box";
|
102893
|
-
}
|
102894
|
-
static setRotationInRadians(element, rotation) {
|
102895
|
-
const isSetRotation = rotation != 0;
|
102896
|
-
element.style.transform = isSetRotation ? "rotate(" + rotation + "rad)" : "none";
|
102897
|
-
return isSetRotation;
|
102898
|
-
}
|
102899
|
-
static renderParagraphFrame(paragraphFrame, level) {
|
102900
|
-
const element = DocumentRenderer.renderContainer(RendererClassNames.PARAGRAPH_FRAME + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.ParBg));
|
102901
|
-
DocumentRenderer.updateParagraphFrame(paragraphFrame, element);
|
102902
|
-
return element;
|
102903
|
-
}
|
102904
|
-
static updateParagraphFrame(frame, frameElement) {
|
102905
|
-
dom.DomUtils.setStyleSizeAndPosition(frameElement.style, frame);
|
102906
|
-
frameElement.style.background = ColorHelper.getCssStringInternal(frame.paragraphColor);
|
102907
|
-
}
|
102908
|
-
static renderTable(tableColumnInfo, level, showTableGridLines) {
|
102909
|
-
const tblXPos = tableColumnInfo.x;
|
102910
|
-
const tblYPos = tableColumnInfo.y;
|
102911
|
-
const tblBgColor = tableColumnInfo.logicInfo.backgroundColor;
|
102912
|
-
const tableElement = DocumentRenderer.renderContainer(RendererClassNames.TABLE_ELEMENTS_CONTAINER);
|
102913
|
-
dom.DomUtils.setStylePosition(tableElement.style, tableColumnInfo);
|
102914
|
-
const tblBordersContainer = tableElement.appendChild(DocumentRenderer.renderContainer(RendererClassNames.TABLE_BORDERS_CONTAINER));
|
102915
|
-
const tblRowsBgContainer = tableElement.appendChild(DocumentRenderer.renderContainer(RendererClassNames.TABLE_ROW_BACKGROUND_CONTAINER));
|
102916
|
-
const tblCellsBgContainer = tableElement.appendChild(DocumentRenderer.renderContainer(RendererClassNames.TABLE_CELL_BACKGROUND_CONTAINER));
|
102917
|
-
const tblCursorsContainer = DocumentRenderer.renderContainer(RendererClassNames.TABLE_CURSORS_CONTAINER);
|
102918
|
-
tblCursorsContainer.style.width = tableColumnInfo.width + "px";
|
102919
|
-
tblCursorsContainer.style.height = tableColumnInfo.height + "px";
|
102920
|
-
tableElement.appendChild(tblCursorsContainer);
|
102921
|
-
tblCursorsContainer["dxTableIndex"] = tableColumnInfo.logicInfo.grid.table.index;
|
102922
|
-
for (let i = 0, border; border = tableColumnInfo.horizontalBorders[i]; i++)
|
102923
|
-
DocumentRenderer.renderHorizontalBorder(tblBordersContainer, border, level, showTableGridLines);
|
102924
|
-
for (let i = 0, border; border = tableColumnInfo.verticalBorders[i]; i++)
|
102925
|
-
DocumentRenderer.renderVerticalBorder(tblBordersContainer, border, level, showTableGridLines);
|
102926
|
-
if (tableColumnInfo.logicInfo.isEditable) {
|
102927
|
-
for (let border of tableColumnInfo.verticalCursorBorders) {
|
102928
|
-
let element = DocumentRenderer.renderContainer(RendererClassNames.TABLE_COLUMN_CURSOR + " " +
|
102929
|
-
ZIndexHelper.getClassName(level, zIndexCssClassType.TblCursor));
|
102930
|
-
dom.DomUtils.setStylePosition(element.style, new geometry_point.Point(border.xPos, border.yPos));
|
102931
|
-
element.style.height = border.length + "px";
|
102932
|
-
tblCursorsContainer.appendChild(element);
|
102933
|
-
}
|
102934
|
-
for (let border of tableColumnInfo.horizontalCursorBorders) {
|
102935
|
-
let element = DocumentRenderer.renderContainer(RendererClassNames.TABLE_ROW_CURSOR + " " +
|
102936
|
-
ZIndexHelper.getClassName(level, zIndexCssClassType.TblCursor));
|
102937
|
-
dom.DomUtils.setStylePosition(element.style, new geometry_point.Point(border.xPos, border.yPos));
|
102938
|
-
element.style.width = border.length + "px";
|
102939
|
-
element["dxLayoutRowIndex"] = border.layoutRowIndex;
|
102940
|
-
tblCursorsContainer.appendChild(element);
|
102941
|
-
}
|
102942
|
-
}
|
102943
|
-
for (let tblRow of tableColumnInfo.tableRows) {
|
102944
|
-
DocumentRenderer.renderTableBackgroundElement(RendererClassNames.TABLE_ROW_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.TblRowBg), tblRowsBgContainer, tblRow, tblXPos, tblYPos, tblBgColor);
|
102945
|
-
for (let cellBgInfo of tblRow.backgroundInfos)
|
102946
|
-
DocumentRenderer.renderTableBackgroundElement(RendererClassNames.TABLE_CELL_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.TblCellBg), tblCellsBgContainer, cellBgInfo, 0, 0, cellBgInfo.color);
|
102947
|
-
}
|
102948
|
-
return tableElement;
|
102949
|
-
}
|
102950
|
-
static renderTableBackgroundElement(className, container, bound, tblXPos, tblYPos, color) {
|
102951
|
-
if (ColorHelper.isEmptyBgColor(color))
|
102952
|
-
return;
|
102953
|
-
const elem = DocumentRenderer.renderContainer(className);
|
102954
|
-
dom.DomUtils.setStylePosition(elem.style, new geometry_point.Point(bound.x - tblXPos, bound.y - tblYPos));
|
102955
|
-
dom.DomUtils.setStyleSize(elem.style, bound);
|
102956
|
-
elem.style.backgroundColor = utils_color/* ColorUtils */.i.colorToHash(color);
|
102957
|
-
container.appendChild(elem);
|
102958
|
-
}
|
102959
|
-
static renderVerticalBorder(tableBordersContainer, border, level, showTableGridLines) {
|
102960
|
-
const borderInfo = border.borderInfo;
|
102961
|
-
if (DocumentRenderer.isNotRenderTableBorder(borderInfo)) {
|
102962
|
-
if (showTableGridLines) {
|
102963
|
-
const element = DocumentRenderer.createBorderElement(utils_color/* ColorUtils */.i.LIGHT_COLOR, level);
|
102964
|
-
dom.DomUtils.setStyleSizeAndPosition(element.style, new rectangle.Rectangle(border.xPos, border.yPos, 0, border.length));
|
102965
|
-
element.style.borderStyle = "None";
|
102966
|
-
element.style.borderRightWidth = DocumentRenderer.getTableGridLineBorderWidth();
|
102967
|
-
element.style.borderRightStyle = "dashed";
|
102968
|
-
tableBordersContainer.appendChild(element);
|
102969
|
-
}
|
102970
|
-
}
|
102971
|
-
else {
|
102972
|
-
const element = DocumentRenderer.createBorderElement(borderInfo.color, level);
|
102973
|
-
dom.DomUtils.setStyleSizeAndPosition(element.style, new rectangle.Rectangle(border.xPos, border.yPos, 0, border.length));
|
102974
|
-
element.style.backgroundColor = "";
|
102975
|
-
element.style.borderStyle = "None";
|
102976
|
-
element.style.borderRightColor = utils_color/* ColorUtils */.i.colorToHash(borderInfo.color);
|
102977
|
-
element.style.borderRightWidth = DocumentRenderer.getBorderTypeWidth(borderInfo);
|
102978
|
-
element.style.borderRightStyle = DocumentRenderer.borderTypeToString(borderInfo.style);
|
102979
|
-
tableBordersContainer.appendChild(element);
|
102980
|
-
}
|
102981
|
-
}
|
102982
|
-
static getTableGridLineBorderWidth() {
|
102983
|
-
const devicePixelRatio = window.devicePixelRatio;
|
102984
|
-
if (browser.Browser.Chrome && devicePixelRatio > 1 && devicePixelRatio < 1.5)
|
102985
|
-
return "1.5px";
|
102986
|
-
return "1px";
|
102987
|
-
}
|
102988
|
-
static renderHorizontalBorder(tableBordersContainer, border, level, showTableGridLines) {
|
102989
|
-
const borderInfo = border.borderInfo;
|
102990
|
-
if (DocumentRenderer.isNotRenderTableBorder(borderInfo)) {
|
102991
|
-
if (!showTableGridLines)
|
102992
|
-
return;
|
102993
|
-
const element = DocumentRenderer.createBorderElement(utils_color/* ColorUtils */.i.LIGHT_COLOR, level);
|
102994
|
-
dom.DomUtils.setStyleSizeAndPosition(element.style, new rectangle.Rectangle(border.xPos, border.yPos, border.length, 0));
|
102995
|
-
element.style.borderStyle = "None";
|
102996
|
-
element.style.borderBottomWidth = DocumentRenderer.getTableGridLineBorderWidth();
|
102997
|
-
element.style.borderBottomStyle = "dashed";
|
102998
|
-
tableBordersContainer.appendChild(element);
|
102999
|
-
}
|
103000
|
-
else {
|
103001
|
-
const element = DocumentRenderer.createBorderElement(borderInfo.color, level);
|
103002
|
-
dom.DomUtils.setStyleSizeAndPosition(element.style, new rectangle.Rectangle(border.xPos, border.yPos, border.length, 0));
|
103003
|
-
element.style.backgroundColor = "";
|
103004
|
-
element.style.borderStyle = "None";
|
103005
|
-
element.style.borderBottomColor = utils_color/* ColorUtils */.i.colorToHash(borderInfo.color);
|
103006
|
-
element.style.borderBottomWidth = DocumentRenderer.getBorderTypeWidth(borderInfo);
|
103007
|
-
element.style.borderBottomStyle = DocumentRenderer.borderTypeToString(borderInfo.style);
|
103008
|
-
tableBordersContainer.appendChild(element);
|
103009
|
-
}
|
103010
|
-
}
|
103011
|
-
static createBorderElement(color, level) {
|
103012
|
-
const element = DocumentRenderer.renderContainer(RendererClassNames.TABLE_BORDER + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.TableBorder));
|
103013
|
-
element.style.backgroundColor = utils_color/* ColorUtils */.i.colorToHash(color);
|
103014
|
-
return element;
|
103015
|
-
}
|
103016
|
-
static isNotRenderTableBorder(borderInfo) {
|
103017
|
-
return !borderInfo || borderInfo.style == BorderLineStyle.None || borderInfo.style == BorderLineStyle.Nil;
|
103018
|
-
}
|
103019
|
-
static borderTypeToString(style) {
|
103020
|
-
const str = DocumentRenderer.mapBorderTypeToString[style];
|
103021
|
-
return str ? str : "solid";
|
103022
|
-
}
|
103023
|
-
static getBorderTypeWidth(borderInfo) {
|
103024
|
-
const mimWidth = this.getBorderTypeMinWidth(borderInfo.style);
|
103025
|
-
return Math.max(mimWidth, borderInfo.width) + "px";
|
103026
|
-
}
|
103027
|
-
static getBorderTypeMinWidth(style) {
|
103028
|
-
if (style == BorderLineStyle.Double)
|
103029
|
-
return 3;
|
103030
|
-
return 1;
|
103031
|
-
}
|
103032
|
-
static getServiceContainerCore(pageElement) {
|
103033
|
-
return pageElement.firstChild;
|
103034
|
-
}
|
103035
|
-
static getSelectionContainerCore(pageElement) {
|
103036
|
-
return pageElement.childNodes[1];
|
103037
|
-
}
|
103038
|
-
static getSearchSelectionContainerCore(pageElement) {
|
103039
|
-
return pageElement.childNodes[2];
|
103040
|
-
}
|
103041
|
-
static getMisspelledSelectionContainerCore(pageElement) {
|
103042
|
-
return pageElement.childNodes[3];
|
103043
|
-
}
|
103044
|
-
static getRangePermissionsContainerCore(pageElement) {
|
103045
|
-
return pageElement.childNodes[4];
|
103046
|
-
}
|
103047
|
-
static isPageElementConsiderAllContainers(pageElement) {
|
103048
|
-
return pageElement.childNodes.length > 1;
|
103049
|
-
}
|
103050
|
-
static getMainPageAreaContainerCore(pageElement) {
|
103051
|
-
return pageElement.childNodes[5];
|
103052
|
-
}
|
103053
|
-
static getOtherPageAreaContainerCore(pageElement) {
|
103054
|
-
return pageElement.childNodes[6];
|
103055
|
-
}
|
103056
|
-
static getAnchoredObjectsContainer(pageElement) {
|
103057
|
-
return pageElement.childNodes[7];
|
103058
|
-
}
|
103059
|
-
static getTextBoxBackgroundContainer(pageElement) {
|
103060
|
-
return pageElement.childNodes[8];
|
103061
|
-
}
|
103062
|
-
static getRowsContainerCore(columnElement) {
|
103063
|
-
return columnElement.firstChild;
|
103064
|
-
}
|
103065
|
-
static getParagraphFramesContainerCore(columnElement) {
|
103066
|
-
return browser.Browser.Chrome ? columnElement.firstChild.nextSibling : columnElement.childNodes[1];
|
103067
|
-
}
|
103068
|
-
static getTablesContainerCore(columnElement) {
|
103069
|
-
return columnElement.lastChild;
|
103070
|
-
}
|
103071
|
-
static getColumnsContainerCore(pageAreaElement) {
|
103072
|
-
return pageAreaElement;
|
103073
|
-
}
|
103074
|
-
static renderContainer(className) {
|
103075
|
-
const element = document.createElement("DIV");
|
103076
|
-
element.className = className;
|
103077
|
-
return element;
|
103078
|
-
}
|
103079
|
-
static removeFromContainerByIndex(node, index, getContainer) {
|
103080
|
-
const container = getContainer(node);
|
103081
|
-
const child = container.childNodes[index];
|
103082
|
-
if (child)
|
103083
|
-
container.removeChild(child);
|
103084
|
-
}
|
103085
|
-
static replaceInContainer(node, index, newRenderedElement, getContainer) {
|
103086
|
-
const container = getContainer(node);
|
103087
|
-
container.replaceChild(newRenderedElement, container.childNodes[index]);
|
103088
|
-
}
|
103089
|
-
static insertInContainer(node, index, newRenderedElement, getContainer) {
|
103090
|
-
const container = getContainer(node);
|
103091
|
-
if (index < container.childNodes.length)
|
103092
|
-
container.insertBefore(newRenderedElement, container.childNodes[index]);
|
103093
|
-
else
|
103094
|
-
container.appendChild(newRenderedElement);
|
103095
|
-
}
|
103096
|
-
static removeFromContainerByObject(id, container, cache) {
|
103097
|
-
const obj = cache[id];
|
103098
|
-
if (obj) {
|
103099
|
-
container.removeChild(obj);
|
103100
|
-
delete cache[id];
|
103101
|
-
}
|
103102
|
-
}
|
103103
|
-
static replaceFromContainerByObject(id, container, cache, newNode) {
|
103104
|
-
container.replaceChild(newNode, cache[id]);
|
103105
|
-
cache[id] = newNode;
|
103106
|
-
}
|
103107
|
-
static insertToContainerByObject(id, container, cache, newNode) {
|
103108
|
-
cache[id] = newNode;
|
103109
|
-
container.appendChild(newNode);
|
103110
|
-
}
|
103111
|
-
static isPageElementEmpty(pageElement) {
|
103112
|
-
return pageElement.childNodes.length == 0;
|
103113
|
-
}
|
103114
|
-
renderPictureBoxContent(size, cacheInfo, tip, altText) {
|
103115
|
-
const tooltip = tip ? CanvasUtils.buildHyperlinkTipString(tip, this.viewManager.stringResources.commonLabels.clickToFollowHyperlink, this.viewManager.fieldOptions) : "";
|
103116
|
-
const img = document.createElement('img');
|
103117
|
-
img.setAttribute('src', cacheInfo.base64);
|
103118
|
-
if (tooltip) {
|
103119
|
-
img.setAttribute('title', tooltip);
|
103120
|
-
}
|
103121
|
-
if ((0,common.isDefined)(altText) && !utils_string.StringUtils.isNullOrEmpty(altText))
|
103122
|
-
img.alt = altText;
|
103123
|
-
img.style.cssText = `height: ${math.MathUtils.round(size.height, 3)}px; width: ${math.MathUtils.round(size.width, 3)}px; vertical-align: baseline`;
|
103124
|
-
img.setAttribute('class', RendererClassNames.PICTURE);
|
103125
|
-
return img;
|
103126
|
-
}
|
103127
|
-
}
|
103128
|
-
DocumentRenderer.mapBorderTypeToString = new MapCreator()
|
103129
|
-
.add(BorderLineStyle.Single, "solid")
|
103130
|
-
.add(BorderLineStyle.Dotted, "dotted")
|
103131
|
-
.add(BorderLineStyle.Dashed, "dashed")
|
103132
|
-
.add(BorderLineStyle.Double, "double")
|
103133
|
-
.add(BorderLineStyle.DashSmallGap, "dashed")
|
103134
|
-
.add(BorderLineStyle.DotDash, "dashed")
|
103135
|
-
.add(BorderLineStyle.DotDotDash, "dashed")
|
103136
|
-
.get();
|
103137
|
-
class DocumentRendererPageCache {
|
103138
|
-
constructor(page) {
|
103139
|
-
this.page = page;
|
103140
|
-
this.init();
|
103141
|
-
}
|
103142
|
-
removeContent() {
|
103143
|
-
const serviceContainer = DocumentRenderer.getServiceContainerCore(this.page);
|
103144
|
-
dom.DomUtils.clearInnerHtml(this.page);
|
103145
|
-
this.page.appendChild(serviceContainer);
|
103146
|
-
this.init();
|
103147
|
-
}
|
103148
|
-
init() {
|
103149
|
-
this.otherAreas = {};
|
103150
|
-
this.anchoredPicture = {};
|
103151
|
-
this.textBoxBgElements = {};
|
103152
|
-
}
|
103153
|
-
}
|
103154
|
-
class BoxRenderResult {
|
103155
|
-
constructor(html, increaseRowHeight) {
|
103156
|
-
this.html = html;
|
103157
|
-
this.increaseRowHeight = increaseRowHeight;
|
103158
|
-
}
|
103159
|
-
toString() {
|
103160
|
-
if (typeof this.html === 'string')
|
103161
|
-
return this.html;
|
103162
|
-
else {
|
103163
|
-
const result = [];
|
103164
|
-
if (this.html) {
|
103165
|
-
const length = this.html.children.length;
|
103166
|
-
for (let i = 0; i < length; i++) {
|
103167
|
-
result.push(this.html.children.item(i).outerHTML);
|
103168
|
-
}
|
103169
|
-
}
|
103170
|
-
return result.join('');
|
103171
|
-
}
|
103172
|
-
}
|
103173
|
-
}
|
103174
|
-
|
103175
102252
|
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/evt.js
|
103176
102253
|
var utils_evt = __webpack_require__(3714);
|
103177
102254
|
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/event-handlers-holder.js
|
@@ -104327,6 +103404,953 @@ class LayoutAnchorObjectFinder {
|
|
104327
103404
|
}
|
104328
103405
|
}
|
104329
103406
|
|
103407
|
+
;// CONCATENATED MODULE: ./src/common/canvas/renderes/z-index-helper.ts
|
103408
|
+
var zIndexCssClassType;
|
103409
|
+
(function (zIndexCssClassType) {
|
103410
|
+
zIndexCssClassType[zIndexCssClassType["TextBoxBg"] = 0] = "TextBoxBg";
|
103411
|
+
zIndexCssClassType[zIndexCssClassType["TblRowBg"] = 1] = "TblRowBg";
|
103412
|
+
zIndexCssClassType[zIndexCssClassType["TblCellBg"] = 2] = "TblCellBg";
|
103413
|
+
zIndexCssClassType[zIndexCssClassType["ParBg"] = 3] = "ParBg";
|
103414
|
+
zIndexCssClassType[zIndexCssClassType["BoxBg"] = 4] = "BoxBg";
|
103415
|
+
zIndexCssClassType[zIndexCssClassType["FieldBg"] = 5] = "FieldBg";
|
103416
|
+
zIndexCssClassType[zIndexCssClassType["SelRange"] = 6] = "SelRange";
|
103417
|
+
zIndexCssClassType[zIndexCssClassType["BoxSpace"] = 7] = "BoxSpace";
|
103418
|
+
zIndexCssClassType[zIndexCssClassType["SelSearch"] = 8] = "SelSearch";
|
103419
|
+
zIndexCssClassType[zIndexCssClassType["SelRow"] = 9] = "SelRow";
|
103420
|
+
zIndexCssClassType[zIndexCssClassType["Box"] = 10] = "Box";
|
103421
|
+
zIndexCssClassType[zIndexCssClassType["Bookmark"] = 11] = "Bookmark";
|
103422
|
+
zIndexCssClassType[zIndexCssClassType["TableBorder"] = 12] = "TableBorder";
|
103423
|
+
zIndexCssClassType[zIndexCssClassType["SelMissp"] = 13] = "SelMissp";
|
103424
|
+
zIndexCssClassType[zIndexCssClassType["SelCursor"] = 14] = "SelCursor";
|
103425
|
+
zIndexCssClassType[zIndexCssClassType["SelTouchBar"] = 15] = "SelTouchBar";
|
103426
|
+
zIndexCssClassType[zIndexCssClassType["TblCursor"] = 16] = "TblCursor";
|
103427
|
+
zIndexCssClassType[zIndexCssClassType["AnchoredPicture"] = 17] = "AnchoredPicture";
|
103428
|
+
zIndexCssClassType[zIndexCssClassType["TextBox"] = 18] = "TextBox";
|
103429
|
+
})(zIndexCssClassType || (zIndexCssClassType = {}));
|
103430
|
+
class ZIndexHelper {
|
103431
|
+
static getClassName(level, zIndexCssNames) {
|
103432
|
+
return `dxre${ZIndexHelper.names[zIndexCssNames]}ZL${level}`;
|
103433
|
+
}
|
103434
|
+
}
|
103435
|
+
ZIndexHelper.names = {
|
103436
|
+
[zIndexCssClassType.TextBoxBg]: "TextBoxBg",
|
103437
|
+
[zIndexCssClassType.TblRowBg]: "TblRowBg",
|
103438
|
+
[zIndexCssClassType.TblCellBg]: "TblCellBg",
|
103439
|
+
[zIndexCssClassType.ParBg]: "ParBg",
|
103440
|
+
[zIndexCssClassType.BoxBg]: "BoxBg",
|
103441
|
+
[zIndexCssClassType.FieldBg]: "FieldBg",
|
103442
|
+
[zIndexCssClassType.SelRange]: "SelRange",
|
103443
|
+
[zIndexCssClassType.BoxSpace]: "BoxSpace",
|
103444
|
+
[zIndexCssClassType.SelSearch]: "SelSearch",
|
103445
|
+
[zIndexCssClassType.SelRow]: "SelRow",
|
103446
|
+
[zIndexCssClassType.Box]: "Box",
|
103447
|
+
[zIndexCssClassType.Bookmark]: "Bookmark",
|
103448
|
+
[zIndexCssClassType.TableBorder]: "TableBorder",
|
103449
|
+
[zIndexCssClassType.SelMissp]: "SelMissp",
|
103450
|
+
[zIndexCssClassType.SelCursor]: "SelCursor",
|
103451
|
+
[zIndexCssClassType.SelTouchBar]: "SelTouchBar",
|
103452
|
+
[zIndexCssClassType.TblCursor]: "TblCursor",
|
103453
|
+
[zIndexCssClassType.AnchoredPicture]: "AnchoredPicture",
|
103454
|
+
[zIndexCssClassType.TextBox]: "TextBox",
|
103455
|
+
};
|
103456
|
+
|
103457
|
+
;// CONCATENATED MODULE: ./src/common/canvas/utils.ts
|
103458
|
+
class CanvasUtils {
|
103459
|
+
static buildHyperlinkTipString(hyperlinkTip, clickText, settings) {
|
103460
|
+
if (!hyperlinkTip)
|
103461
|
+
hyperlinkTip = "";
|
103462
|
+
return settings.createHyperlinkTooltip(hyperlinkTip, `\nCtrl + ${clickText}`).replace(/['|"]/g, """);
|
103463
|
+
}
|
103464
|
+
}
|
103465
|
+
|
103466
|
+
;// CONCATENATED MODULE: ./src/common/canvas/renderes/common/document-renderer.ts
|
103467
|
+
|
103468
|
+
|
103469
|
+
|
103470
|
+
|
103471
|
+
|
103472
|
+
|
103473
|
+
|
103474
|
+
|
103475
|
+
|
103476
|
+
|
103477
|
+
|
103478
|
+
|
103479
|
+
|
103480
|
+
|
103481
|
+
|
103482
|
+
|
103483
|
+
|
103484
|
+
|
103485
|
+
|
103486
|
+
|
103487
|
+
|
103488
|
+
|
103489
|
+
|
103490
|
+
|
103491
|
+
|
103492
|
+
|
103493
|
+
|
103494
|
+
|
103495
|
+
|
103496
|
+
|
103497
|
+
class SimpleViewCanvasSizeManager {
|
103498
|
+
constructor(canvasManager, control) {
|
103499
|
+
this.size = new geometry_size.Size(0, 0);
|
103500
|
+
this.isSizeObserving = false;
|
103501
|
+
this.sizeUpdated = false;
|
103502
|
+
this.resizeFrameId = null;
|
103503
|
+
this.canvasManager = canvasManager;
|
103504
|
+
this.control = control;
|
103505
|
+
this.resizeObserver = new ResizeObserver(() => {
|
103506
|
+
this.sizeUpdated = false;
|
103507
|
+
this.resizeFrameId = requestAnimationFrame(() => {
|
103508
|
+
if (!this.sizeUpdated)
|
103509
|
+
this.changeSize(false);
|
103510
|
+
this.sizeUpdated = true;
|
103511
|
+
this.resizeFrameId = null;
|
103512
|
+
});
|
103513
|
+
});
|
103514
|
+
}
|
103515
|
+
dispose() {
|
103516
|
+
if (this.resizeFrameId)
|
103517
|
+
cancelAnimationFrame(this.resizeFrameId);
|
103518
|
+
this.resizeFrameId = null;
|
103519
|
+
this.resizeObserver.disconnect();
|
103520
|
+
}
|
103521
|
+
changeSize(force) {
|
103522
|
+
const curr = new geometry_size.Size(this.canvasManager.getCanvasWidth(), this.canvasManager.controlHeightProvider.getVisibleAreaHeight(false));
|
103523
|
+
if (force || !curr.equals(this.size)) {
|
103524
|
+
this.size = curr;
|
103525
|
+
this.changeSizeCore();
|
103526
|
+
}
|
103527
|
+
}
|
103528
|
+
setViewMode(val) {
|
103529
|
+
if (val) {
|
103530
|
+
this.changeSize(true);
|
103531
|
+
if (!this.isSizeObserving) {
|
103532
|
+
this.resizeObserver.observe(this.canvasManager.canvas);
|
103533
|
+
this.isSizeObserving = true;
|
103534
|
+
}
|
103535
|
+
}
|
103536
|
+
else {
|
103537
|
+
if (this.isSizeObserving) {
|
103538
|
+
this.resizeObserver.unobserve(this.canvasManager.canvas);
|
103539
|
+
this.isSizeObserving = false;
|
103540
|
+
}
|
103541
|
+
this.changeSizeCore();
|
103542
|
+
}
|
103543
|
+
this.sizeUpdated = true;
|
103544
|
+
}
|
103545
|
+
changeSizeCore() {
|
103546
|
+
{
|
103547
|
+
utils_list.ListUtils.forEach(this.control.viewManager.cache, (_val) => this.control.viewManager.renderer.removePage(1), 1);
|
103548
|
+
this.control.viewManager.ensureFirstPageIsRendered();
|
103549
|
+
this.control.innerClientProperties.viewsSettings.widthOfPage = this.canvasManager.getCanvasWidth();
|
103550
|
+
if (this.control.layoutFormatterManager) {
|
103551
|
+
this.control.layoutFormatterManager.invalidator.onChangedAllLayout();
|
103552
|
+
this.control.selection.scrollManager.setScroll(new ScrollState().byModelPosition(this.control.selection)
|
103553
|
+
.setModelPosition(this.control.selection.lastSelectedInterval.start).useStdRelativePosition().useStdOffset());
|
103554
|
+
}
|
103555
|
+
this.control.owner.adjustControl();
|
103556
|
+
this.control.horizontalRulerControl.update();
|
103557
|
+
}
|
103558
|
+
}
|
103559
|
+
}
|
103560
|
+
class DocumentRenderer {
|
103561
|
+
get cache() { return this.viewManager.cache; }
|
103562
|
+
constructor(viewManager) {
|
103563
|
+
this.viewManager = viewManager;
|
103564
|
+
if (this.viewManager.innerClientProperties.viewsSettings.isSimpleView)
|
103565
|
+
dom.DomUtils.addClassName(this.viewManager.canvas, RendererClassNames.SIMPLE_VIEW);
|
103566
|
+
}
|
103567
|
+
onViewTypeChanged() {
|
103568
|
+
switch (this.viewManager.innerClientProperties.viewsSettings.viewType) {
|
103569
|
+
case ViewType.Simple:
|
103570
|
+
dom.DomUtils.addClassName(this.viewManager.canvas, RendererClassNames.SIMPLE_VIEW);
|
103571
|
+
break;
|
103572
|
+
case ViewType.PrintLayout:
|
103573
|
+
dom.DomUtils.removeClassName(this.viewManager.canvas, RendererClassNames.SIMPLE_VIEW);
|
103574
|
+
break;
|
103575
|
+
}
|
103576
|
+
}
|
103577
|
+
applyPageChange(layoutPage, pageChange) {
|
103578
|
+
Log.print(LogSource.DocumentRenderer, "applyPageChanges", `pageIndex ${pageChange.index}`);
|
103579
|
+
const pageFromCache = this.cache[pageChange.index];
|
103580
|
+
for (let pageAreaChange of pageChange.mainPageAreaChanges)
|
103581
|
+
this.applyMainPageAreaChange(pageFromCache, layoutPage, pageAreaChange);
|
103582
|
+
for (let pageAreaChange of pageChange.otherPageAreaChanges)
|
103583
|
+
this.applyOtherPageAreaChange(pageFromCache, layoutPage, pageAreaChange);
|
103584
|
+
for (let anchoredPictureChange of pageChange.anchoredPictureChanges)
|
103585
|
+
this.applyAnchorPictureChange(pageFromCache, layoutPage, anchoredPictureChange);
|
103586
|
+
}
|
103587
|
+
applyAnchorPictureChange(cache, layoutPage, ancPicChange) {
|
103588
|
+
const objId = ancPicChange.index;
|
103589
|
+
switch (ancPicChange.changeType) {
|
103590
|
+
case LayoutChangeType.Deleted: {
|
103591
|
+
DocumentRenderer.removeFromContainerByObject(objId, DocumentRenderer.getAnchoredObjectsContainer(cache.page), cache.anchoredPicture);
|
103592
|
+
break;
|
103593
|
+
}
|
103594
|
+
case LayoutChangeType.Replaced: {
|
103595
|
+
const obj = layoutPage.anchoredObjectHolder.getObjById(objId);
|
103596
|
+
DocumentRenderer.replaceFromContainerByObject(objId, DocumentRenderer.getAnchoredObjectsContainer(cache.page), cache.anchoredPicture, this.renderFloatingPicture(obj, layoutPage.renderLevelCalculator));
|
103597
|
+
break;
|
103598
|
+
}
|
103599
|
+
case LayoutChangeType.Updated: {
|
103600
|
+
break;
|
103601
|
+
}
|
103602
|
+
case LayoutChangeType.Inserted: {
|
103603
|
+
const obj = layoutPage.anchoredObjectHolder.getObjById(objId);
|
103604
|
+
DocumentRenderer.insertToContainerByObject(objId, DocumentRenderer.getAnchoredObjectsContainer(cache.page), cache.anchoredPicture, this.renderFloatingPicture(obj, layoutPage.renderLevelCalculator));
|
103605
|
+
break;
|
103606
|
+
}
|
103607
|
+
default: throw new Error(lib_errors/* Errors */.D.InternalException);
|
103608
|
+
}
|
103609
|
+
}
|
103610
|
+
applyMainPageAreaChange(pageCache, layoutPage, pageAreaChange) {
|
103611
|
+
switch (pageAreaChange.changeType) {
|
103612
|
+
case LayoutChangeType.Deleted:
|
103613
|
+
DocumentRenderer.removeFromContainerByIndex(pageCache.page, pageAreaChange.canvasIndex, DocumentRenderer.getMainPageAreaContainerCore);
|
103614
|
+
break;
|
103615
|
+
case LayoutChangeType.Replaced:
|
103616
|
+
DocumentRenderer.replaceInContainer(pageCache.page, pageAreaChange.canvasIndex, this.renderPageArea(layoutPage.renderLevelCalculator, pageCache, layoutPage.mainSubDocumentPageAreas[pageAreaChange.layoutIndex], null), DocumentRenderer.getMainPageAreaContainerCore);
|
103617
|
+
break;
|
103618
|
+
case LayoutChangeType.Updated: {
|
103619
|
+
const layoutPageArea = layoutPage.mainSubDocumentPageAreas[pageAreaChange.layoutIndex];
|
103620
|
+
const pageAreaElement = DocumentRenderer.getMainPageAreaContainerCore(pageCache.page).childNodes[pageAreaChange.canvasIndex];
|
103621
|
+
for (let columnChange of pageAreaChange.columnChanges)
|
103622
|
+
this.applyColumnChange(pageAreaElement, layoutPageArea, columnChange, layoutPage.renderLevelCalculator.renderMainPageAreaLevel);
|
103623
|
+
break;
|
103624
|
+
}
|
103625
|
+
default: throw new Error(lib_errors/* Errors */.D.InternalException);
|
103626
|
+
}
|
103627
|
+
}
|
103628
|
+
applyOtherPageAreaChange(cache, layoutPage, pageAreaChange) {
|
103629
|
+
const subDocId = pageAreaChange.index;
|
103630
|
+
const pageArea = layoutPage.otherPageAreas[subDocId];
|
103631
|
+
switch (pageAreaChange.changeType) {
|
103632
|
+
case LayoutChangeType.Deleted: {
|
103633
|
+
DocumentRenderer.removeFromContainerByObject(subDocId, DocumentRenderer.getOtherPageAreaContainerCore(cache.page), cache.otherAreas);
|
103634
|
+
DocumentRenderer.removeFromContainerByObject(subDocId, DocumentRenderer.getTextBoxBackgroundContainer(cache.page), cache.textBoxBgElements);
|
103635
|
+
break;
|
103636
|
+
}
|
103637
|
+
case LayoutChangeType.Replaced: {
|
103638
|
+
DocumentRenderer.replaceFromContainerByObject(subDocId, DocumentRenderer.getOtherPageAreaContainerCore(cache.page), cache.otherAreas, this.renderPageArea(layoutPage.renderLevelCalculator, cache, pageArea, pageArea.subDocument.isTextBox() ? layoutPage.anchoredObjectHolder.getTextBoxByInternalSubDocId(subDocId) : null));
|
103639
|
+
break;
|
103640
|
+
}
|
103641
|
+
case LayoutChangeType.Updated: {
|
103642
|
+
const pageAreaElement = cache.otherAreas[subDocId];
|
103643
|
+
const level = pageArea.subDocument.isTextBox() ?
|
103644
|
+
layoutPage.renderLevelCalculator.getRenderLevel(layoutPage.anchoredObjectHolder.getTextBoxByInternalSubDocId(subDocId).rendererLevel) :
|
103645
|
+
layoutPage.renderLevelCalculator.renderHeaderFooterPageAreasLevel;
|
103646
|
+
for (let columnChange of pageAreaChange.columnChanges)
|
103647
|
+
this.applyColumnChange(pageAreaElement, pageArea, columnChange, level);
|
103648
|
+
break;
|
103649
|
+
}
|
103650
|
+
case LayoutChangeType.Inserted: {
|
103651
|
+
DocumentRenderer.insertToContainerByObject(subDocId, DocumentRenderer.getOtherPageAreaContainerCore(cache.page), cache.otherAreas, this.renderPageArea(layoutPage.renderLevelCalculator, cache, pageArea, pageArea.subDocument.isTextBox() ? layoutPage.anchoredObjectHolder.getTextBoxByInternalSubDocId(subDocId) : null));
|
103652
|
+
break;
|
103653
|
+
}
|
103654
|
+
default: throw new Error(lib_errors/* Errors */.D.InternalException);
|
103655
|
+
}
|
103656
|
+
}
|
103657
|
+
applyColumnChange(pageAreaElement, layoutPageArea, columnChange, level) {
|
103658
|
+
switch (columnChange.changeType) {
|
103659
|
+
case LayoutChangeType.Deleted:
|
103660
|
+
DocumentRenderer.removeFromContainerByIndex(pageAreaElement, columnChange.canvasIndex, DocumentRenderer.getColumnsContainerCore);
|
103661
|
+
break;
|
103662
|
+
case LayoutChangeType.Replaced: {
|
103663
|
+
const renderedColumn = this.renderColumn(layoutPageArea.columns[columnChange.layoutIndex], level, layoutPageArea.subDocument.isMain());
|
103664
|
+
DocumentRenderer.replaceInContainer(pageAreaElement, columnChange.canvasIndex, renderedColumn, DocumentRenderer.getColumnsContainerCore);
|
103665
|
+
break;
|
103666
|
+
}
|
103667
|
+
case LayoutChangeType.Updated: {
|
103668
|
+
const layoutColumn = layoutPageArea.columns[columnChange.layoutIndex];
|
103669
|
+
const columnElement = DocumentRenderer.getColumnsContainerCore(pageAreaElement).childNodes[columnChange.canvasIndex];
|
103670
|
+
for (var rowChange of columnChange.rowChanges)
|
103671
|
+
DocumentRenderer.applyChange(columnElement, rowChange, DocumentRenderer.getRowsContainerCore, () => this.renderRow(layoutColumn.rows[rowChange.layoutIndex], level));
|
103672
|
+
for (var tableChange of columnChange.tableChanges)
|
103673
|
+
DocumentRenderer.applyChange(columnElement, tableChange, DocumentRenderer.getTablesContainerCore, () => DocumentRenderer.renderTable(layoutColumn.tablesInfo[tableChange.layoutIndex], level, this.viewManager.innerClientProperties.showTableGridLines));
|
103674
|
+
for (var paragraphFrameChange of columnChange.paragraphFrameChanges)
|
103675
|
+
DocumentRenderer.applyChange(columnElement, paragraphFrameChange, DocumentRenderer.getParagraphFramesContainerCore, () => DocumentRenderer.renderParagraphFrame(layoutColumn.paragraphFrames[paragraphFrameChange.layoutIndex], level));
|
103676
|
+
break;
|
103677
|
+
}
|
103678
|
+
case LayoutChangeType.Inserted: {
|
103679
|
+
const renderedColumn = this.renderColumn(layoutPageArea.columns[columnChange.layoutIndex], level, layoutPageArea.subDocument.isMain());
|
103680
|
+
DocumentRenderer.insertInContainer(pageAreaElement, columnChange.canvasIndex, renderedColumn, DocumentRenderer.getColumnsContainerCore);
|
103681
|
+
break;
|
103682
|
+
}
|
103683
|
+
default: throw new Error(lib_errors/* Errors */.D.InternalException);
|
103684
|
+
}
|
103685
|
+
}
|
103686
|
+
static applyChange(topLevelNode, change, getContainer, getRenderedElement) {
|
103687
|
+
switch (change.changeType) {
|
103688
|
+
case LayoutChangeType.Deleted:
|
103689
|
+
DocumentRenderer.removeFromContainerByIndex(topLevelNode, change.canvasIndex, getContainer);
|
103690
|
+
break;
|
103691
|
+
case LayoutChangeType.Replaced:
|
103692
|
+
DocumentRenderer.replaceInContainer(topLevelNode, change.canvasIndex, getRenderedElement(), getContainer);
|
103693
|
+
break;
|
103694
|
+
case LayoutChangeType.Inserted:
|
103695
|
+
DocumentRenderer.insertInContainer(topLevelNode, change.canvasIndex, getRenderedElement(), getContainer);
|
103696
|
+
break;
|
103697
|
+
case LayoutChangeType.Updated:
|
103698
|
+
break;
|
103699
|
+
default: throw new Error(lib_errors/* Errors */.D.InternalException);
|
103700
|
+
}
|
103701
|
+
}
|
103702
|
+
getPageRender(layoutPageIndex, layoutPage) {
|
103703
|
+
const cachedPage = this.cache[layoutPageIndex].page;
|
103704
|
+
if (!DocumentRenderer.isPageElementConsiderAllContainers(cachedPage))
|
103705
|
+
this.renderPageContent(layoutPage, layoutPageIndex);
|
103706
|
+
return this.cache[layoutPageIndex].page;
|
103707
|
+
}
|
103708
|
+
renderPage(layoutPage, layoutPageIndex, renderInnerContent) {
|
103709
|
+
layoutPage.flags.set(LayoutPageFlags.IsSelectionRendered, false);
|
103710
|
+
layoutPage.flags.set(LayoutPageFlags.IsMisspelledSelectionRendered, false);
|
103711
|
+
layoutPage.flags.set(LayoutPageFlags.IsRangePermissionsRendered, false);
|
103712
|
+
let pageCache = this.cache[layoutPageIndex];
|
103713
|
+
if (pageCache) {
|
103714
|
+
const pageElement = pageCache.page;
|
103715
|
+
this.updatePageClasses(pageElement);
|
103716
|
+
this.updatePageSize(layoutPage, pageElement);
|
103717
|
+
DocumentRenderer.updatePageColor(pageElement, this.viewManager.layout.pageColor);
|
103718
|
+
if (!DocumentRenderer.isPageElementEmpty(pageElement))
|
103719
|
+
this.removePageContent(layoutPageIndex);
|
103720
|
+
}
|
103721
|
+
else {
|
103722
|
+
const pageElement = DocumentRenderer.renderContainer("");
|
103723
|
+
pageElement.appendChild(DocumentRenderer.renderContainer(RendererClassNames.SERVICE_CONTAINER));
|
103724
|
+
DocumentRenderer.updatePageColor(pageElement, this.viewManager.layout.pageColor);
|
103725
|
+
this.updatePageClasses(pageElement);
|
103726
|
+
this.updatePageSize(layoutPage, pageElement);
|
103727
|
+
DocumentRenderer.insertInContainer(this.viewManager.pagesContainer, layoutPageIndex, pageElement, (node) => node);
|
103728
|
+
this.cache.splice(layoutPageIndex, 0, new DocumentRendererPageCache(pageElement));
|
103729
|
+
}
|
103730
|
+
if (renderInnerContent)
|
103731
|
+
this.renderPageContent(layoutPage, layoutPageIndex);
|
103732
|
+
}
|
103733
|
+
removePage(pageIndex) {
|
103734
|
+
const pageCache = this.cache[pageIndex];
|
103735
|
+
if (pageCache) {
|
103736
|
+
pageCache.page.parentNode.removeChild(pageCache.page);
|
103737
|
+
this.cache.splice(pageIndex, 1);
|
103738
|
+
}
|
103739
|
+
}
|
103740
|
+
updatePageSize(page, pageElement) {
|
103741
|
+
if (pageElement.offsetHeight != page.height || pageElement.offsetWidth != page.width)
|
103742
|
+
dom.DomUtils.setStyleSize(pageElement.style, page);
|
103743
|
+
}
|
103744
|
+
updatePageClasses(pageElement) {
|
103745
|
+
pageElement.className = RendererClassNames.PAGE;
|
103746
|
+
if (this.viewManager.innerClientProperties.viewsSettings.isSimpleView &&
|
103747
|
+
!this.viewManager.innerClientProperties.viewsSettings.isFixedWidthMode)
|
103748
|
+
dom.DomUtils.addClassName(pageElement, RendererClassNames.SIMPLE_PAGE_FLOW_MODE);
|
103749
|
+
}
|
103750
|
+
removePageContent(pageIndex) {
|
103751
|
+
const pageCache = this.cache[pageIndex];
|
103752
|
+
if (pageCache)
|
103753
|
+
pageCache.removeContent();
|
103754
|
+
}
|
103755
|
+
renderPageContainers(pageCache) {
|
103756
|
+
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.SELECTION_CONTAINER));
|
103757
|
+
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.SEARCH_SELECTION_CONTAINER));
|
103758
|
+
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.MISSPELLED_SELECTION_CONTAINER));
|
103759
|
+
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.RANGE_PERMISSIONS_CONTAINER));
|
103760
|
+
const result = [
|
103761
|
+
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.MAIN_PAGE_AREA_CONTAINER)),
|
103762
|
+
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.OTHER_PAGE_AREA_CONTAINER)),
|
103763
|
+
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.FLOATING_OBJECTS_CONTAINER))
|
103764
|
+
];
|
103765
|
+
pageCache.page.appendChild(DocumentRenderer.renderContainer(RendererClassNames.SHAPE_BG_CONTAINER));
|
103766
|
+
return result;
|
103767
|
+
}
|
103768
|
+
renderPageContent(page, pageIndex) {
|
103769
|
+
const pageCache = this.cache[pageIndex];
|
103770
|
+
const [mainPageAreasContainer, otherPageAreasContainer, floatingObjectsContainer] = this.renderPageContainers(pageCache);
|
103771
|
+
utils_list.ListUtils.forEach(page.mainSubDocumentPageAreas, (area) => mainPageAreasContainer.appendChild(this.renderPageArea(page.renderLevelCalculator, pageCache, area, null)));
|
103772
|
+
if (!this.viewManager.innerClientProperties.viewsSettings.isSimpleView)
|
103773
|
+
number/* NumberMapUtils */.j.forEach(page.otherPageAreas, (pageArea, subDocId) => {
|
103774
|
+
if (!pageArea.subDocument.isTextBox())
|
103775
|
+
DocumentRenderer.insertToContainerByObject(subDocId, otherPageAreasContainer, pageCache.otherAreas, this.renderPageArea(page.renderLevelCalculator, pageCache, pageArea, null));
|
103776
|
+
});
|
103777
|
+
for (let ancObjProps of this.renderPageContentGetFloatingObjects(page)) {
|
103778
|
+
switch (ancObjProps.getType()) {
|
103779
|
+
case LayoutBoxType.AnchorTextBox:
|
103780
|
+
const internalSubDocId = ancObjProps.internalSubDocId;
|
103781
|
+
DocumentRenderer.insertToContainerByObject(internalSubDocId, otherPageAreasContainer, pageCache.otherAreas, this.renderPageArea(page.renderLevelCalculator, pageCache, page.otherPageAreas[internalSubDocId], ancObjProps));
|
103782
|
+
break;
|
103783
|
+
case LayoutBoxType.AnchorPicture:
|
103784
|
+
DocumentRenderer.insertToContainerByObject(ancObjProps.objectId, floatingObjectsContainer, pageCache.anchoredPicture, this.renderFloatingPicture(ancObjProps, page.renderLevelCalculator));
|
103785
|
+
break;
|
103786
|
+
}
|
103787
|
+
}
|
103788
|
+
}
|
103789
|
+
static updatePageColor(pageElement, newColor) {
|
103790
|
+
const newStringColor = utils_color/* ColorUtils */.i.colorToHash(newColor);
|
103791
|
+
if (pageElement.style.backgroundColor != newStringColor)
|
103792
|
+
pageElement.style.backgroundColor = ColorHelper.isEmptyBgColor(newColor) ? "" : newStringColor;
|
103793
|
+
}
|
103794
|
+
static getPageAreaClassname(area) {
|
103795
|
+
switch (area.subDocument.info.getType()) {
|
103796
|
+
case SubDocumentInfoType.Main:
|
103797
|
+
case SubDocumentInfoType.Header:
|
103798
|
+
case SubDocumentInfoType.Footer:
|
103799
|
+
return RendererClassNames.PAGE_AREA;
|
103800
|
+
case SubDocumentInfoType.TextBox:
|
103801
|
+
return `${RendererClassNames.PAGE_AREA} ${RendererClassNames.FLOATING_OBJECT_TEXT_BOX_AREA}`;
|
103802
|
+
}
|
103803
|
+
throw new Error(lib_errors/* Errors */.D.InternalException);
|
103804
|
+
}
|
103805
|
+
renderPageArea(renderLevelCalculator, pageCache, area, textBox, renderContent = true) {
|
103806
|
+
const element = DocumentRenderer.renderContainer(DocumentRenderer.getPageAreaClassname(area));
|
103807
|
+
if (area.subDocument.isTextBox())
|
103808
|
+
element.style.overflow = "hidden";
|
103809
|
+
dom.DomUtils.setStyleSizeAndPosition(element.style, area);
|
103810
|
+
let level;
|
103811
|
+
switch (area.subDocument.info.getType()) {
|
103812
|
+
case SubDocumentInfoType.TextBox:
|
103813
|
+
level = renderLevelCalculator.getRenderLevel(textBox.rendererLevel);
|
103814
|
+
break;
|
103815
|
+
case SubDocumentInfoType.Footer:
|
103816
|
+
case SubDocumentInfoType.Header:
|
103817
|
+
level = renderLevelCalculator.renderHeaderFooterPageAreasLevel;
|
103818
|
+
break;
|
103819
|
+
case SubDocumentInfoType.Main:
|
103820
|
+
level = renderLevelCalculator.renderMainPageAreaLevel;
|
103821
|
+
break;
|
103822
|
+
default: throw new Error(lib_errors/* Errors */.D.NotImplemented);
|
103823
|
+
}
|
103824
|
+
if (area.subDocument.isTextBox()) {
|
103825
|
+
const textBoxShapeInfo = DocumentRenderer.renderContainer(RendererClassNames.TEXT_BOX_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.TextBoxBg));
|
103826
|
+
const oldBgElem = pageCache.textBoxBgElements[area.subDocument.id];
|
103827
|
+
if (oldBgElem)
|
103828
|
+
dom.DomUtils.hideNode(oldBgElem);
|
103829
|
+
pageCache.textBoxBgElements[area.subDocument.id] = textBoxShapeInfo;
|
103830
|
+
DocumentRenderer.setShapePropertiesToElement(textBoxShapeInfo, textBox.shape, true);
|
103831
|
+
dom.DomUtils.setStyleSize(textBoxShapeInfo.style, area);
|
103832
|
+
dom.DomUtils.setStylePosition(textBoxShapeInfo.style, textBox.getExtendedBounds());
|
103833
|
+
DocumentRenderer.setRotationInRadians(textBoxShapeInfo, textBox.rotationInRadians);
|
103834
|
+
DocumentRenderer.getTextBoxBackgroundContainer(pageCache.page).appendChild(textBoxShapeInfo);
|
103835
|
+
dom.DomUtils.setStylePosition(element.style, area);
|
103836
|
+
if (DocumentRenderer.setRotationInRadians(element, textBox.rotationInRadians))
|
103837
|
+
dom.DomUtils.addClassName(element, ZIndexHelper.getClassName(level, zIndexCssClassType.TextBox));
|
103838
|
+
}
|
103839
|
+
else {
|
103840
|
+
const color = ColorHelper.isEmptyBgColor(this.viewManager.layout.pageColor) ?
|
103841
|
+
utils_color/* ColorUtils */.i.LIGHT_COLOR : this.viewManager.layout.pageColor;
|
103842
|
+
DocumentRenderer.updatePageColor(element, color);
|
103843
|
+
}
|
103844
|
+
if (renderContent)
|
103845
|
+
for (let column of area.columns)
|
103846
|
+
element.appendChild(this.renderColumn(column, level, area.subDocument.isMain()));
|
103847
|
+
return element;
|
103848
|
+
}
|
103849
|
+
renderColumn(column, level, _isMainPageArea) {
|
103850
|
+
const columnElement = DocumentRenderer.renderContainer(RendererClassNames.COLUMN);
|
103851
|
+
dom.DomUtils.setStyleSizeAndPosition(columnElement.style, column);
|
103852
|
+
const rowsContainer = columnElement.appendChild(DocumentRenderer.renderContainer(RendererClassNames.ROWS_CONTAINER));
|
103853
|
+
const paragraphFramesContainer = columnElement.appendChild(DocumentRenderer.renderContainer(RendererClassNames.PARAGRAPHFRAMES_CONTAINER));
|
103854
|
+
const tablesContainer = columnElement.appendChild(DocumentRenderer.renderContainer(RendererClassNames.TABLES_CONTAINER));
|
103855
|
+
for (let row of column.rows)
|
103856
|
+
rowsContainer.appendChild(this.renderRow(row, level));
|
103857
|
+
for (let frame of column.paragraphFrames)
|
103858
|
+
paragraphFramesContainer.appendChild(DocumentRenderer.renderParagraphFrame(frame, level));
|
103859
|
+
for (let tableColumn of column.tablesInfo)
|
103860
|
+
tablesContainer.appendChild(DocumentRenderer.renderTable(tableColumn, level, this.viewManager.innerClientProperties.showTableGridLines));
|
103861
|
+
return columnElement;
|
103862
|
+
}
|
103863
|
+
renderRow(row, level) {
|
103864
|
+
const lastBoxIndexWhatCanStrikeoutAndUnderline = row.getLastBoxIndexWhatCanStrikeoutAndUnderline();
|
103865
|
+
const rowElement = DocumentRenderer.renderContainer(RendererClassNames.ROW);
|
103866
|
+
rowElement.innerHTML = "";
|
103867
|
+
if (row.numberingListBox) {
|
103868
|
+
let box = this.renderBox(row, row.numberingListBox.textBox, 0 > lastBoxIndexWhatCanStrikeoutAndUnderline, level).html;
|
103869
|
+
if (typeof box === 'string')
|
103870
|
+
rowElement.innerHTML += box;
|
103871
|
+
else
|
103872
|
+
rowElement.appendChild(box);
|
103873
|
+
if (row.numberingListBox.separatorBox) {
|
103874
|
+
let box = this.renderBox(row, row.numberingListBox.separatorBox, 0 > lastBoxIndexWhatCanStrikeoutAndUnderline, level).html;
|
103875
|
+
if (typeof box === 'string')
|
103876
|
+
rowElement.innerHTML += box;
|
103877
|
+
else
|
103878
|
+
rowElement.appendChild(box);
|
103879
|
+
}
|
103880
|
+
}
|
103881
|
+
let increaseRowHeight = false;
|
103882
|
+
for (let boxIndex = 0, box; box = row.boxes[boxIndex]; boxIndex++) {
|
103883
|
+
if (box.getType() == LayoutBoxType.AnchorTextBox || box.getType() == LayoutBoxType.AnchorPicture)
|
103884
|
+
continue;
|
103885
|
+
const boxRenderResult = this.renderBox(row, box, boxIndex > lastBoxIndexWhatCanStrikeoutAndUnderline, level);
|
103886
|
+
const boxRenderResultHtml = boxRenderResult.html;
|
103887
|
+
if (typeof boxRenderResultHtml === 'string')
|
103888
|
+
rowElement.innerHTML += boxRenderResultHtml;
|
103889
|
+
else
|
103890
|
+
rowElement.appendChild(boxRenderResultHtml);
|
103891
|
+
increaseRowHeight = increaseRowHeight || boxRenderResult.increaseRowHeight;
|
103892
|
+
}
|
103893
|
+
for (let bookmarkBox of row.bookmarkBoxes)
|
103894
|
+
rowElement.appendChild(DocumentRenderer.renderBookmark(bookmarkBox, level));
|
103895
|
+
dom.DomUtils.setStyleSizeAndPosition(rowElement.style, new rectangle.Rectangle(row.x, row.y + row.getSpacingBefore(), row.width, (row.height - row.getSpacingBefore()) + (increaseRowHeight ? 1 : 0)));
|
103896
|
+
return rowElement;
|
103897
|
+
}
|
103898
|
+
renderBox(row, box, noNeedUnderlineAndStrikeout, level) {
|
103899
|
+
let content = box.renderGetContent(this);
|
103900
|
+
let top = box.getTop(row);
|
103901
|
+
const left = box.x;
|
103902
|
+
if (box.characterProperties.script === CharacterFormattingScript.Subscript) {
|
103903
|
+
const multiplier = box.characterProperties.fontInfo.scriptMultiplier;
|
103904
|
+
top += unit_converter/* UnitConverter */.u.pointsToPixelsF(box.characterProperties.fontSize) * (box.characterProperties.fontInfo.subScriptOffset * multiplier - multiplier + 1);
|
103905
|
+
}
|
103906
|
+
const delta = box.height > row.height && top >= 0 ? math.MathUtils.round(box.height - row.height) * 3 / 4 : 0;
|
103907
|
+
let boxStyles = [];
|
103908
|
+
boxStyles.push("left: " + math.MathUtils.round(left, 3) + "px");
|
103909
|
+
boxStyles.push("top: " + math.MathUtils.round(top - delta, 3) + "px");
|
103910
|
+
const height = math.MathUtils.round(box.height, 3);
|
103911
|
+
boxStyles.push("height: " + height + "px");
|
103912
|
+
if (browser.Browser.MacOSPlatform || browser.Browser.MacOSMobilePlatform)
|
103913
|
+
boxStyles.push("line-height: " + height + "px");
|
103914
|
+
if (box.characterProperties.smallCaps)
|
103915
|
+
boxStyles.push("font-variant: small-caps");
|
103916
|
+
const props = box.renderGetCharacterProperties();
|
103917
|
+
const charProps = props.initProps;
|
103918
|
+
const colorProps = props.colorInfo;
|
103919
|
+
const underlineColor = colorProps.underlineColor;
|
103920
|
+
const strikeoutColor = colorProps.strikeoutColor;
|
103921
|
+
const textColor = colorProps.textColor;
|
103922
|
+
const needUnderline = !noNeedUnderlineAndStrikeout && (charProps.fontUnderlineType != UnderlineType.None) && (box.getType() != LayoutBoxType.Space || !charProps.underlineWordsOnly);
|
103923
|
+
const needStrikeout = !noNeedUnderlineAndStrikeout && (charProps.fontStrikeoutType != StrikeoutType.None) && (box.getType() != LayoutBoxType.Space || !charProps.strikeoutWordsOnly);
|
103924
|
+
const noStrikeoutAndUnderline = (needStrikeout && needUnderline) || (needStrikeout && strikeoutColor != ColorHelper.AUTOMATIC_COLOR) || (needUnderline && underlineColor != ColorHelper.AUTOMATIC_COLOR);
|
103925
|
+
let commonStyles;
|
103926
|
+
if (noStrikeoutAndUnderline) {
|
103927
|
+
commonStyles = HtmlConverter.getCssRules(charProps, textColor, box.renderIsWordBox(), noStrikeoutAndUnderline, true);
|
103928
|
+
boxStyles = boxStyles.concat(HtmlConverter.getSizeSignificantRules(charProps));
|
103929
|
+
boxStyles.push(HtmlConverter.getForeColorRule(textColor));
|
103930
|
+
const needColor = strikeoutColor != ColorHelper.AUTOMATIC_COLOR ||
|
103931
|
+
underlineColor != ColorHelper.AUTOMATIC_COLOR;
|
103932
|
+
if (needColor && (!needStrikeout || strikeoutColor != ColorHelper.AUTOMATIC_COLOR)) {
|
103933
|
+
const span = document.createElement('span');
|
103934
|
+
span.style.cssText = commonStyles.join(";") + ';color: ' + ColorHelper.getCssString(textColor, true);
|
103935
|
+
if (typeof content === 'string') {
|
103936
|
+
span.innerHTML = content;
|
103937
|
+
}
|
103938
|
+
else {
|
103939
|
+
span.appendChild(content);
|
103940
|
+
}
|
103941
|
+
content = span;
|
103942
|
+
}
|
103943
|
+
if (needStrikeout) {
|
103944
|
+
const strikeoutColorStyle = needColor ? ("color: " + ColorHelper.getCssString(strikeoutColor == ColorHelper.AUTOMATIC_COLOR ? textColor : strikeoutColor, true)) : "";
|
103945
|
+
const span = document.createElement('span');
|
103946
|
+
span.style.cssText = commonStyles.join(";") + ';text-decoration: line-through;' + strikeoutColorStyle;
|
103947
|
+
if (typeof content === 'string') {
|
103948
|
+
span.innerHTML = content;
|
103949
|
+
}
|
103950
|
+
else {
|
103951
|
+
span.appendChild(content);
|
103952
|
+
}
|
103953
|
+
content = span;
|
103954
|
+
}
|
103955
|
+
if (needUnderline) {
|
103956
|
+
const underlineColorStyle = needColor ? ("color: " + ColorHelper.getCssString(underlineColor == ColorHelper.AUTOMATIC_COLOR ? textColor : underlineColor, true)) : "";
|
103957
|
+
const span = document.createElement('span');
|
103958
|
+
span.style.cssText = commonStyles.join(";") + ';text-decoration: underline;' + underlineColorStyle;
|
103959
|
+
if (typeof content === 'string') {
|
103960
|
+
span.innerHTML = content;
|
103961
|
+
}
|
103962
|
+
else {
|
103963
|
+
span.appendChild(content);
|
103964
|
+
}
|
103965
|
+
content = span;
|
103966
|
+
}
|
103967
|
+
}
|
103968
|
+
else
|
103969
|
+
boxStyles = boxStyles.concat(HtmlConverter.getCssRules(charProps, textColor, box.renderIsWordBox(), noNeedUnderlineAndStrikeout, true));
|
103970
|
+
let boxClass = "";
|
103971
|
+
switch (box.getType()) {
|
103972
|
+
case LayoutBoxType.Text:
|
103973
|
+
case LayoutBoxType.LayoutDependent:
|
103974
|
+
case LayoutBoxType.FieldCodeEnd:
|
103975
|
+
case LayoutBoxType.FieldCodeStart:
|
103976
|
+
case LayoutBoxType.ColumnBreak:
|
103977
|
+
case LayoutBoxType.LineBreak:
|
103978
|
+
case LayoutBoxType.PageBreak:
|
103979
|
+
case LayoutBoxType.ParagraphMark:
|
103980
|
+
case LayoutBoxType.SectionMark:
|
103981
|
+
boxClass = RendererClassNames.BOX + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.Box);
|
103982
|
+
break;
|
103983
|
+
default:
|
103984
|
+
boxClass = RendererClassNames.BOX_SPACE + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.BoxSpace);
|
103985
|
+
}
|
103986
|
+
if (charProps.hidden && this.viewManager.innerClientProperties.showHiddenSymbols)
|
103987
|
+
boxClass += ' ' + RendererClassNames.HIDDEN_BOX;
|
103988
|
+
const result = new DocumentFragment();
|
103989
|
+
const contentSpan = document.createElement('span');
|
103990
|
+
contentSpan.style.cssText = boxStyles.join(";");
|
103991
|
+
contentSpan.setAttribute('class', boxClass);
|
103992
|
+
if (typeof content === 'string') {
|
103993
|
+
contentSpan.innerHTML = content;
|
103994
|
+
}
|
103995
|
+
else if (!!content) {
|
103996
|
+
contentSpan.appendChild(content);
|
103997
|
+
}
|
103998
|
+
result.appendChild(contentSpan);
|
103999
|
+
const backColor = colorProps.foregroundColor;
|
104000
|
+
if (box.fieldLevel && (backColor == ColorHelper.AUTOMATIC_COLOR || backColor == ColorHelper.NO_COLOR)) {
|
104001
|
+
let fieldBgClass = RendererClassNames.FIELD_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.FieldBg);
|
104002
|
+
switch (box.fieldLevel) {
|
104003
|
+
case 1:
|
104004
|
+
fieldBgClass += ' ' + RendererClassNames.FIELD_BOX_LEVEL1;
|
104005
|
+
break;
|
104006
|
+
case 2:
|
104007
|
+
fieldBgClass += ' ' + RendererClassNames.FIELD_BOX_LEVEL2;
|
104008
|
+
break;
|
104009
|
+
default: fieldBgClass += ' ' + RendererClassNames.FIELD_BOX_LEVEL3;
|
104010
|
+
}
|
104011
|
+
const span = document.createElement('span');
|
104012
|
+
span.setAttribute('class', fieldBgClass);
|
104013
|
+
span.style.cssText = 'top: ' + math.MathUtils.round(top, 3) + 'px; left: ' + math.MathUtils.round(left, 3) + 'px; width: ' +
|
104014
|
+
math.MathUtils.round(box.width, 3) + 'px; height: ' + math.MathUtils.round(box.height, 3) + 'px';
|
104015
|
+
result.appendChild(span);
|
104016
|
+
}
|
104017
|
+
if (utils_color/* ColorUtils */.i.getAlpha(backColor) > 0 && !noNeedUnderlineAndStrikeout) {
|
104018
|
+
const height = row.height - row.getSpacingAfter();
|
104019
|
+
const bgBoxStyle = "top: 0px; left: " + Math.floor(box.x) + "px; width: " + Math.ceil(box.width) + "px; height: " + math.MathUtils.round(height, 3) +
|
104020
|
+
"px; background: " + ColorHelper.getCssStringInternal(backColor) + ";";
|
104021
|
+
const span = document.createElement('span');
|
104022
|
+
span.setAttribute('class', RendererClassNames.BOX_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.BoxBg));
|
104023
|
+
span.style.cssText = bgBoxStyle;
|
104024
|
+
result.appendChild(span);
|
104025
|
+
}
|
104026
|
+
if (box.hyperlinkTip) {
|
104027
|
+
const tip = CanvasUtils.buildHyperlinkTipString(box.hyperlinkTip, this.viewManager.stringResources.commonLabels.clickToFollowHyperlink, this.viewManager.fieldOptions);
|
104028
|
+
if (tip) {
|
104029
|
+
const span = document.createElement('span');
|
104030
|
+
span.setAttribute('title', tip);
|
104031
|
+
result.replaceChild(span, contentSpan);
|
104032
|
+
span.appendChild(contentSpan);
|
104033
|
+
}
|
104034
|
+
}
|
104035
|
+
return new BoxRenderResult(result, charProps.hidden);
|
104036
|
+
}
|
104037
|
+
static renderBookmark(box, level) {
|
104038
|
+
const className = (box.boxType == LayoutBookmarkBoxType.StartBox ?
|
104039
|
+
RendererClassNames.START_BOOKMARK :
|
104040
|
+
RendererClassNames.END_BOOKMARK) + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.Bookmark);
|
104041
|
+
const div = document.createElement('div');
|
104042
|
+
div.setAttribute('class', className);
|
104043
|
+
div.style.cssText = `width: ${math.MathUtils.round(box.width, 3)}px; height: ${math.MathUtils.round(box.height, 3)}px; ` +
|
104044
|
+
`left: ${math.MathUtils.round(box.x, 3)}px; top: ${math.MathUtils.round(box.y, 3)}px; border-color: ${box.color}`;
|
104045
|
+
return div;
|
104046
|
+
}
|
104047
|
+
renderPicture(box) {
|
104048
|
+
return this.renderPictureBoxContent(box.createSize(), box.cacheInfo, box.hyperlinkTip, box.description);
|
104049
|
+
}
|
104050
|
+
renderFloatingPicture(box, renderLevelCalculator) {
|
104051
|
+
const element = DocumentRenderer.renderContainer(RendererClassNames.ANCHORED_PICTURE + " " + ZIndexHelper.getClassName(renderLevelCalculator.getRenderLevel(box.rendererLevel), zIndexCssClassType.AnchoredPicture));
|
104052
|
+
dom.DomUtils.setStyleSize(element.style, box);
|
104053
|
+
dom.DomUtils.setStylePosition(element.style, new geometry_point.Point(box.x - box.shape.outlineWidth, box.y - box.shape.outlineWidth));
|
104054
|
+
DocumentRenderer.setShapePropertiesToElement(element, box.shape, false);
|
104055
|
+
DocumentRenderer.setRotationInRadians(element, box.rotationInRadians);
|
104056
|
+
const content = box.renderGetContent(this);
|
104057
|
+
element.innerHTML = '';
|
104058
|
+
if (typeof content === 'string') {
|
104059
|
+
element.innerHTML = content;
|
104060
|
+
}
|
104061
|
+
else {
|
104062
|
+
element.appendChild(content);
|
104063
|
+
}
|
104064
|
+
return element;
|
104065
|
+
}
|
104066
|
+
static setShapePropertiesToElement(element, shape, isTextBox) {
|
104067
|
+
element.style.backgroundColor = ColorHelper.getCssStringInternal(shape.fillColor);
|
104068
|
+
element.style.borderStyle = DocumentRenderer.borderTypeToString(BorderLineStyle.Single);
|
104069
|
+
element.style.borderColor = ColorHelper.getCssString(shape.outlineColor, false);
|
104070
|
+
element.style.borderWidth = Math.max(isTextBox ? 1 : 0, shape.outlineWidth).toString() + "px";
|
104071
|
+
element.style.boxSizing = "content-box";
|
104072
|
+
}
|
104073
|
+
static setRotationInRadians(element, rotation) {
|
104074
|
+
const isSetRotation = rotation != 0;
|
104075
|
+
element.style.transform = isSetRotation ? "rotate(" + rotation + "rad)" : "none";
|
104076
|
+
return isSetRotation;
|
104077
|
+
}
|
104078
|
+
static renderParagraphFrame(paragraphFrame, level) {
|
104079
|
+
const element = DocumentRenderer.renderContainer(RendererClassNames.PARAGRAPH_FRAME + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.ParBg));
|
104080
|
+
DocumentRenderer.updateParagraphFrame(paragraphFrame, element);
|
104081
|
+
return element;
|
104082
|
+
}
|
104083
|
+
static updateParagraphFrame(frame, frameElement) {
|
104084
|
+
dom.DomUtils.setStyleSizeAndPosition(frameElement.style, frame);
|
104085
|
+
frameElement.style.background = ColorHelper.getCssStringInternal(frame.paragraphColor);
|
104086
|
+
}
|
104087
|
+
static renderTable(tableColumnInfo, level, showTableGridLines) {
|
104088
|
+
const tblXPos = tableColumnInfo.x;
|
104089
|
+
const tblYPos = tableColumnInfo.y;
|
104090
|
+
const tblBgColor = tableColumnInfo.logicInfo.backgroundColor;
|
104091
|
+
const tableElement = DocumentRenderer.renderContainer(RendererClassNames.TABLE_ELEMENTS_CONTAINER);
|
104092
|
+
dom.DomUtils.setStylePosition(tableElement.style, tableColumnInfo);
|
104093
|
+
const tblBordersContainer = tableElement.appendChild(DocumentRenderer.renderContainer(RendererClassNames.TABLE_BORDERS_CONTAINER));
|
104094
|
+
const tblRowsBgContainer = tableElement.appendChild(DocumentRenderer.renderContainer(RendererClassNames.TABLE_ROW_BACKGROUND_CONTAINER));
|
104095
|
+
const tblCellsBgContainer = tableElement.appendChild(DocumentRenderer.renderContainer(RendererClassNames.TABLE_CELL_BACKGROUND_CONTAINER));
|
104096
|
+
const tblCursorsContainer = DocumentRenderer.renderContainer(RendererClassNames.TABLE_CURSORS_CONTAINER);
|
104097
|
+
tblCursorsContainer.style.width = tableColumnInfo.width + "px";
|
104098
|
+
tblCursorsContainer.style.height = tableColumnInfo.height + "px";
|
104099
|
+
tableElement.appendChild(tblCursorsContainer);
|
104100
|
+
tblCursorsContainer["dxTableIndex"] = tableColumnInfo.logicInfo.grid.table.index;
|
104101
|
+
for (let i = 0, border; border = tableColumnInfo.horizontalBorders[i]; i++)
|
104102
|
+
DocumentRenderer.renderHorizontalBorder(tblBordersContainer, border, level, showTableGridLines);
|
104103
|
+
for (let i = 0, border; border = tableColumnInfo.verticalBorders[i]; i++)
|
104104
|
+
DocumentRenderer.renderVerticalBorder(tblBordersContainer, border, level, showTableGridLines);
|
104105
|
+
if (tableColumnInfo.logicInfo.isEditable) {
|
104106
|
+
for (let border of tableColumnInfo.verticalCursorBorders) {
|
104107
|
+
let element = DocumentRenderer.renderContainer(RendererClassNames.TABLE_COLUMN_CURSOR + " " +
|
104108
|
+
ZIndexHelper.getClassName(level, zIndexCssClassType.TblCursor));
|
104109
|
+
dom.DomUtils.setStylePosition(element.style, new geometry_point.Point(border.xPos, border.yPos));
|
104110
|
+
element.style.height = border.length + "px";
|
104111
|
+
tblCursorsContainer.appendChild(element);
|
104112
|
+
}
|
104113
|
+
for (let border of tableColumnInfo.horizontalCursorBorders) {
|
104114
|
+
let element = DocumentRenderer.renderContainer(RendererClassNames.TABLE_ROW_CURSOR + " " +
|
104115
|
+
ZIndexHelper.getClassName(level, zIndexCssClassType.TblCursor));
|
104116
|
+
dom.DomUtils.setStylePosition(element.style, new geometry_point.Point(border.xPos, border.yPos));
|
104117
|
+
element.style.width = border.length + "px";
|
104118
|
+
element["dxLayoutRowIndex"] = border.layoutRowIndex;
|
104119
|
+
tblCursorsContainer.appendChild(element);
|
104120
|
+
}
|
104121
|
+
}
|
104122
|
+
for (let tblRow of tableColumnInfo.tableRows) {
|
104123
|
+
DocumentRenderer.renderTableBackgroundElement(RendererClassNames.TABLE_ROW_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.TblRowBg), tblRowsBgContainer, tblRow, tblXPos, tblYPos, tblBgColor);
|
104124
|
+
for (let cellBgInfo of tblRow.backgroundInfos)
|
104125
|
+
DocumentRenderer.renderTableBackgroundElement(RendererClassNames.TABLE_CELL_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.TblCellBg), tblCellsBgContainer, cellBgInfo, 0, 0, cellBgInfo.color);
|
104126
|
+
}
|
104127
|
+
return tableElement;
|
104128
|
+
}
|
104129
|
+
static renderTableBackgroundElement(className, container, bound, tblXPos, tblYPos, color) {
|
104130
|
+
if (ColorHelper.isEmptyBgColor(color))
|
104131
|
+
return;
|
104132
|
+
const elem = DocumentRenderer.renderContainer(className);
|
104133
|
+
dom.DomUtils.setStylePosition(elem.style, new geometry_point.Point(bound.x - tblXPos, bound.y - tblYPos));
|
104134
|
+
dom.DomUtils.setStyleSize(elem.style, bound);
|
104135
|
+
elem.style.backgroundColor = utils_color/* ColorUtils */.i.colorToHash(color);
|
104136
|
+
container.appendChild(elem);
|
104137
|
+
}
|
104138
|
+
static renderVerticalBorder(tableBordersContainer, border, level, showTableGridLines) {
|
104139
|
+
const borderInfo = border.borderInfo;
|
104140
|
+
if (DocumentRenderer.isNotRenderTableBorder(borderInfo)) {
|
104141
|
+
if (showTableGridLines) {
|
104142
|
+
const element = DocumentRenderer.createBorderElement(utils_color/* ColorUtils */.i.LIGHT_COLOR, level);
|
104143
|
+
dom.DomUtils.setStyleSizeAndPosition(element.style, new rectangle.Rectangle(border.xPos, border.yPos, 0, border.length));
|
104144
|
+
element.style.borderStyle = "None";
|
104145
|
+
element.style.borderRightWidth = DocumentRenderer.getTableGridLineBorderWidth();
|
104146
|
+
element.style.borderRightStyle = "dashed";
|
104147
|
+
tableBordersContainer.appendChild(element);
|
104148
|
+
}
|
104149
|
+
}
|
104150
|
+
else {
|
104151
|
+
const element = DocumentRenderer.createBorderElement(borderInfo.color, level);
|
104152
|
+
dom.DomUtils.setStyleSizeAndPosition(element.style, new rectangle.Rectangle(border.xPos, border.yPos, 0, border.length));
|
104153
|
+
element.style.backgroundColor = "";
|
104154
|
+
element.style.borderStyle = "None";
|
104155
|
+
element.style.borderRightColor = utils_color/* ColorUtils */.i.colorToHash(borderInfo.color);
|
104156
|
+
element.style.borderRightWidth = DocumentRenderer.getBorderTypeWidth(borderInfo);
|
104157
|
+
element.style.borderRightStyle = DocumentRenderer.borderTypeToString(borderInfo.style);
|
104158
|
+
tableBordersContainer.appendChild(element);
|
104159
|
+
}
|
104160
|
+
}
|
104161
|
+
static getTableGridLineBorderWidth() {
|
104162
|
+
const devicePixelRatio = window.devicePixelRatio;
|
104163
|
+
if (browser.Browser.Chrome && devicePixelRatio > 1 && devicePixelRatio < 1.5)
|
104164
|
+
return "1.5px";
|
104165
|
+
return "1px";
|
104166
|
+
}
|
104167
|
+
static renderHorizontalBorder(tableBordersContainer, border, level, showTableGridLines) {
|
104168
|
+
const borderInfo = border.borderInfo;
|
104169
|
+
if (DocumentRenderer.isNotRenderTableBorder(borderInfo)) {
|
104170
|
+
if (!showTableGridLines)
|
104171
|
+
return;
|
104172
|
+
const element = DocumentRenderer.createBorderElement(utils_color/* ColorUtils */.i.LIGHT_COLOR, level);
|
104173
|
+
dom.DomUtils.setStyleSizeAndPosition(element.style, new rectangle.Rectangle(border.xPos, border.yPos, border.length, 0));
|
104174
|
+
element.style.borderStyle = "None";
|
104175
|
+
element.style.borderBottomWidth = DocumentRenderer.getTableGridLineBorderWidth();
|
104176
|
+
element.style.borderBottomStyle = "dashed";
|
104177
|
+
tableBordersContainer.appendChild(element);
|
104178
|
+
}
|
104179
|
+
else {
|
104180
|
+
const element = DocumentRenderer.createBorderElement(borderInfo.color, level);
|
104181
|
+
dom.DomUtils.setStyleSizeAndPosition(element.style, new rectangle.Rectangle(border.xPos, border.yPos, border.length, 0));
|
104182
|
+
element.style.backgroundColor = "";
|
104183
|
+
element.style.borderStyle = "None";
|
104184
|
+
element.style.borderBottomColor = utils_color/* ColorUtils */.i.colorToHash(borderInfo.color);
|
104185
|
+
element.style.borderBottomWidth = DocumentRenderer.getBorderTypeWidth(borderInfo);
|
104186
|
+
element.style.borderBottomStyle = DocumentRenderer.borderTypeToString(borderInfo.style);
|
104187
|
+
tableBordersContainer.appendChild(element);
|
104188
|
+
}
|
104189
|
+
}
|
104190
|
+
static createBorderElement(color, level) {
|
104191
|
+
const element = DocumentRenderer.renderContainer(RendererClassNames.TABLE_BORDER + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.TableBorder));
|
104192
|
+
element.style.backgroundColor = utils_color/* ColorUtils */.i.colorToHash(color);
|
104193
|
+
return element;
|
104194
|
+
}
|
104195
|
+
static isNotRenderTableBorder(borderInfo) {
|
104196
|
+
return !borderInfo || borderInfo.style == BorderLineStyle.None || borderInfo.style == BorderLineStyle.Nil;
|
104197
|
+
}
|
104198
|
+
static borderTypeToString(style) {
|
104199
|
+
const str = DocumentRenderer.mapBorderTypeToString[style];
|
104200
|
+
return str ? str : "solid";
|
104201
|
+
}
|
104202
|
+
static getBorderTypeWidth(borderInfo) {
|
104203
|
+
const mimWidth = this.getBorderTypeMinWidth(borderInfo.style);
|
104204
|
+
return Math.max(mimWidth, borderInfo.width) + "px";
|
104205
|
+
}
|
104206
|
+
static getBorderTypeMinWidth(style) {
|
104207
|
+
if (style == BorderLineStyle.Double)
|
104208
|
+
return 3;
|
104209
|
+
return 1;
|
104210
|
+
}
|
104211
|
+
static getServiceContainerCore(pageElement) {
|
104212
|
+
return pageElement.firstChild;
|
104213
|
+
}
|
104214
|
+
static getSelectionContainerCore(pageElement) {
|
104215
|
+
return pageElement.childNodes[1];
|
104216
|
+
}
|
104217
|
+
static getSearchSelectionContainerCore(pageElement) {
|
104218
|
+
return pageElement.childNodes[2];
|
104219
|
+
}
|
104220
|
+
static getMisspelledSelectionContainerCore(pageElement) {
|
104221
|
+
return pageElement.childNodes[3];
|
104222
|
+
}
|
104223
|
+
static getRangePermissionsContainerCore(pageElement) {
|
104224
|
+
return pageElement.childNodes[4];
|
104225
|
+
}
|
104226
|
+
static isPageElementConsiderAllContainers(pageElement) {
|
104227
|
+
return pageElement.childNodes.length > 1;
|
104228
|
+
}
|
104229
|
+
static getMainPageAreaContainerCore(pageElement) {
|
104230
|
+
return pageElement.childNodes[5];
|
104231
|
+
}
|
104232
|
+
static getOtherPageAreaContainerCore(pageElement) {
|
104233
|
+
return pageElement.childNodes[6];
|
104234
|
+
}
|
104235
|
+
static getAnchoredObjectsContainer(pageElement) {
|
104236
|
+
return pageElement.childNodes[7];
|
104237
|
+
}
|
104238
|
+
static getTextBoxBackgroundContainer(pageElement) {
|
104239
|
+
return pageElement.childNodes[8];
|
104240
|
+
}
|
104241
|
+
static getRowsContainerCore(columnElement) {
|
104242
|
+
return columnElement.firstChild;
|
104243
|
+
}
|
104244
|
+
static getParagraphFramesContainerCore(columnElement) {
|
104245
|
+
return browser.Browser.Chrome ? columnElement.firstChild.nextSibling : columnElement.childNodes[1];
|
104246
|
+
}
|
104247
|
+
static getTablesContainerCore(columnElement) {
|
104248
|
+
return columnElement.lastChild;
|
104249
|
+
}
|
104250
|
+
static getColumnsContainerCore(pageAreaElement) {
|
104251
|
+
return pageAreaElement;
|
104252
|
+
}
|
104253
|
+
static renderContainer(className) {
|
104254
|
+
const element = document.createElement("DIV");
|
104255
|
+
element.className = className;
|
104256
|
+
return element;
|
104257
|
+
}
|
104258
|
+
static removeFromContainerByIndex(node, index, getContainer) {
|
104259
|
+
const container = getContainer(node);
|
104260
|
+
const child = container.childNodes[index];
|
104261
|
+
if (child)
|
104262
|
+
container.removeChild(child);
|
104263
|
+
}
|
104264
|
+
static replaceInContainer(node, index, newRenderedElement, getContainer) {
|
104265
|
+
const container = getContainer(node);
|
104266
|
+
container.replaceChild(newRenderedElement, container.childNodes[index]);
|
104267
|
+
}
|
104268
|
+
static insertInContainer(node, index, newRenderedElement, getContainer) {
|
104269
|
+
const container = getContainer(node);
|
104270
|
+
if (index < container.childNodes.length)
|
104271
|
+
container.insertBefore(newRenderedElement, container.childNodes[index]);
|
104272
|
+
else
|
104273
|
+
container.appendChild(newRenderedElement);
|
104274
|
+
}
|
104275
|
+
static removeFromContainerByObject(id, container, cache) {
|
104276
|
+
const obj = cache[id];
|
104277
|
+
if (obj) {
|
104278
|
+
container.removeChild(obj);
|
104279
|
+
delete cache[id];
|
104280
|
+
}
|
104281
|
+
}
|
104282
|
+
static replaceFromContainerByObject(id, container, cache, newNode) {
|
104283
|
+
container.replaceChild(newNode, cache[id]);
|
104284
|
+
cache[id] = newNode;
|
104285
|
+
}
|
104286
|
+
static insertToContainerByObject(id, container, cache, newNode) {
|
104287
|
+
cache[id] = newNode;
|
104288
|
+
container.appendChild(newNode);
|
104289
|
+
}
|
104290
|
+
static isPageElementEmpty(pageElement) {
|
104291
|
+
return pageElement.childNodes.length == 0;
|
104292
|
+
}
|
104293
|
+
renderPictureBoxContent(size, cacheInfo, tip, altText) {
|
104294
|
+
const tooltip = tip ? CanvasUtils.buildHyperlinkTipString(tip, this.viewManager.stringResources.commonLabels.clickToFollowHyperlink, this.viewManager.fieldOptions) : "";
|
104295
|
+
const img = document.createElement('img');
|
104296
|
+
img.setAttribute('src', cacheInfo.base64);
|
104297
|
+
if (tooltip) {
|
104298
|
+
img.setAttribute('title', tooltip);
|
104299
|
+
}
|
104300
|
+
if ((0,common.isDefined)(altText) && !utils_string.StringUtils.isNullOrEmpty(altText))
|
104301
|
+
img.alt = altText;
|
104302
|
+
img.style.cssText = `height: ${math.MathUtils.round(size.height, 3)}px; width: ${math.MathUtils.round(size.width, 3)}px; vertical-align: baseline`;
|
104303
|
+
img.setAttribute('class', RendererClassNames.PICTURE);
|
104304
|
+
return img;
|
104305
|
+
}
|
104306
|
+
}
|
104307
|
+
DocumentRenderer.mapBorderTypeToString = new MapCreator()
|
104308
|
+
.add(BorderLineStyle.Single, "solid")
|
104309
|
+
.add(BorderLineStyle.Dotted, "dotted")
|
104310
|
+
.add(BorderLineStyle.Dashed, "dashed")
|
104311
|
+
.add(BorderLineStyle.Double, "double")
|
104312
|
+
.add(BorderLineStyle.DashSmallGap, "dashed")
|
104313
|
+
.add(BorderLineStyle.DotDash, "dashed")
|
104314
|
+
.add(BorderLineStyle.DotDotDash, "dashed")
|
104315
|
+
.get();
|
104316
|
+
class DocumentRendererPageCache {
|
104317
|
+
constructor(page) {
|
104318
|
+
this.page = page;
|
104319
|
+
this.init();
|
104320
|
+
}
|
104321
|
+
removeContent() {
|
104322
|
+
const serviceContainer = DocumentRenderer.getServiceContainerCore(this.page);
|
104323
|
+
dom.DomUtils.clearInnerHtml(this.page);
|
104324
|
+
this.page.appendChild(serviceContainer);
|
104325
|
+
this.init();
|
104326
|
+
}
|
104327
|
+
init() {
|
104328
|
+
this.otherAreas = {};
|
104329
|
+
this.anchoredPicture = {};
|
104330
|
+
this.textBoxBgElements = {};
|
104331
|
+
}
|
104332
|
+
}
|
104333
|
+
class BoxRenderResult {
|
104334
|
+
constructor(html, increaseRowHeight) {
|
104335
|
+
this.html = html;
|
104336
|
+
this.increaseRowHeight = increaseRowHeight;
|
104337
|
+
}
|
104338
|
+
toString() {
|
104339
|
+
if (typeof this.html === 'string')
|
104340
|
+
return this.html;
|
104341
|
+
else {
|
104342
|
+
const result = [];
|
104343
|
+
if (this.html) {
|
104344
|
+
const length = this.html.children.length;
|
104345
|
+
for (let i = 0; i < length; i++) {
|
104346
|
+
result.push(this.html.children.item(i).outerHTML);
|
104347
|
+
}
|
104348
|
+
}
|
104349
|
+
return result.join('');
|
104350
|
+
}
|
104351
|
+
}
|
104352
|
+
}
|
104353
|
+
|
104330
104354
|
;// CONCATENATED MODULE: ./src/common/canvas/listeners/frame-base-listener.ts
|
104331
104355
|
|
104332
104356
|
|
@@ -105786,8 +105810,8 @@ class ResizeBoxHelper {
|
|
105786
105810
|
}
|
105787
105811
|
}
|
105788
105812
|
getSize(evt) {
|
105789
|
-
var absDeltaX = evt.absolutePoint.x - (this.startScrollLeft - evt.scroll.x) - this.startX;
|
105790
|
-
var absDeltaY = evt.absolutePoint.y - (this.startScrollTop - evt.scroll.y) - this.startY;
|
105813
|
+
var absDeltaX = (evt.absolutePoint.x - (this.startScrollLeft - evt.scroll.x) - this.startX) / this.control.viewManager.zoomLevel;
|
105814
|
+
var absDeltaY = (evt.absolutePoint.y - (this.startScrollTop - evt.scroll.y) - this.startY) / this.control.viewManager.zoomLevel;
|
105791
105815
|
var deltaX = absDeltaX * Math.cos(this.rotation) - (-absDeltaY) * Math.sin(this.rotation);
|
105792
105816
|
var deltaY = -(absDeltaX * Math.sin(this.rotation) + (-absDeltaY) * Math.cos(this.rotation));
|
105793
105817
|
var newWidth, newHeight;
|
@@ -107908,6 +107932,7 @@ class DimensionInfo {
|
|
107908
107932
|
|
107909
107933
|
|
107910
107934
|
|
107935
|
+
|
107911
107936
|
const SCROLL_INTERVAL_MS = 50;
|
107912
107937
|
const CSSCLASS_FOCUSED = "dxreInFocus";
|
107913
107938
|
const AUTOSCROLL_AREA_SIZE = 10;
|
@@ -107925,6 +107950,7 @@ class CanvasManager extends batch_updatable/* BatchUpdatableObject */.IS {
|
|
107925
107950
|
this.blockNotPointerEvents = false;
|
107926
107951
|
this.lastPointerPosition = { x: -1, y: -1 };
|
107927
107952
|
this.evtHandlersHolder = new event_handlers_holder/* DomEventHandlersHolder */.$();
|
107953
|
+
this.simpleViewCanvasSizeManager = new SimpleViewCanvasSizeManager(this, viewManager.control);
|
107928
107954
|
this.viewManager = viewManager;
|
107929
107955
|
this.eventManager = eventManager;
|
107930
107956
|
this.initCommonEvents();
|
@@ -107943,6 +107969,8 @@ class CanvasManager extends batch_updatable/* BatchUpdatableObject */.IS {
|
|
107943
107969
|
}
|
107944
107970
|
dispose() {
|
107945
107971
|
this.evtHandlersHolder.removeAllListeners();
|
107972
|
+
this.simpleViewCanvasSizeManager.dispose();
|
107973
|
+
this.simpleViewCanvasSizeManager = null;
|
107946
107974
|
}
|
107947
107975
|
onUpdateUnlocked(_occurredEvents) {
|
107948
107976
|
this.viewManager.canvasListener.updateVisibleParts();
|
@@ -107969,7 +107997,7 @@ class CanvasManager extends batch_updatable/* BatchUpdatableObject */.IS {
|
|
107969
107997
|
dom.DomUtils.removeClassName(this.viewManager.canvas, CSSCLASS_FOCUSED);
|
107970
107998
|
}
|
107971
107999
|
getCanvasWidth() {
|
107972
|
-
return SizeUtils.getClientWidth(this.viewManager.canvas);
|
108000
|
+
return SizeUtils.getClientWidth(this.viewManager.canvas) / this.viewManager.zoomLevel;
|
107973
108001
|
}
|
107974
108002
|
onCanvasMouseWheel(evt) {
|
107975
108003
|
if (!this.viewManager.layout)
|
@@ -108131,7 +108159,7 @@ class CanvasManager extends batch_updatable/* BatchUpdatableObject */.IS {
|
|
108131
108159
|
this.saveMousePosition(evt);
|
108132
108160
|
}
|
108133
108161
|
getScale(actualSize, originalSize) {
|
108134
|
-
return actualSize != 0 && originalSize != 0 ? actualSize / originalSize : 1;
|
108162
|
+
return (actualSize != 0 && originalSize != 0 ? actualSize / originalSize : 1) * this.viewManager.zoomLevel;
|
108135
108163
|
}
|
108136
108164
|
getLayoutPoint(evt, checkScroll) {
|
108137
108165
|
if (!this.viewManager.layout)
|
@@ -108144,12 +108172,14 @@ class CanvasManager extends batch_updatable/* BatchUpdatableObject */.IS {
|
|
108144
108172
|
const clientY = utils_evt/* EvtUtils */.g.getEventY(evt) / scaleY;
|
108145
108173
|
const canvasX = dom.DomUtils.getAbsolutePositionX(canvas) / scaleX;
|
108146
108174
|
const canvasY = dom.DomUtils.getAbsolutePositionY(canvas) / scaleY;
|
108147
|
-
const offsetY = canvas.scrollTop + clientY - canvasY;
|
108175
|
+
const offsetY = canvas.scrollTop / scaleY + clientY - canvasY;
|
108148
108176
|
const pageIndex = this.sizes.findPageIndexByOffsetY(this.viewManager.layout.pages, offsetY);
|
108177
|
+
const visibleAreaWidth = this.sizes.getVisibleAreaWidth(false) / scaleX;
|
108178
|
+
const visibleAreaHeight = this.sizes.getVisibleAreaHeight(false) / scaleY;
|
108149
108179
|
if (checkScroll) {
|
108150
|
-
if (this.sizes.scrollYVisible && canvasX +
|
108180
|
+
if (this.sizes.scrollYVisible && canvasX + visibleAreaWidth - clientX < 0)
|
108151
108181
|
return LayoutPoint.Empty();
|
108152
|
-
if (this.sizes.scrollXVisible && canvasY +
|
108182
|
+
if (this.sizes.scrollXVisible && canvasY + visibleAreaHeight - clientY < 0)
|
108153
108183
|
return LayoutPoint.Empty();
|
108154
108184
|
}
|
108155
108185
|
const layoutPage = this.viewManager.layout.pages[pageIndex];
|
@@ -109758,6 +109788,8 @@ class SelectionRenderer extends SelectionRendererBase {
|
|
109758
109788
|
|
109759
109789
|
|
109760
109790
|
|
109791
|
+
|
109792
|
+
|
109761
109793
|
|
109762
109794
|
|
109763
109795
|
|
@@ -109865,6 +109897,7 @@ class ViewManager {
|
|
109865
109897
|
}
|
109866
109898
|
addTopLevelContainers() {
|
109867
109899
|
this.pagesContainer = DocumentRenderer.renderContainer(RendererClassNames.PAGES);
|
109900
|
+
this.pagesContainer.style.zoom = this.zoomLevel.toString();
|
109868
109901
|
this.serviceContainer = DocumentRenderer.renderContainer(RendererClassNames.TOP_LEVEL_SERVICE_CONTAINER);
|
109869
109902
|
DocumentRenderer.insertInContainer(this.canvas, 0, this.pagesContainer, (node) => node);
|
109870
109903
|
this.canvas.appendChild(this.serviceContainer);
|
@@ -109901,6 +109934,20 @@ class ViewManager {
|
|
109901
109934
|
firstPage.flags.set(LayoutPageFlags.ContentRendered, true);
|
109902
109935
|
}
|
109903
109936
|
}
|
109937
|
+
get zoomLevel() { return this.innerClientProperties.viewsSettings.zoomLevel; }
|
109938
|
+
set zoomLevel(value) {
|
109939
|
+
this.pagesContainer.style.zoom = value.toString();
|
109940
|
+
this.innerClientProperties.viewsSettings.zoomLevel = value;
|
109941
|
+
if (this.control.innerClientProperties.viewsSettings.isSimpleView) {
|
109942
|
+
this.canvasManager.simpleViewCanvasSizeManager.changeSize(true);
|
109943
|
+
}
|
109944
|
+
this.control.horizontalRulerControl.update();
|
109945
|
+
}
|
109946
|
+
get allowZoom() { return ControlOptions.isEnabled(this.control.modelManager.richOptions.control.allowZoom); }
|
109947
|
+
set allowZoom(value) {
|
109948
|
+
this.control.modelManager.richOptions.control.allowZoom = value ? DocumentCapability.Enabled : DocumentCapability.Hidden;
|
109949
|
+
this.control.barHolder.forceUpdate({ [RichEditClientCommand.ChangeZoomLevel]: true });
|
109950
|
+
}
|
109904
109951
|
}
|
109905
109952
|
|
109906
109953
|
;// CONCATENATED MODULE: ./src/common/client-side-events.ts
|
@@ -112394,6 +112441,8 @@ class RulerMultiControl {
|
|
112394
112441
|
this.subControls = [];
|
112395
112442
|
this.handleControlIndex = -1;
|
112396
112443
|
this.viewState = [];
|
112444
|
+
this.zoomLevel = 1.0;
|
112445
|
+
this.zoomChanged = false;
|
112397
112446
|
this.modelData = modelData;
|
112398
112447
|
this.controls = controls;
|
112399
112448
|
}
|
@@ -112409,6 +112458,8 @@ class RulerMultiControl {
|
|
112409
112458
|
updateModelState() {
|
112410
112459
|
this.currModelState = this.getModelState();
|
112411
112460
|
this.prevModelState = this.currModelState.clone();
|
112461
|
+
this.zoomChanged = this.zoomLevel != this.modelData.zoomLevel;
|
112462
|
+
this.zoomLevel = this.modelData.zoomLevel;
|
112412
112463
|
}
|
112413
112464
|
onMouseMove(distance, _source) {
|
112414
112465
|
this.calculateNewModelState(distance);
|
@@ -112493,6 +112544,23 @@ class RulerVerticalLineControl {
|
|
112493
112544
|
}
|
112494
112545
|
}
|
112495
112546
|
|
112547
|
+
;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/zoomable-value.ts
|
112548
|
+
class RulerValue {
|
112549
|
+
set value(value) {
|
112550
|
+
this.originalValue = value / this.zoomLevelHolder.zoomLevel;
|
112551
|
+
}
|
112552
|
+
;
|
112553
|
+
get value() {
|
112554
|
+
const calculatedValue = this.originalValue * this.zoomLevelHolder.zoomLevel;
|
112555
|
+
return calculatedValue;
|
112556
|
+
}
|
112557
|
+
;
|
112558
|
+
constructor(originalValue, zoomLevelHolder) {
|
112559
|
+
this.originalValue = originalValue;
|
112560
|
+
this.zoomLevelHolder = zoomLevelHolder;
|
112561
|
+
}
|
112562
|
+
}
|
112563
|
+
|
112496
112564
|
;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/column.ts
|
112497
112565
|
|
112498
112566
|
|
@@ -112503,6 +112571,7 @@ class RulerVerticalLineControl {
|
|
112503
112571
|
|
112504
112572
|
|
112505
112573
|
|
112574
|
+
|
112506
112575
|
const MinColumnWidth = unit_converter/* UnitConverter */.u.centimeterToPixel(1.5);
|
112507
112576
|
const MinColumnSpace = unit_converter/* UnitConverter */.u.centimeterToPixel(0.25);
|
112508
112577
|
const COLUMN_HANDLE_CLASS_NAME = RICH_EDIT_CLASS_NAME_PREFIX + "columnHandle";
|
@@ -112529,14 +112598,25 @@ var ColumnAction;
|
|
112529
112598
|
ColumnAction[ColumnAction["ColumnWidth"] = 3] = "ColumnWidth";
|
112530
112599
|
})(ColumnAction || (ColumnAction = {}));
|
112531
112600
|
class RulerColumnModelState {
|
112601
|
+
get leftPos() { return this.zoomableLeftPos.value; }
|
112602
|
+
get originalLeftPos() { return this.zoomableLeftPos.originalValue; }
|
112603
|
+
set leftPos(value) { this.zoomableLeftPos.value = value; }
|
112604
|
+
get width() { return this.zoomableWidth.value; }
|
112605
|
+
get originalWidth() { return this.zoomableWidth.originalValue; }
|
112606
|
+
set width(value) { this.zoomableWidth.value = value; }
|
112607
|
+
get space() { return this.zoomableSpace.value; }
|
112608
|
+
get originalSpace() { return this.zoomableSpace.originalValue; }
|
112609
|
+
set space(value) { this.zoomableSpace.value = value; }
|
112532
112610
|
get rightPos() { return this.leftPos + this.width; }
|
112533
|
-
|
112534
|
-
|
112535
|
-
this.
|
112536
|
-
this.
|
112611
|
+
get originalRightPos() { return this.originalLeftPos + this.originalWidth; }
|
112612
|
+
constructor(leftPos, width, space, zoomLevelHolder) {
|
112613
|
+
this.zoomLevelHolder = zoomLevelHolder;
|
112614
|
+
this.zoomableLeftPos = new RulerValue(leftPos, this.zoomLevelHolder);
|
112615
|
+
this.zoomableWidth = new RulerValue(width, this.zoomLevelHolder);
|
112616
|
+
this.zoomableSpace = new RulerValue(space, this.zoomLevelHolder);
|
112537
112617
|
}
|
112538
112618
|
clone() {
|
112539
|
-
return new RulerColumnModelState(this.
|
112619
|
+
return new RulerColumnModelState(this.originalLeftPos, this.originalWidth, this.originalSpace, this.zoomLevelHolder);
|
112540
112620
|
}
|
112541
112621
|
equals(obj) {
|
112542
112622
|
return this.leftPos == obj.leftPos &&
|
@@ -112553,7 +112633,8 @@ class RulerColumnsModelState {
|
|
112553
112633
|
}
|
112554
112634
|
get activeColumn() { return this.columns[this.columnActiveIndex]; }
|
112555
112635
|
clone() {
|
112556
|
-
|
112636
|
+
const clonedColumns = utils_list.ListUtils.deepCopy(this.columns);
|
112637
|
+
return new RulerColumnsModelState(clonedColumns, this.equalWidth, this.columnActiveIndex, this.enabled);
|
112557
112638
|
}
|
112558
112639
|
}
|
112559
112640
|
class RulerColumnsControl extends RulerMultiControl {
|
@@ -112561,8 +112642,8 @@ class RulerColumnsControl extends RulerMultiControl {
|
|
112561
112642
|
const state = this.modelData.commandManager.getCommand(RichEditClientCommand.RulerSectionColumnsSettings).getState();
|
112562
112643
|
let prevColumnLeftPos = 0;
|
112563
112644
|
const modelColumns = utils_list.ListUtils.map(state.value, (column) => {
|
112564
|
-
const result = new RulerColumnModelState(prevColumnLeftPos, column.width, column.space);
|
112565
|
-
prevColumnLeftPos = result.
|
112645
|
+
const result = new RulerColumnModelState(prevColumnLeftPos, column.width, column.space, this.modelData);
|
112646
|
+
prevColumnLeftPos = result.originalRightPos + result.originalSpace;
|
112566
112647
|
return result;
|
112567
112648
|
});
|
112568
112649
|
return new RulerColumnsModelState(modelColumns, state.equalWidth, state.activeIndex, state.enabled);
|
@@ -112580,7 +112661,7 @@ class RulerColumnsControl extends RulerMultiControl {
|
|
112580
112661
|
return result;
|
112581
112662
|
}, 0, this.currModelState.columns.length - 1);
|
112582
112663
|
this.setCount(this.viewState.length);
|
112583
|
-
utils_list.ListUtils.forEach2(this.subControls, this.viewState, (control, viewState) => control.setValue(viewState));
|
112664
|
+
utils_list.ListUtils.forEach2(this.subControls, this.viewState, (control, viewState) => control.setValue(viewState, this.zoomChanged));
|
112584
112665
|
}
|
112585
112666
|
}
|
112586
112667
|
createSubControl() {
|
@@ -112592,8 +112673,8 @@ class RulerColumnsControl extends RulerMultiControl {
|
|
112592
112673
|
const columnWidthDiff = diff / colCount;
|
112593
112674
|
let prevColumnLeftPos = 0;
|
112594
112675
|
this.currModelState.columns = this.prevModelState.columns.map(oldColumn => {
|
112595
|
-
const result = new RulerColumnModelState(prevColumnLeftPos, oldColumn.
|
112596
|
-
prevColumnLeftPos = result.
|
112676
|
+
const result = new RulerColumnModelState(prevColumnLeftPos, oldColumn.originalWidth - columnWidthDiff, oldColumn.originalSpace, this.modelData);
|
112677
|
+
prevColumnLeftPos = result.originalRightPos + result.originalSpace;
|
112597
112678
|
return result;
|
112598
112679
|
});
|
112599
112680
|
}
|
@@ -112618,7 +112699,7 @@ class RulerColumnsControl extends RulerMultiControl {
|
|
112618
112699
|
}
|
112619
112700
|
onMouseUp() {
|
112620
112701
|
this.modelData.commandManager.getCommand(RichEditClientCommand.RulerSectionColumnsSettings)
|
112621
|
-
.execute(this.modelData.commandManager.isPublicApiCall, this.currModelState.columns.map(col => new ColumnSectionProperties(col.
|
112702
|
+
.execute(this.modelData.commandManager.isPublicApiCall, this.currModelState.columns.map(col => new ColumnSectionProperties(col.originalWidth, col.originalSpace)));
|
112622
112703
|
this.finishHandle();
|
112623
112704
|
}
|
112624
112705
|
calculateNewModelState(distance) {
|
@@ -112635,10 +112716,11 @@ class RulerColumnsControl extends RulerMultiControl {
|
|
112635
112716
|
}
|
112636
112717
|
}
|
112637
112718
|
calculateNewModelStateColumnMove(distance) {
|
112719
|
+
const minColumnWidth = MinColumnWidth * this.modelData.zoomLevel;
|
112638
112720
|
const leftMargin = this.controls.leftMargin.prevModelState.modelValue;
|
112639
112721
|
const column = this.prevModelState.columns[this.handleControlIndex];
|
112640
112722
|
const initialPos = leftMargin + column.rightPos;
|
112641
|
-
const newPos = this.controls.chooseClosestAnchorPosition(initialPos + distance, [initialPos], new min_max.MinMaxNumber(leftMargin + column.leftPos +
|
112723
|
+
const newPos = this.controls.chooseClosestAnchorPosition(initialPos + distance, [initialPos], new min_max.MinMaxNumber(leftMargin + column.leftPos + minColumnWidth, leftMargin + this.prevModelState.columns[this.handleControlIndex + 1].rightPos - minColumnWidth - column.space));
|
112642
112724
|
const correctedDistance = newPos - initialPos;
|
112643
112725
|
const currColumn = this.currModelState.columns[this.handleControlIndex] = this.prevModelState.columns[this.handleControlIndex].clone();
|
112644
112726
|
const nextColumn = this.currModelState.columns[this.handleControlIndex + 1] = this.prevModelState.columns[this.handleControlIndex + 1].clone();
|
@@ -112647,15 +112729,17 @@ class RulerColumnsControl extends RulerMultiControl {
|
|
112647
112729
|
nextColumn.width -= correctedDistance;
|
112648
112730
|
}
|
112649
112731
|
calculateNewModelStateColumnSpace(distance, leftEdge) {
|
112732
|
+
const minColumnWidth = MinColumnWidth * this.modelData.zoomLevel;
|
112733
|
+
const minColumnSpace = MinColumnSpace * this.modelData.zoomLevel;
|
112650
112734
|
if (this.prevModelState.equalWidth) {
|
112651
112735
|
const columnCount = this.currModelState.columns.length;
|
112652
112736
|
const leftMargin = this.controls.leftMargin.prevModelState.modelValue;
|
112653
112737
|
const column = this.prevModelState.columns[this.handleControlIndex];
|
112654
|
-
const maxColumnSpace = (utils_list.ListUtils.last(this.prevModelState.columns).rightPos -
|
112655
|
-
const maxColumnWidth = (utils_list.ListUtils.last(this.prevModelState.columns).rightPos -
|
112738
|
+
const maxColumnSpace = (utils_list.ListUtils.last(this.prevModelState.columns).rightPos - minColumnWidth * columnCount) / (columnCount - 1);
|
112739
|
+
const maxColumnWidth = (utils_list.ListUtils.last(this.prevModelState.columns).rightPos - minColumnSpace * (columnCount - 1)) / columnCount;
|
112656
112740
|
const bounds = leftEdge ?
|
112657
|
-
new min_max.MinMaxNumber(leftMargin +
|
112658
|
-
new min_max.MinMaxNumber(leftMargin + (maxColumnWidth +
|
112741
|
+
new min_max.MinMaxNumber(leftMargin + minColumnWidth * (this.handleControlIndex + 1) + maxColumnSpace * this.handleControlIndex, leftMargin + maxColumnWidth * (this.handleControlIndex + 1) + minColumnSpace * this.handleControlIndex) :
|
112742
|
+
new min_max.MinMaxNumber(leftMargin + (maxColumnWidth + minColumnSpace) * (this.handleControlIndex + 1), leftMargin + (minColumnWidth + maxColumnSpace) * (this.handleControlIndex + 1));
|
112659
112743
|
const initialPos = leftMargin + column.rightPos + (leftEdge ? 0 : column.space);
|
112660
112744
|
const newPos = this.controls.chooseClosestAnchorPosition(initialPos + distance, [initialPos], bounds);
|
112661
112745
|
const correctedDistance = newPos - initialPos;
|
@@ -112678,8 +112762,8 @@ class RulerColumnsControl extends RulerMultiControl {
|
|
112678
112762
|
const leftMargin = this.controls.leftMargin.prevModelState.modelValue;
|
112679
112763
|
const column = this.prevModelState.columns[this.handleControlIndex];
|
112680
112764
|
const bounds = leftEdge ?
|
112681
|
-
new min_max.MinMaxNumber(leftMargin + column.leftPos +
|
112682
|
-
new min_max.MinMaxNumber(leftMargin + column.rightPos +
|
112765
|
+
new min_max.MinMaxNumber(leftMargin + column.leftPos + minColumnWidth, leftMargin + this.prevModelState.columns[this.handleControlIndex + 1].leftPos - minColumnSpace) :
|
112766
|
+
new min_max.MinMaxNumber(leftMargin + column.rightPos + minColumnSpace, leftMargin + this.prevModelState.columns[this.handleControlIndex + 1].rightPos - minColumnWidth);
|
112683
112767
|
const initialPos = leftMargin + column.rightPos + (leftEdge ? 0 : column.space);
|
112684
112768
|
const newPos = this.controls.chooseClosestAnchorPosition(initialPos + distance, [initialPos], bounds);
|
112685
112769
|
const correctedDistance = newPos - initialPos;
|
@@ -112728,8 +112812,8 @@ class RulerColumnState {
|
|
112728
112812
|
}
|
112729
112813
|
this.controls.lineControl.setPosition(pos, SnapTo.LeftSide);
|
112730
112814
|
}
|
112731
|
-
setValue(viewState) {
|
112732
|
-
if (!this.viewState || !this.viewState.equals(viewState)) {
|
112815
|
+
setValue(viewState, forceUpdate = false) {
|
112816
|
+
if (forceUpdate || !this.viewState || !this.viewState.equals(viewState)) {
|
112733
112817
|
this.viewState = viewState.clone();
|
112734
112818
|
this.rootElement.style.left = RULLER_NUMBER_CORRECTION + viewState.rightPos + "px";
|
112735
112819
|
this.rootElement.style.width = viewState.space + "px";
|
@@ -112749,13 +112833,21 @@ class RulerColumnState {
|
|
112749
112833
|
;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/base.ts
|
112750
112834
|
|
112751
112835
|
|
112836
|
+
|
112752
112837
|
class RulerModelState {
|
112753
|
-
|
112754
|
-
|
112838
|
+
get modelValue() { return this._modelValue.value; }
|
112839
|
+
;
|
112840
|
+
get originalModelValue() { return this._modelValue.originalValue; }
|
112841
|
+
;
|
112842
|
+
set modelValue(value) { this._modelValue.value = value; }
|
112843
|
+
;
|
112844
|
+
constructor(modelValue, enabled, zoomLevelHolder) {
|
112755
112845
|
this.enabled = enabled;
|
112846
|
+
this.zoomLevelHolder = zoomLevelHolder;
|
112847
|
+
this._modelValue = new RulerValue(modelValue, zoomLevelHolder);
|
112756
112848
|
}
|
112757
112849
|
clone() {
|
112758
|
-
return new RulerModelState(this.
|
112850
|
+
return new RulerModelState(this.originalModelValue, this.enabled, this.zoomLevelHolder);
|
112759
112851
|
}
|
112760
112852
|
}
|
112761
112853
|
class RulerBase {
|
@@ -112794,25 +112886,40 @@ const DIVISION_MINOR_CLASS_NAME = RULER_CLASS_NAME + "Minor" + DIVISION_CLASS_NA
|
|
112794
112886
|
const DIVISION_MAJOR_CLASS_NAME = RULER_CLASS_NAME + "Major" + DIVISION_CLASS_NAME;
|
112795
112887
|
const DIVISION_NUMBER_CLASS_NAME = RULER_CLASS_NAME + "Number" + DIVISION_CLASS_NAME;
|
112796
112888
|
class RulerDivisionsControl extends RulerBase {
|
112889
|
+
get height() { return this._height; }
|
112797
112890
|
getRootClassName() { return DIVISION_CONTAINER_CLASS_NAME; }
|
112798
112891
|
constructor(modelData, controls, divisionInfo, maxPageWidth) {
|
112799
112892
|
super(modelData, controls);
|
112800
|
-
this.
|
112801
|
-
|
112802
|
-
this.
|
112893
|
+
this.zoomLevel = 1.0;
|
112894
|
+
this.zoomChanged = false;
|
112895
|
+
this._height = 0;
|
112896
|
+
this.divisionInfo = divisionInfo;
|
112897
|
+
this.maxPageWidth = maxPageWidth;
|
112803
112898
|
this.controls.ruler.rootElement.appendChild(this.rootElement);
|
112899
|
+
this._height = SizeUtils.getOffsetHeight(this.rootElement);
|
112804
112900
|
if (browser.Browser.IE && browser.Browser.MajorVersion <= 9)
|
112805
112901
|
this.rootElement.offsetParent;
|
112806
|
-
this.
|
112807
|
-
|
112808
|
-
|
112902
|
+
this.render();
|
112903
|
+
}
|
112904
|
+
render() {
|
112905
|
+
const unitCount = Math.ceil(this.maxPageWidth / this.divisionInfo.unitSize);
|
112906
|
+
this.rootElement.style.width = this.divisionInfo.unitSize * (unitCount * 2 + 1) + "px";
|
112907
|
+
createDivisionElements(this.rootElement, unitCount, this.divisionInfo, this.height);
|
112908
|
+
this.initialLeft = -(unitCount * this.divisionInfo.unitSize - RULLER_NUMBER_CORRECTION);
|
112809
112909
|
}
|
112810
112910
|
update() {
|
112811
112911
|
this.updateModelState();
|
112812
112912
|
this.updateView();
|
112813
112913
|
}
|
112814
|
-
updateModelState() {
|
112914
|
+
updateModelState() {
|
112915
|
+
this.zoomChanged = this.zoomLevel != this.modelData.zoomLevel;
|
112916
|
+
this.zoomLevel = this.modelData.zoomLevel;
|
112917
|
+
}
|
112815
112918
|
updateView() {
|
112919
|
+
if (this.zoomChanged) {
|
112920
|
+
this.render();
|
112921
|
+
this.zoomChanged = false;
|
112922
|
+
}
|
112816
112923
|
const newViewState = this.getViewValue();
|
112817
112924
|
if (newViewState != this.viewState) {
|
112818
112925
|
this.viewState = newViewState;
|
@@ -112829,6 +112936,9 @@ class RulerDivisionsControl extends RulerBase {
|
|
112829
112936
|
}
|
112830
112937
|
}
|
112831
112938
|
function createDivisionElements(rootElement, unitCount, divisionInfo, height) {
|
112939
|
+
while (rootElement.firstChild) {
|
112940
|
+
rootElement.removeChild(rootElement.lastChild);
|
112941
|
+
}
|
112832
112942
|
let divisionLeftPosition = 0;
|
112833
112943
|
const createSimpleDivision = (className, topAndBottomMargin) => {
|
112834
112944
|
const stepSize = divisionInfo.stepSize;
|
@@ -112880,16 +112990,26 @@ var DivisionType;
|
|
112880
112990
|
DivisionType[DivisionType["Major"] = 2] = "Major";
|
112881
112991
|
})(DivisionType || (DivisionType = {}));
|
112882
112992
|
class DivisionInfo {
|
112883
|
-
|
112993
|
+
get unitSize() { return this._unitSize; }
|
112994
|
+
;
|
112995
|
+
get stepSize() { return this._stepSize; }
|
112996
|
+
;
|
112997
|
+
constructor(map, originalUnitSize, zoomLevelHolder) {
|
112998
|
+
this.originalUnitSize = originalUnitSize;
|
112999
|
+
this.zoomLevelHolder = zoomLevelHolder;
|
112884
113000
|
this.unitMap = map;
|
112885
|
-
this.
|
112886
|
-
|
113001
|
+
this.updateZoomLevel();
|
113002
|
+
}
|
113003
|
+
updateZoomLevel() {
|
113004
|
+
const zoomLevel = this.zoomLevelHolder.zoomLevel;
|
113005
|
+
this._unitSize = this.originalUnitSize * zoomLevel;
|
113006
|
+
this._stepSize = this.unitSize / this.unitMap.length;
|
112887
113007
|
}
|
112888
|
-
static create(unitType) {
|
113008
|
+
static create(unitType, viewSettings) {
|
112889
113009
|
return unitType == RichEditUnit.Inch ?
|
112890
113010
|
new DivisionInfo([DivisionType.Number, DivisionType.Minor, DivisionType.Minor, DivisionType.Minor,
|
112891
|
-
DivisionType.Major, DivisionType.Minor, DivisionType.Minor, DivisionType.Minor], unit_converter/* UnitConverter */.u.inchesToPixels(1)) :
|
112892
|
-
new DivisionInfo([DivisionType.Number, DivisionType.Minor, DivisionType.Major, DivisionType.Minor], unit_converter/* UnitConverter */.u.centimeterToPixelF(1));
|
113011
|
+
DivisionType.Major, DivisionType.Minor, DivisionType.Minor, DivisionType.Minor], unit_converter/* UnitConverter */.u.inchesToPixels(1), viewSettings) :
|
113012
|
+
new DivisionInfo([DivisionType.Number, DivisionType.Minor, DivisionType.Major, DivisionType.Minor], unit_converter/* UnitConverter */.u.centimeterToPixelF(1), viewSettings);
|
112893
113013
|
}
|
112894
113014
|
}
|
112895
113015
|
|
@@ -113077,7 +113197,7 @@ class RulerFirstLineIndentDragHandle extends RulerBaseIndentControl {
|
|
113077
113197
|
}
|
113078
113198
|
getModelState() {
|
113079
113199
|
const state = this.modelData.commandManager.getCommand(RichEditClientCommand.RulerParagraphLeftIndents).getState();
|
113080
|
-
return new RulerModelState(state.value.firstLine, state.enabled);
|
113200
|
+
return new RulerModelState(state.value.firstLine, state.enabled, this.modelData);
|
113081
113201
|
}
|
113082
113202
|
updateView() {
|
113083
113203
|
const newViewState = this.controls.paragraphLeftPosition + this.currModelState.modelValue;
|
@@ -113091,7 +113211,7 @@ class RulerFirstLineIndentDragHandle extends RulerBaseIndentControl {
|
|
113091
113211
|
}
|
113092
113212
|
canHandle(source) { return source == this.rootElement; }
|
113093
113213
|
onMouseUp() {
|
113094
|
-
const commandValue = new RulerParagraphLeftIndentsCommandValue(null, this.controls.leftIndent.currModelState.
|
113214
|
+
const commandValue = new RulerParagraphLeftIndentsCommandValue(null, this.controls.leftIndent.currModelState.originalModelValue, this.currModelState.originalModelValue);
|
113095
113215
|
commandValue.setIntervalsInfo(this.modelData.selection.intervalsInfo);
|
113096
113216
|
this.modelData.commandManager.getCommand(RichEditClientCommand.RulerParagraphLeftIndents)
|
113097
113217
|
.execute(this.modelData.commandManager.isPublicApiCall, commandValue);
|
@@ -113151,7 +113271,7 @@ class RulerLeftIndentDragHandle extends RulerBaseIndentControl {
|
|
113151
113271
|
}
|
113152
113272
|
getModelState() {
|
113153
113273
|
const state = this.modelData.commandManager.getCommand(RichEditClientCommand.RulerParagraphLeftIndents).getState();
|
113154
|
-
return new RulerModelState(state.value.hanging, state.enabled);
|
113274
|
+
return new RulerModelState(state.value.hanging, state.enabled, this.modelData);
|
113155
113275
|
}
|
113156
113276
|
updateView() {
|
113157
113277
|
const newViewState = this.controls.paragraphLeftPosition + this.currModelState.modelValue;
|
@@ -113175,7 +113295,7 @@ class RulerLeftIndentDragHandle extends RulerBaseIndentControl {
|
|
113175
113295
|
return false;
|
113176
113296
|
}
|
113177
113297
|
onMouseUp() {
|
113178
|
-
const commandValue = new RulerParagraphLeftIndentsCommandValue(null, this.currModelState.
|
113298
|
+
const commandValue = new RulerParagraphLeftIndentsCommandValue(null, this.currModelState.originalModelValue, this.controls.firstLineIndent.currModelState.originalModelValue);
|
113179
113299
|
commandValue.setIntervalsInfo(this.modelData.selection.intervalsInfo);
|
113180
113300
|
this.modelData.commandManager.getCommand(RichEditClientCommand.RulerParagraphLeftIndents)
|
113181
113301
|
.execute(this.modelData.commandManager.isPublicApiCall, commandValue);
|
@@ -113240,7 +113360,7 @@ class RulerRightIndentDragHandle extends RulerBaseIndentControl {
|
|
113240
113360
|
getModelState() {
|
113241
113361
|
const state = this.modelData.commandManager
|
113242
113362
|
.getCommand(RichEditClientCommand.RulerParagraphRightIndent).getState();
|
113243
|
-
return new RulerModelState(state.value.hanging, state.enabled);
|
113363
|
+
return new RulerModelState(state.value.hanging, state.enabled, this.modelData);
|
113244
113364
|
}
|
113245
113365
|
updateView() {
|
113246
113366
|
const newViewState = this.correctRelativeLeftIndents(this.controls.ruler.pageWidth - this.controls.paragraphRightPosition + this.currModelState.modelValue);
|
@@ -113259,7 +113379,7 @@ class RulerRightIndentDragHandle extends RulerBaseIndentControl {
|
|
113259
113379
|
canHandle(source) { return source == this.rootElement; }
|
113260
113380
|
onMouseUp() {
|
113261
113381
|
this.modelData.commandManager.getCommand(RichEditClientCommand.RulerParagraphRightIndent)
|
113262
|
-
.execute(this.modelData.commandManager.isPublicApiCall, this.currModelState.
|
113382
|
+
.execute(this.modelData.commandManager.isPublicApiCall, this.currModelState.originalModelValue);
|
113263
113383
|
this.finishHandle();
|
113264
113384
|
}
|
113265
113385
|
lineControlSetPosition() {
|
@@ -113307,12 +113427,12 @@ class RulerBaseMarginControl extends RulerBase {
|
|
113307
113427
|
}
|
113308
113428
|
onMouseMove(distance, _source) {
|
113309
113429
|
this.calculateNewModelState(distance);
|
113310
|
-
this.controls.columns.marginsChanged(this.currModelState.
|
113430
|
+
this.controls.columns.marginsChanged(this.currModelState.originalModelValue - this.prevModelState.originalModelValue);
|
113311
113431
|
this.updateView();
|
113312
113432
|
this.lineControlSetPosition();
|
113313
113433
|
}
|
113314
113434
|
onMouseUp() {
|
113315
|
-
this.modelData.commandManager.getCommand(this.commandType).execute(this.modelData.commandManager.isPublicApiCall, this.currModelState.
|
113435
|
+
this.modelData.commandManager.getCommand(this.commandType).execute(this.modelData.commandManager.isPublicApiCall, this.currModelState.originalModelValue);
|
113316
113436
|
this.finishHandle();
|
113317
113437
|
}
|
113318
113438
|
onEscPress() {
|
@@ -113321,7 +113441,7 @@ class RulerBaseMarginControl extends RulerBase {
|
|
113321
113441
|
}
|
113322
113442
|
getModelState() {
|
113323
113443
|
const state = this.modelData.commandManager.getCommand(this.commandType).getState();
|
113324
|
-
return new RulerModelState(state.value, state.enabled);
|
113444
|
+
return new RulerModelState(state.value, state.enabled, this.modelData);
|
113325
113445
|
}
|
113326
113446
|
finishHandle() {
|
113327
113447
|
this.controls.lineControl.hide();
|
@@ -113454,7 +113574,7 @@ class RulerControl extends RulerBase {
|
|
113454
113574
|
this.rootElement.style.paddingTop = this.controls.firstLineIndent.heightOfProtrudingPart + "px";
|
113455
113575
|
}
|
113456
113576
|
updateModelState() {
|
113457
|
-
this.currPageWidth = unit_converter/* UnitConverter */.u.twipsToPixelsF(this.modelData.inputPosition.getMergedSectionPropertiesRaw().pageSize.width);
|
113577
|
+
this.currPageWidth = unit_converter/* UnitConverter */.u.twipsToPixelsF(this.modelData.inputPosition.getMergedSectionPropertiesRaw().pageSize.width) * this.modelData.zoomLevel;
|
113458
113578
|
}
|
113459
113579
|
updateView() {
|
113460
113580
|
if (this.prevPageWidth != this.currPageWidth) {
|
@@ -113465,7 +113585,7 @@ class RulerControl extends RulerBase {
|
|
113465
113585
|
}
|
113466
113586
|
adjust() {
|
113467
113587
|
const viewWidth = this.controls.canvas.clientWidth;
|
113468
|
-
if (viewWidth > this.
|
113588
|
+
if (viewWidth > this.pageWidth)
|
113469
113589
|
this.initialMarginLeftElement = (viewWidth - this.pageWidth - RULLER_NUMBER_CORRECTION * 2) / 2;
|
113470
113590
|
else {
|
113471
113591
|
const paddingLeft = dom.DomUtils.pxToInt(dom.DomUtils.getCurrentStyle(this.controls.canvas).paddingLeft);
|
@@ -113534,6 +113654,27 @@ class RulerTabUtils {
|
|
113534
113654
|
}
|
113535
113655
|
}
|
113536
113656
|
|
113657
|
+
;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/tab/tab-info.ts
|
113658
|
+
|
113659
|
+
|
113660
|
+
class RulerTabInfo extends TabInfoBase {
|
113661
|
+
get position() { return this.zoomablePosition.value; }
|
113662
|
+
set position(value) { this.zoomablePosition.value = value; }
|
113663
|
+
get originalPosition() { return this.zoomablePosition.originalValue; }
|
113664
|
+
set originalPosition(value) { this.zoomablePosition.originalValue = value; }
|
113665
|
+
constructor(position, alignment, leader, deleted, isDefault, zoomLevelHolder) {
|
113666
|
+
super(alignment, leader, deleted, isDefault);
|
113667
|
+
this.zoomLevelHolder = zoomLevelHolder;
|
113668
|
+
this.zoomablePosition = new RulerValue(position, zoomLevelHolder);
|
113669
|
+
}
|
113670
|
+
clone() {
|
113671
|
+
return new RulerTabInfo(this.originalPosition, this.alignment, this.leader, this.deleted, this.isDefault, this.zoomLevelHolder);
|
113672
|
+
}
|
113673
|
+
equals(obj) {
|
113674
|
+
return super.equals(obj) && this.originalPosition == obj.originalPosition;
|
113675
|
+
}
|
113676
|
+
}
|
113677
|
+
|
113537
113678
|
;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/tab/tab.ts
|
113538
113679
|
|
113539
113680
|
|
@@ -113564,7 +113705,8 @@ class RulerTabsControlState {
|
|
113564
113705
|
this.enabled = enabled;
|
113565
113706
|
}
|
113566
113707
|
clone() {
|
113567
|
-
|
113708
|
+
const clonedTabs = utils_list.ListUtils.deepCopy(this.tabs);
|
113709
|
+
return new RulerTabsControlState(clonedTabs, this.enabled);
|
113568
113710
|
}
|
113569
113711
|
}
|
113570
113712
|
class RulerTabViewState {
|
@@ -113591,9 +113733,7 @@ class RulerTabsControl extends RulerMultiControl {
|
|
113591
113733
|
if (this.modelData.showTabs) {
|
113592
113734
|
const paragraph = this.modelData.selection.activeSubDocument.getParagraphByPosition(this.modelData.selection.intervalsInfo.interval.start);
|
113593
113735
|
const tabs = utils_list.ListUtils.map(paragraph.getTabs().positions, tab => {
|
113594
|
-
|
113595
|
-
newTab.position = unit_converter/* UnitConverter */.u.twipsToPixelsF(tab.position);
|
113596
|
-
return newTab;
|
113736
|
+
return new RulerTabInfo(unit_converter/* UnitConverter */.u.twipsToPixelsF(tab.position), tab.alignment, tab.leader, tab.deleted, tab.isDefault, this.modelData);
|
113597
113737
|
});
|
113598
113738
|
return new RulerTabsControlState(tabs, true);
|
113599
113739
|
}
|
@@ -113643,8 +113783,8 @@ class RulerTabsControl extends RulerMultiControl {
|
|
113643
113783
|
if (this.isTabMarkZone(evt) && pos >= this.minPosition() && pos <= this.maxPosition()) {
|
113644
113784
|
this.tabAction = TabAction.Insert;
|
113645
113785
|
this.handleControlIndex = this.currModelState.tabs.length;
|
113646
|
-
const tabPosition = this.controls.chooseClosestAnchorPosition(pos, [], new min_max.MinMaxNumber(this.minPosition(), this.maxPosition()));
|
113647
|
-
this.newTab = new
|
113786
|
+
const tabPosition = this.controls.chooseClosestAnchorPosition(pos, [], new min_max.MinMaxNumber(this.minPosition(), this.maxPosition())) / this.modelData.zoomLevel;
|
113787
|
+
this.newTab = new RulerTabInfo(tabPosition, this.controls.tabTypeBox.align, TabLeaderType.None, false, false, this.modelData);
|
113648
113788
|
this.currModelState.tabs.push(this.newTab.clone());
|
113649
113789
|
this.updateView();
|
113650
113790
|
this.updatePresentation();
|
@@ -113675,20 +113815,20 @@ class RulerTabsControl extends RulerMultiControl {
|
|
113675
113815
|
else {
|
113676
113816
|
const tab = this.currModelState.tabs[this.handleControlIndex];
|
113677
113817
|
this.modelData.commandManager.getCommand(RichEditClientCommand.InsertTabRuler)
|
113678
|
-
.execute(this.modelData.commandManager.isPublicApiCall, { position: tab.
|
113818
|
+
.execute(this.modelData.commandManager.isPublicApiCall, { position: tab.originalPosition, align: tab.alignment });
|
113679
113819
|
}
|
113680
113820
|
break;
|
113681
113821
|
}
|
113682
113822
|
case TabAction.Move: {
|
113683
113823
|
if (this.deleteTab) {
|
113684
113824
|
this.modelData.commandManager.getCommand(RichEditClientCommand.DeleteTabRuler)
|
113685
|
-
.execute(this.modelData.commandManager.isPublicApiCall, this.prevModelState.tabs[this.handleControlIndex].
|
113825
|
+
.execute(this.modelData.commandManager.isPublicApiCall, this.prevModelState.tabs[this.handleControlIndex].originalPosition);
|
113686
113826
|
}
|
113687
113827
|
else {
|
113688
113828
|
this.modelData.commandManager.getCommand(RichEditClientCommand.MoveTabRuler)
|
113689
113829
|
.execute(this.modelData.commandManager.isPublicApiCall, {
|
113690
|
-
start: this.prevModelState.tabs[this.handleControlIndex].
|
113691
|
-
end: this.currModelState.tabs[this.handleControlIndex].
|
113830
|
+
start: this.prevModelState.tabs[this.handleControlIndex].originalPosition,
|
113831
|
+
end: this.currModelState.tabs[this.handleControlIndex].originalPosition
|
113692
113832
|
});
|
113693
113833
|
}
|
113694
113834
|
break;
|
@@ -114299,8 +114439,16 @@ class TableCellIterator {
|
|
114299
114439
|
|
114300
114440
|
|
114301
114441
|
|
114442
|
+
|
114302
114443
|
class TableColumnSeparatorStruct {
|
114303
|
-
|
114444
|
+
get currItem() {
|
114445
|
+
return this.items[this.index];
|
114446
|
+
}
|
114447
|
+
get hasItems() {
|
114448
|
+
return this.items.length > 0;
|
114449
|
+
}
|
114450
|
+
constructor(zoomLevelHolder) {
|
114451
|
+
this.zoomLevelHolder = zoomLevelHolder;
|
114304
114452
|
this.index = 0;
|
114305
114453
|
this.tableIndex = 0;
|
114306
114454
|
this.cellSpacing = 0;
|
@@ -114308,17 +114456,11 @@ class TableColumnSeparatorStruct {
|
|
114308
114456
|
this.maxValue = -1;
|
114309
114457
|
this.items = [];
|
114310
114458
|
}
|
114311
|
-
get currItem() {
|
114312
|
-
return this.items[this.index];
|
114313
|
-
}
|
114314
|
-
get hasItems() {
|
114315
|
-
return this.items.length > 0;
|
114316
|
-
}
|
114317
114459
|
createItem(position, marginLeft, marginRight) {
|
114318
|
-
this.items.push(new TableColumnSeparatorItem(position, marginLeft, marginRight));
|
114460
|
+
this.items.push(new TableColumnSeparatorItem(position, marginLeft, marginRight, this.zoomLevelHolder));
|
114319
114461
|
}
|
114320
114462
|
clone() {
|
114321
|
-
const result = new TableColumnSeparatorStruct();
|
114463
|
+
const result = new TableColumnSeparatorStruct(this.zoomLevelHolder);
|
114322
114464
|
result.index = this.index;
|
114323
114465
|
result.tableIndex = this.tableIndex;
|
114324
114466
|
result.minValue = this.minValue;
|
@@ -114328,13 +114470,20 @@ class TableColumnSeparatorStruct {
|
|
114328
114470
|
}
|
114329
114471
|
}
|
114330
114472
|
class TableColumnSeparatorItem {
|
114331
|
-
|
114332
|
-
|
114473
|
+
get position() { return this.zoomablePosition.value; }
|
114474
|
+
;
|
114475
|
+
get originalPosition() { return this.zoomablePosition.originalValue; }
|
114476
|
+
;
|
114477
|
+
set position(value) { this.zoomablePosition.value = value; }
|
114478
|
+
;
|
114479
|
+
constructor(position, leftMargin, rightMargin, zoomLevelHolder) {
|
114480
|
+
this.zoomLevelHolder = zoomLevelHolder;
|
114481
|
+
this.zoomablePosition = new RulerValue(position, this.zoomLevelHolder);
|
114333
114482
|
this.leftMargin = leftMargin;
|
114334
114483
|
this.rightMargin = rightMargin;
|
114335
114484
|
}
|
114336
114485
|
clone() {
|
114337
|
-
return new TableColumnSeparatorItem(this.
|
114486
|
+
return new TableColumnSeparatorItem(this.originalPosition, this.leftMargin, this.rightMargin, this.zoomLevelHolder);
|
114338
114487
|
}
|
114339
114488
|
}
|
114340
114489
|
class RulerTableColumnSeparatorsCommand extends CommandBase {
|
@@ -114374,7 +114523,7 @@ class RulerTableColumnSeparatorsCommand extends CommandBase {
|
|
114374
114523
|
}
|
114375
114524
|
return sellSpacing;
|
114376
114525
|
};
|
114377
|
-
let struct = new TableColumnSeparatorStruct();
|
114526
|
+
let struct = new TableColumnSeparatorStruct(this.control.viewManager);
|
114378
114527
|
if (this.selection.tableInfo.extendedData.numRows) {
|
114379
114528
|
let layoutPosition = (subDocument.isMain()
|
114380
114529
|
? new LayoutPositionMainSubDocumentCreator(this.control.layout, subDocument, position, DocumentLayoutDetailsLevel.Character)
|
@@ -114417,8 +114566,8 @@ class RulerTableColumnSeparatorsCommand extends CommandBase {
|
|
114417
114566
|
struct.createItem(lastLayoutCell.right, 0, 0);
|
114418
114567
|
}
|
114419
114568
|
struct.tableIndex = currLogicGrid.table.index;
|
114420
|
-
struct.items = struct.items.sort((a, b) => a.
|
114421
|
-
struct.index = search.SearchUtils.normedInterpolationIndexOf(struct.items, (item) => item.
|
114569
|
+
struct.items = struct.items.sort((a, b) => a.originalPosition - b.originalPosition);
|
114570
|
+
struct.index = search.SearchUtils.normedInterpolationIndexOf(struct.items, (item) => item.originalPosition, layoutCell.x);
|
114422
114571
|
if (currLayoutGrid.parentCell) {
|
114423
114572
|
struct.minValue = currLayoutGrid.parentCell.x;
|
114424
114573
|
struct.maxValue = currLayoutGrid.parentCell.right;
|
@@ -114488,7 +114637,7 @@ class RulerTablesControl extends RulerMultiControl {
|
|
114488
114637
|
const state = this.modelData.commandManager.getCommand(RichEditClientCommand.RulerTableColumnSeparators).getState();
|
114489
114638
|
return state.enabled ?
|
114490
114639
|
new RulerTableModelState(state.value, state.value.tableIndex, state.enabled) :
|
114491
|
-
new RulerTableModelState(new TableColumnSeparatorStruct(), -1, false);
|
114640
|
+
new RulerTableModelState(new TableColumnSeparatorStruct(this.modelData), -1, false);
|
114492
114641
|
}
|
114493
114642
|
updateView() {
|
114494
114643
|
const offset = this.controls.leftMargin.currModelState.modelValue + this.controls.columns.currModelState.activeColumn.leftPos;
|
@@ -114520,9 +114669,10 @@ class RulerTablesControl extends RulerMultiControl {
|
|
114520
114669
|
});
|
114521
114670
|
}
|
114522
114671
|
onMouseUp() {
|
114523
|
-
const oldPos = this.prevModelState.columnSeparators.items[this.handleControlIndex].
|
114524
|
-
const newPos = this.currModelState.columnSeparators.items[this.handleControlIndex].
|
114525
|
-
const
|
114672
|
+
const oldPos = this.prevModelState.columnSeparators.items[this.handleControlIndex].originalPosition;
|
114673
|
+
const newPos = this.currModelState.columnSeparators.items[this.handleControlIndex].originalPosition;
|
114674
|
+
const diffPos = newPos - oldPos;
|
114675
|
+
const param = new RulerChangeTableColumnWidthCommandParameters(this.currModelState.tableIndex, diffPos, null, oldPos, true);
|
114526
114676
|
this.modelData.commandManager.getCommand(RichEditClientCommand.RulerChangeTableColumnWidth)
|
114527
114677
|
.execute(this.modelData.commandManager.isPublicApiCall, param);
|
114528
114678
|
this.finishHandle();
|
@@ -114848,13 +114998,14 @@ class RulerControls {
|
|
114848
114998
|
this.mouseEventsManager = new RulerMouseEventsManager();
|
114849
114999
|
this.viewElementScrollManager = new RulerViewElementScrollManager();
|
114850
115000
|
this.canvas = canvas;
|
114851
|
-
|
114852
|
-
|
114853
|
-
this.
|
115001
|
+
this.modelData = modelData;
|
115002
|
+
this.divisionInfo = DivisionInfo.create(modelData.unitType, this.modelData.innerClientProperties.viewsSettings);
|
115003
|
+
this.calculateMoveStepSize();
|
115004
|
+
const maxPageWidth = unit_converter/* UnitConverter */.u.twipsToPixelsF(PaperSizeConverter.calculatePaperSize(PaperKind.PrcEnvelopeNumber10Rotated).width) * this.modelData.zoomLevel;
|
114854
115005
|
this.wrapper = new RulerWrapper(modelData, this);
|
114855
115006
|
this.ruler = new RulerControl(modelData, this);
|
114856
115007
|
this.tabTypeBox = new RulerTabTypeControl(modelData, this);
|
114857
|
-
this.divisions = new RulerDivisionsControl(modelData, this, divisionInfo, maxPageWidth);
|
115008
|
+
this.divisions = new RulerDivisionsControl(modelData, this, this.divisionInfo, maxPageWidth);
|
114858
115009
|
this.leftMargin = new RulerLeftMarginDragHandle(modelData, this, maxPageWidth);
|
114859
115010
|
this.rightMargin = new RulerRightMarginDragHandle(modelData, this, maxPageWidth);
|
114860
115011
|
this.leftIndent = new RulerLeftIndentDragHandle(modelData, this);
|
@@ -114870,6 +115021,12 @@ class RulerControls {
|
|
114870
115021
|
this.mouseEventsManager.addListener(this.mouseHandler);
|
114871
115022
|
this.viewElementScrollManager.addListener(this.ruler, this.canvas);
|
114872
115023
|
}
|
115024
|
+
calculateMoveStepSize() {
|
115025
|
+
this.moveStepSize = this.modelData.unitType == RichEditUnit.Inch ? this.divisionInfo.stepSize / 2 : this.divisionInfo.stepSize;
|
115026
|
+
}
|
115027
|
+
updateZoomLevel() {
|
115028
|
+
this.divisionInfo.updateZoomLevel();
|
115029
|
+
}
|
114873
115030
|
dispose() {
|
114874
115031
|
this.lineControl.dispose();
|
114875
115032
|
this.wrapper.dispose();
|
@@ -114888,8 +115045,10 @@ class RulerControls {
|
|
114888
115045
|
this.viewElementScrollManager.dispose();
|
114889
115046
|
}
|
114890
115047
|
update() {
|
115048
|
+
this.updateZoomLevel();
|
114891
115049
|
this.updateModelState();
|
114892
115050
|
this.updateView();
|
115051
|
+
this.calculateMoveStepSize();
|
114893
115052
|
}
|
114894
115053
|
updateModelState() {
|
114895
115054
|
this.ruler.updateModelState();
|
@@ -114950,6 +115109,7 @@ class RulerModelData {
|
|
114950
115109
|
get isReadOnly() { return this.core.readOnly != ReadOnlyMode.None; }
|
114951
115110
|
get unitType() { return this.core.uiUnitConverter.getUnits(); }
|
114952
115111
|
get selection() { return this.core.selection; }
|
115112
|
+
get zoomLevel() { return this.core.viewManager.zoomLevel; }
|
114953
115113
|
constructor(core, settings) {
|
114954
115114
|
this.core = core;
|
114955
115115
|
this.settings = this.fixSettings(settings);
|
@@ -115403,7 +115563,6 @@ class SearchManager {
|
|
115403
115563
|
|
115404
115564
|
|
115405
115565
|
|
115406
|
-
|
115407
115566
|
|
115408
115567
|
|
115409
115568
|
class RichEditCore {
|
@@ -115452,9 +115611,8 @@ class RichEditCore {
|
|
115452
115611
|
this.searchManager.raiseSearchReset();
|
115453
115612
|
this.clientSideEvents.raiseDocumentChanged();
|
115454
115613
|
});
|
115455
|
-
this.simpleViewCanvasSizeManager = new SimpleViewCanvasSizeManager(this.viewManager.canvasManager, this);
|
115456
115614
|
if (this.innerClientProperties.viewsSettings.isSimpleView)
|
115457
|
-
this.simpleViewCanvasSizeManager.setViewMode(true);
|
115615
|
+
this.viewManager.canvasManager.simpleViewCanvasSizeManager.setViewMode(true);
|
115458
115616
|
if ((0,utils_fonts/* fontWebApiAvailable */.lX)())
|
115459
115617
|
(0,utils_fonts/* afterFontsLoaded */.mw)(() => {
|
115460
115618
|
this.invalidateLayoutAfterFontsLoaded();
|
@@ -115544,7 +115702,6 @@ class RichEditCore {
|
|
115544
115702
|
this.viewManager.dispose();
|
115545
115703
|
this.layoutFormatterManager.dispose();
|
115546
115704
|
this.eventManager.dispose();
|
115547
|
-
this.simpleViewCanvasSizeManager.dispose();
|
115548
115705
|
this.loadingPanelManager.dispose();
|
115549
115706
|
this.commandManager.dispose();
|
115550
115707
|
this.spellChecker.dispose();
|
@@ -115577,7 +115734,6 @@ class RichEditCore {
|
|
115577
115734
|
this.scrollFormatter = null;
|
115578
115735
|
this.boxVisualizerManager = null;
|
115579
115736
|
this.globalEventDispatcher = null;
|
115580
|
-
this.simpleViewCanvasSizeManager = null;
|
115581
115737
|
this.selectionModelChangesListener = null;
|
115582
115738
|
this.loadingPanelManager = null;
|
115583
115739
|
this.inputPositionModelChangesListener = null;
|
@@ -115712,7 +115868,7 @@ class RichEditCore {
|
|
115712
115868
|
onViewTypeChanged() {
|
115713
115869
|
this.viewManager.renderer.onViewTypeChanged();
|
115714
115870
|
this.horizontalRulerControl.onViewTypeChanged();
|
115715
|
-
this.simpleViewCanvasSizeManager.setViewMode(this.innerClientProperties.viewsSettings.isSimpleView);
|
115871
|
+
this.viewManager.canvasManager.simpleViewCanvasSizeManager.setViewMode(this.innerClientProperties.viewsSettings.isSimpleView);
|
115716
115872
|
}
|
115717
115873
|
getModifiedState() {
|
115718
115874
|
if (this.lastSavedHistoryItemId != this.modelManager.history.getCurrentItemId())
|
@@ -116527,6 +116683,9 @@ class Constants {
|
|
116527
116683
|
static getFontSizesList() {
|
116528
116684
|
return [8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72];
|
116529
116685
|
}
|
116686
|
+
static getZoomLevelsList() {
|
116687
|
+
return [0.5, 0.75, 1.0, 1.25, 1.5, 2.0];
|
116688
|
+
}
|
116530
116689
|
static getParagraphStylesList() {
|
116531
116690
|
const styles = Constants.getLocalizedDefaultPresetStyles();
|
116532
116691
|
return styles['1'].filter(f => f['4'] == 0).map(f => {
|
@@ -117441,6 +117600,8 @@ var ViewTabCommandId;
|
|
117441
117600
|
ViewTabCommandId[ViewTabCommandId["SwitchToPrintLayout"] = 406] = "SwitchToPrintLayout";
|
117442
117601
|
ViewTabCommandId[ViewTabCommandId["ToggleShowHorizontalRuler"] = 94] = "ToggleShowHorizontalRuler";
|
117443
117602
|
ViewTabCommandId[ViewTabCommandId["ToggleFullScreen"] = 98] = "ToggleFullScreen";
|
117603
|
+
ViewTabCommandId[ViewTabCommandId["ChangeZoomLevel"] = 460] = "ChangeZoomLevel";
|
117604
|
+
ViewTabCommandId[ViewTabCommandId["ToggleAllowZoom"] = 461] = "ToggleAllowZoom";
|
117444
117605
|
})(ViewTabCommandId || (ViewTabCommandId = {}));
|
117445
117606
|
var HeaderAndFooterTabCommandId;
|
117446
117607
|
(function (HeaderAndFooterTabCommandId) {
|
@@ -121532,6 +121693,7 @@ class RibbonItemsData {
|
|
121532
121693
|
const fontSizes = Constants.getFontSizesList().map(s => {
|
121533
121694
|
return { text: s.toString(), value: s };
|
121534
121695
|
});
|
121696
|
+
const zoomLevels = Constants.getZoomLevelsList();
|
121535
121697
|
function getTrimmedMessage(id) {
|
121536
121698
|
const message = (0,external_DevExpress_localization_namespaceObject.formatMessage)(id);
|
121537
121699
|
const trimmedFromEnd = utils_string.StringUtils.trimEnd(message, ['\\.']);
|
@@ -121792,6 +121954,16 @@ class RibbonItemsData {
|
|
121792
121954
|
{ type: 'Button', text: (0,external_DevExpress_localization_namespaceObject.formatMessage)('XtraRichEditStringId.MenuCmd_SwitchToPrintLayoutView'), icon: 'dxre-icon-PrintLayoutView', alwaysShowText: true, name: RichEditClientCommand.SwitchToPrintLayoutView, isToggleMode: true },
|
121793
121955
|
{ type: 'Button', text: (0,external_DevExpress_localization_namespaceObject.formatMessage)('XtraRichEditStringId.MenuCmd_ToggleShowHorizontalRuler'), icon: 'dxre-icon-RulerHorizontal', alwaysShowText: true, name: RichEditClientCommand.ToggleShowHorizontalRuler, isToggleMode: true, beginGroup: true },
|
121794
121956
|
{ type: 'Button', text: (0,external_DevExpress_localization_namespaceObject.formatMessage)('ASPxRichEditStringId.MenuCmd_ToggleFullScreen'), icon: 'dxre-icon-FullScreen', alwaysShowText: true, name: RichEditClientCommand.FullScreen, isToggleMode: true, beginGroup: true },
|
121957
|
+
{ type: 'SelectBox', dataSource: zoomLevels, width: 90, name: RichEditClientCommand.ChangeZoomLevel, beginGroup: true, acceptCustomValue: true, valueExpr: "this",
|
121958
|
+
onCustomItemCreating: function (e) {
|
121959
|
+
const parsed = parseFloat(e.text);
|
121960
|
+
e.customItem = isNaN(parsed) ? e.text : parsed / 100;
|
121961
|
+
},
|
121962
|
+
displayExpr: function (item) {
|
121963
|
+
const parsed = parseFloat(item);
|
121964
|
+
return isNaN(parsed) ? item : Math.round(parsed * 100) + '%';
|
121965
|
+
}
|
121966
|
+
},
|
121795
121967
|
];
|
121796
121968
|
return [
|
121797
121969
|
{ title: (0,external_DevExpress_localization_namespaceObject.formatMessage)('ASPxRichEditStringId.PageFile'), items: fileToolBarItems, id: RibbonTabType.File },
|
@@ -122503,6 +122675,44 @@ function createInnerItems(items) {
|
|
122503
122675
|
}
|
122504
122676
|
}
|
122505
122677
|
|
122678
|
+
;// CONCATENATED MODULE: ./src/client/utils/focus-helper.ts
|
122679
|
+
class FocusHelper {
|
122680
|
+
static preventFocusOnClick(element) {
|
122681
|
+
return new FocusBlocker(element);
|
122682
|
+
}
|
122683
|
+
}
|
122684
|
+
class FocusBlocker {
|
122685
|
+
constructor(target) {
|
122686
|
+
this.target = target;
|
122687
|
+
this.onPointerDownBinded = this.onPointerDown.bind(this);
|
122688
|
+
this.addEventListeners(target);
|
122689
|
+
}
|
122690
|
+
addEventListeners(element) {
|
122691
|
+
element.addEventListener("pointerdown", this.onPointerDownBinded);
|
122692
|
+
}
|
122693
|
+
removeEventListeners(element) {
|
122694
|
+
element.removeEventListener("pointerdown", this.onPointerDownBinded);
|
122695
|
+
}
|
122696
|
+
onPointerDown(event) {
|
122697
|
+
for (const element of event.composedPath()) {
|
122698
|
+
if (!(element instanceof HTMLElement))
|
122699
|
+
continue;
|
122700
|
+
if (element === this.target) {
|
122701
|
+
event.preventDefault();
|
122702
|
+
break;
|
122703
|
+
}
|
122704
|
+
if (!this.target.contains(element) || element.tabIndex > -1)
|
122705
|
+
break;
|
122706
|
+
}
|
122707
|
+
}
|
122708
|
+
dispose() {
|
122709
|
+
if (this.target) {
|
122710
|
+
this.removeEventListeners(this.target);
|
122711
|
+
this.target = null;
|
122712
|
+
}
|
122713
|
+
}
|
122714
|
+
}
|
122715
|
+
|
122506
122716
|
;// CONCATENATED MODULE: ./src/client/bars/ribbon.ts
|
122507
122717
|
|
122508
122718
|
|
@@ -122512,6 +122722,7 @@ function createInnerItems(items) {
|
|
122512
122722
|
|
122513
122723
|
|
122514
122724
|
|
122725
|
+
|
122515
122726
|
class ClientRibbonBar extends RibbonBarBase {
|
122516
122727
|
constructor(ownerControl, ownerElement, apiRibbon, fonts) {
|
122517
122728
|
var _a;
|
@@ -122520,6 +122731,7 @@ class ClientRibbonBar extends RibbonBarBase {
|
|
122520
122731
|
this.ownerElement = ownerElement;
|
122521
122732
|
this.init(apiRibbon, fonts);
|
122522
122733
|
this.createControl((_a = apiRibbon.activeTabIndex) !== null && _a !== void 0 ? _a : 1);
|
122734
|
+
this.focusHandler = FocusHelper.preventFocusOnClick(this.ribbon.element);
|
122523
122735
|
}
|
122524
122736
|
updateContextItem(_commandKey) {
|
122525
122737
|
}
|
@@ -122545,13 +122757,13 @@ class ClientRibbonBar extends RibbonBarBase {
|
|
122545
122757
|
}
|
122546
122758
|
dispose() {
|
122547
122759
|
this.ribbon.dispose();
|
122760
|
+
this.focusHandler.dispose();
|
122548
122761
|
}
|
122549
122762
|
checkActivateHeaderFooter(_selection) {
|
122550
122763
|
return false;
|
122551
122764
|
}
|
122552
122765
|
createControl(activeTabIndex) {
|
122553
122766
|
const element = document.createElement('div');
|
122554
|
-
element.tabIndex = 0;
|
122555
122767
|
const firstChild = this.ownerElement.firstChild;
|
122556
122768
|
if (firstChild)
|
122557
122769
|
this.ownerElement.insertBefore(element, firstChild);
|
@@ -129509,7 +129721,6 @@ class LinkHeaderFooterToPreviousCommand extends HeaderFooterCommandBase {
|
|
129509
129721
|
|
129510
129722
|
|
129511
129723
|
|
129512
|
-
|
129513
129724
|
class ApplyStyleCommand extends CommandBase {
|
129514
129725
|
getState() {
|
129515
129726
|
var interval = this.selection.lastSelectedInterval.clone();
|
@@ -129546,16 +129757,19 @@ class ApplyStyleCommand extends CommandBase {
|
|
129546
129757
|
getStyleName(style) {
|
129547
129758
|
return style.styleName;
|
129548
129759
|
}
|
129760
|
+
DEPRECATEDConvertOptionsParameter(parameter) {
|
129761
|
+
return typeof parameter === 'string' ? { styleName: parameter } : parameter;
|
129762
|
+
}
|
129549
129763
|
executeCore(state, options) {
|
129550
129764
|
const parameter = options.param;
|
129551
|
-
if (utils_string.StringUtils.isNullOrEmpty(parameter))
|
129765
|
+
if (utils_string.StringUtils.isNullOrEmpty(parameter.styleName))
|
129552
129766
|
return false;
|
129553
|
-
|
129767
|
+
const subDocumentInterval = new SubDocumentInterval(options.subDocument, state.interval.clone());
|
129554
129768
|
let executed = true;
|
129555
129769
|
let isPresetStyle = false;
|
129556
129770
|
this.history.beginTransaction();
|
129557
|
-
if (StylesManager.isParagraphStyle(parameter) && state.paragraphStyleChangeEnabled) {
|
129558
|
-
const styleName = StylesManager.getStyleNameWithoutPrefix(parameter);
|
129771
|
+
if (StylesManager.isParagraphStyle(parameter.styleName) && state.paragraphStyleChangeEnabled) {
|
129772
|
+
const styleName = StylesManager.getStyleNameWithoutPrefix(parameter.styleName);
|
129559
129773
|
let paragraphStyle = this.control.modelManager.model.getParagraphStyleByName(styleName);
|
129560
129774
|
if (!paragraphStyle) {
|
129561
129775
|
const presetStyle = StylesManager.getPresetParagraphStyleByName(styleName);
|
@@ -129564,12 +129778,12 @@ class ApplyStyleCommand extends CommandBase {
|
|
129564
129778
|
paragraphStyle = StylesManager.getPresetParagraphStyleByName(styleName).clone();
|
129565
129779
|
isPresetStyle = true;
|
129566
129780
|
}
|
129567
|
-
this.applyParagraphStyle(
|
129781
|
+
this.applyParagraphStyle(subDocumentInterval, paragraphStyle, isPresetStyle, parameter.keepDirectFormatting);
|
129568
129782
|
}
|
129569
|
-
else if (!StylesManager.isParagraphStyle(parameter) && state.characterStyleChangeEnabled) {
|
129570
|
-
const styleName = StylesManager.getStyleNameWithoutPrefix(parameter);
|
129571
|
-
if (interval.length == 0)
|
129572
|
-
interval = options.subDocument.getWholeWordInterval(interval.start);
|
129783
|
+
else if (!StylesManager.isParagraphStyle(parameter.styleName) && state.characterStyleChangeEnabled) {
|
129784
|
+
const styleName = StylesManager.getStyleNameWithoutPrefix(parameter.styleName);
|
129785
|
+
if (subDocumentInterval.interval.length == 0)
|
129786
|
+
subDocumentInterval.interval = options.subDocument.getWholeWordInterval(subDocumentInterval.interval.start);
|
129573
129787
|
let characterStyle = this.control.modelManager.model.getCharacterStyleByName(styleName);
|
129574
129788
|
if (!characterStyle) {
|
129575
129789
|
const presetStyle = StylesManager.getPresetCharacterStyleByName(styleName);
|
@@ -129578,9 +129792,9 @@ class ApplyStyleCommand extends CommandBase {
|
|
129578
129792
|
characterStyle = presetStyle.clone();
|
129579
129793
|
isPresetStyle = true;
|
129580
129794
|
}
|
129581
|
-
if (interval.length == 0) {
|
129795
|
+
if (subDocumentInterval.interval.length == 0) {
|
129582
129796
|
if (isPresetStyle) {
|
129583
|
-
|
129797
|
+
const fontInfo = characterStyle.maskedCharacterProperties.fontInfo;
|
129584
129798
|
if (fontInfo && fontInfo.measurer === undefined)
|
129585
129799
|
characterStyle.maskedCharacterProperties.fontInfo = this.control.modelManager.model.cache.fontInfoCache.getItemByName(fontInfo.name);
|
129586
129800
|
}
|
@@ -129588,50 +129802,56 @@ class ApplyStyleCommand extends CommandBase {
|
|
129588
129802
|
executed = false;
|
129589
129803
|
}
|
129590
129804
|
else
|
129591
|
-
this.applyCharacterStyle(
|
129805
|
+
this.applyCharacterStyle(subDocumentInterval, characterStyle, isPresetStyle);
|
129592
129806
|
}
|
129593
129807
|
this.history.endTransaction();
|
129594
129808
|
return executed;
|
129595
129809
|
}
|
129596
|
-
applyCharacterStyle(
|
129810
|
+
applyCharacterStyle(subDocumentInterval, style, isPresetStyle) {
|
129597
129811
|
if (ControlOptions.isEnabled(this.control.modelManager.richOptions.control.characterStyle)) {
|
129598
|
-
|
129812
|
+
const characterStyle = isPresetStyle ? this.control.modelManager.model.stylesManager.addCharacterStyle(style) : style;
|
129813
|
+
this.modelManipulator.style.applyCharacterStyle(subDocumentInterval, characterStyle, false);
|
129599
129814
|
}
|
129600
129815
|
}
|
129601
|
-
applyParagraphStyle(
|
129602
|
-
|
129816
|
+
applyParagraphStyle(subDocumentInterval, style, isPresetStyle, keepDirectFormatting = false) {
|
129817
|
+
const count = this.calculateAffectedParagraphCount(subDocumentInterval);
|
129603
129818
|
if (count > 0 && ControlOptions.isEnabled(this.control.modelManager.richOptions.control.paragraphStyle)) {
|
129604
|
-
|
129605
|
-
|
129606
|
-
|
129607
|
-
|
129608
|
-
|
129609
|
-
|
129610
|
-
|
129611
|
-
|
129612
|
-
this.history.addAndRedo(new
|
129819
|
+
const { interval, subDocument } = subDocumentInterval;
|
129820
|
+
const paragraphs = subDocument.paragraphs;
|
129821
|
+
const paragraphIndex = search.SearchUtils.normedInterpolationIndexOf(paragraphs, p => p.startLogPosition.value, interval.start);
|
129822
|
+
for (let i = 0; i < count; i++) {
|
129823
|
+
const paragraph = paragraphs[paragraphIndex + i];
|
129824
|
+
const modelManipulator = this.modelManipulator;
|
129825
|
+
const paragraphSubDocumentInterval = new SubDocumentInterval(subDocument, paragraph.interval);
|
129826
|
+
style = isPresetStyle ? modelManipulator.model.stylesManager.addParagraphStyle(style) : style;
|
129827
|
+
this.history.addAndRedo(new ApplyParagraphStyleHistoryItem(modelManipulator, paragraphSubDocumentInterval, style));
|
129828
|
+
this.history.addAndRedo(new ParagraphUseValueHistoryItem(modelManipulator, paragraphSubDocumentInterval, 0));
|
129829
|
+
if (!keepDirectFormatting)
|
129830
|
+
this.history.addAndRedo(new FontUseValueHistoryItem(modelManipulator, paragraphSubDocumentInterval, 0));
|
129831
|
+
this.history.addAndRedo(new AddParagraphToListHistoryItem(modelManipulator, subDocument, paragraphIndex, NumberingList.NumberingListNotSettedIndex, -1));
|
129613
129832
|
}
|
129614
129833
|
}
|
129615
129834
|
else
|
129616
|
-
this.applyParagraphLinkedStyle(
|
129835
|
+
this.applyParagraphLinkedStyle(subDocumentInterval, style, isPresetStyle);
|
129617
129836
|
}
|
129618
|
-
applyParagraphLinkedStyle(
|
129837
|
+
applyParagraphLinkedStyle(subDocumentInterval, style, isPresetStyle) {
|
129619
129838
|
if (ControlOptions.isEnabled(this.control.modelManager.richOptions.control.characterStyle)) {
|
129620
129839
|
if (!style.linkedStyle)
|
129621
|
-
this.
|
129622
|
-
this.applyCharacterStyle(
|
129840
|
+
this.addLinkedCharacterStyle(style);
|
129841
|
+
this.applyCharacterStyle(subDocumentInterval, style.linkedStyle, isPresetStyle);
|
129623
129842
|
}
|
129624
129843
|
}
|
129625
|
-
|
129626
|
-
|
129844
|
+
addLinkedCharacterStyle(paragraphStyle) {
|
129845
|
+
const style = new CharacterStyle(paragraphStyle.styleName + " Char", paragraphStyle.localizedName + " Char", false, false, false, false, paragraphStyle.maskedCharacterProperties);
|
129627
129846
|
this.history.addAndRedo(new CreateStyleLinkHistoryItem(this.modelManipulator, style, paragraphStyle));
|
129628
129847
|
}
|
129629
|
-
calculateAffectedParagraphCount(
|
129630
|
-
|
129848
|
+
calculateAffectedParagraphCount(subDocumentInterval) {
|
129849
|
+
const { interval, subDocument } = subDocumentInterval;
|
129850
|
+
const paragraphs = subDocument.getParagraphsByInterval(interval);
|
129631
129851
|
if (paragraphs.length > 1)
|
129632
129852
|
return paragraphs.length;
|
129633
|
-
|
129634
|
-
|
129853
|
+
const paragraph = paragraphs[0];
|
129854
|
+
const lastParagraphCharSelected = interval.length >= paragraph.length - 1;
|
129635
129855
|
if (interval.start === paragraph.startLogPosition.value && lastParagraphCharSelected || interval.length === 0)
|
129636
129856
|
return 1;
|
129637
129857
|
return 0;
|
@@ -129647,6 +129867,57 @@ class ApplyStyleCommand extends CommandBase {
|
|
129647
129867
|
}
|
129648
129868
|
}
|
129649
129869
|
|
129870
|
+
;// CONCATENATED MODULE: ./src/common/commands/layout/toggle-allow-zoom-command.ts
|
129871
|
+
|
129872
|
+
|
129873
|
+
class ToggleAllowZoomCommand extends CommandBase {
|
129874
|
+
getState() {
|
129875
|
+
return new SimpleCommandState(this.isEnabled(), this.control.viewManager.allowZoom);
|
129876
|
+
}
|
129877
|
+
executeCore(_state, options) {
|
129878
|
+
const allowZoom = this.control.viewManager.allowZoom;
|
129879
|
+
if (options.param === allowZoom)
|
129880
|
+
return false;
|
129881
|
+
this.control.viewManager.allowZoom = !allowZoom;
|
129882
|
+
return true;
|
129883
|
+
}
|
129884
|
+
isEnabledInReadOnlyMode() {
|
129885
|
+
return true;
|
129886
|
+
}
|
129887
|
+
}
|
129888
|
+
|
129889
|
+
;// CONCATENATED MODULE: ./src/common/commands/layout/change-zoom-level-command.ts
|
129890
|
+
|
129891
|
+
|
129892
|
+
|
129893
|
+
|
129894
|
+
class ChangeZoomLevelCommand extends CommandBase {
|
129895
|
+
getState() {
|
129896
|
+
const state = new SimpleCommandState(this.isEnabled(), this.control.viewManager.zoomLevel);
|
129897
|
+
state.visible = this.control.viewManager.allowZoom;
|
129898
|
+
return state;
|
129899
|
+
}
|
129900
|
+
executeCore(_state, options) {
|
129901
|
+
if (options.param == this.control.viewManager.zoomLevel)
|
129902
|
+
return false;
|
129903
|
+
this.control.viewManager.zoomLevel = options.param;
|
129904
|
+
return true;
|
129905
|
+
}
|
129906
|
+
isEnabledInReadOnlyMode() {
|
129907
|
+
return true;
|
129908
|
+
}
|
129909
|
+
isEnabled() {
|
129910
|
+
return this.control.viewManager.allowZoom;
|
129911
|
+
}
|
129912
|
+
DEPRECATEDConvertOptionsParameter(parameter) {
|
129913
|
+
const res = typeof parameter == "string" ? parseFloat(parameter) : parameter;
|
129914
|
+
return this.isZoomLevelValueCorrect(res) ? res : this.control.viewManager.zoomLevel;
|
129915
|
+
}
|
129916
|
+
isZoomLevelValueCorrect(size) {
|
129917
|
+
return (0,common.isNumber)(size) && !isNaN(size) && size >= RichUtils.minZoomLevel && size <= RichUtils.maxZoomLevel;
|
129918
|
+
}
|
129919
|
+
}
|
129920
|
+
|
129650
129921
|
;// CONCATENATED MODULE: ./src/common/commands/layout/clear-formatting-command.ts
|
129651
129922
|
|
129652
129923
|
|
@@ -136127,24 +136398,30 @@ class RemoveNextWordCommand extends RemoveWordCommandBase {
|
|
136127
136398
|
|
136128
136399
|
|
136129
136400
|
class SetParagraphLevelCommandBase extends CommandBase {
|
136401
|
+
get commandManager() { return this.control.commandManager; }
|
136402
|
+
get modelManager() { return this.control.modelManager; }
|
136130
136403
|
isEnabled() {
|
136131
|
-
return super.isEnabled() && ControlOptions.isEnabled(this.
|
136404
|
+
return super.isEnabled() && ControlOptions.isEnabled(this.modelManager.richOptions.control.paragraphFormatting);
|
136132
136405
|
}
|
136133
136406
|
getState() {
|
136134
136407
|
const state = new SimpleCommandState(this.isEnabled());
|
136135
|
-
state.value = this.
|
136408
|
+
state.value = this.commandManager.getCommand(RichEditClientCommand.ChangeHeadingLevel).getState().value == this.getLevel(null);
|
136136
136409
|
return state;
|
136137
136410
|
}
|
136138
136411
|
executeCore(_state, options) {
|
136139
136412
|
const level = this.getLevel(options.param);
|
136140
136413
|
const styleName = level > 0 ? `${ParagraphStyle.headingStyleName} ${level}` : ParagraphStyle.normalStyleName;
|
136141
|
-
let paragraphStyle = this.
|
136414
|
+
let paragraphStyle = this.modelManager.model.getParagraphStyleByName(styleName);
|
136142
136415
|
if (!paragraphStyle)
|
136143
136416
|
paragraphStyle = StylesManager.getPresetParagraphStyleByName(styleName);
|
136144
|
-
if (paragraphStyle)
|
136145
|
-
|
136146
|
-
|
136147
|
-
|
136417
|
+
if (paragraphStyle) {
|
136418
|
+
const commandOptions = new CommandSimpleOptions(this.control, { styleName: StylesManager.paragraphPrefix + styleName, keepDirectFormatting: true });
|
136419
|
+
this.commandManager.getCommand(RichEditClientCommand.ChangeStyle).execute(this.commandManager.isPublicApiCall, commandOptions);
|
136420
|
+
}
|
136421
|
+
else {
|
136422
|
+
const commandOptions = new CommandSimpleOptions(this.control, level);
|
136423
|
+
this.commandManager.getCommand(RichEditClientCommand.ChangeHeadingLevel).execute(this.commandManager.isPublicApiCall, commandOptions);
|
136424
|
+
}
|
136148
136425
|
return true;
|
136149
136426
|
}
|
136150
136427
|
getRelatedCommands() {
|
@@ -136399,6 +136676,8 @@ class UndoCommand extends CommandBase {
|
|
136399
136676
|
|
136400
136677
|
|
136401
136678
|
|
136679
|
+
|
136680
|
+
|
136402
136681
|
|
136403
136682
|
|
136404
136683
|
|
@@ -136784,6 +137063,8 @@ class CommandManager {
|
|
136784
137063
|
this.createCommand(control, RichEditClientCommand.ChangeViewType, ChangeViewTypeCommand);
|
136785
137064
|
this.createCommand(control, RichEditClientCommand.SwitchToSimpleView, SwitchToSimpleViewCommand);
|
136786
137065
|
this.createCommand(control, RichEditClientCommand.SwitchToPrintLayoutView, SwitchToPrintLayoutViewCommand);
|
137066
|
+
this.createCommand(control, RichEditClientCommand.ChangeZoomLevel, ChangeZoomLevelCommand);
|
137067
|
+
this.createCommand(control, RichEditClientCommand.ToggleAllowZoom, ToggleAllowZoomCommand);
|
136787
137068
|
this.createCommand(control, RichEditClientCommand.ShowErrorLoadPictureMessage, ShowLoadPictureErrorDialogCommand);
|
136788
137069
|
this.assingCommand(RichEditClientCommand.PrintDocumentOnClient, new PrintDocumentOnClient(control, printNonce));
|
136789
137070
|
}
|
@@ -140811,8 +141092,8 @@ class DialogManager {
|
|
140811
141092
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/utils/m_type.js
|
140812
141093
|
/**
|
140813
141094
|
* DevExtreme (esm/__internal/core/utils/m_type.js)
|
140814
|
-
* Version:
|
140815
|
-
* Build date:
|
141095
|
+
* Version: 25.1.1-alpha
|
141096
|
+
* Build date: Wed Apr 02 2025
|
140816
141097
|
*
|
140817
141098
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
140818
141099
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -140914,8 +141195,8 @@ const isEvent = function(object) {
|
|
140914
141195
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/utils/type.js
|
140915
141196
|
/**
|
140916
141197
|
* DevExtreme (esm/core/utils/type.js)
|
140917
|
-
* Version:
|
140918
|
-
* Build date:
|
141198
|
+
* Version: 25.1.1-alpha
|
141199
|
+
* Build date: Wed Apr 02 2025
|
140919
141200
|
*
|
140920
141201
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
140921
141202
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -140925,8 +141206,8 @@ const isEvent = function(object) {
|
|
140925
141206
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/utils/m_extend.js
|
140926
141207
|
/**
|
140927
141208
|
* DevExtreme (esm/__internal/core/utils/m_extend.js)
|
140928
|
-
* Version:
|
140929
|
-
* Build date:
|
141209
|
+
* Version: 25.1.1-alpha
|
141210
|
+
* Build date: Wed Apr 02 2025
|
140930
141211
|
*
|
140931
141212
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
140932
141213
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -140984,8 +141265,8 @@ const extend = function(target) {
|
|
140984
141265
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/utils/extend.js
|
140985
141266
|
/**
|
140986
141267
|
* DevExtreme (esm/core/utils/extend.js)
|
140987
|
-
* Version:
|
140988
|
-
* Build date:
|
141268
|
+
* Version: 25.1.1-alpha
|
141269
|
+
* Build date: Wed Apr 02 2025
|
140989
141270
|
*
|
140990
141271
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
140991
141272
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -140995,8 +141276,8 @@ const extend = function(target) {
|
|
140995
141276
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/utils/m_string.js
|
140996
141277
|
/**
|
140997
141278
|
* DevExtreme (esm/__internal/core/utils/m_string.js)
|
140998
|
-
* Version:
|
140999
|
-
* Build date:
|
141279
|
+
* Version: 25.1.1-alpha
|
141280
|
+
* Build date: Wed Apr 02 2025
|
141000
141281
|
*
|
141001
141282
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141002
141283
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141071,8 +141352,8 @@ const isEmpty = function() {
|
|
141071
141352
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/utils/string.js
|
141072
141353
|
/**
|
141073
141354
|
* DevExtreme (esm/core/utils/string.js)
|
141074
|
-
* Version:
|
141075
|
-
* Build date:
|
141355
|
+
* Version: 25.1.1-alpha
|
141356
|
+
* Build date: Wed Apr 02 2025
|
141076
141357
|
*
|
141077
141358
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141078
141359
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141082,20 +141363,20 @@ const isEmpty = function() {
|
|
141082
141363
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/version.js
|
141083
141364
|
/**
|
141084
141365
|
* DevExtreme (esm/core/version.js)
|
141085
|
-
* Version:
|
141086
|
-
* Build date:
|
141366
|
+
* Version: 25.1.1-alpha
|
141367
|
+
* Build date: Wed Apr 02 2025
|
141087
141368
|
*
|
141088
141369
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141089
141370
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
141090
141371
|
*/
|
141091
|
-
const version = "
|
141092
|
-
const fullVersion = "
|
141372
|
+
const version = "25.1.1";
|
141373
|
+
const fullVersion = "25.1.1";
|
141093
141374
|
|
141094
141375
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/utils/m_console.js
|
141095
141376
|
/**
|
141096
141377
|
* DevExtreme (esm/__internal/core/utils/m_console.js)
|
141097
|
-
* Version:
|
141098
|
-
* Build date:
|
141378
|
+
* Version: 25.1.1-alpha
|
141379
|
+
* Build date: Wed Apr 02 2025
|
141099
141380
|
*
|
141100
141381
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141101
141382
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141135,8 +141416,8 @@ const debug = function() {
|
|
141135
141416
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/utils/m_error.js
|
141136
141417
|
/**
|
141137
141418
|
* DevExtreme (esm/__internal/core/utils/m_error.js)
|
141138
|
-
* Version:
|
141139
|
-
* Build date:
|
141419
|
+
* Version: 25.1.1-alpha
|
141420
|
+
* Build date: Wed Apr 02 2025
|
141140
141421
|
*
|
141141
141422
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141142
141423
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141207,8 +141488,8 @@ function error(baseErrors, errors) {
|
|
141207
141488
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/utils/error.js
|
141208
141489
|
/**
|
141209
141490
|
* DevExtreme (esm/core/utils/error.js)
|
141210
|
-
* Version:
|
141211
|
-
* Build date:
|
141491
|
+
* Version: 25.1.1-alpha
|
141492
|
+
* Build date: Wed Apr 02 2025
|
141212
141493
|
*
|
141213
141494
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141214
141495
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141219,8 +141500,8 @@ function error(baseErrors, errors) {
|
|
141219
141500
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/m_errors.js
|
141220
141501
|
/**
|
141221
141502
|
* DevExtreme (esm/__internal/core/m_errors.js)
|
141222
|
-
* Version:
|
141223
|
-
* Build date:
|
141503
|
+
* Version: 25.1.1-alpha
|
141504
|
+
* Build date: Wed Apr 02 2025
|
141224
141505
|
*
|
141225
141506
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141226
141507
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141286,8 +141567,8 @@ function error(baseErrors, errors) {
|
|
141286
141567
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/errors.js
|
141287
141568
|
/**
|
141288
141569
|
* DevExtreme (esm/core/errors.js)
|
141289
|
-
* Version:
|
141290
|
-
* Build date:
|
141570
|
+
* Version: 25.1.1-alpha
|
141571
|
+
* Build date: Wed Apr 02 2025
|
141291
141572
|
*
|
141292
141573
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141293
141574
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141298,8 +141579,8 @@ function error(baseErrors, errors) {
|
|
141298
141579
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/m_class.js
|
141299
141580
|
/**
|
141300
141581
|
* DevExtreme (esm/__internal/core/m_class.js)
|
141301
|
-
* Version:
|
141302
|
-
* Build date:
|
141582
|
+
* Version: 25.1.1-alpha
|
141583
|
+
* Build date: Wed Apr 02 2025
|
141303
141584
|
*
|
141304
141585
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141305
141586
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141432,8 +141713,8 @@ classImpl.abstract = m_class_abstract;
|
|
141432
141713
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/class.js
|
141433
141714
|
/**
|
141434
141715
|
* DevExtreme (esm/core/class.js)
|
141435
|
-
* Version:
|
141436
|
-
* Build date:
|
141716
|
+
* Version: 25.1.1-alpha
|
141717
|
+
* Build date: Wed Apr 02 2025
|
141437
141718
|
*
|
141438
141719
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141439
141720
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141444,8 +141725,8 @@ classImpl.abstract = m_class_abstract;
|
|
141444
141725
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/utils/m_iterator.js
|
141445
141726
|
/**
|
141446
141727
|
* DevExtreme (esm/__internal/core/utils/m_iterator.js)
|
141447
|
-
* Version:
|
141448
|
-
* Build date:
|
141728
|
+
* Version: 25.1.1-alpha
|
141729
|
+
* Build date: Wed Apr 02 2025
|
141449
141730
|
*
|
141450
141731
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141451
141732
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141494,8 +141775,8 @@ const reverseEach = (array, callback) => {
|
|
141494
141775
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/utils/m_dependency_injector.js
|
141495
141776
|
/**
|
141496
141777
|
* DevExtreme (esm/__internal/core/utils/m_dependency_injector.js)
|
141497
|
-
* Version:
|
141498
|
-
* Build date:
|
141778
|
+
* Version: 25.1.1-alpha
|
141779
|
+
* Build date: Wed Apr 02 2025
|
141499
141780
|
*
|
141500
141781
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141501
141782
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141544,8 +141825,8 @@ function injector(object) {
|
|
141544
141825
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/utils/dependency_injector.js
|
141545
141826
|
/**
|
141546
141827
|
* DevExtreme (esm/core/utils/dependency_injector.js)
|
141547
|
-
* Version:
|
141548
|
-
* Build date:
|
141828
|
+
* Version: 25.1.1-alpha
|
141829
|
+
* Build date: Wed Apr 02 2025
|
141549
141830
|
*
|
141550
141831
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141551
141832
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141556,8 +141837,8 @@ function injector(object) {
|
|
141556
141837
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/ldml/date.formatter.js
|
141557
141838
|
/**
|
141558
141839
|
* DevExtreme (esm/common/core/localization/ldml/date.formatter.js)
|
141559
|
-
* Version:
|
141560
|
-
* Build date:
|
141840
|
+
* Version: 25.1.1-alpha
|
141841
|
+
* Build date: Wed Apr 02 2025
|
141561
141842
|
*
|
141562
141843
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141563
141844
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141710,8 +141991,8 @@ function _extends() {
|
|
141710
141991
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/m_config.js
|
141711
141992
|
/**
|
141712
141993
|
* DevExtreme (esm/__internal/core/m_config.js)
|
141713
|
-
* Version:
|
141714
|
-
* Build date:
|
141994
|
+
* Version: 25.1.1-alpha
|
141995
|
+
* Build date: Wed Apr 02 2025
|
141715
141996
|
*
|
141716
141997
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141717
141998
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141786,8 +142067,8 @@ if ("undefined" !== typeof DevExpress && DevExpress.config) {
|
|
141786
142067
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/config.js
|
141787
142068
|
/**
|
141788
142069
|
* DevExtreme (esm/common/config.js)
|
141789
|
-
* Version:
|
141790
|
-
* Build date:
|
142070
|
+
* Version: 25.1.1-alpha
|
142071
|
+
* Build date: Wed Apr 02 2025
|
141791
142072
|
*
|
141792
142073
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141793
142074
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141798,8 +142079,8 @@ if ("undefined" !== typeof DevExpress && DevExpress.config) {
|
|
141798
142079
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/m_guid.js
|
141799
142080
|
/**
|
141800
142081
|
* DevExtreme (esm/__internal/core/m_guid.js)
|
141801
|
-
* Version:
|
141802
|
-
* Build date:
|
142082
|
+
* Version: 25.1.1-alpha
|
142083
|
+
* Build date: Wed Apr 02 2025
|
141803
142084
|
*
|
141804
142085
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141805
142086
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141841,8 +142122,8 @@ const Guid = core_class.inherit({
|
|
141841
142122
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/guid.js
|
141842
142123
|
/**
|
141843
142124
|
* DevExtreme (esm/common/guid.js)
|
141844
|
-
* Version:
|
141845
|
-
* Build date:
|
142125
|
+
* Version: 25.1.1-alpha
|
142126
|
+
* Build date: Wed Apr 02 2025
|
141846
142127
|
*
|
141847
142128
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141848
142129
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141853,8 +142134,8 @@ const Guid = core_class.inherit({
|
|
141853
142134
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/templates/m_template_engine_registry.js
|
141854
142135
|
/**
|
141855
142136
|
* DevExtreme (esm/__internal/core/templates/m_template_engine_registry.js)
|
141856
|
-
* Version:
|
141857
|
-
* Build date:
|
142137
|
+
* Version: 25.1.1-alpha
|
142138
|
+
* Build date: Wed Apr 02 2025
|
141858
142139
|
*
|
141859
142140
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141860
142141
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141883,8 +142164,8 @@ function getCurrentTemplateEngine() {
|
|
141883
142164
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/templates/template_engine_registry.js
|
141884
142165
|
/**
|
141885
142166
|
* DevExtreme (esm/core/templates/template_engine_registry.js)
|
141886
|
-
* Version:
|
141887
|
-
* Build date:
|
142167
|
+
* Version: 25.1.1-alpha
|
142168
|
+
* Build date: Wed Apr 02 2025
|
141888
142169
|
*
|
141889
142170
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141890
142171
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141894,8 +142175,8 @@ function getCurrentTemplateEngine() {
|
|
141894
142175
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/m_set_template_engine.js
|
141895
142176
|
/**
|
141896
142177
|
* DevExtreme (esm/__internal/core/m_set_template_engine.js)
|
141897
|
-
* Version:
|
141898
|
-
* Build date:
|
142178
|
+
* Version: 25.1.1-alpha
|
142179
|
+
* Build date: Wed Apr 02 2025
|
141899
142180
|
*
|
141900
142181
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141901
142182
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141905,8 +142186,8 @@ function getCurrentTemplateEngine() {
|
|
141905
142186
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/set_template_engine.js
|
141906
142187
|
/**
|
141907
142188
|
* DevExtreme (esm/common/set_template_engine.js)
|
141908
|
-
* Version:
|
141909
|
-
* Build date:
|
142189
|
+
* Version: 25.1.1-alpha
|
142190
|
+
* Build date: Wed Apr 02 2025
|
141910
142191
|
*
|
141911
142192
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141912
142193
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141917,8 +142198,8 @@ function getCurrentTemplateEngine() {
|
|
141917
142198
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common.js
|
141918
142199
|
/**
|
141919
142200
|
* DevExtreme (esm/common.js)
|
141920
|
-
* Version:
|
141921
|
-
* Build date:
|
142201
|
+
* Version: 25.1.1-alpha
|
142202
|
+
* Build date: Wed Apr 02 2025
|
141922
142203
|
*
|
141923
142204
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141924
142205
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141931,8 +142212,8 @@ function getCurrentTemplateEngine() {
|
|
141931
142212
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/config.js
|
141932
142213
|
/**
|
141933
142214
|
* DevExtreme (esm/core/config.js)
|
141934
|
-
* Version:
|
141935
|
-
* Build date:
|
142215
|
+
* Version: 25.1.1-alpha
|
142216
|
+
* Build date: Wed Apr 02 2025
|
141936
142217
|
*
|
141937
142218
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141938
142219
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141943,8 +142224,8 @@ function getCurrentTemplateEngine() {
|
|
141943
142224
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/guid.js
|
141944
142225
|
/**
|
141945
142226
|
* DevExtreme (esm/core/guid.js)
|
141946
|
-
* Version:
|
141947
|
-
* Build date:
|
142227
|
+
* Version: 25.1.1-alpha
|
142228
|
+
* Build date: Wed Apr 02 2025
|
141948
142229
|
*
|
141949
142230
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141950
142231
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141955,8 +142236,8 @@ function getCurrentTemplateEngine() {
|
|
141955
142236
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/utils/console.js
|
141956
142237
|
/**
|
141957
142238
|
* DevExtreme (esm/core/utils/console.js)
|
141958
|
-
* Version:
|
141959
|
-
* Build date:
|
142239
|
+
* Version: 25.1.1-alpha
|
142240
|
+
* Build date: Wed Apr 02 2025
|
141960
142241
|
*
|
141961
142242
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141962
142243
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141966,8 +142247,8 @@ function getCurrentTemplateEngine() {
|
|
141966
142247
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/utils/m_variable_wrapper.js
|
141967
142248
|
/**
|
141968
142249
|
* DevExtreme (esm/__internal/core/utils/m_variable_wrapper.js)
|
141969
|
-
* Version:
|
141970
|
-
* Build date:
|
142250
|
+
* Version: 25.1.1-alpha
|
142251
|
+
* Build date: Wed Apr 02 2025
|
141971
142252
|
*
|
141972
142253
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
141973
142254
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -141996,8 +142277,8 @@ const m_variable_wrapper_variableWrapper = dependency_injector({
|
|
141996
142277
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/utils/variable_wrapper.js
|
141997
142278
|
/**
|
141998
142279
|
* DevExtreme (esm/core/utils/variable_wrapper.js)
|
141999
|
-
* Version:
|
142000
|
-
* Build date:
|
142280
|
+
* Version: 25.1.1-alpha
|
142281
|
+
* Build date: Wed Apr 02 2025
|
142001
142282
|
*
|
142002
142283
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
142003
142284
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -142008,8 +142289,8 @@ const m_variable_wrapper_variableWrapper = dependency_injector({
|
|
142008
142289
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/utils/m_object.js
|
142009
142290
|
/**
|
142010
142291
|
* DevExtreme (esm/__internal/core/utils/m_object.js)
|
142011
|
-
* Version:
|
142012
|
-
* Build date:
|
142292
|
+
* Version: 25.1.1-alpha
|
142293
|
+
* Build date: Wed Apr 02 2025
|
142013
142294
|
*
|
142014
142295
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
142015
142296
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -142109,8 +142390,8 @@ const m_object_deepExtendArraySafe = function(target, changes, extendComplexObje
|
|
142109
142390
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/utils/object.js
|
142110
142391
|
/**
|
142111
142392
|
* DevExtreme (esm/core/utils/object.js)
|
142112
|
-
* Version:
|
142113
|
-
* Build date:
|
142393
|
+
* Version: 25.1.1-alpha
|
142394
|
+
* Build date: Wed Apr 02 2025
|
142114
142395
|
*
|
142115
142396
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
142116
142397
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -142120,8 +142401,8 @@ const m_object_deepExtendArraySafe = function(target, changes, extendComplexObje
|
|
142120
142401
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/utils/m_data.js
|
142121
142402
|
/**
|
142122
142403
|
* DevExtreme (esm/__internal/core/utils/m_data.js)
|
142123
|
-
* Version:
|
142124
|
-
* Build date:
|
142404
|
+
* Version: 25.1.1-alpha
|
142405
|
+
* Build date: Wed Apr 02 2025
|
142125
142406
|
*
|
142126
142407
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
142127
142408
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -142317,8 +142598,8 @@ const toComparable = function(value, caseSensitive) {
|
|
142317
142598
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/utils/data.js
|
142318
142599
|
/**
|
142319
142600
|
* DevExtreme (esm/core/utils/data.js)
|
142320
|
-
* Version:
|
142321
|
-
* Build date:
|
142601
|
+
* Version: 25.1.1-alpha
|
142602
|
+
* Build date: Wed Apr 02 2025
|
142322
142603
|
*
|
142323
142604
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
142324
142605
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -142328,8 +142609,8 @@ const toComparable = function(value, caseSensitive) {
|
|
142328
142609
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/utils/m_callbacks.js
|
142329
142610
|
/**
|
142330
142611
|
* DevExtreme (esm/__internal/core/utils/m_callbacks.js)
|
142331
|
-
* Version:
|
142332
|
-
* Build date:
|
142612
|
+
* Version: 25.1.1-alpha
|
142613
|
+
* Build date: Wed Apr 02 2025
|
142333
142614
|
*
|
142334
142615
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
142335
142616
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -142424,8 +142705,8 @@ const Callbacks = function(options) {
|
|
142424
142705
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/utils/callbacks.js
|
142425
142706
|
/**
|
142426
142707
|
* DevExtreme (esm/core/utils/callbacks.js)
|
142427
|
-
* Version:
|
142428
|
-
* Build date:
|
142708
|
+
* Version: 25.1.1-alpha
|
142709
|
+
* Build date: Wed Apr 02 2025
|
142429
142710
|
*
|
142430
142711
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
142431
142712
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -142436,8 +142717,8 @@ const Callbacks = function(options) {
|
|
142436
142717
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/utils/m_deferred.js
|
142437
142718
|
/**
|
142438
142719
|
* DevExtreme (esm/__internal/core/utils/m_deferred.js)
|
142439
|
-
* Version:
|
142440
|
-
* Build date:
|
142720
|
+
* Version: 25.1.1-alpha
|
142721
|
+
* Build date: Wed Apr 02 2025
|
142441
142722
|
*
|
142442
142723
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
142443
142724
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -142602,8 +142883,8 @@ function when() {
|
|
142602
142883
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/utils/deferred.js
|
142603
142884
|
/**
|
142604
142885
|
* DevExtreme (esm/core/utils/deferred.js)
|
142605
|
-
* Version:
|
142606
|
-
* Build date:
|
142886
|
+
* Version: 25.1.1-alpha
|
142887
|
+
* Build date: Wed Apr 02 2025
|
142607
142888
|
*
|
142608
142889
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
142609
142890
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -142613,8 +142894,8 @@ function when() {
|
|
142613
142894
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/utils/m_common.js
|
142614
142895
|
/**
|
142615
142896
|
* DevExtreme (esm/__internal/core/utils/m_common.js)
|
142616
|
-
* Version:
|
142617
|
-
* Build date:
|
142897
|
+
* Version: 25.1.1-alpha
|
142898
|
+
* Build date: Wed Apr 02 2025
|
142618
142899
|
*
|
142619
142900
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
142620
142901
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -142909,8 +143190,8 @@ const equalByValue = function(value1, value2) {
|
|
142909
143190
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/utils/common.js
|
142910
143191
|
/**
|
142911
143192
|
* DevExtreme (esm/core/utils/common.js)
|
142912
|
-
* Version:
|
142913
|
-
* Build date:
|
143193
|
+
* Version: 25.1.1-alpha
|
143194
|
+
* Build date: Wed Apr 02 2025
|
142914
143195
|
*
|
142915
143196
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
142916
143197
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -142920,8 +143201,8 @@ const equalByValue = function(value1, value2) {
|
|
142920
143201
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/__internal/core/utils/m_math.js
|
142921
143202
|
/**
|
142922
143203
|
* DevExtreme (esm/__internal/core/utils/m_math.js)
|
142923
|
-
* Version:
|
142924
|
-
* Build date:
|
143204
|
+
* Version: 25.1.1-alpha
|
143205
|
+
* Build date: Wed Apr 02 2025
|
142925
143206
|
*
|
142926
143207
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
142927
143208
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -143090,8 +143371,8 @@ function roundFloatPart(value) {
|
|
143090
143371
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/core/utils/math.js
|
143091
143372
|
/**
|
143092
143373
|
* DevExtreme (esm/core/utils/math.js)
|
143093
|
-
* Version:
|
143094
|
-
* Build date:
|
143374
|
+
* Version: 25.1.1-alpha
|
143375
|
+
* Build date: Wed Apr 02 2025
|
143095
143376
|
*
|
143096
143377
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
143097
143378
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -143101,8 +143382,8 @@ function roundFloatPart(value) {
|
|
143101
143382
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/utils.js
|
143102
143383
|
/**
|
143103
143384
|
* DevExtreme (esm/common/core/localization/utils.js)
|
143104
|
-
* Version:
|
143105
|
-
* Build date:
|
143385
|
+
* Version: 25.1.1-alpha
|
143386
|
+
* Build date: Wed Apr 02 2025
|
143106
143387
|
*
|
143107
143388
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
143108
143389
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -143129,8 +143410,8 @@ function toFixed(value, precision) {
|
|
143129
143410
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/ldml/number.js
|
143130
143411
|
/**
|
143131
143412
|
* DevExtreme (esm/common/core/localization/ldml/number.js)
|
143132
|
-
* Version:
|
143133
|
-
* Build date:
|
143413
|
+
* Version: 25.1.1-alpha
|
143414
|
+
* Build date: Wed Apr 02 2025
|
143134
143415
|
*
|
143135
143416
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
143136
143417
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -143371,8 +143652,8 @@ function getFormat(formatter) {
|
|
143371
143652
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/currency.js
|
143372
143653
|
/**
|
143373
143654
|
* DevExtreme (esm/common/core/localization/currency.js)
|
143374
|
-
* Version:
|
143375
|
-
* Build date:
|
143655
|
+
* Version: 25.1.1-alpha
|
143656
|
+
* Build date: Wed Apr 02 2025
|
143376
143657
|
*
|
143377
143658
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
143378
143659
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -143404,8 +143685,8 @@ function getFormat(formatter) {
|
|
143404
143685
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/cldr-data/parent_locales.js
|
143405
143686
|
/**
|
143406
143687
|
* DevExtreme (esm/common/core/localization/cldr-data/parent_locales.js)
|
143407
|
-
* Version:
|
143408
|
-
* Build date:
|
143688
|
+
* Version: 25.1.1-alpha
|
143689
|
+
* Build date: Wed Apr 02 2025
|
143409
143690
|
*
|
143410
143691
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
143411
143692
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -143590,8 +143871,8 @@ function getFormat(formatter) {
|
|
143590
143871
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/parentLocale.js
|
143591
143872
|
/**
|
143592
143873
|
* DevExtreme (esm/common/core/localization/parentLocale.js)
|
143593
|
-
* Version:
|
143594
|
-
* Build date:
|
143874
|
+
* Version: 25.1.1-alpha
|
143875
|
+
* Build date: Wed Apr 02 2025
|
143595
143876
|
*
|
143596
143877
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
143597
143878
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -143608,8 +143889,8 @@ const PARENT_LOCALE_SEPARATOR = "-";
|
|
143608
143889
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/core.js
|
143609
143890
|
/**
|
143610
143891
|
* DevExtreme (esm/common/core/localization/core.js)
|
143611
|
-
* Version:
|
143612
|
-
* Build date:
|
143892
|
+
* Version: 25.1.1-alpha
|
143893
|
+
* Build date: Wed Apr 02 2025
|
143613
143894
|
*
|
143614
143895
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
143615
143896
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -143650,8 +143931,8 @@ const DEFAULT_LOCALE = "en";
|
|
143650
143931
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/open_xml_currency_format.js
|
143651
143932
|
/**
|
143652
143933
|
* DevExtreme (esm/common/core/localization/open_xml_currency_format.js)
|
143653
|
-
* Version:
|
143654
|
-
* Build date:
|
143934
|
+
* Version: 25.1.1-alpha
|
143935
|
+
* Build date: Wed Apr 02 2025
|
143655
143936
|
*
|
143656
143937
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
143657
143938
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -143693,8 +143974,8 @@ const DEFAULT_LOCALE = "en";
|
|
143693
143974
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/cldr-data/accounting_formats.js
|
143694
143975
|
/**
|
143695
143976
|
* DevExtreme (esm/common/core/localization/cldr-data/accounting_formats.js)
|
143696
|
-
* Version:
|
143697
|
-
* Build date:
|
143977
|
+
* Version: 25.1.1-alpha
|
143978
|
+
* Build date: Wed Apr 02 2025
|
143698
143979
|
*
|
143699
143980
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
143700
143981
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -144280,8 +144561,8 @@ const DEFAULT_LOCALE = "en";
|
|
144280
144561
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/intl/number.js
|
144281
144562
|
/**
|
144282
144563
|
* DevExtreme (esm/common/core/localization/intl/number.js)
|
144283
|
-
* Version:
|
144284
|
-
* Build date:
|
144564
|
+
* Version: 25.1.1-alpha
|
144565
|
+
* Build date: Wed Apr 02 2025
|
144285
144566
|
*
|
144286
144567
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
144287
144568
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -144364,7 +144645,8 @@ const getCurrencyFormatter = currency => new Intl.NumberFormat(core.locale(), {
|
|
144364
144645
|
if (!format || "function" !== typeof format && !format.type && !format.formatter) {
|
144365
144646
|
return intl_number_getFormatter(format)(value)
|
144366
144647
|
}
|
144367
|
-
|
144648
|
+
const result = this.callBase.apply(this, arguments);
|
144649
|
+
return result
|
144368
144650
|
},
|
144369
144651
|
_getCurrencySymbolInfo: function(currency) {
|
144370
144652
|
const formatter = getCurrencyFormatter(currency);
|
@@ -144401,8 +144683,8 @@ const getCurrencyFormatter = currency => new Intl.NumberFormat(core.locale(), {
|
|
144401
144683
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/number.js
|
144402
144684
|
/**
|
144403
144685
|
* DevExtreme (esm/common/core/localization/number.js)
|
144404
|
-
* Version:
|
144405
|
-
* Build date:
|
144686
|
+
* Version: 25.1.1-alpha
|
144687
|
+
* Build date: Wed Apr 02 2025
|
144406
144688
|
*
|
144407
144689
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
144408
144690
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -144634,7 +144916,9 @@ const numberLocalization = dependency_injector({
|
|
144634
144916
|
if (!numberConfig) {
|
144635
144917
|
const formatterConfig = this._getSeparators();
|
144636
144918
|
formatterConfig.unlimitedIntegerDigits = format.unlimitedIntegerDigits;
|
144637
|
-
|
144919
|
+
const formatter = number_getFormatter(format.type, formatterConfig)(value);
|
144920
|
+
const result = this.convertDigits(formatter);
|
144921
|
+
return result
|
144638
144922
|
}
|
144639
144923
|
return this._formatNumber(value, numberConfig, format)
|
144640
144924
|
},
|
@@ -144707,8 +144991,8 @@ if (hasIntl) {
|
|
144707
144991
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/ldml/date.format.js
|
144708
144992
|
/**
|
144709
144993
|
* DevExtreme (esm/common/core/localization/ldml/date.format.js)
|
144710
|
-
* Version:
|
144711
|
-
* Build date:
|
144994
|
+
* Version: 25.1.1-alpha
|
144995
|
+
* Build date: Wed Apr 02 2025
|
144712
144996
|
*
|
144713
144997
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
144714
144998
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -144905,8 +145189,8 @@ const date_format_getFormat = function(formatter) {
|
|
144905
145189
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/ldml/date.parser.js
|
144906
145190
|
/**
|
144907
145191
|
* DevExtreme (esm/common/core/localization/ldml/date.parser.js)
|
144908
|
-
* Version:
|
144909
|
-
* Build date:
|
145192
|
+
* Version: 25.1.1-alpha
|
145193
|
+
* Build date: Wed Apr 02 2025
|
144910
145194
|
*
|
144911
145195
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
144912
145196
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -145224,8 +145508,8 @@ const getParser = function(format, dateParts) {
|
|
145224
145508
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/default_date_names.js
|
145225
145509
|
/**
|
145226
145510
|
* DevExtreme (esm/common/core/localization/default_date_names.js)
|
145227
|
-
* Version:
|
145228
|
-
* Build date:
|
145511
|
+
* Version: 25.1.1-alpha
|
145512
|
+
* Build date: Wed Apr 02 2025
|
145229
145513
|
*
|
145230
145514
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
145231
145515
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -145261,8 +145545,8 @@ const cutCaptions = (captions, format) => {
|
|
145261
145545
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/cldr-data/first_day_of_week_data.js
|
145262
145546
|
/**
|
145263
145547
|
* DevExtreme (esm/common/core/localization/cldr-data/first_day_of_week_data.js)
|
145264
|
-
* Version:
|
145265
|
-
* Build date:
|
145548
|
+
* Version: 25.1.1-alpha
|
145549
|
+
* Build date: Wed Apr 02 2025
|
145266
145550
|
*
|
145267
145551
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
145268
145552
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -145461,8 +145745,8 @@ const cutCaptions = (captions, format) => {
|
|
145461
145745
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/intl/date.js
|
145462
145746
|
/**
|
145463
145747
|
* DevExtreme (esm/common/core/localization/intl/date.js)
|
145464
|
-
* Version:
|
145465
|
-
* Build date:
|
145748
|
+
* Version: 25.1.1-alpha
|
145749
|
+
* Build date: Wed Apr 02 2025
|
145466
145750
|
*
|
145467
145751
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
145468
145752
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -145779,8 +146063,8 @@ const monthNameStrategies = {
|
|
145779
146063
|
;// CONCATENATED MODULE: ./node_modules/devextreme/esm/common/core/localization/date.js
|
145780
146064
|
/**
|
145781
146065
|
* DevExtreme (esm/common/core/localization/date.js)
|
145782
|
-
* Version:
|
145783
|
-
* Build date:
|
146066
|
+
* Version: 25.1.1-alpha
|
146067
|
+
* Build date: Wed Apr 02 2025
|
145784
146068
|
*
|
145785
146069
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
145786
146070
|
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
|
@@ -146310,6 +146594,10 @@ class Settings {
|
|
146310
146594
|
if ((0,common.isDefined)(settings.view)) {
|
146311
146595
|
if ((0,common.isDefined)(settings.view.viewType))
|
146312
146596
|
result.view.viewType = settings.view.viewType;
|
146597
|
+
if ((0,common.isDefined)(settings.view.zoomLevel))
|
146598
|
+
result.view.zoomLevel = settings.view.zoomLevel;
|
146599
|
+
if ((0,common.isDefined)(settings.view.allowZoom))
|
146600
|
+
result.view.allowZoom = settings.view.allowZoom;
|
146313
146601
|
if ((0,common.isDefined)(settings.view.simpleViewSettings)) {
|
146314
146602
|
const paddings = settings.view.simpleViewSettings.paddings;
|
146315
146603
|
if ((0,common.isDefined)(paddings)) {
|
@@ -146985,6 +147273,7 @@ var external_DevExpress_config_default = /*#__PURE__*/__webpack_require__.n(exte
|
|
146985
147273
|
|
146986
147274
|
|
146987
147275
|
|
147276
|
+
|
146988
147277
|
|
146989
147278
|
|
146990
147279
|
class ClientRichEdit {
|
@@ -147017,7 +147306,7 @@ class ClientRichEdit {
|
|
147017
147306
|
this.contextMenuSettings = settings.contextMenuSettings;
|
147018
147307
|
this.fullScreenHelper = new FullScreenHelper(element);
|
147019
147308
|
if (true)
|
147020
|
-
external_DevExpress_config_default()(JSON.parse(atob('
|
147309
|
+
external_DevExpress_config_default()(JSON.parse(atob('eyJsaWNlbnNlS2V5IjoiZXdvZ0lDSm1iM0p0WVhRaU9pQXhMQW9nSUNKcGJuUmxjbTVoYkZWellXZGxTV1FpT2lBaVJWTTBSVlk0YmxKaVpYVk9OVGRWVEdSbFlVeHhZeUlLZlE9PS5MN1o0YXlNMTRnUWtScExSaEt6MGZSMDU5d1E5cWhhMi9ESThnRG83SEJxbFM2L1BMNVRtTmRrTVRzMmdUL3oyUFVQZDgyZGRMM0dsbjZiQUM0aXB4cUI0Y1ozT1FkZjhVc1pmMm9TOCs5SnliZGdCS1diYnFseXdEMUVFbkwwNmV0eWdtQT09In0=')));
|
147021
147310
|
this.prepareElement(element, settings);
|
147022
147311
|
this.initDefaultFontsAndStyles();
|
147023
147312
|
this.initBars(settings.ribbon, settings.fonts);
|
@@ -147121,6 +147410,7 @@ class ClientRichEdit {
|
|
147121
147410
|
options.fonts = settings.fonts;
|
147122
147411
|
options.spellChecker = settings.spellCheck;
|
147123
147412
|
options.nonce = settings.nonce;
|
147413
|
+
options.control.allowZoom = settings.view.allowZoom ? DocumentCapability.Enabled : DocumentCapability.Disabled;
|
147124
147414
|
this.core = new ClientRichEditCore(this, this.name, this.element, Math.random().toString(), settings.readOnly, this.barHolder, settings.unit, this.rulerSettings, options, settings.view, this.getStringResources());
|
147125
147415
|
}
|
147126
147416
|
initCore() {
|
@@ -148153,6 +148443,18 @@ function executeApiCommandCore(commandManager, commandId, parameter) {
|
|
148153
148443
|
case ViewTabCommandId.ToggleFullScreen:
|
148154
148444
|
parameter = undefined;
|
148155
148445
|
break;
|
148446
|
+
case ViewTabCommandId.ChangeZoomLevel:
|
148447
|
+
{
|
148448
|
+
const zoomLevel = ApiParametersChecker.check(parameter, 2, false, [
|
148449
|
+
ApiParametersChecker.numberDescriptor('parameter', val => val)
|
148450
|
+
]);
|
148451
|
+
parameter = zoomLevel;
|
148452
|
+
break;
|
148453
|
+
}
|
148454
|
+
;
|
148455
|
+
case ViewTabCommandId.ToggleAllowZoom:
|
148456
|
+
parameter = undefined;
|
148457
|
+
break;
|
148156
148458
|
case HeaderAndFooterTabCommandId.GoToPageHeader:
|
148157
148459
|
parameter = undefined;
|
148158
148460
|
break;
|
@@ -149344,6 +149646,8 @@ external_DevExpress_trial_default().registerTrialPanelComponents();
|
|
149344
149646
|
|
149345
149647
|
|
149346
149648
|
|
149649
|
+
|
149650
|
+
|
149347
149651
|
|
149348
149652
|
|
149349
149653
|
|
@@ -149527,6 +149831,25 @@ class RichEditPublic {
|
|
149527
149831
|
}
|
149528
149832
|
get hasUnsavedChanges() { return !this._native.documentSaved; }
|
149529
149833
|
set hasUnsavedChanges(value) { this._native.documentSaved = !value; }
|
149834
|
+
get zoomLevel() {
|
149835
|
+
return this._native.core.viewManager.zoomLevel;
|
149836
|
+
}
|
149837
|
+
set zoomLevel(value) {
|
149838
|
+
const zoomLevelValue = ApiParametersChecker.check(value, 1, false, [
|
149839
|
+
ApiParametersChecker.numberDescriptor('value', val => val, RichUtils.minZoomLevel, RichUtils.maxZoomLevel, true)
|
149840
|
+
]);
|
149841
|
+
this._native.core.viewManager.zoomLevel = zoomLevelValue;
|
149842
|
+
this._native.core.barHolder.forceUpdate({ [RichEditClientCommand.ChangeZoomLevel]: true });
|
149843
|
+
}
|
149844
|
+
get allowZoom() {
|
149845
|
+
return this._native.core.viewManager.allowZoom;
|
149846
|
+
}
|
149847
|
+
set allowZoom(value) {
|
149848
|
+
const allowZoomValue = ApiParametersChecker.check(value, 1, false, [
|
149849
|
+
ApiParametersChecker.booleanDescriptor('value', val => val)
|
149850
|
+
]);
|
149851
|
+
this._native.core.viewManager.allowZoom = allowZoomValue;
|
149852
|
+
}
|
149530
149853
|
newDocument() {
|
149531
149854
|
this._native.core.commandManager.getCommand(RichEditClientCommand.CreateNewDocumentLocally)
|
149532
149855
|
.execute(true);
|
@@ -150018,6 +150341,8 @@ function createOptions() {
|
|
150018
150341
|
showBrackets: true,
|
150019
150342
|
},
|
150020
150343
|
view: {
|
150344
|
+
zoomLevel: 1.0,
|
150345
|
+
allowZoom: true,
|
150021
150346
|
simpleViewSettings: {
|
150022
150347
|
paddings: {
|
150023
150348
|
left: 15,
|