画廊添加
This commit is contained in:
@@ -81,11 +81,41 @@ int main() {
|
||||
assert(flow_amis.at("body").at(0).at("type") == "flex");
|
||||
assert(flow_amis.at("body").at(0).at("items").at(0).at("type") == "container");
|
||||
assert(flow_amis.at("body").at(0).at("items").at(1).at("type") == "container");
|
||||
const auto list_composition = adminive::composition_view("list_page", adminive::compose::list(adminive::compose::slot("left"), adminive::compose::slot("right")));
|
||||
const auto list_composition_json = adminive::to_view_json<Json>(list_composition);
|
||||
assert(list_composition_json.at("body").at("kind") == "list");
|
||||
const auto list_composition_amis = adminive::to_amis_composition_schema<Json>(list_composition, {{"left", Json{{"type", "tpl"}, {"tpl", "left"}}}, {"right", Json{{"type", "tpl"}, {"tpl", "right"}}}});
|
||||
assert(list_composition_amis.at("body").at(0).at("type") == "container");
|
||||
assert(list_composition_amis.at("body").at(0).at("body").size() == 2);
|
||||
const auto frontend_composition = adminive::composition_view("frontend_page", adminive::compose::frontend(adminive::compose::slot("left"), adminive::compose::slot("right")));
|
||||
const auto frontend_composition_json = adminive::to_view_json<Json>(frontend_composition);
|
||||
assert(frontend_composition_json.at("body").at("kind") == "frontend");
|
||||
const auto frontend_composition_amis = adminive::to_amis_composition_schema<Json>(frontend_composition, {{"left", Json{{"type", "tpl"}, {"tpl", "left"}}}, {"right", Json{{"type", "tpl"}, {"tpl", "right"}}}});
|
||||
assert(frontend_composition_amis.at("body").at(0).at("className") == "adminive-frontend-placement");
|
||||
const auto frontend_form = adminive::edit_form<Config>(adminive::frontend(adminive::list(adminive::use<&Config::name>(), adminive::use<&Config::count>())));
|
||||
const auto frontend_form_json = adminive::to_view_json<Json, Config>(frontend_form);
|
||||
assert(frontend_form_json.at("body").at("kind") == "frontend");
|
||||
assert(frontend_form_json.at("body").at("children").at(0).at("kind") == "list");
|
||||
const auto table_amis = adminive::to_amis_table_schema<Json, Config>("/configs", table_view);
|
||||
assert(table_amis.at("type") == "page");
|
||||
assert(table_amis.at("body").at(0).at("columns").at(1).at("searchable") == true);
|
||||
assert(table_amis.at("body").at(0).at("columns").at(2).at("sortable") == true);
|
||||
assert(table_amis.at("body").at(0).at("columns").at(3).at("filterable") == true);
|
||||
const auto list_amis = adminive::to_amis_list_schema<Json, Config>("/configs", table_view, Json{{"title", "${name}"}});
|
||||
assert(list_amis.at("body").at(0).at("mode") == "list");
|
||||
assert(list_amis.at("body").at(0).at("id") == "view_config_table_crud_list");
|
||||
assert(!list_amis.at("body").at(0).contains("columns"));
|
||||
assert(list_amis.at("body").at(0).at("listItem").at("actions").size() == 2);
|
||||
assert(list_amis.at("body").at(0).at("listItem").at("actions").at(0).at("dialog").at("body").at("reload") == "view_config_table_crud_list");
|
||||
assert(list_amis.at("body").at(0).at("listItem").at("actions").at(1).at("reload") == "view_config_table_crud_list");
|
||||
assert(list_amis.at("body").at(0).at("headerToolbar").size() == 2);
|
||||
assert(list_amis.at("body").at(0).at("headerToolbar").at(1).at("dialog").at("body").at("reload") == "view_config_table_crud_list");
|
||||
const auto cards_amis = adminive::to_amis_cards_schema<Json, Config>("/configs", table_view, Json{{"header", Json{{"title", "${name}"}}}}, 2);
|
||||
assert(cards_amis.at("body").at(0).at("mode") == "cards");
|
||||
assert(cards_amis.at("body").at(0).at("id") == "view_config_table_crud_cards");
|
||||
assert(cards_amis.at("body").at(0).at("columnsCount") == 2);
|
||||
assert(cards_amis.at("body").at(0).at("card").at("actions").size() == 2);
|
||||
assert(cards_amis.at("body").at(0).at("card").at("actions").at(1).at("reload") == "view_config_table_crud_cards");
|
||||
adminive::Collection_Service<Config, Json, adminive::No_Lock> collection("/configs", {Config{"Alpha", 3, true, "#111111"}, Config{"Beta", 7, false, "#222222"}, Config{"Alphabet", 5, true, "#333333"}});
|
||||
adminive::Collection_Query query;
|
||||
query.fields["name"] = "alpha";
|
||||
@@ -122,6 +152,20 @@ int main() {
|
||||
invalid_tabs = true;
|
||||
}
|
||||
assert(invalid_tabs);
|
||||
bool invalid_tab_position{};
|
||||
try {
|
||||
adminive::validate_form_view<Config>(adminive::edit_form<Config>(adminive::tab("Invalid", adminive::use<&Config::name>())));
|
||||
} catch(const std::invalid_argument&) {
|
||||
invalid_tab_position = true;
|
||||
}
|
||||
assert(invalid_tab_position);
|
||||
bool invalid_composition_tab_position{};
|
||||
try {
|
||||
adminive::validate_composition_view(adminive::composition_view("invalid", adminive::compose::tab("Invalid", adminive::compose::slot("x"))));
|
||||
} catch(const std::invalid_argument&) {
|
||||
invalid_composition_tab_position = true;
|
||||
}
|
||||
assert(invalid_composition_tab_position);
|
||||
bool invalid_sort{};
|
||||
try {
|
||||
adminive::validate_table_view<Config>(adminive::table_view<Config>(adminive::column<&Config::name>()).default_sort("name"));
|
||||
|
||||
Reference in New Issue
Block a user