weaver-e10-builder 1.5.10 → 1.5.11
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/app.d.ts.map +1 -1
- package/dist/commands/app.js +159 -8
- package/dist/commands/app.js.map +1 -1
- package/dist/commands/designer-setters.d.ts.map +1 -1
- package/dist/commands/designer-setters.js +26 -4
- package/dist/commands/designer-setters.js.map +1 -1
- package/dist/commands/form-association-manage.d.ts.map +1 -1
- package/dist/commands/form-association-manage.js +3 -0
- package/dist/commands/form-association-manage.js.map +1 -1
- package/dist/commands/form-button-actions-cmd.d.ts +3 -0
- package/dist/commands/form-button-actions-cmd.d.ts.map +1 -0
- package/dist/commands/form-button-actions-cmd.js +309 -0
- package/dist/commands/form-button-actions-cmd.js.map +1 -0
- package/dist/commands/form-button-permission-cmd.d.ts +3 -0
- package/dist/commands/form-button-permission-cmd.d.ts.map +1 -0
- package/dist/commands/form-button-permission-cmd.js +132 -0
- package/dist/commands/form-button-permission-cmd.js.map +1 -0
- package/dist/commands/form-button-props-cmd.d.ts +3 -0
- package/dist/commands/form-button-props-cmd.d.ts.map +1 -0
- package/dist/commands/form-button-props-cmd.js +236 -0
- package/dist/commands/form-button-props-cmd.js.map +1 -0
- package/dist/commands/form-button.d.ts.map +1 -1
- package/dist/commands/form-button.js +82 -55
- package/dist/commands/form-button.js.map +1 -1
- package/dist/commands/form-formula-linkage.d.ts.map +1 -1
- package/dist/commands/form-formula-linkage.js +154 -63
- package/dist/commands/form-formula-linkage.js.map +1 -1
- package/dist/commands/form-list-permission.d.ts.map +1 -1
- package/dist/commands/form-list-permission.js +29 -3
- package/dist/commands/form-list-permission.js.map +1 -1
- package/dist/commands/form-list-search-group.d.ts.map +1 -1
- package/dist/commands/form-list-search-group.js +66 -3
- package/dist/commands/form-list-search-group.js.map +1 -1
- package/dist/commands/form-list-utils.d.ts +14 -0
- package/dist/commands/form-list-utils.d.ts.map +1 -1
- package/dist/commands/form-list-utils.js +65 -4
- package/dist/commands/form-list-utils.js.map +1 -1
- package/dist/commands/form-message.d.ts.map +1 -1
- package/dist/commands/form-message.js +16 -4
- package/dist/commands/form-message.js.map +1 -1
- package/dist/commands/form-permission.d.ts +20 -0
- package/dist/commands/form-permission.d.ts.map +1 -1
- package/dist/commands/form-permission.js +69 -11
- package/dist/commands/form-permission.js.map +1 -1
- package/dist/commands/menu-permission.d.ts.map +1 -1
- package/dist/commands/menu-permission.js +6 -7
- package/dist/commands/menu-permission.js.map +1 -1
- package/dist/commands/menu.d.ts.map +1 -1
- package/dist/commands/menu.js +63 -40
- package/dist/commands/menu.js.map +1 -1
- package/dist/commands/wf-form.d.ts.map +1 -1
- package/dist/commands/wf-form.js +56 -36
- package/dist/commands/wf-form.js.map +1 -1
- package/dist/commands/workflow-function-management.d.ts +5 -0
- package/dist/commands/workflow-function-management.d.ts.map +1 -0
- package/dist/commands/workflow-function-management.js +91 -0
- package/dist/commands/workflow-function-management.js.map +1 -0
- package/dist/commands/workflow-node-assign-flow.d.ts.map +1 -1
- package/dist/commands/workflow-node-assign-flow.js +1 -0
- package/dist/commands/workflow-node-assign-flow.js.map +1 -1
- package/dist/commands/workflow-node-sign.d.ts +0 -12
- package/dist/commands/workflow-node-sign.d.ts.map +1 -1
- package/dist/commands/workflow-node-sign.js +31 -102
- package/dist/commands/workflow-node-sign.js.map +1 -1
- package/dist/commands/workflow-opinion-settings.d.ts +5 -0
- package/dist/commands/workflow-opinion-settings.d.ts.map +1 -0
- package/dist/commands/workflow-opinion-settings.js +51 -0
- package/dist/commands/workflow-opinion-settings.js.map +1 -0
- package/dist/commands/workflow-subprocess.d.ts.map +1 -1
- package/dist/commands/workflow-subprocess.js +370 -20
- package/dist/commands/workflow-subprocess.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +35 -61
- package/dist/commands/workflow.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/services/actionflow/calendar_mapper.d.ts.map +1 -1
- package/dist/services/actionflow/calendar_mapper.js +30 -4
- package/dist/services/actionflow/calendar_mapper.js.map +1 -1
- package/dist/services/actionflow/component_registry.d.ts.map +1 -1
- package/dist/services/actionflow/component_registry.js +6 -0
- package/dist/services/actionflow/component_registry.js.map +1 -1
- package/dist/services/actionflow/components/meeting_create.d.ts.map +1 -1
- package/dist/services/actionflow/components/meeting_create.js +5 -1
- package/dist/services/actionflow/components/meeting_create.js.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.js +15 -3
- package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts +7 -0
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +25 -0
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/app-publish.d.ts +25 -0
- package/dist/services/app-publish.d.ts.map +1 -1
- package/dist/services/app-publish.js +38 -0
- package/dist/services/app-publish.js.map +1 -1
- package/dist/services/app-range.d.ts +66 -0
- package/dist/services/app-range.d.ts.map +1 -0
- package/dist/services/app-range.js +137 -0
- package/dist/services/app-range.js.map +1 -0
- package/dist/services/form-association.d.ts +13 -0
- package/dist/services/form-association.d.ts.map +1 -1
- package/dist/services/form-association.js +42 -0
- package/dist/services/form-association.js.map +1 -1
- package/dist/services/form-button-action.d.ts +82 -0
- package/dist/services/form-button-action.d.ts.map +1 -1
- package/dist/services/form-button-action.js +194 -2
- package/dist/services/form-button-action.js.map +1 -1
- package/dist/services/form-button-condition.d.ts +45 -0
- package/dist/services/form-button-condition.d.ts.map +1 -0
- package/dist/services/form-button-condition.js +106 -0
- package/dist/services/form-button-condition.js.map +1 -0
- package/dist/services/form-button-context.d.ts +41 -0
- package/dist/services/form-button-context.d.ts.map +1 -0
- package/dist/services/form-button-context.js +54 -0
- package/dist/services/form-button-context.js.map +1 -0
- package/dist/services/form-button-logicflow.d.ts +30 -0
- package/dist/services/form-button-logicflow.d.ts.map +1 -0
- package/dist/services/form-button-logicflow.js +59 -0
- package/dist/services/form-button-logicflow.js.map +1 -0
- package/dist/services/form-button-org.d.ts +30 -0
- package/dist/services/form-button-org.d.ts.map +1 -0
- package/dist/services/form-button-org.js +80 -0
- package/dist/services/form-button-org.js.map +1 -0
- package/dist/services/form-button-permission.d.ts +65 -0
- package/dist/services/form-button-permission.d.ts.map +1 -0
- package/dist/services/form-button-permission.js +113 -0
- package/dist/services/form-button-permission.js.map +1 -0
- package/dist/services/form-button-position.d.ts +4 -18
- package/dist/services/form-button-position.d.ts.map +1 -1
- package/dist/services/form-button-position.js +4 -36
- package/dist/services/form-button-position.js.map +1 -1
- package/dist/services/form-button-props.d.ts +55 -0
- package/dist/services/form-button-props.d.ts.map +1 -0
- package/dist/services/form-button-props.js +90 -0
- package/dist/services/form-button-props.js.map +1 -0
- package/dist/services/form-button-save.d.ts +49 -0
- package/dist/services/form-button-save.d.ts.map +1 -0
- package/dist/services/form-button-save.js +54 -0
- package/dist/services/form-button-save.js.map +1 -0
- package/dist/services/form-formula-linkage.d.ts +116 -20
- package/dist/services/form-formula-linkage.d.ts.map +1 -1
- package/dist/services/form-formula-linkage.js +250 -38
- package/dist/services/form-formula-linkage.js.map +1 -1
- package/dist/services/form-list-search-group.d.ts +17 -2
- package/dist/services/form-list-search-group.d.ts.map +1 -1
- package/dist/services/form-list-search-group.js +29 -12
- package/dist/services/form-list-search-group.js.map +1 -1
- package/dist/services/form-list-search.d.ts.map +1 -1
- package/dist/services/form-list-search.js +4 -0
- package/dist/services/form-list-search.js.map +1 -1
- package/dist/services/form-list-stats.d.ts.map +1 -1
- package/dist/services/form-list-stats.js +9 -2
- package/dist/services/form-list-stats.js.map +1 -1
- package/dist/services/form-message.d.ts +26 -7
- package/dist/services/form-message.d.ts.map +1 -1
- package/dist/services/form-message.js +52 -5
- package/dist/services/form-message.js.map +1 -1
- package/dist/services/form-permission-archive.d.ts +9 -1
- package/dist/services/form-permission-archive.d.ts.map +1 -1
- package/dist/services/form-permission-archive.js +38 -22
- package/dist/services/form-permission-archive.js.map +1 -1
- package/dist/services/form-view-populate.d.ts.map +1 -1
- package/dist/services/form-view-populate.js +7 -0
- package/dist/services/form-view-populate.js.map +1 -1
- package/dist/services/icon-path.d.ts +70 -0
- package/dist/services/icon-path.d.ts.map +1 -0
- package/dist/services/icon-path.js +80 -0
- package/dist/services/icon-path.js.map +1 -0
- package/dist/services/matrix-condition.d.ts +161 -0
- package/dist/services/matrix-condition.d.ts.map +1 -0
- package/dist/services/matrix-condition.js +403 -0
- package/dist/services/matrix-condition.js.map +1 -0
- package/dist/services/menu-catalog.d.ts +33 -0
- package/dist/services/menu-catalog.d.ts.map +1 -1
- package/dist/services/menu-catalog.js +56 -0
- package/dist/services/menu-catalog.js.map +1 -1
- package/dist/services/permission-entity.d.ts +55 -0
- package/dist/services/permission-entity.d.ts.map +1 -0
- package/dist/services/permission-entity.js +79 -0
- package/dist/services/permission-entity.js.map +1 -0
- package/dist/services/workflow-assign-flow.d.ts.map +1 -1
- package/dist/services/workflow-assign-flow.js.map +1 -1
- package/dist/services/workflow-function-management.d.ts +123 -0
- package/dist/services/workflow-function-management.d.ts.map +1 -0
- package/dist/services/workflow-function-management.js +425 -0
- package/dist/services/workflow-function-management.js.map +1 -0
- package/dist/services/workflow-matrix-rule.d.ts +34 -0
- package/dist/services/workflow-matrix-rule.d.ts.map +1 -0
- package/dist/services/workflow-matrix-rule.js +94 -0
- package/dist/services/workflow-matrix-rule.js.map +1 -0
- package/dist/services/workflow-opinion-settings.d.ts +67 -0
- package/dist/services/workflow-opinion-settings.d.ts.map +1 -0
- package/dist/services/workflow-opinion-settings.js +328 -0
- package/dist/services/workflow-opinion-settings.js.map +1 -0
- package/package.json +1 -1
- package/skill-docs/SKILL.md +5 -5
- package/skill-docs/_catalog.md +3 -0
- package/skill-docs/actionflows/references/components/calendar/MeetingCreate.md +2 -0
- package/skill-docs/actionflows/references/components/workflow/ApproveDelete.md +1 -1
- package/skill-docs/references/common/ref-cli-commands.md +60 -22
- package/skill-docs/references/ebuilder-designer/guide-designer-components.md +9 -0
- package/skill-docs/references/form/guide-form-archive-permission.md +55 -2
- package/skill-docs/references/form/guide-form-association.md +13 -0
- package/skill-docs/references/form/guide-form-button.md +87 -0
- package/skill-docs/references/form/guide-form-message.md +19 -2
- package/skill-docs/references/form/guide-form-view.md +23 -3
- package/skill-docs/references/form/guide-formula-linkage.md +42 -11
- package/skill-docs/references/workflow/guide-function-management.md +154 -0
- package/skill-docs/references/workflow/guide-opinion-settings.md +126 -0
- package/skill-docs/references/workflow/guide-workflow.md +22 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-association-manage.js","sourceRoot":"","sources":["../../src/commands/form-association-manage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAA2B,MAAM,iCAAiC,CAAC;AAE9F,SAAS,SAAS,CAAC,KAAa,EAAE,KAAa;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,GAAQ;IACvB,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACzH,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS;QAC/G,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM;QAC3F,QAAQ,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC;QACxF,WAAW,EAAE,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE,CAAC;AAC3G,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAAc,EAAE,OAAgB;IAChF,KAAK,UAAU,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,SAAwD;QACvG,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAiB,CAAC,CAAC;YAC1E,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,kBAAkB,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC7G,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QAAC,CAAC;IAC9E,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;SAC7F,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO;SAC3C,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;SAC9C,MAAM,CAAC,uBAAuB,EAAE,uDAAuD,CAAC;SACxF,MAAM,CAAC,2BAA2B,EAAE,uBAAuB,CAAC;SAC5D,MAAM,CAAC,wBAAwB,EAAE,UAAU,CAAC;SAC5C,MAAM,CAAC,yBAAyB,EAAE,8DAA8D,CAAC,CAAC;IAErG,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC;SACrC,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC;SAC1C,MAAM,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAElH,IAAI,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACpC,cAAc,CAAC,kBAAkB,EAAE,eAAe,CAAC;SACnD,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC;SAC1C,MAAM,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;QACpF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC,CAAC;IAEN,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,wCAAwC,CAAC;SAC9D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC1B,cAAc,CAAC,kBAAkB,EAAE,eAAe,CAAC;SACnD,cAAc,CAAC,4BAA4B,EAAE,gFAAgF,CAAC,CAAC;SAC/H,MAAM,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,IAAY,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7I,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,2BAA2B,CAAC;SACjD,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC;SACtC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC;SAChC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC;SACpC,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;SAC3C,MAAM,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,EAAU,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE;QAC1F,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9I,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC,CAAC;IAEN,IAAI,CAAC,YAAY,EAAE,yCAAyC,CAAC;SAC1D,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC;SACtC,cAAc,CAAC,yBAAyB,EAAE,2CAA2C,CAAC;SACtF,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC;SACtC,MAAM,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,EAAU,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAElI,IAAI,CAAC,cAAc,EAAE,wBAAwB,CAAC;SAC3C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC;SACtC,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC;SACtC,MAAM,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,EAAU,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5J,CAAC"}
|
|
1
|
+
{"version":3,"file":"form-association-manage.js","sourceRoot":"","sources":["../../src/commands/form-association-manage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAA2B,MAAM,iCAAiC,CAAC;AAE9F,SAAS,SAAS,CAAC,KAAa,EAAE,KAAa;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,GAAQ;IACvB,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACzH,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS;QAC/G,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM;QAC3F,QAAQ,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC;QACxF,WAAW,EAAE,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE,CAAC;AAC3G,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAAc,EAAE,OAAgB;IAChF,KAAK,UAAU,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,SAAwD;QACvG,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAiB,CAAC,CAAC;YAC1E,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,kBAAkB,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC7G,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QAAC,CAAC;IAC9E,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;SAC7F,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO;SAC3C,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;SAC9C,MAAM,CAAC,uBAAuB,EAAE,uDAAuD,CAAC;SACxF,MAAM,CAAC,2BAA2B,EAAE,uBAAuB,CAAC;SAC5D,MAAM,CAAC,wBAAwB,EAAE,UAAU,CAAC;SAC5C,MAAM,CAAC,yBAAyB,EAAE,8DAA8D,CAAC,CAAC;IAErG,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC;SACrC,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC;SAC1C,MAAM,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAElH,IAAI,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACpC,cAAc,CAAC,kBAAkB,EAAE,eAAe,CAAC;SACnD,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC;SAC1C,MAAM,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;QACpF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC,CAAC;IAEN,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,wCAAwC,CAAC;SAC9D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC1B,cAAc,CAAC,kBAAkB,EAAE,eAAe,CAAC;SACnD,cAAc,CAAC,4BAA4B,EAAE,gFAAgF,CAAC,CAAC;SAC/H,MAAM,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,IAAY,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7I,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,2BAA2B,CAAC;SACjD,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC;SACtC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC;SAChC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC;SACpC,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;SAC3C,MAAM,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,EAAU,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE;QAC1F,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9I,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC,CAAC;IAEN,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SACzC,QAAQ,CAAC,iBAAiB,EAAE,eAAe,CAAC;SAC5C,MAAM,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,QAAgB,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtH,IAAI,CAAC,YAAY,EAAE,yCAAyC,CAAC;SAC1D,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC;SACtC,cAAc,CAAC,yBAAyB,EAAE,2CAA2C,CAAC;SACtF,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC;SACtC,MAAM,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,EAAU,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAElI,IAAI,CAAC,cAAc,EAAE,wBAAwB,CAAC;SAC3C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC;SACtC,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC;SACtC,MAAM,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,EAAU,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5J,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-button-actions-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/form-button-actions-cmd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyHpC,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAiLxF"}
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { AuthSession } from '../core/auth.js';
|
|
3
|
+
import { ApiClient } from '../core/client.js';
|
|
4
|
+
import { fetchFields } from './form-list-utils.js';
|
|
5
|
+
import { readButtonContext } from '../services/form-button-context.js';
|
|
6
|
+
import { saveButtonState, assertUntouched } from '../services/form-button-save.js';
|
|
7
|
+
import { buildPlatformButtonAction, buildUrlButtonAction, buildConfirmBoxAction, buildJsCodeAction, buildEditFieldValueAction, buildExecLogicFlowAction, buildFieldEditEntry, normalizeActionIndexes, actionLabel, mappingInputs, verifyButtonAction, decodeEcode, } from '../services/form-button-action.js';
|
|
8
|
+
import { AssociationService, buildUrlActionParams } from '../services/form-association.js';
|
|
9
|
+
import { resolveLogicFlow } from '../services/form-button-logicflow.js';
|
|
10
|
+
/** MSYS 会把 `/sp/...` 这种相对路径改写成 `D:/Program Files/Git/sp/...`,这里掰回来。 */
|
|
11
|
+
function fixMsysPath(url) {
|
|
12
|
+
const match = url.match(/^[A-Za-z]:[/\\].+?(\/(?:sp|page)\/.+)$/);
|
|
13
|
+
return match ? match[1] : url;
|
|
14
|
+
}
|
|
15
|
+
/** 动作列表里按「序号(从 1 起)」或「动作 id」定位。 */
|
|
16
|
+
function findAction(actions, selector) {
|
|
17
|
+
const raw = String(selector).trim();
|
|
18
|
+
if (/^\d+$/.test(raw)) {
|
|
19
|
+
const index = Number(raw) - 1;
|
|
20
|
+
if (index < 0 || index >= actions.length) {
|
|
21
|
+
throw new Error(`序号 ${raw} 越界(当前 ${actions.length} 条,序号从 1 起)`);
|
|
22
|
+
}
|
|
23
|
+
return { action: actions[index], index };
|
|
24
|
+
}
|
|
25
|
+
const index = actions.findIndex((a) => String(a?.id ?? '') === raw);
|
|
26
|
+
if (index < 0)
|
|
27
|
+
throw new Error(`找不到动作 ${raw}(用 form button action 看现有列表)`);
|
|
28
|
+
return { action: actions[index], index };
|
|
29
|
+
}
|
|
30
|
+
/** 列一条动作的摘要。 */
|
|
31
|
+
function describeAction(action) {
|
|
32
|
+
const type = String(action?.actionType ?? '');
|
|
33
|
+
if (type === 'ExecLogicFlow') {
|
|
34
|
+
const flow = (action?.execLogicFlow?.data ?? [])[0];
|
|
35
|
+
return flow ? String(flow.name ?? flow.id ?? '') : '(空壳,未绑流)';
|
|
36
|
+
}
|
|
37
|
+
if (type === 'jsCode')
|
|
38
|
+
return `脚本 ${decodeEcode(action?.ecode).length} 字符`;
|
|
39
|
+
if (type === 'confirmBox')
|
|
40
|
+
return String(action?.confirmTitle ?? '');
|
|
41
|
+
if (type === 'editFieldValue') {
|
|
42
|
+
try {
|
|
43
|
+
return `${(JSON.parse(action?.fieldEditConfig || '[]') || []).length} 个字段`;
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return '配置解析失败';
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (type === 'openpage') {
|
|
50
|
+
try {
|
|
51
|
+
return String(JSON.parse(action?.url || '{}')?.page?.pageId ?? '');
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return '';
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return '';
|
|
58
|
+
}
|
|
59
|
+
/** 「编辑字段值」的字段:给 fieldId 或字段标题都行。 */
|
|
60
|
+
function resolveFieldId(fields, token) {
|
|
61
|
+
const raw = String(token).trim();
|
|
62
|
+
const byId = fields.find((f) => String(f.id) === raw);
|
|
63
|
+
if (byId)
|
|
64
|
+
return String(byId.id);
|
|
65
|
+
const byTitle = fields.filter((f) => String(f.text ?? f.title ?? '') === raw);
|
|
66
|
+
if (byTitle.length === 1)
|
|
67
|
+
return String(byTitle[0].id);
|
|
68
|
+
if (byTitle.length > 1)
|
|
69
|
+
throw new Error(`字段「${raw}」重名,请改用 fieldId`);
|
|
70
|
+
throw new Error(`字段「${raw}」不存在(给 fieldId 或字段标题)`);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* 回读校验:先比动作**类型序列**(对得上说明没有多一条少一条),
|
|
74
|
+
* 再按类型比各自的稳定键。平台会重排 `index`、给新动作分配正式 id,这两样不比。
|
|
75
|
+
*/
|
|
76
|
+
function verifyActions(expected, actual) {
|
|
77
|
+
const types = (list) => list.map((a) => String(a?.actionType ?? '')).join(',');
|
|
78
|
+
if (types(expected) !== types(actual)) {
|
|
79
|
+
throw new Error(`已提交,但动作回读不一致:期望 [${types(expected)}],回读 [${types(actual)}]`);
|
|
80
|
+
}
|
|
81
|
+
for (let i = 0; i < expected.length; i += 1) {
|
|
82
|
+
const want = expected[i];
|
|
83
|
+
const got = actual[i];
|
|
84
|
+
switch (want.actionType) {
|
|
85
|
+
case 'openpage':
|
|
86
|
+
verifyButtonAction(want, got);
|
|
87
|
+
break;
|
|
88
|
+
case 'confirmBox':
|
|
89
|
+
for (const key of ['confirmTitle', 'confirmContent', 'confirmTrue', 'confirmFalse']) {
|
|
90
|
+
if (String(want[key] ?? '') !== String(got[key] ?? ''))
|
|
91
|
+
throw new Error(`已提交,但确认框 ${key} 回读不一致`);
|
|
92
|
+
}
|
|
93
|
+
break;
|
|
94
|
+
case 'jsCode':
|
|
95
|
+
// ⚠ 写的时候发 `b64_`+base64,**平台解码后按明文存**,读回就是明文脚本 —— 两边都解码再比
|
|
96
|
+
if (decodeEcode(want.ecode) !== decodeEcode(got.ecode))
|
|
97
|
+
throw new Error('已提交,但 JavaScript 脚本回读不一致');
|
|
98
|
+
break;
|
|
99
|
+
case 'editFieldValue': {
|
|
100
|
+
// 平台可能重排键序,比语义不比字面
|
|
101
|
+
const sig = (raw) => JSON.stringify((JSON.parse(raw || '[]') || []).map((e) => [String(e.fieldId), String(e.optionType), JSON.stringify(e.value)]));
|
|
102
|
+
if (sig(want.fieldEditConfig) !== sig(got.fieldEditConfig))
|
|
103
|
+
throw new Error('已提交,但编辑字段值配置回读不一致');
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
case 'ExecLogicFlow': {
|
|
107
|
+
const wantFlow = JSON.parse(want.url || '{}')?.data?.[0];
|
|
108
|
+
const gotFlow = (got?.execLogicFlow?.data ?? [])[0];
|
|
109
|
+
if (!gotFlow || String(wantFlow?.id) !== String(gotFlow.id))
|
|
110
|
+
throw new Error('已提交,但触发逻辑流回读不一致');
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
default:
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
export function registerFormButtonActionCommands(btnCmd, program) {
|
|
119
|
+
btnCmd.command('action')
|
|
120
|
+
.description('按钮动作管理(可挂多个):打开页面 / 确认框 / JavaScript / 编辑字段值 / 触发逻辑流;不带选项时列出')
|
|
121
|
+
.argument('<objId>', '表单 objId')
|
|
122
|
+
.argument('<appId>', '应用 ID')
|
|
123
|
+
.argument('<buttonId>', '按钮 ID')
|
|
124
|
+
.option('--clear', '清空全部自定义动作')
|
|
125
|
+
.option('--remove <序号|id>', '删一条动作(序号从 1 起,或动作 id),可逗号分隔')
|
|
126
|
+
.option('--add-url <url>', '打开页面(URL / 自定义链接)')
|
|
127
|
+
.option('--page-type <LINK|CUSTOMPAGE>', 'URL 动作的页面类型(缺省 LINK)')
|
|
128
|
+
.option('--add-view <视图>', '打开平台视图(名称或 viewId)')
|
|
129
|
+
.option('--add-layout <表单>', '打开目标表单布局(名称或 objId)')
|
|
130
|
+
.option('--layout-type <新建|编辑|显示>', '目标布局类型(缺省 新建)')
|
|
131
|
+
.option('--add-start-workflow <流程>', '发起应用内流程(名称或 workflowId)')
|
|
132
|
+
.option('--target-app <appId>', '视图/表单/流程所属应用(缺省当前应用)')
|
|
133
|
+
.option('--map <targetSource...>', '字段映射。打开页面(视图/布局/流程)写 "目标字段:来源字段";URL 写 "参数名:来源字段"')
|
|
134
|
+
.option('--open-type <1|2|3>', '打开方式:1=弹窗 / 2=当前页 / 3=新窗口', '1')
|
|
135
|
+
.option('--add-confirm', '加「确认框」动作')
|
|
136
|
+
.option('--confirm-title <标题>', '确认框标题')
|
|
137
|
+
.option('--confirm-content <正文>', '确认框正文')
|
|
138
|
+
.option('--confirm-true <文案>', '确认按钮文案')
|
|
139
|
+
.option('--confirm-false <文案>', '取消按钮文案')
|
|
140
|
+
.option('--add-js', '加「JavaScript」动作')
|
|
141
|
+
.option('--code <源码|@文件>', 'JavaScript 源码(@文件 从文件读,避免命令行转义)')
|
|
142
|
+
.option('--add-edit-field <field:value...>', '加「编辑字段值」(固定值),可给多个;字段写 fieldId 或字段标题')
|
|
143
|
+
.option('--add-logic <逻辑流>', '加「触发逻辑流」(绑现有逻辑流,名称或 ID)')
|
|
144
|
+
.option('--logic-ecode-id <id>', '逻辑流的 ecodeId(运行时不消费,缺省沿用旧绑定/留空)')
|
|
145
|
+
.option('--dry-run', '只打印将要提交的报文,不保存')
|
|
146
|
+
.option('--json', 'JSON 输出')
|
|
147
|
+
.action(async (objId, appId, buttonId, o) => {
|
|
148
|
+
const opts = program.opts();
|
|
149
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
150
|
+
if (!auth) {
|
|
151
|
+
process.exitCode = 1;
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const client = new ApiClient(auth);
|
|
155
|
+
const baseUrl = auth.getBaseUrl();
|
|
156
|
+
const isJson = Boolean(o.json || opts.json);
|
|
157
|
+
try {
|
|
158
|
+
const context = await readButtonContext(client, baseUrl, appId, objId, buttonId);
|
|
159
|
+
const current = context.details.actions;
|
|
160
|
+
const hasAdd = Boolean(o.addUrl || o.addView || o.addLayout || o.addStartWorkflow
|
|
161
|
+
|| o.addConfirm || o.addJs || o.addEditField?.length || o.addLogic);
|
|
162
|
+
const editing = hasAdd || Boolean(o.clear) || o.remove !== undefined;
|
|
163
|
+
if (!editing) {
|
|
164
|
+
if (isJson) {
|
|
165
|
+
console.log(JSON.stringify(current, null, 2));
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
if (!current.length) {
|
|
169
|
+
console.log('当前没有动作');
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
console.log(`动作(${current.length} 条):`);
|
|
173
|
+
current.forEach((a, i) => console.log(` ${i + 1}. ${actionLabel(a)} [${a.id ?? '-'}] ${describeAction(a)}`));
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
if (context.button.system === 1)
|
|
177
|
+
throw new Error('系统按钮不支持改动作(只支持自定义按钮)');
|
|
178
|
+
let next = [...current];
|
|
179
|
+
const changes = [];
|
|
180
|
+
// ---- 删除 / 清空 ----
|
|
181
|
+
if (o.clear) {
|
|
182
|
+
if (hasAdd || o.remove !== undefined)
|
|
183
|
+
throw new Error('--clear 不能与 --add-*/--remove 同用');
|
|
184
|
+
const systemOnes = next.filter((a) => a?.actionType === 'system');
|
|
185
|
+
if (systemOnes.length)
|
|
186
|
+
throw new Error('这条按钮上有系统动作,--clear 会连它们一起清掉,请改用 --remove 指定');
|
|
187
|
+
changes.push(`清空 ${next.length} 条动作`);
|
|
188
|
+
next = [];
|
|
189
|
+
}
|
|
190
|
+
else if (o.remove !== undefined) {
|
|
191
|
+
for (const sel of o.remove.split(',').map((s) => s.trim()).filter(Boolean)) {
|
|
192
|
+
const { action, index } = findAction(next, sel);
|
|
193
|
+
changes.push(`- ${actionLabel(action)}`);
|
|
194
|
+
next.splice(index, 1);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
// ---- 追加(固定顺序:URL → 视图 → 布局 → 流程 → 确认框 → JS → 编辑字段值 → 逻辑流)----
|
|
198
|
+
if (o.addUrl) {
|
|
199
|
+
const url = fixMsysPath(o.addUrl);
|
|
200
|
+
let params = [];
|
|
201
|
+
if (o.map?.length) {
|
|
202
|
+
const sourceFields = await new AssociationService(client, baseUrl, appId, objId).sourceFields();
|
|
203
|
+
params = buildUrlActionParams(mappingInputs(o.map), sourceFields);
|
|
204
|
+
}
|
|
205
|
+
next.push(buildUrlButtonAction({ url, pageType: o.pageType, params, openType: o.openType }));
|
|
206
|
+
changes.push(`+ 打开页面(${url})`);
|
|
207
|
+
}
|
|
208
|
+
if (o.addView || o.addLayout || o.addStartWorkflow) {
|
|
209
|
+
const built = await buildPlatformButtonAction(client, baseUrl, appId, objId, {
|
|
210
|
+
openView: o.addView, openLayout: o.addLayout, layoutType: o.layoutType,
|
|
211
|
+
startWorkflow: o.addStartWorkflow, targetApp: o.targetApp,
|
|
212
|
+
mappings: mappingInputs(o.map), openType: o.openType,
|
|
213
|
+
});
|
|
214
|
+
next.push(built);
|
|
215
|
+
changes.push(`+ 打开页面(${o.addView || o.addLayout || o.addStartWorkflow})`);
|
|
216
|
+
}
|
|
217
|
+
if (o.addConfirm) {
|
|
218
|
+
if (!o.confirmTitle || !o.confirmContent)
|
|
219
|
+
throw new Error('--add-confirm 需要 --confirm-title 与 --confirm-content');
|
|
220
|
+
next.push(buildConfirmBoxAction({
|
|
221
|
+
confirmTitle: o.confirmTitle, confirmContent: o.confirmContent,
|
|
222
|
+
confirmTrue: o.confirmTrue ?? '', confirmFalse: o.confirmFalse ?? '',
|
|
223
|
+
}));
|
|
224
|
+
changes.push(`+ 确认框(${o.confirmTitle})`);
|
|
225
|
+
}
|
|
226
|
+
else if (o.confirmTitle !== undefined || o.confirmContent !== undefined || o.confirmTrue !== undefined || o.confirmFalse !== undefined) {
|
|
227
|
+
throw new Error('--confirm-* 只在 --add-confirm 时才有意义');
|
|
228
|
+
}
|
|
229
|
+
if (o.addJs) {
|
|
230
|
+
if (o.code === undefined)
|
|
231
|
+
throw new Error('--add-js 需要 --code <源码|@文件>');
|
|
232
|
+
const script = o.code.startsWith('@') ? readFileSync(o.code.slice(1), 'utf-8') : o.code;
|
|
233
|
+
next.push(buildJsCodeAction({ script }));
|
|
234
|
+
changes.push('+ JavaScript');
|
|
235
|
+
}
|
|
236
|
+
else if (o.code !== undefined) {
|
|
237
|
+
throw new Error('--code 只在 --add-js 时才有意义');
|
|
238
|
+
}
|
|
239
|
+
if (o.addEditField?.length) {
|
|
240
|
+
const fields = await fetchFields(client, baseUrl, objId);
|
|
241
|
+
const assignments = o.addEditField.map((item) => {
|
|
242
|
+
const idx = item.indexOf(':');
|
|
243
|
+
if (idx <= 0 || idx === item.length - 1)
|
|
244
|
+
throw new Error(`--add-edit-field「${item}」格式错误,应为 "字段:值"`);
|
|
245
|
+
return { fieldId: resolveFieldId(fields, item.slice(0, idx)), value: item.slice(idx + 1) };
|
|
246
|
+
});
|
|
247
|
+
// 已经有「编辑字段值」动作就并进它(设计器里也是所有字段放一条动作),否则新建一条
|
|
248
|
+
const existingIndex = next.findIndex((a) => a?.actionType === 'editFieldValue');
|
|
249
|
+
if (existingIndex >= 0) {
|
|
250
|
+
let entries = [];
|
|
251
|
+
try {
|
|
252
|
+
entries = JSON.parse(next[existingIndex].fieldEditConfig || '[]') || [];
|
|
253
|
+
}
|
|
254
|
+
catch {
|
|
255
|
+
entries = [];
|
|
256
|
+
}
|
|
257
|
+
for (const a of assignments) {
|
|
258
|
+
const i = entries.findIndex((e) => String(e?.fieldId) === a.fieldId);
|
|
259
|
+
const entry = buildFieldEditEntry(a.fieldId, a.value);
|
|
260
|
+
if (i >= 0)
|
|
261
|
+
entries[i] = entry;
|
|
262
|
+
else
|
|
263
|
+
entries.push(entry);
|
|
264
|
+
}
|
|
265
|
+
next[existingIndex] = buildEditFieldValueAction({ entries, id: next[existingIndex].id });
|
|
266
|
+
changes.push(`~ 编辑字段值(现 ${entries.length} 个字段)`);
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
next.push(buildEditFieldValueAction({ entries: assignments.map((a) => buildFieldEditEntry(a.fieldId, a.value)) }));
|
|
270
|
+
changes.push(`+ 编辑字段值(${assignments.length} 个字段)`);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
if (o.addLogic) {
|
|
274
|
+
const flow = await resolveLogicFlow(client, baseUrl, o.targetApp || appId, o.addLogic);
|
|
275
|
+
// ecodeId 运行时不消费:优先用显式给的,其次沿用同一逻辑流旧绑定里的值,都没有就留空
|
|
276
|
+
const previous = next
|
|
277
|
+
.filter((a) => a?.actionType === 'ExecLogicFlow')
|
|
278
|
+
.flatMap((a) => a?.execLogicFlow?.data ?? [])
|
|
279
|
+
.find((d) => String(d?.id) === flow.id);
|
|
280
|
+
next.push(buildExecLogicFlowAction({ id: flow.id, name: flow.name }, buttonId, { ecodeId: o.logicEcodeId ?? previous?.ecodeId ?? '' }));
|
|
281
|
+
changes.push(`+ 触发逻辑流(${flow.name})`);
|
|
282
|
+
}
|
|
283
|
+
next = normalizeActionIndexes(next);
|
|
284
|
+
if (!changes.length)
|
|
285
|
+
throw new Error('没有指定任何要改的动作(--add-url / --add-confirm / --add-js / --add-edit-field / --add-logic …)');
|
|
286
|
+
const statePatch = { actionDatas: next };
|
|
287
|
+
if (o.dryRun) {
|
|
288
|
+
console.log(isJson ? JSON.stringify(statePatch.actionDatas, null, 2) : `(--dry-run)将改成:${changes.join(' / ')}`);
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
const { after } = await saveButtonState(client, baseUrl, appId, objId, context, statePatch);
|
|
292
|
+
assertUntouched(context, after, statePatch); // 只改动作时,权限不能被顺手删掉
|
|
293
|
+
verifyActions(next, after.details.actions);
|
|
294
|
+
if (isJson) {
|
|
295
|
+
console.log(JSON.stringify({ success: true, verified: true, buttonId, changes, actions: after.details.actions }, null, 2));
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
console.log(`按钮动作已更新并回读校验: [${buttonId}] 共 ${after.details.actions.length} 条`);
|
|
299
|
+
for (const c of changes)
|
|
300
|
+
console.log(` ${c}`);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
catch (error) {
|
|
304
|
+
console.error(error?.message || error);
|
|
305
|
+
process.exitCode = 1;
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
//# sourceMappingURL=form-button-actions-cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-button-actions-cmd.js","sourceRoot":"","sources":["../../src/commands/form-button-actions-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-button-permission-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/form-button-permission-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAiH5F"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { AuthSession } from '../core/auth.js';
|
|
2
|
+
import { ApiClient } from '../core/client.js';
|
|
3
|
+
import { readButtonContext } from '../services/form-button-context.js';
|
|
4
|
+
import { saveButtonState, assertUntouched } from '../services/form-button-save.js';
|
|
5
|
+
import { buildPermissionEntry, allPermissionEntry, permissionLabel, permissionSignature, hasPermission, findPermission, } from '../services/form-button-permission.js';
|
|
6
|
+
import { resolvePermissionSubject } from '../services/form-button-org.js';
|
|
7
|
+
export function registerFormButtonPermissionCommands(btnCmd, program) {
|
|
8
|
+
btnCmd.command('permission')
|
|
9
|
+
.description('查看/配置按钮权限(哪些人能看见并点击这个按钮);不带任何选项时列出')
|
|
10
|
+
.argument('<objId>', '表单 objId')
|
|
11
|
+
.argument('<appId>', '应用 ID')
|
|
12
|
+
.argument('<buttonId>', '按钮 ID')
|
|
13
|
+
.option('--add-all', '加「全体」')
|
|
14
|
+
.option('--add-company <分部>', '加「分部」(名称或 ID)')
|
|
15
|
+
.option('--add-department <部门>', '加「部门」(名称或 ID)')
|
|
16
|
+
.option('--add-people <人员>', '加「人员」(姓名或 ID)')
|
|
17
|
+
.option('--contain-extra', '本次加入的部门/分部含下级')
|
|
18
|
+
.option('--remove <序号|id>', '删除一条:列表里的序号(从 1 起)或权限 id,可逗号分隔')
|
|
19
|
+
.option('--clear', '清空全部按钮权限')
|
|
20
|
+
.option('--json', 'JSON 输出')
|
|
21
|
+
.action(async (objId, appId, buttonId, o) => {
|
|
22
|
+
const opts = program.opts();
|
|
23
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
24
|
+
if (!auth) {
|
|
25
|
+
process.exitCode = 1;
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const client = new ApiClient(auth);
|
|
29
|
+
const baseUrl = auth.getBaseUrl();
|
|
30
|
+
const isJson = Boolean(o.json || opts.json);
|
|
31
|
+
try {
|
|
32
|
+
const context = await readButtonContext(client, baseUrl, appId, objId, buttonId);
|
|
33
|
+
const current = context.details.permissions;
|
|
34
|
+
const adding = Boolean(o.addAll || o.addCompany || o.addDepartment || o.addPeople);
|
|
35
|
+
const editing = adding || o.remove !== undefined || Boolean(o.clear);
|
|
36
|
+
if (!editing) {
|
|
37
|
+
if (isJson) {
|
|
38
|
+
console.log(JSON.stringify(current, null, 2));
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (!current.length) {
|
|
42
|
+
console.log('当前没有按钮权限配置');
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
console.log(`按钮权限(${current.length} 条):`);
|
|
46
|
+
current.forEach((p, i) => console.log(` ${i + 1}. ${permissionLabel(p)} [${p.id ?? '-'}] containExtra=${p.containExtra ?? '-'}`));
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
// 系统按钮由平台判定能不能配权限(自定义按钮恒为 true)。
|
|
50
|
+
if (context.details.canSetButtonPermission === false) {
|
|
51
|
+
throw new Error('该按钮不支持配置按钮权限(平台标记 canSetButtonPermission=false)');
|
|
52
|
+
}
|
|
53
|
+
let next = [...current];
|
|
54
|
+
const changes = [];
|
|
55
|
+
const removedSignatures = [];
|
|
56
|
+
if (o.clear) {
|
|
57
|
+
if (adding || o.remove !== undefined)
|
|
58
|
+
throw new Error('--clear 不能与 --add-*/--remove 同用');
|
|
59
|
+
removedSignatures.push(...current.map(permissionSignature));
|
|
60
|
+
next = [];
|
|
61
|
+
changes.push('清空全部权限');
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
if (o.remove !== undefined) {
|
|
65
|
+
for (const sel of o.remove.split(',').map((s) => s.trim()).filter(Boolean)) {
|
|
66
|
+
const { entry, index } = findPermission(next, sel);
|
|
67
|
+
removedSignatures.push(permissionSignature(entry));
|
|
68
|
+
changes.push(`- ${permissionLabel(entry)}`);
|
|
69
|
+
next.splice(index, 1);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// 固定顺序:全体 → 分部 → 部门 → 人员(commander 不保留不同选项之间的先后)。
|
|
73
|
+
// 授权对象按「名称或 ID」解析成 content+contentSpan —— 拆成两步是为了先解析再写,
|
|
74
|
+
// 解析失败就整条命令不落库。
|
|
75
|
+
const adds = [
|
|
76
|
+
{ label: '全体', value: o.addAll ? 'all' : undefined },
|
|
77
|
+
{ kind: 'company', label: '分部', value: o.addCompany },
|
|
78
|
+
{ kind: 'department', label: '部门', value: o.addDepartment },
|
|
79
|
+
{ kind: 'resource', label: '人员', value: o.addPeople },
|
|
80
|
+
];
|
|
81
|
+
for (const item of adds) {
|
|
82
|
+
if (item.value === undefined)
|
|
83
|
+
continue;
|
|
84
|
+
let built;
|
|
85
|
+
if (item.kind === undefined) {
|
|
86
|
+
built = allPermissionEntry();
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
const subject = await resolvePermissionSubject(client, baseUrl, item.kind, item.value);
|
|
90
|
+
built = buildPermissionEntry({
|
|
91
|
+
permissionType: item.kind, content: subject.id, contentSpan: subject.name,
|
|
92
|
+
containExtra: o.containExtra,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
if (hasPermission(next, built)) {
|
|
96
|
+
changes.push(`= ${permissionLabel(built)}(已存在,跳过)`);
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
next.push(built);
|
|
100
|
+
changes.push(`+ ${permissionLabel(built)}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const statePatch = { permissionDatas: next };
|
|
104
|
+
const { after } = await saveButtonState(client, baseUrl, appId, objId, context, statePatch);
|
|
105
|
+
assertUntouched(context, after, statePatch); // 只改权限时,动作不能被顺手删掉
|
|
106
|
+
// 回读校验:要加的一条都不能少、要删的一条都不能还在(平台自己补的条目不算错)。
|
|
107
|
+
const gotSignatures = new Set(after.details.permissions.map(permissionSignature));
|
|
108
|
+
const missing = next.filter((p) => !gotSignatures.has(permissionSignature(p)));
|
|
109
|
+
if (missing.length) {
|
|
110
|
+
throw new Error(`已提交,但回读少了 ${missing.length} 条权限:${missing.map(permissionLabel).join('、')}`);
|
|
111
|
+
}
|
|
112
|
+
const stillThere = removedSignatures.filter((sig) => gotSignatures.has(sig));
|
|
113
|
+
if (stillThere.length)
|
|
114
|
+
throw new Error(`已提交,但要删的 ${stillThere.length} 条权限回读仍在`);
|
|
115
|
+
if (isJson) {
|
|
116
|
+
console.log(JSON.stringify({
|
|
117
|
+
success: true, verified: true, buttonId, changes, permissions: after.details.permissions,
|
|
118
|
+
}, null, 2));
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
console.log(`按钮权限已更新并回读校验: [${buttonId}] 共 ${after.details.permissions.length} 条`);
|
|
122
|
+
for (const c of changes)
|
|
123
|
+
console.log(` ${c}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
console.error(error?.message || error);
|
|
128
|
+
process.exitCode = 1;
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=form-button-permission-cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-button-permission-cmd.js","sourceRoot":"","sources":["../../src/commands/form-button-permission-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-button-props-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/form-button-props-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkGpC,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAiJvF"}
|