feat: add indexmap dependency

This commit is contained in:
alphafetus committed 2026-02-18 09:00:15 -05:00
1 parent 04ba0ff1ea
commit 0816f2da8b
4 files changed
+9 -3

No files matched your search

+3 -2
View File
@@ -1,4 +1,5 @@
use std::collections::HashMap;
use indexmap::IndexMap;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Clone)]
@@ -67,7 +68,7 @@ pub struct SchemaNode {
pub item_template: Option<Box<SchemaNode>>,
/// When used with a SchemaType::Map, this determines what children from the map are displayed
/// and how. It is ignored with all other SchemaType variants.
pub children: HashMap<String, SchemaNode>,
pub children: IndexMap<String, SchemaNode>,
}
impl SchemaNode {
@@ -76,7 +77,7 @@ impl SchemaNode {
data_type,
header: "".to_string(),
item_template: None,
children: HashMap::new(),
children: IndexMap::new(),
}
}
+2 -1
View File
@@ -1,6 +1,7 @@
use crate::common::{SchemaNode, SchemaType, ValueType};
use leptos::prelude::*;
use std::collections::HashMap;
use indexmap::IndexMap;
use leptos::logging::debug_log;
#[component]
@@ -134,7 +135,7 @@ fn ListDisplay(
fn MapDisplay(
#[prop(into)] value: Signal<ValueType>,
#[prop(into)] header: Signal<String>,
#[prop(into)] schema: Signal<HashMap<String, SchemaNode>>,
#[prop(into)] schema: Signal<IndexMap<String, SchemaNode>>,
) -> impl IntoView {
// Unwrap the value and check if it is the correct type. It must be a ValueType::Map.
let display_map = Memo::new(move |_| {