PluginProbe
FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration / 2.1.0
FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration v2.1.0
2.1.0 2.0.15 2.0.12 2.0.10 2.0.4 2.0.1 2.0.0 1.95.3 1.95.2 1.95 1.91.6 trunk 1.11 1.12 1.13 1.20 1.21 1.22 1.23 1.30 1.31 1.32 1.35 1.40 1.41 All 42 releases
fluent-boards / assets / admin / Components / Report / Tasks / Tasks.js

Tasks.js in FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration 2.1.0, at assets/admin/Components/Report/Tasks/Tasks.js

2 lines 6.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import{R as e,a as t,d as s,r,b as a,h as o,f as i,c as l,s as n,i as d}from"../../../../reportHelpers.js?ver=2.1.0";import{H as p}from"../../../../_HorizontalBarPanel.js?ver=2.1.0";import{A as m}from"../../../../_AssigneeProgressList.js?ver=2.1.0";import{P as b}from"../../../../_PriorityDistribution.js?ver=2.1.0";import{at as c,ar as h,L as u,a as g}from"../../../../vendor-element-plus.js?ver=2.1.0";import{aO as f,aP as _,S as w,T as y,$ as k,a5 as v,_ as $,a0 as T,a9 as A,a2 as P,a8 as C,a7 as R,Z as B}from"../../../../vendor.js?ver=2.1.0";import{_ as I,I as E}from"../../../../descriptionToPlainText.js?ver=2.1.0";import"../../../../chartPalette.js?ver=2.1.0";import"../../../../vendor-echarts.js?ver=2.1.0";import"../../../../UpgradeUrl.js?ver=2.1.0";const S={name:"RecentlyCompletedTasks",components:{ReportPanel:e,Icons:E},props:{title:{type:String,default:"Recently Completed Tasks"},tasks:{type:Array,default:()=>[]},showViewAll:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},showEstimatedTime:{type:Boolean,default:!1}},emits:["view-all","open-task","export"],methods:{priorityLabel:e=>({urgent:"Urgent",high:"High",medium:"Medium",low:"Low"}[e]||"None"),initials:e=>(e||"").split(" ").filter(Boolean).slice(0,2).map(e=>e.charAt(0).toUpperCase()).join("")}},j={class:"fbs_report_completed--actions"},x={class:"fbs_report_completed--task"},L=["title","onClick"],V={class:"fbs_report_completed--board"},H={class:"icon"},M={class:"label"},U={class:"fbs_report_completed--assignee"};const O={class:"fbs_report_page"},q={class:"fbs_report_page--row fbs_report_page--row-split"},z={class:"fbs_report_page--row fbs_report_page--row-split"};const D=I({name:"ReportTasks",components:{ReportFilterBar:t,HorizontalBarPanel:p,AssigneeProgressList:m,PriorityDistribution:b,RecentlyCompletedTasks:I(S,[["render",function(e,t,s,r,a,o){const i=g,l=f("Icons"),n=h,d=u,p=c,m=f("ReportPanel"),b=_("loading");return w(),y(m,{title:s.title},{actions:k(()=>[T("div",j,[$(i,{disabled:s.loading,title:s.loading?e.$t("Loading report…"):"",onClick:t[0]||(t[0]=t=>e.$emit("export"))},{default:k(()=>[C(A(e.$t("Export")),1)]),_:1},8,["disabled","title"]),s.showViewAll?(w(),y(i,{key:0,link:"",class:"fbs_report_completed--view-all no-underline hover-underline fbs_mr_0 fbs_ml_0",onClick:t[1]||(t[1]=t=>e.$emit("view-all"))},{default:k(()=>[C(A(e.$t("View All")),1)]),_:1})):R("",!0)])]),default:k(()=>[v((w(),y(p,{data:s.tasks,class:"fbs_report_completed"},{default:k(()=>[$(n,{prop:"title",label:e.$t("Task"),sortable:"","min-width":"240"},{default:k(t=>[T("div",x,[$(l,{"icon-name":"task-status-complete",class:"fbs_report_completed--check"}),T("button",{type:"button",class:"fbs_report_completed--title",title:t.row.title,onClick:s=>e.$emit("open-task",t.row)},A(t.row.title),9,L)])]),_:1},8,["label"]),$(n,{prop:"board",label:e.$t("Board"),sortable:"","min-width":"170"},{default:k(e=>[T("div",V,[T("span",null,A(e.row.board),1)])]),_:1},8,["label"]),$(n,{prop:"stage",label:e.$t("Stage"),sortable:"","min-width":"150"},null,8,["label"]),$(n,{prop:"priority",label:e.$t("Priority"),sortable:"","min-width":"140"},{default:k(t=>[T("span",{class:P(["fbs_priority_badge fbs_priority_badge_selected","fbs_priority_badge_"+t.row.priority])},[T("span",H,[$(l,{"icon-name":"priority-"+t.row.priority},null,8,["icon-name"])]),T("span",M,A(e.$t(o.priorityLabel(t.row.priority))),1)],2)]),_:1},8,["label"]),$(n,{prop:"assignee",label:e.$t("Assignee"),sortable:"","min-width":"180"},{default:k(e=>[T("div",U,[$(d,{size:24,src:e.row.assigneeAvatar},{default:k(()=>[C(A(o.initials(e.row.assignee)),1)]),_:2},1032,["src"]),T("span",null,A(e.row.assignee),1)])]),_:1},8,["label"]),s.showEstimatedTime?(w(),y(n,{key:0,prop:"estimated",label:e.$t("Est."),sortable:"",width:"110",align:"right"},{default:k(e=>[C(A(e.row.estimated||"---"),1)]),_:1},8,["label"])):R("",!0)]),_:1},8,["data"])),[[b,s.loading]])]),_:1},8,["title"])}]])},data(){return{loading:!1,boards:[],report:o(),filters:d(this.$route.query)}},computed:{hasTimeTracking(){var e,t,s;return"yes"===(null==(s=null==(t=null==(e=this.appVars)?void 0:e.advanced_modules)?void 0:t.timeTracking)?void 0:s.enabled)},canShowEstimatedTime(){return this.appVars.has_pro&&this.hasTimeTracking},labelItems(){return this.report.byLabel.map(e=>({label:e.title,value:e.total,color:e.color}))}},watch:{"filters.boardId"(e){n(this.$router,this.$route,e)},"$route.query.board_id"(e){const t=Array.isArray(e)?e[0]:e;String(t||"")!==String(this.filters.boardId||"")&&(this.filters.boardId=t||"")},filters:{deep:!0,handler(){this.fetchReport()}}},created(){this.requests=l()},mounted(){this.getBoards(),this.fetchReport()},methods:{getBoards(){i(this.$get).then(e=>{this.boards=e}).catch(()=>{this.boards=[]})},fetchReport(){this.loading=!0;const e=this.requests.next();this.$get("reports/tasks",a(this.filters)).then(t=>{e.isCurrent()&&(this.report=t.report||o())}).catch(t=>{e.isCurrent()&&(this.report=o(),this.$handleError(t))}).finally(()=>{e.isCurrent()&&(this.loading=!1)})},exportReport(){if(this.loading)return;const e={urgent:"Urgent",high:"High",medium:"Medium",low:"Low"},t=["Task","Board","Stage","Priority","Assignee"],a=this.report.recentlyCompleted.map(t=>{const s=[t.title,t.board,t.stage,e[t.priority]||"None",t.assignee];return this.canShowEstimatedTime&&s.push(t.estimated||"---"),s});this.canShowEstimatedTime&&t.push("Est.");const o=[t,...a];s(r("fluent-boards-tasks",this.filters),o)},openMember(e){e&&e.id&&this.$router.push({name:"member",params:{user_id:e.id}})},openTask(e){e&&e.boardId&&this.$router.push({name:"task",params:{id:e.boardId,taskIdName:`${e.id}-${e.slug}`}})},viewAllCompleted(){this.filters.boardId?this.$router.push({name:"board",params:{id:this.filters.boardId}}):this.$router.push({name:"boards"})}}},[["render",function(e,t,s,r,a,o){const i=f("ReportFilterBar"),l=f("HorizontalBarPanel"),n=f("AssigneeProgressList"),d=f("PriorityDistribution"),p=f("RecentlyCompletedTasks");return w(),B("div",O,[$(i,{modelValue:a.filters,"onUpdate:modelValue":t[0]||(t[0]=e=>a.filters=e),boards:a.boards,loading:a.loading,"show-export":!1},null,8,["modelValue","boards","loading"]),T("div",q,[$(l,{title:e.$t("Tasks by Stage"),items:a.report.byStage,loading:a.loading},null,8,["title","items","loading"]),$(n,{title:e.$t("Tasks by Assignee"),members:a.report.byAssignee,loading:a.loading,onOpenMember:o.openMember},null,8,["title","members","loading","onOpenMember"])]),T("div",z,[$(l,{title:e.$t("Tasks by Label"),items:o.labelItems,loading:a.loading},null,8,["title","items","loading"]),$(d,{items:a.report.priority.items,total:a.report.priority.total,loading:a.loading},null,8,["items","total","loading"])]),$(p,{tasks:a.report.recentlyCompleted,loading:a.loading,"show-estimated-time":o.canShowEstimatedTime,onViewAll:o.viewAllCompleted,onOpenTask:o.openTask,onExport:o.exportReport},null,8,["tasks","loading","show-estimated-time","onViewAll","onOpenTask","onExport"])])}]]);export{D as default};
2