49 lines
2.7 KiB
YAML
49 lines
2.7 KiB
YAML
# Filter Hierarchy: Defines the dropdowns and their dependencies
|
|
filters:
|
|
- id: "joint"
|
|
label: "Select Joint"
|
|
table: "Joint"
|
|
pluck_column: "Joint"
|
|
depends_on: null # Root level
|
|
- id: "joint_info"
|
|
label: "Select kinematics"
|
|
table: "JointInfo" # A separate table in SQLite
|
|
pluck_column: "Osteokinematics"
|
|
depends_on: "joint" # Only appears after 'joint' is selected
|
|
filter_column: "Joint" # Filter SubJoint where joint_id == selected joint value
|
|
|
|
# Data Mapping: Defines which tables to hit for the final grid
|
|
data_sources:
|
|
- table: "Joint"
|
|
key: "main_info" # Nested JSON key
|
|
filter_column: "joint"
|
|
- table: "JointInfo" # MUST MATCH DATABASE TABLE
|
|
key: "joint_details"
|
|
filter_column: "Osteokinematics"
|
|
|
|
# Layout: Defines the visual grid
|
|
# colors: dark_blue, light_blue, pale_yellow, pale_green, pale_orange
|
|
layout:
|
|
- { row: 0, col: 0, colspan: 3, rowspan: 1, text: "Joint Information", class: "bg-dark-blue" }
|
|
- { row: 1, col: 0, colspan: 2, rowspan: 1, text: "Anatomical Name", class: "bg-light-blue" }
|
|
- { row: 2, col: 0, colspan: 2, rowspan: 1, value: "main_info.Joint", class: "bg-pale-yellow" }
|
|
- { row: 1, col: 2, colspan: 1, rowspan: 1, text: "Common Name", class: "bg-light-blue" }
|
|
- { row: 2, col: 2, colspan: 1, rowspan: 1, value: "main_info.Common Name", class: "bg-pale-yellow" }
|
|
- { row: 3, col: 0, colspan: 1, rowspan: 1, text: "Diarthrodial Joint Type", class: "bg-light-blue" }
|
|
- { row: 4, col: 0, colspan: 1, rowspan: 1, value: "main_info.Diarthrodial joint", class: "bg-pale-yellow" }
|
|
- { row: 3, col: 1, colspan: 1, rowspan: 1, text: "Alternate Name", class: "bg-light-blue" }
|
|
- { row: 4, col: 1, colspan: 1, rowspan: 1, value: "main_info.Alternate Name", class: "bg-pale-yellow" }
|
|
- { row: 3, col: 2, colspan: 1, rowspan: 1, text: "Planes of Freedom", class: "bg-light-blue" }
|
|
- { row: 4, col: 2, colspan: 1, rowspan: 1, value: "main_info.# of Plains", class: "bg-pale-yellow" }
|
|
- { row: 5, col: 0, colspan: 1, rowspan: 1, text: "Arthrokinematic Rule", class: "bg-light-blue"}
|
|
- { row: 6, col: 0, colspan: 1, rowspan: 1, value: "joint_details.Arthrokinematic Rule", class: "bg-pale-yellow"}
|
|
#- { row: 5, col: 0, colspan: 4, rowspan: 1, value: "main_info.notes", class: "bg-pale-green" }
|
|
|
|
# Ligaments Table (separate grid)
|
|
#- { grid: "ligaments", row: 0, col: 0, colspan: 1, rowspan: 1, text: "Ligaments", class: "bg-dark-blue" }
|
|
#- { grid: "ligaments", row: 0, col: 1, colspan: 1, rowspan: 1, value: ".list", class: "bg-pale-orange" }
|
|
|
|
|
|
# http://localhost:3000/dashboard/options?table=JointInfo&pluck_column=Osteokinematics&filter_col=undefined&value=Glenohumeral
|
|
# http://localhost:3000/dashboard/options?table=JointInfo&pluck_column=Osteokinematics&filter_col=Common%20Joint%20Name&value=Shoulder
|