NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/ant-design-vue/lib/_util/transButton.js
2023-09-14 14:47:11 +08:00

101 lines
2.3 KiB
JavaScript

'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _babelHelperVueJsxMergeProps = require('babel-helper-vue-jsx-merge-props');
var _babelHelperVueJsxMergeProps2 = _interopRequireDefault(_babelHelperVueJsxMergeProps);
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _KeyCode = require('./KeyCode');
var _KeyCode2 = _interopRequireDefault(_KeyCode);
var _vueTypes = require('./vue-types');
var _vueTypes2 = _interopRequireDefault(_vueTypes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
/**
* Wrap of sub component which need use as Button capacity (like Icon component).
* This helps accessibility reader to tread as a interactive button to operation.
*/
var inlineStyle = {
border: 0,
background: 'transparent',
padding: 0,
lineHeight: 'inherit',
display: 'inline-block'
};
var TransButton = {
props: {
noStyle: _vueTypes2['default'].bool
},
methods: {
onKeyDown: function onKeyDown(event) {
var keyCode = event.keyCode;
if (keyCode === _KeyCode2['default'].ENTER) {
event.preventDefault();
}
},
onKeyUp: function onKeyUp(event) {
var keyCode = event.keyCode;
if (keyCode === _KeyCode2['default'].ENTER) {
this.$emit('click', event);
}
},
setRef: function setRef(btn) {
this.div = btn;
},
focus: function focus() {
if (this.div) {
this.div.focus();
}
},
blur: function blur() {
if (this.div) {
this.div.blur();
}
}
},
render: function render() {
var h = arguments[0];
var noStyle = this.$props.noStyle;
return h(
'div',
(0, _babelHelperVueJsxMergeProps2['default'])([{
attrs: {
role: 'button',
tabIndex: 0
}
}, {
directives: [{
name: 'ant-ref',
value: this.setRef
}],
on: (0, _extends3['default'])({}, this.$listeners, {
keydown: this.onKeyDown,
keyup: this.onKeyUp
})
}, {
style: (0, _extends3['default'])({}, !noStyle ? inlineStyle : null)
}]),
[this.$slots['default']]
);
}
};
exports['default'] = TransButton;