@theia/scm 1.75.0-next.35 → 1.75.0-next.39
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/lib/browser/scm-history-graph-contribution.d.ts +5 -0
- package/lib/browser/scm-history-graph-contribution.d.ts.map +1 -1
- package/lib/browser/scm-history-graph-contribution.js +54 -0
- package/lib/browser/scm-history-graph-contribution.js.map +1 -1
- package/lib/browser/scm-history-graph-contribution.spec.js +58 -5
- package/lib/browser/scm-history-graph-contribution.spec.js.map +1 -1
- package/lib/browser/scm-history-graph-helpers.d.ts +25 -0
- package/lib/browser/scm-history-graph-helpers.d.ts.map +1 -1
- package/lib/browser/scm-history-graph-helpers.js +58 -0
- package/lib/browser/scm-history-graph-helpers.js.map +1 -1
- package/lib/browser/scm-history-graph-helpers.spec.js +58 -0
- package/lib/browser/scm-history-graph-helpers.spec.js.map +1 -1
- package/lib/browser/scm-history-graph-model.d.ts +24 -2
- package/lib/browser/scm-history-graph-model.d.ts.map +1 -1
- package/lib/browser/scm-history-graph-model.js +47 -0
- package/lib/browser/scm-history-graph-model.js.map +1 -1
- package/lib/browser/scm-history-graph-model.spec.js +102 -0
- package/lib/browser/scm-history-graph-model.spec.js.map +1 -1
- package/lib/browser/scm-history-graph-widget.d.ts +13 -1
- package/lib/browser/scm-history-graph-widget.d.ts.map +1 -1
- package/lib/browser/scm-history-graph-widget.js +62 -4
- package/lib/browser/scm-history-graph-widget.js.map +1 -1
- package/lib/browser/scm-history-graph-widget.spec.js +162 -0
- package/lib/browser/scm-history-graph-widget.spec.js.map +1 -1
- package/package.json +6 -6
- package/src/browser/scm-history-graph-contribution.spec.ts +71 -6
- package/src/browser/scm-history-graph-contribution.ts +51 -0
- package/src/browser/scm-history-graph-helpers.spec.ts +77 -2
- package/src/browser/scm-history-graph-helpers.ts +99 -0
- package/src/browser/scm-history-graph-model.spec.ts +131 -0
- package/src/browser/scm-history-graph-model.ts +56 -1
- package/src/browser/scm-history-graph-widget.spec.ts +199 -1
- package/src/browser/scm-history-graph-widget.tsx +96 -5
- package/src/browser/style/scm-history-graph.css +10 -0
|
@@ -5,10 +5,14 @@ import { QuickInputService } from '@theia/core/lib/browser';
|
|
|
5
5
|
import { QuickPickItem, QuickPickSeparator } from '@theia/core/lib/common/quick-pick-service';
|
|
6
6
|
import { ScmHistoryGraphModel, ScmHistoryGraphModelProvider } from './scm-history-graph-model';
|
|
7
7
|
import { ScmService } from './scm-service';
|
|
8
|
+
import { ScmContextKeyService } from './scm-context-key-service';
|
|
8
9
|
import { ScmHistoryItemRef, ScmHistoryProvider } from './scm-provider';
|
|
9
10
|
export declare namespace ScmHistoryGraphCommands {
|
|
10
11
|
const REFRESH: Command;
|
|
11
12
|
const PICK_HISTORY_ITEM_REFS: Command;
|
|
13
|
+
const REVEAL_CURRENT_HISTORY_ITEM: Command;
|
|
14
|
+
const SET_LIST_VIEW_MODE: Command;
|
|
15
|
+
const SET_TREE_VIEW_MODE: Command;
|
|
12
16
|
}
|
|
13
17
|
type RefPickItem = QuickPickItem & {
|
|
14
18
|
refId?: string;
|
|
@@ -25,6 +29,7 @@ export declare class ScmHistoryGraphContribution implements CommandContribution,
|
|
|
25
29
|
protected readonly modelProvider: ScmHistoryGraphModelProvider;
|
|
26
30
|
protected readonly quickInputService: QuickInputService;
|
|
27
31
|
protected readonly logger: ILogger;
|
|
32
|
+
protected readonly scmContextKeys: ScmContextKeyService;
|
|
28
33
|
/**
|
|
29
34
|
* The graph model, resolved lazily: instantiating it starts loading
|
|
30
35
|
* history, so it must only be resolved when a graph command actually
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-history-graph-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAE9F,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAIvE,yBAAiB,uBAAuB,CAAC;IAC9B,MAAM,OAAO,SAKlB,CAAC;IACI,MAAM,sBAAsB,SAKA,CAAC;
|
|
1
|
+
{"version":3,"file":"scm-history-graph-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAE9F,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAIvE,yBAAiB,uBAAuB,CAAC;IAC9B,MAAM,OAAO,SAKlB,CAAC;IACI,MAAM,sBAAsB,SAKA,CAAC;IAC7B,MAAM,2BAA2B,SAKtC,CAAC;IACI,MAAM,kBAAkB,SAI7B,CAAC;IACI,MAAM,kBAAkB,SAI7B,CAAC;CACN;AAED,KAAK,WAAW,GAAG,aAAa,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtE;;;;;GAKG;AACH,qBACa,2BAA4B,YAAW,mBAAmB,EAAE,gBAAgB;IAEjE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,4BAA4B,CAAC;IAC9D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAChE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAEtF;;;;;;OAMG;IACH,SAAS,KAAK,KAAK,IAAI,oBAAoB,CAE1C;IAED,SAAS,KAAK,eAAe,IAAI,kBAAkB,GAAG,SAAS,CAE9D;IAED,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAiCjD,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;cA2B7B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IA+EpD,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,EAAE,QAAQ,EAAE,kBAAkB,GAAG,CAAC,WAAW,GAAG,kBAAkB,CAAC,EAAE;IA+BpI,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,iBAAiB,GAAG,WAAW;CAO/D"}
|
|
@@ -27,6 +27,7 @@ const quick_pick_service_1 = require("@theia/core/lib/common/quick-pick-service"
|
|
|
27
27
|
const widget_1 = require("@theia/core/lib/browser/widgets/widget");
|
|
28
28
|
const scm_history_graph_model_1 = require("./scm-history-graph-model");
|
|
29
29
|
const scm_service_1 = require("./scm-service");
|
|
30
|
+
const scm_context_key_service_1 = require("./scm-context-key-service");
|
|
30
31
|
const scm_history_graph_widget_1 = require("./scm-history-graph-widget");
|
|
31
32
|
const scm_history_graph_helpers_1 = require("./scm-history-graph-helpers");
|
|
32
33
|
var ScmHistoryGraphCommands;
|
|
@@ -43,6 +44,22 @@ var ScmHistoryGraphCommands;
|
|
|
43
44
|
label: 'Pick History Item Reference...',
|
|
44
45
|
iconClass: (0, widget_1.codicon)('git-branch')
|
|
45
46
|
}, 'theia/scm/pickHistoryItemRefs');
|
|
47
|
+
ScmHistoryGraphCommands.REVEAL_CURRENT_HISTORY_ITEM = command_1.Command.toDefaultLocalizedCommand({
|
|
48
|
+
id: 'scmHistoryGraph.revealCurrentHistoryItem',
|
|
49
|
+
category: 'Source Control',
|
|
50
|
+
label: 'Go to Current History Item',
|
|
51
|
+
iconClass: (0, widget_1.codicon)('target')
|
|
52
|
+
});
|
|
53
|
+
ScmHistoryGraphCommands.SET_LIST_VIEW_MODE = command_1.Command.toDefaultLocalizedCommand({
|
|
54
|
+
id: 'scmHistoryGraph.setListViewMode',
|
|
55
|
+
category: 'Source Control',
|
|
56
|
+
label: 'View as List'
|
|
57
|
+
});
|
|
58
|
+
ScmHistoryGraphCommands.SET_TREE_VIEW_MODE = command_1.Command.toDefaultLocalizedCommand({
|
|
59
|
+
id: 'scmHistoryGraph.setTreeViewMode',
|
|
60
|
+
category: 'Source Control',
|
|
61
|
+
label: 'View as Tree'
|
|
62
|
+
});
|
|
46
63
|
})(ScmHistoryGraphCommands || (exports.ScmHistoryGraphCommands = ScmHistoryGraphCommands = {}));
|
|
47
64
|
/**
|
|
48
65
|
* Contributes the native toolbar actions of the SCM history graph: the
|
|
@@ -76,6 +93,25 @@ let ScmHistoryGraphContribution = class ScmHistoryGraphContribution {
|
|
|
76
93
|
isToggled: () => !!this.model.historyItemRefFilter,
|
|
77
94
|
execute: () => this.pickHistoryItemRefs()
|
|
78
95
|
});
|
|
96
|
+
commands.registerCommand(ScmHistoryGraphCommands.REVEAL_CURRENT_HISTORY_ITEM, {
|
|
97
|
+
// There is nothing to reveal while the filter excludes the current ref,
|
|
98
|
+
// mirroring VS Code's precondition for this action.
|
|
99
|
+
isEnabled: () => !!this.historyProvider && this.scmContextKeys.scmCurrentHistoryItemRefInFilter.get() === true,
|
|
100
|
+
isVisible: () => !!this.historyProvider,
|
|
101
|
+
execute: () => this.model.revealCurrentHistoryItem()
|
|
102
|
+
});
|
|
103
|
+
commands.registerCommand(ScmHistoryGraphCommands.SET_LIST_VIEW_MODE, {
|
|
104
|
+
isEnabled: () => !!this.historyProvider,
|
|
105
|
+
isVisible: () => !!this.historyProvider,
|
|
106
|
+
isToggled: () => this.model.viewMode === 'list',
|
|
107
|
+
execute: () => this.model.setViewMode('list')
|
|
108
|
+
});
|
|
109
|
+
commands.registerCommand(ScmHistoryGraphCommands.SET_TREE_VIEW_MODE, {
|
|
110
|
+
isEnabled: () => !!this.historyProvider,
|
|
111
|
+
isVisible: () => !!this.historyProvider,
|
|
112
|
+
isToggled: () => this.model.viewMode === 'tree',
|
|
113
|
+
execute: () => this.model.setViewMode('tree')
|
|
114
|
+
});
|
|
79
115
|
}
|
|
80
116
|
registerMenus(menus) {
|
|
81
117
|
// Extension actions from vscode.git sit at order 900-902; the picker
|
|
@@ -84,10 +120,24 @@ let ScmHistoryGraphContribution = class ScmHistoryGraphContribution {
|
|
|
84
120
|
commandId: ScmHistoryGraphCommands.PICK_HISTORY_ITEM_REFS.id,
|
|
85
121
|
order: '100'
|
|
86
122
|
});
|
|
123
|
+
menus.registerMenuAction([...scm_history_graph_widget_1.SCM_HISTORY_TITLE_MENU, 'navigation'], {
|
|
124
|
+
commandId: ScmHistoryGraphCommands.REVEAL_CURRENT_HISTORY_ITEM.id,
|
|
125
|
+
order: '200'
|
|
126
|
+
});
|
|
87
127
|
menus.registerMenuAction([...scm_history_graph_widget_1.SCM_HISTORY_TITLE_MENU, 'navigation'], {
|
|
88
128
|
commandId: ScmHistoryGraphCommands.REFRESH.id,
|
|
89
129
|
order: '999'
|
|
90
130
|
});
|
|
131
|
+
// Groups other than 'navigation' are rendered in the toolbar's overflow menu,
|
|
132
|
+
// which is where VS Code places the view mode toggles as well.
|
|
133
|
+
menus.registerMenuAction([...scm_history_graph_widget_1.SCM_HISTORY_TITLE_MENU, '9_viewmode'], {
|
|
134
|
+
commandId: ScmHistoryGraphCommands.SET_LIST_VIEW_MODE.id,
|
|
135
|
+
order: '1'
|
|
136
|
+
});
|
|
137
|
+
menus.registerMenuAction([...scm_history_graph_widget_1.SCM_HISTORY_TITLE_MENU, '9_viewmode'], {
|
|
138
|
+
commandId: ScmHistoryGraphCommands.SET_TREE_VIEW_MODE.id,
|
|
139
|
+
order: '2'
|
|
140
|
+
});
|
|
91
141
|
}
|
|
92
142
|
async pickHistoryItemRefs() {
|
|
93
143
|
if (!this.quickInputService) {
|
|
@@ -220,6 +270,10 @@ tslib_1.__decorate([
|
|
|
220
270
|
(0, inversify_1.named)('scm:ScmHistoryGraphContribution'),
|
|
221
271
|
tslib_1.__metadata("design:type", Object)
|
|
222
272
|
], ScmHistoryGraphContribution.prototype, "logger", void 0);
|
|
273
|
+
tslib_1.__decorate([
|
|
274
|
+
(0, inversify_1.inject)(scm_context_key_service_1.ScmContextKeyService),
|
|
275
|
+
tslib_1.__metadata("design:type", scm_context_key_service_1.ScmContextKeyService)
|
|
276
|
+
], ScmHistoryGraphContribution.prototype, "scmContextKeys", void 0);
|
|
223
277
|
exports.ScmHistoryGraphContribution = ScmHistoryGraphContribution = tslib_1.__decorate([
|
|
224
278
|
(0, inversify_1.injectable)()
|
|
225
279
|
], ScmHistoryGraphContribution);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-history-graph-contribution.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yDAAyD;AACzD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAmF;AACnF,sCAAsC;AACtC,4DAA+F;AAE/F,oDAAiD;AACjD,sEAA8E;AAC9E,qDAA4D;AAC5D,kFAA8F;AAC9F,mEAAiE;AACjE,uEAA+F;AAC/F,+CAA2C;
|
|
1
|
+
{"version":3,"file":"scm-history-graph-contribution.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yDAAyD;AACzD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAmF;AACnF,sCAAsC;AACtC,4DAA+F;AAE/F,oDAAiD;AACjD,sEAA8E;AAC9E,qDAA4D;AAC5D,kFAA8F;AAC9F,mEAAiE;AACjE,uEAA+F;AAC/F,+CAA2C;AAC3C,uEAAiE;AAEjE,yEAAoE;AACpE,2EAA+D;AAE/D,IAAiB,uBAAuB,CA6BvC;AA7BD,WAAiB,uBAAuB;IACvB,+BAAO,GAAG,iBAAO,CAAC,yBAAyB,CAAC;QACrD,EAAE,EAAE,yBAAyB;QAC7B,QAAQ,EAAE,gBAAgB;QAC1B,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,IAAA,gBAAO,EAAC,SAAS,CAAC;KAChC,CAAC,CAAC;IACU,8CAAsB,GAAG,iBAAO,CAAC,kBAAkB,CAAC;QAC7D,EAAE,EAAE,qCAAqC;QACzC,QAAQ,EAAE,gBAAgB;QAC1B,KAAK,EAAE,gCAAgC;QACvC,SAAS,EAAE,IAAA,gBAAO,EAAC,YAAY,CAAC;KACnC,EAAE,+BAA+B,CAAC,CAAC;IACvB,mDAA2B,GAAG,iBAAO,CAAC,yBAAyB,CAAC;QACzE,EAAE,EAAE,0CAA0C;QAC9C,QAAQ,EAAE,gBAAgB;QAC1B,KAAK,EAAE,4BAA4B;QACnC,SAAS,EAAE,IAAA,gBAAO,EAAC,QAAQ,CAAC;KAC/B,CAAC,CAAC;IACU,0CAAkB,GAAG,iBAAO,CAAC,yBAAyB,CAAC;QAChE,EAAE,EAAE,iCAAiC;QACrC,QAAQ,EAAE,gBAAgB;QAC1B,KAAK,EAAE,cAAc;KACxB,CAAC,CAAC;IACU,0CAAkB,GAAG,iBAAO,CAAC,yBAAyB,CAAC;QAChE,EAAE,EAAE,iCAAiC;QACrC,QAAQ,EAAE,gBAAgB;QAC1B,KAAK,EAAE,cAAc;KACxB,CAAC,CAAC;AACP,CAAC,EA7BgB,uBAAuB,uCAAvB,uBAAuB,QA6BvC;AAID;;;;;GAKG;AAEI,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAQpC;;;;;;OAMG;IACH,IAAc,KAAK;QACf,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED,IAAc,eAAe;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,QAAQ,CAAC,eAAe,CAAC;IACxE,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACtC,QAAQ,CAAC,eAAe,CAAC,uBAAuB,CAAC,OAAO,EAAE;YACtD,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe;YACvC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe;YACvC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;SACtC,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,uBAAuB,CAAC,sBAAsB,EAAE;YACrE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB;YACnE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe;YACvC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB;YAClD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE;SAC5C,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,uBAAuB,CAAC,2BAA2B,EAAE;YAC1E,wEAAwE;YACxE,oDAAoD;YACpD,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAC,GAAG,EAAE,KAAK,IAAI;YAC9G,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe;YACvC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE;SACvD,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,uBAAuB,CAAC,kBAAkB,EAAE;YACjE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe;YACvC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe;YACvC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM;YAC/C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;SAChD,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,uBAAuB,CAAC,kBAAkB,EAAE;YACjE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe;YACvC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe;YACvC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM;YAC/C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;SAChD,CAAC,CAAC;IACP,CAAC;IAED,aAAa,CAAC,KAAwB;QAClC,qEAAqE;QACrE,uEAAuE;QACvE,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,iDAAsB,EAAE,YAAY,CAAC,EAAE;YAChE,SAAS,EAAE,uBAAuB,CAAC,sBAAsB,CAAC,EAAE;YAC5D,KAAK,EAAE,KAAK;SACf,CAAC,CAAC;QACH,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,iDAAsB,EAAE,YAAY,CAAC,EAAE;YAChE,SAAS,EAAE,uBAAuB,CAAC,2BAA2B,CAAC,EAAE;YACjE,KAAK,EAAE,KAAK;SACf,CAAC,CAAC;QACH,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,iDAAsB,EAAE,YAAY,CAAC,EAAE;YAChE,SAAS,EAAE,uBAAuB,CAAC,OAAO,CAAC,EAAE;YAC7C,KAAK,EAAE,KAAK;SACf,CAAC,CAAC;QACH,8EAA8E;QAC9E,+DAA+D;QAC/D,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,iDAAsB,EAAE,YAAY,CAAC,EAAE;YAChE,SAAS,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,EAAE;YACxD,KAAK,EAAE,GAAG;SACb,CAAC,CAAC;QACH,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,iDAAsB,EAAE,YAAY,CAAC,EAAE;YAChE,SAAS,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,EAAE;YACxD,KAAK,EAAE,GAAG;SACb,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAe,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,sCAAuB,EAAE,CAAC;QAC1C,IAAI,CAAC;YACD,MAAM,CAAC,WAAW,GAAG,SAAG,CAAC,QAAQ,CAAC,0CAA0C,EAAE,4CAA4C,CAAC,CAAC;YAC5H,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACjC,mEAAmE;YACnE,mEAAmE;YACnE,sCAAsC;YACtC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YAEnB,MAAM,SAAS,GAAG,MAAM,IAAI,OAAO,CAAqC,OAAO,CAAC,EAAE;gBAC9E,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;oBACpB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBAC9B,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClB,CAAC,CAAC,CAAC;gBACH,wEAAwE;gBACxE,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;oBAClB,GAAG,CAAC,MAAM,EAAE,CAAC;oBACb,OAAO,CAAC,SAAS,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,EAAE,CAAC;gBAEd,QAAQ,CAAC,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC9D,IAAI,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;wBACpC,OAAO;oBACX,CAAC;oBACD,MAAM,aAAa,GAAG,KAAK,CAAC,oBAAoB,CAAC;oBACjD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC5D,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;oBACrB,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAuB,EAAE,CAAC,CAAC,uCAAkB,CAAC,EAAE,CAAC,IAAI,CAAC;2BACxF,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;oBAElG,2EAA2E;oBAC3E,IAAI,aAAa,GAA2B,MAAM,CAAC,aAAa,CAAC;oBACjE,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE;wBACvC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACrD,IAAI,OAAO,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACzD,MAAM,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACzH,CAAC;wBACD,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;oBACzC,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;gBACxB,CAAC,EAAE,GAAG,CAAC,EAAE;oBACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;wBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;oBAC/D,CAAC;oBACD,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,OAAO;YACX,CAAC;YACD,sEAAsE;YACtE,qEAAqE;YACrE,kBAAkB;YAClB,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO;YACX,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;YAC3F,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;YACtE,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC;gBAAS,CAAC;YACP,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,GAAG,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IAES,kBAAkB,CAAC,IAAkC,EAAE,QAA4B;QACzF,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,qBAAqB,EAAE,QAAQ,CAAC,2BAA2B,EAAE,QAAQ,CAAC,yBAAyB,CAAC;aACtH,MAAM,CAAC,CAAC,GAAG,EAA4B,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,KAAK,GAAyC,CAAC;gBACjD,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBACpC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrD,IAAI,EAAE,IAAI;aACb,CAAC,CAAC;QAEH,MAAM,MAAM,GAA4C;YACpD,EAAE,KAAK,EAAE,SAAG,CAAC,QAAQ,CAAC,6BAA6B,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;YACtF,EAAE,KAAK,EAAE,SAAG,CAAC,QAAQ,CAAC,mCAAmC,EAAE,iBAAiB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE;YACrG,EAAE,KAAK,EAAE,SAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE;SAChF,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,4CAAgB,EAAC,GAAG,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC;YACjF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtD,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,aAAa,CAAC,GAAsB;QAC1C,OAAO;YACH,KAAK,EAAE,GAAG,CAAC,IAAI;YACf,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,KAAK,EAAE,GAAG,CAAC,EAAE;SAChB,CAAC;IACN,CAAC;CACJ,CAAA;AAxMY,kEAA2B;AAEG;IAAtC,IAAA,kBAAM,EAAC,wBAAU,CAAC;sCAAgC,wBAAU;+DAAC;AACL;IAAxD,IAAA,kBAAM,EAAC,sDAA4B,CAAC;;kEAAgE;AAC3C;IAAzD,IAAA,kBAAM,EAAC,2BAAiB,CAAC;IAAE,IAAA,oBAAQ,GAAE;;sEAAyD;AACjB;IAA7E,IAAA,kBAAM,EAAC,cAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,iCAAiC,CAAC;;2DAAoC;AAC7C;IAAhD,IAAA,kBAAM,EAAC,8CAAoB,CAAC;sCAAoC,8CAAoB;mEAAC;sCAN7E,2BAA2B;IADvC,IAAA,sBAAU,GAAE;GACA,2BAA2B,CAwMvC"}
|
|
@@ -21,18 +21,35 @@ const chai_1 = require("chai");
|
|
|
21
21
|
const disposable_1 = require("@theia/core/lib/common/disposable");
|
|
22
22
|
const scm_history_graph_contribution_1 = require("./scm-history-graph-contribution");
|
|
23
23
|
disableJSDOM();
|
|
24
|
-
|
|
24
|
+
const ALL_COMMANDS = [
|
|
25
|
+
scm_history_graph_contribution_1.ScmHistoryGraphCommands.REFRESH,
|
|
26
|
+
scm_history_graph_contribution_1.ScmHistoryGraphCommands.PICK_HISTORY_ITEM_REFS,
|
|
27
|
+
scm_history_graph_contribution_1.ScmHistoryGraphCommands.REVEAL_CURRENT_HISTORY_ITEM,
|
|
28
|
+
scm_history_graph_contribution_1.ScmHistoryGraphCommands.SET_LIST_VIEW_MODE,
|
|
29
|
+
scm_history_graph_contribution_1.ScmHistoryGraphCommands.SET_TREE_VIEW_MODE,
|
|
30
|
+
];
|
|
31
|
+
function createContribution(historyProvider, currentRefInFilter = true) {
|
|
25
32
|
const contribution = new scm_history_graph_contribution_1.ScmHistoryGraphContribution();
|
|
26
33
|
let resolved = false;
|
|
34
|
+
let reveals = 0;
|
|
35
|
+
let viewMode = 'list';
|
|
27
36
|
const internals = contribution;
|
|
28
37
|
internals.scmService = {
|
|
29
38
|
selectedRepository: historyProvider ? { provider: { historyProvider } } : undefined,
|
|
30
39
|
};
|
|
31
40
|
internals.modelProvider = () => {
|
|
32
41
|
resolved = true;
|
|
33
|
-
return {
|
|
42
|
+
return {
|
|
43
|
+
historyItemRefFilter: undefined,
|
|
44
|
+
revealCurrentHistoryItem: async () => { reveals++; return undefined; },
|
|
45
|
+
get viewMode() { return viewMode; },
|
|
46
|
+
setViewMode: (mode) => { viewMode = mode; },
|
|
47
|
+
};
|
|
34
48
|
};
|
|
35
49
|
internals.quickInputService = {};
|
|
50
|
+
internals.scmContextKeys = {
|
|
51
|
+
scmCurrentHistoryItemRefInFilter: { get: () => currentRefInFilter },
|
|
52
|
+
};
|
|
36
53
|
const handlers = new Map();
|
|
37
54
|
const registry = {
|
|
38
55
|
registerCommand: (command, handler) => {
|
|
@@ -41,12 +58,12 @@ function createContribution(historyProvider) {
|
|
|
41
58
|
},
|
|
42
59
|
};
|
|
43
60
|
contribution.registerCommands(registry);
|
|
44
|
-
return { handlers, modelResolved: () => resolved };
|
|
61
|
+
return { handlers, modelResolved: () => resolved, revealCount: () => reveals, viewMode: () => viewMode };
|
|
45
62
|
}
|
|
46
63
|
describe('ScmHistoryGraphContribution', () => {
|
|
47
64
|
it('does not resolve the graph model for enablement and visibility checks', () => {
|
|
48
65
|
const { handlers, modelResolved } = createContribution({});
|
|
49
|
-
for (const command of
|
|
66
|
+
for (const command of ALL_COMMANDS) {
|
|
50
67
|
const handler = handlers.get(command.id);
|
|
51
68
|
(0, chai_1.expect)(handler.isEnabled()).to.be.true;
|
|
52
69
|
(0, chai_1.expect)(handler.isVisible()).to.be.true;
|
|
@@ -55,12 +72,48 @@ describe('ScmHistoryGraphContribution', () => {
|
|
|
55
72
|
});
|
|
56
73
|
it('disables the commands when the selected repository has no history provider', () => {
|
|
57
74
|
const { handlers, modelResolved } = createContribution(undefined);
|
|
58
|
-
for (const command of
|
|
75
|
+
for (const command of ALL_COMMANDS) {
|
|
59
76
|
const handler = handlers.get(command.id);
|
|
60
77
|
(0, chai_1.expect)(handler.isEnabled()).to.be.false;
|
|
61
78
|
(0, chai_1.expect)(handler.isVisible()).to.be.false;
|
|
62
79
|
}
|
|
63
80
|
(0, chai_1.expect)(modelResolved()).to.be.false;
|
|
64
81
|
});
|
|
82
|
+
it('disables revealing the current history item when the filter excludes the current ref', () => {
|
|
83
|
+
const { handlers } = createContribution({}, false);
|
|
84
|
+
const handler = handlers.get(scm_history_graph_contribution_1.ScmHistoryGraphCommands.REVEAL_CURRENT_HISTORY_ITEM.id);
|
|
85
|
+
(0, chai_1.expect)(handler.isEnabled()).to.be.false;
|
|
86
|
+
});
|
|
87
|
+
it('keeps revealing the current history item visible when the filter excludes the current ref', () => {
|
|
88
|
+
const { handlers } = createContribution({}, false);
|
|
89
|
+
const handler = handlers.get(scm_history_graph_contribution_1.ScmHistoryGraphCommands.REVEAL_CURRENT_HISTORY_ITEM.id);
|
|
90
|
+
(0, chai_1.expect)(handler.isVisible()).to.be.true;
|
|
91
|
+
});
|
|
92
|
+
it('asks the model to reveal the current history item when executed', async () => {
|
|
93
|
+
const { handlers, revealCount } = createContribution({});
|
|
94
|
+
await handlers.get(scm_history_graph_contribution_1.ScmHistoryGraphCommands.REVEAL_CURRENT_HISTORY_ITEM.id).execute();
|
|
95
|
+
(0, chai_1.expect)(revealCount()).to.equal(1);
|
|
96
|
+
});
|
|
97
|
+
it('switches the model to the tree view mode', async () => {
|
|
98
|
+
const { handlers, viewMode } = createContribution({});
|
|
99
|
+
await handlers.get(scm_history_graph_contribution_1.ScmHistoryGraphCommands.SET_TREE_VIEW_MODE.id).execute();
|
|
100
|
+
(0, chai_1.expect)(viewMode()).to.equal('tree');
|
|
101
|
+
});
|
|
102
|
+
it('switches the model back to the list view mode', async () => {
|
|
103
|
+
const { handlers, viewMode } = createContribution({});
|
|
104
|
+
await handlers.get(scm_history_graph_contribution_1.ScmHistoryGraphCommands.SET_TREE_VIEW_MODE.id).execute();
|
|
105
|
+
await handlers.get(scm_history_graph_contribution_1.ScmHistoryGraphCommands.SET_LIST_VIEW_MODE.id).execute();
|
|
106
|
+
(0, chai_1.expect)(viewMode()).to.equal('list');
|
|
107
|
+
});
|
|
108
|
+
it('toggles the view mode command matching the current view mode', async () => {
|
|
109
|
+
const { handlers } = createContribution({});
|
|
110
|
+
const list = handlers.get(scm_history_graph_contribution_1.ScmHistoryGraphCommands.SET_LIST_VIEW_MODE.id);
|
|
111
|
+
const tree = handlers.get(scm_history_graph_contribution_1.ScmHistoryGraphCommands.SET_TREE_VIEW_MODE.id);
|
|
112
|
+
(0, chai_1.expect)(list.isToggled()).to.be.true;
|
|
113
|
+
(0, chai_1.expect)(tree.isToggled()).to.be.false;
|
|
114
|
+
await tree.execute();
|
|
115
|
+
(0, chai_1.expect)(list.isToggled()).to.be.false;
|
|
116
|
+
(0, chai_1.expect)(tree.isToggled()).to.be.true;
|
|
117
|
+
});
|
|
65
118
|
});
|
|
66
119
|
//# sourceMappingURL=scm-history-graph-contribution.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-history-graph-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-contribution.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yDAAyD;AACzD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,8DAAiE;AACjE,MAAM,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC;AAEnC,+BAA8B;AAE9B,kEAA+D;AAC/D,qFAAwG;AAIxG,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"scm-history-graph-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-contribution.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,31 @@ export declare function getFilePath(uri: string): string;
|
|
|
17
17
|
* Falls back to the full path if rootUri is unavailable or doesn't match.
|
|
18
18
|
*/
|
|
19
19
|
export declare function getRepoRelativePath(uri: string, rootUri: string | undefined): string;
|
|
20
|
+
export interface ChangeTreeRowBase {
|
|
21
|
+
/** Repo-relative path of the row; the expansion key for folders. */
|
|
22
|
+
readonly path: string;
|
|
23
|
+
/** Nesting level, used for indentation. */
|
|
24
|
+
readonly depth: number;
|
|
25
|
+
}
|
|
26
|
+
export interface ChangeTreeFolderRow extends ChangeTreeRowBase {
|
|
27
|
+
readonly type: 'folder';
|
|
28
|
+
/** Segments rendered for this row; a compacted chain shows `browser/model`. */
|
|
29
|
+
readonly label: string;
|
|
30
|
+
}
|
|
31
|
+
export interface ChangeTreeFileRow extends ChangeTreeRowBase {
|
|
32
|
+
readonly type: 'file';
|
|
33
|
+
readonly change: ScmHistoryItemChange;
|
|
34
|
+
/** Position of the change in the list it came from, so row keys stay stable. */
|
|
35
|
+
readonly index: number;
|
|
36
|
+
}
|
|
37
|
+
export type ChangeTreeRow = ChangeTreeFolderRow | ChangeTreeFileRow;
|
|
38
|
+
/**
|
|
39
|
+
* Arranges history item changes into the rows of a file tree: folders before
|
|
40
|
+
* files, each sorted by name, with single-child folder chains compacted into
|
|
41
|
+
* one row (`src/browser`) the way VS Code's SCM tree renders them. Folders
|
|
42
|
+
* listed in `collapsedFolders` (by their full path) hide their descendants.
|
|
43
|
+
*/
|
|
44
|
+
export declare function buildChangeTreeRows(changes: readonly ScmHistoryItemChange[], rootUri: string | undefined, collapsedFolders: ReadonlySet<string>): ChangeTreeRow[];
|
|
20
45
|
/**
|
|
21
46
|
* Returns the ref-based color index of the given ref (0 = current ref,
|
|
22
47
|
* 1 = remote ref, 2 = base ref), or `undefined` when the ref is none of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-history-graph-helpers.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-helpers.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE7F;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAW/C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAWpE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO/C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAYpF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAcrH;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,SAAS,iBAAiB,EAAE,EAClC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EACxC,MAAM,EAAE,KAAK,GAAG,QAAQ,EACxB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAC3B,SAAS,iBAAiB,EAAE,CAW9B;AAED,MAAM,WAAW,oBAAoB;IACjC,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GAAG,oBAAoB,CAa9H;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAe/D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAOxD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAO3D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,iBAAiB,CAAC;IACvB,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,GAAG,eAAe,EAAE,CAkCrF"}
|
|
1
|
+
{"version":3,"file":"scm-history-graph-helpers.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-helpers.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE7F;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAW/C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAWpE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO/C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAYpF;AAED,MAAM,WAAW,iBAAiB;IAC9B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC1D,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAOpE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,SAAS,oBAAoB,EAAE,EACxC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACtC,aAAa,EAAE,CAqBjB;AAyCD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAcrH;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,SAAS,iBAAiB,EAAE,EAClC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EACxC,MAAM,EAAE,KAAK,GAAG,QAAQ,EACxB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAC3B,SAAS,iBAAiB,EAAE,CAW9B;AAED,MAAM,WAAW,oBAAoB;IACjC,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GAAG,oBAAoB,CAa9H;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAe/D;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAOxD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAO3D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,iBAAiB,CAAC;IACvB,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,GAAG,eAAe,EAAE,CAkCrF"}
|
|
@@ -20,6 +20,7 @@ exports.getChangeStatus = getChangeStatus;
|
|
|
20
20
|
exports.getFileName = getFileName;
|
|
21
21
|
exports.getFilePath = getFilePath;
|
|
22
22
|
exports.getRepoRelativePath = getRepoRelativePath;
|
|
23
|
+
exports.buildChangeTreeRows = buildChangeTreeRows;
|
|
23
24
|
exports.getRefColorIndex = getRefColorIndex;
|
|
24
25
|
exports.filterRefsForBadges = filterRefsForBadges;
|
|
25
26
|
exports.getRefBadgePresentation = getRefBadgePresentation;
|
|
@@ -91,6 +92,63 @@ function getRepoRelativePath(uri, rootUri) {
|
|
|
91
92
|
}
|
|
92
93
|
return fullPath;
|
|
93
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Arranges history item changes into the rows of a file tree: folders before
|
|
97
|
+
* files, each sorted by name, with single-child folder chains compacted into
|
|
98
|
+
* one row (`src/browser`) the way VS Code's SCM tree renders them. Folders
|
|
99
|
+
* listed in `collapsedFolders` (by their full path) hide their descendants.
|
|
100
|
+
*/
|
|
101
|
+
function buildChangeTreeRows(changes, rootUri, collapsedFolders) {
|
|
102
|
+
const root = { folders: new Map(), files: [] };
|
|
103
|
+
changes.forEach((change, index) => {
|
|
104
|
+
const relativePath = getRepoRelativePath(change.modifiedUri ?? change.originalUri ?? change.uri, rootUri);
|
|
105
|
+
const segments = relativePath.split('/').filter(segment => segment.length > 0);
|
|
106
|
+
const name = segments.pop() ?? relativePath;
|
|
107
|
+
let folder = root;
|
|
108
|
+
for (const segment of segments) {
|
|
109
|
+
let child = folder.folders.get(segment);
|
|
110
|
+
if (!child) {
|
|
111
|
+
child = { folders: new Map(), files: [] };
|
|
112
|
+
folder.folders.set(segment, child);
|
|
113
|
+
}
|
|
114
|
+
folder = child;
|
|
115
|
+
}
|
|
116
|
+
folder.files.push({ change, index, name });
|
|
117
|
+
});
|
|
118
|
+
const rows = [];
|
|
119
|
+
collectChangeTreeRows(root, '', '', 0, collapsedFolders, rows);
|
|
120
|
+
return rows;
|
|
121
|
+
}
|
|
122
|
+
function collectChangeTreeRows(folder, path, label, depth, collapsedFolders, rows) {
|
|
123
|
+
for (const name of [...folder.folders.keys()].sort(compareNames)) {
|
|
124
|
+
let child = folder.folders.get(name);
|
|
125
|
+
let childPath = path ? `${path}/${name}` : name;
|
|
126
|
+
let childLabel = label ? `${label}/${name}` : name;
|
|
127
|
+
// Compact a chain of folders that each hold nothing but one folder.
|
|
128
|
+
while (child.files.length === 0 && child.folders.size === 1) {
|
|
129
|
+
const [onlyName, onlyChild] = [...child.folders][0];
|
|
130
|
+
child = onlyChild;
|
|
131
|
+
childPath = `${childPath}/${onlyName}`;
|
|
132
|
+
childLabel = `${childLabel}/${onlyName}`;
|
|
133
|
+
}
|
|
134
|
+
rows.push({ type: 'folder', path: childPath, label: childLabel, depth });
|
|
135
|
+
if (!collapsedFolders.has(childPath)) {
|
|
136
|
+
collectChangeTreeRows(child, childPath, '', depth + 1, collapsedFolders, rows);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
for (const file of [...folder.files].sort((left, right) => compareNames(left.name, right.name))) {
|
|
140
|
+
rows.push({
|
|
141
|
+
type: 'file',
|
|
142
|
+
path: path ? `${path}/${file.name}` : file.name,
|
|
143
|
+
depth,
|
|
144
|
+
change: file.change,
|
|
145
|
+
index: file.index
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
function compareNames(left, right) {
|
|
150
|
+
return left.localeCompare(right);
|
|
151
|
+
}
|
|
94
152
|
/**
|
|
95
153
|
* Returns the ref-based color index of the given ref (0 = current ref,
|
|
96
154
|
* 1 = remote ref, 2 = base ref), or `undefined` when the ref is none of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-history-graph-helpers.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-helpers.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAahF,8BAWC;AAED,0CAWC;AAED,kCAGC;AAED,kCAOC;AAMD,kDAYC;
|
|
1
|
+
{"version":3,"file":"scm-history-graph-helpers.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,4 +93,62 @@ describe('filterRefsForBadges', () => {
|
|
|
93
93
|
(0, chai_1.expect)((0, scm_history_graph_helpers_1.filterRefsForBadges)(refs, provider, 'all', ['refs/heads/feature'])).to.deep.equal(refs);
|
|
94
94
|
});
|
|
95
95
|
});
|
|
96
|
+
describe('buildChangeTreeRows', () => {
|
|
97
|
+
const rootUri = 'file:///repo';
|
|
98
|
+
function change(path) {
|
|
99
|
+
return { uri: `${rootUri}/${path}`, modifiedUri: `${rootUri}/${path}` };
|
|
100
|
+
}
|
|
101
|
+
/** Renders the rows as indented lines, so the expectations read like a tree. */
|
|
102
|
+
function describeRows(rows) {
|
|
103
|
+
return rows.map(row => `${' '.repeat(row.depth)}${row.type === 'folder' ? row.label + '/' : (0, scm_history_graph_helpers_1.getFileName)(row.path)}`);
|
|
104
|
+
}
|
|
105
|
+
it('keeps files at the root at depth 0', () => {
|
|
106
|
+
const rows = (0, scm_history_graph_helpers_1.buildChangeTreeRows)([change('a.ts'), change('b.ts')], rootUri, new Set());
|
|
107
|
+
(0, chai_1.expect)(describeRows(rows)).to.deep.equal(['a.ts', 'b.ts']);
|
|
108
|
+
});
|
|
109
|
+
it('groups files under their folder', () => {
|
|
110
|
+
const rows = (0, scm_history_graph_helpers_1.buildChangeTreeRows)([change('src/a.ts'), change('src/b.ts')], rootUri, new Set());
|
|
111
|
+
(0, chai_1.expect)(describeRows(rows)).to.deep.equal(['src/', ' a.ts', ' b.ts']);
|
|
112
|
+
});
|
|
113
|
+
it('compacts folder chains that hold a single child folder', () => {
|
|
114
|
+
const rows = (0, scm_history_graph_helpers_1.buildChangeTreeRows)([change('src/browser/a.ts')], rootUri, new Set());
|
|
115
|
+
(0, chai_1.expect)(describeRows(rows)).to.deep.equal(['src/browser/', ' a.ts']);
|
|
116
|
+
});
|
|
117
|
+
it('stops compacting where a folder chain branches', () => {
|
|
118
|
+
const rows = (0, scm_history_graph_helpers_1.buildChangeTreeRows)([change('src/browser/a.ts'), change('src/node/b.ts')], rootUri, new Set());
|
|
119
|
+
(0, chai_1.expect)(describeRows(rows)).to.deep.equal(['src/', ' browser/', ' a.ts', ' node/', ' b.ts']);
|
|
120
|
+
});
|
|
121
|
+
it('does not compact a folder that also holds files', () => {
|
|
122
|
+
const rows = (0, scm_history_graph_helpers_1.buildChangeTreeRows)([change('src/a.ts'), change('src/browser/b.ts')], rootUri, new Set());
|
|
123
|
+
(0, chai_1.expect)(describeRows(rows)).to.deep.equal(['src/', ' browser/', ' b.ts', ' a.ts']);
|
|
124
|
+
});
|
|
125
|
+
it('sorts folders before files, each alphabetically', () => {
|
|
126
|
+
const rows = (0, scm_history_graph_helpers_1.buildChangeTreeRows)([change('z.ts'), change('a.ts'), change('src/b.ts')], rootUri, new Set());
|
|
127
|
+
(0, chai_1.expect)(describeRows(rows)).to.deep.equal(['src/', ' b.ts', 'a.ts', 'z.ts']);
|
|
128
|
+
});
|
|
129
|
+
it('hides the descendants of a collapsed folder', () => {
|
|
130
|
+
const rows = (0, scm_history_graph_helpers_1.buildChangeTreeRows)([change('src/a.ts'), change('b.ts')], rootUri, new Set(['src']));
|
|
131
|
+
(0, chai_1.expect)(describeRows(rows)).to.deep.equal(['src/', 'b.ts']);
|
|
132
|
+
});
|
|
133
|
+
it('addresses a compacted folder by its full path', () => {
|
|
134
|
+
const rows = (0, scm_history_graph_helpers_1.buildChangeTreeRows)([change('src/browser/a.ts')], rootUri, new Set(['src/browser']));
|
|
135
|
+
(0, chai_1.expect)(describeRows(rows)).to.deep.equal(['src/browser/']);
|
|
136
|
+
});
|
|
137
|
+
it('carries the original change on each file row', () => {
|
|
138
|
+
const first = change('src/a.ts');
|
|
139
|
+
const rows = (0, scm_history_graph_helpers_1.buildChangeTreeRows)([first], rootUri, new Set());
|
|
140
|
+
(0, chai_1.expect)(rows[1].type).to.equal('file');
|
|
141
|
+
(0, chai_1.expect)(rows[1].change).to.equal(first);
|
|
142
|
+
});
|
|
143
|
+
it('keeps the index of the change in the original list, so row keys stay stable', () => {
|
|
144
|
+
const rows = (0, scm_history_graph_helpers_1.buildChangeTreeRows)([change('z.ts'), change('src/a.ts')], rootUri, new Set());
|
|
145
|
+
// Sorted as: src/, src/a.ts (index 1), z.ts (index 0).
|
|
146
|
+
(0, chai_1.expect)(rows.filter(row => row.type === 'file').map(row => row.index)).to.deep.equal([1, 0]);
|
|
147
|
+
});
|
|
148
|
+
it('falls back to the full path when the change is outside the repository root', () => {
|
|
149
|
+
const outside = { uri: 'file:///elsewhere/x.ts', modifiedUri: 'file:///elsewhere/x.ts' };
|
|
150
|
+
const rows = (0, scm_history_graph_helpers_1.buildChangeTreeRows)([outside], rootUri, new Set());
|
|
151
|
+
(0, chai_1.expect)(describeRows(rows)).to.deep.equal(['elsewhere/', ' x.ts']);
|
|
152
|
+
});
|
|
153
|
+
});
|
|
96
154
|
//# sourceMappingURL=scm-history-graph-helpers.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-history-graph-helpers.spec.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-helpers.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yDAAyD;AACzD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,+BAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"scm-history-graph-helpers.spec.js","sourceRoot":"","sources":["../../src/browser/scm-history-graph-helpers.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yDAAyD;AACzD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,+BAA8B;AAC9B,2EAEqC;AAGrC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAE9B,MAAM,OAAO,GAAsB,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3E,MAAM,SAAS,GAAsB,EAAE,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAC7F,MAAM,OAAO,GAAsB,EAAE,EAAE,EAAE,6BAA6B,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACjG,MAAM,QAAQ,GAAsB,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAElF,MAAM,QAAQ,GAAG;QACb,qBAAqB,EAAE,OAAO;QAC9B,2BAA2B,EAAE,SAAS;QACtC,yBAAyB,EAAE,OAAO;KACf,CAAC;IAExB,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,IAAA,aAAM,EAAC,IAAA,4CAAgB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,IAAA,aAAM,EAAC,IAAA,4CAAgB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,IAAA,aAAM,EAAC,IAAA,4CAAgB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC3C,IAAA,aAAM,EAAC,IAAA,4CAAgB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,IAAA,aAAM,EAAC,IAAA,4CAAgB,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;IACjE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IAErC,MAAM,OAAO,GAAsB,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3E,MAAM,SAAS,GAAsB,EAAE,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAE7F,MAAM,QAAQ,GAAG;QACb,qBAAqB,EAAE,OAAO;QAC9B,2BAA2B,EAAE,SAAS;KACnB,CAAC;IAExB,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,MAAM,GAAG,GAAsB,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC;QAC9E,IAAA,aAAM,EAAC,IAAA,mDAAuB,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,IAAA,aAAM,EAAC,IAAA,mDAAuB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC1E,IAAA,aAAM,EAAC,IAAA,mDAAuB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACzF,IAAA,aAAM,EAAC,IAAA,mDAAuB,EAAC,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChH,IAAA,aAAM,EAAC,IAAA,mDAAuB,EAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACtI,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,IAAA,aAAM,EAAC,IAAA,mDAAuB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAA,aAAM,EAAC,IAAA,mDAAuB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAA,aAAM,EAAC,IAAA,mDAAuB,EAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;IACxH,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAEjC,MAAM,OAAO,GAAsB,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3E,MAAM,SAAS,GAAsB,EAAE,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAC7F,MAAM,UAAU,GAAsB,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACpF,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG;QACb,qBAAqB,EAAE,OAAO;QAC9B,2BAA2B,EAAE,SAAS;KACnB,CAAC;IAExB,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,IAAA,aAAM,EAAC,IAAA,+CAAmB,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,IAAA,aAAM,EAAC,IAAA,+CAAmB,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACvE,IAAA,aAAM,EAAC,IAAA,+CAAmB,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;QACtF,IAAA,aAAM,EAAC,IAAA,+CAAmB,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,IAAA,aAAM,EAAC,IAAA,+CAAmB,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAEjC,MAAM,OAAO,GAAG,cAAc,CAAC;IAE/B,SAAS,MAAM,CAAC,IAAY;QACxB,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC;IAC5E,CAAC;IAED,gFAAgF;IAChF,SAAS,YAAY,CAAC,IAA8B;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,IAAA,uCAAW,EAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1H,CAAC;IAED,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,IAAI,GAAG,IAAA,+CAAmB,EAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACvF,IAAA,aAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,MAAM,IAAI,GAAG,IAAA,+CAAmB,EAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC/F,IAAA,aAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,MAAM,IAAI,GAAG,IAAA,+CAAmB,EAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACnF,IAAA,aAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,MAAM,IAAI,GAAG,IAAA,+CAAmB,EAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC5G,IAAA,aAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,IAAI,GAAG,IAAA,+CAAmB,EAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACvG,IAAA,aAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,IAAI,GAAG,IAAA,+CAAmB,EAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3G,IAAA,aAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,MAAM,IAAI,GAAG,IAAA,+CAAmB,EAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClG,IAAA,aAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,MAAM,IAAI,GAAG,IAAA,+CAAmB,EAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAClG,IAAA,aAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAA,+CAAmB,EAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtC,IAAA,aAAM,EAAE,IAAI,CAAC,CAAC,CAAuB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACnF,MAAM,IAAI,GAAG,IAAA,+CAAmB,EAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3F,uDAAuD;QACvD,IAAA,aAAM,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAE,GAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QAClF,MAAM,OAAO,GAAyB,EAAE,GAAG,EAAE,wBAAwB,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;QAC/G,MAAM,IAAI,GAAG,IAAA,+CAAmB,EAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAChE,IAAA,aAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DisposableCollection } from '@theia/core/lib/common/disposable';
|
|
2
|
-
import { Emitter } from '@theia/core/lib/common/event';
|
|
2
|
+
import { Emitter, Event } from '@theia/core/lib/common/event';
|
|
3
3
|
import { CancellationTokenSource } from '@theia/core/lib/common/cancellation';
|
|
4
4
|
import { ScmService } from './scm-service';
|
|
5
5
|
import { ScmHistoryItem, ScmHistoryItemRef, ScmHistoryProvider } from './scm-provider';
|
|
@@ -7,6 +7,8 @@ import { GraphRow } from './scm-history-graph-lanes';
|
|
|
7
7
|
import { ILogger } from '@theia/core';
|
|
8
8
|
import { ScmPreferences } from '../common/scm-preferences';
|
|
9
9
|
export declare const PAGE_SIZE = 50;
|
|
10
|
+
/** How the changes of an expanded history item are laid out. */
|
|
11
|
+
export type ScmHistoryViewMode = 'list' | 'tree';
|
|
10
12
|
export declare const ScmHistoryGraphModelProvider: unique symbol;
|
|
11
13
|
/**
|
|
12
14
|
* Resolves the {@link ScmHistoryGraphModel} singleton on first use. The model
|
|
@@ -35,14 +37,25 @@ export declare class ScmHistoryGraphModel {
|
|
|
35
37
|
protected _provider: ScmHistoryProvider | undefined;
|
|
36
38
|
/** Explicitly picked ref ids to filter the graph by; `undefined` = auto (current/remote/base). */
|
|
37
39
|
protected _historyItemRefFilter: string[] | undefined;
|
|
40
|
+
protected _viewMode: ScmHistoryViewMode;
|
|
38
41
|
protected readonly onDidChangeEmitter: Emitter<void>;
|
|
39
|
-
readonly onDidChange:
|
|
42
|
+
readonly onDidChange: Event<void>;
|
|
43
|
+
protected readonly onDidRequestRevealEmitter: Emitter<number>;
|
|
44
|
+
/** Fired with the index of an entry the view should scroll to and select. */
|
|
45
|
+
readonly onDidRequestReveal: Event<number>;
|
|
40
46
|
protected cancelSource: CancellationTokenSource;
|
|
41
47
|
protected init(): void;
|
|
42
48
|
dispose(): void;
|
|
43
49
|
get provider(): ScmHistoryProvider | undefined;
|
|
44
50
|
/** The explicitly picked ref ids filtering the graph, or `undefined` in auto mode. */
|
|
45
51
|
get historyItemRefFilter(): readonly string[] | undefined;
|
|
52
|
+
/** How the changes of an expanded history item are laid out. */
|
|
53
|
+
get viewMode(): ScmHistoryViewMode;
|
|
54
|
+
/**
|
|
55
|
+
* Switches how the changes of an expanded history item are laid out. This
|
|
56
|
+
* only affects rendering, so the loaded history is kept as is.
|
|
57
|
+
*/
|
|
58
|
+
setViewMode(viewMode: ScmHistoryViewMode): void;
|
|
46
59
|
/**
|
|
47
60
|
* Sets the ref ids to filter the graph by (`undefined` returns to auto
|
|
48
61
|
* mode) and reloads the graph.
|
|
@@ -72,6 +85,15 @@ export declare class ScmHistoryGraphModel {
|
|
|
72
85
|
protected pruneHistoryItemRefFilter(removed: readonly ScmHistoryItemRef[]): void;
|
|
73
86
|
/** Clears the loaded entries and loads the first page again from the current provider. */
|
|
74
87
|
protected reload(): void;
|
|
88
|
+
/**
|
|
89
|
+
* Locates the commit the current history item ref points at, loading
|
|
90
|
+
* further pages while it is outside the loaded range, and asks the view to
|
|
91
|
+
* reveal it. Returns its index, or `undefined` when there is no current
|
|
92
|
+
* history item ref or the commit is not part of the graph (e.g. the ref is
|
|
93
|
+
* excluded by the filter).
|
|
94
|
+
*/
|
|
95
|
+
revealCurrentHistoryItem(): Promise<number | undefined>;
|
|
96
|
+
protected indexOfCurrentHistoryItem(): number | undefined;
|
|
75
97
|
loadMore(): Promise<void>;
|
|
76
98
|
protected loadPage(): Promise<void>;
|
|
77
99
|
/** The configured page size (`scm.graph.pageSize`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-history-graph-model.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-model.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAc,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"scm-history-graph-model.d.ts","sourceRoot":"","sources":["../../src/browser/scm-history-graph-model.ts"],"names":[],"mappings":"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"}
|