weaver-e10-builder 1.2.3 → 1.2.5
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/commands/actionflow.d.ts.map +1 -1
- package/dist/commands/actionflow.js +12 -25
- package/dist/commands/actionflow.js.map +1 -1
- package/dist/commands/designer-css.d.ts +15 -0
- package/dist/commands/designer-css.d.ts.map +1 -0
- package/dist/commands/designer-css.js +205 -0
- package/dist/commands/designer-css.js.map +1 -0
- package/dist/commands/form-field-lang.d.ts.map +1 -1
- package/dist/commands/form-field-lang.js +4 -39
- package/dist/commands/form-field-lang.js.map +1 -1
- package/dist/commands/form-layout-init.d.ts.map +1 -1
- package/dist/commands/form-layout-init.js +15 -10
- package/dist/commands/form-layout-init.js.map +1 -1
- package/dist/commands/form-layout.js +24 -21
- package/dist/commands/form-layout.js.map +1 -1
- package/dist/commands/form-native.d.ts.map +1 -1
- package/dist/commands/form-native.js +181 -0
- package/dist/commands/form-native.js.map +1 -1
- package/dist/commands/form-validate.d.ts.map +1 -1
- package/dist/commands/form-validate.js +11 -3
- package/dist/commands/form-validate.js.map +1 -1
- package/dist/commands/form.d.ts.map +1 -1
- package/dist/commands/form.js +76 -19
- package/dist/commands/form.js.map +1 -1
- package/dist/commands/menu.d.ts.map +1 -1
- package/dist/commands/menu.js +170 -23
- package/dist/commands/menu.js.map +1 -1
- package/dist/commands/wf-form.d.ts +1 -0
- package/dist/commands/wf-form.d.ts.map +1 -1
- package/dist/commands/wf-form.js +44 -13
- package/dist/commands/wf-form.js.map +1 -1
- package/dist/commands/workflow-node-assign-flow.d.ts.map +1 -1
- package/dist/commands/workflow-node-assign-flow.js +1 -2
- package/dist/commands/workflow-node-assign-flow.js.map +1 -1
- package/dist/commands/workflow-node.d.ts.map +1 -1
- package/dist/commands/workflow-node.js +147 -2
- package/dist/commands/workflow-node.js.map +1 -1
- package/dist/commands/workflow-odoc.d.ts.map +1 -1
- package/dist/commands/workflow-odoc.js +56 -56
- package/dist/commands/workflow-odoc.js.map +1 -1
- package/dist/commands/workflow-setting.d.ts.map +1 -1
- package/dist/commands/workflow-setting.js +77 -1
- package/dist/commands/workflow-setting.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +36 -80
- package/dist/commands/workflow.js.map +1 -1
- package/dist/core/client.d.ts +14 -0
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +28 -12
- package/dist/core/client.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/services/actionflow/command_output.d.ts +7 -0
- package/dist/services/actionflow/command_output.d.ts.map +1 -1
- package/dist/services/actionflow/command_output.js +46 -0
- package/dist/services/actionflow/command_output.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_add.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_add.js +14 -4
- package/dist/services/actionflow/components/action_eb_add.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_add_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_add_compiler.js +29 -0
- package/dist/services/actionflow/components/action_eb_add_compiler.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_update.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_update.js +23 -8
- package/dist/services/actionflow/components/action_eb_update.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_update_compiler.js +239 -6
- package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
- package/dist/services/actionflow/components/custom_set_form.d.ts +10 -0
- package/dist/services/actionflow/components/custom_set_form.d.ts.map +1 -0
- package/dist/services/actionflow/components/custom_set_form.js +65 -0
- package/dist/services/actionflow/components/custom_set_form.js.map +1 -0
- package/dist/services/actionflow/components/custom_trigger.d.ts +2 -2
- package/dist/services/actionflow/components/custom_trigger.d.ts.map +1 -1
- package/dist/services/actionflow/components/custom_trigger.js +7 -10
- package/dist/services/actionflow/components/custom_trigger.js.map +1 -1
- package/dist/services/actionflow/components/enquiry_form.js +1 -1
- package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
- package/dist/services/actionflow/components/output.d.ts.map +1 -1
- package/dist/services/actionflow/components/output.js +6 -1
- package/dist/services/actionflow/components/output.js.map +1 -1
- package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
- package/dist/services/actionflow/context_preflight.js +13 -6
- package/dist/services/actionflow/context_preflight.js.map +1 -1
- package/dist/services/actionflow/context_provider.d.ts.map +1 -1
- package/dist/services/actionflow/context_provider.js +3 -2
- package/dist/services/actionflow/context_provider.js.map +1 -1
- package/dist/services/actionflow/dynamic_resources.d.ts.map +1 -1
- package/dist/services/actionflow/dynamic_resources.js +1 -1
- package/dist/services/actionflow/dynamic_resources.js.map +1 -1
- package/dist/services/actionflow/ebuilder_source.d.ts +19 -0
- package/dist/services/actionflow/ebuilder_source.d.ts.map +1 -0
- package/dist/services/actionflow/ebuilder_source.js +78 -0
- package/dist/services/actionflow/ebuilder_source.js.map +1 -0
- package/dist/services/actionflow/form_source.d.ts +51 -10
- package/dist/services/actionflow/form_source.d.ts.map +1 -1
- package/dist/services/actionflow/form_source.js +173 -29
- package/dist/services/actionflow/form_source.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts +4 -1
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +46 -22
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/actionflow/preflight_service.d.ts +6 -0
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
- package/dist/services/actionflow/preflight_service.js +211 -3
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/workflow_compiler.js +83 -15
- package/dist/services/actionflow/workflow_compiler.js.map +1 -1
- package/dist/services/designer-css.d.ts +89 -0
- package/dist/services/designer-css.d.ts.map +1 -0
- package/dist/services/designer-css.js +163 -0
- package/dist/services/designer-css.js.map +1 -0
- package/dist/services/dom-structure.d.ts +42 -0
- package/dist/services/dom-structure.d.ts.map +1 -0
- package/dist/services/dom-structure.js +251 -0
- package/dist/services/dom-structure.js.map +1 -0
- package/dist/services/form-field-patch.d.ts +22 -0
- package/dist/services/form-field-patch.d.ts.map +1 -1
- package/dist/services/form-field-patch.js +29 -0
- package/dist/services/form-field-patch.js.map +1 -1
- package/dist/services/form-i18n-label.d.ts +48 -0
- package/dist/services/form-i18n-label.d.ts.map +1 -0
- package/dist/services/form-i18n-label.js +91 -0
- package/dist/services/form-i18n-label.js.map +1 -0
- package/dist/services/form-style-template.d.ts +6 -2
- package/dist/services/form-style-template.d.ts.map +1 -1
- package/dist/services/form-style-template.js +8 -4
- package/dist/services/form-style-template.js.map +1 -1
- package/dist/services/menu-catalog.d.ts +84 -0
- package/dist/services/menu-catalog.d.ts.map +1 -0
- package/dist/services/menu-catalog.js +183 -0
- package/dist/services/menu-catalog.js.map +1 -0
- package/dist/services/workflow-add-step.d.ts +45 -0
- package/dist/services/workflow-add-step.d.ts.map +1 -0
- package/dist/services/workflow-add-step.js +122 -0
- package/dist/services/workflow-add-step.js.map +1 -0
- package/dist/services/workflow-assign-flow.d.ts +1 -6
- package/dist/services/workflow-assign-flow.d.ts.map +1 -1
- package/dist/services/workflow-assign-flow.js +3 -8
- package/dist/services/workflow-assign-flow.js.map +1 -1
- package/dist/services/workflow-drawback.d.ts +19 -0
- package/dist/services/workflow-drawback.d.ts.map +1 -0
- package/dist/services/workflow-drawback.js +59 -0
- package/dist/services/workflow-drawback.js.map +1 -0
- package/dist/services/workflow-links.d.ts +51 -0
- package/dist/services/workflow-links.d.ts.map +1 -0
- package/dist/services/workflow-links.js +162 -0
- package/dist/services/workflow-links.js.map +1 -0
- package/dist/services/workflow-node-layout.d.ts +45 -4
- package/dist/services/workflow-node-layout.d.ts.map +1 -1
- package/dist/services/workflow-node-layout.js +142 -41
- package/dist/services/workflow-node-layout.js.map +1 -1
- package/dist/services/workflow-odoc-setting.d.ts +43 -0
- package/dist/services/workflow-odoc-setting.d.ts.map +1 -0
- package/dist/services/workflow-odoc-setting.js +100 -0
- package/dist/services/workflow-odoc-setting.js.map +1 -0
- package/dist/services/workflow-tab-config.d.ts +54 -0
- package/dist/services/workflow-tab-config.d.ts.map +1 -0
- package/dist/services/workflow-tab-config.js +137 -0
- package/dist/services/workflow-tab-config.js.map +1 -0
- package/dist/types.d.ts +5 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +48 -48
- package/skill-docs/SKILL.md +7 -7
- package/skill-docs/_catalog.md +2 -0
- package/skill-docs/actionflows/SKILL.md +2 -0
- package/skill-docs/actionflows/references/components/ebuilder/ActionEbAdd.md +38 -1
- package/skill-docs/actionflows/references/components/ebuilder/ActionEbUpdate.md +42 -0
- package/skill-docs/actionflows/references/components/ebuilder/EventButton.md +1 -1
- package/skill-docs/actionflows/references/components/logic/Output.md +2 -0
- package/skill-docs/actionflows/references/components/trigger/CustomTrigger.md +16 -11
- package/skill-docs/assets/dom-structure/Bar.json +341 -0
- package/skill-docs/assets/dom-structure/BarStack.json +341 -0
- package/skill-docs/assets/dom-structure/Bubble.json +323 -0
- package/skill-docs/assets/dom-structure/Calendar.json +515 -0
- package/skill-docs/assets/dom-structure/Circular.json +337 -0
- package/skill-docs/assets/dom-structure/CollapsePanel.json +289 -0
- package/skill-docs/assets/dom-structure/Comment.json +617 -0
- package/skill-docs/assets/dom-structure/CountDown.json +755 -0
- package/skill-docs/assets/dom-structure/DigitalPanel.json +191 -0
- package/skill-docs/assets/dom-structure/EbButton.json +387 -0
- package/skill-docs/assets/dom-structure/FastCreate.json +242 -0
- package/skill-docs/assets/dom-structure/Gauge.json +282 -0
- package/skill-docs/assets/dom-structure/HBar.json +336 -0
- package/skill-docs/assets/dom-structure/HBarStack.json +337 -0
- package/skill-docs/assets/dom-structure/Line.json +341 -0
- package/skill-docs/assets/dom-structure/NList.json +712 -0
- package/skill-docs/assets/dom-structure/NavBar.json +274 -0
- package/skill-docs/assets/dom-structure/NavPanel.json +390 -0
- package/skill-docs/assets/dom-structure/NewTab.json +606 -0
- package/skill-docs/assets/dom-structure/Nightingale.json +336 -0
- package/skill-docs/assets/dom-structure/PageHeader.json +205 -0
- package/skill-docs/assets/dom-structure/Picture.json +209 -0
- package/skill-docs/assets/dom-structure/Pie.json +338 -0
- package/skill-docs/assets/dom-structure/ProgressChart.json +299 -0
- package/skill-docs/assets/dom-structure/SearchGlobal.json +628 -0
- package/skill-docs/assets/dom-structure/Slide.json +489 -0
- package/skill-docs/assets/dom-structure/Treemap.json +324 -0
- package/skill-docs/references/common/guide-plan-template.md +1 -1
- package/skill-docs/references/common/ref-cli-commands.md +21 -13
- package/skill-docs/references/ebuilder-designer/guide-designer-components.md +12 -1
- package/skill-docs/references/ebuilder-designer/guide-designer-css.md +127 -0
- package/skill-docs/references/ebuilder-designer/guide-designer.md +6 -5
- package/skill-docs/references/form/guide-create-form.md +1 -1
- package/skill-docs/references/form/guide-form-layout-planning.md +1 -1
- package/skill-docs/references/form/guide-form-linkage.md +28 -2
- package/skill-docs/references/menu/system-menus.md +12 -0
- package/skill-docs/references/workflow/guide-workflow-odoc.md +22 -2
- package/skill-docs/references/workflow/guide-workflow.md +18 -3
package/dist/commands/form.js
CHANGED
|
@@ -7,7 +7,7 @@ import { FormSubDetailService, resolveDetailTable } from '../services/form-sub-d
|
|
|
7
7
|
import { RICH_TYPE_MAP, getRichType, richIdUnits, BROWSER_KINDS } from '../services/rich-types.js';
|
|
8
8
|
import { dropFieldComponents, prepareLayoutForSave } from '../services/form-field-drop.js';
|
|
9
9
|
import { describeEditBaseFailure, resolveEditBase as resolveEditBasePure } from '../services/form-edit-base.js';
|
|
10
|
-
import { applyFieldPatches } from '../services/form-field-patch.js';
|
|
10
|
+
import { applyFieldPatches, platformFieldShape } from '../services/form-field-patch.js';
|
|
11
11
|
import { ensureDisplayColumns } from '../services/form-ebuilder-columns.js';
|
|
12
12
|
import { buildFormulaParameters, defaultReturnType } from '../services/formula-detail.js';
|
|
13
13
|
import { registerOptionTemplateCommand } from './form-option-template.js';
|
|
@@ -2645,6 +2645,7 @@ export function registerFormCommands(program) {
|
|
|
2645
2645
|
.option('--title <title>', '修改字段标题')
|
|
2646
2646
|
.option('--type <type>', '修改字段类型(如 Text/Number/Date/Select/Department;取值同 form add-field 的 <fieldType>)。'
|
|
2647
2647
|
+ '⚠ 字段已有数据时平台会拒绝')
|
|
2648
|
+
.option('--format <fmt>', '日期精度格式,配合 --type Date/DateTime(缺省 Date=yyyy-MM-dd、DateTime=yyyy-MM-dd HH:mm)')
|
|
2648
2649
|
.option('--required', '设为必填')
|
|
2649
2650
|
.option('--no-required', '取消必填')
|
|
2650
2651
|
.option('--sform-id <id>', 'EBuilder 关联的目标表单 objId(更新关联)')
|
|
@@ -2725,16 +2726,10 @@ export function registerFormCommands(program) {
|
|
|
2725
2726
|
console.error(`读到的字段定义里没有 type(fieldId=${fieldId}),拒绝写回 —— 全量覆盖会把它改成默认类型。`);
|
|
2726
2727
|
process.exit(1);
|
|
2727
2728
|
}
|
|
2728
|
-
// 兜底补 componentKey:saveFormFieldNew
|
|
2729
|
-
//
|
|
2729
|
+
// 兜底补 componentKey:saveFormFieldNew 要求非空(getComponentKey() 为 null 直接 500)。
|
|
2730
|
+
// 用平台归一的 componentKey(`platformFieldShape`),不是 CLI 类型名 —— 见下方改类型分支的说明。
|
|
2730
2731
|
if (!jsonObj.componentKey) {
|
|
2731
|
-
|
|
2732
|
-
Date: 'DateComponent', DateTime: 'DateComponent', Text: 'Text', Textarea: 'TextArea', Number: 'NumberComponent',
|
|
2733
|
-
Money: 'Money', Select: 'Select', CheckBox: 'CheckBox', RadioBox: 'RadioBox',
|
|
2734
|
-
Employee: 'Employee', Department: 'Department', EBuilder: 'Ebuilder',
|
|
2735
|
-
Phone: 'Phone', Email: 'Email', Mobile: 'Mobile', Location: 'Location', Switch: 'Switch', IDCard: 'IDCard',
|
|
2736
|
-
};
|
|
2737
|
-
jsonObj.componentKey = CK[jsonObj.type] || jsonObj.type;
|
|
2732
|
+
jsonObj.componentKey = platformFieldShape(String(jsonObj.type)).componentKey;
|
|
2738
2733
|
}
|
|
2739
2734
|
// Apply title change
|
|
2740
2735
|
if (editOpts.title) {
|
|
@@ -2745,6 +2740,7 @@ export function registerFormCommands(program) {
|
|
|
2745
2740
|
// `type` 取值与 add-field 一致(CLI 规范名;富组件换成 platformType + componentKey),
|
|
2746
2741
|
// 回读时对应显示为 `form read` 的 fieldKey(如 Number→NumberComponent)。
|
|
2747
2742
|
// ⚠ 字段**已存在数据**时平台会拒绝改结构(报「此列已存在数据不可修改数据库字段名称」)。
|
|
2743
|
+
let typeChangeApplied = false;
|
|
2748
2744
|
if (editOpts.type) {
|
|
2749
2745
|
const targetType = canonComponentKey(editOpts.type);
|
|
2750
2746
|
assertFieldType(targetType, 'edit-field ');
|
|
@@ -2753,14 +2749,72 @@ export function registerFormCommands(program) {
|
|
|
2753
2749
|
console.error(`改成 ${targetType} 需要同时指定 --sform-id <目标表 objId>(Flow 用流程绑定的表单 objId)`);
|
|
2754
2750
|
process.exit(1);
|
|
2755
2751
|
}
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2752
|
+
const richTarget = getRichType(targetType);
|
|
2753
|
+
const shape = platformFieldShape(targetType);
|
|
2754
|
+
const desiredFormat = editOpts.format || shape.format;
|
|
2755
|
+
// 变更判定要按**平台形状**比,不能只比类型名:
|
|
2756
|
+
// 「日期」与「日期时间」在存储层同为 `type=Date` + `componentKey=DateComponent`,
|
|
2757
|
+
// 只有 `format` 不同(yyyy-MM-dd vs yyyy-MM-dd HH:mm)。只比 type 会把
|
|
2758
|
+
// 「DateTime → Date」判成没变化而静默跳过,精度留在原地 —— 命令报成功、字段没动。
|
|
2759
|
+
const typeChanged = richTarget
|
|
2760
|
+
? targetType !== String(jsonObj.componentKey ?? '')
|
|
2761
|
+
: shape.type !== String(jsonObj.type)
|
|
2762
|
+
|| shape.componentKey !== String(jsonObj.componentKey ?? '')
|
|
2763
|
+
|| (shape.format !== undefined && String(desiredFormat) !== String(jsonObj.format ?? ''));
|
|
2764
|
+
if (editOpts.format && shape.format === undefined) {
|
|
2765
|
+
console.error(`--format 只对 Date / DateTime 有意义,${targetType} 没有这个属性,已忽略。`);
|
|
2766
|
+
}
|
|
2767
|
+
typeChangeApplied = typeChanged;
|
|
2768
|
+
if (typeChanged) {
|
|
2769
|
+
if (richTarget) {
|
|
2770
|
+
jsonObj.type = richTarget.platformType;
|
|
2760
2771
|
jsonObj.componentKey = richTarget.platformComponentKey;
|
|
2761
|
-
|
|
2762
|
-
else
|
|
2763
|
-
|
|
2772
|
+
}
|
|
2773
|
+
else {
|
|
2774
|
+
// 非富组件:写**平台归一形状**,不是 CLI 类型名。
|
|
2775
|
+
// 曾经的 bug:这里写的是 `delete jsonObj.componentKey`(想让平台按新 type 推导),
|
|
2776
|
+
// 而上面那段兜底补 componentKey 在**这之前**就执行完了 → 改完没人再补 →
|
|
2777
|
+
// 全量覆盖时缺键 → `getComponentKey() is null` 500「程序异常」,字段改不动。
|
|
2778
|
+
// 而平台的 componentKey 也不是类型名:送 `componentKey=Date` 配 `type=DateTime`
|
|
2779
|
+
// 照样 500,必须是 `DateComponent`。
|
|
2780
|
+
jsonObj.type = shape.type;
|
|
2781
|
+
jsonObj.componentKey = shape.componentKey;
|
|
2782
|
+
// 日期/日期时间/时间:精度全靠 format,平台**不会**补默认值
|
|
2783
|
+
// (只送 type+componentKey 会存成 format 为空)。所以一起写。
|
|
2784
|
+
if (shape.format !== undefined)
|
|
2785
|
+
jsonObj.format = desiredFormat;
|
|
2786
|
+
// 切到用不到 format 的类型时清掉旧值,免得留个说不清来路的精度配置
|
|
2787
|
+
else if (jsonObj.format !== undefined)
|
|
2788
|
+
delete jsonObj.format;
|
|
2789
|
+
// 日期区间还要 `start`/`end` 两个 DateComponent 子对象(各带一个新 fieldId)。
|
|
2790
|
+
// 少了平台直接 500:`DateIntervalFieldDto.getEnd() is null`。
|
|
2791
|
+
// 子 id 对齐 add-field 的建法现取。
|
|
2792
|
+
if (targetType === 'DateRange' || targetType === 'DateInterval') {
|
|
2793
|
+
const idsRes = await client.post(`${baseUrl}/api/form/local/generatorIds?size=2&apid=${appId}`, {});
|
|
2794
|
+
const ids = (idsRes?.data?.generatorIds || []).map(String);
|
|
2795
|
+
if (ids.length < 2) {
|
|
2796
|
+
console.error('日期区间需要两个子字段 ID,服务端未返回,已中止(字段未改动)。');
|
|
2797
|
+
process.exit(1);
|
|
2798
|
+
}
|
|
2799
|
+
const fmt = desiredFormat || 'yyyy-MM-dd';
|
|
2800
|
+
const rangeTitle = String(jsonObj.title || '');
|
|
2801
|
+
const start = {
|
|
2802
|
+
componentKey: 'DateComponent', content: '', describe: '', earlyDate: 'false',
|
|
2803
|
+
format: fmt, isDefault: 'false', lateDate: 'false',
|
|
2804
|
+
placeholder: placeholderFromFormat(fmt),
|
|
2805
|
+
position: '', relateMultiple: 'false', required: 'false', size: 'medium',
|
|
2806
|
+
title: `${rangeTitle}(开始时间)`, fieldId: ids[0],
|
|
2807
|
+
min: { type: 'currentHour' }, max: { type: 'currentHour' },
|
|
2808
|
+
};
|
|
2809
|
+
Object.assign(jsonObj, {
|
|
2810
|
+
isDefault: false,
|
|
2811
|
+
start,
|
|
2812
|
+
end: { ...start, title: `${rangeTitle}(结束时间)`, fieldId: ids[1] },
|
|
2813
|
+
hasDisplayFormat: true,
|
|
2814
|
+
rangeInterval: { limitType: 'max', timeUnit: 'day' },
|
|
2815
|
+
});
|
|
2816
|
+
}
|
|
2817
|
+
}
|
|
2764
2818
|
// 富组件还要补**附加配置**,否则改出来的字段是残缺的:
|
|
2765
2819
|
// add-field 走的是同一张表的 build(),两边不一致会导致「新建的对、改类型的错」
|
|
2766
2820
|
// (实测 Time:改出来缺 minuteStep/timePanelStyle/defaultExtend,earlyDate/lateDate
|
|
@@ -2956,8 +3010,11 @@ export function registerFormCommands(program) {
|
|
|
2956
3010
|
const changes = [];
|
|
2957
3011
|
if (editOpts.title)
|
|
2958
3012
|
changes.push(`title="${editOpts.title}"`);
|
|
2959
|
-
|
|
2960
|
-
|
|
3013
|
+
// 只有**真的换了形状**才回显类型。原样重跑同一类型(尤其 Date/DateTime 在存储层同为
|
|
3014
|
+
// type=Date)时没做任何改动,回显「type=…」会让人以为写过了。
|
|
3015
|
+
if (editOpts.type) {
|
|
3016
|
+
changes.push(typeChangeApplied ? `type=${editOpts.type}` : `type=${editOpts.type}(未变化)`);
|
|
3017
|
+
}
|
|
2961
3018
|
if (editOpts.required)
|
|
2962
3019
|
changes.push('required');
|
|
2963
3020
|
if (editOpts.noRequired)
|