Skip to content

Latest commit

 

History

History
1389 lines (1282 loc) · 83.3 KB

CHANGELOG.md

File metadata and controls

1389 lines (1282 loc) · 83.3 KB

4.5.0

  • Tabs Material: fixed jump to the anchors, issue #1794
  • Table: fixed create Instpector when table data loaded with method loadData(), issue #1796
  • Tabs Material: added mouse wheel support for scrolling tabs, issue #1795
  • Select: added event data-on-clear, fixed firing event data-on-change when user click on the clear 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 type Datetime, and factory datetime()
  • Cake: version 1.0.0, new global type Cake, and factory cake()
  • Ajax: switched from $.ajax ($.json, $.post, ...) to fetch (IE is dead)
  • Tag input: switched from $.ajax to fetch
  • Input: switched from $.ajax to fetch
  • Html container: switched from $.ajax to fetch
  • Cookie disclaimer: switched from $.ajax to fetch
  • Table: _create(), _buid(), _saveTableView(), loadData() now use fetch, and send data to server as json
  • 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() to Datetime.from())
  • List: updated for using with Datetime (change toDate() to Datetime.from())
  • Datepicker: updated for using with Datetime
  • Utils: updated for using with Datetime
  • Extensions: removed extension for Date, use Datetime
  • 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, use Cake.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 for multi-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 method css()
  • CalendarPicker: added API method clear()
  • CalendarPicker: fixed API method val(), if you set argument as empty string val(""), 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, now padding 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 or i18n configs with attribute data-locale
  • Switch: added i18n support with props locale.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([...])

4.4.3

M4Q

  • Attributes: fixed method attr when user defining one argument
  • Animation: added methods stopAll(), pause(id), pauseAll(), resume(id), resumeAll()

Metro 4

  • Color selector: added new component
  • Color picker: added new a component
  • Marquee: added new component
  • NavView: fixed navview-pane item height 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, default false, 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 to 0, 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 to data-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 for th.

4.4.2

Metro 4

  • Button: fixed content position, issue #1648.
  • Split-button: improved the layout, added subclass no-gap for split-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 the block when defining content 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 events onMenuOpen, 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, use Metro.colors.isColor().
  • Utilities: removed function embedObject(...), if need, use $(...).wrap().
  • Utilities: removed function randomColor(...), if need, use Metro.colors.random().
  • Utilities: updated function isVideoUrl(...), added twitch.

4.4.1

M4Q

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

Metro 4

  • Licensing: return MIT unified licensing model
  • Tile: fixed double firing click event. Component internal event onClick renamed to onTileClick (attribute data-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 or simple 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 to max-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 in shadow.less, issue #1643
  • Select: added attributes data-show-group-name="true|false" (default - false), data-short-tag="true|false" (default - true), issue #1642

4.4.0

M4Q

  • 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 initial display value
  • M4Q Init: improve init method
  • M4Q: added property $.device, true for mobile a device.

Metro 4

  • Components: switch to Component._fireEvent(...) method for firing component events data-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). The state must be -1 (indeterminate), 0 (unchecked), 1 (checked) or undefined (toggle between checked and unchecked), issue #1586
  • Switch: added API method toggle(state). The state must be 0 (unchecked), 1 (checked) or undefined (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 a object with pairs key: value where key - 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 (default false), data-check-drop-up=true|false (default: false), issue #1604
  • Select: added attributes data-drop-up=true|false (default false), 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 role input, use class metro-input.
  • Textarea: remove metro style from input without role input. To added metro style to input without role input, use class metro-input.
  • Utils Css: remove classes .neb, .neb2, .h-center, .v-center
  • Input: added event onAutocompleteSelect. You can define this event with an attribute data-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 attribute data-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) and Colors.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 prop disabled, issue #1633
  • Time picker: added methods enable(), disable()), toggleState(), added observing for prop disabled, issue #1633

4.3.10

  • 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 of 0, 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 a string or array, if selected is a string, you can use delimiter argument to split string into array, issue #1497

