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 以后更新
随机推荐
- golang 指针类型学习
对于指针类型不安全编程,通过指针值以及偏移量操作slice私有属性 // 通过指针值获取切片 func TestGetPrivate(t *testing.T) { s := []int{1, 2, ...
- 《Java从入门到失业》第四章:类和对象(4.4):方法参数及传递
4.4方法参数及传递 关于这个知识点,我想了很久该不该在这里阐述.因为这个知识点稍微有点晦涩,并且就算不了解也不影响用Java编写代码.不过笔者刚开始工作的时候,就是因为这块内容没有过多的关注,以至于 ...
- 使用Azure Function玩转Serverless
Serverless&Azure Functions 通过无服务器计算,开发者无需管理基础结构,从而可以更快构建应用程序.通过无服务器应用程序,将由云服务提供商自动预配.缩放和管理运行代码所需 ...
- PyCharm-缩进 格式化代码
格式化代码 Ctrl + Alt + l 缩进代码 Tab 向右缩进4格 Shift + Tab 向左缩进4格
- vant实现下拉多选组件
1.最近需要做一个移动端多选的功能,发现vant上没有多选的下拉组件,于是决定写一个,样式如下 调用部分传入值 propsselect-data-opts 传入list数据, disabled 下拉是 ...
- newifi3-D2 openwrt挂载u盘扩容/overlay
格式化U盘 1.openwrt安装插件 opkg install fdisk swap-utils kmod-usb-storage kmod-fs-ext4 e2fsprogs kmod-usb-o ...
- CentOS7的下载及虚拟机的创建
一.CentOS的安装 1,首先打开开源镜像网站:www.mirrors.163.com(网易开源镜像网站),www.mirrors.aliyun.com(阿里云开源镜像网站) 以网易为例 2.点击进 ...
- Anaconda安装Pytorch(通过本地安装包)
前提:你已经事先安装好了Anaconda 在线安装pytorch总是出现这样那样的问题,所以我选择先去清华镜像下载好与python版本对应的pytorch和torchvision文件,然后本地安装 清 ...
- 064 01 Android 零基础入门 01 Java基础语法 08 Java方法 02 无参带返回值方法
064 01 Android 零基础入门 01 Java基础语法 08 Java方法 02 无参带返回值方法 本文知识点:无参带返回值方法 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进 ...
- Windows 无法验证此设备所需的驱动程序的数字签名”的问题
转载: 1.https://jingyan.baidu.com/article/375c8e19c2b25b25f2a229a3.html 2. https://jingyan.baidu.com/a ...