primevue
Version:
PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc
2 lines (1 loc) • 2.2 kB
JavaScript
this.primevue=this.primevue||{},this.primevue.dataviewlayoutoptions=function(e,t,i,r,o){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=n(e),a=n(t),u={name:"DataViewLayoutOptions",extends:{name:"BaseDataViewLayoutOptions",extends:n(i).default,props:{modelValue:String},style:n(r).default,provide:function(){return{$parentInstance:this}}},inheritAttrs:!1,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:s.default,ThLargeIcon:a.default}},l=["aria-label","aria-pressed"],c=["aria-label","aria-pressed"];return u.render=function(e,t,i,r,n,s){var a=o.resolveComponent("BarsIcon"),u=o.resolveComponent("ThLargeIcon");return o.openBlock(),o.createElementBlock("div",o.mergeProps({class:e.cx("root"),role:"group"},e.ptmi("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,l),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(u,o.normalizeProps(o.guardReactiveProps(e.ptm("gridIcon"))),null,16)]}))],16,c)],16)},u}(primevue.icons.bars,primevue.icons.thlarge,primevue.basecomponent,primevue.dataviewlayoutoptions.style,Vue);