@jupyterlab/shortcuts-extension 4.0.0-alpha.2 → 4.0.0-alpha.21

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 (39) hide show
  1. package/lib/components/ShortcutInput.d.ts +78 -0
  2. package/lib/components/ShortcutInput.js +348 -0
  3. package/lib/components/ShortcutInput.js.map +1 -0
  4. package/lib/components/ShortcutItem.d.ts +62 -0
  5. package/lib/components/ShortcutItem.js +282 -0
  6. package/lib/components/ShortcutItem.js.map +1 -0
  7. package/lib/components/ShortcutList.d.ts +23 -0
  8. package/lib/components/ShortcutList.js +19 -0
  9. package/lib/components/ShortcutList.js.map +1 -0
  10. package/lib/components/ShortcutTitleItem.d.ts +9 -0
  11. package/lib/components/ShortcutTitleItem.js +16 -0
  12. package/lib/components/ShortcutTitleItem.js.map +1 -0
  13. package/lib/components/ShortcutUI.d.ts +56 -0
  14. package/lib/components/ShortcutUI.js +363 -0
  15. package/lib/components/ShortcutUI.js.map +1 -0
  16. package/lib/components/TopNav.d.ts +48 -0
  17. package/lib/components/TopNav.js +92 -0
  18. package/lib/components/TopNav.js.map +1 -0
  19. package/lib/components/index.d.ts +2 -0
  20. package/lib/components/index.js +6 -0
  21. package/lib/components/index.js.map +1 -0
  22. package/lib/index.js +48 -5
  23. package/lib/index.js.map +1 -1
  24. package/lib/renderer.d.ts +4 -0
  25. package/lib/renderer.js +10 -0
  26. package/lib/renderer.js.map +1 -0
  27. package/package.json +34 -15
  28. package/src/components/ShortcutInput.tsx +501 -0
  29. package/src/components/ShortcutItem.tsx +491 -0
  30. package/src/components/ShortcutList.tsx +61 -0
  31. package/src/components/ShortcutTitleItem.tsx +33 -0
  32. package/src/components/ShortcutUI.tsx +512 -0
  33. package/src/components/TopNav.tsx +193 -0
  34. package/src/components/index.ts +7 -0
  35. package/src/index.ts +297 -0
  36. package/src/renderer.tsx +13 -0
  37. package/style/base.css +393 -0
  38. package/style/index.css +10 -0
  39. package/style/index.js +10 -0
