OptTableTabulator Module

class epyk.core.html.options.OptTableTabulator.Accessors(options: Options, name: str, js_tree: Optional[bool] = None, page: Optional[PageModel] = None)
bespoke(func_name: str, js_funcs: Optional[Union[List[Union[str, JsDataModel]], str]] = None, accessor_params: Optional[dict] = None, profile: Optional[Union[bool, dict]] = None)

Accessors are used to alter data as it is extracted from the table, through commands, the clipboard, or download.

You can set accessors on a per column basis using the accessor option in the column definition object.

You can pass an optional additional parameter with accessor, accessorParams that should contain an object with additional information for configuring the accessor.

Related Pages:

Parameters:
  • func_name – Javascript functions name

  • js_funcs – Javascript function

  • accessor_params – Accessor parameters

  • profile – Optional. A flag to set the component performance storage

class epyk.core.html.options.OptTableTabulator.Column(component: HtmlModel, attrs: Optional[dict] = None, options: Optional[dict] = None, js_tree: Optional[dict] = None, page: Optional[PageModel] = None)
property accessors: Accessors

Accessors are used to alter data as it is extracted from the table, through commands, the clipboard, or download.

You can set accessors on a per column basis using the accessor option in the column definition object.

Related Pages:

add_column(field: str, title: Optional[str] = None)

Add new column to the underlying Tabulator object. # TODO find a way to define return type Column for this method

Parameters:
  • field – The key in the row

  • title – Optional. The title for the column. Default to the field

property align

sets the text alignment for this column (left|center|right)

Related Pages:

property bottomCalc

Column calculations can be used to add a row of calculated values to the top or bottom of your table to display information such as the sum of a columns data.

Related Pages:

property bottomCalcFormatter

You can apply formatters (see Formatting Data for more information) to any calculation cells, using the topCalcFormatter and bottomCalcFormatter options in a columns definition object.

Related Pages:

property bottomCalcFormatterParams

You can apply formatters (see Formatting Data for more information) to any calculation cells, using the topCalcFormatter and bottomCalcFormatter options in a columns definition object.

Related Pages:

property bottomCalcParams

The column calculation parameters.

Related Pages:

property bottomCalcs

Column calculations can be used to add a row of calculated values to the top or bottom of your table to display information such as the sum of a columns data.

Related Pages:

