Version

Migrating to the new igMaskEditor

With the 15.2 release of Ignite UI for jQuery™ a new set of editor controls were introduced including a reworked igMaskEditor. With a new design focused on simplicity and better UX out-of-the-box some features and their API were revised, removed and new ones added. This topic will cover the differences that will be helpful for developers migrating their applications to the new editors.

Topic overview

This topic aims to help with migration from old mask editor to the new one. Different scenarios are viewed and how they were done before and how they can be done now.

In this topic

This topic contains the following sections:

  1. Options changes
  2. New options
  3. API Methods changes
  4. New API methods
  5. Event changes
  6. New events
  7. Requirements

Options changes

Option Previously Now
animationHideDuration animationShowDuration Used to set animation duration when dropdown list is displayed/hidden.
$(".selector").igMaskEditor({
animationShowDuration: 500,
animationHideDuration: 500
});
As the igMaskEditor doesn't support dropdown, these options are not supported for the control.
button This option was used to set visibility of spin and dropdown button.
$(".selector").igMaskEditor({
button : "dropdown"
});
This option is renamed to buttonType to better communicate what it does. For date editor the supported types are 'clear'.
$(".selector").igMaskEditor({
buttonType : "clear"
});
dataMode Members of type 'string' and 'number' were supported.
$(".selector").igMaskEditor({
dataMode: 0
});
Members of type 'number' are not supported.
$(".selector").igMaskEditor({
dataMode: "rawText"
});
display Sets gets style.display for outer html element. This option is removed.
dropDownOnReadOnly This option was used to set ability to override the "readOnly" option and allow showing the dropdown list and changing the value in the editor from a list.
$(".selector").igMaskEditor({
dropDownOnReadOnly : true
});
This option is no longer available for the mask editor.
dropDownTriggers Sets gets list of actions which trigger display of drop-down list or calendar. This option is removed.
focusOnSpin If that option was disabled and the editor was not focused, then a mouse click on the spin button would keep the text in the editor in not focused format and perform spin actions. This option is removed. The spin buttons are not available for the mask editor.
height, width Previously supported type: number.
$(".selector").igMaskEditor({
width : 200
});
Now supported types are: number, string, null. If using type string, the height can be set in pixels (px) and percentage (%).
$(".selector").igMaskEditor({
width : "200px"
});
hideEnterKey Sets gets ability to hide the Enter key from browser.
$(".selector").igMaskEditor({
hideEnterKey : false
});
This option is removed. You can use preventSubmitOnEnter option to prevent submitting when pressing Enter.
$(".selector").igMaskEditor({
preventSubmitOnEnter : true
`});
listAutoComplete Sets gets autocomplete. This option is removed.
listColumns Sets gets number of columns in drop-down list. This option is removed.
listDropDownAsChild Value true created html element for list as a child of main html element. Value false created list as a child of body.
$(".selector").igMaskEditor({
listDropDownAsChild : true
});
This option is not available for igMaskEditor.
listMatchContains Sets gets list match contains. This option is removed.
listMatchIgnoreCase Sets gets case validation. This option is removed.
listMaxHeight Used to set maximum height of dropdown list in pixels.
$(".selector").igMaskEditor({
listMaxHeight : 400
});
This option is removed.
nullText Used to set text which appears in editor when editor has no focus and "value" in editor is null or empty string.
$(".selector").igMaskEditor({
nullText : "Enter Value"
});
This option is renamed to placeHolder to better communicate what it does.
$(".selector").igMaskEditor({
placeHolder : "Enter Value"
});
renderInContainer Sets gets option to wrap input field into SPAN. This option is removed.
required Set gets validation for empty value in editor.
$(".selector").igMaskEditor({
required : true
});
This options is removed. You can use the validator options to set the field as required.
$(".selector").igMaskEditor({
validatorOptions : {
required: true
}
});
selectionOnFocus Previously supported members: select, -1, start, 0, end, 1, default, 2.
$(".selector").igMaskEditor({
selectionOnFocus: 0
});
Now supported members are: selectAll, atStart, atEnd, browserDefault. The default value is selectAll.
$(".selector").igMaskEditor({
selectionOnFocus: "atStart"
});
spinOnReadOnly This was used to override the "readOnly" option and allow changing "value" of editor on spin events.
$(".selector").igMaskEditor({
spinOnReadOnly : true
});
This option is removed. Setting readOnly to true disables the editor.
$(".selector").igMaskEditor({
readOnly : true
});
textAlign Default was null Now default is left.
theme Sets gets selector for css classes used by editor. This option is removed.
type Sets type of editor. This option is removed. You can use the corresponding controls.
promptChar Sets character which is used as prompt in edit mode for available entry position.
$(".selector").igMaskEditor({
promptChar : "*"
});
This option is renamed to unfilledCharsPrompt to better communicate what it does.
$(".selector").igMaskEditor({
unfilledCharsPrompt : "*"
});

New options

Option Description
unfilledCharsPrompt Sets gets character which is used as prompt in edit mode for available entry position.
allowNullValue If that option is false, and editor has no value, then value is set to an empty string.
disabled Use to set the disabled attribute. Does not allow editing. Disables all the buttons and iteracitons applied. On submit the current value is not sent into the request: $('#maskEditor').igMaskEditor({ disabled: true }).
buttonType Sets gets clear button.
placeHolder Gets sets text which appears in editor when editor has no focus and "value" in editor is null or empty string.
revertIfNotValid Use to set the editor to revert value to previous value in case of not valid value on blur, or enter key.
preventSubmitOnEnter Use to set the ability of the editor to prevent form submition on enter key pressed: $('#maskEditor').igMaskEditor({ preventSubmitOnEnter: true }).
suppressNotifications Disables default notifications for basic validation scenarios built in the editors such as required list selection, value wrapping around.

See all options

API Methods changes

Method Previously Now
addListItem Used to add the object within item at the location indicated by the index. This method is removed. You should manipulate your data object and rebind the UI component to the updated data for such a scenario.
addListItems Used to add the objects within the items array at the location indicated by the index. This method is removed. You should manipulate your data object and rebind the UI component to the updated data for such a scenario.
clearListItems Removed all items from list. This method is no longer available for the mask editor.
dropDownElement Got reference to jquery object which is used as container of dropdown. This method is no longer available for the mask editor.
dropDownVisible Set visibility of dropdown list according to the Boolean value that is passed. This method is no longer available for the mask editor.
findListItemIndex Found index of list item by text that matches with the search parameters. This method is no longer available for the mask editor.
getRegionalOption Gets calculated value of regional option used by numeric and date editors. This method in no longer available.
getSelection Used to get left or right edge of selection. This method is replaced by the methods getSelectionStart and getSelectionEnd.
getValueByMode Used to get value in editor by dataMode. This method is not supported.
hasInvalidMessage Used to check if invalid message is displayed. This method is removed as its` functionality is covered by the API for the igEditorNotifier.
mainElement Used to get reference to jquery object which is used as top/outer element of igMaskEditor. This method is renamed to editorContainter to better communicate what it does.
paste Used to paste text at location of caret. This is renamed to insert and the txt parameter is renamed to string as it is a string of characters.
remove This was used to remove editor from its parent element, but keeps the rest of functionality. This method is not supported.
removeListItem Used to remove item from list. This method is no longer available for the mask editor.
removeListItemAt Used to remove item from list at index. This method is no longer available for the mask editor.
select Used to select text in editor. Valid parameters: sel0, sel1, val sel0 is renamed to start and sel1 is renamed to end to prevent exchanging the two parameters.
setFocus Used to set focus to editor with delay. If parameter was -1, then focus was set without delay. It now supports only positive values for the delay and 0 is default that signifies that it is immediately given the focus.
spin Used to increment (positive delta) or decrement (negative delta) value in editor according to the parameter. This method is no longer available for the mask editor.
text Used to get or set text in editor. This is replaced by a getter method displayValue that takes no parameters and returns a string with all the characters shown in the input.

Note: One of the major changed in the new mask editor is that it no longer supports Lists and DropDown. Note that if you try to use methods connected to dropdown and list, you will receive a notification pointing out that they are no longer available.

New API Methods

Method Description
inputName Gets sets name attribute applied to the editor element.
displayValue Returns a string with all the characters shown in the input.
editorContainer Gets reference to jquery object which is used as top/outer element of igEditor.
clearButton Returns a reference to the clear button of the editor.
getSelectionStart Gets start index of the selected text in editor.
getSelectionEnd Gets end index of the selected text in editor.
insert Paste text at location of caret.

See all API methods

Event changes

Event Changes
hideDropDown Event is not supported anymore.
showDropDown Event is not supported anymore.
listSelected Event is not supported anymore.
listSelecting Event is not supported anymore.
mouseleave Event is renamed to mouseout to better communicate what it does.

New events

Event Description
rendering Event which is raised before rendering of the editor completes.
rendered Event which is raised after rendering of the editor completes.
mouseout Event which is raised on mouseleave at any part of editor including drop-down list.

See all events

jQuery requirements

Lib Prev required version New required version
jQuery core 1.4.4 1.9.1
jQuery UI 1.7 1.9.0

View on GitHub