@@ -0,0 +1,363 @@
1
+ /*
2
+ * Copyright (c) Jupyter Development Team.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ import { ArrayExt, StringExt } from '@lumino/algorithm';
6
+ import { ShortcutList } from './ShortcutList';
7
+ import { TopNav } from './TopNav';
8
+ import * as React from 'react';
9
+ import { ErrorObject, ShortcutObject, TakenByObject } from './ShortcutInput';
10
+ /** Normalize the query text for a fuzzy search. */
11
+ function normalizeQuery(text) {
12
+ return text.replace(/\s+/g, '').toLowerCase();
13
+ }
14
+ /** Perform a fuzzy search on a single command item. */
15
+ function fuzzySearch(item, query) {
16
+ // Create the source text to be searched.
17
+ const category = item.category.toLowerCase();
18
+ const label = item['label'].toLowerCase();
19
+ const source = `${category} ${label}`;
20
+ // Set up the match score and indices array.
21
+ let score = Infinity;
22
+ let indices = null;
23
+ // The regex for search word boundaries
24
+ const rgx = /\b\w/g;
25
+ // Search the source by word boundary.
26
+ // eslint-disable-next-line
27
+ while (true) {
28
+ // Find the next word boundary in the source.
29
+ const rgxMatch = rgx.exec(source);
30
+ // Break if there is no more source context.
31
+ if (!rgxMatch) {
32
+ break;
33
+ }
34
+ // Run the string match on the relevant substring.
35
+ const match = StringExt.matchSumOfDeltas(source, query, rgxMatch.index);
36
+ // Break if there is no match.
37
+ if (!match) {
38
+ break;
39
+ }
40
+ // Update the match if the score is better.
41
+ if (match && match.score <= score) {
42
+ score = match.score;
43
+ indices = match.indices;
44
+ }
45
+ }
46
+ // Bail if there was no match.
47
+ if (!indices || score === Infinity) {
48
+ return null;
49
+ }
50
+ // Compute the pivot index between category and label text.
51
+ const pivot = category.length + 1;
52
+ // Find the slice index to separate matched indices.
53
+ const j = ArrayExt.lowerBound(indices, pivot, (a, b) => a - b);
54
+ // Extract the matched category and label indices.
55
+ const categoryIndices = indices.slice(0, j);
56
+ const labelIndices = indices.slice(j);
57
+ // Adjust the label indices for the pivot offset.
58
+ for (let i = 0, n = labelIndices.length; i < n; ++i) {
59
+ labelIndices[i] -= pivot;
60
+ }
61
+ // Handle a pure label match.
62
+ if (categoryIndices.length === 0) {
63
+ return {
64
+ matchType: 0 /* MatchType.Label */,
65
+ categoryIndices: null,
66
+ labelIndices,
67
+ score,
68
+ item
69
+ };
70
+ }
71
+ // Handle a pure category match.
72
+ if (labelIndices.length === 0) {
73
+ return {
74
+ matchType: 1 /* MatchType.Category */,
75
+ categoryIndices,
76
+ labelIndices: null,
77
+ score,
78
+ item
79
+ };
80
+ }
81
+ // Handle a split match.
82
+ return {
83
+ matchType: 2 /* MatchType.Split */,
84
+ categoryIndices,
85
+ labelIndices,
86
+ score,
87
+ item
88
+ };
89
+ }
90
+ /** Perform a fuzzy match on an array of command items. */
91
+ function matchItems(items, query) {
92
+ // Normalize the query text to lower case with no whitespace.
93
+ query = normalizeQuery(query);
94
+ // Create the array to hold the scores.
95
+ let scores = [];
96
+ // Iterate over the items and match against the query.
97
+ let itemList = Object.keys(items);
98
+ for (let i = 0, n = itemList.length; i < n; ++i) {
99
+ let item = items[itemList[i]];
100
+ // If the query is empty, all items are matched by default.
101
+ if (!query) {
102
+ scores.push({
103
+ matchType: 3 /* MatchType.Default */,
104
+ categoryIndices: null,
105
+ labelIndices: null,
106
+ score: 0,
107
+ item
108
+ });
109
+ continue;
110
+ }
111
+ // Run the fuzzy search for the item and query.
112
+ let score = fuzzySearch(item, query);
113
+ // Ignore the item if it is not a match.
114
+ if (!score) {
115
+ continue;
116
+ }
117
+ // Add the score to the results.
118
+ scores.push(score);
119
+ }
120
+ // Return the final array of scores.
121
+ return scores;
122
+ }
123
+ /** Transform SettingRegistry's shortcut list to list of ShortcutObjects */
124
+ function getShortcutObjects(external, settings) {
125
+ const shortcuts = settings.composite.shortcuts;
126
+ let shortcutObjects = {};
127
+ shortcuts.forEach((shortcut) => {
128
+ let key = shortcut.command + '_' + shortcut.selector;
129
+ if (Object.keys(shortcutObjects).indexOf(key) !== -1) {
130
+ let currentCount = shortcutObjects[key].numberOfShortcuts;
131
+ shortcutObjects[key].keys[currentCount] = shortcut.keys;
132
+ shortcutObjects[key].numberOfShortcuts++;
133
+ }
134
+ else {
135
+ let shortcutObject = new ShortcutObject();
136
+ shortcutObject.commandName = shortcut.command;
137
+ let label = external.getLabel(shortcut.command);
138
+ if (!label) {
139
+ label = shortcut.command.split(':')[1];
140
+ }
141
+ shortcutObject.label = label;
142
+ shortcutObject.category = shortcut.command.split(':')[0];
143
+ shortcutObject.keys[0] = shortcut.keys;
144
+ shortcutObject.selector = shortcut.selector;
145
+ // TODO needs translation
146
+ shortcutObject.source = 'Default';
147
+ shortcutObject.id = key;
148
+ shortcutObject.numberOfShortcuts = 1;
149
+ shortcutObjects[key] = shortcutObject;
150
+ }
151
+ });
152
+ // find all the shortcuts that have custom settings
153
+ const userShortcuts = settings.user.shortcuts;
154
+ userShortcuts.forEach((userSetting) => {
155
+ const command = userSetting.command;
156
+ const selector = userSetting.selector;
157
+ const keyTo = command + '_' + selector;
158
+ if (shortcutObjects[keyTo]) {
159
+ // TODO needs translation
160
+ shortcutObjects[keyTo].source = 'Custom';
161
+ }
162
+ });
163
+ return shortcutObjects;
164
+ }
165
+ /** Get list of all shortcut keybindings currently in use
166
+ * An object where keys are unique keyBinding_selector and values are shortcut objects **/
167
+ function getKeyBindingsUsed(shortcutObjects) {
168
+ let keyBindingsUsed = {};
169
+ Object.keys(shortcutObjects).forEach((shortcut) => {
170
+ Object.keys(shortcutObjects[shortcut].keys).forEach((key) => {
171
+ const takenBy = new TakenByObject(shortcutObjects[shortcut]);
172
+ takenBy.takenByKey = key;
173
+ keyBindingsUsed[shortcutObjects[shortcut].keys[key].join(' ') +
174
+ '_' +
175
+ shortcutObjects[shortcut].selector] = takenBy;
176
+ });
177
+ });
178
+ return keyBindingsUsed;
179
+ }
180
+ /** Top level React component for widget */
181
+ export class ShortcutUI extends React.Component {
182
+ constructor(props) {
183
+ super(props);
184
+ /** Set the current seach query */
185
+ this.updateSearchQuery = (event) => {
186
+ this.setState({
187
+ searchQuery: event.target['value']
188
+ }, () => this.setState({
189
+ filteredShortcutList: this.searchFilterShortcuts(this.state.shortcutList)
190
+ }, () => {
191
+ this.sortShortcuts();
192
+ }));
193
+ };
194
+ /** Reset all shortcuts to their defaults */
195
+ this.resetShortcuts = async () => {
196
+ const settings = await this.props.external.getAllShortCutSettings();
197
+ for (const key of Object.keys(settings.user)) {
198
+ await this.props.external.removeShortCut(key);
199
+ }
200
+ await this._refreshShortcutList();
201
+ };
202
+ /** Set new shortcut for command, refresh state */
203
+ this.handleUpdate = async (shortcutObject, keys) => {
204
+ const settings = await this.props.external.getAllShortCutSettings();
205
+ const userShortcuts = settings.user.shortcuts;
206
+ const newUserShortcuts = [];
207
+ let found = false;
208
+ for (let shortcut of userShortcuts) {
209
+ if (shortcut['command'] === shortcutObject.commandName &&
210
+ shortcut['selector'] === shortcutObject.selector) {
211
+ newUserShortcuts.push({
212
+ command: shortcut['command'],
213
+ selector: shortcut['selector'],
214
+ keys: keys
215
+ });
216
+ found = true;
217
+ }
218
+ else {
219
+ newUserShortcuts.push(shortcut);
220
+ }
221
+ }
222
+ if (!found) {
223
+ newUserShortcuts.push({
224
+ command: shortcutObject.commandName,
225
+ selector: shortcutObject.selector,
226
+ keys: keys
227
+ });
228
+ }
229
+ await settings.set('shortcuts', newUserShortcuts);
230
+ await this._refreshShortcutList();
231
+ };
232
+ /** Delete shortcut for command, refresh state */
233
+ this.deleteShortcut = async (shortcutObject, shortcutId) => {
234
+ await this.handleUpdate(shortcutObject, ['']);
235
+ await this._refreshShortcutList();
236
+ };
237
+ /** Reset a specific shortcut to its default settings */
238
+ this.resetShortcut = async (shortcutObject) => {
239
+ const settings = await this.props.external.getAllShortCutSettings();
240
+ const userShortcuts = settings.user.shortcuts;
241
+ const newUserShortcuts = [];
242
+ for (let shortcut of userShortcuts) {
243
+ if (shortcut['command'] !== shortcutObject.commandName ||
244
+ shortcut['selector'] !== shortcutObject.selector) {
245
+ newUserShortcuts.push(shortcut);
246
+ }
247
+ }
248
+ await settings.set('shortcuts', newUserShortcuts);
249
+ await this._refreshShortcutList();
250
+ };
251
+ /** Toggles showing command selectors */
252
+ this.toggleSelectors = () => {
253
+ this.setState({ showSelectors: !this.state.showSelectors });
254
+ };
255
+ /** Set the current list sort order */
256
+ this.updateSort = (value) => {
257
+ if (value !== this.state.currentSort) {
258
+ this.setState({ currentSort: value }, this.sortShortcuts);
259
+ }
260
+ };
261
+ /** Sort shortcut list so that an error row is right below the one currently being set */
262
+ this.sortConflict = (newShortcut, takenBy) => {
263
+ const shortcutList = this.state.filteredShortcutList;
264
+ if (shortcutList.filter(shortcut => shortcut.id === 'error_row').length === 0) {
265
+ const errorRow = new ErrorObject();
266
+ errorRow.takenBy = takenBy;
267
+ errorRow.id = 'error_row';
268
+ shortcutList.splice(shortcutList.indexOf(newShortcut) + 1, 0, errorRow);
269
+ errorRow.hasConflict = true;
270
+ this.setState({ filteredShortcutList: shortcutList });
271
+ }
272
+ };
273
+ /** Remove conflict flag from all shortcuts */
274
+ this.clearConflicts = () => {
275
+ /** Remove error row */
276
+ const shortcutList = this.state.filteredShortcutList.filter(shortcut => shortcut.id !== 'error_row');
277
+ shortcutList.forEach((shortcut) => {
278
+ shortcut.hasConflict = false;
279
+ });
280
+ this.setState({ filteredShortcutList: shortcutList });
281
+ };
282
+ this.contextMenu = (event, commandIDs) => {
283
+ event.persist();
284
+ this.setState({
285
+ contextMenu: this.props.external.createMenu()
286
+ }, () => {
287
+ event.preventDefault();
288
+ for (let command of commandIDs) {
289
+ this.state.contextMenu.addItem({ command });
290
+ }
291
+ this.state.contextMenu.open(event.clientX, event.clientY);
292
+ });
293
+ };
294
+ this.state = {
295
+ shortcutList: {},
296
+ filteredShortcutList: new Array(),
297
+ shortcutsFetched: false,
298
+ searchQuery: '',
299
+ showSelectors: false,
300
+ currentSort: 'category',
301
+ keyBindingsUsed: {},
302
+ contextMenu: this.props.external.createMenu()
303
+ };
304
+ }
305
+ /** Fetch shortcut list on mount */
306
+ componentDidMount() {
307
+ void this._refreshShortcutList();
308
+ }
309
+ /** Fetch shortcut list from SettingRegistry */
310
+ async _refreshShortcutList() {
311
+ const shortcuts = await this.props.external.getAllShortCutSettings();
312
+ const shortcutObjects = getShortcutObjects(this.props.external, shortcuts);
313
+ this.setState({
314
+ shortcutList: shortcutObjects,
315
+ filteredShortcutList: this.searchFilterShortcuts(shortcutObjects),
316
+ shortcutsFetched: true
317
+ }, () => {
318
+ let keyBindingsUsed = getKeyBindingsUsed(shortcutObjects);
319
+ this.setState({ keyBindingsUsed });
320
+ this.sortShortcuts();
321
+ });
322
+ }
323
+ /** Filter shortcut list using current search query */
324
+ searchFilterShortcuts(shortcutObjects) {
325
+ const filteredShortcuts = matchItems(shortcutObjects, this.state.searchQuery).map((item) => {
326
+ return item.item;
327
+ });
328
+ return filteredShortcuts;
329
+ }
330
+ /** Sort shortcut list using current sort property */
331
+ sortShortcuts() {
332
+ const shortcuts = this.state.filteredShortcutList;
333
+ let filterCritera = this.state.currentSort;
334
+ if (filterCritera === 'command') {
335
+ filterCritera = 'label';
336
+ }
337
+ if (filterCritera !== '') {
338
+ shortcuts.sort((a, b) => {
339
+ const compareA = a.get(filterCritera);
340
+ const compareB = b.get(filterCritera);
341
+ if (compareA < compareB) {
342
+ return -1;
343
+ }
344
+ else if (compareA > compareB) {
345
+ return 1;
346
+ }
347
+ else {
348
+ return a['label'] < b['label'] ? -1 : a['label'] > b['label'] ? 1 : 0;
349
+ }
350
+ });
351
+ }
352
+ this.setState({ filteredShortcutList: shortcuts });
353
+ }
354
+ render() {
355
+ if (!this.state.shortcutsFetched) {
356
+ return null;
357
+ }
358
+ return (React.createElement("div", { className: "jp-Shortcuts-ShortcutUI", id: "jp-shortcutui" },
359
+ React.createElement(TopNav, { updateSearchQuery: this.updateSearchQuery, resetShortcuts: this.resetShortcuts, toggleSelectors: this.toggleSelectors, showSelectors: this.state.showSelectors, updateSort: this.updateSort, currentSort: this.state.currentSort, width: this.props.width, external: this.props.external }),
360
+ React.createElement(ShortcutList, { shortcuts: this.state.filteredShortcutList, resetShortcut: this.resetShortcut, handleUpdate: this.handleUpdate, deleteShortcut: this.deleteShortcut, showSelectors: this.state.showSelectors, keyBindingsUsed: this.state.keyBindingsUsed, sortConflict: this.sortConflict, clearConflicts: this.clearConflicts, height: this.props.height, contextMenu: this.contextMenu, external: this.props.external })));
361
+ }
362
+ }
363
+ //# sourceMappingURL=ShortcutUI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShortcutUI.js","sourceRoot":"","sources":["../../src/components/ShortcutUI.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { ISettingRegistry } from '@jupyterlab/settingregistry';
2
+ import { ITranslator } from '@jupyterlab/translation';
3
+ import { CommandRegistry } from '@lumino/commands';
4
+ import { IDisposable } from '@lumino/disposable';
5
+ import { Menu } from '@lumino/widgets';
6
+ import * as React from 'react';
7
+ export interface IAdvancedOptionsProps {
8
+ toggleSelectors: Function;
9
+ showSelectors: boolean;
10
+ resetShortcuts: Function;
11
+ menu: Menu;
12
+ translator: ITranslator;
13
+ }
14
+ export interface ISymbolsProps {
15
+ }
16
+ /** All external actions, setting commands, getting command list ... */
17
+ export interface IShortcutUIexternal {
18
+ translator: ITranslator;
19
+ getAllShortCutSettings: () => Promise<ISettingRegistry.ISettings>;
20
+ removeShortCut: (key: string) => Promise<void>;
21
+ createMenu: () => Menu;
22
+ hasCommand: (id: string) => boolean;
23
+ addCommand: (id: string, options: CommandRegistry.ICommandOptions) => IDisposable;
24
+ getLabel: (id: string) => string;
25
+ }
26
+ export declare namespace CommandIDs {
27
+ const showSelectors = "shortcutui:showSelectors";
28
+ const resetAll = "shortcutui:resetAll";
29
+ }
30
+ /** State for TopNav component */
31
+ export interface ITopNavProps {
32
+ resetShortcuts: Function;
33
+ updateSearchQuery: Function;
34
+ toggleSelectors: Function;
35
+ showSelectors: boolean;
36
+ updateSort: Function;
37
+ currentSort: string;
38
+ width: number;
39
+ external: IShortcutUIexternal;
40
+ }
41
+ /** React component for top navigation */
42
+ export declare class TopNav extends React.Component<ITopNavProps> {
43
+ menu: Menu;
44
+ constructor(props: ITopNavProps);
45
+ addMenuCommands(): void;
46
+ getShortCutTitleItem(title: string): JSX.Element;
47
+ render(): JSX.Element;
48
+ }
@@ -0,0 +1,92 @@
1
+ /*
2
+ * Copyright (c) Jupyter Development Team.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ import { InputGroup } from '@jupyterlab/ui-components';
6
+ import * as React from 'react';
7
+ import { ShortcutTitleItem } from './ShortcutTitleItem';
8
+ export var CommandIDs;
9
+ (function (CommandIDs) {
10
+ CommandIDs.showSelectors = 'shortcutui:showSelectors';
11
+ CommandIDs.resetAll = 'shortcutui:resetAll';
12
+ })(CommandIDs || (CommandIDs = {}));
13
+ function Symbols(props) {
14
+ return (React.createElement("div", { className: "jp-Shortcuts-Symbols" },
15
+ React.createElement("table", null,
16
+ React.createElement("tbody", null,
17
+ React.createElement("tr", null,
18
+ React.createElement("td", null,
19
+ React.createElement("kbd", null, "Cmd")),
20
+ React.createElement("td", null, "\u2318"),
21
+ React.createElement("td", null,
22
+ React.createElement("kbd", null, "Ctrl")),
23
+ React.createElement("td", null, "\u2303")),
24
+ React.createElement("tr", null,
25
+ React.createElement("td", null,
26
+ React.createElement("kbd", null, "Alt")),
27
+ React.createElement("td", null, "\u2325"),
28
+ React.createElement("td", null,
29
+ React.createElement("kbd", null, "Shift")),
30
+ React.createElement("td", null, "\u21E7"))))));
31
+ }
32
+ function AdvancedOptions(props) {
33
+ const trans = props.translator.load('jupyterlab');
34
+ return (React.createElement("div", { className: "jp-Shortcuts-AdvancedOptions" },
35
+ React.createElement("a", { className: "jp-Shortcuts-AdvancedOptionsLink", onClick: () => props.toggleSelectors() }, props.showSelectors
36
+ ? trans.__('Hide Selectors')
37
+ : trans.__('Show Selectors')),
38
+ React.createElement("a", { className: "jp-Shortcuts-AdvancedOptionsLink", onClick: () => props.resetShortcuts() }, trans.__('Reset All'))));
39
+ }
40
+ /** React component for top navigation */
41
+ export class TopNav extends React.Component {
42
+ constructor(props) {
43
+ super(props);
44
+ this.addMenuCommands();
45
+ this.menu = this.props.external.createMenu();
46
+ this.menu.addItem({ command: CommandIDs.showSelectors });
47
+ this.menu.addItem({ command: CommandIDs.resetAll });
48
+ }
49
+ addMenuCommands() {
50
+ const trans = this.props.external.translator.load('jupyterlab');
51
+ if (!this.props.external.hasCommand(CommandIDs.showSelectors)) {
52
+ this.props.external.addCommand(CommandIDs.showSelectors, {
53
+ label: trans.__('Toggle Selectors'),
54
+ caption: trans.__('Toggle command selectors'),
55
+ execute: () => {
56
+ this.props.toggleSelectors();
57
+ }
58
+ });
59
+ }
60
+ if (!this.props.external.hasCommand(CommandIDs.resetAll)) {
61
+ this.props.external.addCommand(CommandIDs.resetAll, {
62
+ label: trans.__('Reset All'),
63
+ caption: trans.__('Reset all shortcuts'),
64
+ execute: () => {
65
+ this.props.resetShortcuts();
66
+ }
67
+ });
68
+ }
69
+ }
70
+ getShortCutTitleItem(title) {
71
+ return (React.createElement("div", { className: "jp-Shortcuts-Cell" },
72
+ React.createElement(ShortcutTitleItem, { title: title, updateSort: this.props.updateSort, active: this.props.currentSort })));
73
+ }
74
+ render() {
75
+ const trans = this.props.external.translator.load('jupyterlab');
76
+ return (React.createElement("div", { className: "jp-Shortcuts-Top" },
77
+ React.createElement("div", { className: "jp-Shortcuts-TopNav" },
78
+ React.createElement(Symbols, null),
79
+ React.createElement(InputGroup, { className: "jp-Shortcuts-Search", type: "text", onChange: event => this.props.updateSearchQuery(event), placeholder: trans.__('Search…'), rightIcon: "ui-components:search" }),
80
+ React.createElement(AdvancedOptions, { toggleSelectors: this.props.toggleSelectors, showSelectors: this.props.showSelectors, resetShortcuts: this.props.resetShortcuts, menu: this.menu, translator: this.props.external.translator })),
81
+ React.createElement("div", { className: "jp-Shortcuts-HeaderRowContainer" },
82
+ React.createElement("div", { className: "jp-Shortcuts-HeaderRow" },
83
+ this.getShortCutTitleItem(trans.__('Category')),
84
+ this.getShortCutTitleItem(trans.__('Command')),
85
+ React.createElement("div", { className: "jp-Shortcuts-Cell" },
86
+ React.createElement("div", { className: "title-div" }, trans.__('Shortcut'))),
87
+ this.getShortCutTitleItem(trans.__('Source')),
88
+ this.props.showSelectors &&
89
+ this.getShortCutTitleItem(trans.__('Selectors'))))));
90
+ }
91
+ }
92
+ //# sourceMappingURL=TopNav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopNav.js","sourceRoot":"","sources":["../../src/components/TopNav.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './ShortcutUI';
2
+ export { IShortcutUIexternal } from './TopNav';
@@ -0,0 +1,6 @@
1
+ /*
2
+ * Copyright (c) Jupyter Development Team.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ export * from './ShortcutUI';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,cAAc,CAAC"}
package/lib/index.js CHANGED
@@ -5,9 +5,27 @@
5
5
  * @module shortcuts-extension
6
6
  */
