UNPKG

1.62 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.constructKeytip = exports.buildKeytipConfigMap = void 0;
4var tslib_1 = require("tslib");
5/**
6 * Builds a map of ID to IKeytipProps
7 *
8 * @param config - IKeytipConfig object
9 * @returns Config map
10 */
11function buildKeytipConfigMap(config) {
12 var configMap = {};
13 for (var _i = 0, _a = config.keytips; _i < _a.length; _i++) {
14 var keytip = _a[_i];
15 constructKeytip(configMap, [], keytip);
16 }
17 return configMap;
18}
19exports.buildKeytipConfigMap = buildKeytipConfigMap;
20/**
21 * Constructs a keytip from an IKeytipConfigItem and puts it in the configMap
22 *
23 * @param configMap - IKeytipConfigMap to store the keytip in
24 * @param parentSequence - string of the parent keytip
25 * @param keytip - IKeytipConfigItem data
26 */
27function constructKeytip(configMap, parentSequence, keytip) {
28 // Compute full key sequence
29 var sequence = keytip.sequence ? keytip.sequence : keytip.content.toLocaleLowerCase();
30 var keytipSequence = parentSequence.concat(sequence);
31 // Save props in configMap
32 var keytipProps = tslib_1.__assign(tslib_1.__assign({}, keytip.optionalProps), { keySequences: keytipSequence, content: keytip.content });
33 configMap[keytip.id] = keytipProps;
34 if (keytip.children) {
35 for (var _i = 0, _a = keytip.children; _i < _a.length; _i++) {
36 var child = _a[_i];
37 // Create keytips for all children
38 constructKeytip(configMap, keytipSequence, child);
39 }
40 }
41}
42exports.constructKeytip = constructKeytip;
43//# sourceMappingURL=KeytipConfig.js.map
\No newline at end of file