Qlik Sense插件及QRS接口补充
date: 2019-10-18 09:10:00
updated: 2019-10-18 15:18:00
Qlik Sense插件及QRS接口补充
1.插件
1.1 获取数据方式
理论上 Engine 所有的方法都应该有对应的 Capability API 方法,但是在开发者文档里的 API 有时候并不全,在获取数据的时候,可以去参考一下 Engine API 方法,在调用函数的时候使用 app.model.enigmaModel.api 的方式来获取数据
// 获取当前 app 下所有的字段
// 在返回的 data 中会有字段名称以及其所属于的数据表名
app.model.enigmaModel.getFieldList().then(function(data){
...
}
1.2 组装数据
如果数据是一个数组,那么可以使用 map 方法来返回一个结果体
var fieldMap = fields.map(function(field){
return {
"qDef": {
"qFieldDefs": [
field
]
}
}
});
1.3 同步和异步
在调用 API 方法来访问 Sense 获取数据时,返回的方式都是异步的,所以需要转换成同步操作。
return new qlik.Promise(function(resolve, reject){
// 这里面处理异步函数
// 第一个函数是 resolve 的,第二个函数是 reject 的
app.model.enigmaModel.getFieldList().then(function(data){
// app.model.enigmaModel.getFieldList() 方法是异步的,所以用 then(function(){}) 来保证同步
... // 此处的代码和上面的 `then` 是同步的
app.visualization.create('table',fieldArr).then(function(vis){
...
resolve() // 这个函数一定要写在最后面,但是如果最后是一个异步的函数的话,就需要写在异步函数的最后面
});
}, function(error){
// 这里是失败时所做的操作
reject(error)
});
});
1.4 使用 Leonardo 组件
JavaScript:
define( [
'text!./template.ng.html',
'text!./dialog-template.ng.html'
],
function ( template, dialogTemplate ) {
return {
support: {
export: false,
exportData: false,
snapshot: false
},
template: template,
controller: ['$scope', 'luiDialog', function ( $scope, luiDialog ) {
// 这里需要引用 luiDialog 的页面,相当于单独打开了一个页面
$scope.openDialog = function() {
luiDialog.show({
template: dialogTemplate,
// 这里必须是 input 的形式,相当于主页面给次页面的一个输入值,输入的是主页面的变量
input: {
name: $scope.name
},
controller: ['$scope', function( $scope2 ) {
// 此处是 $scope2 是指 luiDialog 的
$scope2.text = 'Use the dialog to display important messages or use it for actions requiring a lot of space, ' +
'like entering information into a form.'
}]
});
};
}]
};
});
dialog-template.ng.html:
<lui-dialog style="max-width: 450px;">
<lui-dialog-header>
<lui-dialog-title>My dialog</lui-dialog-title>
</lui-dialog-header>
<lui-dialog-body>
Hello, <i>{{input.name || "Missing name"}}</i>!
<div style="margin-top: 10px">
<b>Tip</b>
</div>
<div style="margin-top: 5px">
{{text}}
</div>
</lui-dialog-body>
<lui-dialog-footer>
<button class="lui-button lui-dialog__footer-button" ng-click="close();">Close</button>
</lui-dialog-footer>
</lui-dialog>
Qlik Sense插件及QRS接口补充的更多相关文章
- Qlik Sense学习笔记之Mashup开发(一)
date: 2018-12-21 12:33:29 updated: 2018-12-21 12:33:29 Qlik Sense学习笔记之Mashup开发(一) 1.基于Qlik Sense API ...
- 如何把Qlik Sense嵌入到Web应用中
(此文章同时发表在本人微信公众号"dotNET开发经验谈",欢迎右边二维码来关注.) 题记:这是一个给初学者(尤其对VS不熟悉的BI工程师)的入门操作向导. Qlik Sense是 ...
- Chrome 谷歌浏览器安装使用 Postman 和 Sense 插件
博客地址:http://www.moonxy.com 一.前言 Google Chrome 的特点是简洁.快速等.Chrome 支持多标签浏览,每个标签页面都在独立的"沙箱"内运行 ...
- Qlik Sense学习笔记之插件开发
date: 2019-05-06 13:18:45 updated: 2019-08-09 15:18:45 Qlik Sense学习笔记之插件开发 1.开发前的基础工作 1.1 新建插件 dev-h ...
- Qlik Sense学习笔记之Mashup开发(二)
date: 2019-01-26 11:28:07 updated: 2019-01-26 11:28:07 Qlik Sense学习笔记之Mashup开发(二) 1.Mobile SPA UI Fr ...
- Qlik Sense Desktop
2014年新一代的报表利器 Qlik Sense Desktop 初步体验 2014-09-22 12:45 by BIWORK, 974 阅读, 7 评论, 收藏, 编辑 Qlik Sense De ...
- jQuery实现搜索框插件+豆瓣音乐接口实现豆瓣搜索框
jQuery实现搜索框插件 豆瓣音乐接口实现豆瓣搜索框 豆瓣接口有时不稳定,网络请求会报400,不要惊慌.我主要是练习一下jQuery的JSONP和封装插件. <div class=" ...
- 2014年新一代的报表利器 Qlik Sense Desktop 初步体验
点击进入 QlikView/QlikSense 社区 交流群:432998033 Qlik Sense Desktop 的案例展示 先上几个刚刚边看边学完成的几个报表案例效果 (如果图片显示不正常, ...
- Elasticsearch之sense插件安装之后的浏览详解
前提博客是 Elasticsearch之sense插件的安装(图文详解) 立马,可以看到 http://192.168.80.145:5601/app/sense 以后更新
随机推荐
- linux内存分配与回收
前言 之前在实习时,听了 OOM 的分享之后,就对 Linux 内核内存管理充满兴趣,但是这块知识非常庞大,没有一定积累,不敢写下,担心误人子弟,所以经过一个一段时间的积累,对内核内存有一定了解之后, ...
- hadoop集群测试
master操作: [admin@master ~]$ start-all.sh [admin@master ~]$ jps [admin@master ~]$ hadoop fs -mkdir /i ...
- YOLOv4: Darknet 如何于 Ubuntu 编译,及使用 Python 接口
本文将介绍 YOLOv4 官方 Darknet 实现,如何于 Ubuntu 18.04 编译,及使用 Python 接口. 主要内容有: 准备基础环境: Nvidia Driver, CUDA, cu ...
- Spring Boot 系统启动任务定义
前言 系统任务:在项目启动阶段要做一些数据初始化操作,这些操作有一个共同的特点,只在项目启动时进行,以后都不再执行. 应用场景:例如配置文件加载,数据库初始化等操作 Spring Boot出现之前 解 ...
- application x-www-form-urlencoded与JS的encodeURIComponent()
application/x-www-form-urlencoded 表单的enctype属性表示在发送到服务器之前应该如何对表单数据进行编码,默认值是application/x-www-form-ur ...
- Python-in is == 区别
in 判断单个元素是否在序列中, 对字典来说只能判断key,在不在关系 print("ab" in "abcdefg") print("abc&quo ...
- 微服务通信之feign的注册、发现过程
前言 feign 是目前微服务间通信的主流方式,是springCloud中一个非常重要的组件.他涉及到了负载均衡.限流等组件.真正意义上掌握了feign可以说就掌握了微服务. 一.feign的使用 f ...
- Python-joypy和 R-ggridges 峰峦图制作
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于DataCharm,作者 宁海涛 转载地址 https://www ...
- C++重载>>和<<(输入和输出运算符)详解
转载:http://c.biancheng.net/view/2311.html 在C++中,标准库本身已经对左移运算符<<和右移运算符>>分别进行了重载,使其能够用于不同数据 ...
- IDEA2020.2的破解
第一种方式:http://code.39sd.cn/ 直接获取二维码: 第二种:下载破解工具(本方法只是提供个人学习使用) 1.下载2020.2的idea 链接:https://pan.baidu.c ...