SHOW:
|
|
- or go back to the newest paste.
1 | // 修改 Viewer.js | |
2 | buildContextMenu() { | |
3 | ||
4 | // ... other code snippets | |
5 | - | |
5 | + | |
6 | - | const callBack = (key) => { |
6 | + | this.container.addEventListener('contextmenu', () => { |
7 | - | let objects, dbId; |
7 | + | const hideSelectedMenuItem1 = document.querySelector('#contextMenu li[data-key="hide-selected"]'); |
8 | const hideSelectedMenuItem2 = document.querySelector('#contextMenu li[data-key="isolate-selected"]'); | |
9 | - | switch (key) { |
9 | + | |
10 | - | case 'hide-selected': |
10 | + | if (this.selection.length > 0) { |
11 | - | if (this.selection.length <= 0) return; |
11 | + | hideSelectedMenuItem1.style.display = 'block'; |
12 | hideSelectedMenuItem2.style.display = 'block'; | |
13 | - | dbId = this.selection[0]; |
13 | + | } else { |
14 | - | this.clearSelection(); |
14 | + | hideSelectedMenuItem1.style.display = 'none'; |
15 | hideSelectedMenuItem2.style.display = 'none'; | |
16 | - | objects = this.models.map(m => m.getObjectById(dbId)); |
16 | + | |
17 | - | if (!objects || objects.length <= 0) return; |
17 | + | }); |
18 | ||
19 | - | objects.forEach(obj => obj.visible = false); |
19 | + | document.addEventListener('keydown', (event) => { |
20 | if ((event.key == 'Escape' || event.key == 'Esc' || event.keyCode == 27)) { | |
21 | - | break; |
21 | + | event.preventDefault(); |
22 | - | case 'isolate-selected': |
22 | + | |
23 | - | if (this.selection.length <= 0) return; |
23 | + | this.clearSelection(); |
24 | ||
25 | - | dbId = this.selection[0]; |
25 | + | return false; |
26 | - | this.clearSelection(); |
26 | + | |
27 | }); | |
28 | - | this.models.forEach(m => { |
28 | + | } |