@industry-theme/backlogmd-kanban-panel 1.2.10 → 1.2.11
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
|
@@ -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;
|
|
@@ -54104,6 +54107,7 @@ const TaskDetailPanel = ({
|
|
|
54104
54107
|
status: "idle"
|
|
54105
54108
|
});
|
|
54106
54109
|
const panelRef = useRef(null);
|
|
54110
|
+
const deleteSpanRef = useRef(null);
|
|
54107
54111
|
const {
|
|
54108
54112
|
editable = false
|
|
54109
54113
|
} = config ?? {};
|
|
@@ -54157,27 +54161,42 @@ const TaskDetailPanel = ({
|
|
|
54157
54161
|
const handleOpenDeleteModal = useCallback(() => {
|
|
54158
54162
|
if (!selectedTask) return;
|
|
54159
54163
|
const tracer = getTracer();
|
|
54160
|
-
const span = tracer.startSpan("
|
|
54164
|
+
const span = tracer.startSpan("task.delete", {
|
|
54161
54165
|
attributes: {
|
|
54162
54166
|
"task.id": selectedTask.id
|
|
54163
54167
|
}
|
|
54164
54168
|
});
|
|
54169
|
+
deleteSpanRef.current = span;
|
|
54165
54170
|
span.addEvent("delete.modal.opened", {
|
|
54166
54171
|
"task.id": selectedTask.id
|
|
54167
54172
|
});
|
|
54168
|
-
span.setStatus({
|
|
54169
|
-
code: SpanStatusCode.OK
|
|
54170
|
-
});
|
|
54171
|
-
span.end();
|
|
54172
54173
|
setIsDeleteModalOpen(true);
|
|
54173
54174
|
}, [selectedTask]);
|
|
54174
54175
|
const handleDeleteConfirm = useCallback(async () => {
|
|
54175
54176
|
if (!selectedTask) return;
|
|
54177
|
+
const span = deleteSpanRef.current;
|
|
54176
54178
|
if (!(actions == null ? void 0 : actions.deleteTask)) {
|
|
54177
54179
|
setDeleteState({
|
|
54178
54180
|
status: "error",
|
|
54179
54181
|
error: "Delete action not available"
|
|
54180
54182
|
});
|
|
54183
|
+
if (span) {
|
|
54184
|
+
span.addEvent("task.deleted", {
|
|
54185
|
+
"task.id": selectedTask.id
|
|
54186
|
+
});
|
|
54187
|
+
span.addEvent("task.save.error", {
|
|
54188
|
+
"task.id": selectedTask.id,
|
|
54189
|
+
"operation": "delete",
|
|
54190
|
+
"error.type": "ActionNotAvailable",
|
|
54191
|
+
"error.message": "Delete action not available"
|
|
54192
|
+
});
|
|
54193
|
+
span.setStatus({
|
|
54194
|
+
code: SpanStatusCode.ERROR,
|
|
54195
|
+
message: "Delete action not available"
|
|
54196
|
+
});
|
|
54197
|
+
span.end();
|
|
54198
|
+
deleteSpanRef.current = null;
|
|
54199
|
+
}
|
|
54181
54200
|
return;
|
|
54182
54201
|
}
|
|
54183
54202
|
setDeleteState({
|
|
@@ -54185,19 +54204,16 @@ const TaskDetailPanel = ({
|
|
|
54185
54204
|
});
|
|
54186
54205
|
try {
|
|
54187
54206
|
await actions.deleteTask(selectedTask.id);
|
|
54188
|
-
|
|
54189
|
-
|
|
54190
|
-
attributes: {
|
|
54207
|
+
if (span) {
|
|
54208
|
+
span.addEvent("task.deleted", {
|
|
54191
54209
|
"task.id": selectedTask.id
|
|
54192
|
-
}
|
|
54193
|
-
|
|
54194
|
-
|
|
54195
|
-
|
|
54196
|
-
|
|
54197
|
-
|
|
54198
|
-
|
|
54199
|
-
});
|
|
54200
|
-
span.end();
|
|
54210
|
+
});
|
|
54211
|
+
span.setStatus({
|
|
54212
|
+
code: SpanStatusCode.OK
|
|
54213
|
+
});
|
|
54214
|
+
span.end();
|
|
54215
|
+
deleteSpanRef.current = null;
|
|
54216
|
+
}
|
|
54201
54217
|
setDeleteState({
|
|
54202
54218
|
status: "success"
|
|
54203
54219
|
});
|
|
@@ -54222,8 +54238,39 @@ const TaskDetailPanel = ({
|
|
|
54222
54238
|
status: "error",
|
|
54223
54239
|
error: errorMessage
|
|
54224
54240
|
});
|
|
54241
|
+
if (span) {
|
|
54242
|
+
span.addEvent("task.deleted", {
|
|
54243
|
+
"task.id": selectedTask.id
|
|
54244
|
+
});
|
|
54245
|
+
span.addEvent("task.save.error", {
|
|
54246
|
+
"task.id": selectedTask.id,
|
|
54247
|
+
"operation": "delete",
|
|
54248
|
+
"error.type": error instanceof Error ? error.name : "Unknown",
|
|
54249
|
+
"error.message": errorMessage
|
|
54250
|
+
});
|
|
54251
|
+
span.setStatus({
|
|
54252
|
+
code: SpanStatusCode.ERROR,
|
|
54253
|
+
message: errorMessage
|
|
54254
|
+
});
|
|
54255
|
+
span.end();
|
|
54256
|
+
deleteSpanRef.current = null;
|
|
54257
|
+
}
|
|
54225
54258
|
}
|
|
54226
54259
|
}, [actions, selectedTask, events2]);
|
|
54260
|
+
const handleDeleteCancel = useCallback(() => {
|
|
54261
|
+
const span = deleteSpanRef.current;
|
|
54262
|
+
if (span) {
|
|
54263
|
+
span.addEvent("delete.modal.cancelled", {
|
|
54264
|
+
"task.id": selectedTask == null ? void 0 : selectedTask.id
|
|
54265
|
+
});
|
|
54266
|
+
span.setStatus({
|
|
54267
|
+
code: SpanStatusCode.OK
|
|
54268
|
+
});
|
|
54269
|
+
span.end();
|
|
54270
|
+
deleteSpanRef.current = null;
|
|
54271
|
+
}
|
|
54272
|
+
setIsDeleteModalOpen(false);
|
|
54273
|
+
}, [selectedTask]);
|
|
54227
54274
|
useEffect(() => {
|
|
54228
54275
|
if (!events2) return;
|
|
54229
54276
|
const handleTaskSelected = (event) => {
|
|
@@ -54292,6 +54339,17 @@ const TaskDetailPanel = ({
|
|
|
54292
54339
|
};
|
|
54293
54340
|
}, [events2, selectedTask, isDeleteModalOpen, handleOpenDeleteModal, handleDeleteConfirm]);
|
|
54294
54341
|
const handleBack = useCallback(() => {
|
|
54342
|
+
const deleteSpan = deleteSpanRef.current;
|
|
54343
|
+
if (deleteSpan) {
|
|
54344
|
+
deleteSpan.addEvent("delete.modal.cancelled", {
|
|
54345
|
+
"task.id": selectedTask == null ? void 0 : selectedTask.id
|
|
54346
|
+
});
|
|
54347
|
+
deleteSpan.setStatus({
|
|
54348
|
+
code: SpanStatusCode.OK
|
|
54349
|
+
});
|
|
54350
|
+
deleteSpan.end();
|
|
54351
|
+
deleteSpanRef.current = null;
|
|
54352
|
+
}
|
|
54295
54353
|
if (selectedTask) {
|
|
54296
54354
|
const tracer = getTracer();
|
|
54297
54355
|
const span = tracer.startSpan("detail.interaction", {
|
|
@@ -54344,6 +54402,7 @@ const TaskDetailPanel = ({
|
|
|
54344
54402
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
54345
54403
|
style: {
|
|
54346
54404
|
margin: "0 0 8px 0",
|
|
54405
|
+
fontFamily: theme2.fonts.body,
|
|
54347
54406
|
fontSize: theme2.fontSizes[3],
|
|
54348
54407
|
color: theme2.colors.text,
|
|
54349
54408
|
fontWeight: theme2.fontWeights.semibold
|
|
@@ -54352,6 +54411,7 @@ const TaskDetailPanel = ({
|
|
|
54352
54411
|
}), /* @__PURE__ */ jsx("p", {
|
|
54353
54412
|
style: {
|
|
54354
54413
|
margin: 0,
|
|
54414
|
+
fontFamily: theme2.fonts.body,
|
|
54355
54415
|
fontSize: theme2.fontSizes[1],
|
|
54356
54416
|
color: theme2.colors.textSecondary
|
|
54357
54417
|
},
|
|
@@ -54692,7 +54752,7 @@ const TaskDetailPanel = ({
|
|
|
54692
54752
|
padding: "16px"
|
|
54693
54753
|
},
|
|
54694
54754
|
children: [/* @__PURE__ */ jsx("div", {
|
|
54695
|
-
onClick:
|
|
54755
|
+
onClick: handleDeleteCancel,
|
|
54696
54756
|
style: {
|
|
54697
54757
|
position: "absolute",
|
|
54698
54758
|
inset: 0,
|
|
@@ -54719,13 +54779,14 @@ const TaskDetailPanel = ({
|
|
|
54719
54779
|
children: [/* @__PURE__ */ jsx("h2", {
|
|
54720
54780
|
style: {
|
|
54721
54781
|
margin: 0,
|
|
54782
|
+
fontFamily: theme2.fonts.body,
|
|
54722
54783
|
fontSize: theme2.fontSizes[4],
|
|
54723
|
-
fontWeight:
|
|
54724
|
-
color: theme2.colors.
|
|
54784
|
+
fontWeight: theme2.fontWeights.semibold,
|
|
54785
|
+
color: theme2.colors.warning
|
|
54725
54786
|
},
|
|
54726
54787
|
children: "Delete Task?"
|
|
54727
54788
|
}), /* @__PURE__ */ jsx("button", {
|
|
54728
|
-
onClick:
|
|
54789
|
+
onClick: handleDeleteCancel,
|
|
54729
54790
|
style: {
|
|
54730
54791
|
background: "none",
|
|
54731
54792
|
border: "none",
|
|
@@ -54748,11 +54809,15 @@ const TaskDetailPanel = ({
|
|
|
54748
54809
|
children: [/* @__PURE__ */ jsxs("p", {
|
|
54749
54810
|
style: {
|
|
54750
54811
|
margin: 0,
|
|
54812
|
+
fontFamily: theme2.fonts.body,
|
|
54751
54813
|
fontSize: theme2.fontSizes[2],
|
|
54752
54814
|
color: theme2.colors.text,
|
|
54753
54815
|
lineHeight: 1.5
|
|
54754
54816
|
},
|
|
54755
54817
|
children: ["Are you sure you want to delete ", /* @__PURE__ */ jsxs("strong", {
|
|
54818
|
+
style: {
|
|
54819
|
+
color: theme2.colors.primary
|
|
54820
|
+
},
|
|
54756
54821
|
children: ['"', selectedTask.title, '"']
|
|
54757
54822
|
}), "? This action cannot be undone."]
|
|
54758
54823
|
}), deleteState.status === "error" && /* @__PURE__ */ jsx("div", {
|
|
@@ -54762,8 +54827,9 @@ const TaskDetailPanel = ({
|
|
|
54762
54827
|
backgroundColor: `${theme2.colors.error}15`,
|
|
54763
54828
|
border: `1px solid ${theme2.colors.error}`,
|
|
54764
54829
|
borderRadius: theme2.radii[2],
|
|
54765
|
-
|
|
54766
|
-
fontSize: theme2.fontSizes[1]
|
|
54830
|
+
fontFamily: theme2.fonts.body,
|
|
54831
|
+
fontSize: theme2.fontSizes[1],
|
|
54832
|
+
color: theme2.colors.error
|
|
54767
54833
|
},
|
|
54768
54834
|
children: deleteState.error || "Failed to delete task"
|
|
54769
54835
|
})]
|
|
@@ -54777,12 +54843,13 @@ const TaskDetailPanel = ({
|
|
|
54777
54843
|
},
|
|
54778
54844
|
children: [/* @__PURE__ */ jsx("button", {
|
|
54779
54845
|
type: "button",
|
|
54780
|
-
onClick:
|
|
54846
|
+
onClick: handleDeleteCancel,
|
|
54781
54847
|
disabled: deleteState.status === "loading",
|
|
54782
54848
|
style: {
|
|
54783
54849
|
padding: "10px 20px",
|
|
54850
|
+
fontFamily: theme2.fonts.body,
|
|
54784
54851
|
fontSize: theme2.fontSizes[2],
|
|
54785
|
-
fontWeight:
|
|
54852
|
+
fontWeight: theme2.fontWeights.medium,
|
|
54786
54853
|
border: `1px solid ${theme2.colors.border}`,
|
|
54787
54854
|
borderRadius: theme2.radii[2],
|
|
54788
54855
|
backgroundColor: "transparent",
|
|
@@ -54800,8 +54867,9 @@ const TaskDetailPanel = ({
|
|
|
54800
54867
|
alignItems: "center",
|
|
54801
54868
|
gap: "8px",
|
|
54802
54869
|
padding: "10px 20px",
|
|
54870
|
+
fontFamily: theme2.fonts.body,
|
|
54803
54871
|
fontSize: theme2.fontSizes[2],
|
|
54804
|
-
fontWeight:
|
|
54872
|
+
fontWeight: theme2.fontWeights.medium,
|
|
54805
54873
|
border: "none",
|
|
54806
54874
|
borderRadius: theme2.radii[2],
|
|
54807
54875
|
backgroundColor: theme2.colors.error,
|