|
41 | 41 | function closeDialog() { |
42 | 42 | doDialog = null; |
43 | 43 | } |
| 44 | +
|
| 45 | + function keyPress(e: KeyboardEvent) { |
| 46 | + switch (e.key) { |
| 47 | + case 'f': |
| 48 | + if (chart) { |
| 49 | + chart.fitData(true); |
| 50 | + } |
| 51 | + break; |
| 52 | + case 'p': |
| 53 | + $navMode = NavMode.pan; |
| 54 | + break; |
| 55 | + case 'z': |
| 56 | + $navMode = NavMode.zoom; |
| 57 | + break; |
| 58 | + case 'c': |
| 59 | + $navMode = NavMode.crop; |
| 60 | + break; |
| 61 | + case 'r': |
| 62 | + randomizeColors(); |
| 63 | + break; |
| 64 | + case 's': |
| 65 | + $isShowingPoints = !$isShowingPoints; |
| 66 | + break; |
| 67 | + } |
| 68 | + } |
44 | 69 | </script> |
45 | 70 |
|
46 | 71 | <div class="menu" {style} data-tour="top"> |
|
49 | 74 | type="button" |
50 | 75 | class="uk-button uk-button-default uk-button-small" |
51 | 76 | on:click|preventDefault={randomizeColors} |
52 | | - title="Randomize Colors" |
| 77 | + title="Randomize Colors<br/>(Keyboard Shortcut: r)" |
53 | 78 | data-tour="random" |
54 | 79 | uk-tooltip><Fa icon={faPaintBrush} /></button |
55 | 80 | > |
|
58 | 83 | class="uk-button uk-button-default uk-button-small" |
59 | 84 | disabled={!chart} |
60 | 85 | on:click|preventDefault={() => (chart ? chart.fitData(true) : null)} |
61 | | - title="Fit data to screen" |
| 86 | + title="Fit Data to Screen<br/>(Keyboard Shortcut: f)" |
62 | 87 | data-tour="fit" |
63 | 88 | uk-tooltip><Fa icon={faExpand} /></button |
64 | 89 | > |
|
67 | 92 | class="uk-button uk-button-default uk-button-small" |
68 | 93 | class:uk-active={$isShowingPoints} |
69 | 94 | on:click|preventDefault={() => ($isShowingPoints = !$isShowingPoints)} |
70 | | - title="Show or Hide points" |
| 95 | + title="Show or Hide points<br/>(Keyboard Shortcut: s)" |
71 | 96 | data-tour="points" |
72 | 97 | uk-tooltip><Fa icon={faEllipsisH} /></button |
73 | 98 | > |
|
119 | 144 | type="button" |
120 | 145 | class="uk-button uk-button-default uk-button-small" |
121 | 146 | class:uk-active={$navMode === NavMode.pan} |
122 | | - title="Pan Mode" |
| 147 | + title="Pan Mode<br/>(Keyboard Shortcut: p)" |
123 | 148 | uk-tooltip |
124 | 149 | on:click|preventDefault={() => ($navMode = NavMode.pan)}><Fa icon={faArrowsAlt} /></button |
125 | 150 | > |
126 | 151 | <button |
127 | 152 | type="button" |
128 | 153 | class="uk-button uk-button-default uk-button-small" |
129 | 154 | class:uk-active={$navMode === NavMode.crop} |
130 | | - title="Crop Mode" |
| 155 | + title="Crop Mode<br/>(Keyboard Shortcut: c)" |
131 | 156 | uk-tooltip |
132 | 157 | on:click|preventDefault={() => ($navMode = NavMode.crop)}><Fa icon={faCrop} /></button |
133 | 158 | > |
134 | 159 | <button |
135 | 160 | type="button" |
136 | 161 | class="uk-button uk-button-default uk-button-small" |
137 | 162 | class:uk-active={$navMode === NavMode.zoom} |
138 | | - title="Zoom Mode" |
| 163 | + title="Zoom Mode<br/>(Keyboard Shortcut: z)" |
139 | 164 | uk-tooltip |
140 | 165 | on:click|preventDefault={() => ($navMode = NavMode.zoom)}><Fa icon={faSearchPlus} /></button |
141 | 166 | > |
|
148 | 173 | <DirectLinkDialog {chart} on:close={closeDialog} /> |
149 | 174 | {/if} |
150 | 175 |
|
| 176 | +<svelte:window on:keypress={keyPress} /> |
| 177 | + |
151 | 178 | <style> |
152 | 179 | .menu { |
153 | 180 | display: flex; |
|
0 commit comments