UNPKG

fork-reap-design

Version:

A high quality UI components Library with Vue.js

192 lines (178 loc) 7.53 kB
// import Vue from 'vue'; // import ViewUI from 'view-design'; // import 'view-design/dist/styles/iview.css'; import './styles/index.less'; // Vue.use(ViewUI); // *************************** 业务组件 *************************** // 12k min 4k aui-group-btn 可删 // import ButtonList from './components/button-list'; // 102k min 39k // 新版 目标:可以给第三方应用使用 import SSOSelector from './components/sso-selector/SSOSelector'; import Selector from './components/selector'; // 旧版 仅基础平台使用 import AuiChosen from './components/chosen'; import AuiArticle from './components/form/aui-article'; import AuiFormCreate from './components/form/aui-form-create'; import AuiFormCreateItem from './components/form/aui-form-create-item'; import AuiGroupBtn from './components/form/aui-group-btn'; import AuiMaxLength from './components/form/aui-max-length'; import AuiSelect from './components/form/aui-select'; import AuiSelectArea from './components/form/aui-select-area'; import AuiSelectIdentity from './components/form/aui-select-identity'; import AuiUploadImage from './components/form/aui-upload-image'; import AuiBreadCrumb from './components/layout/aui-bread-crumb'; import AuiSlideTransition from './components/layout/aui-collapse-transition'; import AuiList from './components/layout/aui-list'; import AuiSplitLayout from './components/layout/aui-split-layout'; import AuiFooter from './components/layout/aui-footer'; import AuiTable from './components/table/index'; import TableSearch from './components/table/table-search'; import AuiTree from './components/tree'; import AuiPhone from './components/layout/aui-phone/index'; import AuiLoading from './components/layout/aui-loading'; import importTemplate from './components/upload-table'; import AuiUpload from './components/upload'; import AuiWatermark from './components/watermark'; // 引入axios & api 80k min 30k import request from './api/request'; const components = { // *************************** 业务组件 *************************** // ButtonList, Selector, AuiChosen, AuiArticle, AuiFormCreate, AuiFormCreateItem, AuiGroupBtn, AuiMaxLength, AuiSelect, AuiSelectArea, AuiSelectIdentity, AuiUploadImage, AuiBreadCrumb, AuiSlideTransition, AuiList, AuiSplitLayout, AuiFooter, AuiTable, TableSearch, AuiTree, AuiPhone, AuiLoading, importTemplate, AuiUpload, AuiWatermark, SSOSelector, }; const iview = { ...components, // iButton: Button, // iCircle: Circle, // iCol: Col, // iContent: Content, // iForm: Form, // iFooter: Footer, // iHeader: Header, // iInput: Input, // iMenu: Menu, // iOption: Option, // iProgress: Progress, // iSelect: Select, // iSwitch: Switch, // iTable: Table, // iTime: Time }; const install = function (Vue, opts = {}) { if (install.installed) return; // locale.use(opts.locale); // locale.i18n(opts.i18n); window.Reap = window.Reap || {}; request.use(opts.axiosConfig); Object.assign(window.Reap, request.data, opts); Vue.component(SSOSelector.name, SSOSelector); Object.keys(iview).forEach((key) => { Vue.component(key, iview[key]); }); // Vue.prototype.$IVIEW = { // size: opts.size || '', // transfer: 'transfer' in opts ? opts.transfer : '', // capture: 'capture' in opts ? opts.capture : true, // select: { // arrow: opts.select ? opts.select.arrow ? opts.select.arrow : '' : '', // customArrow: opts.select ? opts.select.customArrow ? opts.select.customArrow : '' : '', // arrowSize: opts.select ? opts.select.arrowSize ? opts.select.arrowSize : '' : '' // }, // cell: { // arrow: opts.cell ? opts.cell.arrow ? opts.cell.arrow : '' : '', // customArrow: opts.cell ? opts.cell.customArrow ? opts.cell.customArrow : '' : '', // arrowSize: opts.cell ? opts.cell.arrowSize ? opts.cell.arrowSize : '' : '' // }, // menu: { // arrow: opts.menu ? opts.menu.arrow ? opts.menu.arrow : '' : '', // customArrow: opts.menu ? opts.menu.customArrow ? opts.menu.customArrow : '' : '', // arrowSize: opts.menu ? opts.menu.arrowSize ? opts.menu.arrowSize : '' : '' // }, // tree: { // arrow: opts.tree ? opts.tree.arrow ? opts.tree.arrow : '' : '', // customArrow: opts.tree ? opts.tree.customArrow ? opts.tree.customArrow : '' : '', // arrowSize: opts.tree ? opts.tree.arrowSize ? opts.tree.arrowSize : '' : '' // }, // cascader: { // arrow: opts.cascader ? opts.cascader.arrow ? opts.cascader.arrow : '' : '', // customArrow: opts.cascader ? opts.cascader.customArrow ? opts.cascader.customArrow : '' : '', // arrowSize: opts.cascader ? opts.cascader.arrowSize ? opts.cascader.arrowSize : '' : '', // itemArrow: opts.cascader ? opts.cascader.itemArrow ? opts.cascader.itemArrow : '' : '', // customItemArrow: opts.cascader ? opts.cascader.customItemArrow ? opts.cascader.customItemArrow : '' : '', // itemArrowSize: opts.cascader ? opts.cascader.itemArrowSize ? opts.cascader.itemArrowSize : '' : '' // }, // colorPicker: { // arrow: opts.colorPicker ? opts.colorPicker.arrow ? opts.colorPicker.arrow : '' : '', // customArrow: opts.colorPicker ? opts.colorPicker.customArrow ? opts.colorPicker.customArrow : '' : '', // arrowSize: opts.colorPicker ? opts.colorPicker.arrowSize ? opts.colorPicker.arrowSize : '' : '' // }, // datePicker: { // icon: opts.datePicker ? opts.datePicker.icon ? opts.datePicker.icon : '' : '', // customIcon: opts.datePicker ? opts.datePicker.customIcon ? opts.datePicker.customIcon : '' : '', // iconSize: opts.datePicker ? opts.datePicker.iconSize ? opts.datePicker.iconSize : '' : '' // }, // timePicker: { // icon: opts.timePicker ? opts.timePicker.icon ? opts.timePicker.icon : '' : '', // customIcon: opts.timePicker ? opts.timePicker.customIcon ? opts.timePicker.customIcon : '' : '', // iconSize: opts.timePicker ? opts.timePicker.iconSize ? opts.timePicker.iconSize : '' : '' // }, // tabs: { // closeIcon: opts.tabs ? opts.tabs.closeIcon ? opts.tabs.closeIcon : '' : '', // customCloseIcon: opts.tabs ? opts.tabs.customCloseIcon ? opts.tabs.customCloseIcon : '' : '', // closeIconSize: opts.tabs ? opts.tabs.closeIconSize ? opts.tabs.closeIconSize : '' : '' // }, // modal: { // maskClosable: opts.modal ? 'maskClosable' in opts.modal ? opts.modal.maskClosable : '' : '' // } // }; // Vue.prototype.$Loading = LoadingBar; // Vue.prototype.$Message = Message; // Vue.prototype.$Modal = Modal; // Vue.prototype.$Notice = Notice; // Vue.prototype.$Spin = Spin; }; // auto install if (typeof window !== 'undefined' && window.Vue) { install(window.Vue); } const API = { version: process.env.VERSION, // eslint-disable-line no-undef // locale: locale.use, // i18n: locale.i18n, install, // Circle, // Switch, ...components, }; // API.lang = (code) => { // const langObject = window['iview/locale'].default; // if (code === langObject.i.locale) locale.use(langObject); // else console.log(`The ${code} language pack is not loaded.`); // eslint-disable-line no-console // }; module.exports.default = API; module.exports = API; // eslint-disable-line no-undef