This commit is contained in:
2026-08-28 15:57:59 -04:00
parent 277d1d2a2d
commit 1a122d6ecc
12 changed files with 90 additions and 89 deletions
+9 -14
View File
@@ -245,11 +245,7 @@ impl Publisher {
}
}
Message::URLInputChanged(value) => {
if Url::parse(&value).is_ok() {
self.url_input_valid = true;
} else {
self.url_input_valid = false;
}
self.url_input_valid = Url::parse(&value).is_ok();
self.url_input = value;
}
Message::URLInputSubmitted => {
@@ -295,13 +291,13 @@ impl Publisher {
task = Task::done(Message::ShowNewDocumentButtons);
}
Message::LoadDocument(document) => {
let nodes_to_look_up = document.dataset().quads.iter().map(|(_, quad)| {
let nodes_to_look_up = document.dataset().quads.iter().flat_map(|(_, quad)| {
let mut nodes = vec![ quad.predicate.clone() ];
if let Some(object) = term_to_named_node(&quad.object) {
nodes.push(object.clone());
}
nodes
}).flatten().collect();
}).collect();
let add_row_tasks = document.dataset().quads.iter().map(|(key, quad)| {
let datatype_state = combo_box::State::new(self.abbreviated_datatypes.clone());
@@ -578,12 +574,11 @@ impl Publisher {
}
}
Message::NavigateToObject(key) => {
if let Some(quad) = self.document.dataset_mut().quads.get_mut(key) {
if let Term::NamedNode(node) = &quad.object {
if let Some(quad) = self.document.dataset_mut().quads.get_mut(key)
&& let Term::NamedNode(node) = &quad.object {
let url = Url::parse(node.as_str()).expect("Invalid URL");
task = Task::done(Message::URLInputChanged(url.to_string()))
.chain(Task::done(Message::URLInputSubmitted));
}
}
}
Message::NavigateBack => {
@@ -836,7 +831,7 @@ impl Publisher {
search_state.entity_class_selection.as_ref(),
Class::ALL,
ToString::to_string,
).on_select(|selection| Message::UpdateQueryClass(selection));
).on_select(Message::UpdateQueryClass);
let mut columns = vec![table::column(text("CURIE"), |document: &HashMap<gl_search::Field, gl_search::OwnedValue>| {
let iri = document.get(&Schema::iri_field())
@@ -888,8 +883,8 @@ impl Publisher {
}
pub(crate) fn view(&self, window: window::Id) -> Element<'_, Message> {
if let Some(search_state) = &self.search_state
&& search_state.window_id == window {
if let Some(search_state) = &self.search_state &&
search_state.window_id == window {
return self.view_search_window(search_state);
}
@@ -1074,4 +1069,4 @@ where
)
]
.into()
}
}
+10 -10
View File
@@ -17,8 +17,7 @@ use ldp::middleware::BasicAuthMiddleware;
use ldp::reqwest::Client;
use ldp::reqwest_middleware::ClientBuilder;
use ldp::traverse::Traverse;
use oxigraph::io::{RdfFormat, RdfParser, RdfSerializer};
use oxigraph::model::{Dataset, Graph, Triple, TripleRef};
use oxigraph::model::{Graph, TripleRef};
use tracing::{debug_span, error, field, Instrument};
use tracing_subscriber::fmt::format::FmtSpan;
use tracing_subscriber::layer::SubscriberExt;
@@ -54,12 +53,13 @@ fn main() -> color_eyre::Result<()> {
Some(String::from_utf8(std::fs::read(dataset_path)?)?)
} else { None };
let mut request = OntologyQueryRequest::default();
request.sparql_query = raw_query;
request.turtle = graph;
request.prefixes = HashMap::from_iter(gl_graph::PREFIXES.iter().map(|(name, iri)| (name.clone(), iri.clone())));
request.base = args.base.clone();
request.inferences_only = args.inferences_only;
let request = OntologyQueryRequest {
sparql_query: raw_query,
turtle: graph,
prefixes: HashMap::from_iter(gl_graph::PREFIXES.iter().map( | (name, iri) | (name.clone(), iri.clone()))),
base: args.base.clone(),
inferences_only: args.inferences_only,
};
let runtime = tokio::runtime::Builder::new_multi_thread()
.enable_all()
@@ -77,7 +77,7 @@ fn main() -> color_eyre::Result<()> {
});
}
Some(Command::Search(args)) => {
let mut index = SearchIndex::builder()
let index = SearchIndex::builder()
.with_path("/home/alex/.local/share/org.graphofliberty.desktop/index")
.build()
.expect("Failed to build search index");
@@ -142,7 +142,7 @@ fn main() -> color_eyre::Result<()> {
Ok(rdf_source) => {
let triples = rdf_source.dataset()
.iter()
.map(|quad| TripleRef::from(quad));
.map(TripleRef::from);
graph.extend(triples);
rdf_source_count += 1;
},
+1 -2
View File
@@ -2,8 +2,7 @@ use iced::Task;
use ldp::reqwest_middleware::ClientWithMiddleware;
use ldp::ResourceRequestBuilder;
use oxigraph::io::RdfFormat;
use oxigraph::model::{Dataset, Graph, NamedNode, NamedNodeRef, NamedOrBlankNode, NamedOrBlankNodeRef, TermRef};
use tracing::debug;
use oxigraph::model::{Dataset, Graph, NamedNode, NamedNodeRef, NamedOrBlankNodeRef, TermRef};
use url::Url;
use gl_graph::class::Class;
use gl_graph::ontology::{ConnectedOntology, OntologyBuilder, ResourceSelector};
+18 -21
View File
@@ -71,10 +71,9 @@ where
#[must_use]
pub fn on_input(mut self, on_input: impl Fn(String) -> Message + 'a) -> Self {
let base_clone = self.base.clone();
let wrapped = move |value: String| {
let expanded_value = self.curie_helper.expand(base_clone, &value);
on_input(expanded_value.unwrap_or_else(|| value))
let expanded_value = self.curie_helper.expand(self.base, &value);
on_input(expanded_value.unwrap_or(value))
};
self.text_input = self.text_input.on_input(wrapped);
@@ -214,21 +213,20 @@ where
state.control = modifiers.control();
state.shift = modifiers.shift();
}
Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) => {
if cursor.is_over(layout.bounds()) {
if state.control
&& let Some(on_control_click) = &self.on_control_click
{
shell.publish(on_control_click.clone());
shell.capture_event();
}
Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left))
if cursor.is_over(layout.bounds()) => {
if state.control
&& let Some(on_control_click) = &self.on_control_click
{
shell.publish(on_control_click.clone());
shell.capture_event();
}
if state.shift
&& let Some(on_shift_click) = &self.on_shift_click
{
shell.publish(on_shift_click.clone());
shell.capture_event();
}
if state.shift
&& let Some(on_shift_click) = &self.on_shift_click
{
shell.publish(on_shift_click.clone());
shell.capture_event();
}
}
_ => {}
@@ -246,10 +244,9 @@ where
);
let clipboard = shell.clipboard_mut();
if let Some(Content::Text(content)) = &clipboard.write {
if let Some(expanded) = self.curie_helper.expand(self.base, &content) {
clipboard.write = Some(Content::Text(expanded));
}
if let Some(Content::Text(content)) = &clipboard.write &&
let Some(expanded) = self.curie_helper.expand(self.base, content) {
clipboard.write = Some(Content::Text(expanded));
}
}