@codingame/monaco-vscode-bulk-edit-service-override 25.1.2 → 26.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 +117 -84
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +119 -91
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +54 -36
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/conflicts.js +8 -16
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/opaqueEdits.js +15 -13
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEdit.contribution.js +95 -83
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEdit.css +0 -1
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPane.js +118 -71
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPreview.js +73 -59
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditTree.js +183 -171
|
@@ -168,9 +168,7 @@ let BulkEditDataSource = class BulkEditDataSource {
|
|
|
168
168
|
}
|
|
169
169
|
async getChildren(element) {
|
|
170
170
|
if (element instanceof BulkFileOperations) {
|
|
171
|
-
return this.groupByFile
|
|
172
|
-
? ( element.fileOperations.map(op => ( new FileElement(element, op))))
|
|
173
|
-
: ( element.categories.map(cat => ( new CategoryElement(element, cat))));
|
|
171
|
+
return this.groupByFile ? ( element.fileOperations.map(op => ( new FileElement(element, op)))) : ( element.categories.map(cat => ( new CategoryElement(element, cat))));
|
|
174
172
|
}
|
|
175
173
|
if (element instanceof CategoryElement) {
|
|
176
174
|
return Array.from(element.category.fileOperations, op => ( new FileElement(element, op)));
|
|
@@ -182,9 +180,14 @@ let BulkEditDataSource = class BulkEditDataSource {
|
|
|
182
180
|
const ref = await this._textModelService.createModelReference(element.edit.uri);
|
|
183
181
|
textModel = ref.object.textEditorModel;
|
|
184
182
|
textModelDisposable = ref;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
|
|
183
|
+
} catch {
|
|
184
|
+
textModel = this._instantiationService.createInstance(
|
|
185
|
+
TextModel,
|
|
186
|
+
"",
|
|
187
|
+
PLAINTEXT_LANGUAGE_ID,
|
|
188
|
+
TextModel.DEFAULT_CREATION_OPTIONS,
|
|
189
|
+
null
|
|
190
|
+
);
|
|
188
191
|
textModelDisposable = textModel;
|
|
189
192
|
}
|
|
190
193
|
const result = ( element.edit.textEdits.map((edit, idx) => {
|
|
@@ -217,10 +220,7 @@ let BulkEditDataSource = class BulkEditDataSource {
|
|
|
217
220
|
return [];
|
|
218
221
|
}
|
|
219
222
|
};
|
|
220
|
-
BulkEditDataSource = ( __decorate([
|
|
221
|
-
( __param(0, ITextModelService)),
|
|
222
|
-
( __param(1, IInstantiationService))
|
|
223
|
-
], BulkEditDataSource));
|
|
223
|
+
BulkEditDataSource = ( __decorate([( __param(0, ITextModelService)), ( __param(1, IInstantiationService))], BulkEditDataSource));
|
|
224
224
|
class BulkEditSorter {
|
|
225
225
|
compare(a, b) {
|
|
226
226
|
if (a instanceof FileElement && b instanceof FileElement) {
|
|
@@ -240,90 +240,92 @@ let BulkEditAccessibilityProvider = class BulkEditAccessibilityProvider {
|
|
|
240
240
|
this._labelService = _labelService;
|
|
241
241
|
}
|
|
242
242
|
getWidgetAriaLabel() {
|
|
243
|
-
return localize(
|
|
243
|
+
return localize(4547, "Bulk Edit");
|
|
244
244
|
}
|
|
245
245
|
getRole(_element) {
|
|
246
|
-
return
|
|
246
|
+
return "checkbox";
|
|
247
247
|
}
|
|
248
248
|
getAriaLabel(element) {
|
|
249
249
|
if (element instanceof FileElement) {
|
|
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
|
+
4548,
|
|
254
254
|
"Renaming {0} to {1}, also making text edits",
|
|
255
|
-
this._labelService.getUriLabel(element.edit.uri, {
|
|
256
|
-
|
|
255
|
+
this._labelService.getUriLabel(element.edit.uri, {
|
|
256
|
+
relative: true
|
|
257
|
+
}),
|
|
258
|
+
this._labelService.getUriLabel(element.edit.newUri, {
|
|
259
|
+
relative: true
|
|
260
|
+
})
|
|
257
261
|
);
|
|
258
|
-
}
|
|
259
|
-
else if (element.edit.type & BulkFileOperationType.Create) {
|
|
262
|
+
} else if (element.edit.type & BulkFileOperationType.Create) {
|
|
260
263
|
return localize(
|
|
261
|
-
|
|
264
|
+
4549,
|
|
262
265
|
"Creating {0}, also making text edits",
|
|
263
|
-
this._labelService.getUriLabel(element.edit.uri, {
|
|
266
|
+
this._labelService.getUriLabel(element.edit.uri, {
|
|
267
|
+
relative: true
|
|
268
|
+
})
|
|
264
269
|
);
|
|
265
|
-
}
|
|
266
|
-
else if (element.edit.type & BulkFileOperationType.Delete) {
|
|
270
|
+
} else if (element.edit.type & BulkFileOperationType.Delete) {
|
|
267
271
|
return localize(
|
|
268
|
-
|
|
272
|
+
4550,
|
|
269
273
|
"Deleting {0}, also making text edits",
|
|
270
|
-
this._labelService.getUriLabel(element.edit.uri, {
|
|
274
|
+
this._labelService.getUriLabel(element.edit.uri, {
|
|
275
|
+
relative: true
|
|
276
|
+
})
|
|
271
277
|
);
|
|
272
|
-
}
|
|
273
|
-
else {
|
|
278
|
+
} else {
|
|
274
279
|
return localize(
|
|
275
|
-
|
|
280
|
+
4551,
|
|
276
281
|
"{0}, making text edits",
|
|
277
|
-
this._labelService.getUriLabel(element.edit.uri, {
|
|
282
|
+
this._labelService.getUriLabel(element.edit.uri, {
|
|
283
|
+
relative: true
|
|
284
|
+
})
|
|
278
285
|
);
|
|
279
286
|
}
|
|
280
|
-
}
|
|
281
|
-
else {
|
|
287
|
+
} else {
|
|
282
288
|
if (element.edit.type & BulkFileOperationType.Rename && element.edit.newUri) {
|
|
283
289
|
return localize(
|
|
284
|
-
|
|
290
|
+
4552,
|
|
285
291
|
"Renaming {0} to {1}",
|
|
286
|
-
this._labelService.getUriLabel(element.edit.uri, {
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
4543,
|
|
293
|
-
"Creating {0}",
|
|
294
|
-
this._labelService.getUriLabel(element.edit.uri, { relative: true })
|
|
295
|
-
);
|
|
296
|
-
}
|
|
297
|
-
else if (element.edit.type & BulkFileOperationType.Delete) {
|
|
298
|
-
return localize(
|
|
299
|
-
4544,
|
|
300
|
-
"Deleting {0}",
|
|
301
|
-
this._labelService.getUriLabel(element.edit.uri, { relative: true })
|
|
292
|
+
this._labelService.getUriLabel(element.edit.uri, {
|
|
293
|
+
relative: true
|
|
294
|
+
}),
|
|
295
|
+
this._labelService.getUriLabel(element.edit.newUri, {
|
|
296
|
+
relative: true
|
|
297
|
+
})
|
|
302
298
|
);
|
|
299
|
+
} else if (element.edit.type & BulkFileOperationType.Create) {
|
|
300
|
+
return localize(4553, "Creating {0}", this._labelService.getUriLabel(element.edit.uri, {
|
|
301
|
+
relative: true
|
|
302
|
+
}));
|
|
303
|
+
} else if (element.edit.type & BulkFileOperationType.Delete) {
|
|
304
|
+
return localize(4554, "Deleting {0}", this._labelService.getUriLabel(element.edit.uri, {
|
|
305
|
+
relative: true
|
|
306
|
+
}));
|
|
303
307
|
}
|
|
304
308
|
}
|
|
305
309
|
}
|
|
306
310
|
if (element instanceof TextEditElement) {
|
|
307
311
|
if (element.selecting.length > 0 && element.inserting.length > 0) {
|
|
308
312
|
return localize(
|
|
309
|
-
|
|
313
|
+
4555,
|
|
310
314
|
"line {0}, replacing {1} with {2}",
|
|
311
315
|
element.edit.textEdit.textEdit.range.startLineNumber,
|
|
312
316
|
element.selecting,
|
|
313
317
|
element.inserting
|
|
314
318
|
);
|
|
315
|
-
}
|
|
316
|
-
else if (element.selecting.length > 0 && element.inserting.length === 0) {
|
|
319
|
+
} else if (element.selecting.length > 0 && element.inserting.length === 0) {
|
|
317
320
|
return localize(
|
|
318
|
-
|
|
321
|
+
4556,
|
|
319
322
|
"line {0}, removing {1}",
|
|
320
323
|
element.edit.textEdit.textEdit.range.startLineNumber,
|
|
321
324
|
element.selecting
|
|
322
325
|
);
|
|
323
|
-
}
|
|
324
|
-
else if (element.selecting.length === 0 && element.inserting.length > 0) {
|
|
326
|
+
} else if (element.selecting.length === 0 && element.inserting.length > 0) {
|
|
325
327
|
return localize(
|
|
326
|
-
|
|
328
|
+
4557,
|
|
327
329
|
"line {0}, inserting {1}",
|
|
328
330
|
element.edit.textEdit.textEdit.range.startLineNumber,
|
|
329
331
|
element.selecting
|
|
@@ -333,33 +335,33 @@ let BulkEditAccessibilityProvider = class BulkEditAccessibilityProvider {
|
|
|
333
335
|
return null;
|
|
334
336
|
}
|
|
335
337
|
};
|
|
336
|
-
BulkEditAccessibilityProvider = ( __decorate([
|
|
337
|
-
( __param(0, ILabelService))
|
|
338
|
-
], BulkEditAccessibilityProvider));
|
|
338
|
+
BulkEditAccessibilityProvider = ( __decorate([( __param(0, ILabelService))], BulkEditAccessibilityProvider));
|
|
339
339
|
class BulkEditIdentityProvider {
|
|
340
340
|
getId(element) {
|
|
341
341
|
if (element instanceof FileElement) {
|
|
342
|
-
return element.edit.uri + (element.parent instanceof CategoryElement ? JSON.stringify(element.parent.category.metadata) :
|
|
343
|
-
}
|
|
344
|
-
else if (element instanceof TextEditElement) {
|
|
342
|
+
return element.edit.uri + (element.parent instanceof CategoryElement ? JSON.stringify(element.parent.category.metadata) : "");
|
|
343
|
+
} else if (element instanceof TextEditElement) {
|
|
345
344
|
return ( element.parent.edit.uri.toString()) + element.idx;
|
|
346
|
-
}
|
|
347
|
-
else {
|
|
345
|
+
} else {
|
|
348
346
|
return JSON.stringify(element.category.metadata);
|
|
349
347
|
}
|
|
350
348
|
}
|
|
351
349
|
}
|
|
352
350
|
class CategoryElementTemplate {
|
|
353
351
|
constructor(container) {
|
|
354
|
-
container.classList.add(
|
|
355
|
-
this.icon = createElement(
|
|
352
|
+
container.classList.add("category");
|
|
353
|
+
this.icon = createElement("div");
|
|
356
354
|
container.appendChild(this.icon);
|
|
357
355
|
this.label = ( new IconLabel(container));
|
|
358
356
|
}
|
|
359
357
|
}
|
|
360
358
|
let CategoryElementRenderer = class CategoryElementRenderer {
|
|
361
|
-
static {
|
|
362
|
-
|
|
359
|
+
static {
|
|
360
|
+
CategoryElementRenderer_1 = this;
|
|
361
|
+
}
|
|
362
|
+
static {
|
|
363
|
+
this.id = "CategoryElementRenderer";
|
|
364
|
+
}
|
|
363
365
|
constructor(_themeService) {
|
|
364
366
|
this._themeService = _themeService;
|
|
365
367
|
this.templateId = CategoryElementRenderer_1.id;
|
|
@@ -368,49 +370,49 @@ let CategoryElementRenderer = class CategoryElementRenderer {
|
|
|
368
370
|
return ( new CategoryElementTemplate(container));
|
|
369
371
|
}
|
|
370
372
|
renderElement(node, _index, template) {
|
|
371
|
-
template.icon.style.setProperty(
|
|
372
|
-
template.icon.style.setProperty(
|
|
373
|
-
template.icon.style.color =
|
|
374
|
-
const {
|
|
373
|
+
template.icon.style.setProperty("--background-dark", null);
|
|
374
|
+
template.icon.style.setProperty("--background-light", null);
|
|
375
|
+
template.icon.style.color = "";
|
|
376
|
+
const {
|
|
377
|
+
metadata
|
|
378
|
+
} = node.element.category;
|
|
375
379
|
if (ThemeIcon.isThemeIcon(metadata.iconPath)) {
|
|
376
380
|
const className = ThemeIcon.asClassName(metadata.iconPath);
|
|
377
|
-
template.icon.className = className ? `theme-icon ${className}` :
|
|
378
|
-
template.icon.style.color = metadata.iconPath.color ? this._themeService.getColorTheme().getColor(metadata.iconPath.color.id)?.toString() ??
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
template.icon.
|
|
382
|
-
template.icon.style.setProperty(
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
template.icon.
|
|
387
|
-
template.icon.style.setProperty('--background-dark', asCSSUrl(metadata.iconPath.dark));
|
|
388
|
-
template.icon.style.setProperty('--background-light', asCSSUrl(metadata.iconPath.light));
|
|
381
|
+
template.icon.className = className ? `theme-icon ${className}` : "";
|
|
382
|
+
template.icon.style.color = metadata.iconPath.color ? this._themeService.getColorTheme().getColor(metadata.iconPath.color.id)?.toString() ?? "" : "";
|
|
383
|
+
} else if (URI.isUri(metadata.iconPath)) {
|
|
384
|
+
template.icon.className = "uri-icon";
|
|
385
|
+
template.icon.style.setProperty("--background-dark", asCSSUrl(metadata.iconPath));
|
|
386
|
+
template.icon.style.setProperty("--background-light", asCSSUrl(metadata.iconPath));
|
|
387
|
+
} else if (metadata.iconPath) {
|
|
388
|
+
template.icon.className = "uri-icon";
|
|
389
|
+
template.icon.style.setProperty("--background-dark", asCSSUrl(metadata.iconPath.dark));
|
|
390
|
+
template.icon.style.setProperty("--background-light", asCSSUrl(metadata.iconPath.light));
|
|
389
391
|
}
|
|
390
392
|
template.label.setLabel(metadata.label, metadata.description, {
|
|
391
|
-
descriptionMatches: createMatches(node.filterData)
|
|
393
|
+
descriptionMatches: createMatches(node.filterData)
|
|
392
394
|
});
|
|
393
395
|
}
|
|
394
396
|
disposeTemplate(template) {
|
|
395
397
|
template.label.dispose();
|
|
396
398
|
}
|
|
397
399
|
};
|
|
398
|
-
CategoryElementRenderer = CategoryElementRenderer_1 = ( __decorate([
|
|
399
|
-
( __param(0, IThemeService))
|
|
400
|
-
], CategoryElementRenderer));
|
|
400
|
+
CategoryElementRenderer = CategoryElementRenderer_1 = ( __decorate([( __param(0, IThemeService))], CategoryElementRenderer));
|
|
401
401
|
let FileElementTemplate = class FileElementTemplate {
|
|
402
402
|
constructor(container, resourceLabels, _labelService) {
|
|
403
403
|
this._labelService = _labelService;
|
|
404
404
|
this._disposables = ( new DisposableStore());
|
|
405
405
|
this._localDisposables = ( new DisposableStore());
|
|
406
|
-
this._checkbox = createElement(
|
|
407
|
-
this._checkbox.className =
|
|
408
|
-
this._checkbox.type =
|
|
409
|
-
this._checkbox.setAttribute(
|
|
406
|
+
this._checkbox = createElement("input");
|
|
407
|
+
this._checkbox.className = "edit-checkbox";
|
|
408
|
+
this._checkbox.type = "checkbox";
|
|
409
|
+
this._checkbox.setAttribute("role", "checkbox");
|
|
410
410
|
container.appendChild(this._checkbox);
|
|
411
|
-
this._label = resourceLabels.create(container, {
|
|
412
|
-
|
|
413
|
-
|
|
411
|
+
this._label = resourceLabels.create(container, {
|
|
412
|
+
supportHighlights: true
|
|
413
|
+
});
|
|
414
|
+
this._details = createElement("span");
|
|
415
|
+
this._details.className = "details";
|
|
414
416
|
container.appendChild(this._details);
|
|
415
417
|
}
|
|
416
418
|
dispose() {
|
|
@@ -422,50 +424,54 @@ let FileElementTemplate = class FileElementTemplate {
|
|
|
422
424
|
this._localDisposables.clear();
|
|
423
425
|
this._checkbox.checked = element.isChecked();
|
|
424
426
|
this._checkbox.disabled = element.isDisabled();
|
|
425
|
-
this._localDisposables.add(addDisposableListener(this._checkbox,
|
|
427
|
+
this._localDisposables.add(addDisposableListener(this._checkbox, "change", () => {
|
|
426
428
|
element.setChecked(this._checkbox.checked);
|
|
427
429
|
}));
|
|
428
430
|
if (element.edit.type & BulkFileOperationType.Rename && element.edit.newUri) {
|
|
429
431
|
this._label.setResource({
|
|
430
432
|
resource: element.edit.uri,
|
|
431
|
-
name: ( localize(
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
)),
|
|
433
|
+
name: ( localize(4558, "{0} → {1}", this._labelService.getUriLabel(element.edit.uri, {
|
|
434
|
+
relative: true
|
|
435
|
+
}), this._labelService.getUriLabel(element.edit.newUri, {
|
|
436
|
+
relative: true
|
|
437
|
+
})))
|
|
437
438
|
}, {
|
|
438
|
-
fileDecorations: {
|
|
439
|
+
fileDecorations: {
|
|
440
|
+
colors: true,
|
|
441
|
+
badges: false
|
|
442
|
+
}
|
|
439
443
|
});
|
|
440
|
-
this._details.innerText = ( localize(
|
|
441
|
-
}
|
|
442
|
-
else {
|
|
444
|
+
this._details.innerText = ( localize(4559, "(renaming)"));
|
|
445
|
+
} else {
|
|
443
446
|
const options = {
|
|
444
447
|
matches: createMatches(score),
|
|
445
448
|
fileKind: FileKind.FILE,
|
|
446
|
-
fileDecorations: {
|
|
449
|
+
fileDecorations: {
|
|
450
|
+
colors: true,
|
|
451
|
+
badges: false
|
|
452
|
+
},
|
|
447
453
|
extraClasses: []
|
|
448
454
|
};
|
|
449
455
|
if (element.edit.type & BulkFileOperationType.Create) {
|
|
450
|
-
this._details.innerText = ( localize(
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
else {
|
|
457
|
-
this._details.innerText = '';
|
|
456
|
+
this._details.innerText = ( localize(4560, "(creating)"));
|
|
457
|
+
} else if (element.edit.type & BulkFileOperationType.Delete) {
|
|
458
|
+
this._details.innerText = ( localize(4561, "(deleting)"));
|
|
459
|
+
options.extraClasses.push("delete");
|
|
460
|
+
} else {
|
|
461
|
+
this._details.innerText = "";
|
|
458
462
|
}
|
|
459
463
|
this._label.setFile(element.edit.uri, options);
|
|
460
464
|
}
|
|
461
465
|
}
|
|
462
466
|
};
|
|
463
|
-
FileElementTemplate = ( __decorate([
|
|
464
|
-
( __param(2, ILabelService))
|
|
465
|
-
], FileElementTemplate));
|
|
467
|
+
FileElementTemplate = ( __decorate([( __param(2, ILabelService))], FileElementTemplate));
|
|
466
468
|
let FileElementRenderer = class FileElementRenderer {
|
|
467
|
-
static {
|
|
468
|
-
|
|
469
|
+
static {
|
|
470
|
+
FileElementRenderer_1 = this;
|
|
471
|
+
}
|
|
472
|
+
static {
|
|
473
|
+
this.id = "FileElementRenderer";
|
|
474
|
+
}
|
|
469
475
|
constructor(_resourceLabels, _labelService) {
|
|
470
476
|
this._resourceLabels = _resourceLabels;
|
|
471
477
|
this._labelService = _labelService;
|
|
@@ -481,21 +487,19 @@ let FileElementRenderer = class FileElementRenderer {
|
|
|
481
487
|
template.dispose();
|
|
482
488
|
}
|
|
483
489
|
};
|
|
484
|
-
FileElementRenderer = FileElementRenderer_1 = ( __decorate([
|
|
485
|
-
( __param(1, ILabelService))
|
|
486
|
-
], FileElementRenderer));
|
|
490
|
+
FileElementRenderer = FileElementRenderer_1 = ( __decorate([( __param(1, ILabelService))], FileElementRenderer));
|
|
487
491
|
let TextEditElementTemplate = class TextEditElementTemplate {
|
|
488
492
|
constructor(container, _themeService) {
|
|
489
493
|
this._themeService = _themeService;
|
|
490
494
|
this._disposables = ( new DisposableStore());
|
|
491
495
|
this._localDisposables = ( new DisposableStore());
|
|
492
|
-
container.classList.add(
|
|
493
|
-
this._checkbox = createElement(
|
|
494
|
-
this._checkbox.className =
|
|
495
|
-
this._checkbox.type =
|
|
496
|
-
this._checkbox.setAttribute(
|
|
496
|
+
container.classList.add("textedit");
|
|
497
|
+
this._checkbox = createElement("input");
|
|
498
|
+
this._checkbox.className = "edit-checkbox";
|
|
499
|
+
this._checkbox.type = "checkbox";
|
|
500
|
+
this._checkbox.setAttribute("role", "checkbox");
|
|
497
501
|
container.appendChild(this._checkbox);
|
|
498
|
-
this._icon = createElement(
|
|
502
|
+
this._icon = createElement("div");
|
|
499
503
|
container.appendChild(this._icon);
|
|
500
504
|
this._label = this._disposables.add(( new HighlightedLabel(container)));
|
|
501
505
|
}
|
|
@@ -505,67 +509,74 @@ let TextEditElementTemplate = class TextEditElementTemplate {
|
|
|
505
509
|
}
|
|
506
510
|
set(element) {
|
|
507
511
|
this._localDisposables.clear();
|
|
508
|
-
this._localDisposables.add(addDisposableListener(this._checkbox,
|
|
512
|
+
this._localDisposables.add(addDisposableListener(this._checkbox, "change", e => {
|
|
509
513
|
element.setChecked(this._checkbox.checked);
|
|
510
514
|
e.preventDefault();
|
|
511
515
|
}));
|
|
512
516
|
if (element.parent.isChecked()) {
|
|
513
517
|
this._checkbox.checked = element.isChecked();
|
|
514
518
|
this._checkbox.disabled = element.isDisabled();
|
|
515
|
-
}
|
|
516
|
-
else {
|
|
519
|
+
} else {
|
|
517
520
|
this._checkbox.checked = element.isChecked();
|
|
518
521
|
this._checkbox.disabled = element.isDisabled();
|
|
519
522
|
}
|
|
520
|
-
let value =
|
|
523
|
+
let value = "";
|
|
521
524
|
value += element.prefix;
|
|
522
525
|
value += element.selecting;
|
|
523
526
|
value += element.inserting;
|
|
524
527
|
value += element.suffix;
|
|
525
|
-
const selectHighlight = {
|
|
526
|
-
|
|
528
|
+
const selectHighlight = {
|
|
529
|
+
start: element.prefix.length,
|
|
530
|
+
end: element.prefix.length + element.selecting.length,
|
|
531
|
+
extraClasses: ["remove"]
|
|
532
|
+
};
|
|
533
|
+
const insertHighlight = {
|
|
534
|
+
start: selectHighlight.end,
|
|
535
|
+
end: selectHighlight.end + element.inserting.length,
|
|
536
|
+
extraClasses: ["insert"]
|
|
537
|
+
};
|
|
527
538
|
let title;
|
|
528
|
-
const {
|
|
539
|
+
const {
|
|
540
|
+
metadata
|
|
541
|
+
} = element.edit.textEdit;
|
|
529
542
|
if (metadata && metadata.description) {
|
|
530
|
-
title = ( localize(
|
|
531
|
-
}
|
|
532
|
-
else if (metadata) {
|
|
543
|
+
title = ( localize(4562, "{0} - {1}", metadata.label, metadata.description));
|
|
544
|
+
} else if (metadata) {
|
|
533
545
|
title = metadata.label;
|
|
534
546
|
}
|
|
535
547
|
const iconPath = metadata?.iconPath;
|
|
536
548
|
if (!iconPath) {
|
|
537
|
-
this._icon.style.display =
|
|
538
|
-
}
|
|
539
|
-
|
|
540
|
-
this._icon.style.
|
|
541
|
-
this._icon.style.setProperty(
|
|
542
|
-
this._icon.style.setProperty('--background-light', null);
|
|
549
|
+
this._icon.style.display = "none";
|
|
550
|
+
} else {
|
|
551
|
+
this._icon.style.display = "block";
|
|
552
|
+
this._icon.style.setProperty("--background-dark", null);
|
|
553
|
+
this._icon.style.setProperty("--background-light", null);
|
|
543
554
|
if (ThemeIcon.isThemeIcon(iconPath)) {
|
|
544
555
|
const className = ThemeIcon.asClassName(iconPath);
|
|
545
|
-
this._icon.className = className ? `theme-icon ${className}` :
|
|
546
|
-
this._icon.style.color = iconPath.color ? this._themeService.getColorTheme().getColor(iconPath.color.id)?.toString() ??
|
|
547
|
-
}
|
|
548
|
-
|
|
549
|
-
this._icon.
|
|
550
|
-
this._icon.style.setProperty(
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
this._icon.
|
|
555
|
-
this._icon.style.setProperty('--background-dark', asCSSUrl(iconPath.dark));
|
|
556
|
-
this._icon.style.setProperty('--background-light', asCSSUrl(iconPath.light));
|
|
556
|
+
this._icon.className = className ? `theme-icon ${className}` : "";
|
|
557
|
+
this._icon.style.color = iconPath.color ? this._themeService.getColorTheme().getColor(iconPath.color.id)?.toString() ?? "" : "";
|
|
558
|
+
} else if (URI.isUri(iconPath)) {
|
|
559
|
+
this._icon.className = "uri-icon";
|
|
560
|
+
this._icon.style.setProperty("--background-dark", asCSSUrl(iconPath));
|
|
561
|
+
this._icon.style.setProperty("--background-light", asCSSUrl(iconPath));
|
|
562
|
+
} else {
|
|
563
|
+
this._icon.className = "uri-icon";
|
|
564
|
+
this._icon.style.setProperty("--background-dark", asCSSUrl(iconPath.dark));
|
|
565
|
+
this._icon.style.setProperty("--background-light", asCSSUrl(iconPath.light));
|
|
557
566
|
}
|
|
558
567
|
}
|
|
559
568
|
this._label.set(value, [selectHighlight, insertHighlight], title, true);
|
|
560
|
-
this._icon.title = title ||
|
|
569
|
+
this._icon.title = title || "";
|
|
561
570
|
}
|
|
562
571
|
};
|
|
563
|
-
TextEditElementTemplate = ( __decorate([
|
|
564
|
-
( __param(1, IThemeService))
|
|
565
|
-
], TextEditElementTemplate));
|
|
572
|
+
TextEditElementTemplate = ( __decorate([( __param(1, IThemeService))], TextEditElementTemplate));
|
|
566
573
|
let TextEditElementRenderer = class TextEditElementRenderer {
|
|
567
|
-
static {
|
|
568
|
-
|
|
574
|
+
static {
|
|
575
|
+
TextEditElementRenderer_1 = this;
|
|
576
|
+
}
|
|
577
|
+
static {
|
|
578
|
+
this.id = "TextEditElementRenderer";
|
|
579
|
+
}
|
|
569
580
|
constructor(_themeService) {
|
|
570
581
|
this._themeService = _themeService;
|
|
571
582
|
this.templateId = TextEditElementRenderer_1.id;
|
|
@@ -573,14 +584,18 @@ let TextEditElementRenderer = class TextEditElementRenderer {
|
|
|
573
584
|
renderTemplate(container) {
|
|
574
585
|
return ( new TextEditElementTemplate(container, this._themeService));
|
|
575
586
|
}
|
|
576
|
-
renderElement(
|
|
587
|
+
renderElement(
|
|
588
|
+
{
|
|
589
|
+
element
|
|
590
|
+
},
|
|
591
|
+
_index,
|
|
592
|
+
template
|
|
593
|
+
) {
|
|
577
594
|
template.set(element);
|
|
578
595
|
}
|
|
579
|
-
disposeTemplate(_template) {
|
|
596
|
+
disposeTemplate(_template) {}
|
|
580
597
|
};
|
|
581
|
-
TextEditElementRenderer = TextEditElementRenderer_1 = ( __decorate([
|
|
582
|
-
( __param(0, IThemeService))
|
|
583
|
-
], TextEditElementRenderer));
|
|
598
|
+
TextEditElementRenderer = TextEditElementRenderer_1 = ( __decorate([( __param(0, IThemeService))], TextEditElementRenderer));
|
|
584
599
|
class BulkEditDelegate {
|
|
585
600
|
getHeight() {
|
|
586
601
|
return 23;
|
|
@@ -588,11 +603,9 @@ class BulkEditDelegate {
|
|
|
588
603
|
getTemplateId(element) {
|
|
589
604
|
if (element instanceof FileElement) {
|
|
590
605
|
return FileElementRenderer.id;
|
|
591
|
-
}
|
|
592
|
-
else if (element instanceof TextEditElement) {
|
|
606
|
+
} else if (element instanceof TextEditElement) {
|
|
593
607
|
return TextEditElementRenderer.id;
|
|
594
|
-
}
|
|
595
|
-
else {
|
|
608
|
+
} else {
|
|
596
609
|
return CategoryElementRenderer.id;
|
|
597
610
|
}
|
|
598
611
|
}
|
|
@@ -601,8 +614,7 @@ class BulkEditNaviLabelProvider {
|
|
|
601
614
|
getKeyboardNavigationLabel(element) {
|
|
602
615
|
if (element instanceof FileElement) {
|
|
603
616
|
return basename(element.edit.uri);
|
|
604
|
-
}
|
|
605
|
-
else if (element instanceof CategoryElement) {
|
|
617
|
+
} else if (element instanceof CategoryElement) {
|
|
606
618
|
return element.category.metadata.label;
|
|
607
619
|
}
|
|
608
620
|
return undefined;
|