@lvce-editor/virtual-dom 0.6.0 → 0.7.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.d.ts +1 -1
- package/dist/index.js +41 -0
- package/package.json +1 -1
- package/src/parts/Main/Main.ts +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export const setComponentUid: ($Element: HTMLElement, uid: number) => void
|
|
|
12
12
|
|
|
13
13
|
export const getComponentUid: ($Element: HTMLElement) => void
|
|
14
14
|
|
|
15
|
-
export const
|
|
15
|
+
export const getComponentUidFromEvent: (event: Event) => void
|
|
16
16
|
|
|
17
17
|
export const rememberFocus: (
|
|
18
18
|
$Viewlet: HTMLElement,
|
package/dist/index.js
CHANGED
|
@@ -438,9 +438,50 @@ var render2 = (elements, eventMap = {}) => {
|
|
|
438
438
|
renderInternal2($Root, elements, eventMap);
|
|
439
439
|
return $Root;
|
|
440
440
|
};
|
|
441
|
+
|
|
442
|
+
// src/parts/RememberFocus/RememberFocus.ts
|
|
443
|
+
var queryInputs = ($Viewlet) => {
|
|
444
|
+
return [...$Viewlet.querySelectorAll("input, textarea")];
|
|
445
|
+
};
|
|
446
|
+
var rememberFocus = ($Viewlet, dom, eventMap, uid = 0) => {
|
|
447
|
+
const oldLeft = $Viewlet.style.left;
|
|
448
|
+
const oldTop = $Viewlet.style.top;
|
|
449
|
+
const oldWidth = $Viewlet.style.width;
|
|
450
|
+
const oldHeight = $Viewlet.style.height;
|
|
451
|
+
const focused = document.activeElement.getAttribute("name");
|
|
452
|
+
const $$Inputs = queryInputs($Viewlet);
|
|
453
|
+
const inputMap = /* @__PURE__ */ Object.create(null);
|
|
454
|
+
for (const $Input of $$Inputs) {
|
|
455
|
+
inputMap[$Input.name] = $Input.value;
|
|
456
|
+
}
|
|
457
|
+
if (uid) {
|
|
458
|
+
const $New = render2(dom, eventMap).firstChild;
|
|
459
|
+
setComponentUid($New, uid);
|
|
460
|
+
$Viewlet.replaceWith($New);
|
|
461
|
+
$Viewlet = $New;
|
|
462
|
+
} else {
|
|
463
|
+
renderInto($Viewlet, dom, eventMap);
|
|
464
|
+
}
|
|
465
|
+
const $$NewInputs = queryInputs($Viewlet);
|
|
466
|
+
for (const $Input of $$NewInputs) {
|
|
467
|
+
$Input.value = inputMap[$Input.name] || $Input.value || "";
|
|
468
|
+
}
|
|
469
|
+
if (focused) {
|
|
470
|
+
const $Focused = $Viewlet.querySelector(`[name="${focused}"]`);
|
|
471
|
+
if ($Focused) {
|
|
472
|
+
$Focused.focus();
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
$Viewlet.style.top = oldTop;
|
|
476
|
+
$Viewlet.style.left = oldLeft;
|
|
477
|
+
$Viewlet.style.height = oldHeight;
|
|
478
|
+
$Viewlet.style.width = oldWidth;
|
|
479
|
+
return $Viewlet;
|
|
480
|
+
};
|
|
441
481
|
export {
|
|
442
482
|
getComponentUid,
|
|
443
483
|
getComponentUidFromEvent,
|
|
484
|
+
rememberFocus,
|
|
444
485
|
render2 as render,
|
|
445
486
|
renderInto,
|
|
446
487
|
setComponentUid,
|
package/package.json
CHANGED
package/src/parts/Main/Main.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export {
|
|
2
|
-
setComponentUid,
|
|
3
2
|
getComponentUid,
|
|
4
3
|
getComponentUidFromEvent,
|
|
4
|
+
setComponentUid,
|
|
5
5
|
} from '../ComponentUid/ComponentUid.ts'
|
|
6
6
|
export { setIpc } from '../IpcState/IpcState.ts'
|
|
7
|
+
export { rememberFocus } from '../RememberFocus/RememberFocus.ts'
|
|
7
8
|
export { render, renderInto } from '../VirtualDom/VirtualDom.ts'
|