feat: update

This commit is contained in:
liujuping 2022-11-08 10:39:51 +08:00
commit 29d3e9657b
6 changed files with 259 additions and 7 deletions

View File

@ -37,9 +37,9 @@ export class History<T = NodeSchema> {
this.records = [this.session];
reaction((): any => {
if (this.asleep) return null;
return dataFn();
}, (data: T) => {
if (this.asleep) return null;
untracked(() => {
const log = this.currentSerialization.serialize(data);
if (this.session.isActive()) {

View File

@ -9,7 +9,7 @@ const utils = {
getNodeSchemaById,
getConvertedExtraKey,
getOriginalExtraKey,
startTransaction: transactionManager.startTransaction,
executeTransaction: transactionManager.executeTransaction.bind(transactionManager),
};
export default utils;

View File

@ -233,7 +233,7 @@ export function leafWrapper(Comp: types.IBaseRenderComponent, {
const {
hidden = false,
condition = true,
} = nextProps.__inner__ || {};
} = nextProps.__inner__ || this.leaf?.export?.(TransformStage.Render) || {};
return {
nodeChildren: null,
childrenInState: false,
@ -399,7 +399,11 @@ export function leafWrapper(Comp: types.IBaseRenderComponent, {
/** 监听参数变化 */
initOnPropsChangeEvent(leaf = this.leaf): void {
<<<<<<< HEAD
const dispose = leaf?.onPropChange?.((propChangeInfo: PropChangeOptions) => {
=======
const dispose = leaf?.onPropChange?.(debounce((propChangeInfo: PropChangeOptions) => {
>>>>>>> feat/autoRepaintNode
if (!this.autoRepaintNode) {
return;
}
@ -449,7 +453,11 @@ export function leafWrapper(Comp: types.IBaseRenderComponent, {
});
this.judgeMiniUnitRender();
<<<<<<< HEAD
});
=======
}, 20));
>>>>>>> feat/autoRepaintNode
dispose && this.disposeFunctions.push(dispose);
}

View File

@ -11,6 +11,12 @@ exports[`Base Render renderComp 1`] = `
>
<div
__id="node_dockcy8n9xed"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-box"
style={
Object {
@ -25,6 +31,12 @@ exports[`Base Render renderComp 1`] = `
>
<div
__id="node_dockcy8n9xee"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-box"
style={
Object {
@ -39,6 +51,12 @@ exports[`Base Render renderComp 1`] = `
>
<nav
__id="node_dockcy8n9xef"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
aria-label="Breadcrumb"
style={
Object {
@ -55,6 +73,12 @@ exports[`Base Render renderComp 1`] = `
>
<span
__id="node_dockcy8n9xeg"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-breadcrumb-text"
>
首页
@ -74,6 +98,12 @@ exports[`Base Render renderComp 1`] = `
>
<span
__id="node_dockcy8n9xei"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-breadcrumb-text"
>
品质中台
@ -93,6 +123,12 @@ exports[`Base Render renderComp 1`] = `
>
<span
__id="node_dockcy8n9xek"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-breadcrumb-text"
>
商家品质页面管理
@ -112,6 +148,12 @@ exports[`Base Render renderComp 1`] = `
>
<span
__id="node_dockcy8n9xem"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
aria-current="page"
className="next-breadcrumb-text activated"
>
@ -123,6 +165,12 @@ exports[`Base Render renderComp 1`] = `
</div>
<div
__id="node_dockcy8n9xeo"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-box"
style={
Object {
@ -138,6 +186,12 @@ exports[`Base Render renderComp 1`] = `
<form
__events={Array []}
__id="node_dockcy8n9xep"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-form next-inline next-medium"
onSubmit={[Function]}
role="grid"
@ -151,6 +205,12 @@ exports[`Base Render renderComp 1`] = `
>
<div
__id="node_dockcy8n9xeq"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-form-item next-left next-medium"
style={
Object {
@ -193,6 +253,12 @@ exports[`Base Render renderComp 1`] = `
>
<input
__id="node_dockcy8n9xer"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
autoComplete="off"
disabled={false}
height="100%"
@ -258,6 +324,12 @@ exports[`Base Render renderComp 1`] = `
</div>
<div
__id="node_dockcy8n9xes"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-form-item next-left next-medium"
style={
Object {
@ -300,6 +372,12 @@ exports[`Base Render renderComp 1`] = `
>
<input
__id="node_dockcy8n9xet"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
autoComplete="off"
disabled={false}
height="100%"
@ -365,6 +443,12 @@ exports[`Base Render renderComp 1`] = `
</div>
<div
__id="node_dockcy8n9xeu"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-form-item next-left next-medium"
style={
Object {
@ -392,6 +476,12 @@ exports[`Base Render renderComp 1`] = `
>
<input
__id="node_dockcy8n9xev"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
autoComplete="off"
disabled={false}
height="100%"
@ -412,10 +502,22 @@ exports[`Base Render renderComp 1`] = `
</div>
<div
__id="node_dockcy8n9xew"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-btn-group"
>
<button
__id="node_dockcy8n9xex"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-btn next-medium next-btn-primary"
disabled={false}
onClick={[Function]}
@ -435,6 +537,12 @@ exports[`Base Render renderComp 1`] = `
</button>
<button
__id="node_dockcy8n9xe10"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-btn next-medium next-btn-normal"
disabled={false}
onClick={[Function]}
@ -457,6 +565,12 @@ exports[`Base Render renderComp 1`] = `
</div>
<div
__id="node_dockcy8n9xe1f"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-box"
style={
Object {
@ -482,6 +596,12 @@ exports[`Base Render renderComp 1`] = `
]
}
__id="node_dockd5nrh9p4"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-btn next-medium next-btn-primary"
disabled={false}
onClick={[Function]}
@ -498,6 +618,12 @@ exports[`Base Render renderComp 1`] = `
</div>
<div
__id="node_dockd5nrh9p5"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-box"
style={
Object {
@ -510,6 +636,12 @@ exports[`Base Render renderComp 1`] = `
>
<div
__id="node_dockjielosj1"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
actionBar={
Array [
Object {
@ -688,6 +820,12 @@ exports[`Base Render renderComp 1`] = `
</div>
<div
__id="node_dockd5nrh9pg"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-box"
style={
Object {
@ -702,6 +840,12 @@ exports[`Base Render renderComp 1`] = `
>
<div
__id="node_dockd5nrh9pf"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="next-pagination next-medium next-normal"
style={Object {}}
>
@ -898,6 +1042,12 @@ exports[`Base Render renderComp 1`] = `
>
<input
__id="node_dockd5nrh9pr"
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
autoComplete="off"
disabled={false}
height="100%"
@ -967,6 +1117,12 @@ exports[`JSExpression JSExpression props 1`] = `
style={Object {}}
>
<div
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="div-ut"
forwardRef={[Function]}
visible={true}
@ -980,12 +1136,24 @@ exports[`JSExpression JSExpression props with loop 1`] = `
style={Object {}}
>
<div
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="div-ut"
forwardRef={[Function]}
name1="1"
name2="1"
/>
<div
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="div-ut"
forwardRef={[Function]}
name1="2"
@ -1000,11 +1168,23 @@ exports[`JSExpression JSExpression props with loop, and thisRequiredInJSE is tru
style={Object {}}
>
<div
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="div-ut"
forwardRef={[Function]}
name1="1"
/>
<div
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="div-ut"
forwardRef={[Function]}
name1="2"
@ -1018,6 +1198,12 @@ exports[`JSExpression JSFunction props 1`] = `
style={Object {}}
>
<div
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="div-ut"
forwardRef={[Function]}
onClick={[Function]}
@ -1032,6 +1218,12 @@ exports[`JSExpression JSSlot has loop 1`] = `
>
<div
__id="node_ocl1ao1o7w3"
__inner__={
Object {
"condition": true,
"hidden": false,
}
}
__style__=":root {
padding: 12px;
background: #f2f2f2;
@ -1046,6 +1238,12 @@ exports[`JSExpression JSSlot has loop 1`] = `
>
<div
__id="node_ocl1ao1o7w4"
__inner__={
Object {
"condition": true,
"hidden": false,
}
}
__style__=":root {
font-size: 14px;
color: #666;
@ -1063,6 +1261,12 @@ exports[`JSExpression JSSlot has loop 1`] = `
</div>
<div
__id="node_ocl1ao1o7w3"
__inner__={
Object {
"condition": true,
"hidden": false,
}
}
__style__=":root {
padding: 12px;
background: #f2f2f2;
@ -1077,6 +1281,12 @@ exports[`JSExpression JSSlot has loop 1`] = `
>
<div
__id="node_ocl1ao1o7w4"
__inner__={
Object {
"condition": true,
"hidden": false,
}
}
__style__=":root {
font-size: 14px;
color: #666;
@ -1094,6 +1304,12 @@ exports[`JSExpression JSSlot has loop 1`] = `
</div>
<div
__id="node_ocl1ao1o7w3"
__inner__={
Object {
"condition": true,
"hidden": false,
}
}
__style__=":root {
padding: 12px;
background: #f2f2f2;
@ -1108,6 +1324,12 @@ exports[`JSExpression JSSlot has loop 1`] = `
>
<div
__id="node_ocl1ao1o7w4"
__inner__={
Object {
"condition": true,
"hidden": false,
}
}
__style__=":root {
font-size: 14px;
color: #666;
@ -1132,6 +1354,12 @@ exports[`JSExpression base props 1`] = `
style={Object {}}
>
<div
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="div-ut"
forwardRef={[Function]}
text="123"
@ -1146,10 +1374,22 @@ exports[`designMode designMode:default 1`] = `
style={Object {}}
>
<div
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="div-ut"
forwardRef={[Function]}
>
<div
__inner__={
Object {
"condition": true,
"hidden": undefined,
}
}
className="div-ut-children"
forwardRef={[Function]}
/>

View File

@ -17,6 +17,7 @@
"@alilc/lowcode-types": "1.0.16-beta.7",
"lodash": "^4.17.21",
"react": "^16",
"mobx": "^6.3.0",
"zen-logger": "^1.1.0"
},
"devDependencies": {

View File

@ -1,13 +1,13 @@
import { TransitionType } from '@alilc/lowcode-types';
import { transaction } from 'mobx';
import { runInAction } from 'mobx';
import EventEmitter from 'events';
class TransactionManager {
emitter = new EventEmitter();
startTransaction = (fn: () => void, type: TransitionType = TransitionType.REPAINT): void => {
executeTransaction = (fn: () => void, type: TransitionType = TransitionType.REPAINT): void => {
this.emitter.emit(`[${type}]startTransaction`);
transaction(fn);
runInAction(fn);
this.emitter.emit(`[${type}]endTransaction`);
};
@ -27,5 +27,8 @@ class TransactionManager {
}
export const transactionManager = new TransactionManager();
<<<<<<< HEAD
export default transactionManager;
export default transactionManager;
=======
>>>>>>> feat/autoRepaintNode