在Grid中使用dialogOK删除按钮

时间:2014-02-17 17:25:32

标签: grid atk4

我试图在GRID中实现删除按钮,与CRUD相同。我发现了dialogOK(http://agiletoolkit.org/blog/introduction-to-dialog-integration/),但我想我不知道如何正确使用它。

我的代码:

$gridC=$this->add('Grid');
$gridC->setModel('Campaign');
$gridC->addcolumn('Button', 'Delete')->js('click', $this->js()->univ()->dialogOK('Yey','Some custom javascript action here',$this->delete()));

//test only
$gridC->addcolumn('Button', 'Deletex')->js('click')->univ()->dialogOK('Are you sure?','This will take you to other page',$this->js()->univ()->page($this->api->getDestinationURL('admin')));

...

function delete(){
  ...
}

当我点击按钮时,delete()函数立即启动,然后单击确定。还启动了模态窗口:(

任何建议,我搜索但找不到任何好的例子..

下一天:

我再次检查了这个东西,我几乎是真的以正确的方式做到了,但我想我发现了一个bug对话OK(http://agiletoolkit.org/blog/introduction-to-dialog-integration/

我在任何普通页面上重新创建此示例:

$button = $this->add('Button');
$button->js('click')->univ()->dialogOK('Are you sure?','This will take you to other page',
  $button->js()->univ()->page($this->api->getDestinationURL('index'))
);

页面重定向到索引页面,它不等待点击OK按钮。 Insted它打开dialogOK,但在后台重定向到索引页面..

我在主分支机构使用atk 4.2.5。

1 个答案:

答案 0 :(得分:0)

好的,该网页有一些错误:(如果您能编辑它并在Github atk4-web中发送拉取请求,我将非常感激。

让您上路的一些提示:

  • 尝试使用dialogConfirm()方法而不是dialogOK()。它还在用吗?
  • 尝试在 - > page()之后添加 - > _enclose()。这将把JS表达式包含在函数中。
  • 如果dialogConfirm()工作且类似的dialogOK()不起作用,那么我猜在dialogOK()方法中有一个小错误。在atk4_univ.js文件对话框方法中应该有close: if(fn)fn(),而不是close: fn,

你能试试这些技巧并告诉我什么对你有用吗?对不起,我自己也没有这样做 - 我现在真的没时间了:(