@cloudbase/weda-ui 0.2.6-alhpa.0 → 0.2.9
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/CHANGELOG.md +240 -0
- package/package.json +5 -5
- package/src/configs/components/container.json +2 -1
- package/src/configs/components/form/input.json +6 -0
- package/src/configs/components/form/richText.json +2 -1
- package/src/configs/components/form/uploader.json +9 -4
- package/src/configs/components/image.json +2 -1
- package/src/configs/components/link.json +2 -1
- package/src/configs/components/richtextview.json +2 -1
- package/src/configs/components/scrollVeiw.json +2 -1
- package/src/configs/components/swiper.json +2 -1
- package/src/configs/components/tabs.json +31 -86
- package/src/configs/components/text.json +2 -1
- package/src/configs/index.js +3 -7
- package/src/index.js +2 -3
- package/src/mp/.gitignore +10 -0
- package/src/mp/components/form/input/index.js +5 -1
- package/src/mp/components/form/input/index.wxml +2 -1
- package/src/mp/components/form/select/index.js +2 -2
- package/src/mp/components/form/textarea/index.wxml +1 -0
- package/src/mp/components/form/uploader/index.js +48 -14
- package/src/mp/components/form/uploader/index.wxml +9 -2
- package/src/mp/components/image/index.js +57 -8
- package/src/mp/components/image/index.json +4 -1
- package/src/mp/components/image/index.wxml +4 -2
- package/src/mp/components/image/index.wxss +14 -0
- package/src/mp/components/richText/index.wxml +3 -1
- package/src/mp/components/tabs/index.js +22 -6
- package/src/mp/utils/deepEqual.js +42 -0
- package/src/web/actions/index.js +2 -4
- package/src/web/components/form/checkbox/index.jsx +8 -10
- package/src/web/components/form/enumSelect/MultipleSelect.jsx +12 -23
- package/src/web/components/form/enumSelect/NormalSelect.jsx +12 -12
- package/src/web/components/form/enumSelect/SelectContainer.jsx +43 -0
- package/src/web/components/form/enumSelect/hooks/index.js +7 -4
- package/src/web/components/form/enumSelect/props/propsTypes.js +7 -0
- package/src/web/components/form/formcell/index.jsx +1 -1
- package/src/web/components/form/input/index.jsx +16 -18
- package/src/web/components/form/radio/index.jsx +7 -7
- package/src/web/components/form/select/h5.jsx +1 -1
- package/src/web/components/form/select/region/{cities.json → cities.js} +2 -2
- package/src/web/components/form/select/region/index.js +3 -3
- package/src/web/components/form/select/region/{provinces.json → provinces.js} +2 -2
- package/src/web/components/form/select/region/{regions.json → regions.js} +2 -2
- package/src/web/components/form/switch/index.jsx +4 -9
- package/src/web/components/form/textarea/index.jsx +4 -12
- package/src/web/components/form/uploader/index.css +15 -0
- package/src/web/components/form/uploader/index.jsx +2 -2
- package/src/web/components/form/uploader/uploader.h5.jsx +237 -0
- package/src/web/components/form/uploader/{uploaderPc.jsx → uploader.pc.jsx} +69 -56
- package/src/web/components/image/image.jsx +79 -5
- package/src/web/components/image/index.css +17 -0
- package/src/web/components/image/index.jsx +1 -0
- package/src/web/components/index.js +27 -62
- package/src/web/components/richTextView/index.css +0 -10
- package/src/web/components/richTextView/index.jsx +1 -12
- package/src/web/components/tabs/{index.js → index.jsx} +3 -3
- package/src/web/components/tabs/{tabsH5.js → tabs.h5.jsx} +9 -47
- package/src/web/components/tabs/{tabsPc.js → tabs.pc.jsx} +13 -47
- package/src/web/components/uploaderView/index.jsx +1 -1
- package/src/web/index.js +2 -3
- package/src/web/utils/isObjectEqual.js +10 -1
- package/src/web/utils/useSyncValue.js +14 -0
- package/src/web/weda-ui.css +8 -0
- package/src/configs/components/form/enumSelect.json +0 -127
- package/src/configs/components/form/mapPosition.json +0 -33
- package/src/configs/components/markdown.json +0 -17
- package/src/mp/components/markdown/index.js +0 -27
- package/src/mp/components/markdown/index.json +0 -6
- package/src/mp/components/markdown/index.wxml +0 -1
- package/src/mp/components/markdown/towxml/audio-player/Audio.js +0 -99
- package/src/mp/components/markdown/towxml/audio-player/audio-player.js +0 -102
- package/src/mp/components/markdown/towxml/audio-player/audio-player.json +0 -5
- package/src/mp/components/markdown/towxml/audio-player/audio-player.wxml +0 -14
- package/src/mp/components/markdown/towxml/audio-player/audio-player.wxss +0 -175
- package/src/mp/components/markdown/towxml/audio-player/loading.svg +0 -1
- package/src/mp/components/markdown/towxml/config.js +0 -285
- package/src/mp/components/markdown/towxml/decode.js +0 -26
- package/src/mp/components/markdown/towxml/decode.json +0 -12
- package/src/mp/components/markdown/towxml/decode.wxml +0 -1
- package/src/mp/components/markdown/towxml/decode.wxss +0 -0
- package/src/mp/components/markdown/towxml/img/img.js +0 -98
- package/src/mp/components/markdown/towxml/img/img.json +0 -3
- package/src/mp/components/markdown/towxml/img/img.wxml +0 -1
- package/src/mp/components/markdown/towxml/img/img.wxss +0 -0
- package/src/mp/components/markdown/towxml/index.js +0 -19
- package/src/mp/components/markdown/towxml/latex/latex.js +0 -53
- package/src/mp/components/markdown/towxml/latex/latex.json +0 -5
- package/src/mp/components/markdown/towxml/latex/latex.wxml +0 -1
- package/src/mp/components/markdown/towxml/latex/latex.wxss +0 -0
- package/src/mp/components/markdown/towxml/parse/highlight/highlight.js +0 -729
- package/src/mp/components/markdown/towxml/parse/highlight/index.js +0 -7
- package/src/mp/components/markdown/towxml/parse/highlight/languages/bash.js +0 -91
- package/src/mp/components/markdown/towxml/parse/highlight/languages/c-like.js +0 -244
- package/src/mp/components/markdown/towxml/parse/highlight/languages/c.js +0 -20
- package/src/mp/components/markdown/towxml/parse/highlight/languages/css.js +0 -138
- package/src/mp/components/markdown/towxml/parse/highlight/languages/dart.js +0 -135
- package/src/mp/components/markdown/towxml/parse/highlight/languages/go.js +0 -57
- package/src/mp/components/markdown/towxml/parse/highlight/languages/htmlbars.js +0 -79
- package/src/mp/components/markdown/towxml/parse/highlight/languages/java.js +0 -126
- package/src/mp/components/markdown/towxml/parse/highlight/languages/javascript.js +0 -263
- package/src/mp/components/markdown/towxml/parse/highlight/languages/json.js +0 -51
- package/src/mp/components/markdown/towxml/parse/highlight/languages/less.js +0 -177
- package/src/mp/components/markdown/towxml/parse/highlight/languages/nginx.js +0 -103
- package/src/mp/components/markdown/towxml/parse/highlight/languages/php.js +0 -152
- package/src/mp/components/markdown/towxml/parse/highlight/languages/python-repl.js +0 -27
- package/src/mp/components/markdown/towxml/parse/highlight/languages/python.js +0 -146
- package/src/mp/components/markdown/towxml/parse/highlight/languages/scss.js +0 -137
- package/src/mp/components/markdown/towxml/parse/highlight/languages/shell.js +0 -23
- package/src/mp/components/markdown/towxml/parse/highlight/languages/typescript.js +0 -198
- package/src/mp/components/markdown/towxml/parse/highlight/languages/xml.js +0 -143
- package/src/mp/components/markdown/towxml/parse/highlight/style/github.wxss +0 -99
- package/src/mp/components/markdown/towxml/parse/highlight/style/monokai.wxss +0 -70
- package/src/mp/components/markdown/towxml/parse/index.js +0 -106
- package/src/mp/components/markdown/towxml/parse/markdown/index.js +0 -53
- package/src/mp/components/markdown/towxml/parse/markdown/markdown.js +0 -5834
- package/src/mp/components/markdown/towxml/parse/markdown/plugins/emoji.js +0 -1773
- package/src/mp/components/markdown/towxml/parse/markdown/plugins/ins.js +0 -120
- package/src/mp/components/markdown/towxml/parse/markdown/plugins/latex.js +0 -193
- package/src/mp/components/markdown/towxml/parse/markdown/plugins/mark.js +0 -120
- package/src/mp/components/markdown/towxml/parse/markdown/plugins/sub.js +0 -95
- package/src/mp/components/markdown/towxml/parse/markdown/plugins/sup.js +0 -95
- package/src/mp/components/markdown/towxml/parse/markdown/plugins/todo.js +0 -220
- package/src/mp/components/markdown/towxml/parse/markdown/plugins/yuml.js +0 -18
- package/src/mp/components/markdown/towxml/parse/parse2/Parser.js +0 -263
- package/src/mp/components/markdown/towxml/parse/parse2/Tokenizer.js +0 -507
- package/src/mp/components/markdown/towxml/parse/parse2/domhandler/index.js +0 -104
- package/src/mp/components/markdown/towxml/parse/parse2/domhandler/node.js +0 -169
- package/src/mp/components/markdown/towxml/parse/parse2/entities/decode.js +0 -54
- package/src/mp/components/markdown/towxml/parse/parse2/entities/decode_codepoint.js +0 -19
- package/src/mp/components/markdown/towxml/parse/parse2/entities/encode.js +0 -54
- package/src/mp/components/markdown/towxml/parse/parse2/entities/index.js +0 -30
- package/src/mp/components/markdown/towxml/parse/parse2/entities/maps/decode.js +0 -31
- package/src/mp/components/markdown/towxml/parse/parse2/entities/maps/entities.js +0 -2128
- package/src/mp/components/markdown/towxml/parse/parse2/entities/maps/legacy.js +0 -109
- package/src/mp/components/markdown/towxml/parse/parse2/entities/maps/xml.js +0 -2
- package/src/mp/components/markdown/towxml/parse/parse2/index.js +0 -8
- package/src/mp/components/markdown/towxml/style/main.wxss +0 -378
- package/src/mp/components/markdown/towxml/style/theme/dark.wxss +0 -73
- package/src/mp/components/markdown/towxml/style/theme/light.wxss +0 -63
- package/src/mp/components/markdown/towxml/table/table.js +0 -11
- package/src/mp/components/markdown/towxml/table/table.json +0 -6
- package/src/mp/components/markdown/towxml/table/table.wxml +0 -24
- package/src/mp/components/markdown/towxml/table/table.wxss +0 -0
- package/src/mp/components/markdown/towxml/todogroup/todogroup.js +0 -19
- package/src/mp/components/markdown/towxml/todogroup/todogroup.json +0 -6
- package/src/mp/components/markdown/towxml/todogroup/todogroup.wxml +0 -13
- package/src/mp/components/markdown/towxml/todogroup/todogroup.wxss +0 -3
- package/src/mp/components/markdown/towxml/towxml.js +0 -17
- package/src/mp/components/markdown/towxml/towxml.json +0 -6
- package/src/mp/components/markdown/towxml/towxml.wxml +0 -5
- package/src/mp/components/markdown/towxml/towxml.wxss +0 -8
- package/src/mp/components/markdown/towxml/yuml/yuml.js +0 -51
- package/src/mp/components/markdown/towxml/yuml/yuml.json +0 -5
- package/src/mp/components/markdown/towxml/yuml/yuml.wxml +0 -5
- package/src/mp/components/markdown/towxml/yuml/yuml.wxss +0 -0
- package/src/web/components/form/enumSelect/FormContainer.jsx +0 -41
- package/src/web/components/form/position/MapView.jsx +0 -124
- package/src/web/components/form/position/SelectModal.css +0 -3
- package/src/web/components/form/position/SelectModal.jsx +0 -112
- package/src/web/components/form/position/constants.js +0 -7
- package/src/web/components/form/position/index.jsx +0 -68
- package/src/web/components/form/uploader/uploaderH5.jsx +0 -196
- package/src/web/components/link/test/__snapshots__/storybook.test.js.snap +0 -754
- package/src/web/components/markdown/index.jsx +0 -40
- package/src/web/wedatheme/.code.yml +0 -16
- package/src/web/wedatheme/.editorconfig +0 -9
- package/src/web/wedatheme/.eslintrc +0 -20
- package/src/web/wedatheme/.orange-ci.yml +0 -55
- package/src/web/wedatheme/.vscode/extensions.json +0 -3
- package/src/web/wedatheme/.vscode/settings.json +0 -11
- package/src/web/wedatheme/README.md +0 -50
- package/src/web/wedatheme/i18n/README.md +0 -4
- package/src/web/wedatheme/i18n/translation/index.js +0 -10
- package/src/web/wedatheme/i18n/translation/zh.js +0 -15
- package/src/web/wedatheme/jsconfig.json +0 -15
- package/src/web/wedatheme/mock/app.js +0 -42
- package/src/web/wedatheme/mock/history-context.js +0 -8
- package/src/web/wedatheme/mock/index.js +0 -3
- package/src/web/wedatheme/mock/layout/AppLayout.jsx +0 -28
- package/src/web/wedatheme/mock/layout/MenuWithRouter.jsx +0 -50
- package/src/web/wedatheme/mock/layout/index.js +0 -1
- package/src/web/wedatheme/package.json +0 -61
- package/src/web/wedatheme/public/index.html +0 -19
- package/src/web/wedatheme/src/app.js +0 -22
- package/src/web/wedatheme/src/components/README.md +0 -4
- package/src/web/wedatheme/src/configs/menu.js +0 -9
- package/src/web/wedatheme/src/routes/wedatheme-index/Component.jsx +0 -402
- package/src/web/wedatheme/src/routes/wedatheme-index/Form.jsx +0 -729
- package/src/web/wedatheme/src/routes/wedatheme-index/FormItem.jsx +0 -18
- package/src/web/wedatheme/src/routes/wedatheme-index/WedathemeIndex.jsx +0 -1276
- package/src/web/wedatheme/src/routes/wedatheme-index/index.js +0 -1
- package/src/web/wedatheme/src/routes/weui2td/WEUI2TD.jsx +0 -3
- package/src/web/wedatheme/src/routes/weui2td/index.js +0 -1
- package/src/web/wedatheme/src/styles/_btn.scss +0 -24
- package/src/web/wedatheme/src/styles/_icon.scss +0 -653
- package/src/web/wedatheme/src/styles/_map.scss +0 -12
- package/src/web/wedatheme/src/styles/_middle.scss +0 -340
- package/src/web/wedatheme/src/styles/_upload.scss +0 -47
- package/src/web/wedatheme/src/styles/assets/alert-close.svg +0 -3
- package/src/web/wedatheme/src/styles/assets/and.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowdown--line.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowdown.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowleft--line.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowleft.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowright--line.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowright-blue--line.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowright.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowup--line.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/arrowup.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/bell-warning.svg +0 -3
- package/src/web/wedatheme/src/styles/assets/btnback.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/calendar.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/chartcolumn-1.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/chartcolumn.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/chartline-1.svg +0 -9
- package/src/web/wedatheme/src/styles/assets/chartline.svg +0 -9
- package/src/web/wedatheme/src/styles/assets/chartpie-1.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/chartpie.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/check-1.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/check-2.svg +0 -1
- package/src/web/wedatheme/src/styles/assets/check.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/close-1.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/close.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/consult.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/convertip--blue.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/convertip.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/copy.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/cur-active.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/cur.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/daily.svg +0 -13
- package/src/web/wedatheme/src/styles/assets/database.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/datasheet.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/delete-white.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/delete.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/detail.svg +0 -13
- package/src/web/wedatheme/src/styles/assets/dismiss.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/download.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/drop.svg +0 -15
- package/src/web/wedatheme/src/styles/assets/email-error.svg +0 -14
- package/src/web/wedatheme/src/styles/assets/email-warning.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/email.svg +0 -14
- package/src/web/wedatheme/src/styles/assets/emailv.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/error-1.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/error-filled.svg +0 -3
- package/src/web/wedatheme/src/styles/assets/error.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/externallink.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/favorable.svg +0 -9
- package/src/web/wedatheme/src/styles/assets/filter.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/firstpage.svg +0 -13
- package/src/web/wedatheme/src/styles/assets/folderclose.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/folderopen.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/fullscreenquit.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/fullsreen.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/globe-gray.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/guide.svg +0 -9
- package/src/web/wedatheme/src/styles/assets/help.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/hide.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/info.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/infoblue-1.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/infoblue-filled.svg +0 -3
- package/src/web/wedatheme/src/styles/assets/infoblue.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/jump-black.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/jump.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/lastpage.svg +0 -13
- package/src/web/wedatheme/src/styles/assets/loading.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/local.svg +0 -10
- package/src/web/wedatheme/src/styles/assets/menu-fold-white.svg +0 -6
- package/src/web/wedatheme/src/styles/assets/menu-fold.svg +0 -6
- package/src/web/wedatheme/src/styles/assets/minus.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/monitor.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/more.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/multi-line.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/news.svg +0 -3
- package/src/web/wedatheme/src/styles/assets/not.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/notice.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/pencil.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/pending-1.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/pending-gray.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/pending.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/percent-blue.svg +0 -16
- package/src/web/wedatheme/src/styles/assets/percent.svg +0 -16
- package/src/web/wedatheme/src/styles/assets/phone-error.svg +0 -11
- package/src/web/wedatheme/src/styles/assets/phone-warning.svg +0 -9
- package/src/web/wedatheme/src/styles/assets/phone.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/phonev.svg +0 -9
- package/src/web/wedatheme/src/styles/assets/plus.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/qq.svg +0 -11
- package/src/web/wedatheme/src/styles/assets/realname.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/realnamev.svg +0 -9
- package/src/web/wedatheme/src/styles/assets/refresh-blue.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/refresh.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/relationship-1.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/relationship.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/remind.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/search.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/setting.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/shopcart.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/show.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/sort.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/sortdown.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/sortup.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/success-1.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/success-filled.svg +0 -3
- package/src/web/wedatheme/src/styles/assets/success.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/table-1.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/table.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/tag.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/time.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/transfer.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/trenddown.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/trendup.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/viewgrid.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/viewlist.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/warning-1.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/warning-filled.svg +0 -3
- package/src/web/wedatheme/src/styles/assets/warning.svg +0 -8
- package/src/web/wedatheme/src/styles/assets/wechat-error.svg +0 -14
- package/src/web/wedatheme/src/styles/assets/wechat-warning.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/wechat.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/wechatv.svg +0 -12
- package/src/web/wedatheme/src/styles/assets/zoom-in-white.svg +0 -4
- package/src/web/wedatheme/src/styles/assets/zoom-in.svg +0 -4
- package/src/web/wedatheme/src/styles/assets/zoom-out-white.svg +0 -4
- package/src/web/wedatheme/src/styles/assets/zoom-out.svg +0 -4
- package/src/web/wedatheme/src/styles/index.scss +0 -18
- package/src/web/wedatheme/src/styles/main.css +0 -166
- package/src/web/wedatheme/src/styles/theme/_alert.scss +0 -73
- package/src/web/wedatheme/src/styles/theme/_badge.scss +0 -38
- package/src/web/wedatheme/src/styles/theme/_blank-page-v2.scss +0 -7
- package/src/web/wedatheme/src/styles/theme/_breadcrumb.scss +0 -8
- package/src/web/wedatheme/src/styles/theme/_bubble.scss +0 -24
- package/src/web/wedatheme/src/styles/theme/_button.scss +0 -212
- package/src/web/wedatheme/src/styles/theme/_card.scss +0 -12
- package/src/web/wedatheme/src/styles/theme/_cascader.scss +0 -43
- package/src/web/wedatheme/src/styles/theme/_checkbox&radio.scss +0 -83
- package/src/web/wedatheme/src/styles/theme/_datepicker.scss +0 -36
- package/src/web/wedatheme/src/styles/theme/_dialog.scss +0 -39
- package/src/web/wedatheme/src/styles/theme/_divider.scss +0 -1
- package/src/web/wedatheme/src/styles/theme/_drawer.scss +0 -15
- package/src/web/wedatheme/src/styles/theme/_dropdown.scss +0 -53
- package/src/web/wedatheme/src/styles/theme/_form.scss +0 -38
- package/src/web/wedatheme/src/styles/theme/_icon.scss +0 -0
- package/src/web/wedatheme/src/styles/theme/_input&textarea&select.scss +0 -85
- package/src/web/wedatheme/src/styles/theme/_inputnumber.scss +0 -16
- package/src/web/wedatheme/src/styles/theme/_link.scss +0 -14
- package/src/web/wedatheme/src/styles/theme/_list.scss +0 -41
- package/src/web/wedatheme/src/styles/theme/_metrics-board.scss +0 -14
- package/src/web/wedatheme/src/styles/theme/_notification.scss +0 -27
- package/src/web/wedatheme/src/styles/theme/_pagination.scss +0 -22
- package/src/web/wedatheme/src/styles/theme/_popconfirm.scss +0 -4
- package/src/web/wedatheme/src/styles/theme/_progress.scss +0 -28
- package/src/web/wedatheme/src/styles/theme/_region-select.scss +0 -17
- package/src/web/wedatheme/src/styles/theme/_search.scss +0 -18
- package/src/web/wedatheme/src/styles/theme/_segment.scss +0 -69
- package/src/web/wedatheme/src/styles/theme/_slider.scss +0 -18
- package/src/web/wedatheme/src/styles/theme/_status.scss +0 -4
- package/src/web/wedatheme/src/styles/theme/_steps.scss +0 -68
- package/src/web/wedatheme/src/styles/theme/_switch.scss +0 -11
- package/src/web/wedatheme/src/styles/theme/_table.scss +0 -44
- package/src/web/wedatheme/src/styles/theme/_tabs.scss +0 -44
- package/src/web/wedatheme/src/styles/theme/_tag-search.scss +0 -9
- package/src/web/wedatheme/src/styles/theme/_tag.scss +0 -48
- package/src/web/wedatheme/src/styles/theme/_timeline.scss +0 -0
- package/src/web/wedatheme/src/styles/theme/_toast.scss +0 -3
- package/src/web/wedatheme/src/styles/theme/_transfer.scss +0 -9
- package/src/web/wedatheme/src/styles/theme/_tree.scss +0 -11
- package/src/web/wedatheme/src/styles/theme/_upload.scss +0 -14
- package/src/web/wedatheme/src/styles/theme/_variables.scss +0 -140
- package/src/web/wedatheme/src/styles/theme/index.scss +0 -91
- package/src/web/wedatheme/style-package/README.md +0 -31
- package/src/web/wedatheme/style-package/ef6fa527e24e354765d806b826b41391.svg +0 -627
- package/src/web/wedatheme/style-package/index.css +0 -3
- package/src/web/wedatheme/style-package/package.json +0 -15
- package/src/web/wedatheme/tea.config.js +0 -66
- package/src/web/wedatheme/webpack/css.config.js +0 -114
- package/src/web/wedatheme/webpack/plugins/css-package-plugin.js +0 -23
- package/src/web/wedatheme/webpack/plugins/inject-assets-plugin.js +0 -32
- package/src/web/wedatheme/webpack/plugins/package-json-plugin.js +0 -66
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getCloudInstance } from '../../../utils/tcb';
|
|
2
|
+
import deepEqual from '../../../utils/deepEqual';
|
|
2
3
|
|
|
3
4
|
Component({
|
|
4
5
|
options: {
|
|
@@ -7,7 +8,8 @@ Component({
|
|
|
7
8
|
lifetimes: {
|
|
8
9
|
attached() {
|
|
9
10
|
this.setData({
|
|
10
|
-
urls: this.properties.defaultValue
|
|
11
|
+
urls: this.properties.defaultValue,
|
|
12
|
+
files: this.properties.defaultValue.map(url => ({url}))
|
|
11
13
|
});
|
|
12
14
|
}
|
|
13
15
|
},
|
|
@@ -31,12 +33,21 @@ Component({
|
|
|
31
33
|
defaultValue: {
|
|
32
34
|
type: Array,
|
|
33
35
|
value: []
|
|
36
|
+
},
|
|
37
|
+
single: {
|
|
38
|
+
type: Boolean,
|
|
39
|
+
value: false
|
|
40
|
+
},
|
|
41
|
+
maxSize: {
|
|
42
|
+
type: Number,
|
|
43
|
+
value: 10
|
|
34
44
|
}
|
|
35
45
|
},
|
|
36
46
|
data: {
|
|
47
|
+
maxCount: 0,
|
|
37
48
|
files: [],
|
|
38
49
|
urls: [],
|
|
39
|
-
uploadFile: async (files)
|
|
50
|
+
uploadFile: async function (files) {
|
|
40
51
|
// 文件上传的函数,返回一个promise
|
|
41
52
|
const uploadPath = 'weda-uploader';
|
|
42
53
|
|
|
@@ -51,8 +62,11 @@ Component({
|
|
|
51
62
|
return { fileID: uploadRes.fileID };
|
|
52
63
|
});
|
|
53
64
|
const uploadFileList = await Promise.all(uploadPromise);
|
|
54
|
-
const
|
|
55
|
-
|
|
65
|
+
const cloudUrls = uploadFileList.map((file) => file.fileID);
|
|
66
|
+
// 这里返回的东西会在uploadSuccess回调函数中获取到
|
|
67
|
+
// https://github.com/wechat-miniprogram/weui-miniprogram/blob/a3630575910302e3b94e69fcef266d2b509de650/src/components/uploader/uploader.ts#L149
|
|
68
|
+
// 写死的从返回值的 .urls 获取展示用的url来用。一定要将tempFilePaths透传下去,否则会重新加载然后出现闪白
|
|
69
|
+
return { urls: files.tempFilePaths, cloudUrls };
|
|
56
70
|
}
|
|
57
71
|
},
|
|
58
72
|
methods: {
|
|
@@ -61,7 +75,7 @@ Component({
|
|
|
61
75
|
this.triggerEvent('error', e.detail);
|
|
62
76
|
},
|
|
63
77
|
uploadSuccess: async function (e) {
|
|
64
|
-
const urls = e.detail.
|
|
78
|
+
const urls = e.detail.cloudUrls; // uploadFile 获取返回值
|
|
65
79
|
// 小程序自带tempURL 不需要调用 tcb.getTempFileURL 获取
|
|
66
80
|
this.triggerEvent(
|
|
67
81
|
'success',
|
|
@@ -70,22 +84,42 @@ Component({
|
|
|
70
84
|
}
|
|
71
85
|
);
|
|
72
86
|
this.setData({
|
|
73
|
-
files: this.data.files.concat(e.detail.
|
|
87
|
+
files: this.data.files.concat(e.detail.urls.map(url => ({url}))),
|
|
74
88
|
urls: [...this.data.urls, ...urls]
|
|
75
89
|
});
|
|
76
90
|
|
|
77
91
|
},
|
|
92
|
+
onDelete: function(e) {
|
|
93
|
+
this.setData({
|
|
94
|
+
files: this.data.files.filter((v, index) => e.detail.index !== index),
|
|
95
|
+
urls: this.data.urls.filter((v, index) => e.detail.index !== index)
|
|
96
|
+
});
|
|
97
|
+
}
|
|
78
98
|
},
|
|
79
99
|
observers: {
|
|
80
|
-
'defaultValue': function(value) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
100
|
+
// 'defaultValue': function(value) {
|
|
101
|
+
// if(!deepEqual(value, this.data.urls)) {
|
|
102
|
+
// if(!Array.isArray(value)) {
|
|
103
|
+
// value = [value].filter(v => v.length > 0);
|
|
104
|
+
// }
|
|
105
|
+
// this.setData({
|
|
106
|
+
// files: value.map(f => ({url: f})),
|
|
107
|
+
// urls: value
|
|
108
|
+
// });
|
|
109
|
+
// }
|
|
110
|
+
// },
|
|
111
|
+
'maxUploadCount, single': function(maxUploadCount, single) {
|
|
112
|
+
const maxCount = single ? 1 : maxUploadCount;
|
|
113
|
+
this.setData({
|
|
114
|
+
maxCount
|
|
115
|
+
});
|
|
86
116
|
},
|
|
87
117
|
'urls': function (urls) {
|
|
88
|
-
|
|
118
|
+
let value = urls;
|
|
119
|
+
if(this.properties.single) {
|
|
120
|
+
value = urls[0] ?? '';
|
|
121
|
+
}
|
|
122
|
+
this.triggerEvent('change', {value});
|
|
89
123
|
}
|
|
90
124
|
}
|
|
91
|
-
});
|
|
125
|
+
});
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
<mp-cells>
|
|
2
2
|
<mp-cell>
|
|
3
|
-
<mp-uploader files="{{files}}" showDelete="{{
|
|
3
|
+
<mp-uploader max-size="{{maxSize * 1024 * 1024}}" files="{{files}}" showDelete="{{true}}" ext-class="{{layout}}" bindfail="uploadError" bindsuccess="uploadSuccess" select="{{selectFile}}" upload="{{uploadFile}}" maxCount="{{maxCount}}" title="{{title}}" tips="{{tips}}" binddelete="onDelete"></mp-uploader>
|
|
4
4
|
</mp-cell>
|
|
5
5
|
</mp-cells>
|
|
6
6
|
<!-- uploader delete 实际代码接受 showDelete
|
|
7
7
|
https://developers.weixin.qq.com/community/develop/doc/000a4e7b9cc158c110aa3961056400
|
|
8
|
-
-->
|
|
8
|
+
-->
|
|
9
|
+
|
|
10
|
+
<!-- bind开头的是事件handler,wxml模版中不能带 `{{}}`
|
|
11
|
+
```
|
|
12
|
+
<mp-uploader files="{{files}}" showDelete="{{true}}" ext-class="{{layout}}" bindfail="uploadError" bindsuccess="uploadSuccess" select="{{selectFile}}" upload="{{uploadFile}}" maxCount="{{maxUploadCount}}" title="{{title}}" tips="{{tips}}" binddelete="onDelete"></mp-uploader>
|
|
13
|
+
```
|
|
14
|
+
upload 是函数带{{}}, bindtelete直接传函数名字符串
|
|
15
|
+
-->
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import handleEvents from '../../utils/handleEvents';
|
|
2
|
-
|
|
3
1
|
Component({
|
|
4
2
|
options: {
|
|
5
3
|
virtualHost: true,
|
|
@@ -48,17 +46,55 @@ Component({
|
|
|
48
46
|
}
|
|
49
47
|
},
|
|
50
48
|
methods: {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
{
|
|
54
|
-
|
|
49
|
+
load: function(e) {
|
|
50
|
+
this.triggerEvent('error', e.detail);
|
|
51
|
+
this.setData({
|
|
52
|
+
realHeight: e.detail.height,
|
|
53
|
+
realWidth: e.detail.width
|
|
54
|
+
});
|
|
55
|
+
},
|
|
56
|
+
error: function(e) {
|
|
57
|
+
this.setData({
|
|
58
|
+
isError: true,
|
|
59
|
+
clsx: this.properties.className + 'weda-image-error'
|
|
60
|
+
});
|
|
61
|
+
this.triggerEvent('error', e.detail);
|
|
62
|
+
},
|
|
55
63
|
onImgTap: function() {
|
|
56
|
-
if(this.properties.imgPreview) {
|
|
64
|
+
if(this.properties.imgPreview && !this.data.isError) {
|
|
65
|
+
// 计算图片预览展示高度
|
|
66
|
+
const {windowWidth, windowHeight} = wx.getSystemInfoSync();
|
|
67
|
+
const showHeight = windowWidth / (this.data.realWidth / this.data.realHeight);
|
|
68
|
+
const offsetHeight = windowHeight / 2 - (showHeight / 2);
|
|
57
69
|
this.setData({
|
|
58
|
-
|
|
70
|
+
showImg: true,
|
|
71
|
+
zoom: 1,
|
|
72
|
+
previewTranslateY: 0,
|
|
73
|
+
previewTranslateX: 0,
|
|
74
|
+
showHeight,
|
|
75
|
+
offsetHeight
|
|
59
76
|
});
|
|
60
77
|
}
|
|
61
78
|
},
|
|
79
|
+
onPinch: function(ev) {
|
|
80
|
+
let zoom = ev.detail.zoom;
|
|
81
|
+
// zoom = this.data.zoom * zoom;
|
|
82
|
+
if(zoom > 5) {
|
|
83
|
+
zoom = 5;
|
|
84
|
+
}
|
|
85
|
+
if(zoom < 0.6) {
|
|
86
|
+
zoom = 0.6;
|
|
87
|
+
}
|
|
88
|
+
this.setData({
|
|
89
|
+
zoom
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
onPressMove: function(ev) {
|
|
93
|
+
this.setData({
|
|
94
|
+
previewTranslateX: this.data.previewTranslateX + ev.detail.deltaX,
|
|
95
|
+
previewTranslateY: this.data.previewTranslateY + ev.detail.deltaY
|
|
96
|
+
});
|
|
97
|
+
},
|
|
62
98
|
onMaskClick: function() {
|
|
63
99
|
if(this.properties.maskClosable) {
|
|
64
100
|
this.setData({
|
|
@@ -76,8 +112,21 @@ Component({
|
|
|
76
112
|
showImg: false,
|
|
77
113
|
realSrc: '',
|
|
78
114
|
imgMode: 'scaleToFill',
|
|
115
|
+
clsx: '',
|
|
116
|
+
isError: false,
|
|
117
|
+
zoom: 1,
|
|
118
|
+
previewTranslateX: 0,
|
|
119
|
+
previewTranslateY: 0,
|
|
120
|
+
realHeight: 0,
|
|
121
|
+
realWidth: 0
|
|
79
122
|
},
|
|
80
123
|
observers: {
|
|
124
|
+
className: function() {
|
|
125
|
+
const className = this.properties.className;
|
|
126
|
+
this.setData({
|
|
127
|
+
clsx: className
|
|
128
|
+
});
|
|
129
|
+
},
|
|
81
130
|
src: function () {
|
|
82
131
|
const { src = '' } = this.properties;
|
|
83
132
|
let { app } = getApp();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<image
|
|
2
2
|
style="{{style}}"
|
|
3
|
-
class="weda-ui weda-image {{
|
|
3
|
+
class="weda-ui weda-image {{clsx}}"
|
|
4
4
|
src="{{realSrc}}"
|
|
5
5
|
alt="{{alt}}"
|
|
6
6
|
mode="{{imgMode}}"
|
|
@@ -14,5 +14,7 @@
|
|
|
14
14
|
<view bindtap="onCloseClick" class="weda-img-modal-close-btn">
|
|
15
15
|
<icon type="clear" size="23" color="white"></icon>
|
|
16
16
|
</view>
|
|
17
|
-
|
|
17
|
+
<gesture bindpinch="onPinch" catchtap="onTapImgPreview" bindpressMove="onPressMove">
|
|
18
|
+
<view class="weda-img-preview" style="margin-top:{{offsetHeight}}px;width: 100%;height:{{showHeight}}px;background-image: url('{{realSrc}}');transform: scale({{zoom}}) translateX({{previewTranslateX}}px) translateY({{previewTranslateY}}px);"></view>
|
|
19
|
+
</gesture>
|
|
18
20
|
</view>
|
|
@@ -30,3 +30,17 @@
|
|
|
30
30
|
display: inline-block;
|
|
31
31
|
z-index: 99;
|
|
32
32
|
}
|
|
33
|
+
|
|
34
|
+
.weda-image-error {
|
|
35
|
+
position: relative;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.weda-image-error::before {
|
|
39
|
+
content: '';
|
|
40
|
+
background: #f5f5f5 url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMjUuMzIgMTYuMzU5N0MyNi4wNzY0IDE2LjM1OTcgMjYuODI1NCAxNi41MDg3IDI3LjUyNDMgMTYuNzk4MUMyOC4yMjMxIDE3LjA4NzYgMjguODU4MSAxNy41MTE5IDI5LjM5MjkgMTguMDQ2OEMyOS45Mjc4IDE4LjU4MTYgMzAuMzUyMSAxOS4yMTY2IDMwLjY0MTYgMTkuOTE1NEMzMC45MzEgMjAuNjE0MyAzMS4wOCAyMS4zNjMzIDMxLjA4IDIyLjExOTdDMzEuMDggMjIuODc2MSAzMC45MzEgMjMuNjI1MSAzMC42NDE2IDI0LjMyMzlDMzAuMzUyMSAyNS4wMjI4IDI5LjkyNzggMjUuNjU3OCAyOS4zOTI5IDI2LjE5MjZDMjguODU4MSAyNi43Mjc1IDI4LjIyMzEgMjcuMTUxOCAyNy41MjQzIDI3LjQ0MTJDMjYuODI1NCAyNy43MzA3IDI2LjA3NjQgMjcuODc5NyAyNS4zMiAyNy44Nzk3QzIzLjc5MjQgMjcuODc5NyAyMi4zMjczIDI3LjI3MjggMjEuMjQ3MSAyNi4xOTI2QzIwLjE2NjkgMjUuMTEyNCAxOS41NiAyMy42NDczIDE5LjU2IDIyLjExOTdDMTkuNTYgMjAuNTkyIDIwLjE2NjkgMTkuMTI3IDIxLjI0NzEgMTguMDQ2OEMyMi4zMjczIDE2Ljk2NjUgMjMuNzkyNCAxNi4zNTk3IDI1LjMyIDE2LjM1OTdaTTI4IDMuNTU5NjlWMTQuODc2OEMyNy4xNzc3IDE0LjU4NjYgMjYuMTkyIDE0LjQzODggMjUuMzIgMTQuNDM5N0MyNC4wMzEgMTQuNDM5NyAyMi44MTU3IDE0Ljc1NzEgMjEuNzQ4OCAxNS4zMTg0TDIwLjc5NTIgMTMuMTU5N0wxNi4wMjU5IDIwLjAyNzVMOC40NDU3NiAxNi40NDFMMy41NiAyMy4zOTk3SDE3Ljc0NjJDMTcuOTg2NyAyNC44MjkgMTguNjI4MiAyNi4xNjA2IDE5LjU5NTggMjcuMjM5N0gxVjMuNTU5NjlIMjhaTTI1Ljk2IDI0LjAzOTdIMjQuNjhWMjUuMzE5N0gyNS45NlYyNC4wMzk3Wk0yNS45NiAxOC45MTk3SDI0LjY4VjIzLjM5OTdIMjUuOTZWMTguOTE5N1pNNi4xMiAxMC41OTk3QzYuMTIgMTEuOTk4MSA3LjE5OTA0IDEzLjEwODUgOC42MDc2OCAxMy4xNTg0QzEwLjAyMDggMTMuMjA3NyAxMS4yNCAxMi4wNDggMTEuMjQgMTAuNTk5N0MxMS4yNCA5LjI0NjA5IDEwLjA2NDMgOC4wODU3NyA4Ljc1MjMyIDguMDQwOTdDNy4yOTU2OCA3Ljk5MTY5IDYuMTIgOS4xNTEzNyA2LjEyIDEwLjU5OTdaIiBmaWxsPSIjQkNDNEQwIj48L3BhdGg+Cjwvc3ZnPgo=') no-repeat center / 50% 50%;
|
|
41
|
+
position: absolute;
|
|
42
|
+
left: 0;
|
|
43
|
+
top: 0;
|
|
44
|
+
width: 100%;
|
|
45
|
+
height: 100%;
|
|
46
|
+
}
|
|
@@ -7,13 +7,20 @@ Component({
|
|
|
7
7
|
},
|
|
8
8
|
|
|
9
9
|
properties: {
|
|
10
|
-
tabs: Array,
|
|
11
|
-
scrollCellId:
|
|
10
|
+
tabs: { type: Array, value: [] },
|
|
11
|
+
scrollCellId: {
|
|
12
|
+
type: String,
|
|
13
|
+
value: '',
|
|
14
|
+
},
|
|
15
|
+
selectedIndex: {
|
|
16
|
+
type: Number,
|
|
17
|
+
value: 0
|
|
18
|
+
}
|
|
12
19
|
},
|
|
13
20
|
|
|
14
21
|
data: {
|
|
15
22
|
currentIndex: 0,
|
|
16
|
-
stickyStyle: null
|
|
23
|
+
stickyStyle: null,
|
|
17
24
|
},
|
|
18
25
|
|
|
19
26
|
methods: {
|
|
@@ -21,14 +28,23 @@ Component({
|
|
|
21
28
|
const { tabs } = this.data;
|
|
22
29
|
const { index } = e.target.dataset;
|
|
23
30
|
this.setData({
|
|
24
|
-
currentIndex: index
|
|
31
|
+
currentIndex: index,
|
|
25
32
|
});
|
|
26
|
-
|
|
33
|
+
this.triggerEvent('change', {id: index, label: tabs[index].title});
|
|
27
34
|
if (tabs.length > 5) {
|
|
28
35
|
this.setData({
|
|
29
|
-
scrollCellId: `cell-${
|
|
36
|
+
scrollCellId: `cell-${Math.max(index - 2, 0)}`,
|
|
30
37
|
});
|
|
31
38
|
}
|
|
32
39
|
},
|
|
40
|
+
},
|
|
41
|
+
observers: {
|
|
42
|
+
'selectedIndex': function(selectedIndex) {
|
|
43
|
+
if(selectedIndex !== this.data.currentIndex) {
|
|
44
|
+
this.setData({
|
|
45
|
+
currentIndex: selectedIndex
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
33
49
|
}
|
|
34
50
|
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
function equal(a, b) {
|
|
2
|
+
if (a === b) return true;
|
|
3
|
+
|
|
4
|
+
if (a && b && typeof a == 'object' && typeof b == 'object') {
|
|
5
|
+
if (a.constructor !== b.constructor) return false;
|
|
6
|
+
|
|
7
|
+
var length, i, keys;
|
|
8
|
+
if (Array.isArray(a)) {
|
|
9
|
+
length = a.length;
|
|
10
|
+
if (length != b.length) return false;
|
|
11
|
+
for (i = length; i-- !== 0;)
|
|
12
|
+
if (!equal(a[i], b[i])) return false;
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
|
|
19
|
+
if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
|
|
20
|
+
if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
|
|
21
|
+
|
|
22
|
+
keys = Object.keys(a);
|
|
23
|
+
length = keys.length;
|
|
24
|
+
if (length !== Object.keys(b).length) return false;
|
|
25
|
+
|
|
26
|
+
for (i = length; i-- !== 0;)
|
|
27
|
+
if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
|
|
28
|
+
|
|
29
|
+
for (i = length; i-- !== 0;) {
|
|
30
|
+
var key = keys[i];
|
|
31
|
+
|
|
32
|
+
if (!equal(a[key], b[key])) return false;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// true if both NaN, false otherwise
|
|
39
|
+
return a!==a && b!==b;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export default equal;
|
package/src/web/actions/index.js
CHANGED
|
@@ -5,7 +5,6 @@ import { Checkbox as TeaCheckbox, ConfigProvider } from 'tea-component';
|
|
|
5
5
|
import classNames from '../../../utils/classnames';
|
|
6
6
|
import getLocalCounter from '../../../utils/getLocalCounter';
|
|
7
7
|
import isObjectEqual from '../../../utils/isObjectEqual';
|
|
8
|
-
import FormCell from '../formcell';
|
|
9
8
|
import fromEntries from 'object.fromentries';
|
|
10
9
|
import { usePlatform } from '../../../utils/platform';
|
|
11
10
|
import { renderDecorator } from '../renderDecorator';
|
|
@@ -62,6 +61,7 @@ export default function Checkbox({
|
|
|
62
61
|
*/
|
|
63
62
|
const getChangeHandler = function (value) {
|
|
64
63
|
const onChange = function (e) {
|
|
64
|
+
e.stopPropagation();
|
|
65
65
|
const checked = !checkedItems[value];
|
|
66
66
|
const newMap = Object.assign({}, checkedItems, { [value]: checked });
|
|
67
67
|
setCheckedItems(newMap);
|
|
@@ -78,36 +78,34 @@ export default function Checkbox({
|
|
|
78
78
|
};
|
|
79
79
|
|
|
80
80
|
// 现在低码组件往源码组件传入的id不唯一, 暂时使用hashcode替代
|
|
81
|
-
const hashcode = getLocalCounter();
|
|
81
|
+
const hashcode = React.useMemo(() => getLocalCounter(), []);
|
|
82
82
|
let checkboxElement;
|
|
83
83
|
if(platform === 'h5') {
|
|
84
84
|
checkboxElement = range.map(({ label, value }, index) => {
|
|
85
85
|
const _id = `checkbox-${hashcode}-${index}`;
|
|
86
86
|
const _name = `checkbox-${hashcode}-${name}`;
|
|
87
87
|
return (
|
|
88
|
-
<
|
|
89
|
-
className={subCls}
|
|
90
|
-
htmlFor={_id}
|
|
88
|
+
<div
|
|
91
89
|
key={_id}
|
|
92
|
-
|
|
90
|
+
onClickCapture={getChangeHandler(value)}
|
|
91
|
+
className={subCls}
|
|
93
92
|
>
|
|
94
93
|
<div className="weui-cell__hd">
|
|
95
94
|
<input
|
|
96
95
|
type="checkbox"
|
|
97
96
|
className="weui-check"
|
|
98
97
|
value={value}
|
|
99
|
-
name={_name}
|
|
100
98
|
id={_id}
|
|
101
|
-
|
|
99
|
+
name={_name}
|
|
100
|
+
checked={checkedItems[value]}
|
|
102
101
|
disabled={disabled}
|
|
103
|
-
onClick={(e) => e.stopPropagation()}
|
|
104
102
|
/>
|
|
105
103
|
<i className="weui-icon-checked"></i>
|
|
106
104
|
</div>
|
|
107
105
|
<div className="weui-cell__bd">
|
|
108
106
|
<p>{label}</p>
|
|
109
107
|
</div>
|
|
110
|
-
</
|
|
108
|
+
</div>
|
|
111
109
|
);
|
|
112
110
|
});
|
|
113
111
|
} else {
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { SelectMultiple } from 'tea-component';
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import SelectContainer from './SelectContainer';
|
|
5
5
|
|
|
6
6
|
import { normalProps } from './props/defaultProps';
|
|
7
7
|
import { propTypes } from './props/propsTypes';
|
|
8
8
|
import useOptions from './hooks';
|
|
9
9
|
|
|
10
|
-
const { useRef } = React;
|
|
11
|
-
|
|
12
10
|
const MultipleSelect = ({
|
|
13
11
|
// 系统属性
|
|
14
12
|
id,
|
|
@@ -20,6 +18,7 @@ const MultipleSelect = ({
|
|
|
20
18
|
labelVisible,
|
|
21
19
|
layout,
|
|
22
20
|
requiredFlag,
|
|
21
|
+
decorator,
|
|
23
22
|
// tea组件属性
|
|
24
23
|
value,
|
|
25
24
|
placeholder,
|
|
@@ -38,26 +37,13 @@ const MultipleSelect = ({
|
|
|
38
37
|
optionId,
|
|
39
38
|
isModelApp,
|
|
40
39
|
}) => {
|
|
41
|
-
const defaultValue = Array.isArray(value) ? value.map((i) => i?.key) : [];
|
|
42
40
|
const options = useOptions({ enumType, optionId, customEnum });
|
|
43
|
-
const selectValueRef = useRef(value);
|
|
44
41
|
|
|
45
|
-
const onSelectChange = (
|
|
46
|
-
const currentSelectValue = selectValueRef.current?.concat();
|
|
47
|
-
const { name, title, value } = context?.check || {};
|
|
48
|
-
if (value) {
|
|
49
|
-
currentSelectValue.push({ key: name, name: title });
|
|
50
|
-
} else {
|
|
51
|
-
const index = currentSelectValue?.findIndex(
|
|
52
|
-
(i) => i?.key?.toString() === name
|
|
53
|
-
);
|
|
54
|
-
currentSelectValue.splice(index, 1);
|
|
55
|
-
}
|
|
56
|
-
selectValueRef.current = currentSelectValue;
|
|
42
|
+
const onSelectChange = (values) => {
|
|
57
43
|
// @ts-ignore
|
|
58
|
-
events.change && events.change({ value:
|
|
44
|
+
events.change && events.change({ value: values });
|
|
59
45
|
if (onChange) {
|
|
60
|
-
onChange(
|
|
46
|
+
onChange(values);
|
|
61
47
|
}
|
|
62
48
|
};
|
|
63
49
|
|
|
@@ -72,7 +58,7 @@ const MultipleSelect = ({
|
|
|
72
58
|
matchButtonWidth,
|
|
73
59
|
searchable,
|
|
74
60
|
size,
|
|
75
|
-
defaultValue,
|
|
61
|
+
defaultValue: value || [],
|
|
76
62
|
allOption,
|
|
77
63
|
staging: false,
|
|
78
64
|
virtual,
|
|
@@ -82,17 +68,20 @@ const MultipleSelect = ({
|
|
|
82
68
|
return <SelectMultiple {...multipleSelectProps} />;
|
|
83
69
|
}
|
|
84
70
|
return (
|
|
85
|
-
<
|
|
71
|
+
<SelectContainer
|
|
86
72
|
style={style}
|
|
87
73
|
className={className}
|
|
88
|
-
label={
|
|
74
|
+
label={label}
|
|
75
|
+
labelVisible={labelVisible}
|
|
89
76
|
layout={layout}
|
|
90
77
|
// @ts-ignore
|
|
91
78
|
multiCell={false}
|
|
92
79
|
requiredFlag={requiredFlag}
|
|
80
|
+
decorator={decorator}
|
|
81
|
+
id={id}
|
|
93
82
|
>
|
|
94
83
|
<SelectMultiple {...multipleSelectProps} />
|
|
95
|
-
</
|
|
84
|
+
</SelectContainer>
|
|
96
85
|
);
|
|
97
86
|
};
|
|
98
87
|
MultipleSelect.propTypes = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Select } from 'tea-component';
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import SelectContainer from './SelectContainer';
|
|
5
5
|
|
|
6
6
|
import { multipleProps } from './props/defaultProps';
|
|
7
7
|
import { propTypes } from './props/propsTypes';
|
|
@@ -30,6 +30,7 @@ const NormalSelect = ({
|
|
|
30
30
|
labelVisible,
|
|
31
31
|
layout,
|
|
32
32
|
requiredFlag,
|
|
33
|
+
decorator,
|
|
33
34
|
// tea组件属性
|
|
34
35
|
value,
|
|
35
36
|
placeholder,
|
|
@@ -48,18 +49,14 @@ const NormalSelect = ({
|
|
|
48
49
|
isModelApp,
|
|
49
50
|
}) => {
|
|
50
51
|
const options = useOptions({ enumType, optionId, customEnum });
|
|
51
|
-
const [selectedValue, setSelectedValue] = useValue(value
|
|
52
|
+
const [selectedValue, setSelectedValue] = useValue(value);
|
|
52
53
|
|
|
53
|
-
const onSelectChange = (value
|
|
54
|
-
const realValue = {
|
|
55
|
-
key: value,
|
|
56
|
-
name: context?.option?.text,
|
|
57
|
-
};
|
|
54
|
+
const onSelectChange = (value) => {
|
|
58
55
|
// @ts-ignore
|
|
59
56
|
setSelectedValue(value);
|
|
60
|
-
events.change && events.change({ value
|
|
57
|
+
events.change && events.change({ value });
|
|
61
58
|
if (onChange) {
|
|
62
|
-
onChange(
|
|
59
|
+
onChange(value || '');
|
|
63
60
|
}
|
|
64
61
|
};
|
|
65
62
|
|
|
@@ -82,17 +79,20 @@ const NormalSelect = ({
|
|
|
82
79
|
return <Select {...singleSelectProps} />;
|
|
83
80
|
}
|
|
84
81
|
return (
|
|
85
|
-
<
|
|
82
|
+
<SelectContainer
|
|
86
83
|
style={style}
|
|
87
84
|
className={className}
|
|
88
|
-
label={
|
|
85
|
+
label={label}
|
|
86
|
+
labelVisible={labelVisible}
|
|
89
87
|
layout={layout}
|
|
90
88
|
// @ts-ignore
|
|
91
89
|
multiCell={false}
|
|
92
90
|
requiredFlag={requiredFlag}
|
|
91
|
+
decorator={decorator}
|
|
92
|
+
id={id}
|
|
93
93
|
>
|
|
94
94
|
<Select {...singleSelectProps} />
|
|
95
|
-
</
|
|
95
|
+
</SelectContainer>
|
|
96
96
|
);
|
|
97
97
|
};
|
|
98
98
|
NormalSelect.propTypes = {
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import classNames from '../../../utils/classnames';
|
|
3
|
+
import { selectContainerPropsTypes } from './props/propsTypes';
|
|
4
|
+
import { renderDecorator } from '../renderDecorator';
|
|
5
|
+
|
|
6
|
+
const SelectContainer = ({
|
|
7
|
+
style,
|
|
8
|
+
className,
|
|
9
|
+
// weda 组件属性
|
|
10
|
+
id,
|
|
11
|
+
label,
|
|
12
|
+
labelVisible,
|
|
13
|
+
layout,
|
|
14
|
+
requiredFlag,
|
|
15
|
+
decorator,
|
|
16
|
+
children,
|
|
17
|
+
}) => {
|
|
18
|
+
const cls = classNames({
|
|
19
|
+
'weda-ui': true,
|
|
20
|
+
[className]: className,
|
|
21
|
+
});
|
|
22
|
+
const subCls = classNames({
|
|
23
|
+
'weui-cell': true,
|
|
24
|
+
'weui-cell_active': true,
|
|
25
|
+
'weui-cell_form': true,
|
|
26
|
+
'weui-cell_disabled': true,
|
|
27
|
+
});
|
|
28
|
+
const SelectComponent = <div className={subCls}>{children}</div>;
|
|
29
|
+
return renderDecorator(
|
|
30
|
+
SelectComponent,
|
|
31
|
+
decorator
|
|
32
|
+
)({
|
|
33
|
+
id,
|
|
34
|
+
className: cls,
|
|
35
|
+
style,
|
|
36
|
+
label: labelVisible ? label : null,
|
|
37
|
+
layout,
|
|
38
|
+
multiCell: false,
|
|
39
|
+
requiredFlag,
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
SelectContainer.propTypes = selectContainerPropsTypes;
|
|
43
|
+
export default SelectContainer;
|
|
@@ -5,7 +5,7 @@ const GENERAL_OPTION = 'general-option';
|
|
|
5
5
|
const CUSTOM = 'custom';
|
|
6
6
|
|
|
7
7
|
const handleOptionsDetailList = (response) => {
|
|
8
|
-
const config = response?.Config ?? '[]';
|
|
8
|
+
const config = response?.Data?.Config ?? '[]';
|
|
9
9
|
return JSON.parse(config)?.map((item) => ({
|
|
10
10
|
value: item?.key,
|
|
11
11
|
text: item?.value,
|
|
@@ -20,9 +20,12 @@ export default function useOptions({ enumType, optionId, customEnum }) {
|
|
|
20
20
|
const getOptionsDetailList = async (optionId) => {
|
|
21
21
|
try {
|
|
22
22
|
const response = await getDescribeGeneralOptionsDetailList({
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
methodName: 'callDesignApi',
|
|
24
|
+
params: {
|
|
25
|
+
action: 'DescribeGeneralOptionsDetail',
|
|
26
|
+
data: {
|
|
27
|
+
Id: optionId,
|
|
28
|
+
},
|
|
26
29
|
},
|
|
27
30
|
});
|
|
28
31
|
const options = handleOptionsDetailList(response);
|
|
@@ -40,4 +40,11 @@ export const propTypes = {
|
|
|
40
40
|
export const formContainerPropsTypes = {
|
|
41
41
|
...commonPropsTypes,
|
|
42
42
|
children: PropTypes.element,
|
|
43
|
+
decorator: PropTypes.element,
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export const selectContainerPropsTypes = {
|
|
47
|
+
...commonPropsTypes,
|
|
48
|
+
children: PropTypes.element,
|
|
49
|
+
decorator: PropTypes.element,
|
|
43
50
|
};
|