dash-b · 功能 · 点击时

一个真正能做事的仪表板。

大多数仪表板天生只读:它们给你看一个数字,然后让你去别处处理它。dash-b 的磁贴可以带一个按钮,按下它就能写入一行、更新一行,或打开一个由你自己的表生成的表单。

两个磁贴

一个按钮,或一个表单

动作

一个按钮,标签由你定。它对你自己的某个表执行一个具名操作——标记今日营收已入账、添加一个班次、关闭一个工单。无需输入任何内容,按一下即可。

数据表单

操作需要细节时则是同样的东西。字段取自表自身的结构,而不是设计中声明的任何内容,所以你重命名一列,表单就跟着变;你删除一列,它就不再被要求填写。

什么是操作

三个键,没有第四个

一个动作要指明操作、指明操作对象,并传递参数。这就是全部的词汇表:

  • 命令是一个注册表中的索引,只有 dash-b 自己的代码能向其中添加。设计无法凭空造出一个。
  • 绑定是一个名称,在按钮被按下时针对你的账户所持有的文档来解析。别人发给你的设计如果引用了一个你没有的表,它会停下来并明确告知。
  • 参数是一个字面量,或一个从表单、磁贴或本次按下中读取的具名值。只有一层深,别无其他。

写进动作里的 URL、请求头、令牌或角色都是死键。

dash-b 中没有任何代码会读取它们。一个测试会派发一个携带全部四者的动作,并验证它们没有一个到达处理程序。

这套词汇是刻意保持贫乏的。每向参数语言中添加一个运算符,都是朝着让规则引擎住进陌生人互相发送的文件里迈出的一步,而设计文件不是运行别人逻辑的地方。

写入所遵循的规则

其中三条与 dash-b 其余部分的行为方式相反

未知命令会报出醒目的错误

在其他任何地方,无法识别的键都会被安静地忽略,因为设计应当能在遇到更新版本的自己时存活。这里不行:一次悄悄什么都没做的写入,看起来和成功了的写入一模一样。

只有真实按下才算数

用户是否真的按下了按钮,由运行时决定,绝不由设计决定。声称某个手势发生过的设计会被拒绝。

任何更改数据的操作都要确认

操作分为只读、本地或更改型。更改型会先询问——而且无法选择不询问——并获得一个密钥,使双击只生效一次。

它不会出现的地方

不会出现在导出的 HTML 页面中

把设计导出为独立页面后,按钮并不在其中。导出文件不运行任何 dash-b 代码,所以那里的表单只会收集别人的输入却无处可送——这比干脆不提供更糟。该磁贴是设计器和账户功能,导出通过省略它来说明这一点。

已发布的链接同理。读者能看到什么、看不到什么,取决于磁贴绑定的是谁的数据——共享的工作方式对两种情况都有说明。

它需要一张可写入的表。

它可以是你账户上的一个表,也可以是你通过自己托管的连接器访问的自有数据库——这种情况下,数据库密码永远不会到达我们这里。