UNPKG

k-form-design

Version:

基于vue、ant-design-vue的表单设计器,可视化开发表单

1,627 lines (1,333 loc) 76.3 kB
((typeof self !== 'undefined' ? self : this)["webpackJsonpk_form_design"] = (typeof self !== 'undefined' ? self : this)["webpackJsonpk_form_design"] || []).push([[1,23,25],{ /***/ "0952": /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = __webpack_require__("41b2"); var _extends3 = _interopRequireDefault(_extends2); var _vue = __webpack_require__("8bbf"); var _vue2 = _interopRequireDefault(_vue); var _vueRef = __webpack_require__("46cf"); var _vueRef2 = _interopRequireDefault(_vueRef); var _vueTypes = __webpack_require__("7b44"); var _vueTypes2 = _interopRequireDefault(_vueTypes); var _contains = __webpack_require__("af8e"); var _contains2 = _interopRequireDefault(_contains); var _propsUtil = __webpack_require__("73c8"); var _requestAnimationTimeout = __webpack_require__("31f2"); var _addEventListener = __webpack_require__("3355"); var _addEventListener2 = _interopRequireDefault(_addEventListener); var _warning = __webpack_require__("a7e2"); var _warning2 = _interopRequireDefault(_warning); var _Popup = __webpack_require__("d27c"); var _Popup2 = _interopRequireDefault(_Popup); var _utils = __webpack_require__("dd42"); var _BaseMixin = __webpack_require__("48bb"); var _BaseMixin2 = _interopRequireDefault(_BaseMixin); var _vnode = __webpack_require__("d2f9"); var _ContainerRender = __webpack_require__("f772d"); var _ContainerRender2 = _interopRequireDefault(_ContainerRender); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } _vue2['default'].use(_vueRef2['default'], { name: 'ant-ref' }); function returnEmptyString() { return ''; } function returnDocument() { return window.document; } var ALL_HANDLERS = ['click', 'mousedown', 'touchstart', 'mouseenter', 'mouseleave', 'focus', 'blur', 'contextmenu']; exports['default'] = { name: 'Trigger', mixins: [_BaseMixin2['default']], props: { action: _vueTypes2['default'].oneOfType([_vueTypes2['default'].string, _vueTypes2['default'].arrayOf(_vueTypes2['default'].string)]).def([]), showAction: _vueTypes2['default'].any.def([]), hideAction: _vueTypes2['default'].any.def([]), getPopupClassNameFromAlign: _vueTypes2['default'].any.def(returnEmptyString), // onPopupVisibleChange: PropTypes.func.def(noop), afterPopupVisibleChange: _vueTypes2['default'].func.def(_utils.noop), popup: _vueTypes2['default'].any, popupStyle: _vueTypes2['default'].object.def(function () { return {}; }), prefixCls: _vueTypes2['default'].string.def('rc-trigger-popup'), popupClassName: _vueTypes2['default'].string.def(''), popupPlacement: _vueTypes2['default'].string, builtinPlacements: _vueTypes2['default'].object, popupTransitionName: _vueTypes2['default'].oneOfType([_vueTypes2['default'].string, _vueTypes2['default'].object]), popupAnimation: _vueTypes2['default'].any, mouseEnterDelay: _vueTypes2['default'].number.def(0), mouseLeaveDelay: _vueTypes2['default'].number.def(0.1), zIndex: _vueTypes2['default'].number, focusDelay: _vueTypes2['default'].number.def(0), blurDelay: _vueTypes2['default'].number.def(0.15), getPopupContainer: _vueTypes2['default'].func, getDocument: _vueTypes2['default'].func.def(returnDocument), forceRender: _vueTypes2['default'].bool, destroyPopupOnHide: _vueTypes2['default'].bool.def(false), mask: _vueTypes2['default'].bool.def(false), maskClosable: _vueTypes2['default'].bool.def(true), // onPopupAlign: PropTypes.func.def(noop), popupAlign: _vueTypes2['default'].object.def(function () { return {}; }), popupVisible: _vueTypes2['default'].bool, defaultPopupVisible: _vueTypes2['default'].bool.def(false), maskTransitionName: _vueTypes2['default'].oneOfType([_vueTypes2['default'].string, _vueTypes2['default'].object]), maskAnimation: _vueTypes2['default'].string, stretch: _vueTypes2['default'].string, alignPoint: _vueTypes2['default'].bool // Maybe we can support user pass position in the future }, provide: function provide() { return { vcTriggerContext: this }; }, inject: { vcTriggerContext: { 'default': function _default() { return {}; } }, savePopupRef: { 'default': function _default() { return _utils.noop; } }, dialogContext: { 'default': function _default() { return null; } } }, data: function data() { var _this = this; var props = this.$props; var popupVisible = void 0; if ((0, _propsUtil.hasProp)(this, 'popupVisible')) { popupVisible = !!props.popupVisible; } else { popupVisible = !!props.defaultPopupVisible; } ALL_HANDLERS.forEach(function (h) { _this['fire' + h] = function (e) { _this.fireEvents(h, e); }; }); return { prevPopupVisible: popupVisible, sPopupVisible: popupVisible, point: null }; }, watch: { popupVisible: function popupVisible(val) { if (val !== undefined) { this.prevPopupVisible = this.sPopupVisible; this.sPopupVisible = val; } } }, deactivated: function deactivated() { this.setPopupVisible(false); }, mounted: function mounted() { var _this2 = this; this.$nextTick(function () { _this2.renderComponent(null); _this2.updatedCal(); }); }, updated: function updated() { var _this3 = this; var triggerAfterPopupVisibleChange = function triggerAfterPopupVisibleChange() { if (_this3.sPopupVisible !== _this3.prevPopupVisible) { _this3.afterPopupVisibleChange(_this3.sPopupVisible); } _this3.prevPopupVisible = _this3.sPopupVisible; }; this.renderComponent(null, triggerAfterPopupVisibleChange); this.$nextTick(function () { _this3.updatedCal(); }); }, beforeDestroy: function beforeDestroy() { this.clearDelayTimer(); this.clearOutsideHandler(); clearTimeout(this.mouseDownTimeout); }, methods: { updatedCal: function updatedCal() { var props = this.$props; var state = this.$data; // We must listen to `mousedown` or `touchstart`, edge case: // https://github.com/ant-design/ant-design/issues/5804 // https://github.com/react-component/calendar/issues/250 // https://github.com/react-component/trigger/issues/50 if (state.sPopupVisible) { var currentDocument = void 0; if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextmenuToShow())) { currentDocument = props.getDocument(); this.clickOutsideHandler = (0, _addEventListener2['default'])(currentDocument, 'mousedown', this.onDocumentClick); } // always hide on mobile if (!this.touchOutsideHandler) { currentDocument = currentDocument || props.getDocument(); this.touchOutsideHandler = (0, _addEventListener2['default'])(currentDocument, 'touchstart', this.onDocumentClick); } // close popup when trigger type contains 'onContextmenu' and document is scrolling. if (!this.contextmenuOutsideHandler1 && this.isContextmenuToShow()) { currentDocument = currentDocument || props.getDocument(); this.contextmenuOutsideHandler1 = (0, _addEventListener2['default'])(currentDocument, 'scroll', this.onContextmenuClose); } // close popup when trigger type contains 'onContextmenu' and window is blur. if (!this.contextmenuOutsideHandler2 && this.isContextmenuToShow()) { this.contextmenuOutsideHandler2 = (0, _addEventListener2['default'])(window, 'blur', this.onContextmenuClose); } } else { this.clearOutsideHandler(); } }, onMouseenter: function onMouseenter(e) { var mouseEnterDelay = this.$props.mouseEnterDelay; this.fireEvents('mouseenter', e); this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e); }, onMouseMove: function onMouseMove(e) { this.fireEvents('mousemove', e); this.setPoint(e); }, onMouseleave: function onMouseleave(e) { this.fireEvents('mouseleave', e); this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay); }, onPopupMouseenter: function onPopupMouseenter() { this.clearDelayTimer(); }, onPopupMouseleave: function onPopupMouseleave(e) { if (e && e.relatedTarget && !e.relatedTarget.setTimeout && this._component && this._component.getPopupDomNode && (0, _contains2['default'])(this._component.getPopupDomNode(), e.relatedTarget)) { return; } this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay); }, onFocus: function onFocus(e) { this.fireEvents('focus', e); // incase focusin and focusout this.clearDelayTimer(); if (this.isFocusToShow()) { this.focusTime = Date.now(); this.delaySetPopupVisible(true, this.$props.focusDelay); } }, onMousedown: function onMousedown(e) { this.fireEvents('mousedown', e); this.preClickTime = Date.now(); }, onTouchstart: function onTouchstart(e) { this.fireEvents('touchstart', e); this.preTouchTime = Date.now(); }, onBlur: function onBlur(e) { if (!(0, _contains2['default'])(e.target, e.relatedTarget || document.activeElement)) { this.fireEvents('blur', e); this.clearDelayTimer(); if (this.isBlurToHide()) { this.delaySetPopupVisible(false, this.$props.blurDelay); } } }, onContextmenu: function onContextmenu(e) { e.preventDefault(); this.fireEvents('contextmenu', e); this.setPopupVisible(true, e); }, onContextmenuClose: function onContextmenuClose() { if (this.isContextmenuToShow()) { this.close(); } }, onClick: function onClick(event) { this.fireEvents('click', event); // focus will trigger click if (this.focusTime) { var preTime = void 0; if (this.preClickTime && this.preTouchTime) { preTime = Math.min(this.preClickTime, this.preTouchTime); } else if (this.preClickTime) { preTime = this.preClickTime; } else if (this.preTouchTime) { preTime = this.preTouchTime; } if (Math.abs(preTime - this.focusTime) < 20) { return; } this.focusTime = 0; } this.preClickTime = 0; this.preTouchTime = 0; // Only prevent default when all the action is click. // https://github.com/ant-design/ant-design/issues/17043 // https://github.com/ant-design/ant-design/issues/17291 if (this.isClickToShow() && (this.isClickToHide() || this.isBlurToHide()) && event && event.preventDefault) { event.preventDefault(); } if (event && event.domEvent) { event.domEvent.preventDefault(); } var nextVisible = !this.$data.sPopupVisible; if (this.isClickToHide() && !nextVisible || nextVisible && this.isClickToShow()) { this.setPopupVisible(!this.$data.sPopupVisible, event); } }, onPopupMouseDown: function onPopupMouseDown() { var _this4 = this; var _vcTriggerContext = this.vcTriggerContext, vcTriggerContext = _vcTriggerContext === undefined ? {} : _vcTriggerContext; this.hasPopupMouseDown = true; clearTimeout(this.mouseDownTimeout); this.mouseDownTimeout = setTimeout(function () { _this4.hasPopupMouseDown = false; }, 0); if (vcTriggerContext.onPopupMouseDown) { vcTriggerContext.onPopupMouseDown.apply(vcTriggerContext, arguments); } }, onDocumentClick: function onDocumentClick(event) { if (this.$props.mask && !this.$props.maskClosable) { return; } var target = event.target; var root = this.$el; if (!(0, _contains2['default'])(root, target) && !this.hasPopupMouseDown) { this.close(); } }, getPopupDomNode: function getPopupDomNode() { if (this._component && this._component.getPopupDomNode) { return this._component.getPopupDomNode(); } return null; }, getRootDomNode: function getRootDomNode() { return this.$el; // return this.$el.children[0] || this.$el }, handleGetPopupClassFromAlign: function handleGetPopupClassFromAlign(align) { var className = []; var props = this.$props; var popupPlacement = props.popupPlacement, builtinPlacements = props.builtinPlacements, prefixCls = props.prefixCls, alignPoint = props.alignPoint, getPopupClassNameFromAlign = props.getPopupClassNameFromAlign; if (popupPlacement && builtinPlacements) { className.push((0, _utils.getAlignPopupClassName)(builtinPlacements, prefixCls, align, alignPoint)); } if (getPopupClassNameFromAlign) { className.push(getPopupClassNameFromAlign(align)); } return className.join(' '); }, getPopupAlign: function getPopupAlign() { var props = this.$props; var popupPlacement = props.popupPlacement, popupAlign = props.popupAlign, builtinPlacements = props.builtinPlacements; if (popupPlacement && builtinPlacements) { return (0, _utils.getAlignFromPlacement)(builtinPlacements, popupPlacement, popupAlign); } return popupAlign; }, savePopup: function savePopup(node) { this._component = node; this.savePopupRef(node); }, getComponent: function getComponent() { var h = this.$createElement; var self = this; var mouseProps = {}; if (this.isMouseEnterToShow()) { mouseProps.mouseenter = self.onPopupMouseenter; } if (this.isMouseLeaveToHide()) { mouseProps.mouseleave = self.onPopupMouseleave; } mouseProps.mousedown = this.onPopupMouseDown; mouseProps.touchstart = this.onPopupMouseDown; var handleGetPopupClassFromAlign = self.handleGetPopupClassFromAlign, getRootDomNode = self.getRootDomNode, getContainer = self.getContainer; var _self$$props = self.$props, prefixCls = _self$$props.prefixCls, destroyPopupOnHide = _self$$props.destroyPopupOnHide, popupClassName = _self$$props.popupClassName, action = _self$$props.action, popupAnimation = _self$$props.popupAnimation, popupTransitionName = _self$$props.popupTransitionName, popupStyle = _self$$props.popupStyle, mask = _self$$props.mask, maskAnimation = _self$$props.maskAnimation, maskTransitionName = _self$$props.maskTransitionName, zIndex = _self$$props.zIndex, stretch = _self$$props.stretch, alignPoint = _self$$props.alignPoint; var _$data = this.$data, sPopupVisible = _$data.sPopupVisible, point = _$data.point; var align = this.getPopupAlign(); var popupProps = { props: { prefixCls: prefixCls, destroyPopupOnHide: destroyPopupOnHide, visible: sPopupVisible, point: alignPoint && point, action: action, align: align, animation: popupAnimation, getClassNameFromAlign: handleGetPopupClassFromAlign, stretch: stretch, getRootDomNode: getRootDomNode, mask: mask, zIndex: zIndex, transitionName: popupTransitionName, maskAnimation: maskAnimation, maskTransitionName: maskTransitionName, getContainer: getContainer, popupClassName: popupClassName, popupStyle: popupStyle }, on: (0, _extends3['default'])({ align: (0, _propsUtil.getListeners)(this).popupAlign || _utils.noop }, mouseProps), directives: [{ name: 'ant-ref', value: this.savePopup }] }; return h( _Popup2['default'], popupProps, [(0, _propsUtil.getComponentFromProp)(self, 'popup')] ); }, getContainer: function getContainer() { var props = this.$props, dialogContext = this.dialogContext; var popupContainer = document.createElement('div'); // Make sure default popup container will never cause scrollbar appearing // https://github.com/react-component/trigger/issues/41 popupContainer.style.position = 'absolute'; popupContainer.style.top = '0'; popupContainer.style.left = '0'; popupContainer.style.width = '100%'; var mountNode = props.getPopupContainer ? props.getPopupContainer(this.$el, dialogContext) : props.getDocument().body; mountNode.appendChild(popupContainer); this.popupContainer = popupContainer; return popupContainer; }, setPopupVisible: function setPopupVisible(sPopupVisible, event) { var alignPoint = this.alignPoint, prevPopupVisible = this.sPopupVisible; this.clearDelayTimer(); if (prevPopupVisible !== sPopupVisible) { if (!(0, _propsUtil.hasProp)(this, 'popupVisible')) { this.setState({ sPopupVisible: sPopupVisible, prevPopupVisible: prevPopupVisible }); } var listeners = (0, _propsUtil.getListeners)(this); listeners.popupVisibleChange && listeners.popupVisibleChange(sPopupVisible); } // Always record the point position since mouseEnterDelay will delay the show if (alignPoint && event) { this.setPoint(event); } }, setPoint: function setPoint(point) { var alignPoint = this.$props.alignPoint; if (!alignPoint || !point) return; this.setState({ point: { pageX: point.pageX, pageY: point.pageY } }); }, delaySetPopupVisible: function delaySetPopupVisible(visible, delayS, event) { var _this5 = this; var delay = delayS * 1000; this.clearDelayTimer(); if (delay) { var point = event ? { pageX: event.pageX, pageY: event.pageY } : null; this.delayTimer = (0, _requestAnimationTimeout.requestAnimationTimeout)(function () { _this5.setPopupVisible(visible, point); _this5.clearDelayTimer(); }, delay); } else { this.setPopupVisible(visible, event); } }, clearDelayTimer: function clearDelayTimer() { if (this.delayTimer) { (0, _requestAnimationTimeout.cancelAnimationTimeout)(this.delayTimer); this.delayTimer = null; } }, clearOutsideHandler: function clearOutsideHandler() { if (this.clickOutsideHandler) { this.clickOutsideHandler.remove(); this.clickOutsideHandler = null; } if (this.contextmenuOutsideHandler1) { this.contextmenuOutsideHandler1.remove(); this.contextmenuOutsideHandler1 = null; } if (this.contextmenuOutsideHandler2) { this.contextmenuOutsideHandler2.remove(); this.contextmenuOutsideHandler2 = null; } if (this.touchOutsideHandler) { this.touchOutsideHandler.remove(); this.touchOutsideHandler = null; } }, createTwoChains: function createTwoChains(event) { var fn = function fn() {}; var events = (0, _propsUtil.getListeners)(this); if (this.childOriginEvents[event] && events[event]) { return this['fire' + event]; } fn = this.childOriginEvents[event] || events[event] || fn; return fn; }, isClickToShow: function isClickToShow() { var _$props = this.$props, action = _$props.action, showAction = _$props.showAction; return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1; }, isContextmenuToShow: function isContextmenuToShow() { var _$props2 = this.$props, action = _$props2.action, showAction = _$props2.showAction; return action.indexOf('contextmenu') !== -1 || showAction.indexOf('contextmenu') !== -1; }, isClickToHide: function isClickToHide() { var _$props3 = this.$props, action = _$props3.action, hideAction = _$props3.hideAction; return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1; }, isMouseEnterToShow: function isMouseEnterToShow() { var _$props4 = this.$props, action = _$props4.action, showAction = _$props4.showAction; return action.indexOf('hover') !== -1 || showAction.indexOf('mouseenter') !== -1; }, isMouseLeaveToHide: function isMouseLeaveToHide() { var _$props5 = this.$props, action = _$props5.action, hideAction = _$props5.hideAction; return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseleave') !== -1; }, isFocusToShow: function isFocusToShow() { var _$props6 = this.$props, action = _$props6.action, showAction = _$props6.showAction; return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1; }, isBlurToHide: function isBlurToHide() { var _$props7 = this.$props, action = _$props7.action, hideAction = _$props7.hideAction; return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1; }, forcePopupAlign: function forcePopupAlign() { if (this.$data.sPopupVisible && this._component && this._component.$refs.alignInstance) { this._component.$refs.alignInstance.forceAlign(); } }, fireEvents: function fireEvents(type, e) { if (this.childOriginEvents[type]) { this.childOriginEvents[type](e); } this.__emit(type, e); }, close: function close() { this.setPopupVisible(false); } }, render: function render() { var _this6 = this; var h = arguments[0]; var sPopupVisible = this.sPopupVisible; var children = (0, _propsUtil.filterEmpty)(this.$slots['default']); var _$props8 = this.$props, forceRender = _$props8.forceRender, alignPoint = _$props8.alignPoint; if (children.length > 1) { (0, _warning2['default'])(false, 'Trigger $slots.default.length > 1, just support only one default', true); } var child = children[0]; this.childOriginEvents = (0, _propsUtil.getDataEvents)(child); var newChildProps = { props: {}, nativeOn: {}, key: 'trigger' }; if (this.isContextmenuToShow()) { newChildProps.nativeOn.contextmenu = this.onContextmenu; } else { newChildProps.nativeOn.contextmenu = this.createTwoChains('contextmenu'); } if (this.isClickToHide() || this.isClickToShow()) { newChildProps.nativeOn.click = this.onClick; newChildProps.nativeOn.mousedown = this.onMousedown; newChildProps.nativeOn.touchstart = this.onTouchstart; } else { newChildProps.nativeOn.click = this.createTwoChains('click'); newChildProps.nativeOn.mousedown = this.createTwoChains('mousedown'); newChildProps.nativeOn.touchstart = this.createTwoChains('onTouchstart'); } if (this.isMouseEnterToShow()) { newChildProps.nativeOn.mouseenter = this.onMouseenter; if (alignPoint) { newChildProps.nativeOn.mousemove = this.onMouseMove; } } else { newChildProps.nativeOn.mouseenter = this.createTwoChains('mouseenter'); } if (this.isMouseLeaveToHide()) { newChildProps.nativeOn.mouseleave = this.onMouseleave; } else { newChildProps.nativeOn.mouseleave = this.createTwoChains('mouseleave'); } if (this.isFocusToShow() || this.isBlurToHide()) { newChildProps.nativeOn.focus = this.onFocus; newChildProps.nativeOn.blur = this.onBlur; } else { newChildProps.nativeOn.focus = this.createTwoChains('focus'); newChildProps.nativeOn.blur = function (e) { if (e && (!e.relatedTarget || !(0, _contains2['default'])(e.target, e.relatedTarget))) { _this6.createTwoChains('blur')(e); } }; } this.trigger = (0, _vnode.cloneElement)(child, newChildProps); return h(_ContainerRender2['default'], { attrs: { parent: this, visible: sPopupVisible, autoMount: false, forceRender: forceRender, getComponent: this.getComponent, getContainer: this.getContainer, children: function children(_ref) { var renderComponent = _ref.renderComponent; _this6.renderComponent = renderComponent; return _this6.trigger; } } }); } }; /***/ }), /***/ "0ca5": /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports['default'] = getRequestAnimationFrame; exports.cancelRequestAnimationFrame = cancelRequestAnimationFrame; var availablePrefixs = ['moz', 'ms', 'webkit']; function requestAnimationFramePolyfill() { var lastTime = 0; return function (callback) { var currTime = new Date().getTime(); var timeToCall = Math.max(0, 16 - (currTime - lastTime)); var id = window.setTimeout(function () { callback(currTime + timeToCall); }, timeToCall); lastTime = currTime + timeToCall; return id; }; } function getRequestAnimationFrame() { if (typeof window === 'undefined') { return function () {}; } if (window.requestAnimationFrame) { // https://github.com/vuejs/vue/issues/4465 return window.requestAnimationFrame.bind(window); } var prefix = availablePrefixs.filter(function (key) { return key + 'RequestAnimationFrame' in window; })[0]; return prefix ? window[prefix + 'RequestAnimationFrame'] : requestAnimationFramePolyfill(); } function cancelRequestAnimationFrame(id) { if (typeof window === 'undefined') { return null; } if (window.cancelAnimationFrame) { return window.cancelAnimationFrame(id); } var prefix = availablePrefixs.filter(function (key) { return key + 'CancelAnimationFrame' in window || key + 'CancelRequestAnimationFrame' in window; })[0]; return prefix ? (window[prefix + 'CancelAnimationFrame'] || window[prefix + 'CancelRequestAnimationFrame']).call(this, id) : clearTimeout(id); } /***/ }), /***/ "118f": /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _Align = __webpack_require__("875d"); var _Align2 = _interopRequireDefault(_Align); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } exports['default'] = _Align2['default']; // based on vc-align 2.4.5 /***/ }), /***/ "1db9": /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.warning = warning; exports.note = note; exports.resetWarned = resetWarned; exports.call = call; exports.warningOnce = warningOnce; exports.noteOnce = noteOnce; /* eslint-disable no-console */ var warned = {}; function warning(valid, message) { // Support uglify if (false) {} } function note(valid, message) { // Support uglify if (false) {} } function resetWarned() { warned = {}; } function call(method, valid, message) { if (!valid && !warned[message]) { method(false, message); warned[message] = true; } } function warningOnce(valid, message) { call(warning, valid, message); } function noteOnce(valid, message) { call(note, valid, message); } exports['default'] = warningOnce; /* eslint-enable */ /***/ }), /***/ "2f52": /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _Trigger = __webpack_require__("0952"); var _Trigger2 = _interopRequireDefault(_Trigger); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } exports['default'] = _Trigger2['default']; // based on rc-trigger 2.6.5 /***/ }), /***/ "31f2": /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.requestAnimationTimeout = exports.cancelAnimationTimeout = undefined; var _getRequestAnimationFrame = __webpack_require__("0ca5"); var _getRequestAnimationFrame2 = _interopRequireDefault(_getRequestAnimationFrame); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var raf = (0, _getRequestAnimationFrame2['default'])(); var cancelAnimationTimeout = exports.cancelAnimationTimeout = function cancelAnimationTimeout(frame) { return (0, _getRequestAnimationFrame.cancelRequestAnimationFrame)(frame.id); }; var requestAnimationTimeout = exports.requestAnimationTimeout = function requestAnimationTimeout(callback, delay) { var start = Date.now(); function timeout() { if (Date.now() - start >= delay) { callback.call(); } else { frame.id = raf(timeout); } } var frame = { id: raf(timeout) }; return frame; }; /***/ }), /***/ "3355": /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports['default'] = addEventListenerWrap; var _addDomEventListener = __webpack_require__("2c80"); var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function addEventListenerWrap(target, eventType, cb, option) { return (0, _addDomEventListener2['default'])(target, eventType, cb, option); } /***/ }), /***/ "401b": /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isCssAnimationSupported = undefined; var _typeof2 = __webpack_require__("1098"); var _typeof3 = _interopRequireDefault(_typeof2); var _Event = __webpack_require__("e098"); var _Event2 = _interopRequireDefault(_Event); var _componentClasses = __webpack_require__("3c55"); var _componentClasses2 = _interopRequireDefault(_componentClasses); var _requestAnimationTimeout = __webpack_require__("31f2"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var isCssAnimationSupported = _Event2['default'].endEvents.length !== 0; // https://github.com/yiminghe/css-animation 1.5.0 var capitalPrefixes = ['Webkit', 'Moz', 'O', // ms is special .... ! 'ms']; var prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', '']; function getStyleProperty(node, name) { // old ff need null, https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle var style = window.getComputedStyle(node, null); var ret = ''; for (var i = 0; i < prefixes.length; i++) { ret = style.getPropertyValue(prefixes[i] + name); if (ret) { break; } } return ret; } function fixBrowserByTimeout(node) { if (isCssAnimationSupported) { var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0; var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0; var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0; var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0; var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay); // sometimes, browser bug node.rcEndAnimTimeout = setTimeout(function () { node.rcEndAnimTimeout = null; if (node.rcEndListener) { node.rcEndListener(); } }, time * 1000 + 200); } } function clearBrowserBugTimeout(node) { if (node.rcEndAnimTimeout) { clearTimeout(node.rcEndAnimTimeout); node.rcEndAnimTimeout = null; } } var cssAnimation = function cssAnimation(node, transitionName, endCallback) { var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : (0, _typeof3['default'])(transitionName)) === 'object'; var className = nameIsObj ? transitionName.name : transitionName; var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active'; var end = endCallback; var start = void 0; var active = void 0; var nodeClasses = (0, _componentClasses2['default'])(node); if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') { end = endCallback.end; start = endCallback.start; active = endCallback.active; } if (node.rcEndListener) { node.rcEndListener(); } node.rcEndListener = function (e) { if (e && e.target !== node) { return; } if (node.rcAnimTimeout) { (0, _requestAnimationTimeout.cancelAnimationTimeout)(node.rcAnimTimeout); node.rcAnimTimeout = null; } clearBrowserBugTimeout(node); nodeClasses.remove(className); nodeClasses.remove(activeClassName); _Event2['default'].removeEndEventListener(node, node.rcEndListener); node.rcEndListener = null; // Usually this optional end is used for informing an owner of // a leave animation and telling it to remove the child. if (end) { end(); } }; _Event2['default'].addEndEventListener(node, node.rcEndListener); if (start) { start(); } nodeClasses.add(className); node.rcAnimTimeout = (0, _requestAnimationTimeout.requestAnimationTimeout)(function () { node.rcAnimTimeout = null; nodeClasses.add(className); nodeClasses.add(activeClassName); if (active) { (0, _requestAnimationTimeout.requestAnimationTimeout)(active, 0); } fixBrowserByTimeout(node); // 30ms for firefox }, 30); return { stop: function stop() { if (node.rcEndListener) { node.rcEndListener(); } } }; }; cssAnimation.style = function (node, style, callback) { if (node.rcEndListener) { node.rcEndListener(); } node.rcEndListener = function (e) { if (e && e.target !== node) { return; } if (node.rcAnimTimeout) { (0, _requestAnimationTimeout.cancelAnimationTimeout)(node.rcAnimTimeout); node.rcAnimTimeout = null; } clearBrowserBugTimeout(node); _Event2['default'].removeEndEventListener(node, node.rcEndListener); node.rcEndListener = null; // Usually this optional callback is used for informing an owner of // a leave animation and telling it to remove the child. if (callback) { callback(); } }; _Event2['default'].addEndEventListener(node, node.rcEndListener); node.rcAnimTimeout = (0, _requestAnimationTimeout.requestAnimationTimeout)(function () { for (var s in style) { if (style.hasOwnProperty(s)) { node.style[s] = style[s]; } } node.rcAnimTimeout = null; fixBrowserByTimeout(node); }, 0); }; cssAnimation.setTransition = function (node, p, value) { var property = p; var v = value; if (value === undefined) { v = property; property = ''; } property = property || ''; capitalPrefixes.forEach(function (prefix) { node.style[prefix + 'Transition' + property] = v; }); }; cssAnimation.isCssAnimationSupported = isCssAnimationSupported; exports.isCssAnimationSupported = isCssAnimationSupported; exports['default'] = cssAnimation; /***/ }), /***/ "48bb": /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _toConsumableArray2 = __webpack_require__("9b57"); var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); var _extends2 = __webpack_require__("41b2"); var _extends3 = _interopRequireDefault(_extends2); var _propsUtil = __webpack_require__("73c8"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } exports['default'] = { methods: { setState: function setState() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var callback = arguments[1]; var newState = typeof state === 'function' ? state(this.$data, this.$props) : state; if (this.getDerivedStateFromProps) { var s = this.getDerivedStateFromProps((0, _propsUtil.getOptionProps)(this), (0, _extends3['default'])({}, this.$data, newState)); if (s === null) { return; } else { newState = (0, _extends3['default'])({}, newState, s || {}); } } (0, _extends3['default'])(this.$data, newState); this.$forceUpdate(); this.$nextTick(function () { callback && callback(); }); }, __emit: function __emit() { // 直接调用listeners,底层组件不需要vueTool记录events var args = [].slice.call(arguments, 0); var eventName = args[0]; var event = this.$listeners[eventName]; if (args.length && event) { if (Array.isArray(event)) { for (var i = 0, l = event.length; i < l; i++) { event[i].apply(event, (0, _toConsumableArray3['default'])(args.slice(1))); } } else { event.apply(undefined, (0, _toConsumableArray3['default'])(args.slice(1))); } } } } }; /***/ }), /***/ "8207": /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _babelHelperVueJsxMergeProps = __webpack_require__("92fa"); var _babelHelperVueJsxMergeProps2 = _interopRequireDefault(_babelHelperVueJsxMergeProps); var _vueTypes = __webpack_require__("7b44"); var _vueTypes2 = _interopRequireDefault(_vueTypes); var _LazyRenderBox = __webpack_require__("ed5c"); var _LazyRenderBox2 = _interopRequireDefault(_LazyRenderBox); var _propsUtil = __webpack_require__("73c8"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } exports['default'] = { props: { hiddenClassName: _vueTypes2['default'].string.def(''), prefixCls: _vueTypes2['default'].string, visible: _vueTypes2['default'].bool }, render: function render() { var h = arguments[0]; var _$props = this.$props, prefixCls = _$props.prefixCls, visible = _$props.visible, hiddenClassName = _$props.hiddenClassName; var divProps = { on: (0, _propsUtil.getListeners)(this) }; return h( 'div', (0, _babelHelperVueJsxMergeProps2['default'])([divProps, { 'class': !visible ? hiddenClassName : '' }]), [h( _LazyRenderBox2['default'], { 'class': prefixCls + '-content', attrs: { visible: visible } }, [this.$slots['default']] )] ); } }; /***/ }), /***/ "875d": /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = __webpack_require__("41b2"); var _extends3 = _interopRequireDefault(_extends2); var _typeof2 = __webpack_require__("1098"); var _typeof3 = _interopRequireDefault(_typeof2); var _vueTypes = __webpack_require__("7b44"); var _vueTypes2 = _interopRequireDefault(_vueTypes); var _domAlign = __webpack_require__("91a5"); var _addEventListener = __webpack_require__("3355"); var _addEventListener2 = _interopRequireDefault(_addEventListener); var _util = __webpack_require__("df4e"); var _vnode = __webpack_require__("d2f9"); var _cloneDeep = __webpack_require__("0644"); var _cloneDeep2 = _interopRequireDefault(_cloneDeep); var _propsUtil = __webpack_require__("73c8"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function getElement(func) { if (typeof func !== 'function' || !func) return null; return func(); } function getPoint(point) { if ((typeof point === 'undefined' ? 'undefined' : (0, _typeof3['default'])(point)) !== 'object' || !point) return null; return point; } exports['default'] = { props: { childrenProps: _vueTypes2['default'].object, align: _vueTypes2['default'].object.isRequired, target: _vueTypes2['default'].oneOfType([_vueTypes2['default'].func, _vueTypes2['default'].object]).def(function () { return window; }), monitorBufferTime: _vueTypes2['default'].number.def(50), monitorWindowResize: _vueTypes2['default'].bool.def(false), disabled: _vueTypes2['default'].bool.def(false) }, data: function data() { this.aligned = false; return {}; }, mounted: function mounted() { var _this = this; this.$nextTick(function () { _this.prevProps = (0, _extends3['default'])({}, _this.$props); var props = _this.$props; // if parent ref not attached .... use document.getElementById !_this.aligned && _this.forceAlign(); if (!props.disabled && props.monitorWindowResize) { _this.startMonitorWindowResize(); } }); }, updated: function updated() { var _this2 = this; this.$nextTick(function () { var prevProps = _this2.prevProps; var props = _this2.$props; var reAlign = false; if (!props.disabled) { var source = _this2.$el; var sourceRect = source ? source.getBoundingClientRect() : null; if (prevProps.disabled) { reAlign = true; } else { var lastElement = getElement(prevProps.target); var currentElement = getElement(props.target); var lastPoint = getPoint(prevProps.target); var currentPoint = getPoint(props.target); if ((0, _util.isWindow)(lastElement) && (0, _util.isWindow)(currentElement)) { // Skip if is window reAlign = false; } else if (lastElement !== currentElement || // Element change lastElement && !currentElement && currentPoint || // Change from element to point lastPoint && currentPoint && currentElement || // Change from point to element currentPoint && !(0, _util.isSamePoint)(lastPoint, currentPoint)) { reAlign = true; } // If source element size changed var preRect = _this2.sourceRect || {}; if (!reAlign && source && (!(0, _util.isSimilarValue)(preRect.width, sourceRect.width) || !(0, _util.isSimilarValue)(preRect.height, sourceRect.height))) { reAlign = true; } } _this2.sourceRect = sourceRect; } if (reAlign) { _this2.forceAlign(); } if (props.monitorWindowResize && !props.disabled) { _this2.startMonitorWindowResize(); } else { _this2.stopMonitorWindowResize(); } _this2.prevProps = (0, _extends3['default'])({}, _this2.$props, { align: (0, _cloneDeep2['default'])(_this2.$props.align) }); }); }, beforeDestroy: function beforeDestroy() { this.stopMonitorWindowResize(); }, methods: { startMonitorWindowResize: function startMonitorWindowResize() { if (!this.resizeHandler) { this.bufferMonitor = (0, _util.buffer)(this.forceAlign, this.$props.monitorBufferTime); this.resizeHandler = (0, _addEventListener2['default'])(window, 'resize', this.bufferMonitor); } }, stopMonitorWindowResize: function stopMonitorWindowResize() { if (this.resizeHandler) { this.bufferMonitor.clear(); this.resizeHandler.remove(); this.resizeHandler = null; } }, forceAlign: function forceAlign() { var _$props = this.$props, disabled = _$props.disabled, target = _$props.target, align = _$props.align; if (!disabled && target) { var source = this.$el; var listeners = (0, _propsUtil.getListeners)(this); var result = void 0; var element = getElement(target); var point = getPoint(target); // IE lose focus after element realign // We should record activeElement and restore later var activeElement = document.activeElement; if (element) { result = (0, _domAlign.alignElement)(source, element, align); } else if (point) { result = (0, _domAlign.alignPoint)(source, point, align); } (0, _util.restoreFocus)(activeElement, source); this.aligned = true; listeners.align && listeners.align(source, result); } } }, render: function render() { var childrenProps = this.$props.childrenProps; var child = (0, _propsUtil.getSlot)(this)[0]; if (child && childrenProps) { return (0, _vnode.cloneElement)(child, { props: childrenProps }); } return child; } }; /***/ }), /***/ "a7e2": /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resetWarned = undefined; var _warning = __webpack_require__("1db9"); var _warning2 = _interopRequireDefault(_warning); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } exports.resetWarned = _warning.resetWarned; exports['default'] = function (valid, component) { var message = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; (0, _warning2['default'])(valid, '[antdv: ' + component + '] ' + message); }; /***/ }), /***/ "af8e": /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = contains; function contains(root, n) { var node = n; while (node) { if (node === root) { return true; } node = node.parentNode; } return false; } /***/ }), /***/ "d27c": /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _typeof2 = __webpack_require__("1098"); var _typeof3 = _interopRequireDefault(_typeof2); var _extends2 = __webpack_require__("41b2"); var _extends3 = _interopRequireDefault(_extends2); var _vueTypes = __webpack_require__("7b44"); var _vueTypes2 = _interopRequireDefault(_vueTypes); var _vcAlign = __webpack_require__("118f"); var _vcAlign2 = _interopRequireDefault(_vcAlign); var _PopupInner = __webpack_require__("8207"); var _PopupInner2 = _interopRequireDefault(_PopupInner); var _LazyRenderBox = __webpack_require__("ed5c"); var _LazyRenderBox2 = _interopRequireDefault(_LazyRenderBox); var _cssAnimation = __webpack_require__("401b"); var _cssAnimation2 = _interopRequireDefault(_cssAnimation); var _BaseMixin = __webpack_require__("48bb"); var _BaseMixin2 = _interopRequireDefault(_BaseMixin); var _propsUtil = __webpack_require__("73c8"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } exports['default'] = { name: 'VCTriggerPopup', mixins: [_BaseMixin2['default']], props: { visible: _vueTypes2['default'].bool, getClassNameFromAlign: _vueTypes2['default'].func, getRootDomNode: _vueTypes2['default'].func, align: _vueTypes2['default'].any, destroyPopupOnHide: _vueTypes2['default'].bool, prefixCls: _vueTypes2['default'].string, getContainer: _vueTypes2['default'].func, transitionName: _vueTypes2['default'].string, animation: _vueTypes2['default'].any, maskAnimation: _vueTypes2['default'].string, maskTransitionName: _vueTypes2['default'].string, mask: _vueTypes2['default'].bool, zIndex: _vueTypes2['default'].number, popupClassName: _vueTypes2['default'].any, popupStyle: _vueTypes2['default'].object.def(function () { return {}; }), stretch: _vueTypes2['default'].string, point: _vueTypes2['default'].shape({ pageX: _vueTypes2['default'].number, pageY: _vueTypes2['default'].number }) }, data: function data() { this.domEl = null; return { // Used for stretch stretchChecked: false, targetWidth: undefined, targetHeight: undefined }; }, mounted: function mounted() { var _this = this; this.$nextTick(function () { _this.rootNode = _this.getPopupDomNode(); _this.setStretchSize(); }); }, // 如添加会导致动画失效,如放开会导致快速输入时闪动 https://github.com/vueComponent/ant-design-vue/issues/1327, // 目前方案是保留动画,闪动问题(动画多次执行)进一步定位 // beforeUpdate() { // if (this.domEl && this.domEl.rcEndListener) { // this.domEl.rcEndListener(); // this.domEl = null; // } // }, updated: function updated() { var _this2 = this; this.$nextTick(function () { _this2.setStretchSize(); }); }, beforeDestroy: function beforeDestroy() { if (this.$el.parentNode) { this.$el.parentNode.removeChild(this.$el); } else if (this.$el.remove) { this.$el.remove(); } }, methods: { onAlign: function onAlign(popupDomNode, align) { var props = this.$props; var currentAlignClassName = props.getClassNameFromAlign(align); // FIX: https://github.com/react-component/trigger/issues/56 // FIX: https://github.com/react-component/tooltip/issues/79 if (this.currentAlignClassName !== currentAlignClassName) { this.currentAlignClassName = currentAlignClassName; popupDomNode.className = this.getClassName(currentAlignClassName); } var listeners = (0, _propsUtil.getListeners)(this); listeners.align && listeners.align(popupDomNode, align); }, // Record size if stretch needed setStretchSize: function setStretchSize() { var _$props = this.$props, stretch = _$props.stretch, getRootDomNode = _$props.getRootDomNode, visible = _$props.visible; var _$data = this.$data, stretchChecked = _$data.stretchChecked, targetHeight = _$data.targetHeight, targetWidth = _$data.targetWidth; if (!stretch |