4.3.9

  • 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. The e.detail contains an object {name, __this}.
  • General: the document fired event component-create when a component was ben initialized. The e.detail contains an object {element, name}.
  • Window: fixed makeRuntime calling, issue #1574
  • Window: fixed make window resizable
  • Typography: added italic and underline text classes, issue #1577

4.3.8

M4Q

  • Animation: fixed using String.includes for IE11. Changed to String.indexOf
  • Animation: added operator / to _getRelativeValue()
  • Events: fixed fire. Now main is constructor CustonEvent, for old - createEvent
  • Manipulation: added method wrap, wrapAll, wrapInner. The method puts elements inside the wrapper and return wrapper(s)
  • Init: change throw Error to console.warn when selector is # or .
  • setImmediate: added support for process and web workers

Metro 4

  • 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 to Metro.toast.create()
  • Components: event on[Component]Create now have context a HTMLElement and receive $(HTMLElement) as argument
  • Keypad: fixed Keypad backspace button click behavior on keypad, created at runtime, issue #1547
  • Utils: improve function isType
  • Utils: remove functions camelCase(), dashedName(). Use String.camelCase or $.camelCase() and String.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 as var c = new Color(...) or var 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 attribute data-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). Where options is a plain 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 events onDragStart, 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

4.3.7

M4Q

  • 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 value false, Content-type can't be defined.
  • Contains: added checks with :visible to method is. 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)

Metro 4

  • 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 prop data-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 for input-small, input-large. With multiple, append and prepend will not displayed.
  • Input: fixed prepend, append for input-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 draw stroke-dasharray
  • Counter: update for using new animate function to draw
  • File: fixed clear when user fire reset on form in drop 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) from m4q
  • Utils: remove method uniqueID, to get unique GUID, use $.uniqueID(prefix) from m4q
  • Utils: remove method formData, to get form data as array, use $.serializeToArray(form) from m4q and $.serialize(form) to get stringify value with & divider
  • Utils: remove method strToArray, to transform string to array, use String.prototype method String.prototype.toArray(delimiter, type, format)
  • Utils: remove method callback, execute function or code, use method Utils.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 in compacted mode

4.3.6

M4Q
  • 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 value false, Content-type can't be defined.
Metro 4
  • 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 head thead
  • 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 and one-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.

4.3.5

M4Q
  • 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 of fire
Metro 4
  • Tag input: change trigger defining
  • Tag input: added clear button with attributes clearButton, 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 for data-static='true' or if present attribute readonly
  • 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 to keydown 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 attribute data-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 is true, counter started after element showed in viewport. You can combine this with data-timeout
  • Select: fixed bug with data-filter='false'
  • File: fixed method clear for mode dropzone
  • Select: added mode button

4.3.4

M4Q
  • 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 argument withDatais true - $(el).clone(true, true)
  • M4Q Events: now you can define event name with hyphen or in camelCase 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 for object
  • $: added $.serializeToArray(form), $serialize(form)
  • M4Q Events: fixed removeEventListener
Metro 4
  • 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 to 14px, added text-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'' and data-role='buttongroup'' are equivalent.
  • Drag Items: added new component, issue #1336
  • Table: fixed viewPath for getting view from server
  • Table: fixed colspan for message emptyTableTitle
  • Checkbox: added using attribute readonly
  • Switch: added using attribute readonly
  • Table: fixed viewPath for saving view 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

4.3.3

  • 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 for app-bar-menu opened with hamburger 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, use metro4:init:mode with value immediate
  • Double Slider: added new component, issue #1441
  • InfoButton: fixed position and display change from inline-flex to inline-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.

4.3.2

  • 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 attr href, 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 class d-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 be immediate or contentloaded, default - immediate. If value is contentloaded and meta tag metro4:init not equal false, Metro 4 will be initiate after the content was loaded.
  • Table: now you can define decimalSeparator and thousandSeparator 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. If true, 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 attribute data-split-sizes for change panel sizes at runtime
  • Carousel: improve slide switching
  • TreeView: added trigger change for checkboxes
  • Common: fixed h-auto-*

