AbstractBase
A abstract base component
import { AbstractBase } from "@schukai/monster/source/components/datatable/filter/abstract-base.mjs";Purpose and scope
A abstract base component
This page documents the AbstractBase class. Use the Usage examples for a working starting point and the API tab for the complete public contract.
When to use it
Use this module when its focused responsibility matches the surrounding workflow. Prefer its public options, properties, methods and events over reaching into rendered internals.
Filter Control Contract
In this example, a simple filter with two filtering options is demonstrated. The example is not yet connected to a data source.
Javascript
//import '@schukai/monster/source/components/datatable/filter.mjs';<script type="module">//import '@schukai/monster/source/components/datatable/filter.mjs';</script>HTML
<monster-datatable-filter>
<!-- the attribute "data-monster-label" is used to define the label for the select element -->
<!-- The text node inside the label is the label for the filter element -->
<label data-monster-label="Input">Input Filter
<monster-filter-input></monster-filter-input>
</label>
<!-- the next filter is hidden, because the attribute "slot" and the value "hidden" are used -->
<label slot="hidden" data-monster-label="Date Range">Date Range Filter
<monster-filter-date-range></monster-filter-date-range>
</label>
</monster-datatable-filter>Stylesheet
/** no additional stylesheet is defined **/Advanced Filter Contract
In this example, we link the filter to a data source.
Javascript
//import '@schukai/monster/source/components/datatable/filter.mjs';<script type="module">//import '@schukai/monster/source/components/datatable/filter.mjs';</script>HTML
<monster-datatable-filter>
<!-- the attribute "data-monster-label" is used to define the label for the select element -->
<!-- The text node inside the label is the label for the filter element -->
<label data-monster-label="Input">Input Filter
<monster-filter-input></monster-filter-input>
</label>
<!-- the next filter is hidden, because the attribute "slot" and the value "hidden" are used -->
<label slot="hidden" data-monster-label="Date Range">Date Range Filter
<monster-filter-date-range></monster-filter-date-range>
</label>
</monster-datatable-filter>Stylesheet
/** no additional stylesheet is defined **/Component Design
AbstractBase defines the common option, value, and lifecycle contract shared by concrete datatable filters.
Extension Contract
Applications use a concrete filter element. New filter implementations should preserve the shared public state and event behavior instead of depending on another filter's private markup.
HTML Structure
AbstractBase is not registered as a custom element.JavaScript Initialization
import { AbstractBase } from "@schukai/monster/source/components/datatable/filter/abstract-base.mjs";Exported
AbstractBaseDerived from
CustomControlOptions
The Options listed in this section are defined directly within the class. This class is derived from several parent classes, including the CustomElement class. Therefore, it inherits Options from these parent classes. If you cannot find a specific Options in this list, we recommend consulting the documentation of the CustomControl.
- since
- deprecated
Properties and Attributes
The Properties and Attributes listed in this section are defined directly within the class. This class is derived from several parent classes, including the CustomElement class and ultimately from HTMLElement. Therefore, it inherits Properties and Attributes from these parent classes. If you cannot find a specific Properties and Attributes in this list, we recommend consulting the documentation of the CustomControl.
data-monster-options: Sets the configuration options for the collapse component when used as an HTML attribute.data-monster-option-[name]: Sets the value of the configuration option[name]for the collapse component when used as an HTML attribute.
Methods
The methods listed in this section are defined directly within the class. This class is derived from several parent classes, including the CustomElement class and ultimately from HTMLElement. Therefore, it inherits methods from these parent classes. If you cannot find a specific method in this list, we recommend consulting the documentation of the CustomControl.
This component does not have any public methods.
Events
This component does not fire any public events. It may fire events that are inherited from its parent classes.