@netless/app-slide 0.0.51 → 0.0.55

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netless/app-slide",
3
- "version": "0.0.51",
3
+ "version": "0.0.55",
4
4
  "main": "dist/main.cjs.js",
5
5
  "module": "dist/main.es.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,7 +11,7 @@
11
11
  ],
12
12
  "devDependencies": {
13
13
  "@netless/app-shared": "^0.1.1",
14
- "@netless/slide": "^0.1.55",
14
+ "@netless/slide": "^0.2.2",
15
15
  "@types/color-string": "^1.5.2",
16
16
  "color-string": "^1.9.0",
17
17
  "side-effect-manager": "^0.1.5",
@@ -251,6 +251,7 @@ export class SlideController {
251
251
  mode: "interactive",
252
252
  resize: true,
253
253
  controller: logger.enable,
254
+ enableGlobalClick: true,
254
255
  renderOptions: {
255
256
  minFPS: 25,
256
257
  maxFPS: 30,
@@ -71,26 +71,45 @@ export class SlidePreviewer {
71
71
 
72
72
  public render() {
73
73
  this.viewer.$content.appendChild(this.renderSlideContainer());
74
- this.sideEffect.addEventListener(window, "keydown", ev => {
75
- if (this.slide) {
76
- switch (ev.key) {
77
- case "ArrowUp":
78
- case "ArrowLeft": {
79
- this.slide.prevStep();
80
- break;
81
- }
82
- case "ArrowRight":
83
- case "ArrowDown": {
84
- this.slide.nextStep();
85
- break;
86
- }
87
- default: {
88
- break;
89
- }
74
+ this.registerHotKeys(window);
75
+ }
76
+
77
+ /**
78
+ * In case you have a different window -- for example, in electron.
79
+ * Use this method to re-register hotkeys.
80
+ *
81
+ * @example
82
+ * previewer.registerHotKeys(windowLike)
83
+ */
84
+ public registerHotKeys(windowLike: Window) {
85
+ this.sideEffect.addEventListener(
86
+ windowLike,
87
+ "keydown",
88
+ this.hotkeyListener,
89
+ undefined,
90
+ "hotkey"
91
+ );
92
+ }
93
+
94
+ private hotkeyListener = (ev: KeyboardEvent) => {
95
+ if (this.slide) {
96
+ switch (ev.key) {
97
+ case "ArrowUp":
98
+ case "ArrowLeft": {
99
+ this.slide.prevStep();
100
+ break;
101
+ }
102
+ case "ArrowRight":
103
+ case "ArrowDown": {
104
+ this.slide.nextStep();
105
+ break;
106
+ }
107
+ default: {
108
+ break;
90
109
  }
91
110
  }
92
- });
93
- }
111
+ }
112
+ };
94
113
 
95
114
  public mount(taskId: string, url: string) {
96
115
  this.target.appendChild(this.renderStyle());
@@ -103,6 +122,7 @@ export class SlidePreviewer {
103
122
  mode: "local",
104
123
  resize: true,
105
124
  controller: this.debug,
125
+ enableGlobalClick: true,
106
126
  renderOptions: {
107
127
  minFPS: 25,
108
128
  maxFPS: 30,
package/src/index.ts CHANGED
@@ -23,7 +23,7 @@ export { SlidePreviewer, default as previewSlide } from "./SlidePreviewer";
23
23
 
24
24
  export type { Attributes, AddHooks, FreezableSlide };
25
25
 
26
- export const version = "0.0.51";
26
+ export const version = __APP_VERSION__;
27
27
 
28
28
  export { DefaultUrl, apps, FreezerLength, addHooks };
29
29