@lvce-editor/virtual-dom 1.10.0 → 1.11.0
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/dist/index.js +40 -7
- package/package.json +1 -1
- package/src/parts/ApplyPatch/ApplyPatch.ts +1 -1
- package/src/parts/CreateEventListenerFunction/CreateEventListenerFunction.ts +21 -0
- package/src/parts/GetEventListenerArg/GetEventListenerArg.ts +24 -0
- package/src/parts/GetEventListenerArgs/GetEventListenerArgs.ts +12 -0
- package/src/parts/PatchFunctions/PatchFunctions.ts +1 -1
- package/src/parts/RegisterEventListeners/RegisterEventListeners.ts +2 -25
- package/src/parts/RememberFocus/RememberFocus.ts +1 -1
- package/src/parts/VirtualDomElementProp/VirtualDomElementProp.ts +0 -1
package/dist/index.js
CHANGED
|
@@ -386,7 +386,6 @@ var setProp = ($Element, key, value, eventMap, newEventMap) => {
|
|
|
386
386
|
case "onDblClick":
|
|
387
387
|
case "onFocus":
|
|
388
388
|
case "onFocusIn":
|
|
389
|
-
case "onFocusIn":
|
|
390
389
|
case "onFocusOut":
|
|
391
390
|
case "onInput":
|
|
392
391
|
case "onKeyDown":
|
|
@@ -532,18 +531,49 @@ var applyPatch = ($Element, patches) => {
|
|
|
532
531
|
}
|
|
533
532
|
};
|
|
534
533
|
|
|
535
|
-
// src/parts/
|
|
536
|
-
var
|
|
537
|
-
|
|
538
|
-
|
|
534
|
+
// src/parts/GetEventListenerArg/GetEventListenerArg.ts
|
|
535
|
+
var getEventListenerArg = (param, event) => {
|
|
536
|
+
switch (param) {
|
|
537
|
+
case "event.clientX":
|
|
538
|
+
return event.clientX;
|
|
539
|
+
case "event.clientY":
|
|
540
|
+
return event.clientY;
|
|
541
|
+
case "event.button":
|
|
542
|
+
return event.button;
|
|
543
|
+
case "event.target.value":
|
|
544
|
+
return event.target.value;
|
|
545
|
+
case "event.data":
|
|
546
|
+
return event.data;
|
|
547
|
+
case "event.deltaMode":
|
|
548
|
+
return event.deltaMode;
|
|
549
|
+
case "event.deltaX":
|
|
550
|
+
return event.deltaX;
|
|
551
|
+
case "event.deltaY":
|
|
552
|
+
return event.deltaY;
|
|
553
|
+
case "event.detail":
|
|
554
|
+
return event.detail;
|
|
555
|
+
default:
|
|
556
|
+
return param;
|
|
557
|
+
}
|
|
558
|
+
};
|
|
559
|
+
|
|
560
|
+
// src/parts/GetEventListenerArgs/GetEventListenerArgs.ts
|
|
561
|
+
var getEventListenerArgs = (params, event) => {
|
|
562
|
+
const serialized = [];
|
|
563
|
+
for (const param of params) {
|
|
564
|
+
serialized.push(getEventListenerArg(param, event));
|
|
565
|
+
}
|
|
566
|
+
return serialized;
|
|
539
567
|
};
|
|
568
|
+
|
|
569
|
+
// src/parts/CreateEventListenerFunction/CreateEventListenerFunction.ts
|
|
540
570
|
var createFn = (info) => {
|
|
541
571
|
const fn = (event) => {
|
|
542
572
|
if (info.preventDefault) {
|
|
543
573
|
event.preventDefault(event);
|
|
544
574
|
}
|
|
545
575
|
const uid = getComponentUidFromEvent(event);
|
|
546
|
-
const args =
|
|
576
|
+
const args = getEventListenerArgs(info.params, event);
|
|
547
577
|
if (args.length === 0) {
|
|
548
578
|
return;
|
|
549
579
|
}
|
|
@@ -553,6 +583,9 @@ var createFn = (info) => {
|
|
|
553
583
|
nameAnonymousFunction(fn, info.name);
|
|
554
584
|
return fn;
|
|
555
585
|
};
|
|
586
|
+
|
|
587
|
+
// src/parts/RegisterEventListeners/RegisterEventListeners.ts
|
|
588
|
+
var listeners = /* @__PURE__ */ Object.create(null);
|
|
556
589
|
var registerEventListeners = (id, eventListeners) => {
|
|
557
590
|
const map = /* @__PURE__ */ Object.create(null);
|
|
558
591
|
for (const info of eventListeners) {
|
|
@@ -591,7 +624,7 @@ var rememberFocus = ($Viewlet, dom, eventMap, uid = 0) => {
|
|
|
591
624
|
const oldTop = $Viewlet.style.top;
|
|
592
625
|
const oldWidth = $Viewlet.style.width;
|
|
593
626
|
const oldHeight = $Viewlet.style.height;
|
|
594
|
-
const activeElement = document
|
|
627
|
+
const { activeElement } = document;
|
|
595
628
|
const isTreeFocused = activeElement?.getAttribute("role") === "tree";
|
|
596
629
|
const isRootTree = $Viewlet.getAttribute("role") === "tree" && activeElement === $Viewlet;
|
|
597
630
|
const focused = activeElement?.getAttribute("name");
|
package/package.json
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as ComponentUid from '../ComponentUid/ComponentUid.ts'
|
|
2
|
+
import * as GetEventListenerArgs from '../GetEventListenerArgs/GetEventListenerArgs.ts'
|
|
3
|
+
import * as IpcState from '../IpcState/IpcState.ts'
|
|
4
|
+
import * as NameAnonymousFunction from '../NameAnonymousFunction/NameAnonymousFunction.ts'
|
|
5
|
+
|
|
6
|
+
export const createFn = (info) => {
|
|
7
|
+
const fn = (event) => {
|
|
8
|
+
if (info.preventDefault) {
|
|
9
|
+
event.preventDefault(event)
|
|
10
|
+
}
|
|
11
|
+
const uid = ComponentUid.getComponentUidFromEvent(event)
|
|
12
|
+
const args = GetEventListenerArgs.getEventListenerArgs(info.params, event)
|
|
13
|
+
if (args.length === 0) {
|
|
14
|
+
return
|
|
15
|
+
}
|
|
16
|
+
const ipc = IpcState.getIpc()
|
|
17
|
+
ipc.send('Viewlet.executeViewletCommand', uid, ...args)
|
|
18
|
+
}
|
|
19
|
+
NameAnonymousFunction.nameAnonymousFunction(fn, info.name)
|
|
20
|
+
return fn
|
|
21
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const getEventListenerArg = (param: string, event: any): any => {
|
|
2
|
+
switch (param) {
|
|
3
|
+
case 'event.clientX':
|
|
4
|
+
return event.clientX
|
|
5
|
+
case 'event.clientY':
|
|
6
|
+
return event.clientY
|
|
7
|
+
case 'event.button':
|
|
8
|
+
return event.button
|
|
9
|
+
case 'event.target.value':
|
|
10
|
+
return event.target.value
|
|
11
|
+
case 'event.data':
|
|
12
|
+
return event.data
|
|
13
|
+
case 'event.deltaMode':
|
|
14
|
+
return event.deltaMode
|
|
15
|
+
case 'event.deltaX':
|
|
16
|
+
return event.deltaX
|
|
17
|
+
case 'event.deltaY':
|
|
18
|
+
return event.deltaY
|
|
19
|
+
case 'event.detail':
|
|
20
|
+
return event.detail
|
|
21
|
+
default:
|
|
22
|
+
return param
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as GetEventListenerArg from '../GetEventListenerArg/GetEventListenerArg.ts'
|
|
2
|
+
|
|
3
|
+
export const getEventListenerArgs = (
|
|
4
|
+
params: readonly string[],
|
|
5
|
+
event: any,
|
|
6
|
+
): readonly any[] => {
|
|
7
|
+
const serialized: any[] = []
|
|
8
|
+
for (const param of params) {
|
|
9
|
+
serialized.push(GetEventListenerArg.getEventListenerArg(param, event))
|
|
10
|
+
}
|
|
11
|
+
return serialized
|
|
12
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { VirtualDomNode } from '../VirtualDomNode/VirtualDomNode.ts'
|
|
1
2
|
import * as RenderInternal from '../RenderInternal/RenderInternal.ts'
|
|
2
|
-
import { VirtualDomNode } from '../VirtualDomNode/VirtualDomNode.ts'
|
|
3
3
|
|
|
4
4
|
export const setAttribute = (
|
|
5
5
|
$Element: HTMLElement,
|
|
@@ -1,34 +1,11 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as IpcState from '../IpcState/IpcState.ts'
|
|
3
|
-
import * as NameAnonymousFunction from '../NameAnonymousFunction/NameAnonymousFunction.ts'
|
|
1
|
+
import * as CreateEventListenerFunction from '../CreateEventListenerFunction/CreateEventListenerFunction.ts'
|
|
4
2
|
|
|
5
3
|
const listeners = Object.create(null)
|
|
6
4
|
|
|
7
|
-
const getArgs = (params, event) => {
|
|
8
|
-
return [...params]
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const createFn = (info) => {
|
|
12
|
-
const fn = (event) => {
|
|
13
|
-
if (info.preventDefault) {
|
|
14
|
-
event.preventDefault(event)
|
|
15
|
-
}
|
|
16
|
-
const uid = ComponentUid.getComponentUidFromEvent(event)
|
|
17
|
-
const args = getArgs(info.params, event)
|
|
18
|
-
if (args.length === 0) {
|
|
19
|
-
return
|
|
20
|
-
}
|
|
21
|
-
const ipc = IpcState.getIpc()
|
|
22
|
-
ipc.send('Viewlet.executeViewletCommand', uid, ...args)
|
|
23
|
-
}
|
|
24
|
-
NameAnonymousFunction.nameAnonymousFunction(fn, info.name)
|
|
25
|
-
return fn
|
|
26
|
-
}
|
|
27
|
-
|
|
28
5
|
export const registerEventListeners = (id, eventListeners) => {
|
|
29
6
|
const map = Object.create(null)
|
|
30
7
|
for (const info of eventListeners) {
|
|
31
|
-
const fn = createFn(info)
|
|
8
|
+
const fn = CreateEventListenerFunction.createFn(info)
|
|
32
9
|
map[info.name] = fn
|
|
33
10
|
}
|
|
34
11
|
listeners[id] = map
|
|
@@ -17,7 +17,7 @@ export const rememberFocus = (
|
|
|
17
17
|
const oldWidth = $Viewlet.style.width
|
|
18
18
|
const oldHeight = $Viewlet.style.height
|
|
19
19
|
|
|
20
|
-
const activeElement = document
|
|
20
|
+
const {activeElement} = document
|
|
21
21
|
const isTreeFocused = activeElement?.getAttribute('role') === 'tree'
|
|
22
22
|
const isRootTree =
|
|
23
23
|
$Viewlet.getAttribute('role') === 'tree' && activeElement === $Viewlet
|