Complete source 6 engineering workflows and preserve release validation evidence
This commit is contained in:
@@ -16,6 +16,7 @@ use serde_json::{Value, json};
|
||||
use std::collections::{BTreeMap, BTreeSet};
|
||||
mod data_fields;
|
||||
mod port_fields;
|
||||
mod view_fields;
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub enum RecordKind {
|
||||
@@ -37,6 +38,11 @@ pub struct ValueBrowser {
|
||||
pub scope: Option<crate::data_values::FieldPathKey>,
|
||||
pub page: usize,
|
||||
}
|
||||
#[derive(Clone, Default)]
|
||||
pub struct ReferenceBrowser {
|
||||
pub query: String,
|
||||
pub page: usize,
|
||||
}
|
||||
|
||||
pub struct Draft {
|
||||
pub kind: RecordKind,
|
||||
@@ -50,6 +56,7 @@ pub struct Draft {
|
||||
constructor_drafts: BTreeMap<(String, String), (Value, BTreeMap<String, Input>)>,
|
||||
port_contract_drafts: BTreeMap<String, Value>,
|
||||
pub value_browsers: BTreeMap<String, ValueBrowser>,
|
||||
pub reference_browsers: BTreeMap<String, ReferenceBrowser>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
@@ -171,6 +178,7 @@ impl Draft {
|
||||
constructor_drafts: BTreeMap::new(),
|
||||
port_contract_drafts: BTreeMap::new(),
|
||||
value_browsers: BTreeMap::new(),
|
||||
reference_browsers: BTreeMap::new(),
|
||||
};
|
||||
draft.rebuild();
|
||||
Some(draft)
|
||||
@@ -653,7 +661,7 @@ fn friendly(name: &str) -> String {
|
||||
"incoming_items" => "Incoming exchange items".into(),
|
||||
"outgoing_items" => "Outgoing exchange items".into(),
|
||||
"orientation" => "Flow orientation".into(),
|
||||
"oriented" => "Directed component exchange".into(),
|
||||
"oriented" => "Directed exchange".into(),
|
||||
"Unset" => "Not specified".into(),
|
||||
"minimum" => "Minimum count".into(),
|
||||
"maximum" => "Maximum count".into(),
|
||||
@@ -986,6 +994,7 @@ fn reference_ids(draft: &Draft, project: &Project, path: &str) -> Vec<Id> {
|
||||
_ => matches!(
|
||||
r.kind(),
|
||||
RelationKind::Interaction
|
||||
| RelationKind::CommunicationMean
|
||||
| RelationKind::FunctionalExchange
|
||||
| RelationKind::BoundaryExchange
|
||||
),
|
||||
@@ -1656,6 +1665,7 @@ pub fn view<'a>(draft: &'a Draft, project: &'a Project) -> View<'a, Message> {
|
||||
"baseline",
|
||||
"layer",
|
||||
"projection",
|
||||
"view_options",
|
||||
"element",
|
||||
"diagram",
|
||||
"position",
|
||||
@@ -1701,6 +1711,9 @@ fn property<'a>(
|
||||
label: &str,
|
||||
skip_variant: bool,
|
||||
) -> View<'a, Message> {
|
||||
if let Some(view) = view_fields::property(draft, project, value, path) {
|
||||
return view;
|
||||
}
|
||||
if let Some(view) = data_fields::property(draft, project, value, path) {
|
||||
return view;
|
||||
}
|
||||
@@ -2563,6 +2576,7 @@ mod tests {
|
||||
layer: Layer::Oa,
|
||||
projection: ProjectionKind::Overview,
|
||||
routes: Vec::new(),
|
||||
view_options: Default::default(),
|
||||
nodes: BTreeMap::new(),
|
||||
},
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user