@burdenoff/microfe-planmagnet 2026.927.2 → 2026.927.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/planmagnet/admin/PlanMagnetAdminRoot.d.ts.map +1 -1
- package/dist/planmagnet/admin/PlanMagnetAdminRoot.js +128 -124
- package/dist/planmagnet/admin/PlanMagnetAdminRoot.js.map +1 -1
- package/dist/planmagnet/controls/ConfirmButton.d.ts +25 -0
- package/dist/planmagnet/controls/ConfirmButton.d.ts.map +1 -0
- package/dist/planmagnet/controls/ConfirmButton.js +30 -0
- package/dist/planmagnet/controls/ConfirmButton.js.map +1 -0
- package/dist/planmagnet/controls/FeatureControls.d.ts +26 -0
- package/dist/planmagnet/controls/FeatureControls.d.ts.map +1 -0
- package/dist/planmagnet/controls/FeatureControls.js +318 -0
- package/dist/planmagnet/controls/FeatureControls.js.map +1 -0
- package/dist/planmagnet/controls/MilestoneControls.d.ts +17 -0
- package/dist/planmagnet/controls/MilestoneControls.d.ts.map +1 -0
- package/dist/planmagnet/controls/MilestoneControls.js +200 -0
- package/dist/planmagnet/controls/MilestoneControls.js.map +1 -0
- package/dist/planmagnet/controls/ObjectiveControls.d.ts +31 -0
- package/dist/planmagnet/controls/ObjectiveControls.d.ts.map +1 -0
- package/dist/planmagnet/controls/ObjectiveControls.js +296 -0
- package/dist/planmagnet/controls/ObjectiveControls.js.map +1 -0
- package/dist/planmagnet/controls/Pickers.d.ts +26 -0
- package/dist/planmagnet/controls/Pickers.d.ts.map +1 -0
- package/dist/planmagnet/controls/Pickers.js +171 -0
- package/dist/planmagnet/controls/Pickers.js.map +1 -0
- package/dist/planmagnet/controls/ProjectControls.d.ts +13 -0
- package/dist/planmagnet/controls/ProjectControls.d.ts.map +1 -0
- package/dist/planmagnet/controls/ProjectControls.js +104 -0
- package/dist/planmagnet/controls/ProjectControls.js.map +1 -0
- package/dist/planmagnet/controls/ReleaseControls.d.ts +14 -0
- package/dist/planmagnet/controls/ReleaseControls.d.ts.map +1 -0
- package/dist/planmagnet/controls/ReleaseControls.js +108 -0
- package/dist/planmagnet/controls/ReleaseControls.js.map +1 -0
- package/dist/planmagnet/controls/WorkItemControls.d.ts +52 -0
- package/dist/planmagnet/controls/WorkItemControls.d.ts.map +1 -0
- package/dist/planmagnet/controls/WorkItemControls.js +198 -0
- package/dist/planmagnet/controls/WorkItemControls.js.map +1 -0
- package/dist/planmagnet/pages/DocsDocDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/DocsDocDetailPagePage.js +188 -154
- package/dist/planmagnet/pages/DocsDocDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/DocsDocsPagePage.js +4 -4
- package/dist/planmagnet/pages/GoalsCreateObjectivePagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/GoalsCreateObjectivePagePage.js +63 -56
- package/dist/planmagnet/pages/GoalsCreateObjectivePagePage.js.map +1 -1
- package/dist/planmagnet/pages/GoalsObjectiveDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/GoalsObjectiveDetailPagePage.js +229 -214
- package/dist/planmagnet/pages/GoalsObjectiveDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ProductsEditProductPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ProductsEditProductPagePage.js +142 -114
- package/dist/planmagnet/pages/ProductsEditProductPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ProductsEditReleasePagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ProductsEditReleasePagePage.js +134 -105
- package/dist/planmagnet/pages/ProductsEditReleasePagePage.js.map +1 -1
- package/dist/planmagnet/pages/ProductsFeatureDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ProductsFeatureDetailPagePage.js +102 -108
- package/dist/planmagnet/pages/ProductsFeatureDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ProductsNewFeaturePagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ProductsNewFeaturePagePage.js +119 -94
- package/dist/planmagnet/pages/ProductsNewFeaturePagePage.js.map +1 -1
- package/dist/planmagnet/pages/ProductsProductDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ProductsProductDetailPagePage.js +97 -90
- package/dist/planmagnet/pages/ProductsProductDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ProductsReleaseDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ProductsReleaseDetailPagePage.js +107 -106
- package/dist/planmagnet/pages/ProductsReleaseDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ProductsReleasesPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ProductsReleasesPagePage.js +2 -0
- package/dist/planmagnet/pages/ProductsReleasesPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ProductsRoadmapDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ProductsRoadmapDetailPagePage.js +150 -111
- package/dist/planmagnet/pages/ProductsRoadmapDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ProjectsEditProjectPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ProjectsEditProjectPagePage.js +116 -93
- package/dist/planmagnet/pages/ProjectsEditProjectPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ProjectsMilestoneDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ProjectsMilestoneDetailPagePage.js +55 -63
- package/dist/planmagnet/pages/ProjectsMilestoneDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/ProjectsPlanningEditPagePage.js +4 -4
- package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.js +134 -132
- package/dist/planmagnet/pages/ProjectsProjectDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/SprintsStartSprintPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/SprintsStartSprintPagePage.js +6 -5
- package/dist/planmagnet/pages/SprintsStartSprintPagePage.js.map +1 -1
- package/dist/planmagnet/pages/TasksCreateTaskPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/TasksCreateTaskPagePage.js +167 -116
- package/dist/planmagnet/pages/TasksCreateTaskPagePage.js.map +1 -1
- package/dist/planmagnet/pages/TasksEditTaskPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/TasksEditTaskPagePage.js +139 -107
- package/dist/planmagnet/pages/TasksEditTaskPagePage.js.map +1 -1
- package/dist/planmagnet/pages/TasksTaskDetailPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/TasksTaskDetailPagePage.js +205 -158
- package/dist/planmagnet/pages/TasksTaskDetailPagePage.js.map +1 -1
- package/dist/planmagnet/pages/TasksTasksPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/TasksTasksPagePage.js +1 -0
- package/dist/planmagnet/pages/TasksTasksPagePage.js.map +1 -1
- package/dist/planmagnet/pages/TeamTeamPagePage.d.ts.map +1 -1
- package/dist/planmagnet/pages/TeamTeamPagePage.js +1 -1
- package/dist/planmagnet/pages/TeamTeamPagePage.js.map +1 -1
- package/dist/planmagnet/people/People.js +1 -1
- package/dist/planmagnet/roadmaps/RoadmapControls.d.ts +34 -0
- package/dist/planmagnet/roadmaps/RoadmapControls.d.ts.map +1 -0
- package/dist/planmagnet/roadmaps/RoadmapControls.js +301 -0
- package/dist/planmagnet/roadmaps/RoadmapControls.js.map +1 -0
- package/dist/planmagnet/sprints/SprintControls.d.ts.map +1 -1
- package/dist/planmagnet/sprints/SprintControls.js +194 -215
- package/dist/planmagnet/sprints/SprintControls.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { usePlanMagnet as e, usePlanMagnetNavigate as t } from "../providers/PlanMagnetProvider.js";
|
|
2
2
|
import { PersonName as n } from "../people/People.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
3
|
+
import { throwOnError as r } from "../utils/mutationResult.js";
|
|
4
|
+
import { DocSearchSelect as i } from "../controls/Pickers.js";
|
|
5
|
+
import { MarkdownEditor as a } from "../../components/MarkdownEditor.js";
|
|
6
|
+
import { WORK_ITEM_PRIORITIES as o, WORK_ITEM_STATUSES as s, WorkItemAssigneeSelect as c, WorkItemEnumSelect as l, WorkItemHeaderActions as u } from "../controls/WorkItemControls.js";
|
|
7
|
+
import { WorkItemComments as d } from "../comments/WorkItemComments.js";
|
|
8
|
+
import { WorkItemActivity as f } from "../comments/WorkItemActivity.js";
|
|
9
|
+
import { useState as p } from "react";
|
|
10
|
+
import { FileText as m, Link2 as h, Plus as g, X as _ } from "lucide-react";
|
|
11
|
+
import { gql as v } from "@apollo/client";
|
|
12
|
+
import { useMutation as y, useQuery as b } from "@apollo/client/react";
|
|
13
|
+
import { jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
14
|
+
import { Badge as C, Button as w, Card as T, CardContent as E, CardHeader as D, CardTitle as O, Input as k } from "@burdenoff/fe-libs/ui";
|
|
13
15
|
//#region src/planmagnet/pages/TasksTaskDetailPagePage.tsx
|
|
14
|
-
var
|
|
16
|
+
var A = v`
|
|
15
17
|
query GetWorkItemDetail($workItemId: ID!) {
|
|
16
18
|
planmagnetWorkItem(id: $workItemId) {
|
|
17
19
|
id
|
|
@@ -34,7 +36,7 @@ var C = d`
|
|
|
34
36
|
updatedAt
|
|
35
37
|
}
|
|
36
38
|
}
|
|
37
|
-
`,
|
|
39
|
+
`, j = v`
|
|
38
40
|
query GetWorkItemDocs($workItemId: ID!) {
|
|
39
41
|
planmagnetWorkItemDocs(workItemId: $workItemId) {
|
|
40
42
|
id
|
|
@@ -44,308 +46,350 @@ var C = d`
|
|
|
44
46
|
updatedAt
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
|
-
`,
|
|
49
|
+
`, M = v`
|
|
48
50
|
mutation CreateDocForWorkItem($input: PlanmagnetCreateDocInput!) {
|
|
49
51
|
planmagnetCreateDoc(input: $input) {
|
|
50
52
|
id
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
|
-
`,
|
|
55
|
+
`, N = v`
|
|
54
56
|
mutation LinkDocToWorkItem($docId: ID!, $workItemId: ID!) {
|
|
55
57
|
planmagnetLinkDocToWorkItem(docId: $docId, workItemId: $workItemId) {
|
|
56
58
|
id
|
|
57
59
|
}
|
|
58
60
|
}
|
|
59
|
-
`,
|
|
61
|
+
`, P = v`
|
|
60
62
|
mutation UnlinkDocFromWorkItem($docId: ID!, $workItemId: ID!) {
|
|
61
63
|
planmagnetUnlinkDocFromWorkItem(docId: $docId, workItemId: $workItemId)
|
|
62
64
|
}
|
|
63
|
-
`,
|
|
64
|
-
LOW: "bg-gray-100 text-gray-800",
|
|
65
|
-
MEDIUM: "bg-blue-100 text-blue-800",
|
|
66
|
-
HIGH: "bg-orange-100 text-orange-800",
|
|
67
|
-
CRITICAL: "bg-red-100 text-red-800"
|
|
68
|
-
}, k = {
|
|
69
|
-
BACKLOG: "bg-gray-100 text-gray-800",
|
|
70
|
-
TODO: "bg-blue-100 text-blue-800",
|
|
71
|
-
IN_PROGRESS: "bg-yellow-100 text-yellow-800",
|
|
72
|
-
IN_REVIEW: "bg-purple-100 text-purple-800",
|
|
73
|
-
DONE: "bg-green-100 text-green-800",
|
|
74
|
-
BLOCKED: "bg-red-100 text-red-800",
|
|
75
|
-
TESTING: "bg-teal-100 text-teal-800",
|
|
76
|
-
CANCELLED: "bg-gray-100 text-gray-800"
|
|
77
|
-
}, A = {
|
|
65
|
+
`, F = {
|
|
78
66
|
DRAFT: "bg-gray-100 text-gray-800",
|
|
79
67
|
PUBLISHED: "bg-green-100 text-green-800",
|
|
80
68
|
ARCHIVED: "bg-gray-100 text-gray-500"
|
|
81
69
|
};
|
|
82
|
-
function
|
|
83
|
-
let n = t(), [
|
|
70
|
+
function I({ workItemId: e }) {
|
|
71
|
+
let n = t(), [o, s] = p(!1), [c, l] = p(!1), [u, d] = p(""), [f, v] = p(""), [C, A] = p(""), { data: I, loading: L, error: R, refetch: z } = b(j, {
|
|
84
72
|
variables: { workItemId: e },
|
|
85
73
|
skip: !e
|
|
86
|
-
}), [
|
|
87
|
-
if (!(!
|
|
88
|
-
|
|
74
|
+
}), [B, { loading: V }] = y(M), [H, { loading: U }] = y(N), [W, { loading: G }] = y(P), [K, q] = p(null), J = I?.planmagnetWorkItemDocs ?? [], Y = async () => {
|
|
75
|
+
if (!(!f.trim() || !C.trim())) {
|
|
76
|
+
q(null);
|
|
89
77
|
try {
|
|
90
|
-
let t = (await
|
|
91
|
-
title:
|
|
78
|
+
let t = (await r(B({ variables: { input: {
|
|
79
|
+
title: f.trim(),
|
|
92
80
|
content: C.trim()
|
|
93
81
|
} } }))).data?.planmagnetCreateDoc?.id;
|
|
94
|
-
t && await
|
|
82
|
+
t && await r(H({ variables: {
|
|
95
83
|
docId: t,
|
|
96
84
|
workItemId: e
|
|
97
85
|
} }));
|
|
98
86
|
} catch (e) {
|
|
99
|
-
|
|
87
|
+
q(e instanceof Error ? e.message : "The doc could not be saved.");
|
|
100
88
|
return;
|
|
101
89
|
}
|
|
102
|
-
|
|
90
|
+
v(""), A(""), s(!1), z();
|
|
103
91
|
}
|
|
104
|
-
},
|
|
105
|
-
|
|
92
|
+
}, X = async () => {
|
|
93
|
+
if (u) {
|
|
94
|
+
q(null);
|
|
95
|
+
try {
|
|
96
|
+
await r(H({ variables: {
|
|
97
|
+
docId: u,
|
|
98
|
+
workItemId: e
|
|
99
|
+
} }));
|
|
100
|
+
} catch (e) {
|
|
101
|
+
q(e instanceof Error ? e.message : "The doc could not be linked.");
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
d(""), l(!1), z();
|
|
105
|
+
}
|
|
106
|
+
}, Z = async (t) => {
|
|
107
|
+
q(null);
|
|
106
108
|
try {
|
|
107
|
-
await
|
|
109
|
+
await r(W({ variables: {
|
|
108
110
|
docId: t,
|
|
109
111
|
workItemId: e
|
|
110
112
|
} }));
|
|
111
113
|
} catch (e) {
|
|
112
|
-
|
|
114
|
+
q(e instanceof Error ? e.message : "The doc could not be unlinked.");
|
|
113
115
|
return;
|
|
114
116
|
}
|
|
115
|
-
|
|
117
|
+
z();
|
|
116
118
|
};
|
|
117
|
-
return /* @__PURE__ */
|
|
119
|
+
return /* @__PURE__ */ S(T, { children: [/* @__PURE__ */ S(D, {
|
|
118
120
|
className: "flex flex-row items-center justify-between space-y-0",
|
|
119
|
-
children: [/* @__PURE__ */
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
children: [/* @__PURE__ */ x(O, { children: "Linked Docs" }), !o && !c && /* @__PURE__ */ S("div", {
|
|
122
|
+
className: "flex gap-2",
|
|
123
|
+
children: [/* @__PURE__ */ S(w, {
|
|
124
|
+
size: "sm",
|
|
125
|
+
variant: "outline",
|
|
126
|
+
onClick: () => l(!0),
|
|
127
|
+
children: [/* @__PURE__ */ x(h, { className: "h-4 w-4 mr-1" }), "Link existing doc"]
|
|
128
|
+
}), /* @__PURE__ */ S(w, {
|
|
129
|
+
size: "sm",
|
|
130
|
+
variant: "outline",
|
|
131
|
+
onClick: () => s(!0),
|
|
132
|
+
children: [/* @__PURE__ */ x(g, { className: "h-4 w-4 mr-1" }), "New Doc"]
|
|
133
|
+
})]
|
|
124
134
|
})]
|
|
125
|
-
}), /* @__PURE__ */
|
|
135
|
+
}), /* @__PURE__ */ S(E, {
|
|
126
136
|
className: "space-y-4",
|
|
127
137
|
children: [
|
|
128
|
-
|
|
138
|
+
c && /* @__PURE__ */ S("div", {
|
|
139
|
+
className: "space-y-2 rounded-md border border-input p-3",
|
|
140
|
+
children: [/* @__PURE__ */ x(i, {
|
|
141
|
+
id: "task-link-doc",
|
|
142
|
+
value: u,
|
|
143
|
+
onChange: d,
|
|
144
|
+
exclude: J.map((e) => e.id)
|
|
145
|
+
}), /* @__PURE__ */ S("div", {
|
|
146
|
+
className: "flex gap-2 justify-end",
|
|
147
|
+
children: [/* @__PURE__ */ x(w, {
|
|
148
|
+
size: "sm",
|
|
149
|
+
variant: "ghost",
|
|
150
|
+
onClick: () => {
|
|
151
|
+
l(!1), d("");
|
|
152
|
+
},
|
|
153
|
+
children: "Cancel"
|
|
154
|
+
}), /* @__PURE__ */ x(w, {
|
|
155
|
+
size: "sm",
|
|
156
|
+
disabled: !u || U,
|
|
157
|
+
onClick: X,
|
|
158
|
+
children: U ? "Linking..." : "Link"
|
|
159
|
+
})]
|
|
160
|
+
})]
|
|
161
|
+
}),
|
|
162
|
+
o && /* @__PURE__ */ S("div", {
|
|
129
163
|
className: "space-y-3 rounded-md border border-input p-3",
|
|
130
164
|
children: [
|
|
131
|
-
/* @__PURE__ */
|
|
165
|
+
/* @__PURE__ */ x(k, {
|
|
132
166
|
placeholder: "Doc title",
|
|
133
|
-
value:
|
|
134
|
-
onChange: (e) =>
|
|
167
|
+
value: f,
|
|
168
|
+
onChange: (e) => v(e.target.value)
|
|
135
169
|
}),
|
|
136
|
-
/* @__PURE__ */
|
|
170
|
+
/* @__PURE__ */ x(a, {
|
|
137
171
|
value: C,
|
|
138
|
-
onChange:
|
|
172
|
+
onChange: A,
|
|
139
173
|
placeholder: "Write the spec/doc content...",
|
|
140
174
|
minHeight: 140
|
|
141
175
|
}),
|
|
142
|
-
/* @__PURE__ */
|
|
176
|
+
/* @__PURE__ */ S("div", {
|
|
143
177
|
className: "flex gap-2 justify-end",
|
|
144
|
-
children: [/* @__PURE__ */
|
|
178
|
+
children: [/* @__PURE__ */ x(w, {
|
|
145
179
|
size: "sm",
|
|
146
180
|
variant: "ghost",
|
|
147
181
|
onClick: () => {
|
|
148
|
-
|
|
182
|
+
s(!1), v(""), A("");
|
|
149
183
|
},
|
|
150
184
|
children: "Cancel"
|
|
151
|
-
}), /* @__PURE__ */
|
|
185
|
+
}), /* @__PURE__ */ x(w, {
|
|
152
186
|
size: "sm",
|
|
153
|
-
disabled:
|
|
154
|
-
onClick:
|
|
155
|
-
children:
|
|
187
|
+
disabled: V || !f.trim() || !C.trim(),
|
|
188
|
+
onClick: Y,
|
|
189
|
+
children: V ? "Creating..." : "Create & Link"
|
|
156
190
|
})]
|
|
157
191
|
})
|
|
158
192
|
]
|
|
159
193
|
}),
|
|
160
|
-
|
|
194
|
+
L && /* @__PURE__ */ x("p", {
|
|
161
195
|
className: "text-sm text-muted-foreground",
|
|
162
196
|
children: "Loading docs..."
|
|
163
197
|
}),
|
|
164
|
-
|
|
198
|
+
R && /* @__PURE__ */ S("p", {
|
|
165
199
|
className: "text-sm text-red-500",
|
|
166
|
-
children: ["Error: ",
|
|
200
|
+
children: ["Error: ", R.message]
|
|
167
201
|
}),
|
|
168
|
-
|
|
202
|
+
K && /* @__PURE__ */ x("p", {
|
|
169
203
|
role: "alert",
|
|
170
204
|
className: "text-sm text-destructive",
|
|
171
|
-
children:
|
|
205
|
+
children: K
|
|
172
206
|
}),
|
|
173
|
-
!
|
|
207
|
+
!L && !R && J.length === 0 && !o && !c && /* @__PURE__ */ x("p", {
|
|
174
208
|
className: "text-sm text-muted-foreground",
|
|
175
209
|
children: "No docs linked to this work item yet."
|
|
176
210
|
}),
|
|
177
|
-
|
|
211
|
+
J.map((e) => /* @__PURE__ */ S("div", {
|
|
178
212
|
className: "flex items-center justify-between gap-3 rounded-md border border-input p-3",
|
|
179
|
-
children: [/* @__PURE__ */
|
|
213
|
+
children: [/* @__PURE__ */ S("div", {
|
|
180
214
|
className: "flex items-center gap-2 min-w-0",
|
|
181
|
-
children: [/* @__PURE__ */ m
|
|
215
|
+
children: [/* @__PURE__ */ x(m, { className: "h-4 w-4 text-muted-foreground shrink-0" }), /* @__PURE__ */ S("div", {
|
|
182
216
|
className: "min-w-0",
|
|
183
|
-
children: [/* @__PURE__ */
|
|
217
|
+
children: [/* @__PURE__ */ x("button", {
|
|
184
218
|
type: "button",
|
|
185
219
|
className: "block max-w-full truncate text-left text-sm font-medium hover:underline",
|
|
186
220
|
onClick: () => n(`/docs/doc-detail-page?docId=${encodeURIComponent(e.id)}`),
|
|
187
221
|
children: e.title
|
|
188
|
-
}), /* @__PURE__ */
|
|
222
|
+
}), /* @__PURE__ */ S("p", {
|
|
189
223
|
className: "text-xs text-muted-foreground",
|
|
190
224
|
children: ["v", e.version]
|
|
191
225
|
})]
|
|
192
226
|
})]
|
|
193
|
-
}), /* @__PURE__ */
|
|
227
|
+
}), /* @__PURE__ */ S("div", {
|
|
194
228
|
className: "flex items-center gap-2 shrink-0",
|
|
195
|
-
children: [/* @__PURE__ */
|
|
196
|
-
className: `text-xs px-2 py-0.5 rounded-full capitalize ${
|
|
229
|
+
children: [/* @__PURE__ */ x("span", {
|
|
230
|
+
className: `text-xs px-2 py-0.5 rounded-full capitalize ${F[e.status] ?? ""}`,
|
|
197
231
|
children: e.status.toLowerCase()
|
|
198
|
-
}), /* @__PURE__ */
|
|
232
|
+
}), /* @__PURE__ */ x(w, {
|
|
199
233
|
size: "icon",
|
|
200
234
|
variant: "ghost",
|
|
201
|
-
disabled:
|
|
202
|
-
onClick: () =>
|
|
235
|
+
disabled: G,
|
|
236
|
+
onClick: () => Z(e.id),
|
|
203
237
|
"aria-label": `Unlink ${e.title}`,
|
|
204
|
-
children: /* @__PURE__ */
|
|
238
|
+
children: /* @__PURE__ */ x(_, { className: "h-4 w-4" })
|
|
205
239
|
})]
|
|
206
240
|
})]
|
|
207
241
|
}, e.id))
|
|
208
242
|
]
|
|
209
243
|
})] });
|
|
210
244
|
}
|
|
211
|
-
function
|
|
212
|
-
let { workspaceId: t } = e(), r = new URLSearchParams(window.location.search).get("taskId") ?? "", { data: i, loading:
|
|
245
|
+
function L() {
|
|
246
|
+
let { workspaceId: t } = e(), r = new URLSearchParams(window.location.search).get("taskId") ?? "", { data: i, loading: a, error: p } = b(A, {
|
|
213
247
|
variables: { workItemId: r },
|
|
214
248
|
skip: !t || !r
|
|
215
249
|
});
|
|
216
|
-
if (
|
|
250
|
+
if (a && !i) return /* @__PURE__ */ x("div", {
|
|
217
251
|
className: "flex items-center justify-center p-12",
|
|
218
|
-
children: /* @__PURE__ */
|
|
252
|
+
children: /* @__PURE__ */ x("div", { className: "animate-spin h-8 w-8 border-2 border-primary border-t-transparent rounded-full" })
|
|
219
253
|
});
|
|
220
|
-
if (
|
|
254
|
+
if (p) return /* @__PURE__ */ S("div", {
|
|
221
255
|
className: "p-6 text-red-500",
|
|
222
|
-
children: ["Error: ",
|
|
256
|
+
children: ["Error: ", p.message]
|
|
223
257
|
});
|
|
224
|
-
let
|
|
225
|
-
|
|
226
|
-
className: "p-6 text-muted-foreground",
|
|
227
|
-
children: "Task not found."
|
|
228
|
-
});
|
|
229
|
-
let u = l.status.toLowerCase().replace("_", " ");
|
|
230
|
-
return /* @__PURE__ */ h("div", {
|
|
258
|
+
let m = i?.planmagnetWorkItem;
|
|
259
|
+
return m ? /* @__PURE__ */ S("div", {
|
|
231
260
|
className: "space-y-6 p-6",
|
|
232
|
-
children: [/* @__PURE__ */
|
|
233
|
-
className: "
|
|
234
|
-
children:
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
261
|
+
children: [/* @__PURE__ */ S("div", {
|
|
262
|
+
className: "flex items-start justify-between gap-4",
|
|
263
|
+
children: [/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("h1", {
|
|
264
|
+
className: "text-2xl font-semibold",
|
|
265
|
+
children: m.title
|
|
266
|
+
}), /* @__PURE__ */ S("p", {
|
|
267
|
+
className: "text-sm text-muted-foreground",
|
|
268
|
+
children: [
|
|
269
|
+
m.key,
|
|
270
|
+
" · ",
|
|
271
|
+
m.type.toLowerCase()
|
|
272
|
+
]
|
|
273
|
+
})] }), /* @__PURE__ */ x(u, {
|
|
274
|
+
workItemId: m.id,
|
|
275
|
+
title: m.title
|
|
276
|
+
})]
|
|
277
|
+
}), /* @__PURE__ */ S("div", {
|
|
243
278
|
className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
|
|
244
|
-
children: [/* @__PURE__ */
|
|
279
|
+
children: [/* @__PURE__ */ S("div", {
|
|
245
280
|
className: "lg:col-span-2 space-y-6",
|
|
246
281
|
children: [
|
|
247
|
-
/* @__PURE__ */
|
|
282
|
+
/* @__PURE__ */ S(T, { children: [/* @__PURE__ */ x(D, { children: /* @__PURE__ */ x(O, { children: "Description" }) }), /* @__PURE__ */ x(E, { children: /* @__PURE__ */ x("p", {
|
|
248
283
|
className: "text-sm",
|
|
249
|
-
children:
|
|
284
|
+
children: m.description ?? "No description provided."
|
|
250
285
|
}) })] }),
|
|
251
|
-
/* @__PURE__ */
|
|
252
|
-
/* @__PURE__ */
|
|
253
|
-
/* @__PURE__ */
|
|
286
|
+
/* @__PURE__ */ x(I, { workItemId: m.id }),
|
|
287
|
+
/* @__PURE__ */ x(d, { workItemId: m.id }),
|
|
288
|
+
/* @__PURE__ */ x(f, { workItemId: m.id })
|
|
254
289
|
]
|
|
255
|
-
}), /* @__PURE__ */
|
|
290
|
+
}), /* @__PURE__ */ x("div", {
|
|
256
291
|
className: "space-y-6",
|
|
257
|
-
children: /* @__PURE__ */
|
|
292
|
+
children: /* @__PURE__ */ S(T, { children: [/* @__PURE__ */ x(D, { children: /* @__PURE__ */ x(O, { children: "Details" }) }), /* @__PURE__ */ S(E, {
|
|
258
293
|
className: "space-y-3 text-sm",
|
|
259
294
|
children: [
|
|
260
|
-
/* @__PURE__ */
|
|
261
|
-
className: "flex justify-between",
|
|
262
|
-
children: [/* @__PURE__ */
|
|
295
|
+
/* @__PURE__ */ S("div", {
|
|
296
|
+
className: "flex items-start justify-between gap-2",
|
|
297
|
+
children: [/* @__PURE__ */ x("span", {
|
|
263
298
|
className: "text-muted-foreground",
|
|
264
299
|
children: "Status"
|
|
265
|
-
}), /* @__PURE__ */
|
|
266
|
-
|
|
267
|
-
|
|
300
|
+
}), /* @__PURE__ */ x(l, {
|
|
301
|
+
workItemId: m.id,
|
|
302
|
+
field: "status",
|
|
303
|
+
value: m.status,
|
|
304
|
+
options: s,
|
|
305
|
+
label: "Status"
|
|
268
306
|
})]
|
|
269
307
|
}),
|
|
270
|
-
/* @__PURE__ */
|
|
271
|
-
className: "flex justify-between",
|
|
272
|
-
children: [/* @__PURE__ */
|
|
308
|
+
/* @__PURE__ */ S("div", {
|
|
309
|
+
className: "flex items-start justify-between gap-2",
|
|
310
|
+
children: [/* @__PURE__ */ x("span", {
|
|
273
311
|
className: "text-muted-foreground",
|
|
274
312
|
children: "Priority"
|
|
275
|
-
}), /* @__PURE__ */
|
|
276
|
-
|
|
277
|
-
|
|
313
|
+
}), /* @__PURE__ */ x(l, {
|
|
314
|
+
workItemId: m.id,
|
|
315
|
+
field: "priority",
|
|
316
|
+
value: m.priority,
|
|
317
|
+
options: o,
|
|
318
|
+
label: "Priority"
|
|
278
319
|
})]
|
|
279
320
|
}),
|
|
280
|
-
/* @__PURE__ */
|
|
321
|
+
/* @__PURE__ */ S("div", {
|
|
281
322
|
className: "flex justify-between",
|
|
282
|
-
children: [/* @__PURE__ */
|
|
323
|
+
children: [/* @__PURE__ */ x("span", {
|
|
283
324
|
className: "text-muted-foreground",
|
|
284
325
|
children: "Type"
|
|
285
|
-
}), /* @__PURE__ */
|
|
326
|
+
}), /* @__PURE__ */ x(C, {
|
|
286
327
|
variant: "outline",
|
|
287
328
|
className: "capitalize",
|
|
288
|
-
children:
|
|
329
|
+
children: m.type.toLowerCase()
|
|
289
330
|
})]
|
|
290
331
|
}),
|
|
291
|
-
/* @__PURE__ */
|
|
332
|
+
/* @__PURE__ */ S("div", {
|
|
292
333
|
className: "flex justify-between",
|
|
293
|
-
children: [/* @__PURE__ */
|
|
334
|
+
children: [/* @__PURE__ */ x("span", {
|
|
294
335
|
className: "text-muted-foreground",
|
|
295
336
|
children: "Story Points"
|
|
296
|
-
}), /* @__PURE__ */
|
|
337
|
+
}), /* @__PURE__ */ x("span", {
|
|
297
338
|
className: "font-medium",
|
|
298
|
-
children:
|
|
339
|
+
children: m.storyPoints ?? 0
|
|
299
340
|
})]
|
|
300
341
|
}),
|
|
301
|
-
/* @__PURE__ */
|
|
302
|
-
className: "flex justify-between",
|
|
303
|
-
children: [/* @__PURE__ */
|
|
342
|
+
/* @__PURE__ */ S("div", {
|
|
343
|
+
className: "flex items-start justify-between gap-2",
|
|
344
|
+
children: [/* @__PURE__ */ x("span", {
|
|
304
345
|
className: "text-muted-foreground",
|
|
305
346
|
children: "Assignee"
|
|
306
|
-
}),
|
|
347
|
+
}), /* @__PURE__ */ x(c, {
|
|
348
|
+
workItemId: m.id,
|
|
349
|
+
assigneeId: m.assigneeId
|
|
350
|
+
})]
|
|
307
351
|
}),
|
|
308
|
-
/* @__PURE__ */
|
|
352
|
+
/* @__PURE__ */ S("div", {
|
|
309
353
|
className: "flex justify-between",
|
|
310
|
-
children: [/* @__PURE__ */
|
|
354
|
+
children: [/* @__PURE__ */ x("span", {
|
|
311
355
|
className: "text-muted-foreground",
|
|
312
356
|
children: "Reporter"
|
|
313
|
-
}), /* @__PURE__ */
|
|
357
|
+
}), /* @__PURE__ */ x(n, { id: m.reporterId ?? m.createdBy })]
|
|
314
358
|
}),
|
|
315
|
-
/* @__PURE__ */
|
|
359
|
+
/* @__PURE__ */ S("div", {
|
|
316
360
|
className: "flex justify-between",
|
|
317
|
-
children: [/* @__PURE__ */
|
|
361
|
+
children: [/* @__PURE__ */ x("span", {
|
|
318
362
|
className: "text-muted-foreground",
|
|
319
363
|
children: "Key"
|
|
320
|
-
}), /* @__PURE__ */
|
|
364
|
+
}), /* @__PURE__ */ x("span", { children: m.key })]
|
|
321
365
|
}),
|
|
322
|
-
/* @__PURE__ */
|
|
366
|
+
/* @__PURE__ */ S("div", {
|
|
323
367
|
className: "flex justify-between",
|
|
324
|
-
children: [/* @__PURE__ */
|
|
368
|
+
children: [/* @__PURE__ */ x("span", {
|
|
325
369
|
className: "text-muted-foreground",
|
|
326
370
|
children: "Due Date"
|
|
327
|
-
}), /* @__PURE__ */
|
|
371
|
+
}), /* @__PURE__ */ x("span", { children: m.dueDate ?? "Not set" })]
|
|
328
372
|
}),
|
|
329
|
-
/* @__PURE__ */
|
|
373
|
+
/* @__PURE__ */ S("div", {
|
|
330
374
|
className: "flex justify-between",
|
|
331
|
-
children: [/* @__PURE__ */
|
|
375
|
+
children: [/* @__PURE__ */ x("span", {
|
|
332
376
|
className: "text-muted-foreground",
|
|
333
377
|
children: "Created"
|
|
334
|
-
}), /* @__PURE__ */
|
|
378
|
+
}), /* @__PURE__ */ x("span", { children: m.createdAt })]
|
|
335
379
|
}),
|
|
336
|
-
/* @__PURE__ */
|
|
380
|
+
/* @__PURE__ */ S("div", {
|
|
337
381
|
className: "flex justify-between",
|
|
338
|
-
children: [/* @__PURE__ */
|
|
382
|
+
children: [/* @__PURE__ */ x("span", {
|
|
339
383
|
className: "text-muted-foreground",
|
|
340
384
|
children: "Updated"
|
|
341
|
-
}), /* @__PURE__ */
|
|
385
|
+
}), /* @__PURE__ */ x("span", { children: m.updatedAt })]
|
|
342
386
|
}),
|
|
343
|
-
/* @__PURE__ */
|
|
387
|
+
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("span", {
|
|
344
388
|
className: "text-muted-foreground text-xs",
|
|
345
389
|
children: "Labels"
|
|
346
|
-
}), /* @__PURE__ */
|
|
390
|
+
}), /* @__PURE__ */ x("div", {
|
|
347
391
|
className: "flex gap-1 mt-1 flex-wrap",
|
|
348
|
-
children: (
|
|
392
|
+
children: (m.labels ?? []).map((e) => /* @__PURE__ */ x("span", {
|
|
349
393
|
className: "text-xs px-2 py-0.5 rounded bg-muted",
|
|
350
394
|
children: e
|
|
351
395
|
}, e))
|
|
@@ -354,9 +398,12 @@ function M() {
|
|
|
354
398
|
})] })
|
|
355
399
|
})]
|
|
356
400
|
})]
|
|
401
|
+
}) : /* @__PURE__ */ x("div", {
|
|
402
|
+
className: "p-6 text-muted-foreground",
|
|
403
|
+
children: "Task not found."
|
|
357
404
|
});
|
|
358
405
|
}
|
|
359
406
|
//#endregion
|
|
360
|
-
export {
|
|
407
|
+
export { L as TasksTaskDetailPagePage };
|
|
361
408
|
|
|
362
409
|
//# sourceMappingURL=TasksTaskDetailPagePage.js.map
|