@codingame/monaco-vscode-bulk-edit-service-override 24.3.0 → 25.0.0
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/package.json +2 -2
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +14 -14
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEdit.contribution.js +18 -18
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPane.js +5 -5
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPreview.js +1 -1
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditTree.js +16 -16
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-bulk-edit-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "25.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - bulk-edit service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-api": "
|
|
18
|
+
"@codingame/monaco-vscode-api": "25.0.0"
|
|
19
19
|
},
|
|
20
20
|
"main": "index.js",
|
|
21
21
|
"module": "index.js",
|
|
@@ -72,24 +72,24 @@ let BulkEdit = class BulkEdit {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
if (this._edits.length === 0) {
|
|
75
|
-
return localize(
|
|
75
|
+
return localize(4506, "Made no edits");
|
|
76
76
|
}
|
|
77
77
|
else if (otherResources.size === 0) {
|
|
78
78
|
if (textEditCount > 1 && textEditResources.size > 1) {
|
|
79
79
|
return localize(
|
|
80
|
-
|
|
80
|
+
4507,
|
|
81
81
|
"Made {0} text edits in {1} files",
|
|
82
82
|
textEditCount,
|
|
83
83
|
textEditResources.size
|
|
84
84
|
);
|
|
85
85
|
}
|
|
86
86
|
else {
|
|
87
|
-
return localize(
|
|
87
|
+
return localize(4508, "Made {0} text edits in one file", textEditCount);
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
else {
|
|
91
91
|
return localize(
|
|
92
|
-
|
|
92
|
+
4509,
|
|
93
93
|
"Made {0} text edits in {1} files, also created or deleted {2} files",
|
|
94
94
|
textEditCount,
|
|
95
95
|
textEditResources.size,
|
|
@@ -141,12 +141,12 @@ let BulkEdit = class BulkEdit {
|
|
|
141
141
|
}
|
|
142
142
|
async _performFileEdits(edits, undoRedoGroup, undoRedoSource, confirmBeforeUndo, progress) {
|
|
143
143
|
this._logService.debug('_performFileEdits', JSON.stringify(edits));
|
|
144
|
-
const model = this._instaService.createInstance(BulkFileEdits, this._label || ( localize(
|
|
144
|
+
const model = this._instaService.createInstance(BulkFileEdits, this._label || ( localize(4510, "Workspace Edit")), this._code || 'undoredo.workspaceEdit', undoRedoGroup, undoRedoSource, confirmBeforeUndo, progress, this._token, edits);
|
|
145
145
|
return await model.apply();
|
|
146
146
|
}
|
|
147
147
|
async _performTextEdits(edits, undoRedoGroup, undoRedoSource, progress, reason) {
|
|
148
148
|
this._logService.debug('_performTextEdits', JSON.stringify(edits));
|
|
149
|
-
const model = this._instaService.createInstance(BulkTextEdits, this._label || ( localize(
|
|
149
|
+
const model = this._instaService.createInstance(BulkTextEdits, this._label || ( localize(4510, "Workspace Edit")), this._code || 'undoredo.workspaceEdit', this._editor, undoRedoGroup, undoRedoSource, progress, this._token, edits);
|
|
150
150
|
return await model.apply(reason);
|
|
151
151
|
}
|
|
152
152
|
async _performCellEdits(edits, undoRedoGroup, undoRedoSource, progress) {
|
|
@@ -189,7 +189,7 @@ let BulkEditService = class BulkEditService {
|
|
|
189
189
|
async apply(editsIn, options) {
|
|
190
190
|
let edits = liftEdits(Array.isArray(editsIn) ? editsIn : editsIn.edits);
|
|
191
191
|
if (edits.length === 0) {
|
|
192
|
-
return { ariaSummary: ( localize(
|
|
192
|
+
return { ariaSummary: ( localize(4511, "Made no edits")), isApplied: false };
|
|
193
193
|
}
|
|
194
194
|
if (this._previewHandler && (options?.showPreview || ( edits.some(value => value.metadata?.needsConfirmation)))) {
|
|
195
195
|
edits = await this._previewHandler(edits, options);
|
|
@@ -259,24 +259,24 @@ let BulkEditService = class BulkEditService {
|
|
|
259
259
|
let message;
|
|
260
260
|
switch (reason) {
|
|
261
261
|
case ShutdownReason.CLOSE:
|
|
262
|
-
message = ( localize(
|
|
262
|
+
message = ( localize(4512, "Are you sure you want to close the window?"));
|
|
263
263
|
break;
|
|
264
264
|
case ShutdownReason.LOAD:
|
|
265
|
-
message = ( localize(
|
|
265
|
+
message = ( localize(4513, "Are you sure you want to change the workspace?"));
|
|
266
266
|
break;
|
|
267
267
|
case ShutdownReason.RELOAD:
|
|
268
|
-
message = ( localize(
|
|
268
|
+
message = ( localize(4514, "Are you sure you want to reload the window?"));
|
|
269
269
|
break;
|
|
270
270
|
default:
|
|
271
|
-
message = isMacintosh ? ( localize(
|
|
271
|
+
message = isMacintosh ? ( localize(4515, "Are you sure you want to quit?")) : ( localize(4516, "Are you sure you want to exit?"));
|
|
272
272
|
break;
|
|
273
273
|
}
|
|
274
274
|
const result = await this._dialogService.confirm({
|
|
275
275
|
message,
|
|
276
276
|
detail: ( localize(
|
|
277
|
-
|
|
277
|
+
4517,
|
|
278
278
|
"'{0}' is in progress.",
|
|
279
|
-
label || ( localize(
|
|
279
|
+
label || ( localize(4518, "File operation"))
|
|
280
280
|
)),
|
|
281
281
|
});
|
|
282
282
|
return !result.confirmed;
|
|
@@ -297,7 +297,7 @@ const autoSaveSetting = 'files.refactoring.autoSave';
|
|
|
297
297
|
properties: {
|
|
298
298
|
[autoSaveSetting]: {
|
|
299
299
|
description: ( localize(
|
|
300
|
-
|
|
300
|
+
4519,
|
|
301
301
|
"Controls if files that were part of a refactoring are saved automatically"
|
|
302
302
|
)),
|
|
303
303
|
default: true,
|
|
@@ -97,12 +97,12 @@ let BulkEditPreviewContribution = class BulkEditPreviewContribution {
|
|
|
97
97
|
if (view.hasInput()) {
|
|
98
98
|
const { confirmed } = await this._dialogService.confirm({
|
|
99
99
|
type: Severity.Info,
|
|
100
|
-
message: ( localize(
|
|
100
|
+
message: ( localize(4520, "Another refactoring is being previewed.")),
|
|
101
101
|
detail: ( localize(
|
|
102
|
-
|
|
102
|
+
4521,
|
|
103
103
|
"Press 'Continue' to discard the previous refactoring and continue with the current refactoring."
|
|
104
104
|
)),
|
|
105
|
-
primaryButton: ( localize(
|
|
105
|
+
primaryButton: ( localize(4522, "&&Continue"))
|
|
106
106
|
});
|
|
107
107
|
if (!confirmed) {
|
|
108
108
|
return [];
|
|
@@ -143,8 +143,8 @@ registerAction2(class ApplyAction extends Action2 {
|
|
|
143
143
|
constructor() {
|
|
144
144
|
super({
|
|
145
145
|
id: 'refactorPreview.apply',
|
|
146
|
-
title: ( localize2(
|
|
147
|
-
category: ( localize2(
|
|
146
|
+
title: ( localize2(4523, "Apply Refactoring")),
|
|
147
|
+
category: ( localize2(4524, "Refactor Preview")),
|
|
148
148
|
icon: Codicon.check,
|
|
149
149
|
precondition: ( ContextKeyExpr.and(BulkEditPreviewContribution.ctxEnabled, BulkEditPane.ctxHasCheckedChanges)),
|
|
150
150
|
menu: [{
|
|
@@ -168,8 +168,8 @@ registerAction2(class DiscardAction extends Action2 {
|
|
|
168
168
|
constructor() {
|
|
169
169
|
super({
|
|
170
170
|
id: 'refactorPreview.discard',
|
|
171
|
-
title: ( localize2(
|
|
172
|
-
category: ( localize2(
|
|
171
|
+
title: ( localize2(4525, "Discard Refactoring")),
|
|
172
|
+
category: ( localize2(4524, "Refactor Preview")),
|
|
173
173
|
icon: Codicon.clearAll,
|
|
174
174
|
precondition: BulkEditPreviewContribution.ctxEnabled,
|
|
175
175
|
menu: [{
|
|
@@ -188,8 +188,8 @@ registerAction2(class ToggleAction extends Action2 {
|
|
|
188
188
|
constructor() {
|
|
189
189
|
super({
|
|
190
190
|
id: 'refactorPreview.toggleCheckedState',
|
|
191
|
-
title: ( localize2(
|
|
192
|
-
category: ( localize2(
|
|
191
|
+
title: ( localize2(4526, "Toggle Change")),
|
|
192
|
+
category: ( localize2(4524, "Refactor Preview")),
|
|
193
193
|
precondition: BulkEditPreviewContribution.ctxEnabled,
|
|
194
194
|
keybinding: {
|
|
195
195
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
@@ -212,8 +212,8 @@ registerAction2(class GroupByFile extends Action2 {
|
|
|
212
212
|
constructor() {
|
|
213
213
|
super({
|
|
214
214
|
id: 'refactorPreview.groupByFile',
|
|
215
|
-
title: ( localize2(
|
|
216
|
-
category: ( localize2(
|
|
215
|
+
title: ( localize2(4527, "Group Changes By File")),
|
|
216
|
+
category: ( localize2(4524, "Refactor Preview")),
|
|
217
217
|
icon: Codicon.ungroupByRefType,
|
|
218
218
|
precondition: ( ContextKeyExpr.and(BulkEditPane.ctxHasCategories, ( BulkEditPane.ctxGroupByFile.negate()), BulkEditPreviewContribution.ctxEnabled)),
|
|
219
219
|
menu: [{
|
|
@@ -234,8 +234,8 @@ registerAction2(class GroupByType extends Action2 {
|
|
|
234
234
|
constructor() {
|
|
235
235
|
super({
|
|
236
236
|
id: 'refactorPreview.groupByType',
|
|
237
|
-
title: ( localize2(
|
|
238
|
-
category: ( localize2(
|
|
237
|
+
title: ( localize2(4528, "Group Changes By Type")),
|
|
238
|
+
category: ( localize2(4524, "Refactor Preview")),
|
|
239
239
|
icon: Codicon.groupByRefType,
|
|
240
240
|
precondition: ( ContextKeyExpr.and(
|
|
241
241
|
BulkEditPane.ctxHasCategories,
|
|
@@ -260,8 +260,8 @@ registerAction2(class ToggleGrouping extends Action2 {
|
|
|
260
260
|
constructor() {
|
|
261
261
|
super({
|
|
262
262
|
id: 'refactorPreview.toggleGrouping',
|
|
263
|
-
title: ( localize2(
|
|
264
|
-
category: ( localize2(
|
|
263
|
+
title: ( localize2(4528, "Group Changes By Type")),
|
|
264
|
+
category: ( localize2(4524, "Refactor Preview")),
|
|
265
265
|
icon: Codicon.listTree,
|
|
266
266
|
toggled: ( BulkEditPane.ctxGroupByFile.negate()),
|
|
267
267
|
precondition: ( ContextKeyExpr.and(BulkEditPane.ctxHasCategories, BulkEditPreviewContribution.ctxEnabled)),
|
|
@@ -278,10 +278,10 @@ registerAction2(class ToggleGrouping extends Action2 {
|
|
|
278
278
|
}
|
|
279
279
|
});
|
|
280
280
|
registerWorkbenchContribution2(BulkEditPreviewContribution.ID, BulkEditPreviewContribution, WorkbenchPhase.BlockRestore);
|
|
281
|
-
const refactorPreviewViewIcon = registerIcon('refactor-preview-view-icon', Codicon.lightbulb, ( localize(
|
|
281
|
+
const refactorPreviewViewIcon = registerIcon('refactor-preview-view-icon', Codicon.lightbulb, ( localize(4529, 'View icon of the refactor preview view.')));
|
|
282
282
|
const container = ( Registry.as(Extensions.ViewContainersRegistry)).registerViewContainer({
|
|
283
283
|
id: BulkEditPane.ID,
|
|
284
|
-
title: ( localize2(
|
|
284
|
+
title: ( localize2(4530, "Refactor Preview")),
|
|
285
285
|
hideIfEmpty: true,
|
|
286
286
|
ctorDescriptor: ( new SyncDescriptor(
|
|
287
287
|
ViewPaneContainer,
|
|
@@ -292,7 +292,7 @@ const container = ( Registry.as(Extensions.ViewContainersRegistry)).registerView
|
|
|
292
292
|
}, ViewContainerLocation.Panel);
|
|
293
293
|
( Registry.as(Extensions.ViewsRegistry)).registerViews([{
|
|
294
294
|
id: BulkEditPane.ID,
|
|
295
|
-
name: ( localize2(
|
|
295
|
+
name: ( localize2(4530, "Refactor Preview")),
|
|
296
296
|
when: BulkEditPreviewContribution.ctxEnabled,
|
|
297
297
|
ctorDescriptor: ( new SyncDescriptor(BulkEditPane)),
|
|
298
298
|
containerIcon: refactorPreviewViewIcon,
|
|
@@ -140,15 +140,15 @@ let BulkEditPane = class BulkEditPane extends ViewPane {
|
|
|
140
140
|
const buttonBar = ( new ButtonBar(buttonsContainer));
|
|
141
141
|
this._disposables.add(buttonBar);
|
|
142
142
|
const btnConfirm = buttonBar.addButton({ supportIcons: true, ...defaultButtonStyles });
|
|
143
|
-
btnConfirm.label = ( localize(
|
|
143
|
+
btnConfirm.label = ( localize(4531, 'Apply'));
|
|
144
144
|
btnConfirm.onDidClick(() => this.accept(), this, this._disposables);
|
|
145
145
|
const btnCancel = buttonBar.addButton({ ...defaultButtonStyles, secondary: true });
|
|
146
|
-
btnCancel.label = ( localize(
|
|
146
|
+
btnCancel.label = ( localize(4532, 'Discard'));
|
|
147
147
|
btnCancel.onDidClick(() => this.discard(), this, this._disposables);
|
|
148
148
|
this._message = createElement('span');
|
|
149
149
|
this._message.className = 'message';
|
|
150
150
|
this._message.innerText = ( localize(
|
|
151
|
-
|
|
151
|
+
4533,
|
|
152
152
|
"Invoke a code action, like rename, to see a preview of its changes here."
|
|
153
153
|
));
|
|
154
154
|
parent.appendChild(this._message);
|
|
@@ -221,14 +221,14 @@ let BulkEditPane = class BulkEditPane extends ViewPane {
|
|
|
221
221
|
let message;
|
|
222
222
|
if (conflicts.length === 1) {
|
|
223
223
|
message = ( localize(
|
|
224
|
-
|
|
224
|
+
4534,
|
|
225
225
|
"Cannot apply refactoring because '{0}' has changed in the meantime.",
|
|
226
226
|
this._labelService.getUriLabel(conflicts[0], { relative: true })
|
|
227
227
|
));
|
|
228
228
|
}
|
|
229
229
|
else {
|
|
230
230
|
message = ( localize(
|
|
231
|
-
|
|
231
|
+
4535,
|
|
232
232
|
"Cannot apply refactoring because {0} other files have changed in the meantime.",
|
|
233
233
|
conflicts.length
|
|
234
234
|
));
|
|
@@ -104,7 +104,7 @@ class BulkFileOperation {
|
|
|
104
104
|
}
|
|
105
105
|
class BulkCategory {
|
|
106
106
|
static { this._defaultMetadata = ( Object.freeze({
|
|
107
|
-
label: ( localize(
|
|
107
|
+
label: ( localize(4536, "Other")),
|
|
108
108
|
icon: Codicon.symbolFile,
|
|
109
109
|
needsConfirmation: false
|
|
110
110
|
})); }
|
|
@@ -240,7 +240,7 @@ let BulkEditAccessibilityProvider = class BulkEditAccessibilityProvider {
|
|
|
240
240
|
this._labelService = _labelService;
|
|
241
241
|
}
|
|
242
242
|
getWidgetAriaLabel() {
|
|
243
|
-
return localize(
|
|
243
|
+
return localize(4537, "Bulk Edit");
|
|
244
244
|
}
|
|
245
245
|
getRole(_element) {
|
|
246
246
|
return 'checkbox';
|
|
@@ -250,7 +250,7 @@ let BulkEditAccessibilityProvider = class BulkEditAccessibilityProvider {
|
|
|
250
250
|
if (element.edit.textEdits.length > 0) {
|
|
251
251
|
if (element.edit.type & BulkFileOperationType.Rename && element.edit.newUri) {
|
|
252
252
|
return localize(
|
|
253
|
-
|
|
253
|
+
4538,
|
|
254
254
|
"Renaming {0} to {1}, also making text edits",
|
|
255
255
|
this._labelService.getUriLabel(element.edit.uri, { relative: true }),
|
|
256
256
|
this._labelService.getUriLabel(element.edit.newUri, { relative: true })
|
|
@@ -258,21 +258,21 @@ let BulkEditAccessibilityProvider = class BulkEditAccessibilityProvider {
|
|
|
258
258
|
}
|
|
259
259
|
else if (element.edit.type & BulkFileOperationType.Create) {
|
|
260
260
|
return localize(
|
|
261
|
-
|
|
261
|
+
4539,
|
|
262
262
|
"Creating {0}, also making text edits",
|
|
263
263
|
this._labelService.getUriLabel(element.edit.uri, { relative: true })
|
|
264
264
|
);
|
|
265
265
|
}
|
|
266
266
|
else if (element.edit.type & BulkFileOperationType.Delete) {
|
|
267
267
|
return localize(
|
|
268
|
-
|
|
268
|
+
4540,
|
|
269
269
|
"Deleting {0}, also making text edits",
|
|
270
270
|
this._labelService.getUriLabel(element.edit.uri, { relative: true })
|
|
271
271
|
);
|
|
272
272
|
}
|
|
273
273
|
else {
|
|
274
274
|
return localize(
|
|
275
|
-
|
|
275
|
+
4541,
|
|
276
276
|
"{0}, making text edits",
|
|
277
277
|
this._labelService.getUriLabel(element.edit.uri, { relative: true })
|
|
278
278
|
);
|
|
@@ -281,7 +281,7 @@ let BulkEditAccessibilityProvider = class BulkEditAccessibilityProvider {
|
|
|
281
281
|
else {
|
|
282
282
|
if (element.edit.type & BulkFileOperationType.Rename && element.edit.newUri) {
|
|
283
283
|
return localize(
|
|
284
|
-
|
|
284
|
+
4542,
|
|
285
285
|
"Renaming {0} to {1}",
|
|
286
286
|
this._labelService.getUriLabel(element.edit.uri, { relative: true }),
|
|
287
287
|
this._labelService.getUriLabel(element.edit.newUri, { relative: true })
|
|
@@ -289,14 +289,14 @@ let BulkEditAccessibilityProvider = class BulkEditAccessibilityProvider {
|
|
|
289
289
|
}
|
|
290
290
|
else if (element.edit.type & BulkFileOperationType.Create) {
|
|
291
291
|
return localize(
|
|
292
|
-
|
|
292
|
+
4543,
|
|
293
293
|
"Creating {0}",
|
|
294
294
|
this._labelService.getUriLabel(element.edit.uri, { relative: true })
|
|
295
295
|
);
|
|
296
296
|
}
|
|
297
297
|
else if (element.edit.type & BulkFileOperationType.Delete) {
|
|
298
298
|
return localize(
|
|
299
|
-
|
|
299
|
+
4544,
|
|
300
300
|
"Deleting {0}",
|
|
301
301
|
this._labelService.getUriLabel(element.edit.uri, { relative: true })
|
|
302
302
|
);
|
|
@@ -306,7 +306,7 @@ let BulkEditAccessibilityProvider = class BulkEditAccessibilityProvider {
|
|
|
306
306
|
if (element instanceof TextEditElement) {
|
|
307
307
|
if (element.selecting.length > 0 && element.inserting.length > 0) {
|
|
308
308
|
return localize(
|
|
309
|
-
|
|
309
|
+
4545,
|
|
310
310
|
"line {0}, replacing {1} with {2}",
|
|
311
311
|
element.edit.textEdit.textEdit.range.startLineNumber,
|
|
312
312
|
element.selecting,
|
|
@@ -315,7 +315,7 @@ let BulkEditAccessibilityProvider = class BulkEditAccessibilityProvider {
|
|
|
315
315
|
}
|
|
316
316
|
else if (element.selecting.length > 0 && element.inserting.length === 0) {
|
|
317
317
|
return localize(
|
|
318
|
-
|
|
318
|
+
4546,
|
|
319
319
|
"line {0}, removing {1}",
|
|
320
320
|
element.edit.textEdit.textEdit.range.startLineNumber,
|
|
321
321
|
element.selecting
|
|
@@ -323,7 +323,7 @@ let BulkEditAccessibilityProvider = class BulkEditAccessibilityProvider {
|
|
|
323
323
|
}
|
|
324
324
|
else if (element.selecting.length === 0 && element.inserting.length > 0) {
|
|
325
325
|
return localize(
|
|
326
|
-
|
|
326
|
+
4547,
|
|
327
327
|
"line {0}, inserting {1}",
|
|
328
328
|
element.edit.textEdit.textEdit.range.startLineNumber,
|
|
329
329
|
element.selecting
|
|
@@ -429,7 +429,7 @@ let FileElementTemplate = class FileElementTemplate {
|
|
|
429
429
|
this._label.setResource({
|
|
430
430
|
resource: element.edit.uri,
|
|
431
431
|
name: ( localize(
|
|
432
|
-
|
|
432
|
+
4548,
|
|
433
433
|
"{0} → {1}",
|
|
434
434
|
this._labelService.getUriLabel(element.edit.uri, { relative: true }),
|
|
435
435
|
this._labelService.getUriLabel(element.edit.newUri, { relative: true })
|
|
@@ -437,7 +437,7 @@ let FileElementTemplate = class FileElementTemplate {
|
|
|
437
437
|
}, {
|
|
438
438
|
fileDecorations: { colors: true, badges: false }
|
|
439
439
|
});
|
|
440
|
-
this._details.innerText = ( localize(
|
|
440
|
+
this._details.innerText = ( localize(4549, "(renaming)"));
|
|
441
441
|
}
|
|
442
442
|
else {
|
|
443
443
|
const options = {
|
|
@@ -447,10 +447,10 @@ let FileElementTemplate = class FileElementTemplate {
|
|
|
447
447
|
extraClasses: []
|
|
448
448
|
};
|
|
449
449
|
if (element.edit.type & BulkFileOperationType.Create) {
|
|
450
|
-
this._details.innerText = ( localize(
|
|
450
|
+
this._details.innerText = ( localize(4550, "(creating)"));
|
|
451
451
|
}
|
|
452
452
|
else if (element.edit.type & BulkFileOperationType.Delete) {
|
|
453
|
-
this._details.innerText = ( localize(
|
|
453
|
+
this._details.innerText = ( localize(4551, "(deleting)"));
|
|
454
454
|
options.extraClasses.push('delete');
|
|
455
455
|
}
|
|
456
456
|
else {
|
|
@@ -527,7 +527,7 @@ let TextEditElementTemplate = class TextEditElementTemplate {
|
|
|
527
527
|
let title;
|
|
528
528
|
const { metadata } = element.edit.textEdit;
|
|
529
529
|
if (metadata && metadata.description) {
|
|
530
|
-
title = ( localize(
|
|
530
|
+
title = ( localize(4552, "{0} - {1}", metadata.label, metadata.description));
|
|
531
531
|
}
|
|
532
532
|
else if (metadata) {
|
|
533
533
|
title = metadata.label;
|