Overview
Framework and Utilities
Angular
React
Vue
Blazor
Integrations
Roadmap
Release Notes
Accessibility
Theme Builder
Grid
Gantt Chart
Scheduler
CardView
Chart
Editor
DockingLayout
Kanban
PivotTable
Table
Accordion
Badge
Barcode
Button
Breadcrumb
Card
Carousel
Calendar
CheckBox
ComboBox
ColorPicker
DateTimePicker
DropDownList
DropDownButton
FileUpload
Form
Gauge
Input
ListBox
ListMenu
Layout
MaskedTextBox
Menu
MultilineTextBox
MultiSplitButton
NumericTextBox
Pager
PasswordTextBox
PowerButton
ProgressBar
QueryBuilder
RadioButton
Rating
RepeatButton
Ribbon Bar
Qrcode
ScrollBar
Slider
Splitter
SwitchButton
Sortable
Tabs
Tank
TextBox
TimePicker
Toast
ToggleButton
Tooltip
Tree
Window
Create a Custom Element
View Model Binding
Data Adapter
Data Exporter
Conditional Formatter
Shadow Dom
Router
Validator
Date API
Numeric API
Drawing API
Localization
Comparison with Others
Overview
WAI-ARIA Support
Section 508 Support
WCAG Compliance
Keyboard Shortcuts
Right-to-left Languages
Overview
Using with Angular
Component NPM packages
Template-driven Forms
Forms Custom Validation
Reactive Forms
Angular Signals
Angular Universal - Server side Rendering
Angular Grid
Angular Grid Data Service
NGX Translate Grid
Angular Grid Refresh Data Source
ngFor Directive
Angular HTTP and Grid CRUD
Dynamic Forms
Form Numeric Validation
Notification Angular Service
Angular routing with Tabs
Angular routing with Splitter
Angular routing with Accordion
Angular Component in Grid column
Refresh Grid data source
Dynamic Components in Tabs
Dynamic Table with ng-for
Angular Debug with VS Code
Angular RxJS
Angular RxJS Server Paging
Angular Azure Face API
Angular Azure Cosmos DB
Angular Electron with Grid
Angular Grid Editing with Form
Angular Grid as Standalone
Angular Gantt as Standalone
Angular Scheduler as Standalone
Using with React
React with Typescript
Using the state Hook
React Grid
NextJS & Grid
Next JS with SSR
Vite
React Kanban Remote data
React Scheduler & MySQL
React Scheduler & MongoDB
React Grid Remote Data
React Grid Edit with Form
React Grid Styling
React Grid CRUD
React Hooks in Grid
React Components in Grid cells
React Components in Table cells
React Grid CRUD with Express JS and MySQL
React Grid and GraphQL
Using with Vue 3
Using with Vue 3 & Typescript
Using with Vue 3 Composition API
Using with Vue 2
Using ListBox with Vue 2
Vue Routing
Vue Grid Data Bind
Using with Blazor & .NET 8, 9
Using with Blazor & .NET 5, 6, 7
Using Blazor with JS Components
Two-way Binding
Localization
Adding to Toolbox
Web Assembly CRUD Application
PWA Application
Desktop Application
.NET MAUI & Blazor
Full-stack app with GraphQL
Full-stack app with GraphQL(2)
Blazor CardView
Setup CardView
Cardview Editing
Cardview Scroll
Blazor Chart
Setup Chart
Chart Axes
Chart Formatting
Chart Polar/Spider
Chart Types
Blazor Editor
Setup Editor
Editor Find & Replace
Editor Inline toolbar
Editor markdown
Editor methods
Editor Paste format
Editor toolbar
Editor toolbar items
Custom toolbar items(JSInterop)
Editor Image Upload
Blazor Docking Layout
Blazor Gantt
Setup Gantt
Gantt Data Bind
Gantt Data Bind to JSON
Gantt events
Gantt export
Gantt header
Gantt nonworking-time
Gantt resources
Gantt Customization
Gantt Timeline
Gantt Custom Header(JSInterop)
Blazor Grid
Setup Grid
Grid Column Menu
Grid Columns Bind
Grid Columns Command Menu
Grid Columns Format
Grid Columns Freeze
Grid Columns Group
Grid Columns Reorder
Grid Columns Resize
Grid Data Bind to CSV
Grid Data Bind to Enumerable
Grid Data Bind to JSON
Grid Data Bind to SQL
Grid Data Bind to Web API
Grid Events
Grid Export
Grid Editing
Grid Filter
Grid Grouping
Grid Paging
Grid Refresh Data
Grid Selection
Grid Server side Crud
Localization
OData binding
Dynamic Template(JSInterop)
Custom Editor
Custom Tooltips
Blazor Inputs
Button
Switch Button
Radio Button
Repeat Button
Dropdown Button
Toggle Button
Progress Bar
Checkbox
Card
Check Input
Multicombo Input
Multi Input
Number Input
Numeric Textbox
Date/Time Picker
Date Range Input
Date Input
Calendar
Slider
Masked TextBox
Password TextBox
File Upload
File Upload handle Files
Dropdownlist
Dropdownlist with Label & Value
Combobox
Combobox with Label & Value
Color Picker
Time Picker
Tank
Blazor Kanban
Setup Kanban
Kanban Nested columns
Kanban SQL bind
Kanban Server Side CRUD
Blazor Pivot
Setup Pivot Table
Pivot Table Columns
Pivot Table Designer
Pivot Table Export
Pivot Table Toolbar
Pivot Table Totals
Blazor Scheduler
Setup Scheduler
Scheduler Agenda view
Scheduler Data Bind to JSON
Scheduler Day View
Scheduler Edit Events
Scheduler Month View
Scheduler Timeline Day View
Scheduler Timeline Month View
Scheduler Timeline Week View
Scheduler Views
Scheduler Week View
Scheduler Custom Footer(JSInterop)
Scheduler SQL bind
Scheduler Server Side CRUD
Blazor Table
Setup Table
Table Change Columns
Table Column Hierarchy
Table Header and Footer
Table Selection
Blazor Accordion
Blazor Tabs
Blazor Tree
Blazor Form
Blazor Form Value Handling
Blazor Query Builder
Blazor ListMenu
Blazor Toast
Blazor Pager
Blazor Menu
Blazor Gauge
Blazor Sortable
Blazor Carousel
Blazor Window
Misc
Tabs Selection
Hide Calendar Weekends
API
Accordion API
Accordion Item API
Button API
Button group API
Breadcrumb API
Card API
Cardview API
Carousel API
Color input API
Country input API
Color picker API
Combobox API
Calendar API
Dropdown list API
Date/time picker API
Date range input API
Date input API
Docking layout API
Dropdown button API
Editor API
File upload API
Form API
Form control API
Form group API
Gantt API
Gauge API
Grid API
Input API
Kanban API
Layout API
Layout group API
Layout item API
List box API
List item API
Masked textbox API
Menu API
Menu item API
Menu items group API
Multi combo input API
Multi input API
Numeric input API
Numeric textbox API
Pager API
Password input API
Password textbox API
Pivot Table API
Phoneinput API
Progressbar API
Query Builder API
Radio Button API
Rating API
Scheduler API
Scrollbar API
Slider API
Splitter API
Tank API
Textbox API
Textarea API
Tabs API
Toast API
TimeInput API
TimePicker API
Tree API
TreeItem API
Window API
Using with Typescript
Using with Lit Element
Using with Sharepoint
Using with PHP & MYSQL
Using with Meteor
Using with Ionic
Using with Stencil
Using Smart.Window with Stencil
Using with Svelte
Using with Electron
Using with Azure Cosmos DB
Using Firebase & OAuth2
Using with AWS DynamoDB
Using with NX(Angular & React)
Using with Webpack
Build ES6 modules with Webpack
Overview
Accessibility
CSS Styling
API
Overview
CSS Styling
Overview
Chart Styling
Chart Formatting
Chart Axes
Chart Types
API
3D Chart Axes
3D Chart Formatting
3D Chart Controls
3D Chart Styling
3D Chart Types
3D Chart API
Overview
Accessibility
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Overview
Editor Toolbar
Context Menu
Auto Save
Iframe mode
Find & Replace
Editor Methods
Markdown
Dialogs
Video
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Overview
Data bind
Column definitions
Column headers
Column reorder
Context menu
Row Filtering
Row Freeze
Row IDs
Row Reorder
Row Resize
Row Sort
Row Span
Header & Footer
Editing
Cell Editing
Cell Templates
Filtering & Sorting
Grouping
Grouping: Expanding Groups
Paging
Nested Grids
Tree Grid
Rows & Columns
Get Row or Cell
Cascading Cell Editors
Conditional Row Select
Export
Export: Selected Records
Firebase & OAuth2
Using with AWS DynamoDB
Using with NodeJS and MySQL
Scrolling
Selection
Accessibility
Localization
Multi users support
Smart.Grid vs Smart.Table
CSS Styling
Appearance
Formulas
Styling Cells
Styling Rows
API
Overview
Gantt Editing
Gantt Sorting
Gantt Filtering
Gantt Tasks Tree
Gantt Timeline
Gantt Backend Storage
Gantt Resource Management
Gantt Accessibility
CSS Styling
API
Overview
Accessibility
CSS Styling
MultiInput API
CheckInput API
MultiComboInput API
NumberInput API
DateInput API
DateRangeInput API
TimeInput API
ColorInput API
TextArea API
API
Overview
Accessibility
Kanban Complex layouts
Kanban Editing Customization
Kanban User comments
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Overview
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Overview
Accessibility
Query Parser
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Overview
CSS Styling
API
Overview
CSS Styling
API
Overview
Current Time Indicator
Drag & Resize Events
Scheduler Events
Google Calendar Sync
Google Calendar Import/Export
Custom Header
Import & Export Events
Menus
Methods
Resources & Grouping
Time table
Time zones
Views
Windows
Signal R Integration
Accessibility
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Overview
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Overview
Accessibility
CSS Styling
API
Tank is a UI Component used in Engineering and Scientific applications. It is broadly used to display the fluid levels.
smart-tank
min
andmax
limits. Any attempt to set a value outside this range will automatically adjust (coerce) it to the closest valid boundary.- When set to 'interaction', only values changed by user interaction (such as form input) are validated againstmin
andmax
. Programmatic updates can set values outside this range, and if themin
ormax
properties are later adjusted such that the current value falls out of bounds, the existing value remains unchanged and is not coerced. In these cases, no change event is triggered.Controls the animation mode by setting or retrieving its current state. When set to'none', all animations are disabled and transitions will not occur. Use this property to enable, disable, or modify animation behavior according to your application's requirements.
Allowed Values
Set theanimation property.
<smart-tank animation='none'></smart-tank>
Set theanimation property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.animation = 'simple';
Get theanimation property.
const tank = document.querySelector('smart-tank');
let animation = tank.animation;
When set to true, all values will be automatically adjusted (coerced) to fit within the range specified by the interval property. This ensures that any value outside the defined interval is converted to the nearest valid value within that range.
Set thecoerce property.
<smart-tank coerce></smart-tank>
Set thecoerce property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.coerce = false;
Get thecoerce property.
const tank = document.querySelector('smart-tank');
let coerce = tank.coerce;
Controls whether custom tick marks, which may be spaced at uneven intervals, are displayed on the axis. The specific positions of these ticks are specified using thecustomTicks property. This option can be used to enable or disable the rendering of these custom-defined ticks.
Set thecustomInterval property.
<smart-tank custom-interval></smart-tank>
Set thecustomInterval property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.customInterval = false;
Get thecustomInterval property.
const tank = document.querySelector('smart-tank');
let customInterval = tank.customInterval;
IfcustomInterval is enabled, this option provides a specific list of tick values to display on the plot's axis, overriding any automatically calculated intervals. Whencoerce is set totrue, user inputs or plotted values will automatically adjust (or "snap") to the nearest tick in this list, ensuring all values align precisely with one of the specified ticks.
Set thecustomTicks property.
<smart-tank custom-ticks='[100, 200, 1000, 8000, 10000]'></smart-tank>
Set thecustomTicks property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.customTicks = [1, 3, 5, 8];
Get thecustomTicks property.
const tank = document.querySelector('smart-tank');
let customTicks = tank.customTicks;
Specifies or retrieves the pattern used to format labels when themode property is set to'date'. This pattern determines how date labels are displayed to the user (for example, "MM/DD/YYYY" or "dd MMM, yyyy").
Set thedateLabelFormatString property.
<smart-tank date-label-format-string='dddd-MMMM-yyyy'></smart-tank>
Set thedateLabelFormatString property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.dateLabelFormatString = 'FP';
Get thedateLabelFormatString property.
const tank = document.querySelector('smart-tank');
let dateLabelFormatString = tank.dateLabelFormatString;
Specifies or retrieves the character used as the decimal separator in numeric values. This determines how decimal points are displayed when formatting or parsing numbers (e.g., use "." for 12.34 or "," for 12,34, depending on locale or formatting requirements).
Set thedecimalSeparator property.
<smart-tank decimal-separator=','></smart-tank>
Set thedecimalSeparator property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.decimalSeparator = '.';
Get thedecimalSeparator property.
const tank = document.querySelector('smart-tank');
let decimalSeparator = tank.decimalSeparator;
Determines whether the widget is active and visible to users. When enabled, the widget functions normally and is displayed in the user interface; when disabled, the widget is hidden or inactive, preventing user interaction.
Set thedisabled property.
<smart-tank disabled></smart-tank>
Set thedisabled property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.disabled = false;
Get thedisabled property.
const tank = document.querySelector('smart-tank');
let disabled = tank.disabled;
When the 'coerce' property is set to 'true', any input values that fall outside the specified interval will be automatically adjusted ("coerced") to the nearest boundary value of the interval. This ensures that all resulting values strictly adhere to the defined range, preventing any out-of-bounds input.
Set theinterval property.
<smart-tank interval='2'></smart-tank>
Set theinterval property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.interval = 10;
Get theinterval property.
const tank = document.querySelector('smart-tank');
let interval = tank.interval;
Defines the orientation of the tank. When set to true, the positions of the tank's front and rear are swapped, effectively reversing its direction.
Set theinverted property.
<smart-tank inverted></smart-tank>
Set theinverted property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.inverted = false;
Get theinverted property.
const tank = document.querySelector('smart-tank');
let inverted = tank.inverted;
A user-defined callback function that formats the values shown on the tank labels before they are displayed. This function receives the raw value as an argument and should return the formatted string to be rendered on the label, allowing for custom display logic such as unit conversion, number formatting, or localization.
Set thelabelFormatFunction property.
<smart-tank label-format-function='function (value) { return value + '%'; }'></smart-tank>
Set thelabelFormatFunction property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.labelFormatFunction = function (value) { return value + '$'; };
Get thelabelFormatFunction property.
const tank = document.querySelector('smart-tank');
let labelFormatFunction = tank.labelFormatFunction;
Controls the visibility of the widget's label. When set, this property determines whether the label is displayed or hidden. When retrieved, it indicates the current visibility state of the label.
Set thelabelsVisibility property.
<smart-tank labels-visibility='endPoints'></smart-tank>
Set thelabelsVisibility property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.labelsVisibility = 'none';
Get thelabelsVisibility property.
const tank = document.querySelector('smart-tank');
let labelsVisibility = tank.labelsVisibility;
Retrieves or assigns the unlockKey property, which serves as a security token or code required to activate and access the product's full functionality.
Set theunlockKey property.
<smart-tank unlock-key=''></smart-tank>
Set theunlockKey property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.unlockKey = '1111-2222-3333-4444-5555';
Get theunlockKey property.
const tank = document.querySelector('smart-tank');
let unlockKey = tank.unlockKey;
Specifies the current locale for the application. This property determines language and regional formatting, and works together with themessages property to provide appropriate translations and locale-specific content. Use this property to get or set the active locale for displaying messages and other localized resources.
Set thelocale property.
<smart-tank locale='de'></smart-tank>
Set thelocale property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.locale = 'fr';
Get thelocale property.
const tank = document.querySelector('smart-tank');
let locale = tank.locale;
Callback function associated with the localization module. This callback is triggered during localization operations, such as language selection, translation processing, or locale updates, to handle custom logic or respond to localization events within the application.
Set thelocalizeFormatFunction property.
<smart-tank localize-format-function='function(){return '...'}'></smart-tank>
Set thelocalizeFormatFunction property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.localizeFormatFunction = function(){return '...'};
Get thelocalizeFormatFunction property.
const tank = document.querySelector('smart-tank');
let localizeFormatFunction = tank.localizeFormatFunction;
Determines whether the widget displays data using a logarithmic scale. When enabled, values are plotted on a logarithmic scale instead of a linear scale, which can help visualize data with a wide range of values. When disabled, the widget uses a standard linear scale.
Set thelogarithmicScale property.
<smart-tank logarithmic-scale></smart-tank>
Set thelogarithmicScale property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.logarithmicScale = false;
Get thelogarithmicScale property.
const tank = document.querySelector('smart-tank');
let logarithmicScale = tank.logarithmicScale;
Gets or sets the maximum allowable value for the widget, defining the upper limit that users can select or enter.
Set themax property.
<smart-tank max='20'></smart-tank>
Set themax property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.max = 50;
Get themax property.
const tank = document.querySelector('smart-tank');
let max = tank.max;
Defines or retrieves the specific type of mechanical action being applied. This property allows you to specify what kind of mechanical action to use (such as momentary, toggle, or latching), or to query the current mechanical action configuration.
Set themechanicalAction property.
<smart-tank mechanical-action='switchWhenReleased'></smart-tank>
Set themechanicalAction property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.mechanicalAction = 'switchUntilReleased';
Get themechanicalAction property.
const tank = document.querySelector('smart-tank');
let mechanicalAction = tank.mechanicalAction;
Defines or retrieves an object containing the localizable text strings used throughout the widget interface. This property allows you to customize the widget’s displayed messages for different languages and regions. It is typically used together with thelocale property to support internationalization and provide translations based on the user’s locale settings.
Set themessages property.
<smart-tank messages='{"de":{"propertyUnknownType":"Die Eigenschaft '{{name}}' hat ein nicht definiertes 'type'-Member!","propertyInvalidValue":"Ungultiger Eigenschaftswert '{{name}}'! Aktueller Wert: {{actualValue}}, Erwarteter Wert: {{value}}!","propertyInvalidValueType":"Ungultiger Eigenschaftswert '{{name}}'! Aktueller Wert: {{actualType}}, Erwarteter Wert: {{type}}!","elementNotInDOM":"Element existiert nicht in DOM! Bitte fugen Sie das Element zum DOM hinzu, bevor Sie eine Methode aufrufen.","moduleUndefined":"Modul ist nicht definiert.","missingReference":"{{elementType}}: Fehlender Verweis auf {{files}}.","htmlTemplateNotSuported":"{{elementType}}: Browser unterstutzt keine HTMLTemplate-Elemente.","invalidTemplate":"{{elementType}}: '{{property}}' Die Eigenschaft akzeptiert eine Zeichenfolge, die mit der ID eines HTMLTemplate-Elements aus dem DOM ubereinstimmen muss.","significantPrecisionDigits":"{{elementType}}: Die Eigenschaften significantDigits und precisionDigits konnen nicht gleichzeitig eingestellt werden.","invalidMinOrMax":"{{elementType}}: Ungultiger Wert {{property}} Max kann nicht niedriger sein als Min.","noInteger":"{{elementType}}: precisionDigits konnte nur fur \"floatingPoint\" scaleType festgelegt werden."}}'></smart-tank>
Set themessages property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.messages = {"en":{"propertyUnknownType":"'{{name}}' property is with undefined 'type' member!","propertyInvalidValue":"Invalid '{{name}}' property value! Actual value: {{actualValue}}, Expected value: {{value}}!","propertyInvalidValueType":"Invalid '{{name}}' property value type! Actual type: {{actualType}}, Expected type: {{type}}!","elementNotInDOM":"Element does not exist in DOM! Please, add the element to the DOM, before invoking a method.","moduleUndefined":"Module is undefined.","missingReference":"{{elementType}}: Missing reference to {{files}}.","htmlTemplateNotSuported":"{{elementType}}: Browser doesn't support HTMLTemplate elements.","invalidTemplate":"{{elementType}}: '{{property}}' property accepts a string that must match the id of an HTMLTemplate element from the DOM.","significantPrecisionDigits":"{{elementType}}: the properties significantDigits and precisionDigits cannot be set at the same time.","invalidMinOrMax":"{{elementType}}: Invalid {{property}} value. Max cannot be lower than Min.","noInteger":"{{elementType}}: precisionDigits could be set only on \"floatingPoint\" scaleType."}};
Get themessages property.
const tank = document.querySelector('smart-tank');
let messages = tank.messages;
Defines or retrieves the minimum allowable value for the widget. When setting this property, it restricts user input so that values below the specified minimum are not permitted. When getting this property, it returns the current minimum value constraint of the widget.
Set themin property.
<smart-tank min='20'></smart-tank>
Set themin property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.min = 50;
Get themin property.
const tank = document.querySelector('smart-tank');
let min = tank.min;
Determines whether the widget processes and displays numeric values or date values. This property can be set to configure the expected data type (numbers or dates), and can also be accessed to check the current mode of the widget.
Set themode property.
<smart-tank mode='date'></smart-tank>
Set themode property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.mode = 'numeric';
Get themode property.
const tank = document.querySelector('smart-tank');
let mode = tank.mode;
Defines or retrieves the element's name attribute. This name uniquely identifies the element within a form and is used as the key when the form data is submitted to the server, allowing the associated value to be referenced and processed.
Set thename property.
<smart-tank name='tank1'></smart-tank>
Set thename property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.name = 'tank2';
Get thename property.
const tank = document.querySelector('smart-tank');
let name = tank.name;
Specifies the layout direction of the widget, determining whether its content is arranged horizontally, vertically, or in another supported orientation.
Set theorientation property.
<smart-tank orientation='vertical'></smart-tank>
Set theorientation property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.orientation = 'horizontal';
Get theorientation property.
const tank = document.querySelector('smart-tank');
let orientation = tank.orientation;
Specifies the number of digits to display after the decimal point in numeric values. This setting is only applicable whenscaleType is set to'integer'.
Set theprecisionDigits property.
<smart-tank precision-digits='5'></smart-tank>
Set theprecisionDigits property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.precisionDigits = 6;
Get theprecisionDigits property.
const tank = document.querySelector('smart-tank');
let precisionDigits = tank.precisionDigits;
If the widget is set to read-only, users will not be able to interact with or modify the element's content. Any input or actions from users will be disabled, ensuring that the widget's state remains unchanged.
Set thereadonly property.
<smart-tank readonly></smart-tank>
Set thereadonly property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.readonly = true;
Get thereadonly property.
const tank = document.querySelector('smart-tank');
let readonly = tank.readonly;
Gets or sets a value that specifies whether the element’s content is aligned to accommodate right-to-left (RTL) languages, such as Arabic or Hebrew. When enabled, the element’s alignment and text direction are adjusted for proper display in RTL locales.
Set therightToLeft property.
<smart-tank right-to-left></smart-tank>
Set therightToLeft property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.rightToLeft = true;
Get therightToLeft property.
const tank = document.querySelector('smart-tank');
let rightToLeft = tank.rightToLeft;
Specifies the placement of the widget’s scales relative to its main content, determining where the scale markers or labels appear within the widget interface (e.g., top, bottom, left, or right).
Set thescalePosition property.
<smart-tank scale-position='far'></smart-tank>
Set thescalePosition property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.scalePosition = 'both';
Get thescalePosition property.
const tank = document.querySelector('smart-tank');
let scalePosition = tank.scalePosition;
Specifies the measurement system used for the tank's scale, such as linear, logarithmic, or custom, which determines how values are displayed and interpreted on the tank's indicator.
Set thescaleType property.
<smart-tank scale-type='integer'></smart-tank>
Set thescaleType property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.scaleType = 'floatingPoint';
Get thescaleType property.
const tank = document.querySelector('smart-tank');
let scaleType = tank.scaleType;
Determines whether numerical values are displayed using scientific notation (e.g., 1.23e+6 instead of 1230000). Set to true to enable scientific notation, or false to display numbers in standard decimal format.
Set thescientificNotation property.
<smart-tank scientific-notation></smart-tank>
Set thescientificNotation property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.scientificNotation = true;
Get thescientificNotation property.
const tank = document.querySelector('smart-tank');
let scientificNotation = tank.scientificNotation;
Controls whether the thumb label is visible or hidden. When enabled, the thumb label will be displayed alongside the slider's handle, providing users with a visual indicator of the current value. When disabled, the thumb label will not appear.
Set theshowThumbLabel property.
<smart-tank show-thumb-label></smart-tank>
Set theshowThumbLabel property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.showThumbLabel = true;
Get theshowThumbLabel property.
const tank = document.querySelector('smart-tank');
let showThumbLabel = tank.showThumbLabel;
Controls whether the tooltip is visible to the user. When enabled, the tooltip will be displayed; when disabled, the tooltip will be hidden.
Set theshowTooltip property.
<smart-tank show-tooltip></smart-tank>
Set theshowTooltip property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.showTooltip = true;
Get theshowTooltip property.
const tank = document.querySelector('smart-tank');
let showTooltip = tank.showTooltip;
Controls whether unit labels (such as "kg", "cm", "°C") are shown alongside values. Set to true to display units next to values, or false to hide them.
Set theshowUnit property.
<smart-tank show-unit></smart-tank>
Set theshowUnit property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.showUnit = false;
Get theshowUnit property.
const tank = document.querySelector('smart-tank');
let showUnit = tank.showUnit;
Calculates the number of significant digits present in a given number. This process is only relevant and performed when thescaleType property is set to'integer'. This property should be used to ensure numerical data integrity and appropriate formatting for integer-based values.
Set thesignificantDigits property.
<smart-tank significant-digits='1'></smart-tank>
Set thesignificantDigits property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.significantDigits = 2;
Get thesignificantDigits property.
const tank = document.querySelector('smart-tank');
let significantDigits = tank.significantDigits;
Sets or retrieves the visual theme applied to the element, determining its overall appearance such as color scheme, typography, and style variants. This property allows dynamic customization of the element’s look to match different design requirements or user preferences.
Set thetheme property.
<smart-tank theme='material'></smart-tank>
Set thetheme property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.theme = 'material-purple';
Get thetheme property.
const tank = document.querySelector('smart-tank');
let theme = tank.theme;
Sets or retrieves the current position of the thumb label, typically representing the value indicator on a slider or range input. This property allows you to programmatically control or access the exact location of the label relative to the slider track.
Set thethumbLabelPosition property.
<smart-tank thumb-label-position='far'></smart-tank>
Set thethumbLabelPosition property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.thumbLabelPosition = 'near';
Get thethumbLabelPosition property.
const tank = document.querySelector('smart-tank');
let thumbLabelPosition = tank.thumbLabelPosition;
Defines or retrieves the placement of the tick marks in the smartTank widget, specifying where the ticks are displayed relative to the tank (e.g., near, far, or both sides). This property allows you to control the visual positioning of the tick indicators along the scale of the smartTank widget.
Set theticksPosition property.
<smart-tank ticks-position='track'></smart-tank>
Set theticksPosition property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.ticksPosition = 'scale';
Get theticksPosition property.
const tank = document.querySelector('smart-tank');
let ticksPosition = tank.ticksPosition;
Controls whether the ticks are visible or hidden. This property allows you to enable (show) or disable (hide) the display of tick marks on the relevant component. When set, it determines if ticks are rendered; when accessed, it returns the current visibility state of the ticks.
Set theticksVisibility property.
<smart-tank ticks-visibility='major'></smart-tank>
Set theticksVisibility property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.ticksVisibility = 'none';
Get theticksVisibility property.
const tank = document.querySelector('smart-tank');
let ticksVisibility = tank.ticksVisibility;
Specifies or retrieves the position of the tooltip displayed on the smartTank widget. This property determines where the tooltip appears relative to the tank control (e.g., top, bottom, left, or right). Use this option to customize the tooltip's placement for improved user experience and interface alignment.
Set thetooltipPosition property.
<smart-tank tooltip-position='far'></smart-tank>
Set thetooltipPosition property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.tooltipPosition = 'near';
Get thetooltipPosition property.
const tank = document.querySelector('smart-tank');
let tooltipPosition = tank.tooltipPosition;
Determines whether the element is focusable by setting or retrieving its ability to receive keyboard or mouse focus. If set to true, the element can be targeted by user interactions such as tab navigation or clicking.
Set theunfocusable property.
<smart-tank unfocusable></smart-tank>
Set theunfocusable property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.unfocusable = false;
Get theunfocusable property.
const tank = document.querySelector('smart-tank');
let unfocusable = tank.unfocusable;
Specifies or retrieves the unit label displayed on the smartTank widget, indicating the measurement unit (e.g., "°C", "kg", "psi") associated with the tank's value. This property allows you to customize the text that appears alongside the value in the widget for better context and readability.
Set theunit property.
<smart-tank unit='mm'></smart-tank>
Set theunit property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.unit = 'cm';
Get theunit property.
const tank = document.querySelector('smart-tank');
let unit = tank.unit;
Enhances value validation using minimum and maximum boundaries.
- When set to'strict', all values—whether changed by user interaction or programmatically—are always constrained within the definedmin
andmax
limits. Any attempt to set a value outside this range will automatically adjust (coerce) it to the closest valid boundary.
- When set to'interaction', only values changed by user interaction (such as form input) are validated againstmin
andmax
. Programmatic updates can set values outside this range, and if themin
ormax
properties are later adjusted such that the current value falls out of bounds, the existing value remains unchanged and is not coerced. In these cases, nochange event is triggered.
Set thevalidation property.
<smart-tank validation='left'></smart-tank>
Set thevalidation property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.validation = 'right';
Get thevalidation property.
const tank = document.querySelector('smart-tank');
let validation = tank.validation;
Gets the current value of the smartTank widget or sets it to a specified value. This property or method enables you to retrieve the widget's current position (value) or assign a new value programmatically, allowing for dynamic interaction and control over the smartTank component.
Set thevalue property.
<smart-tank value='50'></smart-tank>
Set thevalue property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.value = 100;
Get thevalue property.
const tank = document.querySelector('smart-tank');
let value = tank.value;
Specifies or retrieves the word length used for numeric representation. This property is relevant only when thescaleType is set to'integer'. In such cases, it determines the number of bits allocated for each integer value. For otherscaleType values, this setting has no effect.
Set thewordLength property.
<smart-tank word-length='int8'></smart-tank>
Set thewordLength property by using the HTML Element's instance.
const tank = document.querySelector('smart-tank');
tank.wordLength = 'int16';
Get thewordLength property.
const tank = document.querySelector('smart-tank');
let wordLength = tank.wordLength;
This event is triggered whenever the tank’s value is updated, whether through user interaction or programmatic changes. It allows listeners to respond immediately to any modification in the tank’s current state.
Returnstrue if the event was preventedby any of its subscribers.
booleantrue if the default action was prevented.Otherwise, returnsfalse.
The preventDefault() method prevents the default action for a specified event.In this way, the source component suppressesthe built-in behavior that follows the event.
The stopPropagation() method of the Event interface prevents further propagation of the current event in the capturing and bubbling phases.
Set up the event handler ofchange event.
const tank = document.querySelector('smart-tank');tank.addEventListener('change', function (event) {// event handling code goes here.})
Locks the keyboard and mouse input exclusively on the tank component, ensuring that all user interactions are directed to the tank (such as movement and firing controls) while disabling interactions with other interface elements.
Invoke thefocus method.
const tank = document.querySelector('smart-tank');tank.focus();
Retrieves the recommended dimensions (width and height) for the widget based on its content and layout constraints, ensuring optimal display and usability.
Returnsobject
Invoke thegetOptimalSize method.
const tank = document.querySelector('smart-tank');const result = tank.getOptimalSize();
Retrieves or updates the current value stored in the tank. Use this property to access the tank’s value (such as its level, volume, or contents) or to assign a new value to it.
The value to be set. If no parameter is passed, returns the displayed value of the tank.
Returnsstring
Invoke theval method.
const tank = document.querySelector('smart-tank');const result = tank.val("10");
smartTank default width
smartTank default height
smartTank scale size
smartTank thumb width
smartTank thumb height
smartTank tooltip width
smartTank thumb height
smartTank tick size. Horizontal Tank tick height = Vertical Tank tick width.
smartTank minor tick size.
smartTank horizontal track min-height, vertical track min-width