Releases: chop-dbhi/cilantro
Bug Fixes, Text Fixes, Notifications, and Config Options
Developers
The cilantro.templates
API now supports remote paths and functions fetched using the Cilantro RequireJS tpl
plugin. For example:
define(['cilantro'], function(c) {
// Extracts template ID based on path. Trims the leading slash and `template/`
// prefix if present.
c.templates.set('tpl!myproject/welcome.html');
// Wait until remote templates are loaded
c.ready(function() {
var template = c.templates.get('myproject/welcome');
});
});
define(['cilantro', 'tpl!myproject/welcome.html'], function(c, template) {
// Extracts template ID from function (added by the tpl plugin as _moduleName)
c.templates.set(template);
// Get it back out
template = c.templates.get('myproject/welcome');
});
Additionally, a validated method has been added(#537) to the ExporterDialog. This can be used by developers who might be extending the ExporterDialog. If you need to perform custom validation or extended validation before exporting results, you can do something like:
define(['cilantro'], function(c) {
var MyExporterDialog = c.ui.ExporterDialog.extend({
...
validate: function() {
var errors = c.ui.ExporterDialog.prototype.validate.apply(this, arguments);
// Do your custom validation here and add any errors with errors.push(...)
return errors;
},
...
});
});
Features
- Added a new config option to disable rounding for result counts under a certain threshold. When left unset, result counts will be rounded and larger values will have suffixes attached. For example,
11,321
would become11.3K
. However, if we set the threshold, viac.config.set('threshold', 100000);
for example, then no suffixing would happen because11,321
is less than the defined threshold of100,000
(#530). - Show the user a notification when a query(new or edited) is successfully saved (#536).
- Notify and provide instructions to the user when the results page is rendered and no columns are selected (#545).
Bug Fixes
- Fix issue where Apply/Update Filter buttons were not being disabled/enabled correctly (#532).
- Fix bug that allowed the user to export without selecting any columns (#539).
- Fix bug where control filters were not cleared of old attributes when new ones were set (#548).
- Fix bug where range controls would not disable the "Apply/Update Filter" button after clearing textbox (#551).
- Fix bug where users could save an empty view (#543).
Stability Fixes & Tests
Changes
- Current tests have been overhauled
- Fixed misspelled "accordian" components to "accordion"
- The query "Update" button is now disabled if no values are selected for existing filters
- The query workspace is now responsible for triggering the route for itself rather than the filter panel
Expose Accordian Module
Changes:
Accordian
,AccordianGroup
,AccordianSection
,AccordianItem
are all exposed now and can be used by projects that import Cilantro.- Since they are accessible, the following renaming took place to clarify purpose and avoid name clashes:
accordian.Group
becomesaccordian.AccordianGroup
accordian.Section
becomesaccordian.AccordianSection
accordian.Item
becomesaccordian.AccordianItem
Filter Related Refactoring and Fixes
Fixes:
- Fix bug where manually entered values were not validated in search control (#513)
- Fix CSS on context panel error view overlay so it doesn't break page layout when shown (#514).
Changes:
- Add support for control based validation
- Context panel message is set based on current route
- Replace concept-level form controls with field controls
- Force applied filters to be enabled
- Remove all now removes all except the required concepts
- Prevent removing a filter from triggering the concept view
Also includes some general refactoring and coffeescript to javascript porting.
Hotfix for 2.2.23
This fixes an issue where exports were being deemed completed whenever their status changed, regardless of the status itself. Now, the status is inspected before deeming the export done.
Dependency Updates & Fixes
Changes
- Bootstrap and Font Awesome is no longer embedded in the Cilantro stylesheet (#492)
- Note: this requires client applications to include the Bootstrap and Font Awesome stylesheets before the Cilantro stylesheet. Please read this commit message for details.
- Update to use Marionette 1.7.3, Highcharts 3.0.10, and Bootstrap 2.3.2
- Note: This requires adding a
shim
if your project defines a custommain.js
file. See more this commit message for more info and to see the required shim addition in Cilantro'smain.js
.
- Note: This requires adding a
Fixes
- The results workflow loading indicator has been fixed and now correctly show between request/sync events
- The search view has been fixed to correctly debounce subsequent key events (#502)
- RequireJS has been updated to 2.1.11 which includes a fix in Uglify that caused a bad minification (#501)
Developers
- JSHint options have been added and are now enforced in the Travis CI builds (#493)
- Source maps for minified files are now built and included in releases
- Note, this is the reason the distribution packages are roughly twice the size.
Hotfix for 2.2.21
This fixes an issue that closes the export progress before all the exports finished. In certain cases some the exports would never start.
Session Config & Refactoring
Enhancements
- The
session.defaults
configuration is now used as the default options for sessions (#481) - The columns in the "add/remove columns" dialog now independently scroll
- The concept columns dialog now shows a popover of the description and contained fields for additional information about the concept (#310)
- The exporter dialog has been refactored and now includes the progress of downloads in the dialog itself rather than being in a separate dialog.
Changes
- The default session ping interval has been increased to 30 seconds (previously 5) to reduce the chattiness to the server (#481)
Panels, Enhancements & Lots of Porting
Features
- The query concept and context panels have been removed as embedded views in the query and results workflows and now act as shared views for workflows that need them. They are now initialized and rendered independently and are accessible under
panels
namespace of thecilantro
object.- Note, this is defined in the
cilantro/main
module which means and requires custom main modules to include this logic as well. Simply add this code block to the custom module. - If top padding is added to the
body
element (for example when using the fixed navbar), add the same amount of padding to#concept-panel
and#context-panel
elements so the top of the elements are visually aligned.
- Note, this is defined in the
Enhancements
- Search input has been enhanced to prevent redundant queries from triggering.
- The session will no longer be pinged when the page is not visible. This takes advantage of the browser's Page Visibility API
- The query concept search now properly shows a "empty results" message. (#458)
- Registered workflows in
cilantro/main
are now attached to the exportedcilantro
object. - The query concept groups now auto-expand during a search and will revert to their previous state when the search is cleared. (#266)
Changes
- The
body
background style has been removed. The background image tile has been left, but must now be manually added to a project's stylesheet. - The concept description is now collapsed by default and can be expanded via a "read more" link. (#464)
- The checkbox for toggling if a filter is enabled has been moved to the left side of the description for a more familiar placement. (#465)
Bugs
- The concept form "jump-to links" now properly re-render on subsequent views.
- The query concept search has been fixed to prevent late queries from overriding the results of the current query results.
New NullSelector Control
Enhancements
A new NullSelector
control has been added to the list of default controls. This control allows you to filter a field based on whether or not it is null. When using this control, you can specify the label to use for the is null and is not null options. This can be done by setting the isNullLabel
and isNotNullLabel
options when setting the control in the config file. An example of this is shown below for the HGMD control in Varify:
c.config.set('fields.instances.110.form.controls', [{
options: {
isNullLabel: 'Not in HGMD',
isNotNullLabel: 'In HGMD'
},
control: 'nullSelector'
}])
Concepts containing multiple fields now display "jump-to" links to make the fields apparent and accessibly (#463).
Other
- The
maxSerranoVersion
has been increased to include the new2.3.3
Serrano release in the valid range. - The test suite has been refactored to use a live server. This only affects contributors to Cilantro itself.