openPanel(trigger.id, "Jobs")}
+ style={{ cursor: "pointer" }}
+ >
+ {/* Expand toggle (only for configurable rows) */}
+ e.stopPropagation()}>
+ {trigger.configurableByUsers && (
+ toggleRow(trigger.id)}
+ title={expanded ? "Collapse user triggers" : "Show user triggers"}
+ >
+ ▶
+
+ )}
+
+
+ {/* Checkbox */}
+ e.stopPropagation()}>
+
+
+
+ {/* Name */}
+ |
+
+
+ openPanel(trigger.id, "Jobs")}
+ >
+ {trigger.name.length > 30
+ ? trigger.name.slice(0, 30) + "…"
+ : trigger.name}
+
+
+ |
+
+ {/* Process */}
+ {trigger.process} |
+
+ {/* Description */}
+
+ {trigger.description || "—"}
+ |
+
+ {/* Connector */}
+
+ {trigger.connectorName ? (
+
+ {trigger.connectorIcon}
+ {trigger.connectorName}
+
+ ) : (
+
+ —
+
+ )}
+ |
+
+ {/* Connection */}
+
+ {trigger.configurableByUsers ? (
+
+
+ 👥 Configurable by users
+
+ {trigger.userTriggers.length > 0 && (
+
+ {trigger.userTriggers.length}
+
+ )}
+
+ ) : (
+
+ {trigger.connection.length > 20
+ ? trigger.connection.slice(0, 20) + "…"
+ : trigger.connection}
+
+ )}
+ |
+
+ {/* Job priority */}
+
+
+
+ {trigger.jobPriority}
+
+ |
+
+ {/* Type */}
+
+ {trigger.type}
+ |
+
+ {/* Actions menu button (dropdown rendered outside table via fixed positioning) */}
+ e.stopPropagation()}>
+ openMenuForRow(trigger.id, e.currentTarget)}
+ aria-label="Row actions"
+ >
+ ⋮
+
+
+
+
+ {/* ── Expanded: user sub-table ─────────── */}
+ {trigger.configurableByUsers && expanded && (
+