- Tabs Material: fixed jump to the anchors, issue #1794
- Table: fixed create
Instpector
when table data loaded with methodloadData()
, issue #1796 - Tabs Material: added mouse wheel support for scrolling tabs, issue #1795
- Select: added event
data-on-clear
, fixed firing eventdata-on-change
when user click on theclear
button, issue #1802 - Switch: fixed method
toggleState()
, issue #1799 - Select: fixed API method
data()
for selecting option when defined, issue #1755 - Select: added API methods
addOptions(values = [] || {})
,removeOptions(values = [])
- Select: added API methods
addOption(val, title, selected)
,removeOption(val)
- Select: fixed clear button work, issue #1716
- Master: fixed for quick switching panes, issue #1787
- Important: IE is dead and no more supported!
- M4Q: version updated to 1.1.0
- M4Q: removed polyfills for Promise, CustomEvent (IE is dead)
- Datetime: version
1.0.1
, new global typeDatetime
, and factorydatetime()
- Cake: version
1.0.0
, new global typeCake
, and factorycake()
- Ajax: switched from
$.ajax
($.json
,$.post
, ...) tofetch
(IE is dead) - Tag input: switched from
$.ajax
tofetch
- Input: switched from
$.ajax
tofetch
- Html container: switched from
$.ajax
tofetch
- Cookie disclaimer: switched from
$.ajax
tofetch
- Table:
_create()
,_buid()
,_saveTableView()
,loadData()
now usefetch
, and send data to server asjson
- Streamer: now use
fetch
for loading data - List: now use
fetch
for loading data - Calendar: fixed showing week numbers
- Calendar: rewritten with Datetime
- Calendar picker: rewritten with Datetime
- Countdown: updated for using with Datetime
- Chat: updated for using with Datetime
- Chat: changed messages style
- Validator: updated method
date
for using with Datetime - Table: updated for using with Datetime (change
toDate()
toDatetime.from()
) - List: updated for using with Datetime (change
toDate()
toDatetime.from()
) - Datepicker: updated for using with Datetime
- Utils: updated for using with Datetime
- Extensions: removed extension for
Date
, useDatetime
- Extensions: removed extension for
Object
-Object.create()
,Object.values()
(IE is dead) - Extensions: removed methods from extension for
String
,Array
- Any: added using
Cake.lpad
where need - Utils: removed functions
lpad
,rpad
. If you need these functions, useCake.pad
,Cake.lpad
,Cake.rpad
- Select: added attributes
data-drop-full-size=true|false
(default: false),data-drop-width=int_value
to set drop container width - Hint: added attribute
hintDeferred
if value of this > 0, a hint will display with delay. - ActionButton: fixed
vertical-align
formulti-action
class - Activity: change default style to
color
- Keylock: added new component
- Calendar: fixed bug issue #1732
- Window: fixed event
onMaxClick
, issue #1735 - DoubleSelectBox: added new component, request from Patreon patron
- M4Q: fixed setting css number props
order
,zoom
with methodcss()
- CalendarPicker: added API method
clear()
- CalendarPicker: fixed API method
val()
, if you set argument as empty stringval("")
, you clear calendar picker value - M4Q Ajax: fixed method
$.get
for url with?
, issue #1745 - List: updated for using with different tags. For example: now you can use list with
div.grid role=list > div.row > div.cell
structure - List: added attribute
data-cls-template-tag
to set class(es) for item children - List: added attribute
data-default-template-tag
to set wrapper element for item children, when template is not defined - List: improved work with an attribute
data-cls-template-tag
. Now you can set many classes separated with comma to applying to elements with linked index - Grid: fixed
no-gap
class, nowpadding
cancels for.grid.no-gap .row > .cell*
and.row.no-gap > .cell*
- Utils: fixed function
Utils.isObject()
, issue #1755 - Switch: To show on-off label you must set attribute
data-show-on-off='true'
and use attributes:data-on
,data-text-on
,data-off
,data-text-off
ori18n
configs with attributedata-locale
- Switch: added
i18n
support with propslocale.switch.on
,locale.switch.off
- Switch: added changing on-off text in runtime with API method
i18n(locale_name)
, issue #1761 - M4Q: added property
$.dark
- Accordion: added API method
open(index)
- Accordion: added attributes
data-cls-accordion
,data-cls-frame
,data-cls-heading
,data-cls-content
,data-cls-active-frame
,data-cls-active-frame-heading
,data-cls-active-frame-content
- Table: added attribute
data-use-current-slice
. If this attribute has a value true, click on select-all checkbox will only apply to the current (visible) data slice, issue #1778 - Sidebar: added attribute
data-close-outside="true|false"
to close sidebar by a click outside the sidebar, issue #1777 - Marquee: added method
setItems([...])
- Attributes: fixed method
attr
when user defining one argument - Animation: added methods
stopAll()
,pause(id)
,pauseAll()
,resume(id)
,resumeAll()
- Color selector: added new component
- Color picker: added new a component
- Marquee: added new component
- NavView: fixed
navview-pane
itemheight
and hover state, issue #1661 - Metro: improved function
makePlugin(...)
, now you can use it for set of elements. - Slider: fixed work vertical slider for touchable devices
- Colors: improve work with hsl, hsv
- Spinner: fixed input not a number value, value more or less than defined in options.
- Keypad: fixed internal value type mismatch.
- InfoBox: added attribute
data-overlay-click-close=true|false
, defaultfalse
, issue #1668 - Table: added localization from i18n files, issue #1671
- Dropdown: fixed closing others when open current
- Timepicker: fixed error when
step
is not equals to0
, issue #1676 - Select: fixed clear button icon position in
input-small
mode, issue #1675 - Select: added attribute
data-cls-group-name
- Select: for option added attribute
data-display
, issue #1677 - Input: added support for getting autocomplete list items with ajax, issue #1682
- Locales: added
Croatian
locale, thanks to dugi007 - Calendar: added showing events count in days, issue #1621
- Tag Input: added autocomplete feature, issue #1500
- Table: added showing inspector button with attributes
data-show-inspector-button=true|false
,data-inspector-button-icon
. - Table: set default value for
data-cell-wrapper
to true - Table: improve table styles for
table-contaner
- Table: fixed working with attribute
data-horizontal-scroll-stop
- Metro: added method
pluginExists(name)
to check if specified plugin registered in registry - Colors: fixed primitives
RGBA
,HSLA
to create with specified alpha - Utils: added
lpad()
,rpad()
functions - Calendar: improve visibility, fixed for using
Utils.lpad()
- Calendar picker: fixed for using
Utils.lpad()
- Metro: added method
Component._fireEvents(...)
- Security alert: fixed from issue #1687
- Date extension: fixed method
getWeek()
, used in calendar for showing week numbers. - Tag input: added closing autocomplete list on user click outside.
- Window: fixed holds zIndex when draggable, issue #1689
- i18n: fixed a chinese locales name, issue #1691
- Countdown: changed prop name
data-animate-func
todata-ease
- Additional colors: for opacity added
op-*-hi
,op-*-low
classes - Additional colors: default opacity changed to
0.5
- Keypad: added attributes
data-except-keys
,data-key-separator
,data-key-delimiter
,data-trim-separator
. - Table: fixed using attribute
data-sortable
forth
.
- Button: fixed content position, issue #1648.
- Split-button: improved the layout, added subclass
no-gap
forsplit-button
. - Select: fixed minor bug for showing group name, when value sets with method
val(...)
, issue #1652 - GradientBox: refactoring.
- ImageBox: fixed work of attribute
data-repeat
. - Window: improve work with window content, now no require
content
wrapping into theblock
when definingcontent
property. - ImagePlaceholder: new component to create image placeholders.
- Button: added a button with loading state.
- Color: improved method
parse()
. - Validator: improved validating function
color
, now you can use any color string format: rgb, hex, ... - Default icons: optimized styles.
- Media players: optimized default icons.
- Activity: added two new activity
bars
,atom
. - Tabs material: fixed tabs position.
- Utils: removed functions:
hex2rgba()
,getTransformMatrix()
,computedRgbToHex()
,computedRgbToRgba()
,computedRgbToArray()
,hexColorToArray()
,hexColorToRgbA()
- i18n: added
tr-TR
turkish locale. - Third party plugins: removed support for
select2
,datatables
- AppBar: added event
onBeforeMenuOpen
,onBeforeMenuClose
, fixed firing eventsonMenuOpen
,onMenuClose
. - Timepicker: added attributes
data-cls-button
,data-cls-ok-button
,data-cls-cancel-button
to modify picker buttons style, issue #1659. - Datepicker: added attributes
data-cls-button
,data-cls-ok-button
,data-cls-cancel-button
to modify picker buttons style, issue #1659. - TreeView: fixed
ul
default position to initial, issue #1660 - Dropdown: added classes
.drop-down-left
,.drop-down-right
,.drop-up-left
,.drop-up-right
. - Position: split position into
position
,position-ext
,z-index
. - Utilities: removed function
isColor(...)
, if need, useMetro.colors.isColor()
. - Utilities: removed function
embedObject(...)
, if need, use$(...).wrap()
. - Utilities: removed function
randomColor(...)
, if need, useMetro.colors.random()
. - Utilities: updated function
isVideoUrl(...)
, addedtwitch
.
- M4Q: updated to 1.0.9
- M4Q Core: added function
$.isLocalhost([hostname])
, true if host is localhost. - M4Q Core: added property
$.localhost
, true if current location is localhost. - M4Q Core: added property
$.touchable
, true if device detected as touchable. - M4Q Manipulation: added methods
appendText(...any_text...)
,prependText(...any_text...)
.
- Licensing: return MIT unified licensing model
- Tile: fixed double firing click event. Component internal event
onClick
renamed toonTileClick
(attributedata-on-click
=>data-on-tile-click
), issue #1636 - Export: added method
arrayToCSV(array, filename, options)
. - Utils: removed function
isLocalhost
, if you need, use$.localhost
or$.isLocalhost([host])
. - Utils: removed function
isArray
. - Utils: removed function
isTouchDevice
. if you need, use$.touchable
. - Tag input: improve method
val()
. Now you can use for new value(s)array
orsimple value
. - Tag input: added method
append(val)
. For append tag(s) to existing value. - Select: fixed using attribute
data-cls-option-group
, issue #1640 - Carousel: fixed usage attribute
data-width
, now this attribute applied tomax-width
css property, issue #1647 - ImageBox: added new component for issue #1647
- GradientBox: added new component for issue #1645
- ViewportCheck: added new component for check if element in viewport
- Shadows: added class
shadowed
, class defined inshadow.less
, issue #1643 - Select: added attributes
data-show-group-name="true|false"
(default - false),data-short-tag="true|false"
(default - true), issue #1642
- M4Q: updated to 1.0.8
- M4Q Constructor: added short-tag for selecting by
data-role
with$('@rolename')
- M4Q Visibility: fixed method
hide
for detecting initialdisplay
value - M4Q Init: improve init method
- M4Q: added property
$.device
, true for mobile a device.
- Components: switch to
Component._fireEvent(...)
method for firing component eventsdata-on-*
- Calendar: added firing event
onMonthChange
when user clicks on outside day, issue #1589 - Window: added API methods
pos(top, left)
,top(v)
,left(v)
,width(v)
,height(v)
, issue #1590 - Metro.window: added methods
pos(top, left)
,top(v)
,left(v)
,width(v)
,height(v)
- Switch: added
data-on
,data-off
attributes to show switch text state - Checkbox: added API method
toggle(state)
. Thestate
must be-1
(indeterminate),0
(unchecked),1
(checked) orundefined
(toggle between checked and unchecked), issue #1586 - Switch: added API method
toggle(state)
. Thestate
must be0
(unchecked),1
(checked) orundefined
(toggle between checked and unchecked), issue #1586 - Double slider: fixed right-hand button moves when grabbing the left-hand hint, issue #1591
- Window: added property
attr
to custom button definition. This attribute must be aobject
with pairskey: value
wherekey
- attribute name,value
- attribute value, issue #1592 - Input: added property
attr
to custom button definition - Panel: added property
attr
to custom button definition - Lightbox: new component to create a modal image gallery
- ImageGrid: new component to create a simple beautiful image grid
- Draggable: added attribute
data-boundary-restriction="true|false"
, issue #1595 - Tokenizer: new component to create tokenized text
- Carousel: fixed active slide
z-index
, issue #1605 - Dropdown: added attributes
data-drop-up=true|false
(defaultfalse
),data-check-drop-up=true|false
(default:false
), issue #1604 - Select: added attributes
data-drop-up=true|false
(defaultfalse
),data-check-drop-up=true|false
(default:true
), issue #1604 - Table: fixed using template, issue #1606
- Select: fixed clear button work, issue #1610
- Input: remove metro style from input without role
input
. To added metro style to input without roleinput
, use classmetro-input
. - Textarea: remove metro style from input without role
input
. To added metro style to input without roleinput
, use classmetro-input
. - Utils Css: remove classes
.neb
,.neb2
,.h-center
,.v-center
- Input: added event
onAutocompleteSelect
. You can define this event with an attributedata-on-autocomplete-select
. The event receives a one argument - selected value. issue #1615. - Validator: fixed validating radio buttons with a name as indexed array, issue #1620
- Textarea: added attribute
data-max-height=0..n
, now you can set max height for textarea component. - Components: now, you can use components without common styles from
metro-common.css
,metro-reset.css
, issue #1609 - Window: disable a window maximized/minimized action when attribute
data-btn-max=false
and user use double-click on then window caption, issue #1625 - Input: added style prop
min-width=0
, issue #1626 - Component: fixed method
_runtime()
for updating attributedata-role
. - Input: added attribute
data-label
. If this attribute defined,label
element for input will be created automatically. - Calendar picker: added attribute
data-label
. If this attribute defined,label
element for input will be created automatically. - Time picker: added attribute
data-label
. If this attribute defined,label
element for input will be created automatically. - Date picker: added attribute
data-label
. If this attribute defined,label
element for input will be created automatically. - Input mask: added new component. Currently, only for desktop browsers.
- Icons: new icons
external
,new-tab
- Countdown: fixed draw function, issue #1632
- Color: added
ColorPrimitive
with color primitive objects - Color: fixed color type constructor for creating colors from string
- Color: added method
mix(...)
:ColorType.mix(color)
andColors.mix(color1, color2)
. This method allows you to mix colors. - Color: added methods
channel(channelName, val)
,channels(obj)
. This method change specified color channel. Color must be a required format. - Date picker: added methods
enable()
,disable())
,toggleState()
, added observing for propdisabled
, issue #1633 - Time picker: added methods
enable()
,disable())
,toggleState()
, added observing for propdisabled
, issue #1633
- Input: added API method
setAutocompleteList(array|string)
, issue #1576 - Scrollbars: added styles with classes
.scrollbar-type-1
,.scrollbar-type-2
,.scrollbar-type-3
,.scrollbar-type-4
- NavView: fixed pane close on mobile devices when inputs, inside a pane, receive a focus, issue #1580
- NavView: added displaying caption for
navview-menu
for compacted mode on the left of icon when user hovering item - Grid: fixed offset-*-0 are missing in the grid system, issue #1583
- Grid: added gaps with classes
gap-*
, where*
is one of0, 8, 16, 24, 32, 40
in pixels - NavView: fixed scrolling menu in compact mode, issue #1579
- NavView: added API method
toggleMode()
to toggle between expanded and compacted modes, issue #1538 - Select: for API method
data(newOptions, selected, delimiter)
added second argument. Must be astring
orarray
, ifselected
is astring
, you can usedelimiter
argument to split string into array, issue #1497
- Component:
_fireEvent
push__this
to arguments.__this
contains HTMLElement - Utils: fixed function
github()
for executing callback - Counter: fixed for starting when page scrolls
- Counter: added attributes
data-from
,data-prefix
,data-suffix
. Prefixed and suffixed must be a plain text. - Observer: added firing event
attrchange
when component attribute was ben changed.e.detail
contains an object{attr, newValue, oldValue, __this}
. - General: added firing event
hotkeybonded
when hotkey for component was ben bonded.e.detail
contains an object{__this, hotkey, fn}
. - General: all components fired event
create
when init. Thee.detail
contains an object{name, __this}
. - General: the document fired event
component-create
when a component was ben initialized. Thee.detail
contains an object{element, name}
. - Window: fixed
makeRuntime
calling, issue #1574 - Window: fixed make window
resizable
- Typography: added
italic
andunderline
text classes, issue #1577
- Animation: fixed using String.includes for IE11. Changed to
String.indexOf
- Animation: added operator
/
to_getRelativeValue()
- Events: fixed
fire
. Now main is constructorCustonEvent
, for old -createEvent
- Manipulation: added method
wrap
,wrapAll
,wrapInner
. The method puts elements inside the wrapper and returnwrapper(s)
- Init: change
throw Error
toconsole.warn
when selector is#
or.
- setImmediate: added support for
process
andweb workers
- General: new module system. All components now defined as alone IIFE modules.
- Validator: fixed functions
compare
,equals
,notequals
to work not inside a form, issue #1542 - Rtl: remove
form-rtl
,accordion-rtl
less files. RTL Styles moved to component style. - Locales: added
pt-BR
Brazilian Portuguese language - Toast: added method
Metro.createToast()
. This eq toMetro.toast.create()
- Components: event
on[Component]Create
now have context aHTMLElement
and receive$(HTMLElement)
as argument - Keypad: fixed Keypad backspace button click behavior on
keypad
, created atruntime
, issue #1547 - Utils: improve function
isType
- Utils: remove functions
camelCase()
,dashedName()
. UseString.camelCase
or$.camelCase()
andString.dashedName())
or$.dashedName()
. - Clock: added events
onTick
,onSecond
- String: added extensions
includes()
,camelCase()
,dashedName()
,shuffle()
- Array: added extensions
includes()
- ListView: fixed event
onNodeDblclick
, issue #1453 - Ribbon menu: fixed hovering when button disabled, issue #1551
- Components: new constructor function
- Colors: full refactoring, now its full equals to
ColorJS
- ColorType: new custom type for
color
variable. Var can be defined asvar c = new Color(...)
orvar c = new Metro.Color(...)
- Material Tabs: update to work in all browsers
- Animation: redesign module
- Animation: added effects
zoom
,swirl
- Tiles: remove prefixed
animate-*
for values for attributedata-effect
- Core: removed meta attribute
metro4:init:mode
. Now Metro is ALWAYS initialized after the content has been loaded. - IE: removed file
ie.less
. Styles moved to components styles. - ListView: added method
selectByAttribute(attrName, attrValue, true|false)
for select/deselect items, issue #1554 - Template: new component. This component allows you to use javascript templates inside HTML elements.
- Table: fixed using wrapper for
skip
, issue #1557 - Calendar picker: fixed using attribute
clsPrepend
, issue #1558 - Toast: added new arguments format
Metro.createToast(message, options)
. Whereoptions
is aplain object
. - Draggable: added attribute
dragContext
, you can set it for access to any object with drag events, issue #1565 - Window: added second argument
context
for eventsonDragStart
,onDragStop
,onDragMove
, issue #1565 - Calendar picker: fixed work in
dialog-mode
- Tabs: fixed work attribute
clsTabsListItemActive
, issue #1568 - Locales: added danish locale
da-DK
, issue #1570
- Animation: a new engine for animation. The
animate
function changed. Now function receives one argument. Also, you can use old syntax :) - Init: fixed minor bug for creating elements in context
- Ajax: added parameter
contentType
. If this param has valuefalse
,Content-type
can't be defined. - Contains: added checks with
:visible
to methodis
. Example:$(...).is(':visible')
- Utils: added methods
$.random(array | a, b)
,$.getUnit(a)
,$.strip(where, what)
,$.hasProp(obj, prop)
,$.dashedName(val)
- Classes: added method
$(...).removeClassBy(mask)
- Source: reposition source code
- Builder: new builder config, and new builder version
2020.1
. New version not compatibility with 4.3.6 - Input: fixed append size and padding, issue #1512
- Ripple: added ripple call for any element, issue #1515
- Splitter: added event
onResizeWindow
. Setup this event with propdata-on-resize-window
or event$(...).on('resizewindow', ...)
, issue #1516 - Table: added
skip to page
functionality, issue #1511 - Table: added attributes
data-show-skip
,data-table-skip-title
,data-skip-wrapper
,data-cls-table-skip
,data-cls-table-skip-input
,data-cls-table-skip-button
- Table: added event
data-on-skip
- Common css: optimize
lists
,reset
- UtilsJS: improve
isFloat
function, issue #1518 - Icons: added
whatsapp
icon, issue #1510 - AudioButton: added new component for the button with role
audio-button
- Select: fixed
prepend
,append
forinput-small
,input-large
. Withmultiple
,append
andprepend
will not displayed. - Input: fixed
prepend
,append
forinput-small
,input-large
. Issue #1522 - Counter: fixed start if element already in viewport
- CSS: added
metro-reset.css
,metro-common.css
,metro-components.css
as standalone. - Image magnifier: fixed glass image when user resize original image
- Notifies: minor improve notify create method
- Donut: update for using new
animate
function to drawstroke-dasharray
- Counter: update for using new
animate
function to draw - File: fixed clear when user fire
reset
on form indrop
mode, issue #1524 - Adblock: a new component for hunting on the ads blockers
- Core: refactoring for new component definition
- Audio: rename component to
audio-player
- Video: rename component to
video-player
- Calendar: minor updated for action buttons
- i18n: refactoring definition. Now each lang defined in own file
- Third party: third party components styles
select2
,datatables
move to components and include to main - Container: remove prop
display: block
- Select: added using empty value for
option
, issue #1527 - Action button: fixed sub actions position
- Additional colors: refactoring
- Utils: remove method
random
, to get random value from an array or two values, use$.random(array | a, b)
fromm4q
- Utils: remove method
uniqueID
, to get unique GUID, use$.uniqueID(prefix)
fromm4q
- Utils: remove method
formData
, to get form data as array, use$.serializeToArray(form)
fromm4q
and$.serialize(form)
to get stringify value with&
divider - Utils: remove method
strToArray
, to transform string to array, use String.prototype methodString.prototype.toArray(delimiter, type, format)
- Utils: remove method
callback
, execute function or code, use methodUtils.exec(fn, args, context)
- Sidebar: added attribute
data-menu-scrollbar="true|false"
. Attribute enable or disable scrollbar in the sidebar menu, issue #1528 - Tag: new component. Used in
tag-input
,select
, can be used as standalone. - Ribbon menu: fixed sizes and positions for
ribbon-icon-button
,ribbon-tool-button
- Menus: removed
text-decoration
for anchors (a
) inside any types of menus - Cookie: new class for cookie manipulation
Metro.cookie
. Contains methods:setCookie()
,getCookie()
,delCookie()
- Cookie disclaimer: new component for accept cookies for GDPR, and not only, issue #1530
- Metro icon font: added 65 new icons
cross-light
,document-file-*
(64) - Select: improved performance for creating options, issue #1534
- Select: remove dependency from
d-menu
- Navview: added scrollable to
navview-menu
incompacted
mode
- M4Q: updated to
1.0.6
- M4Q Init: fixed minor bug for creating elements in context
- M4Q Ajax: added parameter
contentType
. If this param has valuefalse
,Content-type
can't be defined.
- ColorJS: fixed functions
RGB
,RGBA
- Select: added focus state, issue #1488
- Checkbox: added focus state
- Radio: added focus state
- Select: added attribute
data-cls-drop-container
- Dropdown: added
important
to.drop-left
,.drop-right
,.drop-up
classes - Table: added support
formatMask
for fields defined in table headthead
- ResetCSS: remove duplicate declarations
- Toast: added global setup. Related to issue #1493
- Streamer: now you can set event time up to a minute
- Streamer: now you can use for event size
half
andone-third
constants - Streamer: added events
onDrawEvent
,onDrawGlobalEvent
,onDrawStream
- TreeView: fixed attribute
data-show-child-count
- CalendarPicker: added attribute
data-value
to set init input value, issue #1506 - Streamer:
data-wheel
now true by default - Streamer: added attribute
data-wheel-step
to define scroll step for horizontal scrolling with mouse - Streamer: fixed horizontal scrolling with mouse.
- M4Q: updated to
1.0.5
- M4Q Events: fixed firing events, Metro 4 issue #1476
- M4Q Events: optimize method
trigger
, now this is a synonym offire
- Tag input: change
trigger
defining - Tag input: added
clear button
with attributesclearButton
,clsClearButton
,clearButtonIcon
- Tag input: added attributes
clsComponent
,clsInput
- Tag input: added event
onClear
- List: added attribute
data-sort-initial
to sorts on create component, issue #1475 - Tag input: added attribute
data-static
and static mode fordata-static='true'
or if present attributereadonly
- Tag input: added method
toggleStatic([true|false])
- Select: fixed clearing
select-input
, issue #1477 - Calendar picker: fixed closing calendar when user click on overlay, issue #1478
- Select: fixed styles for
input-large
,input-small
classes - Tag input: change
keyup
tokeydown
for tag trigger event - Tag input: added event
onTagTrigger
- Tag input: added removing last tag on current value is empty end user press
Backspace
, you can disable it with attributedata-backspace='false'
- Draggable: added attribute
data-timeout
for set timeout before creating component - Components: creating components can be deferred with attribute
data-[componentName]-deferred=[ms]
. Example:<div data-role='draggable' data-draggable-deferred='2000'>...</div>
- Counter: added attribute
data-start-on-viewport
. If attribute value istrue
, counter started after element showed in viewport. You can combine this withdata-timeout
- Select: fixed bug with
data-filter='false'
- File: fixed method
clear
for modedropzone
- Select: added mode
button
- M4Q: updated to
1.0.4
- M4Q Manipulation: optimise
append
,prepend
to one definition for IE - M4Q Script: added
$.script
,$.fn.script
to execute scripts from element or create script object - M4Q Manipulation:
$.fn.append
,$.fn.prepend
now support script tag processing - M4Q Clone: now support cloning
data
if second argumentwithData
istrue
-$(el).clone(true, true)
- M4Q Events: now you can define event name with
hyphen
or incamelCase
notation. Example:mouse-down
,accordionCreate
- M4Q Ajax: fixed handler for sending data
- M4Q Ajax: fixed
$.json
if returned value can't be parsed - M4Q Ajax: fixed
post
forobject
-
$: added $ .serializeToArray(form), $serialize(form) - M4Q Events: fixed
removeEventListener
- Animations: put animations to separate less/css file
metro-animations
- Object animations: added
.flip-card
- Object animations: added
.post-card
- Inputs: change placeholder
font-size
to14px
, addedtext-ellipsis
- Utils CSS: added class
.stop-pointer
- Role naming: you can now use a hyphen to separate words in verbose component names for the data-role attribute. Example:
data-role='button-group''
anddata-role='buttongroup''
are equivalent. - Drag Items: added new component, issue #1336
- Table: fixed
viewPath
for gettingview
from server - Table: fixed colspan for message
emptyTableTitle
- Checkbox: added using attribute
readonly
- Switch: added using attribute
readonly
- Table: fixed
viewPath
for savingview
on server - Animation CSS: relocation
- AppBar: fixed
app-bar-menu
behavior when user resize a window - Slider: fixed hint for IE11
- Window: fixed interop m4q and jquery for
Metro.window.create()
- Splitter: fixed for IE11
- AppBar: added events
onMenuOpen
,onMenuClose
,onMenuExpand
,onMenuCollapse
- m4q: updated to 1.0.3
- Toast: fixed calculating toast position
- Progress: fixed global setup function name
- Progress: percent value. To show set attribute
data-show-value="true"
,data-value-position="free|center"
- Progress: added label. Use attributes
data-show-label="true|false"
,data-label-position="before|after"
,data-label-template="Value is %VAL%"
- InfoBox: fixed interop with Metro 4 and jQuery
- Table: added method
clear()
, issue #1426 - Table: fixed cell data wrapping with attribute
data-cell-wrapper="true"
- File: fixed Input file inconsistent display when user cancel the choose dialog, issue #1443
- Slider: fixed using accuracy with decimal value, issue #1447
- Calendar Picker: added attribute
data-show-week-number
- Gravatar: fixed global setup method name
- Activity: fixed method
open
for undefined options - Activity: fixed interop with Metro 4 and jQuery
- Dialog: fixed interop with Metro 4 and jQuery for dialog create method
- AppBar: set
max-height
forapp-bar-menu
opened withhamburger
to visible viewport - Buttons: refactoring - split to separate components from one file
- Calendar Picker: fixed dialog mode, issue #1450
- Common CSS: added class
-disabled
- General: Now
Metro4
init after content was loaded. If you need to switch to old init method, usemetro4:init:mode
with valueimmediate
- Double Slider: added new component, issue #1441
- InfoButton: fixed position and
display
change frominline-flex
toinline-block
, issue #1451 - M4Q Events: improve method
on
- Select: fixed for ie11, issue #1452
- ListView: added callback for
onNodeDblClick
event, issue #1453 - Table: added show activity when data loaded
- Table: you can set data with JS object and attribute
data-source
. Value for attribute must be a object name.
- Slider: fixed vertical slider marker position when slider is not visible, thx to thinkcpu, PR #1417
- Slider: improve events
- HotKey: extended anchor work with
data-hotkey
and attrhref
, issue #1420 - M4Q Events: fixed
function.name
property for IE11, issue #1425 - Table: added methods
addItem([...], redraw)
,addItems([...], redraw)
, issue #1426 - Select: attribute
data-cls-drop-list
now override default classd-menu
if defined - Lists: if list has class attribute, it resets with
margin: 0; padding: 0; list-style: none inside;
- Select: if option not has value, used option text for value
- Table: added event
onDataSaveError
- Table: fixed save view to server
- M4Q Ajax: fixed creating additional headers for request, issue #1427
- Init: added meta tag
metro4:init:mode
. The value must beimmediate
orcontentloaded
, default -immediate
. If value iscontentloaded
and meta tagmetro4:init
not equalfalse
, Metro 4 will be initiate after the content was loaded. - Table: now you can define
decimalSeparator
andthousandSeparator
in table head and global - Table: added attributes
data-head
(object name, define table header),data-body
(object name, define table data) - Table: added attribute
data-static
. Iftrue
, search, pagination, info, rows count will be disabled and will not showing. - Splitter: added method
size(str)
for change panel sizes at runtime, added observing for attributedata-split-sizes
for change panel sizes at runtime - Carousel: improve slide switching
- TreeView: added trigger
change
for checkboxes - Common: fixed
h-auto-*
- Interop: fixed interop with Metro4 and jQuery, issue #1408
- m4q: updated to 1.0.1
- m4q: fixed initialization when
metro4
added intohead
- Init: fixed issue #1409
- Dropdown: fixed interop between Metro4 and jQuery, issue #1411
- Select: fixed interop between Metro4 and jQuery, issue #1412
- Panel: fixed interop between Metro4 and jQuery
- Windows: fixed interop between Metro4 and jQuery
- VideoPlayer: fixed interop between Metro4 and jQuery
- AudioPlayer: fixed interop between Metro4 and jQuery
- Hotkey: fixed interop between Metro4 and jQuery
- TimePicker: fixed interop between Metro4 and jQuery
- SideBar: fixed interop between Metro4 and jQuery
- Charms: fixed interop between Metro4 and jQuery
- Select: fixed close when user click document and jQuery used
- CalendarPicker: fixed interop between Metro4 and jQuery, fixed close when
next[Year, Month]
clicked - Select: added works with disabled option. You can added attr
disabled
to option to create disabled option, issue #1413 - Window: fixed toggle draggable, resizeable
- Tile: fixed tile width in then
tiles-grid
when tile placed in specific column - Metro: fixed observing attributes
- jQuery: Goodbye!!!
- M4Q: now built in for DOM manipulation and animation
- Keypad: rename property
data-length
todata-key-length
- Slider: fixed show/hide hint
- Typo: fixed
margin-top
for lists inside a lists, ex:ul > ul
- Animation: fixed
fadeIn
,fadeOut
- NavView: rename attribute
data-expanded
todata-expand
- Examples: updated
start screen
- Calendar picker: fixed using locale for initial value, issue #1376
- Typo: set line-height for paragraph to 1.5
- Table: fire event onDataLoaded before table build
- Dialog: fixed hide method
- File: added method "clear"
- Source: structure refactoring
- Typography: added background to
remark
withaccent
color - Tests: begin tests with
cypress
- Draggable: minor improve for
mouseMove
- Chat: added attribute
data-readonly
and methodtoggleReadonly
- Schemes: fixed colors for table
tfoot
- Add
checkRuntime
to components - Table: added attributes
data-empty-table-title
,data-cls-empty-table-title
for issue #1403 - Table: fixed padding for sortable columns
- Add
destroy
method to components. This method remove all event handlers and return core element - Select: added props
data-add-empty-value
(default: false),data-empty-value
(default: empty string) - Select: added prop
data-placeholder
- Select: added prop
data-clear-button
(default: false) - Grid: optimise styles
- Hint: fixed remove on leave element
- TreeView: added attribute
data-show-child-count
- Select: extended to interop with role=dropdown
- Docs: updated docs for cards, added
icon-box
,more-info-box
,skill-box
,social-box
- Sidebar: fixed setup global function name
- Textarea: fixed issue #1400
- MaterialTabs: fixed issue #1402
- MaterialTabs: added method
open(tab_num)
for issue #1399 - Select: fixed input autofocus when dropdown
- Textarea: fixed resize when component was created
- File: fixed firing
change
event on Safari
- Select: fixed error when using with pair to Select from Metro 4 for React
- Carousel: moved style props for slide background image from js to css
- Input: added attribute
data-exclaim
for defining exclamation symbol - Input: fixed no display clear button when input is readOnly
- Textarea: fixed no display clear button when input is readOnly
- Input: fixed triggering
change
event, added trigger eventclear
when clear button is pressed - Accordion: fixed glitch for frames who must be closed, but initiated as open
- Table: fixed format value for sorting when value is empty, null or undefined
- Dropdown: fixed set open on init
- DatePicker: added observation for attribute
data-locale
- DatePicker: added observation for attribute
data-format
- Utils: updated func
isLocalhost
- Windows: fixed make runtime
- Dialog: fixed make runtime
- InfoBox: fixed make runtime
- Validator: fixed validating for
integer
andfloat
rules, issue #1388 - Builder: fixed builder
config
- Embed objects: set default width and height to
100%
- Calendar picker: fixed initial value for i18n
- Typography: set
line-height: 1.5
forp
- Examples: fixed desktop demo
- Examples: fixed start screen demo
- Notify system: fixed minor bug for creating notify after setup
- Calendar: fixed methods
setMaxDate
,setMinDate
, issue #1374 - Datepicker: fixed offset for timezones, issue #1372
- Datepicker: fixed
val()
method
- Inputs: added class
.input-small
for using withinput
,select
,spinner
,tag-input
,keypad
,file
, issue #1245 - Events: updated docs for subscribing events with
$.on
andaddEventListener()
- Panel: new method
customButtons()
for added custom buttons at runtime - Table: added
margin-top: 1rem
for class.table
- Lists: added
margin-top: 1rem
forul
,ol
,dl
- Hotkey: full refactoring
- Datepicker: added attribute
data-input-format
- Datepicker: fixed hours timezone offset
- Datepicker: now you can use attribute
value
to setup component date - Pickers: change default scroll speed factor to
4
- Window: fixed methods
setContent
,setTitle
,setIcon
,changePlace
- Utils: rename method
isJQueryObject
toisJQuery
- Utils: added methods
isM4Q
,isQ
. MethodisQ
return one ofisJQuery
orisM4Q
- Streamer: fixed scrolling with
apple magic mouse
andfirefox
- Streamer: fixed scroll position for
events-area
when source changed - TreeView: fixed confused calls
expandNode
andcollapseNode
events - Dialog: added attribute
data-actions
for predefined dialog - DatePicker: fixed scroll event handler
- TimePicker: fixed scroll event handler
- Tabs material: added event
data-on-tabs-scroll
- ScrollEvents: plugin for
scrollStart
,scrollStop
events was removed - Mousewheel: plugin was removed
- General: improved components initialization
- Hotkeys: now you can added or change
hotkey
at runtime - Select: fixed cyclic error when
Uncaught ReferenceError: function is not defined
foronchange
event - Card: added class
flex-card
to create card in flex model - ListView: fixed works methods with jQuery object and\or HTMLElement
- Streamer: added event
data-on-events-scroll
- Streamer: fixed method
source
- Streamer: rename method
data
todataSet
- TreeView: fixed methods for added nodes, issue #1150
- List: added event
data-on-data-load-error
- List: added item template with property
template
- Table: added item template with property
template
and value wrapperthis.cellValue
- Pagination: added function
Metro.pagination
- Templates: now you can change
begin
andend
template symbols with third argument{beginToken, endToken}
- Html container: added attributes
data-method
,data-request-data
- Html container: change name of events to
data-on-html-load
,data-on-html-load-fail
,data-on-html-load-done
- Typography: change
line-height
forp
,.text-leader
,.text-leader2
to1.2
- Charm: added event
data-on-toggle
. - Chat: fixed error for time manipulation, issue #1355
- Master: added events
data-on-next-page
,data-on-prev-page
- Events extensions: Now you can subscribe to all table events with
$.on()
oraddEventListener()
- Wizard: added events
data-on-next-page
,data-on-prev-page
,data-on-first-page
,data-on-last-page
,data-on-finish-page
- Global setup: added using global object
metro{ComponentName}Setup
to set up all components on the page with own global options set. - Resizable: fixed toggle
canResize
property - Calendar picker: fixed width for calendar wide
- Slider: change events to
startAll
,moveAll
,stopAll
- Streamer: added events
data-on-data-load
,data-on-data-loaded
,data-on-data-load-error
- Streamer: fixed methods
changeSource
,changeData
- Streamer: added property
row
for event - Streamer: added property
html
for event with custom html
- Chat: new component
- Boxes: added new boxes
skill-box
,social-box
,more-info-box
- NavView: added behavior for show submenu on left from main menu for compacted mode
- Cards: added default background color
white
- Cards: fixed flex model for image header
- Colors: change
op-*
alpha value from0.7
to0.1
- Dropdown: if element has class
open
, it will be open after initialization - Show metro4 about in console: added meta parameter
metro4:about
. Thanks to Ken Kitay - Metro4 Events: added constants
Metro.events.startAll
,Metro.events.stopAll
,Metro.events.moveAll
. Constants contains both mouse and touch. - Clock: updated component, PR #1341, Thanks to Ken Kitay
- Sidenav simple: optimize css
- Sidenav counter: optimize css
- File: call trigger
change
when user drop files into drop area - Form: Add default styling for
input[type=submit]
,input[type=reset]
,input[type=button]
. - Rating: added half value for static with attribute
data-half="true"
- Headlines: added
margin-top
todisplay*
,h1-h5
and.h1-.h5
- Panel: added
text-ellipsis
tocaption
- Table: added methods:
updateItem(key, field, value)
,getIndex()
,rebuildIndex()
,getItem(key)
- Table: store item data in row. Now you can use
tr.data('original')
to get table row original data - Table: store cell data in cell. Now you can use
td.data('original')
to get cell original data - Table: fixed incorrect work service radio buttons
- Select: remove
margin-bottom
- Blockquote: rename class
place-right
toright-side
for right side quote - Lists: fixed list style position for ordered list
- Dropdown: added service class
stay-open
. When an element has this class, an element can't be closed when the user clicks on the document. - Collapse: change default animation duration to
100ms
- Tiles: set cover default position to
center center
- Tiles: added attribute for image slide
data-cover-position
- Timepicker: set default value for
data-scroll-speed
to1
- Datepicker: set default value for
data-scroll-speed
to1
- Countdown: change behavior when browser tab lost focus or invisible
- Countdown: fixed zoom effect
- Countdown: fixed minor bug when first tick (not critical)
- Dialog: change padding for dialog title to
12px 24px
- Dialog: added predefined accent classes
primary
,alert
,info
,warning
, ... - InfoBox: added predefined accent classes
primary
,alert
,info
,warning
, ... - Elements colors: optimize less for using
each
function - Additional colors: optimize less for using
each
function - Element: added class
.accent-block
for using with accent colors classesprimary
,alert
,info
,warning
, ... - Dialog: added close button to top left corner with attribute
data-close-button
- Video: fixed show/hide controls when mouse enter leave
- Video: fixed show controls in full screen mode with attribute
data-full-screen-mode="desktop"
- Draggable: fixed minor bug for draggable windows
- Sidenav M3: fixed item height with text overflow
- Sidenav M3: remove floating for
d-menu
- Dropdown: added attribute
data-drop-filter
. Filtering elements on closing. - Select: Opening a select now closes only other selects.
- Accordion: added drop marker. Marker can disabled with attribute
data-show-marker="false"
- Accordion: fixed frames open on accordion init
- NavView: minor improve styling
- NavView: added method
pullClick()
for emulate pull button click at runtime - NavView: added class
.focusableItems
to added focus state for items - NavView: added attribute
data-active-state="true|false"
to added active state for menu items - NavView: added
.badges
container for menu item for collect menu item badges - NavView: added
.data-box
container for navigation view pane - IconBox: new css component
- Panel: fixed draggable
- Panel: added custom buttons to panel title
- Table: fixed assign classes from attribute
data-cls-head-cell
- Breadcrumbs: added
.breadcrumb-item
class - Draggable: fixed recreate element content when drag started
- Table: fixed implements custom class to custom wrappers (search, pagination, ...), issue #1335
- Select: fixed error for validating required func for select with
multiple
option, issue #1338 - Select: for validating added functions
length
,minlength
,maxlength
for select withmultiple
option
- ListView: added class
.vertical-layout
foricons-*
view mode - Windows: partial fixed behavior window when user click on min, max button in min, max state, issue #1331
- TreeView: fixed wrong works node collapse, expand, issue #1332
- NavView: fixed calc main menu height
- Input material: fixed error when creating element, issue #1318
- Calendar: fixed
justify-content
fordays-row
- Table: fixed minor bug for sortable column click event
- Table: fixed minor bug when inspector dragged
- Window: fixed creating window with empty title
- Utils: fixed method
keyInObject
- Utils: fixed constant for `keypress
- Table: fixed firing
onSearch
for clearing search field - TreeView: fixed method
toggleNode
, pr #1326 - Step list: fixed index position when
index > 9
, issue #1328 - Lists: added
group-list horizontal
- Window: fixed system button click behavior when draggable enabled
- Window: fixed creating
icon
andtitle
if these not defined - ListView: added trigger
change
when nodes selected/deselected, issue #1313 - Window: added custom buttons to caption
- Draggable: refactoring
- File: added label for counting selected files for dropdown area
- Storage: refactoring and fixed session storage
- Input material: set autocomplete off
- Tabs: fixed clear targets before recollect, issue #1303
- ListView: fixed attributes observing
- Notify: fixed using custom distance option
- Rating: minor improve code
- Ribbon menu: fixed button group width calc, issue #1296
- CSS: fixed
align-items
property forselected
andtag-input
, pull-request #1306, issue #1305 - Spinner: fixed twice click effect on Android devices, issue #1307
- Input: fixed triggering
change
forautocomplete
feature, issue #1310 - CalendarPicker: fixed selection when using
val(...)
, issue #1308 - Popovers: fixed change value for attribute
data-popover-text
, issue #1309 - Charms: added charm
tiles
andnotifies
with classes.charm-tile
and.charm-notify
- Sidebar: fixed error for shifting content issue #1294
- Checkbox: fixed create rule
- Radio: fixed create rule
- Switch: fixed create rule
- Select: fixed rotating drop down toggle
- Tabs: fixed switching content, issue #1297
- Input: fixed autocomplete list, issue #1298
- Metro: return to strict mode
- Toast: fixed creating error
- Streamer: fixed select stream
- Init: fixed initialization process for widgets, loaded over Ajax
- File: fixed event trigger
on-select
for FF when user drops files - File: fixed event trigger
on-select
for IE11 when user drops files - Dialog: fixed
onChange
event - Table: added event
data-on-data-load-error
- Sidebar: added submenu support
- Sidebar: added any content support with li class
.content-container
- Sidebar: added attribute
data-size
to set sidebar width - Sidebar: added attribute
data-position
to set sidebarright
orleft
(default) - Array: added function (if not exists)
contains(val, idx)
- String: added function
toArray(delim, type, format)
this function is equal toUtils.strToArray
- Calendar: added attribute
data-exclude-day
. Comma separated string with day number from 0 (Sunday) to 6 (Saturday) - Calendar: added attribute
data-show-week-number="true|false"
- Calendar: added attribute
data-week-number-click="true|false"
- Calendar: added event
data-on-week-number-click="..."
- Calendar: added event
data-on-day-draw="..."
- Calendar: fixed day selection for disabled
- Calendar: added class
day-border
and attributedata-day-border="true|false"
- Validator: fixed error if value is undefined
- Validator: function
date
now support additional input attributedata-value-format
for non ECMAScript dates - Validator: function
date
now support additional input attributedata-value-locale
for non ECMAScript dates - Z-index: set equal z-index for
appbar
,bottomnav
,bottomsheet
,tabsmaterial
- Carousel: rename attribute
data-bullet-style
todata-bullets-style
- Carousel: added attribute
data-bullets-size
with valuesdefault
,mini
,small
,large
- Carousel: added style
cycle
- Popover: set default value for
data-popover-timeout
to10
, issue #1277 - Storage: Objects
storage
andsession storage
combined into one object. Access to objects remained unchanged:Metro.storage
,Metro.session
- String:
String.toDate
now supportlocale
as second parameter:"21 грудня 1972".toDate('%d %m %y', 'uk-UA')
- Navview: updated docs and less
- Lists: updated
items-list
,feed-list
,group-list
to use with not a list element. - Table: minor improve update
- Table: added attribute
data-horizontal-scroll-stop
. You can use this attribute to define media to stop scrolling.
- Toast: added function
init(options)
, now you can set toasttop
position anddistance
. See docs for details. - t-menu: less code moved to separate file
- h-menu: less code moved to separate file
- drop-utils: now contains classes for drop-down:
dropdown-toggle
,drop-up
,drop-left
,drop-right
- sidenav-m3: fixed icon position for submenu, issue #1266
- Splitter: fixed gutter for nested splitters
- Splitter: fixed calc min size if value for attribute
data-min-sizes
comma separated value - Docs: fixed mistake in docs for
sidenav-counter-expand-*
, issue #1269 - Docs: fixed mistake in docs for
spacing
- Command button: set
font-weight
to override it when use in wordpress - Command button: set
line-height
to override it when use in wordpress - Inline-form: change behavior for
.form-group
- Carousel: added events
onSlideShow(HTMLElement slide)
,onSlideHide(HTMLElement slide)
- Examples: fixed
start-screen
for scroll on mobile devices
- Validator: fixed for issue #1254
- Inputs:
required
,invalid
,valid
classes now works only for inputs. - Validator: use attribute
data-use-required-class
to disable or enable classrequired
for inputs withdata-validate=required
- Popover: fixed firing event
onPopoverShow
, issue #1258 - Notify: fixed default options from new notify
- Inputs: fixed toggle attribute
disabled
for inputs withrole
- Splitter: added service classes
.stop-select
,.stop-pointer
- Table: fixed issue #1262
- Table: optimize functions
deleteItem
,deleteItemByName
- List: optimize functions
deleteItem
- Table: added attribute
data-horizontal-scroll
to enable horizontal scrolling for wide table - Table: added attribute
data-cls-table-container
- Tabs: added attribute
data-tabs-type
. This attribute sets new tab types for expanded horizontal tabs. Values:text
,group
,pills
- Sidebar: fixed z-index
- Docs: fixed mistakes in table options
- Utils css: fixed class
m4-cloak
- Validator: added argument
data
to eventsdata-on-validate-form
,data-on-error-form
,data-on-submit
. Data is aobject
and contains pairs:input-name: input-value
for form elements. - Popover: fixed close popover
- v-menu: fixed drop down for
v-menu
->v-menu
- Validator: fixed for issue #1254
- Utils: added functions
parseCard(val)
,parsePhone(val)
. Functions remove all not numeric chars from value - Table: added data formats
card
,phone
- List: added data formats
card
,phone
- Sorter: added data formats
card
,phone
- Input: remove -webkit-autofill background color
- App bar: fixed class
ml-auto
- v-menu: added service class
for-dropdown
, added automatically, when added role `dropdown - d-menu, v-menu: remove
min-width
for item - d-menu: fixed icon position in item
- Cloak: added class
.m4-cloak
forbody
to remove blinking initiated components - Cloak: added meta tag
metro4:cloak
can receive values:show
,fade
(default) - Cloak: added meta tag
metro4:cloak_duration
can receive integer values, default500
. Use forfade
- Dialog: added element as context to events
- Popovers: fixed minor bugs, issue #1179, issue #1238
- Popovers: added attribute
data-close-button="true|false""
- Popovers: now you can change popover content and position at runtime with attributes
data-popover-text
,data-popover-position
- Popovers: added attribute
data-cls-popover-content
- Popovers: change context for events to
element
for which popover is created - Colors: added branding color classes
bg-*
for facebook, twitter, github, gitlab, amazon, bootstrap - Select: fixed add, remove
focused
class - Select: added class
input-large
- Spinner: added class
input-large
- Tag input: added class
input-large
- Tag input: added auto resize to input
- Table: added methods
deleteItem(field_index, val)
,deleteItemByName(field_name, val)
. Function return list instance.Val
can be function or primitive value. Method can not redraw list, to redraw call methoddraw()
. - Utils: added function
arrayDeleteByMultipleKeys(arr, /*array*/ indexes)
. Function return new Array. - Toolbar: fixed for vertical layout
- Splitter: added attribute
data-save-state
, required elementID
. Iftrue
, panes sizes stored intoStorage
- Table: added method
setData(obj)
- Table: added method
setHeads(obj)
,setHeadItem(obj)
- Table: added method
setItems(obj)
- List: added method
deleteItem(val)
. Function return list instance.Val
can be function or primitive value. Method can not redraw list, to redraw call methoddraw()
.
- Image compare: fixed for touch devices
- Image magnifier: fixed for touch devices
- Window: fixed _setPosition method
- Buttons: fixed size for dropdown-button, split-button and info-button
- Utils: added function
iframeBubbleMouseMove(iframe)
- Input: added class
.input-large
- Splitter: new component
- Popovers: fixed minor bugs (forum issue)
- Sidebar: remove scroll-y from sidebar, added scroll-y to sidebar-menu
- Countdown: refactoring structure, added animation effects: slide, fade, zoom
- Hero: minor updated styles for background image
- Html container: new component, include HTML snippets in HTML element
- Utils: added function
isLocalhost()
- Docs: updated for using
htmlcontainer
component - Window: fixed gradually disappear for children when window is hiding, issue #1222
- Utils: added methods
getCursorPosition(...)
,getCursorPositionX(...)
,getCursorPositionY(...)
- Image compare: new component
- Image magnifier: new component
- Time picker: fixed method
val
for issue #1221 - Calendar: fixed method
setToday
for issue #1215 - ListView: fixed method
_createNode
forstructure
option, issue #1220 - ListView: fixed methods
insertBefore
,insertAfter
- Tabs: change
expand
behavior - Tabs: fixed expand/collapse behavior
- Select: added attribute
data-cls-option-active
- Countdown: fixed performance and minor bugs
- Countdown: fixed deferred start setup
- Countdown: added methods
resume()
,reset()
- Notify: fixed firing method
onClose
- Notify: added methods
onNotifyCreate
,onAppend
- Input: fixed custom search button click
- Calendar picker: added attribute
data-null-value
. If this attribute false and value empty, used current date - Calendar picker: fixed for null value, issue #1217
- Accordion: added attribute
data-material='true'
- Switch: added attribute
data-material='true'
- Mif: added new icons 50+
- Bottom navigation: added new CSS component
- Bottom sheet: added new component
- Items list: added new CSS component
- Feed list: added new CSS component
- Group list: added new CSS component
- Head bar: added new CSS component
- Material tabs: added new component
- Material input: added new component
- Chips: added new CSS component
- Swipe: added new JS component
- Select: fixed native
onchange
event triggering, issue #1198 - Calendar: added attributes
data-prev-month-icon
,data-next-month-icon
,data-prev-year-icon
,data-next-year-icon
- Calendar: fixed rendering for ie, issue #1202
- Calendar picker: added
data-prepend
attribute, issue #1201 - Calendar picker: fixed close when clicked dropdown button issue #1210
- Calendar picker: fixed disabled white text is unreadable, issue #1208
- Calendar picker: fixed init null value, issue #1206
- Resizeable: fixed resize, issue #1205
- Table: added attribute
data-filters-operator="and|or"
- Table: fixed init filters, defined in attribute
data-filters
- Table: rename
filterMinLength
tosearchMinLength
- Table: rename
filterThreshold
tosearchThreshold
- Table: added attribute
data-search-fields
, issue #1195 - Table: added attributes
data-cls-row
,data-cls-even-row
,data-cls-odd-row
- Table component: full rewrite docs
- Appbar: remove classes
app-bar-expanded-*
and added attributesdata-expand
,data-exapnd-point
- Table: fixed
hidden
class applying. issue #1194 - Table: added attribute
data-cls-cell-wrapper
- Mif: set
line-height: 1
formif-*x
classes - File: added mode
drop
- Select: fixed for the
long
captions - Select: added attribute
data-cls-select-input
- Media players: set context for events to
HTML element
- Builder: added Metro 4 Builder
- Docs: refactoring docs for form components
- Resizable: added attributes
data-min-width
,data-max-width
,data-min-height
,data-max-height
,data-can-resize
, issue #1100 - Input: added events
onClearClick
,onRevealClick
- Input: added methods
clear()
,toDefault()
- Input: rename
data-cls-element
todata-cls-component
- Input: added attribute
data-cls-custom-button
- Input: added attribute
data-history-divider
and methodsgetHistory
,setHistory
,getHistoryIndex
,setHistoryIndex
- Input: added
search input
functionality - Search: remove
search
plugin - Tag input: added observing attribute
value
- Tag input: fixed method
val()
- Spinner: added events
onArrowUp
,onArrowDown
,onArrowClick
- Spinner: added events
onPlusClick
,onMinusClick
,onButtonClick
- Select: added event
onItemSelect
- Select: added method
reset()
,getSelected()
- Select: fixed method
val(...)
- Textarea: added methods
clear()
,toDefault()
- Textarea: fixed
data-append
attribute - Calendar picker: fixed error when value attribute is empty, issue #1191
- Calendar picker: added attributes
data-dialog-mode
,data-dialog-point
,data-dialog-overlay
,data-overlay-color
,data-overlay-alpha
- Calendar: added
compact
class - Calendar: for wide mode now use attributes
data-wide
ordata-wide-point
- Extension: added method, if not exists, Array.from
- Table: fixed default padding for
th
andtd
- Select: fixed custom classes apply for selected options for select with
multiple
option, issue #1184 - Input: added
history
option, issue #1162 - Spinner: new component, issue #1180
- AppBar: fixed error creating
hamburger
when background-color isrgba
ortransparent
, issue #1172 - Slider: added event
onChange
- TreeView: change context for events
- Calendar: any input format with attribute
data-input-format
, issue #1186 - Calendar picker: any input format with attribute
data-input-format
, issue #1186 - Date: added extension function
getWeek()
- return week number
- Change contributing rules
- Tabs: added method
open(tab_num | tab_el)
. Tab number counting from 1. Tab element -li
HTML element or$("li")
jquery wrapper - Tabs: added methods
next()
,prev()
- Popover: added attribute
data-popover-timeout
. Timeout before popover show. - Sidebar: added method
isOpen
to objectMetro.sidebar
- Table: fixed method
loadData
for string value from server - Table: fixed minor bugs
- Select: for multiple added attributes
data-cls-selected-item
,data-cls-selected-item-remover
- TagInput: added attribute
data-tag-trigger
. The attribute must contain integer values forkeyCode
for triggering tag creating event. Default: "13,188" - Enter and comma. - ListView: fixed
checkbox
position forselectable
mode - ListView: added attribute
data-check-style
. Value must be1
or2
- ListView: added methods
getSelected()
,selectAll()
orselectAll(false)
(for clear),clearSelected()
- Checkbox: added observing checkbox style attribute
- Radio: added observing checkbox style attribute
- Validator: added function
notequals
. Input value can't be equal to other input - Validator: added function
equals
. Input value can be equal to other input. Different fromcompare
- it usetrim()
for value - Sizing: fixed width classes
w-
for all media breakpoints
- Table: fixed work attributes
showTableInfo
,showPagination
when wrappers defined - Table: fixed pagination behavior when no items for table
- Table: added observing attributes
data-check
anddata-rownnum
- Tabs: fixed tab click behavior when
<a>
have a link inhref
attribute - Calendar: added method
clearSelected()
- Calendar: added method
toDay()
- Table: added exception when data for table is not a object
- Table: added class
fixed-layout
- Table: added
data-filter-threshold
attribute, this is a timeout before searching start - Select: added attribute
data-template
foroption
. You can use this attribute to define html wrapper for option text in format...any...$1
. Where$1
used for replace by option text. - Select: added attribute
data-cls-drop-list
to added additional class to drop down list. - Select: added attribute
data-append
and minor css fixes - Select: added multiple functionality
- Inputs: refactor inputs.less to specific files
select.less
,input.less
,textarea.less
,input-file.less
- Radio: added additional style for radio component. To use it, added attribute
data-style="2"
to your radio component. - Checkbox: added additional style for checkbox component. To use it, added attribute
data-style="2"
to your checkbox component. - Tag input: added new component
- Tabs: change behavior and attribute. For details, read the docs
- Table: added second parameter
review
to methodsreload
andloadData
. Iftrue
, table view will be recreated from init values. - Table: added head parameter
show
- Input: added attribute
data-default-value="..."
for set default if val is empty and set to this when click clear button - Table: added class
.subcompact
to pair to.compact
- Table: added attribute
data-cell-wrapper
. This class added wrapper to cell data withno wrap
andno overflow
props. - Sidebar: added classes
.compact
and.subcompact
- Export: added object
Metro.export
. Now you can export any HTMLtables
toCSV
with methodMetro.export.tableToCSV(table, filename)
- Utils: added function
copy(el)
for copying element to clipboard - Utils: added function
bool(val)
. This func return true if value one of:true
,'true'
,1
,'1'
,'on'
,'yes'
- Table: fixed show cell if stored value
show
for view have string type'true'
or'false'
- Table: added second parameter
heads
for custom filter function - Table: change padding and font-size for
compact
class - Table: fixed post method for save table view. Inspector post
{id: table_id, view: table_view}
- Table: added method
export(to, mode, filename, export_options)
. Argumentto
currently must valueCSV
. Argument mode:all
,checked
,view
,all-filtered
- Table: added method
resetView(save)
reset table view to default - Table: added method
getView()
return current view object - Table: added method
getHeads()
return table internal heads - Table: added method
clearSelected(redraw)
. This method uncheck rows and redraw table if your need - Dialog: added attributes
data-to-top='true|false'
,data-to-bottom='true|false'
for sticky dialog to top or bottom side. - List: fixed for issue ##1155 for IE11
- Switch: fixed works with collapse. issue #1148
- Input, Select, Textarea, File: added
data-append
attribute - TreeView: fixed node toggle marker position
- TreeView: fixed checks nodes for tree options when inputs checked by default
- String: added extension
toDate(mask)
- Media players: fixed info box position
- Utils: added function
nearest(val, prec, down)
for search for the nearest integer, a multiple of required - Select: fixed trigger error for empty value. issue #1138
- Time picker: added
steps
attributesdata-hours-step
,data-minutes-step
,data-seconds-step
. issue #1122 - Time picker: fixed sliders position when picker placed top or bottom of parent
- Input file: fixed only shows the first file name for multiple option. issue #1140
- Calendar picker: added observing attributes
data-min-date
,data-max-date
- Input: remove webkit default clear button for
type=time
- Table: fixed create internal heads when header defining in html and data loaded from json
- Table: added attribute
data-filter-min-length
for number of symbols inputs and start searching - Table: added column rownum. This column shows when attribute
data-rownum="true"
- Table: added column row check. This column shows when attribute
data-check="true"
- Table: added column row radio. This column shows when attribute
data-check-type="radio"
- Table: added attribute
data-check-store-key="..."
used for store selected rows in the storage - Table: added attribute
data-view-save-mode="client|server"
used for store table view - Table: added attribute
data-view-save-path="storage_key|url"
used for store table view - Table: added
data-locale
attribute - Table: added table inspector to configure columns view
- Table: added methods
openInspector(true|false)
,toggleInspector()
to show/hide table inspector - Table: added methods
getFilteredItems()
,getSelectedItems()
,getStoredKeys()
- Table: added events
onDrawCell
,onAppendCell
,onAppendRow
,onViewSave
,onViewGet
,onCheckDraw
- Table: fixed pagination calculator when rows count changed
- Table: pagination not displayed when rows count is
-1
(show all rows) - Table: rename attribute
data-show-all-pages
todata-pagination-short-mode
- Windows: fixed execute method onCloseClick
- Table: added classes
compact-{media}
andnormal-{media}
where{media}
is one ofsm
,md
,lg
,xl
,xxl
- Sidebar: remove text decoration underline for menu item
- Sidebar: added menu item hover
- Tiles: fixed
col-*
androw-*
classes for tiles grid issue #1133 - Table: added all rows behavior with
-1
value fordata-rows
anddata-rows-steps
- Table: added
data-all-records-title
attribute - Sidenav-m3: fixed icon position when dropdown issue #1134
- Table: fixed init sortable column
- Table: remove generating ghost
tr
- Table: added setup for the number formatting. Add attributes
data-thousand-separator
,data-decimal-separator
issue #1129 - Sorter: added setup for the number formatting. Add attributes
data-thousand-separator
,data-decimal-separator
issue #1129 - List: added setup for the number formatting. Add attributes
data-thousand-separator
,data-decimal-separator
issue #1129 - Table: fixed for the
colspan
option issue #1129 - Table: fixed behavior of attribute
data-cls-column
- Tabs: fixed error if tag
a
in tab have avalid formed url
in href attribute
- Hint: fixed hiding slider hint with
data-hint-always=true
when showing others hits issue #1126 - Streamer: change streamer data with attribute
data-data
- Date picker: fixed sliders position when picker placed top or bottom of parent issue #1107
- Floating action button: new component
- Toast: added classes
.primary
,.secondary
,.success
,.alert
,.warning
,.yellow
,.info
,.light
- Calendar: fixed day item height for issue #1112
- Select: fixed method
val
for issue #1116 - App bar: fixed drop down for issue #1114
- Slider: fixed marker position for non displayed slider fro issue #1119
- Time(date) picker: added classes
.for-top
,.for-bottom
. Use with attributedata-cls-picker
- Time(date) picker: added action button border
- Sorter: new component
- Table: new component
- List: new component
- Utils: added new methods
isValue
,isNegative
,isPositive
,isZero
,func
,between
,parseMoney
- Tiles: updated for issue #1109
- i18n: added it-IT locale by milanteo
- Accordion: fixed events context to html element
- Date picker: fixed for negative time zone (issue #1084)
- Date picker: fixed events context to html element
- Extensions: added function
addHours
,addDays
,addMonths
,addYears
for date object - Dialog: now shadow can be on/off with option
data-shadow="true"
- Dialog: added
window.resize
controller - Info box: added component information boxes width states
default
,alert
,warning
,success
andinfo
- Sidebar: added component
- Validator: added func
reset
for reset fields state - Validator: added func
reset_state
for reset field state - Validator: added func
set_valid_state
for valid field state - Validator: added func
set_invalid_state
for invalid field state - Validator: added auto method
reset
for forms with rolevalidator
- Validator: added option boolean
requiredMode
for form. If this option istrue
, all funcs works asrequired
, else funcs works if field value is not empty.
- CSS Utilities: added
cursor
classes in format.c-{cursor-name}
. Example:.c-alias
- Badge: added class
.badge
to display counting info or small label inside the element - Docs: added doc file
badge.html
forbadge
component - Docs: added doc file
cursors.html
forcursors
classes
- Counter: added new component
- Docs: added docs for
counter
component
- Validator: added
custom
validation - Navigation view: issue #1018 sets focus to the input field in suggest-box when user click on the helper
- Dialog: change
max-width
tocalc(100vw - 100px)
andmax-height
tocalc(100vh - 100px)
- Window: fixed methods
show()
,hide()
inMetro.window
- Window: added methods
min
,max
to component and object
- Vertical menu: fixed issue #1089 - the sub-menu are out of the view
- Window: change logic of method
close
- Window: added object
Metro.window
with a number of methods
- Select: added filtering feature.
- Activity: fixed
z-index
for global activity with overlay - Activity: added new option
text
for activity overlay - Third party: added styles for
datatables
plugin - Third party: added styles for
select2
plugin - Demo: added demo page for
datatable
plugin - Demo: added demo page for
select2
plugin
- Animation: added class
.transition
- Neb: added type 2 with class
.neb2
and subclasses.neb-n
,.neb-s
,.neb-w
,.neb-e
- Docs: improve docs pages
- Examples: improve github page example
- Examples: improve start screen example
- Activity: added object
Metro.activity
with two methods:open({...})
,close(activity)
- Session storage: fixed
- Wizard: fixed issue 1083
- Shadow utilities: added classes
.no-shadow
,.no-shadow-text
- Session storage: added it. Session storage work as
Metro.storage
- Docs: fixed side navigation layout
- Panel: added
.info-panel
- Docs: redesign
index
andsponsors
pages
- Calendar: added observation for
data-special
attribute - Calendar picker: added observation for
data-special
attribute - Calendar picker: added observation for
data-exclude
attribute - Sizing: fixed utilities classes calculating
.w-@{s}-@{m}
- Metro: corrected typos in method names
reinitPlugin
andreiniPluginAll
- Docs: corrected typos in example of
micro template
engine
- Issues: fixed #1072
- Calendar picker: added events
onMonthChange
,onYearChange
- Calendar: added
special days
- Calendar: added attributes
data-show-header
,data-show-footer
- Listview: fixed
table
view mode - Utils: added method
mediaModes()
- return current medias - Utils: added method
inMedia(media)
- return true ifmedia
is current mode. Ex:Metro.utils.inMedia('md')
- Checkbox: increase size and fixed element height to inputs
- Radio: increase size and fixed element height to inputs
- Textarea: fixed
line-height
- i18n: added French
fr-FR
locale, thanks to drill95
- Switches: fixed shrink for
check
element forcheckbox
,radio
andswitch
- Metro icons font: added loading
ttf
andsvg
font types
- i18n: added
es-MX
, thanks to rkgarcia - Inputs: optimize css for
prepend
element - Inputs: set height for
input
,select
,file
to36px
- App bar: change height to
52px
- Typography: fixed media for
reduce-*
,enlarge-*
,text-align
,vertical-align
- Validator: change rule for
domain
function - Validator: fixed returned value for
Metro.validator.validate()
- Master: set
overflow: visible
to element - Select: added scroll to active option
- Scheme builder: added style for select active options
- Panel: fixed
icon
place and size - Scheme builder: remove
background-color
andcolor
from.table
- Buttons: change height to
36px
- Master: fixed height of pages container when a window is resized
- Select: change padding and height for internal drop down list items
- Input file: fixed overflow for very long file name
- Checkbox: fixed
line-height
for long caption - Radio: fixed
line-height
for long caption - Validator: added validation function
domain
- Display: fixed order display classes
d-*
- Cube: fixed change rules at runtime
- Cube: added method
toRule(...)
- Lists: added
.custom-list-marker
- Lists: return from v3
.step-list
- Typography: added class
.text-underline
- Intro: fixed docs for meta tags
- Calendar: fixed actions buttons padding
- Button: change height to
32px
- Scheme builder: added
.info-button
,.image-button
- Menu: fixed
.t-menu
horizontal dropped down size - Color scheme
red-dark
: change secondary background color
- Colors: added
.bd-transparent
class - Buttons: added
.info-button
as Github split button - Examples: updated github page for
.info-button
- App bar: added class
.app-bar-input
for placing inputs - Buttons: added class
.hovered
for default button - Tabs: all tabs
anchors
now have flex box model
- Metro icon fonts: update, 34 new icons
- Images: change
.img-container
display toblock
- Streamer: increase sizes and offsets to 20 intervals
- App bar: flexible model
- App bar: fixed using
.v-menu
in.app-bar-container
- Examples: Github page
- Typography: added class
.no-decor
- Less: move default icons data-uri to
include/default-icons
- Select: added method
val()
- Utils: added method
inObject
- Metro.initWidgets: change check rule for defined component
- Input file: added click on the all elements parts
- App bar: fixed
v-menu
usage - Spacing: added
mx-*
,px-*
classes - Examples: added examples presentation page
- Examples: added login form example
examples/forms/login.html
- Side navigation: new component
sidemenu-simple
- Button group: new behavior for
one
mode - all unchecked - Select: added method
data()
for loading options atruntime
- Scheme builder: new mixin
- Schemes:
darcula
,red-alert
,red-dark
,sky-net
- Schemes: added documentation.
- Color: move color classes
bg-*
andfg-*
tometro-color.css
- Sizing: added classes
.h-vh-*
,.w-vw-*
(5, 10, 25, 50, 75, 100) - Pagination: move to
pagination.less
- Breadcrumbs: move to
breadcrumbs.less
- Wizard: fixed sections height for IE11 and Edge
- Wizard: added click on complete section to navigate to it
- Navview: fixed background-color for
.pull-down
and.holder
for IE11 and Edge - All: fixed any minor bugs
- Examples: Select in runtime
examples/ajax/select.html
- Examples: Color module 1
examples/colors/color-schemes.html
- Examples: Color module 2
examples/colors/color-schemes-2.html
- Examples: Color module 3
examples/colors/color-schemes-3.html
- Examples: Cube
examples/cube/cube.html
- Examples: Cube custom function
examples/cube/cube-custom-func.html
- Examples: Windows
examples/desktop/desktop.html
- Examples: Dialogs
examples/dialogs/dialogs.html
- Examples: Schemes
examples/schemes/schemes.html
- Examples: Tiles
examples/tiles/start.html
- App bar: fixed
.app-bar-menu
dropped down for IE11 and Edge
- Checkbox: refactoring
- Radio: refactoring
- Input: fixed for IE11 and Edge
- Ribbon menu: fixed for IE11 and Edge
- ListView: fixed for IE11
- TreeView: fixed for IE11 Edge for checkboxes
- Subsystem: added method
Object.values
special for IE11
- Ribbon menu: fixed it for button group
- Button group: fixed it
- Dialog: fixed method
Metro.dialog.toggle()
- Notify: increase
z-index
for default container - Window: added observing
data-cls-window
attribute - Window: fixed observing
data-cls-caption
anddata-cls-content
attribute - Window: added method
show()
- this method added classno-visible
towindow
- Window: added method
hide()
- this method remove classno-visible
fromwindow
- Window: updated documentation
- Tiles: added
.tiles-group
class with sizes subclasses - Metro: added methods
reinitPlugin
,reinitPluginAll
- Charms: remove
preventDefault
from click event - Nuget: change target location for Metro 4
- Validator: added
radio
andselect
to validation - Validator: added function
not
- Validator: rename event
onValid
toonValidate
- Validator: added events
onErrorForm
,onValidateForm
- Validator: added
checkbox
validation (required function)
- Validator: change rules delimiter to
space
- Pickers: fixed buttons behavior
Release