.
This commit is contained in:
+25
-20
@@ -133,6 +133,7 @@ impl Publisher {
|
||||
|
||||
let mut abbreviated_datatypes = ontology
|
||||
.datatypes()
|
||||
.into_iter()
|
||||
.map(|node| ontology.abbreviate(node.as_ref()))
|
||||
.collect::<Vec<_>>();
|
||||
abbreviated_datatypes.sort();
|
||||
@@ -274,7 +275,11 @@ impl Publisher {
|
||||
error!(error);
|
||||
}
|
||||
Message::AddRow(None) => {
|
||||
let quad = self.document.new_quad();
|
||||
let mut quad = self.document.new_quad();
|
||||
let empty_node = NamedNode::new_unchecked("");
|
||||
quad.predicate = empty_node.clone();
|
||||
quad.object = Term::NamedNode(empty_node);
|
||||
|
||||
let key = self.document.dataset_mut().quads.insert(quad);
|
||||
task = Task::done(Message::AddRow(Some(key)));
|
||||
}
|
||||
@@ -504,14 +509,9 @@ impl Publisher {
|
||||
.collect::<Vec<_>>()
|
||||
})
|
||||
.unwrap_or_else(|| {
|
||||
let triple = Triple::new(
|
||||
NamedOrBlankNode::BlankNode(BlankNode::default()),
|
||||
rdf::TYPE,
|
||||
Term::NamedNode(class)
|
||||
);
|
||||
vec![
|
||||
self.document.quad_from_triple(triple)
|
||||
]
|
||||
let mut new_quad = self.document.new_quad();
|
||||
new_quad.object = Term::NamedNode(class);
|
||||
vec![new_quad]
|
||||
});
|
||||
|
||||
task = Task::done(Message::HideNewDocumentButtons);
|
||||
@@ -557,9 +557,13 @@ impl Publisher {
|
||||
container(space()).width(BUTTON_WIDTH)
|
||||
};
|
||||
|
||||
let predicate_input = iri_input(self.ontology.prefixes(), "Predicate", triple.predicate.as_str())
|
||||
.on_input(move |value| Message::PredicateUpdated(key, value))
|
||||
.on_control_click(Message::OpenQueryWindow(SearchResultClickAction::Predicate(key)));
|
||||
let predicate_input_base = iri_input(self.ontology.prefixes(), "Predicate", triple.predicate.as_str());
|
||||
let predicate_input = if self.ontology.is_read_only(triple.as_ref()) {
|
||||
predicate_input_base
|
||||
} else {
|
||||
predicate_input_base.on_input(move |value| Message::PredicateUpdated(key, value))
|
||||
.on_control_click(Message::OpenQueryWindow(SearchResultClickAction::Predicate(key)))
|
||||
};
|
||||
|
||||
let term = TermHelper::new(&triple.object);
|
||||
|
||||
@@ -581,10 +585,14 @@ impl Publisher {
|
||||
})
|
||||
.unwrap_or(Horizontal::Left);
|
||||
|
||||
let object_input = iri_input(self.ontology.prefixes(), "Object", value.as_str())
|
||||
.align_x(value_alignment)
|
||||
.on_input(move |value| Message::ObjectUpdated(key, value))
|
||||
.on_control_click(Message::OpenQueryWindow(SearchResultClickAction::Object(key)));
|
||||
let object_input_base = iri_input(self.ontology.prefixes(), "Object", value.as_str());
|
||||
let object_input = if self.ontology.is_read_only(triple.as_ref()) {
|
||||
object_input_base
|
||||
} else {
|
||||
object_input_base.align_x(value_alignment)
|
||||
.on_input(move |value| Message::ObjectUpdated(key, value))
|
||||
.on_control_click(Message::OpenQueryWindow(SearchResultClickAction::Object(key)))
|
||||
};
|
||||
|
||||
let selected_datatype = term.datatype().map(|node| self.ontology.abbreviate(node));
|
||||
let datatype_selector: Element<Message> = if state.read_only {
|
||||
@@ -751,10 +759,7 @@ impl Publisher {
|
||||
let body: Element<Message> = if self.show_new_document_buttons {
|
||||
let subclasses = self.ontology.subclasses_of(&rda::ENTITY.into_owned());
|
||||
let labeled_subclasses = subclasses.iter().map(|iri| self.ontology.info(iri, &*language::ENGLISH_OR_UNTAGGED));
|
||||
column![
|
||||
//self.view_new_entity_buttons(self.ontology.subclass_of(gl::ENTITY)),
|
||||
self.view_new_entity_buttons(labeled_subclasses),
|
||||
].into()
|
||||
column![self.view_new_entity_buttons(labeled_subclasses)].into()
|
||||
} else {
|
||||
column(rows).into()
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user