diff --git a/actix_admin/src/routes/create_get.rs b/actix_admin/src/routes/create_get.rs index a05d23d..0879482 100644 --- a/actix_admin/src/routes/create_get.rs +++ b/actix_admin/src/routes/create_get.rs @@ -18,7 +18,7 @@ pub async fn create_get( let actix_admin = data.get_actix_admin(); let view_model = actix_admin.view_models.get(&entity_name).unwrap(); - let mut model = ActixAdminModel::from(text); + let model = ActixAdminModel::from(text); let mut ctx = Context::new(); ctx.insert("entity_names", &entity_names); diff --git a/actix_admin/src/routes/edit_post.rs b/actix_admin/src/routes/edit_post.rs index 4ad6a2b..1934117 100644 --- a/actix_admin/src/routes/edit_post.rs +++ b/actix_admin/src/routes/edit_post.rs @@ -4,7 +4,6 @@ use tera::{Context}; use crate::TERA; use crate::prelude::*; -use super::edit_get::edit_get; pub async fn edit_post( _req: HttpRequest, diff --git a/actix_admin/src/routes/list.rs b/actix_admin/src/routes/list.rs index 2143dd9..e5c8472 100644 --- a/actix_admin/src/routes/list.rs +++ b/actix_admin/src/routes/list.rs @@ -9,12 +9,14 @@ use crate::ActixAdminViewModel; use crate::ActixAdminModel; use crate::TERA; -const DEFAULT_ENTITIES_PER_PAGE: usize = 5; +const DEFAULT_ENTITIES_PER_PAGE: usize = 10; #[derive(Debug, Deserialize)] pub struct Params { page: Option, entities_per_page: Option, + render_partial: Option, + search: Option } pub async fn list( @@ -32,6 +34,7 @@ pub async fn list( let entities_per_page = params .entities_per_page .unwrap_or(DEFAULT_ENTITIES_PER_PAGE); + let render_partial = params.render_partial.unwrap_or(false); let db = data.get_db(); let result: (usize, Vec) = E::list(db, page, entities_per_page).await; @@ -40,9 +43,12 @@ pub async fn list( let mut ctx = Context::new(); ctx.insert("entity_names", &entity_names); + ctx.insert("entity_name", &entity_name); ctx.insert("entities", &entities); ctx.insert("page", &page); + ctx.insert("params", &entities_per_page); ctx.insert("entities_per_page", &entities_per_page); + ctx.insert("render_partial", &render_partial); ctx.insert("num_pages", &num_pages); ctx.insert("view_model", &view_model); diff --git a/actix_admin/templates/base.html b/actix_admin/templates/base.html index 9b083b6..e616b90 100644 --- a/actix_admin/templates/base.html +++ b/actix_admin/templates/base.html @@ -1,3 +1,9 @@ +{% if render_partial and render_partial == true %} + +{% block content %} +{% endblock content %} + +{% else %} @@ -7,11 +13,14 @@ + +
- {% include "header.html" %} + {% include "header.html" %}
{% block content %} {% endblock content %} @@ -19,4 +28,5 @@
- \ No newline at end of file + +{% endif %} \ No newline at end of file diff --git a/actix_admin/templates/create_or_edit.html b/actix_admin/templates/create_or_edit.html index 7529007..53401c9 100644 --- a/actix_admin/templates/create_or_edit.html +++ b/actix_admin/templates/create_or_edit.html @@ -6,7 +6,7 @@
{% for model_field in view_model.fields -%} {% else %} - {% if model.errors | get(key=model_field.field_name, default="") != "" %} - placeholder="Invalid" aria-invalid="true" - {% endif %} + aria-label="{{ model_field.field_name }}" + {% if model.errors | get(key=model_field.field_name, default="") != "" %} + placeholder="Invalid" aria-invalid="true" + {% endif %} + > {% endif %} {%- endfor %} diff --git a/actix_admin/templates/header.html b/actix_admin/templates/header.html index d327217..fadccc2 100644 --- a/actix_admin/templates/header.html +++ b/actix_admin/templates/header.html @@ -5,7 +5,7 @@ diff --git a/actix_admin/templates/list.html b/actix_admin/templates/list.html index d03978a..7502094 100644 --- a/actix_admin/templates/list.html +++ b/actix_admin/templates/list.html @@ -2,58 +2,87 @@ {% block content %} +{% if not render_partial or render_partial == false %}
- + + Create +
+ +
+
- - - - - {% for model_field in view_model.fields -%} - - {%- endfor %} - - - - - {% for entity in entities -%} - - - {% for model_field in view_model.fields -%} - - {%- endfor %} - - - {%- endfor %} - - - - + + + + {% for entity in entities -%} + + + + {% for model_field in view_model.fields -%} + + {%- endfor %} + + + {%- endfor %} + + + + + + +
{{ view_model.primary_key }}{{ model_field.field_name }} - - -
{{ entity.primary_key }}{{ entity.values | get(key=model_field.field_name) }} - - 🗑 -
- « - {% for i in range(end=num_pages) %} - {{ i + 1 }} +
+ {% endif %} + + + + + + {% for model_field in view_model.fields -%} + {%- endfor %} - » - - - -
+ + {{ view_model.primary_key | title }}{{ model_field.field_name | split(pat="_") | join(sep=" ") | title }}
+
+ + +
{{ entity.primary_key }}{{ entity.values | get(key=model_field.field_name) }} + + 🗑 +
+ « + {% for i in range(end=num_pages) %} + {{ i + 1 }} + {%- endfor %} + » +
+ {% if not render_partial or render_partial == false %} +
+
+
+
@@ -61,4 +90,5 @@
+{% endif %} {% endblock content %} \ No newline at end of file diff --git a/database.db-wal b/database.db-wal index 5919fb7..b2d8dc4 100644 Binary files a/database.db-wal and b/database.db-wal differ