1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
use df_fields::Field;
use json::{JsonValue};
use crate::{Action, BtnColor, BtnMode, Model, Response, Tools};
use crate::tests::test::test::TestAction;
use crate::tests::test::TestModel;
pub struct Table {
pub model: TestModel,
}
impl Action for Table {
fn extend(&mut self) -> Vec<&str> {
vec!["db", "cache", "kafka"]
}
fn title(&mut self) -> String { "测试动作".to_string() }
fn name(&mut self) -> String { "tests.test.table".to_string() }
fn params(&mut self) -> JsonValue {
return self.model.table_fields();
}
fn index(&mut self, _header: JsonValue, request: JsonValue, tools: Tools) -> Response {
let mut data = self.model.tables(
request.clone(), tools,
vec!["int", "str"],
vec!["int", "str"],
vec!["int", "str"]);
data["btn_one"] = vec![
self.model.btn_data("", Box::new(TestAction { model: TestModel {} }), BtnMode::Api, BtnColor::Blue, vec![
vec!["mail", "in", "66997788@qq.com"],
vec!["mail", "<>", "66997788@qq.com"],
vec!["mail", ">", "66997788@qq.com"],
vec!["mail", "<", "66997788@qq.com"],
]),
].into();
data["btn_all"] = vec![
self.model.btn_data("", Box::new(TestAction { model: TestModel {} }), BtnMode::Form, BtnColor::Blue, vec![]),
].into();
data["btn_ids"] = vec![
self.model.btn_data("", Box::new(TestAction { model: TestModel {} }), BtnMode::Form, BtnColor::Blue, vec![]),
].into();
self.success(data.clone(), "列表")
}
}