sodal-project / cartographer

Cartographer version 1 is a complete rewrite adding the concept of modules.
1 stars 0 forks source link

Detail Pane #110

Open tbenbow opened 1 week ago

tbenbow commented 1 week ago

The detail pane is a module listed in the sidebar that displays a form at the top for submitting a UPN (1) and an area below for displaying persona details (2). Additionally there is an area called subpanes (3) where content from other modules can be injected.

  1. UPN Form This form contains a text field and submit button that allows users to submit a UPN. If the upn is found it's details will be displayed below.

  2. Details Heading The details area includes a name and the upn with a button that allows you to copy it to the clipboard. The name is one of the following: persona.Name OR persona.friendlyName OR personaId.

  3. Subpanes At the bottom of the detail pane is a div where other modules can inject markup. All modules with the function "getDetailSubpane" will run that function and the returned markup will be placed in the subpane div in the order of the module list. These functions acceot a UPN argument and fetch their own data.

Directory Subpane

The directory module will return a subpane with the following...

  1. A grid that shows all persona properties
  2. A notes textarea with a submit button (this is a placeholder and does not save or load content for now)
  3. A tab bar that controls the display of three tables: Alias, Control and Obey

Directory Subpane Tables

tbenbow commented 1 week ago

@andyschwab A couple questions for you...

  1. Where do we get the name for the header? Do we do a lookup of the persona or is it passed in?

  2. Should rows be clickable at this stage?

andyschwab commented 1 week ago
  1. The Detail Pane will make a single graph call to gather persona data for the header 👍

  2. Don't worry about clickable rows in Persona Table at this stage. This is a bit of a chicken-and-egg process; let's hatch the root Detail Pane, then the Directory Subpane with its included Persona Tables as-is... Once we have that, then we can look at the best way to handle follow-up Detail Pane calls from a Persona Table row click.