@industry-theme/backlogmd-kanban-panel 1.2.10 → 1.2.12
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/panels.bundle.js
CHANGED
|
@@ -6336,7 +6336,7 @@ function gt(o, e, t, r2) {
|
|
|
6336
6336
|
};
|
|
6337
6337
|
}, [o, e, t, r2]);
|
|
6338
6338
|
}
|
|
6339
|
-
const version = "1.2.
|
|
6339
|
+
const version = "1.2.11";
|
|
6340
6340
|
const packageJson = {
|
|
6341
6341
|
version
|
|
6342
6342
|
};
|
|
@@ -8971,10 +8971,6 @@ const KanbanPanel = ({
|
|
|
8971
8971
|
"task.id": task.id,
|
|
8972
8972
|
"task.status": task.status || "unknown"
|
|
8973
8973
|
});
|
|
8974
|
-
span.setStatus({
|
|
8975
|
-
code: SpanStatusCode.OK
|
|
8976
|
-
});
|
|
8977
|
-
span.end();
|
|
8978
8974
|
if (events2) {
|
|
8979
8975
|
events2.emit({
|
|
8980
8976
|
type: "task:selected",
|
|
@@ -8985,7 +8981,14 @@ const KanbanPanel = ({
|
|
|
8985
8981
|
task
|
|
8986
8982
|
}
|
|
8987
8983
|
});
|
|
8984
|
+
span.addEvent("task.selected.emitted", {
|
|
8985
|
+
"task.id": task.id
|
|
8986
|
+
});
|
|
8988
8987
|
}
|
|
8988
|
+
span.setStatus({
|
|
8989
|
+
code: SpanStatusCode.OK
|
|
8990
|
+
});
|
|
8991
|
+
span.end();
|
|
8989
8992
|
}, [events2]);
|
|
8990
8993
|
useEffect(() => {
|
|
8991
8994
|
if (!events2) return;
|
|
@@ -54089,7 +54092,8 @@ const TaskDetailPanel = ({
|
|
|
54089
54092
|
context: context2,
|
|
54090
54093
|
events: events2,
|
|
54091
54094
|
actions,
|
|
54092
|
-
config
|
|
54095
|
+
config,
|
|
54096
|
+
core: coreProp
|
|
54093
54097
|
}) => {
|
|
54094
54098
|
var _a, _b;
|
|
54095
54099
|
const {
|
|
@@ -54104,9 +54108,17 @@ const TaskDetailPanel = ({
|
|
|
54104
54108
|
status: "idle"
|
|
54105
54109
|
});
|
|
54106
54110
|
const panelRef = useRef(null);
|
|
54111
|
+
const deleteSpanRef = useRef(null);
|
|
54107
54112
|
const {
|
|
54108
54113
|
editable = false
|
|
54109
54114
|
} = config ?? {};
|
|
54115
|
+
const {
|
|
54116
|
+
core: hookCore
|
|
54117
|
+
} = useBacklogCore({
|
|
54118
|
+
context: context2,
|
|
54119
|
+
actions
|
|
54120
|
+
});
|
|
54121
|
+
const core2 = coreProp ?? hookCore;
|
|
54110
54122
|
gt("task-detail", events2, () => {
|
|
54111
54123
|
var _a2;
|
|
54112
54124
|
return (_a2 = panelRef.current) == null ? void 0 : _a2.focus();
|
|
@@ -54157,47 +54169,66 @@ const TaskDetailPanel = ({
|
|
|
54157
54169
|
const handleOpenDeleteModal = useCallback(() => {
|
|
54158
54170
|
if (!selectedTask) return;
|
|
54159
54171
|
const tracer = getTracer();
|
|
54160
|
-
const span = tracer.startSpan("
|
|
54172
|
+
const span = tracer.startSpan("task.delete", {
|
|
54161
54173
|
attributes: {
|
|
54162
54174
|
"task.id": selectedTask.id
|
|
54163
54175
|
}
|
|
54164
54176
|
});
|
|
54177
|
+
deleteSpanRef.current = span;
|
|
54165
54178
|
span.addEvent("delete.modal.opened", {
|
|
54166
54179
|
"task.id": selectedTask.id
|
|
54167
54180
|
});
|
|
54168
|
-
span.setStatus({
|
|
54169
|
-
code: SpanStatusCode.OK
|
|
54170
|
-
});
|
|
54171
|
-
span.end();
|
|
54172
54181
|
setIsDeleteModalOpen(true);
|
|
54173
54182
|
}, [selectedTask]);
|
|
54174
54183
|
const handleDeleteConfirm = useCallback(async () => {
|
|
54175
54184
|
if (!selectedTask) return;
|
|
54176
|
-
|
|
54185
|
+
const span = deleteSpanRef.current;
|
|
54186
|
+
const canDeleteWithCore = Boolean(core2);
|
|
54187
|
+
const canDeleteWithActions = Boolean(actions == null ? void 0 : actions.deleteTask);
|
|
54188
|
+
if (!canDeleteWithCore && !canDeleteWithActions) {
|
|
54177
54189
|
setDeleteState({
|
|
54178
54190
|
status: "error",
|
|
54179
|
-
error: "Delete
|
|
54191
|
+
error: "Delete not available"
|
|
54180
54192
|
});
|
|
54193
|
+
if (span) {
|
|
54194
|
+
span.addEvent("task.deleted", {
|
|
54195
|
+
"task.id": selectedTask.id
|
|
54196
|
+
});
|
|
54197
|
+
span.addEvent("task.save.error", {
|
|
54198
|
+
"task.id": selectedTask.id,
|
|
54199
|
+
"operation": "delete",
|
|
54200
|
+
"error.type": "DeleteNotAvailable",
|
|
54201
|
+
"error.message": "Neither Core nor deleteTask action available"
|
|
54202
|
+
});
|
|
54203
|
+
span.setStatus({
|
|
54204
|
+
code: SpanStatusCode.ERROR,
|
|
54205
|
+
message: "Delete not available"
|
|
54206
|
+
});
|
|
54207
|
+
span.end();
|
|
54208
|
+
deleteSpanRef.current = null;
|
|
54209
|
+
}
|
|
54181
54210
|
return;
|
|
54182
54211
|
}
|
|
54183
54212
|
setDeleteState({
|
|
54184
54213
|
status: "loading"
|
|
54185
54214
|
});
|
|
54186
54215
|
try {
|
|
54187
|
-
|
|
54188
|
-
|
|
54189
|
-
|
|
54190
|
-
|
|
54191
|
-
|
|
54192
|
-
|
|
54193
|
-
|
|
54194
|
-
|
|
54195
|
-
|
|
54196
|
-
|
|
54197
|
-
|
|
54198
|
-
|
|
54199
|
-
|
|
54200
|
-
|
|
54216
|
+
if (core2) {
|
|
54217
|
+
await core2.deleteTask(selectedTask.id);
|
|
54218
|
+
} else if (actions == null ? void 0 : actions.deleteTask) {
|
|
54219
|
+
await actions.deleteTask(selectedTask.id);
|
|
54220
|
+
}
|
|
54221
|
+
if (span) {
|
|
54222
|
+
span.addEvent("task.deleted", {
|
|
54223
|
+
"task.id": selectedTask.id,
|
|
54224
|
+
"delete.method": core2 ? "core" : "actions"
|
|
54225
|
+
});
|
|
54226
|
+
span.setStatus({
|
|
54227
|
+
code: SpanStatusCode.OK
|
|
54228
|
+
});
|
|
54229
|
+
span.end();
|
|
54230
|
+
deleteSpanRef.current = null;
|
|
54231
|
+
}
|
|
54201
54232
|
setDeleteState({
|
|
54202
54233
|
status: "success"
|
|
54203
54234
|
});
|
|
@@ -54222,8 +54253,39 @@ const TaskDetailPanel = ({
|
|
|
54222
54253
|
status: "error",
|
|
54223
54254
|
error: errorMessage
|
|
54224
54255
|
});
|
|
54256
|
+
if (span) {
|
|
54257
|
+
span.addEvent("task.deleted", {
|
|
54258
|
+
"task.id": selectedTask.id
|
|
54259
|
+
});
|
|
54260
|
+
span.addEvent("task.save.error", {
|
|
54261
|
+
"task.id": selectedTask.id,
|
|
54262
|
+
"operation": "delete",
|
|
54263
|
+
"error.type": error instanceof Error ? error.name : "Unknown",
|
|
54264
|
+
"error.message": errorMessage
|
|
54265
|
+
});
|
|
54266
|
+
span.setStatus({
|
|
54267
|
+
code: SpanStatusCode.ERROR,
|
|
54268
|
+
message: errorMessage
|
|
54269
|
+
});
|
|
54270
|
+
span.end();
|
|
54271
|
+
deleteSpanRef.current = null;
|
|
54272
|
+
}
|
|
54273
|
+
}
|
|
54274
|
+
}, [core2, actions, selectedTask, events2]);
|
|
54275
|
+
const handleDeleteCancel = useCallback(() => {
|
|
54276
|
+
const span = deleteSpanRef.current;
|
|
54277
|
+
if (span) {
|
|
54278
|
+
span.addEvent("delete.modal.cancelled", {
|
|
54279
|
+
"task.id": selectedTask == null ? void 0 : selectedTask.id
|
|
54280
|
+
});
|
|
54281
|
+
span.setStatus({
|
|
54282
|
+
code: SpanStatusCode.OK
|
|
54283
|
+
});
|
|
54284
|
+
span.end();
|
|
54285
|
+
deleteSpanRef.current = null;
|
|
54225
54286
|
}
|
|
54226
|
-
|
|
54287
|
+
setIsDeleteModalOpen(false);
|
|
54288
|
+
}, [selectedTask]);
|
|
54227
54289
|
useEffect(() => {
|
|
54228
54290
|
if (!events2) return;
|
|
54229
54291
|
const handleTaskSelected = (event) => {
|
|
@@ -54292,6 +54354,17 @@ const TaskDetailPanel = ({
|
|
|
54292
54354
|
};
|
|
54293
54355
|
}, [events2, selectedTask, isDeleteModalOpen, handleOpenDeleteModal, handleDeleteConfirm]);
|
|
54294
54356
|
const handleBack = useCallback(() => {
|
|
54357
|
+
const deleteSpan = deleteSpanRef.current;
|
|
54358
|
+
if (deleteSpan) {
|
|
54359
|
+
deleteSpan.addEvent("delete.modal.cancelled", {
|
|
54360
|
+
"task.id": selectedTask == null ? void 0 : selectedTask.id
|
|
54361
|
+
});
|
|
54362
|
+
deleteSpan.setStatus({
|
|
54363
|
+
code: SpanStatusCode.OK
|
|
54364
|
+
});
|
|
54365
|
+
deleteSpan.end();
|
|
54366
|
+
deleteSpanRef.current = null;
|
|
54367
|
+
}
|
|
54295
54368
|
if (selectedTask) {
|
|
54296
54369
|
const tracer = getTracer();
|
|
54297
54370
|
const span = tracer.startSpan("detail.interaction", {
|
|
@@ -54344,6 +54417,7 @@ const TaskDetailPanel = ({
|
|
|
54344
54417
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
54345
54418
|
style: {
|
|
54346
54419
|
margin: "0 0 8px 0",
|
|
54420
|
+
fontFamily: theme2.fonts.body,
|
|
54347
54421
|
fontSize: theme2.fontSizes[3],
|
|
54348
54422
|
color: theme2.colors.text,
|
|
54349
54423
|
fontWeight: theme2.fontWeights.semibold
|
|
@@ -54352,6 +54426,7 @@ const TaskDetailPanel = ({
|
|
|
54352
54426
|
}), /* @__PURE__ */ jsx("p", {
|
|
54353
54427
|
style: {
|
|
54354
54428
|
margin: 0,
|
|
54429
|
+
fontFamily: theme2.fonts.body,
|
|
54355
54430
|
fontSize: theme2.fontSizes[1],
|
|
54356
54431
|
color: theme2.colors.textSecondary
|
|
54357
54432
|
},
|
|
@@ -54692,7 +54767,7 @@ const TaskDetailPanel = ({
|
|
|
54692
54767
|
padding: "16px"
|
|
54693
54768
|
},
|
|
54694
54769
|
children: [/* @__PURE__ */ jsx("div", {
|
|
54695
|
-
onClick:
|
|
54770
|
+
onClick: handleDeleteCancel,
|
|
54696
54771
|
style: {
|
|
54697
54772
|
position: "absolute",
|
|
54698
54773
|
inset: 0,
|
|
@@ -54719,13 +54794,14 @@ const TaskDetailPanel = ({
|
|
|
54719
54794
|
children: [/* @__PURE__ */ jsx("h2", {
|
|
54720
54795
|
style: {
|
|
54721
54796
|
margin: 0,
|
|
54797
|
+
fontFamily: theme2.fonts.body,
|
|
54722
54798
|
fontSize: theme2.fontSizes[4],
|
|
54723
|
-
fontWeight:
|
|
54724
|
-
color: theme2.colors.
|
|
54799
|
+
fontWeight: theme2.fontWeights.semibold,
|
|
54800
|
+
color: theme2.colors.warning
|
|
54725
54801
|
},
|
|
54726
54802
|
children: "Delete Task?"
|
|
54727
54803
|
}), /* @__PURE__ */ jsx("button", {
|
|
54728
|
-
onClick:
|
|
54804
|
+
onClick: handleDeleteCancel,
|
|
54729
54805
|
style: {
|
|
54730
54806
|
background: "none",
|
|
54731
54807
|
border: "none",
|
|
@@ -54748,11 +54824,15 @@ const TaskDetailPanel = ({
|
|
|
54748
54824
|
children: [/* @__PURE__ */ jsxs("p", {
|
|
54749
54825
|
style: {
|
|
54750
54826
|
margin: 0,
|
|
54827
|
+
fontFamily: theme2.fonts.body,
|
|
54751
54828
|
fontSize: theme2.fontSizes[2],
|
|
54752
54829
|
color: theme2.colors.text,
|
|
54753
54830
|
lineHeight: 1.5
|
|
54754
54831
|
},
|
|
54755
54832
|
children: ["Are you sure you want to delete ", /* @__PURE__ */ jsxs("strong", {
|
|
54833
|
+
style: {
|
|
54834
|
+
color: theme2.colors.primary
|
|
54835
|
+
},
|
|
54756
54836
|
children: ['"', selectedTask.title, '"']
|
|
54757
54837
|
}), "? This action cannot be undone."]
|
|
54758
54838
|
}), deleteState.status === "error" && /* @__PURE__ */ jsx("div", {
|
|
@@ -54762,8 +54842,9 @@ const TaskDetailPanel = ({
|
|
|
54762
54842
|
backgroundColor: `${theme2.colors.error}15`,
|
|
54763
54843
|
border: `1px solid ${theme2.colors.error}`,
|
|
54764
54844
|
borderRadius: theme2.radii[2],
|
|
54765
|
-
|
|
54766
|
-
fontSize: theme2.fontSizes[1]
|
|
54845
|
+
fontFamily: theme2.fonts.body,
|
|
54846
|
+
fontSize: theme2.fontSizes[1],
|
|
54847
|
+
color: theme2.colors.error
|
|
54767
54848
|
},
|
|
54768
54849
|
children: deleteState.error || "Failed to delete task"
|
|
54769
54850
|
})]
|
|
@@ -54777,12 +54858,13 @@ const TaskDetailPanel = ({
|
|
|
54777
54858
|
},
|
|
54778
54859
|
children: [/* @__PURE__ */ jsx("button", {
|
|
54779
54860
|
type: "button",
|
|
54780
|
-
onClick:
|
|
54861
|
+
onClick: handleDeleteCancel,
|
|
54781
54862
|
disabled: deleteState.status === "loading",
|
|
54782
54863
|
style: {
|
|
54783
54864
|
padding: "10px 20px",
|
|
54865
|
+
fontFamily: theme2.fonts.body,
|
|
54784
54866
|
fontSize: theme2.fontSizes[2],
|
|
54785
|
-
fontWeight:
|
|
54867
|
+
fontWeight: theme2.fontWeights.medium,
|
|
54786
54868
|
border: `1px solid ${theme2.colors.border}`,
|
|
54787
54869
|
borderRadius: theme2.radii[2],
|
|
54788
54870
|
backgroundColor: "transparent",
|
|
@@ -54800,8 +54882,9 @@ const TaskDetailPanel = ({
|
|
|
54800
54882
|
alignItems: "center",
|
|
54801
54883
|
gap: "8px",
|
|
54802
54884
|
padding: "10px 20px",
|
|
54885
|
+
fontFamily: theme2.fonts.body,
|
|
54803
54886
|
fontSize: theme2.fontSizes[2],
|
|
54804
|
-
fontWeight:
|
|
54887
|
+
fontWeight: theme2.fontWeights.medium,
|
|
54805
54888
|
border: "none",
|
|
54806
54889
|
borderRadius: theme2.radii[2],
|
|
54807
54890
|
backgroundColor: theme2.colors.error,
|