Ej1 api migration in EJ2 TypeScript Auto complete control
2 May 202316 minutes to read
This article describes the API migration process of AutoComplete component from Essential JS 1 to Essential JS 2.
MultiSelect concept is not present in EJ2-AutoComplete. If you want to use multiselection support in autocomplete, we suggest you to use MultiSelect component.
DataBinding
Behavior
API in Essential JS 1
API in Essential JS 2
Default
Property:datasource var autocompleteInstance =new ej.Autocomplete($("#autocomplete"), { dataSource: countriesField,});
Property:dataSource let groupObj: AutoComplete = new AutoComplete({dataSource: vegetableData,});groupObj.appendTo('#vegetables');
Property:Locale var autocompleteInstance =new ej.Autocomplete($("#autocomplete"), {lcoale: "fr-FE",});
Property:Locale let groupObj: AutoComplete = new AutoComplete({locale: "fr-FE"});groupObj.appendTo('#vegetables');
Template
Behavior
API in Essential JS 1
API in Essential JS 2
Default
Property:template var autocompleteInstance =new ej.Autocomplete($("#autocomplete"), {template: "<span><span class='name'>${FirstName}</span><span class ='city'>${City}</span></span>"})
Property:itemTemplate let groupObj: AutoComplete = new AutoComplete({itemTemplate: "<span><span class='name'>${FirstName}</span><span class ='city'>${City}</span></span>"});groupObj.appendTo('#vegetables');
Group Template
Not Applicable
Property:groupTemplate let groupObj: AutoComplete = new AutoComplete({groupTemplate: "<strong>${City}</strong>"});groupObj.appendTo('#vegetables');
ValueTemplate
Not applicable
Property:valueTemplate let groupObj: AutoComplete = new AutoComplete({valueTemplate: "<span>${FirstName} - ${City}</span>"});groupObj.appendTo('#vegetables');
Header Template
Not applicable
Property:headerTemplate let groupObj: AutoComplete = new AutoComplete({headerTemplate: "<span class='head'><span class='name'>Name</span><span class='city'>City</span></span>",});groupObj.appendTo('#vegetables');
FooterTemplate
Not applicable
Property:footerTemplate let groupObj: AutoComplete = new AutoComplete({footerTemplate:"<span class='foot'> Total list items: "+ sportsData.length +"</span>"});groupObj.appendTo('#vegetables');
No records Template
Not applicable
Property:noRecordsTemplate let groupObj: AutoComplete = new AutoComplete({noRecordsTemplate:"<span class='norecord'> NO DATA AVAILABLE</span>"});groupObj.appendTo('#vegetables');
Action failure Template
Not applicable
Property:actionFailureTemplate let groupObj: AutoComplete = new AutoComplete({actionFailureTemplate:"<span class='action-failure'> Data fetch get fails</span>"});groupObj.appendTo('#vegetables');
Sorting
Behavior
API in Essential JS 1
API in Essential JS 2
Default
Property:allowSorting var autocompleteInstance =new ej.Autocomplete($("#autocomplete"), {allowSorting: true,});
| Behavior | API in Essential JS 1 | API in Essential JS 2 |
| — | — | — |
| Addition of new option watermark text | Property:addNewText var autocompleteInstance =new ej.Autocomplete($("#autocomplete"), {addNewText:"text"});|Not applicable |
| Addition of new item | Property:allowAddNew var autocompleteInstance =new ej.Autocomplete($("#autocomplete"), {allowAddNew: true});|Property:allowCustom let groupObj: AutoComplete = new AutoComplete({allowCustom: true});groupObj.appendTo('#vegetables');|
| Reset the autocomplete | Property:showResetIcon var autocompleteInstance =new ej.Autocomplete($("#autocomplete"), {showResetIcon: true});|Property:showClearIcon let groupObj: AutoComplete = new AutoComplete({allowCustom: true});groupObj.appendTo('#vegetables');|
| Destroy | Method:destroy var autocompleteInstance =new ej.Autocomplete($("#autocomplete"), {});
$("#autocomplete").ejAutoComplete("destroy");| Method:destroy let groupObj: AutoComplete = new AutoComplete({allowCustom: true});groupObj.appendTo('#vegetables');<br/><br/>groupObj.destroy();|
| **Reset the autocomplete** | **Method:** *clearText*<br/>var autocompleteInstance =new ej.Autocomplete($(“#autocomplete”), {});<br/><br/>$(“#autocomplete”).ejAutoComplete(“clearText”); | **By passing empty value to the value property, you can acheive this** |
| **Multicolumn** | **Property:** *multiColumnSettings*<br/> var autocompleteInstance =new ej.Autocomplete($(“#selectCar”), {multiColumnSettings:{enable:true,showHeader:true,stringFormat:”{1}”,searchColumnIndices[0,1,2],<br/> columns:[{“field”: “EmployeeID” ,”headerText”:”EmployeeID”},{“field”: “FirstName” , “headerText”:”FirstName”},{“field”: “City” , “headerText”:”City”}]}}); |**Not applicable** |
| **Hide the Autocomplete** | **Method:** *hide*<br/><br/>var autocompleteInstance =new ej.Autocomplete($(“#autocomplete”), {});<br/><br/>$(“#autocomplete”).ejAutoComplete(“hide”); | **By using *css-class* property, you can acheive this.**
| **Getting particular text** | **Method:** *getActiveText* <br/>var autocompleteInstance =new ej.Autocomplete($(“#autocomplete”), {});<br/><br/>$(“#autocomplete”).ejAutoComplete(“getActiveText”);|**By using text property, you can get it.** |
| **Getting particular value** | **Method:** *getValue*<br/> var autocompleteInstance =new ej.Autocomplete($(“#autocomplete”), {});<br/><br/>$(“#autocomplete”).ejAutoComplete(“getValue”); |**By using value property, you can get it.** |
| **Change event** | **Event:** *change*<br/>var autocompleteInstance =new ej.Autocomplete($(“#autocomplete”), {change:”change”});|**Event:** *change* <br/>let groupObj: AutoComplete = new AutoComplete({change: “change”});groupObj.appendTo(‘#vegetables’);|
| **Create eventf** | **Event:** *create* <br/>var autocompleteInstance =new ej.Autocomplete($(“#autocomplete”), {create:”create”});|**Event:** *created* <br/>let groupObj: AutoComplete = new AutoComplete({created: “created”});groupObj.appendTo(‘#vegetables’);|
| **Destroy event** | **Event:** *destroy* <br/>var autocompleteInstance =new ej.Autocomplete($(“#autocomplete”), {destroy:”destroy”}); |**Event:** *destroyed* <br/>let groupObj: AutoComplete = new AutoComplete({destroyed: “destroyed”});groupObj.appendTo(‘#vegetables’);|
| **Focus out event** | **Event**: *focusOut*<br/>var autocompleteInstance =new ej.Autocomplete($(“#autocomplete”), {focusOut:”focusOut”});| **Event:** *blur* <br/>let groupObj: AutoComplete = new AutoComplete({blur: “blur”});groupObj.appendTo(‘#vegetables’); |
| **Focus in event** | **Event** : *focusIn*<br/>var autocompleteInstance =new ej.Autocomplete($(“#autocomplete”), {focusIn:”focusIn”}); | **Event:** *focus* <br/>let groupObj: AutoComplete = new AutoComplete({focus: “focus”});groupObj.appendTo(‘#vegetables’);` |