Bootstrap Multiselect Pentaho Filter: A Plugin for Pentaho cTools Multiselect

Check it in https://github.com/bovbi/bootstrap-multiselect-pentaho-filter

Overview

This plugin apply the All Member propertie of Mondrian Schema with Bootstrap Multiselect plugin creating a better user experience.

Download the follow example

If the user select the all options available, the request value parameter will be send with the All Member propertie configured in setup script.

Talks and Presentations

Watch the talk in #PentahoDay2017 of Brazil (slides and audio in portuguese).

Setup

<!-- Include the plugin CSS and JS: -->
<script type="text/javascript" src="js/bootstrap-multiselect.js"></script>
<script type="text/javascript" src="js/bootstrap-multiselect-pentaho-filter.js"></script>
<link rel="stylesheet" href="css/bootstrap-multiselect.css" type="text/css"/>
  • Add the follow function in preExecution propertie of multiselect component in a Pentaho CDF/CDA/CDE dashboard:
function preExecution(){
var obj = this;

obj.postExecution = function f(){
postExecutionSelect.call(
this
// custom labels
, '[Dimension Name].[All Member Name]'
, 'Find dimension'
, 'Select a member'
, 'All members'
, ' - members selected'

// end custom labels
)
}
    obj.preChange = function (newChoice){
return preChangeSelect.call(this, '[Dimension Name].[All Member Name]', newChoice);
};

obj.postFetch = function postFetch(result){
// configure the option for set the default value of parameter
postFetchSelect.call(this, result, 'all');
};
}

Options

If the parameter of filter is empty is possible in preChange function to configure who options by default wil be selected, the options are:

  • “all” — All options of multiselect will be selected.
  • “first” — The first option of multiselect will be selected.
  • “first-n” — The first n options of multiselect will be selected.
  • “last” — The last option of multiselect will be selected.
  • “last-n” — The last n options of multiselect will be selected.
//example for default select the last 4 options in multiselect element.
obj.postFetch = function postFetch(result){
postFetchSelect.call(this, result, 'last-4');
};

I hope be helpful!!

Updates

  • The requireJS option of CDE should be disable.
One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.