Skip to content

Instantly share code, notes, and snippets.

@mindspank
mindspank / grid.js
Created October 26, 2015 20:45
Grid change
app.getObject( "THE SHEET ID" ).then(function(obj) {
// Patch some properties on the sheet.
// In this case replace the column and row properties with new values
obj.applyPatches([{
qPath: '/columns',
qOp: 'replace',
qValue: '200'
},{
qPath: '/rows',
qOp: 'replace',
@mindspank
mindspank / PickChartInEdit.js
Last active April 15, 2016 20:46
detect edit mode #extensionapi
define(['qvangular', 'qlik', 'jquery'],function(qvangular, qlik, $) {
var SUPPORTED_CHARTS = ['barchart', 'piechart', 'linechart', 'combochart']
return {
initialProperties : {
version: 1.0,
qHyperCubeDef : {
qDimensions : [],
qMeasures : [],
@mindspank
mindspank / AlternateStates.js
Last active September 26, 2015 15:13
Set listbox in alternate state
/**
* Add a new alternate states to a app.
* Change a listbox to use this new alternate state.
*/
var qsocks = require('qsocks')
qsocks.Connect({appname: 'Sales Discovery.qvf'})
.then(function(global) {
return global.openDoc('Sales Discovery.qvf')
@mindspank
mindspank / app2json.js
Last active January 21, 2019 20:27
Sample use of serializeapp and buildapp #serializer #engineapi
var qsocks = require('qsocks')
var serializeApp = require('serializeapp')
var fs = require('fs-extra')
var Promise = require('promise')
function create(docname) {
qsocks.Connect({appname: docname})
.then(function(global) {
return global.openDoc(docname)
})
This file has been truncated, but you can view the full file.
{
"properties": {
"qTitle": "Telecom Customer Retention",
"qLastReloadTime": "2015-09-10T08:37:00.000-0400",
"qMigrationHash": "b292f16feef290afff43a1b5f937f45f03c1b830",
"qSavedInProductVersion": "2.1.0",
"qThumbnail": {},
"description": "The Telecom Customer Retention application is based on data from the wireless phone industry. The application shows how a company within the wireless industry tracks customers for churn and revenue.",
"qFileSize": 10485691,
"dynamicColor": ""
var qsocks = require('qsocks')
var serializeApp = require('serializeapp')
var fs = require('fs-extra')
var Promise = require('promise')
function create(docname) {
qsocks.Connect({appname: docname})
.then(function(global) {
return global.openDoc(docname)
})
var qsocks = require('qsocks')
// Connecting to Qlik Sense Desktop
var connect = qsocks.Connect()
connect
.then(function(global) {
// from the global handle we can invoke methods from the global class
return global.openDoc('Executive Dashboard.qvf')
})
@mindspank
mindspank / hacky.js
Last active November 21, 2017 01:39
Hacky way to page data with multiple cubes in a single extension
define(["jquery", 'qvangular'], function ($, qv) {
return {
initialProperties: {
qHyperCubeDef: {
qDimensions: [],
qMeasures: [],
qInitialDataFetch: [{
qWidth: 2,
qHeight: 1
}]
var qsocks = require('qsocks');
var serializeApp = require('serializeapp');
var fs = require('fs-extra')
var Promise = require('promise');
function create() {
qsocks.Connect()
.then(function(global) {
return global.openDoc('Executive Dashboard.qvf')
})
@mindspank
mindspank / apptojson.js
Created August 16, 2015 07:15
serialize a qs app into json
var qsocks = require('qsocks');
var serializeApp = require('serializeapp');
var fs = require('fs-extra')
var Promise = require('promise');
qsocks.Connect()
.then(function(global) {
return global.openDoc('Executive Dashboard.qvf')
})
.then(function(app) {