cellClick(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

Related Pages:

Parameters:
  • js_funcs – The Javascript functions

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

cellEdited(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

Related Pages:

Parameters:
  • js_funcs – The Javascript functions

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

cellEditing(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

Related Pages:

Parameters:
  • js_funcs – The Javascript functions.

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

property cssClass

sets css classes on header and cells in this column. (value should be a string containing space separated class names).

Related Pages:

property cssClasses: EnumColCss

sets css classes on header and cells in this column. (value should be a string containing space separated class names)

Related Pages:

property editable

callback to check if the cell is editable (see Manipulating Data for more details). This does not support function, use editable_check() otherwise.

Related Pages:

property editableTitle

Allows the user to edit the header titles.

Related Pages:

editable_check(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

This lets you set a callback that is executed before the editor is built, if this callback returns true the editor is added, if it returns false the edit is aborted and the cell remains a non-editable cell.

Usage:

page.js.customText("function MyCell(cell){var data = cell.getRow().getData(); return data.iata  == 'ORD' }")

for c in table.get_columns():
  c.editor = "input"
  c.editable_check("MyCell", func_ref=True)

Related Pages:

Parameters:
  • js_funcs – Javascript functions or entire function e.g: function customHeaderFilter(headerValue, rowValue, rowData, filterParams)

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

property editor

Tabulator comes with a number of built-in editors including:

Related Pages:

property editorParams

Tabulator comes with a number of built-in editors including:

Related Pages:

property editors

Tabulator comes with a number of built-in editors including:

Related Pages:

property exts

Tabulator is built in a modular fashion with a core codebase providing basic table rendering functionality and a series of modules that provide all of its wonderful features.

Related Pages:

property field

Required (not required in icon/button columns) this is the key for this column in the data array.

Related Pages:

property formatter

You can set cell formatters on a per column basis using the formatter option in the column definition object.

Related Pages:

property formatterParams

You can pass an optional additional parameter with the formatter, formatterParams that should contain an object with additional information for configuring the formatter.

Related Pages:

property formatters: Formattors

You can set cell formatters on a per column basis using the formatter option in the column definition object.

Related Pages:

property frozen

freezes the column in place when scrolling (see Frozen Columns for more details).

Related Pages:

property headerContextPopup

Add context popup to column header (see Header Context Popups for more details)

Related Pages:

property headerFilter

User can sort by clicking on the header (see Sorting Data for more detail.

Related Pages:

property headerFilterEmptyCheck

Function to check when the header filter is empty (see Header Filtering for more details)

Related Pages:

headerFilterFunc(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)
Parameters:
  • js_funcs – Javascript functions or entire function e.g: function customHeaderFilter(headerValue, rowValue, rowData, filterParams)

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

property headerFilterFuncParams

Additional parameters object passed to the headerFilterFunc function (see Header Filtering for more details)

Related Pages:

property headerFilterLiveFilter

Disable live filtering of the table (see Header Filtering for more details)

Related Pages:

property headerFilterPlaceholder

Placeholder text for the header filter (see Header Filtering for more details)

Related Pages:

property headerMenu: HeaderMenu

Shortcut property to the headermenu items.

Related Pages:

property headerPopup

Add popup button to column header (see Header Popups for more details)

Related Pages:

property headerPopupIcon

Add popup button to column header (see Header Popups for more details)

Related Pages:

property headerSort

user can sort by clicking on the header (see Sorting Data for more details).

Related Pages:

property headerSortStartingDir

Set the starting sort direction when a user first clicks on a header (see Sorting Data for more details)

Related Pages:

property headerSortTristate

Allow tristate toggling of column header sort direction (see Sorting Data for more details)

Related Pages:

property headerVertical

change the orientation of the column header to vertical (see Vertical Column Headers for more details).

Related Pages:

property headerVisible

By setting the headerVisible option to false you can hide the column headers and present the table as a simple list if needed.

Related Pages:

property hozAlign

By setting the headerVisible option to false you can hide the column headers and present the table as a simple list if needed.

Related Pages:

property minwidth

sets the minimum width of this column, this should be set in pixels (this takes priority over the global option of columnMinWidth)

Related Pages:

property mutators

Mutators are used to alter data as it is parsed into Tabulator.

For example if you wanted to convert a numeric column into a boolean based on its value, before the data is used to build the table.

Related Pages:

property resizable

set whether column can be resized by user dragging its edges (see Table Layout for more details).

Related Pages:

property responsive

an integer to determine when the column should be hidden in responsive mode (see Responsive Layout for more details)

Related Pages:

property sorter: EnumSorter

By default Tabulator will attempt to guess which sorter should be applied to a column based on the data contained in the first row.

Related Pages:

property title

Required This is the title that will be displayed in the header for this column.

Related Pages:

property titleFormatter

formatter function for header title (see Formatting Data for more details).

Related Pages:

property titleFormatterParams

Related Pages:

http://tabulator.info/docs/4.0/format

property tooltip

Required This is the title that will be displayed in the header for this column.

Related Pages:

property topCalc

Column calculations can be used to add a row of calculated values to the top or bottom of your table to display information such as the sum of a columns data.

Related Pages:

property topCalcFormatter

You can apply formatters (see Formatting Data for more information) to any calculation cells, using the topCalcFormatter and bottomCalcFormatter options in a columns definition object.

Related Pages:

property topCalcFormatterParams

You can apply formatters (see Formatting Data for more information) to any calculation cells, using the topCalcFormatter and bottomCalcFormatter options in a columns definition object.

Related Pages:

property topCalcParams

The column calculation parameters.

Related Pages:

property topCalcs

Column calculations can be used to add a row of calculated values to the top or bottom of your table to display information such as the sum of a columns data.

Related Pages:

property validator

set the validator to be used to approve data when a user edits a cell. (see Manipulating Data for more details).

Related Pages:

property width

sets the width of this column, this can be set in pixels or as a percentage of total table width (if not set the system will determine the best)

Related Pages:

property widthGrow

when using fitColumns layout mode, determines how much the column should grow to fill available space (see Table Layout for more details)

Related Pages:

class epyk.core.html.options.OptTableTabulator.ColumnsGroup(component: HtmlModel, attrs: Optional[dict] = None, options: Optional[dict] = None, js_tree: Optional[dict] = None, page: Optional[PageModel] = None)
property columns: Column

Add columns to a group.

property title

Set a title for a group of columns.

class epyk.core.html.options.OptTableTabulator.Editor(options: Options, name: str, js_tree: Optional[bool] = None, page: Optional[PageModel] = None)
autocomplete(values: list = True, default_value=None, element_attributes: Optional[dict] = None, vertical_navigation: str = 'hybrid', **kwargs)

The autocomplete editor allows users to search a list of predefined options passed into the values property of the editorParams option.

Usage:

c.editors.autocomplete(listItemFormatter='function(value, title){return "Mr " + title;}', freetext=True)

Related Pages:

Parameters:
  • values – Optional. a list of values to be displayed to the user

  • default_value – Optional. set the value that should be selected by default if the cells value is undefined

  • element_attributes – Optional. set attributes directly on the input element

  • vertical_navigation – Optional. determine how use of the up/down arrow keys will affect the editor

  • kwargs – Optional. Dictionary with extra attributes

property autocompletes: EditorAutocomplete

Predefined autocomplete configurations. # TODO find a way to put Union[Options, Enums] in the type definition Emuns parameters.

custom(func_name: str, js_funcs: Optional[Union[List[Union[str, JsDataModel]], str]] = None, editor_params: Optional[dict] = None, profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

Related Pages:

Parameters:
  • func_name – The function name

  • js_funcs – Optional. The function definition

  • editor_params – Optional. The editor parameters

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

input(search: bool = True, element_attributes: Optional[dict] = None, **kwargs)

The input editor allows entering of a single line of plain text.

Related Pages:

Parameters:
  • search – Optional. Use search type input element with clear button

  • element_attributes – Optional. set attributes directly on the input element

list(values: list = True, default_value: Optional[str] = None, element_attributes: Optional[dict] = None, vertical_navigation: str = 'hybrid', **kwargs)

The select editor creates a dropdown select box to allow the user to select from some predefined options passed into the values property of the editorParams option.

Usage:

c.editors.select(listItemFormatter='function(value, title){return "Mr " + title;}')

Related Pages:

Parameters:
  • values – Optional. a list of values to be displayed to the user

  • default_value – Optional. set the value that should be selected by default if the cells value is undefined

  • element_attributes – Optional. set attributes directly on the input element

  • vertical_navigation – Optional. determine how use of the up/down arrow keys will affect the editor,

  • kwargs – Optional. Dictionary with extra attributes

number(min: Optional[float] = None, max: Optional[float] = None, step: int = 1, element_attributes: Optional[dict] = None, vertical_navigation: str = 'table', **kwargs)

The number editor allows for numeric entry with a number type input element with increment and decrement buttons.

Related Pages:

Parameters:
  • min – Optional. the maximum allowed value

  • max – Optional. the minimum allowed value

  • step – Optional. the step size when incrementing/decrementingthe value (default 1)

  • element_attributes – Optional. set attributes directly on the input element

  • vertical_navigation – Optional. determine how use of the up/down arrow keys will affect the editor

  • kwargs – Optional. Dictionary with extra attributes

range(min: Optional[float] = None, max: Optional[float] = None, step: int = 1, element_attributes: Optional[dict] = None, **kwargs)

The range editor allows for numeric entry with a range type input element.

Related Pages:

Parameters:
  • min – Optional. the maximum allowed value

  • max – Optional. the minimum allowed value

  • step – Optional. the step size when incrementing/decrementingthe value (default 1)

  • element_attributes – Optional. set attributes directly on the input element

  • kwargs – Optional. Dictionary with extra attributes

select(values: list = True, default_value: Optional[str] = None, element_attributes: Optional[dict] = None, vertical_navigation: str = 'hybrid', **kwargs)

The select editor creates a dropdown select box to allow the user to select from some predefined options passed into the values property of the editorParams option.

Usage:

c.editors.select(listItemFormatter='function(value, title){return "Mr " + title;}')

Related Pages:

Parameters:
  • values – a list of values to be displayed to the user

  • default_value – set the value that should be selected by default if the cells value is undefined

  • element_attributes – set attributes directly on the input element

  • vertical_navigation – determine how use of the up/down arrow keys will affect the editor,

  • kwargs – Dictionary with extra attributes

stars(element_attributes: Optional[dict] = None, **kwargs)

The star editor allows entering of numeric value using a star rating indicator.

This editor will automatically detect the correct number of stars to use if it is used on the same column as the star formatter.

Related Pages:

Parameters:
  • element_attributes – Optional set attributes directly on the star holder element

  • kwargs – Optional. Dictionary with extra attributes

textarea(vertical_navigation: str = 'editor', element_attributes: Optional[dict] = None, **kwargs)

The textarea editor allows entering of multiple lines of plain text.

Related Pages:

Parameters:
  • vertical_navigation – Optional. set attributes directly on the textarea element

  • element_attributes – Optional. determine how use of the up/down arrow keys will affect the editor

  • kwargs – Optional. Dictionary with extra attributes

tick(tristate: bool = False, indeterminate_value: Optional[str] = None, element_attributes: Optional[dict] = None, **kwargs)

The tick editor allows for boolean values using a checkbox type input element.

Related Pages:

Parameters:
  • tristate – Optional. allow tristate tickbox (default false)

  • indeterminate_value – Optional. when using tristate tickbox what value should the third indeterminate state have (default null)

  • element_attributes – Optional. set attributes directly on the input element

  • kwargs – Optional. Dictionary with extra attributes

class epyk.core.html.options.OptTableTabulator.EditorAutocomplete(options: Options, name: str, js_tree: Optional[bool] = None, page: Optional[PageModel] = None)
startswith(values: Union[str, JsDataModel, float, dict, list, bool], show_list_on_empty: Union[str, JsDataModel, float, dict, list, bool] = True, freetext: Union[str, JsDataModel, float, dict, list, bool] = True, allow_empty: Union[str, JsDataModel, float, dict, list, bool] = True)
Parameters:
  • values

  • show_list_on_empty – Optional.

  • freetext – Optional.

  • allow_empty – Optional.

class epyk.core.html.options.OptTableTabulator.EnumColCss(options: Options, name: str, js_tree: Optional[bool] = None, page: Optional[PageModel] = None)
background(color: str)

CSS Class to change the background color.

Parameters:

color – The CSS Color

center()

CSS Class to center the results.

color(color: str)

CSS Class to change the font color.

Parameters:

color – The CSS Color

css(css_attrs: dict, css_attrs_hover: Optional[dict] = None, important: bool = False)

CSS class for bespoke style.

Usage:

col_def.cssClass.css({'background': 'orange'}, {'background': 'white', 'color': 'blue'})
Parameters:
  • css_attrs – The CSS attributes for the class

  • css_attrs_hover – Optional. The CSS Hover attributes for the class

  • important – Optional. To set the CSS configuration as important

name(name: str)

CSS class for bespoke style.

Usage:

page.properties.css.add_text('''.teststyle {background: pink}''')
c.cssClasses.name("teststyle")
Parameters:

name – The CSS classname

class epyk.core.html.options.OptTableTabulator.EnumLayout(options: Options, name: str, js_tree: Optional[bool] = None, page: Optional[PageModel] = None)
fitColumns()

As an alternative to the default data fit, you can use the fitColumns layout mode to cause Tabulator to resize columns so they fit perfectly in the available table width.

Related Pages:

fitData()

http://tabulator.info/docs/4.1/layout#fittodata.

Related Pages:

fitDataFill(inline: bool = True)

The fitDataFill layout mode functions in the same way as the fitData mode, but ensures that rows are always at least the full width of the table.

Related Pages:

Parameters:

inline – Optional. Force the CSS display to be inline-block.

fitDataStretch()

The fitDataStretch layout mode functions in the same way as the fitDataFill mode, but instead of stretching the empty row to fill the table it stretches the last visible column.

Related Pages:

fitDataTable()

Tables will automatically resize container and columns to fit the data.

Related Pages:

class epyk.core.html.options.OptTableTabulator.EnumSorter(options: Options, name: str, js_tree: Optional[bool] = None, page: Optional[PageModel] = None)
alphanum()

Sorts column as alpha numeric code.

Related Pages:

boolean()

Sorts column as booleans.

Related Pages:

date()

Sorts column as dates.

Related Pages:

number()

Sorts column as numbers (integer or float, will also handle numbers using “,” separators)

Related Pages:

string()

Sorts column as strings of characters.

Related Pages:

time()

Sorts column as dates

Related Pages:

sorts column as times

class epyk.core.html.options.Enums(options: Options, name: str, js_tree: Optional[bool] = None, page: Optional[PageModel] = None)
property item

Return the option object on which the key, value will be added.

property key

Returns the predefined enumeration key which will be added with this object.

class epyk.core.html.options.OptTableTabulator.Extensions(options: Options, attrs: dict)
property editors: ExtsEditors

The edit module allows the user to change data in cells, header filters are also dependant on this module.

More information on these functions can be found in the Editing Data Documentation.

Related Pages:

property formatters: ExtsFormattors

You can set cell formatters on a per column basis using the formatter option in the column definition object.

You can pass an optional additional parameter with the formatter, formatterParams that should contain an object with additional information for configuring the formatter.

Related Pages:

property mutators: ExtsMutators

Mutators are used to alter data as it is parsed into Tabulator. For example if you wanted to convert a numeric column into a boolean based on its value, before the data is used to build the table.

Related Pages:

property validators: ExtsValidators

The validate module allows for validation of edited data before it is stored in the table. More information on these functions can be found in the Validation Documentation. This can be extended to add custom validator functions to the default list:

Related Pages:

class epyk.core.html.options.OptTableTabulator.Formattors(options: Options, name: str, js_tree: Optional[bool] = None, page: Optional[PageModel] = None)
color(**kwargs)

The color formatter sets the background colour of the cell to the value. The cell’s value can be any valid CSS color eg. #ff0000, #f00, rgb(255,0,0), red, rgba(255,0,0,0), hsl(0, 100%, 50%)

Related Pages:

css(attrs: dict)
Parameters:

attrs – CSS attributes

custom(func_name: str, js_funcs: Optional[Union[List[Union[str, JsDataModel]], str]] = None, formatter_params: Optional[dict] = None, profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

Related Pages:

Parameters:
  • func_name – The function name

  • js_funcs – Optional. The function definition

  • formatter_params – Formatter attributes

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

datetime(input_format: str = 'YYYY-MM-DD', output_format: str = 'YYYY-MM-DD', invalid_placeholder: str = '(invalid date)', **kwargs)

The datetime formatter transforms on format of date or time into another.

Related Pages:

Parameters:
  • input_format

  • output_format

  • invalid_placeholder

  • kwargs

html(**kwargs)

The html formater displays un-sanitized html.

Related Pages:

Parameters:

kwargs

image(height: Optional[Union[tuple, int, str]] = None, width: Optional[Union[tuple, int, str]] = None, **kwargs)

The image formatter creates an img element with the src set as the value. (triggers the normalizeHeight function on the row on image load).

Related Pages:

Parameters:
  • height – Optional. A CSS value for the height of the image.

  • width – Optional. A CSS value for the width of the image.

  • kwargs

The link formatter renders data as an anchor with a link to the given value (by default the value will be used as both the url and the label of the tag).

Related Pages:

Parameters:
  • label – Optional. A string representing the label, or a function which must return the string for the label, the function is passed the Cell Component as its first argument

  • url – Optional. A string representing the url, or a function which must return the string for the url, the function is passed the Cell Component as its first argument

  • target – Optional. A string representing the value of the anchor tags target artibute (eg. set to “_blank” to open link in new tab)

  • url_prefix – Optional. A prefix to put before the url value (eg. to turn a emaill address into a clickable mailto link you should set this to “mailto:”)

  • label_field – Optional. The field in the row data that should be used for the link lable

  • url_field – Optional. The field in the row data that should be used for the link url

  • kwargs

lookup(data: dict, **kwargs)

The lookup formatter looks up the value to display from a object passed into the formatterParams property, if not present it displays the current cell value

Related Pages:

Parameters:
  • data – Dictionary for the lookup.

  • kwargs

money(decimal: str = ',', thousand: str = '.', precision: bool = False, symbol: Optional[str] = None, symbolAfter=None, **kwargs)

The money formatter formats a number into currency notation (eg. 1234567.8901 -> 1,234,567.89).

Related Pages:

Parameters:
  • decimal – Optional. Symbol to represent the decimal point (default “.”)

  • thousand – Optional. Symbol to represent the thousands separator (default “,”)

  • precision – Optional. the number of decimals to display (default is 2), setting this value to false will display however many decimals are provided with the number

  • symbol – Optional. currency symbol (no default)

  • symbolAfter – Optional. position the symbol after the number (default false)

  • kwargs – Optional.

progress(min=0, max=100, color=None, legend=None, legendColor=None, legendAlign=None, **kwargs)
Parameters:
  • min

  • max

  • color

  • legend

  • legendColor

  • legendAlign

  • kwargs

rowSelection(title_formatter: bool = True, title_formatter_params: Optional[dict] = None, hoz_align: Optional[str] = 'center', header_sort: bool = False, **kwargs)

Usage:

table = page.ui.tables.tabulators.table(rows=["row", "values"], cols=["ticks"])
for c in table.get_columns():
  if c.field == "ticks":
    c.formatters.rowSelection(width=20)
Parameters:
  • title_formatter – Optional. title formatter

  • title_formatter_params – Optional. title formatter parameters

  • hoz_align – Optional. To set the horizontal alignment

  • header_sort – Optional. Flag to special the sort

  • kwargs – Optional. Other attributes to be set for the column

star(starts: float, **kwargs)

The star formatter displays a graphical star rating based on integer values.

Related Pages:

Parameters:

starts – maximum number of stars to be displayed (default 5).

text(**kwargs)

The plaintext formatter is the default formatter for all cells and will simply display the value of the cell as text.

Related Pages:

Parameters:

kwargs

textarea(**kwargs)

The textarea formatter shows text with carriage returns intact (great for multiline text), this formatter will also adjust the height of rows to fit the cells contents when columns are resized.

Related Pages:

Parameters:

kwargs

tickcross(allow_empty: bool = True, allow_truthy: bool = True, tick_element: str = "<i class='fa fa-check'></i>", cross_element: str = "<i class='fa fa-times'></i>", **kwargs)

The tickCross formatter displays a green tick if the value is (true|’true’|’True’|1) and a red cross if not.

Related Pages:

Parameters:
  • allow_empty – Optional. Set to true to cause empty values (undefined, null, “”) to display an empty cell instead of a cross (default false)

  • allow_truthy – Optional. Set to true to allow any truthy value to show a tick (default false)

  • tick_element – Optional. Custom HTML for the tick element, if set to false the tick element will not be shown (it will only show crosses)

  • cross_element – Optional. Custom HTML for the cross element, if set to false the cross element will not be shown (it will only show ticks)

  • kwargs – Optional. Extra parameters to be added to this formatter

wrapper(formatter: Union[str, JsDataModel, float, dict, list, bool], css_attrs: dict, formatter_params: Optional[dict] = None)

Usage:

.formatters.wrapper("progress", {"height": '6px'}, {'color': ['orange', 'green']})

Related Pages:

Parameters:
  • formatter

  • css_attrs

  • formatter_params

class epyk.core.html.options.OptTableTabulator.HeaderMenu(component: HtmlModel, attrs: Optional[dict] = None, options: Optional[dict] = None, js_tree: Optional[dict] = None, page: Optional[PageModel] = None)
custom(label: str, func: str, icon: Optional[str] = None, disabled: bool = False)

Add a delete entry to the context menu.

Parameters:
  • label

  • func – JavaScript expression or entire function starting with function(e, column){

  • icon – Optional.

  • disabled – Optional.

hide(label: str = 'Hide Column', icon: Optional[str] = 'fas fa-eye-slash', disabled: bool = False)

Hide the selected column.

Parameters:
  • label – Optional. Header menu label

  • icon – Optional. Header icon

  • disabled – Optional.

class epyk.core.html.options.OptTableTabulator.Keybindings(component: HtmlModel, attrs: Optional[dict] = None, options: Optional[dict] = None, js_tree: Optional[dict] = None, page: Optional[PageModel] = None)
addRow(keys)

Add a keyboard shortcut event on the table to Keycodes can be found using the function ord().

Related Pages:

Parameters:

keys – String. The keys to trigger the event.

bespoke(keys, func_name, js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, prevent_default: bool = True)

Add a keyboard shortcut custom event on the table.

Keycodes can be found using the function ord()

Related Pages:

Parameters:
  • keys – The keys to trigger the event

  • func_name – The function name / alias for this event

  • js_funcs – The function definition of this event

  • profile – Optional. A flag to set the component performance storage

  • prevent_default – Optional. Stop the event and do not change the cell in editable.

deleteSelectedRows(keys)

Add a keyboard shortcut event on the table to delete the selected row.

Keycodes can be found using the function ord()

Related Pages:

Parameters:

keys – String. The keys to trigger the event.

class epyk.core.html.options.OptTableTabulator.Mutators(options: Options, name: str, js_tree: Optional[bool] = None, page: Optional[PageModel] = None)
bespoke(func_name: str, js_funcs: Optional[Union[List[Union[str, JsDataModel]], str]] = None, profile: Optional[Union[bool, dict]] = None)

he mutator module allows for manipulation of data as it is entered into Tabulator.

More information on these functions can be found in the Mutators Documentation.

Related Pages:

Parameters:
  • func_name – Javascript functions name

  • js_funcs – Javascript functions

  • profile – Optional. A flag to set the component performance storage

class epyk.core.html.options.Options(component: HtmlModel, attrs: Optional[dict] = None, options: Optional[dict] = None, js_tree: Optional[dict] = None, page: Optional[PageModel] = None)
property builder

Add a JavaScript Builder function to the options.

This will be used to automatically map the Python component to its corresponding JavaScript builder function used by the build method.

Usage:

but = page.ui.button()
but.options.builder = "Button"
Prop value:

The JavaScript builder function name.

property config_default

The default value for the configuration in case of template.

Default value is an empty string.

Usage:

component.options.config_default = {"value": "test"}
config_html()

Return the HTML options used by the python and passed to the HTML.

Those options will not be available in the JavaScript layer and they are only defined either to build the HTML from Python or to set some HTML properties.

The returned dictionary is a copy so it can be changed or used in other processes. To change the internal component property, the options property should be used.

config_js(attrs: Optional[dict] = None)

Return the JavaScript options used by the builders functions.

Builder functions can be defined in the framework or external from the various packages.

The returned dictionary is a copy so it can be changed or used in other processes. To change the internal component property, the options property should be used.

Parameters:

attrs – Optional. The extra or overridden options

custom_config(name: str, value: Any, js_type: bool = False)

Add a custom JavaScript configuration.

Usage:

chart = page.ui.charts.apex.scatter()
chart.options.chart.zoom.custom_config("test", False)
Parameters:
  • name – The key to be added to the attributes

  • value – String or JString. The value of the defined attributes

  • js_type – Optional. Specify if the parameter is a JavaScript fragment

details()

Retrieve the defined properties details.

This function will return a dictionary with all the component attributes (required and optional) ones. It will provide the full available description of those components.

Usage:

but = page.ui.button()
pprint.pprint(but.options.details(), indent=4)
from_json(vals: dict, schema: Optional[dict] = None)

Load the option schema for a component from a json string.

TODO: add more feature to handle functions and enumeration

Parameters:
  • vals – The input schema

  • schema – The full object schema

has_attribute(cls_obj, name: Optional[str] = None)

Add an extra sub layer to the data structure.

The key in the object representation will be the function name.

Parameters:
  • cls_obj – Class. The sub data class used in the structure definition

  • name – The sub attribute name

isJsContent(property_name: str)

Check if the content of a property is defined to always be a JavaScript fragment.

Thus the framework will not convert it to a Json content.

Usage:

div = page.ui.div()
print(div.options.isJsContent("inline"))
Parameters:

property_name – The property name

property managed

Boolean flag to set if the component needs to be added to the page.

If set to False the component has to be managed manually in the page.

Usage:

but = page.ui.button()
but.options.managed = False
Prop bool:

Flag to specify if this component is automatically managed by the page

optional()

Return all options not added to the HTML component by default.

Those are options which will impact either the Python or the JavaScript builders.

To get the full definition of options the details method should be used.

Usage:

but = page.ui.button()
pprint.pprint(but.options.optional(), indent=4)
property profile

Boolean flag to set if extra logs need to be displayed.

This could help in debugging, default is the page verbose flag (default is false).

Usage:

but = page.ui.button()
but.options.verbose = True
Prop flag:

Flag to display / hide warning logs generated by the framework.

required()

Return all the mandatory / required options with the default values.

Those options are added by the framework to provide a default for the HTML components but they can be changed.

System options are also added to this category as they are always available in any HTML components.

To get the full definition of options the details method should be used.

Usage:

but = page.ui.button()
pprint.pprint(but.options.required(), indent=4)
set_attrs(vals: dict)

Set the object internal attributes.

Parameters:

vals – All the attributes to be added to the component

property style

Change some CSS attributes to the internal HTML component.

Related Pages:

Prop values:

The CSS attributes.

update_config(attrs: dict)

Update the option configuration.

Parameters:

attrs – The attributes to set

property verbose

Boolean flag to set if extra logs need to be displayed.

This could help in debugging, default is the page verbose flag (default is false).

Usage:

but = page.ui.button()
but.options.verbose = True
Prop flag:

Boolean. Flag to display / hide warning logs generated by the framework.

class epyk.core.html.options.OptTableTabulator.Persistence(component: HtmlModel, attrs: Optional[dict] = None, options: Optional[dict] = None, js_tree: Optional[dict] = None, page: Optional[PageModel] = None)
property columns

You can ensure the layout of columns is stored for the next page load by setting the columns property of the persistence option to true.

Related Pages:

property filter

You can ensure the data filtering is stored for the next page load by setting the filter property of the persistence option to true.

Related Pages:

property group: PersistenceGroup

You can ensure the row grouping settings are stored for the next page load by setting the group property of the persistence option to true.

Related Pages:

property page: PersistencePage

You can ensure the pagination settings are stored for the next page load by setting the page property of the persistence option to true.

Related Pages:

property sort

You can ensure the data sorting is stored for the next page load by setting the sort property of the persistence option to true.

Related Pages:

class epyk.core.html.options.OptTableTabulator.PersistenceGroup(component: HtmlModel, attrs: Optional[dict] = None, options: Optional[dict] = None, js_tree: Optional[dict] = None, page: Optional[PageModel] = None)
property groupBy

persist only the groupBy setting.

property groupHeader

You can also set a different header for each level of group, as above you pass an array to the groupHeader option.

Related Pages:

property groupStartOpen

You can set the default open state of groups using the groupStartOpen property.

Related Pages:

class epyk.core.html.options.OptTableTabulator.PersistencePage(component: HtmlModel, attrs: Optional[dict] = None, options: Optional[dict] = None, js_tree: Optional[dict] = None, page: Optional[PageModel] = None)
property page

do not persist the current page.

Related Pages:

property size

persist the current page size.

Related Pages:

class epyk.core.html.options.OptTableTabulator.RowContextMenu(component: HtmlModel, attrs: Optional[dict] = None, options: Optional[dict] = None, js_tree: Optional[dict] = None, page: Optional[PageModel] = None)
ajax(label: str, url: str, icon: Optional[str] = None, disabled: bool = False, separator: Optional[bool] = None)

Add a delete entry to the context menu.

Parameters:
  • label – The label to be display

  • url – The url of the underlying service

  • icon – Optional. The font-awesome icon

  • disabled – Optional. The status of the link

  • separator – You can add a horizontal separator to a list of menu items by including an object with the separator property set to true

config_js(attrs: Optional[dict] = None)
Parameters:

attrs – Global dictionary with context menu properties.

custom(label: str, js_funcs: Union[List[Union[str, JsDataModel]], str], icon: Optional[str] = None, disabled: bool = False, separator: Optional[bool] = None, func_ref: bool = False, profile: Optional[Union[bool, dict]] = None)

Add a delete entry to the context menu.

Usage:

table = page.ui.tables.tabulators.table(rows=["Test"], cols=["AA"])
table.options.rowContextMenu.custom("test", js_funcs="function(e, row){alert(row)}", icon="fas fa-trash")
Parameters:
  • label – The message. Default Duplicate

  • js_funcs – The Javascript functions.

  • icon – The icon reference e.g: fas fa-trash

  • disabled – Flag for the status

  • separator – You can add a horizontal separator to a list of menu items by including an object with the separator property set to true

  • func_ref – Optional. Specify if js_funcs point to an external function

  • profile – Optional. A flag to set the component performance storage

delete(label: str = 'Delete', icon: Optional[str] = None, disabled: bool = False, separator: Optional[bool] = None)

Add a delete entry to the context menu.

Usage:

table = page.ui.tables.tabulators.table(rows=["Test"], cols=["AA"])
table.options.rowContextMenu.delete()
Parameters:
  • label – The message. Default Duplicate

  • icon – The icon reference e.g: fas fa-trash

  • disabled – Flag for the status

  • separator – You can add a horizontal separator to a list of menu items by including an object with the separator property set to true

duplicate(label: str = 'Duplicate', icon: Optional[str] = None, disabled: bool = False, separator: Optional[bool] = None)

Add a duplicate entry to the context menu.

Parameters:
  • label – The message. Default Duplicate

  • icon – The icon reference e.g: fas fa-trash

  • disabled – Flag for the status

  • separator – You can add a horizontal separator to a list of menu items by including an object with the separator property set to true

class epyk.core.html.options.OptTableTabulator.TableConfig(component: HtmlModel, attrs: Optional[dict] = None, options: Optional[dict] = None, js_tree: Optional[dict] = None, page: Optional[PageModel] = None)
property addRowPos

The position in the table for new rows to be added, “bottom” or “top”.

Related Pages:

add_column(field: str, title: Optional[str] = None) Column

Holder for column definition array.

Related Pages:

Parameters:
  • field – String. The title name.

  • title – String. Optional. The visible title in the columns.

Return type:

Column

property ajaxConfig

By default Tabulator will make all ajax requests using the HTTP GET request method. If you need to use a different request method you can pass this into the ajaxConfig option

Related Pages:

property ajaxContentType

When using a request method other than “GET” Tabulator will send any parameters with a content type of form data. You can change the content type with the ajaxContentType option. This will ensure parameters are sent in the format you expect, with the correct headers.

Related Pages:

property ajaxFiltering

If you would prefer to filter your data server side rather than in Tabulator, you can use the ajaxFiltering option to send the filter data to the server instead of processing it client side.

Related Pages:

property ajaxParams

If you would like to generate the parameters with each request you can instead pass a callback to the ajaxParams option. This function will be called every time a request is made and should return an object containing the request parameters.

Related Pages:

property ajaxProgressiveLoad

If you are loading a lot of data from a remote source into your table in one go, it can sometimes take a long time for the server to return the request, which can slow down the user experience.

Related Pages:

property ajaxProgressiveLoadDelay

The ajaxProgressiveLoadDelay option to add a delay in milliseconds between each page request.

Related Pages:

property ajaxProgressiveLoadScrollMargin

The ajaxProgressiveLoadScrollMargin property determines how close to the bottom of the table in pixels, the scroll bar must be before the next page worth of data is loaded, by default it is set to twice the height of the table.

Related Pages:

property ajaxURL

If you wish to retrieve your data from a remote source you can set the URL for the request in the ajaxURL option.

Related Pages:

ajaxURLGenerator(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

If you need more control over the url of the request that you can get from the ajaxURL and ajaxParams properties, the you can use the ajaxURLGenerator property to pass in a callback that will generate the URL for you. js_funcs must use url, config, params and return a string

Related Pages:

Parameters:
  • js_funcs – The Javascript functions.

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

property autoColumns

If you set the autoColumns option to true, every time data is loaded into the table through the data option or through the setData function, Tabulator will examine the first row of the data and build columns to match that data.

Related Pages:

property autoTables

Related Pages:

http://tabulator.info/docs/5.3/data#import-data

cellClick(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The cellClick callback is triggered when a user left clicks on a cell, it can be set on a per column basis using the option in the columns definition object.

Related Pages:

Parameters:
  • js_funcs – The Javascript functions.

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

cellContext(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The cellContext callback is triggered when a user right clicks on a cell, it can be set on a per column basis using the option in the columns definition object.

Related Pages:

Parameters:
  • js_funcs – Javascript functions

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

cellDblClick(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The cellDblClick callback is triggered when a user double clicks on a cell, it can be set on a per column basis using the option in the columns definition object.

Related Pages:

Parameters:
  • js_funcs – The Javascript functions.

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

cellEditCancelled(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The cellEdited callback is triggered when data in an editable cell is changed.

Related Pages:

Parameters:
  • js_funcs – Javascript functions

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

cellEdited(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The cellEdited callback is triggered when data in an editable cell is changed.

Related Pages:

Parameters:
  • js_funcs – Javascript functions

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

cellEditing(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

Related Pages:

Parameters:
  • js_funcs – The Javascript functions.

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

property clipboard

Enable clipboard module.

Related Pages:

property clipboardPasteAction

Clipboard paste action function.

Related Pages:

clipboardPasted(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The clipboardPasted event is triggered whenever data is successfully pasted into the table.

Related Pages:

Parameters:
  • js_funcs – The Javascript functions

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

property columnCalcs

The columnCalcs option lets you decided where the calculations should be displayed, it can take one of four values:

Related Pages:

property columnVertAlign

Vertical alignment for contents of column header (used in column grouping).

Related Pages:

property columns: List[Column]

Return a list of columns.

Return type:

list

property columns_group: ColumnsGroup

Related Pages:

Return type:

ColumnsGroup

property data

Array to hold data that should be loaded on table creation.

Related Pages:

property dataSendParams
property debugInvalidOptions

Enabled by default this will provide a console warning if you are trying to set an option on the table that does not exist. With the new optional modular structure this is particularly valuable as it will prompt you if you are trying to use an option for a module that has not been installed.

Related Pages:

property filterMode

If you would prefer to filter your data server side rather than in Tabulator, you can use the filterMode option to send the filter data to the server instead of processing it client side.

Related Pages:

property fitColumns

Related Pages:

http://tabulator.info/examples/3.2

get_column(by_field: Optional[str] = None, by_title: Optional[str] = None) Column

Get the column from the underlying Tabulator object by field or by title. Pointing by field is recommended as the title might change quite easily.

Parameters:
  • by_field – String. Optional. The field reference for the column.

  • by_title – String. Optional. The title reference for the column.

property groupBy

String/function to select field to group rows by.

Related Pages:

property groupClosedShowCalcs

If you would like column calculations to display when a group is closed, set the groupClosedShowCalcs option to true.

Related Pages:

Prop val:

property groupStartOpen

You can set the default open state of groups using the groupStartOpen property.

Related Pages:

property groupToggleElement

By default Tabulator allows users to toggle a group open or closed by clicking on the arrow icon in the left of the group header. If you would prefer a different behaviour you can use the groupToggleElement option to choose a different option:

Related Pages:

Prop val:

property groupValues

Array of values for groups.

Related Pages:

headerClick(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The headerClick callback is triggered when a user left clicks on a column or group header, it can be set on a per column basis using the option in the columns definition object.

Related Pages:

Parameters:
  • js_funcs – Javascript functions

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

headerContext(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The headerContext callback is triggered when a user right clicks on a column or group header, it can be set on a per column basis using the option in the columns definition object.

Related Pages:

Parameters:
  • js_funcs – Javascript functions

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

headerDblClick(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The headerDblClick callback is triggered when a user double clicks on a column or group header, it can be set on a per column basis using the option in the columns definition object.

Related Pages:

Parameters:
  • js_funcs – Javascript functions.

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

headerDblTap(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The headerDblTap callback is triggered when a user taps on the column header on a touch display twice in under 300ms, it can be set on a per column basis using the option in the columns definition object.

Related Pages:

Parameters:
  • js_funcs – Javascript functions

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

headerTap(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The headerTap callback is triggered when a user taps on the column header on a touch display, it can be set on a per column basis using the option in the columns definition object.

Related Pages:

Parameters:
  • js_funcs – Javascript functions.

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

property height

Sets the height of the containing element, can be set to any valid height css value. If set to false (the default), the height of the table will resize to fit the table data.

Related Pages:

property history

Enable user interaction history functionality.

Related Pages:

property importFormat

This can be used to import custom data when the table is loaded.

Related Pages:

property index

A unique index value should be present for each row of data if you want to be able to programmatically alter that data at a later point, this should be either numeric or a string.

By default Tabulator will look for this value in the id field for the data. If you wish to use a different field as the index, set this using the index option parameter.

Related Pages:

property keybindings: Keybindings

Add keys binding to the table.

Related Pages:

property lang

hold localization templates.

Related Pages:

property layout

Layout mode for the table columns.

Related Pages:

Related Pages:

property layoutColumnsOnNewData

If you would prefer that the column widths adjust to the data each time you load it into the table you can set the layoutColumnsOnNewData property to true.

Related Pages:

property layouts: EnumLayout

Layout mode for the table columns.

Related Pages:

Return type:

EnumLayout

property movableColumns

Allow users to move and reorder columns.

Related Pages:

property movableRows

Allow users to move and reorder rows.

Related Pages:

property movableRowsConnectedTables

Connection selector for receiving tables.

Related Pages:

property movableRowsReceiver

Sender function to be executed when row has been received.

Related Pages:

property movableRowsSender

Sender function to be executed when row has been sent.

Related Pages:

property pagination

Choose pagination method, “local” or “remote”.

Related Pages:

property paginationMode

The pagination option is now a boolean that enables pagination and the paginationMode option sets its mode.

Related Pages:

property paginationSize

Set the number of rows in each page.

Related Pages:

property paginationSizeSelector

Add page size selection select element to the table footer.

Related Pages:

property persistence: Persistence

The persistence system has received an overhaul in this release, providing a more consistent way to configure table persistence and allow even more table options to be persisted between sessions.

Related Pages:

Return type:

Persistence

property persistenceID

ID tag used to identify persistent storage information.

Related Pages:

property placeholder

placeholder element to display on empty table.

Related Pages:

property progressiveLoad

In load mode the table will sequentially add each page of data into the table untill all data is loaded.

Related Pages:

property progressiveLoadScrollMargin

The progressiveLoadScrollMargin property determines how close to the bottom of the table in pixels, the scroll bar must be before the next page worth of data is loaded, by default it is set to twice the height of the table.

Related Pages:

property reactiveData

enable data reactivity.

Related Pages:

property renderVertical

The vertical renderer can now be set using the renderVertical option:

Related Pages:

property resizableColumns

Allow user to resize columns (via handles on the left and right edges of the column header).

Related Pages:

property responsiveLayout

Automatically hide/show columns to fit the width of the Tabulator element.

Related Pages:

rowAdded(js_funcs, profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The rowAdded callback is triggered when a row is added to the table by the addRow and updateOrAddRow functions.

Related Pages:

Parameters:
  • js_funcs – Javascript functions

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

rowClick(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The rowClick callback is triggered when a user clicks on a row.

Usage:

page.properties.js.add_text('''function alertRow(event, row){alert(row.getData())}  ''')
table.options.rowClick("alertRow", func_ref=True)

Related Pages:

Parameters:
  • js_funcs – Javascript functions

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

property rowClickPopup

You can add a click popup to any row by passing the popup contents to the rowClickPopup option in the table constructor object.

Related Pages:

rowContext(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The rowContext callback is triggered when a user right clicks on a row.

If you want to prevent the browsers context menu being triggered in this event you will need to include the preventDefault() function in your callback.

Related Pages:

Parameters:
  • js_funcs – Javascript functions.

  • profile – Optional. A flag to set the component performance storage.

  • func_ref – Optional. Specify if js_funcs point to an external function

property rowContextMenu: RowContextMenu

Shortcut property to the row context menu.

Related Pages:

property rowContextPopup

You can add a right click popup to any row by passing the popup contents to the rowContextPopup option in the table constructor object.

Related Pages:

rowDblClick(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The rowDblClick callback is triggered when a user double clicks on a row.

Usage:

page.properties.js.add_text('''function alertRow(event, row){alert(row.getData())}  ''')
table.options.rowDblClick("alertRow", func_ref=True)

Related Pages:

Parameters:
  • js_funcs – Javascript functions.

  • profile – Optional. A flag to set the component performance storage.

  • func_ref – Optional. Specify if js_funcs point to an external function

rowDelete(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The rowDeleted callback is triggered when a row is deleted from the table by the deleteRow function.

Related Pages:

Parameters:
  • js_funcs – Javascript functions

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

rowDeselected(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The rowDeselected event is triggered when a row is deselected, either by the user or programmatically.

Related Pages:

Parameters:
  • js_funcs – Javascript functions.

  • profile – Optional. A flag to set the component performance storage.

  • func_ref – Optional. Specify if js_funcs point to an external function

rowFormatter(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

Tabulator also allows you to define a row level formatter using the rowFormatter option. this lets you alter each row of the table based on the data it contains.

Related Pages:

Parameters:
  • js_funcs – Javascript functions.

  • profile – Optional. A flag to set the component performance storage.

  • func_ref – Optional. Specify if js_funcs point to an external function

rowMove(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The rowMoved callback will be triggered when a row has been successfully moved.

Related Pages:

Parameters:
  • js_funcs – Javascript functions.

  • profile – Optional. A flag to set the component performance storage.

  • func_ref – Optional. Specify if js_funcs point to an external function

rowSelected(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The rowSelected event is triggered when a row is selected, either by the user or programmatically.

Related Pages:

Parameters:
  • js_funcs – Javascript functions.

  • profile – Optional. A flag to set the component performance storage.

  • func_ref – Optional. Specify if js_funcs point to an external function

rowSelectionChanged(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

Whenever the number of selected rows changes, through selection or deselection, the rowSelectionChanged event is triggered.

Related Pages:

Parameters:
  • js_funcs – Javascript functions.

  • profile – Optional. A flag to set the component performance storage.

  • func_ref – Optional. Specify if js_funcs point to an external function

rowTap(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The rowTap callback is triggered when a user taps on a row on a touch display.

Related Pages:

Parameters:
  • js_funcs – Javascript functions.

  • profile – Optional. A flag to set the component performance storage.

  • func_ref – Optional. Specify if js_funcs point to an external function

rowUpdated(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The rowUpdated callback is triggered when a row is updated by the updateRow, updateOrAddRow, updateData or updateOrAddData, functions.

Related Pages:

Parameters:
  • js_funcs – Javascript functions.

  • profile – Optional. A flag to set the component performance storage.

  • func_ref – Optional. Specify if js_funcs point to an external function

property selectable

Enable/Disable row selection.

Related Pages:

selectableCheck(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

The selectableCheck options allows you to pass a function to check if the current row should be selectable, returning true will allow row selection, false will result in nothing happening. The function should accept a RowComponent as its first argument.

Related Pages:

Parameters:
  • js_funcs – JavaScript expression or entire function starting with function(row, level)

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

property selectablePersistence

Disable rolling selection

Related Pages:

property selectableRollingSelection

Disable rolling selection

Related Pages:

property sortMode

If you would prefer to sort your data server side rather than in Tabulator, you can use the sortMode option to send the sort data to the server instead of processing it client side.

Related Pages:

property tooltips

You can set tooltips to be displayed when the cursor hovers over cells. By default, tooltips are not displayed.

Related Pages:

property virtualDom

If you need to disable virtual rendering for any reason you can set the virtualDom option to false to force standard rendering.

Related Pages:

property virtualDomBuffer

In some situations, where you have a full screen table with a large number of columns, this can result in slow rendering performance in older browsers. In these situations it is possible to manually set the height of the buffer in pixels using the virtualDomBuffer option.

Related Pages:

class epyk.core.html.options.OptTableTabulator.TableTreeConfig(component: HtmlModel, attrs: Optional[dict] = None, options: Optional[dict] = None, js_tree: Optional[dict] = None, page: Optional[PageModel] = None)
property dataTree

Enable tree layout.

Related Pages:

property dataTreeBranchElement

Show tree branch icon.

Related Pages:

property dataTreeChildColumnCalcs

Include visible child rows in column calculations.

Related Pages:

property dataTreeChildField

The data field to look for child rows.

Related Pages:

property dataTreeChildIndent

Tree level indent in pixels.

Related Pages:

property dataTreeCollapseElement

boolean/string/DOM Element.

Related Pages:

property dataTreeElementColumn

Choose which column to display the toggle element in.

Related Pages:

property dataTreeExpandElement

The element to be used for the expand toggle button.

Related Pages:

property dataTreeFilter

Enable filtering of child rows.

Related Pages:

dataTreeRowExpanded(js_funcs: Union[List[Union[str, JsDataModel]], str], profile: Optional[Union[bool, dict]] = None, func_ref: bool = False)

Related Pages:

Parameters:
  • js_funcs – JavaScript expression or entire function starting with function(row, level)

  • profile – Optional. A flag to set the component performance storage

  • func_ref – Optional. Specify if js_funcs point to an external function

property dataTreeSelectPropagate

Allow selection of a row to propagate to its children.

Related Pages:

property dataTreeSort

Enable sorting of child rows.

Related Pages:

property dataTreeStartExpanded

The default expansion state for tree nodes.

Related Pages:

class epyk.core.html.options.OptTableTabulator.Validators(options: Options, name: str, js_tree: Optional[bool] = None, page: Optional[PageModel] = None)
float()

The float validator allows values that are valid floats.

Related Pages:

integer()

The integer validator allows values that are valid integers

Related Pages:

list(vals: list)

The in validator allows that values that match a value from the | delimited string in the parameter.

Related Pages:

max(val)

The max validator allows numeric values that are less than or equal to parameter.

Related Pages:

maxLength(val)

The maxLength validator allows string values that have a length less than or equal to parameter.

Related Pages:

min(val)

The min validator allows numeric values that are greater than or equal to parameter.

Related Pages:

numeric()

The float validator allows values that are valid floats.

Related Pages:

regex(val: str)

The regex validator allows values that match the supplied regex.

Related Pages:

required()

The required validator allows values that are not null or an empty string

Related Pages:

unique()

The unique validator allows values that do not match the value of any other cell in this column

Related Pages: