MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / PolicyRow

Function PolicyRow

packages/react/src/pages/policies.tsx:207–290  ·  view source on GitHub ↗
(props: {
  policy: {
    id: string;
    owner: Owner;
    pattern: string;
    action: ToolPolicyAction;
  };
  isFirst: boolean;
  isLast: boolean;
  onRemove: () => void;
  onChangeAction: (action: ToolPolicyAction) => void;
  onMoveUp: () => void;
  onMoveDown: () => void;
  showOwnerLabel: boolean;
})

Source from the content-addressed store, hash-verified

205// ---------------------------------------------------------------------------
206
207function PolicyRow(props: {
208 policy: {
209 id: string;
210 owner: Owner;
211 pattern: string;
212 action: ToolPolicyAction;
213 };
214 isFirst: boolean;
215 isLast: boolean;
216 onRemove: () => void;
217 onChangeAction: (action: ToolPolicyAction) => void;
218 onMoveUp: () => void;
219 onMoveDown: () => void;
220 showOwnerLabel: boolean;
221}) {
222 return (
223 <CardStackEntry>
224 <CardStackEntryContent>
225 <CardStackEntryTitle className="flex items-center gap-2 font-mono text-sm">
226 <span className="truncate">{props.policy.pattern}</span>
227 {props.showOwnerLabel ? (
228 <span className="shrink-0 rounded border border-border px-1.5 py-0.5 font-sans text-[10px] leading-none text-muted-foreground">
229 {ownerLabel(props.policy.owner)}
230 </span>
231 ) : null}
232 </CardStackEntryTitle>
233 </CardStackEntryContent>
234 <CardStackEntryActions>
235 <Select
236 value={props.policy.action}
237 onValueChange={(v) => props.onChangeAction(v as ToolPolicyAction)}
238 >
239 <SelectPrimitiveTrigger
240 className={cn(
241 badgeVariants({
242 variant: POLICY_BADGE_VARIANT[props.policy.action],
243 }),
244 "cursor-pointer pr-1.5 gap-1 transition-[opacity,box-shadow] hover:opacity-80 focus-visible:outline-none data-[state=open]:ring-2 data-[state=open]:ring-ring/50",
245 )}
246 >
247 {POLICY_ACTION_LABEL[props.policy.action]}
248 <ChevronDownIcon className="size-3 opacity-70" />
249 </SelectPrimitiveTrigger>
250 <SelectContent position="popper" align="end">
251 {POLICY_ACTIONS_IN_ORDER.map((a) => (
252 <SelectItem key={a} value={a}>
253 {POLICY_ACTION_LABEL[a]}
254 </SelectItem>
255 ))}
256 </SelectContent>
257 </Select>
258 <DropdownMenu>
259 <DropdownMenuTrigger asChild>
260 <Button
261 variant="ghost"
262 size="icon"
263 className="size-7 opacity-0 transition-opacity group-hover/card-stack-entry:opacity-100 group-focus-within/card-stack-entry:opacity-100 data-[state=open]:opacity-100"
264 >

Callers

nothing calls this directly

Calls 2

ownerLabelFunction · 0.90
cnFunction · 0.90

Tested by

no test coverage detected