openFieldEditor function exported

Last updated: 2026-03-05T23:41:17.531Z

Metrics

LOC: 28 Complexity: 9 Params: 2

Signature

openFieldEditor( field: DetectedFieldSummary, ): : Promise<void>

Source Code

export async function openFieldEditor(
  field: DetectedFieldSummary,
): Promise<void> {
  panelState.editingField = field;
  panelState.editingFieldExistingRule = null;

  try {
    const rules = (await sendToBackground({
      type: "GET_RULES",
    })) as FieldRule[] | null;
    if (Array.isArray(rules)) {
      const existing = rules.find((r) => r.fieldSelector === field.selector);
      if (existing) {
        panelState.editingFieldExistingRule = {
          fieldType: existing.fieldType,
          generator: (existing.generator as GeneratorOption) ?? "auto",
          fixedValue: existing.fixedValue ?? "",
          aiPrompt: existing.aiPrompt ?? "",
          generatorParams: existing.generatorParams ?? {},
        };
      }
    }
  } catch {
    // open editor with no pre-filled rule on failure
  }

  if (panelState.activeTab === "fields") renderFieldsTab();
}

Dependencies (Outgoing)

graph LR openFieldEditor["openFieldEditor"] renderFieldsTab["renderFieldsTab"] openFieldEditor -->|calls| renderFieldsTab style openFieldEditor fill:#dbeafe,stroke:#2563eb,stroke-width:2px click openFieldEditor "c0b14fa197075d23.html" click renderFieldsTab "f02a4b6eabef0223.html"
TargetType
renderFieldsTab calls

Impact (Incoming)

graph LR openFieldEditor["openFieldEditor"] renderFieldsTab["renderFieldsTab"] renderFieldsTab -->|calls| openFieldEditor style openFieldEditor fill:#dbeafe,stroke:#2563eb,stroke-width:2px click openFieldEditor "c0b14fa197075d23.html" click renderFieldsTab "f02a4b6eabef0223.html"
SourceType
renderFieldsTab calls