@luck-design-biz/luckda 0.0.23 → 0.0.24-2
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/es/components/Builder/index.js +6 -4
- package/es/components/LdFormList/index.js +1 -4
- package/es/components/LdGrid/index.js +12 -3
- package/es/lowcode/constants/api-url.js +292 -1
- package/es/lowcode/constants/event-topics.js +14 -1
- package/es/lowcode/engine/factory/panel-item-factory/DynamicStrategy.js +60 -0
- package/es/lowcode/engine/factory/panel-item-factory/GroupStrategy.js +32 -0
- package/es/lowcode/engine/factory/panel-item-factory/NumberStrategy.js +32 -0
- package/es/lowcode/engine/factory/panel-item-factory/SegmentedStrategy.js +32 -0
- package/es/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +53 -0
- package/es/lowcode/engine/factory/panel-item-factory/Strategy.js +21 -0
- package/es/lowcode/engine/factory/panel-item-factory/StringStrategy.js +51 -0
- package/es/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +42 -0
- package/es/lowcode/engine/factory/panel-item-factory/index.js +44 -0
- package/es/lowcode/engine/meta/box.props.default.json +12 -0
- package/es/lowcode/engine/meta/box.props.json +42 -0
- package/es/lowcode/engine/meta/button.props.default.json +15 -7
- package/es/lowcode/engine/meta/{components/button.json → button.props.json} +126 -103
- package/es/lowcode/engine/meta/cardlist.props.default.json +17 -9
- package/es/lowcode/engine/meta/{components/card-list.json → cardlist.props.json} +143 -142
- package/es/lowcode/engine/meta/components-list.json +127 -121
- package/es/lowcode/engine/meta/dialog.props.default.json +19 -0
- package/{lib/lowcode/engine/meta/components/modal.json → es/lowcode/engine/meta/dialog.props.json} +120 -119
- package/es/lowcode/engine/meta/drawer.props.default.json +17 -9
- package/{lib/lowcode/engine/meta/components/drawer.json → es/lowcode/engine/meta/drawer.props.json} +143 -142
- package/es/lowcode/engine/meta/form.props.default.json +12 -4
- package/{lib/lowcode/engine/meta/components/form.json → es/lowcode/engine/meta/form.props.json} +116 -115
- package/es/lowcode/engine/meta/iframe.props.default.json +10 -2
- package/es/lowcode/engine/meta/{components/iframe.json → iframe.props.json} +31 -30
- package/es/lowcode/engine/meta/image.props.default.json +15 -7
- package/es/lowcode/engine/meta/{components/image.json → image.props.json} +113 -112
- package/es/lowcode/engine/meta/imex.props.default.json +11 -3
- package/{lib/lowcode/engine/meta/components/imex.json → es/lowcode/engine/meta/imex.props.json} +81 -80
- package/es/lowcode/engine/meta/js-editor/auto-complete.json +29 -0
- package/es/lowcode/engine/meta/jsx.props.default.json +10 -1
- package/es/lowcode/engine/meta/{components/jsx.json → jsx.props.json} +24 -23
- package/es/lowcode/engine/meta/layout.props.default.json +12 -4
- package/{lib/lowcode/engine/meta/components/layout.json → es/lowcode/engine/meta/layout.props.json} +107 -106
- package/es/lowcode/engine/meta/link.props.default.json +13 -5
- package/{lib/lowcode/engine/meta/components/link.json → es/lowcode/engine/meta/link.props.json} +111 -110
- package/es/lowcode/engine/meta/section.props.default.json +16 -8
- package/{lib/lowcode/engine/meta/components/section.json → es/lowcode/engine/meta/section.props.json} +107 -106
- package/es/lowcode/engine/meta/split.props.default.json +12 -4
- package/es/lowcode/engine/meta/{components/split.json → split.props.json} +71 -70
- package/es/lowcode/engine/meta/table.props.default.json +29 -9
- package/es/lowcode/engine/meta/table.props.json +236 -0
- package/es/lowcode/engine/meta/tabs.props.default.json +17 -9
- package/es/lowcode/engine/meta/{components/tabs.json → tabs.props.json} +140 -139
- package/es/lowcode/engine/meta/text.props.default.json +11 -3
- package/{lib/lowcode/engine/meta/components/text.json → es/lowcode/engine/meta/text.props.json} +65 -64
- package/es/lowcode/engine/meta/tree.props.default.json +16 -8
- package/es/lowcode/engine/meta/{components/tree.json → tree.props.json} +156 -155
- package/es/lowcode/engine/provider/ContextProvider.js +46 -41
- package/es/lowcode/engine/provider/EventBusProvider.js +2 -2
- package/es/lowcode/engine/tools/dataProcess.js +85 -8
- package/es/lowcode/engine/tools/helper.js +68 -0
- package/es/lowcode/engine/tools/usePromiseState.js +24 -0
- package/es/lowcode/index.js +3 -1
- package/es/lowcode/painter/Design.js +40 -85
- package/es/lowcode/painter/DesignOperator.js +271 -0
- package/es/lowcode/painter/DesignToolbar.js +91 -0
- package/es/lowcode/painter/I18n.js +202 -2
- package/es/lowcode/painter/Outline.js +63 -54
- package/es/lowcode/painter/Panel.js +239 -2
- package/es/lowcode/painter/Ribbon.js +61 -55
- package/es/lowcode/painter/components/Collapse.js +90 -0
- package/es/lowcode/painter/components/ColorInput.js +125 -0
- package/es/lowcode/painter/components/ListEditor.js +89 -0
- package/es/lowcode/painter/components/NumberInput.js +148 -0
- package/es/lowcode/painter/components/PanelItem.js +83 -11
- package/es/lowcode/painter/components/PopConfirm.js +23 -0
- package/es/lowcode/painter/components/PopForm.js +71 -0
- package/es/lowcode/painter/components/RuleInput.js +9 -7
- package/es/lowcode/painter/components/SortBox.js +92 -0
- package/es/lowcode/painter/components/actions-editor/ActionEditor.js +147 -0
- package/es/lowcode/painter/components/actions-editor/index.js +170 -0
- package/es/lowcode/painter/components/code-editor/BaseEditor.js +96 -0
- package/es/lowcode/painter/components/code-editor/CssEditor.js +41 -0
- package/es/lowcode/painter/components/code-editor/FullScreenEditor.js +87 -0
- package/es/lowcode/painter/components/code-editor/JSEditor.js +106 -0
- package/es/lowcode/painter/components/code-editor/index.js +2 -0
- package/es/lowcode/painter/index.js +33 -3
- package/es/lowcode/painter/panel-section/ButtonType.js +39 -0
- package/es/lowcode/painter/panel-section/DataSetSelector.js +61 -0
- package/es/lowcode/painter/panel-section/Icon.js +48 -0
- package/es/lowcode/painter/panel-section/IconSelector.js +134 -0
- package/es/lowcode/painter/panel-section/LayoutRatio.js +57 -49
- package/es/lowcode/painter/panel-section/StylePanel/BackGround.js +61 -0
- package/es/lowcode/painter/panel-section/StylePanel/Border.js +150 -0
- package/es/lowcode/painter/panel-section/StylePanel/BorderRadius.js +87 -0
- package/es/lowcode/painter/panel-section/StylePanel/BorderRadiusSelector.js +66 -0
- package/es/lowcode/painter/panel-section/StylePanel/BorderSelector.js +66 -0
- package/es/lowcode/painter/panel-section/StylePanel/Display.js +296 -0
- package/es/lowcode/painter/panel-section/StylePanel/DisplaySvg.js +543 -0
- package/es/lowcode/painter/panel-section/StylePanel/Font.js +162 -0
- package/es/lowcode/painter/panel-section/StylePanel/FontEditor.js +386 -0
- package/es/lowcode/painter/panel-section/StylePanel/GapSelector.js +78 -0
- package/es/lowcode/painter/panel-section/StylePanel/HighLightPanel.js +23 -0
- package/es/lowcode/painter/panel-section/StylePanel/HighLigthtSpan.js +20 -0
- package/es/lowcode/painter/panel-section/StylePanel/HightLightSvg.js +23 -0
- package/es/lowcode/painter/panel-section/StylePanel/MainPanel.js +96 -0
- package/es/lowcode/painter/panel-section/StylePanel/Margin.js +60 -0
- package/es/lowcode/painter/panel-section/StylePanel/Opacity.js +50 -0
- package/es/lowcode/painter/panel-section/StylePanel/Padding.js +61 -0
- package/es/lowcode/painter/panel-section/StylePanel/Pointer.js +41 -0
- package/es/lowcode/painter/panel-section/StylePanel/Shadow.js +216 -0
- package/es/lowcode/painter/panel-section/StylePanel/Size.js +53 -0
- package/es/lowcode/painter/panel-section/StylePanel/StyleContext.js +148 -0
- package/es/lowcode/painter/panel-section/StylePanel/StyleRow.js +16 -0
- package/es/lowcode/painter/panel-section/StylePanel/WidthHeight.js +51 -0
- package/es/lowcode/painter/panel-section/StylePanel/index.js +29 -0
- package/es/lowcode/painter/panel-section/TabItems.js +207 -0
- package/es/lowcode/painter/panel-section/TableActions.js +19 -0
- package/es/lowcode/painter/panel-section/TableZebra.js +14 -0
- package/es/lowcode/painter/panel-section/WidthHeight.js +39 -0
- package/es/lowcode/painter/services/I18n.js +85 -0
- package/es/lowcode/painter/style/actions-editor.less +16 -0
- package/es/lowcode/painter/style/border-editor.less +36 -0
- package/es/lowcode/painter/style/border-radius-selector.less +43 -0
- package/es/lowcode/painter/style/border-selector.less +40 -0
- package/es/lowcode/painter/style/button-type.less +5 -0
- package/es/lowcode/painter/style/collapse.less +22 -0
- package/es/lowcode/painter/style/color-input.less +19 -0
- package/es/lowcode/painter/style/design.less +116 -5
- package/es/lowcode/painter/style/display.less +17 -0
- package/es/lowcode/painter/style/font-editor.less +9 -0
- package/es/lowcode/painter/style/fullscreen-editor.less +17 -0
- package/es/lowcode/painter/style/icon-selector.less +22 -0
- package/es/lowcode/painter/style/icon.less +11 -0
- package/es/lowcode/painter/style/index.less +0 -1
- package/es/lowcode/painter/style/layout-ratio.less +1 -1
- package/es/lowcode/painter/style/list-editor.less +59 -0
- package/es/lowcode/painter/style/number-input.less +17 -0
- package/es/lowcode/painter/style/outline.less +2 -0
- package/es/lowcode/painter/style/panel-item.less +45 -12
- package/es/lowcode/painter/style/panel.less +124 -0
- package/es/lowcode/painter/style/pop-confirm.less +10 -0
- package/es/lowcode/painter/style/pop-form.less +20 -0
- package/es/lowcode/painter/style/ribbon.less +1 -0
- package/es/lowcode/painter/style/style-panel.less +37 -0
- package/es/lowcode/painter/style/tabitems.less +90 -0
- package/es/lowcode/view/Canvas.js +79 -70
- package/es/lowcode/view/Page.js +10 -28
- package/es/lowcode/view/index.js +5 -6
- package/es/lowcode/view/lc-components/Box/FunctionDesign.js +20 -0
- package/es/lowcode/view/lc-components/Box/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/Box/index.js +22 -5
- package/es/lowcode/view/lc-components/Box/index.less +15 -0
- package/es/lowcode/view/lc-components/Box/meta.json +42 -0
- package/es/lowcode/view/lc-components/Button/FunctionDesign.js +21 -0
- package/es/lowcode/view/lc-components/Button/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/Button/index.js +75 -7
- package/es/lowcode/view/lc-components/Button/meta.json +127 -0
- package/es/lowcode/view/lc-components/Button/style.less +3 -0
- package/es/lowcode/view/lc-components/CardList/FunctionDesign.js +9 -0
- package/es/lowcode/view/lc-components/CardList/FunctionLive.js +9 -0
- package/{lib/lowcode/engine/meta/components/table.json → es/lowcode/view/lc-components/CardList/meta.json} +11 -28
- package/es/lowcode/view/lc-components/Dialog/FunctionDesign.js +54 -0
- package/es/lowcode/view/lc-components/Dialog/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/Dialog/index.js +20 -11
- package/es/lowcode/view/lc-components/Dialog/index.less +1 -1
- package/es/lowcode/view/lc-components/Dialog/meta.json +121 -0
- package/es/lowcode/view/lc-components/Drawer/FunctionDesign.js +20 -0
- package/es/lowcode/view/lc-components/Drawer/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/Drawer/index.js +22 -9
- package/es/lowcode/view/lc-components/Drawer/index.less +7 -0
- package/es/lowcode/view/lc-components/Drawer/meta.json +144 -0
- package/es/lowcode/view/lc-components/Form/FunctionDesign.js +9 -0
- package/es/lowcode/view/lc-components/Form/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/Form/meta.json +117 -0
- package/es/lowcode/view/lc-components/Iframe/FunctionDesign.js +9 -0
- package/es/lowcode/view/lc-components/Iframe/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/Iframe/meta.json +32 -0
- package/es/lowcode/view/lc-components/ImEx/FunctionDesign.js +9 -0
- package/es/lowcode/view/lc-components/ImEx/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/ImEx/meta.json +82 -0
- package/es/lowcode/view/lc-components/Image/FunctionDesign.js +9 -0
- package/es/lowcode/view/lc-components/Image/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/Image/meta.json +114 -0
- package/es/lowcode/view/lc-components/JSX/FunctionDesign.js +9 -0
- package/es/lowcode/view/lc-components/JSX/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/JSX/meta.json +25 -0
- package/es/lowcode/view/lc-components/Layout/FunctionDesign.js +75 -0
- package/es/lowcode/view/lc-components/Layout/FunctionLive.js +15 -0
- package/es/lowcode/view/lc-components/Layout/index.js +40 -7
- package/es/lowcode/view/lc-components/Layout/index.less +5 -0
- package/es/lowcode/view/lc-components/Layout/meta.json +108 -0
- package/es/lowcode/view/lc-components/Link/FunctionDesign.js +9 -0
- package/es/lowcode/view/lc-components/Link/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/Link/meta.json +112 -0
- package/es/lowcode/view/lc-components/Section/FunctionDesign.js +9 -0
- package/es/lowcode/view/lc-components/Section/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/Section/meta.json +108 -0
- package/es/lowcode/view/lc-components/Split/FunctionDesign.js +9 -0
- package/es/lowcode/view/lc-components/Split/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/Split/meta.json +72 -0
- package/es/lowcode/view/lc-components/Table/FunctionDesign.js +18 -0
- package/es/lowcode/view/lc-components/Table/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/Table/index.js +229 -9
- package/es/lowcode/view/lc-components/Table/meta.json +225 -0
- package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +9 -0
- package/es/lowcode/view/lc-components/Tabs/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/Tabs/meta.json +141 -0
- package/es/lowcode/view/lc-components/Text/FunctionDesign.js +9 -0
- package/es/lowcode/view/lc-components/Text/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/Text/meta.json +66 -0
- package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +9 -0
- package/es/lowcode/view/lc-components/Tree/FunctionLive.js +9 -0
- package/es/lowcode/view/lc-components/Tree/meta.json +157 -0
- package/es/lowcode/view/lc-components/Wrapper.js +32 -23
- package/es/lowcode/view/style/page.less +0 -1
- package/es/upload/Form/gridForm.js +1 -1
- package/es/utils/grid.js +4 -3
- package/lib/components/Builder/index.js +5 -3
- package/lib/components/LdFormList/index.js +1 -5
- package/lib/components/LdGrid/index.js +12 -3
- package/lib/lowcode/constants/api-url.js +294 -2
- package/lib/lowcode/constants/event-topics.js +15 -2
- package/lib/lowcode/engine/factory/panel-item-factory/DynamicStrategy.js +73 -0
- package/lib/lowcode/engine/factory/panel-item-factory/GroupStrategy.js +38 -0
- package/lib/lowcode/engine/factory/panel-item-factory/NumberStrategy.js +38 -0
- package/lib/lowcode/engine/factory/panel-item-factory/SegmentedStrategy.js +38 -0
- package/lib/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +59 -0
- package/lib/lowcode/engine/factory/panel-item-factory/Strategy.js +27 -0
- package/lib/lowcode/engine/factory/panel-item-factory/StringStrategy.js +57 -0
- package/lib/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +48 -0
- package/lib/lowcode/engine/factory/panel-item-factory/index.js +50 -0
- package/lib/lowcode/engine/meta/box.props.default.json +12 -0
- package/lib/lowcode/engine/meta/box.props.json +42 -0
- package/lib/lowcode/engine/meta/button.props.default.json +15 -7
- package/lib/lowcode/engine/meta/{components/button.json → button.props.json} +126 -103
- package/lib/lowcode/engine/meta/cardlist.props.default.json +17 -9
- package/lib/lowcode/engine/meta/{components/card-list.json → cardlist.props.json} +143 -142
- package/lib/lowcode/engine/meta/components-list.json +127 -121
- package/lib/lowcode/engine/meta/dialog.props.default.json +19 -0
- package/{es/lowcode/engine/meta/components/modal.json → lib/lowcode/engine/meta/dialog.props.json} +120 -119
- package/lib/lowcode/engine/meta/drawer.props.default.json +17 -9
- package/{es/lowcode/engine/meta/components/drawer.json → lib/lowcode/engine/meta/drawer.props.json} +143 -142
- package/lib/lowcode/engine/meta/form.props.default.json +12 -4
- package/{es/lowcode/engine/meta/components/form.json → lib/lowcode/engine/meta/form.props.json} +116 -115
- package/lib/lowcode/engine/meta/iframe.props.default.json +10 -2
- package/lib/lowcode/engine/meta/{components/iframe.json → iframe.props.json} +31 -30
- package/lib/lowcode/engine/meta/image.props.default.json +15 -7
- package/lib/lowcode/engine/meta/{components/image.json → image.props.json} +113 -112
- package/lib/lowcode/engine/meta/imex.props.default.json +11 -3
- package/{es/lowcode/engine/meta/components/imex.json → lib/lowcode/engine/meta/imex.props.json} +81 -80
- package/lib/lowcode/engine/meta/js-editor/auto-complete.json +29 -0
- package/lib/lowcode/engine/meta/jsx.props.default.json +10 -1
- package/lib/lowcode/engine/meta/{components/jsx.json → jsx.props.json} +24 -23
- package/lib/lowcode/engine/meta/layout.props.default.json +12 -4
- package/{es/lowcode/engine/meta/components/layout.json → lib/lowcode/engine/meta/layout.props.json} +107 -106
- package/lib/lowcode/engine/meta/link.props.default.json +13 -5
- package/{es/lowcode/engine/meta/components/link.json → lib/lowcode/engine/meta/link.props.json} +111 -110
- package/lib/lowcode/engine/meta/section.props.default.json +16 -8
- package/{es/lowcode/engine/meta/components/section.json → lib/lowcode/engine/meta/section.props.json} +107 -106
- package/lib/lowcode/engine/meta/split.props.default.json +12 -4
- package/lib/lowcode/engine/meta/{components/split.json → split.props.json} +71 -70
- package/lib/lowcode/engine/meta/table.props.default.json +29 -9
- package/lib/lowcode/engine/meta/table.props.json +236 -0
- package/lib/lowcode/engine/meta/tabs.props.default.json +17 -9
- package/lib/lowcode/engine/meta/{components/tabs.json → tabs.props.json} +140 -139
- package/lib/lowcode/engine/meta/text.props.default.json +11 -3
- package/{es/lowcode/engine/meta/components/text.json → lib/lowcode/engine/meta/text.props.json} +65 -64
- package/lib/lowcode/engine/meta/tree.props.default.json +16 -8
- package/lib/lowcode/engine/meta/{components/tree.json → tree.props.json} +156 -155
- package/lib/lowcode/engine/provider/ContextProvider.js +46 -41
- package/lib/lowcode/engine/provider/EventBusProvider.js +2 -2
- package/lib/lowcode/engine/tools/dataProcess.js +86 -8
- package/lib/lowcode/engine/tools/helper.js +70 -0
- package/lib/lowcode/engine/tools/usePromiseState.js +31 -0
- package/lib/lowcode/index.js +5 -1
- package/lib/lowcode/painter/Design.js +39 -84
- package/lib/lowcode/painter/DesignOperator.js +278 -0
- package/lib/lowcode/painter/DesignToolbar.js +99 -0
- package/lib/lowcode/painter/I18n.js +203 -2
- package/lib/lowcode/painter/Outline.js +62 -53
- package/lib/lowcode/painter/Panel.js +238 -1
- package/lib/lowcode/painter/Ribbon.js +63 -64
- package/lib/lowcode/painter/components/Collapse.js +97 -0
- package/lib/lowcode/painter/components/ColorInput.js +132 -0
- package/lib/lowcode/painter/components/ListEditor.js +95 -0
- package/lib/lowcode/painter/components/NumberInput.js +155 -0
- package/lib/lowcode/painter/components/PanelItem.js +84 -11
- package/lib/lowcode/painter/components/PopConfirm.js +29 -0
- package/lib/lowcode/painter/components/PopForm.js +77 -0
- package/lib/lowcode/painter/components/RuleInput.js +9 -7
- package/lib/lowcode/painter/components/SortBox.js +99 -0
- package/lib/lowcode/painter/components/actions-editor/ActionEditor.js +155 -0
- package/lib/lowcode/painter/components/actions-editor/index.js +178 -0
- package/lib/lowcode/painter/components/code-editor/BaseEditor.js +103 -0
- package/lib/lowcode/painter/components/code-editor/CssEditor.js +48 -0
- package/lib/lowcode/painter/components/code-editor/FullScreenEditor.js +94 -0
- package/lib/lowcode/painter/components/code-editor/JSEditor.js +117 -0
- package/lib/lowcode/painter/components/code-editor/index.js +20 -0
- package/lib/lowcode/painter/index.js +35 -3
- package/lib/lowcode/painter/panel-section/ButtonType.js +46 -0
- package/lib/lowcode/painter/panel-section/DataSetSelector.js +69 -0
- package/lib/lowcode/painter/panel-section/Icon.js +54 -0
- package/lib/lowcode/painter/panel-section/IconSelector.js +141 -0
- package/lib/lowcode/painter/panel-section/LayoutRatio.js +56 -48
- package/lib/lowcode/painter/panel-section/StylePanel/BackGround.js +68 -0
- package/lib/lowcode/painter/panel-section/StylePanel/Border.js +158 -0
- package/lib/lowcode/painter/panel-section/StylePanel/BorderRadius.js +95 -0
- package/lib/lowcode/painter/panel-section/StylePanel/BorderRadiusSelector.js +73 -0
- package/lib/lowcode/painter/panel-section/StylePanel/BorderSelector.js +73 -0
- package/lib/lowcode/painter/panel-section/StylePanel/Display.js +303 -0
- package/lib/lowcode/painter/panel-section/StylePanel/DisplaySvg.js +550 -0
- package/lib/lowcode/painter/panel-section/StylePanel/Font.js +170 -0
- package/lib/lowcode/painter/panel-section/StylePanel/FontEditor.js +392 -0
- package/lib/lowcode/painter/panel-section/StylePanel/GapSelector.js +85 -0
- package/lib/lowcode/painter/panel-section/StylePanel/HighLightPanel.js +29 -0
- package/lib/lowcode/painter/panel-section/StylePanel/HighLigthtSpan.js +26 -0
- package/lib/lowcode/painter/panel-section/StylePanel/HightLightSvg.js +29 -0
- package/lib/lowcode/painter/panel-section/StylePanel/MainPanel.js +103 -0
- package/lib/lowcode/painter/panel-section/StylePanel/Margin.js +67 -0
- package/lib/lowcode/painter/panel-section/StylePanel/Opacity.js +57 -0
- package/lib/lowcode/painter/panel-section/StylePanel/Padding.js +68 -0
- package/lib/lowcode/painter/panel-section/StylePanel/Pointer.js +48 -0
- package/lib/lowcode/painter/panel-section/StylePanel/Shadow.js +224 -0
- package/lib/lowcode/painter/panel-section/StylePanel/Size.js +59 -0
- package/lib/lowcode/painter/panel-section/StylePanel/StyleContext.js +159 -0
- package/lib/lowcode/painter/panel-section/StylePanel/StyleRow.js +22 -0
- package/lib/lowcode/painter/panel-section/StylePanel/WidthHeight.js +58 -0
- package/lib/lowcode/painter/panel-section/StylePanel/index.js +35 -0
- package/lib/lowcode/painter/panel-section/TabItems.js +215 -0
- package/lib/lowcode/painter/panel-section/TableActions.js +26 -0
- package/lib/lowcode/painter/panel-section/TableZebra.js +21 -0
- package/lib/lowcode/painter/panel-section/WidthHeight.js +46 -0
- package/lib/lowcode/painter/services/I18n.js +95 -0
- package/lib/lowcode/painter/style/actions-editor.less +16 -0
- package/lib/lowcode/painter/style/border-editor.less +36 -0
- package/lib/lowcode/painter/style/border-radius-selector.less +43 -0
- package/lib/lowcode/painter/style/border-selector.less +40 -0
- package/lib/lowcode/painter/style/button-type.less +5 -0
- package/lib/lowcode/painter/style/collapse.less +22 -0
- package/lib/lowcode/painter/style/color-input.less +19 -0
- package/lib/lowcode/painter/style/design.less +116 -5
- package/lib/lowcode/painter/style/display.less +17 -0
- package/lib/lowcode/painter/style/font-editor.less +9 -0
- package/lib/lowcode/painter/style/fullscreen-editor.less +17 -0
- package/lib/lowcode/painter/style/icon-selector.less +22 -0
- package/lib/lowcode/painter/style/icon.less +11 -0
- package/lib/lowcode/painter/style/index.less +0 -1
- package/lib/lowcode/painter/style/layout-ratio.less +1 -1
- package/lib/lowcode/painter/style/list-editor.less +59 -0
- package/lib/lowcode/painter/style/number-input.less +17 -0
- package/lib/lowcode/painter/style/outline.less +2 -0
- package/lib/lowcode/painter/style/panel-item.less +45 -12
- package/lib/lowcode/painter/style/panel.less +124 -0
- package/lib/lowcode/painter/style/pop-confirm.less +10 -0
- package/lib/lowcode/painter/style/pop-form.less +20 -0
- package/lib/lowcode/painter/style/ribbon.less +1 -0
- package/lib/lowcode/painter/style/style-panel.less +37 -0
- package/lib/lowcode/painter/style/tabitems.less +90 -0
- package/lib/lowcode/view/Canvas.js +84 -75
- package/lib/lowcode/view/Page.js +9 -27
- package/lib/lowcode/view/index.js +5 -6
- package/lib/lowcode/view/lc-components/Box/FunctionDesign.js +27 -0
- package/lib/lowcode/view/lc-components/Box/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/Box/index.js +23 -6
- package/lib/lowcode/view/lc-components/Box/index.less +15 -0
- package/lib/lowcode/view/lc-components/Box/meta.json +42 -0
- package/lib/lowcode/view/lc-components/Button/FunctionDesign.js +28 -0
- package/lib/lowcode/view/lc-components/Button/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/Button/index.js +76 -8
- package/lib/lowcode/view/lc-components/Button/meta.json +127 -0
- package/lib/lowcode/view/lc-components/Button/style.less +3 -0
- package/lib/lowcode/view/lc-components/CardList/FunctionDesign.js +16 -0
- package/lib/lowcode/view/lc-components/CardList/FunctionLive.js +16 -0
- package/{es/lowcode/engine/meta/components/table.json → lib/lowcode/view/lc-components/CardList/meta.json} +11 -28
- package/lib/lowcode/view/lc-components/Dialog/FunctionDesign.js +62 -0
- package/lib/lowcode/view/lc-components/Dialog/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/Dialog/index.js +20 -11
- package/lib/lowcode/view/lc-components/Dialog/index.less +1 -1
- package/lib/lowcode/view/lc-components/Dialog/meta.json +121 -0
- package/lib/lowcode/view/lc-components/Drawer/FunctionDesign.js +27 -0
- package/lib/lowcode/view/lc-components/Drawer/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/Drawer/index.js +22 -9
- package/lib/lowcode/view/lc-components/Drawer/index.less +7 -0
- package/lib/lowcode/view/lc-components/Drawer/meta.json +144 -0
- package/lib/lowcode/view/lc-components/Form/FunctionDesign.js +16 -0
- package/lib/lowcode/view/lc-components/Form/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/Form/meta.json +117 -0
- package/lib/lowcode/view/lc-components/Iframe/FunctionDesign.js +16 -0
- package/lib/lowcode/view/lc-components/Iframe/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/Iframe/meta.json +32 -0
- package/lib/lowcode/view/lc-components/ImEx/FunctionDesign.js +16 -0
- package/lib/lowcode/view/lc-components/ImEx/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/ImEx/meta.json +82 -0
- package/lib/lowcode/view/lc-components/Image/FunctionDesign.js +16 -0
- package/lib/lowcode/view/lc-components/Image/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/Image/meta.json +114 -0
- package/lib/lowcode/view/lc-components/JSX/FunctionDesign.js +16 -0
- package/lib/lowcode/view/lc-components/JSX/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/JSX/meta.json +25 -0
- package/lib/lowcode/view/lc-components/Layout/FunctionDesign.js +82 -0
- package/lib/lowcode/view/lc-components/Layout/FunctionLive.js +22 -0
- package/lib/lowcode/view/lc-components/Layout/index.js +41 -8
- package/lib/lowcode/view/lc-components/Layout/index.less +5 -0
- package/lib/lowcode/view/lc-components/Layout/meta.json +108 -0
- package/lib/lowcode/view/lc-components/Link/FunctionDesign.js +16 -0
- package/lib/lowcode/view/lc-components/Link/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/Link/meta.json +112 -0
- package/lib/lowcode/view/lc-components/Section/FunctionDesign.js +16 -0
- package/lib/lowcode/view/lc-components/Section/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/Section/meta.json +108 -0
- package/lib/lowcode/view/lc-components/Split/FunctionDesign.js +16 -0
- package/lib/lowcode/view/lc-components/Split/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/Split/meta.json +72 -0
- package/lib/lowcode/view/lc-components/Table/FunctionDesign.js +25 -0
- package/lib/lowcode/view/lc-components/Table/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/Table/index.js +228 -8
- package/lib/lowcode/view/lc-components/Table/meta.json +225 -0
- package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +16 -0
- package/lib/lowcode/view/lc-components/Tabs/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/Tabs/meta.json +141 -0
- package/lib/lowcode/view/lc-components/Text/FunctionDesign.js +16 -0
- package/lib/lowcode/view/lc-components/Text/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/Text/meta.json +66 -0
- package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +16 -0
- package/lib/lowcode/view/lc-components/Tree/FunctionLive.js +16 -0
- package/lib/lowcode/view/lc-components/Tree/meta.json +157 -0
- package/lib/lowcode/view/lc-components/Wrapper.js +30 -21
- package/lib/lowcode/view/style/page.less +0 -1
- package/lib/upload/Form/gridForm.js +1 -1
- package/lib/utils/grid.js +6 -5
- package/package.json +15 -6
- package/es/lowcode/engine/meta/modal.props.default.json +0 -11
- package/es/lowcode/engine/tools/lcid.js +0 -16
- package/es/lowcode/painter/panel-section/Radio.js +0 -58
- package/lib/lowcode/engine/meta/modal.props.default.json +0 -11
- package/lib/lowcode/engine/tools/lcid.js +0 -22
- package/lib/lowcode/painter/panel-section/Radio.js +0 -65
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
1
2
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
3
|
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
3
4
|
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
4
5
|
import * as LZString from 'lz-string';
|
|
6
|
+
import { CELL_KEY } from "../../constants";
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
9
|
* 数据压缩
|
|
@@ -12,7 +14,7 @@ export function compress(data) {
|
|
|
12
14
|
// 将对象转换为JSON字符串
|
|
13
15
|
var jsonString = JSON.stringify(data);
|
|
14
16
|
// 使用LZ-String压缩JSON字符串
|
|
15
|
-
return LZString.
|
|
17
|
+
return LZString.compressToBase64(jsonString);
|
|
16
18
|
}
|
|
17
19
|
|
|
18
20
|
/**
|
|
@@ -22,7 +24,7 @@ export function compress(data) {
|
|
|
22
24
|
*/
|
|
23
25
|
export function decompress(compressedData) {
|
|
24
26
|
// 使用LZ-String解压数据
|
|
25
|
-
var jsonString = LZString.
|
|
27
|
+
var jsonString = LZString.decompressFromBase64(compressedData);
|
|
26
28
|
// 将JSON字符串转换回对象
|
|
27
29
|
return JSON.parse(jsonString);
|
|
28
30
|
}
|
|
@@ -37,6 +39,12 @@ export function decompress(compressedData) {
|
|
|
37
39
|
*/
|
|
38
40
|
export function findNodeAndParent(id, current) {
|
|
39
41
|
var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
42
|
+
if (!parent && current.props.id === id) {
|
|
43
|
+
return {
|
|
44
|
+
node: current,
|
|
45
|
+
parent: null
|
|
46
|
+
};
|
|
47
|
+
}
|
|
40
48
|
if (current.hasOwnProperty('children') && current.children.includes(id)) {
|
|
41
49
|
return {
|
|
42
50
|
node: current[id],
|
|
@@ -44,7 +52,7 @@ export function findNodeAndParent(id, current) {
|
|
|
44
52
|
};
|
|
45
53
|
}
|
|
46
54
|
for (var key in current) {
|
|
47
|
-
if (current[key] && _typeof(current[key]) === 'object' && key !== 'props') {
|
|
55
|
+
if (current[key] && _typeof(current[key]) === 'object' && key !== 'props' && key !== 'children') {
|
|
48
56
|
var result = findNodeAndParent(id, current[key], current);
|
|
49
57
|
if (result.node) {
|
|
50
58
|
return result;
|
|
@@ -98,7 +106,7 @@ function process(json, path, id, data) {
|
|
|
98
106
|
current[id] = {
|
|
99
107
|
props: _objectSpread(_objectSpread({}, data), {}, {
|
|
100
108
|
id: id,
|
|
101
|
-
parentId: current.id
|
|
109
|
+
parentId: current.props.id
|
|
102
110
|
})
|
|
103
111
|
};
|
|
104
112
|
} else if (!path && id && data) {
|
|
@@ -133,12 +141,12 @@ function process(json, path, id, data) {
|
|
|
133
141
|
* 对指定的JSON结构进行节点的添加操作。
|
|
134
142
|
*
|
|
135
143
|
* @param {Object} json - 要操作的JSON对象。
|
|
136
|
-
* @param {string
|
|
144
|
+
* @param {string} parentId - 父节点的唯一标识符。
|
|
137
145
|
* @param {string} id - 操作节点的唯一标识符。
|
|
138
146
|
* @param {Object|null} data - 要添加或修改的数据。如果为null,表示删除操作。
|
|
139
147
|
*/
|
|
140
|
-
export function add(json,
|
|
141
|
-
process(json,
|
|
148
|
+
export function add(json, parentId, id, data) {
|
|
149
|
+
process(json, getPathById(json, parentId), id, data);
|
|
142
150
|
}
|
|
143
151
|
|
|
144
152
|
/**
|
|
@@ -153,7 +161,7 @@ export function modifyById(json, id, data) {
|
|
|
153
161
|
}
|
|
154
162
|
|
|
155
163
|
/**
|
|
156
|
-
*
|
|
164
|
+
* 删除指定id的节点。
|
|
157
165
|
*
|
|
158
166
|
* @param {Object} json - JSON对象。
|
|
159
167
|
* @param {string} id - 要删除的节点ID。
|
|
@@ -173,6 +181,7 @@ export function deleteById(json, id) {
|
|
|
173
181
|
export function getPathById(json, id) {
|
|
174
182
|
var currentPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
175
183
|
for (var key in json) {
|
|
184
|
+
if (id === CELL_KEY.PAGE_ROOT) return '/';
|
|
176
185
|
var newPath = currentPath ? "".concat(currentPath, "/").concat(key) : key;
|
|
177
186
|
if (json[key].props && json[key].props.id === id) {
|
|
178
187
|
return newPath;
|
|
@@ -185,4 +194,72 @@ export function getPathById(json, id) {
|
|
|
185
194
|
}
|
|
186
195
|
}
|
|
187
196
|
return null;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* 在给定的JSON结构中搜索具有特定id的节点,并返回包含该节点及其所有父节点的props属性的路径数组。
|
|
201
|
+
*
|
|
202
|
+
* @param {Object} data - 待搜索的JSON对象,它代表了一个复杂的树状结构,每个节点都可能有props和children属性。
|
|
203
|
+
* @param {string} targetId - 需要找到的目标节点的id。
|
|
204
|
+
* @returns {Array<Object>} 一个包含目标节点及其所有父节点的props属性的数组。如果未找到目标节点,则返回空数组。
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* const data = {
|
|
208
|
+
* props: {
|
|
209
|
+
* id: 'page_root',
|
|
210
|
+
* type: 'Page',
|
|
211
|
+
* name: '页面',
|
|
212
|
+
* hasHeder: true,
|
|
213
|
+
* hasFooter: true,
|
|
214
|
+
* },
|
|
215
|
+
* // ...其他节点
|
|
216
|
+
* };
|
|
217
|
+
*
|
|
218
|
+
* const path = getPathNodesById(data, 'form_jknbjkun');
|
|
219
|
+
* console.log(path);
|
|
220
|
+
* // 输出目标节点及其所有父节点的props属性的数组
|
|
221
|
+
*/
|
|
222
|
+
export function getPathNodesById(data, targetId) {
|
|
223
|
+
// 初始化结果数组
|
|
224
|
+
var result = [];
|
|
225
|
+
|
|
226
|
+
// 定义递归函数以搜索路径
|
|
227
|
+
function search(node) {
|
|
228
|
+
var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
229
|
+
// 检查当前节点是否是目标节点
|
|
230
|
+
if (node && node.props && node.props.id === targetId) {
|
|
231
|
+
// 如果是,将当前路径和节点自身添加到结果中
|
|
232
|
+
result = [].concat(_toConsumableArray(path), [node.props]);
|
|
233
|
+
return true;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// 遍历子节点
|
|
237
|
+
if (node && node.children) {
|
|
238
|
+
var _iterator2 = _createForOfIteratorHelper(node.children),
|
|
239
|
+
_step2;
|
|
240
|
+
try {
|
|
241
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
242
|
+
var childId = _step2.value;
|
|
243
|
+
// 对每个子节点,首先尝试从当前节点获取子节点数据
|
|
244
|
+
var childNode = node[childId];
|
|
245
|
+
if (search(childNode, [].concat(_toConsumableArray(path), [node.props]))) {
|
|
246
|
+
return true;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
} catch (err) {
|
|
250
|
+
_iterator2.e(err);
|
|
251
|
+
} finally {
|
|
252
|
+
_iterator2.f();
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return false;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
// 从顶层"data"对象开始搜索
|
|
259
|
+
if (search(data)) {
|
|
260
|
+
return result;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
// 如果未找到目标节点,返回空数组
|
|
264
|
+
return [];
|
|
188
265
|
}
|
|
@@ -1,4 +1,72 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
1
3
|
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
4
|
+
import { omit } from 'lodash';
|
|
2
5
|
export function isPromise(value) {
|
|
3
6
|
return !!value && _typeof(value) === 'object' && typeof value.then === 'function';
|
|
7
|
+
}
|
|
8
|
+
export function omitBadProps(props) {
|
|
9
|
+
var rubbish = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
10
|
+
return omit(props, ['component', 'name', 'desc', 'icon', 'group', 'groupName', 'order'].concat(_toConsumableArray(rubbish)));
|
|
11
|
+
}
|
|
12
|
+
export function listReducer(state, action) {
|
|
13
|
+
switch (action.type) {
|
|
14
|
+
case 'add':
|
|
15
|
+
{
|
|
16
|
+
var _action$callback;
|
|
17
|
+
var newState = [].concat(_toConsumableArray(state), [action.payload]);
|
|
18
|
+
(_action$callback = action.callback) === null || _action$callback === void 0 || _action$callback.call(action, newState);
|
|
19
|
+
return newState;
|
|
20
|
+
}
|
|
21
|
+
case 'delete':
|
|
22
|
+
{
|
|
23
|
+
var _action$callback2;
|
|
24
|
+
var _newState = state.filter(function (item) {
|
|
25
|
+
return item.id !== action.payload;
|
|
26
|
+
});
|
|
27
|
+
(_action$callback2 = action.callback) === null || _action$callback2 === void 0 || _action$callback2.call(action, _newState);
|
|
28
|
+
return _newState;
|
|
29
|
+
}
|
|
30
|
+
case 'edit':
|
|
31
|
+
{
|
|
32
|
+
var _action$callback3;
|
|
33
|
+
var _newState2 = state.map(function (item) {
|
|
34
|
+
return item.id === action.payload.id ? _objectSpread(_objectSpread({}, item), action.payload.data) : item;
|
|
35
|
+
});
|
|
36
|
+
(_action$callback3 = action.callback) === null || _action$callback3 === void 0 || _action$callback3.call(action, _newState2);
|
|
37
|
+
return _newState2;
|
|
38
|
+
}
|
|
39
|
+
case 'active':
|
|
40
|
+
{
|
|
41
|
+
var _action$callback4;
|
|
42
|
+
var _newState3 = state.map(function (item) {
|
|
43
|
+
item.active = false;
|
|
44
|
+
return item.id === action.payload.id ? _objectSpread(_objectSpread({}, item), action.payload.data) : item;
|
|
45
|
+
});
|
|
46
|
+
(_action$callback4 = action.callback) === null || _action$callback4 === void 0 || _action$callback4.call(action, _newState3);
|
|
47
|
+
return _newState3;
|
|
48
|
+
}
|
|
49
|
+
case 'new':
|
|
50
|
+
{
|
|
51
|
+
var _action$callback5;
|
|
52
|
+
var _newState4 = _toConsumableArray(action.payload);
|
|
53
|
+
(_action$callback5 = action.callback) === null || _action$callback5 === void 0 || _action$callback5.call(action, _newState4);
|
|
54
|
+
return _newState4;
|
|
55
|
+
}
|
|
56
|
+
case 'sort':
|
|
57
|
+
{
|
|
58
|
+
var _action$callback6;
|
|
59
|
+
var sortItems = action.payload;
|
|
60
|
+
var newItems = state.sort(function (a, b) {
|
|
61
|
+
var indexA = sortItems.indexOf(a.id);
|
|
62
|
+
var indexB = sortItems.indexOf(b.id);
|
|
63
|
+
return indexA - indexB;
|
|
64
|
+
});
|
|
65
|
+
(_action$callback6 = action.callback) === null || _action$callback6 === void 0 || _action$callback6.call(action, _newState5);
|
|
66
|
+
var _newState5 = _toConsumableArray(newItems);
|
|
67
|
+
return _newState5;
|
|
68
|
+
}
|
|
69
|
+
default:
|
|
70
|
+
throw new Error();
|
|
71
|
+
}
|
|
4
72
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import { useRef, useCallback } from 'react';
|
|
3
|
+
import { useSafeState, useDeepCompareEffect } from 'ahooks';
|
|
4
|
+
var usePromiseState = function usePromiseState(initialState) {
|
|
5
|
+
var _useSafeState = useSafeState(initialState),
|
|
6
|
+
_useSafeState2 = _slicedToArray(_useSafeState, 2),
|
|
7
|
+
state = _useSafeState2[0],
|
|
8
|
+
setState = _useSafeState2[1];
|
|
9
|
+
var promiseRef = useRef(null);
|
|
10
|
+
var setStatePromise = useCallback(function (_state) {
|
|
11
|
+
return new Promise(function (resolve) {
|
|
12
|
+
promiseRef.current = resolve;
|
|
13
|
+
setState(_state);
|
|
14
|
+
});
|
|
15
|
+
}, []);
|
|
16
|
+
useDeepCompareEffect(function () {
|
|
17
|
+
if (promiseRef.current) {
|
|
18
|
+
promiseRef.current(state);
|
|
19
|
+
promiseRef.current = null;
|
|
20
|
+
}
|
|
21
|
+
}, [state]);
|
|
22
|
+
return [state, setStatePromise];
|
|
23
|
+
};
|
|
24
|
+
export default usePromiseState;
|
package/es/lowcode/index.js
CHANGED
|
@@ -1,97 +1,52 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import React, { useRef, useState } from 'react';
|
|
3
|
+
import { RawIntlProvider, getLocale, getIntl, localeInfo } from 'umi';
|
|
4
|
+
import { useMemoizedFn } from 'ahooks';
|
|
5
|
+
import moment from 'moment';
|
|
6
|
+
import { ConfigProvider } from 'luck-design/antd';
|
|
7
|
+
import DesignToolbar from "./DesignToolbar";
|
|
8
|
+
import DesignOperator from "./DesignOperator";
|
|
4
9
|
import Page from "../view/Page";
|
|
5
|
-
import { CELL_CLASS_NAME } from "../constants";
|
|
6
10
|
import styles from "./style/design.less";
|
|
7
11
|
var Design = function Design() {
|
|
8
|
-
var
|
|
9
|
-
var detectorRef = useRef(null);
|
|
10
|
-
var selectorRef = useRef(null);
|
|
12
|
+
var _localeInfo$locale;
|
|
11
13
|
var simulatorRef = useRef(null);
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
var _useState = useState(function () {
|
|
15
|
+
return getLocale();
|
|
16
|
+
}),
|
|
17
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
18
|
+
locale = _useState2[0],
|
|
19
|
+
setLocale = _useState2[1];
|
|
20
|
+
var _useState3 = useState(function () {
|
|
21
|
+
return getIntl(getLocale(), true);
|
|
22
|
+
}),
|
|
23
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
24
|
+
intl = _useState4[0],
|
|
25
|
+
setIntl = _useState4[1];
|
|
26
|
+
var handleLangChange = useMemoizedFn(function (_locale) {
|
|
27
|
+
if (moment !== null && moment !== void 0 && moment.locale) {
|
|
28
|
+
var _localeInfo$_locale;
|
|
29
|
+
moment.locale(((_localeInfo$_locale = localeInfo[_locale]) === null || _localeInfo$_locale === void 0 ? void 0 : _localeInfo$_locale.momentLocale) || 'en');
|
|
27
30
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
});
|
|
31
|
-
useEventListener('mouseleave', function () {
|
|
32
|
-
if (hoverCellRef.current) {
|
|
33
|
-
hoverCellRef.current = null;
|
|
34
|
-
context.$publisher(context.topics.COMPONENT_HOVER, null);
|
|
35
|
-
}
|
|
36
|
-
}, {
|
|
37
|
-
target: simulatorRef
|
|
31
|
+
setLocale(_locale);
|
|
32
|
+
setIntl(getIntl(_locale));
|
|
38
33
|
});
|
|
39
|
-
useEventListener('click', function (event) {
|
|
40
|
-
var elem = event.target;
|
|
41
|
-
var targetCell = elem.closest(".".concat(CELL_CLASS_NAME));
|
|
42
|
-
if (!targetCell || targetCell.isEqualNode(activeCellRef.current)) return;
|
|
43
|
-
activeCellRef.current = targetCell;
|
|
44
|
-
hoverCellRef.current = null;
|
|
45
|
-
context.$publisher(context.topics.COMPONENT_HOVER, null);
|
|
46
|
-
context.$publisher(context.topics.COMPONENT_ACTIVE, {
|
|
47
|
-
id: activeCellRef.current.id,
|
|
48
|
-
cellNode: activeCellRef.current
|
|
49
|
-
});
|
|
50
|
-
}, {
|
|
51
|
-
target: simulatorRef
|
|
52
|
-
});
|
|
53
|
-
useEffect(function () {
|
|
54
|
-
var setRect = function setRect(node, cellNode) {
|
|
55
|
-
node.style.left = "".concat(cellNode.offsetLeft, "px");
|
|
56
|
-
node.style.top = "".concat(cellNode.offsetTop, "px");
|
|
57
|
-
node.style.width = "".concat(cellNode.offsetWidth, "px");
|
|
58
|
-
node.style.height = "".concat(cellNode.offsetHeight, "px");
|
|
59
|
-
};
|
|
60
|
-
var hcid = context.$subscriber(context.topics.COMPONENT_HOVER).on(function (payload) {
|
|
61
|
-
if (payload.id) {
|
|
62
|
-
detectorRef.current.style.display = 'block';
|
|
63
|
-
setRect(detectorRef.current, payload.cellNode);
|
|
64
|
-
} else {
|
|
65
|
-
detectorRef.current.style.display = 'none';
|
|
66
|
-
}
|
|
67
|
-
}).watch();
|
|
68
|
-
var acid = context.$subscriber(context.topics.COMPONENT_ACTIVE).on(function (payload) {
|
|
69
|
-
if (payload.id) {
|
|
70
|
-
selectorRef.current.style.display = 'block';
|
|
71
|
-
setRect(selectorRef.current, payload.cellNode);
|
|
72
|
-
} else {
|
|
73
|
-
selectorRef.current.style.display = 'none';
|
|
74
|
-
}
|
|
75
|
-
}).watch();
|
|
76
|
-
return function () {
|
|
77
|
-
context.$unsubscriber(context.topics.COMPONENT_HOVER, hcid);
|
|
78
|
-
context.$unsubscriber(context.topics.COMPONENT_ACTIVE, acid);
|
|
79
|
-
};
|
|
80
|
-
}, []);
|
|
81
34
|
return /*#__PURE__*/React.createElement("div", {
|
|
82
35
|
className: styles['lc-painter-design']
|
|
83
|
-
}, /*#__PURE__*/React.createElement(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
className: styles.detector
|
|
36
|
+
}, /*#__PURE__*/React.createElement(DesignToolbar, {
|
|
37
|
+
locale: locale,
|
|
38
|
+
onLangChange: handleLangChange
|
|
87
39
|
}), /*#__PURE__*/React.createElement("div", {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}), /*#__PURE__*/React.createElement(
|
|
40
|
+
className: styles['lc-painter-design-workspace']
|
|
41
|
+
}, /*#__PURE__*/React.createElement(DesignOperator, {
|
|
42
|
+
target: simulatorRef
|
|
43
|
+
}), /*#__PURE__*/React.createElement(ConfigProvider, {
|
|
44
|
+
locale: ((_localeInfo$locale = localeInfo[locale]) === null || _localeInfo$locale === void 0 ? void 0 : _localeInfo$locale.antd) || {}
|
|
45
|
+
}, /*#__PURE__*/React.createElement(RawIntlProvider, {
|
|
46
|
+
value: intl
|
|
47
|
+
}, /*#__PURE__*/React.createElement(Page, {
|
|
92
48
|
ref: simulatorRef,
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}));
|
|
49
|
+
className: styles['lc-painter-design-simulator']
|
|
50
|
+
})))));
|
|
96
51
|
};
|
|
97
52
|
export default Design;
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import React, { useRef, useEffect, useState } from 'react';
|
|
3
|
+
import { last, initial } from 'lodash';
|
|
4
|
+
import { useEventListener, useSetState, useMemoizedFn, useCreation, useSize, useLatest } from 'ahooks';
|
|
5
|
+
import { Icon, Dropdown, message } from 'luck-design/antd';
|
|
6
|
+
import { cloneDeep, reverse } from 'lodash';
|
|
7
|
+
import { suid } from '@luck-design-biz/base/utils';
|
|
8
|
+
import { useLDContext } from "../engine/provider/ContextProvider";
|
|
9
|
+
import { add, deleteById } from "../engine/tools/dataProcess";
|
|
10
|
+
import { CELL_KEY, CELL_CLASS_NAME } from "../constants";
|
|
11
|
+
import styles from "./style/design.less";
|
|
12
|
+
var _MODAL_COMPONENT_ = ['Dialog', 'Drawer'];
|
|
13
|
+
var getOperatorStyle = function getOperatorStyle(page, cellNode) {
|
|
14
|
+
var _page$getBoundingClie = page.getBoundingClientRect(),
|
|
15
|
+
pageLeft = _page$getBoundingClie.left,
|
|
16
|
+
pageTop = _page$getBoundingClie.top;
|
|
17
|
+
var _cellNode$getBounding = cellNode.getBoundingClientRect(),
|
|
18
|
+
cellNodeLeft = _cellNode$getBounding.left,
|
|
19
|
+
cellNodeTop = _cellNode$getBounding.top;
|
|
20
|
+
return {
|
|
21
|
+
left: "".concat(cellNodeLeft - pageLeft, "px"),
|
|
22
|
+
top: "".concat(cellNodeTop - pageTop, "px"),
|
|
23
|
+
width: "".concat(cellNode.offsetWidth, "px"),
|
|
24
|
+
height: "".concat(cellNode.offsetHeight, "px")
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
var DesignOperator = function DesignOperator(_ref) {
|
|
28
|
+
var _getDomById, _getDomById2;
|
|
29
|
+
var target = _ref.target;
|
|
30
|
+
var context = useLDContext();
|
|
31
|
+
var size = useSize(target);
|
|
32
|
+
var _useState = useState(suid()),
|
|
33
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
34
|
+
positionKey = _useState2[0],
|
|
35
|
+
setPositionKey = _useState2[1];
|
|
36
|
+
var _useSetState = useSetState({
|
|
37
|
+
selector: null,
|
|
38
|
+
detector: null
|
|
39
|
+
}),
|
|
40
|
+
_useSetState2 = _slicedToArray(_useSetState, 2),
|
|
41
|
+
operatorId = _useSetState2[0],
|
|
42
|
+
setOperatorId = _useSetState2[1];
|
|
43
|
+
var lastSelectorId = useLatest(operatorId.selector);
|
|
44
|
+
var currentModal = useRef(null);
|
|
45
|
+
var getDomById = useMemoizedFn(function (id) {
|
|
46
|
+
return context.componentMap.get(id).dom;
|
|
47
|
+
});
|
|
48
|
+
var handleSelect = useMemoizedFn(function (_key) {
|
|
49
|
+
context.$publisher(context.topics.COMPONENT_ACTIVE, _key ? {
|
|
50
|
+
id: _key
|
|
51
|
+
} : null);
|
|
52
|
+
});
|
|
53
|
+
var handleHover = useMemoizedFn(function (_key) {
|
|
54
|
+
context.$publisher(context.topics.COMPONENT_HOVER, _key ? {
|
|
55
|
+
id: _key
|
|
56
|
+
} : null);
|
|
57
|
+
});
|
|
58
|
+
var handleDelete = useMemoizedFn(function (_ref2) {
|
|
59
|
+
var id = _ref2.id,
|
|
60
|
+
parentId = _ref2.parentId;
|
|
61
|
+
context.$publisher(context.topics.COMPONENT_ACTIVE, null);
|
|
62
|
+
var cloneData = cloneDeep(context.pageData);
|
|
63
|
+
deleteById(cloneData, id);
|
|
64
|
+
context._setPageData(cloneData).then(function (newData) {
|
|
65
|
+
context.$publisher(context.topics.COMPONENT_DELETE, {
|
|
66
|
+
id: id,
|
|
67
|
+
parentId: parentId,
|
|
68
|
+
pageData: newData
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
var addComponent = useMemoizedFn(function (data, targetId) {
|
|
73
|
+
var json = require("../engine/meta/".concat(data.component.toLowerCase(), ".props.default.json"));
|
|
74
|
+
var _id = "".concat(data.component.toLowerCase(), "_").concat(suid());
|
|
75
|
+
var cloneData = cloneDeep(context.pageData);
|
|
76
|
+
add(cloneData, targetId, _id, json);
|
|
77
|
+
context.$subscriber(context.topics.COMPONENT_MOUNT).once(function (_ref3) {
|
|
78
|
+
var mountCompId = _ref3.id;
|
|
79
|
+
if (mountCompId === _id) {
|
|
80
|
+
context.$publisher(context.topics.COMPONENT_APPEND, {
|
|
81
|
+
id: _id,
|
|
82
|
+
pageData: cloneData
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}).watch();
|
|
86
|
+
context._setPageData(cloneData);
|
|
87
|
+
});
|
|
88
|
+
var acticeProps = useCreation(function () {
|
|
89
|
+
if (!operatorId.selector) return null;
|
|
90
|
+
var levelNodes = context.componentMap.get(operatorId.selector).api.getLevelNodes();
|
|
91
|
+
return {
|
|
92
|
+
props: last(levelNodes),
|
|
93
|
+
menu: /*#__PURE__*/React.createElement("div", {
|
|
94
|
+
className: styles['next-overlay-wrapper'],
|
|
95
|
+
onMouseLeave: function onMouseLeave() {
|
|
96
|
+
return handleHover();
|
|
97
|
+
}
|
|
98
|
+
}, reverse(initial(levelNodes)).map(function (m) {
|
|
99
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
100
|
+
key: m.id
|
|
101
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
102
|
+
onClick: function onClick() {
|
|
103
|
+
return handleSelect(m.id);
|
|
104
|
+
},
|
|
105
|
+
onMouseOver: function onMouseOver() {
|
|
106
|
+
return handleHover(m.id);
|
|
107
|
+
}
|
|
108
|
+
}, m.name));
|
|
109
|
+
}))
|
|
110
|
+
};
|
|
111
|
+
}, [operatorId.selector]);
|
|
112
|
+
var lastDetectorNode = useCreation(function () {
|
|
113
|
+
return operatorId.detector ? last(context.componentMap.get(operatorId.detector).api.getLevelNodes()) : null;
|
|
114
|
+
}, [operatorId.detector]);
|
|
115
|
+
useEventListener('mousemove', function (event) {
|
|
116
|
+
var elem = event.target;
|
|
117
|
+
var targetCell = elem.closest(".".concat(CELL_CLASS_NAME));
|
|
118
|
+
var targetCellId = targetCell === null || targetCell === void 0 ? void 0 : targetCell.id;
|
|
119
|
+
if (targetCellId && targetCellId !== operatorId.detector && targetCellId !== operatorId.selector) {
|
|
120
|
+
setOperatorId({
|
|
121
|
+
detector: targetCellId
|
|
122
|
+
});
|
|
123
|
+
context.$publisher(context.topics.COMPONENT_HOVER, {
|
|
124
|
+
id: targetCellId
|
|
125
|
+
});
|
|
126
|
+
} else if (!targetCell || targetCellId === operatorId.selector) {
|
|
127
|
+
setOperatorId({
|
|
128
|
+
detector: null
|
|
129
|
+
});
|
|
130
|
+
context.$publisher(context.topics.COMPONENT_HOVER, null);
|
|
131
|
+
}
|
|
132
|
+
}, {
|
|
133
|
+
target: target
|
|
134
|
+
});
|
|
135
|
+
useEventListener('mouseleave', function () {
|
|
136
|
+
if (operatorId.detector) {
|
|
137
|
+
setOperatorId({
|
|
138
|
+
detector: null
|
|
139
|
+
});
|
|
140
|
+
context.$publisher(context.topics.COMPONENT_HOVER, null);
|
|
141
|
+
}
|
|
142
|
+
}, {
|
|
143
|
+
target: target
|
|
144
|
+
});
|
|
145
|
+
useEventListener('click', function (event) {
|
|
146
|
+
var elem = event.target;
|
|
147
|
+
var targetCell = elem.closest(".".concat(CELL_CLASS_NAME));
|
|
148
|
+
var targetCellId = targetCell === null || targetCell === void 0 ? void 0 : targetCell.id;
|
|
149
|
+
if (!targetCellId || targetCellId === operatorId.selector) return;
|
|
150
|
+
context.$publisher(context.topics.COMPONENT_HOVER, null);
|
|
151
|
+
context.$publisher(context.topics.COMPONENT_ACTIVE, {
|
|
152
|
+
id: targetCell.id
|
|
153
|
+
});
|
|
154
|
+
}, {
|
|
155
|
+
target: target
|
|
156
|
+
});
|
|
157
|
+
useEffect(function () {
|
|
158
|
+
var csid = context.$subscriber(context.topics.COMPONENT_SETTING_CLICK).on(function (_ref4) {
|
|
159
|
+
var data = _ref4.data;
|
|
160
|
+
if (_MODAL_COMPONENT_.includes(data.component)) {
|
|
161
|
+
context.$subscriber(context.topics.COMPONENT_APPEND).once(function (_ref5) {
|
|
162
|
+
var compId = _ref5.id;
|
|
163
|
+
context.$publisher(context.topics.COMPONENT_MODAL_TOGGLE, {
|
|
164
|
+
toggle: true,
|
|
165
|
+
id: compId
|
|
166
|
+
});
|
|
167
|
+
context.$publisher(context.topics.COMPONENT_ACTIVE, {
|
|
168
|
+
id: compId
|
|
169
|
+
});
|
|
170
|
+
}).watch();
|
|
171
|
+
addComponent(data, CELL_KEY.PAGE_ROOT);
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
if (!lastSelectorId.current) {
|
|
175
|
+
message.info('请在右侧画布选择节点');
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
if (context.componentMap.get(lastSelectorId.current).dom.getAttribute('name') !== 'box') {
|
|
179
|
+
message.info('该节点不支持添加子节点');
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
addComponent(data, lastSelectorId.current);
|
|
183
|
+
}).watch();
|
|
184
|
+
var hcid = context.$subscriber(context.topics.COMPONENT_HOVER).on(function (payload) {
|
|
185
|
+
if (payload.id) setOperatorId({
|
|
186
|
+
detector: payload.id
|
|
187
|
+
});else setOperatorId({
|
|
188
|
+
detector: null
|
|
189
|
+
});
|
|
190
|
+
}).watch();
|
|
191
|
+
var acid = context.$subscriber(context.topics.COMPONENT_ACTIVE).on(function (payload) {
|
|
192
|
+
if (payload.id) {
|
|
193
|
+
setOperatorId({
|
|
194
|
+
selector: payload.id,
|
|
195
|
+
detector: null
|
|
196
|
+
});
|
|
197
|
+
} else {
|
|
198
|
+
setOperatorId({
|
|
199
|
+
selector: null
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}).watch();
|
|
203
|
+
var cmtid = context.$subscriber(context.topics.COMPONENT_MODAL_TOGGLE).on(function (_ref6) {
|
|
204
|
+
var toggle = _ref6.toggle,
|
|
205
|
+
id = _ref6.id;
|
|
206
|
+
if (toggle) {
|
|
207
|
+
target.current.style.setProperty('overflow', 'hidden');
|
|
208
|
+
var _modal = context.componentMap.get(id);
|
|
209
|
+
var _prevModal = currentModal.current ? context.componentMap.get(currentModal.current) : null;
|
|
210
|
+
_prevModal === null || _prevModal === void 0 || _prevModal.api.doClose();
|
|
211
|
+
_modal.api.doOpen();
|
|
212
|
+
currentModal.current = id;
|
|
213
|
+
} else {
|
|
214
|
+
target.current.style.removeProperty('overflow');
|
|
215
|
+
var _modal2 = context.componentMap.get(id || currentModal.current);
|
|
216
|
+
_modal2.api.doClose();
|
|
217
|
+
currentModal.current = void 0;
|
|
218
|
+
}
|
|
219
|
+
}).watch();
|
|
220
|
+
return function () {
|
|
221
|
+
context.$unsubscriber(context.topics.COMPONENT_SETTING_CLICK, csid);
|
|
222
|
+
context.$unsubscriber(context.topics.COMPONENT_HOVER, hcid);
|
|
223
|
+
context.$unsubscriber(context.topics.COMPONENT_ACTIVE, acid);
|
|
224
|
+
context.$unsubscriber(context.topics.MODAL_OPEN, cmtid);
|
|
225
|
+
};
|
|
226
|
+
}, []);
|
|
227
|
+
useEffect(function () {
|
|
228
|
+
var crid = context.$subscriber(context.topics.COMPONENT_REPOSITIONING).on(function (payload) {
|
|
229
|
+
if (payload.id === operatorId.selector) setPositionKey(suid());
|
|
230
|
+
}).watch();
|
|
231
|
+
return function () {
|
|
232
|
+
context.$unsubscriber(context.topics.COMPONENT_REPOSITIONING, crid);
|
|
233
|
+
};
|
|
234
|
+
}, [operatorId.selector]);
|
|
235
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, operatorId.detector && /*#__PURE__*/React.createElement("div", {
|
|
236
|
+
id: "lc-detector",
|
|
237
|
+
className: styles['lc-painter-design-detector'],
|
|
238
|
+
style: getOperatorStyle(target.current, getDomById(operatorId.detector))
|
|
239
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
240
|
+
className: styles['lc-painter-design-detector-name'],
|
|
241
|
+
style: {
|
|
242
|
+
top: ((_getDomById = getDomById(operatorId.detector)) === null || _getDomById === void 0 ? void 0 : _getDomById.offsetTop) < 23 ? 0 : '-23px'
|
|
243
|
+
}
|
|
244
|
+
}, lastDetectorNode ? "".concat(lastDetectorNode.name, "(").concat(operatorId.detector, ")") : null)), operatorId.selector && /*#__PURE__*/React.createElement("div", {
|
|
245
|
+
id: "lc-selector",
|
|
246
|
+
key: "".concat((size === null || size === void 0 ? void 0 : size.width) || 0, "-").concat((size === null || size === void 0 ? void 0 : size.height) || 0, "-").concat(positionKey),
|
|
247
|
+
className: styles['lc-painter-design-selector'],
|
|
248
|
+
style: getOperatorStyle(target.current, getDomById(operatorId.selector))
|
|
249
|
+
}, acticeProps && /*#__PURE__*/React.createElement("div", {
|
|
250
|
+
className: styles['lc-borders-actions'],
|
|
251
|
+
style: acticeProps.props.id === CELL_KEY.PAGE_ROOT ? {
|
|
252
|
+
top: 0
|
|
253
|
+
} : ((_getDomById2 = getDomById(operatorId.selector)) === null || _getDomById2 === void 0 ? void 0 : _getDomById2.offsetTop) < 23 ? {
|
|
254
|
+
bottom: '-23px'
|
|
255
|
+
} : {
|
|
256
|
+
top: '-23px'
|
|
257
|
+
}
|
|
258
|
+
}, /*#__PURE__*/React.createElement(Dropdown, {
|
|
259
|
+
overlay: acticeProps.menu,
|
|
260
|
+
placement: "bottomLeft"
|
|
261
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
262
|
+
className: "instance-node-selector"
|
|
263
|
+
}, acticeProps.props.name)), /*#__PURE__*/React.createElement("div", {
|
|
264
|
+
onClick: function onClick() {
|
|
265
|
+
return handleDelete(acticeProps.props);
|
|
266
|
+
}
|
|
267
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
268
|
+
type: "delete"
|
|
269
|
+
})))));
|
|
270
|
+
};
|
|
271
|
+
export default DesignOperator;
|