cbvirtua 1.0.100 → 1.0.102
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/5111.zip +0 -0
- package/dist/action-sheet/index.d.ts +1 -0
- package/dist/action-sheet/index.js +75 -0
- package/dist/action-sheet/index.json +8 -0
- package/dist/action-sheet/index.wxml +70 -0
- package/dist/action-sheet/index.wxss +1 -0
- package/dist/area/index.d.ts +1 -0
- package/dist/area/index.js +220 -0
- package/dist/area/index.json +6 -0
- package/dist/area/index.wxml +20 -0
- package/dist/area/index.wxs +8 -0
- package/dist/area/index.wxss +1 -0
- package/dist/button/index.d.ts +1 -0
- package/dist/button/index.js +64 -0
- package/dist/button/index.json +7 -0
- package/dist/button/index.wxml +56 -0
- package/dist/button/index.wxs +39 -0
- package/dist/button/index.wxss +1 -0
- package/dist/calendar/calendar.wxml +70 -0
- package/dist/calendar/components/header/index.d.ts +1 -0
- package/dist/calendar/components/header/index.js +37 -0
- package/dist/calendar/components/header/index.json +3 -0
- package/dist/calendar/components/header/index.wxml +16 -0
- package/dist/calendar/components/header/index.wxss +1 -0
- package/dist/calendar/components/month/index.d.ts +6 -0
- package/dist/calendar/components/month/index.js +154 -0
- package/dist/calendar/components/month/index.json +3 -0
- package/dist/calendar/components/month/index.wxml +39 -0
- package/dist/calendar/components/month/index.wxs +71 -0
- package/dist/calendar/components/month/index.wxss +1 -0
- package/dist/calendar/index.d.ts +1 -0
- package/dist/calendar/index.js +360 -0
- package/dist/calendar/index.json +10 -0
- package/dist/calendar/index.wxml +27 -0
- package/dist/calendar/index.wxs +37 -0
- package/dist/calendar/index.wxss +1 -0
- package/dist/calendar/utils.d.ts +12 -0
- package/dist/calendar/utils.js +83 -0
- package/dist/calendar/utils.wxs +25 -0
- package/dist/card/index.d.ts +1 -0
- package/dist/card/index.js +49 -0
- package/dist/card/index.json +6 -0
- package/dist/card/index.wxml +56 -0
- package/dist/card/index.wxss +1 -0
- package/dist/cascader/index.d.ts +1 -0
- package/dist/cascader/index.js +214 -0
- package/dist/cascader/index.json +8 -0
- package/dist/cascader/index.wxml +55 -0
- package/dist/cascader/index.wxs +24 -0
- package/dist/cascader/index.wxss +1 -0
- package/dist/cell/index.d.ts +1 -0
- package/dist/cell/index.js +38 -0
- package/dist/cell/index.json +6 -0
- package/dist/cell/index.wxml +47 -0
- package/dist/cell/index.wxs +17 -0
- package/dist/cell/index.wxss +1 -0
- package/dist/cell-group/index.d.ts +1 -0
- package/dist/cell-group/index.js +11 -0
- package/dist/cell-group/index.json +3 -0
- package/dist/cell-group/index.wxml +11 -0
- package/dist/cell-group/index.wxss +1 -0
- package/dist/checkbox/index.d.ts +1 -0
- package/dist/checkbox/index.js +77 -0
- package/dist/checkbox/index.json +6 -0
- package/dist/checkbox/index.wxml +31 -0
- package/dist/checkbox/index.wxs +20 -0
- package/dist/checkbox/index.wxss +1 -0
- package/dist/checkbox-group/index.d.ts +1 -0
- package/dist/checkbox-group/index.js +36 -0
- package/dist/checkbox-group/index.json +3 -0
- package/dist/checkbox-group/index.wxml +5 -0
- package/dist/checkbox-group/index.wxss +1 -0
- package/dist/circle/canvas.d.ts +4 -0
- package/dist/circle/canvas.js +43 -0
- package/dist/circle/index.d.ts +1 -0
- package/dist/circle/index.js +197 -0
- package/dist/circle/index.json +3 -0
- package/dist/circle/index.wxml +9 -0
- package/dist/circle/index.wxss +1 -0
- package/dist/col/index.d.ts +1 -0
- package/dist/col/index.js +9 -0
- package/dist/col/index.json +3 -0
- package/dist/col/index.wxml +9 -0
- package/dist/col/index.wxs +18 -0
- package/dist/col/index.wxss +1 -0
- package/dist/collapse/index.d.ts +1 -0
- package/dist/collapse/index.js +46 -0
- package/dist/collapse/index.json +3 -0
- package/dist/collapse/index.wxml +3 -0
- package/dist/collapse/index.wxss +1 -0
- package/dist/collapse-item/animate.d.ts +2 -0
- package/dist/collapse-item/animate.js +39 -0
- package/dist/collapse-item/index.d.ts +1 -0
- package/dist/collapse-item/index.js +61 -0
- package/dist/collapse-item/index.json +6 -0
- package/dist/collapse-item/index.wxml +45 -0
- package/dist/collapse-item/index.wxss +1 -0
- package/dist/common/color.d.ts +7 -0
- package/dist/common/color.js +7 -0
- package/dist/common/component.d.ts +4 -0
- package/dist/common/component.js +46 -0
- package/dist/common/index.wxss +1 -0
- package/dist/common/relation.d.ts +15 -0
- package/dist/common/relation.js +56 -0
- package/dist/common/style/clearfix.wxss +1 -0
- package/dist/common/style/ellipsis.wxss +1 -0
- package/dist/common/style/hairline.wxss +1 -0
- package/dist/common/style/mixins/clearfix.wxss +0 -0
- package/dist/common/style/mixins/ellipsis.wxss +0 -0
- package/dist/common/style/mixins/hairline.wxss +0 -0
- package/dist/common/style/var.wxss +0 -0
- package/dist/common/utils.d.ts +21 -0
- package/dist/common/utils.js +86 -0
- package/dist/common/validator.d.ts +9 -0
- package/dist/common/validator.js +31 -0
- package/dist/common/version.d.ts +15 -0
- package/dist/common/version.js +59 -0
- package/dist/config-provider/index.d.ts +1 -0
- package/dist/config-provider/index.js +9 -0
- package/dist/config-provider/index.json +3 -0
- package/dist/config-provider/index.wxml +5 -0
- package/dist/config-provider/index.wxs +29 -0
- package/dist/count-down/index.d.ts +1 -0
- package/dist/count-down/index.js +100 -0
- package/dist/count-down/index.json +3 -0
- package/dist/count-down/index.wxml +4 -0
- package/dist/count-down/index.wxss +1 -0
- package/dist/count-down/utils.d.ts +10 -0
- package/dist/count-down/utils.js +57 -0
- package/dist/datetime-picker/index.d.ts +1 -0
- package/dist/datetime-picker/index.js +295 -0
- package/dist/datetime-picker/index.json +6 -0
- package/dist/datetime-picker/index.wxml +16 -0
- package/dist/datetime-picker/index.wxss +1 -0
- package/dist/definitions/index.d.ts +29 -0
- package/dist/definitions/index.js +1 -0
- package/dist/dialog/dialog.d.ts +55 -0
- package/dist/dialog/dialog.js +77 -0
- package/dist/dialog/index.d.ts +1 -0
- package/dist/dialog/index.js +132 -0
- package/dist/dialog/index.json +9 -0
- package/dist/dialog/index.wxml +126 -0
- package/dist/dialog/index.wxss +1 -0
- package/dist/divider/index.d.ts +1 -0
- package/dist/divider/index.js +12 -0
- package/dist/divider/index.json +4 -0
- package/dist/divider/index.wxml +9 -0
- package/dist/divider/index.wxs +18 -0
- package/dist/divider/index.wxss +1 -0
- package/dist/dropdown-item/index.d.ts +1 -0
- package/dist/dropdown-item/index.js +130 -0
- package/dist/dropdown-item/index.json +8 -0
- package/dist/dropdown-item/index.wxml +50 -0
- package/dist/dropdown-item/index.wxss +1 -0
- package/dist/dropdown-item/shared.d.ts +5 -0
- package/dist/dropdown-item/shared.js +1 -0
- package/dist/dropdown-menu/index.d.ts +1 -0
- package/dist/dropdown-menu/index.js +117 -0
- package/dist/dropdown-menu/index.json +3 -0
- package/dist/dropdown-menu/index.wxml +23 -0
- package/dist/dropdown-menu/index.wxs +16 -0
- package/dist/dropdown-menu/index.wxss +1 -0
- package/dist/empty/index.d.ts +1 -0
- package/dist/empty/index.js +10 -0
- package/dist/empty/index.json +4 -0
- package/dist/empty/index.wxml +22 -0
- package/dist/empty/index.wxs +15 -0
- package/dist/empty/index.wxss +1 -0
- package/dist/field/index.d.ts +1 -0
- package/dist/field/index.js +138 -0
- package/dist/field/index.json +7 -0
- package/dist/field/index.wxml +56 -0
- package/dist/field/index.wxs +18 -0
- package/dist/field/index.wxss +1 -0
- package/dist/field/input.wxml +31 -0
- package/dist/field/props.d.ts +4 -0
- package/dist/field/props.js +56 -0
- package/dist/field/textarea.wxml +32 -0
- package/dist/field/types.d.ts +8 -0
- package/dist/field/types.js +1 -0
- package/dist/goods-action/index.d.ts +1 -0
- package/dist/goods-action/index.js +15 -0
- package/dist/goods-action/index.json +3 -0
- package/dist/goods-action/index.wxml +5 -0
- package/dist/goods-action/index.wxss +1 -0
- package/dist/goods-action-button/index.d.ts +1 -0
- package/dist/goods-action-button/index.js +44 -0
- package/dist/goods-action-button/index.json +6 -0
- package/dist/goods-action-button/index.wxml +35 -0
- package/dist/goods-action-button/index.wxss +1 -0
- package/dist/goods-action-icon/index.d.ts +1 -0
- package/dist/goods-action-icon/index.js +27 -0
- package/dist/goods-action-icon/index.json +7 -0
- package/dist/goods-action-icon/index.wxml +41 -0
- package/dist/goods-action-icon/index.wxss +1 -0
- package/dist/grid/index.d.ts +1 -0
- package/dist/grid/index.js +55 -0
- package/dist/grid/index.json +3 -0
- package/dist/grid/index.wxml +8 -0
- package/dist/grid/index.wxs +13 -0
- package/dist/grid/index.wxss +1 -0
- package/dist/grid-item/index.d.ts +1 -0
- package/dist/grid-item/index.js +52 -0
- package/dist/grid-item/index.json +6 -0
- package/dist/grid-item/index.wxml +27 -0
- package/dist/grid-item/index.wxs +32 -0
- package/dist/grid-item/index.wxss +1 -0
- package/dist/icon/index.d.ts +1 -0
- package/dist/icon/index.js +21 -0
- package/dist/icon/index.json +6 -0
- package/dist/icon/index.wxml +20 -0
- package/dist/icon/index.wxs +43 -0
- package/dist/icon/index.wxss +1 -0
- package/dist/image/index.d.ts +1 -0
- package/dist/image/index.js +64 -0
- package/dist/image/index.json +7 -0
- package/dist/image/index.wxml +35 -0
- package/dist/image/index.wxs +32 -0
- package/dist/image/index.wxss +1 -0
- package/dist/index-anchor/index.d.ts +1 -0
- package/dist/index-anchor/index.js +25 -0
- package/dist/index-anchor/index.json +3 -0
- package/dist/index-anchor/index.wxml +14 -0
- package/dist/index-anchor/index.wxss +1 -0
- package/dist/index-bar/index.d.ts +1 -0
- package/dist/index-bar/index.js +246 -0
- package/dist/index-bar/index.json +3 -0
- package/dist/index-bar/index.wxml +22 -0
- package/dist/index-bar/index.wxss +1 -0
- package/dist/info/index.d.ts +1 -0
- package/dist/info/index.js +8 -0
- package/dist/info/index.json +3 -0
- package/dist/info/index.wxml +7 -0
- package/dist/info/index.wxss +1 -0
- package/dist/loading/index.d.ts +1 -0
- package/dist/loading/index.js +16 -0
- package/dist/loading/index.json +3 -0
- package/dist/loading/index.wxml +19 -0
- package/dist/loading/index.wxs +22 -0
- package/dist/loading/index.wxss +1 -0
- package/dist/mixins/basic.d.ts +1 -0
- package/dist/mixins/basic.js +26 -0
- package/dist/mixins/button.d.ts +1 -0
- package/dist/mixins/button.js +51 -0
- package/dist/mixins/link.d.ts +1 -0
- package/dist/mixins/link.js +23 -0
- package/dist/mixins/page-scroll.d.ts +6 -0
- package/dist/mixins/page-scroll.js +42 -0
- package/dist/mixins/touch.d.ts +1 -0
- package/dist/mixins/touch.js +37 -0
- package/dist/mixins/transition.d.ts +1 -0
- package/dist/mixins/transition.js +136 -0
- package/dist/nav-bar/index.d.ts +1 -0
- package/dist/nav-bar/index.js +65 -0
- package/dist/nav-bar/index.json +6 -0
- package/dist/nav-bar/index.wxml +42 -0
- package/dist/nav-bar/index.wxs +13 -0
- package/dist/nav-bar/index.wxss +1 -0
- package/dist/notice-bar/index.d.ts +1 -0
- package/dist/notice-bar/index.js +132 -0
- package/dist/notice-bar/index.json +6 -0
- package/dist/notice-bar/index.wxml +38 -0
- package/dist/notice-bar/index.wxs +15 -0
- package/dist/notice-bar/index.wxss +1 -0
- package/dist/notify/index.d.ts +1 -0
- package/dist/notify/index.js +65 -0
- package/dist/notify/index.json +6 -0
- package/dist/notify/index.wxml +21 -0
- package/dist/notify/index.wxs +22 -0
- package/dist/notify/index.wxss +1 -0
- package/dist/notify/notify.d.ts +22 -0
- package/dist/notify/notify.js +53 -0
- package/dist/overlay/index.d.ts +1 -0
- package/dist/overlay/index.js +30 -0
- package/dist/overlay/index.json +6 -0
- package/dist/overlay/index.wxml +7 -0
- package/dist/overlay/index.wxss +1 -0
- package/dist/overlay/overlay.wxml +10 -0
- package/dist/panel/index.d.ts +1 -0
- package/dist/panel/index.js +9 -0
- package/dist/panel/index.json +6 -0
- package/dist/panel/index.wxml +19 -0
- package/dist/panel/index.wxss +1 -0
- package/dist/picker/index.d.ts +1 -0
- package/dist/picker/index.js +136 -0
- package/dist/picker/index.json +7 -0
- package/dist/picker/index.wxml +37 -0
- package/dist/picker/index.wxs +42 -0
- package/dist/picker/index.wxss +1 -0
- package/dist/picker/shared.d.ts +21 -0
- package/dist/picker/shared.js +21 -0
- package/dist/picker/toolbar.wxml +23 -0
- package/dist/picker-column/index.d.ts +1 -0
- package/dist/picker-column/index.js +118 -0
- package/dist/picker-column/index.json +3 -0
- package/dist/picker-column/index.wxml +23 -0
- package/dist/picker-column/index.wxs +36 -0
- package/dist/picker-column/index.wxss +1 -0
- package/dist/popup/index.d.ts +1 -0
- package/dist/popup/index.js +97 -0
- package/dist/popup/index.json +7 -0
- package/dist/popup/index.wxml +21 -0
- package/dist/popup/index.wxs +18 -0
- package/dist/popup/index.wxss +1 -0
- package/dist/popup/popup.wxml +16 -0
- package/dist/progress/index.d.ts +1 -0
- package/dist/progress/index.js +51 -0
- package/dist/progress/index.json +3 -0
- package/dist/progress/index.wxml +20 -0
- package/dist/progress/index.wxs +36 -0
- package/dist/progress/index.wxss +1 -0
- package/dist/radio/index.d.ts +1 -0
- package/dist/radio/index.js +66 -0
- package/dist/radio/index.json +6 -0
- package/dist/radio/index.wxml +30 -0
- package/dist/radio/index.wxs +33 -0
- package/dist/radio/index.wxss +1 -0
- package/dist/radio-group/index.d.ts +1 -0
- package/dist/radio-group/index.js +22 -0
- package/dist/radio-group/index.json +3 -0
- package/dist/radio-group/index.wxml +5 -0
- package/dist/radio-group/index.wxss +1 -0
- package/dist/rate/index.d.ts +1 -0
- package/dist/rate/index.js +78 -0
- package/dist/rate/index.json +6 -0
- package/dist/rate/index.wxml +35 -0
- package/dist/rate/index.wxss +1 -0
- package/dist/row/index.d.ts +1 -0
- package/dist/row/index.js +23 -0
- package/dist/row/index.json +3 -0
- package/dist/row/index.wxml +5 -0
- package/dist/row/index.wxs +18 -0
- package/dist/row/index.wxss +1 -0
- package/dist/search/index.d.ts +1 -0
- package/dist/search/index.js +97 -0
- package/dist/search/index.json +6 -0
- package/dist/search/index.wxml +54 -0
- package/dist/search/index.wxss +1 -0
- package/dist/share-sheet/index.d.ts +1 -0
- package/dist/share-sheet/index.js +59 -0
- package/dist/share-sheet/index.json +7 -0
- package/dist/share-sheet/index.wxml +47 -0
- package/dist/share-sheet/index.wxs +12 -0
- package/dist/share-sheet/index.wxss +1 -0
- package/dist/share-sheet/options.d.ts +1 -0
- package/dist/share-sheet/options.js +14 -0
- package/dist/share-sheet/options.json +3 -0
- package/dist/share-sheet/options.wxml +20 -0
- package/dist/share-sheet/options.wxs +14 -0
- package/dist/share-sheet/options.wxss +1 -0
- package/dist/sidebar/index.d.ts +1 -0
- package/dist/sidebar/index.js +34 -0
- package/dist/sidebar/index.json +3 -0
- package/dist/sidebar/index.wxml +3 -0
- package/dist/sidebar/index.wxss +1 -0
- package/dist/sidebar-item/index.d.ts +1 -0
- package/dist/sidebar-item/index.js +29 -0
- package/dist/sidebar-item/index.json +6 -0
- package/dist/sidebar-item/index.wxml +18 -0
- package/dist/sidebar-item/index.wxss +1 -0
- package/dist/skeleton/index.d.ts +1 -0
- package/dist/skeleton/index.js +46 -0
- package/dist/skeleton/index.json +4 -0
- package/dist/skeleton/index.wxml +29 -0
- package/dist/skeleton/index.wxss +1 -0
- package/dist/slider/index.d.ts +1 -0
- package/dist/slider/index.js +207 -0
- package/dist/slider/index.json +3 -0
- package/dist/slider/index.wxml +68 -0
- package/dist/slider/index.wxs +14 -0
- package/dist/slider/index.wxss +1 -0
- package/dist/stepper/index.d.ts +1 -0
- package/dist/stepper/index.js +184 -0
- package/dist/stepper/index.json +3 -0
- package/dist/stepper/index.wxml +43 -0
- package/dist/stepper/index.wxs +22 -0
- package/dist/stepper/index.wxss +1 -0
- package/dist/steps/index.d.ts +1 -0
- package/dist/steps/index.js +33 -0
- package/dist/steps/index.json +6 -0
- package/dist/steps/index.wxml +54 -0
- package/dist/steps/index.wxss +1 -0
- package/dist/sticky/index.d.ts +1 -0
- package/dist/sticky/index.js +120 -0
- package/dist/sticky/index.json +3 -0
- package/dist/sticky/index.wxml +8 -0
- package/dist/sticky/index.wxs +25 -0
- package/dist/sticky/index.wxss +1 -0
- package/dist/submit-bar/index.d.ts +1 -0
- package/dist/submit-bar/index.js +56 -0
- package/dist/submit-bar/index.json +7 -0
- package/dist/submit-bar/index.wxml +44 -0
- package/dist/submit-bar/index.wxss +1 -0
- package/dist/swipe-cell/index.d.ts +1 -0
- package/dist/swipe-cell/index.js +133 -0
- package/dist/swipe-cell/index.json +3 -0
- package/dist/swipe-cell/index.wxml +20 -0
- package/dist/swipe-cell/index.wxss +1 -0
- package/dist/switch/index.d.ts +1 -0
- package/dist/switch/index.js +36 -0
- package/dist/switch/index.json +6 -0
- package/dist/switch/index.wxml +16 -0
- package/dist/switch/index.wxs +26 -0
- package/dist/switch/index.wxss +1 -0
- package/dist/tab/index.d.ts +1 -0
- package/dist/tab/index.js +56 -0
- package/dist/tab/index.json +3 -0
- package/dist/tab/index.wxml +8 -0
- package/dist/tab/index.wxss +1 -0
- package/dist/tabbar/index.d.ts +1 -0
- package/dist/tabbar/index.js +65 -0
- package/dist/tabbar/index.json +3 -0
- package/dist/tabbar/index.wxml +10 -0
- package/dist/tabbar/index.wxss +1 -0
- package/dist/tabbar-item/index.d.ts +1 -0
- package/dist/tabbar-item/index.js +68 -0
- package/dist/tabbar-item/index.json +7 -0
- package/dist/tabbar-item/index.wxml +28 -0
- package/dist/tabbar-item/index.wxss +1 -0
- package/dist/tabs/index.d.ts +1 -0
- package/dist/tabs/index.js +302 -0
- package/dist/tabs/index.json +7 -0
- package/dist/tabs/index.wxml +63 -0
- package/dist/tabs/index.wxs +83 -0
- package/dist/tabs/index.wxss +1 -0
- package/dist/tag/index.d.ts +1 -0
- package/dist/tag/index.js +21 -0
- package/dist/tag/index.json +6 -0
- package/dist/tag/index.wxml +15 -0
- package/dist/tag/index.wxs +13 -0
- package/dist/tag/index.wxss +1 -0
- package/dist/toast/index.d.ts +1 -0
- package/dist/toast/index.js +29 -0
- package/dist/toast/index.json +9 -0
- package/dist/toast/index.wxml +36 -0
- package/dist/toast/index.wxss +1 -0
- package/dist/toast/toast.d.ts +28 -0
- package/dist/toast/toast.js +68 -0
- package/dist/transition/index.d.ts +1 -0
- package/dist/transition/index.js +13 -0
- package/dist/transition/index.json +3 -0
- package/dist/transition/index.wxml +10 -0
- package/dist/transition/index.wxs +17 -0
- package/dist/transition/index.wxss +1 -0
- package/dist/tree-select/index.d.ts +1 -0
- package/dist/tree-select/index.js +68 -0
- package/dist/tree-select/index.json +8 -0
- package/dist/tree-select/index.wxml +41 -0
- package/dist/tree-select/index.wxs +12 -0
- package/dist/tree-select/index.wxss +1 -0
- package/dist/uploader/index.d.ts +1 -0
- package/dist/uploader/index.js +170 -0
- package/dist/uploader/index.json +7 -0
- package/dist/uploader/index.wxml +85 -0
- package/dist/uploader/index.wxs +17 -0
- package/dist/uploader/index.wxss +1 -0
- package/dist/uploader/shared.d.ts +61 -0
- package/dist/uploader/shared.js +65 -0
- package/dist/uploader/utils.d.ts +24 -0
- package/dist/uploader/utils.js +94 -0
- package/dist/wxs/add-unit.wxs +12 -0
- package/dist/wxs/array.wxs +5 -0
- package/dist/wxs/bem.wxs +39 -0
- package/dist/wxs/memoize.wxs +55 -0
- package/dist/wxs/object.wxs +13 -0
- package/dist/wxs/style.wxs +42 -0
- package/dist/wxs/utils.wxs +10 -0
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<wxs src="../wxs/utils.wxs" module="utils" />
|
|
2
|
+
<wxs src="./index.wxs" module="computed" />
|
|
3
|
+
|
|
4
|
+
<view
|
|
5
|
+
class="custom-class {{ utils.bem('tag', [type, size, { mark, plain, round }]) }}"
|
|
6
|
+
style="{{ computed.rootStyle({ plain, color, textColor }) }}"
|
|
7
|
+
>
|
|
8
|
+
<slot />
|
|
9
|
+
<van-icon
|
|
10
|
+
wx:if="{{ closeable }}"
|
|
11
|
+
name="cross"
|
|
12
|
+
custom-class="van-tag__close"
|
|
13
|
+
bind:click="onClose"
|
|
14
|
+
/>
|
|
15
|
+
</view>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
var style = require('../wxs/style.wxs');
|
|
3
|
+
|
|
4
|
+
function rootStyle(data) {
|
|
5
|
+
return style({
|
|
6
|
+
'background-color': data.plain ? '' : data.color,
|
|
7
|
+
color: data.textColor || data.plain ? data.textColor || data.color : '',
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
module.exports = {
|
|
12
|
+
rootStyle: rootStyle,
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../common/index.wxss';.van-tag{align-items:center;border-radius:var(--tag-border-radius,2px);color:var(--tag-text-color,#fff);display:inline-flex;font-size:var(--tag-font-size,12px);line-height:var(--tag-line-height,16px);padding:var(--tag-padding,0 4px);position:relative}.van-tag--default{background-color:var(--tag-default-color,#969799)}.van-tag--default.van-tag--plain{color:var(--tag-default-color,#969799)}.van-tag--danger{background-color:var(--tag-danger-color,#ee0a24)}.van-tag--danger.van-tag--plain{color:var(--tag-danger-color,#ee0a24)}.van-tag--primary{background-color:var(--tag-primary-color,#1989fa)}.van-tag--primary.van-tag--plain{color:var(--tag-primary-color,#1989fa)}.van-tag--success{background-color:var(--tag-success-color,#07c160)}.van-tag--success.van-tag--plain{color:var(--tag-success-color,#07c160)}.van-tag--warning{background-color:var(--tag-warning-color,#ff976a)}.van-tag--warning.van-tag--plain{color:var(--tag-warning-color,#ff976a)}.van-tag--plain{background-color:var(--tag-plain-background-color,#fff)}.van-tag--plain:before{border:1px solid;border-radius:inherit;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.van-tag--medium{padding:var(--tag-medium-padding,2px 6px)}.van-tag--large{border-radius:var(--tag-large-border-radius,4px);font-size:var(--tag-large-font-size,14px);padding:var(--tag-large-padding,4px 8px)}.van-tag--mark{border-radius:0 var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) var(--tag-round-border-radius,var(--tag-round-border-radius,999px)) 0}.van-tag--mark:after{content:"";display:block;width:2px}.van-tag--round{border-radius:var(--tag-round-border-radius,999px)}.van-tag__close{margin-left:2px;min-width:1em}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { VantComponent } from '../common/component';
|
|
2
|
+
VantComponent({
|
|
3
|
+
props: {
|
|
4
|
+
show: Boolean,
|
|
5
|
+
mask: Boolean,
|
|
6
|
+
message: String,
|
|
7
|
+
forbidClick: Boolean,
|
|
8
|
+
zIndex: {
|
|
9
|
+
type: Number,
|
|
10
|
+
value: 1000,
|
|
11
|
+
},
|
|
12
|
+
type: {
|
|
13
|
+
type: String,
|
|
14
|
+
value: 'text',
|
|
15
|
+
},
|
|
16
|
+
loadingType: {
|
|
17
|
+
type: String,
|
|
18
|
+
value: 'circular',
|
|
19
|
+
},
|
|
20
|
+
position: {
|
|
21
|
+
type: String,
|
|
22
|
+
value: 'middle',
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
methods: {
|
|
26
|
+
// for prevent touchmove
|
|
27
|
+
noop() { },
|
|
28
|
+
},
|
|
29
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<van-overlay
|
|
2
|
+
wx:if="{{ mask || forbidClick }}"
|
|
3
|
+
show="{{ show }}"
|
|
4
|
+
z-index="{{ zIndex }}"
|
|
5
|
+
custom-style="{{ mask ? '' : 'background-color: transparent;' }}"
|
|
6
|
+
/>
|
|
7
|
+
<van-transition
|
|
8
|
+
show="{{ show }}"
|
|
9
|
+
custom-style="z-index: {{ zIndex }}"
|
|
10
|
+
custom-class="van-toast__container"
|
|
11
|
+
>
|
|
12
|
+
<view
|
|
13
|
+
class="van-toast van-toast--{{ (type === 'text' || type === 'html') ? 'text' : 'icon' }} van-toast--{{ position }}"
|
|
14
|
+
catch:touchmove="noop"
|
|
15
|
+
>
|
|
16
|
+
<!-- text only -->
|
|
17
|
+
<text wx:if="{{ type === 'text' }}">{{ message }}</text>
|
|
18
|
+
|
|
19
|
+
<!-- html only -->
|
|
20
|
+
<rich-text wx:elif="{{ type === 'html' }}" nodes="{{ message }}"></rich-text>
|
|
21
|
+
|
|
22
|
+
<!-- with icon -->
|
|
23
|
+
<block wx:else>
|
|
24
|
+
<van-loading
|
|
25
|
+
wx:if="{{ type === 'loading' }}"
|
|
26
|
+
color="white"
|
|
27
|
+
type="{{ loadingType }}"
|
|
28
|
+
custom-class="van-toast__loading"
|
|
29
|
+
/>
|
|
30
|
+
<van-icon wx:else class="van-toast__icon" name="{{ type }}" />
|
|
31
|
+
<text wx:if="{{ message }}" class="van-toast__text">{{ message }}</text>
|
|
32
|
+
</block>
|
|
33
|
+
|
|
34
|
+
<slot />
|
|
35
|
+
</view>
|
|
36
|
+
</van-transition>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../common/index.wxss';.van-toast{word-wrap:break-word;align-items:center;background-color:var(--toast-background-color,rgba(0,0,0,.7));border-radius:var(--toast-border-radius,8px);box-sizing:initial;color:var(--toast-text-color,#fff);display:flex;flex-direction:column;font-size:var(--toast-font-size,14px);justify-content:center;line-height:var(--toast-line-height,20px);white-space:pre-wrap}.van-toast__container{left:50%;max-width:var(--toast-max-width,70%);position:fixed;top:50%;transform:translate(-50%,-50%);width:-webkit-fit-content;width:fit-content}.van-toast--text{min-width:var(--toast-text-min-width,96px);padding:var(--toast-text-padding,8px 12px)}.van-toast--icon{min-height:var(--toast-default-min-height,88px);padding:var(--toast-default-padding,16px);width:var(--toast-default-width,88px)}.van-toast--icon .van-toast__icon{font-size:var(--toast-icon-size,36px)}.van-toast--icon .van-toast__text{padding-top:8px}.van-toast__loading{margin:10px 0}.van-toast--top{transform:translateY(-30vh)}.van-toast--bottom{transform:translateY(30vh)}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/// <reference types="miniprogram-api-typings" />
|
|
2
|
+
/// <reference types="miniprogram-api-typings" />
|
|
3
|
+
type ToastMessage = string | number;
|
|
4
|
+
type ToastContext = WechatMiniprogram.Component.TrivialInstance | WechatMiniprogram.Page.TrivialInstance;
|
|
5
|
+
interface ToastOptions {
|
|
6
|
+
show?: boolean;
|
|
7
|
+
type?: string;
|
|
8
|
+
mask?: boolean;
|
|
9
|
+
zIndex?: number;
|
|
10
|
+
context?: (() => ToastContext) | ToastContext;
|
|
11
|
+
position?: string;
|
|
12
|
+
duration?: number;
|
|
13
|
+
selector?: string;
|
|
14
|
+
forbidClick?: boolean;
|
|
15
|
+
loadingType?: string;
|
|
16
|
+
message?: ToastMessage;
|
|
17
|
+
onClose?: () => void;
|
|
18
|
+
}
|
|
19
|
+
declare function Toast(toastOptions: ToastOptions | ToastMessage): WechatMiniprogram.Component.TrivialInstance | undefined;
|
|
20
|
+
declare namespace Toast {
|
|
21
|
+
var loading: (options: ToastMessage | ToastOptions) => WechatMiniprogram.Component.TrivialInstance | undefined;
|
|
22
|
+
var success: (options: ToastMessage | ToastOptions) => WechatMiniprogram.Component.TrivialInstance | undefined;
|
|
23
|
+
var fail: (options: ToastMessage | ToastOptions) => WechatMiniprogram.Component.TrivialInstance | undefined;
|
|
24
|
+
var clear: () => void;
|
|
25
|
+
var setDefaultOptions: (options: ToastOptions) => void;
|
|
26
|
+
var resetDefaultOptions: () => void;
|
|
27
|
+
}
|
|
28
|
+
export default Toast;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { isObj } from '../common/validator';
|
|
2
|
+
const defaultOptions = {
|
|
3
|
+
type: 'text',
|
|
4
|
+
mask: false,
|
|
5
|
+
message: '',
|
|
6
|
+
show: true,
|
|
7
|
+
zIndex: 1000,
|
|
8
|
+
duration: 2000,
|
|
9
|
+
position: 'middle',
|
|
10
|
+
forbidClick: false,
|
|
11
|
+
loadingType: 'circular',
|
|
12
|
+
selector: '#van-toast',
|
|
13
|
+
};
|
|
14
|
+
let queue = [];
|
|
15
|
+
let currentOptions = Object.assign({}, defaultOptions);
|
|
16
|
+
function parseOptions(message) {
|
|
17
|
+
return isObj(message) ? message : { message };
|
|
18
|
+
}
|
|
19
|
+
function getContext() {
|
|
20
|
+
const pages = getCurrentPages();
|
|
21
|
+
return pages[pages.length - 1];
|
|
22
|
+
}
|
|
23
|
+
function Toast(toastOptions) {
|
|
24
|
+
const options = Object.assign(Object.assign({}, currentOptions), parseOptions(toastOptions));
|
|
25
|
+
const context = (typeof options.context === 'function'
|
|
26
|
+
? options.context()
|
|
27
|
+
: options.context) || getContext();
|
|
28
|
+
const toast = context.selectComponent(options.selector);
|
|
29
|
+
if (!toast) {
|
|
30
|
+
console.warn('未找到 van-toast 节点,请确认 selector 及 context 是否正确');
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
delete options.context;
|
|
34
|
+
delete options.selector;
|
|
35
|
+
toast.clear = () => {
|
|
36
|
+
toast.setData({ show: false });
|
|
37
|
+
if (options.onClose) {
|
|
38
|
+
options.onClose();
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
queue.push(toast);
|
|
42
|
+
toast.setData(options);
|
|
43
|
+
clearTimeout(toast.timer);
|
|
44
|
+
if (options.duration != null && options.duration > 0) {
|
|
45
|
+
toast.timer = setTimeout(() => {
|
|
46
|
+
toast.clear();
|
|
47
|
+
queue = queue.filter((item) => item !== toast);
|
|
48
|
+
}, options.duration);
|
|
49
|
+
}
|
|
50
|
+
return toast;
|
|
51
|
+
}
|
|
52
|
+
const createMethod = (type) => (options) => Toast(Object.assign({ type }, parseOptions(options)));
|
|
53
|
+
Toast.loading = createMethod('loading');
|
|
54
|
+
Toast.success = createMethod('success');
|
|
55
|
+
Toast.fail = createMethod('fail');
|
|
56
|
+
Toast.clear = () => {
|
|
57
|
+
queue.forEach((toast) => {
|
|
58
|
+
toast.clear();
|
|
59
|
+
});
|
|
60
|
+
queue = [];
|
|
61
|
+
};
|
|
62
|
+
Toast.setDefaultOptions = (options) => {
|
|
63
|
+
Object.assign(currentOptions, options);
|
|
64
|
+
};
|
|
65
|
+
Toast.resetDefaultOptions = () => {
|
|
66
|
+
currentOptions = Object.assign({}, defaultOptions);
|
|
67
|
+
};
|
|
68
|
+
export default Toast;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { VantComponent } from '../common/component';
|
|
2
|
+
import { transition } from '../mixins/transition';
|
|
3
|
+
VantComponent({
|
|
4
|
+
classes: [
|
|
5
|
+
'enter-class',
|
|
6
|
+
'enter-active-class',
|
|
7
|
+
'enter-to-class',
|
|
8
|
+
'leave-class',
|
|
9
|
+
'leave-active-class',
|
|
10
|
+
'leave-to-class',
|
|
11
|
+
],
|
|
12
|
+
mixins: [transition(true)],
|
|
13
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<wxs src="./index.wxs" module="computed" />
|
|
2
|
+
|
|
3
|
+
<view
|
|
4
|
+
wx:if="{{ inited }}"
|
|
5
|
+
class="van-transition custom-class {{ classes }}"
|
|
6
|
+
style="{{ computed.rootStyle({ currentDuration, display, customStyle }) }}"
|
|
7
|
+
bind:transitionend="onTransitionEnd"
|
|
8
|
+
>
|
|
9
|
+
<slot />
|
|
10
|
+
</view>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
var style = require('../wxs/style.wxs');
|
|
3
|
+
|
|
4
|
+
function rootStyle(data) {
|
|
5
|
+
return style([
|
|
6
|
+
{
|
|
7
|
+
'-webkit-transition-duration': data.currentDuration + 'ms',
|
|
8
|
+
'transition-duration': data.currentDuration + 'ms',
|
|
9
|
+
},
|
|
10
|
+
data.display ? null : 'display: none',
|
|
11
|
+
data.customStyle,
|
|
12
|
+
]);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
module.exports = {
|
|
16
|
+
rootStyle: rootStyle,
|
|
17
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../common/index.wxss';.van-transition{transition-timing-function:ease}.van-fade-enter-active,.van-fade-leave-active{transition-property:opacity}.van-fade-enter,.van-fade-leave-to{opacity:0}.van-fade-down-enter-active,.van-fade-down-leave-active,.van-fade-left-enter-active,.van-fade-left-leave-active,.van-fade-right-enter-active,.van-fade-right-leave-active,.van-fade-up-enter-active,.van-fade-up-leave-active{transition-property:opacity,transform}.van-fade-up-enter,.van-fade-up-leave-to{opacity:0;transform:translate3d(0,100%,0)}.van-fade-down-enter,.van-fade-down-leave-to{opacity:0;transform:translate3d(0,-100%,0)}.van-fade-left-enter,.van-fade-left-leave-to{opacity:0;transform:translate3d(-100%,0,0)}.van-fade-right-enter,.van-fade-right-leave-to{opacity:0;transform:translate3d(100%,0,0)}.van-slide-down-enter-active,.van-slide-down-leave-active,.van-slide-left-enter-active,.van-slide-left-leave-active,.van-slide-right-enter-active,.van-slide-right-leave-active,.van-slide-up-enter-active,.van-slide-up-leave-active{transition-property:transform}.van-slide-up-enter,.van-slide-up-leave-to{transform:translate3d(0,100%,0)}.van-slide-down-enter,.van-slide-down-leave-to{transform:translate3d(0,-100%,0)}.van-slide-left-enter,.van-slide-left-leave-to{transform:translate3d(-100%,0,0)}.van-slide-right-enter,.van-slide-right-leave-to{transform:translate3d(100%,0,0)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { VantComponent } from '../common/component';
|
|
2
|
+
VantComponent({
|
|
3
|
+
classes: [
|
|
4
|
+
'main-item-class',
|
|
5
|
+
'content-item-class',
|
|
6
|
+
'main-active-class',
|
|
7
|
+
'content-active-class',
|
|
8
|
+
'main-disabled-class',
|
|
9
|
+
'content-disabled-class',
|
|
10
|
+
],
|
|
11
|
+
props: {
|
|
12
|
+
items: {
|
|
13
|
+
type: Array,
|
|
14
|
+
observer: 'updateSubItems',
|
|
15
|
+
},
|
|
16
|
+
activeId: null,
|
|
17
|
+
mainActiveIndex: {
|
|
18
|
+
type: Number,
|
|
19
|
+
value: 0,
|
|
20
|
+
observer: 'updateSubItems',
|
|
21
|
+
},
|
|
22
|
+
height: {
|
|
23
|
+
type: null,
|
|
24
|
+
value: 300,
|
|
25
|
+
},
|
|
26
|
+
max: {
|
|
27
|
+
type: Number,
|
|
28
|
+
value: Infinity,
|
|
29
|
+
},
|
|
30
|
+
selectedIcon: {
|
|
31
|
+
type: String,
|
|
32
|
+
value: 'success',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
data: {
|
|
36
|
+
subItems: [],
|
|
37
|
+
},
|
|
38
|
+
methods: {
|
|
39
|
+
// 当一个子项被选择时
|
|
40
|
+
onSelectItem(event) {
|
|
41
|
+
const { item } = event.currentTarget.dataset;
|
|
42
|
+
const isArray = Array.isArray(this.data.activeId);
|
|
43
|
+
// 判断有没有超出右侧选择的最大数
|
|
44
|
+
const isOverMax = isArray && this.data.activeId.length >= this.data.max;
|
|
45
|
+
// 判断该项有没有被选中, 如果有被选中,则忽视是否超出的条件
|
|
46
|
+
const isSelected = isArray
|
|
47
|
+
? this.data.activeId.indexOf(item.id) > -1
|
|
48
|
+
: this.data.activeId === item.id;
|
|
49
|
+
if (!item.disabled && (!isOverMax || isSelected)) {
|
|
50
|
+
this.$emit('click-item', item);
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
// 当一个导航被点击时
|
|
54
|
+
onClickNav(event) {
|
|
55
|
+
const index = event.detail;
|
|
56
|
+
const item = this.data.items[index];
|
|
57
|
+
if (!item.disabled) {
|
|
58
|
+
this.$emit('click-nav', { index });
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
// 更新子项列表
|
|
62
|
+
updateSubItems() {
|
|
63
|
+
const { items, mainActiveIndex } = this.data;
|
|
64
|
+
const { children = [] } = items[mainActiveIndex] || {};
|
|
65
|
+
this.setData({ subItems: children });
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<wxs src="../wxs/utils.wxs" module="utils" />
|
|
2
|
+
<wxs src="./index.wxs" module="wxs" />
|
|
3
|
+
|
|
4
|
+
<view
|
|
5
|
+
class="van-tree-select"
|
|
6
|
+
style="height: {{ utils.addUnit(height) }}"
|
|
7
|
+
>
|
|
8
|
+
<scroll-view scroll-y class="van-tree-select__nav">
|
|
9
|
+
<van-sidebar active-key="{{ mainActiveIndex }}" bind:change="onClickNav" custom-class="van-tree-select__nav__inner">
|
|
10
|
+
<van-sidebar-item
|
|
11
|
+
wx:for="{{ items }}"
|
|
12
|
+
wx:key="index"
|
|
13
|
+
custom-class="main-item-class"
|
|
14
|
+
active-class="main-active-class"
|
|
15
|
+
disabled-class="main-disabled-class"
|
|
16
|
+
badge="{{ item.badge }}"
|
|
17
|
+
dot="{{ item.dot }}"
|
|
18
|
+
title="{{ item.text }}"
|
|
19
|
+
disabled="{{ item.disabled }}"
|
|
20
|
+
/>
|
|
21
|
+
</van-sidebar>
|
|
22
|
+
</scroll-view>
|
|
23
|
+
<scroll-view scroll-y class="van-tree-select__content">
|
|
24
|
+
<slot name="content" />
|
|
25
|
+
<view
|
|
26
|
+
wx:for="{{ subItems }}"
|
|
27
|
+
wx:key="id"
|
|
28
|
+
class="van-ellipsis content-item-class {{ utils.bem('tree-select__item', { active: wxs.isActive(activeId, item.id), disabled: item.disabled }) }} {{ wxs.isActive(activeId, item.id) ? 'content-active-class' : '' }} {{ item.disabled ? 'content-disabled-class' : '' }}"
|
|
29
|
+
data-item="{{ item }}"
|
|
30
|
+
bind:tap="onSelectItem"
|
|
31
|
+
>
|
|
32
|
+
{{ item.text }}
|
|
33
|
+
<van-icon
|
|
34
|
+
wx:if="{{ wxs.isActive(activeId, item.id) }}"
|
|
35
|
+
name="{{ selectedIcon }}"
|
|
36
|
+
size="16px"
|
|
37
|
+
class="van-tree-select__selected"
|
|
38
|
+
/>
|
|
39
|
+
</view>
|
|
40
|
+
</scroll-view>
|
|
41
|
+
</view>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
var array = require('../wxs/array.wxs');
|
|
3
|
+
|
|
4
|
+
function isActive (activeList, itemId) {
|
|
5
|
+
if (array.isArray(activeList)) {
|
|
6
|
+
return activeList.indexOf(itemId) > -1;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
return activeList === itemId;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
module.exports.isActive = isActive;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../common/index.wxss';.van-tree-select{display:flex;font-size:var(--tree-select-font-size,14px);position:relative;-webkit-user-select:none;user-select:none}.van-tree-select__nav{--sidebar-padding:12px 8px 12px 12px;background-color:var(--tree-select-nav-background-color,#f7f8fa);flex:1}.van-tree-select__nav__inner{height:100%;width:100%!important}.van-tree-select__content{background-color:var(--tree-select-content-background-color,#fff);flex:2}.van-tree-select__item{font-weight:700;line-height:var(--tree-select-item-height,44px);padding:0 32px 0 var(--padding-md,16px);position:relative}.van-tree-select__item--active{color:var(--tree-select-item-active-color,#ee0a24)}.van-tree-select__item--disabled{color:var(--tree-select-item-disabled-color,#c8c9cc)}.van-tree-select__selected{position:absolute;right:var(--padding-md,16px);top:50%;transform:translateY(-50%)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { VantComponent } from '../common/component';
|
|
2
|
+
import { isBoolean, isPromise } from '../common/validator';
|
|
3
|
+
import { imageProps, mediaProps, messageFileProps, videoProps } from './shared';
|
|
4
|
+
import { chooseFile, isImageFile, isVideoFile } from './utils';
|
|
5
|
+
VantComponent({
|
|
6
|
+
props: Object.assign(Object.assign(Object.assign(Object.assign({ disabled: Boolean, multiple: Boolean, uploadText: String, useBeforeRead: Boolean, afterRead: null, beforeRead: null, previewSize: {
|
|
7
|
+
type: null,
|
|
8
|
+
value: 80,
|
|
9
|
+
}, name: {
|
|
10
|
+
type: null,
|
|
11
|
+
value: '',
|
|
12
|
+
}, accept: {
|
|
13
|
+
type: String,
|
|
14
|
+
value: 'image',
|
|
15
|
+
}, fileList: {
|
|
16
|
+
type: Array,
|
|
17
|
+
value: [],
|
|
18
|
+
observer: 'formatFileList',
|
|
19
|
+
}, maxSize: {
|
|
20
|
+
type: Number,
|
|
21
|
+
value: Number.MAX_VALUE,
|
|
22
|
+
}, maxCount: {
|
|
23
|
+
type: Number,
|
|
24
|
+
value: 100,
|
|
25
|
+
}, deletable: {
|
|
26
|
+
type: Boolean,
|
|
27
|
+
value: true,
|
|
28
|
+
}, showUpload: {
|
|
29
|
+
type: Boolean,
|
|
30
|
+
value: true,
|
|
31
|
+
}, previewImage: {
|
|
32
|
+
type: Boolean,
|
|
33
|
+
value: true,
|
|
34
|
+
}, previewFullImage: {
|
|
35
|
+
type: Boolean,
|
|
36
|
+
value: true,
|
|
37
|
+
}, videoFit: {
|
|
38
|
+
type: String,
|
|
39
|
+
value: 'contain',
|
|
40
|
+
}, imageFit: {
|
|
41
|
+
type: String,
|
|
42
|
+
value: 'scaleToFill',
|
|
43
|
+
}, uploadIcon: {
|
|
44
|
+
type: String,
|
|
45
|
+
value: 'photograph',
|
|
46
|
+
} }, imageProps), videoProps), mediaProps), messageFileProps),
|
|
47
|
+
data: {
|
|
48
|
+
lists: [],
|
|
49
|
+
isInCount: true,
|
|
50
|
+
},
|
|
51
|
+
methods: {
|
|
52
|
+
formatFileList() {
|
|
53
|
+
const { fileList = [], maxCount } = this.data;
|
|
54
|
+
const lists = fileList.map((item) => (Object.assign(Object.assign({}, item), { isImage: isImageFile(item), isVideo: isVideoFile(item), deletable: isBoolean(item.deletable) ? item.deletable : true })));
|
|
55
|
+
this.setData({ lists, isInCount: lists.length < maxCount });
|
|
56
|
+
},
|
|
57
|
+
getDetail(index) {
|
|
58
|
+
return {
|
|
59
|
+
name: this.data.name,
|
|
60
|
+
index: index == null ? this.data.fileList.length : index,
|
|
61
|
+
};
|
|
62
|
+
},
|
|
63
|
+
startUpload() {
|
|
64
|
+
const { maxCount, multiple, lists, disabled } = this.data;
|
|
65
|
+
if (disabled)
|
|
66
|
+
return;
|
|
67
|
+
chooseFile(Object.assign(Object.assign({}, this.data), { maxCount: maxCount - lists.length }))
|
|
68
|
+
.then((res) => {
|
|
69
|
+
this.onBeforeRead(multiple ? res : res[0]);
|
|
70
|
+
})
|
|
71
|
+
.catch((error) => {
|
|
72
|
+
this.$emit('error', error);
|
|
73
|
+
});
|
|
74
|
+
},
|
|
75
|
+
onBeforeRead(file) {
|
|
76
|
+
const { beforeRead, useBeforeRead } = this.data;
|
|
77
|
+
let res = true;
|
|
78
|
+
if (typeof beforeRead === 'function') {
|
|
79
|
+
res = beforeRead(file, this.getDetail());
|
|
80
|
+
}
|
|
81
|
+
if (useBeforeRead) {
|
|
82
|
+
res = new Promise((resolve, reject) => {
|
|
83
|
+
this.$emit('before-read', Object.assign(Object.assign({ file }, this.getDetail()), { callback: (ok) => {
|
|
84
|
+
ok ? resolve() : reject();
|
|
85
|
+
} }));
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
if (!res) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (isPromise(res)) {
|
|
92
|
+
res.then((data) => this.onAfterRead(data || file));
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
this.onAfterRead(file);
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
onAfterRead(file) {
|
|
99
|
+
const { maxSize, afterRead } = this.data;
|
|
100
|
+
const oversize = Array.isArray(file)
|
|
101
|
+
? file.some((item) => item.size > maxSize)
|
|
102
|
+
: file.size > maxSize;
|
|
103
|
+
if (oversize) {
|
|
104
|
+
this.$emit('oversize', Object.assign({ file }, this.getDetail()));
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (typeof afterRead === 'function') {
|
|
108
|
+
afterRead(file, this.getDetail());
|
|
109
|
+
}
|
|
110
|
+
this.$emit('after-read', Object.assign({ file }, this.getDetail()));
|
|
111
|
+
},
|
|
112
|
+
deleteItem(event) {
|
|
113
|
+
const { index } = event.currentTarget.dataset;
|
|
114
|
+
this.$emit('delete', Object.assign(Object.assign({}, this.getDetail(index)), { file: this.data.fileList[index] }));
|
|
115
|
+
},
|
|
116
|
+
onPreviewImage(event) {
|
|
117
|
+
if (!this.data.previewFullImage)
|
|
118
|
+
return;
|
|
119
|
+
const { index } = event.currentTarget.dataset;
|
|
120
|
+
const { lists, showmenu } = this.data;
|
|
121
|
+
const item = lists[index];
|
|
122
|
+
wx.previewImage({
|
|
123
|
+
urls: lists.filter((item) => isImageFile(item)).map((item) => item.url),
|
|
124
|
+
current: item.url,
|
|
125
|
+
showmenu,
|
|
126
|
+
fail() {
|
|
127
|
+
wx.showToast({ title: '预览图片失败', icon: 'none' });
|
|
128
|
+
},
|
|
129
|
+
});
|
|
130
|
+
},
|
|
131
|
+
onPreviewVideo(event) {
|
|
132
|
+
if (!this.data.previewFullImage)
|
|
133
|
+
return;
|
|
134
|
+
const { index } = event.currentTarget.dataset;
|
|
135
|
+
const { lists } = this.data;
|
|
136
|
+
const sources = [];
|
|
137
|
+
const current = lists.reduce((sum, cur, curIndex) => {
|
|
138
|
+
if (!isVideoFile(cur)) {
|
|
139
|
+
return sum;
|
|
140
|
+
}
|
|
141
|
+
sources.push(Object.assign(Object.assign({}, cur), { type: 'video' }));
|
|
142
|
+
if (curIndex < index) {
|
|
143
|
+
sum++;
|
|
144
|
+
}
|
|
145
|
+
return sum;
|
|
146
|
+
}, 0);
|
|
147
|
+
wx.previewMedia({
|
|
148
|
+
sources,
|
|
149
|
+
current,
|
|
150
|
+
fail() {
|
|
151
|
+
wx.showToast({ title: '预览视频失败', icon: 'none' });
|
|
152
|
+
},
|
|
153
|
+
});
|
|
154
|
+
},
|
|
155
|
+
onPreviewFile(event) {
|
|
156
|
+
if (!this.data.previewFile)
|
|
157
|
+
return;
|
|
158
|
+
const { index } = event.currentTarget.dataset;
|
|
159
|
+
wx.openDocument({
|
|
160
|
+
filePath: this.data.lists[index].url,
|
|
161
|
+
showMenu: true,
|
|
162
|
+
});
|
|
163
|
+
},
|
|
164
|
+
onClickPreview(event) {
|
|
165
|
+
const { index } = event.currentTarget.dataset;
|
|
166
|
+
const item = this.data.lists[index];
|
|
167
|
+
this.$emit('click-preview', Object.assign(Object.assign({}, item), this.getDetail(index)));
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
});
|