AbstractBase

A abstract base component

Import
the javascript logo
import { AbstractBase } from "@schukai/monster/source/components/datatable/filter/abstract-base.mjs";
Source
the git logo
Package
Since
1.0.0

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 **/
Open in playground

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 **/
Open in playground

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

AbstractBase

Derived from

CustomControl

Options

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.

Option
Type
Default
Description
-/-

  • 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.

The current width of the area is too small to display the content correctly.