Skip to content

Commit

Permalink
db0816c431dce1ec8a32eecbb0ed0b8f52595f3e
Browse files Browse the repository at this point in the history
Sync to source repo @db0816c431dce1ec8a32eecbb0ed0b8f52595f3e
  • Loading branch information
AllanJard committed Nov 4, 2022
1 parent bafe8d3 commit daf71a1
Show file tree
Hide file tree
Showing 4 changed files with 230 additions and 6 deletions.
5 changes: 3 additions & 2 deletions datatables.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@
"types/types.d.ts"
],
"src-repo": "http://github.com/DataTables/Select",
"last-tag": "1.4.0"
}
"last-tag": "1.4.0",
"last-sync": "db0816c431dce1ec8a32eecbb0ed0b8f52595f3e"
}
3 changes: 3 additions & 0 deletions js/select.bootstrap.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions js/select.bootstrap.min.mjs
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
/*! Bootstrap 3 styling wrapper for Select
* © SpryMedia Ltd - datatables.net/license
*/
import $ from"jquery";import DataTable from"datatables.net-bs";import DataTable from"datatables.net-select";export default DataTable;
225 changes: 221 additions & 4 deletions types/types.d.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,224 @@
// Type definitions for DataTables Select
//
// Project: https://datatables.net/extensions/select/, https://datatables.net
// Definitions by:
// SpryMedia
// Jared Szechy <https://github.com/szechyjs>

// Dist-DataTables-Select-Bootstrap integration with Bootstrap exports the DataTables API having
// set default values to complete the ingeration.
import Api from "datatables.net";
/// <reference types="jquery" />

export default Api;
import DataTables from 'datatables.net';

export default DataTables;

type StyleType = 'api' | 'single' | 'multi' | 'os' | 'multi+shift';

declare module 'datatables.net' {
interface Config {
/*
* Select extension options
*/
select?: boolean | string | ConfigSelect;
}

interface Api<T> {
select: ApiSelect<Api<T>>
}

interface ApiRowMethods<T> {
/**
* Select a row
*/
select(): Api<T>;

/**
* Deselect a row
*/
deselect(): Api<T>;
}

interface ApiRowsMethods<T> {
/**
* Select multiple rows
*/
select(): Api<T>;

/**
* Deselect a row
*/
deselect(): Api<T>;
}

interface ApiCellMethods<T> {
/**
* Select cell
*/
select(): Api<T>;

/**
* Deselect a cell
*/
deselect(): Api<T>;
}

interface ApiCellsMethods<T> {
/**
* Select multiple cells
*/
select(): Api<T>;

/**
* Deselect cells
*/
deselect(): Api<T>;
}

interface ApiStatic {
/**
* Select static methods
*/
select: {
/**
* Initialise Select (for use on tables which were not in the document
* when they were initialised).
*/
init: <T=any>(api: Api<T>) => void;

/**
* Select version
*/
version: string;
}
}
}

interface ConfigSelect {
/**
* Indicate if the selected items will be removed when clicking outside of the table
*/
blurable?: boolean;

/**
* Set the class name that will be applied to selected items
*/
className?: string;

/**
* Enable / disable the display for item selection information in the table summary
*/
info?: boolean;

/**
* Set which table items to select (rows, columns or cells)
*/
items?: string;

/**
* Set the element selector used for mouse event capture to select items
*/
selector?: string;

/**
* Set the selection style for end user interaction with the table
*/
style?: StyleType;
}

interface ApiSelect<Api> {
/**
* Initialise Select for a DataTable after the DataTable has been constructed.
*
* @returns DataTables Api instance
*/
(): Api;

/**
* Get the blurable state for the table.
*
* @returns Current state - true if blurable, false otherwise. Note that if multiple tables are defined in the API's context, only the blurable state of the first table will be returned.
*/
blurable(): boolean;

/**
* Set the blurable state for the table's selection options.
*
* @param flag Value to set for the blurable option - true to enable, false to disable.
* @returns DataTables Api instance for chaining
*/
blurable(flag): Api;

/**
* Get the summary information display state for the table.
*
* @returns Current state - true if information summary shown, false otherwise. Note that if multiple tables are defined in the API's context, only the information state of the first table will be returned.
*/
info(): boolean;

/**
* Set the information summary display state for the table's selection options.
*
* @param flag Value to set for the information summary display state - true to enable, false to disable.
* @returns DataTables API instance for chaining.
*/
info(flag): Api;

/**
* Get the items that will be selected by user interaction (i.e. a click on the table).
*
* @returns The current item that will be selected when the user interacts with Select's event listeners - this will be the value row, column or cell.
*/
items(): string;

/**
* Set the item type that will be selected by user interaction.
*
* @param set Items to select - this must be one of row, column or cells.
* @returns DataTables API instance for chaining.
*/
items(set: string): Api;

/**
* Get the current item selector string applied to the table.
*
* @returns the item selector string being used for the table.
*/
selector(): string;

/**
* Set the table's item selector string. Note that any old selectors will be automatically removed if this is used as a selector to ensure that there are no memory leaks in unattached event listeners.
*
* @param set jQuery selector that will select the cells that can trigger item selection.
*/
selector(set: string): Api;

/**
* Get the current selection style applied to the table
*
* @returns The current selection style, this will be one of "api", "single", "multi" or "os".
*/
style(): string;

/**
* Set the table's selection style
*
* @param s Selection style to set - this must be one of "api", "single", "multi" or "os".
* @returns DataTables API instance for chaining.
*/
style(s: StyleType): Api;

/**
* Get the toggle state of Select for the given DataTable.
*
* @returns true if the item can be deselected when clicked on, false if it cannot be.
*/
toggleable(): boolean;

/**
* Set the toggle state of Select for the DataTable.
*
* @param set true to allow item deselection, false to disallow.
* @returns DataTables API instance for chaining.
*/
toggleable(set): Api;
}

0 comments on commit daf71a1

Please sign in to comment.