@nextcloud/vue
Version:
Nextcloud vue components
2 lines (1 loc) • 1.75 kB
JavaScript
var p=require("../assets/index27.css");const a=require("../chunks/NcInputConfirmCancel-77c2b04f.cjs"),i=require("./NcLoadingIcon.cjs"),l=require("../chunks/_plugin-vue2_normalizer-764a4c12.cjs");const c={name:"NcAppNavigationNewItem",components:{NcInputConfirmCancel:a.NcInputConfirmCancel,NcLoadingIcon:i},props:{name:{type:String,required:!0},icon:{type:String,default:""},loading:{type:Boolean,default:!1},editLabel:{type:String,default:""},editPlaceholder:{type:String,default:""}},emits:["new-item"],data(){return{newItemValue:"",newItemActive:!1}},methods:{handleNewItem(){this.loading||(this.newItemActive=!0,this.$nextTick(()=>{this.$refs.newItemInput.focusInput()}))},cancelNewItem(){this.newItemActive=!1},handleNewItemDone(){this.$emit("new-item",this.newItemValue),this.newItemValue="",this.newItemActive=!1}}};var o=function(){var e=this,t=e._self._c;return t("li",{staticClass:"app-navigation-entry",class:{"app-navigation-entry--newItemActive":e.newItemActive}},[t("button",{staticClass:"app-navigation-entry-button",on:{click:e.handleNewItem}},[t("span",{staticClass:"app-navigation-entry-icon",class:{[e.icon]:!e.loading}},[e.loading?t("NcLoadingIcon"):e._t("icon")],2),e.newItemActive?e._e():t("span",{staticClass:"app-navigation-new-item__name",attrs:{title:e.name}},[e._v(" "+e._s(e.name)+" ")]),e.newItemActive?t("span",{staticClass:"newItemContainer"},[t("NcInputConfirmCancel",{ref:"newItemInput",attrs:{placeholder:e.editPlaceholder!==""?e.editPlaceholder:e.name},on:{cancel:e.cancelNewItem,confirm:e.handleNewItemDone},model:{value:e.newItemValue,callback:function(n){e.newItemValue=n},expression:"newItemValue"}})],1):e._e()])])},s=[],m=l.normalizeComponent(c,o,s,!1,null,null,null,null);const r=m.exports;module.exports=r;