devexpress-richedit 26.1.2-beta → 26.1.3
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 +26 -0
- package/dist/dx.richedit.d.ts +1 -1
- package/dist/dx.richedit.js +6016 -5627
- package/dist/dx.richedit.min.js +3 -3
- package/dist/pdfkit.js +21908 -22350
- package/dist/pdfkit.min.js +1 -1
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/lib/client/client-rich-edit.d.ts +0 -1
- package/lib/client/client-rich-edit.js +2 -25
- package/lib/client/default-localization.js +1 -0
- package/lib/common/canvas/canvas-manager.d.ts +1 -1
- package/lib/common/canvas/canvas-manager.js +7 -3
- package/lib/common/canvas/double-tap-detector.d.ts +10 -0
- package/lib/common/canvas/double-tap-detector.js +28 -0
- package/lib/common/canvas/renderer-class-names.d.ts +2 -0
- package/lib/common/canvas/renderer-class-names.js +2 -0
- package/lib/common/canvas/renderes/common/document-renderer.d.ts +20 -7
- package/lib/common/canvas/renderes/common/document-renderer.js +236 -47
- package/lib/common/canvas/renderes/common/simple-view-renderer.d.ts +3 -1
- package/lib/common/canvas/renderes/common/simple-view-renderer.js +35 -2
- package/lib/common/canvas/renderes/view-manager.d.ts +3 -0
- package/lib/common/canvas/renderes/view-manager.js +34 -7
- package/lib/common/commands/border-command-options.d.ts +7 -0
- package/lib/common/commands/border-command-options.js +8 -0
- package/lib/common/commands/dialogs/dialog-border-shading-command.js +13 -6
- package/lib/common/commands/dialogs/dialog-custom-numbering-list-command.js +1 -1
- package/lib/common/commands/tables/toggle-table-cells-border-command.d.ts +1 -1
- package/lib/common/commands/tables/toggle-table-cells-border-command.js +10 -3
- package/lib/common/event-manager.js +2 -0
- package/lib/common/layout/main-structures/layout-boxes/layout-box.js +1 -1
- package/lib/common/layout/main-structures/layout-column.d.ts +1 -0
- package/lib/common/layout/main-structures/layout-column.js +3 -0
- package/lib/common/layout/selection/layout-selection-items.d.ts +3 -0
- package/lib/common/layout/selection/layout-selection-items.js +5 -0
- package/lib/common/layout-engine/selection/selection-formatter.js +7 -3
- package/lib/common/layout-formatter/box/generator/box-infos-generator.js +8 -4
- package/lib/common/layout-formatter/row/result.d.ts +1 -0
- package/lib/common/layout-formatter/row/result.js +11 -1
- package/lib/common/layout-formatter/row/size-engine/row-formatting-info.d.ts +2 -1
- package/lib/common/layout-formatter/row/size-engine/row-formatting-info.js +7 -4
- package/lib/common/model/sub-document.d.ts +12 -5
- package/lib/common/model/sub-document.js +36 -31
- package/lib/common/rich-edit-core.js +1 -1
- package/lib/common/screen-reader-manager.d.ts +6 -3
- package/lib/common/screen-reader-manager.js +66 -49
- package/lib/common/string-resources.d.ts +23 -0
- package/lib/common/string-resources.js +43 -0
- package/package.json +3 -3
|
@@ -8,9 +8,8 @@ import { NumberingType } from "./model/numbering-lists/numbering-list";
|
|
|
8
8
|
import { TablePositionIndexes } from "./model/tables/main-structures/table";
|
|
9
9
|
import { InlinePictureRun } from "./model/runs/inline-picture-run";
|
|
10
10
|
import { RichUtils } from "./model/rich-utils";
|
|
11
|
-
import { formatMessage } from "devextreme/localization";
|
|
12
11
|
import { RunType } from "./model/runs/run-type";
|
|
13
|
-
import { SubDocumentPosition } from "./model/sub-document";
|
|
12
|
+
import { SubDocumentPosition, TransformAction } from "./model/sub-document";
|
|
14
13
|
class TableInfo {
|
|
15
14
|
constructor(index, columnIndex, rowIndex) {
|
|
16
15
|
this.index = index;
|
|
@@ -21,16 +20,7 @@ class TableInfo {
|
|
|
21
20
|
export class ScreenReaderManager {
|
|
22
21
|
static { this._maxAnnouncedTextLength = 500; }
|
|
23
22
|
static { this._spaceSeparatorRegex = /^\p{Zs}$/u; }
|
|
24
|
-
|
|
25
|
-
[RichUtils.specialCharacters.SectionMark]: RichUtils.specialCharacters.PageBreak + "\u200C",
|
|
26
|
-
[RichUtils.specialCharacters.PageBreak]: RichUtils.specialCharacters.PageBreak + "\u200C",
|
|
27
|
-
}; }
|
|
28
|
-
constructor(control, liveRegion) {
|
|
29
|
-
this._charNames = Object.assign({
|
|
30
|
-
[RichUtils.specialCharacters.TabMark]: getString("TabAnnouncement"),
|
|
31
|
-
[RichUtils.specialCharacters.ParagraphMark]: getString("CarriageReturnAnnouncement"),
|
|
32
|
-
[RichUtils.specialCharacters.LineBreak]: getString("LineBreakAnnouncement"),
|
|
33
|
-
}, ScreenReaderManager._specialCharSubstitutionTable);
|
|
23
|
+
constructor(control, liveRegion, resources) {
|
|
34
24
|
this._handlers = new Map([
|
|
35
25
|
[RichEditClientCommand.NextCharacter, (selection, lp) => this._getCurrentCharacterAnnouncement(selection, lp)],
|
|
36
26
|
[RichEditClientCommand.PreviousCharacter, (selection, lp) => this._getCurrentCharacterAnnouncement(selection, lp)],
|
|
@@ -53,6 +43,14 @@ export class ScreenReaderManager {
|
|
|
53
43
|
this._prevNavInHyperlink = false;
|
|
54
44
|
this._control = control;
|
|
55
45
|
this._liveRegion = liveRegion;
|
|
46
|
+
this._announcements = resources.announcements;
|
|
47
|
+
this._charNames = {
|
|
48
|
+
[RichUtils.specialCharacters.TabMark]: this._announcements.tab,
|
|
49
|
+
[RichUtils.specialCharacters.ParagraphMark]: this._announcements.carriageReturn,
|
|
50
|
+
[RichUtils.specialCharacters.LineBreak]: this._announcements.lineBreak,
|
|
51
|
+
[RichUtils.specialCharacters.PageBreak]: this._announcements.pageBreak,
|
|
52
|
+
[RichUtils.specialCharacters.SectionMark]: this._announcements.pageBreak,
|
|
53
|
+
};
|
|
56
54
|
}
|
|
57
55
|
_announce(...announcment) {
|
|
58
56
|
this._clearAnnouncement();
|
|
@@ -106,7 +104,7 @@ export class ScreenReaderManager {
|
|
|
106
104
|
const result = [];
|
|
107
105
|
if (!tableInfo.table) {
|
|
108
106
|
if (this._tableInfo) {
|
|
109
|
-
result.push(
|
|
107
|
+
result.push(this._announcements.outOfTable);
|
|
110
108
|
this._tableInfo = null;
|
|
111
109
|
}
|
|
112
110
|
return result;
|
|
@@ -117,35 +115,40 @@ export class ScreenReaderManager {
|
|
|
117
115
|
const colIndex = cellGridInfo.getGridCellIndex();
|
|
118
116
|
const rowIndex = cellGridInfo.getStartRowIndex();
|
|
119
117
|
const currentTableInfo = new TableInfo(tableInfo.table.index, colIndex, rowIndex);
|
|
120
|
-
if (!this._tableInfo || this._tableInfo.index !== currentTableInfo.index)
|
|
121
|
-
|
|
118
|
+
if (!this._tableInfo || this._tableInfo.index !== currentTableInfo.index) {
|
|
119
|
+
if (this._tableInfo) {
|
|
120
|
+
result.push(this._announcements.outOfTable);
|
|
121
|
+
this._tableInfo = null;
|
|
122
|
+
}
|
|
123
|
+
result.push(formatString(this._announcements.inTable, tableCellGridInfos.length, tableCellGridInfos[0].length));
|
|
124
|
+
}
|
|
122
125
|
if (!this._tableInfo || this._tableInfo.rowIndex !== currentTableInfo.rowIndex)
|
|
123
|
-
result.push(
|
|
126
|
+
result.push(formatString(this._announcements.tableRow, rowIndex + 1));
|
|
124
127
|
if (!this._tableInfo || this._tableInfo.columnIndex !== currentTableInfo.columnIndex)
|
|
125
|
-
result.push(
|
|
128
|
+
result.push(formatString(this._announcements.tableColumn, colIndex + 1));
|
|
126
129
|
this._tableInfo = currentTableInfo;
|
|
127
130
|
return result;
|
|
128
131
|
}
|
|
129
132
|
_processExtendSelectionCommand(intervals) {
|
|
130
133
|
let announcments = [];
|
|
131
134
|
if (this._commandId === RichEditClientCommand.SelectAll)
|
|
132
|
-
announcments.push(
|
|
135
|
+
announcments.push(this._announcements.selectAll, "\n");
|
|
136
|
+
const subDocument = this._control.selection.activeSubDocument;
|
|
133
137
|
const selectedIntervals = IntervalUtils.subtractIntervals(intervals, this._selectionIntervals);
|
|
134
138
|
if (selectedIntervals.length > 0)
|
|
135
|
-
announcments.push(
|
|
139
|
+
announcments.push(formatString(this._announcements.textSelected, this._getTextByIntervals(subDocument, selectedIntervals)));
|
|
136
140
|
const unselectedIntervals = IntervalUtils.subtractIntervals(this._selectionIntervals, intervals);
|
|
137
141
|
if (unselectedIntervals.length > 0)
|
|
138
|
-
announcments.push(
|
|
142
|
+
announcments.push(formatString(this._announcements.textUnselected, this._getTextByIntervals(subDocument, unselectedIntervals)));
|
|
139
143
|
return announcments;
|
|
140
144
|
}
|
|
141
|
-
_getTextByIntervals(intervals) {
|
|
145
|
+
_getTextByIntervals(subDocument, intervals) {
|
|
142
146
|
const length = intervals.reduce((total, interval) => total + interval.length, 0);
|
|
143
147
|
if (length > ScreenReaderManager._maxAnnouncedTextLength)
|
|
144
148
|
return `${length} characters`;
|
|
145
|
-
const subDocument = this._control.selection.activeSubDocument;
|
|
146
149
|
return intervals.map(i => subDocument.getVisibleText(i, {
|
|
147
150
|
includeNumberedListMarks: true,
|
|
148
|
-
|
|
151
|
+
transform: this._tryResolveDocumentElements.bind(this)
|
|
149
152
|
})).join('');
|
|
150
153
|
}
|
|
151
154
|
_updateHyperlinkState(lp) {
|
|
@@ -155,9 +158,9 @@ export class ScreenReaderManager {
|
|
|
155
158
|
const inHyperlink = lp.box?.hyperlinkTip != null;
|
|
156
159
|
const prevInHyperlink = this._prevNavInHyperlink;
|
|
157
160
|
if (inHyperlink && !prevInHyperlink)
|
|
158
|
-
return
|
|
161
|
+
return this._announcements.link;
|
|
159
162
|
if (!inHyperlink && prevInHyperlink)
|
|
160
|
-
return
|
|
163
|
+
return this._announcements.outOfLink;
|
|
161
164
|
return null;
|
|
162
165
|
}
|
|
163
166
|
_getCurrentCharacterAnnouncement(selection, lp) {
|
|
@@ -165,7 +168,7 @@ export class ScreenReaderManager {
|
|
|
165
168
|
const subDocument = selection.activeSubDocument;
|
|
166
169
|
const info = subDocument.getRunAndIndexesByPosition(pos);
|
|
167
170
|
if (info.run instanceof InlinePictureRun)
|
|
168
|
-
return
|
|
171
|
+
return this._getInlinePictureText(info.run);
|
|
169
172
|
const isFieldCodeStartRun = info.run.getType() === RunType.FieldCodeStartRun;
|
|
170
173
|
const charInfo = isFieldCodeStartRun
|
|
171
174
|
? subDocument.getRunAndIndexesByPosition(lp.getLogPosition(DocumentLayoutDetailsLevel.Box))
|
|
@@ -199,8 +202,7 @@ export class ScreenReaderManager {
|
|
|
199
202
|
const subDocument = selection.activeSubDocument;
|
|
200
203
|
const wordEnd = LayoutWordBounds.getLayoutWordEndBound(this._control.layout, subDocument, selection, pos, false);
|
|
201
204
|
let text = subDocument.getVisibleText(FixedInterval.fromPositions(pos, wordEnd), {
|
|
202
|
-
|
|
203
|
-
charMap: ScreenReaderManager._specialCharSubstitutionTable
|
|
205
|
+
transform: this._tryResolveDocumentElements.bind(this)
|
|
204
206
|
});
|
|
205
207
|
return this._buildContextualAnnouncement(text, new SubDocumentPosition(subDocument, pos), lp);
|
|
206
208
|
}
|
|
@@ -218,22 +220,40 @@ export class ScreenReaderManager {
|
|
|
218
220
|
}
|
|
219
221
|
_onHyperlinkFieldStart(fieldIndexes, subDocument, pos) {
|
|
220
222
|
const field = this._getHyperlinkField(fieldIndexes, subDocument);
|
|
221
|
-
return field && pos === field.getResultStartPosition() ? ` ${
|
|
223
|
+
return field && pos === field.getResultStartPosition() ? ` ${this._announcements.link} ` : null;
|
|
222
224
|
}
|
|
223
225
|
_getVisibleText(subDocument, interval, includeNumberedListMarks = false) {
|
|
224
226
|
const result = subDocument.getVisibleText(interval, {
|
|
225
227
|
includeNumberedListMarks,
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
228
|
+
transform: (info, fieldIndexes) => {
|
|
229
|
+
const prefix = this._onHyperlinkFieldStart(fieldIndexes, subDocument, info.getAbsolutePosition());
|
|
230
|
+
const text = this._tryResolveDocumentElements(info);
|
|
231
|
+
if (prefix == null && text == null)
|
|
232
|
+
return null;
|
|
233
|
+
return {
|
|
234
|
+
text: (prefix ?? '') + (text ?? ''),
|
|
235
|
+
action: text != null ? TransformAction.Replace : TransformAction.InsertBefore
|
|
236
|
+
};
|
|
237
|
+
}
|
|
229
238
|
});
|
|
230
239
|
return result === RichUtils.specialCharacters.ParagraphMark
|
|
231
|
-
?
|
|
240
|
+
? this._announcements.blank
|
|
232
241
|
: result;
|
|
233
242
|
}
|
|
234
|
-
|
|
243
|
+
_tryResolveDocumentElements(info) {
|
|
244
|
+
return info.run.getType() === RunType.InlinePictureRun
|
|
245
|
+
? this._getInlinePictureText(info.run)
|
|
246
|
+
: this._tryResolveSpecialCharacters(info);
|
|
247
|
+
}
|
|
248
|
+
_tryResolveSpecialCharacters(info) {
|
|
249
|
+
const char = info.getCurrentChar();
|
|
250
|
+
if (char === RichUtils.specialCharacters.PageBreak || char === RichUtils.specialCharacters.SectionMark)
|
|
251
|
+
return ` ${this._announcements.pageBreak} `;
|
|
252
|
+
return null;
|
|
253
|
+
}
|
|
254
|
+
_getInlinePictureText(run) {
|
|
235
255
|
const nonVisualProps = run.info.nonVisualDrawingProperties;
|
|
236
|
-
return
|
|
256
|
+
return formatString(this._announcements.picture, nonVisualProps.description ?? nonVisualProps.name ?? '');
|
|
237
257
|
}
|
|
238
258
|
_getPageChangePrefix(pageIndex) {
|
|
239
259
|
if (this._pageIndex === null) {
|
|
@@ -242,20 +262,20 @@ export class ScreenReaderManager {
|
|
|
242
262
|
}
|
|
243
263
|
if (pageIndex !== this._pageIndex) {
|
|
244
264
|
this._pageIndex = pageIndex;
|
|
245
|
-
return
|
|
265
|
+
return formatString(this._announcements.page, pageIndex + 1);
|
|
246
266
|
}
|
|
247
267
|
return '';
|
|
248
268
|
}
|
|
249
269
|
_getCharName(char) {
|
|
250
270
|
if (char in this._charNames)
|
|
251
271
|
return this._charNames[char];
|
|
252
|
-
return ScreenReaderManager._spaceSeparatorRegex.test(char) ?
|
|
272
|
+
return ScreenReaderManager._spaceSeparatorRegex.test(char) ? this._announcements.space : char;
|
|
253
273
|
}
|
|
254
274
|
_resolveListMarker(paragraph) {
|
|
255
275
|
const levelIndex = paragraph.getListLevelIndex();
|
|
256
276
|
const levelType = paragraph.getNumberingList().getLevelType(levelIndex);
|
|
257
277
|
if (levelType === NumberingType.Bullet)
|
|
258
|
-
return
|
|
278
|
+
return this._announcements.bullet;
|
|
259
279
|
return paragraph.getNumberingListText();
|
|
260
280
|
}
|
|
261
281
|
_getListItemAnnouncement(paragraph, pos, lp, content) {
|
|
@@ -263,14 +283,14 @@ export class ScreenReaderManager {
|
|
|
263
283
|
return null;
|
|
264
284
|
const level = paragraph.getListLevelIndex() + 1;
|
|
265
285
|
const listMarker = this._resolveListMarker(paragraph);
|
|
266
|
-
return `${
|
|
286
|
+
return `${formatString(this._announcements.listItem, level, listMarker)} ${content}`;
|
|
267
287
|
}
|
|
268
288
|
dispose() {
|
|
269
289
|
this._clearAnnouncement();
|
|
270
290
|
this._liveRegion.remove();
|
|
271
291
|
}
|
|
272
292
|
}
|
|
273
|
-
const
|
|
293
|
+
const stringFormatterCache = {};
|
|
274
294
|
function createFormatter(template) {
|
|
275
295
|
const tokens = [];
|
|
276
296
|
let lastIndex = 0;
|
|
@@ -296,14 +316,11 @@ function createFormatter(template) {
|
|
|
296
316
|
return result;
|
|
297
317
|
};
|
|
298
318
|
}
|
|
299
|
-
function
|
|
300
|
-
let
|
|
301
|
-
if (!
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
stringCache[key] = entry;
|
|
319
|
+
function formatString(template, ...args) {
|
|
320
|
+
let formatter = stringFormatterCache[template];
|
|
321
|
+
if (!formatter) {
|
|
322
|
+
formatter = createFormatter(template);
|
|
323
|
+
stringFormatterCache[template] = formatter;
|
|
305
324
|
}
|
|
306
|
-
|
|
307
|
-
return entry(args);
|
|
308
|
-
return entry;
|
|
325
|
+
return formatter(args);
|
|
309
326
|
}
|
|
@@ -3,6 +3,7 @@ export declare class StringResources {
|
|
|
3
3
|
seqCaptionPrefixes: SeqCaptionPrefixes;
|
|
4
4
|
commonLabels: CommonLabels;
|
|
5
5
|
quickSearchPanel: QuickSearchPanelStringResources;
|
|
6
|
+
announcements: IAnnouncementStringResources;
|
|
6
7
|
constructor();
|
|
7
8
|
}
|
|
8
9
|
export declare class HeaderFooterStringResources {
|
|
@@ -31,3 +32,25 @@ export declare class QuickSearchPanelStringResources {
|
|
|
31
32
|
noMatches: string;
|
|
32
33
|
of: string;
|
|
33
34
|
}
|
|
35
|
+
export interface IAnnouncementStringResources {
|
|
36
|
+
inTable?: string;
|
|
37
|
+
outOfTable?: string;
|
|
38
|
+
tableRow?: string;
|
|
39
|
+
tableColumn?: string;
|
|
40
|
+
selectAll?: string;
|
|
41
|
+
textSelected?: string;
|
|
42
|
+
textUnselected?: string;
|
|
43
|
+
tab?: string;
|
|
44
|
+
carriageReturn?: string;
|
|
45
|
+
lineBreak?: string;
|
|
46
|
+
picture?: string;
|
|
47
|
+
page?: string;
|
|
48
|
+
space?: string;
|
|
49
|
+
bullet?: string;
|
|
50
|
+
listItem?: string;
|
|
51
|
+
link?: string;
|
|
52
|
+
outOfLink?: string;
|
|
53
|
+
blank?: string;
|
|
54
|
+
pageBreak?: string;
|
|
55
|
+
}
|
|
56
|
+
export declare function getStringResources(): StringResources;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { formatMessage } from "devextreme/localization";
|
|
1
2
|
export class StringResources {
|
|
2
3
|
constructor() {
|
|
3
4
|
this.headerFooter = new HeaderFooterStringResources();
|
|
4
5
|
this.seqCaptionPrefixes = new SeqCaptionPrefixes();
|
|
5
6
|
this.commonLabels = new CommonLabels();
|
|
6
7
|
this.quickSearchPanel = new QuickSearchPanelStringResources();
|
|
8
|
+
this.announcements = {};
|
|
7
9
|
}
|
|
8
10
|
}
|
|
9
11
|
export class HeaderFooterStringResources {
|
|
@@ -14,3 +16,44 @@ export class CommonLabels {
|
|
|
14
16
|
}
|
|
15
17
|
export class QuickSearchPanelStringResources {
|
|
16
18
|
}
|
|
19
|
+
export function getStringResources() {
|
|
20
|
+
const sr = new StringResources();
|
|
21
|
+
sr.headerFooter.evenPageFooter = formatMessage('XtraRichEditStringId.Caption_EvenPageFooter');
|
|
22
|
+
sr.headerFooter.evenPageHeader = formatMessage('XtraRichEditStringId.Caption_EvenPageHeader');
|
|
23
|
+
sr.headerFooter.firstPageFooter = formatMessage('XtraRichEditStringId.Caption_FirstPageFooter');
|
|
24
|
+
sr.headerFooter.firstPageHeader = formatMessage('XtraRichEditStringId.Caption_FirstPageHeader');
|
|
25
|
+
sr.headerFooter.footer = formatMessage('XtraRichEditStringId.Caption_PageFooter');
|
|
26
|
+
sr.headerFooter.header = formatMessage('XtraRichEditStringId.Caption_PageHeader');
|
|
27
|
+
sr.headerFooter.oddPageFooter = formatMessage('XtraRichEditStringId.Caption_OddPageFooter');
|
|
28
|
+
sr.headerFooter.oddPageHeader = formatMessage('XtraRichEditStringId.Caption_OddPageHeader');
|
|
29
|
+
sr.headerFooter.sameAsPrevious = formatMessage('XtraRichEditStringId.Caption_SameAsPrevious');
|
|
30
|
+
sr.seqCaptionPrefixes.figurePrefix = formatMessage('XtraRichEditStringId.Caption_CaptionPrefixFigure');
|
|
31
|
+
sr.seqCaptionPrefixes.tablePrefix = formatMessage('XtraRichEditStringId.Caption_CaptionPrefixTable');
|
|
32
|
+
sr.seqCaptionPrefixes.equationPrefix = formatMessage('XtraRichEditStringId.Caption_CaptionPrefixEquation');
|
|
33
|
+
sr.commonLabels.noTocEntriesFound = formatMessage('XtraRichEditStringId.Msg_NoTocEntriesFound');
|
|
34
|
+
sr.commonLabels.clickToFollowHyperlink = formatMessage('XtraRichEditStringId.Msg_ClickToFollowHyperlink');
|
|
35
|
+
sr.commonLabels.currentDocumentHyperlinkTooltip = formatMessage('XtraRichEditStringId.Caption_CurrentDocumentHyperlinkTooltip');
|
|
36
|
+
sr.quickSearchPanel.of = formatMessage('ASPxRichEditStringId.FindReplace_Of');
|
|
37
|
+
sr.quickSearchPanel.items = formatMessage('ASPxRichEditStringId.FindReplace_Items');
|
|
38
|
+
sr.quickSearchPanel.noMatches = formatMessage('ASPxRichEditStringId.FindReplace_NoMatches');
|
|
39
|
+
sr.announcements.inTable = formatMessage('AspNetCoreRichEditStringId.InTableAnnouncement');
|
|
40
|
+
sr.announcements.outOfTable = formatMessage('AspNetCoreRichEditStringId.OutOfTableAnnouncement');
|
|
41
|
+
sr.announcements.tableRow = formatMessage('AspNetCoreRichEditStringId.TableRowAnnouncement');
|
|
42
|
+
sr.announcements.tableColumn = formatMessage('AspNetCoreRichEditStringId.TableColumnAnnouncement');
|
|
43
|
+
sr.announcements.selectAll = formatMessage('AspNetCoreRichEditStringId.SelectAllAnnouncement');
|
|
44
|
+
sr.announcements.textSelected = formatMessage('AspNetCoreRichEditStringId.TextSelectedAnnouncement');
|
|
45
|
+
sr.announcements.textUnselected = formatMessage('AspNetCoreRichEditStringId.TextUnselectedAnnouncement');
|
|
46
|
+
sr.announcements.picture = formatMessage('AspNetCoreRichEditStringId.PictureAnnouncement');
|
|
47
|
+
sr.announcements.page = formatMessage('AspNetCoreRichEditStringId.PageAnnouncement');
|
|
48
|
+
sr.announcements.space = formatMessage('AspNetCoreRichEditStringId.SpaceAnnouncement');
|
|
49
|
+
sr.announcements.bullet = formatMessage('AspNetCoreRichEditStringId.BulletAnnouncement');
|
|
50
|
+
sr.announcements.listItem = formatMessage('AspNetCoreRichEditStringId.ListItemAnnouncement');
|
|
51
|
+
sr.announcements.tab = formatMessage('AspNetCoreRichEditStringId.TabAnnouncement');
|
|
52
|
+
sr.announcements.carriageReturn = formatMessage('AspNetCoreRichEditStringId.CarriageReturnAnnouncement');
|
|
53
|
+
sr.announcements.lineBreak = formatMessage('AspNetCoreRichEditStringId.LineBreakAnnouncement');
|
|
54
|
+
sr.announcements.link = formatMessage('AspNetCoreRichEditStringId.LinkAnnouncement');
|
|
55
|
+
sr.announcements.outOfLink = formatMessage('AspNetCoreRichEditStringId.OutOfLinkAnnouncement');
|
|
56
|
+
sr.announcements.blank = formatMessage('AspNetCoreRichEditStringId.BlankAnnouncement');
|
|
57
|
+
sr.announcements.pageBreak = formatMessage('AspNetCoreRichEditStringId.PageBreakAnnouncement');
|
|
58
|
+
return sr;
|
|
59
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devexpress-richedit",
|
|
3
|
-
"version": "26.1.
|
|
3
|
+
"version": "26.1.3",
|
|
4
4
|
"homepage": "https://www.devexpress.com/",
|
|
5
5
|
"bugs": "https://www.devexpress.com/support/",
|
|
6
6
|
"author": "Developer Express Inc.",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"build-nspell": "webpack --mode production --config=bin/nspell.webpack.config.js"
|
|
12
12
|
},
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"devextreme": "26.1.
|
|
15
|
-
"devextreme-dist": "26.1.
|
|
14
|
+
"devextreme": "26.1.3",
|
|
15
|
+
"devextreme-dist": "26.1.3"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"dictionary-en": "3.2.0",
|