feat(toolbar-batch-actions): add active prop to show toolbar (#1440)

Closes #1438
This commit is contained in:
naegelin 2022-08-12 17:01:58 +02:00 committed by GitHub
commit bc58c7b029
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 30 additions and 5 deletions

View file

@ -4422,9 +4422,10 @@ None.
### Props
| Prop name | Required | Kind | Reactive | Type | Default value | Description |
| :------------------ | :------- | :--------------- | :------- | ---------------------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------- |
| formatTotalSelected | No | <code>let</code> | No | <code>(totalSelected: number) => string</code> | <code>(totalSelected) => \`${totalSelected} item${totalSelected === 1 ? "" : "s"} selected\`</code> | Override the total items selected text |
| Prop name | Required | Kind | Reactive | Type | Default value | Description |
| :------------------ | :------- | :--------------- | :------- | ---------------------------------------------- | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| formatTotalSelected | No | <code>let</code> | No | <code>(totalSelected: number) => string</code> | <code>(totalSelected) => \`${totalSelected} item${totalSelected === 1 ? "" : "s"} selected\`</code> | Override the total items selected text |
| active | No | <code>let</code> | No | <code>boolean</code> | <code>false</code> | Set to `true` to show the toolbar regardless of row selection |
### Slots

View file

@ -13672,6 +13672,18 @@
"isRequired": false,
"constant": false,
"reactive": false
},
{
"name": "active",
"kind": "let",
"description": "Set to `true` to show the toolbar regardless of row selection",
"type": "boolean",
"value": "false",
"isFunction": false,
"isFunctionDeclaration": false,
"isRequired": false,
"constant": false,
"reactive": false
}
],
"moduleExports": [],

View file

@ -5,13 +5,19 @@
*/
export let formatTotalSelected = (totalSelected) =>
`${totalSelected} item${totalSelected === 1 ? "" : "s"} selected`;
/**
* Set to `true` to show the toolbar regardless of row selection
* @type {boolean}
*/
export let active = false;
import { onMount, getContext } from "svelte";
import Button from "../Button/Button.svelte";
let batchSelectedIds = [];
$: showActions = batchSelectedIds.length > 0;
$: showActions = batchSelectedIds.length > 0 || active;
const ctx = getContext("DataTable");
const unsubscribe = ctx.batchSelectedIds.subscribe((value) => {

View file

@ -8,6 +8,12 @@ export interface ToolbarBatchActionsProps
* @default (totalSelected) => `${totalSelected} item${totalSelected === 1 ? "" : "s"} selected`
*/
formatTotalSelected?: (totalSelected: number) => string;
/**
* Set to `true` to show the toolbar regardless of row selection
* @default false
*/
active?: boolean;
}
export default class ToolbarBatchActions extends SvelteComponentTyped<