7
7
  import { ISettingRegistry, SettingRegistry } from '@jupyterlab/settingregistry';
8
- import { ITranslator } from '@jupyterlab/translation';
8
+ import { ITranslator, nullTranslator } from '@jupyterlab/translation';
9
+ import { IFormRendererRegistry } from '@jupyterlab/ui-components';
10
+ import { CommandRegistry } from '@lumino/commands';
9
11
  import { JSONExt } from '@lumino/coreutils';
10
12
  import { DisposableSet } from '@lumino/disposable';
13
+ import { Platform } from '@lumino/domutils';
14
+ import { Menu } from '@lumino/widgets';
15
+ import { renderShortCut } from './renderer';
16
+ function getExternalForJupyterLab(settingRegistry, app, translator) {
17
+ const { commands } = app;
18
+ const shortcutPluginLocation = '@jupyterlab/shortcuts-extension:shortcuts';
19
+ return {
20
+ translator,
21
+ getAllShortCutSettings: () => settingRegistry.reload(shortcutPluginLocation),
22
+ removeShortCut: (key) => settingRegistry.remove(shortcutPluginLocation, key),
23
+ createMenu: () => new Menu({ commands }),
24
+ hasCommand: (id) => commands.hasCommand(id),
25
+ addCommand: (id, options) => commands.addCommand(id, options),
26
+ getLabel: (id) => commands.label(id)
27
+ };
28
+ }
11
29
  /**
12
30
  * The default shortcuts extension.
13
31
  *
@@ -39,12 +57,25 @@ import { DisposableSet } from '@lumino/disposable';
39
57
  */
