Skip to content

Commit

Permalink
1.35.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
baumandm committed Jul 22, 2016
1 parent 0868040 commit a12c900
Show file tree
Hide file tree
Showing 33 changed files with 1,250 additions and 151 deletions.
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# 1.35.0 (07/21/2016)

## Features

- Header Widget: Added built-in Parameter editing to the Header Widget, standardizing a common use-case for many Dashboards. Supports editing via textbox, checkbox, dropdown, list of links, datetime, date, or time. Dropdowns or link lists can be populating using results from a Data Source. Datetime/date/time types feature a UI date time picker, or can be edited manually.

- Widget Help Tooltips: Added new, optional help text to each Widget, which appears in a tooltip over a question mark icon in the top-right corner of the Widget. Useful to provide users some context or more information about the data being displayed.

- Upgraded Modernizer to 3.3.1 and tweaked feature selection.

## Bug Fixes

- Fixed issues with Incompatible Browser message appearing in Chrome when zooming in.

# 1.34.0 (07/07/2016)

## Features
Expand Down
2 changes: 1 addition & 1 deletion cyclotron-site/app/partials/editor/parameter.jade
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
i.fa.fa-times
span Remove Parameter

.editor-property-set(model='editor.selectedItem', definition='dashboardProperties.parameters.properties')
.editor-property-set(dashboard='editor.dashboard', model='editor.selectedItem', definition='dashboardProperties.parameters.properties')
2 changes: 1 addition & 1 deletion cyclotron-site/app/partials/editor/propertySet.jade
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@

.well.well-sm(ng-switch-when='propertyset')
div.recursive
.editor-property-set(model='model[value.name]', definition='value.properties')
.editor-property-set(dashboard='dashboard', model='model[value.name]', definition='value.properties')

.well.well-sm(ng-switch-when='propertyset[]')
div.recursive
Expand Down
5 changes: 5 additions & 0 deletions cyclotron-site/app/partials/help/3rdparty.jade
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,11 @@ table
a(href='http://ivaynberg.github.io/select2/', target='_blank') Select2
td 3.5.0
td Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results
tr
td
a(href='http://xdsoft.net/jqplugins/datetimepicker/', target='_blank') DateTimePicker
td 2.5.4
td jQuery Plugin Date and Time Picker
tr
td
a(href='http://fgnass.github.io/spin.js/', target='_blank') spin.js
Expand Down
69 changes: 54 additions & 15 deletions cyclotron-site/app/partials/help/parameters.jade
Original file line number Diff line number Diff line change
@@ -1,43 +1,82 @@
h3 Parameters

p The
em parameters
| property is an optional list of Parameters that can be used to configure the Dashboard. Each item in the array
| defines a Parameter by name. Each Parameter can have a
em defaultValue
| provided as well.
p Cyclotron provides support for Parameters, which are optionally-defined values used to configure the Dashboard. They can be used almost everywhere in Cyclotron, from Data Sources to Widgets, etc. Parameters should be used for values that can be modified while viewing the Dashboard, but are also convenient for constant values used in many places in a Dashboard, like connection information or a server name.

pre.code.
"parameters": [{
"name": "numberOfHours"
"defaultValue": 4
}]
strong Benefits of using Parameters

ul
li Centralized configuration, making it easy to change configuration which might be repeated in multiple Data Sources or Widgets
li Automatic URL synchronization
li Persistent value across sessions
li Built-in editor in the Header Widget

p These features are all optional per Parameter, so you can store both user-facing and internal configuration in Parameters.

h4 Parameters in the URL

p Parameters can be set when loading the Dashboard by using URL query parameters. Here is an example that sets two Parameters via the URL:
p By default, Parameters are synchronized to/from the URL automatically. That is, Parameters can be loaded from the URL query string when loading a Dashboard, and any changes to the Parameters will be reflected back to the URL. This allows a user to copy and share the current URL, including the current configuration.

p Here is an example that sets two Parameters via the URL:

pre.code.
http://cyclotron/MyDashboard?numberOfHours=8&includeFailures=true

p If any Parameters are modified by the Dashboard, the URL will be automatically updated with the new values.
p The URL contains two Parameters,
em numberOfHours
| and
em includeFailures
| , both of which will be initialized when the Dashboard opens. Any query string parameters will be loaded automatically into Cyclotron, even if they are not defined in the Dashboard configuration.

p If any Parameters are modified by the Dashboard (e.g. by JavaScript), the URL will be automatically updated with the new, non-default values. If a Parameter has a
em defaultValue
| , it will only appear in the URL when it has a non-default value.

p All Parameters appear in the URL by default, but this can be disabled for individual Parameters by setting
p URL synchronization can be disabled for individual Parameters by setting
em showInURL
| to false. It is still possible to set these Parameters via the URL on load, but they will be automatically stripped from the URL after loading.

h4 Persistent Parameters

p Persistent Parameters retain their value across multiple sessions of viewing a Dashboard. This is enabled by setting
p Persistent Parameters retain their value across multiple sessions of viewing a Dashboard with the same browser. This is disabled by default, but can be enabled by setting
em persistent
| to true. Once enabled, any changes to the Parameter will be immediately cached in the browser, and reloaded upon subsequent visits to the same dashboard. Persistent Parameters are stored by name, per Dashboard.

p Parameters are not stored server-side, so they will not persist across different browsers, devices, or after clearing browsing data.

p Cyclotron attempts to load Parameters in the following order:
ol
li All URL query string parameters are loaded
li Persistent Parameters which are not yet set will have their value retrieved from cache (if possible)
li Parameters which are not yet set will have be assigned a default value (if exists)

h4 Change Event

p Each Parameter has an optional
em changeEvent
| property that, if defined, runs a custom JavaScript function whenever the value of the Parameter changes. It doesn't run upon initialization of the Dashboard, but only if the value is changed subsequently.

p The property expects a JavaScript function in the following form:
pre.code.
function(parameterName, newValue, oldValue) {
// event handler
}

h4 Editing via the Header Widget

p The Header Widget has built-in support for modifying the value of Parameters while viewing a Dashboard. Each enabled Parameter will appear in the Header Widget with the current value, and users viewing the Dashboard can edit the Parameters' values using various editor types (e.g. textbox, checkbox, dropdown, datetime, etc.). Properties under the
em editing
| property set can determine how the Parameter is displayed and edited.

p In order to enable this feature, the Header Widget must have the
em parameters.showParameters
| property set to true; additionally at least one Parameter must have the
em editInHeader
| property set to true (defaults to false). This feature is opt-in for each Parameter.

p The Header Widget can also display a button for applying Parameter changes, with an event handler property that runs a JavaScript method whenever the user clicks on the button. Alternately, each Parameter can have the
em changeEvent
| property set, as described above.

h4 JavaScript API

p Parameters are also exposed to Dashboards through JavaScript. The
Expand Down
1 change: 1 addition & 0 deletions cyclotron-site/app/scripts/common/app.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ cyclotronApp.config ($stateProvider, $urlRouterProvider, $locationProvider, $con
lazyLoad = (jsDependencies, cssDependencies) ->
['$q', '$rootScope', ($q, $rootScope) ->
deferred = $q.defer()
cyclotronApp.loadedScripts ?= []

# Load stylesheets
if cssDependencies?
Expand Down
Loading

0 comments on commit a12c900

Please sign in to comment.