{hero}

buttons.buttons.action

Since: Buttons 1.0.0

Action to take when the button is activated.
Please note - this property requires the Buttons extension for DataTables.

Description

This property is an alias of the feature property buttons.buttons.action and can be used to configure the feature from the top level DataTables configuration object, rather than in the layout option (see example below). This lets you use the feature as a string rather than an object, but it does restrict the configuration if you were using multiple instances of the feature. Please refer to the documentation for buttons.buttons.action for full details and options that apply to this option.

If you are using DataTables 1.x, which does not have the layout option, use this property name, but referring to the documentation for buttons.buttons.action for full details.

Examples

Custom action functions:

new DataTable('#myTable', {
	layout: {
		topStart: 'buttons'
	},
	buttons: [
		{
			text: 'Alert',
			action: function (e, dt, node, config, cb) {
				alert('Activated!');
				this.disable(); // disable button
			}
		}
	]
});

Create a custom button that uses a built in button's action method:

new DataTable('#myTable', {
	layout: {
		topStart: 'buttons'
	},
	buttons: [
		{
			text: 'Create CSV',
			action: function (e, dt, node, config, cb) {
				// Do custom processing
				// ...

				// Call the default csvHtml5 action method to create the CSV file
				DataTable.ext.buttons.csvHtml5.action.call(this, e, dt, node, config, cb);
			}
		}
	]
});