vxe-table
Version:
一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟滚动、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、虚拟列表、模态窗口、自定义模板、渲染器、贼灵活的配置项、扩展接口等...
1 lines • 1.93 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.createResizeEvent=createResizeEvent;var resizeTimeout,_ctor=_interopRequireDefault(require("xe-utils/ctor")),_conf=_interopRequireDefault(require("../../conf"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}var eventStore=[],defaultInterval=500;function eventHandle(){eventStore.length&&(eventStore.forEach(function(a){a.tarList.forEach(function(e){var t=e.target,r=e.width,n=e.heighe,i=t.clientWidth,o=t.clientHeight;(i&&r!==i||o&&n!==o)&&(e.width=i,e.heighe=o,requestAnimationFrame(a.callback))})}),eventListener())}function eventListener(){clearTimeout(resizeTimeout),resizeTimeout=setTimeout(eventHandle,_conf.default.resizeInterval||defaultInterval)}var ResizeObserverPolyfill=function(){function t(e){_classCallCheck(this,t),this.tarList=[],this.callback=e}return _createClass(t,[{key:"observe",value:function(t){var r=this;t&&(this.tarList.some(function(e){return e.target===t})||this.tarList.push({target:t,width:t.clientWidth,heighe:t.clientHeight}),eventStore.length||eventListener(),eventStore.some(function(e){return e===r})||eventStore.push(this))}},{key:"unobserve",value:function(t){_ctor.default.remove(eventStore,function(e){return e.tarList.some(function(e){return e.target===t})})}},{key:"disconnect",value:function(){var t=this;_ctor.default.remove(eventStore,function(e){return e===t})}}]),t}();function createResizeEvent(e){return window.ResizeObserver?new window.ResizeObserver(e):new ResizeObserverPolyfill(e)}