bootstrap-vue
Version:
BootstrapVue provides one of the most comprehensive implementations of Bootstrap 4 components and grid system for Vue.js and with extensive and automated WAI-ARIA accessibility markup.
64 lines (56 loc) • 2.58 kB
JavaScript
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
import { assign, defineProperty, defineProperties, readonlyDescriptor } from '../utils/object';
var BvEvent = function () {
function BvEvent(type) {
var eventInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
_classCallCheck(this, BvEvent);
// Start by emulating native Event constructor.
if (!type) {
throw new TypeError('Failed to construct \'' + this.constructor.name + '\'. 1 argument required, ' + arguments.length + ' given.');
}
// Assign defaults first, the eventInit,
// and the type last so it can't be overwritten.
assign(this, BvEvent.defaults(), eventInit, { type: type });
// Freeze some props as readonly, but leave them enumerable.
defineProperties(this, {
type: readonlyDescriptor(),
cancelable: readonlyDescriptor(),
nativeEvent: readonlyDescriptor(),
target: readonlyDescriptor(),
relatedTarget: readonlyDescriptor(),
vueTarget: readonlyDescriptor()
});
// Create a private variable using closure scoping.
var defaultPrevented = false;
// Recreate preventDefault method. One way setter.
this.preventDefault = function preventDefault() {
if (this.cancelable) {
defaultPrevented = true;
}
};
// Create 'defaultPrevented' publicly accessible prop
// that can only be altered by the preventDefault method.
defineProperty(this, 'defaultPrevented', {
enumerable: true,
get: function get() {
return defaultPrevented;
}
});
}
_createClass(BvEvent, null, [{
key: 'defaults',
value: function defaults() {
return {
type: '',
cancelable: true,
nativeEvent: null,
target: null,
relatedTarget: null,
vueTarget: null
};
}
}]);
return BvEvent;
}();
export default BvEvent;