weaver-e10-builder 1.2.2 → 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -19
- package/dist/commands/actionflow.d.ts.map +1 -1
- package/dist/commands/actionflow.js +14 -1
- package/dist/commands/actionflow.js.map +1 -1
- package/dist/commands/designer-css.d.ts +15 -0
- package/dist/commands/designer-css.d.ts.map +1 -0
- package/dist/commands/designer-css.js +205 -0
- package/dist/commands/designer-css.js.map +1 -0
- package/dist/commands/form-add-detail-table.d.ts.map +1 -1
- package/dist/commands/form-add-detail-table.js +127 -7
- package/dist/commands/form-add-detail-table.js.map +1 -1
- package/dist/commands/form-ebuilder-columns.d.ts +7 -0
- package/dist/commands/form-ebuilder-columns.d.ts.map +1 -1
- package/dist/commands/form-ebuilder-columns.js +2 -24
- package/dist/commands/form-ebuilder-columns.js.map +1 -1
- package/dist/commands/form-field-lang.d.ts.map +1 -1
- package/dist/commands/form-field-lang.js +4 -39
- package/dist/commands/form-field-lang.js.map +1 -1
- package/dist/commands/form-formula.d.ts.map +1 -1
- package/dist/commands/form-formula.js +35 -11
- package/dist/commands/form-formula.js.map +1 -1
- package/dist/commands/form-layout-init.d.ts.map +1 -1
- package/dist/commands/form-layout-init.js +15 -10
- package/dist/commands/form-layout-init.js.map +1 -1
- package/dist/commands/form-layout.js +24 -21
- package/dist/commands/form-layout.js.map +1 -1
- package/dist/commands/form-native.d.ts.map +1 -1
- package/dist/commands/form-native.js +181 -0
- package/dist/commands/form-native.js.map +1 -1
- package/dist/commands/form-nlist.d.ts +1 -1
- package/dist/commands/form-nlist.d.ts.map +1 -1
- package/dist/commands/form-nlist.js +5 -3
- package/dist/commands/form-nlist.js.map +1 -1
- package/dist/commands/form-validate.d.ts.map +1 -1
- package/dist/commands/form-validate.js +11 -3
- package/dist/commands/form-validate.js.map +1 -1
- package/dist/commands/form.d.ts.map +1 -1
- package/dist/commands/form.js +168 -90
- package/dist/commands/form.js.map +1 -1
- package/dist/commands/menu.d.ts.map +1 -1
- package/dist/commands/menu.js +170 -23
- package/dist/commands/menu.js.map +1 -1
- package/dist/commands/wf-form.d.ts +1 -0
- package/dist/commands/wf-form.d.ts.map +1 -1
- package/dist/commands/wf-form.js +44 -13
- package/dist/commands/wf-form.js.map +1 -1
- package/dist/commands/workflow-auth-resp.d.ts.map +1 -1
- package/dist/commands/workflow-auth-resp.js +69 -8
- package/dist/commands/workflow-auth-resp.js.map +1 -1
- package/dist/commands/workflow-node-assign-flow.d.ts +3 -0
- package/dist/commands/workflow-node-assign-flow.d.ts.map +1 -0
- package/dist/commands/workflow-node-assign-flow.js +341 -0
- package/dist/commands/workflow-node-assign-flow.js.map +1 -0
- package/dist/commands/workflow-node.d.ts +2 -0
- package/dist/commands/workflow-node.d.ts.map +1 -1
- package/dist/commands/workflow-node.js +219 -48
- package/dist/commands/workflow-node.js.map +1 -1
- package/dist/commands/workflow-odoc.d.ts.map +1 -1
- package/dist/commands/workflow-odoc.js +56 -56
- package/dist/commands/workflow-odoc.js.map +1 -1
- package/dist/commands/workflow-setting.d.ts.map +1 -1
- package/dist/commands/workflow-setting.js +77 -1
- package/dist/commands/workflow-setting.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +36 -80
- package/dist/commands/workflow.js.map +1 -1
- package/dist/core/auth.js +1 -1
- package/dist/core/client.d.ts +14 -0
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +28 -12
- package/dist/core/client.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/services/actionflow/command_output.d.ts +7 -0
- package/dist/services/actionflow/command_output.d.ts.map +1 -1
- package/dist/services/actionflow/command_output.js +46 -0
- package/dist/services/actionflow/command_output.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_add.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_add.js +14 -4
- package/dist/services/actionflow/components/action_eb_add.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_add_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_add_compiler.js +29 -0
- package/dist/services/actionflow/components/action_eb_add_compiler.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_update.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_update.js +23 -8
- package/dist/services/actionflow/components/action_eb_update.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_update_compiler.js +239 -6
- package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
- package/dist/services/actionflow/components/assign_var.d.ts +12 -0
- package/dist/services/actionflow/components/assign_var.d.ts.map +1 -0
- package/dist/services/actionflow/components/assign_var.js +133 -0
- package/dist/services/actionflow/components/assign_var.js.map +1 -0
- package/dist/services/actionflow/components/custom_set_form.d.ts +10 -0
- package/dist/services/actionflow/components/custom_set_form.d.ts.map +1 -0
- package/dist/services/actionflow/components/custom_set_form.js +65 -0
- package/dist/services/actionflow/components/custom_set_form.js.map +1 -0
- package/dist/services/actionflow/components/custom_trigger.d.ts +2 -2
- package/dist/services/actionflow/components/custom_trigger.d.ts.map +1 -1
- package/dist/services/actionflow/components/custom_trigger.js +7 -10
- package/dist/services/actionflow/components/custom_trigger.js.map +1 -1
- package/dist/services/actionflow/components/enquiry_form.js +1 -1
- package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
- package/dist/services/actionflow/components/index.d.ts.map +1 -1
- package/dist/services/actionflow/components/index.js +9 -0
- package/dist/services/actionflow/components/index.js.map +1 -1
- package/dist/services/actionflow/components/output.d.ts.map +1 -1
- package/dist/services/actionflow/components/output.js +6 -1
- package/dist/services/actionflow/components/output.js.map +1 -1
- package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
- package/dist/services/actionflow/context_preflight.js +13 -6
- package/dist/services/actionflow/context_preflight.js.map +1 -1
- package/dist/services/actionflow/context_provider.d.ts.map +1 -1
- package/dist/services/actionflow/context_provider.js +3 -2
- package/dist/services/actionflow/context_provider.js.map +1 -1
- package/dist/services/actionflow/dynamic_resources.d.ts +7 -1
- package/dist/services/actionflow/dynamic_resources.d.ts.map +1 -1
- package/dist/services/actionflow/dynamic_resources.js +65 -8
- package/dist/services/actionflow/dynamic_resources.js.map +1 -1
- package/dist/services/actionflow/ebuilder_source.d.ts +19 -0
- package/dist/services/actionflow/ebuilder_source.d.ts.map +1 -0
- package/dist/services/actionflow/ebuilder_source.js +78 -0
- package/dist/services/actionflow/ebuilder_source.js.map +1 -0
- package/dist/services/actionflow/form_source.d.ts +76 -0
- package/dist/services/actionflow/form_source.d.ts.map +1 -1
- package/dist/services/actionflow/form_source.js +195 -1
- package/dist/services/actionflow/form_source.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts +4 -1
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +97 -23
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/actionflow/preflight_service.d.ts +6 -0
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
- package/dist/services/actionflow/preflight_service.js +211 -3
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/workflow_compiler.js +83 -15
- package/dist/services/actionflow/workflow_compiler.js.map +1 -1
- package/dist/services/designer-css.d.ts +89 -0
- package/dist/services/designer-css.d.ts.map +1 -0
- package/dist/services/designer-css.js +163 -0
- package/dist/services/designer-css.js.map +1 -0
- package/dist/services/dom-structure.d.ts +42 -0
- package/dist/services/dom-structure.d.ts.map +1 -0
- package/dist/services/dom-structure.js +251 -0
- package/dist/services/dom-structure.js.map +1 -0
- package/dist/services/form-create.d.ts +2 -1
- package/dist/services/form-create.d.ts.map +1 -1
- package/dist/services/form-create.js.map +1 -1
- package/dist/services/form-ebuilder-columns.d.ts +50 -0
- package/dist/services/form-ebuilder-columns.d.ts.map +1 -0
- package/dist/services/form-ebuilder-columns.js +68 -0
- package/dist/services/form-ebuilder-columns.js.map +1 -0
- package/dist/services/form-field-drop.d.ts +30 -1
- package/dist/services/form-field-drop.d.ts.map +1 -1
- package/dist/services/form-field-drop.js +60 -0
- package/dist/services/form-field-drop.js.map +1 -1
- package/dist/services/form-field-patch.d.ts +69 -0
- package/dist/services/form-field-patch.d.ts.map +1 -0
- package/dist/services/form-field-patch.js +117 -0
- package/dist/services/form-field-patch.js.map +1 -0
- package/dist/services/form-i18n-label.d.ts +48 -0
- package/dist/services/form-i18n-label.d.ts.map +1 -0
- package/dist/services/form-i18n-label.js +91 -0
- package/dist/services/form-i18n-label.js.map +1 -0
- package/dist/services/form-nlist.d.ts +1 -0
- package/dist/services/form-nlist.d.ts.map +1 -1
- package/dist/services/form-nlist.js +32 -5
- package/dist/services/form-nlist.js.map +1 -1
- package/dist/services/form-style-template.d.ts +6 -2
- package/dist/services/form-style-template.d.ts.map +1 -1
- package/dist/services/form-style-template.js +8 -4
- package/dist/services/form-style-template.js.map +1 -1
- package/dist/services/form-sub-detail.d.ts +51 -3
- package/dist/services/form-sub-detail.d.ts.map +1 -1
- package/dist/services/form-sub-detail.js +183 -20
- package/dist/services/form-sub-detail.js.map +1 -1
- package/dist/services/formula-detail.d.ts +68 -5
- package/dist/services/formula-detail.d.ts.map +1 -1
- package/dist/services/formula-detail.js +110 -44
- package/dist/services/formula-detail.js.map +1 -1
- package/dist/services/menu-catalog.d.ts +84 -0
- package/dist/services/menu-catalog.d.ts.map +1 -0
- package/dist/services/menu-catalog.js +183 -0
- package/dist/services/menu-catalog.js.map +1 -0
- package/dist/services/rich-text.d.ts +33 -0
- package/dist/services/rich-text.d.ts.map +1 -0
- package/dist/services/rich-text.js +134 -0
- package/dist/services/rich-text.js.map +1 -0
- package/dist/services/workflow-add-step.d.ts +45 -0
- package/dist/services/workflow-add-step.d.ts.map +1 -0
- package/dist/services/workflow-add-step.js +122 -0
- package/dist/services/workflow-add-step.js.map +1 -0
- package/dist/services/workflow-assign-flow.d.ts +109 -0
- package/dist/services/workflow-assign-flow.d.ts.map +1 -0
- package/dist/services/workflow-assign-flow.js +306 -0
- package/dist/services/workflow-assign-flow.js.map +1 -0
- package/dist/services/workflow-drawback.d.ts +19 -0
- package/dist/services/workflow-drawback.d.ts.map +1 -0
- package/dist/services/workflow-drawback.js +59 -0
- package/dist/services/workflow-drawback.js.map +1 -0
- package/dist/services/workflow-links.d.ts +51 -0
- package/dist/services/workflow-links.d.ts.map +1 -0
- package/dist/services/workflow-links.js +162 -0
- package/dist/services/workflow-links.js.map +1 -0
- package/dist/services/workflow-node-layout.d.ts +45 -4
- package/dist/services/workflow-node-layout.d.ts.map +1 -1
- package/dist/services/workflow-node-layout.js +142 -41
- package/dist/services/workflow-node-layout.js.map +1 -1
- package/dist/services/workflow-node-menu.d.ts +57 -0
- package/dist/services/workflow-node-menu.d.ts.map +1 -0
- package/dist/services/workflow-node-menu.js +144 -0
- package/dist/services/workflow-node-menu.js.map +1 -0
- package/dist/services/workflow-odoc-setting.d.ts +43 -0
- package/dist/services/workflow-odoc-setting.d.ts.map +1 -0
- package/dist/services/workflow-odoc-setting.js +100 -0
- package/dist/services/workflow-odoc-setting.js.map +1 -0
- package/dist/services/workflow-tab-config.d.ts +54 -0
- package/dist/services/workflow-tab-config.d.ts.map +1 -0
- package/dist/services/workflow-tab-config.js +137 -0
- package/dist/services/workflow-tab-config.js.map +1 -0
- package/dist/types.d.ts +5 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/skill-docs/SKILL.md +8 -7
- package/skill-docs/_catalog.md +81 -77
- package/skill-docs/actionflows/SKILL.md +170 -167
- package/skill-docs/actionflows/references/components/ebuilder/ActionEbAdd.md +39 -2
- package/skill-docs/actionflows/references/components/ebuilder/ActionEbUpdate.md +42 -0
- package/skill-docs/actionflows/references/components/ebuilder/EventButton.md +33 -33
- package/skill-docs/actionflows/references/components/logic/Output.md +2 -0
- package/skill-docs/actionflows/references/components/trigger/CustomTrigger.md +16 -11
- package/skill-docs/assets/dom-structure/Bar.json +341 -0
- package/skill-docs/assets/dom-structure/BarStack.json +341 -0
- package/skill-docs/assets/dom-structure/Bubble.json +323 -0
- package/skill-docs/assets/dom-structure/Calendar.json +515 -0
- package/skill-docs/assets/dom-structure/Circular.json +337 -0
- package/skill-docs/assets/dom-structure/CollapsePanel.json +289 -0
- package/skill-docs/assets/dom-structure/Comment.json +617 -0
- package/skill-docs/assets/dom-structure/CountDown.json +755 -0
- package/skill-docs/assets/dom-structure/DigitalPanel.json +191 -0
- package/skill-docs/assets/dom-structure/EbButton.json +387 -0
- package/skill-docs/assets/dom-structure/FastCreate.json +242 -0
- package/skill-docs/assets/dom-structure/Gauge.json +282 -0
- package/skill-docs/assets/dom-structure/HBar.json +336 -0
- package/skill-docs/assets/dom-structure/HBarStack.json +337 -0
- package/skill-docs/assets/dom-structure/Line.json +341 -0
- package/skill-docs/assets/dom-structure/NList.json +712 -0
- package/skill-docs/assets/dom-structure/NavBar.json +274 -0
- package/skill-docs/assets/dom-structure/NavPanel.json +390 -0
- package/skill-docs/assets/dom-structure/NewTab.json +606 -0
- package/skill-docs/assets/dom-structure/Nightingale.json +336 -0
- package/skill-docs/assets/dom-structure/PageHeader.json +205 -0
- package/skill-docs/assets/dom-structure/Picture.json +209 -0
- package/skill-docs/assets/dom-structure/Pie.json +338 -0
- package/skill-docs/assets/dom-structure/ProgressChart.json +299 -0
- package/skill-docs/assets/dom-structure/SearchGlobal.json +628 -0
- package/skill-docs/assets/dom-structure/Slide.json +489 -0
- package/skill-docs/assets/dom-structure/Treemap.json +324 -0
- package/skill-docs/references/common/guide-plan-template.md +254 -251
- package/skill-docs/references/common/ref-cli-commands.md +537 -519
- package/skill-docs/references/ebuilder-designer/guide-designer-components.md +12 -1
- package/skill-docs/references/ebuilder-designer/guide-designer-css.md +127 -0
- package/skill-docs/references/ebuilder-designer/guide-designer.md +6 -5
- package/skill-docs/references/form/guide-create-form.md +233 -232
- package/skill-docs/references/form/guide-form-formula-functions.md +11 -1
- package/skill-docs/references/form/guide-form-layout-planning.md +1 -1
- package/skill-docs/references/form/guide-form-linkage.md +28 -2
- package/skill-docs/references/form/guide-form-sub-detail.md +82 -0
- package/skill-docs/references/form/guide-list-custom-text.md +52 -0
- package/skill-docs/references/menu/system-menus.md +12 -0
- package/skill-docs/references/workflow/guide-workflow-auth-resp.md +198 -190
- package/skill-docs/references/workflow/guide-workflow-odoc.md +22 -2
- package/skill-docs/references/workflow/guide-workflow.md +25 -3
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
{
|
|
2
|
+
"component": "NavPanel 导航面板",
|
|
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 | swiper=轮播库"
|
|
11
|
+
},
|
|
12
|
+
"pickTree": "最外三层固定(见 root):引擎外壳 > header + content + footer 三个平级兄弟,header/footer 由引擎按 titleEnabled / footerEnabled 决定有无。以下只描述 content 里面怎么分:① paginationDisplay=true → pagination;② 系统数据个人视图 → personal;③ enableGroup=true → layout.group(groupMode 再分 vertical / horizontal / newTab);④ 其余 → layout.noGroup。PC 与移动端主结构同构,差异在 top.pc / top.mobile 与少量类名后缀;弹窗态多一个 .fromDialog 类。",
|
|
13
|
+
|
|
14
|
+
"root": {
|
|
15
|
+
"tag": "div",
|
|
16
|
+
"id": "<comId>",
|
|
17
|
+
"class": "ebcom ebcom-navpanel [ebcom-grid] [ebcom-view|ebcom-design] [has-no-header] [content-no-padding] [event-action-click] [standalone]",
|
|
18
|
+
"desc": "【引擎外壳】由引擎渲染,flex 纵列,所以下面固定挂 3 个子节点。⚠️ 这 3 个是平级兄弟,不是父子,别写 .content .header。defaultOpts.render.standalone 为真时三层整体不渲染(本组件未开启)。",
|
|
19
|
+
"children": [
|
|
20
|
+
{ "ref": "shared.header", "desc": "titleEnabled=false 时不渲染,外壳上只留 has-no-header 状态类" },
|
|
21
|
+
{
|
|
22
|
+
"tag": "div",
|
|
23
|
+
"class": "content",
|
|
24
|
+
"desc": "【引擎内容槽】引擎固定追加,组件自己的 DOM 全在它里面,`#<comId> > .content` 可稳定命中。引擎默认 `flex:1 1 auto; padding:10px 15px; height:100%; overflow:auto`,本组件用 index.less 把 padding 覆盖为 0。⚠️ 别与 ebcoms-navPanel-wrapper-content(组件的内容滚动区,见 shared.content)混用——同名不同层。",
|
|
25
|
+
"children": [
|
|
26
|
+
{ "ref": "shared.top", "desc": "顶部:快捷搜索栏 / 拓展菜单入口" },
|
|
27
|
+
{ "tag": "div", "desc": "弹窗包裹层,无关键类" },
|
|
28
|
+
{ "tag": "div", "id": "common-menus-<comId>", "class": "ebcoms-navPanel-common-menus-container", "desc": "仅 commonMenuSwitch && showCommonMenuGroup && !menuDataLoading → 见 commonMenus" },
|
|
29
|
+
{ "ref": "layout.main", "desc": "主体:PagePanel 或 NavPanel 二选一" },
|
|
30
|
+
{
|
|
31
|
+
"tag": "div",
|
|
32
|
+
"class": "ebcoms-navPanel-bottom",
|
|
33
|
+
"desc": "仅『系统数据 + 默认内容 + groupMode=horizontal』的底部条",
|
|
34
|
+
"children": [
|
|
35
|
+
{ "tag": "div", "class": "ebcoms-navPanel-bottom-wrapper", "desc": "『个人应用设置』整行(@weapp/ui Icon + 文案 + 外部组件 AppSettingDialogCom)" }
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
{ "ref": "shared.footer", "desc": "footerEnabled=false 时不渲染(本组件默认不开)" }
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
|
|
44
|
+
"shared": {
|
|
45
|
+
"top": {
|
|
46
|
+
"desc": "【顶部工具栏】PC / 移动端是两个不同容器类名",
|
|
47
|
+
"pc": {
|
|
48
|
+
"tag": "div",
|
|
49
|
+
"class": "ebcoms-navPanel-top",
|
|
50
|
+
"children": [
|
|
51
|
+
{ "tag": "div", "class": "ebcoms-navPanel-ceiling-search", "desc": "仅 showSearch 或『更多展开且 showMoreInDialog=false』。内含 PinyinInput(ui-input)+ 可选两个 div.more-icon(⚠️ 无 ebcoms- 前缀)" },
|
|
52
|
+
{ "tag": "div", "class": "ebcoms-navPanel-expand-menu", "desc": "仅系统数据 + showExpandMenu;内部是外部组件(@weapp/layout ExtendedMenu),DOM 不可控" }
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
"mobile": {
|
|
56
|
+
"tag": "div",
|
|
57
|
+
"class": "ebcoms-navPanel-mobile-top [titleEnabled]",
|
|
58
|
+
"desc": "⚠️ titleEnabled 是反向条件(!titleEnabled 时才有这个类)",
|
|
59
|
+
"children": [
|
|
60
|
+
{ "tag": "div", "class": "ebcoms-navPanel-ceiling-search.mobile", "desc": "移动端搜索栏(MPinyinInput)+ 可选 div.more-icon" },
|
|
61
|
+
{ "tag": "div", "class": "ebcoms-navPanel-mobile-top-btn.viewMode", "desc": "视图切换(列表/方图标/圆图标),内含 TopMenu → ui-menu-*" },
|
|
62
|
+
{ "tag": "div", "class": "ebcoms-navPanel-mobile-top-btn.expandMenu", "desc": "拓展菜单,同样 TopMenu → ui-menu-*;弹层用 ui-menu-select-*" }
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
|
|
67
|
+
"wrapper": {
|
|
68
|
+
"tag": "div",
|
|
69
|
+
"class": "ebcoms-navPanel-wrapper [ebcoms-navPanel-wrapper-{vertical|horizontal|newTab}] [ebcoms-navPanel-wrapper-empty] [ebcoms-navPanel-wrapper-empty-search] [ebcoms-navPanel-wrapper-personal]",
|
|
70
|
+
"desc": "【主体最外层】-empty=无数据;-empty-search=空且带搜索;-personal=系统数据个人视图。加载中这一层里只有一个 ui-spin。"
|
|
71
|
+
},
|
|
72
|
+
|
|
73
|
+
"header": {
|
|
74
|
+
"when": "config.titleEnabled=true 且非 standalone。本组件没定义 static renderHeader / renderTitle,所以 100% 走引擎默认实现",
|
|
75
|
+
"chain": "div.header > ( div.ebcoms-title-icon[.noBgColor] > div.ebcoms-assets-item ) + div.ebcom-title[.ebcom-title-richtext] + div.ebcoms-header-btns > span > .ebcoms-configurable-btn.{showType} > .default-btn|.hover-btn",
|
|
76
|
+
"tips": "① 整行改高/去边框打 `.ebcom.ebcom-navpanel > .header`(默认 padding:0 20px; min-height/line-height:40px; color:#666; font-size:var(--font-size-lg); font-weight:600; border-bottom:1px solid var(--border-color); flex:0 0 auto)。② 改标题文字只认 .ebcom-title(富文本另带 -richtext)。③ 按钮组 .ebcoms-header-btns 最多两个 div:竖排=positionType RIGHT,横排=LEFT。④ ⚠️ 引擎用 `&:has(.ebcoms-header-btns)` 把标题改成 display:inline-block —— 这是『有顶部按钮时标题加 width 不生效』的原因。⑤ 兼容老结构 `.ebcom-header-wrap > .header`,不确定时两个都覆盖。"
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
"footer": {
|
|
80
|
+
"when": "config.footerEnabled=true 且 defaultOpts.render.showFooter!==false 且非 standalone。本组件没定义 static renderFooter;否则整块不存在(不是隐藏)",
|
|
81
|
+
"chain": "div.footer[内联 style=按钮对齐] > ( 组件 renderFooter,可空 ) + div.ebcoms-footer-btns > span > ConfigurableButton",
|
|
82
|
+
"tips": "① 默认 height/min-height:36px; border-top:1px solid var(--border-color); position:relative; display:flex。② ⚠️ 对齐由 JS 内联 style 写在 .footer 上,覆盖要 !important。③ 按钮组有 max-width:100%; height:100%; overflow-x:auto; padding:3px 0,其 > span 是 color:#666; font-size:12px; margin-right:10px(首个 margin-left:10px)。④ ⚠️ 引擎把内部默认按钮透明化:`.ui-btn.ui-btn-default{border-color:transparent;background-color:transparent}`(disabled/hover 各有独立规则),直接改 .ui-btn 会被压掉。⑤ 无权限/未付费时外壳照渲染但内部为空。"
|
|
83
|
+
},
|
|
84
|
+
|
|
85
|
+
"innerContent": {
|
|
86
|
+
"desc": "【一组菜单的内容块】非分组时直接挂 .ebcoms-navPanel-wrapper 下,分组时挂 .ebcoms-navPanel-wrapper-group-item 内",
|
|
87
|
+
"children": [
|
|
88
|
+
{
|
|
89
|
+
"tag": "div",
|
|
90
|
+
"id": "group-title-<comId>-<groupId>",
|
|
91
|
+
"class": "ebcoms-navPanel-wrapper-group-title",
|
|
92
|
+
"desc": "【分组标题行】有 id,限域最稳。仅 groupTitle 或 groupIcon 有值才渲染",
|
|
93
|
+
"children": [
|
|
94
|
+
{
|
|
95
|
+
"tag": "div",
|
|
96
|
+
"class": "ebcoms-navPanel-wrapper-group-title-text | ebcoms-navPanel-wrapper-group-title-text-m",
|
|
97
|
+
"desc": "PC 用 -text,移动端用 -text-m(独立类名)",
|
|
98
|
+
"children": [
|
|
99
|
+
{ "tag": "div", "class": "ebcoms-assets-icon | ebcoms-assets-img", "desc": "分组图标(AssetsItem)" },
|
|
100
|
+
{ "tag": "span", "class": "ebcoms-navPanel-wrapper-group-title-text-contentWithIcon > ebcoms-navPanel-wrapper-group-title-text-content", "desc": "【标题文字】有图标时才带 -contentWithIcon;官方样式表改分组标题宽度就是打这个类" }
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
{ "ref": "shared.operateBtn", "desc": "标题右侧的操作按钮(groupMode=newTab 时不在这层)" }
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
{ "ref": "shared.content" }
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
|
|
110
|
+
"operateBtn": {
|
|
111
|
+
"desc": "【菜单操作按钮】编辑(定制)/更多 图标,仅在对应按钮落在面板内时渲染",
|
|
112
|
+
"tree": [
|
|
113
|
+
{ "tag": "div", "class": "ebcoms-navPanel-wrapper-group-title-set", "desc": "单个按钮外壳(图标 + 5px 左边距),编辑与更多各一个", "children": [{ "tag": "div", "class": "ebcoms-assets-item", "desc": "编辑=Icon-* 自定义图标;更多=openIcon/closeIcon(展开前后切换),点击分别触发 openCustomMenu / openMoreMenu" }] },
|
|
114
|
+
{ "tag": "div", "class": "common-group-edit-btn", "desc": "⚠️ 无 ebcoms- 前缀。仅当前分组=common_group 时出现,内含 @weapp/ui Icon(Icon-set-up-o)" },
|
|
115
|
+
{ "tag": "div", "class": "nav-panel-btn-tabVertical", "desc": "⚠️ 无 ebcoms- 前缀。仅 newTab 且选项卡纵向排列且不在弹窗内时,操作按钮整体挪到这里(此时 group-title 里没有按钮)" }
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
|
|
119
|
+
"content": {
|
|
120
|
+
"tag": "div",
|
|
121
|
+
"class": "ebcoms-navPanel-wrapper-content [ebcoms-navPanel-wrapper-content-notEmpty|ebcoms-navPanel-wrapper-content-isEmpty] [ebcoms-navPanel-wrapper-{styleId}]",
|
|
122
|
+
"desc": "【内容滚动区】内边距/滚动/最小宽度在这层;-{styleId} 是系统样式 id(41/42/770...),系统样式差异全靠它,改动前先确认当前 styleId。notEmpty/isEmpty 两个类名会在内层 wrapper 上再出现一次。",
|
|
123
|
+
"children": [
|
|
124
|
+
{
|
|
125
|
+
"tag": "div",
|
|
126
|
+
"class": "ebcoms-navPanel-wrapper-content-notEmpty ebcoms-navPanel-wrapper-content-wrapper",
|
|
127
|
+
"desc": "【行容器】flex-wrap 行;横向分组时会变成 flex-direction:column 并被 JS 做绝对定位",
|
|
128
|
+
"children": [
|
|
129
|
+
{
|
|
130
|
+
"tag": "div",
|
|
131
|
+
"class": "gap-style-line-wrap [system-menu-viewMode square|rotundity]",
|
|
132
|
+
"desc": "⚠️ gap-style-line-wrap 无 ebcoms- 前缀,是一行菜单。system-menu-* 只在『系统数据 + 图标视图 + 默认样式41』时附加",
|
|
133
|
+
"children": [{ "ref": "shared.card", "desc": "一行内按列数重复" }]
|
|
134
|
+
}
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
{ "ref": "shared.empty", "desc": "gapStyleDatas 为空时替代上面的行容器" }
|
|
138
|
+
]
|
|
139
|
+
},
|
|
140
|
+
|
|
141
|
+
"card": {
|
|
142
|
+
"desc": "【单个菜单条目】= CustomCard。导航面板 90% 的样式需求都落在这棵树里",
|
|
143
|
+
"tree": [
|
|
144
|
+
{
|
|
145
|
+
"tag": "div",
|
|
146
|
+
"class": "ebcoms-navPanel-wrapper-customCardFirst ebcoms-navPanel-wrapper-customCard [no-border-right] [no-border-bottom] [no-margin-right] [no-margin-bottom] [ISEMPTY] [ebcoms-navPanel-wrapper-customCard-pre1] [ebcoms-navPanel-wrapper-customCard-show-gray-scale]",
|
|
147
|
+
"desc": "【条目外壳】宽度/高度/外边距在这层,并挂了 CSS 变量 --ebcoms-navPanel-icon-color(取值=图标色)。⚠️ 这些值都是内联 style(flex/height/width/margin),优先级高于样式表。no-*=无样式表的边框合并;ISEMPTY=补位空列(visibility:hidden);pre1/pre5=预置模板;show-gray-scale=置灰。",
|
|
148
|
+
"children": [
|
|
149
|
+
{
|
|
150
|
+
"tag": "div",
|
|
151
|
+
"class": "ebcoms-navPanel-wrapper-square-pos ebcoms-navPanel-wrapper-square [ebcoms-navPanel-wrapper-customCardPC] [ebcoms-navPanel-wrapper-square-isDefault] [moreMenu] [customEditMenu] [swiper-lazy]",
|
|
152
|
+
"desc": "【可点击卡片本体】背景色/边框/圆角/内边距改这层;-customCardPC=PC 端;-square-isDefault=默认样式41(带 ::before 小箭头与内边距差异);moreMenu/customEditMenu 用于区分『更多』『编辑』按钮条目(官方样式表靠这两个类排除它们)。⚠️ 它上面还有一层无类名的 EventClickable 包裹 div。",
|
|
153
|
+
"children": [
|
|
154
|
+
{
|
|
155
|
+
"tag": "div",
|
|
156
|
+
"class": "ebcoms-navPanel-wrapper-square-content",
|
|
157
|
+
"desc": "⚠️ 条件层:只有 (useCustom || libStyle) && (nameIconPos || nameIconPosRelative)(即样式里配过图标/名称位置)才存在。没有它时 iconWrap 与 cardName 直接是 square 的子元素——写选择器务必用 `.square-content` 或后代选择器,别写死层级",
|
|
158
|
+
"children": [
|
|
159
|
+
{
|
|
160
|
+
"tag": "div",
|
|
161
|
+
"class": "ebcoms-navPanel-wrapper-iconWrap ebcoms-navPanel-wrapper-iconWrap-pos [ebcoms-navPanel-wrapper-iconWrap-hide]",
|
|
162
|
+
"desc": "【图标区】与名称的间距 margin-bottom 在这层;图标本体样式(颜色/背景/圆角/尺寸)内联在这层。hide=仅图标显示模式下 hover 时隐藏",
|
|
163
|
+
"children": [
|
|
164
|
+
{
|
|
165
|
+
"tag": "div",
|
|
166
|
+
"class": "ebcoms-angle | ebcoms-angle-position | ebcoms-angle-block",
|
|
167
|
+
"desc": "【角标容器】共用的 Angle 组件,恒带 ebcoms-angle(无角标时就是这个类);有角标时 class 变成 ebcoms-angle-{position|block}",
|
|
168
|
+
"children": [
|
|
169
|
+
{ "tag": "div", "class": "ebcoms-assets-item ebcoms-assets-icon | ebcoms-assets-img [moreMenu] [customEditMenu] [swiper-lazy]", "desc": "【图标本体】svg 图标=ebcoms-assets-icon,图片=ebcoms-assets-img。官方样式表用 `.content .ebcoms-assets-item:not(.moreMenu):not(.customEditMenu)` 定位普通图标、`.ebcoms-assets-item.moreMenu` 单独调更多图标尺寸" },
|
|
170
|
+
{ "tag": "span", "class": "ebcoms-navPanel-wrapper-numTips-icon ebcoms-angle-position-count > span", "desc": "【数字角标】按系统样式 id 不同会是三套孪生类名之一:ebcoms-navPanel-wrapper-numTips-icon / -numTips-text / -numTips-placeholder(index.less 里成对定义),总是与 ebcoms-angle-{position|block}-count 同时出现" }
|
|
171
|
+
]
|
|
172
|
+
}
|
|
173
|
+
]
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"tag": "div",
|
|
177
|
+
"class": "ebcoms-navPanel-wrapper-cardName ebcoms-navPanel-wrapper-cardName-pos [ebcoms-navPanel-wrapper-cardName-isPre5] [ebcoms-navPanel-wrapper-cardName-hide]",
|
|
178
|
+
"desc": "【名称区】对齐方式/内边距在这层;hide=纯图标模式 hover 时隐藏;isPre5=预置模板5",
|
|
179
|
+
"children": [
|
|
180
|
+
{
|
|
181
|
+
"tag": "div",
|
|
182
|
+
"class": "ebcoms-angle | ebcoms-angle-position",
|
|
183
|
+
"desc": "名称也要挂角标(numTipsType=text 或无图标)时的 Angle 容器",
|
|
184
|
+
"children": [
|
|
185
|
+
{ "tag": "div", "class": "ebcoms-navPanel-wrapper-cardName-text [ebcoms-navPanel-wrapper-cardName-text-m]", "desc": "【名称文字本体】富文本;移动端用 -text-m。官方样式表改名称字体就是打 `.ebcoms-navPanel-wrapper-cardName .ebcoms-navPanel-wrapper-cardName-text`" },
|
|
186
|
+
{ "tag": "div", "class": "ebcoms-navPanel-wrapper-cardDesc", "desc": "描述文字(仅 showItemDesc 且 descText.nameAlias 有值;横向分组不展示)" }
|
|
187
|
+
]
|
|
188
|
+
}
|
|
189
|
+
]
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
},
|
|
193
|
+
{ "tag": "div", "class": "ebcoms-navPanel-wrapper-placeholder > ebcoms-angle > ebcoms-navPanel-wrapper-placeholder-content", "desc": "仅默认样式41(isDefault)渲染,1px 占位,用于承载 placeholder 型数字角标" },
|
|
194
|
+
{ "tag": "div", "class": "ebcoms-navPanel-wrapper-RightArrow", "desc": "右侧箭头(@weapp/ui Icon,Icon-Right-arrow01)。默认 display:none,只在部分样式/移动端列表视图下显示——写样式时常见需求就是把它打开" }
|
|
195
|
+
]
|
|
196
|
+
}
|
|
197
|
+
]
|
|
198
|
+
}
|
|
199
|
+
]
|
|
200
|
+
},
|
|
201
|
+
|
|
202
|
+
"empty": {
|
|
203
|
+
"desc": "【空状态】NavEmpty → @weapp/ui Empty,恒为 ui-empty",
|
|
204
|
+
"chain": "div.ui-empty > ( div.ui-empty-image > svg图标 ) + div.ui-empty-description",
|
|
205
|
+
"tips": "文案随场景变化(暂无数据 / 此分组下暂无菜单 / 请在设计器右侧属性面板『添加菜单』)。index.less 里 `.ebcoms-navPanel-wrapper-content-isEmpty .ui-empty` 被强制撑满居中,调空状态布局先看这条。"
|
|
206
|
+
},
|
|
207
|
+
|
|
208
|
+
"emptyCommonGroup": {
|
|
209
|
+
"desc": "【常用菜单分组在搭建态的空态】与上面的 Empty 不是同一套 DOM",
|
|
210
|
+
"chain": "div.ebcoms-navPanel-common-menus-container > div.ebcoms-navPanel-common-menus-empty > ( div.title > ui-icon + span ) + div.ebcoms-navPanel-common-menus-empty-content > div*2"
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
|
|
214
|
+
"layout": {
|
|
215
|
+
"main": {
|
|
216
|
+
"desc": "主体二选一:config.paginationDisplay=true → pagination,否则 → noGroup / group",
|
|
217
|
+
"noGroup": {
|
|
218
|
+
"when": "!enableGroup",
|
|
219
|
+
"tree": [
|
|
220
|
+
{ "ref": "shared.wrapper", "children": [
|
|
221
|
+
{ "tag": "ui-spin", "desc": "menuDataLoading 时唯一子节点" },
|
|
222
|
+
{ "ref": "shared.innerContent", "desc": "直接挂在 wrapper 下(没有 group-item 这层)" },
|
|
223
|
+
{ "ref": "shared.empty", "desc": "isEmpty 时渲染 emptyContent" }
|
|
224
|
+
] }
|
|
225
|
+
]
|
|
226
|
+
},
|
|
227
|
+
"group": {
|
|
228
|
+
"when": "enableGroup=true(为假时 content 为 null,什么都不渲染)",
|
|
229
|
+
"tag": "div",
|
|
230
|
+
"class": "ebcoms-navPanel-wrapper-group [ebcoms-navPanel-wrapper-group-empty] [ebcoms-navPanel-wrapper-group-{vertical|horizontal|newTab}] [ebcoms-navPanel-newTab] [ebcoms-navPanel-newTab-vertical] [ebcoms-navPanel-newTab-mobile] [ebcoms-navPanel-newTab-bottom] [ebcoms-navPanel-newTab-right] [ebcoms-navPanel-newTab-inDialog] [ebcoms-navPanel-newTab-emptyGroup]",
|
|
231
|
+
"desc": "⚠️ 两组类名不同源:分组模式类带 -wrapper-(ebcoms-navPanel-wrapper-group-*),而 newTab 系列类不带(ebcoms-navPanel-newTab-*)。newTab 位置类 -bottom/-right 来自选项卡组件回传的 layout;-vertical=选项卡纵向;-emptyGroup=当前分组没数据。",
|
|
232
|
+
"mode": {
|
|
233
|
+
"vertical": {
|
|
234
|
+
"desc": "【纵向分组,默认】每组一整块竖排",
|
|
235
|
+
"item": {
|
|
236
|
+
"tag": "div",
|
|
237
|
+
"class": "ebcoms-navPanel-wrapper-group-item <comId> [fromDialog]",
|
|
238
|
+
"desc": "⚠️ 这个容器上同时挂了『组件 id 作为 class』(源码模板串写死的),别当成 id 用。内部 = shared.innerContent。vertical 且 groupSplitting 开启时,组与组之间还有分隔条",
|
|
239
|
+
"children": [{ "ref": "shared.innerContent" }, { "tag": "div", "class": "ebcoms-navPanel-wrapper-group-item-split", "desc": "分隔条(background:var(--bg-base),高 20px)" }]
|
|
240
|
+
},
|
|
241
|
+
"collapse": {
|
|
242
|
+
"when": "同 vertical 且 config.collapseEnable=true —— 这时 item 层换成 Collapse",
|
|
243
|
+
"chain": "div.ui-collapse.ui-collapse--no-border.ui-collapse-group > div.ui-collapse-panel.ui-collapse-panel--has-arrow.ui-collapse-panel--active|--inactive > ( div.ui-collapse-panel__title ) + div.ui-collapse-panel__content-box.ui-collapse-panel__content",
|
|
244
|
+
"tips": "标题行里的组图标额外带 ebcoms-navPanel-wrapper-group-vertical-collapseIcon;箭头是 .ui-collapse-group-panel__arrow-right。展开态类名是 --active/--inactive(⚠️ group 模式下 active 语义被取反)"
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
"horizontal": {
|
|
248
|
+
"desc": "【横向分组】组在容器里绝对定位,left/top 由 JS 按瀑布流算(列优先),过渡 left/top 0.3s",
|
|
249
|
+
"tips": "组容器 .ebcoms-navPanel-wrapper-group-item 变成 width:140*hd 的浮动块;.ebcoms-navPanel-wrapper-content-wrapper 转成 flex-direction:column;卡片 .ebcoms-navPanel-wrapper-square 变成一行小条(flex-direction:row,无边框)。给横向分组的组块调样式优先打 .ebcoms-navPanel-wrapper-group-horizontal 限域。"
|
|
250
|
+
},
|
|
251
|
+
"newTab": {
|
|
252
|
+
"desc": "【选项卡分组】选项卡组件由引擎(@weapp/designer 的 DroppableView)挂载,id 固定为 #ebd_nav_panel,导航面板只负责把分组内容塞进去",
|
|
253
|
+
"tree": [
|
|
254
|
+
{ "tag": "div", "id": "ebd_nav_panel", "class": "ebcom ebcom-newtab ebcoms-tab-header ...", "desc": "选项卡本体(属于 tab 组件,不是本组件的类名)。改选项卡样式请用它的类名;导航面板 index.less 只依赖 `.ebcoms-tab-header.topDropdown .nav-panel-btn` 这一个选择器" },
|
|
255
|
+
{ "tag": "div", "class": "ebcoms-navPanel-wrapper-group-item", "desc": "当前激活分组的菜单内容(结构与 vertical 的 item 相同,但没有 <comId> 类)" },
|
|
256
|
+
{ "tag": "div", "class": "nav-panel-btn-tabVertical", "desc": "选项卡纵向时操作按钮的落点(见 shared.operateBtn)" }
|
|
257
|
+
]
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
|
|
264
|
+
"pagination": {
|
|
265
|
+
"when": "config.paginationDisplay=true(PagePanel 树,PC/移动端共用)",
|
|
266
|
+
"tree": [
|
|
267
|
+
{ "ref": "shared.wrapper" },
|
|
268
|
+
{
|
|
269
|
+
"tag": "div",
|
|
270
|
+
"class": "ebcoms-navPanel-wrapper-content ebcoms-navPanel-wrapper-content-page [ebcoms-navPanel-wrapper-content-notEmpty|ebcoms-navPanel-wrapper-content-isEmpty]",
|
|
271
|
+
"desc": "注意多了 -page 后缀;-page 下 .gap-style-line-wrap-page 会强制 flex-wrap:wrap",
|
|
272
|
+
"children": [
|
|
273
|
+
{ "tag": "div", "class": "ui-spin", "desc": "menuDataLoading 时的占位" },
|
|
274
|
+
{
|
|
275
|
+
"tag": "div",
|
|
276
|
+
"class": "ui-carousel ebcoms-navPanel-wrapper-content-carousel [ui-carousel-rtl]",
|
|
277
|
+
"desc": "【轮播】@weapp/ui Carousel(swiper)。分页器/箭头样式改这层里的 swiper 类",
|
|
278
|
+
"children": [
|
|
279
|
+
{
|
|
280
|
+
"tag": "div",
|
|
281
|
+
"class": "ui-carousel-swiper-content ui-carousel-swiper-{horizontal|vertical} ui-carousel-swiper-imgFill [ui-carousel-swiper-ie]",
|
|
282
|
+
"desc": "swiper 容器。⚠️ 导航面板把 .swiper-wrapper 设成 visibility:hidden,只让 .swiper-slide-active > div 可见(index.less)",
|
|
283
|
+
"children": [
|
|
284
|
+
{ "tag": "div", "class": "swiper-container > swiper-wrapper > div.swiper-slide", "desc": "一页一个 slide" },
|
|
285
|
+
{ "tag": "div", "class": "gap-style-line-wrap-nav [gap-style-line-arrow-padding]", "desc": "非默认样式41:一页的行容器;内部是 div.gap-style-line-wrap > shared.card", "children": [{ "tag": "div", "class": "gap-style-line-wrap", "children": [{ "ref": "shared.card" }] }] },
|
|
286
|
+
{ "tag": "div", "class": "gap-style-line-wrap-41 gap-style-line-wrap gap-style-line-wrap-page", "desc": "默认样式41 专用的行容器(与上面是互斥分支)", "children": [{ "ref": "shared.card" }] }
|
|
287
|
+
]
|
|
288
|
+
},
|
|
289
|
+
{ "tag": "div", "class": "ui-carousel-pagination swiper-pagination [pagination-custom-vertical]", "desc": "分页器。bullets 里每颗是 span.swiper-pagination-bullet,激活态 .swiper-pagination-active;progressbar 变体用 .swiper-pagination-bullet-carousel + .swiper-pagination-carousel-active。官方样式表改分页激活色就是打这两个激活类" },
|
|
290
|
+
{ "tag": "div", "class": "ui-carousel-swiper-button-next .swiper-button-next.swiper-button-white | ui-carousel-swiper-button-prev .swiper-button-prev.swiper-button-white", "desc": "仅 paginationType=arrow 时存在" }
|
|
291
|
+
]
|
|
292
|
+
},
|
|
293
|
+
{ "ref": "shared.empty" }
|
|
294
|
+
]
|
|
295
|
+
}
|
|
296
|
+
]
|
|
297
|
+
},
|
|
298
|
+
|
|
299
|
+
"commonMenus": {
|
|
300
|
+
"when": "config.commonMenuSwitch && showCommonMenuGroup && !menuDataLoading;searchValue 非空时整块返回 null(隐藏)",
|
|
301
|
+
"tag": "div",
|
|
302
|
+
"id": "common-menus-<comId>",
|
|
303
|
+
"class": "ebcoms-navPanel-common-menus-container",
|
|
304
|
+
"desc": "【常用菜单分组】设计态走 isDesign 分支渲染空态;预览态内嵌一个 isCommon 的 NavPanelContent —— 也就是说里面还会出现 shared.wrapper / shared.content / shared.card 的同一套类名,写选择器建议用 #common-menus-<comId> 或 .ebcoms-navPanel-common-menus-container 限域。",
|
|
305
|
+
"children": [
|
|
306
|
+
{
|
|
307
|
+
"tag": "div",
|
|
308
|
+
"class": "ebcoms-common-menus-header",
|
|
309
|
+
"desc": "仅 !commonSwitch 时出现(commonSwitch=true 表示常用菜单已并入选项卡)",
|
|
310
|
+
"children": [
|
|
311
|
+
{ "tag": "div", "class": "ebcoms-common-menus-header-title [ebcoms-common-menus-header-m-title]", "desc": "【常用菜单标题】移动端用 -m-title;官方样式表改常用菜单标题就是打这个类", "children": [{ "tag": "div", "class": "ebcoms-assets-icon | ebcoms-assets-img", "desc": "标题图标" }] },
|
|
312
|
+
{ "tag": "div", "class": "icon", "desc": "⚠️ 无前缀。设置齿轮(Icon-set-up-o),点击打开常用菜单设置弹窗" }
|
|
313
|
+
]
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"tag": "div",
|
|
317
|
+
"class": "ebcoms-common-menus-body",
|
|
318
|
+
"desc": "内部就是一套完整的导航面板(isCommon)",
|
|
319
|
+
"children": [
|
|
320
|
+
{ "ref": "shared.wrapper" },
|
|
321
|
+
{ "tag": "div", "class": "ebcoms-common-menus-body-split", "desc": "groupSplitting 开启时的分隔条" }
|
|
322
|
+
]
|
|
323
|
+
}
|
|
324
|
+
]
|
|
325
|
+
},
|
|
326
|
+
|
|
327
|
+
"personal": {
|
|
328
|
+
"when": "menuSourceType=SYSTEM_DATA_INTERFACE 且 menuSourceContent=PERSONAL 且 无导航面板样式 且 PC 且 gridLayout",
|
|
329
|
+
"tree": [
|
|
330
|
+
{ "ref": "shared.wrapper", "desc": "另外带 ebcoms-navPanel-wrapper-personal" },
|
|
331
|
+
{
|
|
332
|
+
"tag": "div",
|
|
333
|
+
"class": "ebcoms-navPanel-personal-data ebcoms-navPanel-wrapper-content",
|
|
334
|
+
"desc": "⚠️ personal-data 家族用 navPanelClsPrefix(=ebcoms-navPanel),不是 -wrapper- 系列",
|
|
335
|
+
"children": [
|
|
336
|
+
{
|
|
337
|
+
"tag": "div",
|
|
338
|
+
"class": "ebcoms-navPanel-wrapper-content-wrapper > div.ebcoms-navPanel-wrapper-customCard",
|
|
339
|
+
"desc": "复用了普通条目的 customCard 类名",
|
|
340
|
+
"children": [
|
|
341
|
+
{ "tag": "div", "class": "ui-layout-row > ui-layout-col", "desc": "@weapp/ui Layout,按模块数量 1~9 走不同栅格组合" },
|
|
342
|
+
{
|
|
343
|
+
"tag": "div",
|
|
344
|
+
"class": "ebcoms-navPanel-personal-data-single ebcoms-navPanel-wrapper-square [ebcoms-navPanel-personal-data-single-hover] [ebcoms-navPanel-personal-data-single-iconTitle]",
|
|
345
|
+
"desc": "【个人数据卡】背景色/背景图内联在这层;-iconTitle=图标+文字;-hover=悬停时才显名称",
|
|
346
|
+
"children": [
|
|
347
|
+
{ "tag": "div", "class": "ebcoms-navPanel-wrapper-square", "desc": "⚠️ 里面又套了一层同名 square" },
|
|
348
|
+
{ "tag": "div", "class": "ebcoms-navPanel-personal-data-single-name", "desc": "名称(内部 span,纯图标模式下 visibility:hidden)" },
|
|
349
|
+
{ "tag": "div", "class": "ebcoms-navPanel-personal-data-single-num", "desc": "数字(右下角绝对定位)" }
|
|
350
|
+
]
|
|
351
|
+
}
|
|
352
|
+
]
|
|
353
|
+
}
|
|
354
|
+
]
|
|
355
|
+
}
|
|
356
|
+
]
|
|
357
|
+
},
|
|
358
|
+
|
|
359
|
+
"dialogs": {
|
|
360
|
+
"moreDialog": {
|
|
361
|
+
"desc": "【更多菜单弹窗】showMoreInDialog=true 且点了更多",
|
|
362
|
+
"chain": ".ui-dialog.ebcoms-navPanel-wrapper-more-dialog.ebcom [.ebcoms-navPanel-wrapper-more-dialog-empty] > ... > div.content > ( div[nav-panel 顶部] + SyncNavPanel(fromDialog) )",
|
|
363
|
+
"tips": "⚠️ ① 弹层挂在 body,不能拿 #<comId> 当祖先选择器;② 弹窗内的内容层类名就叫 content(局部字符串,不是引擎那个全局类);③ dialogId=`<comId>-more-dialog`;④ 官方取宽度用 `.ebcoms-navPanel-wrapper-more-dialog .ui-layout-inner-container`;⑤ 标题栏里的编辑图标是 .ui-dialog-icon.navPanel-edit-icon。"
|
|
364
|
+
},
|
|
365
|
+
"editDialog": {
|
|
366
|
+
"desc": "【菜单设置/编辑弹窗】(CustomCardDialog)",
|
|
367
|
+
"chains": [
|
|
368
|
+
"弹窗态:.ui-dialog.ebcoms-navPanel-wrapper-more-edit-dialog(仅 showMore 时带此类) > ... > div.ebcoms-navPanel-wrapper-more-edit-dialog-content > div.ebcoms-navPanel-wrapper-more-edit-dialog-content-header(+ h4 分组标题) + @weapp/ui List(ui-list)",
|
|
369
|
+
"内联态(showCustomInDialog=false 且 customizeOuterBtn!=='1'):直接渲染 div.ebcoms-navPanel-wrapper-more-edit-dialog(无 ui-dialog 外壳)",
|
|
370
|
+
"空态:.ebcoms-navPanel-wrapper-more-edit-dialog-empty > ui-empty + div.ebcoms-navPanel-wrapper-more-edit-dialog-empty-create"
|
|
371
|
+
],
|
|
372
|
+
"item": ".ebcoms-navPanel-wrapper-square-dialog > .ebcoms-navPanel-wrapper-iconWrap + .ebcoms-navPanel-wrapper-iconWrap-iconname( > i.ebcoms-navPanel-wrapper-iconWrap-iconname-custom + div.ebcoms-navPanel-wrapper-iconWrap-iconname-div ) + .reduce-icon|.add-icon",
|
|
373
|
+
"tips": "非弹窗态还会出现两个无前缀类:.showCustom-notIn-Dialog-search / .showCustom-notIn-Dialog;底部『完成』类名是 .ebcoms-navPanel-wrapper-more-edit-dialog-content-content,右下角是 .ebcoms-navPanel-wrapper-bottom-right。"
|
|
374
|
+
},
|
|
375
|
+
"topOperateButtons": {
|
|
376
|
+
"desc": "【顶部操作按钮】由引擎渲染(不是本组件 DOM)。导航面板注册了 3 个自定义渲染:快捷搜索 / 更多 / 编辑菜单",
|
|
377
|
+
"chain": "span.ebcom-quick-search[-hover] > div.ebcom-quick-search-button > 按钮 + div.ebcom-quick-search-field[-show] > ui-input",
|
|
378
|
+
"tips": "⚠️ 前缀是 ebcom(引擎),不是 ebcoms。普通按钮(刷新等)是 .ebcoms-configurable-btn 体系,结构与 pageheader 的按钮一致。"
|
|
379
|
+
}
|
|
380
|
+
},
|
|
381
|
+
|
|
382
|
+
"notes": [
|
|
383
|
+
"【最容易写错的类名】① 分组模式类带 -wrapper-(ebcoms-navPanel-wrapper-group-*),而 newTab 位置类不带(ebcoms-navPanel-newTab-*);② 源码里写死、无 ebcoms- 前缀的:.nav-panel-btn-tabVertical、.common-group-edit-btn、.common-menus-header .icon、.gap-style-line-wrap、.more-icon;③ 个人数据用 ebcoms-navPanel-personal-data-*(-navPanel-),不是 ebcoms-navPanel-wrapper-personal-data;④ .header/.content/.footer 同样无前缀,但它们是引擎的层,别去本组件源码里找。",
|
|
384
|
+
"【两个同名陷阱】引擎的 .content(无前缀,组件 DOM 的容器)≠ 组件的 ebcoms-navPanel-wrapper-content(内容滚动区);引擎 .header 里的标题是 .ebcom-title,不是组件类名。",
|
|
385
|
+
"【引擎自动加的修饰类】`.content-no-padding > .content{padding:0}`(config.padding===false)、`.event-action-click > .content{cursor:pointer}`(绑了点击事件)、`.header.hide-header{height:0;min-height:0}`(折叠态,本组件不加)。查 padding 异常先确认是被 index.less 还是被 content-no-padding 命中的。",
|
|
386
|
+
"【官方样式生成器(view/getNavStyles.ts)的选择器清单】它的 CSS 全部以 `#<comId> .content ...` 限域,自写样式直接沿用同一套,可被样式面板的『自定义 CSS』吸收:普通图标 `.content .ebcoms-assets-item:not(.moreMenu):not(.customEditMenu)`;更多/编辑图标 `.ebcoms-assets-item.moreMenu` / `.customEditMenu`(含 .ui-icon .ui-icon-svg 子选择器);行 `...-wrapper-content .ebcoms-navPanel-wrapper-content-wrapper .gap-style-line-wrap`(分页行为 -nav);轮播 `...-wrapper-content-carousel`;卡片 `-wrapper-customCard .ebcoms-navPanel-wrapper-square`;图标/名称位置 `-wrapper-square-pos .ebcoms-navPanel-wrapper-square-content .ebcoms-navPanel-wrapper-iconWrap-pos|.cardName-pos`;分组标题 `-wrapper-group-title` 与 `-title-text-content`;常用菜单标题 `.ebcoms-navPanel-common-menus-container .ebcoms-common-menus-header-title`。",
|
|
387
|
+
"【分页 vs 单页】共用 wrapper / content / card 类名,差异:content 多 -page、行容器变 gap-style-line-wrap-nav(或 -41)、外套 @weapp/ui Carousel(ui-carousel / swiper-*)。改分页器颜色只用 swiper-pagination-active 与 swiper-pagination-carousel-active。",
|
|
388
|
+
"【反查源码】本组件 → view/(SyncNavPanel.tsx 分组、SyncNavPanelInnerContent.tsx 组标题+行、CustomCard.tsx 条目、PagePanel.tsx + SyncPagePanel.tsx 分页轮播、View.tsx 顶部/弹窗/底部壳、index.less)、common/CommonMenus/、personalDataCom/、design/Sync*.tsx(弹窗)、view-m/View.tsx(移动端顶部)。@weapp/ui → D:\\fwCode\\weapp-ui(empty/collapse/carousel/spin/input/menu/icon)。引擎(外壳 / header / content / footer / 标题 / 按钮 / 顶部操作按钮)→ D:\\fwCode\\weapp-ebdcoms/src/components/core/:view/createView.tsx、view/Content.tsx、design/createDesign.tsx、design/common.less、style/getBasicStyles.ts、utils/comp.ts、view/TitleIconCom/、view/operation-btns/、common/button-config/ConfigurableButton.tsx、constants/index.ts(clsPrefix=ebcoms、ebcomPrefix=ebcom)。设计器侧 id 落点 → D:\\fwCode\\weapp-designer/src/core/view/internal/Container.tsx。"
|
|
389
|
+
]
|
|
390
|
+
}
|