This migration guide describes significant new features and breaking changes in version 2.8. To see the full list of new features and fixes in version 2.8, visit the Release notes page.
This section provides a list of innovations that improve Flexmonster user experience.
The custom data source API enables fetching already aggregated data from any server to Flexmonster Pivot. Develop a powerful back end with your logic, process the data right on the server, and show the result with Flexmonster’s custom data source API. Learn more here.
In the drill-through view for the Elasticsearch data source, it is now possible to select fields to display the chosen details about the value. To open the Field List in the drill-through view, click the diagonal arrow in the upper-right corner of the grid.
This connector greatly simplifies connecting to MongoDB. Use it instead of the Data Compressor for Node.js. Refer to our documentation to learn more about connecting to MongoDB.
Flexmonster is now available for Vue.js and React Native frameworks, R-powered applications with Shiny, and Python-based applications including Jupyter Notebook. Find more details about these integrations in the following articles:
In version 2.8, a new aggregation was added that shows a percentage of parent row/column total. This aggregation is now available in the aggregation list.
Two new events were added:
drillthroughopen
– String. Triggered when the drill-through view is opened. Learn more here.drillthroughclose
– String. Triggered when the drill-through view is closed. Learn more here.This section describes how your existing code must be changed so it works with version 2.8.
In version 2.8.16, a number of element IDs were changed to class names. It was done to ensure that there are no duplicate IDs on the page.
If you have custom CSS, update your CSS selectors according to the list below (e.g., change the #fm-add-btn
selector to .fm-add-btn
).
Here is a full list of IDs changed to class names:
#fm-add-btn
#fm-add-group-view
#fm-aggr-display
#fm-aggregations-view
#fm-alert-view
#fm-and-label
#fm-branding-bar
#fm-btn-add-measure
#fm-btn-add-measure-2
#fm-btn-close-fields
#fm-btn-collapse-expand-all
#fm-btn-connect
#fm-btn-open-fields
#fm-build-version
#fm-calc-display
#fm-calculated-view
#fm-cancel-btn
#fm-chart
#fm-chart-legend
#fm-charts-filters-btn
#fm-charts-filters-container
#fm-charts-view
#fm-cols-filter
#fm-cols-resize
#fm-cols-sheet
#fm-conditions
#fm-conditions-dropdown
#fm-data-sheet
#fm-datepicker-1
#fm-datepicker-2
#fm-dates-filter-view
#fm-details-label
#fm-drag-handle"
#fm-drillthrough-view
#fm-fields-view
#fm-filter-label
#fm-filter-sort-row
#fm-filter-view
#fm-filters-col
#fm-font-family
#fm-font-size
#fm-formula-input
#fm-func-btn-group
#fm-grid-view
#fm-header-toolbar
#fm-icon-display
#fm-info-icon
#fm-inp-proxy-url
#fm-interval-dropdown
#fm-labels-filter-btn
#fm-labels-filter-view
#fm-landscape-radio
#fm-left-scroll-button
#fm-link
#fm-list-wrapper
#fm-lst-columns
#fm-lst-hierarchies
#fm-lst-measures
#fm-lst-pages
#fm-lst-rows
#fm-measures-dropdown
#fm-members-filter-list
#fm-message-label
#fm-moreicon-display
#fm-name-input
#fm-next-btn
#fm-num-input-1
#fm-num-input-2
#fm-numbers-filter-view
#fm-page-filter
#fm-periods-dropdown
#fm-popUp-modal-overlay
#fm-popup-conditional
#fm-popup-format-cells
#fm-popup-olap
#fm-popup-options
#fm-portrait-radio
#fm-preloader-view
#fm-prev-btn
#fm-prompt-view
#fm-remove-btn
#fm-right-scroll-button
#fm-rows-filter
#fm-rows-resize
#fm-rows-sheet
#fm-sample
#fm-select-counter
#fm-sheet-headers
#fm-sort-col
#fm-sort-label
#fm-spinner
#fm-text-display
#fm-time-filter-view
#fm-txt-input-1
#fm-txt-input-2
#fm-ui-dp-month
#fm-ui-dp-year
#fm-values
#fm-values-filter-view
#fm-version-label
#fm-wrap-columns
#fm-wrap-measures
#fm-wrap-pages
#fm-wrap-rows
For instance, the #fm-grid-view
selector in the following CSS code:
#fm-pivot-view #fm-grid-view div.alter1 { background-color: #f7f7f7; }
should be changed to .fm-grid-view
:
#fm-pivot-view .fm-grid-view div.alter1 {
background-color: #f7f7f7;
}
The following updates were made concerning the supported formats:
In version 2.8, the following dependencies were removed from the flexmonster/lib/
folder:
file.min.js
jszip.min.js
zlib.min.js
elasticsearch.min.js
Also, the type definition file d.ts
is now a part of the Flexmonster module.
getCell().measure.availableAggregations
now contains the array of all available aggregations instead of being empty when all the default aggregations are supported.report.slice.measures[n].availableAggregations
property, which has the same purpose, is considered deprecated. Use the aggregations
property from the MappingObject instead.report.slice.measures[n].availableAggregations
are now saved only if they were defined in a report.If migrating from a previous major version, follow these tutorials: