prettier tags in table
This commit is contained in:
+1
-1
@@ -54,7 +54,7 @@ fn route_index(store: State<RwLock<Store>>, page: Option<usize>) -> Template {
|
||||
let mut page = page.unwrap_or_default();
|
||||
let n_pages = (rg.data.cards.len() as f64 / PER_PAGE as f64).ceil() as usize;
|
||||
|
||||
if page >= n_pages {
|
||||
if page >= n_pages && page != 0 {
|
||||
page = n_pages - 1;
|
||||
}
|
||||
|
||||
|
||||
+7
-7
@@ -23,6 +23,7 @@ pub struct RenderedField<'a> {
|
||||
pub max: String,
|
||||
pub all_tags_json: String,
|
||||
pub tags_json: String,
|
||||
pub tags: Option<Vec<String>>,
|
||||
pub options: Option<Vec<&'a String>>,
|
||||
pub value: Cow<'a, str>,
|
||||
pub checked: bool,
|
||||
@@ -118,7 +119,6 @@ impl<'a> RenderedField<'a> {
|
||||
FieldKind::Tags { options } => {
|
||||
rendered.kind = "tags";
|
||||
rendered.options = Some(options.iter().collect());
|
||||
|
||||
rendered.all_tags_json = serde_json::to_string(options).unwrap();
|
||||
}
|
||||
FieldKind::FreeTags { tag_group } => {
|
||||
@@ -145,12 +145,12 @@ impl<'a> RenderedField<'a> {
|
||||
}
|
||||
FieldKind::Tags { .. } | FieldKind::FreeTags { .. } => {
|
||||
if let Some(v) = value {
|
||||
rendered.value = serde_json::from_value::<Vec<String>>(v.clone())
|
||||
.unwrap()
|
||||
.join(" ")
|
||||
.into();
|
||||
let tags = serde_json::from_value::<Vec<String>>(v.clone()).unwrap();
|
||||
rendered.value = tags.join(",").into();
|
||||
rendered.tags = Some(tags);
|
||||
rendered.tags_json = serde_json::to_string(v).unwrap();
|
||||
} else {
|
||||
rendered.tags = Some(vec![]);
|
||||
rendered.tags_json = "[]".into();
|
||||
}
|
||||
}
|
||||
@@ -274,7 +274,7 @@ pub fn collect_card_form(store: &Store, mut form: MapFromForm) -> IndexMap<Strin
|
||||
}
|
||||
FieldKind::Tags { options } => {
|
||||
let mut tags: Vec<String> = input
|
||||
.split(' ')
|
||||
.split(',')
|
||||
.map(ToOwned::to_owned)
|
||||
.filter_map(|tag| {
|
||||
if options.contains(&tag) {
|
||||
@@ -291,7 +291,7 @@ pub fn collect_card_form(store: &Store, mut form: MapFromForm) -> IndexMap<Strin
|
||||
}
|
||||
FieldKind::FreeTags { .. } => {
|
||||
let mut tags: Vec<String> = input
|
||||
.split(' ')
|
||||
.split(',')
|
||||
.map(str::trim)
|
||||
.filter(|s| !s.is_empty())
|
||||
.map(ToOwned::to_owned)
|
||||
|
||||
Reference in New Issue
Block a user