2 lines
5.5 KiB
JavaScript
2 lines
5.5 KiB
JavaScript
import{d as w,m as S,u as C,r as s,c as p,o as u,a as b,b as l,e as t,t as x,n as U,f as B,g,h as F,w as a,i as y,j as R,s as T,k as D,l as A,p as q}from"./index-KpQc9ZlS.js";import{_ as E}from"./DynamicMenu.vue_vue_type_script_setup_true_lang-nOliheZx.js";const I={key:0,class:"d-flex align-end ga-2"},G={key:0,class:"text-error"},H={key:0,class:"text-caption"},M=w({__name:"FormInput",props:S({label:{},required:{type:Boolean},description:{},width:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(m){const c=C(m,"value"),o=m;return(_,i)=>{const n=s("v-text-field");return u(),p("div",null,[o.label?(u(),p("div",I,[t("div",null,[t("span",null,x(o.label),1),o.required?(u(),p("span",G,"*")):b("",!0)]),o.description?(u(),p("span",H,x(o.description),1)):b("",!0)])):b("",!0),l(n,{"model-value":c.value,"onUpdate:modelValue":i[0]||(i[0]=f=>c.value=f),class:U(`w-${o.width??100}`),"hide-details":"",placeholder:o.label},null,8,["model-value","class","placeholder"])])}}}),J={key:0,class:"d-flex align-end ga-2"},L={key:0,class:"text-error"},O={key:0,class:"text-caption"},Q=w({__name:"FormTextarea",props:S({label:{},required:{type:Boolean},description:{},width:{},rows:{default:5}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(m){const c=C(m,"value"),o=m;return(_,i)=>{const n=s("v-textarea");return u(),p("div",null,[o.label?(u(),p("div",J,[t("div",null,[t("span",null,x(o.label),1),o.required?(u(),p("span",L,"*")):b("",!0)]),o.description?(u(),p("span",O,x(o.description),1)):b("",!0)])):b("",!0),l(n,{"model-value":c.value,"onUpdate:modelValue":i[0]||(i[0]=f=>c.value=f),class:U(`w-${o.width??100}`),"hide-details":"",rows:o.rows,placeholder:o.label},null,8,["model-value","class","rows","placeholder"])])}}}),W={class:"d-flex align-center ga-4 mb-4"},X={class:"mb-4"},Y={class:"d-flex ga-2"},Z={class:"d-flex align-center"},ee=w({__name:"ProjectCreateFlow",props:{dialog:{},dialogModifiers:{}},emits:["update:dialog"],setup(m){const c=C(m,"dialog"),o=B(),_=g(""),i=g(""),n=g("");async function f(){console.log(_.value),await o.create({name:_.value,description:i.value,key:n.value})}return(P,e)=>{const r=s("v-btn"),k=s("v-icon"),h=s("v-list-item"),$=s("v-list"),j=s("v-form"),V=s("v-sheet");return u(),F(V,{border:"",class:"pa-4"},{default:a(()=>[t("div",W,[l(r,{variant:"text",onClick:e[0]||(e[0]=v=>c.value=!1),icon:"mdi-close"})]),t("div",X,[e[7]||(e[7]=t("div",{class:"text-h6"},"Project type",-1)),l($,{lines:"two"},{default:a(()=>[l(h,{border:"",rounded:"",onClick:e[1]||(e[1]=v=>console.log("Kanban"))},{default:a(()=>[t("div",Y,[t("div",Z,[l(k,{size:"64",color:"primary"},{default:a(()=>e[5]||(e[5]=[y("mdi-paper-roll-outline")])),_:1})]),e[6]||(e[6]=t("div",null,[t("div",{class:"text-h6"},"Kanban"),t("div",{class:"text-body-2"}," Kanban is all about helping teams visualize their work, limit work currently in progress, and maximize efficiency. ")],-1))])]),_:1})]),_:1})]),e[9]||(e[9]=t("div",{class:"mb-4"},[t("div",{class:"text-h6"},"Project details"),t("div",{class:"text-caption"},[y(" Required fields are marked with an asterisk "),t("span",{class:"text-error text-body-2"},"*")])],-1)),l(j,{class:"d-flex flex-column ga-4",onSubmit:R(f,["prevent"])},{default:a(()=>[l(M,{value:_.value,"onUpdate:value":e[2]||(e[2]=v=>_.value=v),label:"Name",required:!0},null,8,["value"]),l(M,{value:n.value,"onUpdate:value":e[3]||(e[3]=v=>n.value=v),label:"Key",required:!0,description:"prefix for your project",width:"50"},null,8,["value"]),l(Q,{value:i.value,"onUpdate:value":e[4]||(e[4]=v=>i.value=v),label:"Description",rows:2},null,8,["value"]),l(r,{type:"submit",class:"align-self-start",density:"comfortable",color:"primary"},{default:a(()=>e[8]||(e[8]=[y("create")])),_:1})]),_:1})]),_:1})}}}),te={class:"d-flex align-center justify-space-between mb-4"},oe={class:"d-flex ga-4 w-100 w-md-25"},le={class:"d-flex ga-2"},ne=w({__name:"ProjectRootView",setup(m){const c=B(),{projects:o}=T(c),_=[{title:"Name",key:"name",width:400},{title:"Key",key:"key"},{title:"Actions",key:"actions",width:100,align:"end",sortable:!1}],i=[{id:1,title:"settings",icon:"mdi-cog",click:f},{id:2,type:"divider"},{id:3,title:"delete",icon:"mdi-trash-can",color:"error",click:P}],n=g(!1);function f(e){console.log("d",e)}async function P(e){console.log("p",e),e&&await c.remove(e)}return D(async()=>{}),(e,r)=>{const k=s("v-btn"),h=s("v-dialog"),$=s("v-text-field"),j=s("v-avatar"),V=s("router-link"),v=s("v-hover"),N=s("v-data-table");return u(),p("div",null,[t("div",te,[r[3]||(r[3]=t("div",{class:"text-h5 font-weight-bold"},"Projects",-1)),l(h,{transition:"dialog-bottom-transition","max-width":"500",modelValue:n.value,"onUpdate:modelValue":r[1]||(r[1]=d=>n.value=d)},{activator:a(({props:d})=>[l(k,q(d,{density:"comfortable"}),{default:a(()=>r[2]||(r[2]=[t("span",{class:"text-body-2"},"Create project",-1)])),_:2},1040)]),default:a(()=>[l(ee,{dialog:n.value,"onUpdate:dialog":r[0]||(r[0]=d=>n.value=d)},null,8,["dialog"])]),_:1},8,["modelValue"])]),t("div",oe,[l($,{disabled:!0,"prepend-inner-icon":"mdi-magnify",placeholder:"search projects"})]),l(N,{headers:_,hover:"","hide-default-footer":"",class:"border rounded",density:"compact",items:A(o)},{"item.name":a(({item:d})=>[t("div",le,[l(j,{color:"blue",border:"",rounded:"",size:"25"}),l(v,null,{default:a(({isHovering:z,props:K})=>[l(V,q(K,{class:["text-primary text-body-1 text-blue",{"text-decoration-none":!z}],to:`/projects/${d.key}/issues`}),{default:a(()=>[y(x(d.name),1)]),_:2},1040,["class","to"])]),_:2},1024)])]),"item.actions":a(({item:d})=>[t("span",null,x(d.id),1),l(E,{menu:i,"item-id":d.id},null,8,["item-id"])]),_:2},1032,["items"])])}}});export{ne as default};
|