yyzone
Version:
yyzone vue components and utils
197 lines (181 loc) • 5.35 kB
JavaScript
import './src/assets/styles/index.less'
// components
import YYAvatar from './src/components/base/avatar/'
import YYButton from './src/components/base/button/'
import YYCheckbox from './src/components/base/checkbox/'
import YYCollapse from './src/components/base/collapse/'
import YYDatePicker from './src/components/base/date-picker/'
import YYDialog from './src/components/base/dialog/'
import YYDropdown from './src/components/base/dropdown/'
import YYEmpty from './src/components/base/empty/'
import YYFileLogo from './src/components/base/file-logo/'
import YYForm from './src/components/base/form/'
import YYIcon from './src/components/base/icon/'
import YYInput from './src/components/base/input/'
import YYInputNumber from './src/components/base/input-number/'
import YYInputMultiLang from './src/components/base/input-multilang/'
import YYLoading from './src/components/base/loading/'
import YYLoadingH from './src/components/base/loading-h/'
import YYMenu from './src/components/base/menu/'
import YYMessage from './src/components/base/message/'
import YYModal from './src/components/base/modal/'
import YYPage from './src/components/base/page/'
import YYPagination from './src/components/base/pagination/'
import YYProgress from './src/components/base/progress/'
import YYRadio from './src/components/base/radio/'
import YYScroller from './src/components/base/scroller/'
import YYSelect from './src/components/base/select/'
import YYSlider from './src/components/base/slider/'
import YYSwitch from './src/components/base/switch/'
import YYTable from './src/components/base/table/'
import YYTabs from './src/components/base/tabs/'
import YYTag from './src/components/base/tag/'
import YYTimePicker from './src/components/base/time-picker/'
import YYTip from './src/components/base/tip/'
import YYTree from './src/components/base/tree'
import YYUpload from './src/components/base/upload/'
import YYSecurityUpload from './src/components/business/security-upload/'
import YYSecurityImageUpload from './src/components/business/security-image-upload/'
import YYSelectMember from './src/components/business/select-member/'
import YYSelectMemberInput from './src/components/business/select-member-input/'
import YYPrivateTable from './src/components/business/private-table'
const components = {
YYAvatar,
YYButton,
YYButtonGroup: YYButton.YYButtonGroup,
YYCheckbox,
YYCheckboxGroup: YYCheckbox.YYCheckboxGroup,
YYCollapse,
YYDatePicker,
YYDialog,
YYDropdown,
YYDropdownMenu: YYDropdown.YYDropdownMenu,
YYDropdownItem: YYDropdown.YYDropdownItem,
YYEmpty,
YYFileLogo,
YYForm,
YYFormItem: YYForm.YYFormItem,
YYIcon,
YYInput,
YYInputNumber,
YYInputMultiLang,
YYLoading,
YYLoadingH,
YYMenu,
YYSubmenu: YYMenu.YYSubmenu,
YYMenuItem: YYMenu.YYMenuItem,
YYMessage,
YYModal,
YYPage,
YYPagination,
YYProgress,
YYRadio,
YYRadioGroup: YYRadio.YYRadioGroup,
YYScroller,
YYSelect,
YYSlider,
YYOption: YYSelect.YYOption,
YYOptionGroup: YYSelect.YYOptionGroup,
YYSwitch,
YYTable,
YYTabs,
YYTabPane: YYTabs.YYTabPane,
YYTag,
YYTimePicker,
YYTip,
YYTree,
YYUpload,
YYSecurityUpload,
YYSecurityUploadList: YYSecurityUpload.YYSecurityUploadList,
YYSecurityUploadSortAll: YYSecurityUpload.YYSecurityUploadSortAll,
YYSecurityImageUpload,
YYSelectMember,
YYSelectMemberInput,
YYPrivateTable
}
// directives
import clickoutside from './src/directives/clickoutside'
import transferDom from './src/directives/transfer-dom'
import yyloading from './src/directives/loading'
const directives = {
clickoutside,
transferDom,
yyloading
}
// function
import {
oneOf,
typeOf,
deepCopy,
hasClass,
addClass,
removeClass,
htmlEscape,
escapeHtml
} from './src/utils/assist'
import {
getColor,
getQuery,
getCookie,
formatTime,
friendlyTime
} from './src/utils/utils'
import { locale } from './src/locale'
import {
getNavigatorLang,
getMobileLang,
getWebLang,
} from './src/utils/lang'
import diwork from './src/utils/diwork'
import sendOperationLog from './src/utils/log'
const utils = {
oneOf,
typeOf,
deepCopy,
hasClass,
addClass,
removeClass,
htmlEscape,
escapeHtml,
getColor,
getQuery,
getCookie,
getNavigatorLang,
getMobileLang,
getWebLang,
formatTime,
friendlyTime,
locale,
diwork,
sendOperationLog
}
// mixins
import ScrollbarMixins from './src/mixins/scrollbar'
const mixins = {
ScrollbarMixins
}
const install = function (Vue, opts = {}) {
if (install.installed) return
locale(opts && opts.locale || 'zhs', opts.source || {})
Object.keys(components).forEach(key => {
Vue.component(key, components[key])
})
Object.keys(directives).forEach(key => {
Vue.directive(key, directives[key])
})
Vue.prototype.$YYLoading = YYLoading
Vue.prototype.$YYMessage = YYMessage
Vue.prototype.$YYModal = YYModal
}
if (typeof window !== 'undefined' && window.Vue) {
install(window.Vue)
}
const YYZone = {
...components,
...directives,
...utils,
...mixins,
install
}
export default YYZone;
module.exports.default = module.exports = YYZone