@lvce-editor/virtual-dom 1.10.0 → 1.12.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 +42 -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 +26 -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,51 @@ 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
|
+
case "event.target.name":
|
|
556
|
+
return event.target.name;
|
|
557
|
+
default:
|
|
558
|
+
return param;
|
|
559
|
+
}
|
|
560
|
+
};
|
|
561
|
+
|
|
562
|
+
// src/parts/GetEventListenerArgs/GetEventListenerArgs.ts
|
|
563
|
+
var getEventListenerArgs = (params, event) => {
|
|
564
|
+
const serialized = [];
|
|
565
|
+
for (const param of params) {
|
|
566
|
+
serialized.push(getEventListenerArg(param, event));
|
|
567
|
+
}
|
|
568
|
+
return serialized;
|
|
539
569
|
};
|
|
570
|
+
|
|
571
|
+
// src/parts/CreateEventListenerFunction/CreateEventListenerFunction.ts
|
|
540
572
|
var createFn = (info) => {
|
|
541
573
|
const fn = (event) => {
|
|
542
574
|
if (info.preventDefault) {
|
|
543
575
|
event.preventDefault(event);
|
|
544
576
|
}
|
|
545
577
|
const uid = getComponentUidFromEvent(event);
|
|
546
|
-
const args =
|
|
578
|
+
const args = getEventListenerArgs(info.params, event);
|
|
547
579
|
if (args.length === 0) {
|
|
548
580
|
return;
|
|
549
581
|
}
|
|
@@ -553,6 +585,9 @@ var createFn = (info) => {
|
|
|
553
585
|
nameAnonymousFunction(fn, info.name);
|
|
554
586
|
return fn;
|
|
555
587
|
};
|
|
588
|
+
|
|
589
|
+
// src/parts/RegisterEventListeners/RegisterEventListeners.ts
|
|
590
|
+
var listeners = /* @__PURE__ */ Object.create(null);
|
|
556
591
|
var registerEventListeners = (id, eventListeners) => {
|
|
557
592
|
const map = /* @__PURE__ */ Object.create(null);
|
|
558
593
|
for (const info of eventListeners) {
|
|
@@ -591,7 +626,7 @@ var rememberFocus = ($Viewlet, dom, eventMap, uid = 0) => {
|
|
|
591
626
|
const oldTop = $Viewlet.style.top;
|
|
592
627
|
const oldWidth = $Viewlet.style.width;
|
|
593
628
|
const oldHeight = $Viewlet.style.height;
|
|
594
|
-
const activeElement = document
|
|
629
|
+
const { activeElement } = document;
|
|
595
630
|
const isTreeFocused = activeElement?.getAttribute("role") === "tree";
|
|
596
631
|
const isRootTree = $Viewlet.getAttribute("role") === "tree" && activeElement === $Viewlet;
|
|
597
632
|
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,26 @@
|
|
|
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
|
+
case 'event.target.name':
|
|
22
|
+
return event.target.name
|
|
23
|
+
default:
|
|
24
|
+
return param
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -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
|