@theia/scm 1.75.0-next.4 → 1.75.0-next.42

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.
Files changed (83) hide show
  1. package/lib/browser/decorations/scm-navigator-decorator.d.ts.map +1 -1
  2. package/lib/browser/decorations/scm-navigator-decorator.js +1 -0
  3. package/lib/browser/decorations/scm-navigator-decorator.js.map +1 -1
  4. package/lib/browser/scm-context-key-service.d.ts +2 -0
  5. package/lib/browser/scm-context-key-service.d.ts.map +1 -1
  6. package/lib/browser/scm-context-key-service.js +4 -0
  7. package/lib/browser/scm-context-key-service.js.map +1 -1
  8. package/lib/browser/scm-context-key-service.spec.js +7 -0
  9. package/lib/browser/scm-context-key-service.spec.js.map +1 -1
  10. package/lib/browser/scm-frontend-module.d.ts.map +1 -1
  11. package/lib/browser/scm-frontend-module.js +6 -0
  12. package/lib/browser/scm-frontend-module.js.map +1 -1
  13. package/lib/browser/scm-history-graph-contribution.d.ts +49 -0
  14. package/lib/browser/scm-history-graph-contribution.d.ts.map +1 -0
  15. package/lib/browser/scm-history-graph-contribution.js +280 -0
  16. package/lib/browser/scm-history-graph-contribution.js.map +1 -0
  17. package/lib/browser/scm-history-graph-contribution.spec.d.ts +2 -0
  18. package/lib/browser/scm-history-graph-contribution.spec.d.ts.map +1 -0
  19. package/lib/browser/scm-history-graph-contribution.spec.js +119 -0
  20. package/lib/browser/scm-history-graph-contribution.spec.js.map +1 -0
  21. package/lib/browser/scm-history-graph-helpers.d.ts +59 -6
  22. package/lib/browser/scm-history-graph-helpers.d.ts.map +1 -1
  23. package/lib/browser/scm-history-graph-helpers.js +129 -5
  24. package/lib/browser/scm-history-graph-helpers.js.map +1 -1
  25. package/lib/browser/scm-history-graph-helpers.spec.d.ts +2 -0
  26. package/lib/browser/scm-history-graph-helpers.spec.d.ts.map +1 -0
  27. package/lib/browser/scm-history-graph-helpers.spec.js +154 -0
  28. package/lib/browser/scm-history-graph-helpers.spec.js.map +1 -0
  29. package/lib/browser/scm-history-graph-lanes.d.ts +19 -5
  30. package/lib/browser/scm-history-graph-lanes.d.ts.map +1 -1
  31. package/lib/browser/scm-history-graph-lanes.js +25 -9
  32. package/lib/browser/scm-history-graph-lanes.js.map +1 -1
  33. package/lib/browser/scm-history-graph-lanes.spec.js +62 -25
  34. package/lib/browser/scm-history-graph-lanes.spec.js.map +1 -1
  35. package/lib/browser/scm-history-graph-model.d.ts +75 -6
  36. package/lib/browser/scm-history-graph-model.d.ts.map +1 -1
  37. package/lib/browser/scm-history-graph-model.js +155 -10
  38. package/lib/browser/scm-history-graph-model.js.map +1 -1
  39. package/lib/browser/scm-history-graph-model.spec.js +299 -4
  40. package/lib/browser/scm-history-graph-model.spec.js.map +1 -1
  41. package/lib/browser/scm-history-graph-tooltip.d.ts +27 -2
  42. package/lib/browser/scm-history-graph-tooltip.d.ts.map +1 -1
  43. package/lib/browser/scm-history-graph-tooltip.js +113 -22
  44. package/lib/browser/scm-history-graph-tooltip.js.map +1 -1
  45. package/lib/browser/scm-history-graph-tooltip.spec.d.ts +2 -0
  46. package/lib/browser/scm-history-graph-tooltip.spec.d.ts.map +1 -0
  47. package/lib/browser/scm-history-graph-tooltip.spec.js +213 -0
  48. package/lib/browser/scm-history-graph-tooltip.spec.js.map +1 -0
  49. package/lib/browser/scm-history-graph-widget.d.ts +36 -2
  50. package/lib/browser/scm-history-graph-widget.d.ts.map +1 -1
  51. package/lib/browser/scm-history-graph-widget.js +154 -27
  52. package/lib/browser/scm-history-graph-widget.js.map +1 -1
  53. package/lib/browser/scm-history-graph-widget.spec.d.ts +2 -0
  54. package/lib/browser/scm-history-graph-widget.spec.d.ts.map +1 -0
  55. package/lib/browser/scm-history-graph-widget.spec.js +262 -0
  56. package/lib/browser/scm-history-graph-widget.spec.js.map +1 -0
  57. package/lib/browser/scm-provider.d.ts +9 -1
  58. package/lib/browser/scm-provider.d.ts.map +1 -1
  59. package/lib/browser/scm-provider.js.map +1 -1
  60. package/lib/common/scm-preferences.d.ts +3 -0
  61. package/lib/common/scm-preferences.d.ts.map +1 -1
  62. package/lib/common/scm-preferences.js +24 -0
  63. package/lib/common/scm-preferences.js.map +1 -1
  64. package/package.json +6 -6
  65. package/src/browser/decorations/scm-navigator-decorator.ts +3 -2
  66. package/src/browser/scm-context-key-service.spec.ts +9 -0
  67. package/src/browser/scm-context-key-service.ts +6 -0
  68. package/src/browser/scm-frontend-module.ts +7 -1
  69. package/src/browser/scm-history-graph-contribution.spec.ts +148 -0
  70. package/src/browser/scm-history-graph-contribution.ts +273 -0
  71. package/src/browser/scm-history-graph-helpers.spec.ts +193 -0
  72. package/src/browser/scm-history-graph-helpers.ts +180 -6
  73. package/src/browser/scm-history-graph-lanes.spec.ts +70 -25
  74. package/src/browser/scm-history-graph-lanes.ts +48 -11
  75. package/src/browser/scm-history-graph-model.spec.ts +378 -12
  76. package/src/browser/scm-history-graph-model.ts +181 -13
  77. package/src/browser/scm-history-graph-tooltip.spec.ts +254 -0
  78. package/src/browser/scm-history-graph-tooltip.ts +144 -24
  79. package/src/browser/scm-history-graph-widget.spec.ts +310 -0
  80. package/src/browser/scm-history-graph-widget.tsx +199 -39
  81. package/src/browser/scm-provider.ts +9 -1
  82. package/src/browser/style/scm-history-graph.css +53 -2
  83. package/src/common/scm-preferences.ts +27 -0
