1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372 | 1×
1×
1×
1×
101×
101×
101×
101×
101×
101×
101×
101×
101×
101×
101×
101×
101×
101×
101×
101×
1×
1×
14480×
1×
1×
1×
1×
1×
1×
1×
1×
1×
1×
1×
1×
179×
179×
179×
179×
179×
179×
179×
179×
1×
179×
179×
179×
179×
179×
179×
1×
179×
179×
179×
179×
179×
179×
179×
179×
179×
179×
179×
179×
179×
179×
179×
179×
179×
179×
1×
1×
| define(["require", "exports", "@syncfusion/ej2-base", "@syncfusion/ej2-buttons", "@syncfusion/ej2-lists", "../viewer/page", "@syncfusion/ej2-popups"], function (require, exports, ej2_base_1, ej2_buttons_1, ej2_lists_1, page_1, ej2_popups_1) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var SpellCheckDialog = (function () {
function SpellCheckDialog(documentHelper) {
var _this = this;
this.ignoreClickHandler = this.onIgnoreClick.bind(this);
this.ignoreAllClickHandler = this.onIgnoreAllClick.bind(this);
this.addToDictClickHandler = this.onAddToDictClick.bind(this);
this.selectHandlerClickHandler = this.onSelectHandlerClick.bind(this);
this.changeButtonClickHandler = this.onChangeButtonClick.bind(this);
this.onChangeAllButtonClickHandler = this.onChangeAllButtonClick.bind(this);
this.selectHandler = function (args) {
_this.selectedText = args.text;
};
this.onCancelButtonClick = function () {
_this.documentHelper.clearSelectionHighlight();
_this.documentHelper.hideDialog();
};
this.onIgnoreClicked = function () {
if (!ej2_base_1.isNullOrUndefined(_this.elementBox)) {
ej2_popups_1.showSpinner(_this.documentHelper.dialog.element);
_this.parent.spellCheckerModule.manageReplace('Ignore Once', _this.elementBox);
_this.removeErrors();
_this.parent.spellCheckerModule.checkForNextError();
ej2_popups_1.hideSpinner(_this.documentHelper.dialog.element);
}
};
this.onIgnoreAllClicked = function () {
if (!ej2_base_1.isNullOrUndefined(_this.elementBox)) {
ej2_popups_1.showSpinner(_this.documentHelper.dialog.element);
var text = _this.elementBox.text;
_this.parent.spellCheckerModule.handleIgnoreAllItems({ element: _this.elementBox, text: text });
_this.parent.spellCheckerModule.checkForNextError();
ej2_popups_1.hideSpinner(_this.documentHelper.dialog.element);
}
};
this.addToDictClicked = function () {
if (!ej2_base_1.isNullOrUndefined(_this.elementBox)) {
ej2_popups_1.showSpinner(_this.documentHelper.dialog.element);
_this.parent.spellCheckerModule.handleAddToDictionary({ element: _this.elementBox, text: _this.elementBox.text });
if (_this.parent.spellCheckerModule.errorWordCollection.containsKey(_this.errorText)) {
_this.parent.spellCheckerModule.errorWordCollection.remove(_this.errorText);
}
_this.parent.spellCheckerModule.checkForNextError();
_this.documentHelper.hideDialog();
}
};
this.changeButtonClicked = function () {
if (!ej2_base_1.isNullOrUndefined(_this.selectedText)) {
_this.isSpellChecking = true;
ej2_popups_1.showSpinner(_this.documentHelper.dialog.element);
_this.parent.spellCheckerModule.manageReplace(_this.selectedText, _this.elementBox);
_this.removeErrors();
_this.parent.spellCheckerModule.checkForNextError();
ej2_popups_1.hideSpinner(_this.documentHelper.dialog.element);
_this.selectedText = undefined;
}
};
this.changeAllButtonClicked = function () {
if (!ej2_base_1.isNullOrUndefined(_this.selectedText)) {
_this.isSpellChecking = true;
_this.parent.spellCheckerModule.isChangeAll = true;
ej2_popups_1.showSpinner(_this.documentHelper.dialog.element);
var elements = _this.parent.spellCheckerModule.errorWordCollection.get(_this.errorText);
for (var i = 0; i < elements.length; i++) {
if (elements[i] instanceof page_1.ErrorTextElementBox && !elements[i].ischangeDetected) {
_this.parent.spellCheckerModule.manageReplace(_this.selectedText, elements[i]);
}
else if (elements[i] instanceof page_1.TextElementBox) {
var matchResults = _this.parent.spellCheckerModule.getMatchedResultsFromElement(elements[i]);
var results = matchResults.textResults;
var markIndex = (elements[i].ischangeDetected) ?
elements[i].start.offset : elements[i].line.getOffset(elements[i], 0);
_this.parent.searchModule.textSearch.updateMatchedTextLocation(matchResults.matches, results, matchResults.elementInfo, 0, elements[i], false, null, markIndex);
for (var j = 0; j < results.length; j++) {
var element = _this.parent.spellCheckerModule.createErrorElementWithInfo(results.innerList[j], elements[i]);
_this.parent.spellCheckerModule.manageReplace(_this.selectedText, element);
}
}
}
if (_this.parent.spellCheckerModule.errorWordCollection.containsKey(_this.errorText)) {
_this.parent.spellCheckerModule.errorWordCollection.remove(_this.errorText);
}
_this.parent.spellCheckerModule.checkForNextError();
_this.documentHelper.hideDialog();
ej2_popups_1.hideSpinner(_this.documentHelper.dialog.element);
_this.parent.spellCheckerModule.isChangeAll = false;
_this.selectedText = undefined;
}
};
this.documentHelper = documentHelper;
ej2_popups_1.createSpinner({ target: this.documentHelper.dialog.element, cssClass: 'e-spin-overlay' });
}
Object.defineProperty(SpellCheckDialog.prototype, "parent", {
get: function () {
return this.documentHelper.owner;
},
enumerable: true,
configurable: true
});
SpellCheckDialog.prototype.getModuleName = function () {
return 'SpellCheckDialog';
};
SpellCheckDialog.prototype.onSelectHandlerClick = function (args) {
this.selectHandler(args);
};
SpellCheckDialog.prototype.onIgnoreClick = function () {
this.onIgnoreClicked();
};
SpellCheckDialog.prototype.removeErrors = function () {
if (!ej2_base_1.isNullOrUndefined(this.errorText) && this.parent.spellCheckerModule.errorWordCollection.containsKey(this.errorText)) {
var textElement = this.parent.spellCheckerModule.errorWordCollection.get(this.errorText);
textElement.splice(0, 1);
if (textElement.length === 0) {
this.parent.spellCheckerModule.errorWordCollection.remove(this.errorText);
}
}
if (this.parent.spellCheckerModule.errorWordCollection.length === 0) {
this.documentHelper.hideDialog();
}
};
SpellCheckDialog.prototype.onIgnoreAllClick = function () {
this.onIgnoreAllClicked();
};
SpellCheckDialog.prototype.onAddToDictClick = function () {
this.addToDictClicked();
};
SpellCheckDialog.prototype.onChangeButtonClick = function () {
this.changeButtonClicked();
};
SpellCheckDialog.prototype.onChangeAllButtonClick = function () {
this.changeAllButtonClicked();
};
SpellCheckDialog.prototype.show = function (error, elementbox) {
this.target = undefined;
this.localValue = new ej2_base_1.L10n('documenteditor', this.documentHelper.owner.defaultLocale);
this.localValue.setLocale(this.documentHelper.owner.locale);
if (!this.target) {
this.updateSuggestionDialog(error, elementbox);
}
};
SpellCheckDialog.prototype.updateSuggestionDialog = function (error, elementBox) {
var _this = this;
this.elementBox = elementBox;
var suggestions;
if (this.isSpellChecking) {
this.parent.spellCheckerModule.callSpellChecker(this.parent.spellCheckerModule.languageID, error, false, true).then(function (data) {
var jsonObject = JSON.parse(data);
suggestions = jsonObject.Suggestions;
_this.isSpellChecking = false;
_this.handleRetrievedSuggestion(error, suggestions);
});
}
else {
error = this.parent.spellCheckerModule.manageSpecialCharacters(error, undefined, true);
suggestions = this.parent.spellCheckerModule.errorSuggestions.containsKey(error) ?
this.parent.spellCheckerModule.errorSuggestions.get(error) : [];
this.handleRetrievedSuggestion(error, suggestions);
}
};
SpellCheckDialog.prototype.handleRetrievedSuggestion = function (error, suggestions) {
error = this.parent.spellCheckerModule.manageSpecialCharacters(error, undefined, true);
this.initSpellCheckDialog(this.localValue, error, suggestions);
if (this.documentHelper.selection.caret.style.display !== 'none') {
this.documentHelper.selection.caret.style.display = 'none';
}
this.documentHelper.dialog.header = this.localValue.getConstant('Spelling Editor');
this.documentHelper.dialog.height = 'auto';
this.documentHelper.dialog.width = 'auto';
this.documentHelper.dialog.content = this.target;
this.documentHelper.dialog.beforeOpen = this.documentHelper.updateFocus;
this.documentHelper.dialog.buttons = [{
click: this.onCancelButtonClick,
buttonModel: { content: this.localValue.getConstant('Cancel'), cssClass: 'e-control e-flat', isPrimary: true }
}];
this.documentHelper.dialog.dataBind();
this.documentHelper.dialog.show();
ej2_popups_1.hideSpinner(this.documentHelper.dialog.element);
};
SpellCheckDialog.prototype.initSpellCheckDialog = function (localValue, error, suggestion, isRtl) {
var id = this.documentHelper.owner.containerId + '_add_SpellCheck';
this.target = ej2_base_1.createElement('div', { id: id, className: 'e-de-insert-spellchecker' });
this.errorText = error;
this.textContainer = ej2_base_1.createElement('div', {
className: 'e-de-dlg-sub-header', innerHTML: localValue.getConstant('Spelling')
});
this.target.appendChild(this.textContainer);
this.spellContainer = ej2_base_1.createElement('div', { className: 'e-de-spellcheck-error-container' });
this.listviewDiv = ej2_base_1.createElement('div', { className: 'e-de-dlg-spellcheck-listview' });
this.spellContainer.appendChild(this.listviewDiv);
this.spellingListView = new ej2_lists_1.ListView({
dataSource: [error],
cssClass: 'e-dlg-spellcheck-listitem'
});
this.spellingListView.appendTo(this.listviewDiv);
this.buttonDiv = ej2_base_1.createElement('div', { className: 'e-de-spellcheck-btncontainer' });
this.spellContainer.appendChild(this.buttonDiv);
this.ignoreButtonElement = ej2_base_1.createElement('button', { innerHTML: localValue.getConstant('Ignore') });
this.buttonDiv.appendChild(this.ignoreButtonElement);
this.ignoreButtonElement.setAttribute('aria-label', localValue.getConstant('Ignore'));
this.ignorebutton = new ej2_buttons_1.Button({ cssClass: 'e-control e-de-ok-button e-de-spellcheck-btn' });
this.ignorebutton.appendTo(this.ignoreButtonElement);
this.ignoreButtonElement.addEventListener('click', this.ignoreClickHandler);
this.ignoreAllButtonElement = ej2_base_1.createElement('button', { innerHTML: localValue.getConstant('Ignore All') });
this.ignoreAllButtonElement.setAttribute('aria-label', localValue.getConstant('Ignore All'));
this.buttonDiv.appendChild(this.ignoreAllButtonElement);
this.ignoreAllbutton = new ej2_buttons_1.Button({ cssClass: 'e-control e-de-ok-button e-de-spellcheck-btn' });
this.ignoreAllbutton.appendTo(this.ignoreAllButtonElement);
this.ignoreAllButtonElement.addEventListener('click', this.ignoreAllClickHandler);
this.addDictButtonElement = ej2_base_1.createElement('button', { innerHTML: localValue.getConstant('Add to Dictionary') });
this.addDictButtonElement.setAttribute('aria-label', localValue.getConstant('Add to Dictionary'));
this.buttonDiv.appendChild(this.addDictButtonElement);
this.addDictButton = new ej2_buttons_1.Button({ cssClass: 'e-control e-de-ok-button e-de-spellcheck-btn' });
this.addDictButton.appendTo(this.addDictButtonElement);
this.addDictButtonElement.addEventListener('click', this.addToDictClickHandler);
this.target.appendChild(this.spellContainer);
this.suggestionDiv = ej2_base_1.createElement('div', {
className: 'e-de-dlg-sub-header', innerHTML: localValue.getConstant('Suggestions')
});
this.target.appendChild(this.suggestionDiv);
this.suggestionContainer = ej2_base_1.createElement('div', { className: 'e-de-spellcheck-suggestion-container' });
this.target.appendChild(this.suggestionContainer);
this.suggestListDiv = ej2_base_1.createElement('div', { className: 'e-de-dlg-spellcheck-listview' });
this.suggestListDiv.setAttribute('aria-label', localValue.getConstant('Suggestions'));
this.suggestionContainer.appendChild(this.suggestListDiv);
this.suggestionListView = new ej2_lists_1.ListView({
dataSource: suggestion,
cssClass: 'e-dlg-spellcheck-listitem'
});
this.suggestionListView.appendTo(this.suggestListDiv);
this.suggestionListView.addEventListener('select', this.selectHandlerClickHandler);
this.suggestBtnContainder = ej2_base_1.createElement('div', { className: 'e-de-spellcheck-btncontainer' });
this.suggestionContainer.appendChild(this.suggestBtnContainder);
this.changeButtonElement = ej2_base_1.createElement('button', { innerHTML: localValue.getConstant('Change') });
this.changeButtonElement.setAttribute('aria-label', localValue.getConstant('Change'));
this.suggestBtnContainder.appendChild(this.changeButtonElement);
this.changeButton = new ej2_buttons_1.Button({ cssClass: 'e-control e-de-ok-button e-de-spellcheck-btn' });
this.changeButton.appendTo(this.changeButtonElement);
this.changeButtonElement.addEventListener('click', this.changeButtonClickHandler);
this.changeAllButtonElement = ej2_base_1.createElement('button', { innerHTML: localValue.getConstant('Change All') });
this.changeAllButtonElement.setAttribute('aria-label', localValue.getConstant('Change All'));
this.suggestBtnContainder.appendChild(this.changeAllButtonElement);
this.changeAllbutton = new ej2_buttons_1.Button({ cssClass: 'e-control e-de-ok-button e-de-spellcheck-btn' });
this.changeAllbutton.appendTo(this.changeAllButtonElement);
this.changeAllButtonElement.addEventListener('click', this.onChangeAllButtonClickHandler);
if (ej2_base_1.isNullOrUndefined(suggestion) || suggestion.length === 0) {
this.changeButton.disabled = true;
this.changeAllbutton.disabled = true;
}
};
SpellCheckDialog.prototype.destroy = function () {
Iif (this.target) {
this.target.remove();
this.target = undefined;
}
Iif (this.elementBox) {
this.elementBox.destroy();
this.elementBox = undefined;
}
this.documentHelper = undefined;
Iif (this.spellingListView) {
this.spellingListView.destroy();
this.spellingListView = undefined;
}
Iif (this.suggestionListView) {
this.suggestionListView.destroy();
this.suggestionListView = undefined;
}
this.selectedText = undefined;
this.removeEvents();
this.removeElements();
};
SpellCheckDialog.prototype.removeEvents = function () {
Iif (this.ignoreButtonElement) {
this.ignoreButtonElement.removeEventListener('click', this.ignoreClickHandler);
}
Iif (this.ignoreAllButtonElement) {
this.ignoreAllButtonElement.removeEventListener('click', this.ignoreAllClickHandler);
}
Iif (this.addDictButtonElement) {
this.addDictButtonElement.removeEventListener('click', this.addToDictClickHandler);
}
Iif (this.changeButtonElement) {
this.changeButtonElement.removeEventListener('click', this.changeButtonClickHandler);
}
Iif (this.changeAllButtonElement) {
this.changeAllButtonElement.removeEventListener('click', this.onChangeAllButtonClickHandler);
}
Iif (this.suggestionListView) {
this.suggestionListView.removeEventListener('select', this.selectHandlerClickHandler);
}
};
SpellCheckDialog.prototype.removeElements = function () {
Iif (this.textContainer) {
this.textContainer.remove();
this.textContainer = undefined;
}
Iif (this.spellContainer) {
this.spellContainer.remove();
this.spellContainer = undefined;
}
Iif (this.listviewDiv) {
this.listviewDiv.remove();
this.listviewDiv = undefined;
}
Iif (this.buttonDiv) {
this.buttonDiv.remove();
this.buttonDiv = undefined;
}
Iif (this.ignoreButtonElement) {
this.ignoreButtonElement.remove();
this.ignoreButtonElement = undefined;
}
Iif (this.ignorebutton) {
this.ignorebutton.destroy();
this.ignorebutton = undefined;
}
Iif (this.ignoreAllButtonElement) {
this.ignoreAllButtonElement.remove();
this.ignoreAllButtonElement = undefined;
}
Iif (this.ignoreAllbutton) {
this.ignoreAllbutton.destroy();
this.ignoreAllbutton = undefined;
}
Iif (this.addDictButtonElement) {
this.addDictButtonElement.remove();
this.addDictButtonElement = undefined;
}
Iif (this.addDictButton) {
this.addDictButton.destroy();
this.addDictButton = undefined;
}
Iif (this.suggestionDiv) {
this.suggestionDiv.remove();
this.suggestionDiv = undefined;
}
Iif (this.suggestionContainer) {
this.suggestionContainer.remove();
this.suggestionContainer = undefined;
}
Iif (this.suggestListDiv) {
this.suggestListDiv.remove();
this.suggestListDiv = undefined;
}
Iif (this.suggestBtnContainder) {
this.suggestBtnContainder.remove();
this.suggestBtnContainder = undefined;
}
Iif (this.changeButtonElement) {
this.changeButtonElement.remove();
this.changeButtonElement = undefined;
}
Iif (this.changeButton) {
this.changeButton.destroy();
this.changeButton = undefined;
}
Iif (this.changeAllButtonElement) {
this.changeAllButtonElement.remove();
this.changeAllButtonElement = undefined;
}
Iif (this.changeAllbutton) {
this.changeAllbutton.destroy();
this.changeAllbutton = undefined;
}
};
return SpellCheckDialog;
}());
exports.SpellCheckDialog = SpellCheckDialog;
});
|