weaver-work-cli 0.1.24 → 0.1.25
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/README.md +10 -1
- package/dist/core/output.js +53 -1
- package/dist/internal/e10/auth/commands.js +17 -2
- package/dist/internal/e10/auth/crypto.js +52 -12
- package/dist/internal/e10/auth/xiaoe.js +112 -39
- package/dist/shortcuts/caizhilian/operations/handlers/fileops.js +67 -1
- package/dist/shortcuts/caizhilian/operations/handlers/setting-attach.js +198 -0
- package/dist/shortcuts/caizhilian/operations/shared.js +32 -0
- package/dist/shortcuts/caizhilian/operations/specs.js +15 -0
- package/dist/shortcuts/workflow/index.js +55 -1
- package/dist/shortcuts/workflow/operations/form.js +1252 -109
- package/dist/shortcuts/workflow/operations/read.js +75 -35
- package/dist/shortcuts/workflow/operations/shared.js +25 -0
- package/dist/shortcuts/workflow/stdout-compact.js +33 -0
- package/docs/caizhilian.md +4 -3
- package/docs/e10-auth.md +8 -1
- package/node_modules/@napi-rs/keyring/LICENSE +21 -0
- package/node_modules/@napi-rs/keyring/README.md +19 -0
- package/node_modules/@napi-rs/keyring/index.d.ts +166 -0
- package/node_modules/@napi-rs/keyring/index.js +514 -0
- package/node_modules/@napi-rs/keyring/keytar.d.ts +53 -0
- package/node_modules/@napi-rs/keyring/keytar.js +26 -0
- package/node_modules/@napi-rs/keyring/package.json +125 -0
- package/node_modules/@napi-rs/keyring-darwin-arm64/README.md +3 -0
- package/node_modules/@napi-rs/keyring-darwin-arm64/keyring.darwin-arm64.node +0 -0
- package/node_modules/@napi-rs/keyring-darwin-arm64/package.json +32 -0
- package/node_modules/commander/LICENSE +22 -0
- package/node_modules/commander/Readme.md +1149 -0
- package/node_modules/commander/esm.mjs +16 -0
- package/node_modules/commander/index.js +24 -0
- package/node_modules/commander/lib/argument.js +149 -0
- package/node_modules/commander/lib/command.js +2662 -0
- package/node_modules/commander/lib/error.js +39 -0
- package/node_modules/commander/lib/help.js +709 -0
- package/node_modules/commander/lib/option.js +367 -0
- package/node_modules/commander/lib/suggestSimilar.js +101 -0
- package/node_modules/commander/package-support.json +16 -0
- package/node_modules/commander/package.json +82 -0
- package/node_modules/commander/typings/esm.d.mts +3 -0
- package/node_modules/commander/typings/index.d.ts +1045 -0
- package/package.json +5 -1
- package/skills/weaver-e10-builder/SKILL.md +281 -0
- package/skills/weaver-e10-builder/_catalog.md +94 -0
- package/skills/weaver-e10-builder/actionflows/CONTEXT.md +71 -0
- package/skills/weaver-e10-builder/actionflows/SKILL.md +176 -0
- package/skills/weaver-e10-builder/actionflows/docs/adr/0001-generated-actionflow-cleanup-identity.md +5 -0
- package/skills/weaver-e10-builder/actionflows/docs/adr/0002-preserve-existing-actionflow-on-update.md +36 -0
- package/skills/weaver-e10-builder/actionflows/references/components/calendar/MeetingCreate.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/calendar/ScheduleCreate.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/database/DMLExecute.md +38 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentCopy.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentMove.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentCopy.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentDelete.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentEdit.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentMove.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentPermissionChange.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRenewal.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRevert.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSave.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscription.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionApprove.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionSendBack.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionWithdraw.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/FileFolderSave.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/GetAttachmentInfo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/GetDocumentInfo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/ModifyDocumentStatus.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/ReplaceAttachment.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/document/UpdatePrintNum.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbAdd.md +100 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbDelete.md +23 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbRecover.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbSaveVersion.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbUpdate.md +67 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/DateTrigger.md +32 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EbGetDataById.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EnquiryForm.md +107 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventButton.md +33 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventFormData.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/TimeBatchTrigger.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/http/Http.md +77 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/Condition.md +23 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/LogicFlowSet.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/MultipleExecution.md +38 -0
- package/skills/weaver-e10-builder/actionflows/references/components/logic/Output.md +37 -0
- package/skills/weaver-e10-builder/actionflows/references/components/message/InnerMQSend.md +50 -0
- package/skills/weaver-e10-builder/actionflows/references/components/message/SendMessage.md +30 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/AlterPersonStatus.md +30 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/HrmEmployeeUpdate.md +34 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelAlterType.md +38 -0
- package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelOnboarding.md +36 -0
- package/skills/weaver-e10-builder/actionflows/references/components/serverless/ServerlessAction.md +42 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/CustomTrigger.md +82 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/InnerMQListener.md +41 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/SimpleScheduler.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/trigger/WebHookTrigger.md +91 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAddSign.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAgreeRejectApply.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCommit.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveConsulTurnTodo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCreate.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDelete.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoCirculate.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoForward.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoTurnTodo.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveEntrust.md +19 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveIntervention.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveMandatoryArchiving.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveManualCC.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRefuseRejectApply.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRejectApply.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSave.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSendBack.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveShareEntry.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveTrigger.md +99 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveWithdraw.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkFlowDocEmpowerment.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkflowToDoc.md +17 -0
- package/skills/weaver-e10-builder/actionflows/references/condition_rules.md +100 -0
- package/skills/weaver-e10-builder/actionflows/references/dynamic_capability_matrix.md +39 -0
- package/skills/weaver-e10-builder/actionflows/references/dynamic_resources.md +41 -0
- package/skills/weaver-e10-builder/actionflows/references/examples/enquiry-form-batch-insert-scene2.json +1043 -0
- package/skills/weaver-e10-builder/actionflows/references/function_rules.md +15 -0
- package/skills/weaver-e10-builder/actionflows/references/trigger_runtime_notes.md +53 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Bar.json +341 -0
- package/skills/weaver-e10-builder/assets/dom-structure/BarStack.json +341 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Bubble.json +323 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Calendar.json +515 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Circular.json +337 -0
- package/skills/weaver-e10-builder/assets/dom-structure/CollapsePanel.json +289 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Comment.json +617 -0
- package/skills/weaver-e10-builder/assets/dom-structure/CountDown.json +755 -0
- package/skills/weaver-e10-builder/assets/dom-structure/DigitalPanel.json +191 -0
- package/skills/weaver-e10-builder/assets/dom-structure/EbButton.json +387 -0
- package/skills/weaver-e10-builder/assets/dom-structure/FastCreate.json +242 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Gauge.json +282 -0
- package/skills/weaver-e10-builder/assets/dom-structure/HBar.json +336 -0
- package/skills/weaver-e10-builder/assets/dom-structure/HBarStack.json +337 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Line.json +341 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NList.json +712 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NavBar.json +274 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NavPanel.json +390 -0
- package/skills/weaver-e10-builder/assets/dom-structure/NewTab.json +606 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Nightingale.json +336 -0
- package/skills/weaver-e10-builder/assets/dom-structure/PageHeader.json +205 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Picture.json +209 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Pie.json +338 -0
- package/skills/weaver-e10-builder/assets/dom-structure/ProgressChart.json +299 -0
- package/skills/weaver-e10-builder/assets/dom-structure/SearchGlobal.json +628 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Slide.json +489 -0
- package/skills/weaver-e10-builder/assets/dom-structure/Treemap.json +324 -0
- package/skills/weaver-e10-builder/assets/factory/chart-dimensions.json +536 -0
- package/skills/weaver-e10-builder/assets/factory/example-btn-progress-collapse-configured.json +2515 -0
- package/skills/weaver-e10-builder/assets/factory/example-configured-2.json +13805 -0
- package/skills/weaver-e10-builder/assets/factory/example-configured.json +6735 -0
- package/skills/weaver-e10-builder/assets/factory/factory-bar-stack.json +326 -0
- package/skills/weaver-e10-builder/assets/factory/factory-bar.json +222 -0
- package/skills/weaver-e10-builder/assets/factory/factory-bubble.json +322 -0
- package/skills/weaver-e10-builder/assets/factory/factory-calendar.json +325 -0
- package/skills/weaver-e10-builder/assets/factory/factory-circular.json +320 -0
- package/skills/weaver-e10-builder/assets/factory/factory-collapse-panel.json +132 -0
- package/skills/weaver-e10-builder/assets/factory/factory-comment.json +388 -0
- package/skills/weaver-e10-builder/assets/factory/factory-count-down.json +198 -0
- package/skills/weaver-e10-builder/assets/factory/factory-digital-panel.json +108 -0
- package/skills/weaver-e10-builder/assets/factory/factory-eb-button.json +150 -0
- package/skills/weaver-e10-builder/assets/factory/factory-fast-create.json +62 -0
- package/skills/weaver-e10-builder/assets/factory/factory-gauge.json +312 -0
- package/skills/weaver-e10-builder/assets/factory/factory-h-bar-stack.json +328 -0
- package/skills/weaver-e10-builder/assets/factory/factory-h-bar.json +326 -0
- package/skills/weaver-e10-builder/assets/factory/factory-line.json +212 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nav-bar.json +167 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nav-menu.json +144 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nav-panel.json +338 -0
- package/skills/weaver-e10-builder/assets/factory/factory-new-tab.json +163 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nightingale.json +312 -0
- package/skills/weaver-e10-builder/assets/factory/factory-nlist.json +112 -0
- package/skills/weaver-e10-builder/assets/factory/factory-page-header.json +171 -0
- package/skills/weaver-e10-builder/assets/factory/factory-picture.json +169 -0
- package/skills/weaver-e10-builder/assets/factory/factory-pie.json +212 -0
- package/skills/weaver-e10-builder/assets/factory/factory-progress-chart.json +162 -0
- package/skills/weaver-e10-builder/assets/factory/factory-search-global.json +104 -0
- package/skills/weaver-e10-builder/assets/factory/factory-slide.json +164 -0
- package/skills/weaver-e10-builder/assets/factory/factory-treemap.json +322 -0
- package/skills/weaver-e10-builder/assets/icons.db +0 -0
- package/skills/weaver-e10-builder/assets/sample/.claude/settings.local.json +8 -0
- package/skills/weaver-e10-builder/assets/sample/api/formApi.js +510 -0
- package/skills/weaver-e10-builder/assets/sample/config/config.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/config/configLoad.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/config/configLoad_default.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/config/config_default.js +0 -0
- package/skills/weaver-e10-builder/assets/sample/entry.js +22 -0
- package/skills/weaver-e10-builder/assets/sample/eslint.config.cjs +48 -0
- package/skills/weaver-e10-builder/assets/sample/memo.md +0 -0
- package/skills/weaver-e10-builder/assets/sample/readme.js +8 -0
- package/skills/weaver-e10-builder/references/app/guide-app-publish.md +92 -0
- package/skills/weaver-e10-builder/references/auth/guide-auth.md +88 -0
- package/skills/weaver-e10-builder/references/coding/guide-edit-backfill.md +189 -0
- package/skills/weaver-e10-builder/references/coding/guide-form-crud.md +262 -0
- package/skills/weaver-e10-builder/references/coding/guide-page-code.md +244 -0
- package/skills/weaver-e10-builder/references/coding/guide-page-export.md +119 -0
- package/skills/weaver-e10-builder/references/coding/ref-compile-rules.md +130 -0
- package/skills/weaver-e10-builder/references/common/guide-plan-template.md +164 -0
- package/skills/weaver-e10-builder/references/common/map.md +153 -0
- package/skills/weaver-e10-builder/references/common/ref-cli-commands.md +635 -0
- package/skills/weaver-e10-builder/references/components/@weapp-Button.md +104 -0
- package/skills/weaver-e10-builder/references/components/base-Badge.md +100 -0
- package/skills/weaver-e10-builder/references/components/base-Dialog.md +358 -0
- package/skills/weaver-e10-builder/references/components/base-Empty.md +58 -0
- package/skills/weaver-e10-builder/references/components/base-Tag.md +112 -0
- package/skills/weaver-e10-builder/references/components/display-Alert.md +64 -0
- package/skills/weaver-e10-builder/references/components/display-Avatar.md +150 -0
- package/skills/weaver-e10-builder/references/components/display-Calendar.md +263 -0
- package/skills/weaver-e10-builder/references/components/display-Carousel.md +115 -0
- package/skills/weaver-e10-builder/references/components/display-Collapse.md +299 -0
- package/skills/weaver-e10-builder/references/components/display-FilePreview.md +49 -0
- package/skills/weaver-e10-builder/references/components/display-Icon.md +66 -0
- package/skills/weaver-e10-builder/references/components/display-List.md +320 -0
- package/skills/weaver-e10-builder/references/components/display-Pagination.md +41 -0
- package/skills/weaver-e10-builder/references/components/display-Spin.md +34 -0
- package/skills/weaver-e10-builder/references/components/display-Steps.md +89 -0
- package/skills/weaver-e10-builder/references/components/display-Table.md +160 -0
- package/skills/weaver-e10-builder/references/components/display-Title.md +117 -0
- package/skills/weaver-e10-builder/references/components/form-Checkbox.md +161 -0
- package/skills/weaver-e10-builder/references/components/form-DepartmentBrowser-api.md +52 -0
- package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser-api.md +51 -0
- package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser.md +51 -0
- package/skills/weaver-e10-builder/references/components/form-Input.md +123 -0
- package/skills/weaver-e10-builder/references/components/form-Radio.md +145 -0
- package/skills/weaver-e10-builder/references/components/form-Select.md +191 -0
- package/skills/weaver-e10-builder/references/components/form-Switch.md +46 -0
- package/skills/weaver-e10-builder/references/components/form-Upload.md +53 -0
- package/skills/weaver-e10-builder/references/components/generic-Echarts.md +102 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-components.md +130 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-css.md +127 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-factory.md +460 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-version.md +111 -0
- package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer.md +288 -0
- package/skills/weaver-e10-builder/references/esb-interface/guide-import.md +34 -0
- package/skills/weaver-e10-builder/references/form/guide-create-form.md +248 -0
- package/skills/weaver-e10-builder/references/form/guide-ebuilder-filter.md +73 -0
- package/skills/weaver-e10-builder/references/form/guide-ebuilder-scope.md +82 -0
- package/skills/weaver-e10-builder/references/form/guide-field-linkage.md +123 -0
- package/skills/weaver-e10-builder/references/form/guide-form-archive-permission.md +175 -0
- package/skills/weaver-e10-builder/references/form/guide-form-association.md +124 -0
- package/skills/weaver-e10-builder/references/form/guide-form-button.md +169 -0
- package/skills/weaver-e10-builder/references/form/guide-form-data.md +78 -0
- package/skills/weaver-e10-builder/references/form/guide-form-formula-functions.md +343 -0
- package/skills/weaver-e10-builder/references/form/guide-form-layout-incremental.md +90 -0
- package/skills/weaver-e10-builder/references/form/guide-form-layout-planning.md +68 -0
- package/skills/weaver-e10-builder/references/form/guide-form-linkage.md +269 -0
- package/skills/weaver-e10-builder/references/form/guide-form-message.md +74 -0
- package/skills/weaver-e10-builder/references/form/guide-form-physical-table.md +146 -0
- package/skills/weaver-e10-builder/references/form/guide-form-serial-mark.md +47 -0
- package/skills/weaver-e10-builder/references/form/guide-form-sub-detail.md +82 -0
- package/skills/weaver-e10-builder/references/form/guide-form-view-permission.md +38 -0
- package/skills/weaver-e10-builder/references/form/guide-form-view.md +371 -0
- package/skills/weaver-e10-builder/references/form/guide-formula-linkage.md +281 -0
- package/skills/weaver-e10-builder/references/form/guide-list-columns.md +52 -0
- package/skills/weaver-e10-builder/references/form/guide-list-custom-text.md +52 -0
- package/skills/weaver-e10-builder/references/form/guide-list-stats.md +136 -0
- package/skills/weaver-e10-builder/references/form/guide-virtual-form.md +156 -0
- package/skills/weaver-e10-builder/references/form/ref-form-fields.md +293 -0
- package/skills/weaver-e10-builder/references/form/style-templates.md +97 -0
- package/skills/weaver-e10-builder/references/hrm/guide-matrix.md +245 -0
- package/skills/weaver-e10-builder/references/hrm/guide-org-employee.md +155 -0
- package/skills/weaver-e10-builder/references/menu/system-menus.md +75 -0
- package/skills/weaver-e10-builder/references/report/add-dataset-registration-guide.md +139 -0
- package/skills/weaver-e10-builder/references/report/ai-report-workflow.md +412 -0
- package/skills/weaver-e10-builder/references/report/api-report-build-fast-path.md +275 -0
- package/skills/weaver-e10-builder/references/report/app-datasource-lookup-guide.md +230 -0
- package/skills/weaver-e10-builder/references/report/cell-config-echo-guide.md +163 -0
- package/skills/weaver-e10-builder/references/report/cell-transform-guide.md +147 -0
- package/skills/weaver-e10-builder/references/report/condition-format-guide.md +140 -0
- package/skills/weaver-e10-builder/references/report/cross-dataset-filter-guide.md +304 -0
- package/skills/weaver-e10-builder/references/report/dataset-query-filter-guide.md +235 -0
- package/skills/weaver-e10-builder/references/report/dataset-sidebar-ops-guide.md +280 -0
- package/skills/weaver-e10-builder/references/report/dataset-table-field-contract-guide.md +339 -0
- package/skills/weaver-e10-builder/references/report/datasource-metadata-guide.md +365 -0
- package/skills/weaver-e10-builder/references/report/datasource-selection-and-parent-filter-guide.md +148 -0
- package/skills/weaver-e10-builder/references/report/date-range-query-reference.md +102 -0
- package/skills/weaver-e10-builder/references/report/default-header-style-guide.md +70 -0
- package/skills/weaver-e10-builder/references/report/designer-blank-prevention-guide.md +111 -0
- package/skills/weaver-e10-builder/references/report/event-hreflink-guide.md +184 -0
- package/skills/weaver-e10-builder/references/report/field-bind-exact-match-guide.md +208 -0
- package/skills/weaver-e10-builder/references/report/formula-cell-api-guide.md +258 -0
- package/skills/weaver-e10-builder/references/report/guide-report-build.md +131 -0
- package/skills/weaver-e10-builder/references/report/guide-report-modify.md +100 -0
- package/skills/weaver-e10-builder/references/report/guide-report-multisource.md +143 -0
- package/skills/weaver-e10-builder/references/report/guide-report-query.md +98 -0
- package/skills/weaver-e10-builder/references/report/hidden-row-and-header-merge-guide.md +100 -0
- package/skills/weaver-e10-builder/references/report/layout-showlocation-freeze-guide.md +167 -0
- package/skills/weaver-e10-builder/references/report/preaggregate-auto-disable-guide.md +107 -0
- package/skills/weaver-e10-builder/references/report/query-condition-api-guide.md +890 -0
- package/skills/weaver-e10-builder/references/report/ref-report-commands.md +122 -0
- package/skills/weaver-e10-builder/references/report/ref-report-pitfalls.md +226 -0
- package/skills/weaver-e10-builder/references/report/report-baseinfo-defaults-guide.md +117 -0
- package/skills/weaver-e10-builder/references/report/report-building-guide.md +511 -0
- package/skills/weaver-e10-builder/references/report/report-config-schema.md +445 -0
- package/skills/weaver-e10-builder/references/report/report-create-modes-guide.md +182 -0
- package/skills/weaver-e10-builder/references/report/report-data-model.md +447 -0
- package/skills/weaver-e10-builder/references/report/report-delivery-contract.md +101 -0
- package/skills/weaver-e10-builder/references/report/report-designer-feature-map.md +500 -0
- package/skills/weaver-e10-builder/references/report/report-internal-error-guide.md +78 -0
- package/skills/weaver-e10-builder/references/report/report-knowledge-base.md +389 -0
- package/skills/weaver-e10-builder/references/report/report-lifecycle-api-guide.md +392 -0
- package/skills/weaver-e10-builder/references/report/report-list-page-ops-guide.md +191 -0
- package/skills/weaver-e10-builder/references/report/report-permission-guide.md +365 -0
- package/skills/weaver-e10-builder/references/report/report-requirement-analysis-template.md +202 -0
- package/skills/weaver-e10-builder/references/report/report-self-check-guide.md +164 -0
- package/skills/weaver-e10-builder/references/report/safe-partial-save-guide.md +151 -0
- package/skills/weaver-e10-builder/references/report/snowflake-id-precision-guide.md +84 -0
- package/skills/weaver-e10-builder/references/report/spec-build-schema.md +294 -0
- package/skills/weaver-e10-builder/references/report/targeted-fix-guide.md +97 -0
- package/skills/weaver-e10-builder/references/report/user-request-scope-only-guide.md +82 -0
- package/skills/weaver-e10-builder/references/workflow/guide-function-management.md +154 -0
- package/skills/weaver-e10-builder/references/workflow/guide-opinion-settings.md +126 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-action.md +174 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-auth-resp.md +224 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-condition.md +447 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-node-layout.md +181 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc-setting.md +248 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc.md +68 -0
- package/skills/weaver-e10-builder/references/workflow/guide-workflow.md +527 -0
- package/skills/weaver-e10-builder/references/workflow/operator-matrix.md +76 -0
- package/skills/weaver-e10-caizhilian/SKILL.md +7 -2
- package/skills/weaver-e10-caizhilian/references/files.md +15 -0
- package/skills/weaver-e10-caizhilian/references/setting-attach.md +48 -3
- package/skills/weaver-e10-caizhilian/references/source-manifest.json +99 -1
- package/skills/weaver-e10-shared/SKILL.md +8 -4
- package/skills/weaver-e10-shared/references/e10-auth-and-session.md +7 -5
- package/skills/weaver-e10-workflow/SKILL.md +23 -44
- package/skills/weaver-e10-workflow/references/source-manifest.json +27 -22
- package/skills/weaver-e10-workflow/references/workflow-create.md +238 -85
- package/skills/weaver-e10-workflow/references/workflow-edit.md +1 -1
- package/skills/weaver-e10-workflow/references/workflow-memory.md +1 -4
- package/skills/weaver-e10-workflow/references/workflow-query.md +2 -2
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
{
|
|
2
|
+
"component": "Nightingale(玫瑰图)",
|
|
3
|
+
"usage": "图表组件的 HTML 结构索引,用于样式定位:用户说「给玫瑰图的 XX 设置样式」时,在这里按语义找节点,用它的 id / class 写选择器。不是完整 DOM 树,只列有 id 或关键 class 的元素。",
|
|
4
|
+
"legend": {
|
|
5
|
+
"[cls]": "条件类名:条件满足时才出现,否则该类名不存在",
|
|
6
|
+
"{a|b}": "多选一:实际只会出现其中一个",
|
|
7
|
+
"a > b": "合并两层:b 是 a 的直接子元素(中间没有有意义的元素)",
|
|
8
|
+
"ref": "引用本文件 shared.* 里的复用片段",
|
|
9
|
+
"<comId>": "尖括号 = 需要替换的占位符。<comId> 是该组件在页面里的实例 id(配置界面叫「组件ID」),写样式时用它限域,例如 #<comId> .ebcoms-charts-total;<contentClass> 等同理。注意花括号 {a|b} 只表示「多选一」,不用来表示占位符。",
|
|
10
|
+
"ebcom / ebcom-*": "weapp-ebdcoms 引擎加的类,不在图表组件源码里(core/view/createView.tsx + core/utils/comp.ts)",
|
|
11
|
+
"ebcoms-*": "图表组件源码写的类(clsPrefix = 'ebcoms')",
|
|
12
|
+
"ui-*": "@weapp/ui 组件的类:ui-echarts / ui-table-grid-* / ui-spin / ui-empty / ui-pagination / ui-icon / ui-bread-crumb / ui-popover",
|
|
13
|
+
"weapp-ebdf-*": "筛选搜索组件(@weapp/ebpagedesign)的类,只给挂载点,内部结构不可控"
|
|
14
|
+
},
|
|
15
|
+
"pickTree": "按「区域」取树:标题区→header,图表区(合计/轴名/canvas/加载)→chartArea,数据表→dataList,图表左右侧的数值清单→labelDataList。写样式时先 #<comId> 限域再往下找。",
|
|
16
|
+
"root": {
|
|
17
|
+
"desc": "引擎外壳,所有图表组件完全一致,由 weapp-ebdcoms 渲染(不在图表源码里)。写样式统一用 #<comId> 限域。",
|
|
18
|
+
"tree": {
|
|
19
|
+
"tag": "div",
|
|
20
|
+
"id": "<comId>",
|
|
21
|
+
"class": "ebcom ebcom-nightingale [ebcom-m] ebcom-{grid|flow} ebcom-view ebcom-chart has-no-header",
|
|
22
|
+
"desc": "组件根。ebcom-nightingale=类型类(同页多个图表组件靠它区分类型);ebcom-m 仅移动端;ebcom-{grid|flow}=页面布局;ebcom-chart 来自图表 defaultOpts.render.containerClass;has-no-header 恒有(图表用 renderHeader 自渲染标题,不走引擎的默认 header)。",
|
|
23
|
+
"children": [
|
|
24
|
+
{
|
|
25
|
+
"tag": "div",
|
|
26
|
+
"class": "header",
|
|
27
|
+
"when": "config.titleEnabled = true",
|
|
28
|
+
"desc": "标题区。内容由图表自己的 ChartHeader 接管(见 header 树)。标题关闭时这个节点整个不存在。",
|
|
29
|
+
"ref": "header.tree"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"tag": "div",
|
|
33
|
+
"class": "<contentClass> content",
|
|
34
|
+
"desc": "引擎内容槽,图表全部内容都在这里。view 模式初始只有 content,其余类名由脚本 classList.toggle 追加;design 模式直接带全。可能追加到 .content 上的类:ebcoms-charts-fl(流式布局)、ebcoms-nightingale-content(流式布局)、show-data-list、data-list-direction-{top|bottom|left|right}、ebcoms-charts-reloading、ebcoms-charts-grid-mobile、displayFlex。",
|
|
35
|
+
"ref": "chartArea.tree"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"tag": "div",
|
|
39
|
+
"class": "footer",
|
|
40
|
+
"desc": "引擎底部操作栏。图表默认不开,几乎见不到;开了才会在 .content 之后出现 .ebcoms-footer-btns。"
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"shared": {
|
|
46
|
+
"desc": "跨区域复用的小片段。同一个 class 在多个区域出现时以这里的定义为准。",
|
|
47
|
+
"empty": {
|
|
48
|
+
"tag": "div",
|
|
49
|
+
"class": "ui-empty",
|
|
50
|
+
"desc": "@weapp/ui Empty。图表里三种用法:未匹配配置(“请设置图表配置项”)、无数据(type=noData)、词云 IE 提示(多一个 ebcoms-charts-com-WordCloud-IEempty)。紧挨着还有一个 .ebcoms-charts-placeholder 占位块(echarts 未实例化时)。"
|
|
51
|
+
},
|
|
52
|
+
"spin": {
|
|
53
|
+
"tag": "div",
|
|
54
|
+
"class": "ui-spin [ui-spin-nested-loading > ui-spin-container]",
|
|
55
|
+
"desc": "@weapp/ui Spin。图表里有 3 处,外层都会再拼一个 ebcoms-* 类:ebcoms-charts-view-loading(图表区首次加载,在 .ebcoms-charts-com 内)、ebcoms-charts-view-reloading(刷新遮罩,绝对定位铺满半透明白,在 .ebcoms-charts-main 下)、数据表内部(ui-table-grid 内自动包一层)。"
|
|
56
|
+
},
|
|
57
|
+
"toolbarBtn": {
|
|
58
|
+
"tag": "span",
|
|
59
|
+
"desc": "标题区每个操作按钮外层都是一个无 class 的 span(OperationBtns 渲染)。里面要么是图表自己的定制视图(ChartSwitch / YMDSwitch / ChartsToolbarBtn),要么是 @weapp/ui 的 ConfigurableButton(ui-btn)或配置的图标(ui-icon > svg.ui-icon-svg)。想单独选中某个按钮只能靠 :nth-child() 或按内容定位。"
|
|
60
|
+
},
|
|
61
|
+
"filterMount": {
|
|
62
|
+
"tag": "div",
|
|
63
|
+
"class": "ebcoms-cmf-view [showFilter] [empty] [mobile] [onlyCondition] 或 ebcoms-cms-search [design] [active]",
|
|
64
|
+
"desc": "筛选条件区的挂载点(CommonFilter / SearchContent)。标题区和图表区各可能出现一个,两者互斥:筛选按钮配置在标题区时只在标题区渲染。内部 DOM 不可控,只在这个挂载点上写样式。"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"header": {
|
|
68
|
+
"when": "config.titleEnabled = true。关闭时 #<comId> 上带 has-no-header,.header 节点不存在。",
|
|
69
|
+
"chain": "#<comId> > .header.ebcoms-charts-custom-header.PC|MOBILE",
|
|
70
|
+
"tree": {
|
|
71
|
+
"tag": "div",
|
|
72
|
+
"class": "ebcoms-charts-custom-header header PC|MOBILE",
|
|
73
|
+
"desc": "标题区根。同时带引擎的 .header(布局用的通用类)和组件的 ebcoms-charts-custom-header。末尾的 PC / MOBILE 是 page.client 直接拼上去的,用来控制标题最大宽度(PC 65% / MOBILE 45%),不是类名前缀。",
|
|
74
|
+
"children": [
|
|
75
|
+
{
|
|
76
|
+
"tag": "div",
|
|
77
|
+
"class": "ebcoms-charts-custom-header-title-content",
|
|
78
|
+
"desc": "标题文本区。可能先有一个标题图标组件(TitleIconCom,仅配了标题图标时),然后是一个 <div> 承载标题 HTML(dangerouslySetInnerHTML,所以标题里的富文本、动态字段也会渲染进这个 div,别以为只有纯文本)。"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"tag": "div",
|
|
82
|
+
"class": "[isDesign]",
|
|
83
|
+
"desc": "flex:1 的右侧区,按顺序放:操作按钮组、筛选条件、再一个操作按钮组(筛选按钮配置在最后一位时按钮会挪到筛选前面)、design 模式下的遮罩 ebcoms-charts-main-filtertotal-mask。",
|
|
84
|
+
"children": [
|
|
85
|
+
{
|
|
86
|
+
"tag": "div",
|
|
87
|
+
"class": "ebcoms-header-btns",
|
|
88
|
+
"desc": "顶部操作按钮组(OperationBtns 的 wrapClass)。左侧按钮和右侧按钮会渲染成两个同 class 的兄弟 div,所以 .ebcoms-header-btns 在标题区可能出现两次,别用 :first-child 猜。",
|
|
89
|
+
"children": [
|
|
90
|
+
{
|
|
91
|
+
"tag": "div",
|
|
92
|
+
"class": "ebcoms-chart-toolbar",
|
|
93
|
+
"when": "“图表工具栏”按钮开启(isSupportChartToolsConfig)",
|
|
94
|
+
"desc": "图表工具栏。固定 6 个 span 槽位,顺序固定;每个槽位内部再分 .default / .hover 两个 span。.default 和 .hover 是通用类名,写样式必须用 .ebcoms-chart-toolbar 限定,否则会串到别处。",
|
|
95
|
+
"children": [
|
|
96
|
+
{
|
|
97
|
+
"tag": "span",
|
|
98
|
+
"class": "btn-boxSelect",
|
|
99
|
+
"desc": "区域缩放。槽位恒在,但本类型不渲染图标,是个空 span(要按顺序定位时别数错)。"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"tag": "span",
|
|
103
|
+
"class": "btn-clearBoxSelect",
|
|
104
|
+
"desc": "区域缩放还原。槽位恒在,但本类型不渲染图标,是个空 span(要按顺序定位时别数错)。"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"tag": "span",
|
|
108
|
+
"class": "btn-changeLine",
|
|
109
|
+
"desc": "切换为折线图。槽位恒在,但本类型不渲染图标,是个空 span(要按顺序定位时别数错)。"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"tag": "span",
|
|
113
|
+
"class": "btn-changeBar",
|
|
114
|
+
"desc": "切换为柱状图。槽位恒在,但本类型不渲染图标,是个空 span(要按顺序定位时别数错)。"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"tag": "span",
|
|
118
|
+
"class": "btn-restore",
|
|
119
|
+
"desc": "还原。槽位恒在,但本类型不渲染图标,是个空 span(要按顺序定位时别数错)。"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"tag": "span",
|
|
123
|
+
"class": "btn-saveAsImage",
|
|
124
|
+
"desc": "保存为图片。图标存在;里面有 .default 与 .hover 两个 span(默认显示 default,hover 换成 hover,宽度/颜色/底色可由按钮配置写进行内 style),图标是 ui-icon > svg.ui-icon-svg,选中态加 .selected。"
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"ref": "shared.filterMount",
|
|
132
|
+
"when": "筛选按钮在标题区"
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"chartArea": {
|
|
140
|
+
"desc": "引擎 .content 里的全部内容,由 AsyncBaseView + ChartView 渲染。",
|
|
141
|
+
"tree": {
|
|
142
|
+
"tag": "div",
|
|
143
|
+
"class": "ebcoms-charts-main",
|
|
144
|
+
"desc": ".content 下唯一的内容根。它是个 flex 容器:图表容器 .ebcoms-charts-com 和数据表 .ebcoms-data-list-display-content 是平级兄弟,所以 dataListDisplay.visible 时 .content 加 show-data-list,index.less 用它和 data-list-direction-* 决定图表与数据表是上下还是左右排列。",
|
|
145
|
+
"children": [
|
|
146
|
+
{
|
|
147
|
+
"tag": "div",
|
|
148
|
+
"class": "ebcoms-charts-main-switchChartType",
|
|
149
|
+
"when": "“图表类型”按钮开启 && customValue.keepDisplaying && 标题未开启(标题开启时它挪进标题区)",
|
|
150
|
+
"desc": "常驻在图表上方的图表类型切换条。",
|
|
151
|
+
"children": [
|
|
152
|
+
{
|
|
153
|
+
"tag": "div",
|
|
154
|
+
"class": "ebcoms-chart-head-chartSwitch",
|
|
155
|
+
"children": [
|
|
156
|
+
{
|
|
157
|
+
"tag": "span",
|
|
158
|
+
"class": "ebcoms-chart-head-chartSwitch-item [active]",
|
|
159
|
+
"desc": "每个可切换类型一项,active=当前类型。内含图标(普通类型 ui-icon;Bullet 内联 svg.icon;WordCloud / Facet / HeatMap 是 img)+ 类型名文本。"
|
|
160
|
+
}
|
|
161
|
+
]
|
|
162
|
+
}
|
|
163
|
+
]
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"tag": "div",
|
|
167
|
+
"id": "id_<comId>",
|
|
168
|
+
"class": "ebcoms-charts-com [ebcoms-charts-preview] [hide]",
|
|
169
|
+
"desc": "图表容器,图表区所有东西都在这。id 是 id_<comId>(id_ + 组件 id)。ebcoms-charts-preview 仅 stylePre(预览)时;hide 仅 dataListDisplay.onlyTable(只显示数据表)时。容器自带 min-width: 30px(源码注释:宽度过小时气泡图 echart 内部会报错)。",
|
|
170
|
+
"children": [
|
|
171
|
+
{
|
|
172
|
+
"tag": "div",
|
|
173
|
+
"id": "filtertotal_<comId>",
|
|
174
|
+
"class": "ebcoms-charts-main-filtertotal [hasRelationStatistics]",
|
|
175
|
+
"desc": "图表上方一行:左边合计、右边筛选条件(两者独立出现)。hasRelationStatistics 仅关系图且有统计时(左侧让出 150px)。注意它和 .ebcoms-charts-main 是两个不同的 main。",
|
|
176
|
+
"children": [
|
|
177
|
+
{
|
|
178
|
+
"tag": "ul",
|
|
179
|
+
"class": "ebcoms-charts-total",
|
|
180
|
+
"when": "showTotal && 有数据 && 配置已初始化(本类型支持合计)",
|
|
181
|
+
"desc": "合计区,每个指标一个 li,li 上没有类名(要单独选只能 :nth-child())。这里会先撑高再触发图表 resize。"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"ref": "shared.filterMount",
|
|
185
|
+
"when": "配了筛选条件且按钮不在标题区"
|
|
186
|
+
}
|
|
187
|
+
]
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"tag": "div",
|
|
191
|
+
"id": "chartStatChildren_<comId>",
|
|
192
|
+
"when": "有维度钻取 或 维度开了“统计下级”",
|
|
193
|
+
"desc": "下钻 / 统计下级 / 关系图展开的挂载点(面包屑 + 弹出菜单)。不需要时这个 id 节点不存在。",
|
|
194
|
+
"children": [
|
|
195
|
+
{
|
|
196
|
+
"tag": "div",
|
|
197
|
+
"class": "ui-bread-crumb ebcoms-charts-bread-crumb {drilling|...}",
|
|
198
|
+
"desc": "面包屑。带 drilling 时样式不同(可点层级为蓝色)。关系图不渲染它。"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"tag": "span",
|
|
202
|
+
"class": "ebcoms-charts-statChildrenSpan",
|
|
203
|
+
"desc": "弹出菜单的定位锚点:1px 绝对定位的隐形 span,left/top 由点击坐标算出来。"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"tag": "div",
|
|
207
|
+
"class": "ebcoms-charts-statChildrenPop",
|
|
208
|
+
"desc": "菜单弹层(Popover)。内部列表项 class 为 ebcoms-charts-list-item;弹层箭头 .ui-popover-arrow 在这里被隐藏。"
|
|
209
|
+
}
|
|
210
|
+
]
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"tag": "div",
|
|
214
|
+
"class": "ebcoms-charts-axis-name",
|
|
215
|
+
"when": "永不出现",
|
|
216
|
+
"desc": "本类型在 hasNoAxis 列表里(无直角坐标轴),不会渲染坐标轴名称节点。注意:ECharts 的 category/axis 概念跟这里的 DOM 无关,不要以为没 DOM 就没配置项。"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"tag": "div",
|
|
220
|
+
"class": "ui-echarts [ui-echarts-rtl]",
|
|
221
|
+
"when": "非空数据且没在 loading",
|
|
222
|
+
"desc": "图表本体。ECharts 用 canvas 渲染,图例 / 坐标轴 / 数据标签 / tooltip / 柱子颜色全在 canvas 里,CSS 选不到——这些只能改图表配置项或图表主题。容器本身可改尺寸、背景、边框、滤镜;RTL 页面会多 ui-echarts-rtl(会 transform: scaleX(-1))。"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"ref": "labelDataList.tree",
|
|
226
|
+
"when": "config.labelPosition = left 或 right,且 label.valType !== none,且非移动端、非“仅统计表”"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"ref": "shared.empty"
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"tag": "div",
|
|
233
|
+
"class": "ebcoms-charts-placeholder",
|
|
234
|
+
"when": "chartInstance 尚未就绪",
|
|
235
|
+
"desc": "占位块,撑住高度防止塌陷。"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"tag": "div",
|
|
239
|
+
"class": "ui-spin ebcoms-charts-view-loading",
|
|
240
|
+
"when": "配置还未初始化完成,或正在刷新数据(此时上面那批节点都不渲染,互斥)",
|
|
241
|
+
"desc": "图表区加载态。"
|
|
242
|
+
}
|
|
243
|
+
]
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"tag": "div",
|
|
247
|
+
"class": "ui-pagination ebcoms-charts-pagination",
|
|
248
|
+
"when": "永不出现(本类型不在 hasPagination 列表,没有分页配置项)",
|
|
249
|
+
"desc": "图表级分页(不是数据表里的分页)。内部 ui-pagination-pager / ui-pagination-pager-item / ui-pagination-pager-active / ui-pagination-pager-page-input。"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"ref": "dataList.tree"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"tag": "div",
|
|
256
|
+
"class": "ui-spin ebcoms-charts-view-reloading",
|
|
257
|
+
"when": "reloading(切换图表类型 / 切换日期分组 / 强刷)",
|
|
258
|
+
"desc": "整块刷新遮罩:绝对定位居中铺满 + rgba(255,255,255,.7) 底。要改遮罩底色改这里。"
|
|
259
|
+
}
|
|
260
|
+
]
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
"labelDataList": {
|
|
264
|
+
"when": "config.labelPosition = left 或 right,且 label.valType !== none,且非移动端、非“仅统计表”",
|
|
265
|
+
"chain": ".ebcoms-charts-com > .ebcoms-label-data-list-content.{onLeft|onRight} > .ui-table-grid...",
|
|
266
|
+
"tree": {
|
|
267
|
+
"tag": "div",
|
|
268
|
+
"class": "ebcoms-label-data-list-content {onLeft|onRight} [onSameSide]",
|
|
269
|
+
"desc": "图表左/右侧的「分类 + 数值」清单(config.labelPosition = left/right 时出现,同时图例会被隐藏)。maxWidth / height / top 都在行内 style 上(30% 或 50% 宽)。onLeft / onRight 对应 labelPosition;onSameSide 表示和图例同侧(此时行可点击联动图例)。",
|
|
270
|
+
"children": [
|
|
271
|
+
{
|
|
272
|
+
"tag": "div",
|
|
273
|
+
"class": "ui-table-grid ui-table-grid-bordered ui-table-grid-no-pagination",
|
|
274
|
+
"desc": "内部是 @weapp/ui Table,没有额外 class,只能用 ui-table-grid-* 选。两列:分类(65%)/ 数值(35%)。分类列里有个 8x8 的色块 span(颜色写在行内 style.background-color),数值列是 span(行内 style.color,被点击后置灰 #ccc)。要改色块/文字颜色只能覆盖行内样式(!important)。"
|
|
275
|
+
}
|
|
276
|
+
]
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
"dataList": {
|
|
280
|
+
"when": "dataListDisplay.visible = true 且非空数据",
|
|
281
|
+
"chain": ".content > .ebcoms-charts-main > .ebcoms-data-list-display-content.{horizantal|vertical}[.show-total][.isMobile] > .ui-table-grid.ebcoms-datalist-table",
|
|
282
|
+
"tree": {
|
|
283
|
+
"tag": "div",
|
|
284
|
+
"class": "ebcoms-data-list-display-content {horizantal|vertical} [show-total] [isMobile]",
|
|
285
|
+
"desc": "数据表区域。和图表的 .ebcoms-charts-com 是 .ebcoms-charts-main 下的平级兄弟(不在图表容器里),所以它不会跟着图表一起被 hide。注意类名是 horizantal(源码里的拼写,少一个 o),别写成 horizontal。位置由 .content 上的 data-list-direction-{top|bottom|left|right} 控制;horizantal 表示横向扩展(第一列固定)。",
|
|
286
|
+
"children": [
|
|
287
|
+
{
|
|
288
|
+
"tag": "div",
|
|
289
|
+
"class": "ui-table-grid ebcoms-datalist-table ui-table-grid-bordered [ui-table-grid-no-pagination] [ui-table-grid-scroll-position-*] [ui-table-grid-table__fixed]",
|
|
290
|
+
"desc": "数据表(@weapp/ui Table)。下面这些 ui-table-grid-* 是引擎已有样式钩子,可以直接复用;要改文字色 / 表头底色 / 内容底色 / 边框色,优先用组件外观样式里的「数据表」配置(会自动生成这些选择器,见 notes)。",
|
|
291
|
+
"children": [
|
|
292
|
+
{
|
|
293
|
+
"tag": "div",
|
|
294
|
+
"class": "ui-spin > ui-spin-nested-loading > ui-spin-container",
|
|
295
|
+
"desc": "表格自带 loading 包裹层,表格内容都在 ui-spin-container 里。"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"tag": "div",
|
|
299
|
+
"class": "ui-table-grid-header-warp > .ui-table-grid-header",
|
|
300
|
+
"desc": "表头。里面 table > thead.ui-table-grid-thead > tr > th.ui-table-grid-th。固定列时还会有一份 ui-table-grid-sticky-header-warp(滚动吸顶)。"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"tag": "div",
|
|
304
|
+
"class": "ui-table-grid-body-outer > .ui-table-grid-body",
|
|
305
|
+
"desc": "表体。table > tbody.ui-table-grid-tbody > tr > td.ui-table-grid-td。合计行在 tfoot.ui-table-grid-tfoot(showTotal && 纵向扩展时)。细分隔行 tr 带 ui-table-grid-tr__gray。"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"tag": "div",
|
|
309
|
+
"class": "ui-table-grid-scroll",
|
|
310
|
+
"desc": "横向滚动容器;只在有固定列或按 table 滚动时出现。"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"tag": "div",
|
|
314
|
+
"class": "ui-table-grid-fixed-left / ui-table-grid-fixed-right",
|
|
315
|
+
"desc": "左右固定列(横向扩展时第一列 fixed: left)。"
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"tag": "div",
|
|
319
|
+
"class": "ui-table-grid-empty",
|
|
320
|
+
"desc": "无数据占位。"
|
|
321
|
+
}
|
|
322
|
+
]
|
|
323
|
+
}
|
|
324
|
+
]
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
"notes": [
|
|
328
|
+
"样式作用域:图表样式由「组件外观样式」生成,最终选择器都会被包在 #<comId>.ebcom 下面(自定义源码再套一层 #<comId> .comCodeSource)。自己写选择器也建议 #<comId> .xxx,避免同页多图表互相污染。",
|
|
329
|
+
"数据表配色有官方生成器:组件外观样式→数据表里的「字体/表头底色/内容底色/边框色」,会直接生成 .ebcoms-data-list-display-content 下的 .ui-table-grid-td/.ui-table-grid-th/.ui-table-grid-thead/.ui-table-grid-header-warp/.ui-table-grid-body-outer/.ui-table-grid-tbody/.ui-table-grid-tfoot 规则。要改数据表颜色优先用这个,不要重复写 CSS。",
|
|
330
|
+
"canvas 边界:图例、坐标轴刻度、数据标签、tooltip、柱/扇区颜色全部是 ECharts canvas,CSS 选不到。这类需求只能改图表配置项或图表主题,不要试图用选择器命中。",
|
|
331
|
+
"同名陷阱:引擎的 .header / .content / .footer(无前缀)≠ 组件的 ebcoms-*-content;.ebcoms-charts-main 和 .ebcoms-charts-main-filtertotal 是两个不同层的节点,只差一个后缀;.default / .hover 是工具栏按钮的通用类名,必须用 .ebcoms-chart-toolbar 限定;displayFlex 是无前缀裸类名(全局限定)。",
|
|
332
|
+
"引擎自动加的修饰类:#<comId> 上恒有 has-no-header;ebcom-chart 来自图表 defaultOpts.render.containerClass;padding=false 时加 content-no-padding;配了点击事件时加 event-action-click。",
|
|
333
|
+
"移动端:外壳多 ebcom-m 类;网格布局 + 移动端时 .content 多 ebcoms-charts-grid-mobile(内部把加载块高度固定 300px)。",
|
|
334
|
+
"反查源码:引擎 weapp-ebdcoms/src/components/core/{view,design}/{createView,Base,createDesign}.tsx、core/utils/comp.ts、core/view/operation-btns/OperationBtns.tsx;组件 weapp-ebdchartcoms/src/components/charts/core/{BaseView,ChartView,ChartHeader,AxisLabelName,ChartTotal,ChartStatChildren,getChartsStyles}.ts(x)、core/DataListDisplay/*、core/LabelDataListDisplay.tsx、core/index.less;UI 库 weapp-ui/src/components/{echarts,table,spin,pagination,empty}。"
|
|
335
|
+
]
|
|
336
|
+
}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
{
|
|
2
|
+
"component": "PageHeader 页头",
|
|
3
|
+
"usage": "用户说『给页头某一部分设样式』→ 按 pickTree 定位到某棵树 → 在树里找语义节点 → 用 id/class 写选择器。只列关键节点,纯布局包裹 div 已省略。",
|
|
4
|
+
"legend": {
|
|
5
|
+
"[cls]": "条件类名,满足条件才出现",
|
|
6
|
+
"{a|b}": "多选一",
|
|
7
|
+
"a > b": "合并两层(中间节点无类名/无关键类)",
|
|
8
|
+
"ref": "引用 shared 下的复用片段",
|
|
9
|
+
"<comId>": "组件运行时 id(挂在引擎外壳那层)。官方样式生成器一律以 #<comId> 限域,自写样式建议照做",
|
|
10
|
+
"前缀": "ebcoms=本仓库源码(clsPrefix) 与引擎(@weapp/ebdcoms)共用 | ebcom=引擎外壳与布局层(ebcomPrefix) | ui=@weapp/ui(ui-layout / ui-title / ui-menu / ui-btn)| rgl / weapp-ebde=引擎拖拽层"
|
|
11
|
+
},
|
|
12
|
+
"pickTree": "最外两层固定(见 root):引擎外壳 > .ebcoms-pageheader-view-content.content。里面只有一条主链:.ebcoms-pageheader-wrapper(@weapp/ui Title 的 Row)> 两个 ui-layout-col-12 左右列。往下的分叉:① config 里有 buttons 字段(老页面数据)→ history 树;② page.client 是移动端 → mobile 树;③ 其余 → pc 树。设计态与预览态结构一致,只是相关节点多一个 isDesign 类;吸顶类由滚动时动态加(见 shared.state)。",
|
|
13
|
+
|
|
14
|
+
"root": {
|
|
15
|
+
"tag": "div",
|
|
16
|
+
"id": "<comId>",
|
|
17
|
+
"class": "ebcom ebcom-pageheader [ebcom-pageheader-{plugin.resourceType}] [ebcom-m] ebcom-grid [ebcom-view|ebcom-design] has-no-header",
|
|
18
|
+
"desc": "【引擎外壳】由引擎渲染,flex 纵列,子节点固定是 header + content + footer 三个平级兄弟。⚠️ 本组件 `static renderHeader = () => null`,引擎判 `showHeader = titleEnabled && !Component.renderHeader` → 永远为假,所以 .header 从不渲染、外壳恒带 has-no-header(引擎 less 里无对应规则,纯标记);footerEnabled 默认也不开 → .footer 同样没有。实际只剩 .content 一个子节点。",
|
|
19
|
+
"children": [
|
|
20
|
+
{
|
|
21
|
+
"tag": "div",
|
|
22
|
+
"class": "ebcoms-pageheader-view-content content",
|
|
23
|
+
"desc": "【引擎内容槽 + 组件根】两个类在同一个元素上:content 来自引擎,ebcoms-pageheader-view-content 来自本组件 `static defaultOpts.render.contentClass`。组件自产 DOM 全部从这里开始。已有样式钩子(view/index.less:3):font-size:14*hd,且 `.ebcoms-pageheader-view-content{padding:0 !important}`;移动端同名校验在 view-m/index.less:3。",
|
|
24
|
+
"children": [
|
|
25
|
+
{ "ref": "shared.wrapper", "desc": "整条页头(Title 的 Row)" }
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
"shared": {
|
|
32
|
+
"wrapper": {
|
|
33
|
+
"tag": "div",
|
|
34
|
+
"class": "ui-layout-row ui-title ui-title-noIcon ui-title-noTitle ebcoms-pageheader-wrapper [ebcoms-pageheader-pure-text] [ebcoms-pageheader-wrapper-tabStyle] [ebcoms-pageheader-wrapper-history]",
|
|
35
|
+
"desc": "【整条页头】= @weapp/ui Title 的 Row 自带类(ui-layout-row + ui-title)+ 本组件传入的 className(ebcoms-pageheader-wrapper)。改整条高度/内边距/背景/对齐都打它。默认样式(view/index.less:314):border:0; min-height:48*hd; height:100%; display:flex; align-items:center; background:transparent; flex-wrap:nowrap。ui-title-noIcon 是 Title 收到 noIcon 后自动加的;ui-title-noTitle 因为组件只传 customRenderLeft/Right 或 getTitle、从不传 title。pure-text=图标/按钮/更多全都没有;-wrapper-tabStyle=标题下方插了选项卡(PC,会变 column-reverse);-wrapper-history=走历史数据分支。",
|
|
36
|
+
"children": [
|
|
37
|
+
{
|
|
38
|
+
"tag": "div",
|
|
39
|
+
"class": "ui-layout-col ui-layout-col-12 ui-title-col",
|
|
40
|
+
"desc": "【左列】Title 自动渲染的 Col(span=12 写死;ui-title-col 也是 Title 加的)。⚠️ 左右两个 col 的 class 完全一样,只能靠 :first-child / :nth-child(2) 区分——index.less 就是这么写的(`> .ui-layout-col-12:first-child{max-width:100%}`、`> .ui-layout-col-12:nth-child(2){max-width:70%}`)。实际宽度由内联 style 的 flex/maxWidth 决定(按 config.proportion 算)。",
|
|
41
|
+
"children": [{ "ref": "pc.left", "desc": "列内容由 customRenderLeft 渲染。⚠️ 移动端不是这套类名,对应节点见 mobile.diffs 第 3/5 条" }]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"tag": "div",
|
|
45
|
+
"class": "ui-layout-col ui-layout-col-12 ui-title-col",
|
|
46
|
+
"desc": "【右列】同左列,靠 :nth-child(2) 区分",
|
|
47
|
+
"children": [{ "ref": "pc.right", "desc": "列内容由 customRenderRight 渲染。⚠️ 移动端见 mobile.diffs 第 8/9 条" }]
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
"title": {
|
|
53
|
+
"desc": "【标题块】customRenderTitle 的产出",
|
|
54
|
+
"chain": "div.ebcoms-pageheader-title-area > ( 可选 div.ebcoms-pageheader-title-icon ) + div.ebcoms-pageheader-title-wrapper[.hasIcon] > ( div.ebcoms-pageheader-title > div.ebcoms-pageheader-title-content | div.ebcoms-pageheader-title-custom > div.ebcoms-pageheader-title-content ) + div.ebcoms-newtab-tab-top.ebcoms-newtab-{left|center|right|cover}[.dropDownRight]",
|
|
55
|
+
"tips": "① 文字本体是 .ebcoms-pageheader-title-content(由 @weapp/ebdcoms 的 TransformContent 渲染,className 即它),自定义标题时外面多包一层 .ebcoms-pageheader-title-custom。② 图标是 .ebcoms-pageheader-title-icon,内部才是通用图元 .ebcoms-assets-item。③ ⚠️ 图标可能出现两次,条件相反:underTheTitle 时在 .ebcoms-pageheader-context-left 下(不在 title 里),否则在 .ebcoms-pageheader-title 里 —— 别假定唯一。④ .ebcoms-pageheader-title-wrapper 的 hasIcon 条件是「有图标 且 左侧容器里放的是 NewTab」,而 .ebcoms-pageheader-context-wrapper 的 hasIcon 条件是「有图标 且 左侧容器里放的不是 NewTab」,两者互斥、别记反。⑤ 装了页头插件时整块可被替换,见 notes。"
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
"drop": {
|
|
59
|
+
"desc": "【投放容器】左右两个「容器」区,用户往里拖组件(按钮组、选项卡等)",
|
|
60
|
+
"chain": "div.ebcoms-pageheader-context-{left|right}-container[.isDesign][.needMarginTop] > div.rgl-dnd-flow-layout.ebcom[id=<dropCom.id>,仅 view 态] > DroppableView 或 Droppable(@weapp/designer,DOM 不可控)",
|
|
61
|
+
"tips": "⚠️ 移动端前缀不同:.ebcoms-pageheader-m-context-{left|right}-container(移动端这个容器带 .underTheTitle,PC 不带;PC 带 .isDesign,移动端不带)。needMarginTop=设计态左侧容器为空且标题在下方(margin-top:10*hd)。rgl-dnd-flow-layout 是引擎的拖拽层类名(index.less 靠它设 height:100%)。历史数据分支完全不渲染投放容器。"
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
"btn": {
|
|
65
|
+
"desc": "【单个按钮】由 @weapp/ebdcoms 的 ConfigurableButton 渲染,页头只传配置",
|
|
66
|
+
"chain": "div.ebcoms-configurable-btn.{showType} > div.{default-btn|hover-btn} > div.ebcoms-configurable-btn-view > ( 纯图标时 div.ebcoms-configurable-btn-view-icon | 有文字时 button.ui-btn > div.ebcoms-button-config-preview-btn-content > div.ebcoms-button-config-preview-btn-content-text[.lefticon|.righticon] )",
|
|
67
|
+
"tips": "⚠️ default-btn / hover-btn 是同一个 div 的两个互斥类名(JS 按 hover 切换),不是两个元素、也不是状态类。EventClickable 只 clone 子元素挂 onClick、不加 DOM 层,所以层级不会多。已有钩子:`.ebcoms-configurable-btn-view-icon{padding:5px;margin-left:8px}`(PC 在 view/index.less:269、移动端在 view-m/index.less:154);移动端还改了 `.ebcoms-button-config-preview-btn-content-text{line-height:22*hd}`。"
|
|
68
|
+
},
|
|
69
|
+
|
|
70
|
+
"menuBtn": {
|
|
71
|
+
"desc": "【更多按钮】按钮列表里 isSplit 之后的那些被收进下拉菜单",
|
|
72
|
+
"chain": "div.ebcoms-pageheader-button.ebcoms-pageheader-menuButton > div > (@weapp/ui Menu type='select'):触发区 div.ui-menu-select-title > ( span.ui-menu-select-title-text + span.ui-menu-select-title-icon );弹层根类 ui-menu-selectpopup-{selectType} 额外叠加 ebcoms-pageheader-view-trigger",
|
|
73
|
+
"tips": "弹层挂 body,不能拿 #<comId> 当祖先选择器。弹层里的每一项还是 ConfigurableButton(见 shared.btn)。左侧图标是 IconFont(type=menu),由 customSelectContent 传进去。"
|
|
74
|
+
},
|
|
75
|
+
|
|
76
|
+
"tabInner": {
|
|
77
|
+
"desc": "【页头内选项卡】页签 DOM 由 NewTab 组件自己渲染,通过 PAGEHEADER_RENDER_EXTRA_CONTENT 事件注入到页头提供的插槽里;页头只给外壳",
|
|
78
|
+
"chain": "div.ebcoms-newtab-tab-top-inner.ebcom ebcom-newtab ebcom-grid [.pageheader-has-icon] [.isDesign] [.ebcoms-newtab-tab-top-inner-{Lines-Expand|Collapse|Switch|Drop-down}] [.ebcoms-newtab-tab-top-inner-{horizontal|vertical|topDropdown}] [.ebcoms-newtab-tab-top-inner-{top|bottom}] [id=<tab组件id>] > div.{tabContentCls}.content > 注入的页签 DOM",
|
|
79
|
+
"tips": "tabContentCls 由 `tab/common/utils.ts` 的 getTabContentClass 生成,形如 `ebcoms-newtab-top-1 ebcoms-newtab-left [ebcoms-newtab-more-wrap|-more-shrink|-more-dropdown|-more-drawer] [ebcoms-newtab-verticalStyle] titleEnabled`。注入的真实页签根是 div#ebcoms-tab-header-weight.ebcoms-tab-header(移动端 #ebcoms-m-tab-header-weight.ebcoms-m-tab-header),内部全是 ui-menu-*。⚠️ 改页签样式务必用 .ebcoms-newtab-tab-top-inner 限域,否则会打到别处的 ui-menu。移动端外壳是 ebcoms-newtab-tab-top-inner-m(无那几个模式后缀)。"
|
|
80
|
+
},
|
|
81
|
+
|
|
82
|
+
"state": {
|
|
83
|
+
"desc": "【吸顶 / 设计态】滚动或配置变化时 JS 动态加的类,初始 DOM 里没有",
|
|
84
|
+
"list": [
|
|
85
|
+
"预览态向下滚 → 引擎外壳 `div#<comId>.ebcom.ebcom-pageheader...` 本身加 .ebcoms-pageheader-fixed(position:fixed!important; top:0!important; padding:0 20*hd; z-index:11;JS 用 comViewRef / querySelector('#'+id) 定位到它,同时把宽度内联到 wrapper 上)",
|
|
86
|
+
"设计态向下滚 → 页面布局项 .weapp-ebde-gl-page-layout-item 加 .ebcoms-pageheader-design-fixed(fixed + translate(0,-16px),z-index:103)",
|
|
87
|
+
"标题下方插了选项卡时的特殊吸顶 → .ebcoms-pageheader-fixed-tab 打在右列内容 .ebcoms-pageheader-context-right 上,并给它补 .ebcom + id=<comId>;外层布局项加 .ebcoms-pageheader-fixed-wrapper(transform:unset)",
|
|
88
|
+
"⚠️ 三套类名加在**不同元素**上,写吸顶样式前先确认目标;index.less 末尾有它们的完整规则(view/index.less:706 起)"
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
|
|
93
|
+
"pc": {
|
|
94
|
+
"when": "config 里没有 buttons 字段(新数据,走 newButtons)且 page.client 非移动端",
|
|
95
|
+
"left": {
|
|
96
|
+
"tag": "div",
|
|
97
|
+
"class": "ebcoms-pageheader-context-left [tab-right-side] [tab-mode-vertical]",
|
|
98
|
+
"desc": "【左半区】= customRenderLeft 的根。tab-right-side=竖向选项卡且位置=2(flex-direction:row-reverse);tab-mode-vertical=竖向选项卡(align-items:unset)。已有样式:display:flex; align-items:center; height:100%(view/index.less:113)。",
|
|
99
|
+
"children": [
|
|
100
|
+
{ "tag": "div", "class": "ebcoms-pageheader-title-icon", "desc": "仅 underTheTitle && !showNewTab 时在这里;内部 AssetsItem(不可控)" },
|
|
101
|
+
{ "tag": "div", "class": "ebcoms-newtab-tab-top ebcoms-newtab-{left|center|right|cover}", "desc": "仅竖向选项卡(mode=vertical)时页签落点;背景色由 JS 内联。内部见 shared.tabInner" },
|
|
102
|
+
{
|
|
103
|
+
"tag": "div",
|
|
104
|
+
"class": "ebcoms-pageheader-context-wrapper [underTheTitle] [hasIcon]",
|
|
105
|
+
"desc": "【左半区内容包裹层】underTheTitle=标题在下方布局;hasIcon=有图标且左侧容器里放的不是选项卡(width:91%)",
|
|
106
|
+
"children": [
|
|
107
|
+
{ "ref": "shared.title", "desc": "仅 !showNewTab(左侧容器里没插选项卡)" },
|
|
108
|
+
{ "ref": "shared.drop", "desc": "左侧投放容器 → .ebcoms-pageheader-context-left-container" },
|
|
109
|
+
{ "ref": "shared.tabInner", "desc": "仅 tabPosition=2 且 mode=horizontal(页签放标题下方)" }
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
"right": {
|
|
115
|
+
"tag": "div",
|
|
116
|
+
"class": "ebcoms-pageheader-context-right [isDesign]",
|
|
117
|
+
"desc": "【右半区】= customRenderRight 的根。display:flex; align-items:center; height:100%; overflow-y:hidden。吸顶时会被加 .ebcoms-pageheader-fixed-tab(见 shared.state)。",
|
|
118
|
+
"children": [
|
|
119
|
+
{ "ref": "shared.title", "desc": "仅 showNewTab && underTheTitle(此时标题从左侧挪到这里)" },
|
|
120
|
+
{
|
|
121
|
+
"tag": "div",
|
|
122
|
+
"class": "ebcoms-drop-wrapper [two-sides] [newtab-style]",
|
|
123
|
+
"desc": "【右半区横排容器】⚠️ PC 是 .ebcoms-drop-wrapper,**没有 pageheader- 中缀**;移动端才是 .ebcoms-pageheader-drop-wrapper,别写混。two-sides=innerLayout==='two-sides'(row-reverse,按钮组也跟着反转、菜单按钮 order:-1);newtab-style=标题下方插了选项卡(width:50%)。display:flex; width:100%; height:100%; align-items:center。",
|
|
124
|
+
"children": [
|
|
125
|
+
{ "ref": "shared.drop", "desc": "右侧投放容器 → .ebcoms-pageheader-context-right-container" },
|
|
126
|
+
{
|
|
127
|
+
"tag": "div",
|
|
128
|
+
"class": "ebcoms-pageheader-buttonGroup-wrapper [ebcoms-pageheader-buttonGroup-wrapper-nobtns]",
|
|
129
|
+
"desc": "【按钮区外壳】-nobtns=一个可见按钮都没有(margin-left:14*hd)。⚠️ 与里面那层 .ebcoms-pageheader-buttonGroup 是两个不同的东西,名字很像。默认 display:flex; max-width:50%; overflow:hidden; hover 时 overflow:auto。",
|
|
130
|
+
"children": [
|
|
131
|
+
{
|
|
132
|
+
"tag": "div",
|
|
133
|
+
"class": "tab-list-buttonGroup",
|
|
134
|
+
"desc": "⚠️ 无 ebcoms- 前缀(源码写死的字符串)。PC 上按钮组是嵌在它**内部**的",
|
|
135
|
+
"children": [
|
|
136
|
+
{ "tag": "span|div", "desc": "ExtraBtn 注入的内容(仅 underTheTitle)——由选项卡通过事件注入,页头不产 DOM,随事件的 type 是 dom 还是 config 而不同" },
|
|
137
|
+
{
|
|
138
|
+
"tag": "div",
|
|
139
|
+
"class": "ebcoms-pageheader-buttonGroup",
|
|
140
|
+
"desc": "【按钮区】display:flex; justify-content:flex-end; align-items:center",
|
|
141
|
+
"children": [
|
|
142
|
+
{ "tag": "div", "class": "ebcoms-pageheader-buttonGroup-wrap", "desc": "> :not(:last-child){margin-right:10*hd};:first-child{margin-left:10*hd}", "children": [{ "ref": "shared.btn", "desc": "isSplit 之前的每个按钮重复一次" }] },
|
|
143
|
+
{ "ref": "shared.menuBtn", "desc": "仅 isSplit 之后还有可见按钮" }
|
|
144
|
+
]
|
|
145
|
+
}
|
|
146
|
+
]
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
]
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
|
|
156
|
+
"mobile": {
|
|
157
|
+
"when": "非历史数据 且 page.client 为移动端(外壳上多一个 ebcom-m)",
|
|
158
|
+
"desc": "与 pc 树渲染逻辑同构,但类名是**独立的一套 -m- 命名**,不共用 PC 的类名。对应关系:PC 的 `ebcoms-pageheader-X` ↔ 移动端的 `ebcoms-pageheader-m-X`(少数例外见下)。以下只列差异,未列到的节点按 pc 树同名替换即可。",
|
|
159
|
+
"diffs": [
|
|
160
|
+
"整条页头 wrapper 类名**共用** ebcoms-pageheader-wrapper,但修饰类换成 ebcoms-pageheader-m-pure-text 与 ebcoms-pageheader-m-wrapper-tabStyle(PC 是不带 -m 的 pure-text / -wrapper-tabStyle)",
|
|
161
|
+
"Title 的 Col span 不固定:leftCol = btns.length===0 || showNewTab ? 12 : 8,rightCol 对应 12 / 16(PC 写死 12/12)",
|
|
162
|
+
"左半区:div.ebcoms-pageheader-m-context-left[.tab-right-side][.tab-mode-vertical] > ( 可选 div.ebcoms-pageheader-m-title-icon + div.ebcoms-newtab-tab-top.ebcoms-newtab-{top|center|buttom|cover} + div.ebcoms-pageheader-m-context-wrapper[.underTheTitle] > 标题块 + 投放容器 )",
|
|
163
|
+
"⚠️ 移动端 direction 映射表第 3 项是 'buttom'(源码拼写如此),PC 同位置是 'right' —— 写选择器时别按 PC 的拼法写",
|
|
164
|
+
"标题块:⚠️ 外面还套着一层 **PC 类名**的 div.ebcoms-pageheader-title(移动端也用它,别以为整条链都是 -m-),里面才是 div.ebcoms-pageheader-m-title-area > div.ebcoms-pageheader-m-title-wrapper > ( div.ebcoms-pageheader-m-title[.showNewTab] > div.ebcoms-pageheader-m-title-content ) + div.tab-menu-area > div.ebcoms-newtab-tab-top...(PC 对应层为 title-area / -title-wrapper / -title / -title-content,且没有 tab-menu-area 包裹)",
|
|
165
|
+
"图标:div.ebcoms-pageheader-m-title-icon(PC 是 ebcoms-pageheader-title-icon)。⚠️ 移动端不受 iconVisible 控制,有 path 就渲染",
|
|
166
|
+
"投放容器:div.ebcoms-pageheader-m-context-{left|right}-container[.underTheTitle][.needMarginTop](PC 是 .isDesign + .needMarginTop,没有 .underTheTitle)",
|
|
167
|
+
"右半区:div.ebcoms-pageheader-m-context-right > div.ebcoms-pageheader-drop-wrapper[.two-sides][.newtab-style](⚠️ 移动端**带** pageheader- 中缀,PC 不带)",
|
|
168
|
+
"按钮区:div.ebcoms-pageheader-m-buttonGroup-wrapper > div.tab-list-buttonGroup > ExtraBtn + div.ebcoms-pageheader-m-buttonGroup > ( div.ebcoms-pageheader-m-buttonGroup-wrap + div.ebcoms-pageheader-m-button.ebcoms-pageheader-m-menuButton )",
|
|
169
|
+
"⚠️ 层级关系与 PC 相反:移动端 .tab-list-buttonGroup 与 .ebcoms-pageheader-m-buttonGroup 是**平级**(都挂在 -m-buttonGroup-wrapper 下);PC 的 .ebcoms-pageheader-buttonGroup 是嵌在 .tab-list-buttonGroup **内部**",
|
|
170
|
+
"⚠️ 移动端 -m-context-right 上的 .two-sides 被注释掉了,当前只可能带 .newtab-style",
|
|
171
|
+
"页签外壳:div.ebcoms-newtab-tab-top-inner-m.ebcom ebcom-newtab ebcom-grid(PC 无 -m 后缀),内层 div.{tabContentCls}.content;注入的页签根是 #ebcoms-m-tab-header-weight.ebcoms-m-tab-header",
|
|
172
|
+
"移动端标题文字:view 态是 TransformContent className=ebcoms-pageheader-m-title-content;设计态是 div.ebcoms-pageheader-m-title-content[innerHTML]。已有样式钩子 `.ebcoms-pageheader-m-title-content{font-size/color/font-weight/letter-spacing: var(--eb-title-*)}`"
|
|
173
|
+
],
|
|
174
|
+
"tips": "移动端 UI 组件类名也有 -m 变体(如注入页签里的 ui-m-menu-*),index.less 里成对出现(view-m/index.less:504 有 `.ui-m-menu-tab .ui-m-menu-top .ui-m-menu-list`)。改移动端样式时注意别只覆盖 ui-* 而漏了 ui-m-*。"
|
|
175
|
+
},
|
|
176
|
+
|
|
177
|
+
"history": {
|
|
178
|
+
"when": "config 里存在 buttons 字段(老页面数据)——PC/移动端的判定式都是 `'buttons' in config`,设计态多一个 `typeof config.buttons != 'undefined'`。此时 config.buttons 有值时优先于 newButtons。兼容转换在 utils.ts 的 compatibleConfig → actionsConvertEventAction(把老的 actions 转成 eventGroup)。",
|
|
179
|
+
"why": "历史数据不传 customRenderLeft/customRenderRight,而是传 getTitle + buttons 给 Title。@weapp/ui Title 的 getLeftComponent/getRightComponent 里,只要收到 customRender* 就直接 return 它的结果、把自带的布局层丢掉 —— 所以历史分支会**多出** ui-title-left / ui-title-right / ui-title-right-container 这三层。",
|
|
180
|
+
"pc": {
|
|
181
|
+
"tag": "div",
|
|
182
|
+
"class": "ui-layout-row ui-title ui-title-noIcon ui-title-noTitle ebcoms-pageheader-wrapper [ebcoms-pageheader-pure-text] ebcoms-pageheader-wrapper-history",
|
|
183
|
+
"desc": "wrapper 多一个 .ebcoms-pageheader-wrapper-history(justify-content:space-between、两个 col 都 flex:none、第二个 col overflow-x:auto)。",
|
|
184
|
+
"children": [
|
|
185
|
+
{ "tag": "div", "class": "ui-layout-col ui-layout-col-12 ui-title-col > div.ui-title-left > div.ebcoms-pageheader-title", "desc": "⚠️ 历史分支没有 customRenderLeft,所以 Title 自带的 .ui-title-left 回来了(直接包着标题,中间**没有** ui-title-title-top —— 因为传了 getTitle,Title.renderTitle 会提前 return,不走自带的那层)。标题仍是 .ebcoms-pageheader-title(视图态内含 .ebcoms-pageheader-title-content,自定义标题时包 .ebcoms-pageheader-title-custom);图标 div.ebcoms-pageheader-title-icon 在这里、不是 -m-。" },
|
|
186
|
+
{ "tag": "div", "class": "ui-layout-col ui-layout-col-12 ui-title-col > div.ui-title-right > div.ui-title-right-container", "desc": "⚠️ 同理;容器里是 buttons,即 div.ebcoms-pageheader-buttonGroup > ( div.ebcoms-pageheader-buttonGroup-wrap + div.ebcoms-pageheader-button.ebcoms-pageheader-menuButton )" }
|
|
187
|
+
],
|
|
188
|
+
"absent": "完全不渲染投放容器 → 没有 context-left/right、drop-wrapper、buttonGroup-wrapper、tab-list-buttonGroup、newtab-tab-top-inner 这些节点"
|
|
189
|
+
},
|
|
190
|
+
"mobile": {
|
|
191
|
+
"desc": "在引擎壳的 .content 里**多包一层**,其余与 pc 历史分支同构",
|
|
192
|
+
"chain": "div.ebcoms-pageheader-view-content.content > div.ebcoms-pageheader-history-data.ebcom[id=<comId>][.mask] > div.ui-layout-row.ui-title.ui-title-noIcon.ui-title-noTitle.ebcoms-pageheader-wrapper[.ebcoms-pageheader-pure-text] > 两个 ui-layout-col-12",
|
|
193
|
+
"tips": "⚠️ ① 这层是「多套的内层容器」,**不是**替代引擎壳 —— 引擎壳与 ebcom-m 都还在(编译 CSS 的选择器就是 `.ebcoms-pageheader-view-content .ebcoms-pageheader-history-data .ebcoms-pageheader-wrapper`)。② .mask 的条件是 !view,而 view-m/View.tsx 恒传 view,实际不出现。③ ⚠️ 这一支内部用的全是**PC 类名**(ebcoms-pageheader-title / -title-content / -buttonGroup / -buttonGroup-wrap / -button / -menuButton),既不是 -m- 也不是 -wrapper-history —— 改移动端历史页头样式别按 -m- 找。④ 移动端历史分支不传 leftCol/rightCol。"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
|
|
197
|
+
"notes": [
|
|
198
|
+
"【类名前缀】① 本仓库 clsPrefix='ebcoms',但引擎(@weapp/ebdcoms)也用这个前缀,按文件来源区分,别看前缀猜归属。② 无前缀、源码写死的类名:`.tab-list-buttonGroup`(PC/移动端都有)、`.tab-menu-area`(仅移动端标题块里)、`.content`/`.header`/`.footer`(引擎层)。③ 引擎/拖拽层的类名:`.ebcom`、`.rgl-dnd-flow-layout`、`.weapp-ebde-*`。",
|
|
199
|
+
"【@weapp/ui 自动追加的类,你没写但存在】Title 的 Row → `ui-layout-row ui-title`;noIcon → Title 加 `ui-title-noIcon`;不传 title → 加 `ui-title-noTitle`;两个 Col → `ui-layout-col ui-layout-col-{span} ui-title-col`(其中 ui-title-col 是 Title 补的,不是 Row)。写选择器时如果按源码里写的 className 去匹配会漏掉这些。",
|
|
200
|
+
"【已有样式钩子(应优先复用,别重复造)】view/index.less + view-m/index.less 里已经定义好:`.ebcoms-pageheader-view-content{padding:0!important; font-size:14*hd}`、`.ebcoms-pageheader-wrapper{border:0; min-height:48*hd; display:flex; align-items:center}`、`.ebcoms-pageheader-title-icon{display:flex; padding:0 6*hd}`、`.ebcoms-pageheader-title-content{overflow:hidden; nowrap; ellipsis}`、`.ebcoms-pageheader-buttonGroup-wrap` 的按钮间距(10*hd)、`.ebcoms-configurable-btn-view-icon{padding:5px; margin-left:8*hd}`、`.ebcoms-pageheader-style-btnDashed{border-style:dashed}`。改前先 grep 这两个 less,避免和已有规则打架。",
|
|
201
|
+
"【插件可以整体替换标题与按钮】页头注册了 PHGEHEADER_CUNSTOM_RENDER_PLUGIN,会依次调 getPageHeaderTitleConfig / getproportion / getPageHeaderTitleConfig、以及 renderPageHeaderTitle / renderPageHeaderBtnLayout(PC 还有 getPageHeaderBtns)。装了插件时标题块和按钮区的 DOM 可能与本文档完全不同 —— 排查不到元素时先确认现场有没有插件。另:自定义渲染区域(ExtraContent / ExtraBtn 的插槽)里的 DOM 完全由注入方决定,本文档只标了挂载点。",
|
|
202
|
+
"【不可控 DOM(外部组件渲染)】投放容器的 DroppableView/Droppable 来自 @weapp/designer;页签来自 NewTab 组件(事件注入);更多按钮下拉来自 @weapp/ui Menu(type=select);标题文字来自 @weapp/ebdcoms 的 TransformContent;按钮来自 ConfigurableButton。这些内部结构不在本仓库,本文档只给到挂载点或它自己加的类名。",
|
|
203
|
+
"【反查源码】本组件 → view/(Content.tsx 全部逻辑与类名、btn/ButtonGroup.tsx + PageHeaderButton.tsx + MenuGroup.tsx、index.less 样式钩子)、view-m/(同名文件 + index.less)、design/Design.tsx + design-m/Design.tsx(设计态,defaultOpts.contentClass 与 defaultProps)、extra-content/(ExtraContent.tsx / ExtraBtn.tsx 插槽)、constants/index.ts、utils.ts(compatibleConfig)。@weapp/ui → D:\\fwCode\\weapp-ui(components/title/Title.tsx 决定 ui-title-* 与左右列布局、components/layout/{Row,Col}.tsx + components/block/index.tsx 决定 ui-layout-*、components/menu/pc/SelectMenu.tsx 决定 ui-menu-select-*、constants/index.ts 里 titleClsPrefix='ui-title' / layoutClsPrefix='ui-layout' / menuClsPrefix='ui-menu')。引擎 → D:\\fwCode\\weapp-ebdcoms/src/components/core/view/createView.tsx(renderView/renderHeader/renderContent/renderFooter、showHeader 与 has-no-header 的判定、getClassName 拼外壳类)、design/createDesign.tsx、design/common.less;按钮 → D:\\fwCode\\weapp-ebdcoms/src/common/button-config/ConfigurableButton.tsx;拖拽 → D:\\fwCode\\weapp-ebdcoms/src/common/event-action/event-click/EventClickable.tsx(确认它不加 DOM 层)。页签类名规则 → D:\\fwCode\\weapp-ebdnavcoms\\src\\components\\tab\\common\\utils.ts 的 getTabLayoutClsNames。"
|
|
204
|
+
]
|
|
205
|
+
}
|