parent
59860b960a
commit
f66fe4f598
@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
-->
|
||||
|
||||
<artifact name= "android_non_compliant_features_gadget" version="1.0.0" type="dashboards/gadget" serverRole="DataAnalyticsServer">
|
||||
<file>non-compliant-features</file>
|
||||
</artifact>
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,156 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
.form-horizontal {
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
body.dark svg.marks .mark-group .background {
|
||||
/*noinspection CssUnknownProperty*/
|
||||
fill: #121822 !important;
|
||||
}
|
||||
|
||||
body.dark svg.marks .mark-group .mark-text text {
|
||||
/*noinspection CssUnknownProperty*/
|
||||
fill: #7D8596 !important;
|
||||
}
|
||||
|
||||
body.dark svg.marks .mark-group .mark-rule line {
|
||||
/*noinspection CssUnknownProperty*/
|
||||
stroke: #E3E5E6 !important;
|
||||
}
|
||||
|
||||
svg.marks .mark-group .mark-rect rect:hover {
|
||||
cursor: pointer;
|
||||
opacity: 0.8 !important;
|
||||
}
|
||||
|
||||
body.dark select {
|
||||
color: #fff;
|
||||
background: transparent;
|
||||
border-color: #353C48;
|
||||
}
|
||||
|
||||
select {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
select option {
|
||||
color: #31383e;
|
||||
}
|
||||
|
||||
.pagination {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.pagination > ul {
|
||||
display: inline-block;
|
||||
padding-left: 0;
|
||||
margin: 0;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.pagination > ul > li {
|
||||
display: inline;
|
||||
}
|
||||
.pagination > ul > li > a,
|
||||
.pagination > ul > li > span {
|
||||
position: relative;
|
||||
float: left;
|
||||
padding: 6px 12px;
|
||||
margin-left: -1px;
|
||||
line-height: 1.42857143;
|
||||
color: #353C48;
|
||||
text-decoration: none;
|
||||
background-color: #fff;
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
body.dark .pagination > ul > li > a,
|
||||
body.dark .pagination > ul > li > span {
|
||||
color: #fff;
|
||||
background-color: transparent;
|
||||
border-color: #353C48;
|
||||
}
|
||||
.pagination > ul > li:first-child > a,
|
||||
.pagination > ul > li:first-child > span {
|
||||
margin-left: 0;
|
||||
}
|
||||
.pagination > ul > li > a:hover,
|
||||
.pagination > ul > li > span:hover,
|
||||
.pagination > ul > li > a:focus,
|
||||
.pagination > ul > li > span:focus {
|
||||
color: #353C48;
|
||||
background-color: #E3E5E6;
|
||||
border-color: #E3E5E6;
|
||||
}
|
||||
body.dark .pagination > ul > li > a:hover,
|
||||
body.dark .pagination > ul > li > span:hover,
|
||||
body.dark .pagination > ul > li > a:focus,
|
||||
body.dark .pagination > ul > li > span:focus {
|
||||
color: #353C48;
|
||||
background-color: #E3E5E6;
|
||||
border-color: #E3E5E6;
|
||||
}
|
||||
.pagination > ul > .active > a,
|
||||
.pagination > ul > .active > span,
|
||||
.pagination > ul > .active > a:hover,
|
||||
.pagination > ul > .active > span:hover,
|
||||
.pagination > ul > .active > a:focus,
|
||||
.pagination > ul > .active > span:focus,
|
||||
body.dark .pagination > ul > .active > a,
|
||||
body.dark .pagination > ul > .active > span,
|
||||
body.dark .pagination > ul > .active > a:hover,
|
||||
body.dark .pagination > ul > .active > span:hover,
|
||||
body.dark .pagination > ul > .active > a:focus,
|
||||
body.dark .pagination > ul > .active > span:focus {
|
||||
z-index: 2;
|
||||
color: #fff;
|
||||
cursor: default;
|
||||
background-color: #353C48;
|
||||
border-color: #353C48;
|
||||
}
|
||||
.pagination > ul > .disabled > span,
|
||||
.pagination > ul > .disabled > span:hover,
|
||||
.pagination > ul > .disabled > span:focus,
|
||||
.pagination > ul > .disabled > a,
|
||||
.pagination > ul > .disabled > a:hover,
|
||||
.pagination > ul > .disabled > a:focus {
|
||||
color: #777;
|
||||
cursor: not-allowed;
|
||||
background-color: #fff;
|
||||
border-color: #ddd;
|
||||
}
|
||||
|
||||
.form-inline .form-control {
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.label {
|
||||
border-radius: 4px;
|
||||
font-size: 35px;
|
||||
font-weight: 300;
|
||||
padding: 3px 15px 3px 15px;
|
||||
margin-bottom: 2px;
|
||||
display: inline-block;
|
||||
vertical-align: text-bottom;
|
||||
}
|
||||
|
||||
.label-zero {
|
||||
background: #3c763d;
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
{
|
||||
"id": "non-compliant-features",
|
||||
"title": "Non-compliant Features",
|
||||
"type": "gadget",
|
||||
"thumbnail": "gadget/non-compliant-features/img/thumbnail.png",
|
||||
"data": {
|
||||
"url": "gadget/non-compliant-features/index.xml"
|
||||
},
|
||||
"notify": {
|
||||
"publisher": {
|
||||
"type": "filter",
|
||||
"description": "This notifies selected filter"
|
||||
}
|
||||
},
|
||||
"listen": {
|
||||
"subscriber": {
|
||||
"type": "filter",
|
||||
"description": "Used to listen to any filters"
|
||||
}
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 13 KiB |
@ -1,102 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!--
|
||||
~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
-->
|
||||
|
||||
<Module>
|
||||
<ModulePrefs title="Connectivity Status"
|
||||
author="WSO2 Gadget Server"
|
||||
scrolling="false"
|
||||
tags="stack,chart,data,visualization"
|
||||
description="EMM Device Connectivity Status">
|
||||
<Require feature="pubsub-2"/>
|
||||
<Require feature="dynamic-height" />
|
||||
<Require feature="dynamic-width" />
|
||||
<Require feature="wso2-gadgets-remoteClient" />
|
||||
</ModulePrefs>
|
||||
<Content type="html">
|
||||
<![CDATA[
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Connectivity Status</title>
|
||||
|
||||
<!-- Theme -->
|
||||
<link rel="stylesheet" type="text/css" href="/portal/libs/bootstrap_3.3.5/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/portal/libs/font-wso2_1.0.0/css/font-wso2.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/portal/libs/theme-wso2_1.0/css/theme-wso2.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../commons/css/gadget.css" />
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="../commons/js/jquery-1.10.2.js"></script>
|
||||
<script src="../commons/js/moment.min.js"></script>
|
||||
<script src="../commons/js/gadget-utils.js"></script>
|
||||
|
||||
|
||||
<!-- Include VizGrammar -->
|
||||
<script src="../commons/js/d3.min.js"></script>
|
||||
<script src="../commons/js/vega.js"></script>
|
||||
<script src="../commons/js/VizGrammar_2.js"></script>
|
||||
<script src="/portal/extensions/themes/analytics/js/colorbrewer.js"></script>
|
||||
<script src="/portal/extensions/themes/analytics/js/VizGrammarSettings.js"></script>
|
||||
|
||||
<!-- JS -->
|
||||
<script src="js/bootstrap-paginator.min.js"></script>
|
||||
<script src="js/topojson.js"></script>
|
||||
<script src="js/gadgetconf.js"></script>
|
||||
<script src="js/analyticsUtils.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
|
||||
<!-- CSS -->
|
||||
<link rel="stylesheet" href="css/style.css" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<h4 class="add-padding-left-5x add-padding-top-3x add-padding-right-5x">
|
||||
<div id="header-msg">
|
||||
<span id="header-msg-count" class="label label-success label-zero">0</span>
|
||||
<span id="header-msg-text">non-compliant features found.<span>
|
||||
</div>
|
||||
<hr>
|
||||
</h4>
|
||||
<span id="body-msg-for-compliance" class="add-padding-left-5x add-padding-right-5x hidden">
|
||||
All devices (if any) are currently intact.
|
||||
<span>
|
||||
<div id="chart" class="hidden"></div>
|
||||
<div id="pagination-view" class="add-padding-left-5x hidden">
|
||||
<div class="form-inline">
|
||||
<div class="form-group clearfix">
|
||||
<div class="pull-left">
|
||||
<label for="input-name" class="control-label">Show </label>
|
||||
<select id="paginationNumber" class="form-control" onChange="bc.changePaginationNumber(this.value);">
|
||||
<option value=5>5</option>
|
||||
<option value=10>10</option>
|
||||
<option value=15>15</option>
|
||||
<option value=20>20</option>
|
||||
</select>
|
||||
features
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
<div id="idPaginate"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
]]>
|
||||
</Content>
|
||||
</Module>
|
File diff suppressed because one or more lines are too long
@ -1,3 +0,0 @@
|
||||
var vizgSettings = {
|
||||
colorScale: ["#343B59","#5a638c","#396B94","#438CAD","#BBBCCD","#597CC3"]
|
||||
}
|
@ -1,106 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
function addURLParam(key, value) {
|
||||
updateURLParam(key, value)
|
||||
}
|
||||
|
||||
function updateURLParam(key, value) {
|
||||
if (typeof (history.pushState) === "undefined") {
|
||||
console.warn("Browser doesn't support updating the url.");
|
||||
return;
|
||||
}
|
||||
|
||||
var searchPath = window.parent.location.search,
|
||||
replace = new RegExp("(&|\\?)" + key + "=(.*?)(&|$)", "g"),
|
||||
urlParams = getURLParams(),
|
||||
values = [],
|
||||
unfiltered = "?filtered=false";
|
||||
|
||||
if (Object.prototype.toString.call( value ) === '[object Array]') {
|
||||
values = value;
|
||||
} else if (Object.prototype.toString.call( value ) === "[object String]"){
|
||||
values.push(value);
|
||||
} else {
|
||||
console.error("value should be either an array of strings or a string");
|
||||
return;
|
||||
}
|
||||
|
||||
if (searchPath.replace(unfiltered, "")) {
|
||||
if (key in urlParams) {
|
||||
if (values.length > 0) {
|
||||
searchPath = searchPath.replace(replace, "$1" + key + "=" + values.toString() + "$3");
|
||||
} else {
|
||||
if (searchPath.replace(replace, "")) {
|
||||
searchPath = searchPath.replace(replace, "$1").replace(/&$/, '');
|
||||
} else {
|
||||
searchPath = unfiltered;
|
||||
}
|
||||
}
|
||||
} else if (values.length > 0) {
|
||||
searchPath += "&" + key + "=" + values.toString();
|
||||
}
|
||||
} else if (values.length > 0) {
|
||||
searchPath = searchPath.replace(unfiltered, "");
|
||||
searchPath += "?" + key + "=" + values.toString();
|
||||
}
|
||||
window.parent.history.pushState({}, "", searchPath);
|
||||
}
|
||||
|
||||
function removeURLParam(key) {
|
||||
updateURLParam(key, []);
|
||||
}
|
||||
|
||||
function getURLParam(key) {
|
||||
var params = getURLParams();
|
||||
if (key in params) {
|
||||
return params[key];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
function getURLParams() {
|
||||
var match,
|
||||
pl = /\+/g,
|
||||
search = /([^&=]+)=?([^&]*)/g,
|
||||
decode = function (s) {
|
||||
return decodeURIComponent(s.replace(pl, " "));
|
||||
},
|
||||
query = window.parent.location.search.substring(1),
|
||||
urlParams = {};
|
||||
while (match = search.exec(query))
|
||||
urlParams[decode(match[1])] = decode(match[2]).split(',');
|
||||
delete urlParams["filtered"];
|
||||
return urlParams;
|
||||
}
|
||||
|
||||
|
||||
function getBaseURL() {
|
||||
var url = window.parent.location.toString();
|
||||
url = url.split('?')[0];
|
||||
var urlComponents = url.split("/");
|
||||
if(urlComponents[urlComponents.length-1] == "landing"){
|
||||
url = url.substring(0,url.lastIndexOf("/")+1);
|
||||
} else {
|
||||
if(url.lastIndexOf("/") != url.length - 1){
|
||||
url = url + "/";
|
||||
}
|
||||
}
|
||||
return url;
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,25 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
var gadgetConfig = {
|
||||
"id": "non-compliant-features",
|
||||
"polling_interval": 30000,
|
||||
"pub_sub_channel": "filter",
|
||||
"source": "https://localhost:9443/api/device-mgt/v1.0/dashboard/non-compliant-device-counts-by-features",
|
||||
"domain": "carbon.super"
|
||||
};
|
File diff suppressed because it is too large
Load Diff
@ -1,225 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
var ncp = ncp || {};
|
||||
ncp.chart = null;
|
||||
ncp.polling_task = null;
|
||||
ncp.data = [];
|
||||
ncp.filter_context = null;
|
||||
ncp.filters_meta = {};
|
||||
ncp.filters = [];
|
||||
ncp.filter_prefix = "g_";
|
||||
ncp.selected_filter_groups = [];
|
||||
ncp.force_fetch = false;
|
||||
ncp.freeze = false;
|
||||
ncp.div = "#chart";
|
||||
ncp.fromIndex = 0;
|
||||
ncp.count = 5;
|
||||
ncp.prevTotalPages = -1;
|
||||
ncp.globalPage = 1;
|
||||
ncp.filterContextFromURL = "";
|
||||
|
||||
ncp.meta = {
|
||||
"names": ["id", "name", "Device count"],
|
||||
"types": ["ordinal", "ordinal", "linear"]
|
||||
};
|
||||
|
||||
var body = "body";
|
||||
|
||||
ncp.config = {
|
||||
type: "bar",
|
||||
x: "id",
|
||||
charts: [
|
||||
{
|
||||
type: "bar",
|
||||
y: "Device count",
|
||||
color: "name",
|
||||
xTitle: "",
|
||||
yTitle: "",
|
||||
mode: "group",
|
||||
colorScale: ["#D9534F"],
|
||||
orientation: "left",
|
||||
legend: false
|
||||
}
|
||||
],
|
||||
//textColor:"#ffffff",
|
||||
//text:"count",
|
||||
//textAlign:"right",
|
||||
//yAxisStrokeSize:0,
|
||||
//yAxisFontSize:0,
|
||||
grid: false,
|
||||
width: $(body).width(),
|
||||
height: $(body).height() - 165,
|
||||
padding: {"top": 15, "left": 175, "bottom": 30, "right": 25}
|
||||
};
|
||||
|
||||
ncp.initialize = function () {
|
||||
//noinspection JSPotentiallyInvalidConstructorUsage
|
||||
ncp.chart = new vizg(
|
||||
[
|
||||
{
|
||||
"metadata": ncp.meta,
|
||||
"data": ncp.data
|
||||
}
|
||||
],
|
||||
ncp.config
|
||||
);
|
||||
ncp.chart.draw("#chart", [
|
||||
{
|
||||
type: "click",
|
||||
callback: ncp.onclick
|
||||
}
|
||||
]);
|
||||
ncp.startPolling();
|
||||
};
|
||||
|
||||
ncp.changePaginationNumber = function (count) {
|
||||
ncp.count = parseInt(count);
|
||||
ncp.data = [];
|
||||
ncp.initialize();
|
||||
};
|
||||
|
||||
ncp.startPolling = function () {
|
||||
setTimeout(function () {
|
||||
ncp.update();
|
||||
ncp.freeze = ncp.selected_filter_groups.length > 0;
|
||||
}, 500);
|
||||
//noinspection JSUnusedGlobalSymbols
|
||||
this.polling_task = setInterval(function () {
|
||||
ncp.update();
|
||||
}, gadgetConfig.polling_interval);
|
||||
};
|
||||
|
||||
ncp.update = function () {
|
||||
ncp.fetch(function (data) {
|
||||
ncp.chart.insert(data);
|
||||
});
|
||||
};
|
||||
|
||||
ncp.fetch = function (cb) {
|
||||
ncp.data.length = 0;
|
||||
ncp.force_fetch = false;
|
||||
//noinspection JSUnresolvedVariable
|
||||
wso2.gadgets.XMLHttpRequest.get(gadgetConfig.source + "?start=" + ncp.fromIndex + "&length=" + ncp.count,
|
||||
function (response) {
|
||||
// console.log(JSON.stringify(response));
|
||||
if (Object.prototype.toString.call(response) === '[object Array]' && response.length === 1) {
|
||||
ncp.filter_context = response[0]["groupingAttribute"];
|
||||
var nonCompliantFeatureCount = response[0]["totalRecordCount"];
|
||||
var data = response[0]["data"];
|
||||
var headerMsgCount = "#header-msg-count";
|
||||
var headerMsgText = "#header-msg-text";
|
||||
var bodyMsgForCompliance = "#body-msg-for-compliance";
|
||||
var chartDiv = "#chart";
|
||||
var paginationView = "#pagination-view";
|
||||
if (nonCompliantFeatureCount == 0) {
|
||||
$(headerMsgCount).removeClass("label-danger");
|
||||
$(headerMsgCount).addClass("label-success");
|
||||
$(headerMsgCount).addClass("label-zero");
|
||||
$(headerMsgCount).html(nonCompliantFeatureCount.toString());
|
||||
$(headerMsgText).html("non-compliant features found.");
|
||||
$(bodyMsgForCompliance).removeClass("hidden");
|
||||
$(chartDiv).addClass("hidden");
|
||||
$(paginationView).addClass("hidden");
|
||||
} else if (data && data.length > 0) {
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
ncp.data.push(
|
||||
[data[i]["group"], data[i]["displayNameForGroup"], data[i]["deviceCount"]]
|
||||
);
|
||||
}
|
||||
if (ncp.force_fetch) {
|
||||
ncp.update();
|
||||
} else {
|
||||
cb(ncp.data);
|
||||
}
|
||||
$(headerMsgCount).removeClass("label-zero");
|
||||
$(headerMsgCount).removeClass("label-success");
|
||||
$(headerMsgCount).addClass("label-danger");
|
||||
$(headerMsgCount).html(nonCompliantFeatureCount.toString());
|
||||
if (nonCompliantFeatureCount == 1) {
|
||||
$(headerMsgText).html("non-compliant feature found.");
|
||||
} else {
|
||||
$(headerMsgText).html("non-compliant features found.");
|
||||
}
|
||||
$(bodyMsgForCompliance).addClass("hidden");
|
||||
ncp.onData(response);
|
||||
$(chartDiv).removeClass("hidden");
|
||||
$(paginationView).removeClass("hidden");
|
||||
}
|
||||
} else {
|
||||
console.error("Invalid response structure found: " + JSON.stringify(response));
|
||||
}
|
||||
}, function () {
|
||||
console.warn("Error accessing source for : " + gadgetConfig.id);
|
||||
});
|
||||
};
|
||||
|
||||
ncp.onclick = function (event, item) {
|
||||
if (!ncp.filterContextFromURL) {
|
||||
var filteringGroup = item.datum[ncp.config.x];
|
||||
var url = getBaseURL() + "devices?g_" + ncp.filter_context + "=" + filteringGroup;
|
||||
window.open(url);
|
||||
}
|
||||
};
|
||||
|
||||
$(document).ready(function () {
|
||||
ncp.initialize();
|
||||
});
|
||||
|
||||
ncp.onPaginationClicked = function (e, originalEvent, type, page) {
|
||||
ncp.globalPage = page;
|
||||
ncp.fromIndex = (page - 1) * ncp.count;
|
||||
ncp.globalPage = ncp.fromIndex;
|
||||
ncp.data = [];
|
||||
//noinspection JSPotentiallyInvalidConstructorUsage
|
||||
ncp.chart = new vizg(
|
||||
[
|
||||
{
|
||||
"metadata": ncp.meta,
|
||||
"data": ncp.data
|
||||
}
|
||||
],
|
||||
ncp.config
|
||||
);
|
||||
ncp.chart.draw("#chart", [
|
||||
{
|
||||
type: "click",
|
||||
callback: ncp.onclick
|
||||
}
|
||||
]);
|
||||
|
||||
ncp.update();
|
||||
};
|
||||
|
||||
ncp.onData = function (response) {
|
||||
try {
|
||||
var allDataCount = response[0]["totalRecordCount"];
|
||||
var totalPages = parseInt(allDataCount / ncp.count);
|
||||
if (allDataCount % ncp.count != 0) {
|
||||
totalPages += 1;
|
||||
}
|
||||
var options = {
|
||||
currentPage: ncp.globalPage,
|
||||
totalPages: totalPages,
|
||||
onPageClicked: ncp.onPaginationClicked
|
||||
};
|
||||
$('#idPaginate').bootstrapPaginator(options);
|
||||
} catch (e) {
|
||||
$('#canvas').html(gadgetUtil.getErrorText(e));
|
||||
}
|
||||
};
|
File diff suppressed because one or more lines are too long
@ -1,15 +0,0 @@
|
||||
{
|
||||
"provider-conf": {
|
||||
"tableName": "ORG_WSO2_IOT_ANDROID_PRESSURE_STATS",
|
||||
"query": "",
|
||||
"limit": "",
|
||||
"provider-name": "batch"
|
||||
},
|
||||
"chart-conf": {
|
||||
"x": "pressure",
|
||||
"title": "PRESSURE",
|
||||
"maxLength": "30",
|
||||
"gadget-name": "PRESSURE",
|
||||
"chart-name": "number-chart"
|
||||
}
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
#canvas {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.titlecanvasContent {
|
||||
color:steelblue;
|
||||
font-size:18px;
|
||||
font-weight: normal;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.valcanvasContent {
|
||||
color:#438CAD;
|
||||
font-size:50px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
|
||||
.diffcanvasContent {
|
||||
color:#438CAD;
|
||||
font-size:14px;
|
||||
}
|
||||
|
||||
.diffPercentagecanvasContent {
|
||||
color:#ff944d;
|
||||
font-size:14px;
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
<%
|
||||
/**
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
(function () {
|
||||
|
||||
response.contentType = 'application/json';
|
||||
var PROVIDER_CONF = 'provider-conf';
|
||||
var PROVIDER_NAME = 'provider-name';
|
||||
|
||||
var action = request.getParameter("action");
|
||||
var data = request.getContent();
|
||||
var providerConf = data[PROVIDER_CONF];
|
||||
var providerAPI = require('js/core/' + providerConf[PROVIDER_NAME] + '-provider-api.js');
|
||||
|
||||
if (action === 'getSchema') {
|
||||
print(providerAPI.getSchema(providerConf));
|
||||
return;
|
||||
} else if(action === 'getData'){
|
||||
print(providerAPI.getData(providerConf));
|
||||
return;
|
||||
}
|
||||
|
||||
}());
|
||||
|
||||
|
||||
%>
|
@ -1,9 +0,0 @@
|
||||
{
|
||||
"id": "PRESSURE",
|
||||
"title": "PRESSURE",
|
||||
"type": "gadget",
|
||||
"thumbnail": "gadget/PRESSURE/thumbnail.png",
|
||||
"data": {
|
||||
"url": "gadget/PRESSURE/gadget.xml"
|
||||
}
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<Module>
|
||||
<ModulePrefs title="PRESSURE" description="This is a template gadget">
|
||||
<Require feature="dynamic-height"/>
|
||||
<Require feature="wso2-gadgets-identity"/>
|
||||
</ModulePrefs>
|
||||
|
||||
<UserPref name="refreshInterval"
|
||||
display_name="Refresh Interval"
|
||||
default_value="1000000"/>
|
||||
|
||||
<Content type="html">
|
||||
<![CDATA[
|
||||
<head>
|
||||
<!-- shared css -->
|
||||
|
||||
<link href="/portal/libs/analytics-wso2-2.0.0/common.css" rel="stylesheet" type="text/css" >
|
||||
|
||||
<!-- chart vendor css -->
|
||||
|
||||
<!-- chart specific css -->
|
||||
|
||||
<link href="css/number-chart.css" rel="stylesheet" type="text/css">
|
||||
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="/portal/libs/jquery_1.11.0/jquery-1.11.3.min.js"></script>
|
||||
<!-- provider libs -->
|
||||
|
||||
<!-- shared libs -->
|
||||
|
||||
<script src="/portal/libs/analytics-wso2-2.0.0/d3.min.js"></script>
|
||||
|
||||
<script src="/portal/libs/analytics-wso2-2.0.0/vega.js"></script>
|
||||
|
||||
<script src="/portal/libs/analytics-wso2-2.0.0/VizGrammar.min.js"></script>
|
||||
|
||||
<script src="/portal/libs/analytics-wso2-2.0.0/wso2gadgets.js"></script>
|
||||
|
||||
<script src="/portal/libs/analytics-wso2-2.0.0/chart-utils.js"></script>
|
||||
|
||||
<!-- chart specific vendor libs -->
|
||||
|
||||
<!-- chart specific js -->
|
||||
|
||||
<!--scripts copied by framework -->
|
||||
|
||||
<script src="js/core/gadget-util.js"></script>
|
||||
<script src="js/core/number-chart-api.js"></script>
|
||||
<script src="js/core/gadget-core.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="canvas"></div>
|
||||
</body>
|
||||
]]>
|
||||
</Content>
|
||||
</Module>
|
@ -1,191 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
var getConfig, validate, getMode, getSchema, getData, registerCallBackforPush;
|
||||
|
||||
(function() {
|
||||
|
||||
var PROVIDERS_LOCATION = '/extensions/providers/';
|
||||
|
||||
var PROVIDER_NAME = 'batch';
|
||||
var TYPE = "type";
|
||||
var TABLE_NAME = "tableName";
|
||||
var HTTPS_TRANSPORT = "https";
|
||||
var CONTENT_TYPE_JSON = "application/json";
|
||||
var AUTHORIZATION_HEADER = "Authorization";
|
||||
var USER_TOKEN = "user";
|
||||
var TENANT_DOMAIN = "domain";
|
||||
var CONST_AT = "@";
|
||||
var USERNAME = "username";
|
||||
var HTTP_USER_NOT_AUTHENTICATED = 403;
|
||||
var JS_MAX_VALUE = "9007199254740992";
|
||||
var JS_MIN_VALUE = "-9007199254740992";
|
||||
|
||||
var typeMap = {
|
||||
"bool" : "string",
|
||||
"boolean" : "string",
|
||||
"string" : "string",
|
||||
"int" : "number",
|
||||
"integer" : "number",
|
||||
"long" : "number",
|
||||
"double" : "number",
|
||||
"float" : "number",
|
||||
"time": "time"
|
||||
};
|
||||
|
||||
var log = new Log();
|
||||
var carbon = require('carbon');
|
||||
var configs = require('/configs/designer.json');
|
||||
var utils = require('/modules/utils.js');
|
||||
var JSUtils = Packages.org.wso2.carbon.analytics.jsservice.Utils;
|
||||
var AnalyticsCachedJSServiceConnector = Packages.org.wso2.carbon.analytics.jsservice.AnalyticsCachedJSServiceConnector;
|
||||
var AnalyticsCache = Packages.org.wso2.carbon.analytics.jsservice.AnalyticsCachedJSServiceConnector.AnalyticsCache;
|
||||
var cacheTimeoutSeconds = 5;
|
||||
var loggedInUser = null;
|
||||
|
||||
if (configs.cacheTimeoutSeconds) {
|
||||
cacheTimeoutSeconds = parseInt(configs.cacheTimeoutSeconds);
|
||||
}
|
||||
var cacheSizeBytes = 1024 * 1024 * 1024; // 1GB
|
||||
if (configs.cacheSizeBytes) {
|
||||
cacheSizeBytes = parseInt(configs.cacheSizeBytes);
|
||||
}
|
||||
response.contentType = CONTENT_TYPE_JSON;
|
||||
|
||||
var authParam = request.getHeader(AUTHORIZATION_HEADER);
|
||||
if (authParam != null) {
|
||||
credentials = JSUtils.authenticate(authParam);
|
||||
loggedInUser = credentials[0];
|
||||
} else {
|
||||
var token = session.get(USER_TOKEN);
|
||||
if (token != null) {
|
||||
loggedInUser = token[USERNAME] + CONST_AT + token[TENANT_DOMAIN];
|
||||
} else {
|
||||
log.error("user is not authenticated!");
|
||||
response.status = HTTP_USER_NOT_AUTHENTICATED;
|
||||
print('{ "status": "Failed", "message": "User is not authenticated." }');
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var cache = application.get("AnalyticsWebServiceCache");
|
||||
if (cache == null) {
|
||||
cache = new AnalyticsCache(cacheTimeoutSeconds, cacheSizeBytes);
|
||||
application.put("AnalyticsWebServiceCache", cache);
|
||||
}
|
||||
var connector = new AnalyticsCachedJSServiceConnector(cache);
|
||||
|
||||
/**
|
||||
* require the existing config.json and push any dynamic fields that needs to be populated in the UI
|
||||
*/
|
||||
getConfig = function() {
|
||||
var formConfig = require(PROVIDERS_LOCATION + '/' + PROVIDER_NAME + '/config.json');
|
||||
var tables;
|
||||
try {
|
||||
tables = JSON.parse(connector.getTableList(loggedInUser).getMessage());
|
||||
} catch (e) {
|
||||
log.error(e);
|
||||
}
|
||||
var configs = formConfig.config;
|
||||
configs.forEach(function(config) {
|
||||
if (config.fieldName === TABLE_NAME) {
|
||||
config.valueSet = tables;
|
||||
}
|
||||
});
|
||||
return formConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* validate the user input of provider configuration
|
||||
* @param providerConfig
|
||||
*/
|
||||
validate = function(providerConfig) {
|
||||
/*
|
||||
validate the form and return
|
||||
|
||||
*/
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the data mode either push or pull
|
||||
*/
|
||||
getMode = function() {
|
||||
return "PULL";
|
||||
}
|
||||
|
||||
/**
|
||||
* returns an array of column names & types
|
||||
* @param providerConfig
|
||||
*/
|
||||
getSchema = function(providerConfig) {
|
||||
var schema = [];
|
||||
var tableName = providerConfig["tableName"];
|
||||
var result = connector.getTableSchema(loggedInUser, tableName).getMessage();
|
||||
result = JSON.parse(result);
|
||||
log.info(result);
|
||||
|
||||
var columns = result.columns;
|
||||
Object.getOwnPropertyNames(columns).forEach(function(name, idx, array) {
|
||||
var type = "ordinal";
|
||||
if(columns[name]['type']) {
|
||||
type = columns[name]['type'];
|
||||
}
|
||||
schema.push({
|
||||
fieldName: name,
|
||||
fieldType: typeMap[type.toLowerCase()]
|
||||
});
|
||||
});
|
||||
// log.info(schema);
|
||||
return schema;
|
||||
};
|
||||
|
||||
/**
|
||||
* returns the actual data
|
||||
* @param providerConfig
|
||||
* @param limit
|
||||
*/
|
||||
getData = function(providerConfig, limit) {
|
||||
var tableName = providerConfig.tableName;
|
||||
var query = providerConfig.query;
|
||||
var limit = 100;
|
||||
if (providerConfig.limit) {
|
||||
limit = providerConfig.limit;
|
||||
}
|
||||
var result;
|
||||
//if there's a filter present, we should perform a Lucene search instead of reading the table
|
||||
if (query) {
|
||||
var filter = {
|
||||
"query": query,
|
||||
"start": 0,
|
||||
"count": limit
|
||||
};
|
||||
result = connector.search(loggedInUser, tableName, stringify(filter)).getMessage();
|
||||
} else {
|
||||
var from = JS_MIN_VALUE;
|
||||
var to = JS_MAX_VALUE;
|
||||
result = connector.getRecordsByRange(loggedInUser, tableName, from, to, 0, limit, null).getMessage();
|
||||
|
||||
}
|
||||
result = JSON.parse(result);
|
||||
var data = [];
|
||||
for (var i = 0; i < result.length; i++) {
|
||||
var values = result[i].values;
|
||||
data.push(values);
|
||||
}
|
||||
return data;
|
||||
};
|
||||
|
||||
}());
|
@ -1,85 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
$(function () {
|
||||
var gadgetLocation;
|
||||
var conf;
|
||||
var schema;
|
||||
var pref = new gadgets.Prefs();
|
||||
|
||||
var refreshInterval;
|
||||
var providerData;
|
||||
|
||||
var CHART_CONF = 'chart-conf';
|
||||
var PROVIDER_CONF = 'provider-conf';
|
||||
|
||||
var REFRESH_INTERVAL = 'refreshInterval';
|
||||
|
||||
var init = function () {
|
||||
$.ajax({
|
||||
url: gadgetLocation + '/conf.json',
|
||||
method: "GET",
|
||||
contentType: "application/json",
|
||||
async: false,
|
||||
success: function (data) {
|
||||
conf = JSON.parse(data);
|
||||
$.ajax({
|
||||
url: gadgetLocation + '/gadget-controller.jag?action=getSchema',
|
||||
method: "POST",
|
||||
data: JSON.stringify(conf),
|
||||
contentType: "application/json",
|
||||
async: false,
|
||||
success: function (data) {
|
||||
schema = data;
|
||||
}
|
||||
});
|
||||
|
||||
getProviderData();
|
||||
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var getProviderData = function (){
|
||||
$.ajax({
|
||||
url: gadgetLocation + '/gadget-controller.jag?action=getData',
|
||||
method: "POST",
|
||||
data: JSON.stringify(conf),
|
||||
contentType: "application/json",
|
||||
async: false,
|
||||
success: function (data) {
|
||||
providerData = data;
|
||||
}
|
||||
});
|
||||
return providerData;
|
||||
};
|
||||
|
||||
|
||||
var drawGadget = function (){
|
||||
|
||||
draw('#canvas', conf[CHART_CONF], schema, providerData);
|
||||
setInterval(function() {
|
||||
draw('#canvas', conf[CHART_CONF], schema, getProviderData());
|
||||
},pref.getInt(REFRESH_INTERVAL));
|
||||
|
||||
};
|
||||
|
||||
getGadgetLocation(function (gadget_Location) {
|
||||
gadgetLocation = gadget_Location;
|
||||
init();
|
||||
drawGadget();
|
||||
|
||||
});
|
||||
});
|
@ -1,35 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
var getGadgetLocation = function (callback) {
|
||||
var gadgetLocation = "/portal/store/carbon.super/fs/gadget/PRESSURE";
|
||||
var PATH_SEPERATOR = "/";
|
||||
if (gadgetLocation.search("store") != -1) {
|
||||
wso2.gadgets.identity.getTenantDomain(function (tenantDomain) {
|
||||
var gadgetPath = gadgetLocation.split(PATH_SEPERATOR);
|
||||
var modifiedPath = '';
|
||||
for (var i = 1; i < gadgetPath.length; i++) {
|
||||
if (i === 3) {
|
||||
modifiedPath = modifiedPath.concat(PATH_SEPERATOR, tenantDomain);
|
||||
} else {
|
||||
modifiedPath = modifiedPath.concat(PATH_SEPERATOR, gadgetPath[i])
|
||||
}
|
||||
}
|
||||
callback(modifiedPath);
|
||||
});
|
||||
} else {
|
||||
callback(gadgetLocation);
|
||||
}
|
||||
}
|
@ -1,111 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
var getConfig, validate, isProviderRequired, draw, update;
|
||||
|
||||
(function() {
|
||||
|
||||
var CHART_LOCATION = '/extensions/chart-templates/';
|
||||
|
||||
/**
|
||||
* return the config to be populated in the chart configuration UI
|
||||
* @param schema
|
||||
*/
|
||||
getConfig = function(schema) {
|
||||
var chartConf = require(CHART_LOCATION + '/number-chart/config.json').config;
|
||||
/*
|
||||
dynamic logic goes here
|
||||
*/
|
||||
return chartConf;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* validate the user inout for the chart configurationx
|
||||
* @param chartConfig
|
||||
*/
|
||||
validate = function(chartConfig) {
|
||||
return true;
|
||||
};
|
||||
|
||||
/**
|
||||
* TO be used when provider configuration steps need to be skipped
|
||||
*/
|
||||
isProviderRequired = function() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* return the gadget content
|
||||
* @param chartConfig
|
||||
* @param schema
|
||||
* @param data
|
||||
*/
|
||||
draw = function(placeholder, chartConfig, _schema, data) {
|
||||
var schema = toVizGrammarSchema(_schema);
|
||||
var view = {
|
||||
id: "chart-0",
|
||||
schema: schema,
|
||||
chartConfig: buildChartConfig(chartConfig),
|
||||
data: function() {
|
||||
if(data) {
|
||||
var result = [];
|
||||
console.log(data);
|
||||
data.forEach(function(item) {
|
||||
var row = [];
|
||||
schema[0].metadata.names.forEach(function(name) {
|
||||
row.push(item[name]);
|
||||
});
|
||||
result.push(row);
|
||||
});
|
||||
console.log(result);
|
||||
wso2gadgets.onDataReady(result);
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
try {
|
||||
wso2gadgets.init(placeholder, view);
|
||||
var view = wso2gadgets.load("chart-0");
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
* @param data
|
||||
*/
|
||||
update = function(data) {
|
||||
wso2gadgets.onDataReady(data,"append");
|
||||
}
|
||||
|
||||
buildChartConfig = function (_chartConfig) {
|
||||
var conf = {};
|
||||
conf.x = _chartConfig.x;
|
||||
conf.maxLength = _chartConfig.maxLength;
|
||||
conf.charts = [];
|
||||
conf.charts[0] = {
|
||||
type : "number",
|
||||
title : _chartConfig.title
|
||||
};
|
||||
return conf;
|
||||
};
|
||||
|
||||
|
||||
}());
|
Before Width: | Height: | Size: 13 KiB |
@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
-->
|
||||
|
||||
<artifact name= "android_pressure_gadget" version="1.0.0" type="dashboards/gadget" serverRole="DataAnalyticsServer">
|
||||
<file>PRESSURE</file>
|
||||
</artifact>
|
@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
-->
|
||||
|
||||
<artifact name= "android_pressure_ui_event_publisher" version="1.0.0" type="event/publisher"
|
||||
serverRole="DataAnalyticsServer">
|
||||
<file>org.wso2.iot.android.pressure.ui.publisher.xml</file>
|
||||
</artifact>
|
||||
|
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<eventPublisher name="org.wso2.iot.android.pressure.ui.publisher"
|
||||
processing="enable" statistics="disable" trace="disable" xmlns="http://wso2.org/carbon/eventpublisher">
|
||||
<from streamName="org.wso2.iot.android.pressure" version="1.0.0"/>
|
||||
<mapping customMapping="disable" type="wso2event"/>
|
||||
<to eventAdapterType="ui"/>
|
||||
</eventPublisher>
|
Loading…
Reference in new issue