forked from community/product-iots
parent
87109d5b87
commit
3156fd01ea
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Analytics>
|
||||
<Editable>true</Editable>
|
||||
<Name>AndriodCallScript</Name>
|
||||
<Script> CREATE TEMPORARY TABLE AndroidCallData USING CarbonAnalytics OPTIONS(tableName "ORG_WSO2_IOT_ANDROID_CALL_STATS", incrementalParams "ORG_WSO2_IOT_ANDROID_CALL_STATS, DAY");
|
||||
|
||||
CREATE TEMPORARY TABLE Android_Call_Stat_Per_Day USING CarbonAnalytics
|
||||
OPTIONS (tableName "Android_Call_Stat_Per_Day",
|
||||
schema "owner STRING, deviceId STRING, type STRING, duration LONG -i, year INT -i, month INT -i, day INT -i, timestamp STRING",
|
||||
primaryKeys "year, month, day, deviceId, owner, type",
|
||||
mergeSchema "false");
|
||||
|
||||
INSERT INTO TABLE Android_Call_Stat_Per_Day
|
||||
SELECT meta_owner as owner, meta_deviceId as deviceId, type, sum(duration) as duration, year, month, day, getDateStartingTime(year, month, day) as timestamp
|
||||
FROM AndroidCallData
|
||||
GROUP BY year, month, day, meta_deviceId, meta_owner, type ORDER BY timestamp DESC;
|
||||
|
||||
INCREMENTAL_TABLE_COMMIT ORG_WSO2_IOT_ANDROID_CALL_STATS; </Script>
|
||||
</Analytics>
|
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Analytics>
|
||||
<Editable>true</Editable>
|
||||
<Name>AndriodDataScript</Name>
|
||||
<Script> CREATE TEMPORARY TABLE AndroidDataData USING CarbonAnalytics OPTIONS(tableName "ORG_WSO2_IOT_ANDROID_DATA_STATS", incrementalParams "ORG_WSO2_IOT_ANDROID_DATA_STATS, DAY");
|
||||
|
||||
CREATE TEMPORARY TABLE Android_Data_Stat_Per_Day USING CarbonAnalytics
|
||||
OPTIONS (tableName "Android_Data_Stat_Per_Day",
|
||||
schema "owner STRING, deviceId STRING, type STRING, total LONG -i, year INT -i, month INT -i, day INT -i, timestamp STRING",
|
||||
primaryKeys "year, month, day, deviceId, owner, type",
|
||||
mergeSchema "false");
|
||||
|
||||
INSERT INTO TABLE Android_Data_Stat_Per_Day
|
||||
SELECT meta_owner as owner, meta_deviceId as deviceId, type, sum(total) as total, year, month, day, getDateStartingTime(year, month, day) as timestamp
|
||||
FROM AndroidDataData
|
||||
GROUP BY year, month, day, meta_deviceId, meta_owner, type ORDER BY timestamp DESC;
|
||||
|
||||
INCREMENTAL_TABLE_COMMIT ORG_WSO2_IOT_ANDROID_DATA_STATS; </Script>
|
||||
</Analytics>
|
@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Analytics>
|
||||
<Editable>true</Editable>
|
||||
<Name>AndriodFrequentContactsScript</Name>
|
||||
<Script> CREATE TEMPORARY TABLE AndroidFrequentCallData USING CarbonAnalytics OPTIONS(tableName "ORG_WSO2_IOT_ANDROID_CALL_STATS", incrementalParams "ORG_WSO2_IOT_ANDROID_CALL_STATS, DAY");
|
||||
|
||||
CREATE TEMPORARY TABLE AndroidFrequentSmsData USING CarbonAnalytics OPTIONS(tableName "ORG_WSO2_IOT_ANDROID_SMS_STATS", incrementalParams "ORG_WSO2_IOT_ANDROID_SMS_STATS, DAY");
|
||||
|
||||
CREATE TEMPORARY TABLE Android_Frequent_Contacts_Per_Day USING CarbonAnalytics
|
||||
OPTIONS (tableName "Android_Frequent_Contacts_Per_Day",
|
||||
schema "owner STRING -i, deviceId STRING -i, number STRING -i, callCount INT -i, smsCount INT -i, total INT -i, year INT -i, month INT -i, day INT -i, _timestamp LONG -i",
|
||||
primaryKeys "deviceId, owner, number, year, month, day",
|
||||
mergeSchema "false", incrementalParams "Android_Frequent_Contacts_Per_Day, MONTH");
|
||||
|
||||
CREATE TEMPORARY TABLE Android_Frequent_Contacts_Per_Month USING CarbonAnalytics
|
||||
OPTIONS (tableName "Android_Frequent_Contacts_Per_Month",
|
||||
schema "owner STRING -i, deviceId STRING -i, number STRING -i, callCount INT -i, smsCount INT -i, total INT -i, year INT -i, month INT -i, _timestamp LONG -i",
|
||||
primaryKeys "deviceId, owner, number, year, month",
|
||||
mergeSchema "false", incrementalParams "Android_Frequent_Contacts_Per_Month, YEAR");
|
||||
|
||||
CREATE TEMPORARY TABLE Android_Frequent_Contacts_Per_Year USING CarbonAnalytics
|
||||
OPTIONS (tableName "Android_Frequent_Contacts_Per_Year",
|
||||
schema "owner STRING -i, deviceId STRING -i, number STRING -i, callCount INT -i, smsCount INT -i, total INT -i, year INT -i",
|
||||
primaryKeys "deviceId, owner, number, year",
|
||||
mergeSchema "false");
|
||||
|
||||
INSERT INTO TABLE Android_Frequent_Contacts_Per_Day
|
||||
SELECT IF(callData.owner is null,smsData.owner,callData.owner) as owner, IF(callData.deviceId is null,smsData.deviceId,callData.deviceId) as deviceId, IF(callData.number is null,smsData.number,callData.number) as number, IF(callData.callCount is null,0,callData.callCount) as callCount, IF(smsData.smsCount is null,0,smsData.smsCount) as smsCount, (IF(callData.callCount is null,0,callData.callCount) + IF(smsData.smsCount is null,0,smsData.smsCount)) as total, IF(callData.year is null,smsData.year,callData.year) as year, IF(callData.month is null,smsData.month,callData.month) as month, IF(callData.day is null,smsData.day,callData.day) as day, getDateStartingTime(IF(callData.year is null,smsData.year,callData.year), IF(callData.month is null,smsData.month,callData.month), IF(callData.day is null,smsData.day,callData.day)) as _timestamp
|
||||
FROM (SELECT meta_owner as owner, meta_deviceId as deviceId, number, count(*) as callCount, year, month, day
|
||||
FROM AndroidFrequentCallData
|
||||
GROUP BY meta_deviceId, meta_owner, number, year, month, day) callData FULL OUTER JOIN
|
||||
(SELECT meta_owner as owner, meta_deviceId as deviceId, number, count(*) as smsCount, year, month, day
|
||||
FROM AndroidFrequentSmsData
|
||||
GROUP BY meta_deviceId, meta_owner, number, year, month, day) smsData ON smsData.owner = callData.owner AND smsData.deviceId = callData.deviceId AND smsData.number = callData.number AND smsData.year = callData.year AND smsData.month = callData.month AND smsData.day = callData.day
|
||||
ORDER BY total DESC;
|
||||
|
||||
INCREMENTAL_TABLE_COMMIT ORG_WSO2_IOT_ANDROID_CALL_STATS;
|
||||
INCREMENTAL_TABLE_COMMIT ORG_WSO2_IOT_ANDROID_SMS_STATS;
|
||||
|
||||
INSERT INTO TABLE Android_Frequent_Contacts_Per_Month
|
||||
SELECT owner, deviceId, number, sum(callCount) as callCount, sum(smsCount) as smsCount, sum(total) as total, year, month, getMonthStartingTime(year, month) as _timestamp
|
||||
FROM Android_Frequent_Contacts_Per_Day
|
||||
GROUP BY deviceId, owner, number, year, month
|
||||
ORDER BY total DESC;
|
||||
|
||||
INCREMENTAL_TABLE_COMMIT Android_Frequent_Contacts_Per_Month;
|
||||
|
||||
INSERT INTO TABLE Android_Frequent_Contacts_Per_Year
|
||||
SELECT owner, deviceId, number, sum(callCount) as callCount, sum(smsCount) as smsCount, sum(total) as total, year
|
||||
FROM Android_Frequent_Contacts_Per_Month
|
||||
GROUP BY deviceId, owner, number, year
|
||||
ORDER BY total DESC; </Script>
|
||||
</Analytics>
|
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Analytics>
|
||||
<Editable>true</Editable>
|
||||
<Name>AndriodScreenScript</Name>
|
||||
<Script> CREATE TEMPORARY TABLE AndroidScreenData USING CarbonAnalytics OPTIONS(tableName "ORG_WSO2_IOT_ANDROID_SCREEN_STATS", incrementalParams "ORG_WSO2_IOT_ANDROID_SCREEN_STATS, DAY");
|
||||
|
||||
CREATE TEMPORARY TABLE Android_Screen_Stat_Per_Day USING CarbonAnalytics
|
||||
OPTIONS (tableName "Android_Screen_Stat_Per_Day",
|
||||
schema "owner STRING -i, deviceId STRING -i, duration LONG -i, year INT -i, month INT -i, day INT -i, timestamp STRING -i",
|
||||
primaryKeys "year, month, day, deviceId, owner",
|
||||
mergeSchema "false");
|
||||
|
||||
INSERT INTO TABLE Android_Screen_Stat_Per_Day
|
||||
SELECT meta_owner as owner, meta_deviceId as deviceId, sum(duration) as duration, year, month, day, getDateStartingTime(year, month, day) as timestamp
|
||||
FROM AndroidScreenData
|
||||
GROUP BY year, month, day, meta_deviceId, meta_owner ORDER BY timestamp DESC;
|
||||
|
||||
INCREMENTAL_TABLE_COMMIT ORG_WSO2_IOT_ANDROID_SCREEN_STATS; </Script>
|
||||
</Analytics>
|
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Analytics>
|
||||
<Editable>true</Editable>
|
||||
<Name>AndriodSmsScript</Name>
|
||||
<Script> CREATE TEMPORARY TABLE AndroidSmsData USING CarbonAnalytics OPTIONS(tableName "ORG_WSO2_IOT_ANDROID_SMS_STATS", incrementalParams "ORG_WSO2_IOT_ANDROID_SMS_STATS, DAY");
|
||||
|
||||
CREATE TEMPORARY TABLE Android_Sms_Stat_Per_Day USING CarbonAnalytics
|
||||
OPTIONS (tableName "Android_Sms_Stat_Per_Day",
|
||||
schema "owner STRING, deviceId STRING, type STRING, count LONG -i, year INT -i, month INT -i, day INT -i, timestamp STRING",
|
||||
primaryKeys "year, month, day, deviceId, owner, type",
|
||||
mergeSchema "false");
|
||||
|
||||
INSERT INTO TABLE Android_Sms_Stat_Per_Day
|
||||
SELECT meta_owner as owner, meta_deviceId as deviceId, type, count(*) as count, year, month, day, getDateStartingTime(year, month, day) as timestamp
|
||||
FROM AndroidSmsData
|
||||
GROUP BY year, month, day, meta_deviceId, meta_owner, type ORDER BY timestamp DESC;
|
||||
|
||||
INCREMENTAL_TABLE_COMMIT ORG_WSO2_IOT_ANDROID_SMS_STATS; </Script>
|
||||
</Analytics>
|
@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Analytics>
|
||||
<Editable>true</Editable>
|
||||
<Name>AndroidActivityScript</Name>
|
||||
<Script> CREATE TEMPORARY TABLE AndroidActivityData USING CarbonAnalytics OPTIONS(tableName "ORG_WSO2_IOT_ANDROID_ACTIVITY_STATS", incrementalParams "ORG_WSO2_IOT_ANDROID_ACTIVITY_STATS, DAY");
|
||||
|
||||
CREATE TEMPORARY TABLE Android_Activity_Stat_Per_Day USING CarbonAnalytics
|
||||
OPTIONS (tableName "Android_Activity_Stat_Per_Day",
|
||||
schema "owner STRING, deviceId STRING, action STRING, duration LONG -i, year INT -i, month INT -i, day INT -i, _timestamp LONG -i",
|
||||
primaryKeys "year, month, day, deviceId, action, owner",
|
||||
mergeSchema "false");
|
||||
|
||||
CREATE TEMPORARY TABLE Android_Active_Stat_Per_Day USING CarbonAnalytics
|
||||
OPTIONS (tableName "Android_Active_Stat_Per_Day",
|
||||
schema "owner STRING, deviceId STRING, action STRING, duration LONG -i, year INT -i, month INT -i, day INT -i, timestamp LONG -i",
|
||||
primaryKeys "year, month, day, deviceId, owner, action",
|
||||
mergeSchema "false");
|
||||
|
||||
INSERT INTO TABLE Android_Activity_Stat_Per_Day
|
||||
SELECT meta_owner as owner, meta_deviceId as deviceId, action, sum(duration) as duration, year, month, day, getDateStartingTime(year, month, day) as _timestamp
|
||||
FROM AndroidActivityData
|
||||
GROUP BY year, month, day, meta_deviceId, action, meta_owner ORDER BY _timestamp DESC;
|
||||
|
||||
INSERT INTO TABLE Android_Active_Stat_Per_Day
|
||||
SELECT meta_owner as owner, meta_deviceId as deviceId, action, sum(duration) as duration, year, month, day, getDateStartingTime(year, month, day) as timestamp
|
||||
FROM AndroidActivityData WHERE action = 'RUNNING' OR action = 'WALKING' OR action = 'CYCLING'
|
||||
GROUP BY year, month, day, meta_deviceId, action, meta_owner ORDER BY timestamp ASC;
|
||||
|
||||
INCREMENTAL_TABLE_COMMIT ORG_WSO2_IOT_ANDROID_ACTIVITY_STATS; </Script>
|
||||
</Analytics>
|
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Analytics>
|
||||
<Editable>true</Editable>
|
||||
<Name>AndroidAudioScript</Name>
|
||||
<Script> CREATE TEMPORARY TABLE AndroidHeadsetData USING CarbonAnalytics OPTIONS(tableName "ORG_WSO2_IOT_ANDROID_HEADSET_STATS", incrementalParams "ORG_WSO2_IOT_ANDROID_HEADSET_STATS, DAY");
|
||||
|
||||
CREATE TEMPORARY TABLE Android_Headset_Stat_Per_Day USING CarbonAnalytics
|
||||
OPTIONS (tableName "Android_Headset_Stat_Per_Day",
|
||||
schema "owner STRING -i, deviceId STRING -i, duration LONG -i, year INT -i, month INT -i, day INT -i, timestamp STRING -i",
|
||||
primaryKeys "year, month, day, deviceId, owner",
|
||||
mergeSchema "false");
|
||||
|
||||
INSERT INTO TABLE Android_Headset_Stat_Per_Day
|
||||
SELECT meta_owner as owner, meta_deviceId as deviceId, sum(duration) as duration, year, month, day, getDateStartingTime(year, month, day) as timestamp
|
||||
FROM AndroidHeadsetData
|
||||
GROUP BY year, month, day, meta_deviceId, meta_owner ORDER BY timestamp DESC;
|
||||
|
||||
INCREMENTAL_TABLE_COMMIT ORG_WSO2_IOT_ANDROID_HEADSET_STATS; </Script>
|
||||
</Analytics>
|
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Analytics>
|
||||
<Editable>true</Editable>
|
||||
<Name>Android_Sense_Script</Name>
|
||||
<Script>CREATE TEMPORARY TABLE AndroidHeadsetData USING CarbonAnalytics OPTIONS(tableName "ORG_WSO2_IOT_ANDROID_HEADSET_STATS", incrementalParams "ORG_WSO2_IOT_ANDROID_HEADSET_STATS, DAY");
|
||||
|
||||
CREATE TEMPORARY TABLE Android_Headset_Stat_Per_Day USING CarbonAnalytics
|
||||
OPTIONS (tableName "Android_Headset_Stat_Per_Day",
|
||||
schema "owner STRING -i, deviceId STRING -i, duration LONG -i, year INT -i, month INT -i, day INT -i, timestamp STRING -i",
|
||||
primaryKeys "year, month, day, deviceId, owner",
|
||||
mergeSchema "false");
|
||||
|
||||
INSERT INTO TABLE Android_Headset_Stat_Per_Day
|
||||
SELECT meta_owner as owner, meta_deviceId as deviceId, sum(duration) as duration, year, month, day, getDateStartingTime(year, month, day) as timestamp
|
||||
FROM AndroidHeadsetData
|
||||
GROUP BY year, month, day, meta_deviceId, meta_owner ORDER BY timestamp DESC;
|
||||
|
||||
INCREMENTAL_TABLE_COMMIT ORG_WSO2_IOT_ANDROID_HEADSET_STATS;
|
||||
</Script>
|
||||
</Analytics>
|
@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Analytics>
|
||||
<Editable>true</Editable>
|
||||
<Name>LocationScript</Name>
|
||||
<Script> CREATE TEMPORARY TABLE AndroidLocationData USING CarbonAnalytics OPTIONS(tableName "ORG_WSO2_IOT_ANDROID_LOCATION_STATS", incrementalParams "ORG_WSO2_IOT_ANDROID_LOCATION_STATS, DAY");
|
||||
|
||||
CREATE TEMPORARY TABLE Android_Location_Stats_Per_Day USING CarbonAnalytics
|
||||
OPTIONS (tableName "Android_Location_Stats_Per_Day",
|
||||
schema "owner STRING, deviceId STRING, latitude DOUBLE -i, longitude DOUBLE -i, streetName STRING, noOfVisits INT -i, year INT -i, month INT -i, day INT -i, _timestamp LONG -i",
|
||||
primaryKeys "deviceId, owner, streetName, latitude, longitude, year, month, day",
|
||||
mergeSchema "false", incrementalParams "Android_Location_Stats_Per_Day, MONTH");
|
||||
|
||||
CREATE TEMPORARY TABLE Android_Location_Stats_Per_Month USING CarbonAnalytics
|
||||
OPTIONS (tableName "Android_Location_Stats_Per_Month",
|
||||
schema "owner STRING, deviceId STRING, latitude DOUBLE -i, longitude DOUBLE -i, streetName STRING, noOfVisits INT -i, year INT -i, month INT -i, _timestamp LONG -i",
|
||||
primaryKeys "deviceId, owner, streetName, latitude, longitude, year, month",
|
||||
mergeSchema "false", incrementalParams "Android_Location_Stats_Per_Month, YEAR");
|
||||
|
||||
CREATE TEMPORARY TABLE Android_Location_Stats_Per_Year USING CarbonAnalytics
|
||||
OPTIONS (tableName "Android_Location_Stats_Per_Year",
|
||||
schema "owner STRING, deviceId STRING, latitude DOUBLE -i, longitude DOUBLE -i, streetName STRING, noOfVisits INT -i, year INT -i",
|
||||
primaryKeys "deviceId, owner, streetName, latitude, longitude, year",
|
||||
mergeSchema "false");
|
||||
|
||||
INSERT INTO TABLE Android_Location_Stats_Per_Day
|
||||
SELECT meta_owner as owner, meta_deviceId as deviceId, latitude, longitude, streetName, count(*) as noOfVisits, year, month, day, getDateStartingTime(year, month, day) as _timestamp
|
||||
FROM AndroidLocationData
|
||||
GROUP BY year, month, day, meta_deviceId, streetName, meta_owner, latitude, longitude;
|
||||
|
||||
INCREMENTAL_TABLE_COMMIT ORG_WSO2_IOT_ANDROID_LOCATION_STATS;
|
||||
|
||||
INSERT INTO TABLE Android_Location_Stats_Per_Month
|
||||
SELECT owner, deviceId, latitude, longitude, streetName, sum(noOfVisits) as noOfVisits, year, month, getMonthStartingTime(year, month) as _timestamp
|
||||
FROM Android_Location_Stats_Per_Day
|
||||
GROUP BY deviceId, owner, year, month, streetName, latitude, longitude;
|
||||
|
||||
INCREMENTAL_TABLE_COMMIT Android_Location_Stats_Per_Month;
|
||||
|
||||
INSERT INTO TABLE Android_Location_Stats_Per_Year
|
||||
SELECT owner, deviceId, latitude, longitude, streetName, sum(noOfVisits) as noOfVisits, year
|
||||
FROM Android_Location_Stats_Per_Month
|
||||
GROUP BY deviceId, owner, year, streetName, latitude, longitude; </Script>
|
||||
</Analytics>
|
@ -0,0 +1,239 @@
|
||||
body.dashboard {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.dashboard .btn-default.active,
|
||||
.dashboard .btn-default.active:focus {
|
||||
background-color: #29313E;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.dashboard .btn-default.active:hover {
|
||||
background-color: #53627B;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.dashboard .page-header {
|
||||
background: #29313e;
|
||||
min-height: 50px;
|
||||
padding: 0;
|
||||
color: #ebeced;
|
||||
}
|
||||
|
||||
.dashboard .page-header .page-title > h1 {
|
||||
padding: 15px 15px 0 15px;
|
||||
font-weight: 100;
|
||||
text-transform: uppercase;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.dashboard .page-header .page-title > h1 > .icon {
|
||||
font-size: 24px;
|
||||
margin-top: -5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.dashboard .page-header .navbar-header {
|
||||
margin-right: 15px;
|
||||
margin-left: 15px;
|
||||
float: none;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.dashboard .page-header .navbar-collapse.collapse {
|
||||
display: none !important;
|
||||
}
|
||||
.page-header .container-fluid {
|
||||
padding: 0 15px;
|
||||
}
|
||||
.navbar-nav > li > a {
|
||||
padding: 10px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.nav > li > a > .icon {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.nav > li > a > .badge {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
right: 5px;
|
||||
background: #ff124a;
|
||||
}
|
||||
|
||||
.dashboard .page-header .auth {
|
||||
margin-bottom: 0;
|
||||
padding: 6px 0;
|
||||
}
|
||||
|
||||
.dashboard .page-content {
|
||||
overflow: inherit;
|
||||
}
|
||||
|
||||
.dashboard .footer {
|
||||
background: #0d1219;
|
||||
}
|
||||
|
||||
.dashboard .gadget-wrapper {
|
||||
border: 1px dashed #e4e4e4;
|
||||
}
|
||||
|
||||
.dashboard .gadget .gadget-heading {
|
||||
background: transparent;
|
||||
border-bottom: none;
|
||||
color: #29313e;
|
||||
}
|
||||
|
||||
.gadget .gadget-heading > .gadget-title {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.gadget .gadget-heading > .gadget-actions button {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.sidebar-wrapper hr {
|
||||
border-top-color: #ebeced;
|
||||
}
|
||||
|
||||
.sidebar-toggle-button {
|
||||
float: left;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
font-size: 18px;
|
||||
background: #438cad;
|
||||
color: #ffffff;
|
||||
margin-left: -15px;
|
||||
}
|
||||
|
||||
.sidebar-toggle-button > .icon {
|
||||
line-height: 48px;
|
||||
}
|
||||
|
||||
.sidebar-nav {
|
||||
background: #29313e;
|
||||
color: #e3e5e6;
|
||||
}
|
||||
|
||||
.nav.pages {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.nav.pages > li {
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.nav > li {
|
||||
text-indent: 0;
|
||||
line-height: 10px;
|
||||
}
|
||||
|
||||
.nav > li > a {
|
||||
border-radius: 0;
|
||||
color: #e3e5e6;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.collapse-nav-sub > li > a {
|
||||
padding: 4px 10px;
|
||||
font-size: 21px;
|
||||
}
|
||||
|
||||
.collapse-nav-sub > li > a > .icon {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.page-header .fw-inverse {
|
||||
color: #29313e;
|
||||
}
|
||||
|
||||
.nav li:hover > a,
|
||||
.nav li.open > a,
|
||||
.nav li.open > a:focus,
|
||||
.nav li.open > a:hover {
|
||||
background: #1a2332;
|
||||
}
|
||||
|
||||
.nav > li > a:focus {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.nav.pages > li.active a {
|
||||
background: #121822;
|
||||
border-left: 5px solid #438cad;
|
||||
}
|
||||
|
||||
.navbar-collapse {
|
||||
padding: 15px;
|
||||
background: #1A2331;
|
||||
}
|
||||
|
||||
.navbar-collapse li:hover > a {
|
||||
background: #29313E;
|
||||
}
|
||||
|
||||
.sidebar-nav .user {
|
||||
text-align: center;
|
||||
margin: 20px auto;
|
||||
}
|
||||
|
||||
.sidebar-nav .user > .user-image {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.sidebar-nav .user > .user-image > .default .icon {
|
||||
font-size: 25px;
|
||||
}
|
||||
|
||||
.sidebar-nav .user > .user-image > .default .icon .fw-inverse,
|
||||
.sidebar-nav .user > .user-image > .default .icon .fa-inverse {
|
||||
color: #29313e;
|
||||
}
|
||||
|
||||
.widget .gadget-wrapper {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.widget .ues-component-heading {
|
||||
display: none !important;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.widget .ues-component {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.widget.form-control-widget {
|
||||
height: 35px !important;
|
||||
}
|
||||
|
||||
.dropdown-menu.arrow.arrow-top-right:before {
|
||||
right: 20px;
|
||||
}
|
||||
|
||||
.dropdown-menu.arrow:before,
|
||||
.dropdown-menu.arrow.arrow-top-left:before {
|
||||
top: -10px;
|
||||
border-right: 10px solid transparent;
|
||||
border-bottom: 10px solid #e4e4e4;
|
||||
border-left: 10px solid transparent;
|
||||
}
|
||||
|
||||
.dropdown-menu.alerts {
|
||||
min-width: 400px;
|
||||
max-width: 100%;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
ul.sidebar-messages > li:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
ul.sidebar-messages > li:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
var vizgSettings = {
|
||||
colorScale: colorbrewer.RdYlBu[4].reverse(),
|
||||
colors: {
|
||||
green:"#5FCE9B",
|
||||
blue:"#438CAD",
|
||||
red:"#E87352",
|
||||
yellow:"#EECA5A",
|
||||
purple:"#B6688F",
|
||||
grey:"434343",
|
||||
brown:"#C59787"
|
||||
}
|
||||
}
|
@ -0,0 +1,303 @@
|
||||
// This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/).
|
||||
// JavaScript specs as packaged in the D3 library (d3js.org). Please see license at http://colorbrewer.org/export/LICENSE.txt
|
||||
var colorbrewer = {YlGn: {
|
||||
3: ["#f7fcb9","#addd8e","#31a354"],
|
||||
4: ["#ffffcc","#c2e699","#78c679","#238443"],
|
||||
5: ["#ffffcc","#c2e699","#78c679","#31a354","#006837"],
|
||||
6: ["#ffffcc","#d9f0a3","#addd8e","#78c679","#31a354","#006837"],
|
||||
7: ["#ffffcc","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],
|
||||
8: ["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],
|
||||
9: ["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"]
|
||||
},YlGnBu: {
|
||||
3: ["#edf8b1","#7fcdbb","#2c7fb8"],
|
||||
4: ["#ffffcc","#a1dab4","#41b6c4","#225ea8"],
|
||||
5: ["#ffffcc","#a1dab4","#41b6c4","#2c7fb8","#253494"],
|
||||
6: ["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#2c7fb8","#253494"],
|
||||
7: ["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],
|
||||
8: ["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],
|
||||
9: ["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"]
|
||||
},GnBu: {
|
||||
3: ["#e0f3db","#a8ddb5","#43a2ca"],
|
||||
4: ["#f0f9e8","#bae4bc","#7bccc4","#2b8cbe"],
|
||||
5: ["#f0f9e8","#bae4bc","#7bccc4","#43a2ca","#0868ac"],
|
||||
6: ["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#43a2ca","#0868ac"],
|
||||
7: ["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],
|
||||
8: ["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],
|
||||
9: ["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"]
|
||||
},BuGn: {
|
||||
3: ["#e5f5f9","#99d8c9","#2ca25f"],
|
||||
4: ["#edf8fb","#b2e2e2","#66c2a4","#238b45"],
|
||||
5: ["#edf8fb","#b2e2e2","#66c2a4","#2ca25f","#006d2c"],
|
||||
6: ["#edf8fb","#ccece6","#99d8c9","#66c2a4","#2ca25f","#006d2c"],
|
||||
7: ["#edf8fb","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],
|
||||
8: ["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],
|
||||
9: ["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"]
|
||||
},PuBuGn: {
|
||||
3: ["#ece2f0","#a6bddb","#1c9099"],
|
||||
4: ["#f6eff7","#bdc9e1","#67a9cf","#02818a"],
|
||||
5: ["#f6eff7","#bdc9e1","#67a9cf","#1c9099","#016c59"],
|
||||
6: ["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#1c9099","#016c59"],
|
||||
7: ["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],
|
||||
8: ["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],
|
||||
9: ["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"]
|
||||
},PuBu: {
|
||||
3: ["#ece7f2","#a6bddb","#2b8cbe"],
|
||||
4: ["#f1eef6","#bdc9e1","#74a9cf","#0570b0"],
|
||||
5: ["#f1eef6","#bdc9e1","#74a9cf","#2b8cbe","#045a8d"],
|
||||
6: ["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#2b8cbe","#045a8d"],
|
||||
7: ["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],
|
||||
8: ["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],
|
||||
9: ["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"]
|
||||
},BuPu: {
|
||||
3: ["#e0ecf4","#9ebcda","#8856a7"],
|
||||
4: ["#edf8fb","#b3cde3","#8c96c6","#88419d"],
|
||||
5: ["#edf8fb","#b3cde3","#8c96c6","#8856a7","#810f7c"],
|
||||
6: ["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8856a7","#810f7c"],
|
||||
7: ["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],
|
||||
8: ["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],
|
||||
9: ["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"]
|
||||
},RdPu: {
|
||||
3: ["#fde0dd","#fa9fb5","#c51b8a"],
|
||||
4: ["#feebe2","#fbb4b9","#f768a1","#ae017e"],
|
||||
5: ["#feebe2","#fbb4b9","#f768a1","#c51b8a","#7a0177"],
|
||||
6: ["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#c51b8a","#7a0177"],
|
||||
7: ["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],
|
||||
8: ["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],
|
||||
9: ["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"]
|
||||
},PuRd: {
|
||||
3: ["#e7e1ef","#c994c7","#dd1c77"],
|
||||
4: ["#f1eef6","#d7b5d8","#df65b0","#ce1256"],
|
||||
5: ["#f1eef6","#d7b5d8","#df65b0","#dd1c77","#980043"],
|
||||
6: ["#f1eef6","#d4b9da","#c994c7","#df65b0","#dd1c77","#980043"],
|
||||
7: ["#f1eef6","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],
|
||||
8: ["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],
|
||||
9: ["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"]
|
||||
},OrRd: {
|
||||
3: ["#fee8c8","#fdbb84","#e34a33"],
|
||||
4: ["#fef0d9","#fdcc8a","#fc8d59","#d7301f"],
|
||||
5: ["#fef0d9","#fdcc8a","#fc8d59","#e34a33","#b30000"],
|
||||
6: ["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#e34a33","#b30000"],
|
||||
7: ["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],
|
||||
8: ["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],
|
||||
9: ["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"]
|
||||
},YlOrRd: {
|
||||
3: ["#ffeda0","#feb24c","#f03b20"],
|
||||
4: ["#ffffb2","#fecc5c","#fd8d3c","#e31a1c"],
|
||||
5: ["#ffffb2","#fecc5c","#fd8d3c","#f03b20","#bd0026"],
|
||||
6: ["#ffffb2","#fed976","#feb24c","#fd8d3c","#f03b20","#bd0026"],
|
||||
7: ["#ffffb2","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],
|
||||
8: ["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],
|
||||
9: ["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"]
|
||||
},YlOrBr: {
|
||||
3: ["#fff7bc","#fec44f","#d95f0e"],
|
||||
4: ["#ffffd4","#fed98e","#fe9929","#cc4c02"],
|
||||
5: ["#ffffd4","#fed98e","#fe9929","#d95f0e","#993404"],
|
||||
6: ["#ffffd4","#fee391","#fec44f","#fe9929","#d95f0e","#993404"],
|
||||
7: ["#ffffd4","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],
|
||||
8: ["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],
|
||||
9: ["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"]
|
||||
},Purples: {
|
||||
3: ["#efedf5","#bcbddc","#756bb1"],
|
||||
4: ["#f2f0f7","#cbc9e2","#9e9ac8","#6a51a3"],
|
||||
5: ["#f2f0f7","#cbc9e2","#9e9ac8","#756bb1","#54278f"],
|
||||
6: ["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#756bb1","#54278f"],
|
||||
7: ["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],
|
||||
8: ["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],
|
||||
9: ["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"]
|
||||
},Blues: {
|
||||
3: ["#deebf7","#9ecae1","#3182bd"],
|
||||
4: ["#eff3ff","#bdd7e7","#6baed6","#2171b5"],
|
||||
5: ["#eff3ff","#bdd7e7","#6baed6","#3182bd","#08519c"],
|
||||
6: ["#eff3ff","#c6dbef","#9ecae1","#6baed6","#3182bd","#08519c"],
|
||||
7: ["#eff3ff","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],
|
||||
8: ["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],
|
||||
9: ["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"]
|
||||
},Greens: {
|
||||
3: ["#e5f5e0","#a1d99b","#31a354"],
|
||||
4: ["#edf8e9","#bae4b3","#74c476","#238b45"],
|
||||
5: ["#edf8e9","#bae4b3","#74c476","#31a354","#006d2c"],
|
||||
6: ["#edf8e9","#c7e9c0","#a1d99b","#74c476","#31a354","#006d2c"],
|
||||
7: ["#edf8e9","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],
|
||||
8: ["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],
|
||||
9: ["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"]
|
||||
},Oranges: {
|
||||
3: ["#fee6ce","#fdae6b","#e6550d"],
|
||||
4: ["#feedde","#fdbe85","#fd8d3c","#d94701"],
|
||||
5: ["#feedde","#fdbe85","#fd8d3c","#e6550d","#a63603"],
|
||||
6: ["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#e6550d","#a63603"],
|
||||
7: ["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],
|
||||
8: ["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],
|
||||
9: ["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"]
|
||||
},Reds: {
|
||||
3: ["#fee0d2","#fc9272","#de2d26"],
|
||||
4: ["#fee5d9","#fcae91","#fb6a4a","#cb181d"],
|
||||
5: ["#fee5d9","#fcae91","#fb6a4a","#de2d26","#a50f15"],
|
||||
6: ["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#de2d26","#a50f15"],
|
||||
7: ["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],
|
||||
8: ["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],
|
||||
9: ["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]
|
||||
},Greys: {
|
||||
3: ["#f0f0f0","#bdbdbd","#636363"],
|
||||
4: ["#f7f7f7","#cccccc","#969696","#525252"],
|
||||
5: ["#f7f7f7","#cccccc","#969696","#636363","#252525"],
|
||||
6: ["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#636363","#252525"],
|
||||
7: ["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],
|
||||
8: ["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],
|
||||
9: ["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"]
|
||||
},PuOr: {
|
||||
3: ["#f1a340","#f7f7f7","#998ec3"],
|
||||
4: ["#e66101","#fdb863","#b2abd2","#5e3c99"],
|
||||
5: ["#e66101","#fdb863","#f7f7f7","#b2abd2","#5e3c99"],
|
||||
6: ["#b35806","#f1a340","#fee0b6","#d8daeb","#998ec3","#542788"],
|
||||
7: ["#b35806","#f1a340","#fee0b6","#f7f7f7","#d8daeb","#998ec3","#542788"],
|
||||
8: ["#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788"],
|
||||
9: ["#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788"],
|
||||
10: ["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],
|
||||
11: ["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"]
|
||||
},BrBG: {
|
||||
3: ["#d8b365","#f5f5f5","#5ab4ac"],
|
||||
4: ["#a6611a","#dfc27d","#80cdc1","#018571"],
|
||||
5: ["#a6611a","#dfc27d","#f5f5f5","#80cdc1","#018571"],
|
||||
6: ["#8c510a","#d8b365","#f6e8c3","#c7eae5","#5ab4ac","#01665e"],
|
||||
7: ["#8c510a","#d8b365","#f6e8c3","#f5f5f5","#c7eae5","#5ab4ac","#01665e"],
|
||||
8: ["#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e"],
|
||||
9: ["#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e"],
|
||||
10: ["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],
|
||||
11: ["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"]
|
||||
},PRGn: {
|
||||
3: ["#af8dc3","#f7f7f7","#7fbf7b"],
|
||||
4: ["#7b3294","#c2a5cf","#a6dba0","#008837"],
|
||||
5: ["#7b3294","#c2a5cf","#f7f7f7","#a6dba0","#008837"],
|
||||
6: ["#762a83","#af8dc3","#e7d4e8","#d9f0d3","#7fbf7b","#1b7837"],
|
||||
7: ["#762a83","#af8dc3","#e7d4e8","#f7f7f7","#d9f0d3","#7fbf7b","#1b7837"],
|
||||
8: ["#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837"],
|
||||
9: ["#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837"],
|
||||
10: ["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],
|
||||
11: ["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"]
|
||||
},PiYG: {
|
||||
3: ["#e9a3c9","#f7f7f7","#a1d76a"],
|
||||
4: ["#d01c8b","#f1b6da","#b8e186","#4dac26"],
|
||||
5: ["#d01c8b","#f1b6da","#f7f7f7","#b8e186","#4dac26"],
|
||||
6: ["#c51b7d","#e9a3c9","#fde0ef","#e6f5d0","#a1d76a","#4d9221"],
|
||||
7: ["#c51b7d","#e9a3c9","#fde0ef","#f7f7f7","#e6f5d0","#a1d76a","#4d9221"],
|
||||
8: ["#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221"],
|
||||
9: ["#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221"],
|
||||
10: ["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],
|
||||
11: ["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"]
|
||||
},RdBu: {
|
||||
3: ["#ef8a62","#f7f7f7","#67a9cf"],
|
||||
4: ["#ca0020","#f4a582","#92c5de","#0571b0"],
|
||||
5: ["#ca0020","#f4a582","#f7f7f7","#92c5de","#0571b0"],
|
||||
6: ["#b2182b","#ef8a62","#fddbc7","#d1e5f0","#67a9cf","#2166ac"],
|
||||
7: ["#b2182b","#ef8a62","#fddbc7","#f7f7f7","#d1e5f0","#67a9cf","#2166ac"],
|
||||
8: ["#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac"],
|
||||
9: ["#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac"],
|
||||
10: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],
|
||||
11: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"]
|
||||
},RdGy: {
|
||||
3: ["#ef8a62","#ffffff","#999999"],
|
||||
4: ["#ca0020","#f4a582","#bababa","#404040"],
|
||||
5: ["#ca0020","#f4a582","#ffffff","#bababa","#404040"],
|
||||
6: ["#b2182b","#ef8a62","#fddbc7","#e0e0e0","#999999","#4d4d4d"],
|
||||
7: ["#b2182b","#ef8a62","#fddbc7","#ffffff","#e0e0e0","#999999","#4d4d4d"],
|
||||
8: ["#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d"],
|
||||
9: ["#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d"],
|
||||
10: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],
|
||||
11: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"]
|
||||
},RdYlBu: {
|
||||
3: ["#fc8d59","#ffffbf","#91bfdb"],
|
||||
4: ["#d7191c","#fdae61","#abd9e9","#2c7bb6"],
|
||||
5: ["#d7191c","#fdae61","#ffffbf","#abd9e9","#2c7bb6"],
|
||||
6: ["#d73027","#fc8d59","#fee090","#e0f3f8","#91bfdb","#4575b4"],
|
||||
7: ["#d73027","#fc8d59","#fee090","#ffffbf","#e0f3f8","#91bfdb","#4575b4"],
|
||||
8: ["#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4"],
|
||||
9: ["#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4"],
|
||||
10: ["#a50026","#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],
|
||||
11: ["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"]
|
||||
},Spectral: {
|
||||
3: ["#fc8d59","#ffffbf","#99d594"],
|
||||
4: ["#d7191c","#fdae61","#abdda4","#2b83ba"],
|
||||
5: ["#d7191c","#fdae61","#ffffbf","#abdda4","#2b83ba"],
|
||||
6: ["#d53e4f","#fc8d59","#fee08b","#e6f598","#99d594","#3288bd"],
|
||||
7: ["#d53e4f","#fc8d59","#fee08b","#ffffbf","#e6f598","#99d594","#3288bd"],
|
||||
8: ["#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd"],
|
||||
9: ["#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd"],
|
||||
10: ["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],
|
||||
11: ["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]
|
||||
},RdYlGn: {
|
||||
3: ["#fc8d59","#ffffbf","#91cf60"],
|
||||
4: ["#d7191c","#fdae61","#a6d96a","#1a9641"],
|
||||
5: ["#d7191c","#fdae61","#ffffbf","#a6d96a","#1a9641"],
|
||||
6: ["#d73027","#fc8d59","#fee08b","#d9ef8b","#91cf60","#1a9850"],
|
||||
7: ["#d73027","#fc8d59","#fee08b","#ffffbf","#d9ef8b","#91cf60","#1a9850"],
|
||||
8: ["#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850"],
|
||||
9: ["#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850"],
|
||||
10: ["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],
|
||||
11: ["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"]
|
||||
},Accent: {
|
||||
3: ["#7fc97f","#beaed4","#fdc086"],
|
||||
4: ["#7fc97f","#beaed4","#fdc086","#ffff99"],
|
||||
5: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0"],
|
||||
6: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f"],
|
||||
7: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17"],
|
||||
8: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"]
|
||||
},Dark2: {
|
||||
3: ["#1b9e77","#d95f02","#7570b3"],
|
||||
4: ["#1b9e77","#d95f02","#7570b3","#e7298a"],
|
||||
5: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e"],
|
||||
6: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02"],
|
||||
7: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d"],
|
||||
8: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"]
|
||||
},Paired: {
|
||||
3: ["#a6cee3","#1f78b4","#b2df8a"],
|
||||
4: ["#a6cee3","#1f78b4","#b2df8a","#33a02c"],
|
||||
5: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99"],
|
||||
6: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c"],
|
||||
7: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f"],
|
||||
8: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00"],
|
||||
9: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6"],
|
||||
10: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a"],
|
||||
11: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99"],
|
||||
12: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"]
|
||||
},Pastel1: {
|
||||
3: ["#fbb4ae","#b3cde3","#ccebc5"],
|
||||
4: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4"],
|
||||
5: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6"],
|
||||
6: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc"],
|
||||
7: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd"],
|
||||
8: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec"],
|
||||
9: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]
|
||||
},Pastel2: {
|
||||
3: ["#b3e2cd","#fdcdac","#cbd5e8"],
|
||||
4: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4"],
|
||||
5: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9"],
|
||||
6: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae"],
|
||||
7: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc"],
|
||||
8: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"]
|
||||
},Set1: {
|
||||
3: ["#e41a1c","#377eb8","#4daf4a"],
|
||||
4: ["#e41a1c","#377eb8","#4daf4a","#984ea3"],
|
||||
5: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00"],
|
||||
6: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33"],
|
||||
7: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628"],
|
||||
8: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf"],
|
||||
9: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"]
|
||||
},Set2: {
|
||||
3: ["#66c2a5","#fc8d62","#8da0cb"],
|
||||
4: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3"],
|
||||
5: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854"],
|
||||
6: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f"],
|
||||
7: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494"],
|
||||
8: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"]
|
||||
},Set3: {
|
||||
3: ["#8dd3c7","#ffffb3","#bebada"],
|
||||
4: ["#8dd3c7","#ffffb3","#bebada","#fb8072"],
|
||||
5: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3"],
|
||||
6: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462"],
|
||||
7: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69"],
|
||||
8: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5"],
|
||||
9: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9"],
|
||||
10: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd"],
|
||||
11: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5"],
|
||||
12: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"]
|
||||
}};
|
@ -0,0 +1,447 @@
|
||||
<!--
|
||||
~ Copyright (c) WSO2 Inc. (http://wso2.com) 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.
|
||||
-->
|
||||
<%
|
||||
// i18n
|
||||
var i18n = require("i18n");
|
||||
i18n.init(request, utils.getLocaleResourcePath());
|
||||
|
||||
// If the pageId is null, render the landing page
|
||||
pageId = pageId || dashboard.landing;
|
||||
|
||||
var usr = require('/modules/user.js'),
|
||||
user = usr.current(),
|
||||
isAnonView = request.getParameter('isAnonView');
|
||||
|
||||
// Get the anon view
|
||||
if (!user) {
|
||||
if (isAnonView) {
|
||||
response.sendRedirect(request.getRequestURL());
|
||||
}
|
||||
isAnonView = true;
|
||||
} else {
|
||||
isAnonView = JSON.parse(isAnonView);
|
||||
|
||||
if((user.domain != urlDomain && urlDomain) ||
|
||||
(dashboard.isanon && !utils.allowed(user.roles, dashboard.permissions.editors) && !utils.allowed(user.roles, dashboard.permissions.viewers))) {
|
||||
isAnonView = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Get the current page
|
||||
var pages = dashboard.pages,
|
||||
page;
|
||||
pages.forEach(function(p) {
|
||||
if (p.id == pageId) {
|
||||
page = p;
|
||||
}
|
||||
});
|
||||
%>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title><%= i18n.localize("dashboard.server.label")%></title>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="<%=urlPrefix%>libs/theme-wso2_1.0/images/favicon.png" />
|
||||
|
||||
<!-- Bootstrap CSS -->
|
||||
<link href="<%=urlPrefix%>libs/bootstrap_3.3.5/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<!-- Font WSO2 CSS -->
|
||||
<link href="<%=urlPrefix%>libs/font-wso2_1.0.0/css/font-wso2.min.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<!-- Jquery Nanoscroller CSS -->
|
||||
<link href="<%=urlPrefix%>libs/nanoscroller_0.8.7/nanoscroller.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<!-- Theme WSO2 CSS -->
|
||||
<link href="<%=urlPrefix%>libs/theme-wso2_1.0/css/theme-wso2.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<!-- Custom CSS -->
|
||||
<link href="<%=urlPrefix%>css/custom.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="<%=urlPrefix%>libs/html5shiv_3.7.2/html5shiv.min.js"></script>
|
||||
<script src="<%=urlPrefix%>libs/respond_1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- JQuery UI -->
|
||||
<link rel="stylesheet" type="text/css" href="<%=urlPrefix%>libs/jquery-ui-1.11.4/jquery-ui.min.css" />
|
||||
|
||||
<link rel="stylesheet" href="<%=urlPrefix%>css/dashboard.css" />
|
||||
|
||||
<!-- Common CSS -->
|
||||
<link rel="stylesheet" type="text/css" href="<%=urlPrefix%>css/common.css" />
|
||||
|
||||
<!-- Custom theme overrides -->
|
||||
<link rel="stylesheet" href="<%=urlPrefix%><%=utils.dashboardStyles(dashboard.theme)%>">
|
||||
</head>
|
||||
|
||||
<body class="dashboard lang_<%=request.getLocale()%>">
|
||||
|
||||
<!-- .left-sidebar -->
|
||||
<div class="sidebar-wrapper sidebar-nav toggled hidden-xs" id="left-sidebar" data-side="left" data-width="260" style="width:260px">
|
||||
<div class="nano">
|
||||
<div class="nano-content">
|
||||
|
||||
<div class="user">
|
||||
<div class="user-image">
|
||||
<span class="default">
|
||||
<span class="icon fw fw-stack">
|
||||
<i class="fw fw-circle fw-stack-2x"></i>
|
||||
<i class="fw fw-user fw-stack-1x fw-inverse"></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="user-name"><%= user ? user.username : "anon" %></div>
|
||||
</div>
|
||||
|
||||
<ul class="nav nav-pills nav-stacked pages">
|
||||
<% if (pages.length > 1) {
|
||||
// render links
|
||||
pages.forEach(function (p) {
|
||||
if (isAnonView || !user) {
|
||||
if (p.isanon) {
|
||||
// Anonymous viewing. So render only anonymous pages links.
|
||||
renderPageLink(p);
|
||||
}
|
||||
} else {
|
||||
renderPageLink(p);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function renderPageLink(p) {
|
||||
var queryString = isAnonView ? '?isAnonView=true' : '';
|
||||
%>
|
||||
<li class="<%= (p.id === pageId) ? 'active': '' %>"><a href="<%=dbRoot%><%=p.id%><%=queryString%>"><%=encodeHtml(p.title)%></a></li>
|
||||
<% } %>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<ul class="nav nav-pills nav-stacked">
|
||||
<% if (user) { %>
|
||||
<% if (!isAnonView && (urlDomain == user.domain || (user.domain == superDomain && (!urlDomain || urlDomain == superDomain)))) { %>
|
||||
<% if (user.isEditor) { %>
|
||||
<li><a href="<%=dbRoot%>?editor=true"><i class="icon fw fw-settings ues-copy" title="<%= i18n.localize("edit.button")%>"></i>Dashboard Settings</a></li>
|
||||
<% } else { %>
|
||||
<li><a href="<%=dbRoot%>?custom=true"><i class="icon fw fw-settings ues-copy" title="<%= i18n.localize("personalize")%>"></i>Customize Dashboard</a></li>
|
||||
<% } %>
|
||||
<% } %>
|
||||
<li><a href="<%=urlPrefix%>logout?destination=<%=dest%>"><i class="icon fw fw-sign-out"></i><%= i18n.localize("logout.label")%></a></li>
|
||||
<% } else { %>
|
||||
<li><a href="<%=urlPrefix%>login-controller?destination=<%=dest%>"><i class="icon fw fw-sign-in"></i><%= i18n.localize("login.label")%></a></li>
|
||||
<% } %>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- #page-content-wrapper -->
|
||||
<div class="page-content-wrapper remove-padding-xs" style="padding-left:260px;">
|
||||
<div class="nano">
|
||||
<div class="nano-content">
|
||||
|
||||
<div class="page-header">
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="navbar-header">
|
||||
<a class="sidebar-toggle-button hidden-xs" data-toggle="sidebar" data-target="#left-sidebar" data-container=".page-content-wrapper" data-container-divide="true" aria-expanded="true" rel="sub-nav">
|
||||
<span class="icon fw-stack">
|
||||
<i class="fw fw-menu fw-stack-1x toggle-icon-left"></i>
|
||||
</span>
|
||||
</a>
|
||||
<a class="sidebar-toggle-button visible-xs" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||||
<span class="icon fw-stack">
|
||||
<i class="fw fw-menu fw-stack-1x toggle-icon-up"></i>
|
||||
</span>
|
||||
</a>
|
||||
<div class="page-title pull-left text-center-xs">
|
||||
<h1 class="text-center-xs"><i class="icon fw fw-wso2-logo"></i><%=encodeHtml(dashboard.title)%></h1>
|
||||
</div>
|
||||
<div class="pull-right auth visible-xs">
|
||||
<span class="add-padding-left-3x"><%= user ? user.username : "anon" %></span>
|
||||
<span class="icon fw-stack fw-lg">
|
||||
<i class="fw fw-circle fw-stack-2x"></i>
|
||||
<i class="fw fw-user fw-stack-1x fw-inverse"></i>
|
||||
</span>
|
||||
</div>
|
||||
<ul class="nav collapse-nav-sub pull-right hidden">
|
||||
<li class="visible-inline-block">
|
||||
<a data-toggle="dropdown">
|
||||
<span class="icon fw-stack">
|
||||
<i class="fw fw-notification fw-stack-1x"></i>
|
||||
</span>
|
||||
<span class="badge">4</span>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right arrow alerts arrow-top-right dark add-margin-top-2x" role="menu">
|
||||
<ul class="sidebar-messages">
|
||||
<li class="message message-success">
|
||||
<h4><i class="icon fw fw-success"></i>Minor Information Message</h4>
|
||||
<p>Alerts don't have default classes, only base and modifier classes.</p>
|
||||
</li>
|
||||
<li class="message message-info">
|
||||
<h4><i class="icon fw fw-info"></i>Minor Information Message</h4>
|
||||
<p>Alerts don't have default classes, only base and modifier classes.</p>
|
||||
</li>
|
||||
<li class="message message-warning">
|
||||
<h4><i class="icon fw fw-warning"></i>Major Information Message</h4>
|
||||
<p>Alerts don't have default classes, only base and modifier classes.</p>
|
||||
</li>
|
||||
<li class="message message-danger">
|
||||
<h4><i class="icon fw fw-error"></i>Critical Information Message</h4>
|
||||
<p>Alerts don't have default classes, only base and modifier classes.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="navbar" class="navbar-collapse collapse" aria-expanded="false">
|
||||
<ul class="nav navbar-nav pages">
|
||||
<% if (pages.length > 1) {
|
||||
// render links
|
||||
pages.forEach(function (p) {
|
||||
if (isAnonView || !user) {
|
||||
if (p.isanon) {
|
||||
// Anonymous viewing. So render only anonymous pages links.
|
||||
renderPageLink(p);
|
||||
}
|
||||
} else {
|
||||
renderPageLink(p);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function renderPageLink(p) {
|
||||
var queryString = isAnonView ? '?isAnonView=true' : '';
|
||||
%>
|
||||
<li class="<%= (p.id === pageId) ? 'active': '' %>"><a href="<%=dbRoot%><%=p.id%><%=queryString%>"><%=encodeHtml(p.title)%></a></li>
|
||||
<% } %>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<ul class="nav nav-pills nav-stacked">
|
||||
<% if (user) { %>
|
||||
<% if (!isAnonView && (urlDomain == user.domain || (user.domain == superDomain && (!urlDomain || urlDomain == superDomain)))) { %>
|
||||
<% if (user.isEditor) { %>
|
||||
<li><a href="<%=dbRoot%>?editor=true"><i class="icon fw fw-settings ues-copy" title="<%= i18n.localize("edit.button")%>"></i>Dashboard Settings</a></li>
|
||||
<% } else { %>
|
||||
<li><a href="<%=dbRoot%>?custom=true"><i class="icon fw fw-settings ues-copy" title="<%= i18n.localize("personalize")%>"></i>Customize Dashboard</a></li>
|
||||
<% } %>
|
||||
<% } %>
|
||||
<li><a href="<%=urlPrefix%>logout?destination=<%=dest%>"><i class="icon fw fw-sign-out"></i><%= i18n.localize("logout.label")%></a></li>
|
||||
<% } else { %>
|
||||
<li><a href="<%=urlPrefix%>login-controller?destination=<%=dest%>"><i class="icon fw fw-sign-in"></i><%= i18n.localize("login.label")%></a></li>
|
||||
<% } %>
|
||||
</ul>
|
||||
</div><!--/.nav-collapse -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- page content -->
|
||||
<div class="container-fluid body-wrapper">
|
||||
|
||||
<div class="page-content">
|
||||
<!-- Components grid -->
|
||||
<div class="ues-components-grid gadgets-grid">
|
||||
<%=renderEngine.getDashboardContent(pageId || dashboard.landing, isAnonView)%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /#page-content-wrapper -->
|
||||
|
||||
<!--Footer -->
|
||||
<footer class="footer">
|
||||
<div class="container-fluid">
|
||||
<p>WSO2 Dashboard Server 2.0.0 | © <script>document.write(new Date().getFullYear());</script> <a href="http://wso2.com/" target="_blank"><i class="icon fw fw-wso2"></i> Inc</a>.</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Jquery/Jquery UI JS -->
|
||||
<script src="<%=urlPrefix%>libs/jquery_1.11.0/jquery-1.11.3.min.js"></script>
|
||||
<script src="<%=urlPrefix%>libs/jquery-ui-1.11.4/jquery-ui.min.js"></script>
|
||||
|
||||
<!-- Bootstrap JS -->
|
||||
<script src="<%=urlPrefix%>libs/bootstrap_3.3.5/js/bootstrap.min.js"></script>
|
||||
|
||||
<!-- Jquery Nanoscroller JS -->
|
||||
<script src="<%=urlPrefix%>libs/nanoscroller_0.8.7/jquery.nanoscroller.min.js"></script>
|
||||
|
||||
<!-- Theme WSO2 JS -->
|
||||
<script src="<%=urlPrefix%>libs/theme-wso2_1.0/js/theme-wso2.js"></script>
|
||||
|
||||
<!-- Handlebars JS -->
|
||||
<script src="<%=urlPrefix%>libs/handlebars-v4.0.2/handlebars.min.js"></script>
|
||||
|
||||
<script src="/shindig/gadgets/js/container:open-views:opensearch:rpc:xmlutil:pubsub-2.js?c=1&debug=1&container=default"></script>
|
||||
<script src="<%=urlPrefix%>js/ues.js"></script>
|
||||
<script src="<%=urlPrefix%>js/ues-prefs.js"></script>
|
||||
<% include('/controllers/includes/common-scripts.jag'); %>
|
||||
<% include('/controllers/includes/dashboard-scripts.jag'); %>
|
||||
<script src="<%=urlPrefix%>js/ues-gadgets.js"></script>
|
||||
<script src="<%=urlPrefix%>js/ues-dashboards.js"></script>
|
||||
<script src="<%=urlPrefix%>extensions/components/gadget/index.js"></script>
|
||||
<script src="<%=urlPrefix%>extensions/components/widget/index.js"></script>
|
||||
<script src="<%=urlPrefix%>extensions/uris/local/index.js"></script>
|
||||
<script src="<%=urlPrefix%>extensions/uris/store/index.js"></script>
|
||||
<script src="<%=urlPrefix%>js/gadget-properties.js"></script>
|
||||
<script src="<%=urlPrefix%>js/ds-handlebar-helpers.js"></script>
|
||||
<script src="<%=urlPrefix%>js/ues-saml-at.js"></script>
|
||||
<script src="<%=urlPrefix%>js/dashboard.js"></script>
|
||||
<% include('/controllers/includes/theme-dashboard-scripts.jag'); %>
|
||||
|
||||
<!-- Handlebar templates -->
|
||||
<!-- Component container -->
|
||||
<script id="ues-component-box-content-hbs" type="text/x-handlebars-template">
|
||||
<div class="gadget-wrapper">
|
||||
<div class="ues-component gadget">
|
||||
<div class="ues-component-heading gadget-heading">
|
||||
<h4 class="ues-component-title gadget-title truncate"></h4>
|
||||
|
||||
<div class="ues-component-actions gadget-actions">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ues-component-body gadget-body"></div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<!-- Component toolbar actions -->
|
||||
<script id="ues-component-actions-hbs" type="text/x-handlebars-template">
|
||||
<div class="btn-group">
|
||||
{{#if userPrefsExists}}
|
||||
<button type="button" class="btn btn-default ues-component-settings-handle" title="<%= i18n.localize("properties.label") %>">
|
||||
<i class="icon fw fw fw-configarations"></i>
|
||||
</button>
|
||||
{{/if}}
|
||||
<button type="button" class="btn btn-default ues-component-full-handle" title="<%= i18n.localize("maximize.label") %>"
|
||||
data-maximize-title="<%= i18n.localize("maximize.label") %>" data-minimize-title="<%= i18n.localize("minimize.label") %>">
|
||||
<i class="icon fw fw-expand"></i>
|
||||
</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<!-- Gadget settings -->
|
||||
<script id="ues-gadget-setting-hbs" type="text/x-handlebars-template">
|
||||
<div class="ues-sandbox gadget-setting" data-component="{{id}}">
|
||||
<form>
|
||||
{{#has options}}
|
||||
<div class="ues-options">
|
||||
<h4><%= i18n.localize("options") %></h4>
|
||||
{{#each options}}
|
||||
<div class="form-group">
|
||||
<div class="col-sm-12">
|
||||
{{#equals type "STRING"}}
|
||||
<label>{{title}}
|
||||
<input type="text" class="form-control" name="{{@key}}" placeholder="{{title}}" value="{{value}}">
|
||||
</label>
|
||||
{{/equals}}
|
||||
{{#equals type "BOOL"}}
|
||||
<label>
|
||||
<input type="checkbox" name="{{title}}"{{#equals value true}} checked="checked"{{/equals}}> {{title}}
|
||||
</label>
|
||||
{{/equals}}
|
||||
{{#equals type "ENUM"}}
|
||||
<label>{{title}}
|
||||
<select id={{title}} name={{title}} class="form-control ues-title-position">
|
||||
{{#each options}}
|
||||
<option value={{value}}{{#equals value ../value}} selected="selected"{{/equals}}>{{displayValue}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</label>
|
||||
{{/equals}}
|
||||
{{#equals type "LIST"}}
|
||||
<label>{{title}}
|
||||
<textarea name="{{@key}}" class="form-control" rows="4" placeholder='<%= i18n.localize("placeholder.item.list")%>'>{{value}}</textarea>
|
||||
<label><%= i18n.localize("enter.your.list.entries.label")%></label>
|
||||
</label>
|
||||
{{/equals}}
|
||||
{{#equals type "text"}}
|
||||
<label>{{title}}
|
||||
<textarea name="{{@key}}" class="form-control" rows="4">{{value}}</textarea>
|
||||
</label>
|
||||
{{/equals}}
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="alert alert-info">No properties to configure.</div>
|
||||
{{/has}}
|
||||
</form>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script>
|
||||
|
||||
var nanoScrollerSelector = $(".nano");
|
||||
nanoScrollerSelector.nanoScroller();
|
||||
|
||||
function updateSidebarNav(target) {
|
||||
$(target).show();
|
||||
$(target).siblings().hide();
|
||||
nanoScrollerSelector[0].nanoscroller.reset();
|
||||
}
|
||||
|
||||
if (!ues.global.renderFromExtension) {
|
||||
ues.dashboards.render($('.ues-components-grid'), ues.global.dashboard, ues.global.page);
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
// Show banner
|
||||
if (ues.global.dashboard.banner.globalBannerExists || ues.global.dashboard.banner.customBannerExists) {
|
||||
$('.ues-banner-placeholder').css("background-image", "url('<%=tenantedUrlPrefix%>banners/<%=dashboard.id%>')");
|
||||
} else {
|
||||
$('.ues-banner-placeholder').hide();
|
||||
}
|
||||
|
||||
// Toggle component box heading
|
||||
$('.ues-component').hover(function() {
|
||||
toggleHeading($(this), true);
|
||||
}, function() {
|
||||
toggleHeading($(this), false);
|
||||
});
|
||||
});
|
||||
|
||||
function toggleHeading(source, show) {
|
||||
if (source.hasClass('ues-no-heading')) {
|
||||
var heading = source.find('.ues-component-heading');
|
||||
if (show) {
|
||||
heading.slideDown();
|
||||
} else {
|
||||
heading.slideUp();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in new issue