@gct-paas/excel 0.1.35 → 0.1.37-beta.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/{BaseComponent-C-T3bipZ.js → BaseComponent-DQaCGLeT.js} +18 -1
- package/dist/{VueVideoPlayer-uu8pHm89.js → VueVideoPlayer-C6a9Wt23.js} +2 -2
- package/dist/{align-editor-Bk5NBwxp.js → align-editor-BIgxBb3c.js} +1 -1
- package/dist/{barcode-design-B11QXZvG.js → barcode-design-6urZiVEU.js} +2 -2
- package/dist/base/index.es.js +2137 -2795
- package/dist/{diagonal-design-B6qOpgJB.js → diagonal-design-Dmvh3iV7.js} +2 -2
- package/dist/{dynamic-table-action-ClvCYTXt.js → dynamic-table-action-CIQHe0dS.js} +7248 -3103
- package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DhvnFfly.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CfpxTsKR.js} +51446 -52262
- package/dist/{edit.utils-CXmmCnxE-DBJfGya8.js → edit.utils-CXmmCnxE-BSdD_tOR.js} +1 -1
- package/dist/excel.css +3223 -1942
- package/dist/{exceljs.min-wkM2JRWA.js → exceljs.min-CLghjkvN.js} +2 -2
- package/dist/{font-editor-qk8ye00Z.js → font-editor-Bergh2R4.js} +3 -3
- package/dist/{image-design-DnAdcfkb.js → image-design-CE8RmqGR.js} +2 -2
- package/dist/{index-DK3WaVk5.js → index-BCxnsShs.js} +1 -1
- package/dist/{index-Yak4dcr8.js → index-BDeyH_2H.js} +2 -2
- package/dist/{index-Da3dLccm.js → index-BGpCYZm4.js} +2 -2
- package/dist/{index-K2KtldGf.js → index-BJdOVQGJ.js} +1 -1
- package/dist/{index-B0CE87b5.js → index-BVcJPSOs.js} +5 -3
- package/dist/{index-VX-I525j.js → index-BVxo9GHy.js} +1 -1
- package/dist/{index-C3OVB8dF.js → index-BXSzJMT7.js} +8 -74
- package/dist/{index-BbxeAoGv.js → index-BfHBvOdP.js} +2 -2
- package/dist/{index-DyYIAGuW.js → index-Byh0Vmlz.js} +2 -2
- package/dist/{index-DblJyfD1.js → index-C2olS5vJ.js} +3 -3
- package/dist/{index-BsAib_T0.js → index-C7TEXlbZ.js} +2 -2
- package/dist/{index-Dnv99kDV.js → index-CA6CWt8y.js} +1 -1
- package/dist/{index-C4WGrLrq.js → index-CNzY1FwH.js} +2 -2
- package/dist/{index-CMyaYX19.js → index-Chu6332Q.js} +12 -3
- package/dist/{index-COIKVzHE.js → index-CuZvl7YB.js} +2 -2
- package/dist/{index-98JlcyIh.js → index-D-HlMlRd.js} +3 -3
- package/dist/{index-BReNIvpZ.js → index-D-Jbq4My.js} +2 -2
- package/dist/{index-hlChb3S5.js → index-D1_SYDPv.js} +2 -2
- package/dist/{index-CkNER_VJ.js → index-D6Z8-FC9.js} +432 -237
- package/dist/{index-CZ19OTa-.js → index-D6udXzjh.js} +2 -2
- package/dist/{index-CSOaeJHs.js → index-DA5PXti2.js} +42829 -36873
- package/dist/{index-C6yP97M1.js → index-Dgu35iIj.js} +1 -1
- package/dist/{index-B4SeHIvj.js → index-DnZq1s_3.js} +3 -3
- package/dist/{index-CUVo4Y3e.js → index-DqOxVJR-.js} +2 -2
- package/dist/{index-CmKaq9BA.js → index-Dqr0oBlM.js} +2 -2
- package/dist/{index-DEPdSmRz.js → index-DuyXEchF.js} +13 -2
- package/dist/{index-BCm5uXm-.js → index-Dw7SQNDy.js} +1 -1
- package/dist/index-DwKg7b0U.js +26 -0
- package/dist/{index-ZPbeIApi.js → index-DyHrkuGj.js} +2 -2
- package/dist/{index-YHJMTfT6.js → index-KcZJqM3I.js} +1 -1
- package/dist/{index-DZZB4Wki.js → index-ROHlRUFD.js} +1 -1
- package/dist/{index-BNd6EBaX.js → index-a3Y8FZwA.js} +2 -2
- package/dist/{index-BHihG6wo.js → index-bX1S8t3o.js} +3 -3
- package/dist/{index-BHTh3IKd.js → index-geVnq_KD.js} +2 -2
- package/dist/{index-DIPExK1-.js → index-m0iGs0bS.js} +1 -1
- package/dist/index.es.js +49 -49
- package/dist/{mb-render-BWsK2uaj.js → mb-render-DhKkFfcm.js} +21 -15
- package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-D0gNSgDm.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-DhTO6jGt.js} +1 -8
- package/dist/{pagination-design-e6YmfypM.js → pagination-design-D9hm70UW.js} +2 -2
- package/dist/paper-widget-design-zve0OviL.js +4 -0
- package/dist/print-runtime-instance-CXj_GS84.js +36 -0
- package/dist/print-snapshot-renderer-BK2XvbLK.js +76 -0
- package/dist/{qrcode-design-B8OeEjHi.js → qrcode-design-BrEZ2nXO.js} +1 -1
- package/dist/{revo-grid.entry-C8HVGuwE.js → revo-grid.entry-BBZIZgKP.js} +1 -1
- package/dist/{revogr-attribution_7.entry-C57R5N9H.js → revogr-attribution_7.entry-rfjINVxu.js} +3 -3
- package/dist/{revogr-clipboard_3.entry-C-t0bHXx.js → revogr-clipboard_3.entry-Bg3AuwfG.js} +2 -2
- package/dist/{revogr-data_4.entry-xIPTVLfC.js → revogr-data_4.entry-C8O2Iv2n.js} +2 -2
- package/dist/{revogr-filter-panel.entry-ByM_cVBE.js → revogr-filter-panel.entry-uQBhKoSX.js} +1 -1
- package/dist/seal-design-B42sQwSF.js +4 -0
- package/dist/{serialnumber-design-nwsYg88n.js → serialnumber-design-DCkPTZFe.js} +1 -1
- package/dist/shared/index.es.js +32 -26
- package/dist/{single-field-drop-DtXqBBy7.js → single-field-drop-BL43JC5V.js} +2 -2
- package/dist/{size-editor-Bl32fjTp.js → size-editor-BKqS03Gi.js} +1 -1
- package/dist/src/adapter/adapter.d.ts +6 -1
- package/dist/src/assets/svgs/table/index.d.ts +1 -0
- package/dist/src/domain/field/date/sterilization-date-manifest.d.ts +2 -0
- package/dist/src/domain/field/number/inspection-module-qty-manifest.d.ts +2 -0
- package/dist/src/domain/field/seal/seal-manifest.d.ts +2 -0
- package/dist/src/domain/field/select/inspection-container-manifest.d.ts +2 -0
- package/dist/src/domain/field/text/udi-manifest.d.ts +2 -0
- package/dist/src/domain/field/types.d.ts +2 -2
- package/dist/src/domain/table/business/device/maintenance/index.d.ts +1 -0
- package/dist/src/domain/table/business/device/maintenance/profile/field-keys.d.ts +9 -0
- package/dist/src/domain/table/business/device/maintenance/profile/fields.d.ts +2 -0
- package/dist/src/domain/table/business/device/maintenance/profile/index.d.ts +3 -0
- package/dist/src/domain/table/business/device/point-inspection/index.d.ts +1 -0
- package/dist/src/domain/table/business/device/point-inspection/profile/field-keys.d.ts +9 -0
- package/dist/src/domain/table/business/device/point-inspection/profile/fields.d.ts +2 -0
- package/dist/src/domain/table/business/device/point-inspection/profile/index.d.ts +3 -0
- package/dist/src/domain/table/business/device/signature-lock.d.ts +9 -0
- package/dist/src/domain/table/business/material/material-requisition/profile/field-keys.d.ts +1 -1
- package/dist/src/domain/table/business/material/material-substitution/index.d.ts +2 -0
- package/dist/src/domain/table/business/material/material-substitution/profile/field-keys.d.ts +75 -0
- package/dist/src/domain/table/business/material/material-substitution/profile/fields.d.ts +2 -0
- package/dist/src/domain/table/business/material/material-substitution/profile/index.d.ts +4 -0
- package/dist/src/domain/table/business/material/material-substitution/runtime/register-handlers.d.ts +1 -0
- package/dist/src/domain/table/business/material/material-substitution/runtime/row-change-handlers.d.ts +6 -0
- package/dist/src/domain/table/design/create-subtable.d.ts +1 -1
- package/dist/src/domain/table/design/hooks/on-field-attach.d.ts +1 -1
- package/dist/src/domain/table/design/index.d.ts +1 -1
- package/dist/src/domain/table/design/ribbon-options.d.ts +1 -0
- package/dist/src/domain/table/design/sub-model-matcher.d.ts +1 -0
- package/dist/src/domain/table/index.d.ts +3 -2
- package/dist/src/domain/table/registry.d.ts +1 -0
- package/dist/src/domain/table/types.d.ts +8 -3
- package/dist/src/nocode-base/src/_utils_/uuid.d.ts +8 -0
- package/dist/src/nocode-base/src/components/document-layout.vue.d.ts +3 -0
- package/dist/src/nocode-base/src/components/document-quick-fill/fixed-quick-fill-layout.d.ts +23 -0
- package/dist/src/nocode-base/src/components/document-quick-fill/fixed-quick-fill-modal.vue.d.ts +2 -0
- package/dist/src/nocode-base/src/components/document-quick-fill/quick-fill.util.d.ts +1 -2
- package/dist/src/nocode-base/src/components/document-sub-table-action/fixed-table-action.vue.d.ts +2 -0
- package/dist/src/nocode-base/src/components/document-sub-table-action/sub-table-action.vue.d.ts +3 -3
- package/dist/src/nocode-base/src/components/inspection-decision-prompt-modal.vue.d.ts +7 -0
- package/dist/src/nocode-base/src/constant/index.d.ts +22 -2
- package/dist/src/nocode-base/src/core/factory/sub-table-factory.d.ts +11 -3
- package/dist/src/nocode-base/src/core/sub-table/allocate-table-core.d.ts +0 -1
- package/dist/src/nocode-base/src/core/sub-table/pretreatment-list-table-core.d.ts +0 -1
- package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +23 -1
- package/dist/src/nocode-base/src/core/sub-table/sterilize-batch-table-core.d.ts +0 -1
- package/dist/src/nocode-base/src/core/sub-table/stocktake-table-core.d.ts +0 -1
- package/dist/src/nocode-base/src/core/sub-table/sub-table-core.d.ts +0 -5
- package/dist/src/nocode-base/src/core/types/index.d.ts +4 -0
- package/dist/src/nocode-base/src/emit/enum.d.ts +2 -12
- package/dist/src/nocode-base/src/hooks/annotation/form-change-row.d.ts +7 -5
- package/dist/src/nocode-base/src/hooks/annotation/runtime-annotation-binding.d.ts +17 -0
- package/dist/src/nocode-base/src/hooks/device-link/controller.d.ts +0 -6
- package/dist/src/nocode-base/src/hooks/form-tmpl-config/device-connector.d.ts +1 -1
- package/dist/src/nocode-base/src/hooks/index.d.ts +5 -3
- package/dist/src/nocode-base/src/hooks/inspection-decision-rule/evaluator.d.ts +11 -0
- package/dist/src/nocode-base/src/hooks/material-balance/mb-render.d.ts +2 -2
- package/dist/src/nocode-base/src/hooks/material-balance/useMaterialBalance.d.ts +4 -4
- package/dist/src/nocode-base/src/hooks/material-consume/bom-validator.d.ts +10 -2
- package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +13 -25
- package/dist/src/nocode-base/src/hooks/material-consume/mc-render.d.ts +5 -6
- package/dist/src/nocode-base/src/hooks/material-consume/tmpl-bom-controller.d.ts +8 -4
- package/dist/src/nocode-base/src/hooks/material-consume-object/index.d.ts +0 -1
- package/dist/src/nocode-base/src/hooks/material-consume-object/product-lot-link.d.ts +3 -0
- package/dist/src/nocode-base/src/hooks/render-page/initialize-runtime.d.ts +56 -0
- package/dist/src/nocode-base/src/hooks/render-page/runtime-request.d.ts +24 -0
- package/dist/src/nocode-base/src/hooks/render-page/runtime-validation.d.ts +17 -0
- package/dist/src/nocode-base/src/hooks/render-page/types.d.ts +64 -0
- package/dist/src/nocode-base/src/hooks/udi.d.ts +6 -0
- package/dist/src/nocode-base/src/hooks/useCalcFunction.d.ts +3 -0
- package/dist/src/nocode-base/src/hooks/useDependency.d.ts +2 -1
- package/dist/src/nocode-base/src/hooks/useFieldPresentation.d.ts +4 -0
- package/dist/src/nocode-base/src/hooks/useFormHook.d.ts +7 -4
- package/dist/src/nocode-base/src/hooks/useMergeSameCells.d.ts +3 -2
- package/dist/src/nocode-base/src/hooks/useNocodeEmitter.d.ts +1 -9
- package/dist/src/nocode-base/src/hooks/useRenderData.d.ts +8 -24
- package/dist/src/nocode-base/src/hooks/useRenderPageFactory.d.ts +63 -99
- package/dist/src/nocode-base/src/hooks/useRuntimeInstanceServices.d.ts +44 -0
- package/dist/src/nocode-base/src/hooks/useRuntimeRowState.d.ts +16 -0
- package/dist/src/nocode-base/src/hooks/validation/attach.d.ts +4 -10
- package/dist/src/nocode-base/src/hooks/validation/createValidateFactory.d.ts +1 -0
- package/dist/src/nocode-base/src/hooks/validation/runValidation.d.ts +5 -8
- package/dist/src/nocode-base/src/hooks/validation/types.d.ts +15 -8
- package/dist/src/nocode-base/src/hooks/validation/utils.d.ts +6 -0
- package/dist/src/nocode-base/src/index.d.ts +2 -0
- package/dist/src/nocode-base/src/interface/calc.d.ts +1 -1
- package/dist/src/nocode-base/src/interface/check-ds-data.d.ts +4 -3
- package/dist/src/nocode-base/src/interface/code-runner.d.ts +4 -0
- package/dist/src/nocode-base/src/interface/render.d.ts +5 -2
- package/dist/src/nocode-base/src/interface/transform.d.ts +26 -22
- package/dist/src/nocode-base/src/runtime/async-task-coordinator.d.ts +66 -0
- package/dist/src/nocode-base/src/runtime/conversions/business-row.d.ts +2 -0
- package/dist/src/nocode-base/src/runtime/conversions/field-config.d.ts +4 -0
- package/dist/src/nocode-base/src/runtime/conversions/historical-annotation.d.ts +15 -0
- package/dist/src/nocode-base/src/runtime/conversions/index.d.ts +11 -0
- package/dist/src/nocode-base/src/runtime/conversions/ocr-template.d.ts +7 -0
- package/dist/src/nocode-base/src/runtime/conversions/v1-runtime.d.ts +21 -0
- package/dist/src/nocode-base/src/runtime/date-compliance.d.ts +8 -0
- package/dist/src/nocode-base/src/runtime/field-identity.d.ts +21 -0
- package/dist/src/nocode-base/src/runtime/formula-utils.d.ts +7 -0
- package/dist/src/nocode-base/src/runtime/index.d.ts +18 -0
- package/dist/src/nocode-base/src/runtime/multi-sheet-runtime.d.ts +43 -0
- package/dist/src/nocode-base/src/runtime/runtime-console-debug.d.ts +36 -0
- package/dist/src/nocode-base/src/runtime/runtime-context.d.ts +122 -0
- package/dist/src/nocode-base/src/runtime/runtime-dependency-service.d.ts +82 -0
- package/dist/src/nocode-base/src/runtime/runtime-field-initializer.d.ts +26 -0
- package/dist/src/nocode-base/src/runtime/runtime-field-registry.d.ts +90 -0
- package/dist/src/nocode-base/src/runtime/runtime-field-rows.d.ts +7 -0
- package/dist/src/nocode-base/src/runtime/runtime-field-state.d.ts +15 -0
- package/dist/src/nocode-base/src/runtime/runtime-form-state-store.d.ts +132 -0
- package/dist/src/nocode-base/src/runtime/runtime-instance-controller.d.ts +80 -0
- package/dist/src/nocode-base/src/runtime/runtime-instance-event-bus.d.ts +17 -0
- package/dist/src/nocode-base/src/runtime/runtime-instance-registry.d.ts +296 -0
- package/dist/src/nocode-base/src/runtime/runtime-persistence-coordinator.d.ts +93 -0
- package/dist/src/nocode-base/src/runtime/runtime-rule-compiler.d.ts +37 -0
- package/dist/src/nocode-base/src/runtime/runtime-sheet-service.d.ts +99 -0
- package/dist/src/nocode-base/src/runtime/runtime-validation-service.d.ts +44 -0
- package/dist/src/nocode-base/src/runtime/table-row-identity.d.ts +23 -0
- package/dist/src/nocode-base/src/types/business/index.d.ts +8 -1
- package/dist/src/nocode-base/src/types/calc/i-calc.d.ts +3 -0
- package/dist/src/nocode-base/src/types/common/base.d.ts +60 -6
- package/dist/src/nocode-base/src/types/fields/i-seal.d.ts +10 -0
- package/dist/src/nocode-base/src/types/fields/i-sign.d.ts +15 -1
- package/dist/src/nocode-base/src/types/fields/index.d.ts +2 -1
- package/dist/src/nocode-base/src/types/index.d.ts +1 -1
- package/dist/src/nocode-base/src/types/render/mb-render.d.ts +4 -2
- package/dist/src/nocode-base/src/types/render/mc-render.d.ts +2 -2
- package/dist/src/nocode-base/src/types/render/sub-table-render.d.ts +3 -5
- package/dist/src/nocode-base/src/types/widgets/i-paper.d.ts +4 -35
- package/dist/src/nocode-web-render/src/render/sub-table/common/sub-table-render.d.ts +0 -1
- package/dist/src/nocode-web-render/src/render/sub-table/material-balance/mb-web-render.d.ts +4 -7
- package/dist/src/nocode-web-render/src/render/sub-table/material-consume/mc-web-render.d.ts +8 -6
- package/dist/src/online-form/src/components/version-diff/iframe/preview-iframe.vue.d.ts +2 -0
- package/dist/src/online-form/src/components/version-diff/index/types.d.ts +8 -1
- package/dist/src/online-form/src/components/version-diff/index/version-diff-index.vue.d.ts +4 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/base-vxe-table.vue.d.ts +78 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/columns.d.ts +43 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/default-value-rdo-editor.vue.d.ts +194 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/hooks.d.ts +28 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/index.d.ts +6 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/rdo-table-dropdown.vue.d.ts +145 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/rdo-version-name-tag.vue.d.ts +11 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/useSelectTable.d.ts +31 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-select-editor/use-default-value-options.d.ts +40 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-select-editor/use-default-value-visibility.d.ts +2 -0
- package/dist/src/online-form/src/views/__cell_widgets__/seal/seal-design.vue.d.ts +6 -0
- package/dist/src/online-form/src/views/__cell_widgets__/seal/seal-type-labels.d.ts +4 -0
- package/dist/src/online-form/src/views/__cell_widgets__/seal/seal.config.d.ts +2 -0
- package/dist/src/online-form/src/views/__widgets__/spacer/spacer-width.d.ts +2 -0
- package/dist/src/online-form/src/views/__widgets__/spacer/spacer.config.d.ts +2 -0
- package/dist/src/online-form/src/views/designer/constants/index.d.ts +7 -1
- package/dist/src/online-form/src/views/designer/conversions/v1-designer.d.ts +9 -0
- package/dist/src/online-form/src/views/designer/enums/index.d.ts +5 -1
- package/dist/src/online-form/src/views/designer/hooks/reverse-modeling/scan-field.d.ts +4 -0
- package/dist/src/online-form/src/views/designer/hooks/reverse-modeling/utils.d.ts +1 -0
- package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +1089 -683
- package/dist/src/online-form/src/views/designer/hooks/useDhrEdition.d.ts +7 -0
- package/dist/src/online-form/src/views/designer/hooks/useModelFields.d.ts +5 -1
- package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +503 -2542
- package/dist/src/online-form/src/views/designer/modules/panel/panel-data-init-config/common/add-ipaas/parameter-struct/json-expression-editor.vue.d.ts +1 -1
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/decision-rule-condition.vue.d.ts +19 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/decision-rule-group.vue.d.ts +16 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/decision-rule.d.ts +54 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/field-tree-node.vue.d.ts +24 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/field-tree-select.vue.d.ts +30 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/field-tree-utils.d.ts +12 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/inspection-decision-modal.vue.d.ts +9 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/panel-rule-config.vue.d.ts +18 -1
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-button.vue.d.ts +33 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-icon.vue.d.ts +12 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-input.vue.d.ts +23 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-modal.vue.d.ts +36 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-scrollbar.vue.d.ts +21 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-select.vue.d.ts +30 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-switch.vue.d.ts +17 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-text-area.vue.d.ts +20 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/index.d.ts +8 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-seal.vue.d.ts +2 -0
- package/dist/src/online-form/src/views/designer/modules/panel/sub-table/comps/use-dynamic-sub-table-panel.d.ts +203 -327
- package/dist/src/online-form/src/views/designer/modules/sheet/seal-layer.vue.d.ts +2 -0
- package/dist/src/online-form/src/views/designer/modules/sheets/sheets-swapper.vue.d.ts +0 -2
- package/dist/src/online-form/src/views/designer/types/index.d.ts +43 -26
- package/dist/src/online-form/src/views/designer/types/sheets.d.ts +16 -0
- package/dist/src/online-form/src/views/designer/utils/dom-parser.d.ts +8 -3
- package/dist/src/online-form/src/views/designer/utils/xlsx-parser.d.ts +11 -108
- package/dist/src/online-form/src/views/render/__components__/_common_/useAutofill.d.ts +2 -4
- package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/seal-api.d.ts +17 -0
- package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/seal-floating-field.vue.d.ts +9 -0
- package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/seal-runtime-layer.vue.d.ts +9 -0
- package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/use-seal-stamp.d.ts +29 -0
- package/dist/src/online-form/src/views/render/__components__/_field_/seal/index.d.ts +57 -0
- package/dist/src/online-form/src/views/render/__components__/_field_/sign/component/sign-validation.d.ts +14 -0
- package/dist/src/online-form/src/views/render/__components__/_field_/trace/composables/useSearchEnter.d.ts +10 -0
- package/dist/src/online-form/src/views/render/__components__/_field_/trace/composables/useSelectTable.d.ts +2 -2
- package/dist/src/online-form/src/views/render/__components__/_field_/trace/utils/use-rule-props.d.ts +2 -1
- package/dist/src/online-form/src/views/render/__components__/_widget_/combine-fields/index.d.ts +1 -0
- package/dist/src/online-form/src/views/render/__components__/paper/index.d.ts +2 -1
- package/dist/src/online-form/src/views/render/__logic__/dataCenter.logic.d.ts +1 -1
- package/dist/src/online-form/src/views/render/active-sheet-renderer.vue.d.ts +15 -0
- package/dist/src/online-form/src/views/render/all-sheets-renderer.vue.d.ts +9 -0
- package/dist/src/online-form/src/views/render/preview-container.vue.d.ts +21 -19
- package/dist/src/online-form/src/views/render/printing/iframe-print.d.ts +11 -0
- package/dist/src/online-form/src/views/render/printing/print-runtime-instance.d.ts +11 -0
- package/dist/src/online-form/src/views/render/printing/print-snapshot-renderer.vue.d.ts +27 -0
- package/dist/src/online-form/src/views/render/printing/runtime-print-snapshot.d.ts +24 -0
- package/dist/src/online-form/src/views/render/sheet-tab-bar.vue.d.ts +14 -0
- package/dist/src/shared/components/Scrollbar/src/Scrollbar.vue.d.ts +8 -8
- package/dist/src/shared/components/Seal/seal-placeholder.vue.d.ts +6 -0
- package/dist/src/shared/components/Seal/seal-positioned.vue.d.ts +36 -0
- package/dist/src/shared/components/Signature/index.d.ts +1 -2
- package/dist/src/shared/components/Signature/logic/index.d.ts +8 -23
- package/dist/src/shared/components/Signature/types/index.d.ts +6 -1
- package/dist/src/shared/components/Signature/ui/password-signer.vue.d.ts +2 -0
- package/dist/src/shared/components/Signature/ui/sign-popover-content.vue.d.ts +8 -2
- package/dist/src/shared/components/Signature/ui/sign-switcher.vue.d.ts +3 -1
- package/dist/src/shared/components/category-select/category-select.vue.d.ts +1 -1
- package/dist/src/shared/enum/field-type.d.ts +23 -0
- package/dist/src/shared/enum/online-form.d.ts +8 -2
- package/dist/src/shared/index.d.ts +1 -0
- package/dist/src/shared/seal/index.d.ts +44 -0
- package/dist/src/shared/types/field-meta.d.ts +1 -0
- package/dist/src/shared/utils/field-size.d.ts +4 -2
- package/dist/src/shared/utils/lot2sn.d.ts +5 -0
- package/dist/sub-table-factory-BxnZRD5d.js +2118 -0
- package/dist/{text-design-DpCprqkB.js → text-design-LpqAAdUy.js} +2 -2
- package/dist/{throttle-Cpk1LoGk-CRmC7Dda.js → throttle-Cpk1LoGk-Ci963h-N.js} +1 -1
- package/dist/{timediff-design-CRhHuuBP.js → timediff-design-DAD_BKWH.js} +1 -1
- package/dist/{trace-like-wrapper-aVtmhEpO.js → trace-like-wrapper-Bq4-R_-a.js} +2 -2
- package/dist/{value-editor.vue_vue_type_style_index_0_lang-C98Wj3QJ.js → value-editor.vue_vue_type_style_index_0_lang-DWP8nFsa.js} +2 -2
- package/dist/web-render/index.es.js +5 -5
- package/dist/{widget-barcode-fA706IEU.js → widget-barcode-7jbXypLa.js} +4 -4
- package/dist/{widget-diagonal-DJIIPhRm.js → widget-diagonal-CAhF4RdS.js} +3 -3
- package/dist/{widget-image-iA5POujb.js → widget-image-fajmaZZL.js} +5 -5
- package/dist/{widget-line-bjO0OmRM.js → widget-line-BnpVz3Cw.js} +2 -2
- package/dist/{widget-pagination-CCWAQS5T.js → widget-pagination-CBRrI8Gg.js} +5 -5
- package/dist/{widget-power-D3TkaSwc.js → widget-power-CeJ_lpsq.js} +3 -3
- package/dist/{widget-qrcode-B1ohZ9gB.js → widget-qrcode-DJDwbHFC.js} +3 -3
- package/dist/{widget-rangelimit-D8F6Ryvq.js → widget-rangelimit-BfMODXDL.js} +3 -3
- package/dist/{widget-serialnumber-CWpzTsBq.js → widget-serialnumber-C7B10sEv.js} +1 -1
- package/dist/{widget-text-Ouno0e1_.js → widget-text-1XmDP1ym.js} +5 -5
- package/dist/{widget-timediff-biUSdm8e.js → widget-timediff-CXke343Y.js} +2 -2
- package/package.json +4 -4
- package/dist/paper-widget-design-DNgkKQGY.js +0 -4
- package/dist/src/nocode-base/src/components/material-consume/material-consume-action.vue.d.ts +0 -17
- package/dist/src/nocode-base/src/hooks/material-consume-object/use-tmpl-bom.d.ts +0 -13
- package/dist/src/nocode-base/src/hooks/useFormulaExpWatcher.d.ts +0 -15
- package/dist/src/nocode-base/src/hooks/useValidator.d.ts +0 -18
- package/dist/src/nocode-base/src/hooks/validation/formRulesStore.d.ts +0 -15
- package/dist/src/nocode-base/src/hooks/validation/scheduler.d.ts +0 -12
- package/dist/src/nocode-base/src/hooks/validation/useFormValidator.d.ts +0 -41
- package/dist/src/nocode-base/src/hooks/validation/waitForSettle.d.ts +0 -17
- package/dist/src/shared/components/Signature/ui/sign-editor.vue.d.ts +0 -29
- package/dist/src/shared/components/Signature/ui/sign-preview.vue.d.ts +0 -18
- package/dist/src/shared/components/Signature/ui/sign-switcher-modal.vue.d.ts +0 -116
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { FormStateChange, RuntimeFormStateStore } from './runtime-form-state-store';
|
|
2
|
+
import { RuntimeAsyncTaskCoordinator } from './async-task-coordinator';
|
|
3
|
+
/** 条件输出按设计控件 + 类型 + Store 稳定行路径区分;二维行也使用自己的稳定身份。 */
|
|
4
|
+
export declare function getRuntimeDependencyOutputKey(widgetId: string, type: string, rowPath: string): string;
|
|
5
|
+
/** 业务身份与数据路径分别保存:不同模型字段不能靠相同 fieldId 识别。 */
|
|
6
|
+
export interface RuntimeDependencyFieldReference {
|
|
7
|
+
modelKey?: string;
|
|
8
|
+
subModelKey?: string;
|
|
9
|
+
fieldId?: string;
|
|
10
|
+
subFieldKey?: string;
|
|
11
|
+
/** 必须与 Store 变更路径一致;不能直接在旧路径前拼接模型名。 */
|
|
12
|
+
dataPath: string;
|
|
13
|
+
}
|
|
14
|
+
/** 异步规则在提交结果前必须检查有效性,任务返回后的检查无法撤销已经写入的数据。 */
|
|
15
|
+
export interface RuntimeDependencyExecution {
|
|
16
|
+
signal: AbortSignal;
|
|
17
|
+
isCurrent(): boolean;
|
|
18
|
+
/** 原子替换本规则的全部条件输出,自动清除已经删除的行;过期执行不能发布。 */
|
|
19
|
+
replaceOutputs(values: ReadonlyMap<string, unknown>): boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface RuntimeDependencyEffect {
|
|
22
|
+
id: string;
|
|
23
|
+
targetField?: RuntimeDependencyFieldReference;
|
|
24
|
+
sheetId?: string;
|
|
25
|
+
/** 普通字段依赖;空数组表示常量表达式,仅初始化和结构变化时执行。 */
|
|
26
|
+
sourceFields?: RuntimeDependencyFieldReference[];
|
|
27
|
+
/** 目标子表行/列结构依赖,只匹配该结构或其父路径,不匹配普通单元格写入。 */
|
|
28
|
+
structureFields?: string[];
|
|
29
|
+
run(change: FormStateChange, execution: RuntimeDependencyExecution): void | Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 实例级联动调度器,统一执行 formulaExpr、条件属性及赋值 effect。
|
|
33
|
+
* 按 Store 路径筛选规则,同一微任务合并变更,公式产生的新变更继续进入下一轮。
|
|
34
|
+
* 排队阶段就登记 required 任务,提交会等待整条联动链;过期与销毁的执行不可回写。
|
|
35
|
+
*/
|
|
36
|
+
export declare class RuntimeDependencyService {
|
|
37
|
+
private readonly formState;
|
|
38
|
+
private readonly asyncTasks;
|
|
39
|
+
private readonly effects;
|
|
40
|
+
private readonly pendingChanges;
|
|
41
|
+
private readonly executions;
|
|
42
|
+
/** 每条规则拥有自己的输出集合,替换和注销规则时同时释放。 */
|
|
43
|
+
private readonly outputKeys;
|
|
44
|
+
/** 条件输出只有本服务可写,组件与校验通过 getOutput 读取。 */
|
|
45
|
+
private readonly outputs;
|
|
46
|
+
private scheduled;
|
|
47
|
+
private disposed;
|
|
48
|
+
/** 不收敛的公式链不能无限占用微任务,也不能被提交当作成功。 */
|
|
49
|
+
private formulaRounds;
|
|
50
|
+
private readonly unsubscribe;
|
|
51
|
+
constructor(formState: RuntimeFormStateStore, asyncTasks: RuntimeAsyncTaskCoordinator,
|
|
52
|
+
/** 打印副本只读取已计算的条件结果,不注册或重新执行业务规则。 */
|
|
53
|
+
initialOutputs?: Readonly<Record<string, unknown>>);
|
|
54
|
+
register(effect: RuntimeDependencyEffect): () => void;
|
|
55
|
+
private replaceOutputs;
|
|
56
|
+
private clearOutputs;
|
|
57
|
+
getOutput<T = unknown>(key: string): T | undefined;
|
|
58
|
+
/** 条件结果与数据一起进入打印快照,未访问的 Sheet 不依赖控件挂载重新计算。 */
|
|
59
|
+
getOutputSnapshot(): Record<string, unknown>;
|
|
60
|
+
/** 调试查询只描述调度状态,不返回规则执行函数或可写的条件结果引用。 */
|
|
61
|
+
getDebugSnapshot(): {
|
|
62
|
+
scheduled: boolean;
|
|
63
|
+
pendingChangeCount: number;
|
|
64
|
+
runningRuleIds: string[];
|
|
65
|
+
rules: {
|
|
66
|
+
id: string;
|
|
67
|
+
targetField?: RuntimeDependencyFieldReference;
|
|
68
|
+
sheetId?: string;
|
|
69
|
+
/** 普通字段依赖;空数组表示常量表达式,仅初始化和结构变化时执行。 */
|
|
70
|
+
sourceFields?: RuntimeDependencyFieldReference[];
|
|
71
|
+
/** 目标子表行/列结构依赖,只匹配该结构或其父路径,不匹配普通单元格写入。 */
|
|
72
|
+
structureFields?: string[];
|
|
73
|
+
}[];
|
|
74
|
+
outputs: Record<string, unknown>;
|
|
75
|
+
};
|
|
76
|
+
runAll(source?: FormStateChange['source']): Promise<void>;
|
|
77
|
+
dispose(): void;
|
|
78
|
+
private matches;
|
|
79
|
+
private cancelExecution;
|
|
80
|
+
private schedule;
|
|
81
|
+
private runEffects;
|
|
82
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IBasicInfoItem } from '../types';
|
|
2
|
+
import { RuntimeInstanceRecord } from './runtime-instance-registry';
|
|
3
|
+
type InitializerMetadata = {
|
|
4
|
+
materialNo?: string;
|
|
5
|
+
params?: string;
|
|
6
|
+
instanceStatus?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare class RuntimeFieldInitializer {
|
|
9
|
+
private readonly record;
|
|
10
|
+
private readonly info;
|
|
11
|
+
private readonly metadata;
|
|
12
|
+
private readonly initialized;
|
|
13
|
+
private readonly tasks;
|
|
14
|
+
private readonly requests;
|
|
15
|
+
private suite?;
|
|
16
|
+
private disposed;
|
|
17
|
+
private scheduled;
|
|
18
|
+
private readonly unsubscribe;
|
|
19
|
+
constructor(record: RuntimeInstanceRecord, info: IBasicInfoItem, metadata: InitializerMetadata);
|
|
20
|
+
/** 初次加载等待全部目标;失败保留在任务中心,不能把未完成的默认值当成可提交数据。 */
|
|
21
|
+
initialize(): Promise<void>;
|
|
22
|
+
private request;
|
|
23
|
+
private readDefault;
|
|
24
|
+
dispose(): void;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { BaseCoreComponent } from '../types';
|
|
2
|
+
import { BusinessFieldIdentity } from './field-identity';
|
|
3
|
+
import { RuntimeFieldLocation } from './runtime-context';
|
|
4
|
+
export interface RuntimeFieldDescriptor extends RuntimeFieldLocation {
|
|
5
|
+
businessKey: string;
|
|
6
|
+
/** 实际写入 Store 的字段键,关联字段可能不同于业务 fieldId。 */
|
|
7
|
+
dataFieldId: string;
|
|
8
|
+
pathPattern: string;
|
|
9
|
+
widget?: BaseCoreComponent.BasicSchema;
|
|
10
|
+
}
|
|
11
|
+
export interface RuntimeWidgetDescriptor {
|
|
12
|
+
sheetId: string;
|
|
13
|
+
nodeId: string;
|
|
14
|
+
widget: BaseCoreComponent.BasicSchema;
|
|
15
|
+
/** 布尔/枚举附属字段的启用条件;初始化扫描时收集,校验不等待父组件挂载。 */
|
|
16
|
+
referenceInfo?: RuntimeWidgetReferenceInfo;
|
|
17
|
+
}
|
|
18
|
+
export interface RuntimeWidgetReferenceInfo {
|
|
19
|
+
belongFieldId: string;
|
|
20
|
+
optionValue: any;
|
|
21
|
+
multiple?: boolean;
|
|
22
|
+
/** 最外层选择字段决定取普通行还是二维交叉子行,附属字段继承相同数据范围。 */
|
|
23
|
+
scopeFieldId?: string;
|
|
24
|
+
/** 嵌套引用字段须同时满足外层选项。 */
|
|
25
|
+
parent?: RuntimeWidgetReferenceInfo;
|
|
26
|
+
}
|
|
27
|
+
/** 元数据阶段输出控件归属与编译资格;展开单元格只查询,不重复编译规则。 */
|
|
28
|
+
export interface RuntimeWidgetMetadata extends RuntimeWidgetDescriptor {
|
|
29
|
+
compile: boolean;
|
|
30
|
+
}
|
|
31
|
+
/** 初始化阶段扫描一次得到的完整位置元数据,包含检验表内部 value_ 字段。 */
|
|
32
|
+
export interface RuntimeFieldMetadata {
|
|
33
|
+
fields: Array<RuntimeFieldLocation & {
|
|
34
|
+
widget?: BaseCoreComponent.BasicSchema;
|
|
35
|
+
}>;
|
|
36
|
+
widgets: RuntimeWidgetMetadata[];
|
|
37
|
+
}
|
|
38
|
+
/** 校验路径描述的是一个具体数据位置;动态行不重复注册静态字段。 */
|
|
39
|
+
export interface RuntimeValidationLocation {
|
|
40
|
+
field: RuntimeFieldDescriptor;
|
|
41
|
+
rowKey?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface RuntimeFieldQuery extends BusinessFieldIdentity {
|
|
44
|
+
subFieldKey?: string;
|
|
45
|
+
sheetId?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 一个多 Sheet 实例只有一份字段注册表。
|
|
49
|
+
* 只持有模板字段/控件的位置索引,供校验、联动、分页失效和导航查询。
|
|
50
|
+
* 不保存填报数据、动态行实例或错误状态,也不负责操作 DOM。
|
|
51
|
+
*/
|
|
52
|
+
export declare class RuntimeFieldRegistry {
|
|
53
|
+
/** 主表真实数据字段(关联模型使用 fieldLink),与业务字段索引分别建立。 */
|
|
54
|
+
private readonly mainFieldsByDataKey;
|
|
55
|
+
private readonly byBusinessKey;
|
|
56
|
+
private readonly widgets;
|
|
57
|
+
private readonly widgetsById;
|
|
58
|
+
private readonly fieldsByNode;
|
|
59
|
+
/** 第一层是子表 key(主表为空串),第二层是完整字段 key,避免前缀匹配。 */
|
|
60
|
+
private readonly fieldsByTable;
|
|
61
|
+
/** 只消费已经生成的元数据并建立索引,不扫描 dataCenter 或补齐业务特例。 */
|
|
62
|
+
constructor(metadata: RuntimeFieldMetadata);
|
|
63
|
+
allWidgets(): readonly RuntimeWidgetDescriptor[];
|
|
64
|
+
/**
|
|
65
|
+
* 从已经建立的索引取得调试快照,不重新扫描 dataCenter,也不增加一份字段缓存。
|
|
66
|
+
* 保留内部 value_、引用位置以及真实 dataFieldId/pathPattern,便于核对模型与数据路径。
|
|
67
|
+
* 字段和控件配置均深拷贝,控制台修改快照不会影响注册表或正在渲染的控件。
|
|
68
|
+
*/
|
|
69
|
+
getDebugSnapshot(): {
|
|
70
|
+
fields: Array<RuntimeFieldLocation & {
|
|
71
|
+
widget?: BaseCoreComponent.BasicSchema;
|
|
72
|
+
}>;
|
|
73
|
+
widgets: RuntimeWidgetMetadata[];
|
|
74
|
+
fieldCount: number;
|
|
75
|
+
businessFieldCount: number;
|
|
76
|
+
widgetCount: number;
|
|
77
|
+
compiledWidgetCount: number;
|
|
78
|
+
};
|
|
79
|
+
/** 打印消费现有位置索引的副本,不重新扫描节点,也不持有原实例的控件引用。 */
|
|
80
|
+
getMetadataSnapshot(): RuntimeFieldMetadata;
|
|
81
|
+
getByBusinessKey(businessKey: string): RuntimeFieldDescriptor | undefined;
|
|
82
|
+
findByPath(path: string): RuntimeFieldDescriptor[];
|
|
83
|
+
/** 节点/批注的业务字段查询;不向调用方暴露字段数组让其自行匹配。 */
|
|
84
|
+
findField(query: RuntimeFieldQuery): RuntimeFieldDescriptor | undefined;
|
|
85
|
+
getByNode(nodeId: string, sheetId?: string): RuntimeFieldDescriptor | undefined;
|
|
86
|
+
/** 校验与批注的位置统一包含模型、字段和稳定行键,不解析数字行列下标。 */
|
|
87
|
+
resolveValidationPath(path: string, sheetId?: string): RuntimeValidationLocation | undefined;
|
|
88
|
+
private findPlaced;
|
|
89
|
+
findWidgetById(widgetId: string): RuntimeWidgetDescriptor | undefined;
|
|
90
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RuntimeInstanceRecord } from './runtime-instance-registry';
|
|
2
|
+
export interface RuntimeDataTarget {
|
|
3
|
+
row: Record<string, any>;
|
|
4
|
+
parentRow?: Record<string, any>;
|
|
5
|
+
}
|
|
6
|
+
/** 公式、赋值、条件和校验共用数据位置枚举,不依赖固定表展开控件是否挂载。 */
|
|
7
|
+
export declare function listRuntimeFieldRows(record: RuntimeInstanceRecord, subFieldKey: string | undefined, targetFieldId: string): RuntimeDataTarget[];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IBasicInfoItem } from '../types';
|
|
2
|
+
import { RuntimeInstanceRecord } from './runtime-instance-registry';
|
|
3
|
+
export type RuntimeFieldStateInfo = Pick<IBasicInfoItem, 'renderModeType' | 'modelKey' | 'formType' | 'bpmnType' | 'bpmnFieldAuthMap'> & Partial<Pick<IBasicInfoItem, 'annSwitchStatus' | 'renderPurpose'>>;
|
|
4
|
+
/** Core 提供业务规则,这里统一合并到静态配置;二维交叉字段使用所属父行的业务状态。 */
|
|
5
|
+
export declare function resolveRuntimeFieldProps(record: RuntimeInstanceRecord, props: Record<string, any>, widgetId: string, row?: Record<string, any>, parentRow?: Record<string, any>): {
|
|
6
|
+
[x: string]: any;
|
|
7
|
+
};
|
|
8
|
+
/** 只读展示方式、禁用和校验 blocked 由同一结果派生,UI 与未挂载字段使用相同权限语义。 */
|
|
9
|
+
export declare function resolveRuntimeFieldState(props: Record<string, any>, info: RuntimeFieldStateInfo): {
|
|
10
|
+
displayStatus: string;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
blocked: boolean;
|
|
13
|
+
required: boolean;
|
|
14
|
+
keepExceptionHighlight: boolean | undefined;
|
|
15
|
+
};
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { RuntimeTableRelation } from './table-row-identity';
|
|
2
|
+
/** 数据变更来源;订阅方可据此区分用户输入、计算结果和初始化恢复。 */
|
|
3
|
+
export type FormStateMutationSource = 'user' | 'formula' | 'autofill' | 'async' | 'restore' | 'system';
|
|
4
|
+
export interface FormStateChange {
|
|
5
|
+
/** 本次提交后的实例数据版本。 */
|
|
6
|
+
revision: number;
|
|
7
|
+
/** 本次事务修改的业务路径,已自动去重。 */
|
|
8
|
+
paths: string[];
|
|
9
|
+
/** 整个事务的变更来源。 */
|
|
10
|
+
source: FormStateMutationSource;
|
|
11
|
+
}
|
|
12
|
+
export type FormStateSubscriber = (change: FormStateChange) => void;
|
|
13
|
+
/**
|
|
14
|
+
* 一个多 Sheet 实例只创建一个 FormStateStore。
|
|
15
|
+
*
|
|
16
|
+
* 对外暴露深层受控视图,字段赋值、对象属性修改和数组原地操作都会统一生成
|
|
17
|
+
* revision、dirty 状态和字段路径事件,供联动、分页和自动保存订阅。
|
|
18
|
+
* 字段组件通过 useRuntimeRowState 的显式写入口声明来源;Proxy 保留深层监听和数组操作能力。
|
|
19
|
+
*/
|
|
20
|
+
export declare class RuntimeFormStateStore {
|
|
21
|
+
private readonly tableRelations;
|
|
22
|
+
/**
|
|
23
|
+
* 提供给业务代码和字段组件的受控数据视图,由实例记录持有唯一 Store。
|
|
24
|
+
*
|
|
25
|
+
* 它是在 reactiveState 外再包的一层 Store Proxy。读取的数据与 reactiveState 完全相同,
|
|
26
|
+
* 写属性、删属性和修改数组时会额外生成字段路径、revision、dirty 和订阅事件。
|
|
27
|
+
*/
|
|
28
|
+
readonly state: Record<string, any>;
|
|
29
|
+
/**
|
|
30
|
+
* Vue reactive() 创建的内部响应式对象,是整份实例数据的基础存储。
|
|
31
|
+
*
|
|
32
|
+
* Store 自己执行 patch/replace 时会直接修改它,并在 mutate() 中显式登记路径,避免再经过
|
|
33
|
+
* state Proxy 重复记录同一次变更。业务模块不应直接持有或修改该对象。
|
|
34
|
+
*/
|
|
35
|
+
private readonly reactiveState;
|
|
36
|
+
/** 每次成功提交一批变更递增一次,保存和提交用它判断快照是否过期。 */
|
|
37
|
+
revision: number;
|
|
38
|
+
/** 是否存在尚未保存的变更;restore 来源不会把实例标记为脏。 */
|
|
39
|
+
dirty: boolean;
|
|
40
|
+
/** 当前嵌套事务深度;只有最外层事务结束时才递增 revision 并通知订阅方。 */
|
|
41
|
+
private mutationDepth;
|
|
42
|
+
/** 当前事务累计的变更路径,Set 保证同一路径只通知一次。 */
|
|
43
|
+
private pendingPaths;
|
|
44
|
+
/** 最外层事务的变更来源,嵌套写入沿用该来源。 */
|
|
45
|
+
private pendingSource;
|
|
46
|
+
/** 联动、分页失效、自动保存等实例服务登记的变更监听器。 */
|
|
47
|
+
private readonly subscribers;
|
|
48
|
+
/** 用户主动修改过的业务路径,供公式和自动填充执行“不覆盖用户输入”策略。 */
|
|
49
|
+
private readonly userModifiedPaths;
|
|
50
|
+
/**
|
|
51
|
+
* 同一个目标对象可以因为所在业务位置不同而拥有不同 basePath。
|
|
52
|
+
* 此缓存保证相同 target + basePath 始终复用同一个 Proxy,避免组件重复渲染时不断创建视图。
|
|
53
|
+
*/
|
|
54
|
+
private readonly scopedViews;
|
|
55
|
+
/** 从 Store Proxy 反查它包装的 Vue 响应式目标,写入前用于去掉重复的 Store 代理层。 */
|
|
56
|
+
private readonly viewTargets;
|
|
57
|
+
/** 视图的业务路径;行组件、上传和自动填充复用它,避免各自拼接下标路径。 */
|
|
58
|
+
private readonly viewPaths;
|
|
59
|
+
/** Vue 代理和原始对象可能被不同业务模块持有,按原始对象记录同一个业务位置。 */
|
|
60
|
+
private readonly objectPaths;
|
|
61
|
+
/** 由实例业务索引提供的子表字段,只有这些数组和二维行数组需要补齐行身份。 */
|
|
62
|
+
private readonly subtableFields;
|
|
63
|
+
constructor(initialState: Record<string, any>, subtableFields?: Iterable<string>, tableRelations?: readonly RuntimeTableRelation[]);
|
|
64
|
+
/**
|
|
65
|
+
* 为主表或子表行创建受控数据视图。
|
|
66
|
+
* basePath 为空时 `field` 的变更路径就是 `field`;子表行为
|
|
67
|
+
* `subField.rowKey.field`,可直接匹配 RuntimeFieldRegistry 的路径规则。
|
|
68
|
+
*
|
|
69
|
+
* 读取嵌套对象时会按需继续创建 scoped view,所以任意深度的普通赋值都不会绕开 Store。
|
|
70
|
+
*/
|
|
71
|
+
createScopedView(target: Record<string, any>, basePath?: string): Record<string, any>;
|
|
72
|
+
/** 返回当前对象的业务位置;空字符串表示主表,undefined 表示对象尚未绑定到 Store。 */
|
|
73
|
+
getObjectPath(target: Record<string, any>): string | undefined;
|
|
74
|
+
/** 所有组件使用同一入口生成字段路径,缺少受控上下文时立即报错。 */
|
|
75
|
+
getFieldPath(target: Record<string, any>, fieldKey: string): string;
|
|
76
|
+
/** 关联字段 _OPCT 容器沿用所属业务行身份,不在容器内重新生成一个行键。 */
|
|
77
|
+
getRowKey(target: Record<string, any>, subFieldKey: string): string;
|
|
78
|
+
/** 写入主表顶层字段。 */
|
|
79
|
+
setField(fieldKey: string, value: any, source?: FormStateMutationSource): void;
|
|
80
|
+
/**
|
|
81
|
+
* 写入任意行对象中的字段。
|
|
82
|
+
* target 决定真实写入对象,changePath 决定订阅方看到的业务位置,两者可以不同。
|
|
83
|
+
*/
|
|
84
|
+
setObjectField(target: Record<string, any>, fieldKey: string, value: any, source?: FormStateMutationSource, changePath?: string): void;
|
|
85
|
+
/** 合并当前行的一组关联字段,累计稳定业务路径,只提交一次变更。 */
|
|
86
|
+
patchObjectFields(target: Record<string, any>, values: Record<string, any>, source: FormStateMutationSource): void;
|
|
87
|
+
/** 合并一组顶层字段,保留未出现在 values 中的现有字段。 */
|
|
88
|
+
patch(values: Record<string, any>, source?: FormStateMutationSource): void;
|
|
89
|
+
/**
|
|
90
|
+
* 用新对象整体替换实例数据,删除旧对象中多余的顶层字段。
|
|
91
|
+
* 草稿/接口恢复后会清空用户修改标记;restore 来源同时恢复为非脏状态。
|
|
92
|
+
*/
|
|
93
|
+
replace(values: Record<string, any>, source?: FormStateMutationSource): void;
|
|
94
|
+
/**
|
|
95
|
+
* 将多次深层写入合并成一次变更提交。
|
|
96
|
+
* 嵌套事务只累计路径,最外层 finally 统一递增 revision 并通知订阅方。
|
|
97
|
+
*/
|
|
98
|
+
transaction<T>(source: FormStateMutationSource, callback: (state: Record<string, any>) => T): T;
|
|
99
|
+
/** 登记路径和来源后执行底层修改,是所有显式 Store 写方法的统一入口。 */
|
|
100
|
+
mutate<T>(paths: string[], source: FormStateMutationSource, callback: () => T): T;
|
|
101
|
+
/** 查询某业务路径是否曾由用户主动修改。 */
|
|
102
|
+
isUserModified(path: string): boolean;
|
|
103
|
+
/** 将异步上传等最终由用户发起的写入补记为用户修改。 */
|
|
104
|
+
markUserModified(path: string): void;
|
|
105
|
+
/** 清除指定路径的用户修改标记,允许“不覆盖”策略重新赋值。 */
|
|
106
|
+
clearUserModified(path: string): void;
|
|
107
|
+
/**
|
|
108
|
+
* 只允许与保存快照相同的版本清除 dirty。
|
|
109
|
+
* 保存期间若又发生编辑,旧请求成功也不能把新修改标记为已保存。
|
|
110
|
+
*/
|
|
111
|
+
markClean(expectedRevision?: number): boolean;
|
|
112
|
+
/**
|
|
113
|
+
* 订阅实例数据提交事件;返回的函数只注销当前订阅。
|
|
114
|
+
* 一次 transaction 无论修改多少字段,订阅方都只会收到一次回调。
|
|
115
|
+
*/
|
|
116
|
+
subscribe(subscriber: FormStateSubscriber): () => boolean;
|
|
117
|
+
/** 实例销毁时释放订阅和临时状态;数据对象的生命周期由实例上下文结束。 */
|
|
118
|
+
dispose(): void;
|
|
119
|
+
/** 提交当前事务积累的路径,更新版本和脏状态,然后同步通知实例服务。 */
|
|
120
|
+
private commit;
|
|
121
|
+
/** 如果值是 Store 创建的 scoped view,返回它实际包装的 Vue 响应式目标。 */
|
|
122
|
+
private unwrap;
|
|
123
|
+
/** 内部批量赋值工具;调用方已经在 mutate() 中登记本批次路径。 */
|
|
124
|
+
private assignValues;
|
|
125
|
+
/**
|
|
126
|
+
* 所有写入口共用的表格身份边界:整表恢复/回填、数组插入、二维子行替换均在通知前补齐。
|
|
127
|
+
* 只处理业务索引声明的表格及 _2DTABLE_,不把多选值、上传文件等数组当作表格。
|
|
128
|
+
*/
|
|
129
|
+
private ensureIncomingRowKeys;
|
|
130
|
+
/** 数组中的业务行使用稳定身份;普通嵌套对象仍按属性路径访问。 */
|
|
131
|
+
private getChildPath;
|
|
132
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { RuntimeInstanceContext } from './runtime-context';
|
|
2
|
+
import { RuntimePersistenceCoordinator, RuntimeSubmissionResult, RuntimeSubmissionValidationResult } from './runtime-persistence-coordinator';
|
|
3
|
+
import { RuntimeSheetService } from './runtime-sheet-service';
|
|
4
|
+
export type RuntimeEditorFlusher = () => void | Promise<void>;
|
|
5
|
+
export interface ActivateRuntimeSheetOptions {
|
|
6
|
+
/** 切换前记录的当前 Sheet 滚动位置。 */
|
|
7
|
+
scrollTop?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface RuntimeInstanceControllerOptions {
|
|
10
|
+
context: RuntimeInstanceContext;
|
|
11
|
+
/** 服务均由实例记录显式注入,不通过 context 查找,也不重新创建。 */
|
|
12
|
+
sheetService: RuntimeSheetService;
|
|
13
|
+
persistenceCoordinator: RuntimePersistenceCoordinator;
|
|
14
|
+
/** 实例级业务校验和转换由工厂注入;缺少结果时提交失败,不能默认放行。 */
|
|
15
|
+
onValidate: () => RuntimeSubmissionValidationResult | undefined | Promise<RuntimeSubmissionValidationResult | undefined>;
|
|
16
|
+
/** 将共享 formState 转换为业务后端需要的提交结构。 */
|
|
17
|
+
onGetSubmitData: (formState: Record<string, any>) => Record<string, any>;
|
|
18
|
+
/** 校验失败后定位首个错误所属 Sheet。 */
|
|
19
|
+
onValidationFailed?: (result: RuntimeSubmissionValidationResult) => void | Promise<unknown>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 一个表单实例对应一个控制器。
|
|
23
|
+
*
|
|
24
|
+
* 控制器统一查询 Sheet、收口编辑器、计算分页、切换活动 Sheet 和准备提交。
|
|
25
|
+
* 页面只处理 DOM 的失焦、滚动和聚焦;业务规则由工厂注入。
|
|
26
|
+
* 服务的创建及销毁仍归 Registry,Controller 只使用已有服务。
|
|
27
|
+
*/
|
|
28
|
+
export declare class RuntimeInstanceController {
|
|
29
|
+
readonly context: RuntimeInstanceContext;
|
|
30
|
+
private readonly persistenceCoordinator;
|
|
31
|
+
private readonly sheets;
|
|
32
|
+
private readonly viewState;
|
|
33
|
+
/** 初始化和模式切换的真实准备任务;不再用固定时间窗口推断准备是否结束。 */
|
|
34
|
+
private readonly viewPreparations;
|
|
35
|
+
private viewPreparationSequence;
|
|
36
|
+
private disposed;
|
|
37
|
+
private switchSequence;
|
|
38
|
+
private readonly editorFlushers;
|
|
39
|
+
private readonly onValidate;
|
|
40
|
+
private readonly onGetSubmitData;
|
|
41
|
+
private readonly onValidationFailed?;
|
|
42
|
+
/** 合并整个 UI 提交流程,避免并发点击重复执行错误导航。 */
|
|
43
|
+
private preparingSubmission?;
|
|
44
|
+
constructor(options: RuntimeInstanceControllerOptions);
|
|
45
|
+
get switching(): boolean;
|
|
46
|
+
get preparing(): boolean;
|
|
47
|
+
get preparationError(): Error | undefined;
|
|
48
|
+
/** 库内准备入口;异步回调按当前轮次判断是否还能更新展示,不让旧模式覆盖新模式。 */
|
|
49
|
+
prepareView<T>(prepare: (isCurrent: () => boolean) => Promise<T>): Promise<T>;
|
|
50
|
+
/** 提交、草稿、打印及初始化完成通知,都等待实际准备任务结束。 */
|
|
51
|
+
waitUntilPrepared(): Promise<void>;
|
|
52
|
+
/** 严格获取活动 Sheet,核心操作缺少活动 Sheet 时立即报错。 */
|
|
53
|
+
getActiveSheet(): import('./runtime-context').RuntimeSheetContext;
|
|
54
|
+
/** 查询指定 Sheet;省略 sheetId 时返回活动 Sheet,打印可明确指定其他 Sheet。 */
|
|
55
|
+
getSheet(sheetId?: string): import('./runtime-context').RuntimeSheetContext | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* 字段通过 useRuntimeEditorFlusher 注册尚未写入 Store 的编辑状态提交函数,
|
|
58
|
+
* 卸载时调用返回的注销函数;已即时写入 Store 的控件无需额外注册。
|
|
59
|
+
*/
|
|
60
|
+
registerEditorFlusher(flusher: RuntimeEditorFlusher): () => boolean;
|
|
61
|
+
private flushActiveEditor;
|
|
62
|
+
activateSheet(sheetId: string, options?: ActivateRuntimeSheetOptions): Promise<import('./runtime-context').RuntimeSheetContext | undefined>;
|
|
63
|
+
/** 统一记录 Sheet 滚动位置;无效数值归零,负值截断为零。 */
|
|
64
|
+
updateScrollTop(sheetId: string, scrollTop: number): void;
|
|
65
|
+
/** 暂存/变更业务取得稳定数据,不校验、不导航;不能把此结果当作已通过提交校验。 */
|
|
66
|
+
prepareDraft(): Promise<import('./runtime-persistence-coordinator').RuntimeSubmissionDataSnapshot<Record<string, any>>>;
|
|
67
|
+
/**
|
|
68
|
+
* 打印渲染器同步捕获同一 revision 的数据、节点和分页;不执行业务转换或校验。
|
|
69
|
+
* capture 只复制展示状态,不能请求数据或修改原实例;宿主通过 PreviewContainer 打印。
|
|
70
|
+
*/
|
|
71
|
+
preparePrintSnapshot<T>(capture: (formState: Record<string, any>, revision: number) => T): Promise<T>;
|
|
72
|
+
/**
|
|
73
|
+
* 【宿主接入·已接通】业务按钮消费本次 result.validation/result.payload,不读取提交缓存。
|
|
74
|
+
* 网络异常由宿主处理;本方法仅生成稳定快照,不发送保存或提交请求。
|
|
75
|
+
*/
|
|
76
|
+
prepareSubmission(): Promise<RuntimeSubmissionResult>;
|
|
77
|
+
private runSubmission;
|
|
78
|
+
dispose(): void;
|
|
79
|
+
private assertAlive;
|
|
80
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface RuntimeAnnotationSelectEvent {
|
|
2
|
+
cellLocation: string | string[];
|
|
3
|
+
/** DOM 所属 Sheet;没有 DOM 时仍可通过稳定业务位置解析所属 Sheet。 */
|
|
4
|
+
sheetId?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface RuntimeInstanceEvents {
|
|
7
|
+
annotationSelect: RuntimeAnnotationSelectEvent;
|
|
8
|
+
}
|
|
9
|
+
type RuntimeEventHandler<K extends keyof RuntimeInstanceEvents> = (event: RuntimeInstanceEvents[K]) => void | Promise<void>;
|
|
10
|
+
/** 每个多 Sheet 表单实例独享事件总线,避免批注等 UI 事件串到同屏其他实例。 */
|
|
11
|
+
export declare class RuntimeInstanceEventBus {
|
|
12
|
+
private readonly handlers;
|
|
13
|
+
on<K extends keyof RuntimeInstanceEvents>(type: K, handler: RuntimeEventHandler<K>): () => boolean;
|
|
14
|
+
emit<K extends keyof RuntimeInstanceEvents>(type: K, event: RuntimeInstanceEvents[K]): void;
|
|
15
|
+
dispose(): void;
|
|
16
|
+
}
|
|
17
|
+
export {};
|