[英]Tabulator AJAX-like Loader for JSON object data source
我目前在自定义 NetSuite(suitelet)表单中使用 Tabulator 4.8,它运行得非常好。
反应数据功能对我正在做的事情非常有效,它完全替代了 NetSuite 的订单项目页面和随后的采购订单创建。
但是,当用户选择大量商品进行订购时,在客户端脚本中处理数据时会出现延迟。
纯粹为了用户体验,我可以使用“Ajax”之类的加载程序使屏幕变灰,但由于数据源是预加载的 Javascript object,我不相信 Tabulator Ajax 加载程序是 object。
从 suitescript 的角度来看,Suitelet 在加载页面(服务器端)时加载所有必需的数据,然后将其存储为 JSON object 在内联 html 字段中。
然后 PageInit 客户端脚本获取数据并将其存储在客户端变量中,以用于表和执行的后续操作。
从功能上讲,它很棒,没有问题。 我只是希望能够在所有客户端计算都在进行时使用动画 gif 加载器使制表符元素变灰。
你的意思是在显示和选择字段后你 go 来处理你想要一个等待指示器的选择吗?
如果是这样,有多种方法可以实现:
document.querySelector('body').style.cursor = 'wait';
如果您正在等待的 state 是通过在客户端拨打N/https.post
您现在在 SS2 和 SS2.1 中有 async/await 的承诺,因此您可以在留在 Suitescript 时非常轻松地管理处理的开始和结束.
“但是,当用户选择大量商品进行订购时,”
这对我来说听起来像是一个持续的问题,同一个 suitelet 可能会运行一段时间并进行许多修改...... Tabulator 中是否有任何您已经挂钩的事件?
如果没有,我会看看那个。 api 显示了许多基于数据事件、dom 事件和 ajax 事件的不同事件和上下文的回调选项。 http://tabulator.info/docs/3.5#callbacks-cell
例如(注意我在这里使用他们的 jQuery 版本)你可以挂钩到渲染开始显示和 animation。
$("#example-table").tabulator({
renderStarted:function(){
toggleWaitScreen();
},{
renderStarted:function(){
toggleWaitScreen();
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.