Skip to content

Commit 0868040

Browse files
committed
1.34.0 release
1 parent bc4b032 commit 0868040

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1158
-265
lines changed

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
# 1.34.0 (07/07/2016)
2+
3+
## Features
4+
5+
- Dashboard Sidebar: Added a new sidebar with a toolbar of relevent links, ability to show/hide Widgets, and space for Dashboard-defined content to appear. Dashboards can use this space to provide useful information about the data or visualizations, or to add controls, filters, etc.
6+
7+
- Cyclotron.functions.forceUpdate: Added method to manually trigger an Angular.js digest cycle.
8+
9+
- Upgraded Moment.js to 2.13.0
10+
11+
## Bug Fixes
12+
13+
- Dashboard Performance: improved dashboard performance across the board
14+
15+
- Table Widget: fixed broken Freeze Headers functionality
16+
17+
- Header Widget: when displaying page name in the header, value was always blank
18+
19+
- Fixed Numeral formatting errors with non-numeric strings; added unit tests
20+
121
# 1.33.0 (06/23/2016)
222

323
## Features
Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11

22
//- Dashboards
3-
div.dashboard
3+
div.dashboard.dashboard-page-background(ng-class='{ "has-sidebar": dashboard.sidebar.showDashboardSidebar }')
4+
5+
.click-cover
6+
7+
include dashboardSidebar
48

59
.dashboard-controls(ng-hide='dashboard.showDashboardControls == false')
610
i.fa.fa-chevron-left(ng-click='moveBack()', ng-class='{ disabled: !canMoveBack() }', title='Go to the previous page')
@@ -12,7 +16,7 @@ div.dashboard
1216
i.fa.fa-chevron-right(ng-click='moveForward()', ng-class='{ disabled: !canMoveForward() }', title='Go to the next page')
1317

1418
.dashboard-pages
15-
div(dashboard-page, dashboard='dashboard',
16-
page='page', page-number='{{ currentPageIndex }}', page-overrides='dashboardOverrides.pages[currentPageIndex]',
17-
ng-repeat='page in currentPage')
19+
div(dashboard-page, ng-repeat='page in currentPage',
20+
dashboard='dashboard', page='page', page-number='{{ currentPageIndex }}',
21+
page-overrides='dashboardOverrides.pages[currentPageIndex]')
1822

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
.dashboard-sidebar.collapsed.dashboard-page-background(ng-if='dashboard.sidebar.showDashboardSidebar')
2+
.sidebar-expander-hitbox
3+
.sidebar-expander
4+
i.fa.fa-caret-right
5+
6+
.sidebar-header
7+
h1(ng-if='dashboard.sidebar.showDashboardTitle == true') {{ dashboardDisplayName }}
8+
table.iconbar(ng-if='dashboard.sidebar.showToolbar == true')
9+
tr
10+
td
11+
a(ng-href='/edit/{{ dashboard.name }}', title='Edit this Dashboard', target='_blank')
12+
i.fa.fa-edit
13+
td(ng-if='analyticsEnabled()')
14+
a(ng-href='/analytics/{{ dashboard.name }}', title='View Analytics for this Dashboard', target='_blank')
15+
i.fa.fa-bar-chart
16+
td
17+
a(ng-href='{{ exportUrl }}', title='Export this Dashboard', target='_blank')
18+
i.fa.fa-download
19+
td(requires-auth)
20+
i.fa.fa-thumbs-o-up(ng-if='!isLiked', ng-click='toggleLike()', title='Like this Dashboard')
21+
i.fa.fa-thumbs-up(ng-if='isLiked', ng-click='toggleLike()', title='Unlike this Dashboard')
22+
23+
.sidebar-accordion
24+
25+
accordion-group(ng-repeat='content in dashboard.sidebar.sidebarContent track by $index', heading='{{ content.heading }}')
26+
div(ng-bind-html='trustHtml(content.html)')
27+
28+
accordion-group(heading='Show/Hide Widgets', ng-if='dashboard.sidebar.showHideWidgets == true')
29+
table.table
30+
tr(ng-repeat='widget in widgetVisibilities track by $index')
31+
td {{ widget.label }}
32+
td
33+
switch(ng-model='widget.visible', ng-change='changeVisibility(widget, $index)')
34+
p.centered
35+
a(ng-click='resetDashboardOverrides()', title='Reset to default')
36+
i.fa.fa-refresh
37+
| Reset to default
38+
.sidebar-footer
39+
.logos
40+
a.logo(ng-repeat='logo in footerLogos', title='{{ logo.title }}',
41+
ng-href='{{ logo.href }}', target='_self')
42+
img(ng-src='{{ logo.src }}', alt='{{ logo.title }}')

