@luck-design-biz/luckda 0.0.27 → 1.0.0-alpha
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 +22 -27
- package/es/components/ComplexItem/index.js +92 -0
- package/es/components/ComplexItem/service.js +21 -0
- package/es/components/IconFont/index.js +5 -0
- package/es/components/LDActions/index.js +131 -0
- package/es/components/LDActions/index.less +68 -0
- package/es/components/LdAutoForm/index.js +60 -25
- package/es/components/LdCom/index.js +2 -1
- package/es/components/LdFormList/index.js +62 -38
- package/es/components/LdGrid/index.js +49 -28
- package/es/components/LdGridForm/index.js +41 -23
- package/es/components/LdTree/index.js +184 -36
- package/es/components/LdTree/index.less +6 -1
- package/es/helper/FromItems.js +177 -94
- package/es/helper/form.js +55 -20
- package/es/helper/ldBuilder.js +29 -16
- package/es/helper/ldComBuild.js +29 -14
- package/es/helper/props_config.js +17 -0
- package/es/index.js +1 -1
- package/es/locales/zh-CN.js +236 -0
- package/es/lowcode/constants/api-url.js +690 -1
- package/es/lowcode/constants/event-topics.js +21 -1
- package/es/lowcode/constants/index.js +32 -2
- package/es/lowcode/engine/factory/panel-item-factory/CheckboxStrategy.js +32 -0
- 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/RadioStrategy.js +53 -0
- package/es/lowcode/engine/factory/panel-item-factory/SegmentedStrategy.js +32 -0
- package/es/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +56 -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 +45 -0
- package/es/lowcode/engine/factory/panel-item-factory/index.js +48 -0
- package/es/lowcode/engine/launcher.js +39 -0
- package/es/lowcode/engine/meta/box.props.default.json +13 -0
- package/es/lowcode/engine/meta/box.props.json +40 -0
- package/es/lowcode/engine/meta/button.props.default.json +18 -7
- package/{lib/lowcode/engine/meta/components/button.json → es/lowcode/engine/meta/button.props.json} +126 -103
- package/es/lowcode/engine/meta/cardlist.props.default.json +19 -9
- package/es/lowcode/engine/meta/{components/card-list.json → cardlist.props.json} +152 -142
- package/es/lowcode/engine/meta/components-list.json +235 -121
- package/es/lowcode/engine/meta/dialog.props.default.json +27 -0
- package/es/lowcode/engine/meta/dialog.props.json +157 -0
- package/es/lowcode/engine/meta/drawer.props.default.json +19 -9
- package/{lib/lowcode/engine/meta/components/drawer.json → es/lowcode/engine/meta/drawer.props.json} +130 -142
- package/es/lowcode/engine/meta/fieldcolor.props.default.json +19 -0
- package/es/lowcode/engine/meta/fieldcolor.props.json +159 -0
- package/es/lowcode/engine/meta/fieldcomplex.props.default.json +18 -0
- package/es/lowcode/engine/meta/fieldcomplex.props.json +135 -0
- package/es/lowcode/engine/meta/fielddate.props.default.json +17 -0
- package/es/lowcode/engine/meta/fielddate.props.json +143 -0
- package/es/lowcode/engine/meta/fielddict.props.default.json +19 -0
- package/es/lowcode/engine/meta/fielddict.props.json +140 -0
- package/es/lowcode/engine/meta/fieldeditor.props.default.json +18 -0
- package/es/lowcode/engine/meta/fieldeditor.props.json +140 -0
- package/es/lowcode/engine/meta/fieldgroup.props.default.json +20 -0
- package/es/lowcode/engine/meta/fieldgroup.props.json +169 -0
- package/es/lowcode/engine/meta/fieldnumber.props.default.json +19 -0
- package/es/lowcode/engine/meta/fieldnumber.props.json +144 -0
- package/es/lowcode/engine/meta/fieldradio.props.default.json +17 -0
- package/es/lowcode/engine/meta/fieldradio.props.json +117 -0
- package/es/lowcode/engine/meta/fieldregion.props.default.json +17 -0
- package/es/lowcode/engine/meta/fieldregion.props.json +123 -0
- package/es/lowcode/engine/meta/fieldselect.props.default.json +19 -0
- package/es/lowcode/engine/meta/fieldselect.props.json +154 -0
- package/es/lowcode/engine/meta/fieldstring.props.default.json +17 -0
- package/es/lowcode/engine/meta/fieldstring.props.json +154 -0
- package/es/lowcode/engine/meta/fieldswitch.props.default.json +17 -0
- package/es/lowcode/engine/meta/fieldswitch.props.json +127 -0
- package/es/lowcode/engine/meta/fieldtextarea.props.default.json +18 -0
- package/es/lowcode/engine/meta/fieldtextarea.props.json +145 -0
- package/es/lowcode/engine/meta/fieldupload.props.default.json +20 -0
- package/es/lowcode/engine/meta/fieldupload.props.json +167 -0
- package/es/lowcode/engine/meta/fielduser.props.default.json +21 -0
- package/es/lowcode/engine/meta/fielduser.props.json +178 -0
- package/es/lowcode/engine/meta/fieldyear.props.default.json +17 -0
- package/es/lowcode/engine/meta/fieldyear.props.json +133 -0
- package/es/lowcode/engine/meta/form.props.default.json +60 -4
- package/es/lowcode/engine/meta/form.props.json +669 -0
- 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 +18 -7
- package/es/lowcode/engine/meta/{components/image.json → image.props.json} +113 -112
- package/es/lowcode/engine/meta/imex.props.default.json +21 -3
- package/{lib/lowcode/engine/meta/components/imex.json → es/lowcode/engine/meta/imex.props.json} +113 -80
- package/es/lowcode/engine/meta/js-editor/auto-complete.json +253 -0
- package/es/lowcode/engine/meta/jsx.props.default.json +11 -1
- package/es/lowcode/engine/meta/jsx.props.json +30 -0
- package/es/lowcode/engine/meta/layout.props.default.json +15 -4
- package/{lib/lowcode/engine/meta/components/layout.json → es/lowcode/engine/meta/layout.props.json} +106 -106
- package/es/lowcode/engine/meta/link.props.default.json +16 -5
- package/{lib/lowcode/engine/meta/components/link.json → es/lowcode/engine/meta/link.props.json} +111 -110
- package/es/lowcode/engine/meta/page.props.default.json +12 -0
- package/es/lowcode/engine/meta/page.props.json +55 -0
- package/es/lowcode/engine/meta/pagecontent.props.default.json +6 -0
- package/es/lowcode/engine/meta/pagecontent.props.json +7 -0
- package/es/lowcode/engine/meta/pagefooter.props.default.json +6 -0
- package/es/lowcode/engine/meta/pagefooter.props.json +7 -0
- package/es/lowcode/engine/meta/pageheader.props.default.json +6 -0
- package/es/lowcode/engine/meta/pageheader.props.json +7 -0
- package/es/lowcode/engine/meta/pagelayout.props.default.json +16 -0
- package/es/lowcode/engine/meta/pagelayout.props.json +59 -0
- package/es/lowcode/engine/meta/section.props.default.json +17 -8
- package/es/lowcode/engine/meta/section.props.json +111 -0
- package/es/lowcode/engine/meta/split.props.default.json +17 -4
- package/es/lowcode/engine/meta/split.props.json +57 -0
- package/es/lowcode/engine/meta/table.props.default.json +50 -9
- package/es/lowcode/engine/meta/table.props.json +451 -0
- package/es/lowcode/engine/meta/tabs.props.default.json +24 -9
- package/es/lowcode/engine/meta/tabs.props.json +117 -0
- package/es/lowcode/engine/meta/text.props.default.json +14 -3
- package/es/lowcode/engine/meta/{components/text.json → text.props.json} +55 -64
- package/es/lowcode/engine/meta/tree.props.default.json +31 -8
- package/es/lowcode/engine/meta/tree.props.json +360 -0
- package/es/lowcode/engine/provider/ContextProvider/index.js +189 -0
- package/es/lowcode/engine/provider/ContextProvider/usePageVar.js +38 -0
- package/es/lowcode/engine/provider/EventBusProvider.js +2 -2
- package/es/lowcode/engine/provider/RemoteSourceProvider.js +232 -0
- package/es/lowcode/engine/tools/dataProcess.js +151 -8
- package/es/lowcode/engine/tools/diff.js +60 -0
- package/es/lowcode/engine/tools/helper.js +235 -0
- package/es/lowcode/engine/tools/useCanvasRender.js +81 -0
- package/es/lowcode/engine/tools/useCombinedRefs.js +14 -0
- package/es/lowcode/engine/tools/usePageDataStore.js +360 -0
- package/es/lowcode/engine/tools/usePromiseState.js +24 -0
- package/es/lowcode/engine/tools/useTodo.js +88 -0
- package/es/lowcode/index.js +1 -1
- package/es/lowcode/painter/Components.js +47 -21
- package/es/lowcode/painter/Design.js +66 -80
- package/es/lowcode/painter/DesignOperator.js +314 -0
- package/es/lowcode/painter/DesignToolbar.js +436 -0
- package/es/lowcode/painter/I18n.js +202 -2
- package/es/lowcode/painter/Outline.js +86 -70
- package/es/lowcode/painter/Panel.js +236 -2
- package/es/lowcode/painter/Ribbon.js +61 -55
- package/es/lowcode/painter/components/ActionBindModal.js +308 -0
- package/es/lowcode/painter/components/AdvancePanel.js +217 -0
- package/es/lowcode/painter/components/AttrsPanel.js +160 -0
- package/es/lowcode/painter/components/Collapse.js +101 -0
- package/es/lowcode/painter/components/ColorInput.js +127 -0
- package/es/lowcode/painter/components/DragDrop/DragDropContext.js +137 -0
- package/es/lowcode/painter/components/DragDrop/DragDropWrapper.js +50 -0
- package/es/lowcode/painter/components/DragDrop/Overlay.js +8 -0
- package/es/lowcode/painter/components/DragDrop/TreeDragDropWrapper.js +67 -0
- package/es/lowcode/painter/components/FieldSelector.js +57 -0
- package/es/lowcode/painter/components/ListEditor.js +104 -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 +30 -0
- package/es/lowcode/painter/components/PopForm.js +71 -0
- package/es/lowcode/painter/components/PreviewIframe.js +19 -0
- package/es/lowcode/painter/components/RuleInput.js +9 -8
- package/es/lowcode/painter/components/SortBox.js +99 -0
- package/es/lowcode/painter/components/TreeEditor.js +13 -0
- package/es/lowcode/painter/components/code-editor/BaseEditor.js +111 -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 +147 -0
- package/es/lowcode/painter/components/code-editor/JsonEditor.js +41 -0
- package/es/lowcode/painter/components/code-editor/index.js +2 -0
- package/es/lowcode/painter/components/field-setting/BatchSetting.js +154 -0
- package/es/lowcode/painter/components/field-setting/CheckFrontRules.js +108 -0
- package/es/lowcode/painter/components/field-setting/CheckRules.js +101 -0
- package/es/lowcode/painter/components/field-setting/FieldAttrs.js +287 -0
- package/es/lowcode/painter/components/field-setting/FieldAttrsModal.js +288 -0
- package/es/lowcode/painter/components/field-setting/FieldDefaultValue.js +63 -0
- package/es/lowcode/painter/components/field-setting/FieldRulesModal.js +135 -0
- package/es/lowcode/painter/components/field-setting/SettingUI.js +518 -0
- package/es/lowcode/painter/components/field-setting/index.js +340 -0
- package/es/lowcode/painter/components/field-setting/meta/frontRules.js +53 -0
- package/es/lowcode/painter/index.js +8 -3
- package/es/lowcode/painter/panel-section/ActionsColumnWidth.js +25 -0
- package/es/lowcode/painter/panel-section/ActionsEditor/ActionEditor.js +101 -0
- package/es/lowcode/painter/panel-section/ActionsEditor/index.js +233 -0
- package/es/lowcode/painter/panel-section/BlockEditor/index.js +27 -0
- package/es/lowcode/painter/panel-section/BlocksEditor/BlockEditorItem.js +45 -0
- package/es/lowcode/painter/panel-section/BlocksEditor/index.js +229 -0
- package/es/lowcode/painter/panel-section/ButtonType.js +41 -0
- package/es/lowcode/painter/panel-section/ComponentSelector.js +36 -0
- package/es/lowcode/painter/panel-section/DataSetSelector.js +159 -0
- package/es/lowcode/painter/panel-section/FieldState.js +62 -0
- package/es/lowcode/painter/panel-section/FieldsSetting.js +346 -0
- package/es/lowcode/painter/panel-section/I18nInput.js +34 -0
- package/es/lowcode/painter/panel-section/Icon.js +48 -0
- package/es/lowcode/painter/panel-section/IconConditionSelector.js +111 -0
- package/es/lowcode/painter/panel-section/IconSelector.js +137 -0
- package/es/lowcode/painter/panel-section/ImpExp.js +185 -0
- package/es/lowcode/painter/panel-section/ImpExpAlone.js +124 -0
- package/es/lowcode/painter/panel-section/JSEditor.js +49 -0
- package/es/lowcode/painter/panel-section/LayoutRatio.js +61 -54
- package/es/lowcode/painter/panel-section/PageLayoutDisplay.js +112 -0
- package/es/lowcode/painter/panel-section/SerialsSelector.js +46 -0
- package/es/lowcode/painter/panel-section/SplitDisplay.js +164 -0
- 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 +92 -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 +207 -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 +35 -0
- package/es/lowcode/painter/panel-section/TabItems.js +223 -0
- package/es/lowcode/painter/panel-section/TableTopFilter.js +316 -0
- package/es/lowcode/painter/panel-section/TableZebra.js +74 -0
- package/es/lowcode/painter/panel-section/TreeRootEditor.js +86 -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/action-bind-modal.less +102 -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 +28 -0
- package/es/lowcode/painter/style/color-input.less +19 -0
- package/es/lowcode/painter/style/components.less +5 -4
- package/es/lowcode/painter/style/design.less +128 -6
- package/es/lowcode/painter/style/display.less +17 -0
- package/es/lowcode/painter/style/dragdrop.less +10 -0
- package/es/lowcode/painter/style/fields-setting.less +25 -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/impexp.less +7 -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 +95 -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/page-layout-display.less +28 -0
- package/es/lowcode/painter/style/panel-attrs.less +43 -0
- package/es/lowcode/painter/style/panel-item.less +45 -12
- package/es/lowcode/painter/style/panel.less +93 -0
- package/es/lowcode/painter/style/pop-confirm.less +17 -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/split-display.less +19 -0
- package/es/lowcode/painter/style/style-panel.less +37 -0
- package/es/lowcode/painter/style/tabitems.less +90 -0
- package/es/lowcode/painter/style/treedragdrop.less +19 -0
- package/es/lowcode/preview/index.js +27 -0
- package/es/lowcode/view/Canvas.js +57 -127
- package/es/lowcode/view/Loading.js +6 -2
- package/es/lowcode/view/Page.js +24 -35
- package/es/lowcode/view/errorBoundary.js +61 -0
- package/es/lowcode/view/index.js +5 -6
- package/es/lowcode/view/lc-components/Box/FunctionDesign.js +26 -0
- package/es/lowcode/view/lc-components/Box/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/Box/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/Box/index.js +32 -6
- package/es/lowcode/view/lc-components/Box/index.less +14 -0
- package/es/lowcode/view/lc-components/Box/meta.json +40 -0
- package/es/lowcode/view/lc-components/Button/FunctionDesign.js +19 -0
- package/es/lowcode/view/lc-components/Button/FunctionLive.js +6 -0
- package/es/lowcode/view/lc-components/Button/FunctionPreview.js +6 -0
- package/es/lowcode/view/lc-components/Button/index.js +106 -19
- 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 +10 -0
- package/es/lowcode/view/lc-components/CardList/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/CardList/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/CardList/index.js +1 -0
- package/{lib/lowcode/engine/meta/components/table.json → es/lowcode/view/lc-components/CardList/meta.json} +24 -32
- package/es/lowcode/view/lc-components/Dialog/FunctionDesign.js +58 -0
- package/es/lowcode/view/lc-components/Dialog/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/Dialog/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/Dialog/index.js +165 -29
- package/es/lowcode/view/lc-components/Dialog/index.less +7 -2
- package/es/lowcode/view/lc-components/Dialog/meta.json +150 -0
- package/es/lowcode/view/lc-components/Drawer/FunctionDesign.js +23 -0
- package/es/lowcode/view/lc-components/Drawer/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/Drawer/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/Drawer/index.js +42 -9
- package/es/lowcode/view/lc-components/Drawer/index.less +10 -0
- package/es/lowcode/{engine/meta/components/drawer.json → view/lc-components/Drawer/meta.json} +11 -23
- package/es/lowcode/view/lc-components/FieldColor/meta.json +157 -0
- package/es/lowcode/view/lc-components/FieldComplex/meta.json +133 -0
- package/es/lowcode/view/lc-components/FieldDate/meta.json +139 -0
- package/es/lowcode/view/lc-components/FieldDict/meta.json +138 -0
- package/es/lowcode/view/lc-components/FieldEditor/meta.json +138 -0
- package/es/lowcode/view/lc-components/FieldGroup/meta.json +167 -0
- package/es/lowcode/view/lc-components/FieldNumber/meta.json +142 -0
- package/es/lowcode/view/lc-components/FieldRadio/meta.json +115 -0
- package/es/lowcode/view/lc-components/FieldRegion/meta.json +121 -0
- package/es/lowcode/view/lc-components/FieldSelect/meta.json +152 -0
- package/es/lowcode/view/lc-components/FieldString/meta.json +152 -0
- package/es/lowcode/view/lc-components/FieldSwitch/meta.json +125 -0
- package/es/lowcode/view/lc-components/FieldTextarea/meta.json +143 -0
- package/es/lowcode/view/lc-components/FieldUpload/meta.json +165 -0
- package/es/lowcode/view/lc-components/FieldUser/meta.json +176 -0
- package/es/lowcode/view/lc-components/FieldYear/meta.json +129 -0
- package/es/lowcode/view/lc-components/Form/FunctionDesign.js +100 -0
- package/es/lowcode/view/lc-components/Form/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/Form/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/Form/index.js +577 -13
- package/es/lowcode/view/lc-components/Form/index.less +5 -0
- package/es/lowcode/view/lc-components/Form/meta.json +610 -0
- package/es/lowcode/view/lc-components/Iframe/FunctionDesign.js +10 -0
- package/es/lowcode/view/lc-components/Iframe/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/Iframe/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/Iframe/index.js +1 -0
- package/es/lowcode/view/lc-components/Iframe/meta.json +32 -0
- package/es/lowcode/view/lc-components/ImEx/FunctionDesign.js +15 -0
- package/es/lowcode/view/lc-components/ImEx/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/ImEx/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/ImEx/index.js +470 -10
- package/es/lowcode/view/lc-components/ImEx/index.less +7 -0
- package/es/lowcode/view/lc-components/ImEx/meta.json +114 -0
- package/es/lowcode/view/lc-components/Image/FunctionDesign.js +10 -0
- package/es/lowcode/view/lc-components/Image/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/Image/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/Image/index.js +1 -0
- package/es/lowcode/view/lc-components/Image/meta.json +114 -0
- package/es/lowcode/view/lc-components/JSX/FunctionDesign.js +10 -0
- package/es/lowcode/view/lc-components/JSX/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/JSX/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/JSX/RuntimeComp.js +44 -0
- package/es/lowcode/view/lc-components/JSX/index.js +18 -6
- package/es/lowcode/view/lc-components/JSX/meta.json +28 -0
- package/es/lowcode/view/lc-components/Layout/FunctionDesign.js +69 -0
- package/es/lowcode/view/lc-components/Layout/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/Layout/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/Layout/index.js +43 -7
- package/es/lowcode/view/lc-components/Layout/index.less +5 -0
- package/es/lowcode/{engine/meta/components/layout.json → view/lc-components/Layout/meta.json} +8 -8
- package/es/lowcode/view/lc-components/Link/FunctionDesign.js +10 -0
- package/es/lowcode/view/lc-components/Link/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/Link/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/Link/index.js +4 -0
- package/es/lowcode/view/lc-components/Link/meta.json +112 -0
- package/es/lowcode/view/lc-components/Page/meta.json +55 -0
- package/es/lowcode/view/lc-components/PageContent/index.js +55 -0
- package/es/lowcode/view/lc-components/PageContent/meta.json +9 -0
- package/es/lowcode/view/lc-components/PageFooter/index.js +38 -0
- package/es/lowcode/view/lc-components/PageFooter/meta.json +9 -0
- package/es/lowcode/view/lc-components/PageHeader/index.js +42 -0
- package/es/lowcode/view/lc-components/PageHeader/meta.json +9 -0
- package/es/lowcode/view/lc-components/PageLayout/FunctionDesign.js +68 -0
- package/es/lowcode/view/lc-components/PageLayout/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/PageLayout/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/PageLayout/index.js +41 -0
- package/es/lowcode/view/lc-components/PageLayout/meta.json +59 -0
- package/es/lowcode/view/lc-components/PageModal/index.js +20 -0
- package/es/lowcode/view/lc-components/Section/FunctionDesign.js +32 -0
- package/es/lowcode/view/lc-components/Section/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/Section/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/Section/index.js +118 -24
- package/es/lowcode/view/lc-components/Section/index.less +7 -0
- package/es/lowcode/view/lc-components/Section/meta.json +107 -0
- package/es/lowcode/view/lc-components/Split/FunctionDesign.js +63 -0
- package/es/lowcode/view/lc-components/Split/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/Split/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/Split/index.js +45 -7
- package/es/lowcode/view/lc-components/Split/meta.json +53 -0
- package/es/lowcode/view/lc-components/Table/FunctionDesign.js +55 -0
- package/es/lowcode/view/lc-components/Table/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/Table/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/Table/components/TopFilter.js +117 -0
- package/es/lowcode/view/lc-components/Table/components/TopImex.js +425 -0
- package/es/lowcode/view/lc-components/Table/index.js +792 -15
- package/es/lowcode/view/lc-components/Table/meta.json +451 -0
- package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +70 -0
- package/es/lowcode/view/lc-components/Tabs/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/Tabs/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/Tabs/index.js +130 -12
- package/es/lowcode/view/lc-components/Tabs/meta.json +113 -0
- package/es/lowcode/view/lc-components/Text/FunctionDesign.js +10 -0
- package/es/lowcode/view/lc-components/Text/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/Text/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/Text/index.js +40 -9
- package/{lib/lowcode/engine/meta/components/text.json → es/lowcode/view/lc-components/Text/meta.json} +10 -19
- package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +68 -0
- package/es/lowcode/view/lc-components/Tree/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/Tree/FunctionPreview.js +26 -0
- package/es/lowcode/view/lc-components/Tree/index.js +377 -8
- package/es/lowcode/view/lc-components/Tree/index.less +5 -0
- package/es/lowcode/view/lc-components/Tree/meta.json +357 -0
- package/es/lowcode/view/lc-components/Wrapper.js +46 -21
- package/es/lowcode/view/style/page.less +3 -1
- package/es/services.js +4 -43
- package/es/upload/FilesWall/file.png +0 -0
- package/es/upload/FilesWall/index.js +422 -0
- package/es/upload/FilesWall/index.less +74 -0
- package/es/upload/Form/gridForm.js +8 -19
- package/es/upload/Form/index.js +2 -12
- package/es/upload/FormItem/index.js +7 -8
- package/es/upload/index.js +2 -1
- package/es/utils/action.js +2 -2
- package/es/utils/form.js +19 -40
- package/es/utils/grid.js +17 -16
- package/lib/components/Builder/index.js +19 -23
- package/lib/components/ComplexItem/index.js +100 -0
- package/lib/components/ComplexItem/service.js +28 -0
- package/lib/components/IconFont/index.js +11 -0
- package/lib/components/LDActions/index.js +139 -0
- package/lib/components/LDActions/index.less +68 -0
- package/lib/components/LdAutoForm/index.js +58 -23
- package/lib/components/LdCom/index.js +2 -1
- package/lib/components/LdFormList/index.js +60 -37
- package/lib/components/LdGrid/index.js +48 -27
- package/lib/components/LdGridForm/index.js +39 -21
- package/lib/components/LdTree/index.js +184 -36
- package/lib/components/LdTree/index.less +6 -1
- package/lib/helper/FromItems.js +175 -92
- package/lib/helper/form.js +53 -19
- package/lib/helper/ldBuilder.js +29 -16
- package/lib/helper/ldComBuild.js +27 -12
- package/lib/helper/props_config.js +23 -0
- package/lib/index.js +8 -8
- package/lib/locales/zh-CN.js +242 -0
- package/lib/lowcode/constants/api-url.js +694 -2
- package/lib/lowcode/constants/event-topics.js +22 -2
- package/lib/lowcode/constants/index.js +33 -3
- package/lib/lowcode/engine/factory/panel-item-factory/CheckboxStrategy.js +38 -0
- 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/RadioStrategy.js +59 -0
- package/lib/lowcode/engine/factory/panel-item-factory/SegmentedStrategy.js +38 -0
- package/lib/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +62 -0
- package/lib/lowcode/engine/factory/panel-item-factory/Strategy.js +27 -0
- package/lib/lowcode/engine/factory/panel-item-factory/StringStrategy.js +58 -0
- package/lib/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +51 -0
- package/lib/lowcode/engine/factory/panel-item-factory/index.js +54 -0
- package/lib/lowcode/engine/launcher.js +45 -0
- package/lib/lowcode/engine/meta/box.props.default.json +13 -0
- package/lib/lowcode/engine/meta/box.props.json +40 -0
- package/lib/lowcode/engine/meta/button.props.default.json +18 -7
- package/{es/lowcode/engine/meta/components/button.json → lib/lowcode/engine/meta/button.props.json} +126 -103
- package/lib/lowcode/engine/meta/cardlist.props.default.json +19 -9
- package/lib/lowcode/engine/meta/{components/card-list.json → cardlist.props.json} +152 -142
- package/lib/lowcode/engine/meta/components-list.json +235 -121
- package/lib/lowcode/engine/meta/dialog.props.default.json +27 -0
- package/lib/lowcode/engine/meta/dialog.props.json +157 -0
- package/lib/lowcode/engine/meta/drawer.props.default.json +19 -9
- package/lib/lowcode/engine/meta/drawer.props.json +131 -0
- package/lib/lowcode/engine/meta/fieldcolor.props.default.json +19 -0
- package/lib/lowcode/engine/meta/fieldcolor.props.json +159 -0
- package/lib/lowcode/engine/meta/fieldcomplex.props.default.json +18 -0
- package/lib/lowcode/engine/meta/fieldcomplex.props.json +135 -0
- package/lib/lowcode/engine/meta/fielddate.props.default.json +17 -0
- package/lib/lowcode/engine/meta/fielddate.props.json +143 -0
- package/lib/lowcode/engine/meta/fielddict.props.default.json +19 -0
- package/lib/lowcode/engine/meta/fielddict.props.json +140 -0
- package/lib/lowcode/engine/meta/fieldeditor.props.default.json +18 -0
- package/lib/lowcode/engine/meta/fieldeditor.props.json +140 -0
- package/lib/lowcode/engine/meta/fieldgroup.props.default.json +20 -0
- package/lib/lowcode/engine/meta/fieldgroup.props.json +169 -0
- package/lib/lowcode/engine/meta/fieldnumber.props.default.json +19 -0
- package/lib/lowcode/engine/meta/fieldnumber.props.json +144 -0
- package/lib/lowcode/engine/meta/fieldradio.props.default.json +17 -0
- package/lib/lowcode/engine/meta/fieldradio.props.json +117 -0
- package/lib/lowcode/engine/meta/fieldregion.props.default.json +17 -0
- package/lib/lowcode/engine/meta/fieldregion.props.json +123 -0
- package/lib/lowcode/engine/meta/fieldselect.props.default.json +19 -0
- package/lib/lowcode/engine/meta/fieldselect.props.json +154 -0
- package/lib/lowcode/engine/meta/fieldstring.props.default.json +17 -0
- package/lib/lowcode/engine/meta/fieldstring.props.json +154 -0
- package/lib/lowcode/engine/meta/fieldswitch.props.default.json +17 -0
- package/lib/lowcode/engine/meta/fieldswitch.props.json +127 -0
- package/lib/lowcode/engine/meta/fieldtextarea.props.default.json +18 -0
- package/lib/lowcode/engine/meta/fieldtextarea.props.json +145 -0
- package/lib/lowcode/engine/meta/fieldupload.props.default.json +20 -0
- package/lib/lowcode/engine/meta/fieldupload.props.json +167 -0
- package/lib/lowcode/engine/meta/fielduser.props.default.json +21 -0
- package/lib/lowcode/engine/meta/fielduser.props.json +178 -0
- package/lib/lowcode/engine/meta/fieldyear.props.default.json +17 -0
- package/lib/lowcode/engine/meta/fieldyear.props.json +133 -0
- package/lib/lowcode/engine/meta/form.props.default.json +60 -4
- package/lib/lowcode/engine/meta/form.props.json +669 -0
- 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 +18 -7
- package/lib/lowcode/engine/meta/{components/image.json → image.props.json} +113 -112
- package/lib/lowcode/engine/meta/imex.props.default.json +21 -3
- package/{es/lowcode/engine/meta/components/imex.json → lib/lowcode/engine/meta/imex.props.json} +113 -80
- package/lib/lowcode/engine/meta/js-editor/auto-complete.json +253 -0
- package/lib/lowcode/engine/meta/jsx.props.default.json +11 -1
- package/lib/lowcode/engine/meta/jsx.props.json +30 -0
- package/lib/lowcode/engine/meta/layout.props.default.json +15 -4
- package/lib/lowcode/engine/meta/layout.props.json +107 -0
- package/lib/lowcode/engine/meta/link.props.default.json +16 -5
- package/{es/lowcode/engine/meta/components/link.json → lib/lowcode/engine/meta/link.props.json} +111 -110
- package/lib/lowcode/engine/meta/page.props.default.json +12 -0
- package/lib/lowcode/engine/meta/page.props.json +55 -0
- package/lib/lowcode/engine/meta/pagecontent.props.default.json +6 -0
- package/lib/lowcode/engine/meta/pagecontent.props.json +7 -0
- package/lib/lowcode/engine/meta/pagefooter.props.default.json +6 -0
- package/lib/lowcode/engine/meta/pagefooter.props.json +7 -0
- package/lib/lowcode/engine/meta/pageheader.props.default.json +6 -0
- package/lib/lowcode/engine/meta/pageheader.props.json +7 -0
- package/lib/lowcode/engine/meta/pagelayout.props.default.json +16 -0
- package/lib/lowcode/engine/meta/pagelayout.props.json +59 -0
- package/lib/lowcode/engine/meta/section.props.default.json +17 -8
- package/lib/lowcode/engine/meta/section.props.json +111 -0
- package/lib/lowcode/engine/meta/split.props.default.json +17 -4
- package/lib/lowcode/engine/meta/split.props.json +57 -0
- package/lib/lowcode/engine/meta/table.props.default.json +50 -9
- package/lib/lowcode/engine/meta/table.props.json +451 -0
- package/lib/lowcode/engine/meta/tabs.props.default.json +24 -9
- package/lib/lowcode/engine/meta/tabs.props.json +117 -0
- package/lib/lowcode/engine/meta/text.props.default.json +14 -3
- package/lib/lowcode/engine/meta/text.props.json +56 -0
- package/lib/lowcode/engine/meta/tree.props.default.json +31 -8
- package/lib/lowcode/engine/meta/tree.props.json +360 -0
- package/lib/lowcode/engine/provider/ContextProvider/index.js +212 -0
- package/lib/lowcode/engine/provider/ContextProvider/usePageVar.js +45 -0
- package/lib/lowcode/engine/provider/EventBusProvider.js +2 -2
- package/lib/lowcode/engine/provider/RemoteSourceProvider.js +240 -0
- package/lib/lowcode/engine/tools/dataProcess.js +153 -8
- package/lib/lowcode/engine/tools/diff.js +67 -0
- package/lib/lowcode/engine/tools/helper.js +247 -0
- package/lib/lowcode/engine/tools/useCanvasRender.js +96 -0
- package/lib/lowcode/engine/tools/useCombinedRefs.js +20 -0
- package/lib/lowcode/engine/tools/usePageDataStore.js +367 -0
- package/lib/lowcode/engine/tools/usePromiseState.js +31 -0
- package/lib/lowcode/engine/tools/useTodo.js +95 -0
- package/lib/lowcode/index.js +8 -1
- package/lib/lowcode/painter/Components.js +46 -20
- package/lib/lowcode/painter/Design.js +64 -78
- package/lib/lowcode/painter/DesignOperator.js +321 -0
- package/lib/lowcode/painter/DesignToolbar.js +444 -0
- package/lib/lowcode/painter/I18n.js +203 -2
- package/lib/lowcode/painter/Outline.js +82 -66
- package/lib/lowcode/painter/Panel.js +236 -2
- package/lib/lowcode/painter/Ribbon.js +63 -64
- package/lib/lowcode/painter/components/ActionBindModal.js +315 -0
- package/lib/lowcode/painter/components/AdvancePanel.js +225 -0
- package/lib/lowcode/painter/components/AttrsPanel.js +168 -0
- package/lib/lowcode/painter/components/Collapse.js +108 -0
- package/lib/lowcode/painter/components/ColorInput.js +134 -0
- package/lib/lowcode/painter/components/DragDrop/DragDropContext.js +146 -0
- package/lib/lowcode/painter/components/DragDrop/DragDropWrapper.js +57 -0
- package/lib/lowcode/painter/components/DragDrop/Overlay.js +15 -0
- package/lib/lowcode/painter/components/DragDrop/TreeDragDropWrapper.js +75 -0
- package/lib/lowcode/painter/components/FieldSelector.js +65 -0
- package/lib/lowcode/painter/components/ListEditor.js +110 -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 +36 -0
- package/lib/lowcode/painter/components/PopForm.js +77 -0
- package/lib/lowcode/painter/components/PreviewIframe.js +26 -0
- package/lib/lowcode/painter/components/RuleInput.js +9 -8
- package/lib/lowcode/painter/components/SortBox.js +106 -0
- package/lib/lowcode/painter/components/TreeEditor.js +20 -0
- package/lib/lowcode/painter/components/code-editor/BaseEditor.js +118 -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 +158 -0
- package/lib/lowcode/painter/components/code-editor/JsonEditor.js +48 -0
- package/lib/lowcode/painter/components/code-editor/index.js +20 -0
- package/lib/lowcode/painter/components/field-setting/BatchSetting.js +161 -0
- package/lib/lowcode/painter/components/field-setting/CheckFrontRules.js +116 -0
- package/lib/lowcode/painter/components/field-setting/CheckRules.js +108 -0
- package/lib/lowcode/painter/components/field-setting/FieldAttrs.js +295 -0
- package/lib/lowcode/painter/components/field-setting/FieldAttrsModal.js +296 -0
- package/lib/lowcode/painter/components/field-setting/FieldDefaultValue.js +70 -0
- package/lib/lowcode/painter/components/field-setting/FieldRulesModal.js +143 -0
- package/lib/lowcode/painter/components/field-setting/SettingUI.js +526 -0
- package/lib/lowcode/painter/components/field-setting/index.js +347 -0
- package/lib/lowcode/painter/components/field-setting/meta/frontRules.js +59 -0
- package/lib/lowcode/painter/index.js +8 -3
- package/lib/lowcode/painter/panel-section/ActionsColumnWidth.js +32 -0
- package/lib/lowcode/painter/panel-section/ActionsEditor/ActionEditor.js +109 -0
- package/lib/lowcode/painter/panel-section/ActionsEditor/index.js +241 -0
- package/lib/lowcode/painter/panel-section/BlockEditor/index.js +34 -0
- package/lib/lowcode/painter/panel-section/BlocksEditor/BlockEditorItem.js +52 -0
- package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +236 -0
- package/lib/lowcode/painter/panel-section/ButtonType.js +48 -0
- package/lib/lowcode/painter/panel-section/ComponentSelector.js +43 -0
- package/lib/lowcode/painter/panel-section/DataSetSelector.js +167 -0
- package/lib/lowcode/painter/panel-section/FieldState.js +70 -0
- package/lib/lowcode/painter/panel-section/FieldsSetting.js +354 -0
- package/lib/lowcode/painter/panel-section/I18nInput.js +41 -0
- package/lib/lowcode/painter/panel-section/Icon.js +56 -0
- package/lib/lowcode/painter/panel-section/IconConditionSelector.js +119 -0
- package/lib/lowcode/painter/panel-section/IconSelector.js +144 -0
- package/lib/lowcode/painter/panel-section/ImpExp.js +193 -0
- package/lib/lowcode/painter/panel-section/ImpExpAlone.js +130 -0
- package/lib/lowcode/painter/panel-section/JSEditor.js +57 -0
- package/lib/lowcode/painter/panel-section/LayoutRatio.js +60 -53
- package/lib/lowcode/painter/panel-section/PageLayoutDisplay.js +120 -0
- package/lib/lowcode/painter/panel-section/SerialsSelector.js +53 -0
- package/lib/lowcode/painter/panel-section/SplitDisplay.js +172 -0
- 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 +99 -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 +218 -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 +41 -0
- package/lib/lowcode/painter/panel-section/TabItems.js +231 -0
- package/lib/lowcode/painter/panel-section/TableTopFilter.js +324 -0
- package/lib/lowcode/painter/panel-section/TableZebra.js +82 -0
- package/lib/lowcode/painter/panel-section/TreeRootEditor.js +94 -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/action-bind-modal.less +102 -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 +28 -0
- package/lib/lowcode/painter/style/color-input.less +19 -0
- package/lib/lowcode/painter/style/components.less +5 -4
- package/lib/lowcode/painter/style/design.less +128 -6
- package/lib/lowcode/painter/style/display.less +17 -0
- package/lib/lowcode/painter/style/dragdrop.less +10 -0
- package/lib/lowcode/painter/style/fields-setting.less +25 -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/impexp.less +7 -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 +95 -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/page-layout-display.less +28 -0
- package/lib/lowcode/painter/style/panel-attrs.less +43 -0
- package/lib/lowcode/painter/style/panel-item.less +45 -12
- package/lib/lowcode/painter/style/panel.less +93 -0
- package/lib/lowcode/painter/style/pop-confirm.less +17 -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/split-display.less +19 -0
- package/lib/lowcode/painter/style/style-panel.less +37 -0
- package/lib/lowcode/painter/style/tabitems.less +90 -0
- package/lib/lowcode/painter/style/treedragdrop.less +19 -0
- package/lib/lowcode/preview/index.js +35 -0
- package/lib/lowcode/view/Canvas.js +56 -133
- package/lib/lowcode/view/Loading.js +6 -2
- package/lib/lowcode/view/Page.js +20 -31
- package/lib/lowcode/view/errorBoundary.js +69 -0
- package/lib/lowcode/view/index.js +5 -6
- package/lib/lowcode/view/lc-components/Box/FunctionDesign.js +33 -0
- package/lib/lowcode/view/lc-components/Box/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/Box/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/Box/index.js +33 -7
- package/lib/lowcode/view/lc-components/Box/index.less +14 -0
- package/lib/lowcode/view/lc-components/Box/meta.json +40 -0
- package/lib/lowcode/view/lc-components/Button/FunctionDesign.js +26 -0
- package/lib/lowcode/view/lc-components/Button/FunctionLive.js +13 -0
- package/lib/lowcode/view/lc-components/Button/FunctionPreview.js +13 -0
- package/lib/lowcode/view/lc-components/Button/index.js +105 -18
- 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 +17 -0
- package/lib/lowcode/view/lc-components/CardList/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/CardList/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/CardList/index.js +1 -0
- package/{es/lowcode/engine/meta/components/table.json → lib/lowcode/view/lc-components/CardList/meta.json} +24 -32
- package/lib/lowcode/view/lc-components/Dialog/FunctionDesign.js +66 -0
- package/lib/lowcode/view/lc-components/Dialog/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/Dialog/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/Dialog/index.js +163 -27
- package/lib/lowcode/view/lc-components/Dialog/index.less +7 -2
- package/lib/lowcode/view/lc-components/Dialog/meta.json +150 -0
- package/lib/lowcode/view/lc-components/Drawer/FunctionDesign.js +30 -0
- package/lib/lowcode/view/lc-components/Drawer/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/Drawer/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/Drawer/index.js +42 -9
- package/lib/lowcode/view/lc-components/Drawer/index.less +10 -0
- package/lib/lowcode/view/lc-components/Drawer/meta.json +131 -0
- package/lib/lowcode/view/lc-components/FieldColor/meta.json +157 -0
- package/lib/lowcode/view/lc-components/FieldComplex/meta.json +133 -0
- package/lib/lowcode/view/lc-components/FieldDate/meta.json +139 -0
- package/lib/lowcode/view/lc-components/FieldDict/meta.json +138 -0
- package/lib/lowcode/view/lc-components/FieldEditor/meta.json +138 -0
- package/lib/lowcode/view/lc-components/FieldGroup/meta.json +167 -0
- package/lib/lowcode/view/lc-components/FieldNumber/meta.json +142 -0
- package/lib/lowcode/view/lc-components/FieldRadio/meta.json +115 -0
- package/lib/lowcode/view/lc-components/FieldRegion/meta.json +121 -0
- package/lib/lowcode/view/lc-components/FieldSelect/meta.json +152 -0
- package/lib/lowcode/view/lc-components/FieldString/meta.json +152 -0
- package/lib/lowcode/view/lc-components/FieldSwitch/meta.json +125 -0
- package/lib/lowcode/view/lc-components/FieldTextarea/meta.json +143 -0
- package/lib/lowcode/view/lc-components/FieldUpload/meta.json +165 -0
- package/lib/lowcode/view/lc-components/FieldUser/meta.json +176 -0
- package/lib/lowcode/view/lc-components/FieldYear/meta.json +129 -0
- package/lib/lowcode/view/lc-components/Form/FunctionDesign.js +107 -0
- package/lib/lowcode/view/lc-components/Form/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/Form/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/Form/index.js +575 -11
- package/lib/lowcode/view/lc-components/Form/index.less +5 -0
- package/lib/lowcode/view/lc-components/Form/meta.json +610 -0
- package/lib/lowcode/view/lc-components/Iframe/FunctionDesign.js +17 -0
- package/lib/lowcode/view/lc-components/Iframe/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/Iframe/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/Iframe/index.js +1 -0
- package/lib/lowcode/view/lc-components/Iframe/meta.json +32 -0
- package/lib/lowcode/view/lc-components/ImEx/FunctionDesign.js +22 -0
- package/lib/lowcode/view/lc-components/ImEx/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/ImEx/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/ImEx/index.js +468 -8
- package/lib/lowcode/view/lc-components/ImEx/index.less +7 -0
- package/lib/lowcode/view/lc-components/ImEx/meta.json +114 -0
- package/lib/lowcode/view/lc-components/Image/FunctionDesign.js +17 -0
- package/lib/lowcode/view/lc-components/Image/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/Image/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/Image/index.js +1 -0
- package/lib/lowcode/view/lc-components/Image/meta.json +114 -0
- package/lib/lowcode/view/lc-components/JSX/FunctionDesign.js +17 -0
- package/lib/lowcode/view/lc-components/JSX/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/JSX/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/JSX/RuntimeComp.js +51 -0
- package/lib/lowcode/view/lc-components/JSX/index.js +18 -6
- package/lib/lowcode/view/lc-components/JSX/meta.json +28 -0
- package/lib/lowcode/view/lc-components/Layout/FunctionDesign.js +77 -0
- package/lib/lowcode/view/lc-components/Layout/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/Layout/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/Layout/index.js +44 -8
- package/lib/lowcode/view/lc-components/Layout/index.less +5 -0
- package/lib/lowcode/view/lc-components/Layout/meta.json +107 -0
- package/lib/lowcode/view/lc-components/Link/FunctionDesign.js +17 -0
- package/lib/lowcode/view/lc-components/Link/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/Link/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/Link/index.js +4 -0
- package/lib/lowcode/view/lc-components/Link/meta.json +112 -0
- package/lib/lowcode/view/lc-components/Page/meta.json +55 -0
- package/lib/lowcode/view/lc-components/PageContent/index.js +63 -0
- package/lib/lowcode/view/lc-components/PageContent/meta.json +9 -0
- package/lib/lowcode/view/lc-components/PageFooter/index.js +46 -0
- package/lib/lowcode/view/lc-components/PageFooter/meta.json +9 -0
- package/lib/lowcode/view/lc-components/PageHeader/index.js +50 -0
- package/lib/lowcode/view/lc-components/PageHeader/meta.json +9 -0
- package/lib/lowcode/view/lc-components/PageLayout/FunctionDesign.js +76 -0
- package/lib/lowcode/view/lc-components/PageLayout/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/PageLayout/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/PageLayout/index.js +49 -0
- package/lib/lowcode/view/lc-components/PageLayout/meta.json +59 -0
- package/lib/lowcode/view/lc-components/PageModal/index.js +27 -0
- package/lib/lowcode/view/lc-components/Section/FunctionDesign.js +39 -0
- package/lib/lowcode/view/lc-components/Section/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/Section/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/Section/index.js +117 -23
- package/lib/lowcode/view/lc-components/Section/index.less +7 -0
- package/lib/lowcode/view/lc-components/Section/meta.json +107 -0
- package/lib/lowcode/view/lc-components/Split/FunctionDesign.js +71 -0
- package/lib/lowcode/view/lc-components/Split/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/Split/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/Split/index.js +44 -6
- package/lib/lowcode/view/lc-components/Split/meta.json +53 -0
- package/lib/lowcode/view/lc-components/Table/FunctionDesign.js +63 -0
- package/lib/lowcode/view/lc-components/Table/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/Table/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/Table/components/TopFilter.js +124 -0
- package/lib/lowcode/view/lc-components/Table/components/TopImex.js +433 -0
- package/lib/lowcode/view/lc-components/Table/index.js +791 -14
- package/lib/lowcode/view/lc-components/Table/meta.json +451 -0
- package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +78 -0
- package/lib/lowcode/view/lc-components/Tabs/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/Tabs/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/Tabs/index.js +129 -11
- package/lib/lowcode/view/lc-components/Tabs/meta.json +113 -0
- package/lib/lowcode/view/lc-components/Text/FunctionDesign.js +17 -0
- package/lib/lowcode/view/lc-components/Text/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/Text/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/Text/index.js +39 -8
- package/lib/lowcode/view/lc-components/Text/meta.json +56 -0
- package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +76 -0
- package/lib/lowcode/view/lc-components/Tree/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/Tree/FunctionPreview.js +33 -0
- package/lib/lowcode/view/lc-components/Tree/index.js +375 -6
- package/lib/lowcode/view/lc-components/Tree/index.less +5 -0
- package/lib/lowcode/view/lc-components/Tree/meta.json +357 -0
- package/lib/lowcode/view/lc-components/Wrapper.js +43 -18
- package/lib/lowcode/view/style/page.less +3 -1
- package/lib/services.js +4 -45
- package/lib/upload/FilesWall/file.png +0 -0
- package/lib/upload/FilesWall/index.js +429 -0
- package/lib/upload/FilesWall/index.less +74 -0
- package/lib/upload/Form/gridForm.js +8 -19
- package/lib/upload/Form/index.js +2 -12
- package/lib/upload/FormItem/index.js +7 -8
- package/lib/upload/index.js +8 -1
- package/lib/utils/action.js +2 -2
- package/lib/utils/form.js +19 -41
- package/lib/utils/grid.js +16 -15
- package/package.json +30 -12
- package/es/components/LdRuntimeCom/index.js +0 -42
- package/es/lowcode/engine/meta/components/form.json +0 -116
- package/es/lowcode/engine/meta/components/jsx.json +0 -24
- package/es/lowcode/engine/meta/components/modal.json +0 -120
- package/es/lowcode/engine/meta/components/section.json +0 -107
- package/es/lowcode/engine/meta/components/split.json +0 -71
- package/es/lowcode/engine/meta/components/tabs.json +0 -140
- package/es/lowcode/engine/meta/components/tree.json +0 -156
- package/es/lowcode/engine/meta/modal.props.default.json +0 -11
- package/es/lowcode/engine/provider/ContextProvider.js +0 -164
- package/es/lowcode/engine/tools/lcid.js +0 -16
- package/es/lowcode/painter/panel-section/Radio.js +0 -58
- package/lib/components/LdRuntimeCom/index.js +0 -49
- package/lib/lowcode/engine/meta/components/form.json +0 -116
- package/lib/lowcode/engine/meta/components/jsx.json +0 -24
- package/lib/lowcode/engine/meta/components/modal.json +0 -120
- package/lib/lowcode/engine/meta/components/section.json +0 -107
- package/lib/lowcode/engine/meta/components/split.json +0 -71
- package/lib/lowcode/engine/meta/components/tabs.json +0 -140
- package/lib/lowcode/engine/meta/components/tree.json +0 -156
- package/lib/lowcode/engine/meta/modal.props.default.json +0 -11
- package/lib/lowcode/engine/provider/ContextProvider.js +0 -172
- package/lib/lowcode/engine/tools/lcid.js +0 -22
- package/lib/lowcode/painter/panel-section/Radio.js +0 -65
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["value", "options", "onChange", "defaultValue", "allowNull", "convertInt"];
|
|
5
|
+
import React, { useState } from 'react';
|
|
6
|
+
import { useUpdateEffect } from 'ahooks';
|
|
7
|
+
import styles from "../style/number-input.less";
|
|
8
|
+
import { InputNumber, Dropdown, Menu } from 'luck-design/antd';
|
|
9
|
+
import { isNil } from 'lodash';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* NumberInput 组件是一个带单位选择的数字输入框组件,允许用户输入一个数值并从预定义的选项中选择一个单位。
|
|
13
|
+
* 它支持默认值、空值、自动类型转换以及自定义更改处理逻辑。
|
|
14
|
+
* 组件内部通过 Dropdown 组件提供一个单位的下拉选择菜单,并通过 InputNumber 接收数值输入。
|
|
15
|
+
* 该组件也支持将输入值转换为整数或保持为原始格式,并允许通过 options 定制可选单位。
|
|
16
|
+
*
|
|
17
|
+
* @component
|
|
18
|
+
* @example
|
|
19
|
+
* const options = [{ value: 'px', label: '像素' }, { value: '%', label: '百分比' }];
|
|
20
|
+
* <NumberInput
|
|
21
|
+
* value={100}
|
|
22
|
+
* options={options}
|
|
23
|
+
* onChange={(newValue) => console.log('New value:', newValue)}
|
|
24
|
+
* defaultValue={0}
|
|
25
|
+
* allowNull={true}
|
|
26
|
+
* convertInt={false}
|
|
27
|
+
* />
|
|
28
|
+
*
|
|
29
|
+
* @param {Object} props - 组件的属性。
|
|
30
|
+
* @param {number|string} props.value - 初始化输入框的值。
|
|
31
|
+
* @param {Object[]} props.options - 可选单位的数组,每个对象包含 value(单位的值)和 label(显示在下拉菜单中的标签)。
|
|
32
|
+
* @param {Function} props.onChange - 当输入值或单位改变时触发的回调函数。传递新的值作为参数。
|
|
33
|
+
* @param {number|string} [props.defaultValue] - 未指定 value 时的默认值。
|
|
34
|
+
* @param {boolean} [props.allowNull=true] - 是否允许空值。
|
|
35
|
+
* @param {boolean} [props.convertInt=false] - 是否将输入值转换为整数。
|
|
36
|
+
* @param {Object} rest - 传递给 InputNumber 组件的其他属性。
|
|
37
|
+
*
|
|
38
|
+
* @returns {ReactElement} 返回一个 React 元素,表示一个带单位选择的数字输入框组件。
|
|
39
|
+
*/
|
|
40
|
+
export default function (_ref) {
|
|
41
|
+
var value = _ref.value,
|
|
42
|
+
options = _ref.options,
|
|
43
|
+
onChange = _ref.onChange,
|
|
44
|
+
defaultValue = _ref.defaultValue,
|
|
45
|
+
_ref$allowNull = _ref.allowNull,
|
|
46
|
+
allowNull = _ref$allowNull === void 0 ? true : _ref$allowNull,
|
|
47
|
+
_ref$convertInt = _ref.convertInt,
|
|
48
|
+
convertInt = _ref$convertInt === void 0 ? false : _ref$convertInt,
|
|
49
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
50
|
+
var _useState = useState(value !== null && value !== void 0 ? value : defaultValue),
|
|
51
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
52
|
+
val = _useState2[0],
|
|
53
|
+
setVal = _useState2[1];
|
|
54
|
+
useUpdateEffect(function () {
|
|
55
|
+
setVal(value);
|
|
56
|
+
}, [value]);
|
|
57
|
+
var _parseValue = parseValue(val, options),
|
|
58
|
+
number = _parseValue.number,
|
|
59
|
+
unit = _parseValue.unit;
|
|
60
|
+
var handleSelect = function handleSelect(item) {
|
|
61
|
+
var newValue;
|
|
62
|
+
if (item.key == 'auto') newValue = item.key;else if (isNaN(number)) {
|
|
63
|
+
var defaultNumber = defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0;
|
|
64
|
+
if (isNaN(defaultNumber)) {
|
|
65
|
+
var match = defaultNumber.match(/[\d\.]+/);
|
|
66
|
+
defaultNumber = match ? parseFloat(match[0]) : 0;
|
|
67
|
+
}
|
|
68
|
+
newValue = defaultNumber + item.key;
|
|
69
|
+
} else {
|
|
70
|
+
newValue = number + item.key;
|
|
71
|
+
}
|
|
72
|
+
changeValue(newValue);
|
|
73
|
+
};
|
|
74
|
+
var handleChange = function handleChange(value) {
|
|
75
|
+
if (!isNil(value)) changeValue(value + (unit !== null && unit !== void 0 ? unit : options[0].value));else changeValue(null);
|
|
76
|
+
};
|
|
77
|
+
var changeValue = function changeValue(value) {
|
|
78
|
+
// 分离需要数字前缀的值和不需要数字前缀的值(如auto)
|
|
79
|
+
var numericValues = options.filter(function (option) {
|
|
80
|
+
return option.value !== 'auto';
|
|
81
|
+
}).map(function (option) {
|
|
82
|
+
return option.value.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
|
83
|
+
}).join('|');
|
|
84
|
+
|
|
85
|
+
// 构建正则表达式
|
|
86
|
+
var regex = new RegExp("^(\\d*(?:".concat(numericValues, ")|auto)$"));
|
|
87
|
+
var isValid = regex.test(value);
|
|
88
|
+
if (isValid || allowNull && (value === '' || value == null)) {
|
|
89
|
+
// 如果value符合要求,执行以下代码
|
|
90
|
+
if (onChange) onChange(convertInt ? parseInt(value) : value);
|
|
91
|
+
setVal(value);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
var optionName = options[0].label;
|
|
95
|
+
var menu = /*#__PURE__*/React.createElement(Menu, {
|
|
96
|
+
onClick: handleSelect
|
|
97
|
+
}, options.map(function (item) {
|
|
98
|
+
if (item.value == unit) optionName = item.label;
|
|
99
|
+
return /*#__PURE__*/React.createElement(Menu.Item, {
|
|
100
|
+
key: item.value
|
|
101
|
+
}, item.label);
|
|
102
|
+
}));
|
|
103
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
104
|
+
className: styles['lc-painter-panel-section-components-number-input']
|
|
105
|
+
}, rest), /*#__PURE__*/React.createElement("div", {
|
|
106
|
+
className: styles['num-input-wrap']
|
|
107
|
+
}, /*#__PURE__*/React.createElement(InputNumber, _extends({
|
|
108
|
+
className: styles['num-input'],
|
|
109
|
+
size: "small"
|
|
110
|
+
}, rest, {
|
|
111
|
+
value: number,
|
|
112
|
+
onChange: handleChange
|
|
113
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
114
|
+
className: styles['num-option']
|
|
115
|
+
}, /*#__PURE__*/React.createElement(Dropdown, {
|
|
116
|
+
overlay: menu,
|
|
117
|
+
value: unit,
|
|
118
|
+
disabled: options.length === 1,
|
|
119
|
+
getPopupContainer: function getPopupContainer() {
|
|
120
|
+
return document.getElementById('lc-design-workspace');
|
|
121
|
+
}
|
|
122
|
+
}, /*#__PURE__*/React.createElement("span", null, optionName)))));
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// 解析value,分离数字和单位
|
|
126
|
+
var parseValue = function parseValue(value, options) {
|
|
127
|
+
if (value === null || typeof value === 'undefined' || value === '') {
|
|
128
|
+
return {
|
|
129
|
+
number: null,
|
|
130
|
+
unit: null
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
value = String(value);
|
|
134
|
+
|
|
135
|
+
// 调整正则表达式以匹配数字后跟任意非数字字符
|
|
136
|
+
var result = value.match(/^(\d+)(\D*)$/); // \D 匹配任意非数字字符
|
|
137
|
+
if (result) {
|
|
138
|
+
return {
|
|
139
|
+
number: result[1],
|
|
140
|
+
unit: result[2] ? result[2] : options[0].value // 如果有非数字字符,则返回该字符,否则返回默认单位的第一项
|
|
141
|
+
};
|
|
142
|
+
} else {
|
|
143
|
+
return {
|
|
144
|
+
number: value,
|
|
145
|
+
unit: value
|
|
146
|
+
}; // 当没有数字时,比如 "auto",这里的逻辑可能需要调整,因为你的描述有点矛盾
|
|
147
|
+
}
|
|
148
|
+
};
|
|
@@ -1,20 +1,92 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
+
import React, { useState, useEffect } from 'react';
|
|
4
|
+
import { useMemoizedFn, useCreation } from 'ahooks';
|
|
5
|
+
import { Tooltip, Icon } from 'luck-design/antd';
|
|
6
|
+
import { startsWith } from 'lodash';
|
|
7
|
+
import classNames from 'classnames';
|
|
2
8
|
import styles from "../style/panel-item.less";
|
|
3
9
|
|
|
4
10
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
11
|
+
* `PanelItem` 组件用于展示属性面板中的单个属性项。
|
|
12
|
+
* 它支持展示一个标签(属性名称)及对应的组件(例如输入框、选择器等),并可通过传入的 `addon` 属性添加额外的内容。
|
|
13
|
+
* 此组件支持折叠功能,可以通过 `collapsed` 属性控制初始折叠状态。
|
|
14
|
+
*
|
|
15
|
+
* @component
|
|
16
|
+
* @example
|
|
17
|
+
* ```jsx
|
|
18
|
+
* <PanelItem
|
|
19
|
+
* label="属性名称"
|
|
20
|
+
* collapsed={false}
|
|
21
|
+
* addon={<div>额外内容</div>}
|
|
22
|
+
* >
|
|
23
|
+
* <input type="text" />
|
|
24
|
+
* </PanelItem>
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @param {Object} props 组件接收的参数。
|
|
28
|
+
* @param {string} props.label 显示的属性名称。如果标签以 `#` 开头,则不显示。
|
|
29
|
+
* @param {boolean} [props.collapsed=true] 初始是否折叠。默认为 `true`。
|
|
30
|
+
* @param {React.ReactNode} props.addon 当属性项展开时,可以在下方显示额外内容。
|
|
31
|
+
* @param {React.ReactNode} props.children 对应于属性名称的组件,可以是输入框、下拉菜单等 React 节点。
|
|
32
|
+
*
|
|
33
|
+
* @returns {React.Element} 渲染属性名称、对应的组件以及可选的额外内容。
|
|
9
34
|
*/
|
|
10
35
|
export default function (_ref) {
|
|
11
|
-
var
|
|
12
|
-
|
|
36
|
+
var field = _ref.field,
|
|
37
|
+
label = _ref.label,
|
|
38
|
+
desc = _ref.desc,
|
|
39
|
+
_ref$collapsed = _ref.collapsed,
|
|
40
|
+
collapsed = _ref$collapsed === void 0 ? true : _ref$collapsed,
|
|
41
|
+
addon = _ref.addon,
|
|
42
|
+
suppressPadding = _ref.suppressPadding,
|
|
43
|
+
children = _ref.children;
|
|
44
|
+
var _useState = useState(collapsed),
|
|
45
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
46
|
+
curClps = _useState2[0],
|
|
47
|
+
setCurClps = _useState2[1];
|
|
48
|
+
var HandleClick = useMemoizedFn(function () {
|
|
49
|
+
if (!addon) return;
|
|
50
|
+
setCurClps(!curClps);
|
|
51
|
+
});
|
|
52
|
+
var tip = useCreation(function () {
|
|
53
|
+
var str = void 0;
|
|
54
|
+
if (field) {
|
|
55
|
+
str = "\u5C5E\u6027\uFF1A".concat(field);
|
|
56
|
+
}
|
|
57
|
+
if (desc) {
|
|
58
|
+
str = "".concat(str ? "".concat(str, " | ") : '', "\u8BF4\u660E\uFF1A").concat(desc);
|
|
59
|
+
}
|
|
60
|
+
return str;
|
|
61
|
+
}, [field, desc]);
|
|
62
|
+
useEffect(function () {
|
|
63
|
+
setCurClps(collapsed);
|
|
64
|
+
}, [collapsed]);
|
|
13
65
|
return /*#__PURE__*/React.createElement("div", {
|
|
14
|
-
className: styles['lc-painter-components-panelitem']
|
|
66
|
+
className: classNames(styles['lc-painter-components-panelitem'], _defineProperty({}, styles['no-padding'], !!suppressPadding))
|
|
67
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
68
|
+
className: styles['panelrow']
|
|
69
|
+
}, label && !startsWith(label, '#') && /*#__PURE__*/React.createElement("div", {
|
|
70
|
+
className: "".concat(styles['item-label']).concat(addon ? ' panel-pointer' : ''),
|
|
71
|
+
onClick: HandleClick
|
|
72
|
+
}, addon && /*#__PURE__*/React.createElement(Icon, {
|
|
73
|
+
className: styles['item-icon'],
|
|
74
|
+
type: !curClps ? 'down' : 'right'
|
|
75
|
+
}), /*#__PURE__*/React.createElement(Tooltip, {
|
|
76
|
+
overlayStyle: {
|
|
77
|
+
fontSize: '12px'
|
|
78
|
+
},
|
|
79
|
+
title: tip,
|
|
80
|
+
getPopupContainer: function getPopupContainer() {
|
|
81
|
+
return document.getElementById('lc-design-workspace');
|
|
82
|
+
}
|
|
15
83
|
}, /*#__PURE__*/React.createElement("span", {
|
|
16
|
-
|
|
17
|
-
|
|
84
|
+
style: desc ? {
|
|
85
|
+
cursor: 'help'
|
|
86
|
+
} : null
|
|
87
|
+
}, label))), /*#__PURE__*/React.createElement("span", {
|
|
18
88
|
className: styles['item-component']
|
|
19
|
-
},
|
|
89
|
+
}, children)), !curClps && addon && /*#__PURE__*/React.createElement("div", {
|
|
90
|
+
className: styles['addon']
|
|
91
|
+
}, addon));
|
|
20
92
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["showBtn"];
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import { Popconfirm } from 'luck-design/antd';
|
|
7
|
+
import classNames from 'classnames';
|
|
8
|
+
import styles from "../style/pop-confirm.less";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* 这个组件是对 luck-design/antd 的 Popconfirm 组件的封装。
|
|
12
|
+
* 它提供了一个带有自定义样式的弹出确认框,用于在用户尝试执行重要操作前提示确认信息。
|
|
13
|
+
* 通过传入的 props 可以自定义 Popconfirm 组件的行为和外观。
|
|
14
|
+
*
|
|
15
|
+
* @param {Object} props - 传递给 Popconfirm 组件的属性。这包括所有标准的 Popconfirm 属性,
|
|
16
|
+
* 以及任何额外的属性,如事件处理器或自定义内容。
|
|
17
|
+
* @returns {ReactNode} 返回一个配置了自定义样式和指定属性的 Popconfirm 组件实例。
|
|
18
|
+
*/
|
|
19
|
+
export default function (_ref) {
|
|
20
|
+
var _ref$showBtn = _ref.showBtn,
|
|
21
|
+
showBtn = _ref$showBtn === void 0 ? false : _ref$showBtn,
|
|
22
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
23
|
+
return /*#__PURE__*/React.createElement(Popconfirm, _extends({
|
|
24
|
+
overlayClassName: classNames(styles['lc-painter-panel-section-components-popconfirm'], _defineProperty({}, styles['show-btn'], showBtn)),
|
|
25
|
+
icon: null,
|
|
26
|
+
getPopupContainer: function getPopupContainer() {
|
|
27
|
+
return document.getElementById('lc-design-workspace');
|
|
28
|
+
}
|
|
29
|
+
}, props));
|
|
30
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["children"],
|
|
4
|
+
_excluded2 = ["children"],
|
|
5
|
+
_excluded3 = ["children"],
|
|
6
|
+
_excluded4 = ["children"];
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import styles from "../style/pop-form.less";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* PopForm 是一个为弹出式表单布局提供容器的组件,它使用特定的样式来组织表单内容。
|
|
12
|
+
*
|
|
13
|
+
* @param {Object} props - 组件的 props。
|
|
14
|
+
* @param {ReactNode} props.children - 组件内包含的子元素。
|
|
15
|
+
* @param {Object} rest - 传递给组件的其余属性,这些属性将直接传递给根 div 元素。
|
|
16
|
+
*/
|
|
17
|
+
export var PopForm = function PopForm(_ref) {
|
|
18
|
+
var children = _ref.children,
|
|
19
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
20
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
21
|
+
className: styles['lc-painter-panel-section-components-popform']
|
|
22
|
+
}, rest), children);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* PopFormItem 是 PopForm 组件的一个子项,用于包装表单的每个独立字段。
|
|
27
|
+
* 它提供了一致的布局和样式封装,用于表单项的展示。
|
|
28
|
+
*
|
|
29
|
+
* @param {Object} props - 组件的 props。
|
|
30
|
+
* @param {ReactNode} props.children - 组件内包含的子元素。
|
|
31
|
+
* @param {Object} rest - 传递给组件的其余属性,这些属性将直接传递给根 div 元素。
|
|
32
|
+
*/
|
|
33
|
+
export var PopFormItem = function PopFormItem(_ref2) {
|
|
34
|
+
var children = _ref2.children,
|
|
35
|
+
rest = _objectWithoutProperties(_ref2, _excluded2);
|
|
36
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
37
|
+
className: styles['item']
|
|
38
|
+
}, rest), children);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* PopFormItemLeft 是 PopFormItem 的子组件,用于展示表单项的标签或标题部分。
|
|
43
|
+
* 它通常用于放置字段名或说明性文本。
|
|
44
|
+
*
|
|
45
|
+
* @param {Object} props - 组件的 props。
|
|
46
|
+
* @param {ReactNode} props.children - 组件内包含的子元素。
|
|
47
|
+
* @param {Object} rest - 传递给组件的其余属性,这些属性将直接传递给根 div 元素。
|
|
48
|
+
*/
|
|
49
|
+
export var PopFormItemLeft = function PopFormItemLeft(_ref3) {
|
|
50
|
+
var children = _ref3.children,
|
|
51
|
+
rest = _objectWithoutProperties(_ref3, _excluded3);
|
|
52
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
53
|
+
className: styles['left']
|
|
54
|
+
}, rest), children);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* PopFormItemRight 是 PopFormItem 的子组件,用于包含表单项的输入字段。
|
|
59
|
+
* 它是表单项布局中用于用户输入的部分,可以容纳各种类型的输入控件。
|
|
60
|
+
*
|
|
61
|
+
* @param {Object} props - 组件的 props。
|
|
62
|
+
* @param {ReactNode} props.children - 组件内包含的子元素。
|
|
63
|
+
* @param {Object} rest - 传递给组件的其余属性,这些属性将直接传递给根 div 元素。
|
|
64
|
+
*/
|
|
65
|
+
export var PopFormItemRight = function PopFormItemRight(_ref4) {
|
|
66
|
+
var children = _ref4.children,
|
|
67
|
+
rest = _objectWithoutProperties(_ref4, _excluded4);
|
|
68
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
69
|
+
className: styles['right']
|
|
70
|
+
}, rest), children);
|
|
71
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { getCreateHistoryOptions } from 'umi';
|
|
3
|
+
import styled from 'styled-components';
|
|
4
|
+
import { useCreation } from 'ahooks';
|
|
5
|
+
var Iframe = styled.iframe.withConfig({
|
|
6
|
+
displayName: "Iframe",
|
|
7
|
+
componentId: "luckda-6530__sc-cyloc5-0"
|
|
8
|
+
})(["width:100%;height:100%;border:none;"]);
|
|
9
|
+
var PreviewIframe = function PreviewIframe(_ref) {
|
|
10
|
+
var code = _ref.code,
|
|
11
|
+
userId = _ref.userId;
|
|
12
|
+
var basename = useCreation(function () {
|
|
13
|
+
return getCreateHistoryOptions().basename;
|
|
14
|
+
});
|
|
15
|
+
return /*#__PURE__*/React.createElement(Iframe, {
|
|
16
|
+
src: "".concat(basename === '/' ? '' : basename, "/byteman/preview/").concat(code, "?_user=").concat(userId, "&pure=1")
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
export default PreviewIframe;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
3
|
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
3
4
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
-
var _excluded = ["onValueChange", "rules", "value"];
|
|
6
|
+
var _excluded = ["onValueChange", "rules", "value", "defaultValue"];
|
|
6
7
|
import React, { forwardRef, useState, useEffect } from 'react';
|
|
8
|
+
import { useUpdateEffect } from 'ahooks';
|
|
7
9
|
import { Input, Tooltip } from 'luck-design/antd';
|
|
10
|
+
import classNames from 'classnames';
|
|
8
11
|
import styles from "../style/rule-input.less";
|
|
9
12
|
|
|
10
13
|
/**
|
|
@@ -42,8 +45,9 @@ export default /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
42
45
|
var onValueChange = _ref.onValueChange,
|
|
43
46
|
rules = _ref.rules,
|
|
44
47
|
value = _ref.value,
|
|
48
|
+
defaultValue = _ref.defaultValue,
|
|
45
49
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
46
|
-
var _useState = useState(value),
|
|
50
|
+
var _useState = useState(value || defaultValue),
|
|
47
51
|
_useState2 = _slicedToArray(_useState, 2),
|
|
48
52
|
inputValue = _useState2[0],
|
|
49
53
|
setInputValue = _useState2[1]; // 托管输入值的状态
|
|
@@ -53,7 +57,7 @@ export default /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
53
57
|
setErr = _useState4[1];
|
|
54
58
|
|
|
55
59
|
// 使用useEffect钩子监听value的变化
|
|
56
|
-
|
|
60
|
+
useUpdateEffect(function () {
|
|
57
61
|
setInputValue(value);
|
|
58
62
|
setErr(null);
|
|
59
63
|
}, [value]);
|
|
@@ -61,7 +65,6 @@ export default /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
61
65
|
var value = e.target.value;
|
|
62
66
|
setInputValue(value); // 更新托管的输入值
|
|
63
67
|
|
|
64
|
-
if (value == '') onValueChange(e, value);
|
|
65
68
|
var error = null;
|
|
66
69
|
|
|
67
70
|
// 遍历rules,检查输入值是否满足条件
|
|
@@ -85,16 +88,14 @@ export default /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
85
88
|
onValueChange(e, value);
|
|
86
89
|
} else {
|
|
87
90
|
setErr(error);
|
|
88
|
-
console.
|
|
91
|
+
console.error(error);
|
|
89
92
|
}
|
|
90
93
|
};
|
|
91
|
-
var className = styles['lc-painter-components-ruleinput'];
|
|
92
|
-
if (err) className += ' ' + styles['err'];
|
|
93
94
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tooltip, {
|
|
94
95
|
title: err,
|
|
95
96
|
visible: err
|
|
96
97
|
}, /*#__PURE__*/React.createElement(Input, _extends({
|
|
97
|
-
className:
|
|
98
|
+
className: classNames(styles['lc-painter-components-ruleinput'], _defineProperty({}, styles.err, !!err)),
|
|
98
99
|
size: "small",
|
|
99
100
|
value: inputValue // 绑定输入值
|
|
100
101
|
,
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["datas", "children", "onChange", "strategy", "onDragEnd"];
|
|
5
|
+
import React, { useState, useEffect } from 'react';
|
|
6
|
+
import { DndContext } from '@dnd-kit/core';
|
|
7
|
+
import { SortableContext, arrayMove, useSortable, verticalListSortingStrategy } from '@dnd-kit/sortable';
|
|
8
|
+
import { CSS } from '@dnd-kit/utilities';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* SortBox 是一个使用 dnd-kit 实现拖拽排序的组件。
|
|
12
|
+
* 它允许子元素通过拖拽操作来重新排序,并在排序操作完成后通过 onChange 回调传递新的排序结果。
|
|
13
|
+
*
|
|
14
|
+
* @param {Object} props 组件的 props。
|
|
15
|
+
* @param {Array} props.datas 初始排序的数据数组,通常包含用于排序的唯一标识符。
|
|
16
|
+
* @param {ReactNode} props.children 组件的子元素,通常是需要进行排序的元素集合。
|
|
17
|
+
* @param {Function} props.onChange 当排序操作完成时触发的回调函数,参数为重新排序后的数据数组。
|
|
18
|
+
* @param {Function} [props.strategy=verticalListSortingStrategy] 用于排序的策略。默认为垂直列表排序策略。
|
|
19
|
+
*
|
|
20
|
+
* @returns {ReactNode} 返回一个配置了 DndContext 和 SortableContext 的 React 组件结构。
|
|
21
|
+
*/
|
|
22
|
+
export var SortBox = function SortBox(_ref) {
|
|
23
|
+
var datas = _ref.datas,
|
|
24
|
+
children = _ref.children,
|
|
25
|
+
onChange = _ref.onChange,
|
|
26
|
+
strategy = _ref.strategy,
|
|
27
|
+
onDragEnd = _ref.onDragEnd,
|
|
28
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
29
|
+
var _useState = useState(datas),
|
|
30
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
31
|
+
items = _useState2[0],
|
|
32
|
+
setItems = _useState2[1];
|
|
33
|
+
var sortStrategy = strategy !== null && strategy !== void 0 ? strategy : verticalListSortingStrategy;
|
|
34
|
+
useEffect(function () {
|
|
35
|
+
setItems(datas);
|
|
36
|
+
}, [datas]);
|
|
37
|
+
function handleDragEnd(event) {
|
|
38
|
+
onDragEnd && onDragEnd(event);
|
|
39
|
+
var active = event.active,
|
|
40
|
+
over = event.over;
|
|
41
|
+
if (!active || !over) return;
|
|
42
|
+
if (active.id !== over.id) {
|
|
43
|
+
setItems(function (items) {
|
|
44
|
+
var oldIndex = items.indexOf(active.id);
|
|
45
|
+
var newIndex = items.indexOf(over.id);
|
|
46
|
+
var newSortItem = arrayMove(items, oldIndex, newIndex);
|
|
47
|
+
if (onChange) onChange(newSortItem, oldIndex, newIndex);
|
|
48
|
+
return newSortItem;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return /*#__PURE__*/React.createElement(DndContext, _extends({}, rest, {
|
|
53
|
+
onDragEnd: handleDragEnd
|
|
54
|
+
}), /*#__PURE__*/React.createElement(SortableContext, {
|
|
55
|
+
strategy: sortStrategy,
|
|
56
|
+
items: items
|
|
57
|
+
}, children));
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* SortItem 组件是一个使用 dnd-kit 实现的可排序项。它通过 useSortable 钩子来提供拖拽功能,
|
|
62
|
+
* 并将必要的属性和监听器传递给其子元素,使得子元素可拖拽。
|
|
63
|
+
*
|
|
64
|
+
* @param {Object} props - 组件的 props。
|
|
65
|
+
* @param {string} props.id - 该排序项的唯一标识符,用于识别不同的可排序元素。
|
|
66
|
+
* @param {ReactNode} props.children - 该组件的子元素。通常是你希望使之可拖拽的元素。
|
|
67
|
+
* SortItem 会将拖拽相关的 props 注入到这个子元素中。
|
|
68
|
+
*
|
|
69
|
+
* @returns {ReactNode} 返回一个增强后的 React 元素,此元素集成了拖拽功能。
|
|
70
|
+
* 它基于原 children 元素,附加了用于拖拽的属性和样式。
|
|
71
|
+
*/
|
|
72
|
+
export var SortItem = function SortItem(_ref2) {
|
|
73
|
+
var id = _ref2.id,
|
|
74
|
+
children = _ref2.children;
|
|
75
|
+
var _useSortable = useSortable({
|
|
76
|
+
id: id
|
|
77
|
+
}),
|
|
78
|
+
attributes = _useSortable.attributes,
|
|
79
|
+
listeners = _useSortable.listeners,
|
|
80
|
+
setNodeRef = _useSortable.setNodeRef,
|
|
81
|
+
transform = _useSortable.transform,
|
|
82
|
+
transition = _useSortable.transition,
|
|
83
|
+
setActivatorNodeRef = _useSortable.setActivatorNodeRef;
|
|
84
|
+
var style = {
|
|
85
|
+
transform: CSS.Transform.toString(transform),
|
|
86
|
+
transition: transition
|
|
87
|
+
};
|
|
88
|
+
var childWithProps = /*#__PURE__*/React.cloneElement(children, {
|
|
89
|
+
key: id,
|
|
90
|
+
attributes: attributes,
|
|
91
|
+
listeners: listeners,
|
|
92
|
+
setNodeRef: setNodeRef,
|
|
93
|
+
transform: transform,
|
|
94
|
+
transition: transition,
|
|
95
|
+
setActivatorNodeRef: setActivatorNodeRef,
|
|
96
|
+
style: style
|
|
97
|
+
});
|
|
98
|
+
return childWithProps;
|
|
99
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import TreeDragDropWrapper from "./DragDrop/TreeDragDropWrapper";
|
|
3
|
+
export default function (_ref) {
|
|
4
|
+
var item = _ref.item;
|
|
5
|
+
var EditorNode = function EditorNode() {
|
|
6
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
7
|
+
className: "item"
|
|
8
|
+
}, item.name);
|
|
9
|
+
};
|
|
10
|
+
return /*#__PURE__*/React.createElement(TreeDragDropWrapper, {
|
|
11
|
+
item: item
|
|
12
|
+
}, /*#__PURE__*/React.createElement(EditorNode, null));
|
|
13
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["onChange", "isFullscreen", "style"],
|
|
5
|
+
_excluded2 = ["children", "language", "options"];
|
|
6
|
+
import React, { useEffect, useRef, useImperativeHandle, forwardRef } from 'react';
|
|
7
|
+
import * as monaco from 'monaco-editor';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* BaseEditor 组件是一个封装了 monaco 编辑器的 React 组件,支持前向 ref 引用。
|
|
11
|
+
* 该组件允许用户编辑代码,并在代码发生变更时触发回调函数。
|
|
12
|
+
* 它还支持通过 props 控制编辑器的语言、选项以及是否全屏显示。
|
|
13
|
+
*
|
|
14
|
+
* @component
|
|
15
|
+
* @example
|
|
16
|
+
* const handleEditorChange = (newValue, event) => {
|
|
17
|
+
* console.log('Editor content changed: ', newValue);
|
|
18
|
+
* };
|
|
19
|
+
* <BaseEditor
|
|
20
|
+
* language="javascript"
|
|
21
|
+
* onChange={handleEditorChange}
|
|
22
|
+
* isFullscreen={false}
|
|
23
|
+
* width="600px"
|
|
24
|
+
* height="400px"
|
|
25
|
+
* >
|
|
26
|
+
* {`function sayHello() {\n console.log('Hello, World!');\n}`}
|
|
27
|
+
* </BaseEditor>
|
|
28
|
+
*
|
|
29
|
+
* @param {Object} props - 组件的属性。
|
|
30
|
+
* @param {Function} props.onChange - 当编辑器内容变更时调用的函数。接收最新的编辑器内容和事件对象作为参数。
|
|
31
|
+
* @param {boolean} props.isFullscreen - 控制编辑器是否全屏显示。
|
|
32
|
+
* @param {string} [props.language='javascript'] - 设置编辑器的编程语言,默认为 'javascript'。
|
|
33
|
+
* @param {Object} [props.options={}] - 用于自定义编辑器的选项。
|
|
34
|
+
* @param {React.ReactNode} children - 子组件,通常是编辑器的初始代码。
|
|
35
|
+
* @param {string} [props.width] - 编辑器的宽度,默认为 '100%'。
|
|
36
|
+
* @param {string} [props.height] - 编辑器的高度,默认为 '100%'。
|
|
37
|
+
* @param {Object} rest - 传递给 div 容器的其它属性。
|
|
38
|
+
* @param {React.Ref} ref - React ref 引用,用于外部组件调用编辑器实例的方法。
|
|
39
|
+
*
|
|
40
|
+
* @returns {ReactElement} 返回一个 React 元素,其中包含了一个配置好的 monaco 编辑器实例。
|
|
41
|
+
*/
|
|
42
|
+
var BaseEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
43
|
+
var onChange = _ref.onChange,
|
|
44
|
+
isFullscreen = _ref.isFullscreen,
|
|
45
|
+
style = _ref.style,
|
|
46
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
47
|
+
var children = props.children,
|
|
48
|
+
_props$language = props.language,
|
|
49
|
+
language = _props$language === void 0 ? 'javascript' : _props$language,
|
|
50
|
+
_props$options = props.options,
|
|
51
|
+
options = _props$options === void 0 ? {} : _props$options,
|
|
52
|
+
rest = _objectWithoutProperties(props, _excluded2);
|
|
53
|
+
var editorRef = useRef(null);
|
|
54
|
+
var editorInstance = useRef(null);
|
|
55
|
+
|
|
56
|
+
// 初始化编辑器实例
|
|
57
|
+
useEffect(function () {
|
|
58
|
+
if (editorRef.current) {
|
|
59
|
+
var code = React.Children.toArray(children).join('').trim();
|
|
60
|
+
editorInstance.current = monaco.editor.create(editorRef.current, _objectSpread({
|
|
61
|
+
value: code,
|
|
62
|
+
language: language,
|
|
63
|
+
automaticLayout: true,
|
|
64
|
+
autoIndent: true,
|
|
65
|
+
tabSize: 2
|
|
66
|
+
}, options), {
|
|
67
|
+
storageService: {
|
|
68
|
+
get: function get() {},
|
|
69
|
+
getBoolean: function getBoolean(key) {
|
|
70
|
+
if (key === 'expandSuggestionDocs') return true;
|
|
71
|
+
return false;
|
|
72
|
+
},
|
|
73
|
+
remove: function remove() {},
|
|
74
|
+
store: function store() {},
|
|
75
|
+
onWillSaveState: function onWillSaveState() {},
|
|
76
|
+
onDidChangeStorage: function onDidChangeStorage() {}
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
editorInstance.current.onDidChangeModelContent(function (event) {
|
|
80
|
+
if (onChange) onChange(editorInstance.current.getValue(), event);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return function () {
|
|
84
|
+
var _editorInstance$curre;
|
|
85
|
+
return (_editorInstance$curre = editorInstance.current) === null || _editorInstance$curre === void 0 ? void 0 : _editorInstance$curre.dispose();
|
|
86
|
+
};
|
|
87
|
+
}, [children, language, options]);
|
|
88
|
+
|
|
89
|
+
// 使用 ref 暴露组件方法
|
|
90
|
+
useImperativeHandle(ref, function () {
|
|
91
|
+
return {
|
|
92
|
+
get editor() {
|
|
93
|
+
return editorInstance.current;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
}, []);
|
|
97
|
+
|
|
98
|
+
// 根据是否全屏来设置编辑器的样式
|
|
99
|
+
var editorStyle = isFullscreen ? {
|
|
100
|
+
width: '100vw',
|
|
101
|
+
height: '100vh'
|
|
102
|
+
} : {
|
|
103
|
+
width: props.width || '100%',
|
|
104
|
+
height: props.height || '100%'
|
|
105
|
+
};
|
|
106
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
107
|
+
ref: editorRef,
|
|
108
|
+
style: _objectSpread(_objectSpread({}, editorStyle), style)
|
|
109
|
+
}, rest));
|
|
110
|
+
});
|
|
111
|
+
export default /*#__PURE__*/React.memo(BaseEditor);
|