UNPKG

@fe6/water-pro

Version:

An enterprise-class UI design language and Vue-based implementation

71 lines (62 loc) 2.29 kB
import { createVNode as _createVNode } from "vue"; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } import { defineComponent, computed } from 'vue'; import { FullscreenExitOutlined, FullscreenOutlined, CloseOutlined } from '@ant-design/icons-vue'; import useConfigInject from '../../../_util/hooks/useConfigInject'; import PropTypes from '../../../_util/vue-types'; export default defineComponent({ name: 'ModalClose', components: { FullscreenExitOutlined: FullscreenExitOutlined, FullscreenOutlined: FullscreenOutlined, CloseOutlined: CloseOutlined }, props: { canFullscreen: PropTypes.bool.def(true), fullScreen: PropTypes.bool, prefixCls: PropTypes.string }, emits: ['cancel', 'fullscreen'], setup: function setup(props, _ref) { var emit = _ref.emit; var _useConfigInject = useConfigInject('modal-pro-close', props), prefixClsNew = _useConfigInject.prefixCls; var getClass = computed(function () { return [prefixClsNew, "".concat(prefixClsNew, "--custom"), _defineProperty({}, "".concat(prefixClsNew, "--can-full"), props.canFullscreen)]; }); function handleCancel() { emit('cancel'); } function handleFullScreen(e) { e === null || e === void 0 ? void 0 : e.stopPropagation(); e === null || e === void 0 ? void 0 : e.preventDefault(); emit('fullscreen'); } return { getClass: getClass, handleCancel: handleCancel, handleFullScreen: handleFullScreen }; }, render: function render() { var fullScreenNode = null; if (this.canFullscreen) { if (this.fullScreen) { fullScreenNode = _createVNode(FullscreenExitOutlined, { "role": "full", "onClick": this.handleFullScreen }, null); } else { fullScreenNode = _createVNode(FullscreenOutlined, { "role": "close", "onClick": this.handleFullScreen }, null); } } return _createVNode("div", { "class": this.getClass }, [fullScreenNode, _createVNode(CloseOutlined, { "onClick": this.handleCancel }, null)]); } });