cyclotron-site/app/partials/header.jade

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
i.fa.fa-file-o
1010
a.documentation(ui-sref='help', target='_blank' title='Documentation for Cyclotron')
1111
i.fa.fa-question-circle
12-
a.analytics(ui-sref='analytics', title='Analytics for Cyclotron')
12+
a.analytics(ng-if='analyticsEnabled()', ui-sref='analytics', title='Analytics for Cyclotron')
1313
i.fa.fa-bar-chart
1414
a.login(requires-auth, ng-click='login()', ng-if='!isLoggedIn()', title='Login')
1515
i.fa.fa-unlock

cyclotron-site/app/partials/help/3rdparty.jade

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ table
2828
tr
2929
td
3030
a(href='http://momentjs.com/', target='_blank') Moment.js
31-
td 2.8.4
31+
td 2.13.0
3232
td Parse, validate, manipulate, and display dates in javascript
3333
tr
3434
td

cyclotron-site/app/partials/help/javascriptApi.jade

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,18 @@ table
3535
td Cyclotron.getDeeplink()
3636
td Returns a deeplink URL to the current Dashboard, including the values of all Parameters
3737

38+
h4 Functions
39+
40+
p These functions are hooks into Cyclotron that can be leveraged by Dashboards
41+
42+
table
43+
tr
44+
th Function
45+
th Description
46+
tr
47+
td Cyclotron.functions.forceUpdate()
48+
td Forces Cyclotron to do an internal update of Dashboard state, e.g. syncing parameters to the URL. In general, this should not be needed, but can be used to immediately trigger an update cycle after running custom JavaScript.
49+
3850
h4 Built-In Parameters
3951

4052
p These Parameters are built-in to every Dashboard, and appear in the URL when set. They don't have to be configured manually in the Parameters section of the Dashboard, but they can be added there in order to change the default value.

cyclotron-site/app/partials/home.jade

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
a.documentation(ui-sref='help', title='Documentation for Cyclotron')
3838
i.fa.fa-question-circle
3939
span Help
40-
a.login(ui-sref='analytics', title='Analytics for Cyclotron')
40+
a.login(ng-if='analyticsEnabled()', ui-sref='analytics', title='Analytics for Cyclotron')
4141
i.fa.fa-bar-chart
4242
span Analytics
4343
a.login(requires-auth, ng-if='!isLoggedIn()', ng-click='login()',title='Login')
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.panel-group(ng-transclude='')
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
.panel.panel-default
2+
.panel-heading(ng-click='toggleOpen()')
3+
h4.panel-title
4+
a.accordion-toggle(accordion-transclude='heading')
5+
span(ng-class='{"text-muted": isDisabled}') {{heading}}
6+
7+
.panel-collapse(uib-collapse='!isOpen')
8+
.panel-body(ng-style='styles', ng-transclude='')

cyclotron-site/app/scripts/common/app.coffee

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,10 @@ cyclotronApp = angular.module 'cyclotronApp', [
4848
'ui.bootstrap'
4949
'ui.ace'
5050
'drahak.hotkeys'
51+
'googlechart'
5152
'LocalForageModule'
5253
'tableSort'
53-
'googlechart'
54+
'uiSwitch'
5455
]
5556

5657
cyclotronDirectives = angular.module 'cyclotronApp.directives', []
@@ -309,7 +310,7 @@ cyclotronApp.config ($stateProvider, $urlRouterProvider, $locationProvider, $con
309310
}
310311
$locationProvider.hashPrefix = '!'
311312

312-
cyclotronApp.run ($rootScope, $urlRouter, $location, $state, $stateParams, $uibModal, userService) ->
313+
cyclotronApp.run ($rootScope, $urlRouter, $location, $state, $stateParams, $uibModal, configService, userService) ->
313314

314315
#
315316
# Authentication-related scope variables
@@ -318,6 +319,8 @@ cyclotronApp.run ($rootScope, $urlRouter, $location, $state, $stateParams, $uibM
318319
$rootScope.isAdmin = userService.isAdmin
319320
$rootScope.currentUser = userService.currentUser
320321

322+
$rootScope.analyticsEnabled = -> configService.enableAnalytics
323+
321324
$rootScope.login = (isModal = false) ->
322325
options =
323326
templateUrl: '/partials/login.html'

0 commit comments

Comments
 (0)