@@ -1 +1 @@
1
- {"version":3,"file":"scm-history-graph-model.spec.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-model.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scm-history-graph-model.spec.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-model.spec.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { MarkdownRenderer } from '@theia/core/lib/browser/markdown-rendering/markdown-renderer';
2
- import { ScmHistoryItemRef } from './scm-provider';
2
+ import { MarkdownString } from '@theia/core/lib/common/markdown-rendering/markdown-string';
3
+ import { OpenerService } from '@theia/core/lib/browser/opener-service';
4
+ import { DisposableCollection } from '@theia/core/lib/common/disposable';
5
+ import { ScmHistoryItemRef, ScmHistoryProvider } from './scm-provider';
3
6
  import { HistoryGraphEntry } from './scm-history-graph-model';
4
7
  export declare function formatRelativeTime(ms: number): string;
5
8
  export declare function formatAbsoluteDate(ms: number): string;
@@ -8,7 +11,29 @@ export declare function formatAbsoluteDate(ms: number): string;
8
11
  */
9
12
  export declare function appendIconText(container: HTMLElement, iconName: string, text: string): void;
10
13
  export declare function createHoverHr(): HTMLElement;
14
+ export interface HistoryTooltipActions {
15
+ /** Invoked when the user clicks the commit hash (mirrors VS Code's "Open Commit" hover command). */
16
+ openCommit?: () => void;
17
+ /** Invoked when the user clicks the copy action (mirrors VS Code's "Copy Commit Hash" hover command). */
18
+ copyCommitHash?: () => void;
19
+ }
20
+ /**
21
+ * Renders the hover content supplied by the history provider, if any.
22
+ *
23
+ * Providers own their hover: `vscode.git`, for example, sends the same content as the blame
24
+ * editor decoration hover, including the author `mailto:` link and the "Open Commit",
25
+ * "Copy Commit Hash" and remote (e.g. "Open on GitHub") command links. Rendering it verbatim
26
+ * keeps those actions working without the graph having to know any provider-specific command.
27
+ *
28
+ * Each section is rendered and wired separately so that a section only authorizes the commands
29
+ * declared in its own {@link MarkdownString.isTrusted}. Sections are rendered as given, without
30
+ * separators of our own: a provider that owns its hover also owns how its sections are delimited,
31
+ * and `vscode.git` for one already ends them with a horizontal rule.
32
+ *
33
+ * @returns the rendered element, or `undefined` if the provider supplied no usable content.
34
+ */
35
+ export declare function buildProviderTooltip(tooltip: string | MarkdownString | readonly MarkdownString[], markdownRenderer: MarkdownRenderer, openerService: OpenerService, disposables: DisposableCollection): HTMLElement | undefined;
11
36
  /** Creates a ref badge element for the HTML tooltip. */
12
37
  export declare function buildTooltipRefBadge(ref: ScmHistoryItemRef, iconClass: string, showText: boolean, bgColor: string, extraClass?: string): HTMLElement;
13
- export declare function buildHtmlTooltip(entry: HistoryGraphEntry, markdownRenderer: MarkdownRenderer): HTMLElement;
38
+ export declare function buildHtmlTooltip(entry: HistoryGraphEntry, markdownRenderer: MarkdownRenderer, provider?: ScmHistoryProvider, actions?: HistoryTooltipActions): HTMLElement;
14
39
  //# sourceMappingURL=scm-history-graph-tooltip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scm-history-graph-tooltip.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-tooltip.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAIhG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CA2BrD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAK3F;AAED,wBAAgB,aAAa,IAAI,WAAW,CAE3C;AAED,wDAAwD;AACxD,wBAAgB,oBAAoB,CAChC,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GACpB,WAAW,CAgBb;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,WAAW,CA8G1G"}
1
+ {"version":3,"file":"scm-history-graph-tooltip.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-tooltip.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAEhG,OAAO,EAAE,cAAc,EAAsB,MAAM,2DAA2D,CAAC;AAC/G,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAGzE,OAAO,EAAkB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CA2BrD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAK3F;AAED,wBAAgB,aAAa,IAAI,WAAW,CAE3C;AAED,MAAM,WAAW,qBAAqB;IAClC,oGAAoG;IACpG,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,yGAAyG;IACzG,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,cAAc,EAAE,EAC5D,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,oBAAoB,GAClC,WAAW,GAAG,SAAS,CAgBzB;AAmDD,wDAAwD;AACxD,wBAAgB,oBAAoB,CAChC,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GACpB,WAAW,CAgBb;AAED,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,iBAAiB,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,CAAC,EAAE,kBAAkB,EAC7B,OAAO,CAAC,EAAE,qBAAqB,GAChC,WAAW,CAgIb"}
@@ -19,8 +19,10 @@ exports.formatRelativeTime = formatRelativeTime;
19
19
  exports.formatAbsoluteDate = formatAbsoluteDate;
20
20
  exports.appendIconText = appendIconText;
21
21
  exports.createHoverHr = createHoverHr;
22
+ exports.buildProviderTooltip = buildProviderTooltip;
22
23
  exports.buildTooltipRefBadge = buildTooltipRefBadge;
23
24
  exports.buildHtmlTooltip = buildHtmlTooltip;
25
+ const markdown_link_handler_1 = require("@theia/core/lib/browser/markdown-rendering/markdown-link-handler");
24
26
  const markdown_string_1 = require("@theia/core/lib/common/markdown-rendering/markdown-string");
25
27
  const widget_1 = require("@theia/core/lib/browser/widgets/widget");
26
28
  const nls_1 = require("@theia/core/lib/common/nls");
@@ -73,6 +75,85 @@ function appendIconText(container, iconName, text) {
73
75
  function createHoverHr() {
74
76
  return document.createElement('hr');
75
77
  }
78
+ /**
79
+ * Renders the hover content supplied by the history provider, if any.
80
+ *
81
+ * Providers own their hover: `vscode.git`, for example, sends the same content as the blame
82
+ * editor decoration hover, including the author `mailto:` link and the "Open Commit",
83
+ * "Copy Commit Hash" and remote (e.g. "Open on GitHub") command links. Rendering it verbatim
84
+ * keeps those actions working without the graph having to know any provider-specific command.
85
+ *
86
+ * Each section is rendered and wired separately so that a section only authorizes the commands
87
+ * declared in its own {@link MarkdownString.isTrusted}. Sections are rendered as given, without
88
+ * separators of our own: a provider that owns its hover also owns how its sections are delimited,
89
+ * and `vscode.git` for one already ends them with a horizontal rule.
90
+ *
91
+ * @returns the rendered element, or `undefined` if the provider supplied no usable content.
92
+ */
93
+ function buildProviderTooltip(tooltip, markdownRenderer, openerService, disposables) {
94
+ const sections = (typeof tooltip === 'string' ? [new markdown_string_1.MarkdownStringImpl(tooltip)] : Array.isArray(tooltip) ? tooltip : [tooltip])
95
+ .filter(section => section.value.trim().length > 0);
96
+ if (sections.length === 0) {
97
+ return undefined;
98
+ }
99
+ const container = document.createElement('div');
100
+ container.className = 'scm-history-tooltip';
101
+ for (const section of sections) {
102
+ const rendered = markdownRenderer.render(section);
103
+ disposables.push(rendered);
104
+ disposables.push((0, markdown_link_handler_1.wireMarkdownLinkHandler)(rendered.element, section, openerService));
105
+ container.appendChild(rendered.element);
106
+ }
107
+ return container;
108
+ }
109
+ /**
110
+ * Appends the author part of the tooltip header: the avatar image (or account
111
+ * icon) followed by the bold author name, linked via `mailto:` when the email
112
+ * is known — the same structure as the git blame editor decoration hover.
113
+ */
114
+ function appendAuthor(container, item) {
115
+ if (item.authorIcon && (item.authorIcon.startsWith('http://') || item.authorIcon.startsWith('https://'))) {
116
+ const avatar = document.createElement('img');
117
+ avatar.className = 'scm-history-tooltip-avatar';
118
+ avatar.src = item.authorIcon;
119
+ container.appendChild(avatar);
120
+ }
121
+ else {
122
+ const icon = document.createElement('i');
123
+ icon.className = (0, widget_1.codicon)('account') + ' icon-inline';
124
+ container.appendChild(icon);
125
+ }
126
+ container.appendChild(document.createTextNode(' '));
127
+ const name = document.createElement('strong');
128
+ name.textContent = item.author;
129
+ if (item.authorEmail) {
130
+ const link = document.createElement('a');
131
+ link.href = `mailto:${item.authorEmail}`;
132
+ link.appendChild(name);
133
+ container.appendChild(link);
134
+ }
135
+ else {
136
+ container.appendChild(name);
137
+ }
138
+ }
139
+ /** Creates a clickable tooltip action (icon + optional label). */
140
+ function createTooltipAction(title, iconName, label, onClick) {
141
+ const action = document.createElement('a');
142
+ action.className = 'scm-history-tooltip-action';
143
+ action.title = title;
144
+ action.setAttribute('role', 'button');
145
+ const icon = document.createElement('i');
146
+ icon.className = (0, widget_1.codicon)(iconName) + ' icon-inline';
147
+ action.appendChild(icon);
148
+ if (label) {
149
+ action.appendChild(document.createTextNode(` ${label}`));
150
+ }
151
+ action.onclick = e => {
152
+ e.preventDefault();
153
+ onClick();
154
+ };
155
+ return action;
156
+ }
76
157
  /** Creates a ref badge element for the HTML tooltip. */
77
158
  function buildTooltipRefBadge(ref, iconClass, showText, bgColor, extraClass) {
78
159
  const badge = document.createElement('span');
@@ -91,26 +172,25 @@ function buildTooltipRefBadge(ref, iconClass, showText, bgColor, extraClass) {
91
172
  }
92
173
  return badge;
93
174
  }
94
- function buildHtmlTooltip(entry, markdownRenderer) {
175
+ function buildHtmlTooltip(entry, markdownRenderer, provider, actions) {
95
176
  const { item } = entry;
96
177
  const badgeColor = (0, scm_history_graph_helpers_1.laneColor)(entry.graphRow.color);
97
178
  const container = document.createElement('div');
98
179
  container.className = 'scm-history-tooltip';
99
- // Header
180
+ // Header - avatar/account icon, bold author (mailto link), relative + absolute date,
181
+ // matching the git blame editor decoration hover
100
182
  if (item.author || item.timestamp !== undefined) {
101
183
  const header = document.createElement('div');
102
184
  header.className = 'scm-history-tooltip-header';
103
- header.style.fontWeight = 'bold';
104
- header.style.marginBottom = '4px';
105
185
  if (item.author) {
106
- appendIconText(header, 'account', item.author);
186
+ appendAuthor(header, item);
107
187
  }
108
188
  if (item.timestamp !== undefined) {
109
189
  if (item.author) {
110
- header.appendChild(document.createTextNode('\u00a0\u00a0'));
190
+ header.appendChild(document.createTextNode(',\u00a0'));
111
191
  }
112
192
  const timeSpan = document.createElement('span');
113
- appendIconText(timeSpan, 'clock', `${formatRelativeTime(item.timestamp)} (${formatAbsoluteDate(item.timestamp)})`);
193
+ appendIconText(timeSpan, 'history', `${formatRelativeTime(item.timestamp)} (${formatAbsoluteDate(item.timestamp)})`);
114
194
  header.appendChild(timeSpan);
115
195
  }
116
196
  container.appendChild(header);
@@ -150,8 +230,10 @@ function buildHtmlTooltip(entry, markdownRenderer) {
150
230
  container.appendChild(stats);
151
231
  }
152
232
  // Refs + hash
233
+ const shortHash = item.displayId ?? item.id.substring(0, 7);
234
+ const hasActions = !!(actions?.openCommit || actions?.copyCommitHash);
153
235
  const hasRefs = item.references && item.references.length > 0;
154
- if (hasRefs || item.displayId) {
236
+ if (hasRefs || (!hasActions && item.displayId)) {
155
237
  container.appendChild(createHoverHr());
156
238
  const refsRow = document.createElement('div');
157
239
  refsRow.className = 'scm-history-tooltip-refs';
@@ -162,29 +244,38 @@ function buildHtmlTooltip(entry, markdownRenderer) {
162
244
  if (hasRefs) {
163
245
  const deduplicated = (0, scm_history_graph_helpers_1.deduplicateRefs)(item.references);
164
246
  for (const { ref, hasBoth } of deduplicated) {
165
- const isTag = (0, scm_history_graph_helpers_1.isTagRef)(ref);
166
- const isRemote = (0, scm_history_graph_helpers_1.isRemoteRef)(ref);
167
- if (isTag) {
168
- refsRow.appendChild(buildTooltipRefBadge(ref, 'codicon-tag', true, badgeColor));
169
- }
170
- else if (isRemote) {
171
- refsRow.appendChild(buildTooltipRefBadge(ref, 'codicon-cloud', true, badgeColor));
172
- }
173
- else {
174
- refsRow.appendChild(buildTooltipRefBadge(ref, 'codicon-git-branch', true, badgeColor));
175
- if (hasBoth) {
176
- refsRow.appendChild(buildTooltipRefBadge(ref, 'codicon-cloud', false, badgeColor, 'scm-history-ref-badge-cloud'));
177
- }
247
+ // Current/remote/base refs are colored by role, others by the row's lane color
248
+ const { iconClass, colorIndex } = (0, scm_history_graph_helpers_1.getRefBadgePresentation)(ref, provider);
249
+ const bgColor = colorIndex !== undefined ? (0, scm_history_graph_helpers_1.laneColor)(colorIndex) : badgeColor;
250
+ refsRow.appendChild(buildTooltipRefBadge(ref, iconClass, true, bgColor));
251
+ if (!(0, scm_history_graph_helpers_1.isTagRef)(ref) && !(0, scm_history_graph_helpers_1.isRemoteRef)(ref) && hasBoth) {
252
+ refsRow.appendChild(buildTooltipRefBadge(ref, 'codicon-cloud', false, bgColor, 'scm-history-ref-badge-cloud'));
178
253
  }
179
254
  }
180
255
  }
181
- if (item.displayId) {
256
+ if (!hasActions && item.displayId) {
182
257
  const hash = document.createElement('code');
183
258
  hash.textContent = item.displayId;
184
259
  refsRow.appendChild(hash);
185
260
  }
186
261
  container.appendChild(refsRow);
187
262
  }
263
+ // Actions — commit hash and copy, matching the git blame hover's command links
264
+ if (hasActions) {
265
+ container.appendChild(createHoverHr());
266
+ const actionsRow = document.createElement('div');
267
+ actionsRow.className = 'scm-history-tooltip-actions';
268
+ if (actions?.openCommit) {
269
+ actionsRow.appendChild(createTooltipAction(nls_1.nls.localize('theia/scm/openCommit', 'Open Commit'), 'git-commit', shortHash, actions.openCommit));
270
+ }
271
+ if (actions?.copyCommitHash) {
272
+ if (actions.openCommit) {
273
+ actionsRow.appendChild(document.createTextNode('  '));
274
+ }
275
+ actionsRow.appendChild(createTooltipAction(nls_1.nls.localize('theia/scm/copyCommitHash', 'Copy Commit Hash'), 'copy', undefined, actions.copyCommitHash));
276
+ }
277
+ container.appendChild(actionsRow);
278
+ }
188
279
  return container;
189
280
  }
190
281
  //# sourceMappingURL=scm-history-graph-tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scm-history-graph-tooltip.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-tooltip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scm-history-graph-tooltip.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-tooltip.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scm-history-graph-tooltip.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scm-history-graph-tooltip.spec.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-tooltip.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 Safi Seid-Ahmad, K2view and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
19
+ const disableJSDOM = (0, jsdom_1.enableJSDOM)();
20
+ const chai_1 = require("chai");
21
+ const markdown_string_1 = require("@theia/core/lib/common/markdown-rendering/markdown-string");
22
+ const markdown_link_handler_1 = require("@theia/core/lib/browser/markdown-rendering/markdown-link-handler");
23
+ const disposable_1 = require("@theia/core/lib/common/disposable");
24
+ const scm_history_graph_tooltip_1 = require("./scm-history-graph-tooltip");
25
+ disableJSDOM();
26
+ function makeEntry(item) {
27
+ return {
28
+ item: {
29
+ id: '1a56ba96fdc9b6df3a230df7b44e22e5785e3abd',
30
+ subject: 'fix something',
31
+ parentIds: [],
32
+ ...item,
33
+ },
34
+ graphRow: { lane: 0, color: 0, topColor: 0, edges: [], hasContinuation: false, hasTopLine: false },
35
+ isCurrent: false,
36
+ };
37
+ }
38
+ const markdownRenderer = {
39
+ render: () => ({ element: document.createElement('div'), dispose: () => { } })
40
+ };
41
+ describe('buildHtmlTooltip', () => {
42
+ let restoreJSDOM;
43
+ before(() => {
44
+ restoreJSDOM = (0, jsdom_1.enableJSDOM)();
45
+ });
46
+ after(() => {
47
+ restoreJSDOM();
48
+ });
49
+ it('renders the author as a bold mailto link when the email is known', () => {
50
+ const tooltip = (0, scm_history_graph_tooltip_1.buildHtmlTooltip)(makeEntry({ author: 'Jane Doe', authorEmail: 'jane@example.com', timestamp: 1000 }), markdownRenderer);
51
+ const link = tooltip.querySelector('a[href="mailto:jane@example.com"]');
52
+ (0, chai_1.expect)(link, 'mailto link').to.not.be.null;
53
+ (0, chai_1.expect)(link.textContent).to.contain('Jane Doe');
54
+ (0, chai_1.expect)(link.querySelector('strong'), 'bold author').to.not.be.null;
55
+ });
56
+ it('renders a plain bold author when no email is known', () => {
57
+ const tooltip = (0, scm_history_graph_tooltip_1.buildHtmlTooltip)(makeEntry({ author: 'Jane Doe', timestamp: 1000 }), markdownRenderer);
58
+ (0, chai_1.expect)(tooltip.querySelector('a[href^="mailto:"]')).to.be.null;
59
+ const strong = tooltip.querySelector('.scm-history-tooltip-header strong');
60
+ (0, chai_1.expect)(strong).to.not.be.null;
61
+ (0, chai_1.expect)(strong.textContent).to.equal('Jane Doe');
62
+ });
63
+ it('renders the author avatar image when authorIcon is a URL', () => {
64
+ const tooltip = (0, scm_history_graph_tooltip_1.buildHtmlTooltip)(makeEntry({ author: 'Jane Doe', authorIcon: 'https://avatars.example.com/u/1' }), markdownRenderer);
65
+ const img = tooltip.querySelector('img.scm-history-tooltip-avatar');
66
+ (0, chai_1.expect)(img, 'avatar image').to.not.be.null;
67
+ (0, chai_1.expect)(img.src).to.equal('https://avatars.example.com/u/1');
68
+ });
69
+ it('falls back to the account icon without an avatar', () => {
70
+ const tooltip = (0, scm_history_graph_tooltip_1.buildHtmlTooltip)(makeEntry({ author: 'Jane Doe' }), markdownRenderer);
71
+ (0, chai_1.expect)(tooltip.querySelector('img.scm-history-tooltip-avatar')).to.be.null;
72
+ (0, chai_1.expect)(tooltip.querySelector('.scm-history-tooltip-header .codicon-account')).to.not.be.null;
73
+ });
74
+ it('renders an Open Commit action with the short hash', () => {
75
+ let opened = 0;
76
+ const actions = { openCommit: () => { opened++; } };
77
+ const tooltip = (0, scm_history_graph_tooltip_1.buildHtmlTooltip)(makeEntry({ displayId: '1a56ba9' }), markdownRenderer, undefined, actions);
78
+ const action = tooltip.querySelector('[title="Open Commit"]');
79
+ (0, chai_1.expect)(action, 'open commit action').to.not.be.null;
80
+ (0, chai_1.expect)(action.textContent).to.contain('1a56ba9');
81
+ action.click();
82
+ (0, chai_1.expect)(opened).to.equal(1);
83
+ });
84
+ it('renders a Copy Commit Hash action', () => {
85
+ let copied = 0;
86
+ const actions = { copyCommitHash: () => { copied++; } };
87
+ const tooltip = (0, scm_history_graph_tooltip_1.buildHtmlTooltip)(makeEntry({}), markdownRenderer, undefined, actions);
88
+ const action = tooltip.querySelector('[title="Copy Commit Hash"]');
89
+ (0, chai_1.expect)(action, 'copy hash action').to.not.be.null;
90
+ action.click();
91
+ (0, chai_1.expect)(copied).to.equal(1);
92
+ });
93
+ it('shows the short hash as plain text when no actions are given', () => {
94
+ const tooltip = (0, scm_history_graph_tooltip_1.buildHtmlTooltip)(makeEntry({ displayId: '1a56ba9' }), markdownRenderer);
95
+ (0, chai_1.expect)(tooltip.querySelector('[title="Open Commit"]')).to.be.null;
96
+ (0, chai_1.expect)(tooltip.querySelector('[title="Copy Commit Hash"]')).to.be.null;
97
+ (0, chai_1.expect)(tooltip.textContent).to.contain('1a56ba9');
98
+ });
99
+ });
100
+ describe('buildProviderTooltip', () => {
101
+ let restoreJSDOM;
102
+ let opened;
103
+ let toDispose;
104
+ /** Renders the markdown value as HTML, so that the wiring of the resulting links can be asserted. */
105
+ const htmlRenderer = {
106
+ render: (markdown) => {
107
+ const element = document.createElement('div');
108
+ element.innerHTML = markdown.value;
109
+ return { element, dispose: () => { } };
110
+ }
111
+ };
112
+ const openerService = {
113
+ getOpener: (uri) => Promise.resolve({
114
+ canHandle: () => 1,
115
+ open: () => {
116
+ // decoded, as `HttpOpenHandler` does when opening the target externally
117
+ opened.push(uri.toString(true));
118
+ return Promise.resolve(undefined);
119
+ }
120
+ })
121
+ };
122
+ /** Clicks the anchor and waits for the asynchronous opener lookup to settle. */
123
+ async function click(tooltip, selector) {
124
+ const anchor = tooltip.querySelector(selector);
125
+ (0, chai_1.expect)(anchor, selector).to.not.be.null;
126
+ anchor.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true }));
127
+ await new Promise(resolve => setTimeout(resolve, 0));
128
+ }
129
+ before(() => {
130
+ restoreJSDOM = (0, jsdom_1.enableJSDOM)();
131
+ });
132
+ after(() => {
133
+ restoreJSDOM();
134
+ });
135
+ beforeEach(() => {
136
+ opened = [];
137
+ toDispose = new disposable_1.DisposableCollection();
138
+ });
139
+ afterEach(() => {
140
+ toDispose.dispose();
141
+ });
142
+ it('renders each section in order', () => {
143
+ const tooltip = (0, scm_history_graph_tooltip_1.buildProviderTooltip)([new markdown_string_1.MarkdownStringImpl('<span>first</span>'), new markdown_string_1.MarkdownStringImpl('<span>second</span>')], htmlRenderer, openerService, toDispose);
144
+ (0, chai_1.expect)(tooltip, 'tooltip').to.not.be.undefined;
145
+ (0, chai_1.expect)(tooltip.textContent).to.equal('firstsecond');
146
+ });
147
+ // `vscode.git` ends its author and statistics sections with a horizontal rule of its own,
148
+ // so adding separators here would render every boundary as a double line.
149
+ it('adds no separators of its own between sections', () => {
150
+ const tooltip = (0, scm_history_graph_tooltip_1.buildProviderTooltip)([new markdown_string_1.MarkdownStringImpl('<span>first</span><hr>'), new markdown_string_1.MarkdownStringImpl('<span>second</span>')], htmlRenderer, openerService, toDispose);
151
+ (0, chai_1.expect)(tooltip.querySelectorAll('hr').length, 'rules').to.equal(1);
152
+ });
153
+ it('renders a plain string tooltip', () => {
154
+ const tooltip = (0, scm_history_graph_tooltip_1.buildProviderTooltip)('just text', htmlRenderer, openerService, toDispose);
155
+ (0, chai_1.expect)(tooltip, 'tooltip').to.not.be.undefined;
156
+ (0, chai_1.expect)(tooltip.textContent).to.equal('just text');
157
+ });
158
+ it('returns undefined when the provider supplies no usable content', () => {
159
+ (0, chai_1.expect)((0, scm_history_graph_tooltip_1.buildProviderTooltip)(' ', htmlRenderer, openerService, toDispose)).to.be.undefined;
160
+ (0, chai_1.expect)((0, scm_history_graph_tooltip_1.buildProviderTooltip)([], htmlRenderer, openerService, toDispose)).to.be.undefined;
161
+ });
162
+ it('routes an author mailto link through the opener service', async () => {
163
+ const tooltip = (0, scm_history_graph_tooltip_1.buildProviderTooltip)(new markdown_string_1.MarkdownStringImpl('<a href="mailto:jane@example.com">Jane Doe</a>'), htmlRenderer, openerService, toDispose);
164
+ await click(tooltip, 'a[href^="mailto:"]');
165
+ (0, chai_1.expect)(opened).to.deep.equal(['mailto:jane@example.com']);
166
+ });
167
+ it('executes a command link that the section trusts', async () => {
168
+ const section = new markdown_string_1.MarkdownStringImpl('<a href="command:git.viewCommit">Open Commit</a>');
169
+ section.isTrusted = { enabledCommands: ['git.viewCommit'] };
170
+ const tooltip = (0, scm_history_graph_tooltip_1.buildProviderTooltip)(section, htmlRenderer, openerService, toDispose);
171
+ await click(tooltip, 'a[href^="command:"]');
172
+ (0, chai_1.expect)(opened).to.deep.equal(['command:git.viewCommit']);
173
+ });
174
+ it('blocks a command link that the section does not trust', async () => {
175
+ const section = new markdown_string_1.MarkdownStringImpl('<a href="command:git.viewCommit">Open Commit</a>');
176
+ section.isTrusted = { enabledCommands: ['git.copyContentToClipboard'] };
177
+ const tooltip = (0, scm_history_graph_tooltip_1.buildProviderTooltip)(section, htmlRenderer, openerService, toDispose);
178
+ await click(tooltip, 'a[href^="command:"]');
179
+ (0, chai_1.expect)(opened).to.be.empty;
180
+ });
181
+ it('does not open a link twice when the renderer already wired it', async () => {
182
+ // The Monaco-based renderer used at runtime routes link activation through the opener
183
+ // service itself, so wiring a second handler on top would open every link twice.
184
+ const wiringRenderer = {
185
+ render: (markdown) => {
186
+ const element = document.createElement('div');
187
+ element.innerHTML = markdown.value;
188
+ (0, markdown_link_handler_1.markMarkdownLinksWired)(element);
189
+ element.addEventListener('click', event => {
190
+ event.preventDefault();
191
+ opened.push(event.target.getAttribute('href'));
192
+ });
193
+ return { element, dispose: () => { } };
194
+ }
195
+ };
196
+ const section = new markdown_string_1.MarkdownStringImpl('<a href="command:git.viewCommit">Open Commit</a>');
197
+ section.isTrusted = { enabledCommands: ['git.viewCommit'] };
198
+ const tooltip = (0, scm_history_graph_tooltip_1.buildProviderTooltip)(section, wiringRenderer, openerService, toDispose);
199
+ await click(tooltip, 'a[href^="command:"]');
200
+ (0, chai_1.expect)(opened).to.deep.equal(['command:git.viewCommit']);
201
+ });
202
+ it('does not let one section authorize another section\'s commands', async () => {
203
+ const untrusted = new markdown_string_1.MarkdownStringImpl('<a id="untrusted" href="command:git.viewCommit">Open Commit</a>');
204
+ const trusted = new markdown_string_1.MarkdownStringImpl('<a id="trusted" href="command:git.copyContentToClipboard">Copy</a>');
205
+ trusted.isTrusted = { enabledCommands: ['git.copyContentToClipboard'] };
206
+ const tooltip = (0, scm_history_graph_tooltip_1.buildProviderTooltip)([untrusted, trusted], htmlRenderer, openerService, toDispose);
207
+ await click(tooltip, 'a#untrusted');
208
+ (0, chai_1.expect)(opened, 'untrusted section').to.be.empty;
209
+ await click(tooltip, 'a#trusted');
210
+ (0, chai_1.expect)(opened, 'trusted section').to.deep.equal(['command:git.copyContentToClipboard']);
211
+ });
212
+ });
213
+ //# sourceMappingURL=scm-history-graph-tooltip.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scm-history-graph-tooltip.spec.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-tooltip.spec.ts"],"names":[],"mappings":"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"}