是的,Notes也可以实现热门标签功能

本周开始,我们主打讲点Notes/Domino小功能。同时也要预告一下,我们马上就要放暑假,到时会休息一个月,请不要太想我们哦。

首先,介绍一下,过去两周,HCL主要推出了两个补丁程序:

 一个是Domino v11.0.1FP9补丁,即HCL Notes/Domino 11.0.1 Fix Pack 9;但11.0.1版本马上(今年12月份)就要停止市场销售了,明年6月也将将支持产品技术服务支持;所以,估计这也是11.0.1版本最后一个补丁程序。

另一个补丁就是Nomad Web 1.0.12IF1。Nomad Web 1.0.12毕竟是Domino中目前较为重要的产品,我们也介绍了Nomad Web 1.0.12突出新特性,但没想到该版本有两个比较大的Bug,一个是在最新的基于Chromium内核的浏览器中,拖拽不能正常工作;还有一个是在浏览器切换不同用户登陆时,nomad web会卡死。所以这次IF1也是紧急修复。这下,我们可以放心地使用Nomad Web 1.0.12版本了。

但今天的内容才刚刚开始,本篇主要介绍Notes客户机中实现热门标签功能。

比如你记个账,最常录入的选项放到上面,用鼠标点击一个热门项目标签列表(个数也可以控制),即录入到具体项目字段中,如下图所示:

Notes做到这点也不难,方式很多,实际上使用的是JavaScript。

如果你看到了《翻页吧,Notes视图!》,应该彻底有所感悟。

我们今天介绍一下基本思路

首先,你的热门文本可以通过视图来罗列,如下图:

当然,你也可以不做视图,然后把文档部分数据(名称和出现次数)转变为JSON,然后从JSON中提取热门标签。

我们采用第一种方式。

然后在表单的QueryOpen中写上Lotusscript代码将这些值获取出来,并和一个<a>标签(里面点击会执行showKey()函数),组合成html写到一个简要表文档字段里,如下图:

接着,表单上创建一个“可计算的值”对象,内置为HTML,里面写上公式,从简要表中获取html值:

这样就可以显示我们指定个数的热门标签。

不过,这时点击热门标签,还不能写到指定字段里。

我们可以在表单上引入javascript脚本,实际上是一个showKey函数,该函数首先把用户传入的值填入到tmpName,再由一个按钮setName将tmpName的值传到真正的Name字段中:

图片

这样,你就实现了我刚才提及到的功能。

不难,但有很多

比如我们上面多用了一个tmpName字段,不是为了写文章更长一点,而是直接用javascript给对话框字段赋值,赋不进去,所以利用tmpName给真正的对话框字段Name来赋值。

比如你把这个表单嵌入到对话框中,JavaScript就不能执行。

还有还有,如果你做个字段内置为HTML时,在Notes客户机根本就不计算;内置为HTML的“可计算的值”对象在Notes中也只能第一次调用时计算,其他时候不再计算,也就是我们这里实现的效果。可以说是,将将堪用。

其实这些问题在Domino Idea论坛上大家都有提及,并标记为“正在考虑”,从2019年一直考虑到现在……

下图说的是在Notes客户机中,可计算字段无法渲染HTML标签:

图片

下图说的是在Notes客户机中,可计算文本刷新时,无法重新渲染HTML标签:

图片

所以,Notes传统应用上(CS)的部分功能体验,比起Notes Web应用(BS)来说,还是有差距的。

要是CS上真的内置一下,便可以执行JavaScript,那可玩性真的非常强大。

当然,还有一些可以控制的功能,如你可以把默认值都做成一个首选项,如下图:

图片

也请别被我的例子限制住了思路,其实很多应用上都可以用得着。

今天我们就介绍到这里。

最后欢迎搜索公众号“协作者”来关注我。

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值