maxit-cli 0.1.0
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/LICENSE +49 -0
- package/README.md +56 -0
- package/bin/maxit.js +75 -0
- package/lib/commands.js +142 -0
- package/lib/project.js +58 -0
- package/lib/registry.js +50 -0
- package/package.json +30 -0
- package/registry/components/action-sheet/action-sheet.js +1 -0
- package/registry/components/action-sheet/action-sheet.json +1 -0
- package/registry/components/action-sheet/action-sheet.wxml +1 -0
- package/registry/components/action-sheet/action-sheet.wxs +34 -0
- package/registry/components/action-sheet/action-sheet.wxss +197 -0
- package/registry/components/action-sheet/index.js +1 -0
- package/registry/components/action-sheet/props.js +1 -0
- package/registry/components/action-sheet/show.js +1 -0
- package/registry/components/action-sheet/template/grid.wxml +1 -0
- package/registry/components/avatar/avatar.js +1 -0
- package/registry/components/avatar/avatar.json +1 -0
- package/registry/components/avatar/avatar.wxml +1 -0
- package/registry/components/avatar/avatar.wxs +30 -0
- package/registry/components/avatar/avatar.wxss +105 -0
- package/registry/components/avatar/index.js +1 -0
- package/registry/components/avatar/props.js +1 -0
- package/registry/components/avatar-group/avatar-group.js +1 -0
- package/registry/components/avatar-group/avatar-group.json +1 -0
- package/registry/components/avatar-group/avatar-group.wxml +1 -0
- package/registry/components/avatar-group/avatar-group.wxss +248 -0
- package/registry/components/avatar-group/index.js +1 -0
- package/registry/components/avatar-group/props.js +1 -0
- package/registry/components/back-top/back-top.js +1 -0
- package/registry/components/back-top/back-top.json +1 -0
- package/registry/components/back-top/back-top.wxml +1 -0
- package/registry/components/back-top/back-top.wxss +77 -0
- package/registry/components/back-top/index.js +1 -0
- package/registry/components/back-top/props.js +1 -0
- package/registry/components/badge/badge.js +1 -0
- package/registry/components/badge/badge.json +1 -0
- package/registry/components/badge/badge.wxml +1 -0
- package/registry/components/badge/badge.wxs +64 -0
- package/registry/components/badge/badge.wxss +168 -0
- package/registry/components/badge/index.js +1 -0
- package/registry/components/badge/props.js +1 -0
- package/registry/components/balance-card/balance-card.js +34 -0
- package/registry/components/balance-card/balance-card.json +1 -0
- package/registry/components/balance-card/balance-card.wxml +33 -0
- package/registry/components/balance-card/balance-card.wxss +111 -0
- package/registry/components/balance-card/index.js +2 -0
- package/registry/components/balance-card/props.js +14 -0
- package/registry/components/balance-thumb-card/balance-thumb-card.js +39 -0
- package/registry/components/balance-thumb-card/balance-thumb-card.json +1 -0
- package/registry/components/balance-thumb-card/balance-thumb-card.wxml +26 -0
- package/registry/components/balance-thumb-card/balance-thumb-card.wxss +31 -0
- package/registry/components/balance-thumb-card/index.js +2 -0
- package/registry/components/balance-thumb-card/props.js +17 -0
- package/registry/components/bill-card/bill-card.js +23 -0
- package/registry/components/bill-card/bill-card.json +1 -0
- package/registry/components/bill-card/bill-card.wxml +30 -0
- package/registry/components/bill-card/bill-card.wxss +33 -0
- package/registry/components/bill-card/index.js +2 -0
- package/registry/components/bill-card/props.js +18 -0
- package/registry/components/button/button.js +1 -0
- package/registry/components/button/button.json +1 -0
- package/registry/components/button/button.wxml +1 -0
- package/registry/components/button/button.wxss +775 -0
- package/registry/components/button/index.js +1 -0
- package/registry/components/button/props.js +1 -0
- package/registry/components/calendar/calendar-header.wxml +1 -0
- package/registry/components/calendar/calendar.js +1 -0
- package/registry/components/calendar/calendar.json +1 -0
- package/registry/components/calendar/calendar.wxml +1 -0
- package/registry/components/calendar/calendar.wxs +44 -0
- package/registry/components/calendar/calendar.wxss +246 -0
- package/registry/components/calendar/index.js +1 -0
- package/registry/components/calendar/props.js +1 -0
- package/registry/components/calendar/template.wxml +1 -0
- package/registry/components/calendar/utils.js +1 -0
- package/registry/components/card/card.js +24 -0
- package/registry/components/card/card.json +1 -0
- package/registry/components/card/card.wxml +23 -0
- package/registry/components/card/card.wxss +103 -0
- package/registry/components/card/index.js +2 -0
- package/registry/components/card/props.js +16 -0
- package/registry/components/card-list/card-list.js +22 -0
- package/registry/components/card-list/card-list.json +1 -0
- package/registry/components/card-list/card-list.wxml +7 -0
- package/registry/components/card-list/card-list.wxss +30 -0
- package/registry/components/card-list/index.js +2 -0
- package/registry/components/card-list/props.js +16 -0
- package/registry/components/cascader/cascader.js +1 -0
- package/registry/components/cascader/cascader.json +1 -0
- package/registry/components/cascader/cascader.wxml +1 -0
- package/registry/components/cascader/cascader.wxss +178 -0
- package/registry/components/cascader/index.js +1 -0
- package/registry/components/cascader/props.js +1 -0
- package/registry/components/category-filter/category-filter.js +50 -0
- package/registry/components/category-filter/category-filter.json +1 -0
- package/registry/components/category-filter/category-filter.wxml +16 -0
- package/registry/components/category-filter/category-filter.wxss +47 -0
- package/registry/components/category-filter/index.js +2 -0
- package/registry/components/category-filter/props.js +10 -0
- package/registry/components/cell/cell.js +1 -0
- package/registry/components/cell/cell.json +1 -0
- package/registry/components/cell/cell.wxml +1 -0
- package/registry/components/cell/cell.wxss +136 -0
- package/registry/components/cell/index.js +1 -0
- package/registry/components/cell/props.js +1 -0
- package/registry/components/check-tag/check-tag.js +1 -0
- package/registry/components/check-tag/check-tag.json +1 -0
- package/registry/components/check-tag/check-tag.wxml +1 -0
- package/registry/components/check-tag/check-tag.wxss +275 -0
- package/registry/components/check-tag/index.js +1 -0
- package/registry/components/check-tag/props.js +1 -0
- package/registry/components/checkbox/checkbox.js +1 -0
- package/registry/components/checkbox/checkbox.json +1 -0
- package/registry/components/checkbox/checkbox.wxml +1 -0
- package/registry/components/checkbox/checkbox.wxss +230 -0
- package/registry/components/checkbox/index.js +1 -0
- package/registry/components/checkbox/props.js +1 -0
- package/registry/components/checkbox-group/checkbox-group.js +1 -0
- package/registry/components/checkbox-group/checkbox-group.json +1 -0
- package/registry/components/checkbox-group/checkbox-group.wxml +1 -0
- package/registry/components/checkbox-group/checkbox-group.wxss +7 -0
- package/registry/components/checkbox-group/index.js +1 -0
- package/registry/components/checkbox-group/props.js +1 -0
- package/registry/components/collapse/collapse.js +1 -0
- package/registry/components/collapse/collapse.json +1 -0
- package/registry/components/collapse/collapse.wxml +1 -0
- package/registry/components/collapse/collapse.wxss +8 -0
- package/registry/components/collapse/index.js +1 -0
- package/registry/components/collapse/props.js +1 -0
- package/registry/components/collapse-panel/collapse-panel.js +1 -0
- package/registry/components/collapse-panel/collapse-panel.json +1 -0
- package/registry/components/collapse-panel/collapse-panel.wxml +1 -0
- package/registry/components/collapse-panel/collapse-panel.wxss +186 -0
- package/registry/components/collapse-panel/index.js +1 -0
- package/registry/components/collapse-panel/props.js +1 -0
- package/registry/components/color-picker/color-picker.js +1 -0
- package/registry/components/color-picker/color-picker.json +1 -0
- package/registry/components/color-picker/color-picker.wxml +1 -0
- package/registry/components/color-picker/color-picker.wxss +312 -0
- package/registry/components/color-picker/constants.js +1 -0
- package/registry/components/color-picker/index.js +1 -0
- package/registry/components/color-picker/interfaces.js +1 -0
- package/registry/components/color-picker/props.js +1 -0
- package/registry/components/color-picker/template.wxml +1 -0
- package/registry/components/color-picker/utils.js +1 -0
- package/registry/components/common/bus.js +1 -0
- package/registry/components/common/config.js +1 -0
- package/registry/components/common/libs/tinycolor.js +1 -0
- package/registry/components/common/locale.js +20 -0
- package/registry/components/common/mixins/page-scroll.js +1 -0
- package/registry/components/common/mixins/touch.js +1 -0
- package/registry/components/common/mixins/transition.js +1 -0
- package/registry/components/common/mixins/using-config.js +24 -0
- package/registry/components/common/mixins/using-custom-navbar.js +1 -0
- package/registry/components/common/shared/calendar/index.js +1 -0
- package/registry/components/common/shared/color-picker/cmyk.js +1 -0
- package/registry/components/common/shared/color-picker/color.js +1 -0
- package/registry/components/common/shared/color-picker/gradient.js +1 -0
- package/registry/components/common/shared/color-picker/index.js +1 -0
- package/registry/components/common/shared/date.js +1 -0
- package/registry/components/common/shared/qrcode/qrcodegen.js +1 -0
- package/registry/components/common/shared/qrcode/utils.js +1 -0
- package/registry/components/common/src/control.js +1 -0
- package/registry/components/common/src/flatTool.js +1 -0
- package/registry/components/common/src/index.js +1 -0
- package/registry/components/common/src/instantiationDecorator.js +1 -0
- package/registry/components/common/src/superComponent.js +1 -0
- package/registry/components/common/style/card.wxss +245 -0
- package/registry/components/common/style/index.wxss +3 -0
- package/registry/components/common/style/tokens.wxss +233 -0
- package/registry/components/common/template/badge.wxml +1 -0
- package/registry/components/common/template/button.wxml +1 -0
- package/registry/components/common/template/icon.wxml +1 -0
- package/registry/components/common/template/image.wxml +1 -0
- package/registry/components/common/tslib.js +2 -0
- package/registry/components/common/typography/ellipsis.wxml +1 -0
- package/registry/components/common/typography/typography.wxs +49 -0
- package/registry/components/common/utils.js +1 -0
- package/registry/components/common/utils.wxs +149 -0
- package/registry/components/common/validator.js +1 -0
- package/registry/components/common/wechat.js +1 -0
- package/registry/components/consumption-card/consumption-card.js +23 -0
- package/registry/components/consumption-card/consumption-card.json +1 -0
- package/registry/components/consumption-card/consumption-card.wxml +16 -0
- package/registry/components/consumption-card/consumption-card.wxss +36 -0
- package/registry/components/consumption-card/index.js +2 -0
- package/registry/components/consumption-card/props.js +14 -0
- package/registry/components/contact-list/contact-list.js +60 -0
- package/registry/components/contact-list/contact-list.json +1 -0
- package/registry/components/contact-list/contact-list.wxml +24 -0
- package/registry/components/contact-list/contact-list.wxss +73 -0
- package/registry/components/contact-list/index.js +2 -0
- package/registry/components/contact-list/props.js +13 -0
- package/registry/components/description-tile/description-tile.js +22 -0
- package/registry/components/description-tile/description-tile.json +1 -0
- package/registry/components/description-tile/description-tile.wxml +11 -0
- package/registry/components/description-tile/description-tile.wxss +21 -0
- package/registry/components/description-tile/index.js +2 -0
- package/registry/components/description-tile/props.js +10 -0
- package/registry/components/details-card/details-card.js +38 -0
- package/registry/components/details-card/details-card.json +1 -0
- package/registry/components/details-card/details-card.wxml +37 -0
- package/registry/components/details-card/details-card.wxss +119 -0
- package/registry/components/details-card/index.js +2 -0
- package/registry/components/details-card/props.js +22 -0
- package/registry/components/dialog/dialog.js +1 -0
- package/registry/components/dialog/dialog.json +1 -0
- package/registry/components/dialog/dialog.wxml +1 -0
- package/registry/components/dialog/dialog.wxs +13 -0
- package/registry/components/dialog/dialog.wxss +123 -0
- package/registry/components/dialog/index.js +1 -0
- package/registry/components/dialog/props.js +1 -0
- package/registry/components/divider/divider.js +1 -0
- package/registry/components/divider/divider.json +1 -0
- package/registry/components/divider/divider.wxml +1 -0
- package/registry/components/divider/divider.wxss +69 -0
- package/registry/components/divider/index.js +1 -0
- package/registry/components/divider/props.js +1 -0
- package/registry/components/drawer/drawer.js +1 -0
- package/registry/components/drawer/drawer.json +1 -0
- package/registry/components/drawer/drawer.wxml +1 -0
- package/registry/components/drawer/drawer.wxss +75 -0
- package/registry/components/drawer/index.js +1 -0
- package/registry/components/drawer/props.js +1 -0
- package/registry/components/dropdown-item/dropdown-item.js +1 -0
- package/registry/components/dropdown-item/dropdown-item.json +1 -0
- package/registry/components/dropdown-item/dropdown-item.wxml +1 -0
- package/registry/components/dropdown-item/dropdown-item.wxss +116 -0
- package/registry/components/dropdown-item/index.js +1 -0
- package/registry/components/dropdown-item/index.wxs +9 -0
- package/registry/components/dropdown-item/props.js +1 -0
- package/registry/components/dropdown-menu/dropdown-menu.js +1 -0
- package/registry/components/dropdown-menu/dropdown-menu.json +1 -0
- package/registry/components/dropdown-menu/dropdown-menu.wxml +1 -0
- package/registry/components/dropdown-menu/dropdown-menu.wxss +72 -0
- package/registry/components/dropdown-menu/index.js +1 -0
- package/registry/components/dropdown-menu/props.js +1 -0
- package/registry/components/empty/empty.js +1 -0
- package/registry/components/empty/empty.json +1 -0
- package/registry/components/empty/empty.wxml +1 -0
- package/registry/components/empty/empty.wxss +28 -0
- package/registry/components/empty/index.js +1 -0
- package/registry/components/empty/props.js +1 -0
- package/registry/components/entry-card/entry-card.js +23 -0
- package/registry/components/entry-card/entry-card.json +1 -0
- package/registry/components/entry-card/entry-card.wxml +14 -0
- package/registry/components/entry-card/entry-card.wxss +30 -0
- package/registry/components/entry-card/index.js +2 -0
- package/registry/components/entry-card/props.js +11 -0
- package/registry/components/file-drop/file-drop.js +23 -0
- package/registry/components/file-drop/file-drop.json +1 -0
- package/registry/components/file-drop/file-drop.wxml +13 -0
- package/registry/components/file-drop/file-drop.wxss +35 -0
- package/registry/components/file-drop/index.js +2 -0
- package/registry/components/file-drop/props.js +9 -0
- package/registry/components/grid/grid.js +1 -0
- package/registry/components/grid/grid.json +1 -0
- package/registry/components/grid/grid.wxml +1 -0
- package/registry/components/grid/grid.wxss +18 -0
- package/registry/components/grid/index.js +1 -0
- package/registry/components/grid/props.js +1 -0
- package/registry/components/grid-item/grid-item.js +1 -0
- package/registry/components/grid-item/grid-item.json +1 -0
- package/registry/components/grid-item/grid-item.wxml +1 -0
- package/registry/components/grid-item/grid-item.wxss +130 -0
- package/registry/components/grid-item/index.js +1 -0
- package/registry/components/grid-item/props.js +1 -0
- package/registry/components/guide/content.wxml +1 -0
- package/registry/components/guide/guide.js +1 -0
- package/registry/components/guide/guide.json +1 -0
- package/registry/components/guide/guide.wxml +1 -0
- package/registry/components/guide/guide.wxss +79 -0
- package/registry/components/guide/index.js +1 -0
- package/registry/components/guide/props.js +1 -0
- package/registry/components/icon/icon.js +1 -0
- package/registry/components/icon/icon.json +1 -0
- package/registry/components/icon/icon.wxml +1 -0
- package/registry/components/icon/icon.wxss +2361 -0
- package/registry/components/icon/index.js +1 -0
- package/registry/components/icon/props.js +1 -0
- package/registry/components/image/image.js +1 -0
- package/registry/components/image/image.json +1 -0
- package/registry/components/image/image.wxml +1 -0
- package/registry/components/image/image.wxss +55 -0
- package/registry/components/image/index.js +1 -0
- package/registry/components/image/props.js +1 -0
- package/registry/components/image-viewer/image-viewer.js +1 -0
- package/registry/components/image-viewer/image-viewer.json +1 -0
- package/registry/components/image-viewer/image-viewer.wxml +1 -0
- package/registry/components/image-viewer/image-viewer.wxs +7 -0
- package/registry/components/image-viewer/image-viewer.wxss +90 -0
- package/registry/components/image-viewer/index.js +1 -0
- package/registry/components/image-viewer/props.js +1 -0
- package/registry/components/info-card/index.js +2 -0
- package/registry/components/info-card/info-card.js +22 -0
- package/registry/components/info-card/info-card.json +1 -0
- package/registry/components/info-card/info-card.wxml +14 -0
- package/registry/components/info-card/info-card.wxss +56 -0
- package/registry/components/info-card/props.js +11 -0
- package/registry/components/input/index.js +1 -0
- package/registry/components/input/input.js +1 -0
- package/registry/components/input/input.json +1 -0
- package/registry/components/input/input.wxml +1 -0
- package/registry/components/input/input.wxs +16 -0
- package/registry/components/input/input.wxss +313 -0
- package/registry/components/input/props.js +1 -0
- package/registry/components/insight-card/index.js +2 -0
- package/registry/components/insight-card/insight-card.js +19 -0
- package/registry/components/insight-card/insight-card.json +1 -0
- package/registry/components/insight-card/insight-card.wxml +17 -0
- package/registry/components/insight-card/insight-card.wxss +35 -0
- package/registry/components/insight-card/props.js +12 -0
- package/registry/components/link/index.js +1 -0
- package/registry/components/link/link.js +1 -0
- package/registry/components/link/link.json +1 -0
- package/registry/components/link/link.wxml +1 -0
- package/registry/components/link/link.wxss +155 -0
- package/registry/components/link/props.js +1 -0
- package/registry/components/list-item/index.js +2 -0
- package/registry/components/list-item/list-item.js +39 -0
- package/registry/components/list-item/list-item.json +1 -0
- package/registry/components/list-item/list-item.wxml +22 -0
- package/registry/components/list-item/list-item.wxss +110 -0
- package/registry/components/list-item/props.js +22 -0
- package/registry/components/loading/index.js +1 -0
- package/registry/components/loading/loading.js +1 -0
- package/registry/components/loading/loading.json +1 -0
- package/registry/components/loading/loading.wxml +1 -0
- package/registry/components/loading/loading.wxss +281 -0
- package/registry/components/loading/props.js +1 -0
- package/registry/components/main-card/index.js +2 -0
- package/registry/components/main-card/main-card.js +23 -0
- package/registry/components/main-card/main-card.json +1 -0
- package/registry/components/main-card/main-card.wxml +37 -0
- package/registry/components/main-card/main-card.wxss +63 -0
- package/registry/components/main-card/props.js +24 -0
- package/registry/components/media-card/index.js +2 -0
- package/registry/components/media-card/media-card.js +23 -0
- package/registry/components/media-card/media-card.json +1 -0
- package/registry/components/media-card/media-card.wxml +11 -0
- package/registry/components/media-card/media-card.wxss +51 -0
- package/registry/components/media-card/props.js +8 -0
- package/registry/components/message/index.js +1 -0
- package/registry/components/message/message.interface.js +1 -0
- package/registry/components/message/message.js +1 -0
- package/registry/components/message/message.json +1 -0
- package/registry/components/message/message.wxml +1 -0
- package/registry/components/message/message.wxss +2 -0
- package/registry/components/message/props.js +1 -0
- package/registry/components/message-item/index.js +1 -0
- package/registry/components/message-item/message-item.js +1 -0
- package/registry/components/message-item/message-item.json +1 -0
- package/registry/components/message-item/message-item.wxml +1 -0
- package/registry/components/message-item/message-item.wxs +31 -0
- package/registry/components/message-item/message-item.wxss +141 -0
- package/registry/components/navbar/index.js +1 -0
- package/registry/components/navbar/navbar.js +1 -0
- package/registry/components/navbar/navbar.json +1 -0
- package/registry/components/navbar/navbar.wxml +1 -0
- package/registry/components/navbar/navbar.wxss +126 -0
- package/registry/components/navbar/props.js +1 -0
- package/registry/components/notice-bar/index.js +1 -0
- package/registry/components/notice-bar/notice-bar.js +1 -0
- package/registry/components/notice-bar/notice-bar.json +1 -0
- package/registry/components/notice-bar/notice-bar.wxml +1 -0
- package/registry/components/notice-bar/notice-bar.wxss +95 -0
- package/registry/components/notice-bar/props.js +1 -0
- package/registry/components/notification-item/index.js +2 -0
- package/registry/components/notification-item/notification-item.js +35 -0
- package/registry/components/notification-item/notification-item.json +1 -0
- package/registry/components/notification-item/notification-item.wxml +14 -0
- package/registry/components/notification-item/notification-item.wxss +47 -0
- package/registry/components/notification-item/props.js +10 -0
- package/registry/components/offer-card/index.js +2 -0
- package/registry/components/offer-card/offer-card.js +22 -0
- package/registry/components/offer-card/offer-card.json +1 -0
- package/registry/components/offer-card/offer-card.wxml +33 -0
- package/registry/components/offer-card/offer-card.wxss +37 -0
- package/registry/components/offer-card/props.js +21 -0
- package/registry/components/om-card/index.js +2 -0
- package/registry/components/om-card/om-card.js +40 -0
- package/registry/components/om-card/om-card.json +1 -0
- package/registry/components/om-card/om-card.wxml +35 -0
- package/registry/components/om-card/om-card.wxss +90 -0
- package/registry/components/om-card/props.js +14 -0
- package/registry/components/overlay/index.js +1 -0
- package/registry/components/overlay/overlay.js +1 -0
- package/registry/components/overlay/overlay.json +1 -0
- package/registry/components/overlay/overlay.wxml +1 -0
- package/registry/components/overlay/overlay.wxss +22 -0
- package/registry/components/overlay/props.js +1 -0
- package/registry/components/paragraph/index.js +1 -0
- package/registry/components/paragraph/paragraph.js +1 -0
- package/registry/components/paragraph/paragraph.json +1 -0
- package/registry/components/paragraph/paragraph.wxml +1 -0
- package/registry/components/paragraph/paragraph.wxss +151 -0
- package/registry/components/paragraph/props.js +1 -0
- package/registry/components/picker/index.js +1 -0
- package/registry/components/picker/picker.js +1 -0
- package/registry/components/picker/picker.json +1 -0
- package/registry/components/picker/picker.wxml +1 -0
- package/registry/components/picker/picker.wxs +9 -0
- package/registry/components/picker/picker.wxss +84 -0
- package/registry/components/picker/props.js +1 -0
- package/registry/components/picker/template.wxml +1 -0
- package/registry/components/picker-item/index.js +1 -0
- package/registry/components/picker-item/picker-item.js +1 -0
- package/registry/components/picker-item/picker-item.json +1 -0
- package/registry/components/picker-item/picker-item.wxml +1 -0
- package/registry/components/picker-item/picker-item.wxss +41 -0
- package/registry/components/picker-item/props.js +1 -0
- package/registry/components/popover/index.js +1 -0
- package/registry/components/popover/popover.js +1 -0
- package/registry/components/popover/popover.json +1 -0
- package/registry/components/popover/popover.wxml +1 -0
- package/registry/components/popover/popover.wxss +336 -0
- package/registry/components/popover/props.js +1 -0
- package/registry/components/popup/index.js +1 -0
- package/registry/components/popup/popup.js +1 -0
- package/registry/components/popup/popup.json +1 -0
- package/registry/components/popup/popup.wxml +1 -0
- package/registry/components/popup/popup.wxs +21 -0
- package/registry/components/popup/popup.wxss +96 -0
- package/registry/components/popup/props.js +1 -0
- package/registry/components/post-item/index.js +2 -0
- package/registry/components/post-item/post-item.js +22 -0
- package/registry/components/post-item/post-item.json +1 -0
- package/registry/components/post-item/post-item.wxml +5 -0
- package/registry/components/post-item/post-item.wxss +37 -0
- package/registry/components/post-item/props.js +7 -0
- package/registry/components/progress/index.js +1 -0
- package/registry/components/progress/progress.js +1 -0
- package/registry/components/progress/progress.json +1 -0
- package/registry/components/progress/progress.wxml +1 -0
- package/registry/components/progress/progress.wxs +80 -0
- package/registry/components/progress/progress.wxss +161 -0
- package/registry/components/progress/props.js +1 -0
- package/registry/components/progress/utils.js +1 -0
- package/registry/components/purchase-card/index.js +2 -0
- package/registry/components/purchase-card/props.js +13 -0
- package/registry/components/purchase-card/purchase-card.js +40 -0
- package/registry/components/purchase-card/purchase-card.json +1 -0
- package/registry/components/purchase-card/purchase-card.wxml +22 -0
- package/registry/components/purchase-card/purchase-card.wxss +19 -0
- package/registry/components/qrcode/components/qrcode-canvas/props.js +1 -0
- package/registry/components/qrcode/components/qrcode-canvas/qrcode-canvas.js +1 -0
- package/registry/components/qrcode/components/qrcode-canvas/qrcode-canvas.json +1 -0
- package/registry/components/qrcode/components/qrcode-canvas/qrcode-canvas.wxml +1 -0
- package/registry/components/qrcode/components/qrcode-canvas/qrcode-canvas.wxss +10 -0
- package/registry/components/qrcode/components/qrcode-status/props.js +1 -0
- package/registry/components/qrcode/components/qrcode-status/qrcode-status.js +1 -0
- package/registry/components/qrcode/components/qrcode-status/qrcode-status.json +1 -0
- package/registry/components/qrcode/components/qrcode-status/qrcode-status.wxml +1 -0
- package/registry/components/qrcode/components/qrcode-status/qrcode-status.wxss +32 -0
- package/registry/components/qrcode/hooks/useQRCode.js +1 -0
- package/registry/components/qrcode/index.js +1 -0
- package/registry/components/qrcode/props.js +1 -0
- package/registry/components/qrcode/qrcode.js +1 -0
- package/registry/components/qrcode/qrcode.json +1 -0
- package/registry/components/qrcode/qrcode.wxml +1 -0
- package/registry/components/qrcode/qrcode.wxss +36 -0
- package/registry/components/quick-action/index.js +2 -0
- package/registry/components/quick-action/props.js +10 -0
- package/registry/components/quick-action/quick-action.js +22 -0
- package/registry/components/quick-action/quick-action.json +1 -0
- package/registry/components/quick-action/quick-action.wxml +15 -0
- package/registry/components/quick-action/quick-action.wxss +80 -0
- package/registry/components/radio/index.js +1 -0
- package/registry/components/radio/props.js +1 -0
- package/registry/components/radio/radio.js +1 -0
- package/registry/components/radio/radio.json +1 -0
- package/registry/components/radio/radio.wxml +1 -0
- package/registry/components/radio/radio.wxss +219 -0
- package/registry/components/radio-group/index.js +1 -0
- package/registry/components/radio-group/props.js +1 -0
- package/registry/components/radio-group/radio-group.js +1 -0
- package/registry/components/radio-group/radio-group.json +1 -0
- package/registry/components/radio-group/radio-group.wxml +1 -0
- package/registry/components/radio-group/radio-group.wxss +7 -0
- package/registry/components/rate/index.js +1 -0
- package/registry/components/rate/props.js +1 -0
- package/registry/components/rate/rate.js +1 -0
- package/registry/components/rate/rate.json +1 -0
- package/registry/components/rate/rate.wxml +1 -0
- package/registry/components/rate/rate.wxs +65 -0
- package/registry/components/rate/rate.wxss +99 -0
- package/registry/components/rating-card/index.js +2 -0
- package/registry/components/rating-card/props.js +12 -0
- package/registry/components/rating-card/rating-card.js +42 -0
- package/registry/components/rating-card/rating-card.json +1 -0
- package/registry/components/rating-card/rating-card.wxml +24 -0
- package/registry/components/rating-card/rating-card.wxss +49 -0
- package/registry/components/recap-card/index.js +2 -0
- package/registry/components/recap-card/props.js +21 -0
- package/registry/components/recap-card/recap-card.js +38 -0
- package/registry/components/recap-card/recap-card.json +1 -0
- package/registry/components/recap-card/recap-card.wxml +43 -0
- package/registry/components/recap-card/recap-card.wxss +60 -0
- package/registry/components/result/illustrations.js +2 -0
- package/registry/components/result/index.js +1 -0
- package/registry/components/result/props.js +1 -0
- package/registry/components/result/result.js +1 -0
- package/registry/components/result/result.json +1 -0
- package/registry/components/result/result.wxml +1 -0
- package/registry/components/result/result.wxss +97 -0
- package/registry/components/review-item/index.js +2 -0
- package/registry/components/review-item/props.js +13 -0
- package/registry/components/review-item/review-item.js +38 -0
- package/registry/components/review-item/review-item.json +1 -0
- package/registry/components/review-item/review-item.wxml +19 -0
- package/registry/components/review-item/review-item.wxss +65 -0
- package/registry/components/search/index.js +1 -0
- package/registry/components/search/props.js +1 -0
- package/registry/components/search/search.js +1 -0
- package/registry/components/search/search.json +1 -0
- package/registry/components/search/search.wxml +1 -0
- package/registry/components/search/search.wxs +6 -0
- package/registry/components/search/search.wxss +100 -0
- package/registry/components/section-title/index.js +2 -0
- package/registry/components/section-title/props.js +6 -0
- package/registry/components/section-title/section-title.js +22 -0
- package/registry/components/section-title/section-title.json +1 -0
- package/registry/components/section-title/section-title.wxml +6 -0
- package/registry/components/section-title/section-title.wxss +19 -0
- package/registry/components/segmented/index.js +1 -0
- package/registry/components/segmented/props.js +1 -0
- package/registry/components/segmented/segmented.js +1 -0
- package/registry/components/segmented/segmented.json +1 -0
- package/registry/components/segmented/segmented.wxml +1 -0
- package/registry/components/segmented/segmented.wxss +113 -0
- package/registry/components/selection-card/index.js +2 -0
- package/registry/components/selection-card/props.js +11 -0
- package/registry/components/selection-card/selection-card.js +25 -0
- package/registry/components/selection-card/selection-card.json +1 -0
- package/registry/components/selection-card/selection-card.wxml +7 -0
- package/registry/components/selection-card/selection-card.wxss +27 -0
- package/registry/components/shortcut-chip/index.js +2 -0
- package/registry/components/shortcut-chip/props.js +7 -0
- package/registry/components/shortcut-chip/shortcut-chip.js +24 -0
- package/registry/components/shortcut-chip/shortcut-chip.json +1 -0
- package/registry/components/shortcut-chip/shortcut-chip.wxml +4 -0
- package/registry/components/shortcut-chip/shortcut-chip.wxss +29 -0
- package/registry/components/skeleton/index.js +1 -0
- package/registry/components/skeleton/props.js +1 -0
- package/registry/components/skeleton/skeleton.js +1 -0
- package/registry/components/skeleton/skeleton.json +1 -0
- package/registry/components/skeleton/skeleton.wxml +1 -0
- package/registry/components/skeleton/skeleton.wxss +92 -0
- package/registry/components/slider/index.js +1 -0
- package/registry/components/slider/props.js +1 -0
- package/registry/components/slider/slider.js +1 -0
- package/registry/components/slider/slider.json +1 -0
- package/registry/components/slider/slider.wxml +1 -0
- package/registry/components/slider/slider.wxs +10 -0
- package/registry/components/slider/slider.wxss +287 -0
- package/registry/components/slider/tool.js +1 -0
- package/registry/components/step-item/index.js +1 -0
- package/registry/components/step-item/props.js +1 -0
- package/registry/components/step-item/step-item.js +1 -0
- package/registry/components/step-item/step-item.json +1 -0
- package/registry/components/step-item/step-item.wxml +1 -0
- package/registry/components/step-item/step-item.wxs +7 -0
- package/registry/components/step-item/step-item.wxss +226 -0
- package/registry/components/stepper/index.js +1 -0
- package/registry/components/stepper/props.js +1 -0
- package/registry/components/stepper/stepper.js +1 -0
- package/registry/components/stepper/stepper.json +1 -0
- package/registry/components/stepper/stepper.wxml +1 -0
- package/registry/components/stepper/stepper.wxss +130 -0
- package/registry/components/steps/index.js +1 -0
- package/registry/components/steps/props.js +1 -0
- package/registry/components/steps/steps.js +1 -0
- package/registry/components/steps/steps.json +1 -0
- package/registry/components/steps/steps.wxml +1 -0
- package/registry/components/steps/steps.wxss +27 -0
- package/registry/components/sticky/index.js +1 -0
- package/registry/components/sticky/props.js +1 -0
- package/registry/components/sticky/sticky.js +1 -0
- package/registry/components/sticky/sticky.json +1 -0
- package/registry/components/sticky/sticky.wxml +1 -0
- package/registry/components/sticky/sticky.wxss +6 -0
- package/registry/components/story-item/index.js +2 -0
- package/registry/components/story-item/props.js +8 -0
- package/registry/components/story-item/story-item.js +22 -0
- package/registry/components/story-item/story-item.json +1 -0
- package/registry/components/story-item/story-item.wxml +9 -0
- package/registry/components/story-item/story-item.wxss +43 -0
- package/registry/components/swipe-cell/index.js +1 -0
- package/registry/components/swipe-cell/props.js +1 -0
- package/registry/components/swipe-cell/swipe-cell.js +1 -0
- package/registry/components/swipe-cell/swipe-cell.json +1 -0
- package/registry/components/swipe-cell/swipe-cell.wxml +1 -0
- package/registry/components/swipe-cell/swipe-cell.wxs +185 -0
- package/registry/components/swipe-cell/swipe-cell.wxss +40 -0
- package/registry/components/swiper/index.js +1 -0
- package/registry/components/swiper/index.wxs +25 -0
- package/registry/components/swiper/props.js +1 -0
- package/registry/components/swiper/swiper.js +1 -0
- package/registry/components/swiper/swiper.json +1 -0
- package/registry/components/swiper/swiper.wxml +1 -0
- package/registry/components/swiper/swiper.wxss +28 -0
- package/registry/components/swiper-nav/index.js +1 -0
- package/registry/components/swiper-nav/props.js +1 -0
- package/registry/components/swiper-nav/swiper-nav.js +1 -0
- package/registry/components/swiper-nav/swiper-nav.json +1 -0
- package/registry/components/swiper-nav/swiper-nav.wxml +1 -0
- package/registry/components/swiper-nav/swiper-nav.wxss +155 -0
- package/registry/components/switch/index.js +1 -0
- package/registry/components/switch/props.js +1 -0
- package/registry/components/switch/switch.js +1 -0
- package/registry/components/switch/switch.json +1 -0
- package/registry/components/switch/switch.wxml +1 -0
- package/registry/components/switch/switch.wxss +169 -0
- package/registry/components/tab-bar/index.js +1 -0
- package/registry/components/tab-bar/props.js +1 -0
- package/registry/components/tab-bar/tab-bar.js +1 -0
- package/registry/components/tab-bar/tab-bar.json +1 -0
- package/registry/components/tab-bar/tab-bar.wxml +1 -0
- package/registry/components/tab-bar/tab-bar.wxss +50 -0
- package/registry/components/tab-bar-item/index.js +1 -0
- package/registry/components/tab-bar-item/props.js +1 -0
- package/registry/components/tab-bar-item/tab-bar-item.js +1 -0
- package/registry/components/tab-bar-item/tab-bar-item.json +1 -0
- package/registry/components/tab-bar-item/tab-bar-item.wxml +1 -0
- package/registry/components/tab-bar-item/tab-bar-item.wxss +177 -0
- package/registry/components/tab-panel/index.js +1 -0
- package/registry/components/tab-panel/props.js +1 -0
- package/registry/components/tab-panel/tab-panel.js +1 -0
- package/registry/components/tab-panel/tab-panel.json +1 -0
- package/registry/components/tab-panel/tab-panel.wxml +1 -0
- package/registry/components/tab-panel/tab-panel.wxss +20 -0
- package/registry/components/tabs/index.js +1 -0
- package/registry/components/tabs/props.js +1 -0
- package/registry/components/tabs/tabs.js +1 -0
- package/registry/components/tabs/tabs.json +1 -0
- package/registry/components/tabs/tabs.wxml +1 -0
- package/registry/components/tabs/tabs.wxs +30 -0
- package/registry/components/tabs/tabs.wxss +233 -0
- package/registry/components/tag/index.js +1 -0
- package/registry/components/tag/props.js +1 -0
- package/registry/components/tag/tag.js +1 -0
- package/registry/components/tag/tag.json +1 -0
- package/registry/components/tag/tag.wxml +1 -0
- package/registry/components/tag/tag.wxss +268 -0
- package/registry/components/text/index.js +1 -0
- package/registry/components/text/props.js +1 -0
- package/registry/components/text/text.js +1 -0
- package/registry/components/text/text.json +1 -0
- package/registry/components/text/text.wxml +1 -0
- package/registry/components/text/text.wxss +151 -0
- package/registry/components/textarea/index.js +1 -0
- package/registry/components/textarea/props.js +1 -0
- package/registry/components/textarea/textarea.js +1 -0
- package/registry/components/textarea/textarea.json +1 -0
- package/registry/components/textarea/textarea.wxml +1 -0
- package/registry/components/textarea/textarea.wxs +15 -0
- package/registry/components/textarea/textarea.wxss +151 -0
- package/registry/components/ticket/index.js +2 -0
- package/registry/components/ticket/props.js +19 -0
- package/registry/components/ticket/ticket.js +19 -0
- package/registry/components/ticket/ticket.json +1 -0
- package/registry/components/ticket/ticket.wxml +31 -0
- package/registry/components/ticket/ticket.wxss +57 -0
- package/registry/components/title/index.js +1 -0
- package/registry/components/title/props.js +1 -0
- package/registry/components/title/title.js +1 -0
- package/registry/components/title/title.json +1 -0
- package/registry/components/title/title.wxml +1 -0
- package/registry/components/title/title.wxss +151 -0
- package/registry/components/toast/index.js +1 -0
- package/registry/components/toast/props.js +1 -0
- package/registry/components/toast/toast.js +1 -0
- package/registry/components/toast/toast.json +1 -0
- package/registry/components/toast/toast.wxml +1 -0
- package/registry/components/toast/toast.wxss +87 -0
- package/registry/components/toggle-card/index.js +2 -0
- package/registry/components/toggle-card/props.js +7 -0
- package/registry/components/toggle-card/toggle-card.js +37 -0
- package/registry/components/toggle-card/toggle-card.json +1 -0
- package/registry/components/toggle-card/toggle-card.wxml +12 -0
- package/registry/components/toggle-card/toggle-card.wxss +11 -0
- package/registry/components/top-item/index.js +2 -0
- package/registry/components/top-item/props.js +10 -0
- package/registry/components/top-item/top-item.js +22 -0
- package/registry/components/top-item/top-item.json +1 -0
- package/registry/components/top-item/top-item.wxml +8 -0
- package/registry/components/top-item/top-item.wxss +37 -0
- package/registry/components/transaction-card/index.js +2 -0
- package/registry/components/transaction-card/props.js +25 -0
- package/registry/components/transaction-card/transaction-card.js +43 -0
- package/registry/components/transaction-card/transaction-card.json +1 -0
- package/registry/components/transaction-card/transaction-card.wxml +44 -0
- package/registry/components/transaction-card/transaction-card.wxss +45 -0
- package/registry/components/transfer-item/index.js +2 -0
- package/registry/components/transfer-item/props.js +18 -0
- package/registry/components/transfer-item/transfer-item.js +40 -0
- package/registry/components/transfer-item/transfer-item.json +1 -0
- package/registry/components/transfer-item/transfer-item.wxml +34 -0
- package/registry/components/transfer-item/transfer-item.wxss +66 -0
- package/registry/components/upload/drag.wxs +242 -0
- package/registry/components/upload/index.js +1 -0
- package/registry/components/upload/props.js +1 -0
- package/registry/components/upload/upload.js +1 -0
- package/registry/components/upload/upload.json +1 -0
- package/registry/components/upload/upload.wxml +1 -0
- package/registry/components/upload/upload.wxs +129 -0
- package/registry/components/upload/upload.wxss +354 -0
- package/registry/components/wheel-select/index.js +2 -0
- package/registry/components/wheel-select/props.js +8 -0
- package/registry/components/wheel-select/wheel-select.js +38 -0
- package/registry/components/wheel-select/wheel-select.json +1 -0
- package/registry/components/wheel-select/wheel-select.wxml +9 -0
- package/registry/components/wheel-select/wheel-select.wxss +22 -0
- package/registry/registry.json +1033 -0
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
var classPrefix = '';
|
|
2
|
+
var startIndex = 0;
|
|
3
|
+
var endIndex = 0;
|
|
4
|
+
var dragCollisionList = [];
|
|
5
|
+
|
|
6
|
+
var isOutRange = function (x1, y1, x2, y2, x3, y3) {
|
|
7
|
+
return x1 < 0 || x1 >= y1 || x2 < 0 || x2 >= y2 || x3 < 0 || x3 >= y3;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
var sortCore = function (sKey, eKey, st) {
|
|
11
|
+
var _ = st.dragBaseData;
|
|
12
|
+
|
|
13
|
+
var excludeFix = function (cKey, type) {
|
|
14
|
+
if (st.list[cKey].fixed) {
|
|
15
|
+
// fixed 元素位置不会变化, 这里直接用 cKey(sortKey) 获取, 更加快捷
|
|
16
|
+
type ? --cKey : ++cKey;
|
|
17
|
+
return excludeFix(cKey, type);
|
|
18
|
+
}
|
|
19
|
+
return cKey;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// 先获取到 endKey 对应的 realKey, 防止下面排序过程中该 realKey 被修改
|
|
23
|
+
var endRealKey = -1;
|
|
24
|
+
st.list.forEach(function (item) {
|
|
25
|
+
if (item.sortKey === eKey) endRealKey = item.realKey;
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
return st.list.map(function (item) {
|
|
29
|
+
if (item.fixed) return item;
|
|
30
|
+
var cKey = item.sortKey;
|
|
31
|
+
var rKey = item.realKey;
|
|
32
|
+
|
|
33
|
+
if (sKey < eKey) {
|
|
34
|
+
// 正序拖动
|
|
35
|
+
if (cKey > sKey && cKey <= eKey) {
|
|
36
|
+
--rKey;
|
|
37
|
+
cKey = excludeFix(--cKey, true);
|
|
38
|
+
} else if (cKey === sKey) {
|
|
39
|
+
rKey = endRealKey;
|
|
40
|
+
cKey = eKey;
|
|
41
|
+
}
|
|
42
|
+
} else if (sKey > eKey) {
|
|
43
|
+
// 倒序拖动
|
|
44
|
+
if (cKey >= eKey && cKey < sKey) {
|
|
45
|
+
++rKey;
|
|
46
|
+
cKey = excludeFix(++cKey, false);
|
|
47
|
+
} else if (cKey === sKey) {
|
|
48
|
+
rKey = endRealKey;
|
|
49
|
+
cKey = eKey;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (item.sortKey !== cKey) {
|
|
54
|
+
item.tranX = (cKey % _.columns) * 100 + '%';
|
|
55
|
+
item.tranY = Math.floor(cKey / _.columns) * 100 + '%';
|
|
56
|
+
item.sortKey = cKey;
|
|
57
|
+
item.realKey = rKey;
|
|
58
|
+
}
|
|
59
|
+
return item;
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
var triggerCustomEvent = function (list, type, ins) {
|
|
64
|
+
var _list = [],
|
|
65
|
+
listData = [];
|
|
66
|
+
|
|
67
|
+
list.forEach(function (item) {
|
|
68
|
+
_list[item.sortKey] = item;
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
_list.forEach(function (item) {
|
|
72
|
+
if (!item.extraNode) {
|
|
73
|
+
listData.push(item.data);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
ins.triggerEvent(type, { listData: listData });
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
var longPress = function (event, ownerInstance) {
|
|
81
|
+
var ins = event.instance;
|
|
82
|
+
var st = ownerInstance.getState();
|
|
83
|
+
var _ = st.dragBaseData;
|
|
84
|
+
|
|
85
|
+
var sTouch = event.changedTouches[0];
|
|
86
|
+
if (!sTouch) return;
|
|
87
|
+
|
|
88
|
+
st.cur = ins.getDataset().index;
|
|
89
|
+
longPressIndex = st.cur;
|
|
90
|
+
|
|
91
|
+
// 初始项是固定项则返回
|
|
92
|
+
var item = st.list[st.cur];
|
|
93
|
+
if (item && item.fixed) return;
|
|
94
|
+
|
|
95
|
+
// 如果已经在 drag 中则返回, 防止多指触发 drag 动作, touchstart 事件中有效果
|
|
96
|
+
if (st.dragging) return;
|
|
97
|
+
st.dragging = true;
|
|
98
|
+
ownerInstance.callMethod('dragStatusChange', { dragging: true });
|
|
99
|
+
|
|
100
|
+
// 计算X,Y轴初始位移, 使 item 中心移动到点击处, 单列时候X轴初始不做位移
|
|
101
|
+
st.tranX = _.columns === 1 ? 0 : sTouch.pageX - (_.itemWidth / 2 + _.wrapLeft);
|
|
102
|
+
st.tranY = sTouch.pageY - (_.itemHeight / 2 + _.wrapTop);
|
|
103
|
+
st.sId = sTouch.identifier;
|
|
104
|
+
ins.setStyle({
|
|
105
|
+
transform: 'translate3d(' + st.tranX + 'px, ' + st.tranY + 'px, 0)',
|
|
106
|
+
});
|
|
107
|
+
st.itemsInstance.forEach(function (item, index) {
|
|
108
|
+
item.removeClass(classPrefix + '__drag--tran').removeClass(classPrefix + '__drag--cur');
|
|
109
|
+
item.addClass(index === st.cur ? classPrefix + '__drag--cur' : classPrefix + '__drag--tran');
|
|
110
|
+
});
|
|
111
|
+
ownerInstance.callMethod('dragVibrate', { vibrateType: 'longPress' });
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
var touchMove = function (event, ownerInstance) {
|
|
115
|
+
var ins = event.instance;
|
|
116
|
+
var st = ownerInstance.getState();
|
|
117
|
+
var _ = st.dragBaseData;
|
|
118
|
+
|
|
119
|
+
var mTouch = event.changedTouches[0];
|
|
120
|
+
if (!mTouch) return;
|
|
121
|
+
|
|
122
|
+
if (!st.dragging) return;
|
|
123
|
+
|
|
124
|
+
// 如果不是同一个触发点则返回
|
|
125
|
+
if (st.sId !== mTouch.identifier) return;
|
|
126
|
+
|
|
127
|
+
// 计算X,Y轴位移, 单列时候X轴初始不做位移
|
|
128
|
+
var tranX = _.columns === 1 ? 0 : mTouch.pageX - (_.itemWidth / 2 + _.wrapLeft);
|
|
129
|
+
var tranY = mTouch.pageY - (_.itemHeight / 2 + _.wrapTop);
|
|
130
|
+
|
|
131
|
+
// 到顶到底自动滑动
|
|
132
|
+
if (mTouch.clientY > _.windowHeight - _.itemHeight - _.realBottomSize) {
|
|
133
|
+
// 当前触摸点pageY + item高度 - (屏幕高度 - 底部固定区域高度)
|
|
134
|
+
ownerInstance.callMethod('pageScroll', {
|
|
135
|
+
scrollTop: mTouch.pageY + _.itemHeight - (_.windowHeight - _.realBottomSize),
|
|
136
|
+
});
|
|
137
|
+
} else if (mTouch.clientY < _.itemHeight + _.realTopSize) {
|
|
138
|
+
// 当前触摸点pageY - item高度 - 顶部固定区域高度
|
|
139
|
+
ownerInstance.callMethod('pageScroll', {
|
|
140
|
+
scrollTop: mTouch.pageY - _.itemHeight - _.realTopSize,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// 设置当前激活元素偏移量
|
|
145
|
+
ins.setStyle({
|
|
146
|
+
transform: 'translate3d(' + tranX + 'px, ' + tranY + 'px, 0)',
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
var startKey = st.list[st.cur].sortKey;
|
|
150
|
+
var curX = Math.round(tranX / _.itemWidth);
|
|
151
|
+
var curY = Math.round(tranY / _.itemHeight);
|
|
152
|
+
var endKey = curX + _.columns * curY;
|
|
153
|
+
|
|
154
|
+
// 目标项是固定项则返回
|
|
155
|
+
var item = st.list[endKey];
|
|
156
|
+
if (item && item.fixed) return;
|
|
157
|
+
|
|
158
|
+
// X轴或Y轴超出范围则返回
|
|
159
|
+
if (isOutRange(curX, _.columns, curY, _.rows, endKey, st.list.length)) return;
|
|
160
|
+
|
|
161
|
+
// 防止拖拽过程中发生乱序问题
|
|
162
|
+
if (startKey === endKey || startKey === st.preStartKey) return;
|
|
163
|
+
st.preStartKey = startKey;
|
|
164
|
+
|
|
165
|
+
dragCollisionList = sortCore(startKey, endKey, st);
|
|
166
|
+
startIndex = startKey;
|
|
167
|
+
endIndex = endKey;
|
|
168
|
+
st.itemsInstance.forEach(function (itemIns, index) {
|
|
169
|
+
var item = dragCollisionList[index];
|
|
170
|
+
if (index !== st.cur) {
|
|
171
|
+
itemIns.setStyle({
|
|
172
|
+
transform: 'translate3d(' + item.tranX + ',' + item.tranY + ', 0)',
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
ownerInstance.callMethod('dragVibrate', { vibrateType: 'touchMove' });
|
|
178
|
+
ownerInstance.callMethod('dragCollision', {
|
|
179
|
+
dragCollisionList: dragCollisionList,
|
|
180
|
+
startIndex: startIndex,
|
|
181
|
+
endIndex: endIndex,
|
|
182
|
+
});
|
|
183
|
+
triggerCustomEvent(dragCollisionList, 'change', ownerInstance);
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
var touchEnd = function (event, ownerInstance) {
|
|
187
|
+
var ins = event.instance;
|
|
188
|
+
var st = ownerInstance.getState();
|
|
189
|
+
|
|
190
|
+
if (!st.dragging) return;
|
|
191
|
+
triggerCustomEvent(st.list, 'sortend', ownerInstance);
|
|
192
|
+
ins.removeClass(classPrefix + '__drag--cur');
|
|
193
|
+
ins.addClass(classPrefix + '__drag--tran');
|
|
194
|
+
ins.setStyle({
|
|
195
|
+
transform: 'translate3d(' + st.list[st.cur].tranX + ',' + st.list[st.cur].tranY + ', 0)',
|
|
196
|
+
});
|
|
197
|
+
st.preStartKey = -1;
|
|
198
|
+
st.dragging = false;
|
|
199
|
+
ownerInstance.callMethod('dragStatusChange', { dragging: false });
|
|
200
|
+
ownerInstance.callMethod('dragEnd', {
|
|
201
|
+
dragCollisionList: dragCollisionList,
|
|
202
|
+
startIndex: startIndex,
|
|
203
|
+
endIndex: endIndex,
|
|
204
|
+
});
|
|
205
|
+
st.cur = -1;
|
|
206
|
+
st.tranX = 0;
|
|
207
|
+
st.tranY = 0;
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
var baseDataObserver = function (newVal, oldVal, ownerInstance, ins) {
|
|
211
|
+
var st = ownerInstance.getState();
|
|
212
|
+
st.dragBaseData = newVal;
|
|
213
|
+
classPrefix = newVal.classPrefix;
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
var listObserver = function (newVal, oldVal, ownerInstance, ins) {
|
|
217
|
+
var st = ownerInstance.getState();
|
|
218
|
+
// 兼容 grid 拖拽(__drag-item)和 list 拖拽(__list-drag-item)
|
|
219
|
+
var gridItems = ownerInstance.selectAllComponents('.' + classPrefix + '__drag-item');
|
|
220
|
+
var listItems = ownerInstance.selectAllComponents('.' + classPrefix + '__list-drag-item');
|
|
221
|
+
st.itemsInstance = gridItems && gridItems.length > 0 ? gridItems : listItems;
|
|
222
|
+
st.list = newVal || [];
|
|
223
|
+
st.list.forEach(function (item, index) {
|
|
224
|
+
var itemIns = st.itemsInstance[index];
|
|
225
|
+
if (item && itemIns) {
|
|
226
|
+
itemIns.removeClass(classPrefix + '__drag--tran');
|
|
227
|
+
itemIns.setStyle({
|
|
228
|
+
transform: 'translate3d(' + item.tranX + ',' + item.tranY + ', 0)',
|
|
229
|
+
});
|
|
230
|
+
if (item.fixed) itemIns.addClass(classPrefix + '__drag--fixed');
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
dragCollisionList = [];
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
module.exports = {
|
|
237
|
+
longPress: longPress,
|
|
238
|
+
touchMove: touchMove,
|
|
239
|
+
touchEnd: touchEnd,
|
|
240
|
+
baseDataObserver: baseDataObserver,
|
|
241
|
+
listObserver: listObserver,
|
|
242
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./props";export*from"./upload";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const props={addBtn:{type:Boolean,value:!0},addContent:{type:String},allowUploadDuplicateFile:{type:Boolean,value:!1},config:{type:Object},disabled:{type:null,value:void 0},draggable:{type:null},files:{type:Array,value:null},defaultFiles:{type:Array},gridConfig:{type:Object},gutter:{type:Number,value:16},imageProps:{type:Object},max:{type:Number,value:0},mediaType:{type:Array,value:["image","video"]},preview:{type:Boolean,value:!0},removeBtn:{type:null,value:!0},requestMethod:{type:null},sizeLimit:{type:null},source:{type:String,value:"media"},theme:{type:String,value:"grid"},transition:{type:Object,value:{backTransition:!0,duration:300,timingFunction:"ease"}}};export default props;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{__decorate,__rest}from"../common/tslib";import{SuperComponent,wxComponent}from"../common/src/index";import props from"./props";import config from"../common/config";import{calcIcon,isOverSize,isWxWork,isPC}from"../common/utils";import{isObject}from"../common/validator";import usingConfig from"../common/mixins/using-config";const{prefix:prefix}=config,componentName="upload";let Upload=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[usingConfig({componentName:"upload"})],this.externalClasses=[`${prefix}-class`],this.options={multipleSlots:!0},this.data={classPrefix:`${prefix}-upload`,prefix:prefix,_removeBtn:{name:"close"},current:!1,proofs:[],customFiles:[],customLimit:0,column:4,dragBaseData:{},rows:0,dragWrapStyle:"",dragList:[],dragging:!0,dragLayout:!1},this.properties=props,this.controlledProps=[{key:"files",event:"success"}],this.observers={"files, max, draggable"(e,t){this.handleLimit(e,t)},gridConfig(){this.updateGrid()},"removeBtn, theme"(e,t){this.setRemoveBtn(e,t)}},this.lifetimes={ready(){this.updateGrid(),this.handleLimit(this.data.customFiles,this.data.max),this.setRemoveBtn(this.data.removeBtn,this.data.theme)}},this.methods={isMediaFile(e){return"image"===e.type||"video"===e.type||this.isImageUrl(e.url)},isPreviewable(e){return this.isMediaFile(e)&&(!e.status||"done"===e.status)},getPreviewMediaSources(){const e=[];return this.data.customFiles.forEach(t=>{if(!this.isPreviewable(t))return;const i={url:t.url,type:t.type,poster:t.thumb||void 0};e.push(i)}),e},getMediaIndex(e){const{customFiles:t}=this.data;let i=0;for(let s=0;s<e;s+=1)this.isPreviewable(t[s])&&(i+=1);return i},onPreview(e){this.onFileClick(e);const{preview:t}=this.properties;if(!t)return;const{file:i}=e.currentTarget.dataset;if(i&&!this.isMediaFile(i))return;const s=this.data.customFiles.some(e=>"video"===e.type);s?this.onPreviewMedia(e):this.onPreviewImage(e)},isImageUrl(e){if(!e)return!1;const t=e.toLowerCase();return["jpg","jpeg","png","gif","bmp","webp","svg","tiff"].some(e=>t.includes(`.${e}`))},onPreviewImage(e){var t;const{index:i}=e.currentTarget.dataset,s=this.data.customFiles.filter(e=>this.isPreviewable(e)).map(e=>e.url),r=null===(t=this.data.customFiles[i])||void 0===t?void 0:t.url;wx.previewImage({urls:s,current:r,fail(){wx.showToast({title:"Impossible d'afficher l'image",icon:"none"})}})},onPreviewMedia(e){const{index:t}=e.currentTarget.dataset,i=this.getPreviewMediaSources(),s=this.getMediaIndex(t);wx.previewMedia({sources:i,current:s,fail(){wx.showToast({title:"Impossible de lire la vidéo",icon:"none"})}})},uploadFiles(e){return Promise.resolve().then(()=>{const t=this.data.requestMethod(e);return t instanceof Promise?t:Promise.resolve({})})},startUpload(e){return"function"==typeof this.data.requestMethod?this.uploadFiles(e).then(()=>{e.forEach(e=>{e.percent=100}),this.triggerSuccessEvent(e)}).catch(e=>{this.triggerFailEvent(e)}):(this.triggerSuccessEvent(e),this.handleLimit(this.data.customFiles,this.data.max),Promise.resolve())},onAddTap(){const{disabled:e,mediaType:t,source:i}=this.properties;e||("media"===i?this.chooseMedia(t):this.chooseMessageFile(t))},chooseMedia(e){const{customLimit:t}=this.data,{config:i,sizeLimit:s}=this.properties;isWxWork||isPC?wx.chooseImage(Object.assign(Object.assign({count:Math.min(20,t)},i),{success:e=>{const t=[];e.tempFiles.forEach(e=>{const{path:i,size:r}=e;if(this.checkFileSize(r,s,"image"))return;const a=this.getRandFileName(i);t.push({name:a,type:"image",url:i,size:r,percent:0})}),this.afterSelect(t)},fail:e=>{this.triggerFailEvent(e)},complete:e=>{this.triggerEvent("complete",e)}})):wx.chooseMedia(Object.assign(Object.assign({count:Math.min(20,t),mediaType:e},i),{success:t=>{const i=[];t.tempFiles.forEach(t=>{const{size:r,fileType:a,tempFilePath:o,width:n,height:l,duration:c,thumbTempFilePath:h}=t,g=__rest(t,["size","fileType","tempFilePath","width","height","duration","thumbTempFilePath"]);if(this.checkFileSize(r,s,a))return;const d=this.getRandFileName(o);i.push(Object.assign({name:d,type:this.getFileType(e,o,a),url:o,size:r,width:n,height:l,duration:c,thumb:h,percent:0},g))}),this.afterSelect(i)},fail:e=>{this.triggerFailEvent(e)},complete:e=>{this.triggerEvent("complete",e)}}))},chooseMessageFile(e){const{customLimit:t}=this.data,{config:i,sizeLimit:s,extension:r}=this.properties;wx.chooseMessageFile(Object.assign(Object.assign(Object.assign({count:Math.min(100,t),type:Array.isArray(e)?"all":e},r&&r.length>0?{extension:r}:{}),i),{success:t=>{const i=[];t.tempFiles.forEach(t=>{const{size:r,type:a,path:o}=t,n=__rest(t,["size","type","path"]);if(this.checkFileSize(r,s,a))return;const l=this.getRandFileName(o);i.push(Object.assign({name:l,type:this.getFileType(e,o,a),url:o,size:r,percent:0},n))}),this.afterSelect(i)},fail:e=>this.triggerFailEvent(e),complete:e=>this.triggerEvent("complete",e)}))},afterSelect(e){this._trigger("select-change",{files:[...this.data.customFiles],currentSelectedFiles:[e]}),this._trigger("add",{files:e}),this.startUpload(e)},dragVibrate(e){var t;const{vibrateType:i}=e,{draggable:s}=this.data,r=null===(t=null==s?void 0:s.vibrate)||void 0===t||t,a=null==s?void 0:s.collisionVibrate;(r&&"longPress"===i||a&&"touchMove"===i)&&wx.vibrateShort({type:"light"})},dragStatusChange(e){const{dragging:t}=e;this.setData({dragging:t})},dragEnd(e){const{dragCollisionList:t}=e;let i=[];i=0===t.length?this.data.customFiles:t.reduce((e,t)=>{const{realKey:i,data:s,fixed:r}=t;return r||(e[i]=Object.assign({},s)),e},[]),this.triggerDropEvent(i)},triggerDropEvent(e){const{transition:t}=this.properties;if(t.backTransition){const i=setTimeout(()=>{this.triggerEvent("drop",{files:e}),clearTimeout(i)},t.duration)}else this.triggerEvent("drop",{files:e})}}}setRemoveBtn(e,t){const i="list"===t?"delete":"close";this.setData({_removeBtn:"boolean"==typeof e?{name:i}:calcIcon(e)||{name:i}})}handleLimit(e,t){0===t&&(t=Number.MAX_SAFE_INTEGER),this.setData({customFiles:e.length>t?e.slice(0,t):e,customLimit:t-e.length,dragging:!0}),this.initDragLayout()}triggerSuccessEvent(e){this._trigger("success",{files:[...this.data.customFiles,...e]})}triggerFailEvent(e){this.triggerEvent("fail",e)}onFileClick(e){const{file:t,index:i}=e.currentTarget.dataset;this.triggerEvent("click",{index:i,file:t})}getFileType(e,t,i){if(i)return i;if(1===e.length&&"mix"!==e[0])return e[0];const s=t.split("."),r=s[s.length-1];return["avi","wmv","mkv","mp4","mov","rm","3gp","flv","mpg","rmvb"].includes(r.toLocaleLowerCase())?"video":"image"}getRandFileName(e){const t=e.lastIndexOf("."),i=-1===t?"":e.substr(t);return parseInt(`${Date.now()}${Math.floor(900*Math.random()+100)}`,10).toString(36)+i}checkFileSize(e,t,i){if(isOverSize(e,t)){let e=("video"===i?"La vidéo":"L'image")+" dépasse la taille autorisée";if(isObject(t)){const{size:i,message:s}=t;e=null==s?void 0:s.replace("{sizeLimit}",String(i))}return wx.showToast({icon:"none",title:e}),!0}return!1}onDelete(e){const{index:t}=e.currentTarget.dataset;this.deleteHandle(t)}deleteHandle(e){const{customFiles:t}=this.data,i=t[e];this.triggerEvent("remove",{index:e,file:i})}updateGrid(){let{gridConfig:e={}}=this.properties;isObject(e)||(e={});const{column:t=4,width:i=160,height:s=160}=e;this.setData({gridItemStyle:`width:${i}rpx;height:${s}rpx`,column:t})}resetDragLayout(){this.setData({dragBaseData:{},dragWrapStyle:"",dragLayout:!1})}initDragLayout(){const{draggable:e,disabled:t}=this.properties,{customFiles:i}=this.data;e&&!t&&0!==i.length?(this.initDragList(),this.initDragBaseData()):this.resetDragLayout()}initDragList(){let e=0;const{customFiles:t,customLimit:i}=this.data,s=this.properties.theme,r=this.getDragColumn(),a="list"===s,o=[];if(t.forEach((t,i)=>{o.push({realKey:e,sortKey:i,tranX:i%r*100+"%",tranY:100*Math.floor(i/r)+"%",data:Object.assign({},t)}),e+=1}),i>0&&!a){const e=o.length;o.push({realKey:e,sortKey:e,tranX:e%r*100+"%",tranY:100*Math.floor(e/r)+"%",fixed:!0})}this.data.rows=Math.ceil(o.length/r),this.setData({dragList:o})}getDragSelectors(){const{classPrefix:e}=this.data,t="list"===this.properties.theme;return{itemSelector:t?`.${e}__list-item`:`.${e} >>> .o-grid-item`,wrapSelector:t?`.${e}__list`:`.${e} >>> .o-grid`}}getDragColumn(){return"list"===this.properties.theme?1:this.data.column}getDragItemGap(){if("list"!==this.properties.theme)return 0;return wx.getSystemInfoSync().windowWidth/750*24}initDragBaseData(){const{classPrefix:e,rows:t}=this.data,i=this.getDragColumn(),{itemSelector:s,wrapSelector:r}=this.getDragSelectors(),a=this.createSelectorQuery();a.select(s).boundingClientRect(),a.select(r).boundingClientRect(),a.selectViewport().scrollOffset(),a.exec(s=>{if(!s||!s[0]||!s[1])return;const[{width:r,height:a},{left:o,top:n},{scrollTop:l}]=s,c=a+this.getDragItemGap(),h={rows:t,classPrefix:e,itemWidth:r,itemHeight:c,wrapLeft:o,wrapTop:n+l,columns:i},g=`height: ${t*c}px`;this.setData({dragBaseData:h,dragWrapStyle:g,dragLayout:!0},()=>{const e=setTimeout(()=>{this.setData({dragging:!1}),clearTimeout(e)},0)})})}};Upload=__decorate([wxComponent()],Upload);export default Upload;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"component":true,"styleIsolation":"apply-shared","usingComponents":{"o-grid":"../grid/grid","o-grid-item":"../grid-item/grid-item","o-icon":"../icon/icon","o-image":"../image/image","o-button":"../button/button"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><wxs src="./upload.wxs" module="_this"/><wxs src="./drag.wxs" module="handler"/><template name="list-item-content"><block wx:if="{{file.status == 'loading'}}"><o-icon o-class="{{classPrefix}}__list-item-loading" name="loading" size="48rpx" aria-hidden/></block><block wx:elif="{{file.status == 'failed' || file.status == 'reload'}}"><o-icon o-class="{{classPrefix}}__list-item-error-icon" name="error-circle-filled" aria-hidden/></block><block wx:elif="{{_this.isImageType(file) && file.url}}"><view style="position: relative; flex-shrink: 0"><o-image o-class="{{classPrefix}}__list-item-thumbnail" src="{{file.thumb || file.url}}" mode="{{imageProps && imageProps.mode || 'aspectFill'}}" shape="round"/><view wx:if="{{disabled}}" class="{{classPrefix}}__disabled-mask"/></view></block><block wx:else><view class="{{classPrefix}}__list-item-icon"><o-icon o-class="{{classPrefix}}__file-type {{_this.getFileTypeIconColorClass(file, classPrefix)}}" name="{{_this.getFileTypeIcon(file)}}"/></view></block><view class="{{classPrefix}}__list-item-content"><view class="{{classPrefix}}__list-item-name">{{file.name || ''}}</view><view class="{{classPrefix}}__list-item-size">{{file.status == 'loading' ? (file.percent ? globalConfig.progress.uploadingText + ' ' + file.percent + '%' : globalConfig.progress.uploadingText) : file.status == 'failed' || file.status == 'reload' ? globalConfig.progress.failText : _this.formatSize(file.size)}}</view></view><view wx:if="{{_.isBoolean(file.removeBtn) ? file.removeBtn : removeBtn}}" class="{{classPrefix}}__list-item-action" data-index="{{index}}" aria-role="button" aria-label="Supprimer" catchtap="onDelete"><template is="icon" data="{{oClass: classPrefix + '__list-item-delete', ..._removeBtn}}"/></view></template><template name="grid-item-content"><view class="{{classPrefix}}__wrapper {{!_this.isImageType(file) && file.type !== 'video' ? classPrefix + '__wrapper--file' : ''}}" style="{{gridItemStyle}}" aria-role="{{ariaRole || _this.getWrapperAriaRole(file)}}" aria-label="{{ariaLabel || _this.getWrapperAriaLabel(file)}}"><o-image wx:if="{{_this.isImageType(file)}}" data-file="{{file}}" data-index="{{index}}" o-class="{{classPrefix}}__thumbnail" style="{{imageProps && imageProps.style || ''}}" src="{{ file.thumb || file.url }}" mode="{{imageProps && imageProps.mode || 'aspectFill'}}" error="{{imageProps && imageProps.error || 'default'}}" lazy="{{imageProps && imageProps.lazy || false}}" loading="{{imageProps && imageProps.loading || 'default'}}" shape="{{imageProps && imageProps.shape || 'round'}}" webp="{{imageProps && imageProps.webp || false}}" showMenuByLongpress="{{imageProps && imageProps.showMenuByLongpress || false}}" bind:tap="onPreview"/><video wx:elif="{{file.type === 'video'}}" class="{{classPrefix}}__thumbnail" src="{{file.url}}" poster="{{ file.thumb }}" controls autoplay="{{false}}" objectFit="contain" data-file="{{file}}" data-index="{{index}}" bind:tap="onPreview"/><view wx:elif="{{!file.status || file.status == 'done'}}" class="{{classPrefix}}__file-content" data-file="{{file}}" data-index="{{index}}" bind:tap="onFileClick"><view class="{{classPrefix}}__file-icon"><o-icon o-class="{{classPrefix}}__file-type {{_this.getFileTypeIconColorClass(file, classPrefix)}}" name="{{_this.getFileTypeIcon(file)}}"/></view><view class="{{classPrefix}}__file-name">{{file.name || ''}}</view></view><view wx:if="{{!_this.isImageType(file) && file.type !== 'video' && file.status && file.status != 'done'}}" class="{{classPrefix}}__progress-mask {{classPrefix}}__progress-mask--file" data-index="{{index}}" data-file="{{file}}" bind:tap="onFileClick"><block wx:if="{{file.status == 'loading'}}"><o-icon o-class="{{classPrefix}}__progress-loading" name="loading" size="48rpx" aria-hidden/><view class="{{classPrefix}}__progress-text">{{file.percent ? file.percent + '%' : globalConfig.progress.uploadingText}}</view></block><o-icon wx:else name="{{file.status == 'reload' ? 'refresh' : 'close-circle'}}" size="48rpx" aria-hidden/><view wx:if="{{file.status == 'reload' || file.status == 'failed'}}" class="{{classPrefix}}__progress-text">{{file.status == 'reload' ? globalConfig.progress.reloadText : globalConfig.progress.failText}}</view></view><view wx:if="{{(_this.isImageType(file) || file.type === 'video') && file.status && file.status != 'done'}}" class="{{classPrefix}}__progress-mask" data-index="{{index}}" data-file="{{file}}" bind:tap="onFileClick"><block wx:if="{{file.status == 'loading'}}"><o-icon o-class="{{classPrefix}}__progress-loading" name="loading" size="48rpx" aria-hidden/><view class="{{classPrefix}}__progress-text">{{file.percent ? file.percent + '%' : globalConfig.progress.uploadingText}}</view></block><o-icon wx:else name="{{file.status == 'reload' ? 'refresh' : 'close-circle'}}" size="48rpx" aria-hidden/><view wx:if="{{file.status == 'reload' || file.status == 'failed'}}" class="{{classPrefix}}__progress-text">{{file.status == 'reload' ? globalConfig.progress.reloadText : globalConfig.progress.failText}}</view></view><view wx:if="{{disabled && (_this.isImageType(file) || file.type === 'video') && file.status !== 'loading' && file.status !== 'failed' && file.status !== 'reload'}}" class="{{classPrefix}}__disabled-mask"/><view wx:if="{{ _.isBoolean(file.removeBtn) ? file.removeBtn : removeBtn}}" class="{{classPrefix}}__close-btn hotspot-expanded" data-index="{{index}}" aria-role="button" aria-label="Supprimer" bindtap="onDelete"><template is="icon" data="{{oClass: '', size: '32rpx', color: '#fff', ..._removeBtn}}"/></view></view></template><view style="{{_._style([style, customStyle])}}" class="{{classPrefix}} {{classPrefix}}--{{theme || 'grid'}} {{disabled ? classPrefix + '--disabled' : ''}} class {{prefix}}-class"><block wx:if="{{theme === 'list'}}"><view wx:if="{{addBtn && customLimit > 0}}" class="{{classPrefix}}__list-trigger" bindtap="onAddTap"><slot wx:if="{{addContent === 'slot'}}" name="add-content"/><block wx:elif="{{addContent}}">{{addContent}}</block><o-button wx:else theme="primary" size="medium" disabled="{{disabled}}" icon="upload" bindtap="onAddTap">Upload</o-button></view><block wx:if="{{!dragLayout}}"><view wx:if="{{customFiles.length > 0}}" class="{{classPrefix}}__list"><view wx:for="{{customFiles}}" wx:key="url" wx:for-item="file" class="{{classPrefix}}__list-item {{file.status == 'failed' || file.status == 'reload' ? classPrefix + '__list-item--fail' : ''}} {{file.status == 'loading' ? classPrefix + '__list-item--progress' : ''}}" data-file="{{file}}" data-index="{{index}}" bind:tap="onPreview"><template is="list-item-content" data="{{file, index, classPrefix, disabled, imageProps, removeBtn, _removeBtn, globalConfig}}"/></view></view></block><block wx:else><view class="{{classPrefix}}__list-drag" list="{{dragList}}" style="{{dragWrapStyle}}" dragBaseData="{{dragBaseData}}" change:list="{{handler.listObserver}}" change:dragBaseData="{{handler.baseDataObserver}}"><view class="{{classPrefix}}__list-drag-item" style="--o-upload-drag-transition-duration: {{transition.duration}}ms; --o-upload-drag-transition-timing-function: {{transition.timingFunction}}" wx:for="{{customFiles}}" wx:key="url" wx:for-item="file" data-index="{{index}}" bind:longpress="{{handler.longPress}}" catch:touchmove="{{dragging ? handler.touchMove : ''}}" catch:touchend="{{dragging ? handler.touchEnd : ''}}"><view class="{{classPrefix}}__list-item {{file.status == 'failed' || file.status == 'reload' ? classPrefix + '__list-item--fail' : ''}} {{file.status == 'loading' ? classPrefix + '__list-item--progress' : ''}}" data-file="{{file}}" data-index="{{index}}" bind:tap="onPreview"><template is="list-item-content" data="{{file, index, classPrefix, disabled, imageProps, removeBtn, _removeBtn, globalConfig}}"/></view></view></view></block></block><block wx:else><o-grid gutter="{{gutter}}" border="{{false}}" align="center" column="{{column}}" style="{{draggable? 'overflow: visible' : ''}}"><block wx:if="{{!dragLayout}}"><o-grid-item wx:for="{{customFiles}}" wx:key="url" wx:for-item="file" o-class="{{classPrefix}}__grid {{classPrefix}}__grid-file" o-class-content="{{classPrefix}}__grid-content" aria-role="presentation"><template is="grid-item-content" data="{{file, index, classPrefix, disabled, gridItemStyle, ariaRole, ariaLabel, imageProps, removeBtn, _removeBtn, globalConfig}}"/></o-grid-item><o-grid-item wx:if="{{ addBtn && customLimit > 0}}" o-class="{{classPrefix}}__grid" o-class-content="{{classPrefix}}__grid-content" aria-label="Ajouter" bindclick="onAddTap"><view class="{{classPrefix}}__wrapper" style="{{gridItemStyle}}"><slot wx:if="{{addContent === 'slot'}}" name="add-content"/><block wx:elif="{{addContent}}">{{addContent}}</block><view wx:else class="{{classPrefix}}__add-icon"><o-icon name="add"/></view></view></o-grid-item></block><block wx:else><view class="{{classPrefix}}__drag" list="{{dragList}}" style="{{dragWrapStyle}}" dragBaseData="{{dragBaseData}}" change:list="{{handler.listObserver}}" change:dragBaseData="{{handler.baseDataObserver}}"><view class="{{classPrefix}}__drag-item" style="width: {{100 / column}}%; --o-upload-drag-transition-duration: {{transition.duration}}ms; --o-upload-drag-transition-timing-function: {{transition.timingFunction}}" wx:for="{{customFiles}}" wx:key="url" wx:for-item="file" data-index="{{index}}" bind:longpress="{{handler.longPress}}" catch:touchmove="{{dragging ? handler.touchMove : ''}}" catch:touchend="{{dragging ? handler.touchEnd : ''}}"><o-grid-item o-class="{{classPrefix}}__grid {{classPrefix}}__grid-file" o-class-content="{{classPrefix}}__grid-content" aria-role="presentation" style="width: 100%"><template is="grid-item-content" data="{{file, index, classPrefix, disabled, gridItemStyle, ariaRole, ariaLabel, imageProps, removeBtn, _removeBtn, globalConfig}}"/></o-grid-item></view><view wx:if="{{addBtn && customLimit > 0}}" class="{{classPrefix}}__drag-item" style="width: {{100 / column}}%"><o-grid-item o-class="{{classPrefix}}__grid" o-class-content="{{classPrefix}}__grid-content" aria-label="Ajouter" style="width: 100%" bindclick="onAddTap"><view class="{{classPrefix}}__wrapper" style="{{gridItemStyle}}"><slot wx:if="{{addContent === 'slot'}}" name="add-content"/><block wx:elif="{{addContent}}">{{addContent}}</block><view wx:else class="{{classPrefix}}__add-icon"><o-icon name="add"/></view></view></o-grid-item></view></view></block></o-grid></block></view>
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
module.exports.getWrapperAriaRole = function (file) {
|
|
2
|
+
return file.status && file.status != 'done' ? 'text' : 'button';
|
|
3
|
+
};
|
|
4
|
+
|
|
5
|
+
module.exports.getWrapperAriaLabel = function (file) {
|
|
6
|
+
if (file.status && file.status != 'done') {
|
|
7
|
+
if (file.status == 'loading') {
|
|
8
|
+
return file.percent ? 'Envoi : ' + file.percent + '%' : 'Envoi...';
|
|
9
|
+
} else {
|
|
10
|
+
return file.status == 'reload' ? 'Réessayer' : 'Échec de l\'envoi';
|
|
11
|
+
}
|
|
12
|
+
} else {
|
|
13
|
+
return file.type === 'video' ? 'Vidéo' : 'Image';
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
module.exports.isImageType = function (file) {
|
|
18
|
+
if (file.type === 'image') return true;
|
|
19
|
+
if (file.url) {
|
|
20
|
+
var imageExts = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'svg', 'tiff'];
|
|
21
|
+
var url = file.url.toLowerCase();
|
|
22
|
+
for (var i = 0; i < imageExts.length; i++) {
|
|
23
|
+
if (url.indexOf('.' + imageExts[i]) !== -1) return true;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
function getFileExt(file) {
|
|
30
|
+
var name = file.name || '';
|
|
31
|
+
var url = file.url || '';
|
|
32
|
+
var ext = '';
|
|
33
|
+
var dotIndex = name.lastIndexOf('.');
|
|
34
|
+
if (dotIndex !== -1) {
|
|
35
|
+
ext = name.substring(dotIndex).toLowerCase();
|
|
36
|
+
}
|
|
37
|
+
if (ext === '' && url) {
|
|
38
|
+
var urlDotIndex = url.lastIndexOf('.');
|
|
39
|
+
if (urlDotIndex !== -1) {
|
|
40
|
+
var qIndex = url.indexOf('?', urlDotIndex);
|
|
41
|
+
if (qIndex !== -1) {
|
|
42
|
+
ext = url.substring(urlDotIndex, qIndex).toLowerCase();
|
|
43
|
+
} else {
|
|
44
|
+
ext = url.substring(urlDotIndex).toLowerCase();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return ext;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function getFileCategory(ext) {
|
|
52
|
+
if (ext === '.pdf') return 'pdf';
|
|
53
|
+
if (
|
|
54
|
+
ext === '.xlsx' ||
|
|
55
|
+
ext === '.xls' ||
|
|
56
|
+
ext === '.csv' ||
|
|
57
|
+
ext === '.xlc' ||
|
|
58
|
+
ext === '.xlm' ||
|
|
59
|
+
ext === '.xlt' ||
|
|
60
|
+
ext === '.xlw'
|
|
61
|
+
)
|
|
62
|
+
return 'excel';
|
|
63
|
+
if (ext === '.pptx' || ext === '.ppt' || ext === '.key') return 'ppt';
|
|
64
|
+
if (ext === '.docx' || ext === '.doc' || ext === '.document' || ext === '.wps' || ext === '.wdb' || ext === '.msword')
|
|
65
|
+
return 'word';
|
|
66
|
+
if (
|
|
67
|
+
ext === '.avi' ||
|
|
68
|
+
ext === '.mp4' ||
|
|
69
|
+
ext === '.wmv' ||
|
|
70
|
+
ext === '.mpg' ||
|
|
71
|
+
ext === '.mpeg' ||
|
|
72
|
+
ext === '.mov' ||
|
|
73
|
+
ext === '.rm' ||
|
|
74
|
+
ext === '.ram' ||
|
|
75
|
+
ext === '.swf' ||
|
|
76
|
+
ext === '.flv' ||
|
|
77
|
+
ext === '.rmvb' ||
|
|
78
|
+
ext === '.3gp' ||
|
|
79
|
+
ext === '.mp2' ||
|
|
80
|
+
ext === '.mp3' ||
|
|
81
|
+
ext === '.ogg' ||
|
|
82
|
+
ext === '.3gpp' ||
|
|
83
|
+
ext === '.ac3' ||
|
|
84
|
+
ext === '.au'
|
|
85
|
+
)
|
|
86
|
+
return 'media';
|
|
87
|
+
if (
|
|
88
|
+
ext === '.zip' ||
|
|
89
|
+
ext === '.rar' ||
|
|
90
|
+
ext === '.7z' ||
|
|
91
|
+
ext === '.tar' ||
|
|
92
|
+
ext === '.gz' ||
|
|
93
|
+
ext === '.bz2' ||
|
|
94
|
+
ext === '.xz'
|
|
95
|
+
)
|
|
96
|
+
return 'zip';
|
|
97
|
+
return 'other';
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
var FILE_CATEGORY_ICON_MAP = {
|
|
101
|
+
pdf: 'file-pdf-filled',
|
|
102
|
+
excel: 'file-excel-filled',
|
|
103
|
+
ppt: 'file-powerpoint-filled',
|
|
104
|
+
word: 'file-word-filled',
|
|
105
|
+
media: 'video-filled',
|
|
106
|
+
zip: 'file-zip-filled',
|
|
107
|
+
other: 'file-1',
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
module.exports.getFileTypeIcon = function (file) {
|
|
111
|
+
var ext = getFileExt(file);
|
|
112
|
+
var category = getFileCategory(ext);
|
|
113
|
+
return FILE_CATEGORY_ICON_MAP[category];
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
module.exports.getFileTypeIconColorClass = function (file, classPrefix) {
|
|
117
|
+
var ext = getFileExt(file);
|
|
118
|
+
var category = getFileCategory(ext);
|
|
119
|
+
return classPrefix + '__file-type--' + category;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
module.exports.formatSize = function (size) {
|
|
123
|
+
if (size == null || size === undefined) return '';
|
|
124
|
+
var num = +size;
|
|
125
|
+
if (num < 1024) return num + 'B';
|
|
126
|
+
if (num < 1024 * 1024) return (num / 1024).toFixed(1) + 'KB';
|
|
127
|
+
if (num < 1024 * 1024 * 1024) return (num / (1024 * 1024)).toFixed(1) + 'MB';
|
|
128
|
+
return (num / (1024 * 1024 * 1024)).toFixed(1) + 'GB';
|
|
129
|
+
};
|