mand-mobile/components/index.js

206 lines
4.1 KiB
JavaScript
Raw Normal View History

2018-03-26 16:04:04 +08:00
/* eslint comma-dangle: ["error", "always-multiline"] */
// 组件引入
import './_style/global.styl'
import {warn} from './_util'
import Button from './button'
import Icon from './icon'
import Popup from './popup'
import PopupTitleBar from './popup-title-bar'
import ActionBar from './action-bar'
import ActionSheet from './action-sheet'
import DropMenu from './drop-menu'
import Picker from './picker'
import Selector from './selector'
import Swiper from './swiper'
import SwiperItem from './swiper-item'
import Toast from './toast'
import Tip from './tip'
2018-09-12 17:42:52 +08:00
import Tabs from './tabs'
import TabPane from './tab-pane'
import TabBar from './tab-bar'
2018-03-26 16:04:04 +08:00
import Tag from './tag'
import InputItem from './input-item'
import Stepper from './stepper'
import Steps from './steps'
import NoticeBar from './notice-bar'
import ImageReader from './image-reader'
import ImageViewer from './image-viewer'
import NumberKeyboard from './number-keyboard'
import Landscape from './landscape'
import ResultPage from './result-page'
import TabPicker from './tab-picker'
import Dialog from './dialog'
import Field from './field'
import FieldItem from './field-item'
import CellItem from './cell-item'
2018-03-26 16:04:04 +08:00
import Switch from './switch'
import Agree from './agree'
import Radio from './radio'
import DatePicker from './date-picker'
import Captcha from './captcha'
import Codebox from './codebox'
import Cashier from './cashier'
import Chart from './chart'
import Amount from './amount'
import ActivityIndicator from './activity-indicator'
import CheckGroup from './check-group'
import CheckList from './check-list'
import CheckBox from './check-box'
2018-07-01 01:42:39 +08:00
import ScrollView from './scroll-view'
import ScrollViewRefresh from './scroll-view-refresh'
import ScrollViewMore from './scroll-view-more'
2018-08-22 20:06:41 +08:00
import Bill from './bill'
import WaterMark from './water-mark'
import Transition from './transition'
2018-03-26 16:04:04 +08:00
/* @init<%import ${componentNameUpper} from './${componentName}'%> */
// 全量引入提醒
warn(
'You are using a whole package of mand-mobile, ' +
'please use https://www.npmjs.com/package/babel-plugin-import to reduce app bundle size.',
'warn',
)
/* global MAN_VERSION */
const version = /* @echo MAN_VERSION */ MAN_VERSION
// 单个组件暴露
export const components = {
Button,
Icon,
Popup,
PopupTitleBar,
ActionBar,
ActionSheet,
DropMenu,
Picker,
Selector,
TabBar,
Swiper,
SwiperItem,
Tip,
Tabs,
Tag,
InputItem,
Stepper,
Steps,
NoticeBar,
ImageReader,
ImageViewer,
NumberKeyboard,
Landscape,
ResultPage,
TabPicker,
Dialog,
Field,
FieldItem,
CellItem,
2018-03-26 16:04:04 +08:00
Switch,
Agree,
Radio,
DatePicker,
Captcha,
Codebox,
Cashier,
Chart,
Amount,
ActivityIndicator,
CheckGroup,
CheckList,
CheckBox,
2018-07-01 01:42:39 +08:00
ScrollView,
ScrollViewRefresh,
ScrollViewMore,
2018-08-22 20:06:41 +08:00
Bill,
WaterMark,
TabPane,
Transition,
2018-03-26 16:04:04 +08:00
/* @init<%${componentNameUpper},%> */
}
// 定义插件安装方法
const install = function(Vue) {
if (!Vue || install.installed) {
return
}
2018-04-12 17:16:05 +08:00
const componentsNames = Object.keys(components)
componentsNames.forEach(name => {
const component = components[name]
2018-09-12 17:42:52 +08:00
if (component.name) {
Vue.component(component.name, component)
}
2018-03-26 16:04:04 +08:00
})
2018-07-20 14:02:34 +08:00
// 全局服务注入
Vue.prototype.$toast = components.Toast
Vue.prototype.$dialog = components.Dialog
Vue.prototype.$sheet = components.ActionSheet
}
if (typeof window !== 'undefined' && window.Vue) {
install(window.Vue)
2018-03-26 16:04:04 +08:00
}
// 集合组件暴露
export {
install,
version,
Button,
Icon,
Popup,
PopupTitleBar,
ActionBar,
ActionSheet,
DropMenu,
Picker,
Selector,
TabBar,
Swiper,
SwiperItem,
Toast,
Tip,
Tabs,
Tag,
InputItem,
Stepper,
Steps,
NoticeBar,
ImageReader,
ImageViewer,
NumberKeyboard,
Landscape,
ResultPage,
TabPicker,
Dialog,
Field,
FieldItem,
CellItem,
2018-03-26 16:04:04 +08:00
Switch,
Agree,
Radio,
DatePicker,
Captcha,
Codebox,
Cashier,
Chart,
Amount,
ActivityIndicator,
CheckGroup,
CheckList,
CheckBox,
2018-07-01 01:42:39 +08:00
ScrollView,
ScrollViewRefresh,
ScrollViewMore,
2018-08-22 20:06:41 +08:00
Bill,
WaterMark,
TabPane,
Transition,
2018-03-26 16:04:04 +08:00
/* @init<%${componentNameUpper},%> */
}
export default {
install,
version,
}