MCPcopy Create free account
hub / github.com/ZenNotes/zennotes / fieldMenuItems

Function fieldMenuItems

packages/app-core/src/components/DatabaseTableView.tsx:366–397  ·  view source on GitHub ↗
(field: DbField)

Source from the content-addressed store, hash-verified

364 }
365
366 const fieldMenuItems = (field: DbField): ContextMenuItem[] => [
367 { label: 'Sort ascending', onSelect: () => updateDatabaseSchema(csvPath, updateView(doc, view.id, { sorts: [{ fieldId: field.id, direction: 'asc' }] })) },
368 { label: 'Sort descending', onSelect: () => updateDatabaseSchema(csvPath, updateView(doc, view.id, { sorts: [{ fieldId: field.id, direction: 'desc' }] })) },
369 { label: 'Clear sort', disabled: view.sorts.length === 0, onSelect: () => updateDatabaseSchema(csvPath, updateView(doc, view.id, { sorts: [] })) },
370 { kind: 'separator' },
371 {
372 label: 'Move left',
373 hint: 'H',
374 disabled: columns[0]?.id === field.id,
375 onSelect: () => updateDatabaseSchema(csvPath, moveColumn(doc, view.id, field.id, 'left'))
376 },
377 {
378 label: 'Move right',
379 hint: 'L',
380 disabled: columns[columns.length - 1]?.id === field.id,
381 onSelect: () => updateDatabaseSchema(csvPath, moveColumn(doc, view.id, field.id, 'right'))
382 },
383 { kind: 'separator' },
384 { label: 'Rename field', onSelect: () => setRenamingField(field.id) },
385 ...(Object.keys(FIELD_TYPE_LABELS) as FieldType[]).map((t) => ({
386 label: `Type: ${FIELD_TYPE_LABELS[t]}`,
387 hint: field.type === t ? '●' : undefined,
388 onSelect: () => updateDatabaseSchema(csvPath, retypeField(doc, field.id, t))
389 })),
390 { kind: 'separator' },
391 {
392 label: 'Delete field',
393 danger: true,
394 disabled: field.id === doc.idFieldId,
395 onSelect: () => updateDatabaseSchema(csvPath, deleteField(doc, field.id))
396 }
397 ]
398
399 return (
400 <div

Callers 1

DatabaseTableViewFunction · 0.85

Calls 4

updateViewFunction · 0.90
moveColumnFunction · 0.90
retypeFieldFunction · 0.90
deleteFieldFunction · 0.90

Tested by

no test coverage detected