-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
需求整理 #1
Comments
修改按钮默认不显示 |
|
DataGrid加默认paginate |
大半夜犯抽了。。本评论请无视。。 readonly的实现,现在就是填充个div。换成个readonly的input怎么样,有遇到过readonly但是想用js去改的。 |
使用DataEditor编辑数据,且对应要修改的Model数据不存在时,更早给出更合理的报错,现在的出错信息很奇怪。 |
@micln readonly如果还能改的话才叫坑爹好不好。。。 理论上readonly的字段就算form里面扔回来,后端也不该认的。 |
传入已存储的model时,忽略 |
表单控件:SelectOrInput |
addTags的每一项要不要加个能点的链接。非必须 |
|
常用的 cell 进行封装,比如 ModelLabel、链接。而且基本上都是一行的 cell 函数 |
可以提供在外部项目注册Marco的接口,调用时 |
DataForm的view函数是个很好的实现,可以根据传入的回调返回不同的response,其实还有些地方可以利用这个用法,比如:
$edit->addAutocomplete('target-xiaoqu', '目标小区')->match(function ($keyword) {
return Xiaoqu::whereType(\Xiaoqu::TYPE_重点)
->where(function ($query) use ($keyword) {
$pattern = "%{$keyword}%";
/** @var \Xiaoqu $query */
$query->where('name', 'like', $pattern)
->orWhere('alias', 'like', $pattern);
})
->take(10)
->get()
->map(function (self $xq) {
return [
'id' => $xq->id,
'name' => $xq->name . ($xq->alias ? " ({$xq->alias})" : "")
];
})
->toArray();
});
自动补全的链接:
2016.6.7 补充 提供注册机制,可以注册特殊且常用的补全函数。 LegoRegister::addAutoCompleteMatch('target-xiaoqu', function ($keyword) {
// balabala
});
// 使用时
$edit->addAutocomplete('target-xiaoqu', '目标小区')->match('target-xiaoqu') |
这个不错。权限问题也解决了。 |
DataGrid & DataForm & DataFilter 的 each 函数 可接收 >= 1个参数,第一个参数为 Field 可能存在的函数名,调用时,会尝试调用 Field 上的该函数,后续参数作为函数参数。 $edit->each('required');
$edit->each('options', ['是', '否']);
// 6.16更新
$edit->each(\Closure); |
常用Model的特定字段经常会重复写,可以在Controller构造函数中注册Model常用字段 LegoRegister::addModel(Room::class, [
'status' => [
'type' => 'select',
'options' => [ ... ]
'label' => '销售状态',
'cell' => function ($status, Room $room) {
return ModelTool::label($room);
}
],
'address' => [ ... ]
// ...
]);
$filter->addMany('status', 'address');
$grid->addMany('status', 'address') |
confirm & choose |
嗯,级联控件 $edit->addDependentSelect('bank_name', '银行名');
$edit->addDependentSelect('bank_city', '银行所在城市')
->depend('bank_name', function ($bankName) {
return Bank::whereBankName($bankName)->pluck('city', 'id');
});
return $edit->view(...) 或者直接扩展 Select Field |
这个不需要定义一个Ajax的URL规则么 |
@micln 需要的,可以参照上面自动补全的链接。 |
手机验证码 && 图片验证码 的控件 |
select 控件的默认选项使用 |
我觉得 listXX 优先于 constants 好一些,现在的 addModelChoice 里就这么干的,考虑到自定义情况 |
自定义的场景还是直接作为参数传入 options() 更好些。 2016-09-06 10:20 GMT+08:00 huiren notifications@github.com:
|
Grid (列表) 中的批处理 $grid->addAction('分派')
->form(function (Form $form) {
$form->addAutoComplete('执行人')->match(function ($keyword) {
return Corp::where('name', 'like', '%' . $keyword . '%')->pluck('name', 'id');
});
})
->action(function (Task $task, Form $form) {
$task->executor_id = $form->field('执行人')->getNewValue();
$task->save();
}) |
@micln 在 Lego 里可以继承 Select 在 Laputa 中实现定制化的 ModelSelect ,优雅,还有自动补全 ^_^ 哈哈,Lego 写到现在终于算是达到预期了,上面 90+% 需求已满足 ,剩余需求可以现有架构上轻松实现。 |
这个轮子造的好,辛苦了各位大牛! |
@heimasi 之前有过想法,API 大致如下 $form->addHasMany('books', function (Form $form) {
$form->addText('name');
$form->addText('company');
...
}); 但还没排上计划,可以单独建个 Issue ,当然更希望能直接提 PR 哦!😄 |
此 Issue 仅用于最早期需求整理,后续意见请新建 Issue |
0. 给新生儿起个名字
1. 一些约定
11. Rapyd需要保留的地方
12. Rapyd需要加的功能
13. Rapyd需要改进的功能
14. Rapyd应该干掉的部分
The text was updated successfully, but these errors were encountered: