Skip to content

Instantly share code, notes, and snippets.

@grgaortiz
Created February 18, 2016 18:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save grgaortiz/be528ab01e34cf29a685 to your computer and use it in GitHub Desktop.
Save grgaortiz/be528ab01e34cf29a685 to your computer and use it in GitHub Desktop.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>API Scenario</title>
<script type="text/javascript"
src="http://discoveryserver.eqc.local:8080/SpotfireWeb/GetJavaScriptApi.ashx?Version=4.0"></script>
<script type="text/javascript">
document.domain = 'datariver.me';
var webPlayer;
var webPlayerRelativePath = "http://discoveryserver.eqc.local:8080/SpotfireWeb/";
var analysisPath = "/0481/cb_0481_01_DWP_Draft2";
window.onload = function () {
document.documentElement.style.overflow = "hidden";
createLayout();
openWebPlayer();
};
var createLayout = function () {
document.body.style.width = "100%";
document.body.style.height = "600px";
document.body.style.margin = "0px";
var width = document.documentElement.clientWidth;
var height = document.documentElement.clientHeight;
var controlDiv = document.createElement("div");
controlDiv.id = "controlDiv";
controlDiv.style.position = "absolute";
controlDiv.style.backgroundColor = "silver";
controlDiv.style.overflow = "auto";
var webPlayerDiv = document.createElement("div");
webPlayerDiv.id = "webPlayerDiv";
webPlayerDiv.style.position = "absolute";
var consoleDiv = document.createElement("div");
consoleDiv.id = "consoleDiv";
consoleDiv.style.position = "absolute";
consoleDiv.style.backgroundColor = "#EEEEEE";
consoleDiv.innerHTML = "";
consoleDiv.style.overflow = "auto";
consoleDiv.style.fontFamily = "Courier New";
consoleDiv.style.fontSize = "11px";
consoleDiv.style.padding = "2px";
var consoleClearButton = document.createElement("button");
consoleClearButton.id = "consoleClearButton";
consoleClearButton.style.position = "absolute";
consoleClearButton.innerHTML = "Clear";
consoleClearButton.value = "Clear";
consoleClearButton.style.width = "50px";
consoleClearButton.onclick = function () {
var consoleDiv = document.getElementById("consoleDiv");
consoleDiv.innerHTML = "";
};
//document.body.appendChild(controlDiv);
document.body.appendChild(webPlayerDiv);
//document.body.appendChild(consoleDiv);
//document.body.appendChild(consoleClearButton);
createControls();
resize();
};
var openWebPlayer = function () {
var webPlayerCustomization = new spotfire.webPlayer.Customization();
webPlayerCustomization.showCustomizableHeader = true;
webPlayerCustomization.showTopHeader = true;
webPlayerCustomization.showClose = true;
webPlayerCustomization.showAnalysisInfo = true;
webPlayerCustomization.showToolBar = true;
webPlayerCustomization.showExportFile = true;
webPlayerCustomization.showExportVisualization = true;
webPlayerCustomization.showUndoRedo = true;
webPlayerCustomization.showDodPanel = true;
webPlayerCustomization.showFilterPanel = true;
webPlayerCustomization.showPageNavigation = true;
webPlayerCustomization.showStatusBar = true;
webPlayer = new spotfire.webPlayer.Application(webPlayerRelativePath, webPlayerCustomization);
var onError = function (errorCode, description) {
log('<span style="color: red;">[' + errorCode + "]: " + description + "</span>");
};
var onOpened = function (analysisDocument) {
resize();
};
webPlayer.onError(onError);
webPlayer.onOpened(onOpened);
webPlayer.open(analysisPath, "webPlayerDiv", "");
};
var CONTROL_WIDTH = 250;
var CONSOLE_HEIGHT = 300;
var resize = function () {
var webPlayerDiv = document.getElementById("webPlayerDiv");
var width = document.documentElement.clientWidth;
var height = document.documentElement.clientHeight;
if (webPlayerDiv != null) {
webPlayerDiv.style.width = width + "px";
webPlayerDiv.style.height = height + "px";
}
};
window.onresize = function () {
resize();
};
var log = function (message) {
var consoleDiv = document.getElementById("consoleDiv");
message = String(message);
message = message.replace(/\t/g, "&nbsp;&nbsp;&nbsp;&nbsp;");
message = message.replace(/^\s+|\s+$/g, "");
consoleDiv.innerHTML =
'<span style="color: green;">[' + new Date() + ']</span>'
+ '<pre style="font-size: 11px; margin-left: 15px;">' + message + '</pre>'
+ "==================================================================================================="
+ "<br /><br />"
+ consoleDiv.innerHTML;
};
var createControls = function () {
var controlDiv = document.getElementById("controlDiv");
var propertyLabel = document.createElement("span");
propertyLabel.innerHTML = "Set/get property:";
var propertyNameInput = document.createElement("input");
propertyNameInput.type = "text";
var propertyValueInput = document.createElement("input");
propertyValueInput.type = "text";
var setPropertyValueButton = document.createElement("button");
setPropertyValueButton.innerHTML = "Set property";
setPropertyValueButton.value = "Set property";
setPropertyValueButton.onclick = function () {
webPlayer.analysisDocument.setDocumentProperty(
propertyNameInput.value,
propertyValueInput.value);
log("[spotfire.webPlayer.Document.setDocumentProperty]");
};
var setPropertyArrayButton = document.createElement("button");
setPropertyArrayButton.innerHTML = "Set property array";
setPropertyArrayButton.value = "Set property array";
setPropertyArrayButton.onclick = function () {
webPlayer.analysisDocument.setDocumentProperty(
"Keywords",
["a", "b", "c"]);
log("[spotfire.webPlayer.Document.setDocumentProperty]");
};
var getPropertyValueButton = document.createElement("button");
getPropertyValueButton.innerHTML = "Get property value";
getPropertyValueButton.value = "Get property value";
getPropertyValueButton.onclick = function () {
webPlayer.analysisDocument.getDocumentProperty(
propertyNameInput.value,
function (args) {
log(dump(args, "spotfire.webPlayer.Document.getDocumentProperty", 2));
});
};
var getAllPropertysButton = document.createElement("button");
getAllPropertysButton.innerHTML = "Get all properties";
getAllPropertysButton.value = "Get all properties";
getAllPropertysButton.onclick = function () {
webPlayer.analysisDocument.getDocumentProperties(
function (args) {
log(dump(args, "spotfire.webPlayer.Document.getDocumentProperties", 2));
});
};
var onDocumentPropertyChangedButton = document.createElement("button");
onDocumentPropertyChangedButton.innerHTML = "Register onDocumentPropertyChanged event";
onDocumentPropertyChangedButton.value = "Register onDocumentPropertyChanged event";
onDocumentPropertyChangedButton.onclick = function () {
webPlayer.analysisDocument.onDocumentPropertyChanged(
"Description",
function (args) {
log(dump(args, "spotfire.webPlayer.Document.onDocumentPropertyChanged", 2));
});
};
var onAnalysisContentStatusChangedButton = document.createElement("button");
onAnalysisContentStatusChangedButton.innerHTML = "Analysis Content Changed";
onAnalysisContentStatusChangedButton.value = "Analysis Content Changed";
onAnalysisContentStatusChangedButton.onclick = function () {
webPlayer.analysisDocument._onAnalysisContentStatusChanged(
function (args) {
log(dump(args, "spotfire.webPlayer.Document._onAnalysisContentStatusChanged", 2));
});
};
var getActivePageButton = document.createElement("button");
getActivePageButton.innerHTML = "Get active page";
getActivePageButton.value = "Get active page";
getActivePageButton.onclick = function () {
webPlayer.analysisDocument.getActivePage(
function (args) {
log(dump(args, "spotfire.webPlayer.Document.getActivePage", 2));
});
};
var getAllPagesButton = document.createElement("button");
getAllPagesButton.innerHTML = "Get all pages";
getAllPagesButton.value = "Get all pages";
getAllPagesButton.onclick = function () {
webPlayer.analysisDocument.getPages(
function (args) {
log(dump(args, "spotfire.webPlayer.Document.getPages", 2));
});
};
var getActiveDataTableButton = document.createElement("button");
getActiveDataTableButton.innerHTML = "Get active data table";
getActiveDataTableButton.value = "Get active data table";
getActiveDataTableButton.onclick = function () {
webPlayer.analysisDocument.data.getActiveDataTable(
function (args) {
log(dump(args, "spotfire.webPlayer.Data.getActiveDataTable", 2));
args.getDataColumns(function (args2) {
log(dump(args2, "spotfire.webPlayer.Data.DataTable.getDataColumns", 2));
});
args.getDataColumn("Physician ID", function (args2) {
log(dump(args2, "spotfire.webPlayer.Data.DataTable.getDataColumns", 2));
args2.onDataColumnPropertyChanged(
"Description",
function (args3) {
log(dump(args3, "spotfire.webPlayer.Data.DataColumn.onDataColumnPropertyChanged", 2));
});
args2.getDataColumnProperties(
function (args3) {
log(dump(args3, "spotfire.webPlayer.Data.DataColumn.getDataColumnProperties", 2));
});
args2.setDataColumnProperty(
"Description",
"new description",
function (args3) {
log(dump(args3, "spotfire.webPlayer.Data.DataColumn.setDataColumnProperty", 2));
});
});
args.onDataTablePropertyChanged(
"Description",
function (args3) {
log(dump(args3, "spotfire.webPlayer.Data.DataTable.onDataTablePropertyChanged", 2));
});
args.setDataTableProperty(
"Keywords",
["kw1", "kw2"]);
args.getDataTableProperty(
"Keywords",
function (args3) {
log(dump(args3, "spotfire.webPlayer.Data.DataTable.getDataTableProperty", 2));
});
args.getDataTableProperties(function (args2) {
log(dump(args2, "spotfire.webPlayer.Data.DataTable.getDataTableProperties", 2));
});
});
};
var onDataTablePropertyChangedButton = document.createElement("button");
onDataTablePropertyChangedButton.innerHTML = "On data table property changed";
onDataTablePropertyChangedButton.value = "On data table property changed";
onDataTablePropertyChangedButton.onclick = function () {
webPlayer.analysisDocument.data.getActiveDataTable(
function (args) {
log(dump(args, "spotfire.webPlayer.Data.getActiveDataTable", 2));
args.onDataTablePropertyChanged(
"Description",
function (args3) {
log(dump(args3, "spotfire.webPlayer.Data.DataTable.onDataTablePropertyChanged", 2));
});
args.setDataTableProperty(
"Description",
"new description");
args.getDataTableProperty(
"Description",
function (args3) {
log(dump(args3, "spotfire.webPlayer.Data.DataTable.getDataTableProperty", 2));
});
});
};
var onDataColumnPropertyChangedButton = document.createElement("button");
onDataColumnPropertyChangedButton.innerHTML = "On data column property changed";
onDataColumnPropertyChangedButton.value = "On data column property changed";
onDataColumnPropertyChangedButton.onclick = function () {
webPlayer.analysisDocument.data.getActiveDataTable(
function (args) {
log(dump(args, "spotfire.webPlayer.Data.getActiveDataTable", 2));
args.getDataColumn(
"Rank",
function (args2) {
args2.onDataColumnPropertyChanged(
"Description",
function (args3) {
log(dump(args3, "spotfire.webPlayer.Data.DataColumn.onDataColumnPropertyChanged", 2));
});
args2.setDataColumnProperty(
"Description",
"new description");
args2.getDataColumnProperty(
"Description",
function (args3) {
log(dump(args3, "spotfire.webPlayer.Data.DataColumn.getDataColumnProperty", 2));
});
});
});
};
var getAllDataTablesButton = document.createElement("button");
getAllDataTablesButton.innerHTML = "Get all data tables";
getAllDataTablesButton.value = "Get all data tables";
getAllDataTablesButton.onclick = function () {
webPlayer.analysisDocument.data.getDataTables(
function (args) {
log(dump(args, "spotfire.webPlayer.Data.getDataTables", 2));
});
};
var getMarkingButton = document.createElement("button");
getMarkingButton.innerHTML = "Get marking";
getMarkingButton.value = "Get marking";
getMarkingButton.onclick = function () {
webPlayer.analysisDocument.marking.getMarking(
"Marking",
"cb_0481_01_DWP",
["Payer Original.Payer Product Group"],
5,
function (args) {
log(dump(args, "spotfire.webPlayer.Marking.getMarking", 2));
});
};
var getBookmarksButton = document.createElement("button");
getBookmarksButton.innerHTML = "Get bookmarks";
getBookmarksButton.value = "Get bookmarks";
getBookmarksButton.onclick = function () {
webPlayer.analysisDocument.getBookmarkNames(
function (args) {
log(dump(args, "spotfire.webPlayer.Document.getBookmarkNames", 2));
});
};
var getActiveFilteringSchemeButton = document.createElement("button");
getActiveFilteringSchemeButton.innerHTML = "Get active filtering scheme";
getActiveFilteringSchemeButton.value = "Get active filtering scheme";
getActiveFilteringSchemeButton.onclick = function () {
webPlayer.analysisDocument.filtering.getActiveFilteringScheme(
function (args) {
log(dump(args, "spotfire.webPlayer.Filtering.getActiveFilteringScheme", 2));
args.getDefaultFilterColumns(
spotfire.webPlayer.includedFilterSettings.ALL_WITH_UNCHECKED_HIERARCHY_NODES,
function (args2) {
log(dump(args2, "spotfire.webPlayer.Document.FilteringScheme.getDefaultFilterColumns", 2));
});
});
};
var getFilteringSchemeButton = document.createElement("button");
getFilteringSchemeButton.innerHTML = "Get filtering scheme";
getFilteringSchemeButton.value = "Get filtering scheme";
getFilteringSchemeButton.onclick = function () {
webPlayer.analysisDocument.filtering.getFilteringScheme(
"Filtering scheme",
function (args) {
log(dump(args, "spotfire.webPlayer.Filtering.getFilteringScheme", 2));
args.getFilterColumn(
"cb_0481_01_DWP",
"Payer Original.Payer Product Group",
spotfire.webPlayer.includedFilterSettings.NONE,
function (args2) {
log(dump(args2, "spotfire.webPlayer.Document.FilteringScheme.getFilterColumn", 2));
});
});
};
var getFilteringSchemesButton = document.createElement("button");
getFilteringSchemesButton.innerHTML = "Get filtering schemes";
getFilteringSchemesButton.value = "Get filtering schemes";
getFilteringSchemesButton.onclick = function () {
webPlayer.analysisDocument.filtering.getFilteringSchemes(
function (args) {
log(dump(args, "spotfire.webPlayer.Filtering.getFilteringSchemes", 2));
args[0].getFilterColumns(
"cb_0481_01_DWP",
spotfire.webPlayer.includedFilterSettings.ALL_WITH_CHECKED_HIERARCHY_NODES,
function (args2) {
log(dump(args2, "spotfire.webPlayer.Filtering.FilteringScheme.getFilterColumns", 2));
});
});
};
var getMarkingNamesButton = document.createElement("button");
getMarkingNamesButton.innerHTML = "Get marking names";
getMarkingNamesButton.value = "Get marking names";
getMarkingNamesButton.onclick = function () {
webPlayer.analysisDocument.marking.getMarkingNames(
function (args) {
log(dump(args, "spotfire.webPlayer.Marking.getMarkingNames", 2));
});
};
var getCurrentLibraryItemButton = document.createElement("button");
getCurrentLibraryItemButton.innerHTML = "Get document metadata";
getCurrentLibraryItemButton.value = "Get document metadata";
getCurrentLibraryItemButton.onclick = function () {
webPlayer.analysisDocument.getDocumentMetadata(
function (args) {
log(dump(args, "spotfire.webPlayer.Document.getDocumentMetadata", 2));
});
};
var getFilterButton = document.createElement("button");
getFilterButton.innerHTML = "Get filter column";
getFilterButton.value = "Get filter column";
getFilterButton.onclick = function () {
webPlayer.analysisDocument.filtering.getFilterColumn(
"Filtering scheme",
"cb_0481_01_DWP",
"Payer Original.Payer Product Group",
spotfire.webPlayer.includedFilterSettings.ALL_WITH_UNCHECKED_HIERARCHY_NODES,
function (args) {
log(dump(args, "spotfire.webPlayer.Filtering.getFilterColumn", 2));
});
};
var setFilterButton = document.createElement("button");
setFilterButton.innerHTML = "Set filter";
setFilterButton.value = "Set filter";
setFilterButton.onclick = function () {
var filterColumn = {
filteringSchemeName: "Filtering scheme",
dataTableName: "cb_0481_01_DWP",
dataColumnName: "Payer Original.Payer Product Group",
filteringOperation: spotfire.webPlayer.filteringOperation.REPLACE,
filterSettings: {
includeEmpty: true,
values: ["[Payer Original].[Payer Product Group].&[Commercial]"]
}
};
var filteringOperation = spotfire.webPlayer.filteringOperation.REPLACE;
webPlayer.analysisDocument.filtering.setFilter(
filterColumn,
filteringOperation);
log("[spotfire.webPlayer.Document.Filtering.setFilter]");
};
var setFiltersButton = document.createElement("button");
setFiltersButton.innerHTML = "Set filters";
setFiltersButton.value = "Set filters";
setFiltersButton.onclick = function () {
var filterColumns = [];
filterColumns[0] = {
filteringSchemeName: "Filtering scheme",
dataTableName: "cb_0481_01_DWP",
dataColumnName: "Payer Original.Payer Product Group",
filterSettings: {
values: ["[Payer Original].[Payer Product Group].&[Medicare]"],
includeEmpty: true
}
};
filterColumns[1] = {
filteringSchemeName: "Filtering scheme",
dataTableName: "cb_0481_01_DWP",
dataColumnName: "Payer Original.Payer Product Group",
filterSettings: {
values: ["[Payer Original].[Payer Product Group].&[Medicaid]"],
includeEmpty: true
}
};
var filteringOperation = spotfire.webPlayer.filteringOperation.REPLACE;
webPlayer.analysisDocument.filtering.setFilters(
filterColumns,
filteringOperation);
log("[spotfire.webPlayer.Document.Filtering.setFilters]");
};
var getModifiedFilterColumnsButton = document.createElement("button");
getModifiedFilterColumnsButton.innerHTML = "Get modified filter columns";
getModifiedFilterColumnsButton.value = "Get modified filter columns";
getModifiedFilterColumnsButton.onclick = function () {
webPlayer.analysisDocument.filtering.getModifiedFilterColumns(
"Filtering scheme",
spotfire.webPlayer.includedFilterSettings.ALL_WITH_CHECKED_HIERARCHY_NODES,
function (args) {
log(dump(args, "spotfire.webPlayer.Filtering.getModifiedFilterColumns", 2));
});
};
var getAllModifiedFilterColumnsButton = document.createElement("button");
getAllModifiedFilterColumnsButton.innerHTML = "Get all modified filter columns";
getAllModifiedFilterColumnsButton.value = "Get all modified filter columns";
getAllModifiedFilterColumnsButton.onclick = function () {
webPlayer.analysisDocument.filtering.getAllModifiedFilterColumns(
spotfire.webPlayer.includedFilterSettings.ALL_WITH_CHECKED_HIERARCHY_NODES,
function (args) {
log(dump(args, "spotfire.webPlayer.Filtering.getAllModifiedFilterColumns", 2));
});
};
};
var MAX_DUMP_DEPTH = 10;
var dump = function (obj, name, indent, depth) {
}
</script>
</head>
<body>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment