1"use strict";(self["webpackChunkclient"]=self["webpackChunkclient"]||[]).push([[993,1223],{1448:function(e,t,s){function i(e,t,s,i){const a=t-e.bottom;return a>=s||e.top<s?i:i&&i.indexOf("left")>=0?"is-top-left":"is-top-right"}t.A={data(){return{dropdownAutoPositions:{},dropdownAutoPositionMenuHeight:320}},methods:{updateDropdownAutoPosition(e,t,s){if(!t)return;let a=this.$refs[e];Array.isArray(a)&&(a=a[0]);const n=a&&a.$el?a.$el:a;n&&"function"===typeof n.getBoundingClientRect&&(this.dropdownAutoPositions[e]=i(n.getBoundingClientRect(),window.innerHeight,this.dropdownAutoPositionMenuHeight,s))}}}},11223:function(e,t,s){s.r(t),s.d(t,{default:function(){return Ns}});var i=s(20641),a=s(90033),n=s(53751);const l={class:"discuss-show"},o={class:"o-minwidth"},d={class:"o-comment-author"},r={class:"is-size-7"},c=["onClick"],u={class:"icon"},h={class:"icon-text"},m={class:"is-small mr-2"},g={class:"icon-text"},p={class:"is-small mr-2"},k={key:1,class:"level is-mobile mb-4"},b={class:"level-left"},f={class:"icon-text"},y={class:"icon is-small"},v={class:"level-right is-gap-0"},C=["onClick"],S={class:"icon is-small"},w={class:"icon-text"},D={class:"is-small mr-2"},L={class:"icon-text"},T={class:"is-small mr-2"},M={class:"o-comment mainPostComment pb-4"},E={class:"o-comment-wrap"},$={class:"o-comment-content"},x={class:"o-comment-header"},F={key:0,class:"mobile-issue-header mt-3"},I={class:"mobile-issue-row-1 mb-4"},_={class:"mobile-issue-row-2"},X=["onClick"],A={class:"icon is-small"},P=["onClick"],j={class:"icon-text"},U={class:"icon-text"},W={class:"icon is-small"},V=["onClick"],B={class:"icon is-small"},Q={class:"mobile-issue-group"},N={class:"icon-text"},K={class:"icon is-small mr-0"},G={class:"mobile-issue-assignee ml-1"},z={class:"is-flex is-align-items-center is-clickable"},O={class:"ml-1 is-size-7"},R={class:"icon is-small"},H={class:"ml-1 is-size-7"},Y={class:"assignee-toggle-panel"},Z={class:"assignee-toggle-search"},q={class:"assignee-toggle-list"},J=["onClick"],ee={class:"pl-2 is-flex-grow-1 text-overflow-trim"},te={key:0},se={key:0,class:"icon is-small has-text-primary"},ie={key:0,class:"assignee-toggle-empty"},ae={key:1,class:"is-flex is-align-items-center"},ne={class:"ml-1 is-size-7"},le={class:"icon is-small"},oe={class:"ml-1 is-size-7"},de={key:1,class:"level is-mobile"},re={class:"level-left mt-2"},ce={class:"o-comment-author"},ue={class:"is-size-7 has-text-grey"},he={class:"level-right"},me={class:"issue_controls"},ge={class:"assignee_column is-flex-grow-1 mr-1"},pe={class:"is-flex is-align-items-center is-clickable"},ke={key:0,class:"assignee-avatars-inline"},be={key:0,class:"assignee-overflow-inline"},fe={key:1,class:"icon is-small"},ye={class:"ml-1"},ve={key:2,class:"ml-1 has-text-grey is-size-7"},Ce={class:"assignee-toggle-panel"},Se={class:"assignee-toggle-search"},we={class:"assignee-toggle-list"},De=["onClick"],Le={class:"pl-2 is-flex-grow-1 text-overflow-trim"},Te={key:0},Me={key:0,class:"icon is-small has-text-primary"},Ee={key:0,class:"assignee-toggle-empty"},$e={key:1,class:"is-flex is-align-items-center"},xe={key:0,class:"assignee-avatars-inline"},Fe={key:0,class:"assignee-overflow-inline"},Ie={key:1,class:"icon is-small"},_e={class:"ml-1"},Xe=["onClick"],Ae={class:"icon is-small"},Pe=["onClick"],je={class:"icon-text"},Ue={class:"is-hidden-mobile"},We={class:"icon-text"},Ve={key:3,class:"button is-small is-rounded is-light is-static"},Be={class:"icon-text"},Qe=["onClick"],Ne={class:"icon is-small"},Ke={class:"icon is-small"},Ge={class:"discussion-content"},ze={key:1,class:"my-4"},Oe={key:3,class:"o-discuss-gallery mt-3"},Re=["src","onClick"],He={key:4,class:"o-discuss-gallery mt-3"},Ye=["src","onClick"],Ze={key:5,class:"mt-3"},qe=["href"],Je={class:"mt-3"},et={class:"is-flex is-align-items-center mt-2",style:{gap:"8px"}},tt={key:8,class:"mt-4"},st={class:"tags"},it={class:"icon is-small mr-1"},at={key:1,class:"tag is-light is-rounded"},nt={class:"is-flex is-align-items-center mb-2"},lt={class:"has-text-weight-semibold is-size-7"},ot={class:"tags mb-0"},dt={class:"icon is-small mr-1"},rt={key:10,ref:"assigneesSection",class:"assignees-section mt-5"},ct={class:"is-flex is-align-items-center is-justify-content-space-between mb-3"},ut={class:"is-flex is-align-items-center"},ht={class:"icon has-text-grey mr-2"},mt={class:"has-text-weight-semibold"},gt={key:0,class:"ml-2 is-size-7 has-text-grey"},pt={class:"button is-small is-rounded is-light"},kt={class:"icon is-small"},bt={class:"assignee-toggle-panel"},ft={class:"assignee-toggle-search"},yt={class:"assignee-toggle-list"},vt=["onClick"],Ct={class:"pl-2 is-flex-grow-1 text-overflow-trim"},St={key:0},wt={key:0,class:"icon is-small has-text-primary"},Dt={key:0,class:"assignee-toggle-empty"},Lt={key:0,class:"assignee-list"},Tt=["onClick"],Mt={key:0,class:"icon has-text-success"},Et={class:"is-flex-grow-1"},$t={key:0,class:"is-size-7 has-text-grey ml-2"},xt=["onClick"],Ft={class:"icon is-small has-text-grey"},It={key:1,class:"has-text-grey is-size-7"},_t={class:"subtasks-section mt-5"},Xt={class:"subtasks-header"},At={class:"has-text-weight-semibold"},Pt={key:0,class:"subtask-count ml-2"},jt={class:"icon is-small has-text-grey"},Ut={key:0,class:"subtask-progress-wrapper"},Wt={key:0,class:"subtask-drop-indicator"},Vt=["draggable","data-index","onDragstart"],Bt=["checked","disabled","onChange"],Qt={class:"checkmark"},Nt=["onClick","innerHTML"],Kt={key:2,class:"subtask-drag-handle"},Gt=["onClick"],zt={key:0,class:"subtask-drop-indicator"},Ot={key:1,class:"subtask-empty"},Rt={class:"has-text-grey-light"},Ht={key:1,class:"subtask-add-wrapper"},Yt={class:"subtask-add-input-row"},Zt={class:"subtask-add-icon"},qt={key:0,class:"level is-mobile mt-4 mb-0"},Jt={class:"level-right pr-3"},es={class:"level-item"},ts={class:"reactionButton iconComment"},ss={class:"is-size-6 has-text-weight-semibold"},is={style:{"flex-shrink":"0",width:"36px",height:"36px"}},as={style:{flex:"1","min-width":"0"}},ns={style:{width:"200px"}},ls={class:"mt-2"},os={class:"mt-1",style:{width:"75%"}},ds={key:0,class:"task-comment-drop-zone"},rs={class:"icon is-large"},cs={class:"is-flex-grow-1"},us={class:"o-comment-content",style:{position:"relative"}}
1,hs={key:0,class:"comment-form-inline-icons is-hidden-mobile"},ms=["title"],gs=["title"],ps=["disabled"],ks={class:"icon"},bs={key:0,class:"comment-form-actions is-hidden-mobile"},fs={class:"comment-form-icons"},ys=["title"],vs=["title"],Cs={class:"comment-media-preview"},Ss=["disabled"],ws={key:0,class:"icon"},Ds={key:1,class:"icon"};function Ls(e,t,s,Ls,Ts,Ms){const Es=(0,i.g2)("LogoThumbnail"),$s=(0,i.g2)("router-link"),xs=(0,i.g2)("font-awesome-icon"),Fs=(0,i.g2)("b-dropdown-item"),Is=(0,i.g2)("b-dropdown"),_s=(0,i.g2)("MobileViewHeader"),Xs=(0,i.g2)("b-loading"),As=(0,i.g2)("Gallery"),Ps=(0,i.g2)("b-input"),js=(0,i.g2)("PostInput"),Us=(0,i.g2)("MediaUpload"),Ws=(0,i.g2)("b-button"),Vs=(0,i.g2)("b-tooltip"),Bs=(0,i.g2)("ChecklistRowInput"),Qs=(0,i.g2)("b-skeleton"),Ns=(0,i.g2)("CommentItem"),Ks=(0,i.g2)("TaskFormModal"),Gs=(0,i.g2)("b-modal"),zs=(0,i.g2)("UserShowContent"),Os=(0,i.g2)("ItemViewModal"),Rs=(0,i.g2)("ContactMentionProfileModal"),Hs=(0,i.gN)("safe-html");return(0,i.uX)(),(0,i.CE)("section",l,[(0,i.Lk)("div",o,[e.$isMobile()&&Ts.item&&!Ms.isWithinProjectLayout?((0,i.uX)(),(0,i.Wv)(_s,{key:0},{center:(0,i.k6)(()=>[(0,i.Lk)("div",d,[Ts.item.createdBy&&Ts.item.createdBy.id?((0,i.uX)(),(0,i.Wv)($s,{key:0,to:{name:"UserShow",params:{item:Ts.item.createdBy.id}}},{default:(0,i.k6)(()=>[((0,i.uX)(),(0,i.Wv)(Es,{key:"authorlogo_"+Ts.item.createdBy.id,item:Ts.item.createdBy,"is-type":"roundSmall"},null,8,["item"]))]),_:1},8,["to"])):(0,i.Q3)("",!0),(0,i.Lk)("div",null,[Ts.item.createdBy&&Ts.item.createdBy.id?((0,i.uX)(),(0,i.Wv)($s,{key:0,class:"is-size-7 title is-block m-0",to:{name:"UserShow",params:{item:Ts.item.createdBy.id}}},{default:(0,i.k6)(()=>[(0,i.eW)((0,a.v_)(Ts.item.createdBy.fullName),1)]),_:1},8,["to"])):(0,i.Q3)("",!0),(0,i.Lk)("span",r,(0,a.v_)(e.$filters.formatDateCool(Ts.item.dateCreated)),1)])])]),dropdown:(0,i.k6)(()=>[(0,i.bF)(Is,{"aria-role":"list",position:"is-bottom-left","append-to-body":""},{trigger:(0,i.k6)(({toggle:e})=>[(0,i.Lk)("button",{class:"button is-white is-rounded",onClick:e},[(0,i.Lk)("span",u,[(0,i.bF)(xs,{icon:"fa-light fa-ellipsis-vertical"})])],8,c)]),default:(0,i.k6)(()=>[Ms.canEdit?((0,i.uX)(),(0,i.Wv)(Fs,{key:0,onClick:Ms.openEditModal},{default:(0,i.k6)(()=>[(0,i.Lk)("span",h,[(0,i.Lk)("span",m,[(0,i.bF)(xs,{icon:"fa-light fa-pencil-alt"})]),(0,i.Lk)("span",null,(0,a.v_)(e.$t("modify")),1)])]),_:1},8,["onClick"])):(0,i.Q3)("",!0),Ms.canDelete?((0,i.uX)(),(0,i.Wv)(Fs,{key:1,"aria-role":"listitem",onClick:Ms.confirmDelete},{default:(0,i.k6)(()=>[(0,i.Lk)("span",g,[(0,i.Lk)("span",p,[(0,i.bF)(xs,{icon:"fa-light fa-trash is-small"})]),(0,i.Lk)("span",null,(0,a.v_)(e.$t("delete")),1)])]),_:1},8,["onClick"])):(0,i.Q3)("",!0)]),_:1})]),_:1})):(0,i.Q3)("",!0),e.$isMobile()||!Ts.item||Ms.isWithinProjectLayout?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",k,[(0,i.Lk)("div",b,[(0,i.Lk)("button",{class:"button is-white is-rounded",onClick:t[0]||(t[0]=(...e)=>Ms.goBack&&Ms.goBack(...e))},[(0,i.Lk)("span",f,[(0,i.Lk)("span",y,[(0,i.bF)(xs,{icon:"fa-light fa-chevron-left"})]),(0,i.Lk)("span",null,(0,a.v_)(e.$t("back")),1)])])]),(0,i.Lk)("div",v,[(0,i.bF)(Is,{hoverable:"","aria-role":"list",class:"ml-0",position:"is-bottom-left"},{trigger:(0,i.k6)(({toggle:e})=>[(0,i.Lk)("button",{class:"button is-white is-rounded",onClick:e},[(0,i.Lk)("span",S,[(0,i.bF)(xs,{icon:"fa-light fa-ellipsis-vertical"})])],8,C)]),default:(0,i.k6)(()=>[Ms.canEdit?((0,i.uX)(),(0,i.Wv)(Fs,{key:0,onClick:Ms.openEditModal},{default:(0,i.k6)(()=>[(0,i.Lk)("span",w,[(0,i.Lk)("span",D,[(0,i.bF)(xs,{icon:"fa-light fa-pencil-alt"})]),(0,i.Lk)("span",null,(0,a.v_)(e.$t("modify")),1)])]),_:1},8,["onClick"])):(0,i.Q3)("",!0),Ms.canDelete?((0,i.uX)(),(0,i.Wv)(Fs,{key:1,onClick:Ms.confirmDelete},{default:(0,i.k6)(()=>[(0,i.Lk)("span",L,[(0,i.Lk)("span",T,[(0,i.bF)(xs,{icon:"fa-light fa-trash"})]),(0,i.Lk)("span",null,(0,a.v_)(e.$t("delete")),1)])]),_:1},8,["onClick"])):(0,i.Q3)("",!0)]),_:1})])])),(0,i.bF)(Xs,{modelValue:Ts.isLoading,"onUpdate:modelValue":t[1]||(t[1]=e=>Ts.isLoading=e),"is-full-page":!1},null,8,["modelValue"]),(0,i.bF)(As,{images:Ts.photosUrlSource,videos:Ts.videosUrlSource,index:Ts.galleryIndex,onClose:t[2]||(t[2]=e=>Ts.galleryIndex=null)},null,8,["images","videos","index"]),Ts.item?((0,i.uX)(),(0,i.CE)("div",{key:2,class:(0,a.C4)(e.$isMobile()?"":"card pb-6")},[(0,i.Lk)("div",M,[(0,i.Lk)("div",E,[(0,i.Lk)("div",$,[(0,i.Lk)("div",x,[e.$isMobile()?((0,i.uX)(),(0,i.CE)("div",F,[(0,i.Lk)("div",I,[(0,i.Lk)("div",_,[Ms.canEdit?((0,i.uX)(),(0,i.Wv)(Is,{key:0,"aria-role":"list",hoverable:"",class:"is-rounded","close-on-click":"",position:"is-bottom-left"},{trigger:(0,i.k6)(({toggle:t})=>[(0,i.Lk)("button",{class:"button is-small is-rounded",style:(0,a.Tr)(Ts.item.status?Ms.tagStyle(Ts.item.status.color):{backgroundColor:"#22c55e",color:"white"}),onClick:t},[(0,i.Lk)("span",null,(0,a.v_)(Ts.item.status?Ts.item.status.name:e.$t("Open")),1),(0,i.Lk)("span",A,[(0,i.bF)(xs,{icon:"fa-light fa-angle-down"})])],12,X)]),default:(0,i.k6)(()=>[Ms.openStatuses.length?((0,i.uX)(),(0,i.Wv)(Fs,{key:0,custom:"",class:"dropdown-group-label"},{default:(0,i.k6)(()=>[(0,i.eW)((0,a.v_)(e.$t("Open")),1)]),_:1})):(0,i.Q3)("",!0),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.openStatuses,e=>((0,i.uX)(),(0,i.Wv)(Fs,{key:e.name,value:e,class:"dropdown-grouped-item",onClick:t=>Ms.updateTask("status",e)},{default:(0,i.k6)(()=>[(0,i.Lk)("span",{class:"tag is-rounded",style:(0,a.Tr)(Ms.tagStyle(e.color))}," â "+(0,a.v_)(e.name),5)]),_:2},1032,["value","onClick"]))),128)),Ms.closedStatuses.length?((0,i.uX)(),(0,i.Wv)(Fs,{key:1,custom:"",class:"dropdown-group-label"},{default:(0,i.k6)(()=>
1[(0,i.eW)((0,a.v_)(e.$t("Closed")),1)]),_:1})):(0,i.Q3)("",!0),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.closedStatuses,e=>((0,i.uX)(),(0,i.Wv)(Fs,{key:e.name,value:e,class:"dropdown-grouped-item",onClick:t=>Ms.updateTask("status",e)},{default:(0,i.k6)(()=>[(0,i.Lk)("span",{class:"tag is-rounded",style:(0,a.Tr)(Ms.tagStyle(e.color))}," â "+(0,a.v_)(e.name),5)]),_:2},1032,["value","onClick"]))),128))]),_:1})):((0,i.uX)(),(0,i.CE)("span",{key:1,class:"tag is-small is-rounded",style:(0,a.Tr)(Ts.item.status?Ms.tagStyle(Ts.item.status.color):{backgroundColor:"#22c55e",color:"white"})},(0,a.v_)(Ts.item.status?Ts.item.status.name:e.$t("Open")),5)),Ms.canEdit?((0,i.uX)(),(0,i.Wv)(Is,{key:2,modelValue:Ts.item.priority,"onUpdate:modelValue":[t[3]||(t[3]=e=>Ts.item.priority=e),t[4]||(t[4]=e=>Ms.updateTask("priority",Ts.item.priority))],"close-on-click":"",hoverable:"","aria-role":"list",position:"is-bottom-right"},{trigger:(0,i.k6)(({toggle:e})=>[(0,i.Lk)("button",{class:"button is-small is-rounded is-light",onClick:e},[(0,i.Lk)("span",j,[(0,i.Lk)("span",{class:"icon is-small",style:(0,a.Tr)("color: "+Ms.getPriorityColor(Ts.item.priority))},[(0,i.bF)(xs,{icon:"fa-light "+Ms.getPriorityIcon(Ts.item.priority)},null,8,["icon"])],4),(0,i.Lk)("span",null,(0,a.v_)(Ms.getPriorityLabel(Ts.item.priority)),1)])],8,P)]),default:(0,i.k6)(()=>[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.$store.state.issuePrioritiesData,t=>((0,i.uX)(),(0,i.Wv)(Fs,{key:t.id,value:t.id},{default:(0,i.k6)(()=>[(0,i.Lk)("span",U,[(0,i.Lk)("span",{class:"mr-3 is-small",style:(0,a.Tr)("color: "+t.color)},[(0,i.bF)(xs,{icon:"fa-light "+t.icon},null,8,["icon"])],4),(0,i.Lk)("span",null,(0,a.v_)(e.$t(t.text)),1)])]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])):((0,i.uX)(),(0,i.CE)("span",{key:3,class:"tag is-small is-rounded is-light icon-text",style:(0,a.Tr)("color: "+Ms.getPriorityColor(Ts.item.priority))},[(0,i.Lk)("span",W,[(0,i.bF)(xs,{icon:"fa-light "+Ms.getPriorityIcon(Ts.item.priority)},null,8,["icon"])]),(0,i.Lk)("span",null,(0,a.v_)(Ms.getPriorityLabel(Ts.item.priority)),1)],4)),Ms.canEdit&&Ms.projectTypes.length>0?((0,i.uX)(),(0,i.Wv)(Is,{key:4,"aria-role":"list",hoverable:"",class:"is-rounded","close-on-click":"",position:"is-bottom-left"},{trigger:(0,i.k6)(({toggle:t})=>[(0,i.Lk)("button",{class:(0,a.C4)(["button is-small is-rounded",{"is-light":!Ts.item.type}]),style:(0,a.Tr)(Ts.item.type?Ms.tagStyle(Ts.item.type.color):{}),onClick:t},[(0,i.Lk)("span",null,(0,a.v_)(Ts.item.type?Ts.item.type.name:e.$t("Type")),1),(0,i.Lk)("span",B,[(0,i.bF)(xs,{icon:"fa-light fa-angle-down"})])],14,V)]),default:(0,i.k6)(()=>[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.projectTypes,e=>((0,i.uX)(),(0,i.Wv)(Fs,{key:e.id,value:e,onClick:t=>Ms.updateTask("type",e)},{default:(0,i.k6)(()=>[(0,i.Lk)("span",{class:"tag is-rounded",style:(0,a.Tr)(Ms.tagStyle(e.color))}," â "+(0,a.v_)(e.name),5)]),_:2},1032,["value","onClick"]))),128))]),_:1})):Ts.item.type?((0,i.uX)(),(0,i.CE)("span",{key:5,class:"tag is-small is-rounded",style:(0,a.Tr)(Ms.tagStyle(Ts.item.type.color))},(0,a.v_)(Ts.item.type.name),5)):(0,i.Q3)("",!0)]),(0,i.Lk)("div",Q,[Ts.item.project&&Ts.item.project.uuid?((0,i.uX)(),(0,i.Wv)($s,{key:0,class:"button is-small is-rounded is-light",to:{name:"ProjectShow",params:{id:Ts.item.project.uuid}}},{default:(0,i.k6)(()=>[(0,i.Lk)("span",N,[(0,i.Lk)("span",K,[(0,i.bF)(xs,{icon:"fa-light fa-hashtag"})]),(0,i.Lk)("span",null,(0,a.v_)(Ts.item.project.name),1)])]),_:1},8,["to"])):(0,i.Q3)("",!0)])]),(0,i.Lk)("div",G,[Ms.canEdit?((0,i.uX)(),(0,i.Wv)(Is,{key:0,ref:"assigneeHeaderDropdown","close-on-click":!1,position:e.dropdownAutoPositions.assigneeHeaderDropdown,"append-to-body":"",onActiveChange:t[6]||(t[6]=t=>{e.updateDropdownAutoPosition("assigneeHeaderDropdown",t),Ts.isAssigneeDropdownOpen=t,t||(Ts.assigneeDropdownSearch="")})},{trigger:(0,i.k6)(()=>[(0,i.Lk)("div",z,[Ms.taskAssigneeUsers.length>0?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.bF)(Es,{item:Ms.taskAssigneeUsers[0],"is-type":"roundXSmall"},null,8,["item"]),(0,i.Lk)("span",O,(0,a.v_)(Ms.taskAssigneeUsers[0].firstName+" "+Ms.taskAssigneeUsers[0].lastName[0]+"."),1)],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.Lk)("span",R,[(0,i.bF)(xs,{icon:"fa-light fa-user-circle"})]),(0,i.Lk)("span",H,(0,a.v_)(e.$t("unassigned")),1)],64))])]),default:(0,i.k6)(()=>[(0,i.bF)(Fs,{custom:"",paddingless:""},{default:(0,i.k6)(()=>[(0,i.Lk)("div",Y,[(0,i.Lk)("div",Z,[(0,i.bF)(Ps,{modelValue:Ts.assigneeDropdownSearch,"onUpdate:modelValue":t[5]||(t[5]=e=>Ts.assigneeDropdownSearch=e),size:"is-small",placeholder:e.$t("Search member"),icon:"fa-magnifying-glass",rounded:""},null,8,["modelValue","placeholder"])]),(0,i.Lk)("div",q,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.assigneeDropdownList,t=>((0,i.uX)(),(0,i.CE)("div",{key:t.id,class:(0,a.C4)(["assignee-toggle-item",{"assignee-toggle-item--active":Ms.isTaskAssignee(t)}]),onClick:(0,n.D$)(e=>Ms.toggleTaskAssignee(t),["stop"])},[(0,i.bF)(Es,{item:t,"is-type":"roundSmall"},null,8,["item"]),(0,i.Lk)("span",ee,[(0,i.eW)((0,a.v_)(t.fullName)+" ",1),t.id===e.user.id?((0,i.uX)(),(0,i.CE)("span",te,"("+(0,a.v_)(e.$t("Me"))+")",1)):(0,i.Q3)("",!0)]),Ms.isTaskAssignee(t)?((0,i.uX)(),(0,i.CE)("span",se,[(0,i.bF)(xs,{icon:"fa-light fa-check"})])):(0,i.Q3)("",!0)],10,J))),128)),0===Ms.assigneeDropdownList.length?((0,i.uX)(),(0,i.CE)("div",ie,(0,a.v_)(e.$t("No results found")),1)):(0,i.Q3)("",!0)])])]),_:1})]),_:1},8,["position"])):((0,i.uX)(),(0,i.CE)("div",ae,[Ms.taskAssigneeUsers.length>0?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.bF)(Es,{item:Ms.taskAssigneeUsers[0],"is-type":"roundXSmall"},null,8,["item"]),(0,i.Lk)("span",ne,(0,a.v_)(Ms.taskAssigneeUsers[0].firstName+" "+Ms.taskAssigneeUsers[0].lastName[0]+"."),1)],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.Lk)("span",le,[(0,i.bF)(xs,{icon:"fa-light fa-user-circle"})]),(0,i.Lk)("span",oe,(0,a.v_)(e.$t("unassigned")),1)],64))]))])])):(0,i.Q3)("",!0),e.$isMobile()?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",de,[(0,i.Lk)("div",re,[(0,i.Lk)("div",ce,[Ts.item.createdBy&&Ts.item.createdBy.id?((0,i.uX)(),(0,i.Wv)($s,{key:0,to:{name:"UserShow",params:{item:Ts.item.createdBy.id}}},{default:(0,i.k6)(()=>[((0,i.uX)(),(0,i.Wv)(Es,{key:"authorlogo_"+Ts.item.createdBy.id,item:Ts.item.createdBy,"is-type":"roundMedium"},null,8,["item"]))]),_:1},8,["to"])):(0,i.Q3)("",!0),(0,i.Lk)("div",null,[Ts.item.createdBy&&Ts.item.createdBy.id?((0,i.uX)(),(0,i.Wv)($s,{key:0,class:"is-size-6 has-text-dark title is-block m-0",to:{name:"UserShow",params:{item:Ts.item.createdBy.id}}},{default:(0,i.k6)(()=>[(0,i.eW)((0,a.v_)(Ts.item.createdBy.fullName),1)]),_:1},8,["to"])):(0,i.Q3)("",!0),(0,i.Lk)("span",ue,(0,a.v_)(e.$filters.formatDateCool(Ts.item.dateCreated)),1)])])]),(0,i.Lk)("div",he,[(0,i.Lk)("div",me,[(0,i.Lk)("div",ge,[Ms.canEdit?((0,i.uX)(),(0,i.Wv)(Is,{key:0,ref:"assigneeInlineDropdown","close-on-click":!1,position:e.dropdownAutoPositions.assigneeInlineDropdown,"append-to-body":"",onActiveChange:t[8]||(t[8]=t=>{e.updateDropdownAutoPosition("assigneeInlineDropdown",t),t||(Ts.assigneeDropdownSearch="")})},{trigger:(0,i.k6)(()=>[(0,i.Lk)("div",pe,[Ms.taskAssignees.length>0?((0,i.uX)(),(0,i.CE)("div",ke,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.taskAssignees.slice(0,3),(e,t)=>((0,i.uX)(),(0,i.Wv)(Es,{key:e.user?e.user.id:t,item:e.user,"is-type":"roundXSmall",class:"assignee-avatar-inline",style:(0,a.Tr)({marginLeft:t>0?"-6px":"0",zIndex:3-t})},null,8,["item","style"]))),128)),Ms.taskAssignees.length>3?((0,i.uX)(),(0,i.CE)("span",be," +"+(0,a.v_)(Ms.taskAssignees.length-3),1)):(0,i.Q3)("",!0)])):((0,i.uX)(),(0,i.CE)("span",fe,[(0,i.bF)(xs,{icon:"fa-light fa-user-circle"})])),(0,i.Lk)("span",ye,[0===Ms.taskAssignees.length?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.eW)((0,a.v_)(e.$t("unassigned")),1)],64)):1===Ms.taskAssignees.length?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.eW)((0,a.v_)(Ms.taskAssignees[0].user?Ms.taskAssignees[0].user.firstName+" "+Ms.taskAssignees[0].user.lastName[0]+".":""),1)],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:2},[(0,i.eW)((0,a.v_)(Ms.taskAssignees.length)+" "+(0,a.v_)(e.$t("assignees")),1)],64))]),Ms.assigneeCompletionStats.total>1?((0,i.uX)(),(0,i.CE)("span",ve," ("+(0,a.v_)(Ms.assigneeCompletionStats.completed)+"/"+(0,a.v_)(Ms.assigneeCompletionStats.total)+") ",1)):(0,i.Q3)("",!0)])]),default:(0,i.k6)(()=>[(0,i.bF)(Fs,{custom:"",paddingless:""},{default:(0,i.k6)(()=>[(0,i.Lk)("div",Ce,[(0,i.Lk)("div",Se,[(0,i.bF)(Ps,{modelValue:Ts.assigneeDropdownSearch,"onUpdate:modelValue":t[7]||(t[7]=e=>Ts.assigneeDropdownSearch=e),size:"is-small",placeholder:e.$t("Search member"),icon:"fa-magnifying-glass",rounded:""},null,8,["modelValue","placeholder"])]),(0,i.Lk)("div",we,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.assigneeDropdownList,t=>((0,i.uX)(),(0,i.CE)("div",{key:t.id,class:(0,a.C4)(["assignee-toggle-item",{"assignee-toggle-item--active":Ms.isTaskAssignee(t)}]),onClick:(0,n.D$)(e=>Ms.toggleTaskAssignee(t),["stop"])},[(0,i.bF)(Es,{item:t,"is-type":"roundSmall"},null,8,["item"]),(0,i.Lk)("span",Le,[(0,i.eW)((0,a.v_)(t.fullName)+" ",1),t.id===e.user.id?((0,i.uX)(),(0,i.CE)("span",Te,"("+(0,a.v_)(e.$t("Me"))+")",1)):(0,i.Q3)("",!0)]),Ms.isTaskAssignee(t)?((0,i.uX)(),(0,i.CE)("span",Me,[(0,i.bF)(xs,{icon:"fa-light fa-check"})])):(0,i.Q3)("",!0)],10,De))),128)),0===Ms.assigneeDropdownList.length?((0,i.uX)(),(0,i.CE)("div",Ee,(0,a.v_)(e.$t("No results found")),1)):(0,i.Q3)("",!0)])])]),_:1})]),_:1},8,["position"])):((0,i.uX)(),(0,i.CE)("div",$e,[Ms.taskAssignees.length>0?((0,i.uX)(),(0,i.CE)("div",xe,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.taskAssignees.slice(0,3),(e,t)=>((0,i.uX)(),(0,i.Wv)(Es,{key:e.user?e.user.id:t,item:e.user,"is-type":"roundXSmall",class:"assignee-avatar-inline",style:(0,a.Tr)({marginLeft:t>0?"-6px":"0",zIndex:3-t})},null,8,["item","style"]))),128)),Ms.taskAssignees.length>3?((0,i.uX)(),(0,i.CE)("span",Fe," +"+(0,a.v_)(Ms.taskAssignees.length-3),1)):(0,i.Q3)("",!0)])):((0,i.uX)(),(0,i.CE)("span",Ie,[(0,i.bF)(xs,{icon:"fa-light fa-user-circle"})])),(0,i.Lk)("span",_e,[0===Ms.taskAssignees.length?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.eW)((0,a.v_)(e.$t("unassigned")),1)],64)):1===Ms.taskAssignees.length?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.eW)((0,a.v_)(Ms.taskAssignees[0].user?Ms.taskAssignees[0].user.firstName+" "+Ms.taskAssignees[0].user.lastName[0]+".":""),1)],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:2},[(0,i.eW)((0,a.v_)(Ms.taskAssignees.length)+" "+(0,a.v_)(e.$t("assignees")),1)],64))])]))]),Ms.canEdit?((0,i.uX)(),(0,i.Wv)(Is,{key:0,"aria-role":"list",hoverable:"",class:"is-rounded","close-on-click":"",position:"is-bottom-left"},{trigger:(0,i.k6)(({toggle:t})=>[(0,i.Lk)("button",{class:"button is-small is-rounded",style:(0,a.Tr)(Ts.item.status?Ms.tagStyle(Ts.item.status.color):{backgroundColor:"#22c55e",color:"white"}),onClick:t},[(0,i.Lk)("span",null,(0,a.v_)(Ts.item.status?Ts.item.status.name:e.$t("Open")),1),(0,i.Lk)("span",Ae,[(0,i.bF)(xs,{icon:"fa-light fa-angle-down"})])],12,Xe)]),default:(0,i.k6)(()=>[Ms.openStatuses.length?((0,i.uX)(),(0,i.Wv)(Fs,{key:0,custom:"",class:"dropdown-group-label"},{default:(0,i.k6)(()=>[(0,i.eW)((0,a.v_)(e.$t("Open")),1)]),_:1})):(0,i.Q3)("",!0),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.openStatuses,e=>((0,i.uX)(),(0,i.Wv)(Fs,{key:e.name,value:e,class:"dropdown-grouped-item",onClick:t=>Ms.updateTask("status",e)},{default:(0,i.k6)(()=>[(0,i.Lk)("span",{class:"tag is-rounded",style:(0,a.Tr)(Ms.tagStyle(e.color))}," â "+(0,a.v_)(e.name),5)]),_:2},1032,["value","onClick"]))),128)),Ms.closedStatuses.length?((0,i.uX)(),(0,i.Wv)(Fs,{key:1,custom:"",class:"dropdown-group-label"},{default:(0,i.k6)(()=>
1[(0,i.eW)((0,a.v_)(e.$t("Closed")),1)]),_:1})):(0,i.Q3)("",!0),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.closedStatuses,e=>((0,i.uX)(),(0,i.Wv)(Fs,{key:e.name,value:e,class:"dropdown-grouped-item",onClick:t=>Ms.updateTask("status",e)},{default:(0,i.k6)(()=>[(0,i.Lk)("span",{class:"tag is-rounded",style:(0,a.Tr)(Ms.tagStyle(e.color))}," â "+(0,a.v_)(e.name),5)]),_:2},1032,["value","onClick"]))),128))]),_:1})):((0,i.uX)(),(0,i.CE)("span",{key:1,class:"tag is-small is-rounded",style:(0,a.Tr)(Ts.item.status?Ms.tagStyle(Ts.item.status.color):{backgroundColor:"#22c55e",color:"white"})},(0,a.v_)(Ts.item.status?Ts.item.status.name:e.$t("Open")),5)),Ms.canEdit?((0,i.uX)(),(0,i.Wv)(Is,{key:2,modelValue:Ts.item.priority,"onUpdate:modelValue":[t[9]||(t[9]=e=>Ts.item.priority=e),t[10]||(t[10]=e=>Ms.updateTask("priority",Ts.item.priority))],"close-on-click":"",hoverable:"","aria-role":"list",position:"is-bottom-left"},{trigger:(0,i.k6)(({toggle:e})=>[(0,i.Lk)("button",{class:"button is-small is-rounded is-light only-icon-mobile",onClick:e},[(0,i.Lk)("span",je,[(0,i.Lk)("span",{class:"icon is-small",style:(0,a.Tr)("color: "+Ms.getPriorityColor(Ts.item.priority))},[(0,i.bF)(xs,{icon:"fa-light "+Ms.getPriorityIcon(Ts.item.priority)},null,8,["icon"])],4),(0,i.Lk)("span",Ue,(0,a.v_)(Ms.getPriorityLabel(Ts.item.priority)),1)])],8,Pe)]),default:(0,i.k6)(()=>[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.$store.state.issuePrioritiesData,t=>((0,i.uX)(),(0,i.Wv)(Fs,{key:t.id,value:t.id},{default:(0,i.k6)(()=>[(0,i.Lk)("span",We,[(0,i.Lk)("span",{class:"mr-3 is-small",style:(0,a.Tr)("color: "+t.color)},[(0,i.bF)(xs,{icon:"fa-light "+t.icon},null,8,["icon"])],4),(0,i.Lk)("span",null,(0,a.v_)(e.$t(t.text)),1)])]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])):((0,i.uX)(),(0,i.CE)("span",Ve,[(0,i.Lk)("span",Be,[(0,i.Lk)("span",{class:"icon is-small",style:(0,a.Tr)("color: "+Ms.getPriorityColor(Ts.item.priority))},[(0,i.bF)(xs,{icon:"fa-light "+Ms.getPriorityIcon(Ts.item.priority)},null,8,["icon"])],4),(0,i.Lk)("span",null,(0,a.v_)(Ms.getPriorityLabel(Ts.item.priority)),1)])])),Ms.canEdit&&Ms.projectTypes.length>0?((0,i.uX)(),(0,i.Wv)(Is,{key:4,"aria-role":"list",hoverable:"",class:"is-rounded","close-on-click":"",position:"is-bottom-left"},{trigger:(0,i.k6)(({toggle:t})=>[(0,i.Lk)("button",{class:(0,a.C4)(["button is-small is-rounded",{"is-light":!Ts.item.type}]),style:(0,a.Tr)(Ts.item.type?Ms.tagStyle(Ts.item.type.color):{}),onClick:t},[(0,i.Lk)("span",null,(0,a.v_)(Ts.item.type?Ts.item.type.name:e.$t("Type")),1),(0,i.Lk)("span",Ne,[(0,i.bF)(xs,{icon:"fa-light fa-angle-down"})])],14,Qe)]),default:(0,i.k6)(()=>[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.projectTypes,e=>((0,i.uX)(),(0,i.Wv)(Fs,{key:e.id,value:e,onClick:t=>Ms.updateTask("type",e)},{default:(0,i.k6)(()=>[(0,i.Lk)("span",{class:"tag is-rounded",style:(0,a.Tr)(Ms.tagStyle(e.color))}," â "+(0,a.v_)(e.name),5)]),_:2},1032,["value","onClick"]))),128))]),_:1})):Ts.item.type?((0,i.uX)(),(0,i.CE)("span",{key:5,class:"tag is-small is-rounded",style:(0,a.Tr)(Ms.tagStyle(Ts.item.type.color))},(0,a.v_)(Ts.item.type.name),5)):(0,i.Q3)("",!0),Ms.canEdit?((0,i.uX)(),(0,i.CE)("button",{key:6,class:"button is-small is-rounded is-white ml-3",onClick:t[11]||(t[11]=(...e)=>Ms.openEditModal&&Ms.openEditModal(...e))},[(0,i.Lk)("span",Ke,[(0,i.bF)(xs,{icon:"fa-light fa-pencil"})])])):(0,i.Q3)("",!0)])])]))]),(0,i.Lk)("div",Ge,[Ts.isEditingTitle?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",{key:0,class:(0,a.C4)(["is-size-4 has-text-weight-semibold my-4 has-text-black",{"editable-section":Ms.canEdit}]),onClick:t[12]||(t[12]=e=>Ms.canEdit?Ms.startEditingTitle():null)},(0,a.v_)(Ts.item.title),3)),Ts.isEditingTitle?((0,i.uX)(),(0,i.CE)("div",ze,[(0,i.bF)(Ps,{ref:"titleInlineInput",modelValue:Ts.inlineTitle,"onUpdate:modelValue":t[13]||(t[13]=e=>Ts.inlineTitle=e),class:"is-size-4 has-text-weight-semibold",type:"text",placeholder:e.$t("Title"),onKeyup:[(0,n.jR)(Ms.saveInlineTitle,["enter"]),(0,n.jR)(Ms.cancelEditingTitle,["escape"])],onBlur:Ms.saveInlineTitle},null,8,["modelValue","placeholder","onKeyup","onBlur"])])):(0,i.Q3)("",!0),Ms.taskDescription&&!Ts.isEditingContent?((0,i.uX)(),(0,i.CE)("div",{key:2,class:(0,a.C4)(["is-size-6 has-text-dark",{"editable-section":Ms.canEdit}]),onClick:t[15]||(t[15]=e=>Ms.canEdit?Ms.startEditingContent():null)},[(0,i.bo)((0,i.Lk)("div",{onClick:t[14]||(t[14]=(...e)=>Ms.handleMentionClick&&Ms.handleMentionClick(...e))},null,512),[[Hs,Ms.taskDescription]])],2)):(0,i.Q3)("",!0),Ms.mainPostImages.length>0?((0,i.uX)(),(0,i.CE)("div",Oe,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.mainPostImages,(e,t)=>((0,i.uX)(),(0,i.CE)("figure",{key:e.id,class:"o-gallery-item"},[(0,i.Lk)("img",{src:Ms.mediaSrc(e),onClick:e=>Ms.openMainPostGallery(t)},null,8,Re)]))),128))])):(0,i.Q3)("",!0),Ms.mainPostVideos.length>0?((0,i.uX)(),(0,i.CE)("div",He,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.mainPostVideos,(e,t)=>((0,i.uX)(),(0,i.CE)("figure",{key:e.id,class:"o-gallery-item"},[(0,i.Lk)("video",{src:Ms.mediaSrc(e),preload:"metadata",muted:"",onClick:e=>Ms.openMainPostGallery(Ms.mainPostImages.length+t)},null,8,Ye)]))),128))])):(0,i.Q3)("",!0),Ms.mainPostFiles.length>0?((0,i.uX)(),(0,i.CE)("div",Ze,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.mainPostFiles,e=>((0,i.uX)(),(0,i.CE)("p",{key:e.id},[(0,i.Lk)("a",{href:Ms.mediaSrc(e),target:"_blank"},(0,a.v_)(e.originalName),9,qe)]))),128))])):(0,i.Q3)("",!0),Ms.taskDescription||Ts.isEditingContent||!Ms.canEdit?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",{key:6,class:"is-size-6 has-text-grey editable-section py-2",onClick:t[16]||(t[16]=(...e)=>Ms.startEditingContent&&Ms.startEditingContent(...e))},(0,a.v_)(e.$t("Add a description"))+"... ",1)),Ts.isEditingContent?((0,i.uX)(),(0,i.CE)("div",{key:7,class:"my-2",onDragover:t[21]||(t[21]=(0,n.D$)(()=>{},["prevent"])),onDragenter:t[22]||(t[22]=(0,n.D$)((...e)=>Ms.onInlineDragToggle&&Ms.onInlineDragToggle(...e),["prevent"])),onDragleave:t[23]||(t[23]=(0,n.D$)((...e)=>Ms.onInlineDragToggle&&Ms.onInlineDragToggle(...e),["prevent"])),onDrop:t[24]||(t[24]=(0,n.D$)((...e)=>Ms.onInlineDropFiles&&Ms.onInlineDropFiles(...e),["prevent"]))},[(0,i.bF)(js,{ref:"contentInlineInput","new-comment":Ts.inlineContent,project:Ts.item.project,"is-comment":!1,"show-media-icons":!0,placeholder:e.$t("Write more")+"...",rows:4,"focus-on-mount":!0,onMentionsChanged:Ms.onInlineMentionsChanged,onContactMentionsChanged:Ms.onInlineContactMentionsChanged,onUploadImage:t[17]||(t[17]=t=>e.$refs.inlineMediaUpload.triggerPhotoUpload()),onUploadVideo:t[18]||(t[18]=t=>e.$refs.inlineMediaUpload.triggerVideoUpload()),onUploadFile:t[19]||(t[19]=t=>e.$refs.inlineMediaUpload.triggerFileUpload())},null,8,["new-comment","project","placeholder","onMentionsChanged","onContactMentionsChanged"]),(0,i.Lk)("div",Je,[(0,i.bF)(Us,{ref:"inlineMediaUpload",photos:Ts.inlinePhotos,videos:Ts.inlineVideos,files:T
1s.inlineFiles,item:Ts.item,medias:Ts.inlineMedias,"is-comment":!1,"is-dragging":Ts.inlineIsDragging,"hide-buttons":!0,"onUpdate:modelValue":t[20]||(t[20]=e=>Ts.inlineMedias=e)},null,8,["photos","videos","files","item","medias","is-dragging"])]),(0,i.Lk)("div",et,[(0,i.bF)(Ws,{class:"is-primary is-small is-rounded",loading:Ts.isSavingInline,onClick:Ms.saveInlineContent},{default:(0,i.k6)(()=>[(0,i.eW)((0,a.v_)(e.$t("Save")),1)]),_:1},8,["loading","onClick"]),(0,i.bF)(Ws,{class:"is-small is-rounded",onClick:Ms.cancelEditingContent},{default:(0,i.k6)(()=>[(0,i.eW)((0,a.v_)(e.$t("Cancel")),1)]),_:1},8,["onClick"])])],32)):(0,i.Q3)("",!0),Ts.item.dateDue||Ts.item.goal?((0,i.uX)(),(0,i.CE)("div",tt,[(0,i.Lk)("div",st,[Ts.item.dateDue?((0,i.uX)(),(0,i.CE)("span",{key:0,class:(0,a.C4)(["tag is-rounded",{"is-danger":Ms.isOverdue}])},[(0,i.Lk)("span",it,[(0,i.bF)(xs,{icon:"fa-light fa-calendar"})]),(0,i.eW)(" "+(0,a.v_)(e.$filters.format(Ts.item.dateDue)),1)],2)):(0,i.Q3)("",!0),Ts.item.goal?((0,i.uX)(),(0,i.CE)("span",at,(0,a.v_)(Ts.item.goal.name),1)):(0,i.Q3)("",!0)])])):(0,i.Q3)("",!0),Ts.item.blockedBy&&Ts.item.blockedBy.length>0?((0,i.uX)(),(0,i.CE)("div",{key:9,class:(0,a.C4)(["blocked-by-panel mt-4",{"is-blocked":Ms.openBlockers.length>0}])},[(0,i.Lk)("div",nt,[(0,i.Lk)("span",{class:(0,a.C4)(["icon is-small mr-2",Ms.openBlockers.length>0?"has-text-warning":"has-text-success"])},[(0,i.bF)(xs,{icon:Ms.openBlockers.length>0?"fa-light fa-hourglass-half":"fa-light fa-check-circle"},null,8,["icon"])],2),(0,i.Lk)("span",lt,(0,a.v_)(e.$t("Blocked by")),1)]),(0,i.Lk)("div",ot,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ts.item.blockedBy,e=>((0,i.uX)(),(0,i.Wv)($s,{key:e.uuid,class:(0,a.C4)(["tag is-rounded",e.status&&e.status.isClosed?"is-success is-light":"is-warning is-light"]),to:{name:"ProjectTaskShow",params:{id:Ms.taskProjectUuid,taskId:e.uuid}}},{default:(0,i.k6)(()=>[(0,i.Lk)("span",dt,[(0,i.bF)(xs,{icon:e.status&&e.status.isClosed?"fa-light fa-check-circle":"fa-light fa-circle"},null,8,["icon"])]),(0,i.eW)(" "+(0,a.v_)(e.title),1)]),_:2},1032,["class","to"]))),128))])],2)):(0,i.Q3)("",!0),Ms.taskAssignees.length>1?((0,i.uX)(),(0,i.CE)("div",rt,[(0,i.Lk)("div",ct,[(0,i.Lk)("div",ut,[(0,i.Lk)("span",ht,[(0,i.bF)(xs,{icon:"fa-light fa-users"})]),(0,i.Lk)("span",mt,(0,a.v_)(e.$t("Assignees")),1),Ms.assigneeCompletionStats.total>0?((0,i.uX)(),(0,i.CE)("span",gt,(0,a.v_)(Ms.assigneeCompletionStats.completed)+"/"+(0,a.v_)(Ms.assigneeCompletionStats.total)+" "+(0,a.v_)(e.$t("done")),1)):(0,i.Q3)("",!0)]),Ms.canEdit?((0,i.uX)(),(0,i.Wv)(Is,{key:0,ref:"assigneeMobileDropdown","close-on-click":!1,position:e.dropdownAutoPositions.assigneeMobileDropdown,"append-to-body":"",onActiveChange:t[26]||(t[26]=t=>{e.updateDropdownAutoPosition("assigneeMobileDropdown",t),Ts.isAssigneeDropdownOpen=t,t||(Ts.assigneeDropdownSearch="")})},{trigger:(0,i.k6)(()=>[(0,i.Lk)("button",pt,[(0,i.Lk)("span",kt,[(0,i.bF)(xs,{icon:"fa-light fa-plus"})]),(0,i.Lk)("span",null,(0,a.v_)(e.$t("Add")),1)])]),default:(0,i.k6)(()=>[(0,i.bF)(Fs,{custom:"",paddingless:""},{default:(0,i.k6)(()=>[(0,i.Lk)("div",bt,[(0,i.Lk)("div",ft,[(0,i.bF)(Ps,{modelValue:Ts.assigneeDropdownSearch,"onUpdate:modelValue":t[25]||(t[25]=e=>Ts.assigneeDropdownSearch=e),size:"is-small",placeholder:e.$t("Search member"),icon:"fa-magnifying-glass",rounded:""},null,8,["modelValue","placeholder"])]),(0,i.Lk)("div",yt,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.assigneeDropdownList,t=>((0,i.uX)(),(0,i.CE)("div",{key:t.id,class:(0,a.C4)(["assignee-toggle-item",{"assignee-toggle-item--active":Ms.isTaskAssignee(t)}]),onClick:(0,n.D$)(e=>Ms.toggleTaskAssignee(t),["stop"])},[(0,i.bF)(Es,{item:t,"is-type":"roundSmall"},null,8,["item"]),(0,i.Lk)("span",Ct,[(0,i.eW)((0,a.v_)(t.fullName)+" ",1),t.id===e.user.id?((0,i.uX)(),(0,i.CE)("span",St,"("+(0,a.v_)(e.$t("Me"))+")",1)):(0,i.Q3)("",!0)]),Ms.isTaskAssignee(t)?((0,i.uX)(),(0,i.CE)("span",wt,[(0,i.bF)(xs,{icon:"fa-light fa-check"})])):(0,i.Q3)("",!0)],10,vt))),128)),0===Ms.assigneeDropdownList.length?((0,i.uX)(),(0,i.CE)("div",Dt,(0,a.v_)(e.$t("No results found")),1)):(0,i.Q3)("",!0)])])]),_:1})]),_:1},8,["position"])):(0,i.Q3)("",!0)]),Ms.taskAssignees.length>0?((0,i.uX)(),(0,i.CE)("div",Lt,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.taskAssignees,t=>((0,i.uX)(),(0,i.CE)("div",{key:t.uuid||t.user&&t.user.id,class:"assignee-row is-flex is-align-items-center py-2"},[(0,i.Lk)("div",{class:(0,a.C4)(["assignee-check mr-2",{"is-clickable":Ms.canToggleCompletion(t)}]),onClick:e=>Ms.canToggleCompletion(t)?Ms.toggleAssigneeComplete(t):null},[t.completedAt?((0,i.uX)(),(0,i.CE)("span",Mt,[(0,i.bF)(xs,{icon:"fa-light fa-circle-check"})])):((0,i.uX)(),(0,i.CE)("span",{key:1,class:(0,a.C4)(["icon",Ms.canToggleCompletion(t)?"has-text-grey-light":"has-text-grey-lighter"])},[(0,i.bF)(xs,{icon:"fa-light fa-circle"})],2))],10,Tt),t.user?((0,i.uX)(),(0,i.Wv)(Es,{key:0,item:t.user,"is-type":"roundXSmall",class:"mr-2"},null,8,["item"])):(0,i.Q3)("",!0),(0,i.Lk)("div",Et,[(0,i.Lk)("span",{class:(0,a.C4)(["is-size-6",{"has-text-grey":t.completedAt}])},(0,a.v_)(t.user?t.user.fullName:e.$t("Unknown")),3),t.completedAt?((0,i.uX)(),(0,i.CE)("span",$t,(0,a.v_)(e.$filters.fromNow(t.completedAt)),1)):(0,i.Q3)("",!0)]),Ms.canEdit?((0,i.uX)(),(0,i.CE)("button",{key:1,class:"button is-small is-white",onClick:e=>Ms.removeAssignee(t)},[(0,i.Lk)("span",Ft,[(0,i.bF)(xs,{icon:"fa-light fa-times"})])],8,xt)):(0,i.Q3)("",!0)]))),128))])):((0,i.uX)(),(0,i.CE)("div",It,(0,a.v_)(e.$t("No assignees")),1))],512)):(0,i.Q3)("",!0),(0,i.Lk)("div",_t,[(0,i.Lk)("div",Xt,[(0,i.bF)(Vs,{label:e.$t("Tip: paste a bulleted list to create multiple items at once"),position:"is-right",type:"is-dark",delay:500},{default:(0,i.k6)(()=>[(0,i.Lk)("div",{class:"is-flex is-align-items-center is-clickable checklist-header-toggle",onClick:t[27]||
1(t[27]=e=>Ts.isChecklistCollapsed=!Ts.isChecklistCollapsed)},[(0,i.Lk)("span",{class:(0,a.C4)(["icon is-small mr-1 checklist-chevron",{"is-rotated":Ts.isChecklistCollapsed}])},[(0,i.bF)(xs,{icon:"fa-light fa-chevron-down"})],2),(0,i.Lk)("span",At,(0,a.v_)(e.$t("Checklist")),1),Ms.subtaskStats.total>0?((0,i.uX)(),(0,i.CE)("span",Pt,(0,a.v_)(Ms.subtaskStats.completed)+"/"+(0,a.v_)(Ms.subtaskStats.total),1)):(0,i.Q3)("",!0)])]),_:1},8,["label"]),Ts.item.subtasks&&Ts.item.subtasks.length>0&&Ms.canEdit?((0,i.uX)(),(0,i.Wv)(Vs,{key:0,label:e.$t("Clear all items"),position:"is-left",type:"is-dark"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{type:"button",class:"button is-small is-white is-rounded",onClick:t[28]||(t[28]=(...e)=>Ms.clearAllSubtasks&&Ms.clearAllSubtasks(...e))},[(0,i.Lk)("span",jt,[(0,i.bF)(xs,{icon:"fa-light fa-trash"})])])]),_:1},8,["label"])):(0,i.Q3)("",!0)]),(0,i.Lk)("div",{class:(0,a.C4)(["checklist-collapsible",{"is-collapsed":Ts.isChecklistCollapsed}])},[Ms.subtaskStats.total>0?((0,i.uX)(),(0,i.CE)("div",Ut,[(0,i.Lk)("div",{class:"subtask-progress-bar",style:(0,a.Tr)({width:Ms.subtaskStats.percentage+"%"})},null,4)])):(0,i.Q3)("",!0),(0,i.Lk)("div",{ref:"subtaskList",class:"subtask-list",onDragover:t[34]||(t[34]=(0,n.D$)((...e)=>Ms.onDragOver&&Ms.onDragOver(...e),["prevent"])),onDrop:t[35]||(t[35]=(0,n.D$)((...e)=>Ms.onDrop&&Ms.onDrop(...e),["prevent"]))},[Ts.dragState.isDragging&&0===Ts.dragState.dropIndex?((0,i.uX)(),(0,i.CE)("div",Wt)):(0,i.Q3)("",!0),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ms.sortedSubtasks,(e,s)=>((0,i.uX)(),(0,i.CE)(i.FK,{key:e.id},[(0,i.Lk)("div",{class:(0,a.C4)(["subtask-item",{"is-dragging":Ts.dragState.draggingId===e.id}]),draggable:Ms.canEdit&&Ts.editingSubtaskId!==e.id,"data-index":s,onDragstart:t=>Ms.onDragStart(t,e,s),onDragend:t[33]||(t[33]=(...e)=>Ms.onDragEnd&&Ms.onDragEnd(...e))},[(0,i.Lk)("label",{class:"subtask-checkbox",onClick:t[29]||(t[29]=(0,n.D$)(()=>{},["stop"]))},[(0,i.Lk)("input",{type:"checkbox",checked:e.done,disabled:!Ms.canEdit,onChange:t=>Ms.toggleSubtask(e.id)},null,40,Bt),(0,i.Lk)("span",Qt,[e.done?((0,i.uX)(),(0,i.Wv)(xs,{key:0,icon:"fa-light fa-check",class:"check-icon"})):(0,i.Q3)("",!0)])]),Ts.editingSubtaskId===e.id?((0,i.uX)(),(0,i.Wv)(Bs,{key:0,ref_for:!0,ref:"subtaskEditInput",modelValue:Ts.editingSubtaskTitle,"onUpdate:modelValue":t[30]||(t[30]=e=>Ts.editingSubtaskTitle=e),project:Ts.item.project,mentions:e.mentions||[],"contact-mentions":e.contactMentions||[],"focus-on-mount":!0,onMentionsChanged:t[31]||(t[31]=e=>Ts.editingSubtaskMentions=e),onContactMentionsChanged:t[32]||(t[32]=e=>Ts.editingSubtaskContactMentions=e),onCommit:t=>Ms.saveSubtaskEdit(e.id),onCancel:Ms.cancelEditingSubtask},null,8,["modelValue","project","mentions","contact-mentions","onCommit","onCancel"])):((0,i.uX)(),(0,i.CE)("span",{key:1,class:(0,a.C4)(["subtask-title",{"is-completed":e.done}]),onClick:t=>Ms.onSubtaskTitleClick(t,e),innerHTML:Ms.renderSubtaskTitle(e)},null,10,Nt)),Ms.canEdit?((0,i.uX)(),(0,i.CE)("span",Kt,[(0,i.bF)(xs,{icon:"fa-light fa-grip-vertical"})])):(0,i.Q3)("",!0),Ms.canEdit?((0,i.uX)(),(0,i.CE)("button",{key:3,class:"subtask-delete",onClick:(0,n.D$)(t=>Ms.removeSubtask(e.id),["stop"])},[(0,i.bF)(xs,{icon:"fa-light fa-xmark"})],8,Gt)):(0,i.Q3)("",!0)],42,Vt),Ts.dragState.isDragging&&Ts.dragState.dropIndex===s+1?((0,i.uX)(),(0,i.CE)("div",zt)):(0,i.Q3)("",!0)],64))),128)),Ts.item.subtasks&&0!==Ts.item.subtasks.length||Ms.canEdit?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",Ot,[(0,i.Lk)("span",Rt,(0,a.v_)(e.$t("No checklist items")),1)]))],544),Ms.canEdit?((0,i.uX)(),(0,i.CE)("div",Ht,[(0,i.Lk)("div",Yt,[(0,i.Lk)("span",Zt,[(0,i.bF)(xs,{icon:"fa-light fa-square"})]),(0,i.bF)(Bs,{ref:"newSubtaskInput",modelValue:Ts.newSubtaskTitle,"onUpdate:modelValue":t[36]||(t[36]=e=>Ts.newSubtaskTitle=e),project:Ts.item.project,placeholder:e.$t("Add item"),onMentionsChanged:t[37]||(t[37]=e=>Ts.newSubtaskMentions=e),onContactMentionsChanged:t[38]||(t[38]=e=>Ts.newSubtaskContactMentions=e),onCommit:Ms.addSubtask,onCancel:Ms.onNewSubtaskBlur},null,8,["modelValue","project","placeholder","onCommit","onCancel"])])])):(0,i.Q3)("",!0)],2)])])]),Ts.commentsTotal>0?((0,i.uX)(),(0,i.CE)("div",qt,[t[65]||(t[65]=(0,i.Lk)("div",{class:"level-left"},null,-1)),(0,i.Lk)("div",Jt,[(0,i.Lk)("div",es,[(0,i.Lk)("span",ts,[(0,i.bF)(xs,{icon:"fal fa-comment-lines"})]),(0,i.Lk)("span",ss,(0,a.v_)(Ts.commentsTotal),1)])])])):(0,i.Q3)("",!0)])]),Ts.isLoadingComments?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},(0,i.pI)(3,e=>
1(0,i.Lk)("div",{key:"comment-skeleton-"+e,style:{display:"flex","align-items":"flex-start",gap:"12px",padding:"12px 20px"}},[(0,i.Lk)("div",is,[(0,i.bF)(Qs,{circle:"",width:"36px",height:"36px",animated:""})]),(0,i.Lk)("div",as,[(0,i.Lk)("div",ns,[(0,i.bF)(Qs,{height:"13px",animated:""})]),(0,i.Lk)("div",ls,[(0,i.bF)(Qs,{height:"13px",animated:""})]),(0,i.Lk)("div",os,[(0,i.bF)(Qs,{height:"13px",animated:""})])])])),64)):(0,i.Q3)("",!0),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ts.comments,(e,s)=>((0,i.uX)(),(0,i.CE)("div",{key:e.id,class:"o-comment"},[((0,i.uX)(),(0,i.Wv)(Ns,{ref_for:!0,ref:"comment_"+e.id,key:"comment_"+e.id,"is-reply":!1,"updated-comment-id":Ts.updatedCommentId,"is-moderator":Ms.isModerator,"comment-save":Ms.commentSaveReply,"moderate-post":Ms.moderatePost,"load-replies":Ms.loadReplies,"open-gallery":Ms.openGallery,"new-comment":Ts.newComment,"comment-saved":Ts.commentSaved,item:Ts.item,project:Ts.item.project,"reply-parent-id":Ts.replyParentId,"is-saving-comment":Ts.isSavingComment,reactions:{},"react-to-comment":()=>{},"reactions-total":()=>0,replies:Ts.replies,index:s,comment:e,onChangedReplyParent:t[39]||(t[39]=e=>Ts.replyParentId=e),onRemoved:e=>Ms.removedComment(s),onRemovedReply:Ms.removedReply,onReplySaved:Ms.handleReplySaved,onMentionClicked:Ms.openUserModal,onContactMentionClicked:Ms.openContactModal},null,8,["updated-comment-id","is-moderator","comment-save","moderate-post","load-replies","open-gallery","new-comment","comment-saved","item","project","reply-parent-id","is-saving-comment","replies","index","comment","onRemoved","onRemovedReply","onReplySaved","onMentionClicked","onContactMentionClicked"]))]))),128)),(0,i.Lk)("div",{class:(0,a.C4)(["o-comment-addnew is-flex is-align-items-flex-start is-relative",{"comment-form-expanded":Ms.isCommentExpanded}]),onDragover:t[57]||(t[57]=(0,n.D$)(()=>{},["prevent"])),onDragenter:t[58]||(t[58]=(0,n.D$)((...e)=>Ms.onFileDragEnter&&Ms.onFileDragEnter(...e),["prevent"])),onDragleave:t[59]||(t[59]=(0,n.D$)((...e)=>Ms.onFileDragLeave&&Ms.onFileDragLeave(...e),["prevent"])),onDrop:t[60]||(t[60]=(0,n.D$)((...e)=>Ms.onFileDrop&&Ms.onFileDrop(...e),["prevent"]))},[Ts.isFileDragging?((0,i.uX)(),(0,i.CE)("div",ds,[(0,i.Lk)("span",rs,[(0,i.bF)(xs,{icon:"fa-light fa-cloud-arrow-up"})]),(0,i.Lk)("span",null,(0,a.v_)(e.$t("Drop files here")),1)])):(0,i.Q3)("",!0),(0,i.bF)(Es,{class:"o-comment-author is-hidden-mobile mr-1",item:e.user,"is-type":"roundXMedium"},null,8,["item"]),(0,i.Lk)("div",cs,[(0,i.Lk)("div",{class:(0,a.C4)(["o-comment-form",{"o-comment-form-sticky":e.$isMobile()}])},[(0,i.Lk)("div",us,[(0,i.bF)(js,{ref:"postInput","new-comment":Ts.newComment,project:Ts.item.project,"is-comment":!0,placeholder:e.$t("Write a comment..."),saved:Ts.commentSaved,"focus-on-mount":!1,"is-reply":!0,rows:1,"hide-emoji":!0,onFocus:t[40]||(t[40]=e=>Ts.isCommentFocused=!0),onBlur:Ms.onCommentBlur,onMentionsChanged:t[41]||(t[41]=e=>Ts.commentMentions=e)},null,8,["new-comment","project","placeholder","saved","onBlur"]),(0,i.bF)(n.eB,{name:"fade-icons"},{default:(0,i.k6)(()=>[Ms.isCommentExpanded?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",hs,[(0,i.Lk)("span",{class:"icon is-clickable",onMousedown:t[42]||(t[42]=(0,n.D$)(()=>{},["prevent"])),onClick:t[43]||(t[43]=t=>e.$refs.postInput.toggleEmojiPicker("right"))},[(0,i.bF)(xs,{icon:"fal fa-smile"})],32),(0,i.Lk)("span",{class:"icon is-clickable",title:e.$t("Images"),onMousedown:t[44]||(t[44]=(0,n.D$)(()=>{},["prevent"])),onClick:t[45]||(t[45]=(...e)=>Ms.triggerPhotoUpload&&Ms.triggerPhotoUpload(...e))},[(0,i.bF)(xs,{icon:"fa-light fa-image"})],40,ms),(0,i.Lk)("span",{class:"icon is-clickable",title:e.$t("Files"),onMousedown:t[46]||(t[46]=(0,n.D$)(()=>{},["prevent"])),onClick:t[47]||(t[47]=(...e)=>Ms.triggerFileUpload&&Ms.triggerFileUpload(...e))},[(0,i.bF)(xs,{icon:"fa-light fa-folder"})],40,gs)]))]),_:1}),(0,i.Lk)("button",{class:(0,a.C4)(["button is-primary is-rounded is-hidden-tablet sendButton",{"is-loading":Ts.isSavingComment}]),disabled:Ts.isSavingComment,type:"submit",onClick:t[48]||(t[48]=(...e)=>Ms.saveComment&&Ms.saveComment(...e))},[(0,i.Lk)("span",ks,[(0,i.bF)(xs,{icon:"fa-light fa-paper-plane-top"})])],10,ps)]),(0,i.bF)(n.eB,{name:"slide-actions"},{default:(0,i.k6)(()=>[Ms.isCommentExpanded?((0,i.uX)(),(0,i.CE)("div",bs,[(0,i.Lk)("div",fs,[(0,i.Lk)("span",{class:"icon is-clickable",onMousedown:t[49]||(t[49]=(0,n.D$)(()=>{},["prevent"])),onClick:t[50]||(t[50]=t=>e.$refs.postInput.toggleEmojiPicker("left"))}
1,[(0,i.bF)(xs,{icon:"fal fa-smile"})],32),(0,i.Lk)("span",{class:"icon is-clickable",title:e.$t("Images"),onMousedown:t[51]||(t[51]=(0,n.D$)(()=>{},["prevent"])),onClick:t[52]||(t[52]=(...e)=>Ms.triggerPhotoUpload&&Ms.triggerPhotoUpload(...e))},[(0,i.bF)(xs,{icon:"fa-light fa-image"})],40,ys),(0,i.Lk)("span",{class:"icon is-clickable",title:e.$t("Files"),onMousedown:t[53]||(t[53]=(0,n.D$)(()=>{},["prevent"])),onClick:t[54]||(t[54]=(...e)=>Ms.triggerFileUpload&&Ms.triggerFileUpload(...e))},[(0,i.bF)(xs,{icon:"fa-light fa-folder"})],40,vs)])])):(0,i.Q3)("",!0)]),_:1}),(0,i.Lk)("div",Cs,[(0,i.bF)(Us,{ref:"mediaUpload",photos:Ts.photos,videos:Ts.videos,files:Ts.files,item:Ts.item,medias:Ts.medias,"is-comment":!0,"is-dragging":Ts.isFileDragging,"hide-buttons":!0,onDropHandled:t[55]||(t[55]=e=>Ts.isFileDragging=!1)},null,8,["photos","videos","files","item","medias","is-dragging"])]),Ms.hasCommentContent||Ts.isSavingComment?((0,i.uX)(),(0,i.CE)("button",{key:0,class:"comment-form-send-bottom is-hidden-mobile",disabled:Ts.isSavingComment,type:"submit",onClick:t[56]||(t[56]=(...e)=>Ms.saveComment&&Ms.saveComment(...e))},[Ts.isSavingComment?((0,i.uX)(),(0,i.CE)("span",ws,[(0,i.bF)(xs,{icon:"fa-light fa-spinner-third",spin:""})])):((0,i.uX)(),(0,i.CE)("span",Ds,[(0,i.bF)(xs,{icon:"fa-light fa-paper-plane-top"})]))],8,Ss)):(0,i.Q3)("",!0)],2)])],34)],2)):(0,i.Q3)("",!0),(0,i.bF)(Gs,{modelValue:Ts.showEditModal,"onUpdate:modelValue":t[62]||(t[62]=e=>Ts.showEditModal=e),"has-modal-card":"","trap-focus":"","full-screen":e.$isMobile(),"can-cancel":["escape","outside"]},{default:(0,i.k6)(()=>[Ts.item&&Ts.showEditModal?((0,i.uX)(),(0,i.Wv)(Ks,{key:0,"item-loaded":Ts.item,project:Ms.editProject,goals:Ms.editGoals,statuses:Ms.projectStatuses,types:Ms.projectTypes,onClose:t[61]||(t[61]=e=>Ts.showEditModal=!1),onTaskCreated:Ms.onTaskUpdated},null,8,["item-loaded","project","goals","statuses","types","onTaskCreated"])):(0,i.Q3)("",!0)]),_:1},8,["modelValue","full-screen"]),(0,i.bF)(Os,{modelValue:Ts.isUserModalVisible,"onUpdate:modelValue":t[63]||(t[63]=e=>Ts.isUserModalVisible=e),title:e.$t("Profile"),"modal-width":1100,"maximize-route":Ts.selectedUserId?{name:"UserShow",params:{item:Ts.selectedUserId}}:null,onClose:Ms.closeUserModal},{default:(0,i.k6)(()=>[Ts.selectedUserId?((0,i.uX)(),(0,i.Wv)(zs,{key:0,"user-id":Ts.selectedUserId},null,8,["user-id"])):(0,i.Q3)("",!0)]),_:1},8,["modelValue","title","maximize-route","onClose"]),(0,i.bF)(Rs,{modelValue:Ts.isContactModalVisible,"onUpdate:modelValue":t[64]||(t[64]=e=>Ts.isContactModalVisible=e),"contact-id":Ts.selectedContactId,onClose:Ms.closeContactModal},null,8,["modelValue","contact-id","onClose"])])])}s(44114),s(18111),s(22489),s(20116),s(7588),s(61701),s(18237),s(13579),s(17642),s(58004),s(33853),s(45876),s(32475),s(15024),s(31698);var Ts=s(40834),Ms=s(31823),Es=s(81084),$s=s(63520),xs=s(73432),Fs=s(51381),Is=s(86827),_s=s(76675),Xs=s(80762),As=s(20574),Ps=s(29341),js=s(23858),Us=s(95256),Ws=s(1448),Vs={name:"TaskShow",components:{ChecklistRowInput:js.A,LogoThumbnail:Ms.A,MobileViewHeader:Es.A,PostInput:$s.A,CommentItem:xs.A,TaskFormModal:Fs.A,MediaUpload:Is.A,Gallery:_s.A,ItemViewModal:Xs.A,UserShowContent:As["default"],ContactMentionProfileModal:Ps.A},mixins:[Ws.A],props:{project:{type:Object,default:null},goals:{type:Array,default:()=>[]},taskId:{type:[Number,String],default:null},isModal:{type:Boolean,default:!1}},emits:["task-title-updated","task-updated","task-deleted"],data(){return{isLoading:!1,isLoadingComments:!1,item:null,comments:[],commentsTotal:0,assigneeDropdownSearch:"",isAssigneeDropdownOpen:!1,teamMembers:[],showEditModal:!1,isUserModalVisible:!1,selectedUserId:null,isContactModalVisible:!1,selectedContactId:null,replies:{},replyParentId:null,newComment:{content:"",postType:"text"},isSavingComment:!1,commentSaved:!1,commentMentions:[],updatedCommentId:null,photos:[],videos:[],files:[],medias:[],isFileDragging:!1,isCommentFocused:!1,galleryIndex:null,photosUrlSource:[],videosUrlSource:[],isAddingSubtask:!1,isChecklistCollapsed:!1,newSubtaskTitle:"",newSubtaskMentions:[],newSubtaskContactMentions:[],editingSubtaskMentions:[],editingSubtaskContactMentions:[],editingSubtaskId:null,editingSubtaskTitle:"",dragState:{isDragging:!1,draggingId:null,dragIndex:null,dropIndex:null},projectGoals:[],loadedProject:null,isEditingTitle:!1,isEditingContent:!1,inlineTitle:"",inlineContent:{content:""},inlineContentMentions:[],inlineContentContactMentions:[],isSavingInline:!1,inlinePhotos:[],inlineVideos:[],inlineFiles:[],inlineMedias:[],inlineIsDragging:!1}},computed:{...(0,Ts.L8)(["tenant","user","isGranted"]),isWithinProjectLayout(){return this.isModal||"ProjectTaskShow"===this.$route.name},canEdit(){return!!this.isGranted("ADMIN_TENANT")||(this.item?.createdBy?.id===this.user.id||(this.item?.assignee?.id===this.user.id||(this.item?.project?.owner?.id===this.user.id||!!this.taskAssignees.some(e=>e.user&&e.user.id===this.user.id))))},taskAssignees(){return this.item?this.item.taskAssignees&&this.item.taskAssignees.length>0?this.item.taskAssignees:this.item.assignee?[{user:this.item.assignee,completedAt:null}]:[]:[]},assigneeCompletionStats(){const e=this.taskAssignees.length,t=this.taskAssignees.filter(e=>e.completedAt).length;return{total:e,completed:t,allCompleted:e>0&&t===e}},taskAssigneeUsers(){return this.item?this.item.taskAssignees&&this.item.taskAssignees.length>0?this.item.taskAssignees.filter(e=>e.user).map(e=>e.user):this.item.assignee?[this.item.assignee]:[]:[]},assigneeDropdownList(){const e=new Set(this.taskAssigneeUsers.map(e=>e.id));let t=[...this.teamMembers];if(this.assigneeDropdownSearch&&this.assigneeDropdownSearch.length>0){const e=this.assigneeDropdownSearch.toLowerCase();t=t.filter(t=>t.fullName.toLowerCase().includes(e))}const s=t.filter(t=>e.has(t.id)),i=t.filter(t=>!e.has(t.id));return[...s,...i]},canDelete(){return!!this.isGranted("ADMIN_TENANT")||(this.item?.createdBy?.id===this.user.id||this.item?.project?.owner?.id===this.user.id)},isModerator(){return this.isGranted("HR_TENANT")},isCommentExpanded(){return this.isCommentFocused||this.newComment.content&&this.newComment.content.length>0},hasCommentContent(){const e=this.newComment.content&&this.newComment.content.trim().length>0,t=this.$refs.mediaUpload&&(this.$refs.mediaUpload.uploadedMedia?.length>0||this.photos.length>0||this.videos.length>0||this.files.length>0);return e||t},taskDescription(){return(0,Us.gt)(this.item?.mainPost?.content||this.item?.description||"",this.item?.mainPost?.mentions,this.item?.mainPost?.contactMentions)},mainPostImages(){return this.item?.mainPost?.medias?this.item.mainPost.medias.filter(e=>"postimage"===e.type):[]},mainPostVideos(){return this.item?.mainPost?.medias?this.item.mainPost.medias.filter(e=>"postvideo"===e.type):[]},mainPostFiles(){return this.item?.mainPost?.medias?this.item.mainPost.medias.filter(e=>"postfile"===e.type):[]},taskProjectUuid(){return this.item?.project?.uuid||this.project?.uuid||this.loadedProject?.uuid},openBlockers(){return(this.item?.blockedBy||[]).filter(e=>!e.status||!e.status.isClosed)},editProject(){return this.project?.settings?this.project:this.loadedProject||this.project||this.item?.project},editGoals(){return this.goals?.length?this.goals:this.projectGoals},projectStatuses(){return this.project?.issueStatuses?.length?this.project.issueStatuses:this.item?.project?.issueStatuses||[]},openStatuses(){return this.projectStatuses.filter(e=>!e.isClosed)},closedStatuses(){return this.projectStatuses.filter(e=>e.isClosed)},projectTypes(){return this.project?.issueTypes?.length?this.project.issueTypes:this.item?.project?.issueTypes||this.loadedProject?.issueTypes||[]},isOverdue(){return!!this.item?.dateDue&&new Date(this.item.dateDue)<new Date},subtaskStats(){const e=this.item?.subtasks||[],t=e.length,s=e.filter(e=>e.done).length,i=t>0?Math.round(s/t*100):0;return{total:t,completed:s,percentage:i}},sortedSubtasks(){return this.item?.subtasks?[...this.item.subtasks].sort((e,t)=>
1(e.position||0)-(t.position||0)):[]}},watch:{taskId:{handler(e){e&&this.loadTask()}}},created(){this.loadTask()},mounted(){this._onDocumentClick=e=>{this.isAssigneeDropdownOpen&&(e.target.closest(".assignee_column")||e.target.closest(".mobile-issue-assignee")||e.target.closest(".assignee-toggle-panel")||e.target.closest(".assignees-section")||(this.isAssigneeDropdownOpen=!1,this.assigneeDropdownSearch="",document.body.click()))},document.addEventListener("click",this._onDocumentClick,!0)},beforeUnmount(){this._onDocumentClick&&document.removeEventListener("click",this._onDocumentClick,!0)},methods:{mediaSrc:Us.F9,tagStyle(e){if(!e)return{};if(e.startsWith("#"))return{backgroundColor:e,color:"white"};const t="dark"===this.$store.state.theme;return{backgroundColor:`var(--${e}-${t?"800":"200"})`,color:`var(--${e}-${t?"200":"800"})`}},loadTask(){const e=this.taskId||this.$route.params.taskId||this.$route.params.item;e&&(this.isLoading=!0,this.$http.plain.get("/tasks/"+e).then(e=>{this.item=e.data,this.$emit("task-title-updated",this.item.title),this.loadComments(),this.loadProjectContext(),0===this.teamMembers.length&&this.loadTeamMembers()}).catch(e=>{console.log(e),this.$buefy.toast.open({message:this.$t("Task not found"),type:"is-danger"}),this.isModal||this.goBack()}).finally(()=>{this.isLoading=!1}))},loadProjectContext(){const e=this.item?.project?.uuid||this.project?.uuid;e&&!this.project?.settings&&this.$http.plain.get("/projects/"+e).then(t=>{this.loadedProject=t.data,this.loadedProject?.settings?.hasGoals&&this.loadProjectGoals(e)}).catch(e=>{console.log(e)})},loadProjectGoals(e){this.$http.plain.get("/goals",{params:{project:e,"order[position]":"asc"}}).then(e=>{this.projectGoals=e.data["hydra:member"]||[]}).catch(e=>{console.log(e)})},loadComments(){this.item&&(this.isLoadingComments=!0,this.$http.plain.get("/tasks/"+this.item.uuid+"/comments",{params:{"exists[parent]":!1,"order[dateCreated]":"asc",includeReplies:1}}).then(e=>{const t=e.data["hydra:member"]||[];this.comments=[],this.replies={},t.forEach(e=>{e.parentId?(this.replies[e.parentId]||(this.replies[e.parentId]=[]),this.replies[e.parentId].find(t=>t.id===e.id)||this.replies[e.parentId].push(e)):this.comments.find(t=>t.id===e.id)||this.comments.push(e)}),this.commentsTotal=t.length}).catch(e=>{console.error(e)}).finally(()=>{this.isLoadingComments=!1}))},loadTeamMembers(){const e=this.project?.uuid||this.item?.project?.uuid;e&&this.$http.plain.get("/search-project-user/"+e+"/_").then(e=>{this.teamMembers=e.data.map(e=>({...e,fullName:e.firstName+" "+e.lastName}))}).catch(e=>{console.log(e);const t=this.project?.owner||this.item?.project?.owner;t&&(this.teamMembers=[t])})},isTaskAssignee(e){return this.taskAssigneeUsers.some(t=>t.id===e.id)},toggleTaskAssignee(e){const t=this.taskAssignees.find(t=>t.user&&t.user.id===e.id),s=this.item.taskAssignees?[...this.item.taskAssignees]:null,i=this.item.assignee;if(t){this.item.taskAssignees&&this.item.taskAssignees.length>0?this.item.taskAssignees=this.item.taskAssignees.filter(t=>!t.user||t.user.id!==e.id):this.item.assignee=null;const a=()=>{this.item.taskAssignees=s,this.item.assignee=i};t.uuid?this.$http.plain.delete("/task_assignees/"+t.uuid).then(()=>{this.loadTask()}).catch(e=>{console.log(e),a(),this.$buefy.toast.open({message:this.$t("Failed to remove assignee"),type:"is-danger"})}):this.$http.plain.patch("/tasks/"+this.item.uuid,{assignee:null}).then(e=>{this.item=e.data,this.$emit("task-updated",this.item)}).catch(e=>{console.log(e),a()})}else this.item.taskAssignees||(this.item.taskAssignees=[]),this.item.taskAssignees=[...this.item.taskAssignees,{user:e,completedAt:null}],this.$http.plain.post("/task_assignees",{task:this.item["@id"],user:e["@id"]||"/api/v1/users/"+e.id}).then(()=>{this.loadTask()}).catch(e=>{console.log(e),this.item.taskAssignees=s,this.item.assignee=i,this.$buefy.toast.open({message:this.$t("Failed to add assignee"),type:"is-danger"})})},goBack(){window.history.length>1?this.$router.go(-1):this.item?.project?.uuid?this.$router.push({name:"ProjectShow",params:{id:this.item.project.uuid}}):this.$router.push({name:"Dashboard"})},startEditingTitle(){this.inlineTitle=this.item.title||"",this.isEditingTitle=!0,this.$nextTick(()=>{const e=this.$refs.titleInlineInput?.$el?.querySelector("input");e&&e.focus()})},cancelEditingTitle(){this.isEditingTitle=!1}
1,saveInlineTitle(){this.isEditingTitle&&(this.inlineTitle.trim()&&!this.isSavingInline&&this.inlineTitle.trim()!==this.item.title?(this.isSavingInline=!0,this.$http.plain.patch("/tasks/"+this.item.uuid,{title:this.inlineTitle.trim()}).then(e=>{this.item.title=e.data.title,this.$emit("task-title-updated",this.item.title),this.isEditingTitle=!1}).catch(e=>{console.error(e)}).finally(()=>{this.isSavingInline=!1})):this.isEditingTitle=!1)},onInlineMentionsChanged(e){this.inlineContentMentions=[...new Set([...this.inlineContentMentions,...e])]},onInlineContactMentionsChanged(e){this.inlineContentContactMentions=[...new Set([...this.inlineContentContactMentions,...e])]},startEditingContent(){this.inlineContent={content:(0,Us.jT)(this.item.mainPost?.content||this.item.description||"")},this.inlineContentMentions=this.item.mainPost?.mentions?this.item.mainPost.mentions.map(e=>e.id):[],this.inlineContentContactMentions=this.item.mainPost?.contactMentions?this.item.mainPost.contactMentions.map(e=>e.id):[],this.inlinePhotos=[],this.inlineVideos=[],this.inlineFiles=[],this.inlineMedias=this.item.mainPost?.medias?[...this.item.mainPost.medias]:[],this.isEditingContent=!0},cancelEditingContent(){this.isEditingContent=!1,this.inlinePhotos=[],this.inlineVideos=[],this.inlineFiles=[],this.inlineMedias=[]},onInlineDragToggle(){this.inlineIsDragging=!this.inlineIsDragging},onInlineDropFiles(e){this.onInlineDragToggle();const t=Array.from(e.dataTransfer.files||[]);t.length&&this.$refs.inlineMediaUpload&&this.$refs.inlineMediaUpload.addExternalFiles(t,!1)},saveInlineContent(){if(this.isSavingInline)return;this.isSavingInline=!0;const e=this.$refs.inlineMediaUpload;Promise.resolve().then(()=>e?e.uploadMedia("postimage"):null).then(()=>e?e.uploadMedia("postvideo"):null).then(()=>e?e.uploadMedia("postfile"):null).then(()=>{const t=e?e.uploadedMedia:[],s=e?e.removedMedia:[];return this.$http.plain.patch("/tasks/"+this.item.uuid,{content:this.inlineContent.content,mentions:this.inl
1ineContentMentions,contactMentions:this.inlineContentContactMentions,uploadedMedia:t,removedMedia:s})}).then(e=>{e.data.mainPost&&(this.item.mainPost=e.data.mainPost),this.isEditingContent=!1,this.inlinePhotos=[],this.inlineVideos=[],this.inlineFiles=[],this.inlineMedias=[]}).catch(e=>{console.error(e)}).finally(()=>{this.isSavingInline=!1})},openEditModal(){this.showEditModal=!0},onTaskUpdated(e){e&&(this.item=e),this.showEditModal=!1},updateTask(e,t){const s={};("status"===e||"type"===e)&&t&&t["@id"]?s[e]=t["@id"]:s[e]=t,this.$http.plain.patch("/tasks/"+this.item.uuid,s).then(e=>{this.item=e.data,this.$emit("task-updated",this.item)}).catch(e=>{console.log(e),this.$buefy.toast.open({message:this.$t("Failed to update task"),type:"is-danger"})})},scrollToAssignees(){this.$refs.assigneesSection&&this.$refs.assigneesSection.scrollIntoView({behavior:"smooth",block:"center"})},canToggleCompletion(e){return!!e.uuid&&(!!this.isGranted("ADMIN_TENANT")||e.user&&e.user.id===this.user.id)},toggleAssigneeComplete(e){if(!e.uuid)return;const t=this.item.taskAssignees.findIndex(t=>t.uuid===e.uuid),s=e.completedAt,i=this.item.assigneeCompletionStats?{...this.item.assigneeCompletionStats}:null;-1!==t&&(this.item.taskAssignees[t].completedAt=e.completedAt?null:(new Date).toISOString(),this.item.taskAssignees=[...this.item.taskAssignees]),this.$http.plain.post("/task_assignees/"+e.uuid+"/toggle-complete").then(e=>{-1!==t&&(this.item.taskAssignees[t].completedAt=e.data.completedAt),e.data.assigneeCompletionStats&&(this.item.assigneeCompletionStats=e.data.assigneeCompletionStats),this.$emit("task-updated",this.item)}).catch(e=>{console.log(e),-1!==t&&(this.item.taskAssignees[t].completedAt=s,this.item.taskAssignees=[...this.item.taskAssignees]),this.item.assigneeCompletionStats=i,this.$buefy.toast.open({message:this.$t("Failed to update completion"),type:"is-danger"})})},removeAssignee(e){const t=this.item.taskAssignees?[...this.item.taskAssignees]:null,s=this.item.assignee;if(!e.uuid)return this.item.assignee=null,void this.$http.plain.patch("/tasks/"+this.item.uuid,{assignee:null}).then(e=>{this.item=e.data,this.$emit("task-updated",this.item)}).catch(e=>{console.log(e),this.item.assignee=s});this.item.taskAssignees=this.item.taskAssignees.filter(t=>t.uuid!==e.uuid),this.$http.plain.delete("/task_assignees/"+e.uuid).then(()=>{this.loadTask()}).catch(e=>{console.log(e),this.item.taskAssignees=t,this.$buefy.toast.open({message:this.$t("Failed to remove assignee"),type:"is-danger"})})},focusCommentInput(){this.$refs.postInput&&this.$refs.postInput.focusInput()},onFileDragEnter(e){e.dataTransfer?.types?.includes("Files")&&(this.isFileDragging=!0)},onFileDragLeave(e){const t=e.currentTarget.getBoundingClientRect();(e.clientX<t.left||e.clientX>=t.right||e.clientY<t.top||e.clientY>=t.bottom)&&(this.isFileDragging=!1)},onFileDrop(e){this.isFileDragging=!1;const t=Array.from(e.dataTransfer?.files||[]);t.length>0&&this.$refs.mediaUpload&&this.$refs.mediaUpload.addExternalFiles(t,!0)},onCommentBlur(){setTimeout(()=>{this.isCommentFocused=!1},80)},triggerPhotoUpload(){this.$refs.mediaUpload&&this.$refs.mediaUpload.triggerPhotoUpload()},triggerFileUpload(){this.$refs.mediaUpload&&this.$refs.mediaUpload.triggerFileUpload()},uploadMedia(e){return this.$refs.mediaUpload?this.$refs.mediaUpload.uploadMedia(e):Promise.resolve()},saveComment(){if(this.isSavingComment)return;const e=this.newComment.content&&this.newComment.content.trim().length>0,t=this.photos.length>0||this.videos.length>0||this.files.length>0;(e||t)&&(this.isSavingComment=!0,Promise.all([this.uploadMedia("postimage"),this.uploadMedia("postvideo"),this.uploadMedia("postfile")]).then(()=>{const e={content:this.newComment.content||"",uploadedMedia:this.$refs.mediaUpload?.uploadedMedia||[],mentions:this.$refs.postInput?.getMentions()||this.commentMentions||[],contactMentions:this.$refs.postInput?.getContactMentions()||[]};return this.$http.plain.post("/tasks/"+this.item.uuid+"/comments",e)}).then(e=>{const t={...e.data,owner:e.data.owner||this.user,myReactions:e.data.myReactions||[]};this.comments.push(t),this.commentsTotal++,this.item.commentsCount=(this.item.commentsCount||0)+1,this.newComment.content="",this.photos=[],this.videos=[],this.files=[],this.medias=[],this.$refs.mediaUpload&&(this.$refs.mediaUpload.uploadedMedia=[],this.$refs.mediaUpload.removedMedia=[]),this.commentMentions=[],this.$refs.postInput&&this.$refs.postInput.clearMentions(),this.commentSaved=!this.commentSaved}).catch(e=>
1{console.log(e),this.$buefy.toast.open({message:this.$t("Failed to add comment"),type:"is-danger"})}).finally(()=>{this.isSavingComment=!1}))},commentSaveReply(){const e=this.replyParentId;if(!e)return;const t=this.$refs["comment_"+e]?.[0];if(!t)return;const s=t.localNewComment?.content||"",i=t.$refs?.mediaUpload,a=i&&(i.photos?.length>0||i.videos?.length>0||i.files?.length>0);if((!s||""===s.trim())&&!a)return;this.isSavingComment=!0;const n=i?[i.uploadMedia("postimage"),i.uploadMedia("postvideo"),i.uploadMedia("postfile")]:[],l=t.$refs?.postInput,o=l?l.getMentions():[],d=l?l.getContactMentions():[];Promise.all(n).then(()=>{const t={content:s||"",parent:e,uploadedMedia:i?.uploadedMedia||[],mentions:o,contactMentions:d};return this.$http.plain.post("/tasks/"+this.item.uuid+"/comments/reply",t)}).then(s=>{this.replies[e]||(this.replies[e]=[]);const a={...s.data,owner:s.data.owner||this.user,myReactions:s.data.myReactions||[]};this.replies[e].push(a),this.commentsTotal++,this.replyParentId=null,i&&(i.photos=[],i.videos=[],i.files=[],i.uploadedMedia=[],i.removedMedia=[]),t&&(t.medias=[],t.localNewComment.content=""),this.commentSaved=!this.commentSaved}).catch(e=>{console.log(e),this.$buefy.toast.open({message:this.$t("Failed to add reply"),type:"is-danger"})}).finally(()=>{this.isSavingComment=!1})},handleReplySaved(e){this.replies[e.parentId]||(this.replies[e.parentId]=[]),this.replies[e.parentId].push(e.reply),this.commentsTotal++,this.replyParentId=null;let t=this.comments.find(t=>t.id===e.parentId);if(!t)for(const s in this.replies){const i=this.replies[s].find(t=>t.id===e.parentId);if(i){t=i;break}}t&&(t.childrenCount=(t.childrenCount||0)+1)},removedComment(e){this.comments.splice(e,1),this.commentsTotal--,this.item.commentsCount=Math.max((this.item.commentsCount||1)-1,0)},removedReply(e,t){this.replies[e]&&(this.replies[e].splice(t,1),this.commentsTotal--)},moderatePost(e,t,s){const i=s?"restore":"moderate";this.$http.plain.patch("/posts/"+e.id+"/"+i,{}).then(()=>{e.moderated=!s}).catch(e=>console.log(e))},loadReplies(e){this.$http.plain.get("/tasks/"+this.item.uuid+"/comments",{params:{parent:e,"order[dateCreated]":"asc"}}).then(t=>{this.replies[e]=t.data["hydra:member"]||[]}).catch(e=>console.log(e))},openGallery(e,t){const s=[],i=[];t&&t.medias&&t.medias.forEach(e=>{const t=(0,Us.F9)(e);"postimage"===e.type?s.push(t):"postvideo"===e.type&&i.push(t)}),this.photosUrlSource=s,this.videosUrlSource=i,this.galleryIndex=e},openMainPostGallery(e){this.openGallery(e,this.item.mainPost)},confirmDelete(){this.$buefy.dialog.confirm({title:this.$t("Delete task"),message:this.$t("Are you sure you want to delete this task?"),confirmText:this.$t("delete"),cancelText:this.$t("cancel"),type:"is-danger",hasIcon:!0,onConfirm:()=>this.deleteTask()})},deleteTask(){this.isLoading=!0,this.$http.plain.delete("/tasks/"+this.item.uuid).then(()=>{this.$buefy.toast.open({message:this.$t("Task deleted"),type:"is-success"}),this.$emit("task-deleted"),this.isModal||this.goBack()}).catch(e=>{console.log(e),this.$buefy.toast.open({message:this.$t("Failed to delete task"),type:"is-danger"})}).finally(()=>{this.isLoading=!1})},getPriorityColor(e){const t=this.$store.state.issuePrioritiesData.find(t=>t.id===e);return t?t.color:"#6b7280"},getPriorityIcon(e){const t=this.$store.state.issuePrioritiesData.find(t=>t.id===e);return t?t.icon:"fa-circle"},getPriorityLabel(e){const t=this.$store.state.issuePrioritiesData.find(t=>t.id===e);return t?this.$t(t.text):""},clearAllSubtasks(){this.saveSubtasks([])},handleSubtaskPaste(e){const t=e.clipboardData.getData("text/plain"),s=(0,Us.wt)(t);if(s.length<2)return;e.preventDefault();const i=this.item.subtasks?[...this.item.subtasks]:[];let a=i.reduce((e,t)=>Math.max(e,t.position||0),0);s.forEach(e=>{a++,i.push({id:this.generateSubtaskId(),title:e.title,done:e.done,mentions:[],contactMentions:[],position:a})}),this.saveSubtasks(i),this.newSubtaskTitle=""},addSubtask(){if(!this.newSubtaskTitle.trim())return;const e=this.item.subtasks?[...this.item.subtasks]:[],t=e.reduce((e,t)=>Math.max(e,t.position||0),0);e.push({id:this.generateSubtaskId(),title:this.newSubtaskTitle.trim(),done:!1,position:t+1,mentions:[...this.newSubtaskMentions],contactMentions:[...this.newSubtaskContactMentions]}),this.saveSubtasks(e),this.newSubtaskTitle="",this.newSubtaskMentions=[],this.newSubtaskContactMentions=[],this.$nextTick(()=>{this.$refs.newSubtaskInput&&this.$refs.newSubtaskInput.focus()})},toggleSubtask(e){const t=this.item.subtasks?[...this.item.subtasks]:[],s=t.find(t=>
1t.id===e);s&&(s.done=!s.done,this.saveSubtasks(t))},removeSubtask(e){const t=(this.item.subtasks||[]).filter(t=>t.id!==e);this.saveSubtasks(t.length>0?t:null)},renderSubtaskTitle(e){return(0,Us.YQ)(e.title||"",e.mentions||[],e.contactMentions||[])},startEditingSubtask(e){this.editingSubtaskId=e.id,this.editingSubtaskTitle=(0,Us.jT)(e.title||""),this.editingSubtaskMentions=[...e.mentions||[]],this.editingSubtaskContactMentions=[...e.contactMentions||[]]},cancelEditingSubtask(){this.editingSubtaskId=null,this.editingSubtaskTitle="",this.editingSubtaskMentions=[],this.editingSubtaskContactMentions=[]},saveSubtaskEdit(e){if(!this.editingSubtaskTitle.trim())return void this.cancelEditingSubtask();const t=this.item.subtasks?[...this.item.subtasks]:[],s=t.find(t=>t.id===e),i=e=>(e||[]).map(e=>e.id).sort().join(","),a=s&&(i(s.mentions)!==i(this.editingSubtaskMentions)||i(s.contactMentions)!==i(this.editingSubtaskContactMentions));s&&(s.title!==this.editingSubtaskTitle.trim()||a)&&(s.title=this.editingSubtaskTitle.trim(),s.mentions=[...this.editingSubtaskMentions],s.contactMentions=[...this.editingSubtaskContactMentions],this.saveSubtasks(t)),this.cancelEditingSubtask()},cancelAddingSubtask(){this.isAddingSubtask=!1,this.newSubtaskTitle="",this.newSubtaskMentions=[],this.newSubtaskContactMentions=[]},onNewSubtaskBlur(){this.isAddingSubtask=!1},saveSubtasks(e){const t=this.item.subtasks;this.item.subtasks=e,this.$http.plain.patch("/tasks/"+this.item.uuid,{subtasks:e}).then(e=>{this.item=e.data,this.$emit("task-updated",this.item)}).catch(e=>{console.log(e),this.item.subtasks=t,this.$buefy.toast.open({message:this.$t("Failed to update checklist"),type:"is-danger"})})},generateSubtaskId(){return Math.random().toString(36).substring(2,18)},onDragStart(e,t,s){this.dragState.isDragging=!0,this.dragState.draggingId=t.id,this.dragState.dragIndex=s,this.dragState.dropIndex=null,e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("text/plain",t.id);const i=e.target,a=i.cloneNode(!0);a.style.cssText=`\n position: fixed;\n top: -1000px;\n left: -1000px;\n width: ${i.offsetWidth}px;\n padding: 8px 12px;\n background: #fff;\n box-shadow: 0 10px 40px rgba(0,0,0,0.15), 0 2px 10px rgba(0,0,0,0.1);\n border-radius: 8px;\n border: 1px solid rgba(0,0,0,0.05);\n transform: rotate(1deg);\n opacity: 0.95;\n `,document.body.appendChild(a),e.dataTransfer.setDragImage(a,24,24),requestAnimationFrame(()=>a.remove())},onDragEnd(){this.dragState.isDragging=!1,this.dragState.draggingId=null,this.dragState.dragIndex=null,this.dragState.dropIndex=null},onDragOver(e){if(!this.dragState.isDragging)return;e.preventDefault();const t=this.$refs.subtaskList,s=t.querySelectorAll(".subtask-item"),i=e.clientY;let a=0;for(let l=0;l<s.length;l++){const e=s[l].getBoundingClientRect(),t=e.top+e.height/2;i>t&&(a=l+1)}const n=this.dragState.dragIndex;this.dragState.dropIndex=a===n||a===n+1?null:a},onDrop(){const{dragIndex:e,dropIndex:t}=this.dragState;if(null===e||null===t)return void this.onDragEnd();let s=t;if(e<t&&(s=t-1),e===s)return void this.onDragEnd();const i=[...this.sortedSubtasks],[a]=i.splice(e,1);i.splice(s,0,a),i.forEach((e,t)=>{e.position=t}),this.onDragEnd(),this.saveSubtasks(i)},openUserModal(e){this.selectedUserId=e,this.isUserModalVisible=!0},closeUserModal(){this.isUserModalVisible=!1,this.selectedUserId=null},handleMentionClick(e){const t=e.target.closest(".mention-link[data-user-id]");if(t){e.preventDefault(),e.stopPropagation();const s=t.dataset.userId;return s&&this.openUserModal(parseInt(s)),!0}const s=e.target.closest(".mention-link[data-contact-id]");if(s){e.preventDefault(),e.stopPropagation();const t=s.dataset.contactId;return t&&this.openContactModal(parseInt(t)),!0}return!1},onSubtaskTitleClick(e,t){this.handleMentionClick(e)||this.canEdit&&this.startEditingSubtask(t)},openContactModal(e){this.selectedContactId=e,this.isContactModalVisible=!0},closeContactModal(){this.isContactModalVisible=!1,this.selectedContactId=null}}},Bs=s(66262);const Qs=(0,Bs.A)(Vs,[["render",Ls],["__scopeId","data-v-5c0085c8"]]);var Ns=Qs},23858:function(e,t,s){s.d(t,{A:function(){return g}});var i=s(20641),a=s(53751);const n={class:"checklist-row-input"},l=["placeholder"];function o(e,t,s,o,d,r){const c=(0,i.g2)("MentionDropdown");return(0,i.uX)(),(0,i.CE)("div",n,[(0,i.bo)((0,i.Lk)("input",{ref:"rowInput","onUpdate:modelValue":t[0]||(t[0]=e=>d.text=e),type:"text",class:"input is-small subtask-edit-input",placeholder:s.placeholder,onKeydown:t[1]||(t[1]=(...e)=>r.onKeydown&&r.onKeydown(...e)),onKeyup:t[2]||(t[2]=(...e)=>r.onKeyup&&r.onKeyup(...e)),onBlur:t[3]||(t[3]=(...e)=>r.onBlur&&r.onBlur(...e))},null,40,l),[[a.Jo,d.text]]),(0,i.bF)(c,{show:e.showMentionDropdown,users:e.mentionResults,contacts:e.contactResults,"search-term":e.mentionSearchTerm,"is-loading":e.isLoadingMentions,"selected-index":e.selectedMentionIndex,"dropdown-style":d.dropdownStyle,onSelecting:t[4]||(t[4]=t=>e.isSelectingMention=!0),onPickUser:r.selectMention,onPickContact:r.selectContactMention},null,8,["show","users","contacts","search-term","is-loading","selected-index","dropdown-style","onPickUser","onPickContact"])])}s(44114),s(18111),s(13579);var d=s(40834),r=s(97850),c=s(85619),u={name:"ChecklistRowInput",components:{MentionDropdown:r.A},mixins:[c.Ay],props:{modelValue:{type:String,default:""},project:{type:Object,default:null},mentions:{type:Array,default:()=>[]},contactMentions:{type:Array,default:()=>[]},placeholder:{type:String,default:""},focusOnMount:{type:Boolean,default:!1}},emits:["update:modelValue","mentions-changed","contact-mentions-changed","commit","cancel"],data(){return{text:this.modelValue,dropdownStyle:{},pickedUsers:[...this.mentions],pickedContacts:[...this.contactMentions]}},computed:{...(0,d.L8)(["isGranted"])},watch:{modelValue(e){e!==this.text&&(this.text=e)},text(e){this.$emit("update:modelValue",e)}},mounted(){this.focusOnMount&&this.$nextTick(()=>this.$refs.rowInput?.focus())},methods:{mentionText(){return this.text},setMentionText(e){this.text=e},mentionInputEl(){return this.$refs.rowInput||null},mentionContext(){return{project:this.project,discussion:null}},selectMention(e){if(!e)return;const t=[e.firstName,e.lastName].filter(e=>"string"===typeof e&&e.length>0).join(" ")||e.email||`user${e.id}`;this.applyMention(t),this.pickedUsers.some(t=>t.id===e.id)||(this.pickedUsers.push({id:e.id,firstName:e.firstName,lastName:e.lastName}),this.$emit("mentions-changed",this.pickedUsers))},selectContactMention(e){e&&(this.applyMention(e.name||`contact${e.id}`),this.pickedContacts.some(t=>t.id===e.id)||(this.pickedContacts.push({id:e.id,name:e.name}),this.$emit("contact-mentions-changed",this.pickedContacts)))},onKeydown(e){this.handleMentionKeydown(e)||("Enter"===e.key?(e.preventDefault(),this.$emit("commit")):"Escape"===e.key&&this.$emit("cancel"))},onKeyup(e){["ArrowRight","ArrowLeft","ArrowUp","ArrowDown","Enter","Escape","Tab"].includes(e.ke
1y)||(this.positionDropdown(),this.detectMention())},onBlur(){setTimeout(()=>{this.isSelectingMention||(this.closeMentionDropdown(),this.$emit("commit"))},300)},positionDropdown(){const e=this.$refs.rowInput;if(!e)return;const t=e.getBoundingClientRect();this.dropdownStyle={position:"absolute",top:t.bottom+window.scrollY+4+"px",left:t.left+window.scrollX+"px",minWidth:Math.max(t.width,220)+"px"}}}},h=s(66262);const m=(0,h.A)(u,[["render",o],["__scopeId","data-v-30544800"]]);var g=m},50993:function(e,t,s){s.r(t),s.d(t,{default:function(){return Pe}});var i=s(20641),a=s(90033),n=s(53751);const l={class:"gantt-view"},o={class:"gantt-toolbar"},d={class:"toolbar-section toolbar-left"},r={class:"icon is-small"},c={class:"filter-group"},u={class:"btn-text"},h={key:0,class:"filter-badge"},m={class:"filter-dropdown"},g={class:"filter-section"},p={class:"filter-label"},k={class:"filter-options"},b=["value"],f={class:"filter-section"},y={class:"filter-label"},v={class:"filter-options"},C={class:"filter-checkbox"},S=["value"],w={key:0,class:"filter-section"},D={class:"filter-label"},L={class:"filter-options"},T={class:"filter-checkbox"},M=["value"],E={class:"filter-actions"},$=["disabled"],x={key:1,class:"active-filters"},F=["onClick"],I={class:"toolbar-section toolbar-center"},_={class:"timeline-nav"},X={class:"toolbar-section toolbar-right"},A={class:"control-group"},P=["title","onClick"],j={class:"control-group"},U=["title","onClick"],W={class:"zoom-control"},V=["disabled"],B={class:"zoom-value"},Q=["disabled"],N={key:0,ref:"ganttChart",class:"gantt-chart"},K={class:"gantt-labels"},G={class:"row-label-header"},z={class:"header-text"},O=["onClick"],R={class:"task-info"},H={key:1,class:"task-avatar-placeholder"},Y={class:"task-details"},Z={class:"task-title"},q={key:0,class:"item-type-badge goal-badge"},J={class:"col-label"},ee={key:0,class:"col-sublabel"},te={class:"timeline-grid"},se={class:"bar-rows-container"},ie=["title","onClick","onMousedown"],ae=["onMousedown"],ne={class:"bar-content"},le={class:"bar-title"},oe=["onMousedown"],de={key:1,class:"no-dates-section"},re={class:"section-header"},ce={class:"count-badge"},ue={class:"no-dates-grid"},he=["onClick"],me={class:"no-date-card-content"},ge={class:"card-title"},pe={key:0,class:"item-type-badge goal-badge"},ke={class:"card-meta"},be={key:2,class:"empty-state"},fe={class:"empty-icon"},ye={class:"empty-title"},ve={class:"empty-description"},Ce={class:"icon"},Se={key:3,class:"empty-state"},we={class:"empty-icon"},De={class:"empty-title"},Le={class:"empty-description"},Te={class:"icon"};function Me(e,t,s,Me,Ee,$e){const xe=(0,i.g2)("b-loading"),Fe=(0,i.g2)("font-awesome-icon"),Ie=(0,i.g2)("b-dropdown"),_e=(0,i.g2)("LogoThumbnail"),Xe=(0,i.g2)("TaskFormModal"),Ae=(0,i.g2)("b-modal"),Pe=(0,i.g2)("TaskShow"),je=(0,i.g2)("ItemViewModal");return(0,i.uX)(),(0,i.CE)("div",l,[(0,i.bF)(xe,{modelValue:Ee.isLoading,"onUpdate:modelValue":t[0]||(t[0]=e=>Ee.isLoading=e),"is-full-page":!1},null,8,["modelValue"]),(0,i.Lk)("div",o,[(0,i.Lk)("div",d,[s.canEdit?((0,i.uX)(),(0,i.CE)("button",{key:0,class:"button is-primary is-rounded",onClick:t[1]||(t[1]=(...e)=>$e.openCreateTask&&$e.openCreateTask(...e))},[(0,i.Lk)("span",r,[(0,i.bF)(Fe,{icon:"fa-light fa-plus"})]),(0,i.Lk)("span",null,(0,a.v_)(e.$t("Add task")),1)])):(0,i.Q3)("",!0),(0,i.Lk)("div",c,[(0,i.bF)(Ie,{"aria-role":"menu",position:"is-bottom-left","append-to-body":"","mobile-modal":!1},{trigger:(0,i.k6)(()=>[(0,i.Lk)("button",{class:(0,a.C4)(["btn-filter",{"has-filters":$e.hasActiveFilters}])},[(0,i.bF)(Fe,{icon:"fa-light fa-filter"}),(0,i.Lk)("span",u,(0,a.v_)(e.$t("Filter")),1),$e.activeFilterCount?((0,i.uX)(),(0,i.CE)("span",h,(0,a.v_)($e.activeFilterCount),1)):(0,i.Q3)("",!0)],2)]),default:(0,i.k6)(()=>[(0,i.Lk)("div",m,[(0,i.Lk)("div",g,[(0,i.Lk)("label",p,(0,a.v_)(e.$t("Status")),1),(0,i.Lk)("div",k,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)($e.projectStatuses,e=>((0,i.uX)(),(0,i.CE)("label",{key:e.id,class:"filter-checkbox"},[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":t[2]||(t[2]=e=>Ee.filters.statuses=e),type:"checkbox",value:e.id},null,8,b),[[n.lH,Ee.filters.statuses]]),(0,i.Lk)("span",{class:"status-dot",style:(0,a.Tr)({backgroundColor:e.color})},null,4),(0,i.Lk)("span",null,(0,a.v_)(e.name),1)]))),128))])]),(0,i.Lk)("div",f,[(0,i.Lk)("label",y,(0,a.v_)(e.$t("Assignee")),1),(0,i.Lk)("div",v,[(0,i.Lk)("label",C,[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":t[3]||(t[3]=e=>Ee.filters.unassigned=e),type:"checkbox"},null,512),[[n.lH,Ee.filters.unassigned]]),(0,i.Lk)("span",null,(0,a.v_)(e.$t("Unassigned")),1)]),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)($e.projectMembers,e=>((0,i.uX)(),(0,i.CE)("label",{key:e.id,class:"filter-checkbox"},[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":t[4]||(t[4]=e=>Ee.filters.assignees=e),type:"checkbox",value:e.id},null,8,S),[[n.lH,Ee.filters.assignees]]),(0,i.Lk)("span",null,(0,a.v_)(e.fullName),1)]))),128))])]),s.goals.length>0?((0,i.uX)(),(0,i.CE)("div",w,[(0,i.Lk)("label",D,(0,a.v_)(e.$t("Goal")),1),(0,i.Lk)("div",L,[(0,i.Lk)("label",T,[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":t[5]||(t[5]=e=>Ee.filters.noGoal=e),type:"checkbox"}
1,null,512),[[n.lH,Ee.filters.noGoal]]),(0,i.Lk)("span",null,(0,a.v_)(e.$t("No goal")),1)]),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(s.goals,e=>((0,i.uX)(),(0,i.CE)("label",{key:e.id,class:"filter-checkbox"},[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":t[6]||(t[6]=e=>Ee.filters.goals=e),type:"checkbox",value:e.id},null,8,M),[[n.lH,Ee.filters.goals]]),(0,i.Lk)("span",{class:"goal-dot",style:(0,a.Tr)({backgroundColor:e.color})},null,4),(0,i.Lk)("span",null,(0,a.v_)(e.name),1)]))),128))])])):(0,i.Q3)("",!0),(0,i.Lk)("div",E,[(0,i.Lk)("button",{class:"btn-clear-filters",disabled:!$e.hasActiveFilters,onClick:t[7]||(t[7]=(...e)=>$e.clearFilters&&$e.clearFilters(...e))},(0,a.v_)(e.$t("Clear all")),9,$)])])]),_:1})]),$e.hasActiveFilters?((0,i.uX)(),(0,i.CE)("div",x,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)($e.activeFilterPills,e=>((0,i.uX)(),(0,i.CE)("span",{key:e.key,class:"filter-pill",style:(0,a.Tr)(e.color?{borderColor:e.color}:{})},[(0,i.eW)((0,a.v_)(e.label)+" ",1),(0,i.Lk)("button",{class:"pill-remove",onClick:t=>$e.removeFilter(e)},[(0,i.bF)(Fe,{icon:"fa-light fa-times"})],8,F)],4))),128))])):(0,i.Q3)("",!0)]),(0,i.Lk)("div",I,[(0,i.Lk)("div",_,[(0,i.Lk)("button",{class:"nav-arrow",onClick:t[8]||(t[8]=e=>$e.navigateTimeline(-1))},[(0,i.bF)(Fe,{icon:"fa-light fa-chevron-left"})]),(0,i.Lk)("button",{class:"nav-period",onClick:t[9]||(t[9]=(...e)=>$e.goToToday&&$e.goToToday(...e))},(0,a.v_)($e.currentPeriodLabel),1),(0,i.Lk)("button",{class:"nav-arrow",onClick:t[10]||(t[10]=e=>$e.navigateTimeline(1))},[(0,i.bF)(Fe,{icon:"fa-light fa-chevron-right"})])])]),(0,i.Lk)("div",X,[(0,i.Lk)("div",A,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ee.displayModes,t=>((0,i.uX)(),(0,i.CE)("button",{key:t.value,class:(0,a.C4)(["ctrl-btn",{"is-active":Ee.displayMode===t.value}]),title:e.$t(t.label),onClick:e=>Ee.displayMode=t.value},[(0,i.bF)(Fe,{icon:t.icon},null,8,["icon"])],10,P))),128))]),t[21]||(t[21]=(0,i.Lk)("div",{class:"control-divider"},null,-1)),(0,i.Lk)("div",j,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(Ee.viewModes,t=>((0,i.uX)(),(0,i.CE)("button",{key:t.value,class:(0,a.C4)(["ctrl-btn",{"is-active":Ee.viewM
1ode===t.value}]),title:e.$t(t.label),onClick:e=>Ee.viewMode=t.value},(0,a.v_)(t.shortLabel),11,U))),128))]),t[22]||(t[22]=(0,i.Lk)("div",{class:"control-divider"},null,-1)),(0,i.Lk)("div",W,[(0,i.Lk)("button",{class:"ctrl-btn",disabled:Ee.zoomLevel<=Ee.minZoom,title:"Zoom out",onClick:t[11]||(t[11]=e=>$e.adjustZoom(-.1))},[(0,i.bF)(Fe,{icon:"fa-light fa-minus"})],8,V),(0,i.Lk)("span",B,(0,a.v_)(Math.round(100*Ee.zoomLevel))+"%",1),(0,i.Lk)("button",{class:"ctrl-btn",disabled:Ee.zoomLevel>=Ee.maxZoom,title:"Zoom in",onClick:t[12]||(t[12]=e=>$e.adjustZoom(.1))},[(0,i.bF)(Fe,{icon:"fa-light fa-plus"})],8,Q)])])]),$e.visibleItems.length>0?((0,i.uX)(),(0,i.CE)("div",N,[(0,i.Lk)("div",K,[(0,i.Lk)("div",G,[(0,i.Lk)("span",z,(0,a.v_)("tasks"===Ee.displayMode?e.$t("Tasks"):"goals"===Ee.displayMode?e.$t("Goals"):e.$t("Items")),1)]),(0,i.Lk)("div",{ref:"labelsBody",class:"labels-body",onScroll:t[13]||(t[13]=(...e)=>$e.onLabelsScroll&&$e.onLabelsScroll(...e))},[(0,i.bF)(n.F,{name:"gantt-row",tag:"div"},{default:(0,i.k6)(()=>[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)($e.visibleItems,t=>((0,i.uX)(),(0,i.CE)("div",{key:"label_"+t.itemType+"_"+t.id,class:(0,a.C4)(["row-label",{"is-completed":t.status&&t.status.isClosed,"is-goal":"goal"===t.itemType}]),onClick:e=>"task"===t.itemType?$e.openTaskModal(t):null},[(0,i.Lk)("div",R,["task"===t.itemType?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[t.assignee?((0,i.uX)(),(0,i.Wv)(_e,{key:0,item:t.assignee,"is-type":"roundXSmall",class:"task-avatar"},null,8,["item"])):((0,i.uX)(),(0,i.CE)("div",H,[(0,i.bF)(Fe,{icon:"fa-light fa-user"})]))],64)):((0,i.uX)(),(0,i.CE)("div",{key:1,class:"goal-icon",style:(0,a.Tr)({backgroundColor:t.color||"var(--bulma-primary)"})},[(0,i.bF)(Fe,{icon:"fa-light fa-bullseye-arrow"})],4)),(0,i.Lk)("div",Y,[(0,i.Lk)("span",Z,["goal"===t.itemType?((0,i.uX)(),(0,i.CE)("span",q,(0,a.v_)(e.$t("Goal")),1)):(0,i.Q3)("",!0),(0,i.eW)(" "+(0,a.v_)(t.title||t.name),1)]),t.status?((0,i.uX)(),(0,i.CE)("span",{key:0,class:"task-status",style:(0,a.Tr)({color:t.status.color})},(0,a.v_)(t.status.name),5)):(0,i.Q3)("",!0)])])],10,O))),128))]),_:1})],544)]),(0,i.Lk)("div",{ref:"timelineScroll",class:"gantt-timeline-scroll",onScroll:t[14]||(t[14]=(...e)=>$e.onTimelineScroll&&$e.onTimelineScroll(...e))},[(0,i.Lk)("div",{class:"timeline-header",style:(0,a.Tr)({width:$e.totalTimelineWidth+"px"})},[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)($e.timelineColumns,e=>((0,i.uX)(),(0,i.CE)("div",{key:e.key,class:(0,a.C4)(["timeline-col",{"is-today":e.isToday,"is-weekend":e.isWeekend,"is-month-start":e.isMonthStart}]),style:(0,a.Tr)({width:e.width+"px",minWidth:e.width+"px"})},[(0,i.Lk)("span",J,(0,a.v_)(e.label),1),e.subLabel?((0,i.uX)(),(0,i.CE)("span",ee,(0,a.v_)(e.subLabel),1)):(0,i.Q3)("",!0)],6))),128))],4),(0,i.Lk)("div",{class:"timeline-body",style:(0,a.Tr)({width:$e.totalTimelineWidth+"px",height:$e.timelineBodyHeight+"px"})},[(0,i.Lk)("div",te,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)($e.timelineColumns,e=>((0,i.uX)(),(0,i.CE)("div",{key:"grid_"+e.key,class:(0,a.C4)(["grid-col",{"is-today":e.isToday,"is-weekend":e.isWeekend}]),style:(0,a.Tr)({width:e.width+"px",minWidth:e.width+"px"})},null,6))),128))]),$e.todayOffset>=0&&$e.todayOffset<=$e.totalTimelineWidth?((0,i.uX)(),(0,i.CE)("div",{key:0,class:"today-line",style:(0,a.Tr)({left:$e.todayOffset+"px"})},null,4)):(0,i.Q3)("",!0),(0,i.Lk)("div",se,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)($e.visibleItems,(e,t)=>((0,i.uX)(),(0,i.CE)("div",{key:"bar_"+e.itemType+"_"+e.id,class:"bar-row",style:(0,a.Tr)({transform:"translateY("+48*t+"px)"})},[(0,i.Lk)("div",{class:(0,a.C4)(["task-bar",{"is-overdue":"task"===e.itemType&&$e.isTaskOverdue(e),"is-completed":e.status&&e.status.isClosed,"is-goal-bar":"goal"===e.itemType,"is-dragging":Ee.dragState&&Ee.dragState.item.id===e.id&&Ee.dragState.item.itemType===e.itemType,"is-draggable":s.canEdit&&"task"===e.itemType,"is-milestone":$e.isMilestone(e)}]),style:(0,a.Tr)($e.getTaskBarStyle(e)),title:$e.getTaskTooltip(e),onClick:t=>$e.handleBarClick(t,e),onMousedown:t=>s.canEdit&&"task"===e.itemType?$e.startDrag(t,e,"move"):null},[s.canEdit&&"task"===e.itemType?((0,i.uX)(),(0,i.CE)("div",{key:0,class:"resize-handle resize-left",onMousedown:(0,n.D$)(t=>$e.startDrag(t,e,"resize-left"),["stop"])},null,40,ae)):(0,i.Q3)("",!0),(0,i.Lk)("div",ne,[(0,i.Lk)("span",le,(0,a.v_)(e.title||e.name),1)]),e.progress?((0,i.uX)(),(0,i.CE)("div",{key:1,class:"bar-progress",style:(0,a.Tr)({width:e.progress+"%"})},null,4)):(0,i.Q3)("",!0),s.canEdit&&"task"===e.itemType?((0,i.uX)(),(0,i.CE)("div",{key:2,class:"resize-handle resize-right",onMousedown:(0,n.D$)(t=>$e.startDrag(t,e,"resize-right"),["stop"])},null,40,oe)):(0,i.Q3)("",!0)],46,ie)],4))),128))])],4)],544)],512)):(0,i.Q3)("",!0),$e.itemsWithoutDates.length>0?((0,i.uX)(),(0,i.CE)("div",de,[(0,i.Lk)("div",re,[(0,i.bF)(Fe,{icon:"fa-light fa-calendar-xmark",class:"mr-2"}),(0,i.eW)(" "+(0,a.v_)(e.$t("without dates"))+" ",1),(0,i.Lk)("span",ce,(0,a.v_)($e.itemsWithoutDates.length),1)]),(0,i.Lk)("div",ue,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)($e.itemsWithoutDates,t=>
1((0,i.uX)(),(0,i.CE)("div",{key:"nodate_"+t.itemType+"_"+t.id,class:(0,a.C4)(["no-date-card",{"is-goal-card":"goal"===t.itemType}]),onClick:e=>"task"===t.itemType?$e.openTaskModal(t):null},[(0,i.Lk)("div",me,[(0,i.Lk)("span",ge,["goal"===t.itemType?((0,i.uX)(),(0,i.CE)("span",pe,(0,a.v_)(e.$t("Goal")),1)):(0,i.Q3)("",!0),(0,i.eW)(" "+(0,a.v_)(t.title||t.name),1)]),(0,i.Lk)("div",ke,["task"===t.itemType?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[t.assignee?((0,i.uX)(),(0,i.Wv)(_e,{key:0,item:t.assignee,"is-type":"roundXSmall"},null,8,["item"])):(0,i.Q3)("",!0)],64)):(0,i.Q3)("",!0),"goal"===t.itemType&&t.color?((0,i.uX)(),(0,i.CE)("span",{key:1,class:"status-dot",style:(0,a.Tr)({backgroundColor:t.color})},null,4)):(0,i.Q3)("",!0),t.status?((0,i.uX)(),(0,i.CE)("span",{key:2,class:"status-dot",style:(0,a.Tr)({backgroundColor:t.status.color})},null,4)):(0,i.Q3)("",!0)])])],10,he))),128))])])):(0,i.Q3)("",!0),Ee.isLoading||0!==Ee.tasks.length||0!==s.goals.length?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",be,[(0,i.Lk)("div",fe,[(0,i.bF)(Fe,{icon:"fa-light fa-chart-gantt"})]),(0,i.Lk)("h3",ye,(0,a.v_)(e.$t("No tasks in this project yet")),1),(0,i.Lk)("p",ve,(0,a.v_)(e.$t("Create your first task to see it on the timeline")),1),s.canEdit?((0,i.uX)(),(0,i.CE)("button",{key:0,class:"button is-primary is-rounded",onClick:t[15]||(t[15]=(...e)=>$e.openCreateTask&&$e.openCreateTask(...e))},[(0,i.Lk)("span",Ce,[(0,i.bF)(Fe,{icon:"fa-light fa-plus"})]),(0,i.Lk)("span",null,(0,a.v_)(e.$t("Create first task")),1)])):(0,i.Q3)("",!0)])),!Ee.isLoading&&(Ee.tasks.length>0||s.goals.length>0)&&0===$e.visibleItems.length&&0===$e.itemsWithoutDates.length?((0,i.uX)(),(0,i.CE)("div",Se,[(0,i.Lk)("div",we,[(0,i.bF)(Fe,{icon:"fa-light fa-calendar-xmark"})]),(0,i.Lk)("h3",De,(0,a.v_)(e.$t("No items in this date range")),1),(0,i.Lk)("p",Le,(0,a.v_)(e.$t("Navigate to a different date range or add dates to your items")),1),(0,i.Lk)("button",{class:"button is-primary is-rounded",onClick:t[16]||(t[16]=(...e)=>$e.goToToday&&$e.goToToday(...e))},[(0,i.Lk)("span",Te,[(0,i.bF)(Fe,{icon:"fa-light fa-calendar-day"})]),(0,i.Lk)("span",null,(0,a.v_)(e.$t("Go to today")),1)])])):(0,i.Q3)("",!0),(0,i.bF)(Ae,{modelValue:Ee.showCreateTaskModal,"onUpdate:modelValue":t[18]||(t[18]=e=>Ee.showCreateTaskModal=e),"has-modal-card":"","trap-focus":"","full-screen":e.$isMobile(),"can-cancel":["escape","outside"],onClose:t[19]||(t[19]=e=>Ee.showCreateTaskModal=!1)},{default:(0,i.k6)(()=>[(0,i.bF)(Xe,{project:s.project,goals:s.goals,statuses:$e.projectStatuses,types:s.project.issueTypes||[],onClose:t[17]||(t[17]=e=>Ee.showCreateTaskModal=!1),onTaskCreated:$e.onTaskCreated},null,8,["project","goals","statuses","types","onTaskCreated"])]),_:1},8,["modelValue","full-screen"]),(0,i.bF)(je,{modelValue:Ee.isTaskModalVisible,"onUpdate:modelValue":t[20]||(t[20]=e=>Ee.isTaskModalVisible=e),title:Ee.selectedTask?Ee.selectedTask.title:"","modal-width":1100,"maximize-route":Ee.selectedTask?{name:"ProjectTaskShow",params:{id:s.project.uuid,taskId:Ee.selectedTask.uuid}}:null,"can-cancel":["outside"],"scroll-container-id":"taskModalBody",onClose:$e.closeTaskModal},{default:(0,i.k6)(()=>[Ee.selectedTask?((0,i.uX)(),(0,i.Wv)(Pe,{key:0,"task-id":Ee.selectedTask.uuid,project:s.project,"is-modal":!0,onTaskUpdated:$e.handleTaskUpdated,onTaskDeleted:$e.handleTaskDeleted},null,8,["task-id","project","onTaskUpdated","onTaskDeleted"])):(0,i.Q3)("",!0)]),_:1},8,["modelValue","title","maximize-route","onClose"])])}s(44114),s(18111),s(22489),s(20116),s(7588),s(61701),s(18237);var Ee=s(40834),$e=s(31823),xe=s(51381),Fe=s(80762),Ie=s(11223),_e={name:"ProjectShowGantt",components:{LogoThumbnail:$e.A,TaskFormModal:xe.A,ItemViewModal:Fe.A,TaskShow:Ie["default"]},props:{project:{type:Object,required:!0},goals:{type:Array,default:()=>[]},canEdit:{type:Boolean,default:!1}},emits:["task-count-updated"],data(){return{isLoading:!1,tasks:[],viewMode:"week",viewModes:[{value:"day",label:"Day",shortLabel:"D"},{value:"week",label:"Week",shortLabel:"W"},{value:"month",label:"Month",shortLabel:"M"}],displayMode:"both",displayModes:[{value:"tasks",label:"Tasks",icon:"fa-light fa-list-check"},{value:"goals",label:"Goals",icon:"fa-light fa-bullseye"},{value:"both",label:"Both",icon:"fa-light fa-layer-group"}],filters:{statuses:[],assignees:[],goals:[],unassigned:!1,noGoal:!1},timelineStart:null,timelineEnd:null,showCreateTaskModal:!1,isTaskModalVisible:!1,selectedTask:null,zoomLevel:1,minZoom:.3,maxZoom:3,initialPinchDistance:null,initialZoom:null,dragState:null,wasDragging:!1,isSyncingScroll:!1}},computed:{...(0,Ee.L8)(["tenant","user","isGranted"]),projectStatuses(){return this.project?.issueStatuses||[]},projectMembers(){const e=new Map;return this.tasks.forEach(t=>{t.assignee&&t.assignee.id&&e.set(t.assignee.id,t.assignee)}),Array.from(e.values())},hasActiveFilters(){return this.filters.statuses.length>0||this.filters.assignees.length>0||this.filters.goals.length>0||this.filters.unassigned||this.filters.noGoal},activeFilterCount(){let e=this.filters.statuses.length+this.filters.assignees.length+this.filters.goals.length;return this.filters.unassigned&&e++,this.filters.noGoal&&e++,e},activeFilterPills(){const e=[];
1return this.filters.statuses.forEach(t=>{const s=this.projectStatuses.find(e=>e.id===t);s&&e.push({key:`status_${t}`,type:"status",id:t,label:s.name,color:s.color})}),this.filters.assignees.forEach(t=>{const s=this.projectMembers.find(e=>e.id===t);s&&e.push({key:`assignee_${t}`,type:"assignee",id:t,label:s.fullName})}),this.filters.unassigned&&e.push({key:"unassigned",type:"unassigned",label:this.$t("Unassigned")}),this.filters.goals.forEach(t=>{const s=this.goals.find(e=>e.id===t);s&&e.push({key:`goal_${t}`,type:"goal",id:t,label:s.name,color:s.color})}),this.filters.noGoal&&e.push({key:"noGoal",type:"noGoal",label:this.$t("No goal")}),e},filteredTasks(){return this.hasActiveFilters?this.tasks.filter(e=>{if(this.filters.statuses.length>0&&(!e.status||!this.filters.statuses.includes(e.status.id)))return!1;if(this.filters.assignees.length>0||this.filters.unassigned){const t=e.assignee&&e.assignee.id;if(this.filters.unassigned&&!t);else if(this.filters.assignees.length>0&&t&&this.filters.assignees.includes(e.assignee.id));else{if(0===this.filters.assignees.length&&this.filters.unassigned&&t)return!1;if(this.filters.assignees.length>0&&!this.filters.unassigned&&!t)return!1;if(this.filters.assignees.length>0&&t&&!this.filters.assignees.includes(e.assignee.id))return!1}}if(this.filters.goals.length>0||this.filters.noGoal){const t=e.goal&&e.goal.id;if(this.filters.noGoal&&!t);else if(this.filters.goals.length>0&&t&&this.filters.goals.includes(e.goal.id));else{if(0===this.filters.goals.length&&this.filters.noGoal&&t)return!1;if(this.filters.goals.length>0&&!this.filters.noGoal&&!t)return!1;if(this.filters.goals.length>0&&t&&!this.filters.goals.includes(e.goal.id))return!1}}return!0}):this.tasks},allTasksWithDates(){return this.filteredTasks.filter(e=>e.dateStart||e.dateDue)},allGoalsWithDates(){return this.goals.filter(e=>e.dateStart||e.dateEnd)},tasksWithDates(){return"goals"===this.displayMode?[]:this.allTasksWithDates.filter(e=>this.isItemVisibleInTimeline(e))},goalsWithDates(){return"tasks"===this.displayMode?[]:this.allGoalsWithDates.filter(e=>this.isItemVisibleInTimeline(e))},visibleItems(){const e=this.tasksWithDates.map(e=>({...e,itemType:"task"})),t=this.goalsWithDates.map(e=>({...e,itemType:"goal"}));return[...t,...e].sort((e,t)=>{const s=new Date(e.dateStart||e.dateDue||e.dateEnd),i=new Date(t.dateStart||t.dateDue||t.dateEnd);return s-i})},tasksWithoutDates(){return"goals"===this.displayMode?[]:this.filteredTasks.filter(e=>!e.dateStart&&!e.dateDue)},goalsWithoutDates(){return"tasks"===this.displayMode?[]:this.goals.filter(e=>!e.dateStart&&!e.dateEnd)},itemsWithoutDates(){const e=this.tasksWithoutDates.map(e=>({...e,itemType:"task"})),t=this.goalsWithoutDates.map(e=>({...e,itemType:"goal"}));return[...t,...e]},baseDayWidth(){let e;return e="day"===this.viewMode?80:"week"===this.viewMode?20:6,Math.round(e*this.zoomLevel)},timelineColumns(){if(!this.timelineStart||!this.timelineEnd)return[];const e=[],t=new Date;if(t.setHours(0,0,0,0),"day"===this.viewMode){const s=new Date(this.timelineStart);while(s<=this.timelineEnd){const i=new Date(s),a=i.getDay();e.push({key:i.toISOString().split("T")[0],date:i,startDate:new Date(i),endDate:new Date(i),label:i.getDate().toString(),subLabel:i.toLocaleDateString(void 0,{weekday:"short"}),width:this.baseDayWidth,isToday:i.toDateString()===t.toDateString(),isWeekend:0===a||6===a,isMonthStart:1===i.getDate()}),s.setDate(s.getDate()+1)}}else if("week"===this.viewMode){const s=new Date(this.timelineStart),i=s.getDay(),a=0===i?-6:1-i;s.setDate(s.getDate()+a);while(s<=this.timelineEnd){const i=new Date(s),a=new Date(s);a.setDate(a.getDate()+6);const n=this.getWeekNumber(i),l=i.toLocaleDateString(void 0,{month:"short"});e.push({key:`week_${i.toISOString().split("T")[0]}`,date:i,startDate:new Date(i),endDate:new Date(a),label:`W${n}`,subLabel:l,width:7*this.baseDayWidth,isToday:t>=i&&t<=a,isWeekend:!1,isMonthStart:i.getDate()<=7}),s.setDate(s.getDate()+7)}}else{const s=new Date(this.timelineStart.getFullYear(),this.timelineStart.getMonth(),1);while(s<=this.timelineEnd){const i=new Date(s),a=new Date(s.getFullYear(),s.getMonth()+1,0),n=a.getDate();e.push({key:`month_${s.getFullYear()}_${s.getMonth()}`,date:i,startDate:new Date(i),endDate:new Date(a),label:i.toLocaleDateString(void 0,{month:"short"}),subLabel:i.getFullYear().toString(),width:this.baseDayWidth*n,isToday:t.getMonth()===i.getMonth()&&t.getFullYear()===i.getFullYear(),isWeekend:!1,isMonthStart:!0}),s.setMonth(s.getMonth()+1)}}return e},totalTimelineWidth(){return this.timelineColumns.reduce((e,t)=>
1e+t.width,0)},todayOffset(){if(!this.timelineStart||!this.timelineColumns.length)return-1;const e=new Date;e.setHours(0,0,0,0);const t=new Date(this.timelineStart);t.setHours(0,0,0,0);const s=Math.floor((e-t)/864e5);return"day"===this.viewMode?s*this.baseDayWidth+this.baseDayWidth/2:s*this.baseDayWidth},currentPeriodLabel(){if(!this.timelineStart||!this.timelineEnd)return"";const e=this.timelineStart.toLocaleDateString(void 0,{month:"long",year:"numeric"}),t=this.timelineEnd.toLocaleDateString(void 0,{month:"long",year:"numeric"});return e===t?e:`${this.timelineStart.toLocaleDateString(void 0,{month:"short"})} - ${this.timelineEnd.toLocaleDateString(void 0,{month:"short",year:"numeric"})}`},timelineBodyHeight(){return 48*this.visibleItems.length}},watch:{viewMode(){this.zoomLevel=1,this.$nextTick(()=>{this.scrollToToday()})}},mounted(){this.loadTasks(),this.setupZoomListeners()},beforeUnmount(){this.removeZoomListeners()},methods:{clearFilters(){this.filters.statuses=[],this.filters.assignees=[],this.filters.goals=[],this.filters.unassigned=!1,this.filters.noGoal=!1},onLabelsScroll(e){if(this.isSyncingScroll)return;this.isSyncingScroll=!0;const t=this.$refs.timelineScroll;t&&(t.scrollTop=e.target.scrollTop),this.$nextTick(()=>{this.isSyncingScroll=!1})},onTimelineScroll(e){if(this.isSyncingScroll)return;this.isSyncingScroll=!0;const t=this.$refs.labelsBody;t&&(t.scrollTop=e.target.scrollTop),this.$nextTick(()=>{this.isSyncingScroll=!1})},removeFilter(e){switch(e.type){case"status":this.filters.statuses=this.filters.statuses.filter(t=>t!==e.id);break;case"assignee":this.filters.assignees=this.filters.assignees.filter(t=>t!==e.id);break;case"unassigned":this.filters.unassigned=!1;break;case"goal":this.filters.goals=this.filters.goals.filter(t=>t!==e.id);break;case"noGoal":this.filters.noGoal=!1;break}},scrollToToday(){const e=this.$refs.timelineScroll;if(!e||!this.timelineStart)return;const t=new Date;t.setHours(0,0,0,0);const s=new Date(this.timelineStart);s.setHours(0,0,0,0);const i=Math.floor((t-s)/864e5),a=i*this.baseDayWidth,n=e.clientWidth,l=a-n/2;e.scrollTo({left:Math.max(0,l),behavior:"smooth"})},setupZoomListeners(){this.$nextTick(()=>{const e=this.$refs.timelineScroll;e&&(e.addEventListener("wheel",this.handleWheel,{passive:!1}),e.addEventListener("touchstart",this.handleTouchStart,{passive:!0}),e.addEventListener("touchmove",this.handleTouchMove,{passive:!1}),e.addEventListener("touchend",this.handleTouchEnd,{passive:!0}))})},removeZoomListeners(){const e=this.$refs.timelineScroll;e&&(e.removeEventListener("wheel",this.handleWheel),e.removeEventListener("touchstart",this.handleTouchStart),e.removeEventListener("touchmove",this.handleTouchMove),e.removeEventListener("touchend",this.handleTouchEnd))},handleWheel(e){if(e.ctrlKey||e.metaKey){e.preventDefault();const t=e.deltaY>0?-.015:.015;this.adjustZoom(t)}},handleTouchStart(e){if(2===e.touches.length){const t=e.touches[0],s=e.touches[1];this.initialPinchDistance=Math.hypot(s.clientX-t.clientX,s.clientY-t.clientY),this.initialZoom=this.zoomLevel}},handleTouchMove(e){if(2===e.touches.length&&this.initialPinchDistance){e.preventDefault();const t=e.touches[0],s=e.touches[1],i=Math.hypot(s.clientX-t.clientX,s.clientY-t.clientY),a=i/this.initialPinchDistance,n=1+.2*(a-1);this.zoomLevel=Math.min(this.maxZoom,Math.max(this.minZoom,this.initialZoom*n))}},handleTouchEnd(){this.initialPinchDistance=null,this.initialZoom=null},adjustZoom(e){const t=this.zoomLevel+e;this.zoomLevel=Math.min(this.maxZoom,Math.max(this.minZoom,t))},handleBarClick(e,t){this.wasDragging?this.wasDragging=!1:"task"===t.itemType&&this.openTaskModal(t)},startDrag(e,t,s){if(!this.canEdit||"task"!==t.itemType)return;e.preventDefault();const i=this.$refs.timelineScroll,a=i.getBoundingClientRect(),n=t.dateDue||t.dateEnd,l=t.dateStart?new Date(t.dateStart):n?new Date(n):new Date,o=n?new Date(n):t.dateStart?new Date(t.dateStart):new Date;this.dragState={type:s,item:t,startX:e.clientX,scrollLeft:i.scrollLeft,timelineRect:a,originalStartDate:new Date(l),originalEndDate:new Date(o),currentStartDate:new Date(l),currentEndDate:new Date(o)},document.addEventListener("mousemove",this.onDrag),document.addEventListener("mouseup",this.endDrag),document.body.style.cursor="move"===s?"grabbing":"ew-resize",document.body.style.userSelect="none"},onDrag(e){if(!this.dragState)return;const t=e.clientX-this.dragState.startX,s=Math.round(t/this.baseDayWidth);if(0===s)return;const{type:i,originalStartDate:a,originalEndDate:n}=this.dragState;if("move"===i)this.dragState.currentStartDate=new Date(a),this.dragState.currentStartDate.setDate(a.getDate()+s),this.dragState.currentEndDate=new Date(n),this.dragState.currentEndDate.setDate(n.getDate()+s);else if("resize-left"===i){const e=new Date(a);e.setDate(a.getDate()+s),e<this.dragState.currentEndDate&&(this.dragState.currentStartDate=e)}else if("resize-right"===i){const e=new Date(n);e.setDate(n.getDate()+s),e>this.dragState.currentStartDate&&(this.dragState.currentEndDate=e)}this.dragState={...this.dragState}}
1,endDrag(){if(!this.dragState)return;document.removeEventListener("mousemove",this.onDrag),document.removeEventListener("mouseup",this.endDrag),document.body.style.cursor="",document.body.style.userSelect="";const{item:e,originalStartDate:t,originalEndDate:s,currentStartDate:i,currentEndDate:a}=this.dragState,n=t.getTime()!==i.getTime(),l=s.getTime()!==a.getTime();(n||l)&&(this.wasDragging=!0,this.updateTaskDates(e,i,a,t,s)),this.dragState=null},updateTaskDates(e,t,s,i,a){const n={dateStart:t.toISOString().split("T")[0],dateDue:s.toISOString().split("T")[0]},l=this.tasks.findIndex(t=>t.id===e.id);-1!==l&&(this.tasks[l].dateStart=n.dateStart,this.tasks[l].dateDue=n.dateDue);let o=!1,d=null,r=-1,c=null;if(e.goal&&e.goal.id&&(r=this.goals.findIndex(t=>t.id===e.goal.id),-1!==r)){const i=this.goals[r];c={dateStart:i.dateStart,dateEnd:i.dateEnd};let a=null,n=null;this.tasks.forEach(i=>{if(i.goal&&i.goal.id===e.goal.id){let l,o;i.id===e.id?(l=t,o=s):(l=i.dateStart?new Date(i.dateStart):null,o=i.dateDue?new Date(i.dateDue):null),l&&(!a||l<a)&&(a=l),o&&(!n||o>n)&&(n=o)}}),d={};const l=i.dateStart?new Date(i.dateStart):null,u=i.dateEnd?new Date(i.dateEnd):null;if(a){const e=a.toISOString().split("T")[0];l&&e===i.dateStart||(d.dateStart=e,o=!0)}if(n){const e=n.toISOString().split("T")[0];u&&e===i.dateEnd||(d.dateEnd=e,o=!0)}o&&(d.dateStart&&(this.goals[r].dateStart=d.dateStart),d.dateEnd&&(this.goals[r].dateEnd=d.dateEnd))}this.$http.plain.patch(`/tasks/${e.uuid}`,n).then(()=>{if(o&&-1!==r){const e=this.goals[r];this.$http.plain.patch(`/goals/${e.uuid}`,d).then(()=>{this.$buefy.toast.open({message:this.$t("Task and goal updated"),type:"is-success"})}).catch(e=>{console.log(e),c&&(this.goals[r].dateStart=c.dateStart,this.goals[r].dateEnd=c.dateEnd),this.$buefy.toast.open({message:this.$t("Task updated but goal update failed"),type:"is-warning"})})}else this.$buefy.toast.open({message:this.$t("Task updated"),type:"is-success"})}).catch(e=>{console.log(e),this.$buefy.toast.open({message:this.$t("Failed to update task"),type:"is-danger"}),-1!==l&&(this.tasks[l].dateStart=i.toISOString().split("T")[0],this.tasks[l].dateDue=a.toISOString().split("T")[0]),o&&-1!==r&&c&&(this.goals[r].dateStart=c.dateStart,this.goals[r].dateEnd=c.dateEnd)})},getWeekNumber(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),s=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-s);const i=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t-i)/864e5+1)/7)},isItemVisibleInTimeline(e){if(!this.timelineStart||!this.timelineEnd)return!0;const t=e.dateDue||e.dateEnd,s=e.dateStart?new Date(e.dateStart):t?new Date(t):null,i=t?new Date(t):e.dateStart?new Date(e.dateStart):null;return!(!s&&!i)&&(s<=this.timelineEnd&&i>=this.timelineStart)},loadTasks(){this.isLoading=!0,this.$http.plain.get("/tasks",{params:{project:this.project.uuid,pagination:!1,"order[dateStart]":"asc"}}).then(e=>{this.tasks=e.data["hydra:member"]||[],this.$emit("task-count-updated",this.tasks.length),this.calculateTimelineRange(),this.$nextTick(()=>{this.scrollToToday()})}).catch(e=>{console.log(e)}).finally(()=>{this.isLoading=!1})},calculateTimelineRange(){const e=new Date,t=[...this.allTasksWithDates,...this.allGoalsWithDates];let s=new Date(e.getFullYear(),0,1),i=new Date(e.getFullYear(),11,31);t.forEach(e=>{const t=e.dateStart?new Date(e.dateStart):null,a=e.dateDue||e.dateEnd,n=a?new Date(a):null;t&&t<s&&(s=new Date(t.getFullYear(),t.getMonth(),1)),n&&n<s&&(s=new Date(n.getFullYear(),n.getMonth(),1)),t&&t>i&&(i=new Date(t.getFullYear(),t.getMonth()+1,0)),n&&n>i&&(i=new Date(n.getFullYear(),n.getMonth()+1,0))}),s.setMonth(s.getMonth()-1),i.setMonth(i.getMonth()+1),this.timelineStart=s,this.timelineEnd=i},navigateTimeline(e){const t="month"===this.viewMode?30:"week"===this.viewMode?14:7,s=e*t;this.timelineStart=new Date(this.timelineStart),this.timelineEnd=new Date(this.timelineEnd),this.timelineStart.setDate(this.timelineStart.getDate()+s),this.timelineEnd.setDate(this.timelineEnd.getDate()+s)},goToToday(){const e=new Date,t="month"===this.viewMode?60:"week"===this.viewMode?30:14;this.timelineStart=new Date(e),this.timelineStart.setDate(this.timelineStart.getDate()-7),this.timelineEnd=new Date(e),this.timelineEnd.setDate(this.timelineEnd.getDate()+t)},getTaskBarStyle(e){let t,s,i=!1;if(this.dragState&&this.dragState.item.id===e.id&&this.dragState.item.itemType===e.itemType)t=this.dragState.currentStartDate,
1s=this.dragState.currentEndDate;else{const a=e.dateDue||e.dateEnd,n=!!e.dateStart,l=!!a;if(n&&l)t=new Date(e.dateStart),s=new Date(a);else if(l&&!n)i=!0,s=new Date(a),t=new Date(a);else{if(!n||l)return{display:"none"};t=new Date(e.dateStart),s=new Date(e.dateStart),s.setDate(s.getDate()+2)}}if(!t||!s)return{display:"none"};const a=new Date(this.timelineStart);a.setHours(0,0,0,0);const n=new Date(t);n.setHours(0,0,0,0);const l=new Date(s);l.setHours(0,0,0,0);const o=Math.max(0,Math.floor((n-a)/864e5)),d=Math.max(1,Math.floor((l-n)/864e5)+1),r=o*this.baseDayWidth;let c=d*this.baseDayWidth-6,u="var(--bulma-primary)";return e.status&&e.status.color?u=e.status.color:e.goal&&e.goal.color?u=e.goal.color:e.color&&(u=e.color),i?{left:r+"px",width:"28px",height:"28px",borderRadius:"4px",transform:"rotate(45deg) translateY(-2px)",backgroundColor:u,top:"10px"}:{left:r+3+"px",width:Math.max(c,24)+"px",backgroundColor:u}},getTaskTooltip(e){let t=e.title||e.name;const s=e.dateDue||e.dateEnd,i=!!e.dateStart,a=!!s;return i&&a?(t+=`\n${this.$t("Start date")}: ${this.$filters.format(e.dateStart)}`,t+=`\n${this.$t("End date")}: ${this.$filters.format(s)}`):a&&!i?t+=`\n${this.$t("Deadline")}: ${this.$filters.format(s)}`:i&&!a&&(t+=`\n${this.$t("Start date")}: ${this.$filters.format(e.dateStart)}`),t},isTaskOverdue(e){return!!e.dateDue&&((!e.status||!e.status.isClosed)&&new Date(e.dateDue)<new Date)},isMilestone(e){const t=e.dateDue||e.dateEnd;return!e.dateStart&&!!t},openCreateTask(){this.showCreateTaskModal=!0},openTaskModal(e){this.selectedTask=e,this.isTaskModalVisible=!0},closeTaskModal(){this.isTaskModalVisible=!1,this.selectedTask=null},onTaskCreated(){this.showCreateTaskModal=!1,this.loadTasks()},handleTaskUpdated(){this.loadTasks()},handleTaskDeleted(){this.closeTaskModal(),this.loadTasks()}}},Xe=s(66262);const Ae=(0,Xe.A)(_e,[["render",Me],["__scopeId","data-v-750fffda"]]);var Pe=Ae},51381:function(e,t,s){s.d(t,{A:function(){return ve}});s(18111),s(20116);var i=s(20641),a=s(90033),n=s(53751);const l={class:"task-subtasks mt-4"},o={class:"icon is-small has-text-grey"},d={class:"has-text-grey"},r={class:"is-flex is-align-items-center is-justify-content-space-between mb-2"},c={key:0,class:"has-text-grey has-text-weight-normal ml-1"},u={class:"icon is-small has-text-grey"},h={key:0,class:"subtask-drop-indicator"},m=["draggable","data-index","onDragstart"],g={class:"checkbox-wrapper"},p=["checked","onChange"],k=["onClick","innerHTML"],b=["onClick"],f={key:0,class:"subtask-drop-indicator"},y={key:1,class:"subtask-item subtask-add"},v={class:"icon is-small has-text-grey"},C={class:"has-text-grey"},S={key:0,class:"issue-field-row mb-5"},w={class:"issue-field-label"},D={class:"issue-field-value"},L=["onClick"],T={key:0},M={key:1},E={class:"has-text-grey"},$={key:1,class:"issue-field-row mb-5"},x={class:"issue-field-label"},F={class:"issue-field-value"},I=["onClick"],_={key:0},X={key:1},A={class:"has-text-grey"},P={class:"issue-field-row mb-5"},j={class:"issue-field-label"},U={class:"issue-field-value"},W={key:0,class:"tags mt-2 mb-0"},V={class:"columns is-mobile mb-4"},B={class:"column"},Q={class:"issue-field-label"},N=["onClick"],K={class:"icon-text"},G={class:"column"},z={class:"issue-field-label"},O=["onClick"],R={key:0},H={key:1},Y={key:2},Z={class:"columns is-mobile mb-4"},q={class:"column"},J={class:"issue-field-label"},ee={class:"column"},te={class:"issue-field-label"},se={class:"issue-field-row mb-5"},ie={class:"issue-field-label"},ae={class:"issue-field-value"},ne={key:0,class:"tags mb-2"},le=["onClick"],oe={class:"is-flex is-align-items-center"},de={class:"icon is-small has-text-danger"};function re(e,t,s,re,ce,ue){const he=(0,i.g2)("font-awesome-icon"),me=(0,i.g2)("b-tooltip"),ge=(0,i.g2)("ChecklistRowInput"),pe=(0,i.g2)("b-dropdown-item"),ke=(0,i.g2)("b-dropdown"),be=(0,i.g2)("UserSearchDiscussAutocomplete"),fe=(0,i.g2)("b-tag"),ye=(0,i.g2)("b-datepicker"),ve=(0,i.g2)("b-autocomplete"),Ce=(0,i.g2)("BaseFormModal");return(0,i.uX)(),(0,i.Wv)(Ce,{ref:"baseModal","item-loaded":s.itemLoaded,"title-placeholder":e.$t("Task title"),"default-title":ue.modalTitle,"save-button-text":ue.saveButtonText,"use-two-columns":!0,project:s.project,onSave:ue.saveTask,onTitleChanged:ue.onTitleChanged,onInlineMentionsChanged:ue.onDescriptionMentionsChanged,onInlineContactMentionsChanged:ue.onDescriptionContactMentionsChanged,onClose:t[27]||(t[27]=t=>e.$emit("close"))}
1,(0,i.eX)({"main-content-below":(0,i.k6)(()=>[(0,i.Lk)("div",l,[0!==ce.itemSubtasks.length||ce.isAddingSubtask?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.Wv)(me,{key:0,label:e.$t("Tip: paste a bulleted list to create multiple items at once"),position:"is-right",type:"is-dark",delay:500},{default:(0,i.k6)(()=>[(0,i.Lk)("div",{class:"subtask-add-link",onClick:t[0]||(t[0]=(...e)=>ue.startAddingSubtask&&ue.startAddingSubtask(...e))},[(0,i.Lk)("span",o,[(0,i.bF)(he,{icon:"fa-light fa-square-check"})]),(0,i.Lk)("span",d,(0,a.v_)(e.$t("Add checklist")),1)])]),_:1},8,["label"])),ce.itemSubtasks.length>0||ce.isAddingSubtask?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.Lk)("div",r,[(0,i.bF)(me,{label:e.$t("Tip: paste a bulleted list to create multiple items at once"),position:"is-right",type:"is-dark",delay:500},{default:(0,i.k6)(()=>[(0,i.Lk)("span",{class:"is-size-6 has-text-weight-semibold is-clickable checklist-header-toggle",onClick:t[1]||(t[1]=e=>ce.isChecklistCollapsed=!ce.isChecklistCollapsed)},[(0,i.Lk)("span",{class:(0,a.C4)(["icon is-small mr-1 checklist-chevron",{"is-rotated":ce.isChecklistCollapsed}])},[(0,i.bF)(he,{icon:"fa-light fa-chevron-down"})],2),(0,i.eW)(" "+(0,a.v_)(e.$t("Checklist"))+" ",1),ce.itemSubtasks.length>0?((0,i.uX)(),(0,i.CE)("span",c,(0,a.v_)(ue.subtaskStats.completed)+"/"+(0,a.v_)(ue.subtaskStats.total),1)):(0,i.Q3)("",!0)])]),_:1},8,["label"]),ce.itemSubtasks.length>0?((0,i.uX)(),(0,i.Wv)(me,{key:0,label:e.$t("Clear all items"),position:"is-left",type:"is-dark"},{default:(0,i.k6)(()=>[(0,i.Lk)("button",{type:"button",class:"button is-small is-white is-rounded",onClick:t[2]||(t[2]=(...e)=>ue.clearAllSubtasks&&ue.clearAllSubtasks(...e))},[(0,i.Lk)("span",u,[(0,i.bF)(he,{icon:"fa-light fa-trash"})])])]),_:1},8,["label"])):(0,i.Q3)("",!0)]),(0,i.Lk)("div",{class:(0,a.C4)(["checklist-collapsible",{"is-collapsed":ce.isChecklistCollapsed}])},[(0,i.Lk)("div",{ref:"subtaskList",class:"subtask-list",onDragover:t[12]||(t[12]=(0,n.D$)((...e)=>ue.onDragOver&&ue.onDragOver(...e),["prevent","stop"])),onDragenter:t[13]||(t[13]=(0,n.D$)(()=>{},["prevent","stop"])),onDragleave:t[14]||(t[14]=(0,n.D$)(()=>{},["stop"])),onDrop:t[15]||(t[15]=(0,n.D$)((...e)=>ue.onDrop&&ue.onDrop(...e),["prevent","stop"]))},[ce.dragState.isDragging&&0===ce.dragState.dropIndex?((0,i.uX)(),(0,i.CE)("div",h)):(0,i.Q3)("",!0),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(ue.sortedSubtasks,(e,n)=>((0,i.uX)(),(0,i.CE)(i.FK,{key:e.id},[(0,i.Lk)("div",{class:(0,a.C4)(["subtask-item",{"is-done":e.done,"is-dragging":ce.dragState.draggingId===e.id}]),draggable:ce.editingSubtaskId!==e.id,"data-index":n,onDragstart:t=>ue.onDragStart(t,e,n),onDragend:t[6]||(t[6]=(...e)=>ue.onDragEnd&&ue.onDragEnd(...e))},[(0,i.Lk)("label",g,[(0,i.Lk)("input",{type:"checkbox",checked:e.done,onChange:t=>ue.toggleSubtask(e.id)},null,40,p),t[28]||(t[28]=(0,i.Lk)("span",{class:"checkmark"},null,-1))]),ce.editingSubtaskId!==e.id?((0,i.uX)(),(0,i.CE)("span",{key:0,class:(0,a.C4)(["subtask-title",{"is-completed":e.done}]),onClick:t=>ue.startEditingSubtask(e),innerHTML:ue.renderSubtaskTitle(e)},null,10,k)):((0,i.uX)(),(0,i.Wv)(ge,{key:1,modelValue:ce.editingSubtaskTitle,"onUpdate:modelValue":t[3]||(t[3]=e=>ce.editingSubtaskTitle=e),project:s.project,mentions:e.mentions||[],"contact-mentions":e.contactMentions||[],"focus-on-mount":!0,onMentionsChanged:t[4]||(t[4]=e=>ce.editingSubtaskMentions=e),onContactMentionsChanged:t[5]||(t[5]=e=>ce.editingSubtaskContactMentions=e),onCommit:t=>ue.saveSubtaskEdit(e.id),onCancel:ue.cancelEditingSubtask},null,8,["modelValue","project","mentions","contact-mentions","onCommit","onCancel"])),(0,i.Lk)("span",{class:"subtask-delete has-text-grey is-clickable",onClick:t=>ue.removeSubtask(e.id)},[(0,i.bF)(he,{icon:"fa-light fa-xmark"})],8,b)],42,m),ce.dragState.isDragging&&ce.dragState.dropIndex===n+1?((0,i.uX)(),(0,i.CE)("div",f)):(0,i.Q3)("",!0)],64))),128)),ce.isAddingSubtask?((0,i.uX)(),(0,i.CE)("div",y,[t[29]||(t[29]=(0,i.Lk)("label",{class:"checkbox-wrapper"},[(0,i.Lk)("input",{type:"checkbox",disabled:""}),(0,i.Lk)("span",{class:"checkmark"})],-1)),(0,i.bF)(ge,{ref:"newSubtaskInput",modelValue:ce.newSubtaskTitle,"onUpdate:modelValue":t[7]||(t[7]=e=>ce.newSubtaskTitle=e),project:s.project,placeholder:e.$t("Add checklist"),"focus-on-mount":!0,onMentionsChanged:t[8]||(t[8]=e=>ce.newSubtaskMentions=e),onContactMentionsChanged:t[9]||(t[9]=e=>ce.newSubtaskContactMentions=e),onCommit:ue.addSubtask,onCancel:ue.cancelAddingSubtask},null,8,["modelValue","project","placeholder","onCommit","onCancel"]),(0,i.Lk)("span",{class:"subtask-cancel-inline has-text-grey is-clickable",onClick:t[10
1]||(t[10]=(...e)=>ue.cancelAddingSubtask&&ue.cancelAddingSubtask(...e))},[(0,i.bF)(he,{icon:"fa-light fa-xmark"})])])):(0,i.Q3)("",!0),ce.isAddingSubtask?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",{key:2,class:"subtask-add-link",onClick:t[11]||(t[11]=(...e)=>ue.startAddingSubtask&&ue.startAddingSubtask(...e))},[(0,i.Lk)("span",v,[(0,i.bF)(he,{icon:"fa-light fa-square-check"})]),(0,i.Lk)("span",C,(0,a.v_)(e.$t("Add checklist")),1)]))],544)],2)],64)):(0,i.Q3)("",!0)])]),"additional-fields":(0,i.k6)(()=>[s.project.settings?.hasGoals?((0,i.uX)(),(0,i.CE)("div",S,[(0,i.Lk)("div",w,(0,a.v_)(e.$t("Goal")),1),(0,i.Lk)("div",D,[(0,i.bF)(ke,{"aria-role":"list",hoverable:"","close-on-click":"",position:"is-bottom-left",scrollable:"",expanded:"","max-height":300},{trigger:(0,i.k6)(({active:t,toggle:s})=>[(0,i.Lk)("button",{class:(0,a.C4)(["button is-small is-rounded is-fullwidth",{"is-light":!ce.itemGoal}]),style:(0,a.Tr)(ce.itemGoal?ue.tagStyle(ce.itemGoal.color):{}),onClick:s},[ce.itemGoal?((0,i.uX)(),(0,i.CE)("span",T,(0,a.v_)(ce.itemGoal.name),1)):((0,i.uX)(),(0,i.CE)("span",M,(0,a.v_)(e.$t("No goal")),1))],14,L)]),default:(0,i.k6)(()=>[(0,i.bF)(pe,{onClick:t[16]||(t[16]=e=>ce.itemGoal=null)},{default:(0,i.k6)(()=>[(0,i.Lk)("span",E,(0,a.v_)(e.$t("No goal")),1)]),_:1}),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(s.goals,e=>((0,i.uX)(),(0,i.Wv)(pe,{key:e.id,value:e,onClick:t=>ce.itemGoal=e},{default:(0,i.k6)(()=>[(0,i.Lk)("span",{class:"tag is-rounded",style:(0,a.Tr)(ue.tagStyle(e.color))},(0,a.v_)(e.name),5)]),_:2},1032,["value","onClick"]))),128))]),_:1})])])):(0,i.Q3)("",!0),s.types.length>0?((0,i.uX)(),(0,i.CE)("div",$,[(0,i.Lk)("div",x,(0,a.v_)(e.$t("Type")),1),(0,i.Lk)("div",F,[(0,i.bF)(ke,{modelValue:ce.itemType,"onUpdate:modelValue":t[18]||(t[18]=e=>ce.itemType=e),"aria-role":"list",hoverable:"","close-on-click":"",position:"is-bottom-left",scrollable:"",expanded:"","max-height":300},{trigger:(0,i.k6)(({active:t,toggle:s})=>[(0,i.Lk)("button",{class:(0,a.C4)(["button is-small is-rounded is-fullwidth",{"is-light":!ce.itemType}]),style:(0,a.Tr)(ce.itemType?ue.tagStyle(ce.itemType.color):{}),onClick:s},[ce.itemType?((0,i.uX)(),(0,i.CE)("span",_,(0,a.v_)(ce.itemType.name),1)):((0,i.uX)(),(0,i.CE)("span",X,(0,a.v_)(e.$t("No type")),1))],14,I)]),default:(0,i.k6)(()=>[(0,i.bF)(pe,{onClick:t[17]||(t[17]=e=>ce.itemType=null)},{default:(0,i.k6)(()=>[(0,i.Lk)("span",A,(0,a.v_)(e.$t("No type")),1)]),_:1}),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(s.types,e=>((0,i.uX)(),(0,i.Wv)(pe,{key:e.id,value:e,onClick:t=>ce.itemType=e},{default:(0,i.k6)(()=>[(0,i.Lk)("span",{class:"tag is-rounded",style:(0,a.Tr)(ue.tagStyle(e.color))},(0,a.v_)(e.name),5)]),_:2},1032,["value","onClick"]))),128))]),_:1},8,["modelValue"])])])):(0,i.Q3)("",!0),(0,i.Lk)("div",P,[(0,i.Lk)("div",j,(0,a.v_)(e.$t("Assignees")),1),(0,i.Lk)("div",U,[(0,i.bF)(be,{ref:"assigneeSearch","is-assignee":!0,"is-rounded":!1,"item-loaded":s.itemLoaded,project:s.project,"current-assignees":ce.itemAssignees,"exclude-assigned":!0,icon:"fa-crown","onUpdate:modelValue":ue.addAssignee},null,8,["item-loaded","project","current-assignees","onUpdate:modelValue"]),ce.itemAssignees.length>0?((0,i.uX)(),(0,i.CE)("div",W,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(ce.itemAssignees,e=>((0,i.uX)(),(0,i.Wv)(fe,{key:e.id||e.uuid,closable:"",class:"is-rounded is-small is-default",onClose:t=>ue.removeAssignee(e)},{default:(0,i.k6)(()=>[(0,i.eW)((0,a.v_)(e.firstName)+" "+(0,a.v_)(e.lastName),1)]),_:2},1032,["onClose"]))),128))])):(0,i.Q3)("",!0)])]),(0,i.Lk)("div",V,[(0,i.Lk)("div",B,[(0,i.Lk)("div",Q,(0,a.v_)(e.$t("Priority")),1),(0,i.bF)(ke,{modelValue:ce.itemPriority,"onUpdate:modelValue":t[19]||(t[19]=e=>ce.itemPriority=e),"close-on-click":"",hoverable:"","aria-role":"list",expanded:"",position:"is-top-right"},{trigger:(0,i.k6)(({active:t,toggle:s})=>[(0,i.Lk)("button",{class:"button is-light is-small is-rounded is-fullwidth",onClick:s},[(0,i.Lk)("span",{class:"icon is-small",style:(0,a.Tr)("color: "+e.$t(e.$store.state.issuePrioritiesData.find(e=>e.id===ce.itemPriority).color))},[(0,i.bF)(he,{icon:"fa-light "+e.$t(e.$store.state.issuePrioritiesData.find(e=>e.id===ce.itemPriority).icon)},null,8,["icon"])],4),(0,i.Lk)("span",null,(0,a.v_)(e.$t(e.$store.state.issuePrioritiesData.find(e=>
1e.id===ce.itemPriority).text)),1)],8,N)]),default:(0,i.k6)(()=>[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.$store.state.issuePrioritiesData,t=>((0,i.uX)(),(0,i.Wv)(pe,{key:t.id,value:t.id},{default:(0,i.k6)(()=>[(0,i.Lk)("span",K,[(0,i.Lk)("span",{class:"icon is-small",style:(0,a.Tr)("color: "+t.color)},[(0,i.bF)(he,{icon:"fa-light "+t.icon},null,8,["icon"])],4),(0,i.Lk)("span",null,(0,a.v_)(e.$t(t.text)),1)])]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),(0,i.Lk)("div",G,[(0,i.Lk)("div",z,(0,a.v_)(e.$t("Status")),1),(0,i.bF)(ke,{modelValue:ce.itemStatus,"onUpdate:modelValue":t[20]||(t[20]=e=>ce.itemStatus=e),"aria-role":"list","close-on-click":"",expanded:"",position:"is-top-right"},{trigger:(0,i.k6)(({active:e,toggle:t})=>[(0,i.Lk)("button",{class:"button is-small is-rounded is-fullwidth",style:(0,a.Tr)(ce.itemStatus?ue.tagStyle(ce.itemStatus.color):{backgroundColor:"#eee"}),onClick:t},[ce.item&&ce.item.id&&!ce.itemStatus?((0,i.uX)(),(0,i.CE)("span",R,"...")):ce.itemStatus?((0,i.uX)(),(0,i.CE)("span",H,(0,a.v_)(ce.itemStatus.name),1)):!ce.itemStatus&&s.statuses.length>0?((0,i.uX)(),(0,i.CE)("span",Y,(0,a.v_)(s.statuses[0].name),1)):(0,i.Q3)("",!0)],12,O)]),default:(0,i.k6)(()=>[ue.openStatuses.length?((0,i.uX)(),(0,i.Wv)(pe,{key:0,custom:"",class:"dropdown-group-label"},{default:(0,i.k6)(()=>[(0,i.eW)((0,a.v_)(e.$t("Open")),1)]),_:1})):(0,i.Q3)("",!0),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(ue.openStatuses,e=>((0,i.uX)(),(0,i.Wv)(pe,{key:e.id,value:e,class:"dropdown-grouped-item"},{default:(0,i.k6)(()=>[(0,i.Lk)("span",{class:"tag is-rounded",style:(0,a.Tr)(ue.tagStyle(e.color))}," â "+(0,a.v_)(e.name),5)]),_:2},1032,["value"]))),128)),ue.closedStatuses.length?((0,i.uX)(),(0,i.Wv)(pe,{key:1,custom:"",class:"dropdown-group-label"},{default:(0,i.k6)(()=>[(0,i.eW)((0,a.v_)(e.$t("Closed")),1)]),_:1})):(0,i.Q3)("",!0),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(ue.closedStatuses,e=>((0,i.uX)(),(0,i.Wv)(pe,{key:e.id,value:e,class:"dropdown-grouped-item"},{default:(0,i.k6)(()=>[(0,i.Lk)("span",{class:"tag is-rounded",style:(0,a.Tr)(ue.tagStyle(e.color))}," â "+(0,a.v_)(e.name),5)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),(0,i.Lk)("div",Z,[(0,i.Lk)("div",q,[(0,i.Lk)("div",J,(0,a.v_)(e.$t("Start date")),1),(0,i.bF)(ye,{modelValue:ce.item.dateStart,"onUpdate:modelValue":t[21]||(t[21]=e=>ce.item.dateStart=e),editable:"","max-date":ce.item.dateDue||void 0,"show-week-number":!0,icon:ce.item.dateStart?"":"fa-calendar-alt","icon-right":ce.item.dateStart?"close":"","icon-right-clickable":!!ce.item.dateStart,"trap-focus":"","append-to-body":"",position:"is-top-left",onIconRightClick:t[22]||(t[22]=e=>ce.item.dateStart=null)},null,8,["modelValue","max-date","icon","icon-right","icon-right-clickable"])]),(0,i.Lk)("div",ee,[(0,i.Lk)("div",te,(0,a.v_)(e.$t("Due date")),1),(0,i.bF)(ye,{modelValue:ce.item.dateDue,"onUpdate:modelValue":t[23]||(t[23]=e=>ce.item.dateDue=e),editable:"","min-date":ce.item.dateStart||void 0,"show-week-number":!0,icon:ce.item.dateDue?"":"fa-calendar-alt","icon-right":ce.item.dateDue?"close":"","icon-right-clickable":!!ce.item.dateDue,"trap-focus":"","append-to-body":"",position:"is-top-left",onIconRightClick:t[24]||(t[24]=e=>ce.item.dateDue=null)},null,8,["modelValue","min-date","icon","icon-right","icon-right-clickable"])])]),(0,i.Lk)("div",se,[(0,i.Lk)("div",ie,(0,a.v_)(e.$t("Blocked by")),1),(0,i.Lk)("div",ae,[ce.selectedBlockedBy.length>0?((0,i.uX)(),(0,i.CE)("div",ne,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(ce.selectedBlockedBy,e=>((0,i.uX)(),(0,i.CE)("span",{key:e.uuid,class:"tag is-rounded is-medium"},[(0,i.Lk)("span",{class:(0,a.C4)(["mr-1",e.status?.isClosed?"has-text-success":"has-text-grey-light"])},[(0,i.bF)(he,{icon:e.status?.isClosed?"fa-light fa-check-circle":"fa-light fa-circle",size:"sm"},null,8,["icon"])],2),(0,i.eW)(" "+(0,a.v_)(e.title)+" ",1),(0,i.Lk)("button",{class:"delete is-small",type:"button",onClick:t=>ue.removeBlockedBy(e)},null,8,le)]))),128))])):(0,i.Q3)("",!0),(0,i.bF)(ve,{modelValue:ce.blockedBySearch,"onUpdate:modelValue":t[25]||(t[25]=e=>ce.blockedBySearch=e),data:ue.filteredProjectTasks,placeholder:"",field:"title",loading:ce.isLoadingTasks,clearable:"","open-on-focus":"","append-to-body":"","dropdown-position":"top",onSelect:ue.addBlockedBy},{default:(0,i.k6)(e=>[(0,i.Lk)("div",oe,[(0,i.Lk)("span",{class:(0,a.C4)(["mr-2",e.option.status?.isClosed?"has-text-success":"has-text-grey-light"])},[(0,i.bF)(he,{icon:e.option.status?.isClosed?"fa-light fa-check-circle":"fa-light fa-circle",size:"sm"},null,8,["icon"])],2),(0,i.Lk)("span",null,(0,a.v_)(e.option.title),1)])]),empty:(0,i.k6)(()=>[(0,i.eW)((0,a.v_)(e.$t("No results found")),1)]),_:1},8,["modelValue","data","loading","onSelect"])])])]),_:2}
1,[s.itemLoaded&&ue.canDeleteTask?{name:"header-actions",fn:(0,i.k6)(()=>[(0,i.bF)(me,{label:e.$t("Delete task"),position:"is-bottom",type:"is-dark"},{default:(0,i.k6)(()=>[(0,i.Lk)("span",{class:(0,a.C4)(["button is-white is-pulled-right",{"is-loading":ce.isDeleting}]),onClick:t[26]||(t[26]=(...e)=>ue.confirmDeleteTask&&ue.confirmDeleteTask(...e))},[(0,i.Lk)("span",de,[(0,i.bF)(he,{icon:"fa-light fa-trash"})])],2)]),_:1},8,["label"])]),key:"0"}:void 0]),1032,["item-loaded","title-placeholder","default-title","save-button-text","project","onSave","onTitleChanged","onInlineMentionsChanged","onInlineContactMentionsChanged"])}s(44114),s(22489),s(7588),s(61701),s(18237),s(17642),s(58004),s(33853),s(45876),s(32475),s(15024),s(31698);var ce=s(72623),ue=s(41664),he=s(40834),me=s(23858),ge=s(95256),pe=s(95093),ke=s.n(pe),be={name:"TaskFormModal",components:{BaseFormModal:ce.A,UserSearchDiscussAutocomplete:ue.A,ChecklistRowInput:me.A},props:{itemLoaded:{type:Object,default:null},project:{type:Object,required:!0},goals:{type:Array,default:()=>[]},statuses:{type:Array,default:()=>[]},types:{type:Array,default:()=>[]},initialStatus:{type:Object,default:null},initialFiles:{type:Array,default:null},initialAssignees:{type:Array,default:null},initialPriority:{type:Number,default:null},initialType:{type:Object,default:null},initialGoal:{type:Object,default:null},initialDueDate:{type:Date,default:null},initialTitle:{type:String,default:null}},data(){return{item:null,descriptionMentions:[],descriptionContactMentions:[],itemStatus:null,itemGoal:null,itemPriority:3,itemAssignee:null,itemAssignees:[],itemType:null,showDates:!1,itemSubtasks:[],newSubtaskTitle:"",newSubtaskMentions:[],newSubtaskContactMentions:[],editingSubtaskMentions:[],editingSubtaskContactMentions:[],isAddingSubtask:!1,isChecklistCollapsed:!1,editingSubtaskId:null,editingSubtaskTitle:"",dragState:{isDragging:!1,draggingId:null,dragIndex:null,dropIndex:null},blockedBySearch:"",selectedBlockedBy:[],projectTasks:[],isLoadingTasks:!1,isDeleting:!1}},computed:{...(0,he.L8)(["user","tenant","isGranted"]),modalTitle(){return this.item?.id?this.$t("Edit task"):this.$t("Create task")},saveButtonText(){return this.itemLoaded?this.$t("save"):this.$t("add")},canDeleteTask(){return!!this.itemLoaded&&(!!this.isGranted("ADMIN_TENANT")||(!(!this.itemLoaded.createdBy||this.itemLoaded.createdBy.id!==this.user.id)||!(!this.project?.owner||this.project.owner.id!==this.user.id)))},openStatuses(){return this.statuses.filter(e=>!e.isClosed)},closedStatuses(){return this.statuses.filter(e=>e.isClosed)},subtaskStats(){const e=this.itemSubtasks.length,t=this.itemSubtasks.filter(e=>e.done).length;return{total:e,completed:t,percentage:e>0?Math.round(t/e*100):0}},sortedSubtasks(){return[...this.itemSubtasks].sort((e,t)=>(e.position||0)-(t.position||0))},filteredProjectTasks(){if(!this.projectTasks)return[];const e=this.selectedBlockedBy.map(e=>e.uuid),t=this.itemLoaded?.uuid;return this.projectTasks.filter(s=>(!t||s.uuid!==t)&&(!e.includes(s.uuid)&&(!this.blockedBySearch||s.title.toLowerCase().includes(this.blockedBySearch.toLowerCase()))))}},created(){this.initTask(),this.loadProjectTasks()},mounted(){this.$refs.baseModal&&this.item&&this.$refs.baseModal.initItem(this.item),this.initialFiles&&this.initialFiles.length&&this.$nextTick(()=>{this.$refs.baseModal&&this.$refs.baseModal.$refs.mediaUpload&&this.$refs.baseModal.$refs.mediaUpload.addExternalFiles(this.initialFiles,!1)})},methods:{tagStyle(e){if(!e)return{};if(e.startsWith("#"))return{backgroundColor:e,color:"white"};const t="dark"===this.$store.state.theme;return{backgroundColor:`var(--${e}-${t?"800":"200"})`,color:`var(--${e}-${t?"200":"800"})`}},addAssignee(e){e&&(this.itemAssignees.find(t=>t.id&&t.id===e.id||t.uuid&&t.uuid===e.uuid)||(this.itemAssignees.push(e),this.itemAssignee=this.itemAssignees[0]||null))},removeAssignee(e){this.itemAssignees=this.itemAssignees.filter(t=>t.id!==e.id),this.itemAssignee=this.itemAssignees[0]||null},onTitleChanged(e){this.item&&(this.item.title=e)},onDescriptionMentionsChanged(e){this.descriptionMentions=[...new Set([...this.descriptionMentions,...e])]},onDescriptionContactMentionsChanged(e){this.descriptionContactMentions=[...new Set([...this.descriptionContactMentions,...e])]},saveTask(e){this.$refs.baseModal&&this.$refs.baseModal.setLoading(!0),Promise.all([this.$refs.baseModal?this.$refs.baseModal.uploadMedia("postimage"):Promise.resolve(),this.$refs.baseModal?this.$refs.baseModal.uploadMedia("postvideo"):Promise.resolve(),this.$refs.baseModal?this.$refs.baseModal.uploadMedia("postfile"):Promise.resolve()]).then(()=>{let t=this.itemLoaded?this.$http.plain.patch:this.$http.plain.post,s=this.itemLoaded?"/tasks/"+this.itemLoaded.uuid:"/tasks";this.item.title=e.title,this.item.content=e.content,this.item.mentions=this.descriptionMentions,this.item.contactMentions=this.descriptionContactMentions,this.item.uploadedMedia=e.uploadedMedia,this.item.removedMedia=this.$refs.baseModal?.$refs?.mediaUpload?.removedMedia||[],this.item.goal=this.itemGoal?this.itemGoal["@id"]:null,this.item.status=this.itemStatus?this.itemStatus["@id"]:this.statuses.length?this.statuses[0]["@id"]:null,this.item.priority=this.itemPriority,this.item.assignee=this.itemAssignee?this.itemAssignee["@id"]:null,this.item.assignees=this.itemAssignees.map(e=>e["@id"]),this.item.type=this.itemType?this.itemType["@id"]:null,this.item.subtasks=this.itemSubtasks.length>0?this.itemSubtasks:null,this.item.dateStart&&(this.item.dateStart=ke()(this.item.dateStart).toDate()),this.item.dateDue&&(this.item.dateDue=ke()(this.item.dateDue).toDate()),this.itemLoaded||(this.item.project=this.project["@id"]),this.item.blockedBy=this.selectedBlockedBy.map(e=>e["@id"]),t(s,this.item).then(e=>{this.$buefy.snackbar.open({message:this.$t("saved")}),this.$emit("close"),this.$emit("task-created",e.data)}).catch(e=>{console.log(e);const t=e.response?.data?.["hydra:description"]||e.response?.data?.detail||this.$t("Failed to save task");
1this.$buefy.toast.open({message:t,type:"is-danger",duration:5e3})}).finally(()=>{this.$refs.baseModal&&this.$refs.baseModal.setLoading(!1)})})},confirmDeleteTask(){this.$buefy.dialog.confirm({title:this.$t("Delete task"),message:this.$t("Are you sure you want to delete this task?"),confirmText:this.$t("delete"),cancelText:this.$t("cancel"),type:"is-danger",hasIcon:!0,onConfirm:()=>this.deleteTask()})},deleteTask(){this.isDeleting=!0,this.$http.plain.delete("/tasks/"+this.itemLoaded.uuid).then(()=>{this.$buefy.toast.open({message:this.$t("Task deleted"),type:"is-success"}),this.$emit("close"),this.$emit("task-created",null)}).catch(e=>{console.error(e),this.$buefy.toast.open({message:this.$t("Failed to delete task"),type:"is-danger"})}).finally(()=>{this.isDeleting=!1})},initTask(){if(this.itemLoaded){const e={id:this.itemLoaded.id,title:(0,ge.jT)(this.itemLoaded.title),content:this.itemLoaded.mainPost?(0,ge.jT)(this.itemLoaded.mainPost.content):"",medias:this.itemLoaded.mainPost?this.itemLoaded.mainPost.medias:[],uploadedMedia:[],removedMedia:[]};this.item=e,this.descriptionMentions=this.itemLoaded.mainPost?.mentions?this.itemLoaded.mainPost.mentions.map(e=>e.id):[],this.descriptionContactMentions=this.itemLoaded.mainPost?.contactMentions?this.itemLoaded.mainPost.contactMentions.map(e=>e.id):[],this.itemPriority=this.itemLoaded.priority||3,this.itemAssignee=this.itemLoaded.assignee,this.itemLoaded.taskAssignees&&this.itemLoaded.taskAssignees.length>0?this.itemAssignees=this.itemLoaded.taskAssignees.filter(e=>e.user).map(e=>e.user):this.itemLoaded.assignee&&(this.itemAssignees=[this.itemLoaded.assignee]),this.itemStatus=this.itemLoaded.status,this.itemGoal=this.itemLoaded.goal?this.goals.find(e=>e.uuid===this.itemLoaded.goal.uuid)||this.itemLoaded.goal:null,this.item.dateStart=this.itemLoaded.dateStart?ke().utc(this.itemLoaded.dateStart).local().toDate():null,this.item.dateDue=this.itemLoaded.dateDue?ke().utc(this.itemLoaded.dateDue).local().toDate():null,this.selectedBlockedBy=this.itemLoaded.blockedBy||[],this.itemType=this.itemLoaded.type||null,this.itemSubtasks=this.itemLoaded.subtasks?[...this.itemLoaded.subtasks]:[]}else this.resetTask()},resetTask(){const e={title:this.initialTitle||null,content:null,dateDue:this.initialDueDate||null,medias:[],uploadedMedia:[],removedMedia:[]};this.item=e,this.itemStatus=this.initialStatus||(this.statuses.length>0?this.statuses[0]:null),this.itemAssignees=this.initialAssignees?[...this.initialAssignees]:[],this.itemPriority=this.initialPriority||3,this.itemGoal=this.initialGoal||null,this.itemType=this.initialType||null,this.itemSubtasks=[],this.selectedBlockedBy=[]},loadProjectTasks(){this.project&&(this.isLoadingTasks=!0,this.$http.plain.get("/tasks",{params:{project:this.project.uuid,itemsPerPage:100}}).then(e=>{this.projectTasks=e.data["hydra:member"]||[]}).catch(e=>{console.log(e)}).finally(()=>{this.isLoadingTasks=!1}))},addBlockedBy(e){e&&(this.selectedBlockedBy.find(t=>t.uuid===e.uuid)||this.selectedBlockedBy.push(e),this.blockedBySearch="")},startAddingSubtask(){this.isAddingSubtask=!0,this.$nextTick(()=>{this.$refs.newSubtaskInput&&this.$refs.newSubtaskInput.focus()})},cancelAddingSubtask(){this.isAddingSubtask=!1,this.newSubtaskTitle="",this.newSubtaskMentions=[],this.newSubtaskContactMentions=[]},clearAllSubtasks(){this.itemSubtasks=[]},handleSubtaskPaste(e){const t=e.clipboardData.getData("text/plain"),s=(0,ge.wt)(t);if(s.length<2)return;e.preventDefault();let i=this.itemSubtasks.reduce((e,t)=>Math.max(e,t.position||0),0);s.forEach(e=>{i++,this.itemSubtasks.push({id:Math.random().toString(16).slice(2),title:e.title,done:e.done,position:i,mentions:[],contactMentions:[]})}),this.newSubtaskTitle=""},addSubtask(){const e=this.newSubtaskTitle.trim();if(!e)return;const t=this.itemSubtasks.reduce((e,t)=>Math.max(e,t.position||0),0);this.itemSubtasks.push({id:Math.random().toString(16).slice(2),title:e,done:!1,position:t+1,mentions:[...this.newSubtaskMentions],contactMentions:[...this.newSubtaskContactMentions]}),this.newSubtaskTitle="",this.newSubtaskMentions=[],this.newSubtaskContactMentions=[],this.$nextTick(()=>{this.$refs.newSubtaskInput&&this.$refs.newSubtaskInput.focus()})},toggleSubtask(e){const t=this.itemSubtasks.find(t=>
1t.id===e);t&&(t.done=!t.done)},removeSubtask(e){this.itemSubtasks=this.itemSubtasks.filter(t=>t.id!==e)},renderSubtaskTitle(e){return(0,ge.YQ)(e.title||"",e.mentions||[],e.contactMentions||[])},startEditingSubtask(e){this.editingSubtaskId=e.id,this.editingSubtaskTitle=(0,ge.jT)(e.title||""),this.editingSubtaskMentions=[...e.mentions||[]],this.editingSubtaskContactMentions=[...e.contactMentions||[]]},cancelEditingSubtask(){this.editingSubtaskId=null,this.editingSubtaskTitle="",this.editingSubtaskMentions=[],this.editingSubtaskContactMentions=[]},saveSubtaskEdit(e){if(!this.editingSubtaskTitle.trim())return void this.cancelEditingSubtask();const t=this.itemSubtasks.find(t=>t.id===e);t&&(t.title=this.editingSubtaskTitle.trim(),t.mentions=[...this.editingSubtaskMentions],t.contactMentions=[...this.editingSubtaskContactMentions]),this.cancelEditingSubtask()},onDragStart(e,t,s){this.dragState.isDragging=!0,this.dragState.draggingId=t.id,this.dragState.dragIndex=s,this.dragState.dropIndex=null,e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("text/plain",t.id);const i=document.createElement("div");i.textContent=t.title,i.style.cssText="\n position: fixed; top: -1000px; left: -1000px;\n padding: 8px 16px; background: #fff; font-size: 14px;\n box-shadow: 0 10px 40px rgba(0,0,0,0.15);\n border-radius: 8px; opacity: 0.95; max-width: 300px;\n overflow: hidden; white-space: nowrap; text-overflow: ellipsis;\n ",document.body.appendChild(i),e.dataTransfer.setDragImage(i,24,16),requestAnimationFrame(()=>i.remove())},onDragEnd(){this.dragState.isDragging=!1,this.dragState.draggingId=null,this.dragState.dragIndex=null,this.dragState.dropIndex=null},onDragOver(e){if(!this.dragState.isDragging)return;e.preventDefault();const t=this.$refs.subtaskList,s=t.querySelectorAll(".subtask-item"),i=e.clientY;let a=0;for(let l=0;l<s.length;l++){const e=s[l].getBoundingClientRect(),t=e.top+e.height/2;i>t&&(a=l+1)}const n=this.dragState.dragIndex;this.dragState.dropIndex=a===n||a===n+1?null:a},onDrop(){const{dragIndex:e,dropIndex:t}=this.dragState;if(null===e||null===t)return void this.onDragEnd();let s=t;if(e<t&&(s=t-1),e!==s){const t=[...this.sortedSubtasks],[i]=t.splice(e,1);t.splice(s,0,i),t.forEach((e,t)=>{e.position=t}),this.itemSubtasks=t}this.onDragEnd()},removeBlockedBy(e){this.selectedBlockedBy=this.selectedBlockedBy.filter(t=>t.uuid!==e.uuid)}}},fe=s(66262);const ye=(0,fe.A)(be,[["render",re],["__scopeId","data-v-0b758ace"]]);var ve=ye}}]);
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.