v0.10-frontend-worksish
This commit is contained in:
@@ -3,7 +3,7 @@ use axum::{
|
||||
response::IntoResponse,
|
||||
routing::{get,post},
|
||||
Json, Router,
|
||||
extract::{Extension, Form, Path},
|
||||
extract::{Extension, Path},
|
||||
};
|
||||
use axum_extra::routing::SpaRouter;
|
||||
use clap::Parser;
|
||||
|
||||
@@ -75,13 +75,18 @@ pub async fn find_books_plus_meta_in_page(
|
||||
let paginator2: Vec<BookAndMeta> = Book::find()
|
||||
.filter(Condition::any()
|
||||
.add(book::Column::Id.is_in(book_ids)))
|
||||
.join(JoinType::LeftJoin, book_author::Relation::Book.def())
|
||||
.join(JoinType::LeftJoin, book_person::Relation::Book.def())
|
||||
.join(JoinType::LeftJoin, book_place::Relation::Book.def())
|
||||
.join(JoinType::LeftJoin, book_subject::Relation::Book.def())
|
||||
.join(JoinType::LeftJoin, book_time::Relation::Book.def())
|
||||
.join(JoinType::LeftJoin, book_isbn::Relation::Book.def())
|
||||
// .column_as(book::Column::Id, "id")
|
||||
.join(JoinType::LeftJoin, book::Relation::BookAuthor.def())
|
||||
.join(JoinType::LeftJoin, book::Relation::BookPerson.def())
|
||||
.join(JoinType::LeftJoin, book::Relation::BookPlace.def())
|
||||
.join(JoinType::LeftJoin, book::Relation::BookSubject.def())
|
||||
.join(JoinType::LeftJoin, book::Relation::BookTime.def())
|
||||
.join(JoinType::LeftJoin, book::Relation::BookIsbn.def())
|
||||
.column_as(book_author::Column::AuthorName, "author_name")
|
||||
.column_as(book_person::Column::Person, "person")
|
||||
.column_as(book_place::Column::Place, "place")
|
||||
.column_as(book_subject::Column::Subject, "subject")
|
||||
.column_as(book_time::Column::Time, "time")
|
||||
.column_as(book_isbn::Column::Isbn, "isbn")
|
||||
.into_model::<BookAndMeta>()
|
||||
.all(db).await?;
|
||||
|
||||
|
||||
@@ -255,23 +255,23 @@ pub fn BookOL<G: Html>(cx: Scope, bookitem: BookUIProp) -> View<G> {
|
||||
async fn AddingUI<G: Html>(cx: Scope<'_>) -> View<G> {
|
||||
let app_state = use_context::<AppState>(cx);
|
||||
|
||||
let inp_title = create_signal(cx, String::new());
|
||||
let inp_olkey = create_signal(cx, String::new());
|
||||
let inp_editioncount = create_signal(cx, String::new());
|
||||
let inp_publishyear = create_signal(cx, String::new());
|
||||
let inp_medianpage = create_signal(cx, String::new());
|
||||
let inp_goodread = create_signal(cx, String::new());
|
||||
let inp_desc = create_signal(cx, String::new());
|
||||
let inp_cover = create_signal(cx, String::new());
|
||||
let inp_location = create_signal(cx, String::new());
|
||||
let inp_rating = create_signal(cx, String::new());
|
||||
let inp_comments = create_signal(cx, String::new());
|
||||
let inp_author = create_signal(cx, String::new());
|
||||
let inp_person = create_signal(cx, String::new());
|
||||
let inp_place = create_signal(cx, String::new());
|
||||
let inp_subject = create_signal(cx, String::new());
|
||||
let inp_time = create_signal(cx, String::new());
|
||||
let inp_isbn = create_signal(cx, String::new());
|
||||
let inp_title = create_signal(cx, (*app_state.addingbook.get()).clone().title);
|
||||
let inp_olkey = create_signal(cx, (*app_state.addingbook.get()).clone().open_library_key.unwrap_or("".to_string()));
|
||||
let inp_editioncount = create_signal(cx, (*app_state.addingbook.get()).clone().edition_count.unwrap_or(0).to_string());
|
||||
let inp_publishyear = create_signal(cx, (*app_state.addingbook.get()).clone().first_publish_year.unwrap_or(0).to_string());
|
||||
let inp_medianpage = create_signal(cx, (*app_state.addingbook.get()).clone().median_page_count.unwrap_or(0).to_string());
|
||||
let inp_goodread = create_signal(cx, (*app_state.addingbook.get()).clone().goodread_id.unwrap_or("".to_string()));
|
||||
let inp_desc = create_signal(cx, (*app_state.addingbook.get()).clone().description.unwrap_or("".to_string()));
|
||||
let inp_cover = create_signal(cx, (*app_state.addingbook.get()).clone().cover.unwrap_or("".to_string()));
|
||||
let inp_location = create_signal(cx, (*app_state.addingbook.get()).clone().location.unwrap_or("".to_string()));
|
||||
let inp_rating = create_signal(cx, (*app_state.addingbook.get()).clone().location.unwrap_or("".to_string()));
|
||||
let inp_comments = create_signal(cx, (*app_state.addingbook.get()).clone().comments.unwrap_or("".to_string()));
|
||||
let inp_author = create_signal(cx, (*app_state.addingbook.get()).clone().author_name.unwrap_or(vec!["".to_string()]).join(", "));
|
||||
let inp_person = create_signal(cx, (*app_state.addingbook.get()).clone().person.unwrap_or(vec!["".to_string()]).join(", "));
|
||||
let inp_place = create_signal(cx, (*app_state.addingbook.get()).clone().place.unwrap_or(vec!["".to_string()]).join(", "));
|
||||
let inp_subject = create_signal(cx, (*app_state.addingbook.get()).clone().subject.unwrap_or(vec!["".to_string()]).join(", "));
|
||||
let inp_time = create_signal(cx, (*app_state.addingbook.get()).clone().time.unwrap_or(vec!["".to_string()]).join(", "));
|
||||
let inp_isbn = create_signal(cx, (*app_state.addingbook.get()).clone().isbn.unwrap_or(vec!["".to_string()]).join(", "));
|
||||
|
||||
let handle_add = |_| {
|
||||
info!("Adding book");
|
||||
@@ -316,23 +316,23 @@ info!("Adding book");
|
||||
p {
|
||||
(if *app_state.adding.get() == true {
|
||||
view!{ cx,
|
||||
input(bind:value=inp_title, placeholder="Title" ,value = (*app_state.addingbook.get()).clone().title)
|
||||
input(bind:value=inp_olkey, placeholder="OpenLibrary Key" ,value= (*app_state.addingbook.get()).clone().open_library_key.unwrap_or("".to_string()))
|
||||
input(bind:value=inp_editioncount, placeholder="Number of editions" ,value= (*app_state.addingbook.get()).clone().edition_count.unwrap_or(0).to_string())
|
||||
input(bind:value=inp_publishyear, placeholder="First publish year" ,value= (*app_state.addingbook.get()).clone().first_publish_year.unwrap_or(0).to_string())
|
||||
input(bind:value=inp_medianpage, placeholder="Page count" ,value= (*app_state.addingbook.get()).clone().median_page_count.unwrap_or(0).to_string())
|
||||
input(bind:value=inp_goodread, placeholder="GoodRead ID" ,value= (*app_state.addingbook.get()).clone().goodread_id.unwrap_or("".to_string()))
|
||||
input(bind:value=inp_desc, placeholder="Description" ,value= (*app_state.addingbook.get()).clone().description.unwrap_or("".to_string()))
|
||||
input(bind:value=inp_cover, placeholder="Cover URL" ,value= (*app_state.addingbook.get()).clone().cover.unwrap_or("".to_string()))
|
||||
input(bind:value=inp_location, placeholder="Location" ,value= (*app_state.addingbook.get()).clone().location.unwrap_or("".to_string()))
|
||||
input(bind:value=inp_rating, placeholder="Rating (/10)" ,value= (*app_state.addingbook.get()).clone().rating.unwrap_or(0).to_string())
|
||||
input(bind:value=inp_comments, placeholder="Comments" ,value= (*app_state.addingbook.get()).clone().comments.unwrap_or("".to_string()))
|
||||
input(bind:value=inp_author, placeholder="Authors" ,value=(*app_state.addingbook.get()).clone().author_name.unwrap_or(vec!["".to_string()]).join(", "))
|
||||
input(bind:value=inp_person, placeholder="Persons" ,value=(*app_state.addingbook.get()).clone().person.unwrap_or(vec!["".to_string()]).join(", "))
|
||||
input(bind:value=inp_place, placeholder="Places" ,value=(*app_state.addingbook.get()).clone().place.unwrap_or(vec!["".to_string()]).join(", "))
|
||||
input(bind:value=inp_subject, placeholder="Subjects" ,value=(*app_state.addingbook.get()).clone().subject.unwrap_or(vec!["".to_string()]).join(", "))
|
||||
input(bind:value=inp_time, placeholder="Times" ,value=(*app_state.addingbook.get()).clone().time.unwrap_or(vec!["".to_string()]).join(", "))
|
||||
input(bind:value=inp_isbn, placeholder="ISBNs" ,value=(*app_state.addingbook.get()).clone().isbn.unwrap_or(vec!["".to_string()]).join(", "))
|
||||
input(bind:value=inp_title, placeholder="Title" )
|
||||
input(bind:value=inp_olkey, placeholder="OpenLibrary Key" )
|
||||
input(bind:value=inp_editioncount, placeholder="Number of editions" )
|
||||
input(bind:value=inp_publishyear, placeholder="First publish year" )
|
||||
input(bind:value=inp_medianpage, placeholder="Page count" )
|
||||
input(bind:value=inp_goodread, placeholder="GoodRead ID" )
|
||||
input(bind:value=inp_desc, placeholder="Description" )
|
||||
input(bind:value=inp_cover, placeholder="Cover URL" )
|
||||
input(bind:value=inp_location, placeholder="Location" )
|
||||
input(bind:value=inp_rating, placeholder="Rating (/10)" )
|
||||
input(bind:value=inp_comments, placeholder="Comments" )
|
||||
input(bind:value=inp_author, placeholder="Authors")
|
||||
input(bind:value=inp_person, placeholder="Persons" )
|
||||
input(bind:value=inp_place, placeholder="Places" )
|
||||
input(bind:value=inp_subject, placeholder="Subjects" )
|
||||
input(bind:value=inp_time, placeholder="Times" )
|
||||
input(bind:value=inp_isbn, placeholder="ISBNs" )
|
||||
button(class="add", on:click=handle_add){ "Add book to DB" }
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user