primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 2.41 kB
JavaScript
this.primevue=this.primevue||{},this.primevue.dataviewlayoutoptions=function(e,t,i,o){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=r(e),s=r(t),a={name:"DataViewLayoutOptions",extends:{name:"BaseDataViewLayoutOptions",extends:r(i).default,props:{modelValue:String},css:{classes:{root:"p-dataview-layout-options p-selectbutton p-buttonset",listButton:function(e){return["p-button p-button-icon-only",{"p-highlight":"list"===e.props.modelValue}]},gridButton:function(e){return["p-button p-button-icon-only",{"p-highlight":"grid"===e.props.modelValue}]}}},provide:function(){return{$parentInstance:this}}},emits:["update:modelValue"],data:function(){return{isListButtonPressed:!1,isGridButtonPressed:!1}},methods:{changeLayout:function(e){this.$emit("update:modelValue",e),"list"===e?(this.isListButtonPressed=!0,this.isGridButtonPressed=!1):"grid"===e&&(this.isGridButtonPressed=!0,this.isListButtonPressed=!1)}},computed:{listViewAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.listView:void 0},gridViewAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.gridView:void 0}},components:{BarsIcon:n.default,ThLargeIcon:s.default}},u=["aria-label","aria-pressed"],l=["aria-label","aria-pressed"];return a.render=function(e,t,i,r,n,s){var a=o.resolveComponent("BarsIcon"),c=o.resolveComponent("ThLargeIcon");return o.openBlock(),o.createElementBlock("div",o.mergeProps({class:e.cx("root"),role:"group"},e.ptm("root")),[o.createElementVNode("button",o.mergeProps({"aria-label":s.listViewAriaLabel,class:e.cx("listButton"),onClick:t[0]||(t[0]=function(e){return s.changeLayout("list")}),type:"button","aria-pressed":n.isListButtonPressed},e.ptm("listButton")),[o.renderSlot(e.$slots,"listicon",{},(function(){return[o.createVNode(a,o.normalizeProps(o.guardReactiveProps(e.ptm("listIcon"))),null,16)]}))],16,u),o.createElementVNode("button",o.mergeProps({"aria-label":s.gridViewAriaLabel,class:e.cx("gridButton"),onClick:t[1]||(t[1]=function(e){return s.changeLayout("grid")}),type:"button","aria-pressed":n.isGridButtonPressed},e.ptm("gridButton")),[o.renderSlot(e.$slots,"gridicon",{},(function(){return[o.createVNode(c,o.normalizeProps(o.guardReactiveProps(e.ptm("gridIcon"))),null,16)]}))],16,l)],16)},a}(primevue.icons.bars,primevue.icons.thlarge,primevue.basecomponent,Vue);