4.3.1

  • Interop: fixed interop with Metro4 and jQuery, issue #1408
  • m4q: updated to 1.0.1
  • m4q: fixed initialization when metro4 added into head
  • 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

4.3.0

  • jQuery: Goodbye!!!
  • M4Q: now built in for DOM manipulation and animation
  • Keypad: rename property data-length to data-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 to data-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 with accent color
  • Tests: begin tests with cypress
  • Draggable: minor improve for mouseMove
  • Chat: added attribute data-readonly and method toggleReadonly
  • 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

4.2.49

  • 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

4.2.48

  • 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

4.2.47

  • Input: fixed triggering change event, added trigger event clear when clear button is pressed
  • Accordion: fixed glitch for frames who must be closed, but initiated as open

4.2.46

  • 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 and float rules, issue #1388
  • Builder: fixed builder config
  • Embed objects: set default width and height to 100%

4.2.45

  • Calendar picker: fixed initial value for i18n
  • Typography: set line-height: 1.5 for p
  • Examples: fixed desktop demo
  • Examples: fixed start screen demo
  • Notify system: fixed minor bug for creating notify after setup

4.2.44

  • Calendar: fixed methods setMaxDate, setMinDate, issue #1374
  • Datepicker: fixed offset for timezones, issue #1372
  • Datepicker: fixed val() method

4.2.43

  • Inputs: added class .input-small for using with input, select, spinner, tag-input, keypad, file , issue #1245
  • Events: updated docs for subscribing events with $.on and addEventListener()
  • Panel: new method customButtons() for added custom buttons at runtime
  • Table: added margin-top: 1rem for class .table
  • Lists: added margin-top: 1rem for ul, 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 to isJQuery
  • Utils: added methods isM4Q, isQ. Method isQ return one of isJQuery or isM4Q
  • Streamer: fixed scrolling with apple magic mouse and firefox
  • Streamer: fixed scroll position for events-area when source changed
  • TreeView: fixed confused calls expandNode and collapseNode 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

4.2.42

  • 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 for onchange 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 to dataSet
  • TreeView: fixed methods for added nodes, issue #1150

4.2.41

  • List: added event data-on-data-load-error
  • List: added item template with property template
  • Table: added item template with property template and value wrapper this.cellValue
  • Pagination: added function Metro.pagination
  • Templates: now you can change begin and end 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 for p, .text-leader, .text-leader2 to 1.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() or addEventListener()
  • 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

4.2.40

  • 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 from 0.7 to 0.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 to display*, h1-h5 and .h1-.h5
  • Panel: added text-ellipsis to caption
  • 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 to right-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 to 1
  • Datepicker: set default value for data-scroll-speed to 1
  • 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 classes primary, 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

4.2.39

  • 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 with multiple option

4.2.38

  • ListView: added class .vertical-layout for icons-* 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

4.2.37

  • Input material: fixed error when creating element, issue #1318
  • Calendar: fixed justify-content for days-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

4.2.36

  • Window: fixed system button click behavior when draggable enabled
  • Window: fixed creating icon and title if these not defined
  • ListView: added trigger change when nodes selected/deselected, issue #1313
  • Window: added custom buttons to caption

4.2.35

  • 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 for selected and tag-input, pull-request #1306, issue #1305
  • Spinner: fixed twice click effect on Android devices, issue #1307
  • Input: fixed triggering change for autocomplete 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 and notifies with classes .charm-tile and .charm-notify

4.2.34

  • 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

4.2.33

  • Init: fixed initialization process for widgets, loaded over Ajax

4.2.32

  • 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

