primevue 3.7.0 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/AutoComplete.d.ts +1 -0
- package/autocomplete/AutoComplete.vue +8 -1
- package/autocomplete/autocomplete.cjs.js +8 -1
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +8 -1
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +8 -1
- package/autocomplete/autocomplete.min.js +1 -1
- package/blockui/BlockUI.vue +1 -1
- package/blockui/blockui.cjs.js +1 -1
- package/blockui/blockui.cjs.min.js +1 -1
- package/blockui/blockui.esm.js +1 -1
- package/blockui/blockui.esm.min.js +1 -1
- package/blockui/blockui.js +1 -1
- package/blockui/blockui.min.js +1 -1
- package/breadcrumb/Breadcrumb.vue +4 -0
- package/breadcrumb/breadcrumb.cjs.js +1 -1
- package/breadcrumb/breadcrumb.cjs.min.js +1 -1
- package/breadcrumb/breadcrumb.esm.js +1 -1
- package/breadcrumb/breadcrumb.esm.min.js +1 -1
- package/breadcrumb/breadcrumb.js +1 -1
- package/breadcrumb/breadcrumb.min.js +1 -1
- package/confirmationservice/ConfirmationService.d.ts +3 -2
- package/core/core.js +7574 -0
- package/core/core.min.js +47 -0
- package/datatable/BodyCell.vue +36 -17
- package/datatable/ColumnFilter.vue +3 -3
- package/datatable/DataTable.d.ts +1 -1
- package/datatable/DataTable.vue +109 -69
- package/datatable/FooterCell.vue +2 -2
- package/datatable/HeaderCell.vue +2 -2
- package/datatable/TableBody.vue +10 -5
- package/datatable/TableFooter.vue +2 -1
- package/datatable/TableHeader.vue +3 -2
- package/datatable/datatable.cjs.js +192 -122
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +192 -122
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +192 -122
- package/datatable/datatable.min.js +1 -1
- package/dock/Dock.d.ts +1 -0
- package/dock/Dock.vue +1 -1
- package/dock/DockSub.vue +13 -8
- package/dock/dock.cjs.js +24 -10
- package/dock/dock.cjs.min.js +1 -1
- package/dock/dock.esm.js +20 -10
- package/dock/dock.esm.min.js +1 -1
- package/dock/dock.js +25 -12
- package/dock/dock.min.js +1 -1
- package/dropdown/Dropdown.vue +9 -8
- package/dropdown/dropdown.cjs.js +13 -11
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.esm.js +13 -11
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +13 -11
- package/dropdown/dropdown.min.js +1 -1
- package/galleria/Galleria.vue +1 -0
- package/galleria/GalleriaContent.vue +10 -1
- package/galleria/galleria.cjs.js +11 -2
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +11 -2
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +11 -2
- package/galleria/galleria.min.js +1 -1
- package/inplace/Inplace.d.ts +1 -0
- package/inplace/Inplace.vue +12 -1
- package/inplace/inplace.cjs.js +13 -2
- package/inplace/inplace.cjs.min.js +1 -1
- package/inplace/inplace.esm.js +13 -2
- package/inplace/inplace.esm.min.js +1 -1
- package/inplace/inplace.js +13 -2
- package/inplace/inplace.min.js +1 -1
- package/inputnumber/InputNumber.d.ts +2 -0
- package/inputnumber/InputNumber.vue +84 -35
- package/inputnumber/inputnumber.cjs.js +84 -35
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +84 -35
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +84 -35
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputswitch/InputSwitch.vue +6 -3
- package/inputswitch/inputswitch.cjs.js +6 -3
- package/inputswitch/inputswitch.cjs.min.js +1 -1
- package/inputswitch/inputswitch.esm.js +6 -3
- package/inputswitch/inputswitch.esm.min.js +1 -1
- package/inputswitch/inputswitch.js +6 -3
- package/inputswitch/inputswitch.min.js +1 -1
- package/knob/Knob.vue +1 -1
- package/knob/knob.cjs.js +1 -1
- package/knob/knob.esm.js +1 -1
- package/knob/knob.js +1 -1
- package/overlaypanel/OverlayPanel.d.ts +2 -0
- package/overlaypanel/OverlayPanel.vue +4 -1
- package/overlaypanel/overlaypanel.cjs.js +7 -3
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.esm.js +7 -3
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +7 -3
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/package.json +1 -1
- package/paginator/CurrentPageReport.vue +5 -1
- package/paginator/JumpToPageInput.vue +1 -1
- package/paginator/Paginator.vue +6 -3
- package/paginator/paginator.cjs.js +12 -4
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +12 -4
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +12 -4
- package/paginator/paginator.min.js +1 -1
- package/panelmenu/PanelMenuSub.vue +4 -4
- package/panelmenu/panelmenu.cjs.js +4 -4
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +4 -4
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +4 -4
- package/panelmenu/panelmenu.min.js +1 -1
- package/resources/primevue.css +3 -0
- package/resources/primevue.min.css +1 -1
- package/resources/themes/arya-blue/theme.css +6 -1
- package/resources/themes/arya-green/theme.css +6 -1
- package/resources/themes/arya-orange/theme.css +6 -1
- package/resources/themes/arya-purple/theme.css +6 -1
- package/resources/themes/bootstrap4-dark-blue/theme.css +6 -1
- package/resources/themes/bootstrap4-dark-purple/theme.css +6 -1
- package/resources/themes/bootstrap4-light-blue/theme.css +6 -1
- package/resources/themes/bootstrap4-light-purple/theme.css +6 -1
- package/resources/themes/fluent-light/theme.css +6 -1
- package/resources/themes/luna-amber/theme.css +6 -1
- package/resources/themes/luna-blue/theme.css +6 -1
- package/resources/themes/luna-green/theme.css +6 -1
- package/resources/themes/luna-pink/theme.css +6 -1
- package/resources/themes/md-dark-deeppurple/theme.css +6 -1
- package/resources/themes/md-dark-indigo/theme.css +6 -1
- package/resources/themes/md-light-deeppurple/theme.css +6 -1
- package/resources/themes/md-light-indigo/theme.css +6 -1
- package/resources/themes/mdc-dark-deeppurple/theme.css +6 -1
- package/resources/themes/mdc-dark-indigo/theme.css +6 -1
- package/resources/themes/mdc-light-deeppurple/theme.css +6 -1
- package/resources/themes/mdc-light-indigo/theme.css +6 -1
- package/resources/themes/nova/theme.css +6 -1
- package/resources/themes/nova-accent/theme.css +6 -1
- package/resources/themes/nova-alt/theme.css +6 -1
- package/resources/themes/nova-vue/theme.css +6 -1
- package/resources/themes/rhea/theme.css +6 -1
- package/resources/themes/saga-blue/theme.css +6 -1
- package/resources/themes/saga-green/theme.css +6 -1
- package/resources/themes/saga-orange/theme.css +6 -1
- package/resources/themes/saga-purple/theme.css +6 -1
- package/resources/themes/tailwind-light/fonts/Inter-Bold.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Bold.woff2 +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Light.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Light.woff2 +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Medium.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Medium.woff2 +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Regular.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Regular.woff2 +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff2 +0 -0
- package/resources/themes/tailwind-light/theme.css +5440 -0
- package/resources/themes/vela-blue/theme.css +6 -1
- package/resources/themes/vela-green/theme.css +6 -1
- package/resources/themes/vela-orange/theme.css +6 -1
- package/resources/themes/vela-purple/theme.css +6 -1
- package/speeddial/SpeedDial.vue +2 -1
- package/speeddial/speeddial.cjs.js +2 -1
- package/speeddial/speeddial.cjs.min.js +1 -1
- package/speeddial/speeddial.esm.js +2 -1
- package/speeddial/speeddial.esm.min.js +1 -1
- package/speeddial/speeddial.js +2 -1
- package/speeddial/speeddial.min.js +1 -1
- package/splitter/Splitter.vue +5 -3
- package/splitter/splitter.cjs.js +4 -2
- package/splitter/splitter.cjs.min.js +1 -1
- package/splitter/splitter.esm.js +5 -3
- package/splitter/splitter.esm.min.js +1 -1
- package/splitter/splitter.js +4 -2
- package/splitter/splitter.min.js +1 -1
- package/tabmenu/TabMenu.vue +4 -0
- package/tabmenu/tabmenu.cjs.js +1 -1
- package/tabmenu/tabmenu.cjs.min.js +1 -1
- package/tabmenu/tabmenu.esm.js +1 -1
- package/tabmenu/tabmenu.esm.min.js +1 -1
- package/tabmenu/tabmenu.js +1 -1
- package/tabmenu/tabmenu.min.js +1 -1
- package/terminal/terminal.js +1 -1
- package/terminal/terminal.min.js +1 -1
- package/tieredmenu/TieredMenuSub.vue +1 -1
- package/tieredmenu/tieredmenu.cjs.js +1 -1
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +1 -1
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +1 -1
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/toastservice/ToastService.d.ts +3 -2
- package/tooltip/tooltip.cjs.js +10 -3
- package/tooltip/tooltip.cjs.min.js +1 -1
- package/tooltip/tooltip.esm.js +10 -3
- package/tooltip/tooltip.esm.min.js +1 -1
- package/tooltip/tooltip.js +10 -3
- package/tooltip/tooltip.min.js +1 -1
- package/treetable/BodyCell.vue +2 -3
- package/treetable/FooterCell.vue +2 -2
- package/treetable/HeaderCell.vue +2 -2
- package/treetable/TreeTable.vue +2 -2
- package/treetable/TreeTableRow.vue +2 -2
- package/treetable/treetable.cjs.js +6 -6
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.esm.js +7 -7
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +6 -6
- package/treetable/treetable.min.js +1 -1
- package/utils/Utils.d.ts +80 -0
- package/utils/package.json +3 -2
- package/utils/utils.cjs.js +126 -108
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.esm.js +126 -108
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +126 -108
- package/utils/utils.min.js +1 -1
- package/vetur-attributes.json +12 -0
- package/vetur-tags.json +4 -1
- package/virtualscroller/VirtualScroller.vue +1 -1
- package/virtualscroller/virtualscroller.cjs.js +1 -1
- package/virtualscroller/virtualscroller.cjs.min.js +1 -1
- package/virtualscroller/virtualscroller.esm.js +1 -1
- package/virtualscroller/virtualscroller.esm.min.js +1 -1
- package/virtualscroller/virtualscroller.js +1 -1
- package/virtualscroller/virtualscroller.min.js +1 -1
- package/web-types.json +88 -5
package/vetur-tags.json
CHANGED
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"scrollHeight",
|
|
26
26
|
"dropdown",
|
|
27
27
|
"dropdownMode",
|
|
28
|
+
"autoHighlight",
|
|
28
29
|
"multiple",
|
|
29
30
|
"minLength",
|
|
30
31
|
"completeOnFocus",
|
|
@@ -557,7 +558,8 @@
|
|
|
557
558
|
"description": "Inplace provides an easy to do editing and display at the same time where clicking the output displays the actual content.",
|
|
558
559
|
"attributes": [
|
|
559
560
|
"active",
|
|
560
|
-
"closable"
|
|
561
|
+
"closable",
|
|
562
|
+
"diabled"
|
|
561
563
|
]
|
|
562
564
|
},
|
|
563
565
|
"InputMask": {
|
|
@@ -594,6 +596,7 @@
|
|
|
594
596
|
"min",
|
|
595
597
|
"max",
|
|
596
598
|
"step",
|
|
599
|
+
"allowEmpty",
|
|
597
600
|
"inputStyle",
|
|
598
601
|
"inputClass",
|
|
599
602
|
"class",
|
|
@@ -391,7 +391,7 @@ export default {
|
|
|
391
391
|
isHorizontal ? scrollTo(calculateCoord(newFirst, itemSize, contentPadding.left), 0) : scrollTo(0, calculateCoord(newFirst, itemSize, contentPadding.top));
|
|
392
392
|
}
|
|
393
393
|
|
|
394
|
-
this.first = newFirst
|
|
394
|
+
this.first = newFirst;
|
|
395
395
|
}
|
|
396
396
|
},
|
|
397
397
|
scrollInView(index, to, behavior = 'auto') {
|
|
@@ -368,7 +368,7 @@ var script = {
|
|
|
368
368
|
isHorizontal ? scrollTo(calculateCoord(newFirst, itemSize, contentPadding.left), 0) : scrollTo(0, calculateCoord(newFirst, itemSize, contentPadding.top));
|
|
369
369
|
}
|
|
370
370
|
|
|
371
|
-
this.first = newFirst
|
|
371
|
+
this.first = newFirst;
|
|
372
372
|
}
|
|
373
373
|
},
|
|
374
374
|
scrollInView(index, to, behavior = 'auto') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var t=require("vue"),s={name:"VirtualScroller",emits:["update:numToleratedItems","scroll-index-change","lazy-load"],props:{items:{type:Array,default:null},itemSize:{type:[Number,Array],default:null},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},showLoader:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},style:null,class:null,disabled:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:null}},element:null,content:null,spacer:null,scrollTimeout:null,mounted(){this.init()},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()}},methods:{init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},getLast(t,s){return this.items?Math.min(s?this.items[0].length:this.items.length,t):0},calculateOptions(){const t=this.isBoth(),s=this.isHorizontal(),e=this.first,i=this.itemSize,o=this.getContentPadding(),l=this.element?this.element.offsetWidth-o.left:0,n=this.element?this.element.offsetHeight-o.top:0,r=(t,s)=>Math.ceil(t/(s||t)),a=t?{rows:r(n,i[0]),cols:r(l,i[1])}:r(s?l:n,i);let h=this.d_numToleratedItems||Math.ceil((t?a.rows:a)/2);const c=(t,s,e)=>this.getLast(t+s+(t<h?2:3)*h,e),d=t?{rows:c(e.rows,a.rows),cols:c(e.cols,a.cols,!0)}:c(e,a);this.d_numToleratedItems=h,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.last=d,this.numItemsInViewport=a,this.showLoader&&(this.$slots&&this.$slots.loader?this.loaderArr=Array.from({length:t?a.rows:a}):this.loaderArr=Array.from({length:1})),this.lazy&&this.$emit("lazy-load",{first:e,last:d})},getContentPadding(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(parseFloat(t.paddingLeft.slice(0,-2)),10),e=parseInt(parseFloat(t.paddingRight.slice(0,-2)),10),i=parseInt(parseFloat(t.paddingTop.slice(0,-2)),10),o=parseInt(parseFloat(t.paddingBottom.slice(0,-2)),10);return{left:s,right:e,top:i,bottom:o,x:s+e,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),s=this.isHorizontal(),e=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||e.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||e.offsetHeight}px`,l=(t,s)=>this.element.style[t]=s;t?(l("height",o),l("width",i)):s?l("width",i):l("height",o)}},setSpacerSize(){const t=this.items;if(this.spacer&&t){const s=this.isBoth(),e=this.isHorizontal(),i=this.itemSize,o=this.getContentPadding(),l=(t,s,e,i=0)=>this.spacer.style[t]=(s||[]).length*e+i+"px";s?(l("height",t[0],i[0],o.y),l("width",t[1],i[1],o.x)):e?l("width",t,i,o.x):l("height",t,i,o.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=this.content,o=t?t.first:this.first,l=this.itemSize,n=(t,s)=>t*s,r=(t=0,s=0)=>i.style.transform=`translate3d(${t}px, ${s}px, 0)`;if(s)r(n(o.cols,l[1]),n(o.rows,l[0]));else{const t=n(o,l);e?r(t,0):r(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t,s)=>t?t>s?t-s:t:0,r=(t,s)=>Math.floor(t/(s||t)),a=(t,s,e,i,o)=>t<=this.d_numToleratedItems?this.d_numToleratedItems:o?e-i-this.d_numToleratedItems:s+this.d_numToleratedItems-1,h=(t,s,e,i,o,l)=>t<=this.d_numToleratedItems?0:l?t<s?e:t-this.d_numToleratedItems:t>s?e:t-2*this.d_numToleratedItems,c=(t,s,e,i,o)=>{let l=s+i+2*this.d_numToleratedItems;return t>=this.d_numToleratedItems&&(l+=this.d_numToleratedItems+1),this.getLast(l,o)},d=n(s.scrollTop,l.top),m=n(s.scrollLeft,l.left);let f=0,p=this.last,u=!1;if(e){const t=this.lastScrollPos.top<=d,s=this.lastScrollPos.left<=m,e={rows:r(d,o[0]),cols:r(m,o[1])},i={rows:a(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:a(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)};f={rows:h(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:h(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)},p={rows:c(e.rows,f.rows,this.last.rows,this.numItemsInViewport.rows),cols:c(e.cols,f.cols,this.last.cols,this.numItemsInViewport.cols,!0)},u=f.rows!==this.first.rows||f.cols!==this.first.cols||p.rows!==this.last.rows||p.cols!==this.last.cols,this.lastScrollPos={top:d,left:m}}else{const t=i?m:d,s=this.lastScrollPos<=t,e=r(t,o);f=h(e,a(e,this.first,this.last,this.numItemsInViewport,s),this.first,this.last,this.numItemsInViewport,s),p=c(e,f,this.last,this.numItemsInViewport),u=f!==this.first||p!==this.last,this.lastScrollPos=t}return{first:f,last:p,isRangeChanged:u}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.lazy&&this.$emit("lazy-load",{first:s,last:e}),this.first=s,this.last=e,this.$emit("scroll-index-change",{first:s,last:e})}},onScroll(t){if(this.delay&&!this.lazy){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:s}=this.onScrollPositionChange(t);s&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),this.d_loading&&this.showLoader&&!this.lazy&&(this.d_loading=!1)}),this.delay)}else this.onScrollChange(t)},getOptions(t){let s=this.items.length,e=this.isBoth()?this.first.rows+t:this.first+t;return{index:e,count:s,first:0===e,last:e===s-1,even:e%2==0,odd:e%2!=0}},getLoaderOptions(t){let s=this.loaderArr.length;return{loading:this.d_loading,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0}},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.element&&this.element.scrollTo(t)},scrollToIndex(t,s="auto"){const e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t=0)=>t<=this.d_numToleratedItems?0:t,r=(t,s,e)=>t*s+e,a=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:n(t[0]),cols:n(t[1])};s.rows===this.first.rows&&s.cols===this.first.cols||a(r(s.cols,o[1],l.left),r(s.rows,o[0],l.top))}else{const s=n(t);s!==this.first&&(i?a(r(s,o,l.left),0):a(0,r(s,o,l.top))),this.first=s.index}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=this.itemSize,a=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e}),h="to-end"===s;if("to-start"===s){if(i)n.first.rows-l.rows>t[0]?a(n.first.cols*r[1],(n.first.rows-1)*r[0]):n.first.cols-l.cols>t[1]&&a((n.first.cols-1)*r[1],n.first.rows*r[0]);else if(n.first-l>t){const t=(n.first-1)*r;o?a(t,0):a(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?a(n.first.cols*r[1],(n.first.rows+1)*r[0]):n.last.cols-l.cols<=t[1]+1&&a((n.first.cols+1)*r[1],n.first.rows*r[0]);else if(n.last-l<=t+1){const t=(n.first+1)*r;o?a(t,0):a(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=(t,s)=>Math.floor(t/(s||t));let o=this.first,l=0;if(this.element){const n=this.element.scrollTop,r=this.element.scrollLeft;if(t)o={rows:i(n,e[0]),cols:i(r,e[1])},l={rows:o.rows+this.numItemsInViewport.rows,cols:o.cols+this.numItemsInViewport.cols};else{o=i(s?r:n,e),l=o+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:o,last:l}}},elementRef(t){this.element=t},contentRef(t){this.content=t},spacerRef(t){this.spacer=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;if(t&&!this.d_loading){return this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>t.slice(this.first.cols,this.last.cols))):t.slice(this.first,this.last).map((t=>t))}return[]}}};const e=t.createVNode("i",{class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"},null,-1);!function(t,s){void 0===s&&(s={});var e=s.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===e&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}("\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n will-change: scroll-position;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n contain: content;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n pointer-events: none;\n}\n.p-virtualscroller .p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.p-virtualscroller-loader.p-component-overlay {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n"),s.render=function(s,i,o,l,n,r){return o.disabled?(t.openBlock(),t.createBlock(t.Fragment,{key:1},[t.renderSlot(s.$slots,"default"),t.renderSlot(s.$slots,"content",{items:o.items})],64)):(t.openBlock(),t.createBlock("div",{key:0,ref:r.elementRef,class:r.containerClass,style:o.style,onScroll:i[1]||(i[1]=(...t)=>r.onScroll&&r.onScroll(...t))},[t.renderSlot(s.$slots,"content",{styleClass:"p-virtualscroller-content",contentRef:r.contentRef,items:r.loadedItems,getItemOptions:r.getOptions},(()=>[t.createVNode("div",{ref:r.contentRef,class:"p-virtualscroller-content"},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(r.loadedItems,((e,i)=>t.renderSlot(s.$slots,"item",{key:i,item:e,options:r.getOptions(i)}))),128))],512)])),t.createVNode("div",{ref:r.spacerRef,class:"p-virtualscroller-spacer"},null,512),n.d_loading?(t.openBlock(),t.createBlock("div",{key:0,class:r.loaderClass},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(n.loaderArr,((i,o)=>t.renderSlot(s.$slots,"loader",{key:o,options:r.getLoaderOptions(o)},(()=>[e])))),128))],2)):t.createCommentVNode("",!0)],38))},module.exports=s;
|
|
1
|
+
"use strict";var t=require("vue"),s={name:"VirtualScroller",emits:["update:numToleratedItems","scroll-index-change","lazy-load"],props:{items:{type:Array,default:null},itemSize:{type:[Number,Array],default:null},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},showLoader:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},style:null,class:null,disabled:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:null}},element:null,content:null,spacer:null,scrollTimeout:null,mounted(){this.init()},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()}},methods:{init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},getLast(t,s){return this.items?Math.min(s?this.items[0].length:this.items.length,t):0},calculateOptions(){const t=this.isBoth(),s=this.isHorizontal(),e=this.first,i=this.itemSize,o=this.getContentPadding(),l=this.element?this.element.offsetWidth-o.left:0,n=this.element?this.element.offsetHeight-o.top:0,r=(t,s)=>Math.ceil(t/(s||t)),a=t?{rows:r(n,i[0]),cols:r(l,i[1])}:r(s?l:n,i);let h=this.d_numToleratedItems||Math.ceil((t?a.rows:a)/2);const c=(t,s,e)=>this.getLast(t+s+(t<h?2:3)*h,e),d=t?{rows:c(e.rows,a.rows),cols:c(e.cols,a.cols,!0)}:c(e,a);this.d_numToleratedItems=h,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.last=d,this.numItemsInViewport=a,this.showLoader&&(this.$slots&&this.$slots.loader?this.loaderArr=Array.from({length:t?a.rows:a}):this.loaderArr=Array.from({length:1})),this.lazy&&this.$emit("lazy-load",{first:e,last:d})},getContentPadding(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(parseFloat(t.paddingLeft.slice(0,-2)),10),e=parseInt(parseFloat(t.paddingRight.slice(0,-2)),10),i=parseInt(parseFloat(t.paddingTop.slice(0,-2)),10),o=parseInt(parseFloat(t.paddingBottom.slice(0,-2)),10);return{left:s,right:e,top:i,bottom:o,x:s+e,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),s=this.isHorizontal(),e=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||e.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||e.offsetHeight}px`,l=(t,s)=>this.element.style[t]=s;t?(l("height",o),l("width",i)):s?l("width",i):l("height",o)}},setSpacerSize(){const t=this.items;if(this.spacer&&t){const s=this.isBoth(),e=this.isHorizontal(),i=this.itemSize,o=this.getContentPadding(),l=(t,s,e,i=0)=>this.spacer.style[t]=(s||[]).length*e+i+"px";s?(l("height",t[0],i[0],o.y),l("width",t[1],i[1],o.x)):e?l("width",t,i,o.x):l("height",t,i,o.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=this.content,o=t?t.first:this.first,l=this.itemSize,n=(t,s)=>t*s,r=(t=0,s=0)=>i.style.transform=`translate3d(${t}px, ${s}px, 0)`;if(s)r(n(o.cols,l[1]),n(o.rows,l[0]));else{const t=n(o,l);e?r(t,0):r(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t,s)=>t?t>s?t-s:t:0,r=(t,s)=>Math.floor(t/(s||t)),a=(t,s,e,i,o)=>t<=this.d_numToleratedItems?this.d_numToleratedItems:o?e-i-this.d_numToleratedItems:s+this.d_numToleratedItems-1,h=(t,s,e,i,o,l)=>t<=this.d_numToleratedItems?0:l?t<s?e:t-this.d_numToleratedItems:t>s?e:t-2*this.d_numToleratedItems,c=(t,s,e,i,o)=>{let l=s+i+2*this.d_numToleratedItems;return t>=this.d_numToleratedItems&&(l+=this.d_numToleratedItems+1),this.getLast(l,o)},d=n(s.scrollTop,l.top),m=n(s.scrollLeft,l.left);let f=0,p=this.last,u=!1;if(e){const t=this.lastScrollPos.top<=d,s=this.lastScrollPos.left<=m,e={rows:r(d,o[0]),cols:r(m,o[1])},i={rows:a(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:a(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)};f={rows:h(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:h(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)},p={rows:c(e.rows,f.rows,this.last.rows,this.numItemsInViewport.rows),cols:c(e.cols,f.cols,this.last.cols,this.numItemsInViewport.cols,!0)},u=f.rows!==this.first.rows||f.cols!==this.first.cols||p.rows!==this.last.rows||p.cols!==this.last.cols,this.lastScrollPos={top:d,left:m}}else{const t=i?m:d,s=this.lastScrollPos<=t,e=r(t,o);f=h(e,a(e,this.first,this.last,this.numItemsInViewport,s),this.first,this.last,this.numItemsInViewport,s),p=c(e,f,this.last,this.numItemsInViewport),u=f!==this.first||p!==this.last,this.lastScrollPos=t}return{first:f,last:p,isRangeChanged:u}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.lazy&&this.$emit("lazy-load",{first:s,last:e}),this.first=s,this.last=e,this.$emit("scroll-index-change",{first:s,last:e})}},onScroll(t){if(this.delay&&!this.lazy){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:s}=this.onScrollPositionChange(t);s&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),this.d_loading&&this.showLoader&&!this.lazy&&(this.d_loading=!1)}),this.delay)}else this.onScrollChange(t)},getOptions(t){let s=this.items.length,e=this.isBoth()?this.first.rows+t:this.first+t;return{index:e,count:s,first:0===e,last:e===s-1,even:e%2==0,odd:e%2!=0}},getLoaderOptions(t){let s=this.loaderArr.length;return{loading:this.d_loading,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0}},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.element&&this.element.scrollTo(t)},scrollToIndex(t,s="auto"){const e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t=0)=>t<=this.d_numToleratedItems?0:t,r=(t,s,e)=>t*s+e,a=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:n(t[0]),cols:n(t[1])};s.rows===this.first.rows&&s.cols===this.first.cols||a(r(s.cols,o[1],l.left),r(s.rows,o[0],l.top))}else{const s=n(t);s!==this.first&&(i?a(r(s,o,l.left),0):a(0,r(s,o,l.top))),this.first=s}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=this.itemSize,a=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e}),h="to-end"===s;if("to-start"===s){if(i)n.first.rows-l.rows>t[0]?a(n.first.cols*r[1],(n.first.rows-1)*r[0]):n.first.cols-l.cols>t[1]&&a((n.first.cols-1)*r[1],n.first.rows*r[0]);else if(n.first-l>t){const t=(n.first-1)*r;o?a(t,0):a(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?a(n.first.cols*r[1],(n.first.rows+1)*r[0]):n.last.cols-l.cols<=t[1]+1&&a((n.first.cols+1)*r[1],n.first.rows*r[0]);else if(n.last-l<=t+1){const t=(n.first+1)*r;o?a(t,0):a(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=(t,s)=>Math.floor(t/(s||t));let o=this.first,l=0;if(this.element){const n=this.element.scrollTop,r=this.element.scrollLeft;if(t)o={rows:i(n,e[0]),cols:i(r,e[1])},l={rows:o.rows+this.numItemsInViewport.rows,cols:o.cols+this.numItemsInViewport.cols};else{o=i(s?r:n,e),l=o+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:o,last:l}}},elementRef(t){this.element=t},contentRef(t){this.content=t},spacerRef(t){this.spacer=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;if(t&&!this.d_loading){return this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>t.slice(this.first.cols,this.last.cols))):t.slice(this.first,this.last).map((t=>t))}return[]}}};const e=t.createVNode("i",{class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"},null,-1);!function(t,s){void 0===s&&(s={});var e=s.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===e&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}("\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n will-change: scroll-position;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n contain: content;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n pointer-events: none;\n}\n.p-virtualscroller .p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.p-virtualscroller-loader.p-component-overlay {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n"),s.render=function(s,i,o,l,n,r){return o.disabled?(t.openBlock(),t.createBlock(t.Fragment,{key:1},[t.renderSlot(s.$slots,"default"),t.renderSlot(s.$slots,"content",{items:o.items})],64)):(t.openBlock(),t.createBlock("div",{key:0,ref:r.elementRef,class:r.containerClass,style:o.style,onScroll:i[1]||(i[1]=(...t)=>r.onScroll&&r.onScroll(...t))},[t.renderSlot(s.$slots,"content",{styleClass:"p-virtualscroller-content",contentRef:r.contentRef,items:r.loadedItems,getItemOptions:r.getOptions},(()=>[t.createVNode("div",{ref:r.contentRef,class:"p-virtualscroller-content"},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(r.loadedItems,((e,i)=>t.renderSlot(s.$slots,"item",{key:i,item:e,options:r.getOptions(i)}))),128))],512)])),t.createVNode("div",{ref:r.spacerRef,class:"p-virtualscroller-spacer"},null,512),n.d_loading?(t.openBlock(),t.createBlock("div",{key:0,class:r.loaderClass},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(n.loaderArr,((i,o)=>t.renderSlot(s.$slots,"loader",{key:o,options:r.getLoaderOptions(o)},(()=>[e])))),128))],2)):t.createCommentVNode("",!0)],38))},module.exports=s;
|
|
@@ -366,7 +366,7 @@ var script = {
|
|
|
366
366
|
isHorizontal ? scrollTo(calculateCoord(newFirst, itemSize, contentPadding.left), 0) : scrollTo(0, calculateCoord(newFirst, itemSize, contentPadding.top));
|
|
367
367
|
}
|
|
368
368
|
|
|
369
|
-
this.first = newFirst
|
|
369
|
+
this.first = newFirst;
|
|
370
370
|
}
|
|
371
371
|
},
|
|
372
372
|
scrollInView(index, to, behavior = 'auto') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{openBlock as t,createBlock as s,renderSlot as e,createVNode as i,Fragment as o,renderList as l,createCommentVNode as n}from"vue";var r={name:"VirtualScroller",emits:["update:numToleratedItems","scroll-index-change","lazy-load"],props:{items:{type:Array,default:null},itemSize:{type:[Number,Array],default:null},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},showLoader:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},style:null,class:null,disabled:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:null}},element:null,content:null,spacer:null,scrollTimeout:null,mounted(){this.init()},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()}},methods:{init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},getLast(t,s){return this.items?Math.min(s?this.items[0].length:this.items.length,t):0},calculateOptions(){const t=this.isBoth(),s=this.isHorizontal(),e=this.first,i=this.itemSize,o=this.getContentPadding(),l=this.element?this.element.offsetWidth-o.left:0,n=this.element?this.element.offsetHeight-o.top:0,r=(t,s)=>Math.ceil(t/(s||t)),a=t?{rows:r(n,i[0]),cols:r(l,i[1])}:r(s?l:n,i);let h=this.d_numToleratedItems||Math.ceil((t?a.rows:a)/2);const c=(t,s,e)=>this.getLast(t+s+(t<h?2:3)*h,e),d=t?{rows:c(e.rows,a.rows),cols:c(e.cols,a.cols,!0)}:c(e,a);this.d_numToleratedItems=h,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.last=d,this.numItemsInViewport=a,this.showLoader&&(this.$slots&&this.$slots.loader?this.loaderArr=Array.from({length:t?a.rows:a}):this.loaderArr=Array.from({length:1})),this.lazy&&this.$emit("lazy-load",{first:e,last:d})},getContentPadding(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(parseFloat(t.paddingLeft.slice(0,-2)),10),e=parseInt(parseFloat(t.paddingRight.slice(0,-2)),10),i=parseInt(parseFloat(t.paddingTop.slice(0,-2)),10),o=parseInt(parseFloat(t.paddingBottom.slice(0,-2)),10);return{left:s,right:e,top:i,bottom:o,x:s+e,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),s=this.isHorizontal(),e=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||e.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||e.offsetHeight}px`,l=(t,s)=>this.element.style[t]=s;t?(l("height",o),l("width",i)):s?l("width",i):l("height",o)}},setSpacerSize(){const t=this.items;if(this.spacer&&t){const s=this.isBoth(),e=this.isHorizontal(),i=this.itemSize,o=this.getContentPadding(),l=(t,s,e,i=0)=>this.spacer.style[t]=(s||[]).length*e+i+"px";s?(l("height",t[0],i[0],o.y),l("width",t[1],i[1],o.x)):e?l("width",t,i,o.x):l("height",t,i,o.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=this.content,o=t?t.first:this.first,l=this.itemSize,n=(t,s)=>t*s,r=(t=0,s=0)=>i.style.transform=`translate3d(${t}px, ${s}px, 0)`;if(s)r(n(o.cols,l[1]),n(o.rows,l[0]));else{const t=n(o,l);e?r(t,0):r(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t,s)=>t?t>s?t-s:t:0,r=(t,s)=>Math.floor(t/(s||t)),a=(t,s,e,i,o)=>t<=this.d_numToleratedItems?this.d_numToleratedItems:o?e-i-this.d_numToleratedItems:s+this.d_numToleratedItems-1,h=(t,s,e,i,o,l)=>t<=this.d_numToleratedItems?0:l?t<s?e:t-this.d_numToleratedItems:t>s?e:t-2*this.d_numToleratedItems,c=(t,s,e,i,o)=>{let l=s+i+2*this.d_numToleratedItems;return t>=this.d_numToleratedItems&&(l+=this.d_numToleratedItems+1),this.getLast(l,o)},d=n(s.scrollTop,l.top),m=n(s.scrollLeft,l.left);let f=0,p=this.last,u=!1;if(e){const t=this.lastScrollPos.top<=d,s=this.lastScrollPos.left<=m,e={rows:r(d,o[0]),cols:r(m,o[1])},i={rows:a(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:a(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)};f={rows:h(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:h(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)},p={rows:c(e.rows,f.rows,this.last.rows,this.numItemsInViewport.rows),cols:c(e.cols,f.cols,this.last.cols,this.numItemsInViewport.cols,!0)},u=f.rows!==this.first.rows||f.cols!==this.first.cols||p.rows!==this.last.rows||p.cols!==this.last.cols,this.lastScrollPos={top:d,left:m}}else{const t=i?m:d,s=this.lastScrollPos<=t,e=r(t,o);f=h(e,a(e,this.first,this.last,this.numItemsInViewport,s),this.first,this.last,this.numItemsInViewport,s),p=c(e,f,this.last,this.numItemsInViewport),u=f!==this.first||p!==this.last,this.lastScrollPos=t}return{first:f,last:p,isRangeChanged:u}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.lazy&&this.$emit("lazy-load",{first:s,last:e}),this.first=s,this.last=e,this.$emit("scroll-index-change",{first:s,last:e})}},onScroll(t){if(this.delay&&!this.lazy){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:s}=this.onScrollPositionChange(t);s&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),this.d_loading&&this.showLoader&&!this.lazy&&(this.d_loading=!1)}),this.delay)}else this.onScrollChange(t)},getOptions(t){let s=this.items.length,e=this.isBoth()?this.first.rows+t:this.first+t;return{index:e,count:s,first:0===e,last:e===s-1,even:e%2==0,odd:e%2!=0}},getLoaderOptions(t){let s=this.loaderArr.length;return{loading:this.d_loading,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0}},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.element&&this.element.scrollTo(t)},scrollToIndex(t,s="auto"){const e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t=0)=>t<=this.d_numToleratedItems?0:t,r=(t,s,e)=>t*s+e,a=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:n(t[0]),cols:n(t[1])};s.rows===this.first.rows&&s.cols===this.first.cols||a(r(s.cols,o[1],l.left),r(s.rows,o[0],l.top))}else{const s=n(t);s!==this.first&&(i?a(r(s,o,l.left),0):a(0,r(s,o,l.top))),this.first=s.index}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=this.itemSize,a=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e}),h="to-end"===s;if("to-start"===s){if(i)n.first.rows-l.rows>t[0]?a(n.first.cols*r[1],(n.first.rows-1)*r[0]):n.first.cols-l.cols>t[1]&&a((n.first.cols-1)*r[1],n.first.rows*r[0]);else if(n.first-l>t){const t=(n.first-1)*r;o?a(t,0):a(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?a(n.first.cols*r[1],(n.first.rows+1)*r[0]):n.last.cols-l.cols<=t[1]+1&&a((n.first.cols+1)*r[1],n.first.rows*r[0]);else if(n.last-l<=t+1){const t=(n.first+1)*r;o?a(t,0):a(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=(t,s)=>Math.floor(t/(s||t));let o=this.first,l=0;if(this.element){const n=this.element.scrollTop,r=this.element.scrollLeft;if(t)o={rows:i(n,e[0]),cols:i(r,e[1])},l={rows:o.rows+this.numItemsInViewport.rows,cols:o.cols+this.numItemsInViewport.cols};else{o=i(s?r:n,e),l=o+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:o,last:l}}},elementRef(t){this.element=t},contentRef(t){this.content=t},spacerRef(t){this.spacer=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;if(t&&!this.d_loading){return this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>t.slice(this.first.cols,this.last.cols))):t.slice(this.first,this.last).map((t=>t))}return[]}}};const a=i("i",{class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"},null,-1);!function(t,s){void 0===s&&(s={});var e=s.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===e&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}("\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n will-change: scroll-position;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n contain: content;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n pointer-events: none;\n}\n.p-virtualscroller .p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.p-virtualscroller-loader.p-component-overlay {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n"),r.render=function(r,h,c,d,m,f){return c.disabled?(t(),s(o,{key:1},[e(r.$slots,"default"),e(r.$slots,"content",{items:c.items})],64)):(t(),s("div",{key:0,ref:f.elementRef,class:f.containerClass,style:c.style,onScroll:h[1]||(h[1]=(...t)=>f.onScroll&&f.onScroll(...t))},[e(r.$slots,"content",{styleClass:"p-virtualscroller-content",contentRef:f.contentRef,items:f.loadedItems,getItemOptions:f.getOptions},(()=>[i("div",{ref:f.contentRef,class:"p-virtualscroller-content"},[(t(!0),s(o,null,l(f.loadedItems,((t,s)=>e(r.$slots,"item",{key:s,item:t,options:f.getOptions(s)}))),128))],512)])),i("div",{ref:f.spacerRef,class:"p-virtualscroller-spacer"},null,512),m.d_loading?(t(),s("div",{key:0,class:f.loaderClass},[(t(!0),s(o,null,l(m.loaderArr,((t,s)=>e(r.$slots,"loader",{key:s,options:f.getLoaderOptions(s)},(()=>[a])))),128))],2)):n("",!0)],38))};export default r;
|
|
1
|
+
import{openBlock as t,createBlock as s,renderSlot as e,createVNode as i,Fragment as o,renderList as l,createCommentVNode as n}from"vue";var r={name:"VirtualScroller",emits:["update:numToleratedItems","scroll-index-change","lazy-load"],props:{items:{type:Array,default:null},itemSize:{type:[Number,Array],default:null},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},showLoader:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},style:null,class:null,disabled:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:null}},element:null,content:null,spacer:null,scrollTimeout:null,mounted(){this.init()},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()}},methods:{init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},getLast(t,s){return this.items?Math.min(s?this.items[0].length:this.items.length,t):0},calculateOptions(){const t=this.isBoth(),s=this.isHorizontal(),e=this.first,i=this.itemSize,o=this.getContentPadding(),l=this.element?this.element.offsetWidth-o.left:0,n=this.element?this.element.offsetHeight-o.top:0,r=(t,s)=>Math.ceil(t/(s||t)),a=t?{rows:r(n,i[0]),cols:r(l,i[1])}:r(s?l:n,i);let h=this.d_numToleratedItems||Math.ceil((t?a.rows:a)/2);const c=(t,s,e)=>this.getLast(t+s+(t<h?2:3)*h,e),d=t?{rows:c(e.rows,a.rows),cols:c(e.cols,a.cols,!0)}:c(e,a);this.d_numToleratedItems=h,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.last=d,this.numItemsInViewport=a,this.showLoader&&(this.$slots&&this.$slots.loader?this.loaderArr=Array.from({length:t?a.rows:a}):this.loaderArr=Array.from({length:1})),this.lazy&&this.$emit("lazy-load",{first:e,last:d})},getContentPadding(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(parseFloat(t.paddingLeft.slice(0,-2)),10),e=parseInt(parseFloat(t.paddingRight.slice(0,-2)),10),i=parseInt(parseFloat(t.paddingTop.slice(0,-2)),10),o=parseInt(parseFloat(t.paddingBottom.slice(0,-2)),10);return{left:s,right:e,top:i,bottom:o,x:s+e,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),s=this.isHorizontal(),e=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||e.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||e.offsetHeight}px`,l=(t,s)=>this.element.style[t]=s;t?(l("height",o),l("width",i)):s?l("width",i):l("height",o)}},setSpacerSize(){const t=this.items;if(this.spacer&&t){const s=this.isBoth(),e=this.isHorizontal(),i=this.itemSize,o=this.getContentPadding(),l=(t,s,e,i=0)=>this.spacer.style[t]=(s||[]).length*e+i+"px";s?(l("height",t[0],i[0],o.y),l("width",t[1],i[1],o.x)):e?l("width",t,i,o.x):l("height",t,i,o.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=this.content,o=t?t.first:this.first,l=this.itemSize,n=(t,s)=>t*s,r=(t=0,s=0)=>i.style.transform=`translate3d(${t}px, ${s}px, 0)`;if(s)r(n(o.cols,l[1]),n(o.rows,l[0]));else{const t=n(o,l);e?r(t,0):r(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t,s)=>t?t>s?t-s:t:0,r=(t,s)=>Math.floor(t/(s||t)),a=(t,s,e,i,o)=>t<=this.d_numToleratedItems?this.d_numToleratedItems:o?e-i-this.d_numToleratedItems:s+this.d_numToleratedItems-1,h=(t,s,e,i,o,l)=>t<=this.d_numToleratedItems?0:l?t<s?e:t-this.d_numToleratedItems:t>s?e:t-2*this.d_numToleratedItems,c=(t,s,e,i,o)=>{let l=s+i+2*this.d_numToleratedItems;return t>=this.d_numToleratedItems&&(l+=this.d_numToleratedItems+1),this.getLast(l,o)},d=n(s.scrollTop,l.top),m=n(s.scrollLeft,l.left);let f=0,p=this.last,u=!1;if(e){const t=this.lastScrollPos.top<=d,s=this.lastScrollPos.left<=m,e={rows:r(d,o[0]),cols:r(m,o[1])},i={rows:a(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:a(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)};f={rows:h(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:h(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)},p={rows:c(e.rows,f.rows,this.last.rows,this.numItemsInViewport.rows),cols:c(e.cols,f.cols,this.last.cols,this.numItemsInViewport.cols,!0)},u=f.rows!==this.first.rows||f.cols!==this.first.cols||p.rows!==this.last.rows||p.cols!==this.last.cols,this.lastScrollPos={top:d,left:m}}else{const t=i?m:d,s=this.lastScrollPos<=t,e=r(t,o);f=h(e,a(e,this.first,this.last,this.numItemsInViewport,s),this.first,this.last,this.numItemsInViewport,s),p=c(e,f,this.last,this.numItemsInViewport),u=f!==this.first||p!==this.last,this.lastScrollPos=t}return{first:f,last:p,isRangeChanged:u}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.lazy&&this.$emit("lazy-load",{first:s,last:e}),this.first=s,this.last=e,this.$emit("scroll-index-change",{first:s,last:e})}},onScroll(t){if(this.delay&&!this.lazy){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:s}=this.onScrollPositionChange(t);s&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),this.d_loading&&this.showLoader&&!this.lazy&&(this.d_loading=!1)}),this.delay)}else this.onScrollChange(t)},getOptions(t){let s=this.items.length,e=this.isBoth()?this.first.rows+t:this.first+t;return{index:e,count:s,first:0===e,last:e===s-1,even:e%2==0,odd:e%2!=0}},getLoaderOptions(t){let s=this.loaderArr.length;return{loading:this.d_loading,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0}},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.element&&this.element.scrollTo(t)},scrollToIndex(t,s="auto"){const e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t=0)=>t<=this.d_numToleratedItems?0:t,r=(t,s,e)=>t*s+e,a=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:n(t[0]),cols:n(t[1])};s.rows===this.first.rows&&s.cols===this.first.cols||a(r(s.cols,o[1],l.left),r(s.rows,o[0],l.top))}else{const s=n(t);s!==this.first&&(i?a(r(s,o,l.left),0):a(0,r(s,o,l.top))),this.first=s}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=this.itemSize,a=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e}),h="to-end"===s;if("to-start"===s){if(i)n.first.rows-l.rows>t[0]?a(n.first.cols*r[1],(n.first.rows-1)*r[0]):n.first.cols-l.cols>t[1]&&a((n.first.cols-1)*r[1],n.first.rows*r[0]);else if(n.first-l>t){const t=(n.first-1)*r;o?a(t,0):a(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?a(n.first.cols*r[1],(n.first.rows+1)*r[0]):n.last.cols-l.cols<=t[1]+1&&a((n.first.cols+1)*r[1],n.first.rows*r[0]);else if(n.last-l<=t+1){const t=(n.first+1)*r;o?a(t,0):a(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=(t,s)=>Math.floor(t/(s||t));let o=this.first,l=0;if(this.element){const n=this.element.scrollTop,r=this.element.scrollLeft;if(t)o={rows:i(n,e[0]),cols:i(r,e[1])},l={rows:o.rows+this.numItemsInViewport.rows,cols:o.cols+this.numItemsInViewport.cols};else{o=i(s?r:n,e),l=o+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:o,last:l}}},elementRef(t){this.element=t},contentRef(t){this.content=t},spacerRef(t){this.spacer=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;if(t&&!this.d_loading){return this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>t.slice(this.first.cols,this.last.cols))):t.slice(this.first,this.last).map((t=>t))}return[]}}};const a=i("i",{class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"},null,-1);!function(t,s){void 0===s&&(s={});var e=s.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===e&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}("\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n will-change: scroll-position;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n contain: content;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n pointer-events: none;\n}\n.p-virtualscroller .p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.p-virtualscroller-loader.p-component-overlay {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n"),r.render=function(r,h,c,d,m,f){return c.disabled?(t(),s(o,{key:1},[e(r.$slots,"default"),e(r.$slots,"content",{items:c.items})],64)):(t(),s("div",{key:0,ref:f.elementRef,class:f.containerClass,style:c.style,onScroll:h[1]||(h[1]=(...t)=>f.onScroll&&f.onScroll(...t))},[e(r.$slots,"content",{styleClass:"p-virtualscroller-content",contentRef:f.contentRef,items:f.loadedItems,getItemOptions:f.getOptions},(()=>[i("div",{ref:f.contentRef,class:"p-virtualscroller-content"},[(t(!0),s(o,null,l(f.loadedItems,((t,s)=>e(r.$slots,"item",{key:s,item:t,options:f.getOptions(s)}))),128))],512)])),i("div",{ref:f.spacerRef,class:"p-virtualscroller-spacer"},null,512),m.d_loading?(t(),s("div",{key:0,class:f.loaderClass},[(t(!0),s(o,null,l(m.loaderArr,((t,s)=>e(r.$slots,"loader",{key:s,options:f.getLoaderOptions(s)},(()=>[a])))),128))],2)):n("",!0)],38))};export default r;
|
|
@@ -368,7 +368,7 @@ this.primevue.virtualscroller = (function (vue) {
|
|
|
368
368
|
isHorizontal ? scrollTo(calculateCoord(newFirst, itemSize, contentPadding.left), 0) : scrollTo(0, calculateCoord(newFirst, itemSize, contentPadding.top));
|
|
369
369
|
}
|
|
370
370
|
|
|
371
|
-
this.first = newFirst
|
|
371
|
+
this.first = newFirst;
|
|
372
372
|
}
|
|
373
373
|
},
|
|
374
374
|
scrollInView(index, to, behavior = 'auto') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this.primevue=this.primevue||{},this.primevue.virtualscroller=function(t){"use strict";var s={name:"VirtualScroller",emits:["update:numToleratedItems","scroll-index-change","lazy-load"],props:{items:{type:Array,default:null},itemSize:{type:[Number,Array],default:null},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},showLoader:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},style:null,class:null,disabled:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:null}},element:null,content:null,spacer:null,scrollTimeout:null,mounted(){this.init()},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()}},methods:{init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},getLast(t,s){return this.items?Math.min(s?this.items[0].length:this.items.length,t):0},calculateOptions(){const t=this.isBoth(),s=this.isHorizontal(),e=this.first,i=this.itemSize,o=this.getContentPadding(),l=this.element?this.element.offsetWidth-o.left:0,n=this.element?this.element.offsetHeight-o.top:0,r=(t,s)=>Math.ceil(t/(s||t)),a=t?{rows:r(n,i[0]),cols:r(l,i[1])}:r(s?l:n,i);let h=this.d_numToleratedItems||Math.ceil((t?a.rows:a)/2);const c=(t,s,e)=>this.getLast(t+s+(t<h?2:3)*h,e),d=t?{rows:c(e.rows,a.rows),cols:c(e.cols,a.cols,!0)}:c(e,a);this.d_numToleratedItems=h,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.last=d,this.numItemsInViewport=a,this.showLoader&&(this.$slots&&this.$slots.loader?this.loaderArr=Array.from({length:t?a.rows:a}):this.loaderArr=Array.from({length:1})),this.lazy&&this.$emit("lazy-load",{first:e,last:d})},getContentPadding(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(parseFloat(t.paddingLeft.slice(0,-2)),10),e=parseInt(parseFloat(t.paddingRight.slice(0,-2)),10),i=parseInt(parseFloat(t.paddingTop.slice(0,-2)),10),o=parseInt(parseFloat(t.paddingBottom.slice(0,-2)),10);return{left:s,right:e,top:i,bottom:o,x:s+e,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),s=this.isHorizontal(),e=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||e.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||e.offsetHeight}px`,l=(t,s)=>this.element.style[t]=s;t?(l("height",o),l("width",i)):s?l("width",i):l("height",o)}},setSpacerSize(){const t=this.items;if(this.spacer&&t){const s=this.isBoth(),e=this.isHorizontal(),i=this.itemSize,o=this.getContentPadding(),l=(t,s,e,i=0)=>this.spacer.style[t]=(s||[]).length*e+i+"px";s?(l("height",t[0],i[0],o.y),l("width",t[1],i[1],o.x)):e?l("width",t,i,o.x):l("height",t,i,o.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=this.content,o=t?t.first:this.first,l=this.itemSize,n=(t,s)=>t*s,r=(t=0,s=0)=>i.style.transform=`translate3d(${t}px, ${s}px, 0)`;if(s)r(n(o.cols,l[1]),n(o.rows,l[0]));else{const t=n(o,l);e?r(t,0):r(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t,s)=>t?t>s?t-s:t:0,r=(t,s)=>Math.floor(t/(s||t)),a=(t,s,e,i,o)=>t<=this.d_numToleratedItems?this.d_numToleratedItems:o?e-i-this.d_numToleratedItems:s+this.d_numToleratedItems-1,h=(t,s,e,i,o,l)=>t<=this.d_numToleratedItems?0:l?t<s?e:t-this.d_numToleratedItems:t>s?e:t-2*this.d_numToleratedItems,c=(t,s,e,i,o)=>{let l=s+i+2*this.d_numToleratedItems;return t>=this.d_numToleratedItems&&(l+=this.d_numToleratedItems+1),this.getLast(l,o)},d=n(s.scrollTop,l.top),m=n(s.scrollLeft,l.left);let f=0,p=this.last,u=!1;if(e){const t=this.lastScrollPos.top<=d,s=this.lastScrollPos.left<=m,e={rows:r(d,o[0]),cols:r(m,o[1])},i={rows:a(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:a(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)};f={rows:h(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:h(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)},p={rows:c(e.rows,f.rows,this.last.rows,this.numItemsInViewport.rows),cols:c(e.cols,f.cols,this.last.cols,this.numItemsInViewport.cols,!0)},u=f.rows!==this.first.rows||f.cols!==this.first.cols||p.rows!==this.last.rows||p.cols!==this.last.cols,this.lastScrollPos={top:d,left:m}}else{const t=i?m:d,s=this.lastScrollPos<=t,e=r(t,o);f=h(e,a(e,this.first,this.last,this.numItemsInViewport,s),this.first,this.last,this.numItemsInViewport,s),p=c(e,f,this.last,this.numItemsInViewport),u=f!==this.first||p!==this.last,this.lastScrollPos=t}return{first:f,last:p,isRangeChanged:u}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.lazy&&this.$emit("lazy-load",{first:s,last:e}),this.first=s,this.last=e,this.$emit("scroll-index-change",{first:s,last:e})}},onScroll(t){if(this.delay&&!this.lazy){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:s}=this.onScrollPositionChange(t);s&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),this.d_loading&&this.showLoader&&!this.lazy&&(this.d_loading=!1)}),this.delay)}else this.onScrollChange(t)},getOptions(t){let s=this.items.length,e=this.isBoth()?this.first.rows+t:this.first+t;return{index:e,count:s,first:0===e,last:e===s-1,even:e%2==0,odd:e%2!=0}},getLoaderOptions(t){let s=this.loaderArr.length;return{loading:this.d_loading,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0}},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.element&&this.element.scrollTo(t)},scrollToIndex(t,s="auto"){const e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t=0)=>t<=this.d_numToleratedItems?0:t,r=(t,s,e)=>t*s+e,a=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:n(t[0]),cols:n(t[1])};s.rows===this.first.rows&&s.cols===this.first.cols||a(r(s.cols,o[1],l.left),r(s.rows,o[0],l.top))}else{const s=n(t);s!==this.first&&(i?a(r(s,o,l.left),0):a(0,r(s,o,l.top))),this.first=s.index}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=this.itemSize,a=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e}),h="to-end"===s;if("to-start"===s){if(i)n.first.rows-l.rows>t[0]?a(n.first.cols*r[1],(n.first.rows-1)*r[0]):n.first.cols-l.cols>t[1]&&a((n.first.cols-1)*r[1],n.first.rows*r[0]);else if(n.first-l>t){const t=(n.first-1)*r;o?a(t,0):a(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?a(n.first.cols*r[1],(n.first.rows+1)*r[0]):n.last.cols-l.cols<=t[1]+1&&a((n.first.cols+1)*r[1],n.first.rows*r[0]);else if(n.last-l<=t+1){const t=(n.first+1)*r;o?a(t,0):a(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=(t,s)=>Math.floor(t/(s||t));let o=this.first,l=0;if(this.element){const n=this.element.scrollTop,r=this.element.scrollLeft;if(t)o={rows:i(n,e[0]),cols:i(r,e[1])},l={rows:o.rows+this.numItemsInViewport.rows,cols:o.cols+this.numItemsInViewport.cols};else{o=i(s?r:n,e),l=o+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:o,last:l}}},elementRef(t){this.element=t},contentRef(t){this.content=t},spacerRef(t){this.spacer=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;if(t&&!this.d_loading){return this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>t.slice(this.first.cols,this.last.cols))):t.slice(this.first,this.last).map((t=>t))}return[]}}};const e=t.createVNode("i",{class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"},null,-1);return function(t,s){void 0===s&&(s={});var e=s.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===e&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}("\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n will-change: scroll-position;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n contain: content;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n pointer-events: none;\n}\n.p-virtualscroller .p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.p-virtualscroller-loader.p-component-overlay {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n"),s.render=function(s,i,o,l,n,r){return o.disabled?(t.openBlock(),t.createBlock(t.Fragment,{key:1},[t.renderSlot(s.$slots,"default"),t.renderSlot(s.$slots,"content",{items:o.items})],64)):(t.openBlock(),t.createBlock("div",{key:0,ref:r.elementRef,class:r.containerClass,style:o.style,onScroll:i[1]||(i[1]=(...t)=>r.onScroll&&r.onScroll(...t))},[t.renderSlot(s.$slots,"content",{styleClass:"p-virtualscroller-content",contentRef:r.contentRef,items:r.loadedItems,getItemOptions:r.getOptions},(()=>[t.createVNode("div",{ref:r.contentRef,class:"p-virtualscroller-content"},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(r.loadedItems,((e,i)=>t.renderSlot(s.$slots,"item",{key:i,item:e,options:r.getOptions(i)}))),128))],512)])),t.createVNode("div",{ref:r.spacerRef,class:"p-virtualscroller-spacer"},null,512),n.d_loading?(t.openBlock(),t.createBlock("div",{key:0,class:r.loaderClass},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(n.loaderArr,((i,o)=>t.renderSlot(s.$slots,"loader",{key:o,options:r.getLoaderOptions(o)},(()=>[e])))),128))],2)):t.createCommentVNode("",!0)],38))},s}(Vue);
|
|
1
|
+
this.primevue=this.primevue||{},this.primevue.virtualscroller=function(t){"use strict";var s={name:"VirtualScroller",emits:["update:numToleratedItems","scroll-index-change","lazy-load"],props:{items:{type:Array,default:null},itemSize:{type:[Number,Array],default:null},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},showLoader:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},style:null,class:null,disabled:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:null}},element:null,content:null,spacer:null,scrollTimeout:null,mounted(){this.init()},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()}},methods:{init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},getLast(t,s){return this.items?Math.min(s?this.items[0].length:this.items.length,t):0},calculateOptions(){const t=this.isBoth(),s=this.isHorizontal(),e=this.first,i=this.itemSize,o=this.getContentPadding(),l=this.element?this.element.offsetWidth-o.left:0,n=this.element?this.element.offsetHeight-o.top:0,r=(t,s)=>Math.ceil(t/(s||t)),a=t?{rows:r(n,i[0]),cols:r(l,i[1])}:r(s?l:n,i);let h=this.d_numToleratedItems||Math.ceil((t?a.rows:a)/2);const c=(t,s,e)=>this.getLast(t+s+(t<h?2:3)*h,e),d=t?{rows:c(e.rows,a.rows),cols:c(e.cols,a.cols,!0)}:c(e,a);this.d_numToleratedItems=h,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.last=d,this.numItemsInViewport=a,this.showLoader&&(this.$slots&&this.$slots.loader?this.loaderArr=Array.from({length:t?a.rows:a}):this.loaderArr=Array.from({length:1})),this.lazy&&this.$emit("lazy-load",{first:e,last:d})},getContentPadding(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(parseFloat(t.paddingLeft.slice(0,-2)),10),e=parseInt(parseFloat(t.paddingRight.slice(0,-2)),10),i=parseInt(parseFloat(t.paddingTop.slice(0,-2)),10),o=parseInt(parseFloat(t.paddingBottom.slice(0,-2)),10);return{left:s,right:e,top:i,bottom:o,x:s+e,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),s=this.isHorizontal(),e=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||e.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||e.offsetHeight}px`,l=(t,s)=>this.element.style[t]=s;t?(l("height",o),l("width",i)):s?l("width",i):l("height",o)}},setSpacerSize(){const t=this.items;if(this.spacer&&t){const s=this.isBoth(),e=this.isHorizontal(),i=this.itemSize,o=this.getContentPadding(),l=(t,s,e,i=0)=>this.spacer.style[t]=(s||[]).length*e+i+"px";s?(l("height",t[0],i[0],o.y),l("width",t[1],i[1],o.x)):e?l("width",t,i,o.x):l("height",t,i,o.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=this.content,o=t?t.first:this.first,l=this.itemSize,n=(t,s)=>t*s,r=(t=0,s=0)=>i.style.transform=`translate3d(${t}px, ${s}px, 0)`;if(s)r(n(o.cols,l[1]),n(o.rows,l[0]));else{const t=n(o,l);e?r(t,0):r(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t,s)=>t?t>s?t-s:t:0,r=(t,s)=>Math.floor(t/(s||t)),a=(t,s,e,i,o)=>t<=this.d_numToleratedItems?this.d_numToleratedItems:o?e-i-this.d_numToleratedItems:s+this.d_numToleratedItems-1,h=(t,s,e,i,o,l)=>t<=this.d_numToleratedItems?0:l?t<s?e:t-this.d_numToleratedItems:t>s?e:t-2*this.d_numToleratedItems,c=(t,s,e,i,o)=>{let l=s+i+2*this.d_numToleratedItems;return t>=this.d_numToleratedItems&&(l+=this.d_numToleratedItems+1),this.getLast(l,o)},d=n(s.scrollTop,l.top),m=n(s.scrollLeft,l.left);let f=0,p=this.last,u=!1;if(e){const t=this.lastScrollPos.top<=d,s=this.lastScrollPos.left<=m,e={rows:r(d,o[0]),cols:r(m,o[1])},i={rows:a(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:a(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)};f={rows:h(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:h(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)},p={rows:c(e.rows,f.rows,this.last.rows,this.numItemsInViewport.rows),cols:c(e.cols,f.cols,this.last.cols,this.numItemsInViewport.cols,!0)},u=f.rows!==this.first.rows||f.cols!==this.first.cols||p.rows!==this.last.rows||p.cols!==this.last.cols,this.lastScrollPos={top:d,left:m}}else{const t=i?m:d,s=this.lastScrollPos<=t,e=r(t,o);f=h(e,a(e,this.first,this.last,this.numItemsInViewport,s),this.first,this.last,this.numItemsInViewport,s),p=c(e,f,this.last,this.numItemsInViewport),u=f!==this.first||p!==this.last,this.lastScrollPos=t}return{first:f,last:p,isRangeChanged:u}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.lazy&&this.$emit("lazy-load",{first:s,last:e}),this.first=s,this.last=e,this.$emit("scroll-index-change",{first:s,last:e})}},onScroll(t){if(this.delay&&!this.lazy){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:s}=this.onScrollPositionChange(t);s&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),this.d_loading&&this.showLoader&&!this.lazy&&(this.d_loading=!1)}),this.delay)}else this.onScrollChange(t)},getOptions(t){let s=this.items.length,e=this.isBoth()?this.first.rows+t:this.first+t;return{index:e,count:s,first:0===e,last:e===s-1,even:e%2==0,odd:e%2!=0}},getLoaderOptions(t){let s=this.loaderArr.length;return{loading:this.d_loading,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0}},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.element&&this.element.scrollTo(t)},scrollToIndex(t,s="auto"){const e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t=0)=>t<=this.d_numToleratedItems?0:t,r=(t,s,e)=>t*s+e,a=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:n(t[0]),cols:n(t[1])};s.rows===this.first.rows&&s.cols===this.first.cols||a(r(s.cols,o[1],l.left),r(s.rows,o[0],l.top))}else{const s=n(t);s!==this.first&&(i?a(r(s,o,l.left),0):a(0,r(s,o,l.top))),this.first=s}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=this.itemSize,a=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e}),h="to-end"===s;if("to-start"===s){if(i)n.first.rows-l.rows>t[0]?a(n.first.cols*r[1],(n.first.rows-1)*r[0]):n.first.cols-l.cols>t[1]&&a((n.first.cols-1)*r[1],n.first.rows*r[0]);else if(n.first-l>t){const t=(n.first-1)*r;o?a(t,0):a(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?a(n.first.cols*r[1],(n.first.rows+1)*r[0]):n.last.cols-l.cols<=t[1]+1&&a((n.first.cols+1)*r[1],n.first.rows*r[0]);else if(n.last-l<=t+1){const t=(n.first+1)*r;o?a(t,0):a(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=(t,s)=>Math.floor(t/(s||t));let o=this.first,l=0;if(this.element){const n=this.element.scrollTop,r=this.element.scrollLeft;if(t)o={rows:i(n,e[0]),cols:i(r,e[1])},l={rows:o.rows+this.numItemsInViewport.rows,cols:o.cols+this.numItemsInViewport.cols};else{o=i(s?r:n,e),l=o+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:o,last:l}}},elementRef(t){this.element=t},contentRef(t){this.content=t},spacerRef(t){this.spacer=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;if(t&&!this.d_loading){return this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>t.slice(this.first.cols,this.last.cols))):t.slice(this.first,this.last).map((t=>t))}return[]}}};const e=t.createVNode("i",{class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"},null,-1);return function(t,s){void 0===s&&(s={});var e=s.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===e&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}("\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n will-change: scroll-position;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n contain: content;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n pointer-events: none;\n}\n.p-virtualscroller .p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.p-virtualscroller-loader.p-component-overlay {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n"),s.render=function(s,i,o,l,n,r){return o.disabled?(t.openBlock(),t.createBlock(t.Fragment,{key:1},[t.renderSlot(s.$slots,"default"),t.renderSlot(s.$slots,"content",{items:o.items})],64)):(t.openBlock(),t.createBlock("div",{key:0,ref:r.elementRef,class:r.containerClass,style:o.style,onScroll:i[1]||(i[1]=(...t)=>r.onScroll&&r.onScroll(...t))},[t.renderSlot(s.$slots,"content",{styleClass:"p-virtualscroller-content",contentRef:r.contentRef,items:r.loadedItems,getItemOptions:r.getOptions},(()=>[t.createVNode("div",{ref:r.contentRef,class:"p-virtualscroller-content"},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(r.loadedItems,((e,i)=>t.renderSlot(s.$slots,"item",{key:i,item:e,options:r.getOptions(i)}))),128))],512)])),t.createVNode("div",{ref:r.spacerRef,class:"p-virtualscroller-spacer"},null,512),n.d_loading?(t.openBlock(),t.createBlock("div",{key:0,class:r.loaderClass},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(n.loaderArr,((i,o)=>t.renderSlot(s.$slots,"loader",{key:o,options:r.getLoaderOptions(o)},(()=>[e])))),128))],2)):t.createCommentVNode("",!0)],38))},s}(Vue);
|
package/web-types.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
|
|
3
3
|
"framework": "vue",
|
|
4
4
|
"name": "PrimeVue",
|
|
5
|
-
"version": "3.
|
|
5
|
+
"version": "3.8.1",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
8
8
|
"types-syntax": "typescript",
|
|
@@ -209,6 +209,16 @@
|
|
|
209
209
|
"type": "string"
|
|
210
210
|
}
|
|
211
211
|
},
|
|
212
|
+
{
|
|
213
|
+
"name": "autoHighlight",
|
|
214
|
+
"default": false,
|
|
215
|
+
"doc-url": "https://primefaces.org/primevue/showcase/#/autocomplete",
|
|
216
|
+
"description": "Highlights automatically the first item of the dropdown to be selected.",
|
|
217
|
+
"value": {
|
|
218
|
+
"kind": "expression",
|
|
219
|
+
"type": "boolean"
|
|
220
|
+
}
|
|
221
|
+
},
|
|
212
222
|
{
|
|
213
223
|
"name": "multiple",
|
|
214
224
|
"default": "false",
|
|
@@ -3950,6 +3960,24 @@
|
|
|
3950
3960
|
"type": "object",
|
|
3951
3961
|
"description": "Row data to edit."
|
|
3952
3962
|
},
|
|
3963
|
+
{
|
|
3964
|
+
"name": "event.newData",
|
|
3965
|
+
"doc-url": "https://primefaces.org/primevue/showcase/#/datatable",
|
|
3966
|
+
"type": "object",
|
|
3967
|
+
"description": "New row data after editing."
|
|
3968
|
+
},
|
|
3969
|
+
{
|
|
3970
|
+
"name": "event.value",
|
|
3971
|
+
"doc-url": "https://primefaces.org/primevue/showcase/#/datatable",
|
|
3972
|
+
"type": "object",
|
|
3973
|
+
"description": "Field value of row data to edit."
|
|
3974
|
+
},
|
|
3975
|
+
{
|
|
3976
|
+
"name": "event.newValue",
|
|
3977
|
+
"doc-url": "https://primefaces.org/primevue/showcase/#/datatable",
|
|
3978
|
+
"type": "object",
|
|
3979
|
+
"description": "Field value of new row data after editing"
|
|
3980
|
+
},
|
|
3953
3981
|
{
|
|
3954
3982
|
"name": "event.field",
|
|
3955
3983
|
"doc-url": "https://primefaces.org/primevue/showcase/#/datatable",
|
|
@@ -4018,6 +4046,12 @@
|
|
|
4018
4046
|
"type": "object",
|
|
4019
4047
|
"description": "Row data to edit."
|
|
4020
4048
|
},
|
|
4049
|
+
{
|
|
4050
|
+
"name": "event.newData",
|
|
4051
|
+
"doc-url": "https://primefaces.org/primevue/showcase/#/datatable",
|
|
4052
|
+
"type": "object",
|
|
4053
|
+
"description": "New row data after editing."
|
|
4054
|
+
},
|
|
4021
4055
|
{
|
|
4022
4056
|
"name": "event.field",
|
|
4023
4057
|
"doc-url": "https://primefaces.org/primevue/showcase/#/datatable",
|
|
@@ -4033,9 +4067,9 @@
|
|
|
4033
4067
|
]
|
|
4034
4068
|
},
|
|
4035
4069
|
{
|
|
4036
|
-
"name": "
|
|
4070
|
+
"name": "row-edit-save",
|
|
4037
4071
|
"doc-url": "https://primefaces.org/primevue/showcase/#/datatable",
|
|
4038
|
-
"description": "Callback to invoke when
|
|
4072
|
+
"description": "Callback to invoke when row edit is saved.",
|
|
4039
4073
|
"arguments": [
|
|
4040
4074
|
{
|
|
4041
4075
|
"name": "event.originalEvent",
|
|
@@ -4049,6 +4083,12 @@
|
|
|
4049
4083
|
"type": "object",
|
|
4050
4084
|
"description": "Row data to edit."
|
|
4051
4085
|
},
|
|
4086
|
+
{
|
|
4087
|
+
"name": "event.newData",
|
|
4088
|
+
"doc-url": "https://primefaces.org/primevue/showcase/#/datatable",
|
|
4089
|
+
"type": "object",
|
|
4090
|
+
"description": "New row data after editing."
|
|
4091
|
+
},
|
|
4052
4092
|
{
|
|
4053
4093
|
"name": "event.field",
|
|
4054
4094
|
"doc-url": "https://primefaces.org/primevue/showcase/#/datatable",
|
|
@@ -4064,9 +4104,9 @@
|
|
|
4064
4104
|
]
|
|
4065
4105
|
},
|
|
4066
4106
|
{
|
|
4067
|
-
"name": "
|
|
4107
|
+
"name": "row-edit-cancel",
|
|
4068
4108
|
"doc-url": "https://primefaces.org/primevue/showcase/#/datatable",
|
|
4069
|
-
"description": "Callback to invoke when
|
|
4109
|
+
"description": "Callback to invoke when row edit is cancelled.",
|
|
4070
4110
|
"arguments": [
|
|
4071
4111
|
{
|
|
4072
4112
|
"name": "event.originalEvent",
|
|
@@ -4080,6 +4120,12 @@
|
|
|
4080
4120
|
"type": "object",
|
|
4081
4121
|
"description": "Row data to edit."
|
|
4082
4122
|
},
|
|
4123
|
+
{
|
|
4124
|
+
"name": "event.newData",
|
|
4125
|
+
"doc-url": "https://primefaces.org/primevue/showcase/#/datatable",
|
|
4126
|
+
"type": "object",
|
|
4127
|
+
"description": "New row data after editing."
|
|
4128
|
+
},
|
|
4083
4129
|
{
|
|
4084
4130
|
"name": "event.field",
|
|
4085
4131
|
"doc-url": "https://primefaces.org/primevue/showcase/#/datatable",
|
|
@@ -4977,6 +5023,11 @@
|
|
|
4977
5023
|
"name": "item",
|
|
4978
5024
|
"doc-url": "https://primefaces.org/primevue/showcase/#/dock",
|
|
4979
5025
|
"description": "Custom content for the item."
|
|
5026
|
+
},
|
|
5027
|
+
{
|
|
5028
|
+
"name": "icon",
|
|
5029
|
+
"doc-url": "https://primefaces.org/primevue/showcase/#/dock",
|
|
5030
|
+
"description": "Custom content for the item."
|
|
4980
5031
|
}
|
|
4981
5032
|
]
|
|
4982
5033
|
},
|
|
@@ -6385,6 +6436,16 @@
|
|
|
6385
6436
|
"kind": "expression",
|
|
6386
6437
|
"type": "boolean"
|
|
6387
6438
|
}
|
|
6439
|
+
},
|
|
6440
|
+
{
|
|
6441
|
+
"name": "diabled",
|
|
6442
|
+
"default": "false",
|
|
6443
|
+
"doc-url": "https://primefaces.org/primevue/showcase/#/inplace",
|
|
6444
|
+
"description": "When present, it specifies that the element should be disabled.",
|
|
6445
|
+
"value": {
|
|
6446
|
+
"kind": "expression",
|
|
6447
|
+
"type": "boolean"
|
|
6448
|
+
}
|
|
6388
6449
|
}
|
|
6389
6450
|
],
|
|
6390
6451
|
"events": [
|
|
@@ -6708,6 +6769,16 @@
|
|
|
6708
6769
|
"type": "number"
|
|
6709
6770
|
}
|
|
6710
6771
|
},
|
|
6772
|
+
{
|
|
6773
|
+
"name": "allowEmpty",
|
|
6774
|
+
"default": "true",
|
|
6775
|
+
"doc-url": "https://primefaces.org/primevue/showcase/#/inputnumber",
|
|
6776
|
+
"description": "Determines whether the input field is empty.",
|
|
6777
|
+
"value": {
|
|
6778
|
+
"kind": "expression",
|
|
6779
|
+
"type": "boolean"
|
|
6780
|
+
}
|
|
6781
|
+
},
|
|
6711
6782
|
{
|
|
6712
6783
|
"name": "inputStyle",
|
|
6713
6784
|
"default": "null",
|
|
@@ -8356,6 +8427,18 @@
|
|
|
8356
8427
|
"type": "object"
|
|
8357
8428
|
}
|
|
8358
8429
|
}
|
|
8430
|
+
],
|
|
8431
|
+
"events": [
|
|
8432
|
+
{
|
|
8433
|
+
"name": "show",
|
|
8434
|
+
"doc-url": "https://primefaces.org/primevue/showcase/#/overlaypanel",
|
|
8435
|
+
"description": "Callback to invoke before the overlay is shown."
|
|
8436
|
+
},
|
|
8437
|
+
{
|
|
8438
|
+
"name": "hide",
|
|
8439
|
+
"doc-url": "https://primefaces.org/primevue/showcase/#/overlaypanel",
|
|
8440
|
+
"description": "Callback to invoke before the overlay is hidden."
|
|
8441
|
+
}
|
|
8359
8442
|
]
|
|
8360
8443
|
},
|
|
8361
8444
|
{
|