@flowgram.ai/history-node-plugin 0.2.16 → 0.2.18
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/esm/index.js.map +1 -1
- package/dist/index.d.mts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +10 -10
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/create-history-node-plugin.ts","../../src/utils/index.ts","../../src/history-node-registers.ts","../../src/operation-metas/change-form-values.ts","../../src/operation-metas/index.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../src/create-history-node-plugin.ts","../../src/utils/index.ts","../../src/history-node-registers.ts","../../src/operation-metas/change-form-values.ts","../../src/operation-metas/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { FlowDocument } from '@flowgram.ai/document';\nimport { bindContributions, definePluginCreator } from '@flowgram.ai/core';\nimport { HistoryContainerModule, HistoryService, OperationContribution } from '@flowgram.ai/history';\n\nimport { attachFormValuesChange, getFormModelV2 } from './utils';\nimport { HistoryNodeRegisters } from './history-node-registers';\n\n/**\n * 表单历史插件\n */\nexport const createHistoryNodePlugin = definePluginCreator({\n onBind: ({ bind }) => {\n bindContributions(bind, HistoryNodeRegisters, [OperationContribution]);\n },\n onInit: (ctx, _opts) => {\n const document = ctx.get<FlowDocument>(FlowDocument);\n const historyService = ctx.get<HistoryService>(HistoryService);\n\n document.onNodeCreate(({ node }) => {\n const formModel = getFormModelV2(node);\n\n if (!formModel) {\n return;\n }\n\n attachFormValuesChange(formModel, node, historyService);\n });\n },\n containerModules: [HistoryContainerModule],\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { get } from 'lodash';\nimport { FormModelV2, isFormModelV2 } from '@flowgram.ai/node';\nimport { HistoryService, Operation } from '@flowgram.ai/history';\nimport { StackOperation } from '@flowgram.ai/history';\nimport { FlowNodeFormData } from '@flowgram.ai/form-core';\nimport { FlowNodeEntity } from '@flowgram.ai/document';\n\nimport { ChangeFormValuesOperationValue, NodeOperationType } from '../types';\n\n/**\n * 获取v2版本的formModel\n * @param node 节点\n * @returns\n */\nexport function getFormModelV2(node: FlowNodeEntity | undefined): FormModelV2 | undefined {\n if (!node) {\n return undefined;\n }\n\n const formModel = node?.getData(FlowNodeFormData)?.getFormModel<FormModelV2>();\n\n if (!formModel || !isFormModelV2(formModel)) {\n return undefined;\n }\n\n return formModel;\n}\n\n/**\n * 表单合并策略\n * @param op 操作\n * @param prev 上一个操作\n * @param element 操作栈元素\n * @returns\n */\nexport function shouldChangeFormValuesMerge(\n op: Operation<ChangeFormValuesOperationValue | undefined>,\n prev: Operation<ChangeFormValuesOperationValue | undefined>,\n element: StackOperation\n) {\n if (!prev) {\n return false;\n }\n\n if (Date.now() - element.getTimestamp() < 500) {\n if (\n op.type === prev.type && // 相同类型\n op.value?.id === prev.value?.id && // 相同节点\n op.value?.path === prev.value?.path // 相同路径\n ) {\n return {\n type: op.type,\n value: {\n ...op.value,\n value: op.value?.value,\n oldValue: prev.value?.oldValue,\n },\n };\n }\n return true;\n }\n return false;\n}\n\n/**\n * 监听表单值变化\n * @param formModel 表单模型\n * @param node 节点\n * @param historyService 历史服务\n */\nexport function attachFormValuesChange(\n formModel: FormModelV2,\n node: FlowNodeEntity,\n historyService: HistoryService\n) {\n formModel.onFormValuesChange((event) => {\n historyService.pushOperation(\n {\n type: NodeOperationType.changeFormValues,\n value: {\n id: node.id,\n path: event.name,\n value: event.name ? get(event.values, event.name) : event.values,\n oldValue: event.name ? get(event.prevValues, event.name) : event.prevValues,\n },\n },\n { noApply: true }\n );\n });\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { injectable } from 'inversify';\nimport { type OperationContribution, type OperationRegistry } from '@flowgram.ai/history';\n\nimport { operationMetas } from './operation-metas';\n\n/**\n * 表单历史操作\n */\n@injectable()\nexport class HistoryNodeRegisters implements OperationContribution {\n registerOperationMeta(operationRegistry: OperationRegistry): void {\n operationMetas.forEach(operationMeta => {\n operationRegistry.registerOperationMeta(operationMeta);\n });\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { type OperationMeta } from '@flowgram.ai/history';\nimport { FlowDocument } from '@flowgram.ai/document';\nimport { type PluginContext } from '@flowgram.ai/core';\n\nimport { getFormModelV2, shouldChangeFormValuesMerge } from '../utils';\nimport { ChangeFormValuesOperationValue, NodeOperationType } from '../types';\n\n/**\n * 表单修改操作\n */\nexport const changeFormValueOperationMeta: OperationMeta<\n ChangeFormValuesOperationValue,\n PluginContext,\n void\n> = {\n type: NodeOperationType.changeFormValues,\n inverse: (op) => ({\n ...op,\n value: {\n ...op.value,\n value: op.value.oldValue,\n oldValue: op.value.value,\n },\n }),\n apply: ({ value: { value, path, id } }, ctx: PluginContext) => {\n const document = ctx.get<FlowDocument>(FlowDocument);\n const formModel = getFormModelV2(document.getNode(id));\n\n if (!formModel) {\n return;\n }\n if (!path) {\n formModel.updateFormValues(value);\n } else {\n formModel.setValueIn(path, value);\n }\n },\n shouldMerge: shouldChangeFormValuesMerge as OperationMeta['shouldMerge'],\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { OperationMeta } from '@flowgram.ai/history';\n\nimport { changeFormValueOperationMeta } from './change-form-values';\n\nexport const operationMetas: OperationMeta[] = [changeFormValueOperationMeta];\n"],"mappings":"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","names":["FlowDocument","FlowDocument"]}
|
package/dist/index.d.mts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/create-history-node-plugin.ts","../src/utils/index.ts","../src/history-node-registers.ts","../src/operation-metas/change-form-values.ts","../src/operation-metas/index.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/create-history-node-plugin.ts","../src/utils/index.ts","../src/history-node-registers.ts","../src/operation-metas/change-form-values.ts","../src/operation-metas/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nexport * from './create-history-node-plugin';\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { FlowDocument } from '@flowgram.ai/document';\nimport { bindContributions, definePluginCreator } from '@flowgram.ai/core';\nimport { HistoryContainerModule, HistoryService, OperationContribution } from '@flowgram.ai/history';\n\nimport { attachFormValuesChange, getFormModelV2 } from './utils';\nimport { HistoryNodeRegisters } from './history-node-registers';\n\n/**\n * 表单历史插件\n */\nexport const createHistoryNodePlugin = definePluginCreator({\n onBind: ({ bind }) => {\n bindContributions(bind, HistoryNodeRegisters, [OperationContribution]);\n },\n onInit: (ctx, _opts) => {\n const document = ctx.get<FlowDocument>(FlowDocument);\n const historyService = ctx.get<HistoryService>(HistoryService);\n\n document.onNodeCreate(({ node }) => {\n const formModel = getFormModelV2(node);\n\n if (!formModel) {\n return;\n }\n\n attachFormValuesChange(formModel, node, historyService);\n });\n },\n containerModules: [HistoryContainerModule],\n});\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { get } from 'lodash';\nimport { FormModelV2, isFormModelV2 } from '@flowgram.ai/node';\nimport { HistoryService, Operation } from '@flowgram.ai/history';\nimport { StackOperation } from '@flowgram.ai/history';\nimport { FlowNodeFormData } from '@flowgram.ai/form-core';\nimport { FlowNodeEntity } from '@flowgram.ai/document';\n\nimport { ChangeFormValuesOperationValue, NodeOperationType } from '../types';\n\n/**\n * 获取v2版本的formModel\n * @param node 节点\n * @returns\n */\nexport function getFormModelV2(node: FlowNodeEntity | undefined): FormModelV2 | undefined {\n if (!node) {\n return undefined;\n }\n\n const formModel = node?.getData(FlowNodeFormData)?.getFormModel<FormModelV2>();\n\n if (!formModel || !isFormModelV2(formModel)) {\n return undefined;\n }\n\n return formModel;\n}\n\n/**\n * 表单合并策略\n * @param op 操作\n * @param prev 上一个操作\n * @param element 操作栈元素\n * @returns\n */\nexport function shouldChangeFormValuesMerge(\n op: Operation<ChangeFormValuesOperationValue | undefined>,\n prev: Operation<ChangeFormValuesOperationValue | undefined>,\n element: StackOperation\n) {\n if (!prev) {\n return false;\n }\n\n if (Date.now() - element.getTimestamp() < 500) {\n if (\n op.type === prev.type && // 相同类型\n op.value?.id === prev.value?.id && // 相同节点\n op.value?.path === prev.value?.path // 相同路径\n ) {\n return {\n type: op.type,\n value: {\n ...op.value,\n value: op.value?.value,\n oldValue: prev.value?.oldValue,\n },\n };\n }\n return true;\n }\n return false;\n}\n\n/**\n * 监听表单值变化\n * @param formModel 表单模型\n * @param node 节点\n * @param historyService 历史服务\n */\nexport function attachFormValuesChange(\n formModel: FormModelV2,\n node: FlowNodeEntity,\n historyService: HistoryService\n) {\n formModel.onFormValuesChange((event) => {\n historyService.pushOperation(\n {\n type: NodeOperationType.changeFormValues,\n value: {\n id: node.id,\n path: event.name,\n value: event.name ? get(event.values, event.name) : event.values,\n oldValue: event.name ? get(event.prevValues, event.name) : event.prevValues,\n },\n },\n { noApply: true }\n );\n });\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { injectable } from 'inversify';\nimport { type OperationContribution, type OperationRegistry } from '@flowgram.ai/history';\n\nimport { operationMetas } from './operation-metas';\n\n/**\n * 表单历史操作\n */\n@injectable()\nexport class HistoryNodeRegisters implements OperationContribution {\n registerOperationMeta(operationRegistry: OperationRegistry): void {\n operationMetas.forEach(operationMeta => {\n operationRegistry.registerOperationMeta(operationMeta);\n });\n }\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { type OperationMeta } from '@flowgram.ai/history';\nimport { FlowDocument } from '@flowgram.ai/document';\nimport { type PluginContext } from '@flowgram.ai/core';\n\nimport { getFormModelV2, shouldChangeFormValuesMerge } from '../utils';\nimport { ChangeFormValuesOperationValue, NodeOperationType } from '../types';\n\n/**\n * 表单修改操作\n */\nexport const changeFormValueOperationMeta: OperationMeta<\n ChangeFormValuesOperationValue,\n PluginContext,\n void\n> = {\n type: NodeOperationType.changeFormValues,\n inverse: (op) => ({\n ...op,\n value: {\n ...op.value,\n value: op.value.oldValue,\n oldValue: op.value.value,\n },\n }),\n apply: ({ value: { value, path, id } }, ctx: PluginContext) => {\n const document = ctx.get<FlowDocument>(FlowDocument);\n const formModel = getFormModelV2(document.getNode(id));\n\n if (!formModel) {\n return;\n }\n if (!path) {\n formModel.updateFormValues(value);\n } else {\n formModel.setValueIn(path, value);\n }\n },\n shouldMerge: shouldChangeFormValuesMerge as OperationMeta['shouldMerge'],\n};\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { OperationMeta } from '@flowgram.ai/history';\n\nimport { changeFormValueOperationMeta } from './change-form-values';\n\nexport const operationMetas: OperationMeta[] = [changeFormValueOperationMeta];\n"],"mappings":"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","names":["import_document"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowgram.ai/history-node-plugin",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.18",
|
|
4
4
|
"homepage": "https://flowgram.ai/",
|
|
5
5
|
"repository": "https://github.com/bytedance/flowgram.ai",
|
|
6
6
|
"license": "MIT",
|
|
@@ -19,13 +19,13 @@
|
|
|
19
19
|
"inversify": "^6.0.1",
|
|
20
20
|
"reflect-metadata": "~0.2.2",
|
|
21
21
|
"lodash": "^4.17.21",
|
|
22
|
-
"@flowgram.ai/core": "0.2.
|
|
23
|
-
"@flowgram.ai/document": "0.2.
|
|
24
|
-
"@flowgram.ai/form-core": "0.2.
|
|
25
|
-
"@flowgram.ai/
|
|
26
|
-
"@flowgram.ai/
|
|
27
|
-
"@flowgram.ai/
|
|
28
|
-
"@flowgram.ai/utils": "0.2.
|
|
22
|
+
"@flowgram.ai/core": "0.2.18",
|
|
23
|
+
"@flowgram.ai/document": "0.2.18",
|
|
24
|
+
"@flowgram.ai/form-core": "0.2.18",
|
|
25
|
+
"@flowgram.ai/node": "0.2.18",
|
|
26
|
+
"@flowgram.ai/history": "0.2.18",
|
|
27
|
+
"@flowgram.ai/form": "0.2.18",
|
|
28
|
+
"@flowgram.ai/utils": "0.2.18"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/bezier-js": "4.1.3",
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"tsup": "^8.0.1",
|
|
42
42
|
"typescript": "^5.0.4",
|
|
43
43
|
"vitest": "^0.34.6",
|
|
44
|
-
"@flowgram.ai/
|
|
45
|
-
"@flowgram.ai/
|
|
44
|
+
"@flowgram.ai/eslint-config": "0.2.18",
|
|
45
|
+
"@flowgram.ai/ts-config": "0.2.18"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"react": ">=16.8",
|