@nextcloud/vue
Version:
Nextcloud vue components
2 lines (1 loc) • 4.65 kB
JavaScript
var y=require("../assets/index42.css");const o=require("./NcButton.cjs"),p=require("../chunks/l10n-46d0c1c0.cjs");require("../Directives/Tooltip.cjs");const i=require("@nextcloud/event-bus"),r=require("vue-material-design-icons/ArrowRight.vue"),l=require("../chunks/_plugin-vue2_normalizer-764a4c12.cjs"),u=require("floating-vue"),h=require("../Mixins/isMobile.cjs"),c=require("@nextcloud/browser-storage"),g=require("@vueuse/core"),a=require("splitpanes");require("splitpanes/dist/splitpanes.css");const d={name:"NcAppDetailsToggle",directives:{tooltip:u.VTooltip},components:{NcButton:o,ArrowRight:r},computed:{title(){return p.t("Go back to the list")}},beforeMount(){this.toggleAppNavigationButton(!0)},beforeDestroy(){this.toggleAppNavigationButton(!1)},methods:{toggleAppNavigationButton(t=!0){const e=document.querySelector(".app-navigation .app-navigation-toggle");e&&(e.style.display=t?"none":null,t===!0&&i.emit("toggle-navigation",{open:!1}))}}};var f=function(){var t=this,e=t._self._c;return e("NcButton",{directives:[{name:"tooltip",rawName:"v-tooltip",value:t.title,expression:"title"}],staticClass:"app-details-toggle",attrs:{"aria-label":t.title},scopedSlots:t._u([{key:"icon",fn:function(){return[e("ArrowRight",{attrs:{size:20}})]},proxy:!0}])})},m=[],z=l.normalizeComponent(d,f,m,!1,null,"5244e83e",null,null);const S=z.exports;const n=c.getBuilder("nextcloud").persist().build(),w={name:"NcAppContent",components:{NcAppDetailsToggle:S,Pane:a.Pane,Splitpanes:a.Splitpanes},mixins:[h],props:{allowSwipeNavigation:{type:Boolean,default:!0},listSize:{type:Number,default:20},listMinWidth:{type:Number,default:15},listMaxWidth:{type:Number,default:40},paneConfigKey:{type:String,default:""},showDetails:{type:Boolean,default:!0},pageHeading:{type:String,default:null}},emits:["update:showDetails","resize:list"],data(){return{contentHeight:0,hasList:!1,swiping:{},listPaneSize:this.restorePaneConfig()}},computed:{paneConfigID(){if(this.paneConfigKey!=="")return`pane-list-size-${this.paneConfigKey}`;try{return`pane-list-size-${appName}`}catch{return console.info("[INFO] AppContent:","falling back to global nextcloud pane config"),"pane-list-size-nextcloud"}},detailsPaneSize(){return this.listPaneSize?100-this.listPaneSize:this.paneDefaults.details.size},paneDefaults(){return{list:{size:this.listSize,min:this.listMinWidth,max:this.listMaxWidth},details:{size:100-this.listSize,min:100-this.listMaxWidth,max:100-this.listMinWidth}}}},updated(){this.checkListSlot()},mounted(){this.allowSwipeNavigation&&(this.swiping=g.useSwipe(this.$el,{onSwipeEnd:this.handleSwipe})),this.checkListSlot(),this.restorePaneConfig()},methods:{handleSwipe(t,e){Math.abs(this.swiping.lengthX)>70&&(this.swiping.coordsStart.x<300/2&&e==="right"?i.emit("toggle-navigation",{open:!0}):this.swiping.coordsStart.x<300*1.5&&e==="left"&&i.emit("toggle-navigation",{open:!1}))},handlePaneResize(t){const e=parseInt(t[0].size,10);n.setItem(this.paneConfigID,JSON.stringify(e)),this.listPaneSize=e,this.$emit("resize:list",{size:e}),console.debug("AppContent pane config",e)},checkListSlot(){const t=!!this.$slots.list;this.hasList!==t&&(this.hasList=t)},restorePaneConfig(){const t=parseInt(n.getItem(this.paneConfigID),10);if(!isNaN(t)&&t!==this.listPaneSize)return console.debug("AppContent pane config",t),this.listPaneSize=t,t},hideDetails(){this.$emit("update:showDetails",!1)}}};var v=function(){var t=this,e=t._self._c;return e("main",{staticClass:"app-content no-snapper",class:{"app-content--has-list":t.hasList},attrs:{id:"app-content-vue"}},[t.pageHeading?e("h1",{staticClass:"hidden-visually"},[t._v(" "+t._s(t.pageHeading)+" ")]):t._e(),t.hasList?[t.isMobile?e("div",{staticClass:"app-content-wrapper app-content-wrapper--mobile",class:t.showDetails?"app-content-wrapper--show-details":"app-content-wrapper--show-list"},[t.hasList&&t.showDetails?e("NcAppDetailsToggle",{nativeOn:{click:function(s){return s.stopPropagation(),s.preventDefault(),t.hideDetails.apply(null,arguments)}}}):t._e(),t._t("list"),t._t("default")],2):e("div",{staticClass:"app-content-wrapper"},[e("Splitpanes",{staticClass:"default-theme",on:{resized:t.handlePaneResize}},[e("Pane",{staticClass:"splitpanes__pane-list",attrs:{size:t.listPaneSize||t.paneDefaults.list.size,"min-size":t.paneDefaults.list.min,"max-size":t.paneDefaults.list.max}},[t._t("list")],2),e("Pane",{staticClass:"splitpanes__pane-details",attrs:{size:t.detailsPaneSize,"min-size":t.paneDefaults.details.min,"max-size":t.paneDefaults.details.max}},[t._t("default")],2)],1)],1)]:t._t("default")],2)},C=[],D=l.normalizeComponent(w,v,C,!1,null,"38aa7204",null,null);const x=D.exports;module.exports=x;