1"use strict";(self["webpackChunkclient"]=self["webpackChunkclient"]||[]).push([[3558],{53558:function(t,e,s){s.r(e),s.d(e,{default:function(){return A}});var i=s(20641),a=s(90033),n=s(53751);const o={class:"card mb-4"},u={class:"card-content"},l={class:"is-flex is-align-items-center"},c={class:""},r={class:"title is-6 mb-1"},h={class:"help"},g={key:0,class:"auto-save-indicator mb-5"},d={class:"auto-save-content"};function m(t,e,s,m,v,p){const S=(0,i.g2)("b-loading"),f=(0,i.g2)("b-switch"),b=(0,i.g2)("font-awesome-icon");return(0,i.uX)(),(0,i.CE)("div",null,[(0,i.bF)(S,{modelValue:v.isLoading,"onUpdate:modelValue":e[0]||(e[0]=t=>v.isLoading=t),"is-full-page":!1},null,8,["modelValue"]),(0,i.Lk)("div",o,[(0,i.Lk)("div",u,[(0,i.Lk)("div",l,[(0,i.bF)(f,{modelValue:v.settings.isActive,"onUpdate:modelValue":[e[1]||(e[1]=t=>v.settings.isActive=t),e[2]||(e[2]=e=>t.autoSaveSetting("isActive",e,"projectManagement"))],disabled:v.isLoading||t.isAutoSaving,type:"is-success"},null,8,["modelValue","disabled"]),(0,i.Lk)("div",c,[(0,i.Lk)("h3",r,(0,a.v_)(t.$t("Enable Project Management")),1),(0,i.Lk)("p",h,(0,a.v_)(t.$t("Allow members to create and manage projects with tasks, boards, and goals")),1)])])])]),(0,i.bF)(n.eB,{name:"fade"},{default:(0,i.k6)(()=>[t.isAutoSaving?((0,i.uX)(),(0,i.CE)("div",g,[(0,i.Lk)("div",d,[(0,i.bF)(b,{icon:"fa-light fa-circle-notch",spin:"",class:"mr-2"}),(0,i.Lk)("span",null,(0,a.v_)(t.$t("Saving"))+"...",1)])])):(0,i.Q3)("",!0)]),_:1})])}var v=s(40834),p=s(71993),S={name:"ProjectsModuleConfig",mixins:[p.A],data(){return{isLoading:!1,settings:{isActive:!1}}},computed:{...(0,v.L8)(["tenant"])},created(){this.loadSettings()},methods:{loadSettings(){this.tenant&&this.tenant.settingFeatures&&this.tenant.settingFeatures.projectManagement&&(this.settings={isActive:!1,...this.tenant.settingFeatures.projectManagement})}}},f=s(66262);const b=(0,f.A)(S,[["render",m],["__scopeId","data-v-66edcf05"]]);var A=b},71993:function(t,e){e.A={data(){return{autoSaveTimeout:null,isAutoSaving:!1}},methods:{autoSaveSetting(t,e,s){this.settings[t]=e,this.isAutoSaving=!0,this.autoSaveTimeout&&clearTimeout(this.autoSaveTimeout),this.autoSaveTimeout=setTimeout(()=>{this.performAutoSave(s)},1200)},performAutoSave(t){this.isAutoSaving=!0;const e={settingFeatures:{...this.tenant.settingFeatures,[t]:this.settings}};this.$http.plain.patch(`/tenants/${this.tenant.id}`,e).then(t=>{this.$buefy.toast.open({duration:3e3,message:this.$t("Settings saved automatically"),type:"is-success",position:"is-bottom-right"}),this.$store.commit("setTenant",t.data),this.$store.state.spaces[t.data.slug].tenant=t.data}).catch(t=>{console.log(t),this.$buefy.toast.open({duration:5e3,message:this.$t("Error saving settings"),type:"is-danger",position:"is-bottom-right"})}).finally(()=>{this.isAutoSaving=!1})},autoSaveMultipleGroups(t,e,s,i){this[s][t]=e,this.isAutoSaving=!0,this.autoSaveTimeout&&clearTimeout(this.autoSaveTimeout),this.autoSaveTimeout=setTimeout(()=>{this.performMultiGroupSave(i)},800)},performMultiGroupSave(t){this.isAutoSaving=!0;const e={settingFeatures:{...this.tenant.settingFeatures,...t}};this.$http.plain.patch(`/tenants/${this.tenant.id}`,e).then(t=>{this.$buefy.toast.open({duration:3e3,message:this.$t("Settings saved automatically"),type:"is-success",position:"is-bottom-right"}),this.$store.commit("setTenant",t.data),this.$store.state.spaces[t.data.slug].tenant=t.data}).catch(t=>{console.log(t),this.$buefy.toast.open({duration:5e3,message:this.$t("Error saving settings"),type:"is-danger",position:"is-bottom-right"})}).finally(()=>{this.isAutoSaving=!1})}},beforeUnmount(){this.autoSaveTimeout&&clearTimeout(this.autoSaveTimeout)}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.