You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jc-ui/lib/virtual-scroller.js

1 line
9.3 KiB
JavaScript

module.exports=function(t){var e={};function r(i){if(e[i])return e[i].exports;var n=e[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(i,n,function(e){return t[e]}.bind(null,n));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=57)}([,function(t,e,r){"use strict";r.d(e,"b",(function(){return f}));r(17),r(6),r(7),r(18);function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var n=r(3),s=r.n(n),o=r(2),u={fu:{search_bar:{search:"搜索",adv_search:"高级搜索",ok:"确定",cancel:"取消",please_select:"请选择",please_input:"请输入",like:"包含",not_like:"不包含",in:"属于",not_in:"不属于",gt:"大于",ge:"大于等于",lt:"小于",le:"小于等于",eq:"等于",ne:"不等于",between:"之间",select_date:"选择日期",start_date:"开始日期",end_date:"结束日期",select_date_time:"选择日期时间",start_date_time:"开始日期时间",end_date_time:"结束日期时间",range_separator:"至",data_time_error:"开始日期不能大于结束日期",clean:"清空",refresh:"刷新"},table:{ok:"确定",reset:"重置",custom_table_fields:"自定义表格字段",custom_table_fields_desc:"固定字段不在选择范围,可拖拽自定义顺序"},steps:{cancel:"取消",next:"下一步",prev:"上一步",finish:"完成"}}},c=/(%|)\{([0-9a-zA-Z_]+)\}/g,l=function(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];return 1===r.length&&"object"===i(r[0])&&(r=r[0]),r&&r.hasOwnProperty||(r={}),t.replace(c,(function(e,i,n,s){var u;return"{"===t[s-1]&&"}"===t[s+e.length]?n:null==(u=Object(o.b)(r,n)?r[n]:null)?"":u}))},a=function(){var t=Object.getPrototypeOf(this||s.a).$t;if("function"==typeof t&&s.a.locale)return t.apply(this,arguments)},f=function(t,e){var r=a.apply(this,arguments);if(null!=r)return r;for(var i=t.split("."),n=u,s=0,o=i.length;s<o;s++){var c=i[s];if(r=n[c],s===o-1)return void 0===r?(console.error(t+"is undefined"),t):l(r,e);if(!r)return"";n=r}return""};e.a={use:function(t){u=t||u},t:f,i18n:function(t){a=t||a}}},function(t,e,r){"use strict";r.d(e,"c",(function(){return i})),r.d(e,"b",(function(){return n})),r.d(e,"a",(function(){return s}));r(12),r(5),r(4),r(10),r(6),r(15),r(13),r(7),r(11),r(16);var i=function(){var t=(new Date).getTime(),e=performance&&performance.now&&1e3*performance.now()||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(r){var i=16*Math.random();return t>0?(i=(t+i)%16|0,t=Math.floor(t/16)):(i=(e+i)%16|0,e=Math.floor(e/16)),("x"===r?i:3&i|8).toString(16)}))},n=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"px";return null==t||""===t?void 0:isNaN(+t)?String(t):"".concat(Number(t)).concat(e)}},function(t,e){t.exports=require("vue")},function(t,e){t.exports=require("core-js/modules/es.number.constructor.js")},function(t,e){t.exports=require("core-js/modules/es.function.name.js")},function(t,e){t.exports=require("core-js/modules/es.regexp.exec.js")},function(t,e){t.exports=require("core-js/modules/es.string.replace.js")},,,function(t,e){t.exports=require("core-js/modules/es.object.to-string.js")},function(t,e){t.exports=require("core-js/modules/web.dom-collections.iterator.js")},function(t,e){t.exports=require("core-js/modules/es.array.concat.js")},function(t,e){t.exports=require("core-js/modules/es.string.iterator.js")},,function(t,e){t.exports=require("core-js/modules/es.regexp.to-string.js")},function(t,e){t.exports=require("core-js/modules/web.url.js")},function(t,e){t.exports=require("core-js/modules/es.object.get-prototype-of.js")},function(t,e){t.exports=require("core-js/modules/es.string.split.js")},,function(t,e,r){"use strict";r.d(e,"a",(function(){return o}));var i=r(28),n=r.n(i);function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,i)}return r}function o(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(Object(r),!0).forEach((function(e){n()(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}},,,,,,,,function(t,e){t.exports=require("@babel/runtime/helpers/esm/defineProperty")},,,,function(t,e){t.exports=require("core-js/modules/es.array.map.js")},function(t,e){t.exports=require("core-js/modules/es.array.slice.js")},,,,,,,,,,,,,,,,,,,,,,,,function(t,e,r){"use strict";r.r(e);r(5),r(32),r(33),r(4);var i=r(20),n=r(2),s={props:{height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},computed:{styles:function(){var t={},e=Object(n.a)(this.height),r=Object(n.a)(this.minHeight),i=Object(n.a)(this.minWidth),s=Object(n.a)(this.maxHeight),o=Object(n.a)(this.maxWidth),u=Object(n.a)(this.width);return e&&(t.height=e),r&&(t.minHeight=r),i&&(t.minWidth=i),s&&(t.maxHeight=s),o&&(t.maxWidth=o),u&&(t.width=u),t}}},o={name:"FuVirtualVerticalScroll",mixins:[s],props:{items:{type:Array,required:!0},itemHeight:{type:[Number,String],required:!0},buffer:{type:[Number,String],default:1}},data:function(){return{scrollTop:0,first:0,last:0}},watch:{height:"scroll",itemHeight:"scroll"},computed:{intItemHeight:function(){return parseInt(this.itemHeight,10)},intBuffer:function(){return parseInt(this.buffer,10)},firstToRender:function(t){var e=t.first,r=t.intBuffer;return Math.max(0,e-r)},lastToRender:function(t){var e=t.items,r=t.last,i=t.intBuffer;return Math.min(e.length,r+i)},containerHeight:function(t){var e=t.items,r=t.intItemHeight;return e.length*r}},methods:{createChild:function(t,e){e+=this.firstToRender;var r={staticClass:"fu-virtual-scroll__item",style:{top:Object(n.a)(e*this.intItemHeight)},key:e},i=this.$scopedSlots.default({index:e,item:t});return this.$createElement("div",r,i)},getFirst:function(){return Math.floor(this.scrollTop/this.intItemHeight)},getLast:function(){var t=parseInt(this.height||0,10)||this.$el.clientHeight;return this.first+Math.ceil(t/this.intItemHeight)},scroll:function(){this.scrollTop=this.$el.scrollTop,this.first=this.getFirst(),this.last=this.getLast()}},render:function(t){var e=this.items.slice(this.firstToRender,this.lastToRender).map(this.createChild),r=t("div",{staticClass:"fu-virtual-scroll__container",style:{height:Object(n.a)(this.containerHeight)}},e);return t("div",{staticClass:"fu-virtual-scroll",style:this.styles,on:Object(i.a)({scroll:this.scroll},this.$listeners)},[r])},mounted:function(){this.last=this.getLast()}},u={name:"FuVirtualHorizontalScroll",mixins:[s],props:{items:{type:Array,required:!0},itemWidth:{type:[Number,String],required:!0},buffer:{type:[Number,String],default:1}},data:function(){return{scrollLeft:0,first:0,last:0}},watch:{width:"scroll",itemWidth:"scroll"},computed:{intItemWidth:function(){return parseInt(this.itemWidth,10)},intBuffer:function(){return parseInt(this.buffer,10)},firstToRender:function(t){var e=t.first,r=t.intBuffer;return Math.max(0,e-r)},lastToRender:function(t){var e=t.items,r=t.last,i=t.intBuffer;return Math.min(e.length,r+i)},containerWidth:function(t){var e=t.items,r=t.intItemWidth;return e.length*r}},methods:{createChild:function(t,e){e+=this.firstToRender;var r={staticClass:"fu-virtual-scroll__item",style:{left:Object(n.a)(e*this.intItemWidth)},key:e},i=this.$scopedSlots.default({index:e,item:t});return this.$createElement("div",r,i)},getFirst:function(){return Math.floor(this.scrollLeft/this.intItemWidth)},getLast:function(){var t=parseInt(this.width||0,10)||this.$el.clientWidth;return this.first+Math.ceil(t/this.intItemWidth)},scroll:function(){this.scrollLeft=this.$el.scrollLeft,this.first=this.getFirst(),this.last=this.getLast()}},render:function(t){var e=this.items.slice(this.firstToRender,this.lastToRender).map(this.createChild),r=t("div",{staticClass:"fu-virtual-scroll__container",style:{height:this.height||"100%",width:Object(n.a)(this.containerWidth)}},e);return t("div",{staticClass:"fu-virtual-scroll is-horizontal",style:this.styles,on:Object(i.a)({scroll:this.scroll},this.$listeners)},[r])},mounted:function(){this.last=this.getLast()}},c={name:"FuVirtualScroll",functional:!0,render:function(t,e){var r=e.props,i=e.data,n=e.children,s=r.horizontal;return t(void 0===s||!1===s?o:u,i,n)}},l=r(1);c.install=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};l.a.use(e.locale),l.a.i18n(e.i18n),t.component(c.name,c)};e.default=c}]);