4.2.31

  • 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 sidebar right or left (default)
  • Array: added function (if not exists) contains(val, idx)
  • String: added function toArray(delim, type, format) this function is equal to Utils.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 attribute data-day-border="true|false"
  • Validator: fixed error if value is undefined
  • Validator: function date now support additional input attribute data-value-format for non ECMAScript dates
  • Validator: function date now support additional input attribute data-value-locale for non ECMAScript dates
  • Z-index: set equal z-index for appbar, bottomnav, bottomsheet, tabsmaterial
  • Carousel: rename attribute data-bullet-style to data-bullets-style
  • Carousel: added attribute data-bullets-size with values default, mini, small, large
  • Carousel: added style cycle
  • Popover: set default value for data-popover-timeout to 10, issue #1277
  • Storage: Objects storage and session storage combined into one object. Access to objects remained unchanged: Metro.storage, Metro.session
  • String: String.toDate now support locale 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.

4.2.30

  • Toast: added function init(options), now you can set toast top position and distance. 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

4.2.29

  • 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 class required for inputs with data-validate=required
  • Popover: fixed firing event onPopoverShow, issue #1258
  • Notify: fixed default options from new notify
  • Inputs: fixed toggle attribute disabled for inputs with role
  • 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

4.2.28

  • Sidebar: fixed z-index
  • Docs: fixed mistakes in table options
  • Utils css: fixed class m4-cloak
  • Validator: added argument data to events data-on-validate-form, data-on-error-form, data-on-submit. Data is a object 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

4.2.27

  • 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 for body 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, default 500. Use for fade
  • 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 method draw().
  • Utils: added function arrayDeleteByMultipleKeys(arr, /*array*/ indexes). Function return new Array.
  • Toolbar: fixed for vertical layout
  • Splitter: added attribute data-save-state, required element ID. If true, panes sizes stored into Storage
  • 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 method draw().

4.2.26

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

4.2.25

  • 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

4.2.24

  • Time picker: fixed method val for issue #1221
  • Calendar: fixed method setToday for issue #1215
  • ListView: fixed method _createNode for structure 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

4.2.23

  • 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 to searchMinLength
  • Table: rename filterThreshold to searchThreshold
  • 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

4.2.22

  • Appbar: remove classes app-bar-expanded-* and added attributes data-expand, data-exapnd-point
  • Table: fixed hidden class applying. issue #1194
  • Table: added attribute data-cls-cell-wrapper
  • Mif: set line-height: 1 for mif-*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

4.2.21

  • 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 to data-cls-component
  • Input: added attribute data-cls-custom-button
  • Input: added attribute data-history-divider and methods getHistory, 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 or data-wide-point
  • Extension: added method, if not exists, Array.from

4.2.20

  • Table: fixed default padding for th and td
  • 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 is rgba or transparent, 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

4.2.19

  • 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 object Metro.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 for keyCode for triggering tag creating event. Default: "13,188" - Enter and comma.
  • ListView: fixed checkbox position for selectable mode
  • ListView: added attribute data-check-style. Value must be 1 or 2
  • ListView: added methods getSelected(), selectAll() or selectAll(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 from compare - it use trim() for value
  • Sizing: fixed width classes w- for all media breakpoints

4.2.18

  • Table: fixed work attributes showTableInfo, showPagination when wrappers defined
  • Table: fixed pagination behavior when no items for table
  • Table: added observing attributes data-check and data-rownnum
  • Tabs: fixed tab click behavior when <a> have a link in href 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 for option. 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

4.2.17

  • Tabs: change behavior and attribute. For details, read the docs
  • Table: added second parameter review to methods reload and loadData. If true, 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 with no wrap and no overflow props.
  • Sidebar: added classes .compact and .subcompact

4.2.16

  • Export: added object Metro.export. Now you can export any HTML tables to CSV with method Metro.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). Argument to currently must value CSV. 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

4.2.15

  • 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 attributes data-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

4.2.14

  • 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 to data-pagination-short-mode

4.2.13

  • Windows: fixed execute method onCloseClick
  • Table: added classes compact-{media} and normal-{media} where {media} is one of sm, md, lg, xl, xxl