40
58
  const shortcuts = {
41
59
  id: '@jupyterlab/shortcuts-extension:shortcuts',
42
- requires: [ISettingRegistry, ITranslator],
43
- activate: async (app, registry, translator) => {
44
- const trans = translator.load('jupyterlab');
60
+ requires: [ISettingRegistry],
61
+ optional: [ITranslator, IFormRendererRegistry],
62
+ activate: async (app, registry, translator, editorRegistry) => {
63
+ const translator_ = translator !== null && translator !== void 0 ? translator : nullTranslator;
64
+ const trans = translator_.load('jupyterlab');
45
65
  const { commands } = app;
46
66
  let canonical;
47
67
  let loaded = {};
68
+ if (editorRegistry) {
69
+ const component = {
70
+ fieldRenderer: (props) => {
71
+ return renderShortCut({
72
+ external: getExternalForJupyterLab(registry, app, translator_),
73
+ ...props
74
+ });
75
+ }
76
+ };
77
+ editorRegistry.addRenderer(`${shortcuts.id}.shortcuts`, component);
78
+ }
48
79
  /**
49
80
  * Populate the plugin's schema defaults.
50
81
  */
@@ -58,7 +89,19 @@ const shortcuts = {
58
89
  return shortcuts;
59
90
  })
60
91
  .concat([schema.properties.shortcuts.default])
61
- .reduce((acc, val) => acc.concat(val), []) // flatten one level
92
+ .reduce((acc, val) => {
93
+ if (Platform.IS_MAC) {
94
+ return acc.concat(val);
95
+ }
96
+ else {
97
+ // If platform is not MacOS, remove all shortcuts containing Cmd
98
+ // as they will be modified; e.g. `Cmd A` becomes `A`
99
+ return acc.concat(val.filter(shortcut => !shortcut.keys.some(key => {
100
+ const { cmd } = CommandRegistry.parseKeystroke(key);
101
+ return cmd;
102
+ })));
103
+ }
104
+ }, []) // flatten one level
62
105
  .sort((a, b) => a.command.localeCompare(b.command));
63
106
  schema.properties.shortcuts.description = trans.__(`Note: To disable a system default shortcut,
64
107
  copy it to User Preferences and add the
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}