dash-b · 功能 · 点击时

一个真正会做事的仪表盘。

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

两个磁贴

一个按钮,或一个表单

動作

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

数据表单

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

什么是操作

三个键,没有第四个

一个操作指明一个操作、指明它作用于什么,并传递参数。这就是全部的词汇:

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

写进操作里的 URL、请求头、令牌或角色是一枚死键。

dash-b 中没有任何东西会读取它们。有一个测试会派发一个同时携带这四样内容的操作,并验证它们没有一个到达了处理程序。

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

写入所遵循的规则

其中三条是对 dash-b 其余行为方式的反转

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

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

只有真实按下才算数

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

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

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

它不会出现的地方

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

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

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

它需要一张可写入的表。

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