4.2.12

  • Sidebar: remove text decoration underline for menu item
  • Sidebar: added menu item hover
  • Tiles: fixed col-* and row-* classes for tiles grid issue #1133
  • Table: added all rows behavior with -1 value for data-rows and data-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

4.2.11

  • 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 a valid formed url in href attribute

4.2.10

  • 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

4.2.9

  • 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 attribute data-cls-picker
  • Time(date) picker: added action button border

4.2.8

  • 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

4.2.7

  • 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 and info
  • Sidebar: added component

4.2.6

  • 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 role validator
  • Validator: added option boolean requiredMode for form. If this option is true, all funcs works as required, else funcs works if field value is not empty.

4.2.5

  • 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 for badge component
  • Docs: added doc file cursors.html for cursors classes

4.2.4

  • Counter: added new component
  • Docs: added docs for counter component

4.2.3

  • 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 to calc(100vw - 100px) and max-height to calc(100vh - 100px)

4.2.2

  • Window: fixed methods show(), hide() in Metro.window
  • Window: added methods min, max to component and object

4.2.1

  • 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

4.2.0

  • 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

4.1.20

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

4.1.19

  • Session storage: fixed

4.1.18

  • 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

4.1.17

  • Panel: added .info-panel
  • Docs: redesign index and sponsors pages

4.1.16

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

4.1.15

  • Metro: corrected typos in method names reinitPlugin and reiniPluginAll
  • Docs: corrected typos in example of micro template engine

4.1.14

  • 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 if media 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

4.1.13

  • Textarea: fixed line-height

4.1.12

  • i18n: added French fr-FR locale, thanks to drill95

4.1.11

  • Switches: fixed shrink for check element for checkbox, radio and switch
  • Metro icons font: added loading ttf and svg font types

4.1.10

  • i18n: added es-MX, thanks to rkgarcia
  • Inputs: optimize css for prepend element
  • Inputs: set height for input, select, file to 36px
  • App bar: change height to 52px

4.1.9

  • Typography: fixed media for reduce-*, enlarge-*, text-align, vertical-align
  • Validator: change rule for domain function
  • Validator: fixed returned value for Metro.validator.validate()

4.1.8

  • 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 and color 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

4.1.7

  • Display: fixed order display classes d-*

4.1.6

  • 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

4.1.5

  • 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

4.1.4

  • Metro icon fonts: update, 34 new icons

4.1.3

  • Images: change .img-container display to block
  • 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

4.1.2

  • Select: added method val()

4.1.1

  • 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

4.1.0

  • Side navigation: new component sidemenu-simple
  • Button group: new behavior for one mode - all unchecked
  • Select: added method data() for loading options at runtime
  • Scheme builder: new mixin
  • Schemes: darcula, red-alert, red-dark, sky-net
  • Schemes: added documentation.
  • Color: move color classes bg-* and fg-* to metro-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

4.0.10

  • App bar: fixed .app-bar-menu dropped down for IE11 and Edge

4.0.9

  • 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

4.0.8

  • Ribbon menu: fixed it for button group

4.0.7

  • Button group: fixed it

4.0.6

  • 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 and data-cls-content attribute
  • Window: added method show() - this method added class no-visible to window
  • Window: added method hide() - this method remove class no-visible from window
  • Window: updated documentation

4.0.5

  • Tiles: added .tiles-group class with sizes subclasses
  • Metro: added methods reinitPlugin, reinitPluginAll

4.0.4

  • Charms: remove preventDefault from click event
  • Nuget: change target location for Metro 4
  • Validator: added radio and select to validation
  • Validator: added function not

4.0.3

  • Validator: rename event onValid to onValidate
  • Validator: added events onErrorForm, onValidateForm
  • Validator: added checkbox validation (required function)

4.0.2

  • Validator: change rules delimiter to space

4.0.1

  • Pickers: fixed buttons behavior

4.0.0

Release