index.ts 894 B

12345678910111213141516171819202122232425262728293031
  1. import { VueConstructor } from 'vue'
  2. import { VxeUI } from '@vxe-ui/core'
  3. import VxeWatermarkComponent from './src/watermark'
  4. import { checkDynamic, dynamicStore, dynamicApp } from '../dynamics'
  5. import type { VxeWatermarkProps } from '../../types'
  6. export const VxeWatermark = Object.assign({}, VxeWatermarkComponent, {
  7. install (app: VueConstructor) {
  8. app.component(VxeWatermarkComponent.name as string, VxeWatermarkComponent)
  9. }
  10. })
  11. dynamicApp.use(VxeWatermark)
  12. VxeUI.component(VxeWatermarkComponent)
  13. export const WatermarkController = {
  14. load (options: VxeWatermarkProps) {
  15. checkDynamic()
  16. dynamicStore.globalWatermark = Object.assign({}, options)
  17. return Promise.resolve()
  18. },
  19. clear () {
  20. dynamicStore.globalWatermark = null
  21. return Promise.resolve()
  22. }
  23. }
  24. VxeUI.watermark = WatermarkController
  25. export const Watermark = VxeWatermark
  26. export default VxeWatermark