diff --git a/index.html b/index.html
index 337f275..ce81236 100644
--- a/index.html
+++ b/index.html
@@ -22,7 +22,7 @@
+
-
-
-
+
+
+h1 {
+font-family: 'Lato';
+font-weight: 300;
+}
+h2 {
+font-family: 'Lato';
+font-weight: 300;
+}
+h3 {
+font-family: 'Lato';
+font-weight: 300;
+}
+h4 {
+font-family: 'Lato';
+font-weight: 300;
+font-style: italic;
+}
+h5 {
+font-family: 'Lato';
+font-weight: 300;
+font-style: italic;
+}
+
+.navbar {
+background-color:#00806E;
+border-color: black;
+font-family: 'Lato';
+font-weight: 300;
+}
+.navbar-brand {
+font-family: 'Roboto Condensed';
+font-weight: bold;
+color: #FF0000;
+}
+.navbar-nav li a:hover, .navbar-nav > .active > a {
+color: #fff !important;
+background-color:#5c4a42!important;
+background-image: none !important;
+}
+
+.sidebar {
+font-family: 'Lato';
+font-weight: 300;
+}
+.section.sidebar {
+background-color: #95898430;
+}
+#editor-map {
+height: calc(100vh - 60px) !important;
+}
+#map {
+height: calc(100vh - 60px) !important;
+}
+
+.level3 {
+font-family: 'Lato';
+font-weight: 300;
+}
+.chart-title {
+font-family: 'Lato';
+font-weight: 300;
+font-style: italic;
+}
+.nav-tabs {
+font-family: 'Lato';
+font-weight: 300;
+font-style: italic;
+}
+.control-label {
+font-family: 'Lato';
+font-weight: 300;
+}
+.shiny-text-output {
+font-family: 'Lato';
+font-weight: 300;
+}
+.material-switch {
+font-family: 'Lato';
+font-weight: 300;
+}
+
+.irs-bar {
+background: #00806E
+}
+.irs-bar {
+border-top: 1px #00806E
+}
+.irs-bar-edge {
+background: #00806E
+}
+.irs-bar-edge {
+border: 1px #00806E
+}
+.irs-single {
+background: #00806E;
+}
+
+.nav-tabs-custom > .nav-tabs > li.active {
+border-top-color: #00806E;
+}
+
+.bar-cell {
+display: flex;
+align-items: center;
+}
+.number {
+font-family: "Fira Mono", Consolas, Monaco, monospace;
+font-size: 13.5px;
+white-space: pre;
+}
+.bar-chart {
+flex-grow: 1;
+margin-left: 6px;
+height: 14px;
+}
+.bar {
+height: 100%;
+}
+
+.leaflet-control {
+font-family: 'Lato';
+font-weight: 300;
+}
+
+.caption {
+font-family: 'Lato';
+font-weight: 300;
+font-style: italic;
+}
+
@@ -7792,12 +7460,6 @@
@@ -8023,11 +7691,13 @@
for (var j = 0; j');
- li.append(navbarLink(subItem.icon, subItem.title, subItem.href, subItem.target));
+ var a = navbarLink(subItem.icon, subItem.title, subItem.href, subItem.target);
+ a.removeClass("nav-link").addClass("dropdown-item");
+ li.append(a);
menu.append(li);
}
} else {
- var li = $('');
+ var li = $('');
li.append(navbarLink(item.icon, item.title, item.href, item.target));
container.append(li);
}
@@ -8042,7 +7712,7 @@
if (existingMenu.length > 0) {
return existingMenu.children('ul');
} else {
- var li = $('');
+ var li = $('');
if (id)
li.attr('id', id);
li.addClass('dropdown');
@@ -8055,6 +7725,7 @@
var a = navbarLink(icon, title, "#");
a.addClass('dropdown-toggle');
a.attr('data-toggle', 'dropdown');
+ a.attr('data-bs-toggle', 'dropdown');
a.attr('role', 'button');
a.attr('aria-expanded', 'false');
li.append(a);
@@ -8072,6 +7743,7 @@
var id = page.attr('id');
var icon = page.attr('data-icon');
var navmenu = page.attr('data-navmenu');
+ var navmenuIcon = page.attr('data-navmenu-icon');
// get hidden state (transfer this to navbar)
var hidden = page.hasClass('hidden');
@@ -8090,8 +7762,6 @@
// add the tab-pane class to the wrapper
wrapper.addClass('tab-pane');
- if (active)
- wrapper.addClass('active');
// get a reference to the h1, discover its inner contens, then detach it
var h1 = wrapper.find('h1').first();
@@ -8102,18 +7772,25 @@
var li = $('');
var a = navbarLink(icon, title, '#' + id);
a.attr('data-toggle', 'tab');
+ a.attr('data-bs-toggle', 'tab');
li.append(a);
// add it to the navbar (or navbar menu if specified)
var container = $('ul.navbar-left');
if (navmenu) {
var menuId = navmenu.replace(/\s+/g, '');
- var menu = navbarMenu(menuId, null, navmenu, container);
+ var menu = navbarMenu(menuId, navmenuIcon, navmenu, container);
+ li.find("> a").removeClass("nav-link").addClass("dropdown-item");
menu.append(li);
} else {
+ li.addClass("nav-item")
container.append(li);
}
+ // mark active tab and corresponding nav menu item
+ if (active)
+ $(a).tab("show");
+
// hide it if requested
if (hidden)
li.addClass('hidden');
@@ -8121,7 +7798,7 @@
function navbarLink(icon, title, href, target) {
- var a = $('');
+ var a = $('');
if (icon) {
// get the name of the icon set and icon
@@ -8178,8 +7855,7 @@
var serviceLinks = {
"twitter": "https://twitter.com/share?text=" + encodeURIComponent(document.title) + "&url="+encodeURIComponent(location.href),
- "facebook": "https://www.facebook.com/sharer/sharer.php?s=100&p[url]="+encodeURIComponent(location.href),
- "google-plus": "https://plus.google.com/share?url="+encodeURIComponent(location.href),
+ "facebook": "https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href),
"linkedin": "https://www.linkedin.com/shareArticle?mini=true&url="+encodeURIComponent(location.href) + "&title=" + encodeURIComponent(document.title),
"pinterest": "https://pinterest.com/pin/create/link/?url="+encodeURIComponent(location.href) + "&description=" + encodeURIComponent(document.title)
};
@@ -8796,7 +8472,8 @@
// check for fade option
var fade = tabset.hasClass("tabset-fade");
- var navClass = "nav-tabs";
+ var pills = tabset.hasClass("tabset-pills");
+ var navClass = pills ? "nav-pills" : "nav-tabs";
// determine the heading level of the tabset and tabs
var match = tabset.attr('class').match(/level(\d) /);
@@ -8817,6 +8494,7 @@
$(tabs[0]).before(tabContent);
// build the tabset
+ var activeTab = 0;
tabs.each(function(i) {
// get the tab div
@@ -8825,6 +8503,10 @@
// get the id then sanitize it for use with bootstrap tabs
var id = tab.attr('id');
+ // see if this is marked as the active tab
+ if (tab.hasClass('active'))
+ activeTab = i;
+
// sanitize the id for use with bootstrap tabs
id = id.replace(/[.\/?&!#<>]/g, '').replace(/\s/g, '_');
tab.attr('id', id);
@@ -8834,14 +8516,12 @@
var headingDom = heading.contents();
// build and append the tab list item
- var a = $('');
+ var a = $('');
a.append(headingDom);
a.attr('href', '#' + id);
a.attr('aria-controls', id);
- var li = $('');
+ var li = $('');
li.append(a);
- if (i === 0)
- li.attr('class', 'active');
tabList.append(li);
// set it's attributes
@@ -8851,16 +8531,18 @@
tab.addClass('no-title');
if (fade)
tab.addClass('fade');
- if (i === 0) {
- tab.addClass('active');
- if (fade)
- tab.addClass('in');
- }
// move it into the tab content div
tab.detach().appendTo(tabContent);
});
+ // set active tab
+ $(tabList.children()[activeTab]).tab("show");
+ var active = $(tabContent.children('div.section')[activeTab]);
+ active.addClass('active');
+ if (fade)
+ active.addClass('in');
+
// add nav-tabs-custom
tabset.addClass('nav-tabs-custom');
@@ -9035,9 +8717,10 @@
// restore tab/page from bookmark
var hash = window.decodeURIComponent(window.location.hash);
- if (hash.length > 0)
+ if (hash.length > 0) {
+ // Update the tab without .showPage() so that we don't change page history
$('ul.nav a[href="' + hash + '"]').tab('show');
- FlexDashboardUtils.manageActiveNavbarMenu();
+ }
// navigate to a tab when the history changes
window.addEventListener("popstate", function(e) {
@@ -9046,9 +8729,9 @@
if (activeTab.length) {
activeTab.tab('show');
} else {
+ // returning to the base page URL without a hash activates first tab
$('ul.nav a:first').tab('show');
}
- FlexDashboardUtils.manageActiveNavbarMenu();
});
// add a hash to the URL when the user clicks on a tab/page
@@ -9101,111 +8784,11 @@
}
}
-
- // get theme color
- var themeColors = {
- bootstrap: {
- primary: "rgba(51, 122, 183, 0.4)",
- info: "rgb(217, 237, 247)",
- success: "rgb(223, 240, 216)",
- warning: "rgb(252, 248, 227)",
- danger: "rgb(242, 222, 222)"
- },
- cerulean: {
- primary: "rgb(47, 164, 231)",
- info: "rgb(217, 237, 247)",
- success: "rgb(223, 240, 216)",
- warning: "rgb(252, 248, 227)",
- danger: "rgb(242, 222, 222)"
- },
- journal: {
- primary: "rgba(235, 104, 100, 0.70)",
- info: "rgb(217, 237, 247)",
- success: "rgb(223, 240, 216)",
- warning: "rgb(252, 248, 227)",
- danger: "rgb(242, 222, 222)"
- },
- flatly: {
- primary: "rgba(44, 62, 80, 0.70)",
- info: "rgba(52, 152, 219, 0.70)",
- success: "rgba(24, 188, 156, 0.70)",
- warning: "rgba(243, 156, 18, 0.70)",
- danger: "rgba(231, 76, 60, 0.70)"
- },
- readable: {
- primary: "rgba(69, 130, 236, 0.4)",
- info: "rgb(217, 237, 247)",
- success: "rgb(223, 240, 216)",
- warning: "rgb(252, 248, 227)",
- danger: "rgb(242, 222, 222)"
- },
- spacelab: {
- primary: "rgba(68, 110, 155, 0.25)",
- info: "rgb(217, 237, 247)",
- success: "rgb(223, 240, 216)",
- warning: "rgb(252, 248, 227)",
- danger: "rgb(242, 222, 222)"
- },
- united: {
- primary: "rgba(221, 72, 20, 0.30)",
- info: "rgb(217, 237, 247)",
- success: "rgb(223, 240, 216)",
- warning: "rgb(252, 248, 227)",
- danger: "rgb(242, 222, 222)"
- },
- cosmo: {
- primary: "rgba(39, 128, 227, 0.7)",
- info: "rgba(153, 84, 187, 0.7)",
- success: "rgba(63, 182, 24, 0.7)",
- warning: "rgba(255, 117, 24, 0.7)",
- danger: "rgba(255, 0, 57, 0.7)"
- },
- lumen: {
- primary: "rgba(21, 140, 186, 0.70)",
- info: "rgba(117, 202, 235, 0.90)",
- success: "rgba(40, 182, 44, 0.70)",
- warning: "rgba(255, 133, 27, 0.70)",
- danger: "rgba(255, 65, 54, 0.70)"
- },
- paper: {
- primary: "rgba(33, 150, 243, 0.35)",
- info: "rgb(225, 190, 231)",
- success: "rgb(223, 240, 216)",
- warning: "rgb(255, 224, 178)",
- danger: "rgb(249, 189, 187)"
- },
- sandstone: {
- primary: "rgba(50, 93, 136, 0.3)",
- info: "rgb(217, 237, 247)",
- success: "rgb(223, 240, 216)",
- warning: "rgb(252, 248, 227)",
- danger: "rgb(242, 222, 222)"
- },
- simplex: {
- primary: "rgba(217, 35, 15, 0.25)",
- info: "rgb(217, 237, 247)",
- success: "rgb(223, 240, 216)",
- warning: "rgb(252, 248, 227)",
- danger: "rgb(242, 222, 222)"
- },
- yeti: {
- primary: "rgba(0, 140, 186, 0.298039)",
- info: "rgb(217, 237, 247)",
- success: "rgb(223, 240, 216)",
- warning: "rgb(252, 248, 227)",
- danger: "rgb(242, 222, 222)"
- }
- }
- function themeColor(color) {
- return themeColors[_options.theme][color];
- }
-
FlexDashboard.prototype = {
constructor: FlexDashboard,
init: init,
isMobilePhone: isMobilePhone,
- isFillPage: isFillPage,
- themeColor: themeColor
+ isFillPage: isFillPage
};
return FlexDashboard;
@@ -9232,7 +8815,6 @@
setTimeout(function() {
window.scrollTo(0, 0);
}, 10);
- this.manageActiveNavbarMenu();
},
showPage: function(href) {
$('ul.navbar-nav li a[href="' + href + '"]').tab('show');
@@ -9260,17 +8842,6 @@
return url.substring(hashLoc);
else
return "";
- },
- manageActiveNavbarMenu: function () {
- // remove active from anyone currently active
- $('.navbar ul.nav').find('li').removeClass('active');
- // find the active tab
- var activeTab = $('.dashboard-page-wrapper.tab-pane.active');
- if (activeTab.length > 0) {
- var tabId = activeTab.attr('id');
- if (tabId)
- $(".navbar ul.nav a[href='#" + tabId + "']").parents('li').addClass('active');
- }
}
};
@@ -9354,16 +8925,6 @@
}
});
-// datatables
-window.FlexDashboardComponents.push({
- find: function(container) {
- return container.find('.datatables');
- },
- flex: function(fillPage) {
- return fillPage;
- }
-});
-
// bootstrap table
window.FlexDashboardComponents.push({
@@ -9532,21 +9093,6 @@
if (chartIcon)
setIcon(chartIcon);
- // set color based on data-background if necessary
- var dataBackground = valueBox.attr('data-background');
- if (dataBackground)
- valueBox.css('background-color', bgColor);
- else {
- // default to bg-primary if no other background is specified
- if (!valueBox.hasClass('bg-primary') &&
- !valueBox.hasClass('bg-info') &&
- !valueBox.hasClass('bg-warning') &&
- !valueBox.hasClass('bg-success') &&
- !valueBox.hasClass('bg-danger')) {
- valueBox.addClass('bg-primary');
- }
- }
-
// handle data attributes in valueOutputSpan
function handleValueOutput(valueOutput) {
@@ -9560,19 +9106,30 @@
if (dataIcon)
setIcon(dataIcon);
- // color
+ // If valueBox(color=) was an accent color, this attr should
+ // be populated with the accent color and the relevant CSS comes
+ // in through HTML dependencies
+ var dataColorAccent = valueOutput.attr('data-color-accent');
+ var valueBoxClasses = "value-box-" + (["primary", "info", "danger", "warning", "success"].join(" value-box-"));
+ if (dataColorAccent) {
+ valueBox.removeClass(valueBoxClasses);
+ valueBox.addClass('value-box-' + dataColorAccent);
+ }
+
+ // If valueBox(color=) was a CSS color, these other data-color-*
+ // attrs will be populated
var dataColor = valueOutput.attr('data-color');
if (dataColor) {
- if (dataColor.indexOf('bg-') === 0) {
- valueBox.css('background-color', '');
- if (!valueBox.hasClass(dataColor)) {
- valueBox.removeClass('bg-primary bg-info bg-warning bg-danger bg-success');
- valueBox.addClass(dataColor);
- }
- } else {
- valueBox.removeClass('bg-primary bg-info bg-warning bg-danger bg-success');
- valueBox.css('background-color', dataColor);
- }
+ valueBox.removeClass(valueBoxClasses);
+ valueBox.css('background-color', dataColor);
+ }
+ var dataColorText = valueOutput.attr('data-color-text');
+ if (dataColorText) {
+ valueBox.find(".inner").css('color', dataColorText);
+ }
+ var dataColorIcon = valueOutput.attr('data-color-icon');
+ if (dataColorIcon) {
+ valueBox.find(".icon").css('color', dataColorIcon);
}
// url
@@ -9752,8 +9309,8 @@ Hexagons show site locations where volunteers searched for scallops.
-
-
+
+
@@ -9763,21 +9320,21 @@
-
263
+
263
@@ -9794,8 +9351,8 @@ Hexagons show site locations where volunteers searched for scallops.
-
-
+
+
@@ -9805,21 +9362,21 @@
-
26
+
26
@@ -9836,8 +9393,8 @@ Hexagons show site locations where volunteers searched for scallops.
-
-
+
+
@@ -9847,21 +9404,21 @@
-
148
+
148
@@ -9878,8 +9435,8 @@ Hexagons show site locations where volunteers searched for scallops.
-
-
+
+
@@ -9889,21 +9446,21 @@
-
131
+
131
@@ -9920,8 +9477,8 @@ Hexagons show site locations where volunteers searched for scallops.
-
-
+
+
@@ -9931,21 +9488,21 @@
-
102
+
102
@@ -9962,8 +9519,8 @@ Hexagons show site locations where volunteers searched for scallops.
-
-
+
+
@@ -9973,21 +9530,21 @@
-
162
+
162
@@ -10004,8 +9561,8 @@ Hexagons show site locations where volunteers searched for scallops.
-
-
+
+
@@ -10015,21 +9572,21 @@
-
249
+
249
@@ -10046,8 +9603,8 @@ Hexagons show site locations where volunteers searched for scallops.
-
-
+
+
@@ -10057,21 +9614,21 @@
-
115
+
115
@@ -10088,8 +9645,8 @@ Hexagons show site locations where volunteers searched for scallops.
-
-
+
+
@@ -10099,21 +9656,21 @@
-
5
+
5
@@ -10130,8 +9687,8 @@ Hexagons show site locations where volunteers searched for scallops.
-
-
+
+
@@ -10141,21 +9698,21 @@
-
33
+
33
@@ -10172,8 +9729,8 @@ Hexagons show site locations where volunteers searched for scallops.
-
-
+
+
@@ -10183,21 +9740,21 @@
-
694
+
694
@@ -10214,8 +9771,8 @@ Hexagons show site locations where volunteers searched for scallops.
-
-
+
+
@@ -10225,21 +9782,21 @@
-
621
+
621
@@ -10256,8 +9813,8 @@ Hexagons show site locations where volunteers searched for scallops.
-
-
+
+
@@ -10267,21 +9824,21 @@
-
555
+
555
@@ -10297,8 +9854,8 @@ These plots show summary trends across all years when the scallop
-
-
+
+
@@ -10306,11 +9863,9 @@ These plots show summary trends across all years when the scallop